@gkd-kit/inspect 0.0.1721829514872 → 0.0.1722412694882

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 (62) hide show
  1. package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-Ct8cNz8k.js +17 -0
  2. package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-Ct8cNz8k.js.map +1 -0
  3. package/dist/assets/DevicePage-CoAhEcx1.js +49 -0
  4. package/dist/assets/DevicePage-CoAhEcx1.js.map +1 -0
  5. package/dist/assets/HomePage-zAaOYFsa.js +119 -0
  6. package/dist/assets/HomePage-zAaOYFsa.js.map +1 -0
  7. package/dist/assets/ImportPage-CUExjGdL.js +2 -0
  8. package/dist/assets/ImportPage-CUExjGdL.js.map +1 -0
  9. package/dist/assets/PreviewSharePage-7Z_E5ThE.js +2 -0
  10. package/dist/assets/{PreviewSharePage-C_-BwaFv.js.map → PreviewSharePage-7Z_E5ThE.js.map} +1 -1
  11. package/dist/assets/SelectorPage-DE6DDZ1q.js +2 -0
  12. package/dist/assets/SelectorPage-DE6DDZ1q.js.map +1 -0
  13. package/dist/assets/SnapshotPage-B1sTN711.js +276 -0
  14. package/dist/assets/SnapshotPage-B1sTN711.js.map +1 -0
  15. package/dist/assets/{TrackGraph-DMf_nshl.js → TrackGraph-DGrJni7J.js} +2 -2
  16. package/dist/assets/{TrackGraph-DMf_nshl.js.map → TrackGraph-DGrJni7J.js.map} +1 -1
  17. package/dist/assets/_404Page-C4Wq6sEC.js +2 -0
  18. package/dist/assets/_404Page-C4Wq6sEC.js.map +1 -0
  19. package/dist/assets/dayjs.min-CztBMIkx.js +362 -0
  20. package/dist/assets/dayjs.min-CztBMIkx.js.map +1 -0
  21. package/dist/assets/{error-DW0ELLtx.js → error-CyilyQZf.js} +2 -2
  22. package/dist/assets/{error-DW0ELLtx.js.map → error-CyilyQZf.js.map} +1 -1
  23. package/dist/assets/{export-DxnsGetT.js → export-NLzNNN73.js} +2 -2
  24. package/dist/assets/{export-DxnsGetT.js.map → export-NLzNNN73.js.map} +1 -1
  25. package/dist/assets/{fetch-DLv8MBQZ.js → fetch-lBUrhSVk.js} +9 -9
  26. package/dist/assets/fetch-lBUrhSVk.js.map +1 -0
  27. package/dist/assets/{import-BFJKAtQX.js → import-BpB3aqFf.js} +2 -2
  28. package/dist/assets/{import-BFJKAtQX.js.map → import-BpB3aqFf.js.map} +1 -1
  29. package/dist/assets/index-CKN-Mj0K.js +579 -0
  30. package/dist/assets/index-CKN-Mj0K.js.map +1 -0
  31. package/dist/assets/index-CfhlGl__.js +281 -0
  32. package/dist/assets/index-CfhlGl__.js.map +1 -0
  33. package/dist/assets/{index-BZn-Szo9.js → index-XJrg9-Tr.js} +2 -2
  34. package/dist/assets/{index-BZn-Szo9.js.map → index-XJrg9-Tr.js.map} +1 -1
  35. package/dist/assets/index-tKFed6DR.css +1 -0
  36. package/dist/assets/table-DkDqjowr.js +979 -0
  37. package/dist/assets/table-DkDqjowr.js.map +1 -0
  38. package/dist/index.html +3 -3
  39. package/package.json +17 -15
  40. package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-DiVBjzEo.js +0 -17
  41. package/dist/assets/ActionCard.vue_vue_type_script_setup_true_lang-DiVBjzEo.js.map +0 -1
  42. package/dist/assets/DevicePage-317XManT.js +0 -49
  43. package/dist/assets/DevicePage-317XManT.js.map +0 -1
  44. package/dist/assets/HomePage-BDCWVEjb.js +0 -119
  45. package/dist/assets/HomePage-BDCWVEjb.js.map +0 -1
  46. package/dist/assets/ImportPage-BI6pqRT0.js +0 -2
  47. package/dist/assets/ImportPage-BI6pqRT0.js.map +0 -1
  48. package/dist/assets/PreviewSharePage-C_-BwaFv.js +0 -2
  49. package/dist/assets/SnapshotPage-DDCF0qWk.js +0 -276
  50. package/dist/assets/SnapshotPage-DDCF0qWk.js.map +0 -1
  51. package/dist/assets/_404Page-DNkzggCH.js +0 -2
  52. package/dist/assets/_404Page-DNkzggCH.js.map +0 -1
  53. package/dist/assets/dayjs.min-FjvppOpR.js +0 -362
  54. package/dist/assets/dayjs.min-FjvppOpR.js.map +0 -1
  55. package/dist/assets/fetch-DLv8MBQZ.js.map +0 -1
  56. package/dist/assets/index-BtfiSPlB.js +0 -579
  57. package/dist/assets/index-BtfiSPlB.js.map +0 -1
  58. package/dist/assets/index-Ccme0oJI.js +0 -281
  59. package/dist/assets/index-Ccme0oJI.js.map +0 -1
  60. package/dist/assets/index-DEAqsSIR.css +0 -1
  61. package/dist/assets/table-BHNhftJW.js +0 -970
  62. package/dist/assets/table-BHNhftJW.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"table-BHNhftJW.js","sources":["../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_utils/naive/prop.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_utils/naive/attribute.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_utils/vue/create-ref-setter.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_utils/vue/merge-handlers.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_utils/composable/use-deferred-true.mjs","../../node_modules/.pnpm/vooks@0.2.12_vue@3.4.31_typescript@5.5.3_/node_modules/vooks/es/use-keyboard.js","../../node_modules/.pnpm/vueuc@0.4.58_vue@3.4.31_typescript@5.5.3_/node_modules/vueuc/es/overflow/src/index.js","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_utils/composable/use-resize.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_utils/dom/download.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/icons/ArrowDown.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/icons/Backward.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/icons/Checkmark.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/icons/FastBackward.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/icons/FastForward.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/icons/Filter.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/icons/Forward.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/icons/More.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/focus-detector/src/FocusDetector.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/select-menu/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/select-menu/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectOption.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectGroupHeader.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/select-menu/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/select-menu/src/SelectMenu.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/tag/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/tag/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/tag/src/common-props.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/tag/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/tag/src/Tag.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/selection/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/selection/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/selection/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/_internal/selection/src/Selection.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/select/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/popselect/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/popselect/src/interface.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/popselect/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/popselect/src/PopselectPanel.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/popselect/src/Popselect.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/select/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/select/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/select/src/Select.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/pagination/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/pagination/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/pagination/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/pagination/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/pagination/src/Pagination.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/styles/_common.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/styles/light.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/ellipsis/src/PerformantEllipsis.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderSorter.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/interface.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/SortButton.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/RenderFilter.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterMenu.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/FilterButton.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/HeaderButton/ResizeButton.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/DropdownDivider.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/context.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/utils.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/DropdownOption.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/DropdownGroupHeader.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/DropdownGroup.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/DropdownRenderOption.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/DropdownMenu.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/dropdown/src/Dropdown.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/TableParts/SelectionMenu.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/TableParts/Header.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/TableParts/Cell.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/TableParts/ExpandTrigger.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/TableParts/BodyCheckbox.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/TableParts/BodyRadio.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/TableParts/Body.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/MainTable.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/use-check.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/use-sorter.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/use-table-data.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/use-scroll.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/use-resizable.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/use-group-header.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/use-expand.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/styles/index.cssr.mjs","../../node_modules/.pnpm/naive-ui@2.38.2_vue@3.4.31_typescript@5.5.3_/node_modules/naive-ui/es/data-table/src/DataTable.mjs","../../src/utils/directives.ts","../../src/utils/table.tsx"],"sourcesContent":["export function largerSize(size) {\n switch (size) {\n case 'tiny':\n return 'small';\n case 'small':\n return 'medium';\n case 'medium':\n return 'large';\n case 'large':\n return 'huge';\n }\n}\nexport function smallerSize(size) {\n switch (size) {\n case 'tiny':\n return 'mini';\n case 'small':\n return 'tiny';\n case 'medium':\n return 'small';\n case 'large':\n return 'medium';\n case 'huge':\n return 'large';\n }\n throw Error(`${size} has no smaller size.`);\n}","export function getTitleAttribute(value) {\n switch (typeof value) {\n case 'string':\n // The empty string should also be reset to undefined.\n return value || undefined;\n case 'number':\n return String(value);\n default:\n return undefined;\n }\n}","export function createRefSetter(ref) {\n return inst => {\n if (inst) {\n ref.value = inst.$el;\n } else {\n ref.value = null;\n }\n };\n}","export function mergeEventHandlers(handlers) {\n const filteredHandlers = handlers.filter(handler => handler !== undefined);\n if (filteredHandlers.length === 0) return undefined;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n if (filteredHandlers.length === 1) return filteredHandlers[0];\n return e => {\n handlers.forEach(handler => {\n if (handler) {\n handler(e);\n }\n });\n };\n}","import { ref, watch } from 'vue';\nexport function useDeferredTrue(valueRef, delay, shouldDelayRef) {\n if (!delay) return valueRef;\n const delayedRef = ref(valueRef.value);\n let timerId = null;\n watch(valueRef, value => {\n if (timerId !== null) window.clearTimeout(timerId);\n if (value === true) {\n if (shouldDelayRef && !shouldDelayRef.value) {\n delayedRef.value = true;\n } else {\n timerId = window.setTimeout(() => {\n delayedRef.value = true;\n }, delay);\n }\n } else {\n delayedRef.value = false;\n }\n });\n return delayedRef;\n}","import { onBeforeMount, onBeforeUnmount, reactive, readonly, watch } from 'vue';\nimport { on, off } from 'evtd';\nimport { hasInstance } from './utils';\nexport default function useKeyboard(options = {}, enabledRef) {\n const state = reactive({\n ctrl: false,\n command: false,\n win: false,\n shift: false,\n tab: false\n });\n const { keydown, keyup } = options;\n const keydownHandler = (e) => {\n switch (e.key) {\n case 'Control':\n state.ctrl = true;\n break;\n case 'Meta':\n state.command = true;\n state.win = true;\n break;\n case 'Shift':\n state.shift = true;\n break;\n case 'Tab':\n state.tab = true;\n break;\n }\n if (keydown !== undefined) {\n Object.keys(keydown).forEach(key => {\n if (key !== e.key)\n return;\n const handler = keydown[key];\n if (typeof handler === 'function') {\n handler(e);\n }\n else {\n const { stop = false, prevent = false } = handler;\n if (stop)\n e.stopPropagation();\n if (prevent)\n e.preventDefault();\n handler.handler(e);\n }\n });\n }\n };\n const keyupHandler = (e) => {\n switch (e.key) {\n case 'Control':\n state.ctrl = false;\n break;\n case 'Meta':\n state.command = false;\n state.win = false;\n break;\n case 'Shift':\n state.shift = false;\n break;\n case 'Tab':\n state.tab = false;\n break;\n }\n if (keyup !== undefined) {\n Object.keys(keyup).forEach(key => {\n if (key !== e.key)\n return;\n const handler = keyup[key];\n if (typeof handler === 'function') {\n handler(e);\n }\n else {\n const { stop = false, prevent = false } = handler;\n if (stop)\n e.stopPropagation();\n if (prevent)\n e.preventDefault();\n handler.handler(e);\n }\n });\n }\n };\n const setup = () => {\n if (enabledRef === undefined || enabledRef.value) {\n on('keydown', document, keydownHandler);\n on('keyup', document, keyupHandler);\n }\n if (enabledRef !== undefined) {\n watch(enabledRef, value => {\n if (value) {\n on('keydown', document, keydownHandler);\n on('keyup', document, keyupHandler);\n }\n else {\n off('keydown', document, keydownHandler);\n off('keyup', document, keyupHandler);\n }\n });\n }\n };\n if (hasInstance()) {\n onBeforeMount(setup);\n onBeforeUnmount(() => {\n if (enabledRef === undefined || enabledRef.value) {\n off('keydown', document, keydownHandler);\n off('keyup', document, keyupHandler);\n }\n });\n }\n else {\n setup();\n }\n return readonly(state);\n}\n","/* eslint-disable @typescript-eslint/strict-boolean-expressions */\nimport { defineComponent, renderSlot, h, onMounted, ref, nextTick } from 'vue';\nimport { useSsrAdapter } from '@css-render/vue3-ssr';\nimport { c, cssrAnchorMetaName } from '../../shared';\nconst hiddenAttr = 'v-hidden';\nconst style = c('[v-hidden]', {\n display: 'none!important'\n});\nexport default defineComponent({\n name: 'Overflow',\n props: {\n getCounter: Function,\n getTail: Function,\n updateCounter: Function,\n onUpdateCount: Function,\n onUpdateOverflow: Function\n },\n setup(props, { slots }) {\n const selfRef = ref(null);\n const counterRef = ref(null);\n function deriveCounter(options) {\n const { value: self } = selfRef;\n const { getCounter, getTail } = props;\n let counter;\n if (getCounter !== undefined)\n counter = getCounter();\n else {\n counter = counterRef.value;\n }\n if (!self || !counter)\n return;\n if (counter.hasAttribute(hiddenAttr)) {\n counter.removeAttribute(hiddenAttr);\n }\n const { children } = self;\n if (options.showAllItemsBeforeCalculate) {\n for (const child of children) {\n if (child.hasAttribute(hiddenAttr)) {\n child.removeAttribute(hiddenAttr);\n }\n }\n }\n const containerWidth = self.offsetWidth;\n const childWidths = [];\n const tail = slots.tail ? getTail === null || getTail === void 0 ? void 0 : getTail() : null;\n let childWidthSum = tail ? tail.offsetWidth : 0;\n let overflow = false;\n const len = self.children.length - (slots.tail ? 1 : 0);\n for (let i = 0; i < len - 1; ++i) {\n if (i < 0)\n continue;\n const child = children[i];\n if (overflow) {\n if (!child.hasAttribute(hiddenAttr)) {\n child.setAttribute(hiddenAttr, '');\n }\n continue;\n }\n else if (child.hasAttribute(hiddenAttr)) {\n child.removeAttribute(hiddenAttr);\n }\n const childWidth = child.offsetWidth;\n childWidthSum += childWidth;\n childWidths[i] = childWidth;\n if (childWidthSum > containerWidth) {\n const { updateCounter } = props;\n for (let j = i; j >= 0; --j) {\n const restCount = len - 1 - j;\n if (updateCounter !== undefined) {\n updateCounter(restCount);\n }\n else {\n counter.textContent = `${restCount}`;\n }\n const counterWidth = counter.offsetWidth;\n childWidthSum -= childWidths[j];\n if (childWidthSum + counterWidth <= containerWidth || j === 0) {\n overflow = true;\n i = j - 1;\n if (tail) {\n // tail too long or 1st element too long\n // we only consider tail now\n if (i === -1) {\n tail.style.maxWidth = `${containerWidth - counterWidth}px`;\n tail.style.boxSizing = 'border-box';\n }\n else {\n tail.style.maxWidth = '';\n }\n }\n const { onUpdateCount } = props;\n if (onUpdateCount)\n onUpdateCount(restCount);\n break;\n }\n }\n }\n }\n const { onUpdateOverflow } = props;\n if (!overflow) {\n if (onUpdateOverflow !== undefined) {\n onUpdateOverflow(false);\n }\n counter.setAttribute(hiddenAttr, '');\n }\n else {\n if (onUpdateOverflow !== undefined) {\n onUpdateOverflow(true);\n }\n }\n }\n const ssrAdapter = useSsrAdapter();\n style.mount({\n id: 'vueuc/overflow',\n head: true,\n anchorMetaName: cssrAnchorMetaName,\n ssr: ssrAdapter\n });\n onMounted(() => deriveCounter({\n showAllItemsBeforeCalculate: false\n }));\n // besides onMounted, other case should be manually triggered, or we shoud watch items\n return {\n selfRef,\n counterRef,\n sync: deriveCounter\n };\n },\n render() {\n const { $slots } = this;\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n nextTick(() => this.sync({\n showAllItemsBeforeCalculate: false\n }));\n // It shouldn't have border\n return h('div', {\n class: 'v-overflow',\n ref: 'selfRef'\n }, [\n renderSlot($slots, 'default'),\n // $slots.counter should only has 1 element\n $slots.counter\n ? $slots.counter()\n : h('span', {\n style: {\n display: 'inline-block'\n },\n ref: 'counterRef'\n }),\n // $slots.tail should only has 1 element\n $slots.tail ? $slots.tail() : null\n ]);\n }\n});\n","import { onBeforeUnmount, onMounted } from 'vue';\nimport { resizeObserverManager } from 'vueuc';\nexport function useOnResize(elRef, onResize) {\n // it needn't be reactive since it's for internal usage\n if (onResize) {\n onMounted(() => {\n const {\n value: el\n } = elRef;\n if (el) {\n resizeObserverManager.registerHandler(el, onResize);\n }\n });\n onBeforeUnmount(() => {\n const {\n value: el\n } = elRef;\n if (el) {\n resizeObserverManager.unregisterHandler(el);\n }\n });\n }\n}","export const download = (url, name) => {\n if (!url) return;\n const a = document.createElement('a');\n a.href = url;\n if (name !== undefined) {\n a.download = name;\n }\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n};","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'ArrowDown',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 28 28\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n d: \"M23.7916,15.2664 C24.0788,14.9679 24.0696,14.4931 23.7711,14.206 C23.4726,13.9188 22.9978,13.928 22.7106,14.2265 L14.7511,22.5007 L14.7511,3.74792 C14.7511,3.33371 14.4153,2.99792 14.0011,2.99792 C13.5869,2.99792 13.2511,3.33371 13.2511,3.74793 L13.2511,22.4998 L5.29259,14.2265 C5.00543,13.928 4.53064,13.9188 4.23213,14.206 C3.93361,14.4931 3.9244,14.9679 4.21157,15.2664 L13.2809,24.6944 C13.6743,25.1034 14.3289,25.1034 14.7223,24.6944 L23.7916,15.2664 Z\"\n }))));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Backward',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"path\", {\n d: \"M12.2674 15.793C11.9675 16.0787 11.4927 16.0672 11.2071 15.7673L6.20572 10.5168C5.9298 10.2271 5.9298 9.7719 6.20572 9.48223L11.2071 4.23177C11.4927 3.93184 11.9675 3.92031 12.2674 4.206C12.5673 4.49169 12.5789 4.96642 12.2932 5.26634L7.78458 9.99952L12.2932 14.7327C12.5789 15.0326 12.5673 15.5074 12.2674 15.793Z\",\n fill: \"currentColor\"\n }));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Checkmark',\n render() {\n return h(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 16 16\"\n }, h(\"g\", {\n fill: \"none\"\n }, h(\"path\", {\n d: \"M14.046 3.486a.75.75 0 0 1-.032 1.06l-7.93 7.474a.85.85 0 0 1-1.188-.022l-2.68-2.72a.75.75 0 1 1 1.068-1.053l2.234 2.267l7.468-7.038a.75.75 0 0 1 1.06.032z\",\n fill: \"currentColor\"\n })));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'FastBackward',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 20 20\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n fill: \"currentColor\",\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n d: \"M8.73171,16.7949 C9.03264,17.0795 9.50733,17.0663 9.79196,16.7654 C10.0766,16.4644 10.0634,15.9897 9.76243,15.7051 L4.52339,10.75 L17.2471,10.75 C17.6613,10.75 17.9971,10.4142 17.9971,10 C17.9971,9.58579 17.6613,9.25 17.2471,9.25 L4.52112,9.25 L9.76243,4.29275 C10.0634,4.00812 10.0766,3.53343 9.79196,3.2325 C9.50733,2.93156 9.03264,2.91834 8.73171,3.20297 L2.31449,9.27241 C2.14819,9.4297 2.04819,9.62981 2.01448,9.8386 C2.00308,9.89058 1.99707,9.94459 1.99707,10 C1.99707,10.0576 2.00356,10.1137 2.01585,10.1675 C2.05084,10.3733 2.15039,10.5702 2.31449,10.7254 L8.73171,16.7949 Z\"\n }))));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'FastForward',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 20 20\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n fill: \"currentColor\",\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n d: \"M11.2654,3.20511 C10.9644,2.92049 10.4897,2.93371 10.2051,3.23464 C9.92049,3.53558 9.93371,4.01027 10.2346,4.29489 L15.4737,9.25 L2.75,9.25 C2.33579,9.25 2,9.58579 2,10.0000012 C2,10.4142 2.33579,10.75 2.75,10.75 L15.476,10.75 L10.2346,15.7073 C9.93371,15.9919 9.92049,16.4666 10.2051,16.7675 C10.4897,17.0684 10.9644,17.0817 11.2654,16.797 L17.6826,10.7276 C17.8489,10.5703 17.9489,10.3702 17.9826,10.1614 C17.994,10.1094 18,10.0554 18,10.0000012 C18,9.94241 17.9935,9.88633 17.9812,9.83246 C17.9462,9.62667 17.8467,9.42976 17.6826,9.27455 L11.2654,3.20511 Z\"\n }))));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Filter',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 28 28\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n d: \"M17,19 C17.5522847,19 18,19.4477153 18,20 C18,20.5522847 17.5522847,21 17,21 L11,21 C10.4477153,21 10,20.5522847 10,20 C10,19.4477153 10.4477153,19 11,19 L17,19 Z M21,13 C21.5522847,13 22,13.4477153 22,14 C22,14.5522847 21.5522847,15 21,15 L7,15 C6.44771525,15 6,14.5522847 6,14 C6,13.4477153 6.44771525,13 7,13 L21,13 Z M24,7 C24.5522847,7 25,7.44771525 25,8 C25,8.55228475 24.5522847,9 24,9 L4,9 C3.44771525,9 3,8.55228475 3,8 C3,7.44771525 3.44771525,7 4,7 L24,7 Z\"\n }))));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'Forward',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"path\", {\n d: \"M7.73271 4.20694C8.03263 3.92125 8.50737 3.93279 8.79306 4.23271L13.7944 9.48318C14.0703 9.77285 14.0703 10.2281 13.7944 10.5178L8.79306 15.7682C8.50737 16.0681 8.03263 16.0797 7.73271 15.794C7.43279 15.5083 7.42125 15.0336 7.70694 14.7336L12.2155 10.0005L7.70694 5.26729C7.42125 4.96737 7.43279 4.49264 7.73271 4.20694Z\",\n fill: \"currentColor\"\n }));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'More',\n render() {\n return h(\"svg\", {\n viewBox: \"0 0 16 16\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, h(\"g\", {\n stroke: \"none\",\n \"stroke-width\": \"1\",\n fill: \"none\",\n \"fill-rule\": \"evenodd\"\n }, h(\"g\", {\n fill: \"currentColor\",\n \"fill-rule\": \"nonzero\"\n }, h(\"path\", {\n d: \"M4,7 C4.55228,7 5,7.44772 5,8 C5,8.55229 4.55228,9 4,9 C3.44772,9 3,8.55229 3,8 C3,7.44772 3.44772,7 4,7 Z M8,7 C8.55229,7 9,7.44772 9,8 C9,8.55229 8.55229,9 8,9 C7.44772,9 7,8.55229 7,8 C7,7.44772 7.44772,7 8,7 Z M12,7 C12.5523,7 13,7.44772 13,8 C13,8.55229 12.5523,9 12,9 C11.4477,9 11,8.55229 11,8 C11,7.44772 11.4477,7 12,7 Z\"\n }))));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n props: {\n onFocus: Function,\n onBlur: Function\n },\n setup(props) {\n return () => h(\"div\", {\n style: \"width: 0; height: 0\",\n tabindex: 0,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n });\n }\n});","export default {\n height: 'calc(var(--n-option-height) * 7.6)',\n paddingSmall: '4px 0',\n paddingMedium: '4px 0',\n paddingLarge: '4px 0',\n paddingHuge: '4px 0',\n optionPaddingSmall: '0 12px',\n optionPaddingMedium: '0 12px',\n optionPaddingLarge: '0 12px',\n optionPaddingHuge: '0 12px',\n loadingSize: '18px'\n};","import { emptyLight } from \"../../../empty/styles/index.mjs\";\nimport { scrollbarLight } from \"../../scrollbar/styles/index.mjs\";\nimport { commonLight } from \"../../../_styles/common/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nimport { createTheme } from \"../../../_mixins/index.mjs\";\nexport const self = vars => {\n const {\n borderRadius,\n popoverColor,\n textColor3,\n dividerColor,\n textColor2,\n primaryColorPressed,\n textColorDisabled,\n primaryColor,\n opacityDisabled,\n hoverColor,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge,\n heightSmall,\n heightMedium,\n heightLarge,\n heightHuge\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n optionFontSizeSmall: fontSizeSmall,\n optionFontSizeMedium: fontSizeMedium,\n optionFontSizeLarge: fontSizeLarge,\n optionFontSizeHuge: fontSizeHuge,\n optionHeightSmall: heightSmall,\n optionHeightMedium: heightMedium,\n optionHeightLarge: heightLarge,\n optionHeightHuge: heightHuge,\n borderRadius,\n color: popoverColor,\n groupHeaderTextColor: textColor3,\n actionDividerColor: dividerColor,\n optionTextColor: textColor2,\n optionTextColorPressed: primaryColorPressed,\n optionTextColorDisabled: textColorDisabled,\n optionTextColorActive: primaryColor,\n optionOpacityDisabled: opacityDisabled,\n optionCheckColor: primaryColor,\n optionColorPending: hoverColor,\n optionColorActive: 'rgba(0, 0, 0, 0)',\n optionColorActivePending: hoverColor,\n actionTextColor: textColor2,\n loadingColor: primaryColor\n });\n};\nconst internalSelectMenuLight = createTheme({\n name: 'InternalSelectMenu',\n common: commonLight,\n peers: {\n Scrollbar: scrollbarLight,\n Empty: emptyLight\n },\n self\n});\nexport default internalSelectMenuLight;","import { h, inject, defineComponent, Transition } from 'vue';\nimport { useMemo } from 'vooks';\nimport { render, mergeEventHandlers } from \"../../../_utils/index.mjs\";\nimport { CheckmarkIcon } from \"../../icons/index.mjs\";\nimport { NBaseIcon } from \"../../icon/index.mjs\";\nimport { internalSelectionMenuInjectionKey } from \"./interface.mjs\";\nfunction renderCheckMark(show, clsPrefix) {\n return h(Transition, {\n name: \"fade-in-scale-up-transition\"\n }, {\n default: () => show ? h(NBaseIcon, {\n clsPrefix: clsPrefix,\n class: `${clsPrefix}-base-select-option__check`\n }, {\n default: () => h(CheckmarkIcon)\n }) : null\n });\n}\nexport default defineComponent({\n name: 'NBaseSelectOption',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup(props) {\n const {\n valueRef,\n pendingTmNodeRef,\n multipleRef,\n valueSetRef,\n renderLabelRef,\n renderOptionRef,\n labelFieldRef,\n valueFieldRef,\n showCheckmarkRef,\n nodePropsRef,\n handleOptionClick,\n handleOptionMouseEnter\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(internalSelectionMenuInjectionKey);\n const isPendingRef = useMemo(() => {\n const {\n value: pendingTmNode\n } = pendingTmNodeRef;\n if (!pendingTmNode) return false;\n return props.tmNode.key === pendingTmNode.key;\n });\n function handleClick(e) {\n const {\n tmNode\n } = props;\n if (tmNode.disabled) return;\n handleOptionClick(e, tmNode);\n }\n function handleMouseEnter(e) {\n const {\n tmNode\n } = props;\n if (tmNode.disabled) return;\n handleOptionMouseEnter(e, tmNode);\n }\n function handleMouseMove(e) {\n const {\n tmNode\n } = props;\n const {\n value: isPending\n } = isPendingRef;\n if (tmNode.disabled || isPending) return;\n handleOptionMouseEnter(e, tmNode);\n }\n return {\n multiple: multipleRef,\n isGrouped: useMemo(() => {\n const {\n tmNode\n } = props;\n const {\n parent\n } = tmNode;\n return parent && parent.rawNode.type === 'group';\n }),\n showCheckmark: showCheckmarkRef,\n nodeProps: nodePropsRef,\n isPending: isPendingRef,\n isSelected: useMemo(() => {\n const {\n value\n } = valueRef;\n const {\n value: multiple\n } = multipleRef;\n if (value === null) return false;\n const optionValue = props.tmNode.rawNode[valueFieldRef.value];\n if (multiple) {\n const {\n value: valueSet\n } = valueSetRef;\n return valueSet.has(optionValue);\n } else {\n return value === optionValue;\n }\n }),\n labelField: labelFieldRef,\n renderLabel: renderLabelRef,\n renderOption: renderOptionRef,\n handleMouseMove,\n handleMouseEnter,\n handleClick\n };\n },\n render() {\n const {\n clsPrefix,\n tmNode: {\n rawNode\n },\n isSelected,\n isPending,\n isGrouped,\n showCheckmark,\n nodeProps,\n renderOption,\n renderLabel,\n handleClick,\n handleMouseEnter,\n handleMouseMove\n } = this;\n const checkmark = renderCheckMark(isSelected, clsPrefix);\n const children = renderLabel ? [renderLabel(rawNode, isSelected), showCheckmark && checkmark] : [render(rawNode[this.labelField], rawNode, isSelected), showCheckmark && checkmark];\n const attrs = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const node = h(\"div\", Object.assign({}, attrs, {\n class: [`${clsPrefix}-base-select-option`, rawNode.class, attrs === null || attrs === void 0 ? void 0 : attrs.class, {\n [`${clsPrefix}-base-select-option--disabled`]: rawNode.disabled,\n [`${clsPrefix}-base-select-option--selected`]: isSelected,\n [`${clsPrefix}-base-select-option--grouped`]: isGrouped,\n [`${clsPrefix}-base-select-option--pending`]: isPending,\n [`${clsPrefix}-base-select-option--show-checkmark`]: showCheckmark\n }],\n style: [(attrs === null || attrs === void 0 ? void 0 : attrs.style) || '', rawNode.style || ''],\n onClick: mergeEventHandlers([handleClick, attrs === null || attrs === void 0 ? void 0 : attrs.onClick]),\n onMouseenter: mergeEventHandlers([handleMouseEnter, attrs === null || attrs === void 0 ? void 0 : attrs.onMouseenter]),\n onMousemove: mergeEventHandlers([handleMouseMove, attrs === null || attrs === void 0 ? void 0 : attrs.onMousemove])\n }), h(\"div\", {\n class: `${clsPrefix}-base-select-option__content`\n }, children));\n return rawNode.render ? rawNode.render({\n node,\n option: rawNode,\n selected: isSelected\n }) : renderOption ? renderOption({\n node,\n option: rawNode,\n selected: isSelected\n }) : node;\n }\n});","import { h, defineComponent, inject } from 'vue';\nimport { render } from \"../../../_utils/index.mjs\";\nimport { internalSelectionMenuInjectionKey } from \"./interface.mjs\";\nexport default defineComponent({\n name: 'NBaseSelectGroupHeader',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup() {\n const {\n renderLabelRef,\n renderOptionRef,\n labelFieldRef,\n nodePropsRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(internalSelectionMenuInjectionKey);\n return {\n labelField: labelFieldRef,\n nodeProps: nodePropsRef,\n renderLabel: renderLabelRef,\n renderOption: renderOptionRef\n };\n },\n render() {\n const {\n clsPrefix,\n renderLabel,\n renderOption,\n nodeProps,\n tmNode: {\n rawNode\n }\n } = this;\n const attrs = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const children = renderLabel ? renderLabel(rawNode, false) : render(rawNode[this.labelField], rawNode, false);\n const node = h(\"div\", Object.assign({}, attrs, {\n class: [`${clsPrefix}-base-select-group-header`, attrs === null || attrs === void 0 ? void 0 : attrs.class]\n }), children);\n return rawNode.render ? rawNode.render({\n node,\n option: rawNode\n }) : renderOption ? renderOption({\n node,\n option: rawNode,\n selected: false\n }) : node;\n }\n});","import { c, cB, cE, cM, cNotM } from \"../../../../_utils/cssr/index.mjs\";\nimport { fadeInScaleUpTransition } from \"../../../../_styles/transitions/fade-in-scale-up.cssr.mjs\";\n// --n-loading-color\n// --n-loading-size\n// --n-option-padding-right\nexport default cB('base-select-menu', `\n line-height: 1.5;\n outline: none;\n z-index: 0;\n position: relative;\n border-radius: var(--n-border-radius);\n transition:\n background-color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n background-color: var(--n-color);\n`, [cB('scrollbar', `\n max-height: var(--n-height);\n `), cB('virtual-list', `\n max-height: var(--n-height);\n `), cB('base-select-option', `\n min-height: var(--n-option-height);\n font-size: var(--n-option-font-size);\n display: flex;\n align-items: center;\n `, [cE('content', `\n z-index: 1;\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n `)]), cB('base-select-group-header', `\n min-height: var(--n-option-height);\n font-size: .93em;\n display: flex;\n align-items: center;\n `), cB('base-select-menu-option-wrapper', `\n position: relative;\n width: 100%;\n `), cE('loading, empty', `\n display: flex;\n padding: 12px 32px;\n flex: 1;\n justify-content: center;\n `), cE('loading', `\n color: var(--n-loading-color);\n font-size: var(--n-loading-size);\n `), cE('header', `\n padding: 8px var(--n-option-padding-left);\n font-size: var(--n-option-font-size);\n transition: \n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n border-bottom: 1px solid var(--n-action-divider-color);\n color: var(--n-action-text-color);\n `), cE('action', `\n padding: 8px var(--n-option-padding-left);\n font-size: var(--n-option-font-size);\n transition: \n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n border-top: 1px solid var(--n-action-divider-color);\n color: var(--n-action-text-color);\n `), cB('base-select-group-header', `\n position: relative;\n cursor: default;\n padding: var(--n-option-padding);\n color: var(--n-group-header-text-color);\n `), cB('base-select-option', `\n cursor: pointer;\n position: relative;\n padding: var(--n-option-padding);\n transition:\n color .3s var(--n-bezier),\n opacity .3s var(--n-bezier);\n box-sizing: border-box;\n color: var(--n-option-text-color);\n opacity: 1;\n `, [cM('show-checkmark', `\n padding-right: calc(var(--n-option-padding-right) + 20px);\n `), c('&::before', `\n content: \"\";\n position: absolute;\n left: 4px;\n right: 4px;\n top: 0;\n bottom: 0;\n border-radius: var(--n-border-radius);\n transition: background-color .3s var(--n-bezier);\n `), c('&:active', `\n color: var(--n-option-text-color-pressed);\n `), cM('grouped', `\n padding-left: calc(var(--n-option-padding-left) * 1.5);\n `), cM('pending', [c('&::before', `\n background-color: var(--n-option-color-pending);\n `)]), cM('selected', `\n color: var(--n-option-text-color-active);\n `, [c('&::before', `\n background-color: var(--n-option-color-active);\n `), cM('pending', [c('&::before', `\n background-color: var(--n-option-color-active-pending);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n `, [cNotM('selected', `\n color: var(--n-option-text-color-disabled);\n `), cM('selected', `\n opacity: var(--n-option-opacity-disabled);\n `)]), cE('check', `\n font-size: 16px;\n position: absolute;\n right: calc(var(--n-option-padding-right) - 4px);\n top: calc(50% - 7px);\n color: var(--n-option-check-color);\n transition: color .3s var(--n-bezier);\n `, [fadeInScaleUpTransition({\n enterScale: '0.5'\n})])])]);","import { h, ref, onMounted, computed, defineComponent, toRef, provide, nextTick, watch, onBeforeUnmount } from 'vue';\nimport { createIndexGetter } from 'treemate';\nimport { VirtualList } from 'vueuc';\nimport { depx, getPadding, happensIn } from 'seemly';\nimport { NEmpty } from \"../../../empty/index.mjs\";\nimport { NScrollbar } from \"../../scrollbar/index.mjs\";\nimport { resolveSlot, resolveWrappedSlot, useOnResize } from \"../../../_utils/index.mjs\";\nimport { createKey } from \"../../../_utils/cssr/index.mjs\";\nimport { useThemeClass, useTheme, useRtl, useConfig } from \"../../../_mixins/index.mjs\";\nimport NInternalLoading from \"../../loading/index.mjs\";\nimport NFocusDetector from \"../../focus-detector/index.mjs\";\nimport { internalSelectMenuLight } from \"../styles/index.mjs\";\nimport NSelectOption from \"./SelectOption.mjs\";\nimport NSelectGroupHeader from \"./SelectGroupHeader.mjs\";\nimport { internalSelectionMenuInjectionKey, internalSelectionMenuBodyInjectionKey } from \"./interface.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport default defineComponent({\n name: 'InternalSelectMenu',\n props: Object.assign(Object.assign({}, useTheme.props), {\n clsPrefix: {\n type: String,\n required: true\n },\n scrollable: {\n type: Boolean,\n default: true\n },\n treeMate: {\n type: Object,\n required: true\n },\n multiple: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n value: {\n type: [String, Number, Array],\n default: null\n },\n autoPending: Boolean,\n virtualScroll: {\n type: Boolean,\n default: true\n },\n // show is used to toggle pending state initialization\n show: {\n type: Boolean,\n default: true\n },\n labelField: {\n type: String,\n default: 'label'\n },\n valueField: {\n type: String,\n default: 'value'\n },\n loading: Boolean,\n focusable: Boolean,\n renderLabel: Function,\n renderOption: Function,\n nodeProps: Function,\n showCheckmark: {\n type: Boolean,\n default: true\n },\n onMousedown: Function,\n onScroll: Function,\n onFocus: Function,\n onBlur: Function,\n onKeyup: Function,\n onKeydown: Function,\n onTabOut: Function,\n onMouseenter: Function,\n onMouseleave: Function,\n onResize: Function,\n resetMenuOnOptionsChange: {\n type: Boolean,\n default: true\n },\n inlineThemeDisabled: Boolean,\n // deprecated\n onToggle: Function\n }),\n setup(props) {\n const {\n mergedClsPrefixRef,\n mergedRtlRef\n } = useConfig(props);\n const rtlEnabledRef = useRtl('InternalSelectMenu', mergedRtlRef, mergedClsPrefixRef);\n const themeRef = useTheme('InternalSelectMenu', '-internal-select-menu', style, internalSelectMenuLight, props, toRef(props, 'clsPrefix'));\n const selfRef = ref(null);\n const virtualListRef = ref(null);\n const scrollbarRef = ref(null);\n const flattenedNodesRef = computed(() => props.treeMate.getFlattenedNodes());\n const fIndexGetterRef = computed(() => createIndexGetter(flattenedNodesRef.value));\n const pendingNodeRef = ref(null);\n function initPendingNode() {\n const {\n treeMate\n } = props;\n let defaultPendingNode = null;\n const {\n value\n } = props;\n if (value === null) {\n defaultPendingNode = treeMate.getFirstAvailableNode();\n } else {\n if (props.multiple) {\n defaultPendingNode = treeMate.getNode((value || [])[(value || []).length - 1]);\n } else {\n defaultPendingNode = treeMate.getNode(value);\n }\n if (!defaultPendingNode || defaultPendingNode.disabled) {\n defaultPendingNode = treeMate.getFirstAvailableNode();\n }\n }\n if (defaultPendingNode) {\n setPendingTmNode(defaultPendingNode);\n } else {\n setPendingTmNode(null);\n }\n }\n function clearPendingNodeIfInvalid() {\n const {\n value: pendingNode\n } = pendingNodeRef;\n if (pendingNode && !props.treeMate.getNode(pendingNode.key)) {\n pendingNodeRef.value = null;\n }\n }\n let initPendingNodeWatchStopHandle;\n watch(() => props.show, show => {\n if (show) {\n initPendingNodeWatchStopHandle = watch(() => props.treeMate, () => {\n if (props.resetMenuOnOptionsChange) {\n if (props.autoPending) {\n initPendingNode();\n } else {\n clearPendingNodeIfInvalid();\n }\n void nextTick(scrollToPendingNode);\n } else {\n clearPendingNodeIfInvalid();\n }\n }, {\n immediate: true\n });\n } else {\n initPendingNodeWatchStopHandle === null || initPendingNodeWatchStopHandle === void 0 ? void 0 : initPendingNodeWatchStopHandle();\n }\n }, {\n immediate: true\n });\n onBeforeUnmount(() => {\n initPendingNodeWatchStopHandle === null || initPendingNodeWatchStopHandle === void 0 ? void 0 : initPendingNodeWatchStopHandle();\n });\n const itemSizeRef = computed(() => {\n return depx(themeRef.value.self[createKey('optionHeight', props.size)]);\n });\n const paddingRef = computed(() => {\n return getPadding(themeRef.value.self[createKey('padding', props.size)]);\n });\n const valueSetRef = computed(() => {\n if (props.multiple && Array.isArray(props.value)) {\n return new Set(props.value);\n }\n return new Set();\n });\n const emptyRef = computed(() => {\n const tmNodes = flattenedNodesRef.value;\n return tmNodes && tmNodes.length === 0;\n });\n function doToggle(tmNode) {\n const {\n onToggle\n } = props;\n if (onToggle) onToggle(tmNode);\n }\n function doScroll(e) {\n const {\n onScroll\n } = props;\n if (onScroll) onScroll(e);\n }\n // required, scroller sync need to be triggered manually\n function handleVirtualListScroll(e) {\n var _a;\n (_a = scrollbarRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n doScroll(e);\n }\n function handleVirtualListResize() {\n var _a;\n (_a = scrollbarRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n function getPendingTmNode() {\n const {\n value: pendingTmNode\n } = pendingNodeRef;\n if (pendingTmNode) return pendingTmNode;\n return null;\n }\n function handleOptionMouseEnter(e, tmNode) {\n if (tmNode.disabled) return;\n setPendingTmNode(tmNode, false);\n }\n function handleOptionClick(e, tmNode) {\n if (tmNode.disabled) return;\n doToggle(tmNode);\n }\n // keyboard related methods\n function handleKeyUp(e) {\n var _a;\n if (happensIn(e, 'action')) return;\n (_a = props.onKeyup) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handleKeyDown(e) {\n var _a;\n if (happensIn(e, 'action')) return;\n (_a = props.onKeydown) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handleMouseDown(e) {\n var _a;\n (_a = props.onMousedown) === null || _a === void 0 ? void 0 : _a.call(props, e);\n if (props.focusable) return;\n e.preventDefault();\n }\n function next() {\n const {\n value: pendingTmNode\n } = pendingNodeRef;\n if (pendingTmNode) {\n setPendingTmNode(pendingTmNode.getNext({\n loop: true\n }), true);\n }\n }\n function prev() {\n const {\n value: pendingTmNode\n } = pendingNodeRef;\n if (pendingTmNode) {\n setPendingTmNode(pendingTmNode.getPrev({\n loop: true\n }), true);\n }\n }\n function setPendingTmNode(tmNode, doScroll = false) {\n pendingNodeRef.value = tmNode;\n if (doScroll) scrollToPendingNode();\n }\n function scrollToPendingNode() {\n var _a, _b;\n const tmNode = pendingNodeRef.value;\n if (!tmNode) return;\n const fIndex = fIndexGetterRef.value(tmNode.key);\n if (fIndex === null) return;\n if (props.virtualScroll) {\n (_a = virtualListRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo({\n index: fIndex\n });\n } else {\n (_b = scrollbarRef.value) === null || _b === void 0 ? void 0 : _b.scrollTo({\n index: fIndex,\n elSize: itemSizeRef.value\n });\n }\n }\n function handleFocusin(e) {\n var _a, _b;\n if ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.target)) {\n (_b = props.onFocus) === null || _b === void 0 ? void 0 : _b.call(props, e);\n }\n }\n function handleFocusout(e) {\n var _a, _b;\n if (!((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget))) {\n (_b = props.onBlur) === null || _b === void 0 ? void 0 : _b.call(props, e);\n }\n }\n provide(internalSelectionMenuInjectionKey, {\n handleOptionMouseEnter,\n handleOptionClick,\n valueSetRef,\n pendingTmNodeRef: pendingNodeRef,\n nodePropsRef: toRef(props, 'nodeProps'),\n showCheckmarkRef: toRef(props, 'showCheckmark'),\n multipleRef: toRef(props, 'multiple'),\n valueRef: toRef(props, 'value'),\n renderLabelRef: toRef(props, 'renderLabel'),\n renderOptionRef: toRef(props, 'renderOption'),\n labelFieldRef: toRef(props, 'labelField'),\n valueFieldRef: toRef(props, 'valueField')\n });\n provide(internalSelectionMenuBodyInjectionKey, selfRef);\n onMounted(() => {\n const {\n value\n } = scrollbarRef;\n if (value) value.sync();\n });\n const cssVarsRef = computed(() => {\n const {\n size\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n height,\n borderRadius,\n color,\n groupHeaderTextColor,\n actionDividerColor,\n optionTextColorPressed,\n optionTextColor,\n optionTextColorDisabled,\n optionTextColorActive,\n optionOpacityDisabled,\n optionCheckColor,\n actionTextColor,\n optionColorPending,\n optionColorActive,\n loadingColor,\n loadingSize,\n optionColorActivePending,\n [createKey('optionFontSize', size)]: fontSize,\n [createKey('optionHeight', size)]: optionHeight,\n [createKey('optionPadding', size)]: optionPadding\n }\n } = themeRef.value;\n return {\n '--n-height': height,\n '--n-action-divider-color': actionDividerColor,\n '--n-action-text-color': actionTextColor,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-color': color,\n '--n-option-font-size': fontSize,\n '--n-group-header-text-color': groupHeaderTextColor,\n '--n-option-check-color': optionCheckColor,\n '--n-option-color-pending': optionColorPending,\n '--n-option-color-active': optionColorActive,\n '--n-option-color-active-pending': optionColorActivePending,\n '--n-option-height': optionHeight,\n '--n-option-opacity-disabled': optionOpacityDisabled,\n '--n-option-text-color': optionTextColor,\n '--n-option-text-color-active': optionTextColorActive,\n '--n-option-text-color-disabled': optionTextColorDisabled,\n '--n-option-text-color-pressed': optionTextColorPressed,\n '--n-option-padding': optionPadding,\n '--n-option-padding-left': getPadding(optionPadding, 'left'),\n '--n-option-padding-right': getPadding(optionPadding, 'right'),\n '--n-loading-color': loadingColor,\n '--n-loading-size': loadingSize\n };\n });\n const {\n inlineThemeDisabled\n } = props;\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('internal-select-menu', computed(() => props.size[0]), cssVarsRef, props) : undefined;\n const exposedProps = {\n selfRef,\n next,\n prev,\n getPendingTmNode\n };\n useOnResize(selfRef, props.onResize);\n return Object.assign({\n mergedTheme: themeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\n virtualListRef,\n scrollbarRef,\n itemSize: itemSizeRef,\n padding: paddingRef,\n flattenedNodes: flattenedNodesRef,\n empty: emptyRef,\n virtualListContainer() {\n const {\n value\n } = virtualListRef;\n return value === null || value === void 0 ? void 0 : value.listElRef;\n },\n virtualListContent() {\n const {\n value\n } = virtualListRef;\n return value === null || value === void 0 ? void 0 : value.itemsElRef;\n },\n doScroll,\n handleFocusin,\n handleFocusout,\n handleKeyUp,\n handleKeyDown,\n handleMouseDown,\n handleVirtualListResize,\n handleVirtualListScroll,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n }, exposedProps);\n },\n render() {\n const {\n $slots,\n virtualScroll,\n clsPrefix,\n mergedTheme,\n themeClass,\n onRender\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n return h(\"div\", {\n ref: \"selfRef\",\n tabindex: this.focusable ? 0 : -1,\n class: [`${clsPrefix}-base-select-menu`, this.rtlEnabled && `${clsPrefix}-base-select-menu--rtl`, themeClass, this.multiple && `${clsPrefix}-base-select-menu--multiple`],\n style: this.cssVars,\n onFocusin: this.handleFocusin,\n onFocusout: this.handleFocusout,\n onKeyup: this.handleKeyUp,\n onKeydown: this.handleKeyDown,\n onMousedown: this.handleMouseDown,\n onMouseenter: this.onMouseenter,\n onMouseleave: this.onMouseleave\n }, resolveWrappedSlot($slots.header, children => children && h(\"div\", {\n class: `${clsPrefix}-base-select-menu__header`,\n \"data-header\": true,\n key: \"header\"\n }, children)), this.loading ? h(\"div\", {\n class: `${clsPrefix}-base-select-menu__loading`\n }, h(NInternalLoading, {\n clsPrefix: clsPrefix,\n strokeWidth: 20\n })) : !this.empty ? h(NScrollbar, {\n ref: \"scrollbarRef\",\n theme: mergedTheme.peers.Scrollbar,\n themeOverrides: mergedTheme.peerOverrides.Scrollbar,\n scrollable: this.scrollable,\n container: virtualScroll ? this.virtualListContainer : undefined,\n content: virtualScroll ? this.virtualListContent : undefined,\n onScroll: virtualScroll ? undefined : this.doScroll\n }, {\n default: () => {\n return virtualScroll ? h(VirtualList, {\n ref: \"virtualListRef\",\n class: `${clsPrefix}-virtual-list`,\n items: this.flattenedNodes,\n itemSize: this.itemSize,\n showScrollbar: false,\n paddingTop: this.padding.top,\n paddingBottom: this.padding.bottom,\n onResize: this.handleVirtualListResize,\n onScroll: this.handleVirtualListScroll,\n itemResizable: true\n }, {\n default: ({\n item: tmNode\n }) => {\n return tmNode.isGroup ? h(NSelectGroupHeader, {\n key: tmNode.key,\n clsPrefix: clsPrefix,\n tmNode: tmNode\n }) : tmNode.ignored ? null : h(NSelectOption, {\n clsPrefix: clsPrefix,\n key: tmNode.key,\n tmNode: tmNode\n });\n }\n }) : h(\"div\", {\n class: `${clsPrefix}-base-select-menu-option-wrapper`,\n style: {\n paddingTop: this.padding.top,\n paddingBottom: this.padding.bottom\n }\n }, this.flattenedNodes.map(tmNode => tmNode.isGroup ? h(NSelectGroupHeader, {\n key: tmNode.key,\n clsPrefix: clsPrefix,\n tmNode: tmNode\n }) : h(NSelectOption, {\n clsPrefix: clsPrefix,\n key: tmNode.key,\n tmNode: tmNode\n })));\n }\n }) : h(\"div\", {\n class: `${clsPrefix}-base-select-menu__empty`,\n \"data-empty\": true\n }, resolveSlot($slots.empty, () => [h(NEmpty, {\n theme: mergedTheme.peers.Empty,\n themeOverrides: mergedTheme.peerOverrides.Empty\n })])), resolveWrappedSlot($slots.action, children => children && [h(\"div\", {\n class: `${clsPrefix}-base-select-menu__action`,\n \"data-action\": true,\n key: \"action\"\n }, children), h(NFocusDetector, {\n onFocus: this.onTabOut,\n key: \"focus-detector\"\n })]));\n }\n});","export default {\n closeIconSizeTiny: '12px',\n closeIconSizeSmall: '12px',\n closeIconSizeMedium: '14px',\n closeIconSizeLarge: '14px',\n closeSizeTiny: '16px',\n closeSizeSmall: '16px',\n closeSizeMedium: '18px',\n closeSizeLarge: '18px',\n padding: '0 7px',\n closeMargin: '0 0 0 4px'\n};","import commonVariables from \"./_common.mjs\";\nimport { changeColor } from 'seemly';\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nconst self = vars => {\n const {\n textColor2,\n primaryColorHover,\n primaryColorPressed,\n primaryColor,\n infoColor,\n successColor,\n warningColor,\n errorColor,\n baseColor,\n borderColor,\n opacityDisabled,\n tagColor,\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n borderRadiusSmall: borderRadius,\n fontSizeMini,\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n heightMini,\n heightTiny,\n heightSmall,\n heightMedium,\n closeColorHover,\n closeColorPressed,\n buttonColor2Hover,\n buttonColor2Pressed,\n fontWeightStrong\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n closeBorderRadius: borderRadius,\n heightTiny: heightMini,\n heightSmall: heightTiny,\n heightMedium: heightSmall,\n heightLarge: heightMedium,\n borderRadius,\n opacityDisabled,\n fontSizeTiny: fontSizeMini,\n fontSizeSmall: fontSizeTiny,\n fontSizeMedium: fontSizeSmall,\n fontSizeLarge: fontSizeMedium,\n fontWeightStrong,\n // checked\n textColorCheckable: textColor2,\n textColorHoverCheckable: textColor2,\n textColorPressedCheckable: textColor2,\n textColorChecked: baseColor,\n colorCheckable: '#0000',\n colorHoverCheckable: buttonColor2Hover,\n colorPressedCheckable: buttonColor2Pressed,\n colorChecked: primaryColor,\n colorCheckedHover: primaryColorHover,\n colorCheckedPressed: primaryColorPressed,\n // default\n border: `1px solid ${borderColor}`,\n textColor: textColor2,\n color: tagColor,\n colorBordered: 'rgb(250, 250, 252)',\n closeIconColor,\n closeIconColorHover,\n closeIconColorPressed,\n closeColorHover,\n closeColorPressed,\n borderPrimary: `1px solid ${changeColor(primaryColor, {\n alpha: 0.3\n })}`,\n textColorPrimary: primaryColor,\n colorPrimary: changeColor(primaryColor, {\n alpha: 0.12\n }),\n colorBorderedPrimary: changeColor(primaryColor, {\n alpha: 0.1\n }),\n closeIconColorPrimary: primaryColor,\n closeIconColorHoverPrimary: primaryColor,\n closeIconColorPressedPrimary: primaryColor,\n closeColorHoverPrimary: changeColor(primaryColor, {\n alpha: 0.12\n }),\n closeColorPressedPrimary: changeColor(primaryColor, {\n alpha: 0.18\n }),\n borderInfo: `1px solid ${changeColor(infoColor, {\n alpha: 0.3\n })}`,\n textColorInfo: infoColor,\n colorInfo: changeColor(infoColor, {\n alpha: 0.12\n }),\n colorBorderedInfo: changeColor(infoColor, {\n alpha: 0.1\n }),\n closeIconColorInfo: infoColor,\n closeIconColorHoverInfo: infoColor,\n closeIconColorPressedInfo: infoColor,\n closeColorHoverInfo: changeColor(infoColor, {\n alpha: 0.12\n }),\n closeColorPressedInfo: changeColor(infoColor, {\n alpha: 0.18\n }),\n borderSuccess: `1px solid ${changeColor(successColor, {\n alpha: 0.3\n })}`,\n textColorSuccess: successColor,\n colorSuccess: changeColor(successColor, {\n alpha: 0.12\n }),\n colorBorderedSuccess: changeColor(successColor, {\n alpha: 0.1\n }),\n closeIconColorSuccess: successColor,\n closeIconColorHoverSuccess: successColor,\n closeIconColorPressedSuccess: successColor,\n closeColorHoverSuccess: changeColor(successColor, {\n alpha: 0.12\n }),\n closeColorPressedSuccess: changeColor(successColor, {\n alpha: 0.18\n }),\n borderWarning: `1px solid ${changeColor(warningColor, {\n alpha: 0.35\n })}`,\n textColorWarning: warningColor,\n colorWarning: changeColor(warningColor, {\n alpha: 0.15\n }),\n colorBorderedWarning: changeColor(warningColor, {\n alpha: 0.12\n }),\n closeIconColorWarning: warningColor,\n closeIconColorHoverWarning: warningColor,\n closeIconColorPressedWarning: warningColor,\n closeColorHoverWarning: changeColor(warningColor, {\n alpha: 0.12\n }),\n closeColorPressedWarning: changeColor(warningColor, {\n alpha: 0.18\n }),\n borderError: `1px solid ${changeColor(errorColor, {\n alpha: 0.23\n })}`,\n textColorError: errorColor,\n colorError: changeColor(errorColor, {\n alpha: 0.1\n }),\n colorBorderedError: changeColor(errorColor, {\n alpha: 0.08\n }),\n closeIconColorError: errorColor,\n closeIconColorHoverError: errorColor,\n closeIconColorPressedError: errorColor,\n closeColorHoverError: changeColor(errorColor, {\n alpha: 0.12\n }),\n closeColorPressedError: changeColor(errorColor, {\n alpha: 0.18\n })\n });\n};\nconst tagLight = {\n name: 'Tag',\n common: commonLight,\n self\n};\nexport default tagLight;","export default {\n color: Object,\n type: {\n type: String,\n default: 'default'\n },\n round: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n closable: Boolean,\n disabled: {\n type: Boolean,\n default: undefined\n }\n};","import { c, cB, cE, cM, cNotM } from \"../../../_utils/cssr/index.mjs\";\n// vars:\n// --n-bezier\n// --n-border-radius\n// --n-border\n// --n-close-icon-color\n// --n-close-icon-color-hover\n// --n-close-icon-color-pressed\n// --n-close-margin\n// --n-close-size\n// --n-color\n// --n-color-checkable\n// --n-color-checked\n// --n-color-checked-hover\n// --n-color-checked-pressed\n// --n-color-hover-checkable\n// --n-color-pressed-checkable\n// --n-font-size\n// --n-height\n// --n-opacity-disabled\n// --n-padding\n// --n-text-color\n// --n-text-color-checkable\n// --n-text-color-checked\n// --n-text-color-hover-checkable\n// --n-text-color-pressed-checkable\n// --n-font-weight-strong\nexport default cB('tag', `\n --n-close-margin: var(--n-close-margin-top) var(--n-close-margin-right) var(--n-close-margin-bottom) var(--n-close-margin-left);\n white-space: nowrap;\n position: relative;\n box-sizing: border-box;\n cursor: default;\n display: inline-flex;\n align-items: center;\n flex-wrap: nowrap;\n padding: var(--n-padding);\n border-radius: var(--n-border-radius);\n color: var(--n-text-color);\n background-color: var(--n-color);\n transition: \n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n opacity .3s var(--n-bezier);\n line-height: 1;\n height: var(--n-height);\n font-size: var(--n-font-size);\n`, [cM('strong', `\n font-weight: var(--n-font-weight-strong);\n `), cE('border', `\n pointer-events: none;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n border-radius: inherit;\n border: var(--n-border);\n transition: border-color .3s var(--n-bezier);\n `), cE('icon', `\n display: flex;\n margin: 0 4px 0 0;\n color: var(--n-text-color);\n transition: color .3s var(--n-bezier);\n font-size: var(--n-avatar-size-override);\n `), cE('avatar', `\n display: flex;\n margin: 0 6px 0 0;\n `), cE('close', `\n margin: var(--n-close-margin);\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n `), cM('round', `\n padding: 0 calc(var(--n-height) / 3);\n border-radius: calc(var(--n-height) / 2);\n `, [cE('icon', `\n margin: 0 4px 0 calc((var(--n-height) - 8px) / -2);\n `), cE('avatar', `\n margin: 0 6px 0 calc((var(--n-height) - 8px) / -2);\n `), cM('closable', `\n padding: 0 calc(var(--n-height) / 4) 0 calc(var(--n-height) / 3);\n `)]), cM('icon, avatar', [cM('round', `\n padding: 0 calc(var(--n-height) / 3) 0 calc(var(--n-height) / 2);\n `)]), cM('disabled', `\n cursor: not-allowed !important;\n opacity: var(--n-opacity-disabled);\n `), cM('checkable', `\n cursor: pointer;\n box-shadow: none;\n color: var(--n-text-color-checkable);\n background-color: var(--n-color-checkable);\n `, [cNotM('disabled', [c('&:hover', 'background-color: var(--n-color-hover-checkable);', [cNotM('checked', 'color: var(--n-text-color-hover-checkable);')]), c('&:active', 'background-color: var(--n-color-pressed-checkable);', [cNotM('checked', 'color: var(--n-text-color-pressed-checkable);')])]), cM('checked', `\n color: var(--n-text-color-checked);\n background-color: var(--n-color-checked);\n `, [cNotM('disabled', [c('&:hover', 'background-color: var(--n-color-checked-hover);'), c('&:active', 'background-color: var(--n-color-checked-pressed);')])])])]);","import { h, defineComponent, computed, ref, provide, toRef, watchEffect } from 'vue';\nimport { useRtl } from \"../../_mixins/use-rtl.mjs\";\nimport { NBaseClose } from \"../../_internal/close/index.mjs\";\nimport { useConfig, useThemeClass, useTheme } from \"../../_mixins/index.mjs\";\nimport { createKey, call, createInjectionKey, color2Class, resolveWrappedSlot, warnOnce } from \"../../_utils/index.mjs\";\nimport { tagLight } from \"../styles/index.mjs\";\nimport commonProps from \"./common-props.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nimport { getMargin } from 'seemly';\nexport const tagProps = Object.assign(Object.assign(Object.assign({}, useTheme.props), commonProps), {\n bordered: {\n type: Boolean,\n default: undefined\n },\n checked: Boolean,\n checkable: Boolean,\n strong: Boolean,\n triggerClickOnClose: Boolean,\n onClose: [Array, Function],\n onMouseenter: Function,\n onMouseleave: Function,\n 'onUpdate:checked': Function,\n onUpdateChecked: Function,\n // private\n internalCloseFocusable: {\n type: Boolean,\n default: true\n },\n internalCloseIsButtonTag: {\n type: Boolean,\n default: true\n },\n // deprecated\n onCheckedChange: Function\n});\nexport const tagInjectionKey = createInjectionKey('n-tag');\nexport default defineComponent({\n name: 'Tag',\n props: tagProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onCheckedChange !== undefined) {\n warnOnce('tag', '`on-checked-change` is deprecated, please use `on-update:checked` instead');\n }\n });\n }\n const contentRef = ref(null);\n const {\n mergedBorderedRef,\n mergedClsPrefixRef,\n inlineThemeDisabled,\n mergedRtlRef\n } = useConfig(props);\n const themeRef = useTheme('Tag', '-tag', style, tagLight, props, mergedClsPrefixRef);\n provide(tagInjectionKey, {\n roundRef: toRef(props, 'round')\n });\n function handleClick(e) {\n if (!props.disabled) {\n if (props.checkable) {\n const {\n checked,\n onCheckedChange,\n onUpdateChecked,\n 'onUpdate:checked': _onUpdateChecked\n } = props;\n if (onUpdateChecked) onUpdateChecked(!checked);\n if (_onUpdateChecked) _onUpdateChecked(!checked);\n // deprecated\n if (onCheckedChange) onCheckedChange(!checked);\n }\n }\n }\n function handleCloseClick(e) {\n if (!props.triggerClickOnClose) {\n e.stopPropagation();\n }\n if (!props.disabled) {\n const {\n onClose\n } = props;\n if (onClose) call(onClose, e);\n }\n }\n const tagPublicMethods = {\n setTextContent(textContent) {\n const {\n value\n } = contentRef;\n if (value) value.textContent = textContent;\n }\n };\n const rtlEnabledRef = useRtl('Tag', mergedRtlRef, mergedClsPrefixRef);\n const cssVarsRef = computed(() => {\n const {\n type,\n size,\n color: {\n color,\n textColor\n } = {}\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n padding,\n closeMargin,\n borderRadius,\n opacityDisabled,\n textColorCheckable,\n textColorHoverCheckable,\n textColorPressedCheckable,\n textColorChecked,\n colorCheckable,\n colorHoverCheckable,\n colorPressedCheckable,\n colorChecked,\n colorCheckedHover,\n colorCheckedPressed,\n closeBorderRadius,\n fontWeightStrong,\n [createKey('colorBordered', type)]: colorBordered,\n [createKey('closeSize', size)]: closeSize,\n [createKey('closeIconSize', size)]: closeIconSize,\n [createKey('fontSize', size)]: fontSize,\n [createKey('height', size)]: height,\n [createKey('color', type)]: typedColor,\n [createKey('textColor', type)]: typeTextColor,\n [createKey('border', type)]: border,\n [createKey('closeIconColor', type)]: closeIconColor,\n [createKey('closeIconColorHover', type)]: closeIconColorHover,\n [createKey('closeIconColorPressed', type)]: closeIconColorPressed,\n [createKey('closeColorHover', type)]: closeColorHover,\n [createKey('closeColorPressed', type)]: closeColorPressed\n }\n } = themeRef.value;\n const closeMarginDiscrete = getMargin(closeMargin);\n return {\n '--n-font-weight-strong': fontWeightStrong,\n '--n-avatar-size-override': `calc(${height} - 8px)`,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-border': border,\n '--n-close-icon-size': closeIconSize,\n '--n-close-color-pressed': closeColorPressed,\n '--n-close-color-hover': closeColorHover,\n '--n-close-border-radius': closeBorderRadius,\n '--n-close-icon-color': closeIconColor,\n '--n-close-icon-color-hover': closeIconColorHover,\n '--n-close-icon-color-pressed': closeIconColorPressed,\n '--n-close-icon-color-disabled': closeIconColor,\n '--n-close-margin-top': closeMarginDiscrete.top,\n '--n-close-margin-right': closeMarginDiscrete.right,\n '--n-close-margin-bottom': closeMarginDiscrete.bottom,\n '--n-close-margin-left': closeMarginDiscrete.left,\n '--n-close-size': closeSize,\n '--n-color': color || (mergedBorderedRef.value ? colorBordered : typedColor),\n '--n-color-checkable': colorCheckable,\n '--n-color-checked': colorChecked,\n '--n-color-checked-hover': colorCheckedHover,\n '--n-color-checked-pressed': colorCheckedPressed,\n '--n-color-hover-checkable': colorHoverCheckable,\n '--n-color-pressed-checkable': colorPressedCheckable,\n '--n-font-size': fontSize,\n '--n-height': height,\n '--n-opacity-disabled': opacityDisabled,\n '--n-padding': padding,\n '--n-text-color': textColor || typeTextColor,\n '--n-text-color-checkable': textColorCheckable,\n '--n-text-color-checked': textColorChecked,\n '--n-text-color-hover-checkable': textColorHoverCheckable,\n '--n-text-color-pressed-checkable': textColorPressedCheckable\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('tag', computed(() => {\n let hash = '';\n const {\n type,\n size,\n color: {\n color,\n textColor\n } = {}\n } = props;\n hash += type[0];\n hash += size[0];\n if (color) {\n hash += `a${color2Class(color)}`;\n }\n if (textColor) {\n hash += `b${color2Class(textColor)}`;\n }\n if (mergedBorderedRef.value) {\n hash += 'c';\n }\n return hash;\n }), cssVarsRef, props) : undefined;\n return Object.assign(Object.assign({}, tagPublicMethods), {\n rtlEnabled: rtlEnabledRef,\n mergedClsPrefix: mergedClsPrefixRef,\n contentRef,\n mergedBordered: mergedBorderedRef,\n handleClick,\n handleCloseClick,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n });\n },\n render() {\n var _a, _b;\n const {\n mergedClsPrefix,\n rtlEnabled,\n closable,\n color: {\n borderColor\n } = {},\n round,\n onRender,\n $slots\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const avatarNode = resolveWrappedSlot($slots.avatar, children => children && h(\"div\", {\n class: `${mergedClsPrefix}-tag__avatar`\n }, children));\n const iconNode = resolveWrappedSlot($slots.icon, children => children && h(\"div\", {\n class: `${mergedClsPrefix}-tag__icon`\n }, children));\n return h(\"div\", {\n class: [`${mergedClsPrefix}-tag`, this.themeClass, {\n [`${mergedClsPrefix}-tag--rtl`]: rtlEnabled,\n [`${mergedClsPrefix}-tag--strong`]: this.strong,\n [`${mergedClsPrefix}-tag--disabled`]: this.disabled,\n [`${mergedClsPrefix}-tag--checkable`]: this.checkable,\n [`${mergedClsPrefix}-tag--checked`]: this.checkable && this.checked,\n [`${mergedClsPrefix}-tag--round`]: round,\n [`${mergedClsPrefix}-tag--avatar`]: avatarNode,\n [`${mergedClsPrefix}-tag--icon`]: iconNode,\n [`${mergedClsPrefix}-tag--closable`]: closable\n }],\n style: this.cssVars,\n onClick: this.handleClick,\n onMouseenter: this.onMouseenter,\n onMouseleave: this.onMouseleave\n }, iconNode || avatarNode, h(\"span\", {\n class: `${mergedClsPrefix}-tag__content`,\n ref: \"contentRef\"\n }, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a)), !this.checkable && closable ? h(NBaseClose, {\n clsPrefix: mergedClsPrefix,\n class: `${mergedClsPrefix}-tag__close`,\n disabled: this.disabled,\n onClick: this.handleCloseClick,\n focusable: this.internalCloseFocusable,\n round: round,\n isButtonTag: this.internalCloseIsButtonTag,\n absolute: true\n }) : null, !this.checkable && this.mergedBordered ? h(\"div\", {\n class: `${mergedClsPrefix}-tag__border`,\n style: {\n borderColor\n }\n }) : null);\n }\n});","export default {\n paddingSingle: '0 26px 0 12px',\n paddingMultiple: '3px 26px 0 12px',\n clearSize: '16px',\n arrowSize: '16px'\n};","import { changeColor } from 'seemly';\nimport { commonLight } from \"../../../_styles/common/index.mjs\";\nimport { popoverLight } from \"../../../popover/styles/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nimport { createTheme } from \"../../../_mixins/index.mjs\";\nconst self = vars => {\n const {\n borderRadius,\n textColor2,\n textColorDisabled,\n inputColor,\n inputColorDisabled,\n primaryColor,\n primaryColorHover,\n warningColor,\n warningColorHover,\n errorColor,\n errorColorHover,\n borderColor,\n iconColor,\n iconColorDisabled,\n clearColor,\n clearColorHover,\n clearColorPressed,\n placeholderColor,\n placeholderColorDisabled,\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n heightTiny,\n heightSmall,\n heightMedium,\n heightLarge\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n heightTiny,\n heightSmall,\n heightMedium,\n heightLarge,\n borderRadius,\n // default\n textColor: textColor2,\n textColorDisabled,\n placeholderColor,\n placeholderColorDisabled,\n color: inputColor,\n colorDisabled: inputColorDisabled,\n colorActive: inputColor,\n border: `1px solid ${borderColor}`,\n borderHover: `1px solid ${primaryColorHover}`,\n borderActive: `1px solid ${primaryColor}`,\n borderFocus: `1px solid ${primaryColorHover}`,\n boxShadowHover: 'none',\n boxShadowActive: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`,\n boxShadowFocus: `0 0 0 2px ${changeColor(primaryColor, {\n alpha: 0.2\n })}`,\n caretColor: primaryColor,\n arrowColor: iconColor,\n arrowColorDisabled: iconColorDisabled,\n loadingColor: primaryColor,\n // warning\n borderWarning: `1px solid ${warningColor}`,\n borderHoverWarning: `1px solid ${warningColorHover}`,\n borderActiveWarning: `1px solid ${warningColor}`,\n borderFocusWarning: `1px solid ${warningColorHover}`,\n boxShadowHoverWarning: 'none',\n boxShadowActiveWarning: `0 0 0 2px ${changeColor(warningColor, {\n alpha: 0.2\n })}`,\n boxShadowFocusWarning: `0 0 0 2px ${changeColor(warningColor, {\n alpha: 0.2\n })}`,\n colorActiveWarning: inputColor,\n caretColorWarning: warningColor,\n // error\n borderError: `1px solid ${errorColor}`,\n borderHoverError: `1px solid ${errorColorHover}`,\n borderActiveError: `1px solid ${errorColor}`,\n borderFocusError: `1px solid ${errorColorHover}`,\n boxShadowHoverError: 'none',\n boxShadowActiveError: `0 0 0 2px ${changeColor(errorColor, {\n alpha: 0.2\n })}`,\n boxShadowFocusError: `0 0 0 2px ${changeColor(errorColor, {\n alpha: 0.2\n })}`,\n colorActiveError: inputColor,\n caretColorError: errorColor,\n clearColor,\n clearColorHover,\n clearColorPressed\n });\n};\nconst internalSelectionLight = createTheme({\n name: 'InternalSelection',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default internalSelectionLight;","import { c, cB, cE, cM, cNotM } from \"../../../../_utils/cssr/index.mjs\";\n// vars:\n// --n-bezier\n// --n-border\n// --n-border-active\n// --n-border-focus\n// --n-border-hover\n// --n-border-radius\n// --n-box-shadow-active\n// --n-box-shadow-focus\n// --n-box-shadow-hover\n// --n-caret-color\n// --n-color\n// --n-color-active\n// --n-color-disabled\n// --n-font-size\n// --n-height\n// --n-padding-single\n// --n-padding-multiple\n// --n-placeholder-color\n// --n-placeholder-color-disabled\n// --n-text-color\n// --n-text-color-disabled\n// --n-arrow-color\n// --n-arrow-size\n// --n-loading-color\n// ...clear vars\n// ...form item vars\nexport default c([cB('base-selection', `\n --n-padding-single: var(--n-padding-single-top) var(--n-padding-single-right) var(--n-padding-single-bottom) var(--n-padding-single-left);\n --n-padding-multiple: var(--n-padding-multiple-top) var(--n-padding-multiple-right) var(--n-padding-multiple-bottom) var(--n-padding-multiple-left);\n position: relative;\n z-index: auto;\n box-shadow: none;\n width: 100%;\n max-width: 100%;\n display: inline-block;\n vertical-align: bottom;\n border-radius: var(--n-border-radius);\n min-height: var(--n-height);\n line-height: 1.5;\n font-size: var(--n-font-size);\n `, [cB('base-loading', `\n color: var(--n-loading-color);\n `), cB('base-selection-tags', 'min-height: var(--n-height);'), cE('border, state-border', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n pointer-events: none;\n border: var(--n-border);\n border-radius: inherit;\n transition:\n box-shadow .3s var(--n-bezier),\n border-color .3s var(--n-bezier);\n `), cE('state-border', `\n z-index: 1;\n border-color: #0000;\n `), cB('base-suffix', `\n cursor: pointer;\n position: absolute;\n top: 50%;\n transform: translateY(-50%);\n right: 10px;\n `, [cE('arrow', `\n font-size: var(--n-arrow-size);\n color: var(--n-arrow-color);\n transition: color .3s var(--n-bezier);\n `)]), cB('base-selection-overlay', `\n display: flex;\n align-items: center;\n white-space: nowrap;\n pointer-events: none;\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--n-padding-single);\n transition: color .3s var(--n-bezier);\n `, [cE('wrapper', `\n flex-basis: 0;\n flex-grow: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n `)]), cB('base-selection-placeholder', `\n color: var(--n-placeholder-color);\n `, [cE('inner', `\n max-width: 100%;\n overflow: hidden;\n `)]), cB('base-selection-tags', `\n cursor: pointer;\n outline: none;\n box-sizing: border-box;\n position: relative;\n z-index: auto;\n display: flex;\n padding: var(--n-padding-multiple);\n flex-wrap: wrap;\n align-items: center;\n width: 100%;\n vertical-align: bottom;\n background-color: var(--n-color);\n border-radius: inherit;\n transition:\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n `), cB('base-selection-label', `\n height: var(--n-height);\n display: inline-flex;\n width: 100%;\n vertical-align: bottom;\n cursor: pointer;\n outline: none;\n z-index: auto;\n box-sizing: border-box;\n position: relative;\n transition:\n color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n border-radius: inherit;\n background-color: var(--n-color);\n align-items: center;\n `, [cB('base-selection-input', `\n font-size: inherit;\n line-height: inherit;\n outline: none;\n cursor: pointer;\n box-sizing: border-box;\n border:none;\n width: 100%;\n padding: var(--n-padding-single);\n background-color: #0000;\n color: var(--n-text-color);\n transition: color .3s var(--n-bezier);\n caret-color: var(--n-caret-color);\n `, [cE('content', `\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap; \n `)]), cE('render-label', `\n color: var(--n-text-color);\n `)]), cNotM('disabled', [c('&:hover', [cE('state-border', `\n box-shadow: var(--n-box-shadow-hover);\n border: var(--n-border-hover);\n `)]), cM('focus', [cE('state-border', `\n box-shadow: var(--n-box-shadow-focus);\n border: var(--n-border-focus);\n `)]), cM('active', [cE('state-border', `\n box-shadow: var(--n-box-shadow-active);\n border: var(--n-border-active);\n `), cB('base-selection-label', 'background-color: var(--n-color-active);'), cB('base-selection-tags', 'background-color: var(--n-color-active);')])]), cM('disabled', 'cursor: not-allowed;', [cE('arrow', `\n color: var(--n-arrow-color-disabled);\n `), cB('base-selection-label', `\n cursor: not-allowed;\n background-color: var(--n-color-disabled);\n `, [cB('base-selection-input', `\n cursor: not-allowed;\n color: var(--n-text-color-disabled);\n `), cE('render-label', `\n color: var(--n-text-color-disabled);\n `)]), cB('base-selection-tags', `\n cursor: not-allowed;\n background-color: var(--n-color-disabled);\n `), cB('base-selection-placeholder', `\n cursor: not-allowed;\n color: var(--n-placeholder-color-disabled);\n `)]), cB('base-selection-input-tag', `\n height: calc(var(--n-height) - 6px);\n line-height: calc(var(--n-height) - 6px);\n outline: none;\n display: none;\n position: relative;\n margin-bottom: 3px;\n max-width: 100%;\n vertical-align: bottom;\n `, [cE('input', `\n font-size: inherit;\n font-family: inherit;\n min-width: 1px;\n padding: 0;\n background-color: #0000;\n outline: none;\n border: none;\n max-width: 100%;\n overflow: hidden;\n width: 1em;\n line-height: inherit;\n cursor: pointer;\n color: var(--n-text-color);\n caret-color: var(--n-caret-color);\n `), cE('mirror', `\n position: absolute;\n left: 0;\n top: 0;\n white-space: pre;\n visibility: hidden;\n user-select: none;\n -webkit-user-select: none;\n opacity: 0;\n `)]), ['warning', 'error'].map(status => cM(`${status}-status`, [cE('state-border', `border: var(--n-border-${status});`), cNotM('disabled', [c('&:hover', [cE('state-border', `\n box-shadow: var(--n-box-shadow-hover-${status});\n border: var(--n-border-hover-${status});\n `)]), cM('active', [cE('state-border', `\n box-shadow: var(--n-box-shadow-active-${status});\n border: var(--n-border-active-${status});\n `), cB('base-selection-label', `background-color: var(--n-color-active-${status});`), cB('base-selection-tags', `background-color: var(--n-color-active-${status});`)]), cM('focus', [cE('state-border', `\n box-shadow: var(--n-box-shadow-focus-${status});\n border: var(--n-border-focus-${status});\n `)])])]))]), cB('base-selection-popover', `\n margin-bottom: -3px;\n display: flex;\n flex-wrap: wrap;\n margin-right: -8px;\n `), cB('base-selection-tag-wrapper', `\n max-width: 100%;\n display: inline-flex;\n padding: 0 7px 3px 0;\n `, [c('&:last-child', 'padding-right: 0;'), cB('tag', `\n font-size: 14px;\n max-width: 100%;\n `, [cE('content', `\n line-height: 1.25;\n text-overflow: ellipsis;\n overflow: hidden;\n `)])])]);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, defineComponent, Fragment, ref, computed, watch, toRef, nextTick, watchEffect, onMounted } from 'vue';\nimport { VOverflow } from 'vueuc';\nimport { NPopover } from \"../../../popover/index.mjs\";\nimport { NTag } from \"../../../tag/index.mjs\";\nimport { useThemeClass, useTheme, useRtl, useConfig } from \"../../../_mixins/index.mjs\";\nimport { createKey, getTitleAttribute, render, useOnResize, Wrapper } from \"../../../_utils/index.mjs\";\nimport Suffix from \"../../suffix/index.mjs\";\nimport { internalSelectionLight } from \"../styles/index.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nimport { getPadding } from 'seemly';\nexport default defineComponent({\n name: 'InternalSelection',\n props: Object.assign(Object.assign({}, useTheme.props), {\n clsPrefix: {\n type: String,\n required: true\n },\n bordered: {\n type: Boolean,\n default: undefined\n },\n active: Boolean,\n pattern: {\n type: String,\n default: ''\n },\n placeholder: String,\n selectedOption: {\n type: Object,\n default: null\n },\n selectedOptions: {\n type: Array,\n default: null\n },\n labelField: {\n type: String,\n default: 'label'\n },\n valueField: {\n type: String,\n default: 'value'\n },\n multiple: Boolean,\n filterable: Boolean,\n clearable: Boolean,\n disabled: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n loading: Boolean,\n autofocus: Boolean,\n showArrow: {\n type: Boolean,\n default: true\n },\n inputProps: Object,\n focused: Boolean,\n renderTag: Function,\n onKeydown: Function,\n onClick: Function,\n onBlur: Function,\n onFocus: Function,\n onDeleteOption: Function,\n maxTagCount: [String, Number],\n ellipsisTagPopoverProps: Object,\n onClear: Function,\n onPatternInput: Function,\n onPatternFocus: Function,\n onPatternBlur: Function,\n renderLabel: Function,\n status: String,\n inlineThemeDisabled: Boolean,\n ignoreComposition: {\n type: Boolean,\n default: true\n },\n onResize: Function\n }),\n setup(props) {\n const {\n mergedClsPrefixRef,\n mergedRtlRef\n } = useConfig(props);\n const rtlEnabledRef = useRtl('InternalSelection', mergedRtlRef, mergedClsPrefixRef);\n const patternInputMirrorRef = ref(null);\n const patternInputRef = ref(null);\n const selfRef = ref(null);\n const multipleElRef = ref(null);\n const singleElRef = ref(null);\n const patternInputWrapperRef = ref(null);\n const counterRef = ref(null);\n const counterWrapperRef = ref(null);\n const overflowRef = ref(null);\n const inputTagElRef = ref(null);\n const showTagsPopoverRef = ref(false);\n const patternInputFocusedRef = ref(false);\n const hoverRef = ref(false);\n const themeRef = useTheme('InternalSelection', '-internal-selection', style, internalSelectionLight, props, toRef(props, 'clsPrefix'));\n const mergedClearableRef = computed(() => {\n return props.clearable && !props.disabled && (hoverRef.value || props.active);\n });\n const filterablePlaceholderRef = computed(() => {\n return props.selectedOption ? props.renderTag ? props.renderTag({\n option: props.selectedOption,\n handleClose: () => {}\n }) : props.renderLabel ? props.renderLabel(props.selectedOption, true) : render(props.selectedOption[props.labelField], props.selectedOption, true) : props.placeholder;\n });\n const labelRef = computed(() => {\n const option = props.selectedOption;\n if (!option) return undefined;\n return option[props.labelField];\n });\n const selectedRef = computed(() => {\n if (props.multiple) {\n return !!(Array.isArray(props.selectedOptions) && props.selectedOptions.length);\n } else {\n return props.selectedOption !== null;\n }\n });\n function syncMirrorWidth() {\n var _a;\n const {\n value: patternInputMirrorEl\n } = patternInputMirrorRef;\n if (patternInputMirrorEl) {\n const {\n value: patternInputEl\n } = patternInputRef;\n if (patternInputEl) {\n patternInputEl.style.width = `${patternInputMirrorEl.offsetWidth}px`;\n if (props.maxTagCount !== 'responsive') {\n (_a = overflowRef.value) === null || _a === void 0 ? void 0 : _a.sync({\n showAllItemsBeforeCalculate: false\n });\n }\n }\n }\n }\n function hideInputTag() {\n const {\n value: inputTagEl\n } = inputTagElRef;\n if (inputTagEl) inputTagEl.style.display = 'none';\n }\n function showInputTag() {\n const {\n value: inputTagEl\n } = inputTagElRef;\n if (inputTagEl) inputTagEl.style.display = 'inline-block';\n }\n watch(toRef(props, 'active'), value => {\n if (!value) hideInputTag();\n });\n watch(toRef(props, 'pattern'), () => {\n if (props.multiple) {\n void nextTick(syncMirrorWidth);\n }\n });\n function doFocus(e) {\n const {\n onFocus\n } = props;\n if (onFocus) onFocus(e);\n }\n function doBlur(e) {\n const {\n onBlur\n } = props;\n if (onBlur) onBlur(e);\n }\n function doDeleteOption(value) {\n const {\n onDeleteOption\n } = props;\n if (onDeleteOption) onDeleteOption(value);\n }\n function doClear(e) {\n const {\n onClear\n } = props;\n if (onClear) onClear(e);\n }\n function doPatternInput(value) {\n const {\n onPatternInput\n } = props;\n if (onPatternInput) onPatternInput(value);\n }\n function handleFocusin(e) {\n var _a;\n if (!e.relatedTarget || !((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget))) {\n doFocus(e);\n }\n }\n function handleFocusout(e) {\n var _a;\n if ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.contains(e.relatedTarget)) return;\n doBlur(e);\n }\n function handleClear(e) {\n doClear(e);\n }\n function handleMouseEnter() {\n hoverRef.value = true;\n }\n function handleMouseLeave() {\n hoverRef.value = false;\n }\n function handleMouseDown(e) {\n if (!props.active || !props.filterable) return;\n if (e.target === patternInputRef.value) return;\n e.preventDefault();\n }\n function handleDeleteOption(option) {\n doDeleteOption(option);\n }\n function handlePatternKeyDown(e) {\n if (e.key === 'Backspace' && !isComposingRef.value) {\n if (!props.pattern.length) {\n const {\n selectedOptions\n } = props;\n if (selectedOptions === null || selectedOptions === void 0 ? void 0 : selectedOptions.length) {\n handleDeleteOption(selectedOptions[selectedOptions.length - 1]);\n }\n }\n }\n }\n const isComposingRef = ref(false);\n // the composition end is later than its input so we can cached the event\n // and return the input event\n let cachedInputEvent = null;\n function handlePatternInputInput(e) {\n // we should sync mirror width here\n const {\n value: patternInputMirrorEl\n } = patternInputMirrorRef;\n if (patternInputMirrorEl) {\n const inputText = e.target.value;\n patternInputMirrorEl.textContent = inputText;\n syncMirrorWidth();\n }\n if (props.ignoreComposition) {\n if (!isComposingRef.value) {\n doPatternInput(e);\n } else {\n cachedInputEvent = e;\n }\n } else {\n doPatternInput(e);\n }\n }\n function handleCompositionStart() {\n isComposingRef.value = true;\n }\n function handleCompositionEnd() {\n isComposingRef.value = false;\n if (props.ignoreComposition) {\n doPatternInput(cachedInputEvent);\n }\n cachedInputEvent = null;\n }\n function handlePatternInputFocus(e) {\n var _a;\n patternInputFocusedRef.value = true;\n (_a = props.onPatternFocus) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function handlePatternInputBlur(e) {\n var _a;\n patternInputFocusedRef.value = false;\n (_a = props.onPatternBlur) === null || _a === void 0 ? void 0 : _a.call(props, e);\n }\n function blur() {\n var _a, _b;\n if (props.filterable) {\n patternInputFocusedRef.value = false;\n (_a = patternInputWrapperRef.value) === null || _a === void 0 ? void 0 : _a.blur();\n (_b = patternInputRef.value) === null || _b === void 0 ? void 0 : _b.blur();\n } else if (props.multiple) {\n const {\n value: multipleEl\n } = multipleElRef;\n multipleEl === null || multipleEl === void 0 ? void 0 : multipleEl.blur();\n } else {\n const {\n value: singleEl\n } = singleElRef;\n singleEl === null || singleEl === void 0 ? void 0 : singleEl.blur();\n }\n }\n function focus() {\n var _a, _b, _c;\n if (props.filterable) {\n patternInputFocusedRef.value = false;\n (_a = patternInputWrapperRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n } else if (props.multiple) {\n (_b = multipleElRef.value) === null || _b === void 0 ? void 0 : _b.focus();\n } else {\n (_c = singleElRef.value) === null || _c === void 0 ? void 0 : _c.focus();\n }\n }\n function focusInput() {\n const {\n value: patternInputEl\n } = patternInputRef;\n if (patternInputEl) {\n showInputTag();\n patternInputEl.focus();\n }\n }\n function blurInput() {\n const {\n value: patternInputEl\n } = patternInputRef;\n if (patternInputEl) {\n patternInputEl.blur();\n }\n }\n function updateCounter(count) {\n const {\n value\n } = counterRef;\n if (value) {\n value.setTextContent(`+${count}`);\n }\n }\n function getCounter() {\n const {\n value\n } = counterWrapperRef;\n return value;\n }\n function getTail() {\n return patternInputRef.value;\n }\n let enterTimerId = null;\n function clearEnterTimer() {\n if (enterTimerId !== null) window.clearTimeout(enterTimerId);\n }\n function handleMouseEnterCounter() {\n if (props.active) return;\n clearEnterTimer();\n enterTimerId = window.setTimeout(() => {\n if (selectedRef.value) {\n showTagsPopoverRef.value = true;\n }\n }, 100);\n }\n function handleMouseLeaveCounter() {\n clearEnterTimer();\n }\n function onPopoverUpdateShow(show) {\n if (!show) {\n clearEnterTimer();\n showTagsPopoverRef.value = false;\n }\n }\n watch(selectedRef, value => {\n if (!value) {\n showTagsPopoverRef.value = false;\n }\n });\n onMounted(() => {\n watchEffect(() => {\n const patternInputWrapperEl = patternInputWrapperRef.value;\n if (!patternInputWrapperEl) return;\n if (props.disabled) {\n patternInputWrapperEl.removeAttribute('tabindex');\n } else {\n patternInputWrapperEl.tabIndex = patternInputFocusedRef.value ? -1 : 0;\n }\n });\n });\n useOnResize(selfRef, props.onResize);\n const {\n inlineThemeDisabled\n } = props;\n const cssVarsRef = computed(() => {\n const {\n size\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n borderRadius,\n color,\n placeholderColor,\n textColor,\n paddingSingle,\n paddingMultiple,\n caretColor,\n colorDisabled,\n textColorDisabled,\n placeholderColorDisabled,\n colorActive,\n boxShadowFocus,\n boxShadowActive,\n boxShadowHover,\n border,\n borderFocus,\n borderHover,\n borderActive,\n arrowColor,\n arrowColorDisabled,\n loadingColor,\n // form warning\n colorActiveWarning,\n boxShadowFocusWarning,\n boxShadowActiveWarning,\n boxShadowHoverWarning,\n borderWarning,\n borderFocusWarning,\n borderHoverWarning,\n borderActiveWarning,\n // form error\n colorActiveError,\n boxShadowFocusError,\n boxShadowActiveError,\n boxShadowHoverError,\n borderError,\n borderFocusError,\n borderHoverError,\n borderActiveError,\n // clear\n clearColor,\n clearColorHover,\n clearColorPressed,\n clearSize,\n // arrow\n arrowSize,\n [createKey('height', size)]: height,\n [createKey('fontSize', size)]: fontSize\n }\n } = themeRef.value;\n const paddingSingleDiscrete = getPadding(paddingSingle);\n const paddingMultipleDiscrete = getPadding(paddingMultiple);\n return {\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border': border,\n '--n-border-active': borderActive,\n '--n-border-focus': borderFocus,\n '--n-border-hover': borderHover,\n '--n-border-radius': borderRadius,\n '--n-box-shadow-active': boxShadowActive,\n '--n-box-shadow-focus': boxShadowFocus,\n '--n-box-shadow-hover': boxShadowHover,\n '--n-caret-color': caretColor,\n '--n-color': color,\n '--n-color-active': colorActive,\n '--n-color-disabled': colorDisabled,\n '--n-font-size': fontSize,\n '--n-height': height,\n '--n-padding-single-top': paddingSingleDiscrete.top,\n '--n-padding-multiple-top': paddingMultipleDiscrete.top,\n '--n-padding-single-right': paddingSingleDiscrete.right,\n '--n-padding-multiple-right': paddingMultipleDiscrete.right,\n '--n-padding-single-left': paddingSingleDiscrete.left,\n '--n-padding-multiple-left': paddingMultipleDiscrete.left,\n '--n-padding-single-bottom': paddingSingleDiscrete.bottom,\n '--n-padding-multiple-bottom': paddingMultipleDiscrete.bottom,\n '--n-placeholder-color': placeholderColor,\n '--n-placeholder-color-disabled': placeholderColorDisabled,\n '--n-text-color': textColor,\n '--n-text-color-disabled': textColorDisabled,\n '--n-arrow-color': arrowColor,\n '--n-arrow-color-disabled': arrowColorDisabled,\n '--n-loading-color': loadingColor,\n // form warning\n '--n-color-active-warning': colorActiveWarning,\n '--n-box-shadow-focus-warning': boxShadowFocusWarning,\n '--n-box-shadow-active-warning': boxShadowActiveWarning,\n '--n-box-shadow-hover-warning': boxShadowHoverWarning,\n '--n-border-warning': borderWarning,\n '--n-border-focus-warning': borderFocusWarning,\n '--n-border-hover-warning': borderHoverWarning,\n '--n-border-active-warning': borderActiveWarning,\n // form error\n '--n-color-active-error': colorActiveError,\n '--n-box-shadow-focus-error': boxShadowFocusError,\n '--n-box-shadow-active-error': boxShadowActiveError,\n '--n-box-shadow-hover-error': boxShadowHoverError,\n '--n-border-error': borderError,\n '--n-border-focus-error': borderFocusError,\n '--n-border-hover-error': borderHoverError,\n '--n-border-active-error': borderActiveError,\n // clear\n '--n-clear-size': clearSize,\n '--n-clear-color': clearColor,\n '--n-clear-color-hover': clearColorHover,\n '--n-clear-color-pressed': clearColorPressed,\n // arrow-size\n '--n-arrow-size': arrowSize\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('internal-selection', computed(() => {\n return props.size[0];\n }), cssVarsRef, props) : undefined;\n return {\n mergedTheme: themeRef,\n mergedClearable: mergedClearableRef,\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\n patternInputFocused: patternInputFocusedRef,\n filterablePlaceholder: filterablePlaceholderRef,\n label: labelRef,\n selected: selectedRef,\n showTagsPanel: showTagsPopoverRef,\n isComposing: isComposingRef,\n // dom ref\n counterRef,\n counterWrapperRef,\n patternInputMirrorRef,\n patternInputRef,\n selfRef,\n multipleElRef,\n singleElRef,\n patternInputWrapperRef,\n overflowRef,\n inputTagElRef,\n handleMouseDown,\n handleFocusin,\n handleClear,\n handleMouseEnter,\n handleMouseLeave,\n handleDeleteOption,\n handlePatternKeyDown,\n handlePatternInputInput,\n handlePatternInputBlur,\n handlePatternInputFocus,\n handleMouseEnterCounter,\n handleMouseLeaveCounter,\n handleFocusout,\n handleCompositionEnd,\n handleCompositionStart,\n onPopoverUpdateShow,\n focus,\n focusInput,\n blur,\n blurInput,\n updateCounter,\n getCounter,\n getTail,\n renderLabel: props.renderLabel,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n const {\n status,\n multiple,\n size,\n disabled,\n filterable,\n maxTagCount,\n bordered,\n clsPrefix,\n ellipsisTagPopoverProps,\n onRender,\n renderTag,\n renderLabel\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const maxTagCountResponsive = maxTagCount === 'responsive';\n const maxTagCountNumeric = typeof maxTagCount === 'number';\n const useMaxTagCount = maxTagCountResponsive || maxTagCountNumeric;\n const suffix = h(Wrapper, null, {\n default: () => h(Suffix, {\n clsPrefix: clsPrefix,\n loading: this.loading,\n showArrow: this.showArrow,\n showClear: this.mergedClearable && this.selected,\n onClear: this.handleClear\n }, {\n default: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n })\n });\n let body;\n if (multiple) {\n const {\n labelField\n } = this;\n const createTag = option => h(\"div\", {\n class: `${clsPrefix}-base-selection-tag-wrapper`,\n key: option.value\n }, renderTag ? renderTag({\n option,\n handleClose: () => {\n this.handleDeleteOption(option);\n }\n }) : h(NTag, {\n size: size,\n closable: !option.disabled,\n disabled: disabled,\n onClose: () => {\n this.handleDeleteOption(option);\n },\n internalCloseIsButtonTag: false,\n internalCloseFocusable: false\n }, {\n default: () => renderLabel ? renderLabel(option, true) : render(option[labelField], option, true)\n }));\n const createOriginalTagNodes = () => (maxTagCountNumeric ? this.selectedOptions.slice(0, maxTagCount) : this.selectedOptions).map(createTag);\n const input = filterable ? h(\"div\", {\n class: `${clsPrefix}-base-selection-input-tag`,\n ref: \"inputTagElRef\",\n key: \"__input-tag__\"\n }, h(\"input\", Object.assign({}, this.inputProps, {\n ref: \"patternInputRef\",\n tabindex: -1,\n disabled: disabled,\n value: this.pattern,\n autofocus: this.autofocus,\n class: `${clsPrefix}-base-selection-input-tag__input`,\n onBlur: this.handlePatternInputBlur,\n onFocus: this.handlePatternInputFocus,\n onKeydown: this.handlePatternKeyDown,\n onInput: this.handlePatternInputInput,\n onCompositionstart: this.handleCompositionStart,\n onCompositionend: this.handleCompositionEnd\n })), h(\"span\", {\n ref: \"patternInputMirrorRef\",\n class: `${clsPrefix}-base-selection-input-tag__mirror`\n }, this.pattern)) : null;\n // May Overflow\n const renderCounter = maxTagCountResponsive ? () => h(\"div\", {\n class: `${clsPrefix}-base-selection-tag-wrapper`,\n ref: \"counterWrapperRef\"\n }, h(NTag, {\n size: size,\n ref: \"counterRef\",\n onMouseenter: this.handleMouseEnterCounter,\n onMouseleave: this.handleMouseLeaveCounter,\n disabled: disabled\n })) : undefined;\n let counter;\n if (maxTagCountNumeric) {\n const rest = this.selectedOptions.length - maxTagCount;\n if (rest > 0) {\n counter = h(\"div\", {\n class: `${clsPrefix}-base-selection-tag-wrapper`,\n key: \"__counter__\"\n }, h(NTag, {\n size: size,\n ref: \"counterRef\",\n onMouseenter: this.handleMouseEnterCounter,\n disabled: disabled\n }, {\n default: () => `+${rest}`\n }));\n }\n }\n const tags = maxTagCountResponsive ? filterable ? h(VOverflow, {\n ref: \"overflowRef\",\n updateCounter: this.updateCounter,\n getCounter: this.getCounter,\n getTail: this.getTail,\n style: {\n width: '100%',\n display: 'flex',\n overflow: 'hidden'\n }\n }, {\n default: createOriginalTagNodes,\n counter: renderCounter,\n tail: () => input\n }) : h(VOverflow, {\n ref: \"overflowRef\",\n updateCounter: this.updateCounter,\n getCounter: this.getCounter,\n style: {\n width: '100%',\n display: 'flex',\n overflow: 'hidden'\n }\n }, {\n default: createOriginalTagNodes,\n counter: renderCounter\n }) : maxTagCountNumeric && counter ? createOriginalTagNodes().concat(counter) : createOriginalTagNodes();\n const renderPopover = useMaxTagCount ? () => h(\"div\", {\n class: `${clsPrefix}-base-selection-popover`\n }, maxTagCountResponsive ? createOriginalTagNodes() : this.selectedOptions.map(createTag)) : undefined;\n const popoverProps = useMaxTagCount ? Object.assign({\n show: this.showTagsPanel,\n trigger: 'hover',\n overlap: true,\n placement: 'top',\n width: 'trigger',\n onUpdateShow: this.onPopoverUpdateShow,\n theme: this.mergedTheme.peers.Popover,\n themeOverrides: this.mergedTheme.peerOverrides.Popover\n }, ellipsisTagPopoverProps) : null;\n const showPlaceholder = this.selected ? false : this.active ? !this.pattern && !this.isComposing : true;\n const placeholder = showPlaceholder ? h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder__inner`\n }, this.placeholder)) : null;\n const popoverTrigger = filterable ? h(\"div\", {\n ref: \"patternInputWrapperRef\",\n class: `${clsPrefix}-base-selection-tags`\n }, tags, maxTagCountResponsive ? null : input, suffix) : h(\"div\", {\n ref: \"multipleElRef\",\n class: `${clsPrefix}-base-selection-tags`,\n tabindex: disabled ? undefined : 0\n }, tags, suffix);\n body = h(Fragment, null, useMaxTagCount ? h(NPopover, Object.assign({}, popoverProps, {\n scrollable: true,\n style: \"max-height: calc(var(--v-target-height) * 6.6);\"\n }), {\n trigger: () => popoverTrigger,\n default: renderPopover\n }) : popoverTrigger, placeholder);\n } else {\n if (filterable) {\n const hasInput = this.pattern || this.isComposing;\n const showPlaceholder = this.active ? !hasInput : !this.selected;\n const showSelectedLabel = this.active ? false : this.selected;\n body = h(\"div\", {\n ref: \"patternInputWrapperRef\",\n class: `${clsPrefix}-base-selection-label`,\n title: this.patternInputFocused ? undefined : getTitleAttribute(this.label)\n }, h(\"input\", Object.assign({}, this.inputProps, {\n ref: \"patternInputRef\",\n class: `${clsPrefix}-base-selection-input`,\n value: this.active ? this.pattern : '',\n placeholder: \"\",\n readonly: disabled,\n disabled: disabled,\n tabindex: -1,\n autofocus: this.autofocus,\n onFocus: this.handlePatternInputFocus,\n onBlur: this.handlePatternInputBlur,\n onInput: this.handlePatternInputInput,\n onCompositionstart: this.handleCompositionStart,\n onCompositionend: this.handleCompositionEnd\n })), showSelectedLabel ? h(\"div\", {\n class: `${clsPrefix}-base-selection-label__render-label ${clsPrefix}-base-selection-overlay`,\n key: \"input\"\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-overlay__wrapper`\n }, renderTag ? renderTag({\n option: this.selectedOption,\n handleClose: () => {}\n }) : renderLabel ? renderLabel(this.selectedOption, true) : render(this.label, this.selectedOption, true))) : null, showPlaceholder ? h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`,\n key: \"placeholder\"\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-overlay__wrapper`\n }, this.filterablePlaceholder)) : null, suffix);\n } else {\n body = h(\"div\", {\n ref: \"singleElRef\",\n class: `${clsPrefix}-base-selection-label`,\n tabindex: this.disabled ? undefined : 0\n }, this.label !== undefined ? h(\"div\", {\n class: `${clsPrefix}-base-selection-input`,\n title: getTitleAttribute(this.label),\n key: \"input\"\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-input__content`\n }, renderTag ? renderTag({\n option: this.selectedOption,\n handleClose: () => {}\n }) : renderLabel ? renderLabel(this.selectedOption, true) : render(this.label, this.selectedOption, true))) : h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder ${clsPrefix}-base-selection-overlay`,\n key: \"placeholder\"\n }, h(\"div\", {\n class: `${clsPrefix}-base-selection-placeholder__inner`\n }, this.placeholder)), suffix);\n }\n }\n return h(\"div\", {\n ref: \"selfRef\",\n class: [`${clsPrefix}-base-selection`, this.rtlEnabled && `${clsPrefix}-base-selection--rtl`, this.themeClass, status && `${clsPrefix}-base-selection--${status}-status`, {\n [`${clsPrefix}-base-selection--active`]: this.active,\n [`${clsPrefix}-base-selection--selected`]: this.selected || this.active && this.pattern,\n [`${clsPrefix}-base-selection--disabled`]: this.disabled,\n [`${clsPrefix}-base-selection--multiple`]: this.multiple,\n // focus is not controlled by selection itself since it always need\n // to be managed together with menu. provide :focus style will cause\n // many redundant codes.\n [`${clsPrefix}-base-selection--focus`]: this.focused\n }],\n style: this.cssVars,\n onClick: this.onClick,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n onKeydown: this.onKeydown,\n onFocusin: this.handleFocusin,\n onFocusout: this.handleFocusout,\n onMousedown: this.handleMouseDown\n }, body, bordered ? h(\"div\", {\n class: `${clsPrefix}-base-selection__border`\n }) : null, bordered ? h(\"div\", {\n class: `${clsPrefix}-base-selection__state-border`\n }) : null);\n }\n});","export function getIsGroup(option) {\n return option.type === 'group';\n}\nexport function getIgnored(option) {\n return option.type === 'ignored';\n}\nexport function patternMatched(pattern, value) {\n try {\n return !!(1 + value.toString().toLowerCase().indexOf(pattern.trim().toLowerCase()));\n } catch (err) {\n return false;\n }\n}\nexport function createTmOptions(valueField, childrenField) {\n const options = {\n getIsGroup,\n getIgnored,\n getKey(option) {\n if (getIsGroup(option)) {\n return option.name || option.key || 'key-required';\n }\n // Required for non-custom label & value field\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n return option[valueField];\n },\n getChildren(option) {\n return option[childrenField];\n }\n };\n return options;\n}\nexport function filterOptions(originalOpts, filter, pattern, childrenField) {\n if (!filter) return originalOpts;\n function traverse(options) {\n if (!Array.isArray(options)) return [];\n const filteredOptions = [];\n for (const option of options) {\n if (getIsGroup(option)) {\n const children = traverse(option[childrenField]);\n if (children.length) {\n filteredOptions.push(Object.assign({}, option, {\n [childrenField]: children\n }));\n }\n } else if (getIgnored(option)) {\n continue;\n } else if (filter(pattern, option)) {\n filteredOptions.push(option);\n }\n }\n return filteredOptions;\n }\n return traverse(originalOpts);\n}\nexport function createValOptMap(options, valueField, childrenField) {\n const valOptMap = new Map();\n options.forEach(option => {\n if (getIsGroup(option)) {\n ;\n option[childrenField].forEach(selectGroupOption => {\n valOptMap.set(selectGroupOption[valueField], selectGroupOption);\n });\n } else {\n valOptMap.set(option[valueField], option);\n }\n });\n return valOptMap;\n}","import { internalSelectMenuLight } from \"../../_internal/select-menu/styles/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { popoverLight } from \"../../popover/styles/index.mjs\";\nimport { createTheme } from \"../../_mixins/index.mjs\";\nexport function self(vars) {\n const {\n boxShadow2\n } = vars;\n return {\n menuBoxShadow: boxShadow2\n };\n}\nconst popselectLight = createTheme({\n name: 'Popselect',\n common: commonLight,\n peers: {\n Popover: popoverLight,\n InternalSelectMenu: internalSelectMenuLight\n },\n self\n});\nexport default popselectLight;","import { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const popselectInjectionKey = createInjectionKey('n-popselect');","import { cB } from \"../../../_utils/cssr/index.mjs\";\n// --n-menu-box-shadow\nexport default cB('popselect-menu', `\n box-shadow: var(--n-menu-box-shadow);\n`);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, computed, defineComponent, inject, toRef, watch, nextTick, watchEffect } from 'vue';\nimport { createTreeMate } from 'treemate';\nimport { happensIn } from 'seemly';\nimport { createTmOptions } from \"../../select/src/utils.mjs\";\nimport { useConfig, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { NInternalSelectMenu } from \"../../_internal/index.mjs\";\nimport { call, keysOf, warn } from \"../../_utils/index.mjs\";\nimport { popselectLight } from \"../styles/index.mjs\";\nimport { popselectInjectionKey } from \"./interface.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport const panelProps = {\n multiple: Boolean,\n value: {\n type: [String, Number, Array],\n default: null\n },\n cancelable: Boolean,\n options: {\n type: Array,\n default: () => []\n },\n size: {\n type: String,\n default: 'medium'\n },\n scrollable: Boolean,\n 'onUpdate:value': [Function, Array],\n onUpdateValue: [Function, Array],\n onMouseenter: Function,\n onMouseleave: Function,\n renderLabel: Function,\n showCheckmark: {\n type: Boolean,\n default: undefined\n },\n nodeProps: Function,\n virtualScroll: Boolean,\n // deprecated\n onChange: [Function, Array]\n};\nexport const panelPropKeys = keysOf(panelProps);\nexport default defineComponent({\n name: 'PopselectPanel',\n props: panelProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onChange !== undefined) {\n warn('popselect', '`on-change` is deprecated, please use `on-update:value` instead.');\n }\n });\n }\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NPopselect = inject(popselectInjectionKey);\n const {\n mergedClsPrefixRef,\n inlineThemeDisabled\n } = useConfig(props);\n const themeRef = useTheme('Popselect', '-pop-select', style, popselectLight, NPopselect.props, mergedClsPrefixRef);\n const treeMateRef = computed(() => {\n return createTreeMate(props.options, createTmOptions('value', 'children'));\n });\n function doUpdateValue(value, option) {\n const {\n onUpdateValue,\n 'onUpdate:value': _onUpdateValue,\n onChange\n } = props;\n if (onUpdateValue) call(onUpdateValue, value, option);\n if (_onUpdateValue) {\n call(_onUpdateValue, value, option);\n }\n if (onChange) call(onChange, value, option);\n }\n function handleToggle(tmNode) {\n toggle(tmNode.key);\n }\n function handleMenuMousedown(e) {\n if (!happensIn(e, 'action') && !happensIn(e, 'empty') && !happensIn(e, 'header')) {\n e.preventDefault();\n }\n }\n function toggle(value) {\n const {\n value: {\n getNode\n }\n } = treeMateRef;\n if (props.multiple) {\n if (Array.isArray(props.value)) {\n const newValue = [];\n const newOptions = [];\n let shouldAddValue = true;\n props.value.forEach(v => {\n if (v === value) {\n shouldAddValue = false;\n return;\n }\n const tmNode = getNode(v);\n if (tmNode) {\n newValue.push(tmNode.key);\n newOptions.push(tmNode.rawNode);\n }\n });\n if (shouldAddValue) {\n newValue.push(value);\n newOptions.push(getNode(value).rawNode);\n }\n doUpdateValue(newValue, newOptions);\n } else {\n const tmNode = getNode(value);\n if (tmNode) {\n doUpdateValue([value], [tmNode.rawNode]);\n }\n }\n } else {\n if (props.value === value && props.cancelable) {\n doUpdateValue(null, null);\n } else {\n const tmNode = getNode(value);\n if (tmNode) {\n doUpdateValue(value, tmNode.rawNode);\n }\n const {\n 'onUpdate:show': _onUpdateShow,\n onUpdateShow\n } = NPopselect.props;\n if (_onUpdateShow) call(_onUpdateShow, false);\n if (onUpdateShow) call(onUpdateShow, false);\n NPopselect.setShow(false);\n }\n }\n void nextTick(() => {\n NPopselect.syncPosition();\n });\n }\n watch(toRef(props, 'options'), () => {\n void nextTick(() => {\n NPopselect.syncPosition();\n });\n });\n const cssVarsRef = computed(() => {\n const {\n self: {\n menuBoxShadow\n }\n } = themeRef.value;\n return {\n '--n-menu-box-shadow': menuBoxShadow\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('select', undefined, cssVarsRef, NPopselect.props) : undefined;\n return {\n mergedTheme: NPopselect.mergedThemeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n treeMate: treeMateRef,\n handleToggle,\n handleMenuMousedown,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n var _a;\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n return h(NInternalSelectMenu, {\n clsPrefix: this.mergedClsPrefix,\n focusable: true,\n nodeProps: this.nodeProps,\n class: [`${this.mergedClsPrefix}-popselect-menu`, this.themeClass],\n style: this.cssVars,\n theme: this.mergedTheme.peers.InternalSelectMenu,\n themeOverrides: this.mergedTheme.peerOverrides.InternalSelectMenu,\n multiple: this.multiple,\n treeMate: this.treeMate,\n size: this.size,\n value: this.value,\n virtualScroll: this.virtualScroll,\n scrollable: this.scrollable,\n renderLabel: this.renderLabel,\n onToggle: this.handleToggle,\n onMouseenter: this.onMouseenter,\n onMouseleave: this.onMouseenter,\n onMousedown: this.handleMenuMousedown,\n showCheckmark: this.showCheckmark\n }, {\n header: () => {\n var _a, _b;\n return ((_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];\n },\n action: () => {\n var _a, _b;\n return ((_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];\n },\n empty: () => {\n var _a, _b;\n return ((_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];\n }\n });\n }\n});","import { h, ref, provide, defineComponent } from 'vue';\nimport { popoverBaseProps } from \"../../popover/src/Popover.mjs\";\nimport { NPopover } from \"../../popover/index.mjs\";\nimport NPopselectPanel, { panelPropKeys, panelProps } from \"./PopselectPanel.mjs\";\nimport { omit, keep, createRefSetter, mergeEventHandlers } from \"../../_utils/index.mjs\";\nimport { useConfig, useTheme } from \"../../_mixins/index.mjs\";\nimport { popselectLight } from \"../styles/index.mjs\";\nimport { popselectInjectionKey } from \"./interface.mjs\";\nexport const popselectProps = Object.assign(Object.assign(Object.assign(Object.assign({}, useTheme.props), omit(popoverBaseProps, ['showArrow', 'arrow'])), {\n placement: Object.assign(Object.assign({}, popoverBaseProps.placement), {\n default: 'bottom'\n }),\n trigger: {\n type: String,\n default: 'hover'\n }\n}), panelProps);\nexport default defineComponent({\n name: 'Popselect',\n props: popselectProps,\n inheritAttrs: false,\n __popover__: true,\n setup(props) {\n const {\n mergedClsPrefixRef\n } = useConfig(props);\n const themeRef = useTheme('Popselect', '-popselect', undefined, popselectLight, props, mergedClsPrefixRef);\n const popoverInstRef = ref(null);\n function syncPosition() {\n var _a;\n (_a = popoverInstRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();\n }\n function setShow(value) {\n var _a;\n (_a = popoverInstRef.value) === null || _a === void 0 ? void 0 : _a.setShow(value);\n }\n provide(popselectInjectionKey, {\n props,\n mergedThemeRef: themeRef,\n syncPosition,\n setShow\n });\n const exposedMethods = {\n syncPosition,\n setShow\n };\n return Object.assign(Object.assign({}, exposedMethods), {\n popoverInstRef,\n mergedTheme: themeRef\n });\n },\n render() {\n const {\n mergedTheme\n } = this;\n const popoverProps = {\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n builtinThemeOverrides: {\n padding: '0'\n },\n ref: 'popoverInstRef',\n internalRenderBody: (className, ref, style, onMouseenter, onMouseleave) => {\n const {\n $attrs\n } = this;\n return h(NPopselectPanel, Object.assign({}, $attrs, {\n class: [$attrs.class, className],\n style: [$attrs.style, ...style]\n }, keep(this.$props, panelPropKeys), {\n ref: createRefSetter(ref),\n onMouseenter: mergeEventHandlers([onMouseenter, $attrs.onMouseenter]),\n onMouseleave: mergeEventHandlers([onMouseleave, $attrs.onMouseleave])\n }), {\n header: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a);\n },\n action: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a);\n },\n empty: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n });\n }\n };\n return h(NPopover, Object.assign({}, omit(this.$props, panelPropKeys), popoverProps, {\n internalDeactivateImmediately: true\n }), {\n trigger: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n });\n }\n});","import { internalSelectionLight } from \"../../_internal/selection/styles/index.mjs\";\nimport { internalSelectMenuLight } from \"../../_internal/select-menu/styles/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { createTheme } from \"../../_mixins/index.mjs\";\nexport function self(vars) {\n const {\n boxShadow2\n } = vars;\n return {\n menuBoxShadow: boxShadow2\n };\n}\nconst selectLight = createTheme({\n name: 'Select',\n common: commonLight,\n peers: {\n InternalSelection: internalSelectionLight,\n InternalSelectMenu: internalSelectMenuLight\n },\n self\n});\nexport default selectLight;","import { cB, c } from \"../../../_utils/cssr/index.mjs\";\nimport { fadeInScaleUpTransition } from \"../../../_styles/transitions/fade-in-scale-up.cssr.mjs\";\n// --n-menu-box-shadow\nexport default c([cB('select', `\n z-index: auto;\n outline: none;\n width: 100%;\n position: relative;\n `), cB('select-menu', `\n margin: 4px 0;\n box-shadow: var(--n-menu-box-shadow);\n `, [fadeInScaleUpTransition({\n originalTransition: 'background-color .3s var(--n-bezier), box-shadow .3s var(--n-bezier)'\n})])]);","import { h, ref, computed, toRef, defineComponent, watch, Transition, withDirectives, vShow, watchEffect } from 'vue';\nimport { getPreciseEventTarget, happensIn } from 'seemly';\nimport { createTreeMate } from 'treemate';\nimport { VBinder, VFollower, VTarget } from 'vueuc';\nimport { useIsMounted, useMergedState, useCompitable } from 'vooks';\nimport { clickoutside } from 'vdirs';\nimport { useTheme, useConfig, useLocale, useFormItem, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { call, markEventEffectPerformed, useAdjustedTo, warnOnce } from \"../../_utils/index.mjs\";\nimport { NInternalSelectMenu, NInternalSelection } from \"../../_internal/index.mjs\";\nimport { selectLight } from \"../styles/index.mjs\";\nimport { createValOptMap, filterOptions, createTmOptions, patternMatched } from \"./utils.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport const selectProps = Object.assign(Object.assign({}, useTheme.props), {\n to: useAdjustedTo.propTo,\n bordered: {\n type: Boolean,\n default: undefined\n },\n clearable: Boolean,\n clearFilterAfterSelect: {\n type: Boolean,\n default: true\n },\n options: {\n type: Array,\n default: () => []\n },\n defaultValue: {\n type: [String, Number, Array],\n default: null\n },\n keyboard: {\n type: Boolean,\n default: true\n },\n value: [String, Number, Array],\n placeholder: String,\n menuProps: Object,\n multiple: Boolean,\n size: String,\n filterable: Boolean,\n disabled: {\n type: Boolean,\n default: undefined\n },\n remote: Boolean,\n loading: Boolean,\n filter: Function,\n placement: {\n type: String,\n default: 'bottom-start'\n },\n widthMode: {\n type: String,\n default: 'trigger'\n },\n tag: Boolean,\n onCreate: Function,\n fallbackOption: {\n type: [Function, Boolean],\n default: undefined\n },\n show: {\n type: Boolean,\n default: undefined\n },\n showArrow: {\n type: Boolean,\n default: true\n },\n maxTagCount: [Number, String],\n ellipsisTagPopoverProps: Object,\n consistentMenuWidth: {\n type: Boolean,\n default: true\n },\n virtualScroll: {\n type: Boolean,\n default: true\n },\n labelField: {\n type: String,\n default: 'label'\n },\n valueField: {\n type: String,\n default: 'value'\n },\n childrenField: {\n type: String,\n default: 'children'\n },\n renderLabel: Function,\n renderOption: Function,\n renderTag: Function,\n 'onUpdate:value': [Function, Array],\n inputProps: Object,\n nodeProps: Function,\n ignoreComposition: {\n type: Boolean,\n default: true\n },\n showOnFocus: Boolean,\n // for jsx\n onUpdateValue: [Function, Array],\n onBlur: [Function, Array],\n onClear: [Function, Array],\n onFocus: [Function, Array],\n onScroll: [Function, Array],\n onSearch: [Function, Array],\n onUpdateShow: [Function, Array],\n 'onUpdate:show': [Function, Array],\n displayDirective: {\n type: String,\n default: 'show'\n },\n resetMenuOnOptionsChange: {\n type: Boolean,\n default: true\n },\n status: String,\n showCheckmark: {\n type: Boolean,\n default: true\n },\n /** deprecated */\n onChange: [Function, Array],\n items: Array\n});\nexport default defineComponent({\n name: 'Select',\n props: selectProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.items !== undefined) {\n warnOnce('select', '`items` is deprecated, please use `options` instead.');\n }\n if (props.onChange !== undefined) {\n warnOnce('select', '`on-change` is deprecated, please use `on-update:value` instead.');\n }\n });\n }\n const {\n mergedClsPrefixRef,\n mergedBorderedRef,\n namespaceRef,\n inlineThemeDisabled\n } = useConfig(props);\n const themeRef = useTheme('Select', '-select', style, selectLight, props, mergedClsPrefixRef);\n const uncontrolledValueRef = ref(props.defaultValue);\n const controlledValueRef = toRef(props, 'value');\n const mergedValueRef = useMergedState(controlledValueRef, uncontrolledValueRef);\n const focusedRef = ref(false);\n const patternRef = ref('');\n const treeMateRef = computed(() => {\n const {\n valueField,\n childrenField\n } = props;\n const options = createTmOptions(valueField, childrenField);\n return createTreeMate(filteredOptionsRef.value, options);\n });\n const valOptMapRef = computed(() => createValOptMap(localOptionsRef.value, props.valueField, props.childrenField));\n const uncontrolledShowRef = ref(false);\n const mergedShowRef = useMergedState(toRef(props, 'show'), uncontrolledShowRef);\n const triggerRef = ref(null);\n const followerRef = ref(null);\n const menuRef = ref(null);\n const {\n localeRef\n } = useLocale('Select');\n const localizedPlaceholderRef = computed(() => {\n var _a;\n return (_a = props.placeholder) !== null && _a !== void 0 ? _a : localeRef.value.placeholder;\n });\n const compitableOptionsRef = useCompitable(props, ['items', 'options']);\n const emptyArray = [];\n const createdOptionsRef = ref([]);\n const beingCreatedOptionsRef = ref([]);\n const memoValOptMapRef = ref(new Map());\n const wrappedFallbackOptionRef = computed(() => {\n const {\n fallbackOption\n } = props;\n if (fallbackOption === undefined) {\n const {\n labelField,\n valueField\n } = props;\n return value => ({\n [labelField]: String(value),\n [valueField]: value\n });\n }\n if (fallbackOption === false) return false;\n return value => {\n return Object.assign(fallbackOption(value), {\n value\n });\n };\n });\n const localOptionsRef = computed(() => {\n return beingCreatedOptionsRef.value.concat(createdOptionsRef.value).concat(compitableOptionsRef.value);\n });\n const resolvedFilterRef = computed(() => {\n const {\n filter\n } = props;\n if (filter) return filter;\n const {\n labelField,\n valueField\n } = props;\n return (pattern, option) => {\n if (!option) return false;\n const label = option[labelField];\n if (typeof label === 'string') {\n return patternMatched(pattern, label);\n }\n const value = option[valueField];\n if (typeof value === 'string') {\n return patternMatched(pattern, value);\n }\n if (typeof value === 'number') {\n return patternMatched(pattern, String(value));\n }\n return false;\n };\n });\n const filteredOptionsRef = computed(() => {\n if (props.remote) {\n return compitableOptionsRef.value;\n } else {\n const {\n value: localOptions\n } = localOptionsRef;\n const {\n value: pattern\n } = patternRef;\n if (!pattern.length || !props.filterable) {\n return localOptions;\n } else {\n return filterOptions(localOptions, resolvedFilterRef.value, pattern, props.childrenField);\n }\n }\n });\n function getMergedOptions(values) {\n const remote = props.remote;\n const {\n value: memoValOptMap\n } = memoValOptMapRef;\n const {\n value: valOptMap\n } = valOptMapRef;\n const {\n value: wrappedFallbackOption\n } = wrappedFallbackOptionRef;\n const options = [];\n values.forEach(value => {\n if (valOptMap.has(value)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.push(valOptMap.get(value));\n } else if (remote && memoValOptMap.has(value)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n options.push(memoValOptMap.get(value));\n } else if (wrappedFallbackOption) {\n const option = wrappedFallbackOption(value);\n if (option) {\n options.push(option);\n }\n }\n });\n return options;\n }\n const selectedOptionsRef = computed(() => {\n if (props.multiple) {\n const {\n value: values\n } = mergedValueRef;\n if (!Array.isArray(values)) return [];\n return getMergedOptions(values);\n }\n return null;\n });\n const selectedOptionRef = computed(() => {\n const {\n value: mergedValue\n } = mergedValueRef;\n if (!props.multiple && !Array.isArray(mergedValue)) {\n if (mergedValue === null) return null;\n return getMergedOptions([mergedValue])[0] || null;\n }\n return null;\n });\n const formItem = useFormItem(props);\n const {\n mergedSizeRef,\n mergedDisabledRef,\n mergedStatusRef\n } = formItem;\n function doUpdateValue(value, option) {\n const {\n onChange,\n 'onUpdate:value': _onUpdateValue,\n onUpdateValue\n } = props;\n const {\n nTriggerFormChange,\n nTriggerFormInput\n } = formItem;\n if (onChange) call(onChange, value, option);\n if (onUpdateValue) call(onUpdateValue, value, option);\n if (_onUpdateValue) {\n call(_onUpdateValue, value, option);\n }\n uncontrolledValueRef.value = value;\n nTriggerFormChange();\n nTriggerFormInput();\n }\n function doBlur(e) {\n const {\n onBlur\n } = props;\n const {\n nTriggerFormBlur\n } = formItem;\n if (onBlur) call(onBlur, e);\n nTriggerFormBlur();\n }\n function doClear() {\n const {\n onClear\n } = props;\n if (onClear) call(onClear);\n }\n function doFocus(e) {\n const {\n onFocus,\n showOnFocus\n } = props;\n const {\n nTriggerFormFocus\n } = formItem;\n if (onFocus) call(onFocus, e);\n nTriggerFormFocus();\n if (showOnFocus) {\n openMenu();\n }\n }\n function doSearch(value) {\n const {\n onSearch\n } = props;\n if (onSearch) call(onSearch, value);\n }\n function doScroll(e) {\n const {\n onScroll\n } = props;\n if (onScroll) call(onScroll, e);\n }\n // remote related methods\n function updateMemorizedOptions() {\n var _a;\n const {\n remote,\n multiple\n } = props;\n if (remote) {\n const {\n value: memoValOptMap\n } = memoValOptMapRef;\n if (multiple) {\n const {\n valueField\n } = props;\n (_a = selectedOptionsRef.value) === null || _a === void 0 ? void 0 : _a.forEach(option => {\n memoValOptMap.set(option[valueField], option);\n });\n } else {\n const option = selectedOptionRef.value;\n if (option) {\n memoValOptMap.set(option[props.valueField], option);\n }\n }\n }\n }\n // menu related methods\n function doUpdateShow(value) {\n const {\n onUpdateShow,\n 'onUpdate:show': _onUpdateShow\n } = props;\n if (onUpdateShow) call(onUpdateShow, value);\n if (_onUpdateShow) call(_onUpdateShow, value);\n uncontrolledShowRef.value = value;\n }\n function openMenu() {\n if (!mergedDisabledRef.value) {\n doUpdateShow(true);\n uncontrolledShowRef.value = true;\n if (props.filterable) {\n focusSelectionInput();\n }\n }\n }\n function closeMenu() {\n doUpdateShow(false);\n }\n function handleMenuAfterLeave() {\n patternRef.value = '';\n beingCreatedOptionsRef.value = emptyArray;\n }\n const activeWithoutMenuOpenRef = ref(false);\n function onTriggerInputFocus() {\n if (props.filterable) {\n activeWithoutMenuOpenRef.value = true;\n }\n }\n function onTriggerInputBlur() {\n if (props.filterable) {\n activeWithoutMenuOpenRef.value = false;\n if (!mergedShowRef.value) {\n handleMenuAfterLeave();\n }\n }\n }\n function handleTriggerClick() {\n if (mergedDisabledRef.value) return;\n if (!mergedShowRef.value) {\n openMenu();\n } else {\n if (!props.filterable) {\n // already focused, don't need to return focus\n closeMenu();\n } else {\n focusSelectionInput();\n }\n }\n }\n function handleTriggerBlur(e) {\n var _a, _b;\n if ((_b = (_a = menuRef.value) === null || _a === void 0 ? void 0 : _a.selfRef) === null || _b === void 0 ? void 0 : _b.contains(e.relatedTarget)) {\n return;\n }\n focusedRef.value = false;\n doBlur(e);\n // outside select, don't need to return focus\n closeMenu();\n }\n function handleTriggerFocus(e) {\n doFocus(e);\n focusedRef.value = true;\n }\n function handleMenuFocus(e) {\n focusedRef.value = true;\n }\n function handleMenuBlur(e) {\n var _a;\n if ((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.$el.contains(e.relatedTarget)) return;\n focusedRef.value = false;\n doBlur(e);\n // outside select, don't need to return focus\n closeMenu();\n }\n function handleMenuTabOut() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n closeMenu();\n }\n function handleMenuClickOutside(e) {\n var _a;\n if (mergedShowRef.value) {\n if (!((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.$el.contains(getPreciseEventTarget(e)))) {\n // outside select, don't need to return focus\n closeMenu();\n }\n }\n }\n function createClearedMultipleSelectValue(value) {\n if (!Array.isArray(value)) return [];\n if (wrappedFallbackOptionRef.value) {\n // if option has a fallback, I can't help user to clear some unknown value\n return Array.from(value);\n } else {\n // if there's no option fallback, unappeared options are treated as invalid\n const {\n remote\n } = props;\n const {\n value: valOptMap\n } = valOptMapRef;\n if (remote) {\n const {\n value: memoValOptMap\n } = memoValOptMapRef;\n return value.filter(v => valOptMap.has(v) || memoValOptMap.has(v));\n } else {\n return value.filter(v => valOptMap.has(v));\n }\n }\n }\n function handleToggleByTmNode(tmNode) {\n handleToggleByOption(tmNode.rawNode);\n }\n function handleToggleByOption(option) {\n if (mergedDisabledRef.value) return;\n const {\n tag,\n remote,\n clearFilterAfterSelect,\n valueField\n } = props;\n if (tag && !remote) {\n const {\n value: beingCreatedOptions\n } = beingCreatedOptionsRef;\n const beingCreatedOption = beingCreatedOptions[0] || null;\n if (beingCreatedOption) {\n const createdOptions = createdOptionsRef.value;\n if (!createdOptions.length) {\n createdOptionsRef.value = [beingCreatedOption];\n } else {\n createdOptions.push(beingCreatedOption);\n }\n beingCreatedOptionsRef.value = emptyArray;\n }\n }\n if (remote) {\n memoValOptMapRef.value.set(option[valueField], option);\n }\n if (props.multiple) {\n const changedValue = createClearedMultipleSelectValue(mergedValueRef.value);\n const index = changedValue.findIndex(value => value === option[valueField]);\n if (~index) {\n changedValue.splice(index, 1);\n if (tag && !remote) {\n const createdOptionIndex = getCreatedOptionIndex(option[valueField]);\n if (~createdOptionIndex) {\n createdOptionsRef.value.splice(createdOptionIndex, 1);\n if (clearFilterAfterSelect) patternRef.value = '';\n }\n }\n } else {\n changedValue.push(option[valueField]);\n if (clearFilterAfterSelect) patternRef.value = '';\n }\n doUpdateValue(changedValue, getMergedOptions(changedValue));\n } else {\n if (tag && !remote) {\n const createdOptionIndex = getCreatedOptionIndex(option[valueField]);\n if (~createdOptionIndex) {\n createdOptionsRef.value = [createdOptionsRef.value[createdOptionIndex]];\n } else {\n createdOptionsRef.value = emptyArray;\n }\n }\n focusSelection();\n closeMenu();\n doUpdateValue(option[valueField], option);\n }\n }\n function getCreatedOptionIndex(optionValue) {\n const createdOptions = createdOptionsRef.value;\n return createdOptions.findIndex(createdOption => createdOption[props.valueField] === optionValue);\n }\n function handlePatternInput(e) {\n if (!mergedShowRef.value) {\n openMenu();\n }\n const {\n value\n } = e.target;\n patternRef.value = value;\n const {\n tag,\n remote\n } = props;\n doSearch(value);\n if (tag && !remote) {\n if (!value) {\n beingCreatedOptionsRef.value = emptyArray;\n return;\n }\n const {\n onCreate\n } = props;\n const optionBeingCreated = onCreate ? onCreate(value) : {\n [props.labelField]: value,\n [props.valueField]: value\n };\n const {\n valueField,\n labelField\n } = props;\n if (compitableOptionsRef.value.some(option => {\n return option[valueField] === optionBeingCreated[valueField] || option[labelField] === optionBeingCreated[labelField];\n }) || createdOptionsRef.value.some(option => {\n return option[valueField] === optionBeingCreated[valueField] || option[labelField] === optionBeingCreated[labelField];\n })) {\n beingCreatedOptionsRef.value = emptyArray;\n } else {\n beingCreatedOptionsRef.value = [optionBeingCreated];\n }\n }\n }\n function handleClear(e) {\n e.stopPropagation();\n const {\n multiple\n } = props;\n if (!multiple && props.filterable) {\n closeMenu();\n }\n doClear();\n if (multiple) {\n doUpdateValue([], []);\n } else {\n doUpdateValue(null, null);\n }\n }\n function handleMenuMousedown(e) {\n if (!happensIn(e, 'action') && !happensIn(e, 'empty')) e.preventDefault();\n }\n // scroll events on menu\n function handleMenuScroll(e) {\n doScroll(e);\n }\n // keyboard events\n // also for menu keydown\n function handleKeydown(e) {\n var _a, _b, _c, _d, _e;\n if (!props.keyboard) {\n e.preventDefault();\n return;\n }\n switch (e.key) {\n case ' ':\n if (props.filterable) break;else {\n e.preventDefault();\n }\n // eslint-disable-next-line no-fallthrough\n case 'Enter':\n if (!((_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.isComposing)) {\n if (mergedShowRef.value) {\n const pendingTmNode = (_b = menuRef.value) === null || _b === void 0 ? void 0 : _b.getPendingTmNode();\n if (pendingTmNode) {\n handleToggleByTmNode(pendingTmNode);\n } else if (!props.filterable) {\n closeMenu();\n focusSelection();\n }\n } else {\n openMenu();\n if (props.tag && activeWithoutMenuOpenRef.value) {\n const beingCreatedOption = beingCreatedOptionsRef.value[0];\n if (beingCreatedOption) {\n const optionValue = beingCreatedOption[props.valueField];\n const {\n value: mergedValue\n } = mergedValueRef;\n if (props.multiple) {\n if (Array.isArray(mergedValue) && mergedValue.some(value => value === optionValue)) {\n // do nothing\n } else {\n handleToggleByOption(beingCreatedOption);\n }\n } else {\n handleToggleByOption(beingCreatedOption);\n }\n }\n }\n }\n }\n e.preventDefault();\n break;\n case 'ArrowUp':\n e.preventDefault();\n if (props.loading) return;\n if (mergedShowRef.value) {\n (_c = menuRef.value) === null || _c === void 0 ? void 0 : _c.prev();\n }\n break;\n case 'ArrowDown':\n e.preventDefault();\n if (props.loading) return;\n if (mergedShowRef.value) {\n (_d = menuRef.value) === null || _d === void 0 ? void 0 : _d.next();\n } else {\n openMenu();\n }\n break;\n case 'Escape':\n if (mergedShowRef.value) {\n markEventEffectPerformed(e);\n closeMenu();\n }\n (_e = triggerRef.value) === null || _e === void 0 ? void 0 : _e.focus();\n break;\n }\n }\n function focusSelection() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n }\n function focusSelectionInput() {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focusInput();\n }\n function handleTriggerOrMenuResize() {\n var _a;\n if (!mergedShowRef.value) return;\n (_a = followerRef.value) === null || _a === void 0 ? void 0 : _a.syncPosition();\n }\n updateMemorizedOptions();\n watch(toRef(props, 'options'), updateMemorizedOptions);\n const exposedMethods = {\n focus: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focus();\n },\n focusInput: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.focusInput();\n },\n blur: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.blur();\n },\n blurInput: () => {\n var _a;\n (_a = triggerRef.value) === null || _a === void 0 ? void 0 : _a.blurInput();\n }\n };\n const cssVarsRef = computed(() => {\n const {\n self: {\n menuBoxShadow\n }\n } = themeRef.value;\n return {\n '--n-menu-box-shadow': menuBoxShadow\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('select', undefined, cssVarsRef, props) : undefined;\n return Object.assign(Object.assign({}, exposedMethods), {\n mergedStatus: mergedStatusRef,\n mergedClsPrefix: mergedClsPrefixRef,\n mergedBordered: mergedBorderedRef,\n namespace: namespaceRef,\n treeMate: treeMateRef,\n isMounted: useIsMounted(),\n triggerRef,\n menuRef,\n pattern: patternRef,\n uncontrolledShow: uncontrolledShowRef,\n mergedShow: mergedShowRef,\n adjustedTo: useAdjustedTo(props),\n uncontrolledValue: uncontrolledValueRef,\n mergedValue: mergedValueRef,\n followerRef,\n localizedPlaceholder: localizedPlaceholderRef,\n selectedOption: selectedOptionRef,\n selectedOptions: selectedOptionsRef,\n mergedSize: mergedSizeRef,\n mergedDisabled: mergedDisabledRef,\n focused: focusedRef,\n activeWithoutMenuOpen: activeWithoutMenuOpenRef,\n inlineThemeDisabled,\n onTriggerInputFocus,\n onTriggerInputBlur,\n handleTriggerOrMenuResize,\n handleMenuFocus,\n handleMenuBlur,\n handleMenuTabOut,\n handleTriggerClick,\n handleToggle: handleToggleByTmNode,\n handleDeleteOption: handleToggleByOption,\n handlePatternInput,\n handleClear,\n handleTriggerBlur,\n handleTriggerFocus,\n handleKeydown,\n handleMenuAfterLeave,\n handleMenuClickOutside,\n handleMenuScroll,\n handleMenuKeydown: handleKeydown,\n handleMenuMousedown,\n mergedTheme: themeRef,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n });\n },\n render() {\n return h(\"div\", {\n class: `${this.mergedClsPrefix}-select`\n }, h(VBinder, null, {\n default: () => [h(VTarget, null, {\n default: () => h(NInternalSelection, {\n ref: \"triggerRef\",\n inlineThemeDisabled: this.inlineThemeDisabled,\n status: this.mergedStatus,\n inputProps: this.inputProps,\n clsPrefix: this.mergedClsPrefix,\n showArrow: this.showArrow,\n maxTagCount: this.maxTagCount,\n ellipsisTagPopoverProps: this.ellipsisTagPopoverProps,\n bordered: this.mergedBordered,\n active: this.activeWithoutMenuOpen || this.mergedShow,\n pattern: this.pattern,\n placeholder: this.localizedPlaceholder,\n selectedOption: this.selectedOption,\n selectedOptions: this.selectedOptions,\n multiple: this.multiple,\n renderTag: this.renderTag,\n renderLabel: this.renderLabel,\n filterable: this.filterable,\n clearable: this.clearable,\n disabled: this.mergedDisabled,\n size: this.mergedSize,\n theme: this.mergedTheme.peers.InternalSelection,\n labelField: this.labelField,\n valueField: this.valueField,\n themeOverrides: this.mergedTheme.peerOverrides.InternalSelection,\n loading: this.loading,\n focused: this.focused,\n onClick: this.handleTriggerClick,\n onDeleteOption: this.handleDeleteOption,\n onPatternInput: this.handlePatternInput,\n onClear: this.handleClear,\n onBlur: this.handleTriggerBlur,\n onFocus: this.handleTriggerFocus,\n onKeydown: this.handleKeydown,\n onPatternBlur: this.onTriggerInputBlur,\n onPatternFocus: this.onTriggerInputFocus,\n onResize: this.handleTriggerOrMenuResize,\n ignoreComposition: this.ignoreComposition\n }, {\n arrow: () => {\n var _a, _b;\n return [(_b = (_a = this.$slots).arrow) === null || _b === void 0 ? void 0 : _b.call(_a)];\n }\n })\n }), h(VFollower, {\n ref: \"followerRef\",\n show: this.mergedShow,\n to: this.adjustedTo,\n teleportDisabled: this.adjustedTo === useAdjustedTo.tdkey,\n containerClass: this.namespace,\n width: this.consistentMenuWidth ? 'target' : undefined,\n minWidth: \"target\",\n placement: this.placement\n }, {\n default: () => h(Transition, {\n name: \"fade-in-scale-up-transition\",\n appear: this.isMounted,\n onAfterLeave: this.handleMenuAfterLeave\n }, {\n default: () => {\n var _a, _b, _c;\n if (!(this.mergedShow || this.displayDirective === 'show')) {\n return null;\n }\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n return withDirectives(h(NInternalSelectMenu, Object.assign({}, this.menuProps, {\n ref: \"menuRef\",\n onResize: this.handleTriggerOrMenuResize,\n inlineThemeDisabled: this.inlineThemeDisabled,\n virtualScroll: this.consistentMenuWidth && this.virtualScroll,\n class: [`${this.mergedClsPrefix}-select-menu`, this.themeClass, (_b = this.menuProps) === null || _b === void 0 ? void 0 : _b.class],\n clsPrefix: this.mergedClsPrefix,\n focusable: true,\n labelField: this.labelField,\n valueField: this.valueField,\n autoPending: true,\n nodeProps: this.nodeProps,\n theme: this.mergedTheme.peers.InternalSelectMenu,\n themeOverrides: this.mergedTheme.peerOverrides.InternalSelectMenu,\n treeMate: this.treeMate,\n multiple: this.multiple,\n size: \"medium\",\n renderOption: this.renderOption,\n renderLabel: this.renderLabel,\n value: this.mergedValue,\n style: [(_c = this.menuProps) === null || _c === void 0 ? void 0 : _c.style, this.cssVars],\n onToggle: this.handleToggle,\n onScroll: this.handleMenuScroll,\n onFocus: this.handleMenuFocus,\n onBlur: this.handleMenuBlur,\n onKeydown: this.handleMenuKeydown,\n onTabOut: this.handleMenuTabOut,\n onMousedown: this.handleMenuMousedown,\n show: this.mergedShow,\n showCheckmark: this.showCheckmark,\n resetMenuOnOptionsChange: this.resetMenuOnOptionsChange\n }), {\n empty: () => {\n var _a, _b;\n return [(_b = (_a = this.$slots).empty) === null || _b === void 0 ? void 0 : _b.call(_a)];\n },\n header: () => {\n var _a, _b;\n return [(_b = (_a = this.$slots).header) === null || _b === void 0 ? void 0 : _b.call(_a)];\n },\n action: () => {\n var _a, _b;\n return [(_b = (_a = this.$slots).action) === null || _b === void 0 ? void 0 : _b.call(_a)];\n }\n }), this.displayDirective === 'show' ? [[vShow, this.mergedShow], [clickoutside, this.handleMenuClickOutside, undefined, {\n capture: true\n }]] : [[clickoutside, this.handleMenuClickOutside, undefined, {\n capture: true\n }]]);\n }\n })\n })]\n }));\n }\n});","export default {\n itemPaddingSmall: '0 4px',\n itemMarginSmall: '0 0 0 8px',\n itemMarginSmallRtl: '0 8px 0 0',\n itemPaddingMedium: '0 4px',\n itemMarginMedium: '0 0 0 8px',\n itemMarginMediumRtl: '0 8px 0 0',\n itemPaddingLarge: '0 4px',\n itemMarginLarge: '0 0 0 8px',\n itemMarginLargeRtl: '0 8px 0 0',\n buttonIconSizeSmall: '14px',\n buttonIconSizeMedium: '16px',\n buttonIconSizeLarge: '18px',\n inputWidthSmall: '60px',\n selectWidthSmall: 'unset',\n inputMarginSmall: '0 0 0 8px',\n inputMarginSmallRtl: '0 8px 0 0',\n selectMarginSmall: '0 0 0 8px',\n prefixMarginSmall: '0 8px 0 0',\n suffixMarginSmall: '0 0 0 8px',\n inputWidthMedium: '60px',\n selectWidthMedium: 'unset',\n inputMarginMedium: '0 0 0 8px',\n inputMarginMediumRtl: '0 8px 0 0',\n selectMarginMedium: '0 0 0 8px',\n prefixMarginMedium: '0 8px 0 0',\n suffixMarginMedium: '0 0 0 8px',\n inputWidthLarge: '60px',\n selectWidthLarge: 'unset',\n inputMarginLarge: '0 0 0 8px',\n inputMarginLargeRtl: '0 8px 0 0',\n selectMarginLarge: '0 0 0 8px',\n prefixMarginLarge: '0 8px 0 0',\n suffixMarginLarge: '0 0 0 8px'\n};","import { popselectLight } from \"../../popselect/styles/index.mjs\";\nimport { selectLight } from \"../../select/styles/index.mjs\";\nimport { inputLight } from \"../../input/styles/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport commonVariables from \"./_common.mjs\";\nimport { createTheme } from \"../../_mixins/index.mjs\";\nexport const self = vars => {\n const {\n textColor2,\n primaryColor,\n primaryColorHover,\n primaryColorPressed,\n inputColorDisabled,\n textColorDisabled,\n borderColor,\n borderRadius,\n // item font size\n fontSizeTiny,\n fontSizeSmall,\n fontSizeMedium,\n // item size\n heightTiny,\n heightSmall,\n heightMedium\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n buttonColor: '#0000',\n buttonColorHover: '#0000',\n buttonColorPressed: '#0000',\n buttonBorder: `1px solid ${borderColor}`,\n buttonBorderHover: `1px solid ${borderColor}`,\n buttonBorderPressed: `1px solid ${borderColor}`,\n buttonIconColor: textColor2,\n buttonIconColorHover: textColor2,\n buttonIconColorPressed: textColor2,\n itemTextColor: textColor2,\n itemTextColorHover: primaryColorHover,\n itemTextColorPressed: primaryColorPressed,\n itemTextColorActive: primaryColor,\n itemTextColorDisabled: textColorDisabled,\n itemColor: '#0000',\n itemColorHover: '#0000',\n itemColorPressed: '#0000',\n itemColorActive: '#0000',\n itemColorActiveHover: '#0000',\n itemColorDisabled: inputColorDisabled,\n itemBorder: '1px solid #0000',\n itemBorderHover: '1px solid #0000',\n itemBorderPressed: '1px solid #0000',\n itemBorderActive: `1px solid ${primaryColor}`,\n itemBorderDisabled: `1px solid ${borderColor}`,\n itemBorderRadius: borderRadius,\n itemSizeSmall: heightTiny,\n itemSizeMedium: heightSmall,\n itemSizeLarge: heightMedium,\n itemFontSizeSmall: fontSizeTiny,\n itemFontSizeMedium: fontSizeSmall,\n itemFontSizeLarge: fontSizeMedium,\n jumperFontSizeSmall: fontSizeTiny,\n jumperFontSizeMedium: fontSizeSmall,\n jumperFontSizeLarge: fontSizeMedium,\n jumperTextColor: textColor2,\n jumperTextColorDisabled: textColorDisabled\n });\n};\nconst paginationLight = createTheme({\n name: 'Pagination',\n common: commonLight,\n peers: {\n Select: selectLight,\n Input: inputLight,\n Popselect: popselectLight\n },\n self\n});\nexport default paginationLight;","export const getDefaultPageSize = paginationProps => {\n var _a;\n if (!paginationProps) return 10;\n const {\n defaultPageSize\n } = paginationProps;\n if (defaultPageSize !== undefined) return defaultPageSize;\n const pageSizeOption = (_a = paginationProps.pageSizes) === null || _a === void 0 ? void 0 : _a[0];\n if (typeof pageSizeOption === 'number') return pageSizeOption;\n return (pageSizeOption === null || pageSizeOption === void 0 ? void 0 : pageSizeOption.value) || 10;\n};\nfunction createPageItemsInfo(currentPage, pageCount, pageSlot, showQuickJumpDropdown) {\n let hasFastBackward = false;\n let hasFastForward = false;\n let fastBackwardTo = 1;\n let fastForwardTo = pageCount;\n if (pageCount === 1) {\n return {\n hasFastBackward: false,\n hasFastForward: false,\n fastForwardTo,\n fastBackwardTo,\n items: [{\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n }]\n };\n }\n if (pageCount === 2) {\n return {\n hasFastBackward: false,\n hasFastForward: false,\n fastForwardTo,\n fastBackwardTo,\n items: [{\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n }, {\n type: 'page',\n label: 2,\n active: currentPage === 2,\n mayBeFastBackward: true,\n mayBeFastForward: false\n }]\n };\n }\n const firstPage = 1;\n const lastPage = pageCount;\n let middleStart = currentPage;\n let middleEnd = currentPage;\n const middleDelta = (pageSlot - 5) / 2;\n middleEnd += Math.ceil(middleDelta);\n middleEnd = Math.min(Math.max(middleEnd, firstPage + pageSlot - 3), lastPage - 2);\n middleStart -= Math.floor(middleDelta);\n middleStart = Math.max(Math.min(middleStart, lastPage - pageSlot + 3), firstPage + 2);\n let leftSplit = false;\n let rightSplit = false;\n if (middleStart > firstPage + 2) leftSplit = true;\n if (middleEnd < lastPage - 2) rightSplit = true;\n const items = [];\n items.push({\n type: 'page',\n label: 1,\n active: currentPage === 1,\n mayBeFastBackward: false,\n mayBeFastForward: false\n });\n if (leftSplit) {\n hasFastBackward = true;\n fastBackwardTo = middleStart - 1;\n items.push({\n type: 'fast-backward',\n active: false,\n label: undefined,\n options: showQuickJumpDropdown ? createRange(firstPage + 1, middleStart - 1) : null\n });\n } else if (lastPage >= firstPage + 1) {\n items.push({\n type: 'page',\n label: firstPage + 1,\n mayBeFastBackward: true,\n mayBeFastForward: false,\n active: currentPage === firstPage + 1\n });\n }\n for (let i = middleStart; i <= middleEnd; ++i) {\n items.push({\n type: 'page',\n label: i,\n mayBeFastBackward: false,\n mayBeFastForward: false,\n active: currentPage === i\n });\n }\n if (rightSplit) {\n hasFastForward = true;\n fastForwardTo = middleEnd + 1;\n items.push({\n type: 'fast-forward',\n active: false,\n label: undefined,\n options: showQuickJumpDropdown ? createRange(middleEnd + 1, lastPage - 1) : null\n });\n } else if (middleEnd === lastPage - 2 && items[items.length - 1].label !== lastPage - 1) {\n items.push({\n type: 'page',\n mayBeFastForward: true,\n mayBeFastBackward: false,\n label: lastPage - 1,\n active: currentPage === lastPage - 1\n });\n }\n if (items[items.length - 1].label !== lastPage) {\n items.push({\n type: 'page',\n mayBeFastForward: false,\n mayBeFastBackward: false,\n label: lastPage,\n active: currentPage === lastPage\n });\n }\n return {\n hasFastBackward,\n hasFastForward,\n fastBackwardTo,\n fastForwardTo,\n items\n };\n}\nfunction createRange(from, to) {\n const range = [];\n for (let i = from; i <= to; ++i) {\n range.push({\n label: `${i}`,\n value: i\n });\n }\n return range;\n}\nexport { createPageItemsInfo };","import { cB, c, cM, cNotM } from \"../../../_utils/cssr/index.mjs\";\nconst hoverStyleProps = `\n background: var(--n-item-color-hover);\n color: var(--n-item-text-color-hover);\n border: var(--n-item-border-hover);\n`;\nconst hoverStyleChildren = [cM('button', `\n background: var(--n-button-color-hover);\n border: var(--n-button-border-hover);\n color: var(--n-button-icon-color-hover);\n `)];\n// vars:\n// --n-item-font-size\n// --n-select-width\n// --n-input-width\n// --n-input-margin\n// --n-item-size\n// --n-item-text-color\n// --n-item-text-color-disabled\n// --n-item-text-color-hover\n// --n-item-text-color-active\n// --n-item-color\n// --n-item-color-hover\n// --n-item-color-disabled\n// --n-item-color-active\n// --n-item-color-active-hover\n// --n-item-border\n// --n-item-border-hover\n// --n-item-border-disabled\n// --n-item-border-active\n// --n-item-padding\n// --n-item-font-size\n// --n-item-border-radius\n// --n-bezier\n// --n-jumper-font-size\n// --n-jumper-text-color\n// --n-jumper-text-color-disabled\n// --n-item-margin\n// --n-button-icon-size\n// --n-button-icon-color\n// --n-button-icon-color-hover\n// --n-button-icon-color-pressed\n// --n-prefix-margin\n// --n-suffix-margin\n// --n-button-color\n// --n-button-color-hover\n// --n-button-color-pressed\nexport default cB('pagination', `\n display: flex;\n vertical-align: middle;\n font-size: var(--n-item-font-size);\n flex-wrap: nowrap;\n`, [cB('pagination-prefix', `\n display: flex;\n align-items: center;\n margin: var(--n-prefix-margin);\n `), cB('pagination-suffix', `\n display: flex;\n align-items: center;\n margin: var(--n-suffix-margin);\n `), c('> *:not(:first-child)', `\n margin: var(--n-item-margin);\n `), cB('select', `\n width: var(--n-select-width);\n `), c('&.transition-disabled', [cB('pagination-item', 'transition: none!important;')]), cB('pagination-quick-jumper', `\n white-space: nowrap;\n display: flex;\n color: var(--n-jumper-text-color);\n transition: color .3s var(--n-bezier);\n align-items: center;\n font-size: var(--n-jumper-font-size);\n `, [cB('input', `\n margin: var(--n-input-margin);\n width: var(--n-input-width);\n `)]), cB('pagination-item', `\n position: relative;\n cursor: pointer;\n user-select: none;\n -webkit-user-select: none;\n display: flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n min-width: var(--n-item-size);\n height: var(--n-item-size);\n padding: var(--n-item-padding);\n background-color: var(--n-item-color);\n color: var(--n-item-text-color);\n border-radius: var(--n-item-border-radius);\n border: var(--n-item-border);\n fill: var(--n-button-icon-color);\n transition:\n color .3s var(--n-bezier),\n border-color .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n fill .3s var(--n-bezier);\n `, [cM('button', `\n background: var(--n-button-color);\n color: var(--n-button-icon-color);\n border: var(--n-button-border);\n padding: 0;\n `, [cB('base-icon', `\n font-size: var(--n-button-icon-size);\n `)]), cNotM('disabled', [cM('hover', hoverStyleProps, hoverStyleChildren), c('&:hover', hoverStyleProps, hoverStyleChildren), c('&:active', `\n background: var(--n-item-color-pressed);\n color: var(--n-item-text-color-pressed);\n border: var(--n-item-border-pressed);\n `, [cM('button', `\n background: var(--n-button-color-pressed);\n border: var(--n-button-border-pressed);\n color: var(--n-button-icon-color-pressed);\n `)]), cM('active', `\n background: var(--n-item-color-active);\n color: var(--n-item-text-color-active);\n border: var(--n-item-border-active);\n `, [c('&:hover', `\n background: var(--n-item-color-active-hover);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n color: var(--n-item-text-color-disabled);\n `, [cM('active, button', `\n background-color: var(--n-item-color-disabled);\n border: var(--n-item-border-disabled);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n `, [cB('pagination-quick-jumper', `\n color: var(--n-jumper-text-color-disabled);\n `)]), cM('simple', `\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n `, [cB('pagination-quick-jumper', [cB('input', `\n margin: 0;\n `)])])]);","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { computed, defineComponent, Fragment, h, nextTick, ref, toRef, watchEffect } from 'vue';\nimport { useMergedState } from 'vooks';\nimport { NPopselect } from \"../../popselect/index.mjs\";\nimport { NSelect } from \"../../select/index.mjs\";\nimport { NInput } from \"../../input/index.mjs\";\nimport { NBaseIcon } from \"../../_internal/index.mjs\";\nimport { BackwardIcon, FastBackwardIcon, FastForwardIcon, ForwardIcon, MoreIcon } from \"../../_internal/icons/index.mjs\";\nimport { useConfig, useLocale, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { paginationLight } from \"../styles/index.mjs\";\nimport { createPageItemsInfo, getDefaultPageSize } from \"./utils.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nimport { useAdjustedTo, call, resolveSlot, warn, warnOnce, createKey, smallerSize } from \"../../_utils/index.mjs\";\nimport { useRtl } from \"../../_mixins/use-rtl.mjs\";\nexport const paginationProps = Object.assign(Object.assign({}, useTheme.props), {\n simple: Boolean,\n page: Number,\n defaultPage: {\n type: Number,\n default: 1\n },\n itemCount: Number,\n pageCount: Number,\n defaultPageCount: {\n type: Number,\n default: 1\n },\n showSizePicker: Boolean,\n pageSize: Number,\n defaultPageSize: Number,\n pageSizes: {\n type: Array,\n default() {\n return [10];\n }\n },\n showQuickJumper: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n disabled: Boolean,\n pageSlot: {\n type: Number,\n default: 9\n },\n selectProps: Object,\n prev: Function,\n next: Function,\n goto: Function,\n prefix: Function,\n suffix: Function,\n label: Function,\n displayOrder: {\n type: Array,\n default: ['pages', 'size-picker', 'quick-jumper']\n },\n to: useAdjustedTo.propTo,\n showQuickJumpDropdown: {\n type: Boolean,\n default: true\n },\n 'onUpdate:page': [Function, Array],\n onUpdatePage: [Function, Array],\n 'onUpdate:pageSize': [Function, Array],\n onUpdatePageSize: [Function, Array],\n /** @deprecated */\n onPageSizeChange: [Function, Array],\n /** @deprecated */\n onChange: [Function, Array]\n});\nexport default defineComponent({\n name: 'Pagination',\n props: paginationProps,\n setup(props) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.pageCount !== undefined && props.itemCount !== undefined) {\n warn('pagination', \"`page-count` and `item-count` should't be specified together. Only `item-count` will take effect.\");\n }\n if (props.onPageSizeChange) {\n warnOnce('pagination', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');\n }\n if (props.onChange) {\n warnOnce('pagination', '`on-change` is deprecated, please use `on-update:page` instead.');\n }\n });\n }\n const {\n mergedComponentPropsRef,\n mergedClsPrefixRef,\n inlineThemeDisabled,\n mergedRtlRef\n } = useConfig(props);\n const themeRef = useTheme('Pagination', '-pagination', style, paginationLight, props, mergedClsPrefixRef);\n const {\n localeRef\n } = useLocale('Pagination');\n const selfRef = ref(null);\n const uncontrolledPageRef = ref(props.defaultPage);\n const uncontrolledPageSizeRef = ref(getDefaultPageSize(props));\n const mergedPageRef = useMergedState(toRef(props, 'page'), uncontrolledPageRef);\n const mergedPageSizeRef = useMergedState(toRef(props, 'pageSize'), uncontrolledPageSizeRef);\n const mergedPageCountRef = computed(() => {\n // item count has high priority, for it can affect prefix slot rendering\n const {\n itemCount\n } = props;\n if (itemCount !== undefined) {\n return Math.max(1, Math.ceil(itemCount / mergedPageSizeRef.value));\n }\n const {\n pageCount\n } = props;\n if (pageCount !== undefined) return Math.max(pageCount, 1);\n return 1;\n });\n const jumperValueRef = ref('');\n watchEffect(() => {\n void props.simple;\n jumperValueRef.value = String(mergedPageRef.value);\n });\n const fastForwardActiveRef = ref(false);\n const fastBackwardActiveRef = ref(false);\n const showFastForwardMenuRef = ref(false);\n const showFastBackwardMenuRef = ref(false);\n const handleFastForwardMouseenter = () => {\n if (props.disabled) return;\n fastForwardActiveRef.value = true;\n disableTransitionOneTick();\n };\n const handleFastForwardMouseleave = () => {\n if (props.disabled) return;\n fastForwardActiveRef.value = false;\n disableTransitionOneTick();\n };\n const handleFastBackwardMouseenter = () => {\n fastBackwardActiveRef.value = true;\n disableTransitionOneTick();\n };\n const handleFastBackwardMouseleave = () => {\n fastBackwardActiveRef.value = false;\n disableTransitionOneTick();\n };\n const handleMenuSelect = value => {\n doUpdatePage(value);\n };\n const pageItemsInfo = computed(() => createPageItemsInfo(mergedPageRef.value, mergedPageCountRef.value, props.pageSlot, props.showQuickJumpDropdown));\n watchEffect(() => {\n if (!pageItemsInfo.value.hasFastBackward) {\n fastBackwardActiveRef.value = false;\n showFastBackwardMenuRef.value = false;\n } else if (!pageItemsInfo.value.hasFastForward) {\n fastForwardActiveRef.value = false;\n showFastForwardMenuRef.value = false;\n }\n });\n const pageSizeOptionsRef = computed(() => {\n const suffix = localeRef.value.selectionSuffix;\n return props.pageSizes.map(size => {\n if (typeof size === 'number') {\n return {\n label: `${size} / ${suffix}`,\n value: size\n };\n } else {\n return size;\n }\n });\n });\n const inputSizeRef = computed(() => {\n var _a, _b;\n return ((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.Pagination) === null || _b === void 0 ? void 0 : _b.inputSize) || smallerSize(props.size);\n });\n const selectSizeRef = computed(() => {\n var _a, _b;\n return ((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.Pagination) === null || _b === void 0 ? void 0 : _b.selectSize) || smallerSize(props.size);\n });\n const startIndexRef = computed(() => {\n return (mergedPageRef.value - 1) * mergedPageSizeRef.value;\n });\n const endIndexRef = computed(() => {\n const endIndex = mergedPageRef.value * mergedPageSizeRef.value - 1;\n const {\n itemCount\n } = props;\n if (itemCount !== undefined) {\n return endIndex > itemCount - 1 ? itemCount - 1 : endIndex;\n }\n return endIndex;\n });\n const mergedItemCountRef = computed(() => {\n const {\n itemCount\n } = props;\n if (itemCount !== undefined) return itemCount;\n return (props.pageCount || 1) * mergedPageSizeRef.value;\n });\n const rtlEnabledRef = useRtl('Pagination', mergedRtlRef, mergedClsPrefixRef);\n const disableTransitionOneTick = () => {\n void nextTick(() => {\n var _a;\n const {\n value: selfEl\n } = selfRef;\n if (!selfEl) return;\n selfEl.classList.add('transition-disabled');\n void ((_a = selfRef.value) === null || _a === void 0 ? void 0 : _a.offsetWidth);\n selfEl.classList.remove('transition-disabled');\n });\n };\n function doUpdatePage(page) {\n if (page === mergedPageRef.value) return;\n const {\n 'onUpdate:page': _onUpdatePage,\n onUpdatePage,\n onChange,\n simple\n } = props;\n if (_onUpdatePage) call(_onUpdatePage, page);\n if (onUpdatePage) call(onUpdatePage, page);\n // deprecated\n if (onChange) call(onChange, page);\n uncontrolledPageRef.value = page;\n if (simple) {\n jumperValueRef.value = String(page);\n }\n }\n function doUpdatePageSize(pageSize) {\n if (pageSize === mergedPageSizeRef.value) return;\n const {\n 'onUpdate:pageSize': _onUpdatePageSize,\n onUpdatePageSize,\n onPageSizeChange\n } = props;\n if (_onUpdatePageSize) call(_onUpdatePageSize, pageSize);\n if (onUpdatePageSize) call(onUpdatePageSize, pageSize);\n // deprecated\n if (onPageSizeChange) call(onPageSizeChange, pageSize);\n uncontrolledPageSizeRef.value = pageSize;\n // update new page when overflows.\n // we may have different update strategy, but i've no time to impl it\n if (mergedPageCountRef.value < mergedPageRef.value) {\n doUpdatePage(mergedPageCountRef.value);\n }\n }\n function forward() {\n if (props.disabled) return;\n const page = Math.min(mergedPageRef.value + 1, mergedPageCountRef.value);\n doUpdatePage(page);\n }\n function backward() {\n if (props.disabled) return;\n const page = Math.max(mergedPageRef.value - 1, 1);\n doUpdatePage(page);\n }\n function fastForward() {\n if (props.disabled) return;\n const page = Math.min(pageItemsInfo.value.fastForwardTo, mergedPageCountRef.value);\n doUpdatePage(page);\n }\n function fastBackward() {\n if (props.disabled) return;\n const page = Math.max(pageItemsInfo.value.fastBackwardTo, 1);\n doUpdatePage(page);\n }\n function handleSizePickerChange(value) {\n doUpdatePageSize(value);\n }\n function doQuickJump() {\n const page = parseInt(jumperValueRef.value);\n if (Number.isNaN(page)) return;\n doUpdatePage(Math.max(1, Math.min(page, mergedPageCountRef.value)));\n if (!props.simple) {\n jumperValueRef.value = '';\n }\n }\n function handleQuickJumperChange() {\n doQuickJump();\n }\n function handlePageItemClick(pageItem) {\n if (props.disabled) return;\n switch (pageItem.type) {\n case 'page':\n doUpdatePage(pageItem.label);\n break;\n case 'fast-backward':\n fastBackward();\n break;\n case 'fast-forward':\n fastForward();\n break;\n }\n }\n function handleJumperInput(value) {\n jumperValueRef.value = value.replace(/\\D+/g, '');\n }\n watchEffect(() => {\n void mergedPageRef.value;\n void mergedPageSizeRef.value;\n disableTransitionOneTick();\n });\n const cssVarsRef = computed(() => {\n const {\n size\n } = props;\n const {\n self: {\n buttonBorder,\n buttonBorderHover,\n buttonBorderPressed,\n buttonIconColor,\n buttonIconColorHover,\n buttonIconColorPressed,\n itemTextColor,\n itemTextColorHover,\n itemTextColorPressed,\n itemTextColorActive,\n itemTextColorDisabled,\n itemColor,\n itemColorHover,\n itemColorPressed,\n itemColorActive,\n itemColorActiveHover,\n itemColorDisabled,\n itemBorder,\n itemBorderHover,\n itemBorderPressed,\n itemBorderActive,\n itemBorderDisabled,\n itemBorderRadius,\n jumperTextColor,\n jumperTextColorDisabled,\n buttonColor,\n buttonColorHover,\n buttonColorPressed,\n [createKey('itemPadding', size)]: itemPadding,\n [createKey('itemMargin', size)]: itemMargin,\n [createKey('inputWidth', size)]: inputWidth,\n [createKey('selectWidth', size)]: selectWidth,\n [createKey('inputMargin', size)]: inputMargin,\n [createKey('selectMargin', size)]: selectMargin,\n [createKey('jumperFontSize', size)]: jumperFontSize,\n [createKey('prefixMargin', size)]: prefixMargin,\n [createKey('suffixMargin', size)]: suffixMargin,\n [createKey('itemSize', size)]: itemSize,\n [createKey('buttonIconSize', size)]: buttonIconSize,\n [createKey('itemFontSize', size)]: itemFontSize,\n [`${createKey('itemMargin', size)}Rtl`]: itemMarginRtl,\n [`${createKey('inputMargin', size)}Rtl`]: inputMarginRtl\n },\n common: {\n cubicBezierEaseInOut\n }\n } = themeRef.value;\n return {\n '--n-prefix-margin': prefixMargin,\n '--n-suffix-margin': suffixMargin,\n '--n-item-font-size': itemFontSize,\n '--n-select-width': selectWidth,\n '--n-select-margin': selectMargin,\n '--n-input-width': inputWidth,\n '--n-input-margin': inputMargin,\n '--n-input-margin-rtl': inputMarginRtl,\n '--n-item-size': itemSize,\n '--n-item-text-color': itemTextColor,\n '--n-item-text-color-disabled': itemTextColorDisabled,\n '--n-item-text-color-hover': itemTextColorHover,\n '--n-item-text-color-active': itemTextColorActive,\n '--n-item-text-color-pressed': itemTextColorPressed,\n '--n-item-color': itemColor,\n '--n-item-color-hover': itemColorHover,\n '--n-item-color-disabled': itemColorDisabled,\n '--n-item-color-active': itemColorActive,\n '--n-item-color-active-hover': itemColorActiveHover,\n '--n-item-color-pressed': itemColorPressed,\n '--n-item-border': itemBorder,\n '--n-item-border-hover': itemBorderHover,\n '--n-item-border-disabled': itemBorderDisabled,\n '--n-item-border-active': itemBorderActive,\n '--n-item-border-pressed': itemBorderPressed,\n '--n-item-padding': itemPadding,\n '--n-item-border-radius': itemBorderRadius,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-jumper-font-size': jumperFontSize,\n '--n-jumper-text-color': jumperTextColor,\n '--n-jumper-text-color-disabled': jumperTextColorDisabled,\n '--n-item-margin': itemMargin,\n '--n-item-margin-rtl': itemMarginRtl,\n '--n-button-icon-size': buttonIconSize,\n '--n-button-icon-color': buttonIconColor,\n '--n-button-icon-color-hover': buttonIconColorHover,\n '--n-button-icon-color-pressed': buttonIconColorPressed,\n '--n-button-color-hover': buttonColorHover,\n '--n-button-color': buttonColor,\n '--n-button-color-pressed': buttonColorPressed,\n '--n-button-border': buttonBorder,\n '--n-button-border-hover': buttonBorderHover,\n '--n-button-border-pressed': buttonBorderPressed\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('pagination', computed(() => {\n let hash = '';\n const {\n size\n } = props;\n hash += size[0];\n return hash;\n }), cssVarsRef, props) : undefined;\n return {\n rtlEnabled: rtlEnabledRef,\n mergedClsPrefix: mergedClsPrefixRef,\n locale: localeRef,\n selfRef,\n mergedPage: mergedPageRef,\n pageItems: computed(() => {\n return pageItemsInfo.value.items;\n }),\n mergedItemCount: mergedItemCountRef,\n jumperValue: jumperValueRef,\n pageSizeOptions: pageSizeOptionsRef,\n mergedPageSize: mergedPageSizeRef,\n inputSize: inputSizeRef,\n selectSize: selectSizeRef,\n mergedTheme: themeRef,\n mergedPageCount: mergedPageCountRef,\n startIndex: startIndexRef,\n endIndex: endIndexRef,\n showFastForwardMenu: showFastForwardMenuRef,\n showFastBackwardMenu: showFastBackwardMenuRef,\n fastForwardActive: fastForwardActiveRef,\n fastBackwardActive: fastBackwardActiveRef,\n handleMenuSelect,\n handleFastForwardMouseenter,\n handleFastForwardMouseleave,\n handleFastBackwardMouseenter,\n handleFastBackwardMouseleave,\n handleJumperInput,\n handleBackwardClick: backward,\n handleForwardClick: forward,\n handlePageItemClick,\n handleSizePickerChange,\n handleQuickJumperChange,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n // it's ok to expand all prop here since no slots' deps\n const {\n $slots,\n mergedClsPrefix,\n disabled,\n cssVars,\n mergedPage,\n mergedPageCount,\n pageItems,\n showSizePicker,\n showQuickJumper,\n mergedTheme,\n locale,\n inputSize,\n selectSize,\n mergedPageSize,\n pageSizeOptions,\n jumperValue,\n simple,\n prev,\n next,\n prefix,\n suffix,\n label,\n goto,\n handleJumperInput,\n handleSizePickerChange,\n handleBackwardClick,\n handlePageItemClick,\n handleForwardClick,\n handleQuickJumperChange,\n onRender\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n const renderPrefix = $slots.prefix || prefix;\n const renderSuffix = $slots.suffix || suffix;\n const renderPrev = prev || $slots.prev;\n const renderNext = next || $slots.next;\n const renderLabel = label || $slots.label;\n return h(\"div\", {\n ref: \"selfRef\",\n class: [`${mergedClsPrefix}-pagination`, this.themeClass, this.rtlEnabled && `${mergedClsPrefix}-pagination--rtl`, disabled && `${mergedClsPrefix}-pagination--disabled`, simple && `${mergedClsPrefix}-pagination--simple`],\n style: cssVars\n }, renderPrefix ? h(\"div\", {\n class: `${mergedClsPrefix}-pagination-prefix`\n }, renderPrefix({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n })) : null, this.displayOrder.map(part => {\n switch (part) {\n case 'pages':\n return h(Fragment, null, h(\"div\", {\n class: [`${mergedClsPrefix}-pagination-item`, !renderPrev && `${mergedClsPrefix}-pagination-item--button`, (mergedPage <= 1 || mergedPage > mergedPageCount || disabled) && `${mergedClsPrefix}-pagination-item--disabled`],\n onClick: handleBackwardClick\n }, renderPrev ? renderPrev({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => this.rtlEnabled ? h(ForwardIcon, null) : h(BackwardIcon, null)\n })), simple ? h(Fragment, null, h(\"div\", {\n class: `${mergedClsPrefix}-pagination-quick-jumper`\n }, h(NInput, {\n value: jumperValue,\n onUpdateValue: handleJumperInput,\n size: inputSize,\n placeholder: \"\",\n disabled: disabled,\n theme: mergedTheme.peers.Input,\n themeOverrides: mergedTheme.peerOverrides.Input,\n onChange: handleQuickJumperChange\n })), \"\\u00A0/ \", mergedPageCount) : pageItems.map((pageItem, index) => {\n let contentNode;\n let onMouseenter;\n let onMouseleave;\n const {\n type\n } = pageItem;\n switch (type) {\n case 'page':\n // eslint-disable-next-line no-case-declarations\n const pageNode = pageItem.label;\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'page',\n node: pageNode,\n active: pageItem.active\n });\n } else {\n contentNode = pageNode;\n }\n break;\n case 'fast-forward':\n // eslint-disable-next-line no-case-declarations\n const fastForwardNode = this.fastForwardActive ? h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => this.rtlEnabled ? h(FastBackwardIcon, null) : h(FastForwardIcon, null)\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => h(MoreIcon, null)\n });\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'fast-forward',\n node: fastForwardNode,\n active: this.fastForwardActive || this.showFastForwardMenu\n });\n } else {\n contentNode = fastForwardNode;\n }\n onMouseenter = this.handleFastForwardMouseenter;\n onMouseleave = this.handleFastForwardMouseleave;\n break;\n case 'fast-backward':\n // eslint-disable-next-line no-case-declarations\n const fastBackwardNode = this.fastBackwardActive ? h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => this.rtlEnabled ? h(FastForwardIcon, null) : h(FastBackwardIcon, null)\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => h(MoreIcon, null)\n });\n if (renderLabel) {\n contentNode = renderLabel({\n type: 'fast-backward',\n node: fastBackwardNode,\n active: this.fastBackwardActive || this.showFastBackwardMenu\n });\n } else {\n contentNode = fastBackwardNode;\n }\n onMouseenter = this.handleFastBackwardMouseenter;\n onMouseleave = this.handleFastBackwardMouseleave;\n break;\n }\n const itemNode = h(\"div\", {\n key: index,\n class: [`${mergedClsPrefix}-pagination-item`, pageItem.active && `${mergedClsPrefix}-pagination-item--active`, type !== 'page' && (type === 'fast-backward' && this.showFastBackwardMenu || type === 'fast-forward' && this.showFastForwardMenu) && `${mergedClsPrefix}-pagination-item--hover`, disabled && `${mergedClsPrefix}-pagination-item--disabled`, type === 'page' && `${mergedClsPrefix}-pagination-item--clickable`],\n onClick: () => {\n handlePageItemClick(pageItem);\n },\n onMouseenter: onMouseenter,\n onMouseleave: onMouseleave\n }, contentNode);\n if (type === 'page' && !pageItem.mayBeFastBackward && !pageItem.mayBeFastForward) {\n return itemNode;\n } else {\n const key = pageItem.type === 'page' ? pageItem.mayBeFastBackward ? 'fast-backward' : 'fast-forward' : pageItem.type;\n if (pageItem.type !== 'page' && !pageItem.options) {\n return itemNode;\n }\n return h(NPopselect, {\n to: this.to,\n key: key,\n disabled: disabled,\n trigger: \"hover\",\n virtualScroll: true,\n style: {\n width: '60px'\n },\n theme: mergedTheme.peers.Popselect,\n themeOverrides: mergedTheme.peerOverrides.Popselect,\n builtinThemeOverrides: {\n peers: {\n InternalSelectMenu: {\n height: 'calc(var(--n-option-height) * 4.6)'\n }\n }\n },\n nodeProps: () => ({\n style: {\n justifyContent: 'center'\n }\n }),\n show: type === 'page' ? false : type === 'fast-backward' ? this.showFastBackwardMenu : this.showFastForwardMenu,\n onUpdateShow: value => {\n if (type === 'page') return;\n if (value) {\n if (type === 'fast-backward') {\n this.showFastBackwardMenu = value;\n } else {\n this.showFastForwardMenu = value;\n }\n } else {\n this.showFastBackwardMenu = false;\n this.showFastForwardMenu = false;\n }\n },\n options: pageItem.type !== 'page' && pageItem.options ? pageItem.options : [],\n onUpdateValue: this.handleMenuSelect,\n scrollable: true,\n showCheckmark: false\n }, {\n default: () => itemNode\n });\n }\n }), h(\"div\", {\n class: [`${mergedClsPrefix}-pagination-item`, !renderNext && `${mergedClsPrefix}-pagination-item--button`, {\n [`${mergedClsPrefix}-pagination-item--disabled`]: mergedPage < 1 || mergedPage >= mergedPageCount || disabled\n }],\n onClick: handleForwardClick\n }, renderNext ? renderNext({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n itemCount: this.mergedItemCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => this.rtlEnabled ? h(BackwardIcon, null) : h(ForwardIcon, null)\n })));\n case 'size-picker':\n {\n return !simple && showSizePicker ? h(NSelect, Object.assign({\n consistentMenuWidth: false,\n placeholder: \"\",\n showCheckmark: false,\n to: this.to\n }, this.selectProps, {\n size: selectSize,\n options: pageSizeOptions,\n value: mergedPageSize,\n disabled: disabled,\n theme: mergedTheme.peers.Select,\n themeOverrides: mergedTheme.peerOverrides.Select,\n onUpdateValue: handleSizePickerChange\n })) : null;\n }\n case 'quick-jumper':\n return !simple && showQuickJumper ? h(\"div\", {\n class: `${mergedClsPrefix}-pagination-quick-jumper`\n }, goto ? goto() : resolveSlot(this.$slots.goto, () => [locale.goto]), h(NInput, {\n value: jumperValue,\n onUpdateValue: handleJumperInput,\n size: inputSize,\n placeholder: \"\",\n disabled: disabled,\n theme: mergedTheme.peers.Input,\n themeOverrides: mergedTheme.peerOverrides.Input,\n onChange: handleQuickJumperChange\n })) : null;\n default:\n return null;\n }\n }), renderSuffix ? h(\"div\", {\n class: `${mergedClsPrefix}-pagination-suffix`\n }, renderSuffix({\n page: mergedPage,\n pageSize: mergedPageSize,\n pageCount: mergedPageCount,\n startIndex: this.startIndex,\n endIndex: this.endIndex,\n itemCount: this.mergedItemCount\n })) : null);\n }\n});","export default {\n padding: '4px 0',\n optionIconSizeSmall: '14px',\n optionIconSizeMedium: '16px',\n optionIconSizeLarge: '16px',\n optionIconSizeHuge: '18px',\n optionSuffixWidthSmall: '14px',\n optionSuffixWidthMedium: '14px',\n optionSuffixWidthLarge: '16px',\n optionSuffixWidthHuge: '16px',\n optionIconSuffixWidthSmall: '32px',\n optionIconSuffixWidthMedium: '32px',\n optionIconSuffixWidthLarge: '36px',\n optionIconSuffixWidthHuge: '36px',\n optionPrefixWidthSmall: '14px',\n optionPrefixWidthMedium: '14px',\n optionPrefixWidthLarge: '16px',\n optionPrefixWidthHuge: '16px',\n optionIconPrefixWidthSmall: '36px',\n optionIconPrefixWidthMedium: '36px',\n optionIconPrefixWidthLarge: '40px',\n optionIconPrefixWidthHuge: '40px'\n};","import { changeColor } from 'seemly';\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { createTheme } from \"../../_mixins/use-theme.mjs\";\nimport commonVariables from \"./_common.mjs\";\nimport { popoverLight } from \"../../popover/styles/index.mjs\";\nexport const self = vars => {\n const {\n primaryColor,\n textColor2,\n dividerColor,\n hoverColor,\n popoverColor,\n invertedColor,\n borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge,\n heightSmall,\n heightMedium,\n heightLarge,\n heightHuge,\n textColor3,\n opacityDisabled\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n optionHeightSmall: heightSmall,\n optionHeightMedium: heightMedium,\n optionHeightLarge: heightLarge,\n optionHeightHuge: heightHuge,\n borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n fontSizeHuge,\n // non-inverted\n optionTextColor: textColor2,\n optionTextColorHover: textColor2,\n optionTextColorActive: primaryColor,\n optionTextColorChildActive: primaryColor,\n color: popoverColor,\n dividerColor,\n suffixColor: textColor2,\n prefixColor: textColor2,\n optionColorHover: hoverColor,\n optionColorActive: changeColor(primaryColor, {\n alpha: 0.1\n }),\n groupHeaderTextColor: textColor3,\n // inverted\n optionTextColorInverted: '#BBB',\n optionTextColorHoverInverted: '#FFF',\n optionTextColorActiveInverted: '#FFF',\n optionTextColorChildActiveInverted: '#FFF',\n colorInverted: invertedColor,\n dividerColorInverted: '#BBB',\n suffixColorInverted: '#BBB',\n prefixColorInverted: '#BBB',\n optionColorHoverInverted: primaryColor,\n optionColorActiveInverted: primaryColor,\n groupHeaderTextColorInverted: '#AAA',\n optionOpacityDisabled: opacityDisabled\n });\n};\nconst dropdownLight = createTheme({\n name: 'Dropdown',\n common: commonLight,\n peers: {\n Popover: popoverLight\n },\n self\n});\nexport default dropdownLight;","export default {\n thPaddingSmall: '8px',\n thPaddingMedium: '12px',\n thPaddingLarge: '12px',\n tdPaddingSmall: '8px',\n tdPaddingMedium: '12px',\n tdPaddingLarge: '12px',\n sorterSize: '15px',\n resizableContainerSize: '8px',\n resizableSize: '2px',\n filterSize: '15px',\n paginationMargin: '12px 0 0 0',\n emptyPadding: '48px 0',\n actionPadding: '8px 12px',\n actionButtonMargin: '0 8px 0 0'\n};","import { composite } from 'seemly';\nimport commonVariables from \"./_common.mjs\";\nimport { ellipsisLight } from \"../../ellipsis/styles/index.mjs\";\nimport { buttonLight } from \"../../button/styles/index.mjs\";\nimport { checkboxLight } from \"../../checkbox/styles/index.mjs\";\nimport { radioLight } from \"../../radio/styles/index.mjs\";\nimport { paginationLight } from \"../../pagination/styles/index.mjs\";\nimport { scrollbarLight } from \"../../_internal/scrollbar/styles/index.mjs\";\nimport { popoverLight } from \"../../popover/styles/index.mjs\";\nimport { emptyLight } from \"../../empty/styles/index.mjs\";\nimport { dropdownLight } from \"../../dropdown/styles/index.mjs\";\nimport { commonLight } from \"../../_styles/common/index.mjs\";\nimport { createTheme } from \"../../_mixins/index.mjs\";\nexport const self = vars => {\n const {\n cardColor,\n modalColor,\n popoverColor,\n textColor2,\n textColor1,\n tableHeaderColor,\n tableColorHover,\n iconColor,\n primaryColor,\n fontWeightStrong,\n borderRadius,\n lineHeight,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n dividerColor,\n heightSmall,\n opacityDisabled,\n tableColorStriped\n } = vars;\n return Object.assign(Object.assign({}, commonVariables), {\n actionDividerColor: dividerColor,\n lineHeight,\n borderRadius,\n fontSizeSmall,\n fontSizeMedium,\n fontSizeLarge,\n borderColor: composite(cardColor, dividerColor),\n tdColorHover: composite(cardColor, tableColorHover),\n tdColorStriped: composite(cardColor, tableColorStriped),\n thColor: composite(cardColor, tableHeaderColor),\n thColorHover: composite(composite(cardColor, tableHeaderColor), tableColorHover),\n tdColor: cardColor,\n tdTextColor: textColor2,\n thTextColor: textColor1,\n thFontWeight: fontWeightStrong,\n thButtonColorHover: tableColorHover,\n thIconColor: iconColor,\n thIconColorActive: primaryColor,\n // modal\n borderColorModal: composite(modalColor, dividerColor),\n tdColorHoverModal: composite(modalColor, tableColorHover),\n tdColorStripedModal: composite(modalColor, tableColorStriped),\n thColorModal: composite(modalColor, tableHeaderColor),\n thColorHoverModal: composite(composite(modalColor, tableHeaderColor), tableColorHover),\n tdColorModal: modalColor,\n // popover\n borderColorPopover: composite(popoverColor, dividerColor),\n tdColorHoverPopover: composite(popoverColor, tableColorHover),\n tdColorStripedPopover: composite(popoverColor, tableColorStriped),\n thColorPopover: composite(popoverColor, tableHeaderColor),\n thColorHoverPopover: composite(composite(popoverColor, tableHeaderColor), tableColorHover),\n tdColorPopover: popoverColor,\n boxShadowBefore: 'inset -12px 0 8px -12px rgba(0, 0, 0, .18)',\n boxShadowAfter: 'inset 12px 0 8px -12px rgba(0, 0, 0, .18)',\n // loading\n loadingColor: primaryColor,\n loadingSize: heightSmall,\n opacityLoading: opacityDisabled\n });\n};\nconst dataTableLight = createTheme({\n name: 'DataTable',\n common: commonLight,\n peers: {\n Button: buttonLight,\n Checkbox: checkboxLight,\n Radio: radioLight,\n Pagination: paginationLight,\n Scrollbar: scrollbarLight,\n Empty: emptyLight,\n Popover: popoverLight,\n Ellipsis: ellipsisLight,\n Dropdown: dropdownLight\n },\n self\n});\nexport default dataTableLight;","import { h, defineComponent, ref, mergeProps } from 'vue';\nimport { useMergedClsPrefix } from \"../../_mixins/use-config.mjs\";\nimport { useStyle } from \"../../_mixins/index.mjs\";\nimport Ellipsis, { createCursorClass, createLineClampClass, ellipsisProps } from \"./Ellipsis.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nexport const NPerformantEllipsis = defineComponent({\n name: 'PerformantEllipsis',\n props: ellipsisProps,\n inheritAttrs: false,\n setup(props, {\n attrs,\n slots\n }) {\n const mouseEnteredRef = ref(false);\n const mergedClsPrefixRef = useMergedClsPrefix();\n useStyle('-ellipsis', style, mergedClsPrefixRef);\n // Modified from Ellipsis.tsx\n const renderTrigger = () => {\n const {\n lineClamp\n } = props;\n const mergedClsPrefix = mergedClsPrefixRef.value;\n return h(\"span\", Object.assign({}, mergeProps(attrs, {\n class: [`${mergedClsPrefix}-ellipsis`, lineClamp !== undefined ? createLineClampClass(mergedClsPrefix) : undefined, props.expandTrigger === 'click' ? createCursorClass(mergedClsPrefix, 'pointer') : undefined],\n style: lineClamp === undefined ? {\n textOverflow: 'ellipsis'\n } : {\n '-webkit-line-clamp': lineClamp\n }\n }), {\n onMouseenter: () => {\n mouseEnteredRef.value = true;\n }\n }), lineClamp ? slots : h(\"span\", null, slots));\n };\n return {\n mouseEntered: mouseEnteredRef,\n renderTrigger\n };\n },\n render() {\n if (this.mouseEntered) {\n return h(Ellipsis, mergeProps({}, this.$attrs, this.$props), this.$slots);\n } else {\n return this.renderTrigger();\n }\n }\n});","import { defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DataTableRenderSorter',\n props: {\n render: {\n type: Function,\n required: true\n },\n order: {\n // asc, desc\n type: [String, Boolean],\n default: false\n }\n },\n render() {\n const {\n render,\n order\n } = this;\n return render({\n order\n });\n }\n});","import { useTheme } from \"../../_mixins/index.mjs\";\nimport { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const dataTableProps = Object.assign(Object.assign({}, useTheme.props), {\n onUnstableColumnResize: Function,\n pagination: {\n type: [Object, Boolean],\n default: false\n },\n paginateSinglePage: {\n type: Boolean,\n default: true\n },\n minHeight: [Number, String],\n maxHeight: [Number, String],\n // Use any type as row data to make prop data acceptable\n columns: {\n type: Array,\n default: () => []\n },\n rowClassName: [String, Function],\n rowProps: Function,\n rowKey: Function,\n summary: [Function],\n data: {\n type: Array,\n default: () => []\n },\n loading: Boolean,\n bordered: {\n type: Boolean,\n default: undefined\n },\n bottomBordered: {\n type: Boolean,\n default: undefined\n },\n striped: Boolean,\n scrollX: [Number, String],\n defaultCheckedRowKeys: {\n type: Array,\n default: () => []\n },\n checkedRowKeys: Array,\n singleLine: {\n type: Boolean,\n default: true\n },\n singleColumn: Boolean,\n size: {\n type: String,\n default: 'medium'\n },\n remote: Boolean,\n defaultExpandedRowKeys: {\n type: Array,\n default: []\n },\n defaultExpandAll: Boolean,\n expandedRowKeys: Array,\n stickyExpandedRows: Boolean,\n virtualScroll: Boolean,\n tableLayout: {\n type: String,\n default: 'auto'\n },\n allowCheckingNotLoaded: Boolean,\n cascade: {\n type: Boolean,\n default: true\n },\n childrenKey: {\n type: String,\n default: 'children'\n },\n indent: {\n type: Number,\n default: 16\n },\n flexHeight: Boolean,\n summaryPlacement: {\n type: String,\n default: 'bottom'\n },\n paginationBehaviorOnFilter: {\n type: String,\n default: 'current'\n },\n scrollbarProps: Object,\n renderCell: Function,\n renderExpandIcon: Function,\n spinProps: {\n type: Object,\n default: {}\n },\n onLoad: Function,\n 'onUpdate:page': [Function, Array],\n onUpdatePage: [Function, Array],\n 'onUpdate:pageSize': [Function, Array],\n onUpdatePageSize: [Function, Array],\n 'onUpdate:sorter': [Function, Array],\n onUpdateSorter: [Function, Array],\n 'onUpdate:filters': [Function, Array],\n onUpdateFilters: [Function, Array],\n 'onUpdate:checkedRowKeys': [Function, Array],\n onUpdateCheckedRowKeys: [Function, Array],\n 'onUpdate:expandedRowKeys': [Function, Array],\n onUpdateExpandedRowKeys: [Function, Array],\n onScroll: Function,\n // deprecated\n onPageChange: [Function, Array],\n onPageSizeChange: [Function, Array],\n onSorterChange: [Function, Array],\n onFiltersChange: [Function, Array],\n onCheckedRowKeysChange: [Function, Array]\n});\nexport const dataTableInjectionKey = createInjectionKey('n-data-table');","import { defineComponent, h, computed, inject } from 'vue';\nimport { ArrowDownIcon } from \"../../../_internal/icons/index.mjs\";\nimport { NBaseIcon } from \"../../../_internal/index.mjs\";\nimport RenderSorter from \"./RenderSorter.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport { useConfig } from \"../../../_mixins/index.mjs\";\nexport default defineComponent({\n name: 'SortIcon',\n props: {\n column: {\n type: Object,\n required: true\n }\n },\n setup(props) {\n const {\n mergedComponentPropsRef\n } = useConfig();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const {\n mergedSortStateRef,\n mergedClsPrefixRef\n } = inject(dataTableInjectionKey);\n const sortStateRef = computed(() => mergedSortStateRef.value.find(state => state.columnKey === props.column.key));\n const activeRef = computed(() => {\n return sortStateRef.value !== undefined;\n });\n const mergedSortOrderRef = computed(() => {\n const {\n value: sortState\n } = sortStateRef;\n if (sortState && activeRef.value) {\n return sortState.order;\n }\n return false;\n });\n const mergedRenderSorterRef = computed(() => {\n var _a, _b;\n return ((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DataTable) === null || _b === void 0 ? void 0 : _b.renderSorter) || props.column.renderSorter;\n });\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n mergedSortOrder: mergedSortOrderRef,\n mergedRenderSorter: mergedRenderSorterRef\n };\n },\n render() {\n const {\n mergedRenderSorter,\n mergedSortOrder,\n mergedClsPrefix\n } = this;\n const {\n renderSorterIcon\n } = this.column;\n return mergedRenderSorter ? h(RenderSorter, {\n render: mergedRenderSorter,\n order: mergedSortOrder\n }) : h(\"span\", {\n class: [`${mergedClsPrefix}-data-table-sorter`, mergedSortOrder === 'ascend' && `${mergedClsPrefix}-data-table-sorter--asc`, mergedSortOrder === 'descend' && `${mergedClsPrefix}-data-table-sorter--desc`]\n }, renderSorterIcon ? renderSorterIcon({\n order: mergedSortOrder\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => h(ArrowDownIcon, null)\n }));\n }\n});","import { defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DataTableRenderFilter',\n props: {\n render: {\n type: Function,\n required: true\n },\n active: {\n type: Boolean,\n default: false\n },\n show: {\n type: Boolean,\n default: false\n }\n },\n render() {\n const {\n render,\n active,\n show\n } = this;\n return render({\n active,\n show\n });\n }\n});","import { depx } from 'seemly';\nimport { formatLength } from \"../../_utils/index.mjs\";\nexport const SELECTION_COL_WIDTH = 40;\nexport const EXPAND_COL_WIDTH = 40;\nexport function getNumberColWidth(col) {\n if (col.type === 'selection') {\n return col.width === undefined ? SELECTION_COL_WIDTH : depx(col.width);\n }\n if (col.type === 'expand') {\n return col.width === undefined ? EXPAND_COL_WIDTH : depx(col.width);\n }\n if ('children' in col) return undefined;\n if (typeof col.width === 'string') {\n return depx(col.width);\n }\n return col.width;\n}\nexport function getStringColWidth(col) {\n var _a, _b;\n if (col.type === 'selection') {\n return formatLength((_a = col.width) !== null && _a !== void 0 ? _a : SELECTION_COL_WIDTH);\n }\n if (col.type === 'expand') {\n return formatLength((_b = col.width) !== null && _b !== void 0 ? _b : EXPAND_COL_WIDTH);\n }\n if ('children' in col) {\n return undefined;\n }\n return formatLength(col.width);\n}\nexport function getColKey(col) {\n if (col.type === 'selection') return '__n_selection__';\n if (col.type === 'expand') return '__n_expand__';\n return col.key;\n}\nexport function createShallowClonedObject(object) {\n if (!object) return object;\n if (typeof object === 'object') {\n return Object.assign({}, object);\n }\n return object;\n}\nexport function getFlagOfOrder(order) {\n if (order === 'ascend') return 1;else if (order === 'descend') return -1;\n return 0;\n}\n// priority: min-width > max-width > width\nexport function clampValueFollowCSSRules(value, min, max) {\n if (max !== undefined) {\n value = Math.min(value, typeof max === 'number' ? max : parseFloat(max));\n }\n if (min !== undefined) {\n value = Math.max(value, typeof min === 'number' ? min : parseFloat(min));\n }\n return value;\n}\nexport function createCustomWidthStyle(column, resizedWidth) {\n if (resizedWidth !== undefined) {\n return {\n width: resizedWidth,\n minWidth: resizedWidth,\n maxWidth: resizedWidth\n };\n }\n const width = getStringColWidth(column);\n const {\n minWidth,\n maxWidth\n } = column;\n return {\n width,\n minWidth: formatLength(minWidth) || width,\n maxWidth: formatLength(maxWidth)\n };\n}\nexport function createRowClassName(row, index, rowClassName) {\n if (typeof rowClassName === 'function') return rowClassName(row, index);\n return rowClassName || '';\n}\n// for compatibility\n// If column.filterOptionValues or column.defaultFilterOptionValues is set, use\n// array value\nexport function shouldUseArrayInSingleMode(column) {\n return column.filterOptionValues !== undefined || column.filterOptionValue === undefined && column.defaultFilterOptionValues !== undefined;\n}\nexport function isColumnSortable(column) {\n if ('children' in column) return false;\n return !!column.sorter;\n}\nexport function isColumnResizable(column) {\n if ('children' in column && !!column.children.length) return false;\n return !!column.resizable;\n}\nexport function isColumnFilterable(column) {\n if ('children' in column) return false;\n return !!column.filter && (!!column.filterOptions || !!column.renderFilterMenu);\n}\nfunction getNextOrderOf(order) {\n if (!order) return 'descend';else if (order === 'descend') return 'ascend';\n return false;\n}\nexport function createNextSorter(column, currentSortState) {\n if (column.sorter === undefined) return null;\n if (currentSortState === null || currentSortState.columnKey !== column.key) {\n return {\n columnKey: column.key,\n sorter: column.sorter,\n order: getNextOrderOf(false)\n };\n } else {\n return Object.assign(Object.assign({}, currentSortState), {\n order: getNextOrderOf(currentSortState.order)\n });\n }\n}\nexport function isColumnSorting(column, mergedSortState) {\n return mergedSortState.find(state => state.columnKey === column.key && state.order) !== undefined;\n}\nfunction formatCsvCell(value) {\n if (typeof value === 'string') {\n return value.replace(/,/g, '\\\\,');\n } else if (value === null || value === undefined) {\n return '';\n } else {\n // eslint-disable-next-line @typescript-eslint/no-base-to-string, @typescript-eslint/restrict-template-expressions\n return `${value}`.replace(/,/g, '\\\\,');\n }\n}\nexport function generateCsv(columns, data) {\n const exportableColumns = columns.filter(column => column.type !== 'expand' && column.type !== 'selection');\n const header = exportableColumns.map(col => col.title).join(',');\n const rows = data.map(row => {\n return exportableColumns.map(col => formatCsvCell(row[col.key])).join(',');\n });\n return [header, ...rows].join('\\n');\n}","import { h, defineComponent, ref, computed, inject } from 'vue';\nimport { NCheckbox, NCheckboxGroup } from \"../../../checkbox/index.mjs\";\nimport { NRadio, NRadioGroup } from \"../../../radio/index.mjs\";\nimport { NButton } from \"../../../button/index.mjs\";\nimport { NScrollbar } from \"../../../_internal/index.mjs\";\nimport { shouldUseArrayInSingleMode } from \"../utils.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport { useConfig, useRtl } from \"../../../_mixins/index.mjs\";\nexport default defineComponent({\n name: 'DataTableFilterMenu',\n props: {\n column: {\n type: Object,\n required: true\n },\n radioGroupName: {\n type: String,\n required: true\n },\n multiple: {\n type: Boolean,\n required: true\n },\n value: {\n type: [Array, String, Number],\n default: null\n },\n options: {\n type: Array,\n required: true\n },\n onConfirm: {\n type: Function,\n required: true\n },\n onClear: {\n type: Function,\n required: true\n },\n onChange: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const {\n mergedClsPrefixRef: mergedClsPrefixRefRtl,\n mergedRtlRef\n } = useConfig(props);\n const rtlEnabledRef = useRtl('DataTable', mergedRtlRef, mergedClsPrefixRefRtl);\n const {\n mergedClsPrefixRef,\n mergedThemeRef,\n localeRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n // to be compared with changed value\n // const initialValueRef = ref(props.value)\n const temporalValueRef = ref(props.value);\n const checkboxGroupValueRef = computed(() => {\n const {\n value: temporalValue\n } = temporalValueRef;\n if (!Array.isArray(temporalValue)) return null;\n return temporalValue;\n });\n const radioGroupValueRef = computed(() => {\n const {\n value: temporalValue\n } = temporalValueRef;\n if (shouldUseArrayInSingleMode(props.column)) {\n return Array.isArray(temporalValue) && temporalValue.length && temporalValue[0] || null;\n }\n if (!Array.isArray(temporalValue)) return temporalValue;\n return null;\n });\n function doChange(value) {\n // May need to check if equal\n ;\n props.onChange(value);\n }\n function handleChange(value) {\n if (props.multiple && Array.isArray(value)) {\n temporalValueRef.value = value;\n } else if (shouldUseArrayInSingleMode(props.column) && !Array.isArray(value)) {\n /** this branch is for compatibility */\n temporalValueRef.value = [value];\n } else {\n temporalValueRef.value = value;\n }\n }\n function handleConfirmClick() {\n doChange(temporalValueRef.value);\n props.onConfirm();\n }\n function handleClearClick() {\n if (props.multiple || shouldUseArrayInSingleMode(props.column)) {\n doChange([]);\n } else {\n doChange(null);\n }\n props.onClear();\n }\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\n mergedTheme: mergedThemeRef,\n locale: localeRef,\n checkboxGroupValue: checkboxGroupValueRef,\n radioGroupValue: radioGroupValueRef,\n handleChange,\n handleConfirmClick,\n handleClearClick\n };\n },\n render() {\n const {\n mergedTheme,\n locale,\n mergedClsPrefix\n } = this;\n return h(\"div\", {\n class: [`${mergedClsPrefix}-data-table-filter-menu`, this.rtlEnabled && `${mergedClsPrefix}-data-table-filter-menu--rtl`]\n }, h(NScrollbar, null, {\n default: () => {\n const {\n checkboxGroupValue,\n handleChange\n } = this;\n return this.multiple ? h(NCheckboxGroup, {\n value: checkboxGroupValue,\n class: `${mergedClsPrefix}-data-table-filter-menu__group`,\n onUpdateValue: handleChange\n }, {\n default: () => this.options.map(option => {\n return h(NCheckbox, {\n key: option.value,\n theme: mergedTheme.peers.Checkbox,\n themeOverrides: mergedTheme.peerOverrides.Checkbox,\n value: option.value\n }, {\n default: () => option.label\n });\n })\n }) : h(NRadioGroup, {\n name: this.radioGroupName,\n class: `${mergedClsPrefix}-data-table-filter-menu__group`,\n value: this.radioGroupValue,\n onUpdateValue: this.handleChange\n }, {\n default: () => this.options.map(option => h(NRadio, {\n key: option.value,\n value: option.value,\n theme: mergedTheme.peers.Radio,\n themeOverrides: mergedTheme.peerOverrides.Radio\n }, {\n default: () => option.label\n }))\n });\n }\n }), h(\"div\", {\n class: `${mergedClsPrefix}-data-table-filter-menu__action`\n }, h(NButton, {\n size: \"tiny\",\n theme: mergedTheme.peers.Button,\n themeOverrides: mergedTheme.peerOverrides.Button,\n onClick: this.handleClearClick\n }, {\n default: () => locale.clear\n }), h(NButton, {\n theme: mergedTheme.peers.Button,\n themeOverrides: mergedTheme.peerOverrides.Button,\n type: \"primary\",\n size: \"tiny\",\n onClick: this.handleConfirmClick\n }, {\n default: () => locale.confirm\n })));\n }\n});","import { h, defineComponent, ref, computed, inject } from 'vue';\nimport { FilterIcon } from \"../../../_internal/icons/index.mjs\";\nimport { NBaseIcon } from \"../../../_internal/index.mjs\";\nimport { NPopover } from \"../../../popover/index.mjs\";\nimport RenderFilter from \"./RenderFilter.mjs\";\nimport NDataTableFilterMenu from \"./FilterMenu.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport { useConfig } from \"../../../_mixins/index.mjs\";\nfunction createFilterState(currentFilterState, columnKey, mergedFilterValue) {\n const nextFilterState = Object.assign({}, currentFilterState);\n nextFilterState[columnKey] = mergedFilterValue;\n return nextFilterState;\n}\nexport default defineComponent({\n name: 'DataTableFilterButton',\n props: {\n column: {\n type: Object,\n required: true\n },\n options: {\n type: Array,\n default: () => []\n }\n },\n setup(props) {\n const {\n mergedComponentPropsRef\n } = useConfig();\n const {\n mergedThemeRef,\n mergedClsPrefixRef,\n mergedFilterStateRef,\n filterMenuCssVarsRef,\n paginationBehaviorOnFilterRef,\n doUpdatePage,\n doUpdateFilters\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const showPopoverRef = ref(false);\n const filterStateRef = mergedFilterStateRef;\n const filterMultipleRef = computed(() => {\n return props.column.filterMultiple !== false;\n });\n const mergedFilterValueRef = computed(() => {\n const filterValue = filterStateRef.value[props.column.key];\n if (filterValue === undefined) {\n const {\n value: multiple\n } = filterMultipleRef;\n if (multiple) return [];else return null;\n }\n return filterValue;\n });\n const activeRef = computed(() => {\n const {\n value: filterValue\n } = mergedFilterValueRef;\n if (Array.isArray(filterValue)) {\n return filterValue.length > 0;\n }\n return filterValue !== null;\n });\n const mergedRenderFilterRef = computed(() => {\n var _a, _b;\n return ((_b = (_a = mergedComponentPropsRef === null || mergedComponentPropsRef === void 0 ? void 0 : mergedComponentPropsRef.value) === null || _a === void 0 ? void 0 : _a.DataTable) === null || _b === void 0 ? void 0 : _b.renderFilter) || props.column.renderFilter;\n });\n function handleFilterChange(mergedFilterValue) {\n const nextFilterState = createFilterState(filterStateRef.value, props.column.key, mergedFilterValue);\n doUpdateFilters(nextFilterState, props.column);\n if (paginationBehaviorOnFilterRef.value === 'first') {\n doUpdatePage(1);\n }\n }\n function handleFilterMenuCancel() {\n showPopoverRef.value = false;\n }\n function handleFilterMenuConfirm() {\n showPopoverRef.value = false;\n }\n return {\n mergedTheme: mergedThemeRef,\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n showPopover: showPopoverRef,\n mergedRenderFilter: mergedRenderFilterRef,\n filterMultiple: filterMultipleRef,\n mergedFilterValue: mergedFilterValueRef,\n filterMenuCssVars: filterMenuCssVarsRef,\n handleFilterChange,\n handleFilterMenuConfirm,\n handleFilterMenuCancel\n };\n },\n render() {\n const {\n mergedTheme,\n mergedClsPrefix,\n handleFilterMenuCancel\n } = this;\n return h(NPopover, {\n show: this.showPopover,\n onUpdateShow: v => this.showPopover = v,\n trigger: \"click\",\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n placement: \"bottom\",\n style: {\n padding: 0\n }\n }, {\n trigger: () => {\n const {\n mergedRenderFilter\n } = this;\n if (mergedRenderFilter) {\n return h(RenderFilter, {\n \"data-data-table-filter\": true,\n render: mergedRenderFilter,\n active: this.active,\n show: this.showPopover\n });\n }\n const {\n renderFilterIcon\n } = this.column;\n return h(\"div\", {\n \"data-data-table-filter\": true,\n class: [`${mergedClsPrefix}-data-table-filter`, {\n [`${mergedClsPrefix}-data-table-filter--active`]: this.active,\n [`${mergedClsPrefix}-data-table-filter--show`]: this.showPopover\n }]\n }, renderFilterIcon ? renderFilterIcon({\n active: this.active,\n show: this.showPopover\n }) : h(NBaseIcon, {\n clsPrefix: mergedClsPrefix\n }, {\n default: () => h(FilterIcon, null)\n }));\n },\n default: () => {\n const {\n renderFilterMenu\n } = this.column;\n return renderFilterMenu ? renderFilterMenu({\n hide: handleFilterMenuCancel\n }) : h(NDataTableFilterMenu, {\n style: this.filterMenuCssVars,\n radioGroupName: String(this.column.key),\n multiple: this.filterMultiple,\n value: this.mergedFilterValue,\n options: this.options,\n column: this.column,\n onChange: this.handleFilterChange,\n onClear: this.handleFilterMenuCancel,\n onConfirm: this.handleFilterMenuConfirm\n });\n }\n });\n }\n});","import { defineComponent, h, inject, ref, onBeforeUnmount } from 'vue';\nimport { off, on } from 'evtd';\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nexport default defineComponent({\n name: 'ColumnResizeButton',\n props: {\n onResizeStart: Function,\n onResize: Function,\n onResizeEnd: Function\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const {\n mergedClsPrefixRef\n } = inject(dataTableInjectionKey);\n const activeRef = ref(false);\n let startX = 0;\n function getMouseX(e) {\n return e.clientX;\n }\n function handleMousedown(e) {\n var _a;\n e.preventDefault();\n const alreadyStarted = activeRef.value;\n startX = getMouseX(e);\n activeRef.value = true;\n if (!alreadyStarted) {\n on('mousemove', window, handleMousemove);\n on('mouseup', window, handleMouseup);\n (_a = props.onResizeStart) === null || _a === void 0 ? void 0 : _a.call(props);\n }\n }\n function handleMousemove(e) {\n var _a;\n (_a = props.onResize) === null || _a === void 0 ? void 0 : _a.call(props, getMouseX(e) - startX);\n }\n function handleMouseup() {\n var _a;\n activeRef.value = false;\n (_a = props.onResizeEnd) === null || _a === void 0 ? void 0 : _a.call(props);\n off('mousemove', window, handleMousemove);\n off('mouseup', window, handleMouseup);\n }\n onBeforeUnmount(() => {\n off('mousemove', window, handleMousemove);\n off('mouseup', window, handleMouseup);\n });\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n active: activeRef,\n handleMousedown\n };\n },\n render() {\n const {\n mergedClsPrefix\n } = this;\n return h(\"span\", {\n \"data-data-table-resizable\": true,\n class: [`${mergedClsPrefix}-data-table-resize-button`, this.active && `${mergedClsPrefix}-data-table-resize-button--active`],\n onMousedown: this.handleMousedown\n });\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DropdownDivider',\n props: {\n clsPrefix: {\n type: String,\n required: true\n }\n },\n render() {\n return h(\"div\", {\n class: `${this.clsPrefix}-dropdown-divider`\n });\n }\n});","import { createInjectionKey } from \"../../_utils/index.mjs\";\nexport const dropdownMenuInjectionKey = createInjectionKey('n-dropdown-menu');\nexport const dropdownInjectionKey = createInjectionKey('n-dropdown');\nexport const dropdownOptionInjectionKey = createInjectionKey('n-dropdown-option');","export function isSubmenuNode(rawNode, childrenField) {\n return rawNode.type === 'submenu' || rawNode.type === undefined && rawNode[childrenField] !== undefined;\n}\nexport function isGroupNode(rawNode) {\n return rawNode.type === 'group';\n}\nexport function isDividerNode(rawNode) {\n return rawNode.type === 'divider';\n}\nexport function isRenderNode(rawNode) {\n return rawNode.type === 'render';\n}","import { h, computed, inject, ref, Transition, defineComponent, provide, mergeProps } from 'vue';\nimport { VBinder, VTarget, VFollower } from 'vueuc';\nimport { useMemo } from 'vooks';\nimport { happensIn } from 'seemly';\nimport { ChevronRightIcon } from \"../../_internal/icons/index.mjs\";\nimport { render, useDeferredTrue } from \"../../_utils/index.mjs\";\nimport { NIcon } from \"../../icon/index.mjs\";\n// eslint-disable-next-line import/no-cycle\nimport NDropdownMenu from \"./DropdownMenu.mjs\";\nimport { dropdownMenuInjectionKey, dropdownInjectionKey, dropdownOptionInjectionKey } from \"./context.mjs\";\nimport { popoverBodyInjectionKey } from \"../../popover/src/interface.mjs\";\nimport { isSubmenuNode } from \"./utils.mjs\";\nexport default defineComponent({\n name: 'DropdownOption',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n },\n parentKey: {\n type: [String, Number],\n default: null\n },\n placement: {\n type: String,\n default: 'right-start'\n },\n props: Object,\n scrollable: Boolean\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NDropdown = inject(dropdownInjectionKey);\n const {\n hoverKeyRef,\n keyboardKeyRef,\n lastToggledSubmenuKeyRef,\n pendingKeyPathRef,\n activeKeyPathRef,\n animatedRef,\n mergedShowRef,\n renderLabelRef,\n renderIconRef,\n labelFieldRef,\n childrenFieldRef,\n renderOptionRef,\n nodePropsRef,\n menuPropsRef\n } = NDropdown;\n const NDropdownOption = inject(dropdownOptionInjectionKey, null);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NDropdownMenu = inject(dropdownMenuInjectionKey);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const NPopoverBody = inject(popoverBodyInjectionKey);\n const rawNodeRef = computed(() => props.tmNode.rawNode);\n const hasSubmenuRef = computed(() => {\n const {\n value: childrenField\n } = childrenFieldRef;\n return isSubmenuNode(props.tmNode.rawNode, childrenField);\n });\n const mergedDisabledRef = computed(() => {\n const {\n disabled\n } = props.tmNode;\n return disabled;\n });\n const showSubmenuRef = computed(() => {\n if (!hasSubmenuRef.value) return false;\n const {\n key,\n disabled\n } = props.tmNode;\n if (disabled) return false;\n const {\n value: hoverKey\n } = hoverKeyRef;\n const {\n value: keyboardKey\n } = keyboardKeyRef;\n const {\n value: lastToggledSubmenuKey\n } = lastToggledSubmenuKeyRef;\n const {\n value: pendingKeyPath\n } = pendingKeyPathRef;\n if (hoverKey !== null) return pendingKeyPath.includes(key);\n if (keyboardKey !== null) {\n return pendingKeyPath.includes(key) && pendingKeyPath[pendingKeyPath.length - 1] !== key;\n }\n if (lastToggledSubmenuKey !== null) return pendingKeyPath.includes(key);\n return false;\n });\n const shouldDelayRef = computed(() => {\n return keyboardKeyRef.value === null && !animatedRef.value;\n });\n const deferredShowSubmenuRef = useDeferredTrue(showSubmenuRef, 300, shouldDelayRef);\n const parentEnteringSubmenuRef = computed(() => {\n return !!(NDropdownOption === null || NDropdownOption === void 0 ? void 0 : NDropdownOption.enteringSubmenuRef.value);\n });\n const enteringSubmenuRef = ref(false);\n provide(dropdownOptionInjectionKey, {\n enteringSubmenuRef\n });\n // methods\n function handleSubmenuBeforeEnter() {\n enteringSubmenuRef.value = true;\n }\n function handleSubmenuAfterEnter() {\n enteringSubmenuRef.value = false;\n }\n function handleMouseEnter() {\n const {\n parentKey,\n tmNode\n } = props;\n if (tmNode.disabled) return;\n if (!mergedShowRef.value) return;\n lastToggledSubmenuKeyRef.value = parentKey;\n keyboardKeyRef.value = null;\n hoverKeyRef.value = tmNode.key;\n }\n function handleMouseMove() {\n const {\n tmNode\n } = props;\n if (tmNode.disabled) return;\n if (!mergedShowRef.value) return;\n if (hoverKeyRef.value === tmNode.key) return;\n handleMouseEnter();\n }\n function handleMouseLeave(e) {\n if (props.tmNode.disabled) return;\n if (!mergedShowRef.value) return;\n const {\n relatedTarget\n } = e;\n if (relatedTarget && !happensIn({\n target: relatedTarget\n }, 'dropdownOption') && !happensIn({\n target: relatedTarget\n }, 'scrollbarRail')) {\n hoverKeyRef.value = null;\n }\n }\n function handleClick() {\n const {\n value: hasSubmenu\n } = hasSubmenuRef;\n const {\n tmNode\n } = props;\n if (!mergedShowRef.value) return;\n if (!hasSubmenu && !tmNode.disabled) {\n NDropdown.doSelect(tmNode.key, tmNode.rawNode);\n NDropdown.doUpdateShow(false);\n }\n }\n return {\n labelField: labelFieldRef,\n renderLabel: renderLabelRef,\n renderIcon: renderIconRef,\n siblingHasIcon: NDropdownMenu.showIconRef,\n siblingHasSubmenu: NDropdownMenu.hasSubmenuRef,\n menuProps: menuPropsRef,\n popoverBody: NPopoverBody,\n animated: animatedRef,\n mergedShowSubmenu: computed(() => {\n return deferredShowSubmenuRef.value && !parentEnteringSubmenuRef.value;\n }),\n rawNode: rawNodeRef,\n hasSubmenu: hasSubmenuRef,\n pending: useMemo(() => {\n const {\n value: pendingKeyPath\n } = pendingKeyPathRef;\n const {\n key\n } = props.tmNode;\n return pendingKeyPath.includes(key);\n }),\n childActive: useMemo(() => {\n const {\n value: activeKeyPath\n } = activeKeyPathRef;\n const {\n key\n } = props.tmNode;\n const index = activeKeyPath.findIndex(k => key === k);\n if (index === -1) return false;\n return index < activeKeyPath.length - 1;\n }),\n active: useMemo(() => {\n const {\n value: activeKeyPath\n } = activeKeyPathRef;\n const {\n key\n } = props.tmNode;\n const index = activeKeyPath.findIndex(k => key === k);\n if (index === -1) return false;\n return index === activeKeyPath.length - 1;\n }),\n mergedDisabled: mergedDisabledRef,\n renderOption: renderOptionRef,\n nodeProps: nodePropsRef,\n handleClick,\n handleMouseMove,\n handleMouseEnter,\n handleMouseLeave,\n handleSubmenuBeforeEnter,\n handleSubmenuAfterEnter\n };\n },\n render() {\n var _a, _b;\n const {\n animated,\n rawNode,\n mergedShowSubmenu,\n clsPrefix,\n siblingHasIcon,\n siblingHasSubmenu,\n renderLabel,\n renderIcon,\n renderOption,\n nodeProps,\n props,\n scrollable\n } = this;\n let submenuVNode = null;\n if (mergedShowSubmenu) {\n const submenuNodeProps = (_a = this.menuProps) === null || _a === void 0 ? void 0 : _a.call(this, rawNode, rawNode.children);\n submenuVNode = h(NDropdownMenu, Object.assign({}, submenuNodeProps, {\n clsPrefix: clsPrefix,\n scrollable: this.scrollable,\n tmNodes: this.tmNode.children,\n parentKey: this.tmNode.key\n }));\n }\n const builtinProps = {\n class: [`${clsPrefix}-dropdown-option-body`, this.pending && `${clsPrefix}-dropdown-option-body--pending`, this.active && `${clsPrefix}-dropdown-option-body--active`, this.childActive && `${clsPrefix}-dropdown-option-body--child-active`, this.mergedDisabled && `${clsPrefix}-dropdown-option-body--disabled`],\n onMousemove: this.handleMouseMove,\n onMouseenter: this.handleMouseEnter,\n onMouseleave: this.handleMouseLeave,\n onClick: this.handleClick\n };\n const optionNodeProps = nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode);\n const node = h(\"div\", Object.assign({\n class: [`${clsPrefix}-dropdown-option`, optionNodeProps === null || optionNodeProps === void 0 ? void 0 : optionNodeProps.class],\n \"data-dropdown-option\": true\n }, optionNodeProps), h('div', mergeProps(builtinProps, props), [h(\"div\", {\n class: [`${clsPrefix}-dropdown-option-body__prefix`, siblingHasIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`]\n }, [renderIcon ? renderIcon(rawNode) : render(rawNode.icon)]), h(\"div\", {\n \"data-dropdown-option\": true,\n class: `${clsPrefix}-dropdown-option-body__label`\n }, renderLabel ? renderLabel(rawNode) : render((_b = rawNode[this.labelField]) !== null && _b !== void 0 ? _b : rawNode.title)), h(\"div\", {\n \"data-dropdown-option\": true,\n class: [`${clsPrefix}-dropdown-option-body__suffix`, siblingHasSubmenu && `${clsPrefix}-dropdown-option-body__suffix--has-submenu`]\n }, this.hasSubmenu ? h(NIcon, null, {\n default: () => h(ChevronRightIcon, null)\n }) : null)]), this.hasSubmenu ? h(VBinder, null, {\n default: () => [h(VTarget, null, {\n default: () => h(\"div\", {\n class: `${clsPrefix}-dropdown-offset-container`\n }, h(VFollower, {\n show: this.mergedShowSubmenu,\n placement: this.placement,\n to: scrollable ? this.popoverBody || undefined : undefined,\n teleportDisabled: !scrollable\n }, {\n default: () => {\n return h(\"div\", {\n class: `${clsPrefix}-dropdown-menu-wrapper`\n }, animated ? h(Transition, {\n onBeforeEnter: this.handleSubmenuBeforeEnter,\n onAfterEnter: this.handleSubmenuAfterEnter,\n name: \"fade-in-scale-up-transition\",\n appear: true\n }, {\n default: () => submenuVNode\n }) : submenuVNode);\n }\n }))\n })]\n }) : null);\n if (renderOption) {\n return renderOption({\n node,\n option: rawNode\n });\n }\n return node;\n }\n});","import { defineComponent, h, inject } from 'vue';\nimport { render } from \"../../_utils/index.mjs\";\nimport { dropdownInjectionKey, dropdownMenuInjectionKey } from \"./context.mjs\";\nexport default defineComponent({\n name: 'DropdownGroupHeader',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n }\n },\n setup() {\n const {\n showIconRef,\n hasSubmenuRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dropdownMenuInjectionKey);\n const {\n renderLabelRef,\n labelFieldRef,\n nodePropsRef,\n renderOptionRef\n } =\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n inject(dropdownInjectionKey);\n return {\n labelField: labelFieldRef,\n showIcon: showIconRef,\n hasSubmenu: hasSubmenuRef,\n renderLabel: renderLabelRef,\n nodeProps: nodePropsRef,\n renderOption: renderOptionRef\n };\n },\n render() {\n var _a;\n const {\n clsPrefix,\n hasSubmenu,\n showIcon,\n nodeProps,\n renderLabel,\n renderOption\n } = this;\n const {\n rawNode\n } = this.tmNode;\n const node = h(\"div\", Object.assign({\n class: `${clsPrefix}-dropdown-option`\n }, nodeProps === null || nodeProps === void 0 ? void 0 : nodeProps(rawNode)), h(\"div\", {\n class: `${clsPrefix}-dropdown-option-body ${clsPrefix}-dropdown-option-body--group`\n }, h(\"div\", {\n \"data-dropdown-option\": true,\n class: [`${clsPrefix}-dropdown-option-body__prefix`, showIcon && `${clsPrefix}-dropdown-option-body__prefix--show-icon`]\n }, render(rawNode.icon)), h(\"div\", {\n class: `${clsPrefix}-dropdown-option-body__label`,\n \"data-dropdown-option\": true\n }, renderLabel ? renderLabel(rawNode) : render((_a = rawNode.title) !== null && _a !== void 0 ? _a : rawNode[this.labelField])), h(\"div\", {\n class: [`${clsPrefix}-dropdown-option-body__suffix`, hasSubmenu && `${clsPrefix}-dropdown-option-body__suffix--has-submenu`],\n \"data-dropdown-option\": true\n })));\n if (renderOption) {\n return renderOption({\n node,\n option: rawNode\n });\n }\n return node;\n }\n});","import { defineComponent, Fragment, h } from 'vue';\nimport { warn } from \"../../_utils/index.mjs\";\n// eslint-disable-next-line import/no-cycle\nimport NDropdownOption from \"./DropdownOption.mjs\";\nimport NDropdownDivider from \"./DropdownDivider.mjs\";\nimport NDropdownGroupHeader from \"./DropdownGroupHeader.mjs\";\nimport { isDividerNode } from \"./utils.mjs\";\nexport default defineComponent({\n name: 'NDropdownGroup',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n tmNode: {\n type: Object,\n required: true\n },\n parentKey: {\n type: [String, Number],\n default: null\n }\n },\n render() {\n const {\n tmNode,\n parentKey,\n clsPrefix\n } = this;\n const {\n children\n } = tmNode;\n return h(Fragment, null, h(NDropdownGroupHeader, {\n clsPrefix: clsPrefix,\n tmNode: tmNode,\n key: tmNode.key\n }), children === null || children === void 0 ? void 0 : children.map(child => {\n const {\n rawNode\n } = child;\n if (rawNode.show === false) return null;\n if (isDividerNode(rawNode)) {\n return h(NDropdownDivider, {\n clsPrefix,\n key: child.key\n });\n }\n if (child.isGroup) {\n warn('dropdown', '`group` node is not allowed to be put in `group` node.');\n return null;\n }\n return h(NDropdownOption, {\n clsPrefix: clsPrefix,\n tmNode: child,\n parentKey: parentKey,\n key: child.key\n });\n }));\n }\n});","import { h, defineComponent } from 'vue';\nexport default defineComponent({\n name: 'DropdownRenderOption',\n props: {\n tmNode: {\n type: Object,\n required: true\n }\n },\n render() {\n const {\n rawNode: {\n render,\n props\n }\n } = this.tmNode;\n return h('div', props, [render === null || render === void 0 ? void 0 : render()]);\n }\n});","import { computed, defineComponent, h, inject, provide, ref } from 'vue';\nimport { renderArrow } from \"../../popover/src/PopoverBody.mjs\";\nimport { NxScrollbar } from \"../../_internal/scrollbar/index.mjs\";\nimport NDropdownDivider from \"./DropdownDivider.mjs\";\n// eslint-disable-next-line import/no-cycle\nimport NDropdownGroup from \"./DropdownGroup.mjs\";\n// eslint-disable-next-line import/no-cycle\nimport NDropdownOption from \"./DropdownOption.mjs\";\nimport NDropdownRenderOption from \"./DropdownRenderOption.mjs\";\nimport { isSubmenuNode, isGroupNode, isDividerNode, isRenderNode } from \"./utils.mjs\";\nimport { dropdownInjectionKey, dropdownMenuInjectionKey } from \"./context.mjs\";\nimport { modalBodyInjectionKey } from \"../../modal/src/interface.mjs\";\nimport { drawerBodyInjectionKey } from \"../../drawer/src/interface.mjs\";\nimport { popoverBodyInjectionKey } from \"../../popover/src/interface.mjs\";\nexport default defineComponent({\n name: 'DropdownMenu',\n props: {\n scrollable: Boolean,\n showArrow: Boolean,\n arrowStyle: [String, Object],\n clsPrefix: {\n type: String,\n required: true\n },\n tmNodes: {\n type: Array,\n default: () => []\n },\n parentKey: {\n type: [String, Number],\n default: null\n }\n },\n setup(props) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const {\n renderIconRef,\n childrenFieldRef\n } = inject(dropdownInjectionKey);\n provide(dropdownMenuInjectionKey, {\n showIconRef: computed(() => {\n const renderIcon = renderIconRef.value;\n return props.tmNodes.some(tmNode => {\n var _a;\n if (tmNode.isGroup) {\n return (_a = tmNode.children) === null || _a === void 0 ? void 0 : _a.some(({\n rawNode: rawChild\n }) => renderIcon ? renderIcon(rawChild) : rawChild.icon);\n }\n const {\n rawNode\n } = tmNode;\n return renderIcon ? renderIcon(rawNode) : rawNode.icon;\n });\n }),\n hasSubmenuRef: computed(() => {\n const {\n value: childrenField\n } = childrenFieldRef;\n return props.tmNodes.some(tmNode => {\n var _a;\n if (tmNode.isGroup) {\n return (_a = tmNode.children) === null || _a === void 0 ? void 0 : _a.some(({\n rawNode: rawChild\n }) => isSubmenuNode(rawChild, childrenField));\n }\n const {\n rawNode\n } = tmNode;\n return isSubmenuNode(rawNode, childrenField);\n });\n })\n });\n const bodyRef = ref(null);\n provide(modalBodyInjectionKey, null);\n provide(drawerBodyInjectionKey, null);\n provide(popoverBodyInjectionKey, bodyRef);\n return {\n bodyRef\n };\n },\n render() {\n const {\n parentKey,\n clsPrefix,\n scrollable\n } = this;\n const menuOptionsNode = this.tmNodes.map(tmNode => {\n const {\n rawNode\n } = tmNode;\n if (rawNode.show === false) return null;\n if (isRenderNode(rawNode)) {\n return h(NDropdownRenderOption, {\n tmNode: tmNode,\n key: tmNode.key\n });\n }\n if (isDividerNode(rawNode)) {\n return h(NDropdownDivider, {\n clsPrefix: clsPrefix,\n key: tmNode.key\n });\n }\n if (isGroupNode(rawNode)) {\n return h(NDropdownGroup, {\n clsPrefix: clsPrefix,\n tmNode: tmNode,\n parentKey: parentKey,\n key: tmNode.key\n });\n }\n return h(NDropdownOption, {\n clsPrefix: clsPrefix,\n tmNode: tmNode,\n parentKey: parentKey,\n key: tmNode.key,\n props: rawNode.props,\n scrollable: scrollable\n });\n });\n return h(\"div\", {\n class: [`${clsPrefix}-dropdown-menu`, scrollable && `${clsPrefix}-dropdown-menu--scrollable`],\n ref: \"bodyRef\"\n }, scrollable ? h(NxScrollbar, {\n contentClass: `${clsPrefix}-dropdown-menu__content`\n }, {\n default: () => menuOptionsNode\n }) : menuOptionsNode, this.showArrow ? renderArrow({\n clsPrefix,\n arrowStyle: this.arrowStyle,\n arrowClass: undefined,\n arrowWrapperClass: undefined,\n arrowWrapperStyle: undefined\n }) : null);\n }\n});","import { c, cB, cM, cE, cNotM } from \"../../../_utils/cssr/index.mjs\";\nimport { fadeInScaleUpTransition } from \"../../../_styles/transitions/fade-in-scale-up.cssr.mjs\";\n// vars:\n// --n-bezier\n// --n-font-size\n// --n-padding\n// --n-border-radius\n// --n-option-height\n// --n-option-prefix-width\n// --n-option-icon-prefix-width\n// --n-option-suffix-width\n// --n-option-icon-suffix-width\n// --n-color\n// --n-option-color-hover\n// --n-option-color-active\n// --n-divider-color\n// --n-option-text-color\n// --n-option-text-color-hover\n// --n-option-text-color-active\n// --n-option-text-color-child-active\n// --n-prefix-color\n// --n-suffix-color\n// --n-option-icon-size\n// --n-option-opacity-disabled\n// shared with popover\n// --n-box-shadow\nexport default cB('dropdown-menu', `\n transform-origin: var(--v-transform-origin);\n background-color: var(--n-color);\n border-radius: var(--n-border-radius);\n box-shadow: var(--n-box-shadow);\n position: relative;\n transition:\n background-color .3s var(--n-bezier),\n box-shadow .3s var(--n-bezier);\n`, [fadeInScaleUpTransition(), cB('dropdown-option', `\n position: relative;\n `, [c('a', `\n text-decoration: none;\n color: inherit;\n outline: none;\n `, [c('&::before', `\n content: \"\";\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `)]), cB('dropdown-option-body', `\n display: flex;\n cursor: pointer;\n position: relative;\n height: var(--n-option-height);\n line-height: var(--n-option-height);\n font-size: var(--n-font-size);\n color: var(--n-option-text-color);\n transition: color .3s var(--n-bezier);\n `, [c('&::before', `\n content: \"\";\n position: absolute;\n top: 0;\n bottom: 0;\n left: 4px;\n right: 4px;\n transition: background-color .3s var(--n-bezier);\n border-radius: var(--n-border-radius);\n `), cNotM('disabled', [cM('pending', `\n color: var(--n-option-text-color-hover);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-hover);\n `), c('&::before', 'background-color: var(--n-option-color-hover);')]), cM('active', `\n color: var(--n-option-text-color-active);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-active);\n `), c('&::before', 'background-color: var(--n-option-color-active);')]), cM('child-active', `\n color: var(--n-option-text-color-child-active);\n `, [cE('prefix, suffix', `\n color: var(--n-option-text-color-child-active);\n `)])]), cM('disabled', `\n cursor: not-allowed;\n opacity: var(--n-option-opacity-disabled);\n `), cM('group', `\n font-size: calc(var(--n-font-size) - 1px);\n color: var(--n-group-header-text-color);\n `, [cE('prefix', `\n width: calc(var(--n-option-prefix-width) / 2);\n `, [cM('show-icon', `\n width: calc(var(--n-option-icon-prefix-width) / 2);\n `)])]), cE('prefix', `\n width: var(--n-option-prefix-width);\n display: flex;\n justify-content: center;\n align-items: center;\n color: var(--n-prefix-color);\n transition: color .3s var(--n-bezier);\n z-index: 1;\n `, [cM('show-icon', `\n width: var(--n-option-icon-prefix-width);\n `), cB('icon', `\n font-size: var(--n-option-icon-size);\n `)]), cE('label', `\n white-space: nowrap;\n flex: 1;\n z-index: 1;\n `), cE('suffix', `\n box-sizing: border-box;\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n min-width: var(--n-option-suffix-width);\n padding: 0 8px;\n transition: color .3s var(--n-bezier);\n color: var(--n-suffix-color);\n z-index: 1;\n `, [cM('has-submenu', `\n width: var(--n-option-icon-suffix-width);\n `), cB('icon', `\n font-size: var(--n-option-icon-size);\n `)]), cB('dropdown-menu', 'pointer-events: all;')]), cB('dropdown-offset-container', `\n pointer-events: none;\n position: absolute;\n left: 0;\n right: 0;\n top: -4px;\n bottom: -4px;\n `)]), cB('dropdown-divider', `\n transition: background-color .3s var(--n-bezier);\n background-color: var(--n-divider-color);\n height: 1px;\n margin: 4px 0;\n `), cB('dropdown-menu-wrapper', `\n transform-origin: var(--v-transform-origin);\n width: fit-content;\n `), c('>', [cB('scrollbar', `\n height: inherit;\n max-height: inherit;\n `)]), cNotM('scrollable', `\n padding: var(--n-padding);\n `), cM('scrollable', [cE('content', `\n padding: var(--n-padding);\n `)])]);","import { defineComponent, h, computed, ref, toRef, watch, provide, mergeProps } from 'vue';\nimport { createTreeMate } from 'treemate';\nimport { useMergedState, useKeyboard, useMemo } from 'vooks';\nimport { popoverBaseProps } from \"../../popover/src/Popover.mjs\";\nimport { useConfig, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { NPopover } from \"../../popover/index.mjs\";\nimport { keep, call, createKey, createRefSetter } from \"../../_utils/index.mjs\";\nimport { dropdownLight } from \"../styles/index.mjs\";\nimport NDropdownMenu from \"./DropdownMenu.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nimport { dropdownInjectionKey } from \"./context.mjs\";\nconst dropdownBaseProps = {\n animated: {\n type: Boolean,\n default: true\n },\n keyboard: {\n type: Boolean,\n default: true\n },\n size: {\n type: String,\n default: 'medium'\n },\n inverted: Boolean,\n placement: {\n type: String,\n default: 'bottom'\n },\n onSelect: [Function, Array],\n options: {\n type: Array,\n default: () => []\n },\n menuProps: Function,\n showArrow: Boolean,\n renderLabel: Function,\n renderIcon: Function,\n renderOption: Function,\n nodeProps: Function,\n labelField: {\n type: String,\n default: 'label'\n },\n keyField: {\n type: String,\n default: 'key'\n },\n childrenField: {\n type: String,\n default: 'children'\n },\n // for menu, not documented\n value: [String, Number]\n};\nconst popoverPropKeys = Object.keys(popoverBaseProps);\nexport const dropdownProps = Object.assign(Object.assign(Object.assign({}, popoverBaseProps), dropdownBaseProps), useTheme.props);\nexport default defineComponent({\n name: 'Dropdown',\n inheritAttrs: false,\n props: dropdownProps,\n setup(props) {\n const uncontrolledShowRef = ref(false);\n const mergedShowRef = useMergedState(toRef(props, 'show'), uncontrolledShowRef);\n const treemateRef = computed(() => {\n const {\n keyField,\n childrenField\n } = props;\n return createTreeMate(props.options, {\n getKey(node) {\n return node[keyField];\n },\n getDisabled(node) {\n return node.disabled === true;\n },\n getIgnored(node) {\n return node.type === 'divider' || node.type === 'render';\n },\n getChildren(node) {\n return node[childrenField];\n }\n });\n });\n const tmNodesRef = computed(() => {\n return treemateRef.value.treeNodes;\n });\n const hoverKeyRef = ref(null);\n const keyboardKeyRef = ref(null);\n const lastToggledSubmenuKeyRef = ref(null);\n const pendingKeyRef = computed(() => {\n var _a, _b, _c;\n return (_c = (_b = (_a = hoverKeyRef.value) !== null && _a !== void 0 ? _a : keyboardKeyRef.value) !== null && _b !== void 0 ? _b : lastToggledSubmenuKeyRef.value) !== null && _c !== void 0 ? _c : null;\n });\n const pendingKeyPathRef = computed(() => treemateRef.value.getPath(pendingKeyRef.value).keyPath);\n const activeKeyPathRef = computed(() => treemateRef.value.getPath(props.value).keyPath);\n const keyboardEnabledRef = useMemo(() => {\n return props.keyboard && mergedShowRef.value;\n });\n useKeyboard({\n keydown: {\n ArrowUp: {\n prevent: true,\n handler: handleKeydownUp\n },\n ArrowRight: {\n prevent: true,\n handler: handleKeydownRight\n },\n ArrowDown: {\n prevent: true,\n handler: handleKeydownDown\n },\n ArrowLeft: {\n prevent: true,\n handler: handleKeydownLeft\n },\n Enter: {\n prevent: true,\n handler: handleKeydownEnter\n },\n Escape: handleKeydownEsc\n }\n }, keyboardEnabledRef);\n const {\n mergedClsPrefixRef,\n inlineThemeDisabled\n } = useConfig(props);\n const themeRef = useTheme('Dropdown', '-dropdown', style, dropdownLight, props, mergedClsPrefixRef);\n provide(dropdownInjectionKey, {\n labelFieldRef: toRef(props, 'labelField'),\n childrenFieldRef: toRef(props, 'childrenField'),\n renderLabelRef: toRef(props, 'renderLabel'),\n renderIconRef: toRef(props, 'renderIcon'),\n hoverKeyRef,\n keyboardKeyRef,\n lastToggledSubmenuKeyRef,\n pendingKeyPathRef,\n activeKeyPathRef,\n animatedRef: toRef(props, 'animated'),\n mergedShowRef,\n nodePropsRef: toRef(props, 'nodeProps'),\n renderOptionRef: toRef(props, 'renderOption'),\n menuPropsRef: toRef(props, 'menuProps'),\n doSelect,\n doUpdateShow\n });\n // watch\n watch(mergedShowRef, value => {\n if (!props.animated && !value) {\n clearPendingState();\n }\n });\n // methods\n function doSelect(key, node) {\n const {\n onSelect\n } = props;\n if (onSelect) call(onSelect, key, node);\n }\n function doUpdateShow(value) {\n const {\n 'onUpdate:show': _onUpdateShow,\n onUpdateShow\n } = props;\n if (_onUpdateShow) call(_onUpdateShow, value);\n if (onUpdateShow) call(onUpdateShow, value);\n uncontrolledShowRef.value = value;\n }\n function clearPendingState() {\n hoverKeyRef.value = null;\n keyboardKeyRef.value = null;\n lastToggledSubmenuKeyRef.value = null;\n }\n function handleKeydownEsc() {\n doUpdateShow(false);\n }\n function handleKeydownLeft() {\n handleKeydown('left');\n }\n function handleKeydownRight() {\n handleKeydown('right');\n }\n function handleKeydownUp() {\n handleKeydown('up');\n }\n function handleKeydownDown() {\n handleKeydown('down');\n }\n function handleKeydownEnter() {\n const pendingNode = getPendingNode();\n if ((pendingNode === null || pendingNode === void 0 ? void 0 : pendingNode.isLeaf) && mergedShowRef.value) {\n doSelect(pendingNode.key, pendingNode.rawNode);\n doUpdateShow(false);\n }\n }\n function getPendingNode() {\n var _a;\n const {\n value: treeMate\n } = treemateRef;\n const {\n value: pendingKey\n } = pendingKeyRef;\n if (!treeMate || pendingKey === null) return null;\n return (_a = treeMate.getNode(pendingKey)) !== null && _a !== void 0 ? _a : null;\n }\n function handleKeydown(direction) {\n const {\n value: pendingKey\n } = pendingKeyRef;\n const {\n value: {\n getFirstAvailableNode\n }\n } = treemateRef;\n let nextKeyboardKey = null;\n if (pendingKey === null) {\n const firstNode = getFirstAvailableNode();\n if (firstNode !== null) {\n nextKeyboardKey = firstNode.key;\n }\n } else {\n const currentNode = getPendingNode();\n if (currentNode) {\n let nextNode;\n switch (direction) {\n case 'down':\n nextNode = currentNode.getNext();\n break;\n case 'up':\n nextNode = currentNode.getPrev();\n break;\n case 'right':\n nextNode = currentNode.getChild();\n break;\n case 'left':\n nextNode = currentNode.getParent();\n break;\n }\n if (nextNode) nextKeyboardKey = nextNode.key;\n }\n }\n if (nextKeyboardKey !== null) {\n hoverKeyRef.value = null;\n keyboardKeyRef.value = nextKeyboardKey;\n }\n }\n const cssVarsRef = computed(() => {\n const {\n size,\n inverted\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self\n } = themeRef.value;\n const {\n padding,\n dividerColor,\n borderRadius,\n optionOpacityDisabled,\n [createKey('optionIconSuffixWidth', size)]: optionIconSuffixWidth,\n [createKey('optionSuffixWidth', size)]: optionSuffixWidth,\n [createKey('optionIconPrefixWidth', size)]: optionIconPrefixWidth,\n [createKey('optionPrefixWidth', size)]: optionPrefixWidth,\n [createKey('fontSize', size)]: fontSize,\n [createKey('optionHeight', size)]: optionHeight,\n [createKey('optionIconSize', size)]: optionIconSize\n } = self;\n const vars = {\n '--n-bezier': cubicBezierEaseInOut,\n '--n-font-size': fontSize,\n '--n-padding': padding,\n '--n-border-radius': borderRadius,\n '--n-option-height': optionHeight,\n '--n-option-prefix-width': optionPrefixWidth,\n '--n-option-icon-prefix-width': optionIconPrefixWidth,\n '--n-option-suffix-width': optionSuffixWidth,\n '--n-option-icon-suffix-width': optionIconSuffixWidth,\n '--n-option-icon-size': optionIconSize,\n '--n-divider-color': dividerColor,\n '--n-option-opacity-disabled': optionOpacityDisabled\n };\n // writing like this is the fastest method\n if (inverted) {\n vars['--n-color'] = self.colorInverted;\n vars['--n-option-color-hover'] = self.optionColorHoverInverted;\n vars['--n-option-color-active'] = self.optionColorActiveInverted;\n vars['--n-option-text-color'] = self.optionTextColorInverted;\n vars['--n-option-text-color-hover'] = self.optionTextColorHoverInverted;\n vars['--n-option-text-color-active'] = self.optionTextColorActiveInverted;\n vars['--n-option-text-color-child-active'] = self.optionTextColorChildActiveInverted;\n vars['--n-prefix-color'] = self.prefixColorInverted;\n vars['--n-suffix-color'] = self.suffixColorInverted;\n vars['--n-group-header-text-color'] = self.groupHeaderTextColorInverted;\n } else {\n vars['--n-color'] = self.color;\n vars['--n-option-color-hover'] = self.optionColorHover;\n vars['--n-option-color-active'] = self.optionColorActive;\n vars['--n-option-text-color'] = self.optionTextColor;\n vars['--n-option-text-color-hover'] = self.optionTextColorHover;\n vars['--n-option-text-color-active'] = self.optionTextColorActive;\n vars['--n-option-text-color-child-active'] = self.optionTextColorChildActive;\n vars['--n-prefix-color'] = self.prefixColor;\n vars['--n-suffix-color'] = self.suffixColor;\n vars['--n-group-header-text-color'] = self.groupHeaderTextColor;\n }\n return vars;\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('dropdown', computed(() => `${props.size[0]}${props.inverted ? 'i' : ''}`), cssVarsRef, props) : undefined;\n return {\n mergedClsPrefix: mergedClsPrefixRef,\n mergedTheme: themeRef,\n // data\n tmNodes: tmNodesRef,\n // show\n mergedShow: mergedShowRef,\n // methods\n handleAfterLeave: () => {\n if (!props.animated) return;\n clearPendingState();\n },\n doUpdateShow,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n };\n },\n render() {\n const renderPopoverBody = (className, ref, style, onMouseenter, onMouseleave) => {\n var _a;\n const {\n mergedClsPrefix,\n menuProps\n } = this;\n (_a = this.onRender) === null || _a === void 0 ? void 0 : _a.call(this);\n const menuNodeProps = (menuProps === null || menuProps === void 0 ? void 0 : menuProps(undefined, this.tmNodes.map(v => v.rawNode))) || {};\n const dropdownProps = {\n ref: createRefSetter(ref),\n class: [className, `${mergedClsPrefix}-dropdown`, this.themeClass],\n clsPrefix: mergedClsPrefix,\n tmNodes: this.tmNodes,\n style: [...style, this.cssVars],\n showArrow: this.showArrow,\n arrowStyle: this.arrowStyle,\n scrollable: this.scrollable,\n onMouseenter,\n onMouseleave\n };\n return h(NDropdownMenu, mergeProps(this.$attrs, dropdownProps, menuNodeProps));\n };\n const {\n mergedTheme\n } = this;\n const popoverProps = {\n show: this.mergedShow,\n theme: mergedTheme.peers.Popover,\n themeOverrides: mergedTheme.peerOverrides.Popover,\n internalOnAfterLeave: this.handleAfterLeave,\n internalRenderBody: renderPopoverBody,\n onUpdateShow: this.doUpdateShow,\n 'onUpdate:show': undefined\n };\n return h(NPopover, Object.assign({}, keep(this.$props, popoverPropKeys), popoverProps), {\n trigger: () => {\n var _a, _b;\n return (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n });\n }\n});","import { h, defineComponent, inject, computed } from 'vue';\nimport { NDropdown } from \"../../../dropdown/index.mjs\";\nimport { NBaseIcon } from \"../../../_internal/index.mjs\";\nimport { ChevronDownIcon } from \"../../../_internal/icons/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nconst allKey = '_n_all__';\nconst noneKey = '_n_none__';\nfunction createSelectHandler(options, rawPaginatedDataRef, doCheckAll, doUncheckAll) {\n if (!options) return () => {};\n return key => {\n for (const option of options) {\n switch (key) {\n case allKey:\n doCheckAll(true);\n return;\n case noneKey:\n doUncheckAll(true);\n return;\n default:\n if (typeof option === 'object' && option.key === key) {\n option.onSelect(rawPaginatedDataRef.value);\n return;\n }\n }\n }\n };\n}\nfunction createDropdownOptions(options, localeRef) {\n if (!options) return [];\n return options.map(option => {\n switch (option) {\n case 'all':\n return {\n label: localeRef.checkTableAll,\n key: allKey\n };\n case 'none':\n return {\n label: localeRef.uncheckTableAll,\n key: noneKey\n };\n default:\n return option;\n }\n });\n}\nexport default defineComponent({\n name: 'DataTableSelectionMenu',\n props: {\n clsPrefix: {\n type: String,\n required: true\n }\n },\n setup(props) {\n const {\n props: dataTableProps,\n localeRef,\n checkOptionsRef,\n rawPaginatedDataRef,\n doCheckAll,\n doUncheckAll\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const handleSelectRef = computed(() => createSelectHandler(checkOptionsRef.value, rawPaginatedDataRef, doCheckAll, doUncheckAll));\n const optionsRef = computed(() => createDropdownOptions(checkOptionsRef.value, localeRef.value));\n return () => {\n var _a, _b, _c, _d;\n const {\n clsPrefix\n } = props;\n return h(NDropdown, {\n theme: (_b = (_a = dataTableProps.theme) === null || _a === void 0 ? void 0 : _a.peers) === null || _b === void 0 ? void 0 : _b.Dropdown,\n themeOverrides: (_d = (_c = dataTableProps.themeOverrides) === null || _c === void 0 ? void 0 : _c.peers) === null || _d === void 0 ? void 0 : _d.Dropdown,\n options: optionsRef.value,\n onSelect: handleSelectRef.value\n }, {\n default: () => h(NBaseIcon, {\n clsPrefix: clsPrefix,\n class: `${clsPrefix}-data-table-check-extra`\n }, {\n default: () => h(ChevronDownIcon, null)\n })\n });\n };\n }\n});","import { h, defineComponent, inject, Fragment, ref } from 'vue';\nimport { happensIn, pxfy } from 'seemly';\nimport { formatLength } from \"../../../_utils/index.mjs\";\nimport { NCheckbox } from \"../../../checkbox/index.mjs\";\nimport { NEllipsis } from \"../../../ellipsis/index.mjs\";\nimport SortButton from \"../HeaderButton/SortButton.mjs\";\nimport FilterButton from \"../HeaderButton/FilterButton.mjs\";\nimport ResizeButton from \"../HeaderButton/ResizeButton.mjs\";\nimport { isColumnSortable, isColumnFilterable, createNextSorter, getColKey, isColumnSorting, isColumnResizable, clampValueFollowCSSRules } from \"../utils.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport SelectionMenu from \"./SelectionMenu.mjs\";\nfunction renderTitle(column) {\n return typeof column.title === 'function' ? column.title(column) : column.title;\n}\nexport default defineComponent({\n name: 'DataTableHeader',\n props: {\n discrete: {\n type: Boolean,\n default: true\n }\n },\n setup() {\n const {\n mergedClsPrefixRef,\n scrollXRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n mergedCurrentPageRef,\n allRowsCheckedRef,\n someRowsCheckedRef,\n rowsRef,\n colsRef,\n mergedThemeRef,\n checkOptionsRef,\n mergedSortStateRef,\n componentId,\n mergedTableLayoutRef,\n headerCheckboxDisabledRef,\n onUnstableColumnResize,\n doUpdateResizableWidth,\n handleTableHeaderScroll,\n deriveNextSorter,\n doUncheckAll,\n doCheckAll\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const cellElsRef = ref({});\n function getCellActualWidth(key) {\n const element = cellElsRef.value[key];\n return element === null || element === void 0 ? void 0 : element.getBoundingClientRect().width;\n }\n function handleCheckboxUpdateChecked() {\n if (allRowsCheckedRef.value) {\n doUncheckAll();\n } else {\n doCheckAll();\n }\n }\n function handleColHeaderClick(e, column) {\n if (happensIn(e, 'dataTableFilter') || happensIn(e, 'dataTableResizable')) {\n return;\n }\n if (!isColumnSortable(column)) return;\n const activeSorter = mergedSortStateRef.value.find(state => state.columnKey === column.key) || null;\n const nextSorter = createNextSorter(column, activeSorter);\n deriveNextSorter(nextSorter);\n }\n const resizeStartWidthMap = new Map();\n function handleColumnResizeStart(column) {\n resizeStartWidthMap.set(column.key, getCellActualWidth(column.key));\n }\n function handleColumnResize(column, displacementX) {\n const startWidth = resizeStartWidthMap.get(column.key);\n if (startWidth === undefined) {\n return;\n }\n const widthAfterResize = startWidth + displacementX;\n const limitWidth = clampValueFollowCSSRules(widthAfterResize, column.minWidth, column.maxWidth);\n onUnstableColumnResize(widthAfterResize, limitWidth, column, getCellActualWidth);\n doUpdateResizableWidth(column, limitWidth);\n }\n return {\n cellElsRef,\n componentId,\n mergedSortState: mergedSortStateRef,\n mergedClsPrefix: mergedClsPrefixRef,\n scrollX: scrollXRef,\n fixedColumnLeftMap: fixedColumnLeftMapRef,\n fixedColumnRightMap: fixedColumnRightMapRef,\n currentPage: mergedCurrentPageRef,\n allRowsChecked: allRowsCheckedRef,\n someRowsChecked: someRowsCheckedRef,\n rows: rowsRef,\n cols: colsRef,\n mergedTheme: mergedThemeRef,\n checkOptions: checkOptionsRef,\n mergedTableLayout: mergedTableLayoutRef,\n headerCheckboxDisabled: headerCheckboxDisabledRef,\n handleCheckboxUpdateChecked,\n handleColHeaderClick,\n handleTableHeaderScroll,\n handleColumnResizeStart,\n handleColumnResize\n };\n },\n render() {\n const {\n cellElsRef,\n mergedClsPrefix,\n fixedColumnLeftMap,\n fixedColumnRightMap,\n currentPage,\n allRowsChecked,\n someRowsChecked,\n rows,\n cols,\n mergedTheme,\n checkOptions,\n componentId,\n discrete,\n mergedTableLayout,\n headerCheckboxDisabled,\n mergedSortState,\n handleColHeaderClick,\n handleCheckboxUpdateChecked,\n handleColumnResizeStart,\n handleColumnResize\n } = this;\n let hasEllipsis = false;\n const theadVNode = h(\"thead\", {\n class: `${mergedClsPrefix}-data-table-thead`,\n \"data-n-id\": componentId\n }, rows.map(row => {\n return h(\"tr\", {\n class: `${mergedClsPrefix}-data-table-tr`\n }, row.map(({\n column,\n colSpan,\n rowSpan,\n isLast\n }) => {\n var _a, _b;\n const key = getColKey(column);\n const {\n ellipsis\n } = column;\n if (!hasEllipsis && ellipsis) hasEllipsis = true;\n const createColumnVNode = () => {\n if (column.type === 'selection') {\n return column.multiple !== false ? h(Fragment, null, h(NCheckbox, {\n key: currentPage,\n privateInsideTable: true,\n checked: allRowsChecked,\n indeterminate: someRowsChecked,\n disabled: headerCheckboxDisabled,\n onUpdateChecked: handleCheckboxUpdateChecked\n }), checkOptions ? h(SelectionMenu, {\n clsPrefix: mergedClsPrefix\n }) : null) : null;\n }\n return h(Fragment, null, h(\"div\", {\n class: `${mergedClsPrefix}-data-table-th__title-wrapper`\n }, h(\"div\", {\n class: `${mergedClsPrefix}-data-table-th__title`\n }, ellipsis === true || ellipsis && !ellipsis.tooltip ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table-th__ellipsis`\n }, renderTitle(column)) // eslint-disable-next-line @typescript-eslint/prefer-optional-chain\n : ellipsis && typeof ellipsis === 'object' ? h(NEllipsis, Object.assign({}, ellipsis, {\n theme: mergedTheme.peers.Ellipsis,\n themeOverrides: mergedTheme.peerOverrides.Ellipsis\n }), {\n default: () => renderTitle(column)\n }) : renderTitle(column)), isColumnSortable(column) ? h(SortButton, {\n column: column\n }) : null), isColumnFilterable(column) ? h(FilterButton, {\n column: column,\n options: column.filterOptions\n }) : null, isColumnResizable(column) ? h(ResizeButton, {\n onResizeStart: () => {\n handleColumnResizeStart(column);\n },\n onResize: displacementX => {\n handleColumnResize(column, displacementX);\n }\n }) : null);\n };\n const leftFixed = (key in fixedColumnLeftMap);\n const rightFixed = (key in fixedColumnRightMap);\n return h(\"th\", {\n ref: el => cellElsRef[key] = el,\n key: key,\n style: {\n textAlign: column.titleAlign || column.align,\n left: pxfy((_a = fixedColumnLeftMap[key]) === null || _a === void 0 ? void 0 : _a.start),\n right: pxfy((_b = fixedColumnRightMap[key]) === null || _b === void 0 ? void 0 : _b.start)\n },\n colspan: colSpan,\n rowspan: rowSpan,\n \"data-col-key\": key,\n class: [`${mergedClsPrefix}-data-table-th`, (leftFixed || rightFixed) && `${mergedClsPrefix}-data-table-th--fixed-${leftFixed ? 'left' : 'right'}`, {\n [`${mergedClsPrefix}-data-table-th--hover`]: isColumnSorting(column, mergedSortState),\n [`${mergedClsPrefix}-data-table-th--filterable`]: isColumnFilterable(column),\n [`${mergedClsPrefix}-data-table-th--sortable`]: isColumnSortable(column),\n [`${mergedClsPrefix}-data-table-th--selection`]: column.type === 'selection',\n [`${mergedClsPrefix}-data-table-th--last`]: isLast\n }, column.className],\n onClick: column.type !== 'selection' && column.type !== 'expand' && !('children' in column) ? e => {\n handleColHeaderClick(e, column);\n } : undefined\n }, createColumnVNode());\n }));\n }));\n if (!discrete) {\n return theadVNode;\n }\n const {\n handleTableHeaderScroll,\n scrollX\n } = this;\n return h(\"div\", {\n class: `${mergedClsPrefix}-data-table-base-table-header`,\n onScroll: handleTableHeaderScroll\n }, h(\"table\", {\n ref: \"body\",\n class: `${mergedClsPrefix}-data-table-table`,\n style: {\n minWidth: formatLength(scrollX),\n tableLayout: mergedTableLayout\n }\n }, h(\"colgroup\", null, cols.map(col => h(\"col\", {\n key: col.key,\n style: col.style\n }))), theadVNode));\n }\n});","import { defineComponent, h } from 'vue';\nimport { get } from 'lodash-es';\nimport NEllipsis from \"../../../ellipsis/src/Ellipsis.mjs\";\nimport { NPerformantEllipsis } from \"../../../ellipsis/src/PerformantEllipsis.mjs\";\nexport default defineComponent({\n name: 'DataTableCell',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n row: {\n type: Object,\n required: true\n },\n index: {\n type: Number,\n required: true\n },\n column: {\n type: Object,\n required: true\n },\n isSummary: Boolean,\n mergedTheme: {\n type: Object,\n required: true\n },\n renderCell: Function\n },\n render() {\n var _a;\n const {\n isSummary,\n column,\n row,\n renderCell\n } = this;\n let cell;\n const {\n render,\n key,\n ellipsis\n } = column;\n if (render && !isSummary) {\n cell = render(row, this.index);\n } else {\n if (isSummary) {\n cell = (_a = row[key]) === null || _a === void 0 ? void 0 : _a.value;\n } else {\n cell = renderCell ? renderCell(get(row, key), row, column) : get(row, key);\n }\n }\n if (ellipsis) {\n if (typeof ellipsis === 'object') {\n const {\n mergedTheme\n } = this;\n if (column.ellipsisComponent === 'performant-ellipsis') {\n return h(NPerformantEllipsis, Object.assign({}, ellipsis, {\n theme: mergedTheme.peers.Ellipsis,\n themeOverrides: mergedTheme.peerOverrides.Ellipsis\n }), {\n default: () => cell\n });\n }\n return h(NEllipsis, Object.assign({}, ellipsis, {\n theme: mergedTheme.peers.Ellipsis,\n themeOverrides: mergedTheme.peerOverrides.Ellipsis\n }), {\n default: () => cell\n });\n } else {\n return h(\"span\", {\n class: `${this.clsPrefix}-data-table-td__ellipsis`\n }, cell);\n }\n }\n return cell;\n }\n});","import { h, defineComponent } from 'vue';\nimport { ChevronRightIcon } from \"../../../_internal/icons/index.mjs\";\nimport { NBaseIcon, NBaseLoading, NIconSwitchTransition } from \"../../../_internal/index.mjs\";\nexport default defineComponent({\n name: 'DataTableExpandTrigger',\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n expanded: Boolean,\n loading: Boolean,\n onClick: {\n type: Function,\n required: true\n },\n renderExpandIcon: {\n type: Function\n }\n },\n render() {\n const {\n clsPrefix\n } = this;\n return h(\"div\", {\n class: [`${clsPrefix}-data-table-expand-trigger`, this.expanded && `${clsPrefix}-data-table-expand-trigger--expanded`],\n onClick: this.onClick,\n onMousedown: e => {\n e.preventDefault();\n }\n }, h(NIconSwitchTransition, null, {\n default: () => {\n return this.loading ? h(NBaseLoading, {\n key: \"loading\",\n clsPrefix: this.clsPrefix,\n radius: 85,\n strokeWidth: 15,\n scale: 0.88\n }) : this.renderExpandIcon ? this.renderExpandIcon({\n expanded: this.expanded\n }) : h(NBaseIcon, {\n clsPrefix: clsPrefix,\n key: \"base-icon\"\n }, {\n default: () => h(ChevronRightIcon, null)\n });\n }\n }));\n }\n});","import { defineComponent, h, inject } from 'vue';\nimport { NCheckbox } from \"../../../checkbox/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\n// Extract the checkbox to avoid useless rendering in table body\nexport default defineComponent({\n name: 'DataTableBodyCheckbox',\n props: {\n rowKey: {\n type: [String, Number],\n required: true\n },\n disabled: {\n type: Boolean,\n required: true\n },\n onUpdateChecked: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const {\n mergedCheckedRowKeySetRef,\n mergedInderminateRowKeySetRef\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n return () => {\n const {\n rowKey\n } = props;\n return h(NCheckbox, {\n privateInsideTable: true,\n disabled: props.disabled,\n indeterminate: mergedInderminateRowKeySetRef.value.has(rowKey),\n checked: mergedCheckedRowKeySetRef.value.has(rowKey),\n onUpdateChecked: props.onUpdateChecked\n });\n };\n }\n});","import { defineComponent, h, inject } from 'vue';\nimport { NRadio } from \"../../../radio/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\n// Extract the radio to avoid useless rendering in table body\nexport default defineComponent({\n name: 'DataTableBodyRadio',\n props: {\n rowKey: {\n type: [String, Number],\n required: true\n },\n disabled: {\n type: Boolean,\n required: true\n },\n onUpdateChecked: {\n type: Function,\n required: true\n }\n },\n setup(props) {\n const {\n mergedCheckedRowKeySetRef,\n componentId\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n return () => {\n const {\n rowKey\n } = props;\n return h(NRadio, {\n name: componentId,\n disabled: props.disabled,\n checked: mergedCheckedRowKeySetRef.value.has(rowKey),\n onUpdateChecked: props.onUpdateChecked\n });\n };\n }\n});","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, ref, defineComponent, inject, watchEffect, onUnmounted, computed, Fragment } from 'vue';\nimport { pxfy, repeat } from 'seemly';\nimport { VirtualList, VResizeObserver } from 'vueuc';\nimport { useMemo } from 'vooks';\nimport { cssrAnchorMetaName } from \"../../../_mixins/common.mjs\";\nimport { c } from \"../../../_utils/cssr/index.mjs\";\nimport { NScrollbar } from \"../../../_internal/index.mjs\";\nimport { formatLength, resolveSlot, warn } from \"../../../_utils/index.mjs\";\nimport { NEmpty } from \"../../../empty/index.mjs\";\nimport { dataTableInjectionKey } from \"../interface.mjs\";\nimport { createRowClassName, getColKey, isColumnSorting } from \"../utils.mjs\";\nimport Cell from \"./Cell.mjs\";\nimport ExpandTrigger from \"./ExpandTrigger.mjs\";\nimport RenderSafeCheckbox from \"./BodyCheckbox.mjs\";\nimport RenderSafeRadio from \"./BodyRadio.mjs\";\nimport TableHeader from \"./Header.mjs\";\nfunction flatten(rowInfos, expandedRowKeys) {\n const fRows = [];\n function traverse(rs, rootIndex) {\n rs.forEach(r => {\n if (r.children && expandedRowKeys.has(r.key)) {\n fRows.push({\n tmNode: r,\n striped: false,\n key: r.key,\n index: rootIndex\n });\n traverse(r.children, rootIndex);\n } else {\n fRows.push({\n key: r.key,\n tmNode: r,\n striped: false,\n index: rootIndex\n });\n }\n });\n }\n rowInfos.forEach(rowInfo => {\n fRows.push(rowInfo);\n const {\n children\n } = rowInfo.tmNode;\n if (children && expandedRowKeys.has(rowInfo.key)) {\n traverse(children, rowInfo.index);\n }\n });\n return fRows;\n}\nconst VirtualListItemWrapper = defineComponent({\n props: {\n clsPrefix: {\n type: String,\n required: true\n },\n id: {\n type: String,\n required: true\n },\n cols: {\n type: Array,\n required: true\n },\n onMouseenter: Function,\n onMouseleave: Function\n },\n render() {\n const {\n clsPrefix,\n id,\n cols,\n onMouseenter,\n onMouseleave\n } = this;\n return h(\"table\", {\n style: {\n tableLayout: 'fixed'\n },\n class: `${clsPrefix}-data-table-table`,\n onMouseenter: onMouseenter,\n onMouseleave: onMouseleave\n }, h(\"colgroup\", null, cols.map(col => h(\"col\", {\n key: col.key,\n style: col.style\n }))), h(\"tbody\", {\n \"data-n-id\": id,\n class: `${clsPrefix}-data-table-tbody`\n }, this.$slots));\n }\n});\nexport default defineComponent({\n name: 'DataTableBody',\n props: {\n onResize: Function,\n showHeader: Boolean,\n flexHeight: Boolean,\n bodyStyle: Object\n },\n setup(props) {\n const {\n slots: dataTableSlots,\n bodyWidthRef,\n mergedExpandedRowKeysRef,\n mergedClsPrefixRef,\n mergedThemeRef,\n scrollXRef,\n colsRef,\n paginatedDataRef,\n rawPaginatedDataRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n mergedCurrentPageRef,\n rowClassNameRef,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n renderExpandRef,\n hoverKeyRef,\n summaryRef,\n mergedSortStateRef,\n virtualScrollRef,\n componentId,\n mergedTableLayoutRef,\n childTriggerColIndexRef,\n indentRef,\n rowPropsRef,\n maxHeightRef,\n stripedRef,\n loadingRef,\n onLoadRef,\n loadingKeySetRef,\n expandableRef,\n stickyExpandedRowsRef,\n renderExpandIconRef,\n summaryPlacementRef,\n treeMateRef,\n scrollbarPropsRef,\n setHeaderScrollLeft,\n doUpdateExpandedRowKeys,\n handleTableBodyScroll,\n doCheck,\n doUncheck,\n renderCell\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const scrollbarInstRef = ref(null);\n const virtualListRef = ref(null);\n const emptyElRef = ref(null);\n const emptyRef = useMemo(() => paginatedDataRef.value.length === 0);\n // If header is not inside & empty is displayed, no table part would be\n // shown. So to collect a body width, we need to put a ref on empty element\n const shouldDisplaySomeTablePartRef = useMemo(() => props.showHeader || !emptyRef.value);\n // If no body is shown, we shouldn't show scrollbar\n const bodyShowHeaderOnlyRef = useMemo(() => {\n return props.showHeader || emptyRef.value;\n });\n let lastSelectedKey = '';\n const mergedExpandedRowKeySetRef = computed(() => {\n return new Set(mergedExpandedRowKeysRef.value);\n });\n function getRowInfo(key) {\n var _a;\n return (_a = treeMateRef.value.getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;\n }\n function handleCheckboxUpdateChecked(tmNode, checked, shiftKey) {\n const rowInfo = getRowInfo(tmNode.key);\n if (!rowInfo) {\n warn('data-table', `fail to get row data with key ${tmNode.key}`);\n return;\n }\n if (shiftKey) {\n const lastIndex = paginatedDataRef.value.findIndex(item => item.key === lastSelectedKey);\n if (lastIndex !== -1) {\n const currentIndex = paginatedDataRef.value.findIndex(item => item.key === tmNode.key);\n const start = Math.min(lastIndex, currentIndex);\n const end = Math.max(lastIndex, currentIndex);\n const rowKeysToCheck = [];\n paginatedDataRef.value.slice(start, end + 1).forEach(r => {\n if (!r.disabled) {\n rowKeysToCheck.push(r.key);\n }\n });\n if (checked) {\n doCheck(rowKeysToCheck, false, rowInfo);\n } else {\n doUncheck(rowKeysToCheck, rowInfo);\n }\n lastSelectedKey = tmNode.key;\n return;\n }\n }\n if (checked) {\n doCheck(tmNode.key, false, rowInfo);\n } else {\n doUncheck(tmNode.key, rowInfo);\n }\n lastSelectedKey = tmNode.key;\n }\n function handleRadioUpdateChecked(tmNode) {\n const rowInfo = getRowInfo(tmNode.key);\n if (!rowInfo) {\n warn('data-table', `fail to get row data with key ${tmNode.key}`);\n return;\n }\n doCheck(tmNode.key, true, rowInfo);\n }\n function getScrollContainer() {\n if (!shouldDisplaySomeTablePartRef.value) {\n const {\n value: emptyEl\n } = emptyElRef;\n if (emptyEl) {\n return emptyEl;\n } else {\n return null;\n }\n }\n if (virtualScrollRef.value) {\n return virtualListContainer();\n }\n const {\n value\n } = scrollbarInstRef;\n if (value) return value.containerRef;\n return null;\n }\n // For table row with children, tmNode is non-nullable\n // For table row is expandable but is not tree data, tmNode is null\n function handleUpdateExpanded(key, tmNode) {\n var _a;\n if (loadingKeySetRef.value.has(key)) return;\n const {\n value: mergedExpandedRowKeys\n } = mergedExpandedRowKeysRef;\n const index = mergedExpandedRowKeys.indexOf(key);\n const nextExpandedKeys = Array.from(mergedExpandedRowKeys);\n if (~index) {\n nextExpandedKeys.splice(index, 1);\n doUpdateExpandedRowKeys(nextExpandedKeys);\n } else {\n if (tmNode && !tmNode.isLeaf && !tmNode.shallowLoaded) {\n loadingKeySetRef.value.add(key);\n void ((_a = onLoadRef.value) === null || _a === void 0 ? void 0 : _a.call(onLoadRef, tmNode.rawNode).then(() => {\n const {\n value: futureMergedExpandedRowKeys\n } = mergedExpandedRowKeysRef;\n const futureNextExpandedKeys = Array.from(futureMergedExpandedRowKeys);\n const index = futureNextExpandedKeys.indexOf(key);\n if (!~index) {\n futureNextExpandedKeys.push(key);\n }\n doUpdateExpandedRowKeys(futureNextExpandedKeys);\n }).finally(() => {\n loadingKeySetRef.value.delete(key);\n }));\n } else {\n nextExpandedKeys.push(key);\n doUpdateExpandedRowKeys(nextExpandedKeys);\n }\n }\n }\n function handleMouseleaveTable() {\n hoverKeyRef.value = null;\n }\n function virtualListContainer() {\n const {\n value\n } = virtualListRef;\n return (value === null || value === void 0 ? void 0 : value.listElRef) || null;\n }\n function virtualListContent() {\n const {\n value\n } = virtualListRef;\n return (value === null || value === void 0 ? void 0 : value.itemsElRef) || null;\n }\n function handleVirtualListScroll(e) {\n var _a;\n handleTableBodyScroll(e);\n (_a = scrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n function handleVirtualListResize(e) {\n var _a;\n const {\n onResize\n } = props;\n if (onResize) onResize(e);\n (_a = scrollbarInstRef.value) === null || _a === void 0 ? void 0 : _a.sync();\n }\n const exposedMethods = {\n getScrollContainer,\n scrollTo(arg0, arg1) {\n var _a, _b;\n if (virtualScrollRef.value) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = virtualListRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_b = scrollbarInstRef.value) === null || _b === void 0 ? void 0 : _b.scrollTo(arg0, arg1);\n }\n }\n };\n // manually control shadow style to avoid rerender\n const style = c([({\n props: cProps\n }) => {\n const createActiveLeftFixedStyle = leftActiveFixedColKey => {\n if (leftActiveFixedColKey === null) return null;\n return c(`[data-n-id=\"${cProps.componentId}\"] [data-col-key=\"${leftActiveFixedColKey}\"]::after`, {\n boxShadow: 'var(--n-box-shadow-after)'\n });\n };\n const createActiveRightFixedStyle = rightActiveFixedColKey => {\n if (rightActiveFixedColKey === null) return null;\n return c(`[data-n-id=\"${cProps.componentId}\"] [data-col-key=\"${rightActiveFixedColKey}\"]::before`, {\n boxShadow: 'var(--n-box-shadow-before)'\n });\n };\n return c([createActiveLeftFixedStyle(cProps.leftActiveFixedColKey), createActiveRightFixedStyle(cProps.rightActiveFixedColKey), cProps.leftActiveFixedChildrenColKeys.map(leftActiveFixedColKey => createActiveLeftFixedStyle(leftActiveFixedColKey)), cProps.rightActiveFixedChildrenColKeys.map(rightActiveFixedColKey => createActiveRightFixedStyle(rightActiveFixedColKey))]);\n }]);\n let fixedStyleMounted = false;\n watchEffect(() => {\n const {\n value: leftActiveFixedColKey\n } = leftActiveFixedColKeyRef;\n const {\n value: leftActiveFixedChildrenColKeys\n } = leftActiveFixedChildrenColKeysRef;\n const {\n value: rightActiveFixedColKey\n } = rightActiveFixedColKeyRef;\n const {\n value: rightActiveFixedChildrenColKeys\n } = rightActiveFixedChildrenColKeysRef;\n if (!fixedStyleMounted && leftActiveFixedColKey === null && rightActiveFixedColKey === null) {\n return;\n }\n const cProps = {\n leftActiveFixedColKey,\n leftActiveFixedChildrenColKeys,\n rightActiveFixedColKey,\n rightActiveFixedChildrenColKeys,\n componentId\n };\n style.mount({\n id: `n-${componentId}`,\n force: true,\n props: cProps,\n anchorMetaName: cssrAnchorMetaName\n });\n fixedStyleMounted = true;\n });\n onUnmounted(() => {\n style.unmount({\n id: `n-${componentId}`\n });\n });\n return Object.assign({\n bodyWidth: bodyWidthRef,\n summaryPlacement: summaryPlacementRef,\n dataTableSlots,\n componentId,\n scrollbarInstRef,\n virtualListRef,\n emptyElRef,\n summary: summaryRef,\n mergedClsPrefix: mergedClsPrefixRef,\n mergedTheme: mergedThemeRef,\n scrollX: scrollXRef,\n cols: colsRef,\n loading: loadingRef,\n bodyShowHeaderOnly: bodyShowHeaderOnlyRef,\n shouldDisplaySomeTablePart: shouldDisplaySomeTablePartRef,\n empty: emptyRef,\n paginatedDataAndInfo: computed(() => {\n const {\n value: striped\n } = stripedRef;\n let hasChildren = false;\n const data = paginatedDataRef.value.map(striped ? (tmNode, index) => {\n if (!tmNode.isLeaf) hasChildren = true;\n return {\n tmNode,\n key: tmNode.key,\n striped: index % 2 === 1,\n index\n };\n } : (tmNode, index) => {\n if (!tmNode.isLeaf) hasChildren = true;\n return {\n tmNode,\n key: tmNode.key,\n striped: false,\n index\n };\n });\n return {\n data,\n hasChildren\n };\n }),\n rawPaginatedData: rawPaginatedDataRef,\n fixedColumnLeftMap: fixedColumnLeftMapRef,\n fixedColumnRightMap: fixedColumnRightMapRef,\n currentPage: mergedCurrentPageRef,\n rowClassName: rowClassNameRef,\n renderExpand: renderExpandRef,\n mergedExpandedRowKeySet: mergedExpandedRowKeySetRef,\n hoverKey: hoverKeyRef,\n mergedSortState: mergedSortStateRef,\n virtualScroll: virtualScrollRef,\n mergedTableLayout: mergedTableLayoutRef,\n childTriggerColIndex: childTriggerColIndexRef,\n indent: indentRef,\n rowProps: rowPropsRef,\n maxHeight: maxHeightRef,\n loadingKeySet: loadingKeySetRef,\n expandable: expandableRef,\n stickyExpandedRows: stickyExpandedRowsRef,\n renderExpandIcon: renderExpandIconRef,\n scrollbarProps: scrollbarPropsRef,\n setHeaderScrollLeft,\n handleVirtualListScroll,\n handleVirtualListResize,\n handleMouseleaveTable,\n virtualListContainer,\n virtualListContent,\n handleTableBodyScroll,\n handleCheckboxUpdateChecked,\n handleRadioUpdateChecked,\n handleUpdateExpanded,\n renderCell\n }, exposedMethods);\n },\n render() {\n const {\n mergedTheme,\n scrollX,\n mergedClsPrefix,\n virtualScroll,\n maxHeight,\n mergedTableLayout,\n flexHeight,\n loadingKeySet,\n onResize,\n setHeaderScrollLeft\n } = this;\n const scrollable = scrollX !== undefined || maxHeight !== undefined || flexHeight;\n // For a basic table with auto layout whose content may overflow we will\n // make it scrollable, which differs from browser's native behavior.\n // For native behavior, see\n // https://developer.mozilla.org/en-US/docs/Web/CSS/table-layout\n const isBasicAutoLayout = !scrollable && mergedTableLayout === 'auto';\n const xScrollable = scrollX !== undefined || isBasicAutoLayout;\n const contentStyle = {\n minWidth: formatLength(scrollX) || '100%'\n };\n if (scrollX) contentStyle.width = '100%';\n const tableNode = h(NScrollbar, Object.assign({}, this.scrollbarProps, {\n ref: \"scrollbarInstRef\",\n scrollable: scrollable || isBasicAutoLayout,\n class: `${mergedClsPrefix}-data-table-base-table-body`,\n style: !this.empty ? this.bodyStyle : undefined,\n theme: mergedTheme.peers.Scrollbar,\n themeOverrides: mergedTheme.peerOverrides.Scrollbar,\n contentStyle: contentStyle,\n container: virtualScroll ? this.virtualListContainer : undefined,\n content: virtualScroll ? this.virtualListContent : undefined,\n horizontalRailStyle: {\n zIndex: 3\n },\n verticalRailStyle: {\n zIndex: 3\n },\n xScrollable: xScrollable,\n onScroll: virtualScroll ? undefined : this.handleTableBodyScroll,\n internalOnUpdateScrollLeft: setHeaderScrollLeft,\n onResize: onResize\n }), {\n default: () => {\n // coordinate to pass if there are cells that cross row & col\n const cordToPass = {};\n // coordinate to related hover keys\n const cordKey = {};\n const {\n cols,\n paginatedDataAndInfo,\n mergedTheme,\n fixedColumnLeftMap,\n fixedColumnRightMap,\n currentPage,\n rowClassName,\n mergedSortState,\n mergedExpandedRowKeySet,\n stickyExpandedRows,\n componentId,\n childTriggerColIndex,\n expandable,\n rowProps,\n handleMouseleaveTable,\n renderExpand,\n summary,\n handleCheckboxUpdateChecked,\n handleRadioUpdateChecked,\n handleUpdateExpanded\n } = this;\n const {\n length: colCount\n } = cols;\n let mergedData;\n // if there is children in data, we should expand mergedData first\n const {\n data: paginatedData,\n hasChildren\n } = paginatedDataAndInfo;\n const mergedPaginationData = hasChildren ? flatten(paginatedData, mergedExpandedRowKeySet) : paginatedData;\n if (summary) {\n const summaryRows = summary(this.rawPaginatedData);\n if (Array.isArray(summaryRows)) {\n const summaryRowData = summaryRows.map((row, i) => ({\n isSummaryRow: true,\n key: `__n_summary__${i}`,\n tmNode: {\n rawNode: row,\n disabled: true\n },\n index: -1\n }));\n mergedData = this.summaryPlacement === 'top' ? [...summaryRowData, ...mergedPaginationData] : [...mergedPaginationData, ...summaryRowData];\n } else {\n const summaryRowData = {\n isSummaryRow: true,\n key: '__n_summary__',\n tmNode: {\n rawNode: summaryRows,\n disabled: true\n },\n index: -1\n };\n mergedData = this.summaryPlacement === 'top' ? [summaryRowData, ...mergedPaginationData] : [...mergedPaginationData, summaryRowData];\n }\n } else {\n mergedData = mergedPaginationData;\n }\n const indentStyle = hasChildren ? {\n width: pxfy(this.indent)\n } : undefined;\n // Tile the data of the expanded row\n const displayedData = [];\n mergedData.forEach(rowInfo => {\n if (renderExpand && mergedExpandedRowKeySet.has(rowInfo.key) && (!expandable || expandable(rowInfo.tmNode.rawNode))) {\n displayedData.push(rowInfo, {\n isExpandedRow: true,\n key: `${rowInfo.key}-expand`,\n // solve key repeat of the expanded row\n tmNode: rowInfo.tmNode,\n index: rowInfo.index\n });\n } else {\n displayedData.push(rowInfo);\n }\n });\n const {\n length: rowCount\n } = displayedData;\n const rowIndexToKey = {};\n paginatedData.forEach(({\n tmNode\n }, rowIndex) => {\n rowIndexToKey[rowIndex] = tmNode.key;\n });\n const bodyWidth = stickyExpandedRows ? this.bodyWidth : null;\n const bodyWidthPx = bodyWidth === null ? undefined : `${bodyWidth}px`;\n const renderRow = (rowInfo, displayedRowIndex, isVirtual) => {\n const {\n index: actualRowIndex\n } = rowInfo;\n if ('isExpandedRow' in rowInfo) {\n const {\n tmNode: {\n key,\n rawNode\n }\n } = rowInfo;\n return h(\"tr\", {\n class: `${mergedClsPrefix}-data-table-tr ${mergedClsPrefix}-data-table-tr--expanded`,\n key: `${key}__expand`\n }, h(\"td\", {\n class: [`${mergedClsPrefix}-data-table-td`, `${mergedClsPrefix}-data-table-td--last-col`, displayedRowIndex + 1 === rowCount && `${mergedClsPrefix}-data-table-td--last-row`],\n colspan: colCount\n }, stickyExpandedRows ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table-expand`,\n style: {\n width: bodyWidthPx\n }\n }, renderExpand(rawNode, actualRowIndex)) : renderExpand(rawNode, actualRowIndex)));\n }\n const isSummary = ('isSummaryRow' in rowInfo);\n const striped = !isSummary && rowInfo.striped;\n const {\n tmNode,\n key: rowKey\n } = rowInfo;\n const {\n rawNode: rowData\n } = tmNode;\n const expanded = mergedExpandedRowKeySet.has(rowKey);\n const props = rowProps ? rowProps(rowData, actualRowIndex) : undefined;\n const mergedRowClassName = typeof rowClassName === 'string' ? rowClassName : createRowClassName(rowData, actualRowIndex, rowClassName);\n const row = h(\"tr\", Object.assign({\n onMouseenter: () => {\n this.hoverKey = rowKey;\n },\n key: rowKey,\n class: [`${mergedClsPrefix}-data-table-tr`, isSummary && `${mergedClsPrefix}-data-table-tr--summary`, striped && `${mergedClsPrefix}-data-table-tr--striped`, expanded && `${mergedClsPrefix}-data-table-tr--expanded`, mergedRowClassName]\n }, props), cols.map((col, colIndex) => {\n var _a, _b, _c, _d, _e;\n if (displayedRowIndex in cordToPass) {\n const cordOfRowToPass = cordToPass[displayedRowIndex];\n const indexInCordOfRowToPass = cordOfRowToPass.indexOf(colIndex);\n if (~indexInCordOfRowToPass) {\n cordOfRowToPass.splice(indexInCordOfRowToPass, 1);\n return null;\n }\n }\n // TODO: Simplify row calculation\n const {\n column\n } = col;\n const colKey = getColKey(col);\n const {\n rowSpan,\n colSpan\n } = column;\n const mergedColSpan = isSummary ? ((_a = rowInfo.tmNode.rawNode[colKey]) === null || _a === void 0 ? void 0 : _a.colSpan) || 1 // optional for #1276\n : colSpan ? colSpan(rowData, actualRowIndex) : 1;\n const mergedRowSpan = isSummary ? ((_b = rowInfo.tmNode.rawNode[colKey]) === null || _b === void 0 ? void 0 : _b.rowSpan) || 1 // optional for #1276\n : rowSpan ? rowSpan(rowData, actualRowIndex) : 1;\n const isLastCol = colIndex + mergedColSpan === colCount;\n const isLastRow = displayedRowIndex + mergedRowSpan === rowCount;\n const isCrossRowTd = mergedRowSpan > 1;\n if (isCrossRowTd) {\n cordKey[displayedRowIndex] = {\n [colIndex]: []\n };\n }\n if (mergedColSpan > 1 || isCrossRowTd) {\n for (let i = displayedRowIndex; i < displayedRowIndex + mergedRowSpan; ++i) {\n if (isCrossRowTd) {\n cordKey[displayedRowIndex][colIndex].push(rowIndexToKey[i]);\n }\n for (let j = colIndex; j < colIndex + mergedColSpan; ++j) {\n if (i === displayedRowIndex && j === colIndex) {\n continue;\n }\n if (!(i in cordToPass)) {\n cordToPass[i] = [j];\n } else {\n cordToPass[i].push(j);\n }\n }\n }\n }\n const hoverKey = isCrossRowTd ? this.hoverKey : null;\n const {\n cellProps\n } = column;\n const resolvedCellProps = cellProps === null || cellProps === void 0 ? void 0 : cellProps(rowData, actualRowIndex);\n const indentOffsetStyle = {\n '--indent-offset': ''\n };\n return h(\"td\", Object.assign({}, resolvedCellProps, {\n key: colKey,\n style: [{\n textAlign: column.align || undefined,\n left: pxfy((_c = fixedColumnLeftMap[colKey]) === null || _c === void 0 ? void 0 : _c.start),\n right: pxfy((_d = fixedColumnRightMap[colKey]) === null || _d === void 0 ? void 0 : _d.start)\n }, indentOffsetStyle, (resolvedCellProps === null || resolvedCellProps === void 0 ? void 0 : resolvedCellProps.style) || ''],\n colspan: mergedColSpan,\n rowspan: isVirtual ? undefined : mergedRowSpan,\n \"data-col-key\": colKey,\n class: [`${mergedClsPrefix}-data-table-td`, column.className, resolvedCellProps === null || resolvedCellProps === void 0 ? void 0 : resolvedCellProps.class, isSummary && `${mergedClsPrefix}-data-table-td--summary`, (hoverKey !== null && cordKey[displayedRowIndex][colIndex].includes(hoverKey) || isColumnSorting(column, mergedSortState)) && `${mergedClsPrefix}-data-table-td--hover`, column.fixed && `${mergedClsPrefix}-data-table-td--fixed-${column.fixed}`, column.align && `${mergedClsPrefix}-data-table-td--${column.align}-align`, column.type === 'selection' && `${mergedClsPrefix}-data-table-td--selection`, column.type === 'expand' && `${mergedClsPrefix}-data-table-td--expand`, isLastCol && `${mergedClsPrefix}-data-table-td--last-col`, isLastRow && `${mergedClsPrefix}-data-table-td--last-row`]\n }), hasChildren && colIndex === childTriggerColIndex ? [repeat(indentOffsetStyle['--indent-offset'] = isSummary ? 0 : rowInfo.tmNode.level, h(\"div\", {\n class: `${mergedClsPrefix}-data-table-indent`,\n style: indentStyle\n })), isSummary || rowInfo.tmNode.isLeaf ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table-expand-placeholder`\n }) : h(ExpandTrigger, {\n class: `${mergedClsPrefix}-data-table-expand-trigger`,\n clsPrefix: mergedClsPrefix,\n expanded: expanded,\n renderExpandIcon: this.renderExpandIcon,\n loading: loadingKeySet.has(rowInfo.key),\n onClick: () => {\n handleUpdateExpanded(rowKey, rowInfo.tmNode);\n }\n })] : null, column.type === 'selection' ? !isSummary ? column.multiple === false ? h(RenderSafeRadio, {\n key: currentPage,\n rowKey: rowKey,\n disabled: rowInfo.tmNode.disabled,\n onUpdateChecked: () => {\n handleRadioUpdateChecked(rowInfo.tmNode);\n }\n }) : h(RenderSafeCheckbox, {\n key: currentPage,\n rowKey: rowKey,\n disabled: rowInfo.tmNode.disabled,\n onUpdateChecked: (checked, e) => {\n handleCheckboxUpdateChecked(rowInfo.tmNode, checked, e.shiftKey);\n }\n }) : null : column.type === 'expand' ? !isSummary ? !column.expandable || ((_e = column.expandable) === null || _e === void 0 ? void 0 : _e.call(column, rowData)) ? h(ExpandTrigger, {\n clsPrefix: mergedClsPrefix,\n expanded: expanded,\n renderExpandIcon: this.renderExpandIcon,\n onClick: () => {\n handleUpdateExpanded(rowKey, null);\n }\n }) : null : null : h(Cell, {\n clsPrefix: mergedClsPrefix,\n index: actualRowIndex,\n row: rowData,\n column: column,\n isSummary: isSummary,\n mergedTheme: mergedTheme,\n renderCell: this.renderCell\n }));\n }));\n return row;\n };\n if (!virtualScroll) {\n return h(\"table\", {\n class: `${mergedClsPrefix}-data-table-table`,\n onMouseleave: handleMouseleaveTable,\n style: {\n tableLayout: this.mergedTableLayout\n }\n }, h(\"colgroup\", null, cols.map(col => h(\"col\", {\n key: col.key,\n style: col.style\n }))), this.showHeader ? h(TableHeader, {\n discrete: false\n }) : null, !this.empty ? h(\"tbody\", {\n \"data-n-id\": componentId,\n class: `${mergedClsPrefix}-data-table-tbody`\n }, displayedData.map((rowInfo, displayedRowIndex) => {\n return renderRow(rowInfo, displayedRowIndex, false);\n })) : null);\n } else {\n return h(VirtualList, {\n ref: \"virtualListRef\",\n items: displayedData,\n itemSize: 28,\n visibleItemsTag: VirtualListItemWrapper,\n visibleItemsProps: {\n clsPrefix: mergedClsPrefix,\n id: componentId,\n cols,\n onMouseleave: handleMouseleaveTable\n },\n showScrollbar: false,\n onResize: this.handleVirtualListResize,\n onScroll: this.handleVirtualListScroll,\n itemsStyle: contentStyle,\n itemResizable: true\n }, {\n default: ({\n item,\n index\n }) => renderRow(item, index, true)\n });\n }\n }\n });\n if (this.empty) {\n const createEmptyNode = () => h(\"div\", {\n class: [`${mergedClsPrefix}-data-table-empty`, this.loading && `${mergedClsPrefix}-data-table-empty--hide`],\n style: this.bodyStyle,\n ref: \"emptyElRef\"\n }, resolveSlot(this.dataTableSlots.empty, () => [h(NEmpty, {\n theme: this.mergedTheme.peers.Empty,\n themeOverrides: this.mergedTheme.peerOverrides.Empty\n })]));\n if (this.shouldDisplaySomeTablePart) {\n return h(Fragment, null, tableNode, createEmptyNode());\n } else {\n return h(VResizeObserver, {\n onResize: this.onResize\n }, {\n default: createEmptyNode\n });\n }\n }\n return tableNode;\n }\n});","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport { h, ref, defineComponent, inject, computed, watchEffect } from 'vue';\nimport { formatLength } from \"../../_utils/index.mjs\";\nimport TableHeader from \"./TableParts/Header.mjs\";\nimport TableBody from \"./TableParts/Body.mjs\";\nimport { dataTableInjectionKey } from \"./interface.mjs\";\nexport default defineComponent({\n name: 'MainTable',\n setup() {\n const {\n mergedClsPrefixRef,\n rightFixedColumnsRef,\n leftFixedColumnsRef,\n bodyWidthRef,\n maxHeightRef,\n minHeightRef,\n flexHeightRef,\n syncScrollState\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n } = inject(dataTableInjectionKey);\n const headerInstRef = ref(null);\n const bodyInstRef = ref(null);\n const selfElRef = ref(null);\n const fixedStateInitializedRef = ref(!(leftFixedColumnsRef.value.length || rightFixedColumnsRef.value.length));\n const bodyStyleRef = computed(() => {\n return {\n maxHeight: formatLength(maxHeightRef.value),\n minHeight: formatLength(minHeightRef.value)\n };\n });\n function handleBodyResize(entry) {\n bodyWidthRef.value = entry.contentRect.width;\n syncScrollState();\n if (!fixedStateInitializedRef.value) {\n fixedStateInitializedRef.value = true;\n }\n }\n function getHeaderElement() {\n const {\n value\n } = headerInstRef;\n if (value) {\n return value.$el;\n }\n return null;\n }\n function getBodyElement() {\n const {\n value\n } = bodyInstRef;\n if (value) {\n return value.getScrollContainer();\n }\n return null;\n }\n const exposedMethods = {\n getBodyElement,\n getHeaderElement,\n scrollTo(arg0, arg1) {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = bodyInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n };\n watchEffect(() => {\n const {\n value: selfEl\n } = selfElRef;\n if (!selfEl) return;\n const transitionDisabledClass = `${mergedClsPrefixRef.value}-data-table-base-table--transition-disabled`;\n if (fixedStateInitializedRef.value) {\n setTimeout(() => {\n selfEl.classList.remove(transitionDisabledClass);\n }, 0);\n } else {\n selfEl.classList.add(transitionDisabledClass);\n }\n });\n return Object.assign({\n maxHeight: maxHeightRef,\n mergedClsPrefix: mergedClsPrefixRef,\n selfElRef,\n headerInstRef,\n bodyInstRef,\n bodyStyle: bodyStyleRef,\n flexHeight: flexHeightRef,\n handleBodyResize\n }, exposedMethods);\n },\n render() {\n const {\n mergedClsPrefix,\n maxHeight,\n flexHeight\n } = this;\n const headerInBody = maxHeight === undefined && !flexHeight;\n return h(\"div\", {\n class: `${mergedClsPrefix}-data-table-base-table`,\n ref: \"selfElRef\"\n }, headerInBody ? null : h(TableHeader, {\n ref: \"headerInstRef\"\n }), h(TableBody, {\n ref: \"bodyInstRef\",\n bodyStyle: this.bodyStyle,\n showHeader: headerInBody,\n flexHeight: flexHeight,\n onResize: this.handleBodyResize\n }));\n }\n});","import { computed, ref } from 'vue';\nimport { call } from \"../../_utils/index.mjs\";\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useCheck(props, data) {\n const {\n paginatedDataRef,\n treeMateRef,\n selectionColumnRef\n } = data;\n const uncontrolledCheckedRowKeysRef = ref(props.defaultCheckedRowKeys);\n const mergedCheckState = computed(() => {\n var _a;\n const {\n checkedRowKeys\n } = props;\n const sourceKeys = checkedRowKeys === undefined ? uncontrolledCheckedRowKeysRef.value : checkedRowKeys;\n if (((_a = selectionColumnRef.value) === null || _a === void 0 ? void 0 : _a.multiple) === false) {\n return {\n checkedKeys: sourceKeys.slice(0, 1),\n indeterminateKeys: []\n };\n }\n return treeMateRef.value.getCheckedKeys(sourceKeys, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n });\n });\n const mergedCheckedRowKeysRef = computed(() => mergedCheckState.value.checkedKeys);\n const mergedInderminateRowKeysRef = computed(() => mergedCheckState.value.indeterminateKeys);\n const mergedCheckedRowKeySetRef = computed(() => {\n return new Set(mergedCheckedRowKeysRef.value);\n });\n const mergedInderminateRowKeySetRef = computed(() => {\n return new Set(mergedInderminateRowKeysRef.value);\n });\n const countOfCurrentPageCheckedRowsRef = computed(() => {\n const {\n value: mergedCheckedRowKeySet\n } = mergedCheckedRowKeySetRef;\n return paginatedDataRef.value.reduce((total, tmNode) => {\n const {\n key,\n disabled\n } = tmNode;\n return total + (!disabled && mergedCheckedRowKeySet.has(key) ? 1 : 0);\n }, 0);\n });\n const countOfCurrentPageDisabledRowsRef = computed(() => {\n return paginatedDataRef.value.filter(item => item.disabled).length;\n });\n const someRowsCheckedRef = computed(() => {\n const {\n length\n } = paginatedDataRef.value;\n const {\n value: mergedInderminateRowKeySet\n } = mergedInderminateRowKeySetRef;\n return countOfCurrentPageCheckedRowsRef.value > 0 && countOfCurrentPageCheckedRowsRef.value < length - countOfCurrentPageDisabledRowsRef.value || paginatedDataRef.value.some(rowData => mergedInderminateRowKeySet.has(rowData.key));\n });\n const allRowsCheckedRef = computed(() => {\n const {\n length\n } = paginatedDataRef.value;\n return countOfCurrentPageCheckedRowsRef.value !== 0 && countOfCurrentPageCheckedRowsRef.value === length - countOfCurrentPageDisabledRowsRef.value;\n });\n const headerCheckboxDisabledRef = computed(() => {\n return paginatedDataRef.value.length === 0;\n });\n function doUpdateCheckedRowKeys(keys, row, action) {\n const {\n 'onUpdate:checkedRowKeys': _onUpdateCheckedRowKeys,\n onUpdateCheckedRowKeys,\n onCheckedRowKeysChange\n } = props;\n const rows = [];\n const {\n value: {\n getNode\n }\n } = treeMateRef;\n keys.forEach(key => {\n var _a;\n const row = (_a = getNode(key)) === null || _a === void 0 ? void 0 : _a.rawNode;\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n rows.push(row);\n });\n if (_onUpdateCheckedRowKeys) {\n call(_onUpdateCheckedRowKeys, keys, rows, {\n row,\n action\n });\n }\n if (onUpdateCheckedRowKeys) {\n call(onUpdateCheckedRowKeys, keys, rows, {\n row,\n action\n });\n }\n if (onCheckedRowKeysChange) {\n call(onCheckedRowKeysChange, keys, rows, {\n row,\n action\n });\n }\n uncontrolledCheckedRowKeysRef.value = keys;\n }\n function doCheck(rowKey, single = false, rowInfo) {\n if (props.loading) return;\n if (single) {\n doUpdateCheckedRowKeys(Array.isArray(rowKey) ? rowKey.slice(0, 1) : [rowKey], rowInfo, 'check');\n return;\n }\n doUpdateCheckedRowKeys(treeMateRef.value.check(rowKey, mergedCheckedRowKeysRef.value, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, rowInfo, 'check');\n }\n function doUncheck(rowKey, rowInfo) {\n if (props.loading) return;\n doUpdateCheckedRowKeys(treeMateRef.value.uncheck(rowKey, mergedCheckedRowKeysRef.value, {\n cascade: props.cascade,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, rowInfo, 'uncheck');\n }\n function doCheckAll(checkWholeTable = false) {\n const {\n value: column\n } = selectionColumnRef;\n if (!column || props.loading) return;\n const rowKeysToCheck = [];\n (checkWholeTable ? treeMateRef.value.treeNodes : paginatedDataRef.value).forEach(tmNode => {\n if (!tmNode.disabled) {\n rowKeysToCheck.push(tmNode.key);\n }\n });\n // alway cascade, to emit correct row keys\n doUpdateCheckedRowKeys(treeMateRef.value.check(rowKeysToCheck, mergedCheckedRowKeysRef.value, {\n cascade: true,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, undefined, 'checkAll');\n }\n function doUncheckAll(checkWholeTable = false) {\n const {\n value: column\n } = selectionColumnRef;\n if (!column || props.loading) return;\n const rowKeysToUncheck = [];\n (checkWholeTable ? treeMateRef.value.treeNodes : paginatedDataRef.value).forEach(tmNode => {\n if (!tmNode.disabled) {\n rowKeysToUncheck.push(tmNode.key);\n }\n });\n // alway cascade, to emit correct row keys\n doUpdateCheckedRowKeys(treeMateRef.value.uncheck(rowKeysToUncheck, mergedCheckedRowKeysRef.value, {\n cascade: true,\n allowNotLoaded: props.allowCheckingNotLoaded\n }).checkedKeys, undefined, 'uncheckAll');\n }\n return {\n mergedCheckedRowKeySetRef,\n mergedCheckedRowKeysRef,\n mergedInderminateRowKeySetRef,\n someRowsCheckedRef,\n allRowsCheckedRef,\n headerCheckboxDisabledRef,\n doUpdateCheckedRowKeys,\n doCheckAll,\n doUncheckAll,\n doCheck,\n doUncheck\n };\n}","import { computed, ref } from 'vue';\nimport { call } from \"../../_utils/index.mjs\";\nimport { getFlagOfOrder } from \"./utils.mjs\";\nfunction getMultiplePriority(sorter) {\n if (typeof sorter === 'object' && typeof sorter.multiple === 'number') {\n return sorter.multiple;\n }\n return false;\n}\nfunction getSortFunction(sorter, columnKey) {\n if (columnKey && (sorter === undefined || sorter === 'default' || typeof sorter === 'object' && sorter.compare === 'default')) {\n return getDefaultSorterFn(columnKey);\n }\n if (typeof sorter === 'function') {\n return sorter;\n }\n if (sorter && typeof sorter === 'object' && sorter.compare && sorter.compare !== 'default') {\n return sorter.compare;\n }\n return false;\n}\nfunction getDefaultSorterFn(columnKey) {\n return (row1, row2) => {\n const value1 = row1[columnKey];\n const value2 = row2[columnKey];\n if (value1 === null || value1 === undefined) {\n if (value2 === null || value2 === undefined) return 0;\n return -1;\n } else if (value2 === null || value2 === undefined) {\n return 1;\n } else if (typeof value1 === 'number' && typeof value2 === 'number') {\n return value1 - value2;\n } else if (typeof value1 === 'string' && typeof value2 === 'string') {\n return value1.localeCompare(value2);\n }\n return 0;\n };\n}\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useSorter(props, {\n dataRelatedColsRef,\n filteredDataRef\n}) {\n const defaultSortState = [];\n // initialize\n dataRelatedColsRef.value.forEach(column => {\n var _a;\n if (column.sorter !== undefined) {\n updateSortStatesByNewSortState(defaultSortState, {\n columnKey: column.key,\n sorter: column.sorter,\n order: (_a = column.defaultSortOrder) !== null && _a !== void 0 ? _a : false\n });\n }\n });\n const uncontrolledSortStateRef = ref(defaultSortState);\n const mergedSortStateRef = computed(() => {\n // If one of the columns's sort order is false or 'ascend' or 'descend',\n // the table's controll functionality should work in controlled manner.\n const columnsWithControlledSortOrder = dataRelatedColsRef.value.filter(column => column.type !== 'selection' && column.sorter !== undefined && (column.sortOrder === 'ascend' || column.sortOrder === 'descend' || column.sortOrder === false));\n // if multiple columns are controlled sortable, then we need to find columns with active sortOrder\n const columnToSort = columnsWithControlledSortOrder.filter(col => col.sortOrder !== false);\n if (columnToSort.length) {\n return columnToSort.map(column => {\n return {\n columnKey: column.key,\n // column to sort has controlled sorter\n // sorter && sort order won't be undefined\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n order: column.sortOrder,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n sorter: column.sorter\n };\n });\n }\n // If any column is in controlled mode, the sorting state of the table is\n // in controlled mode\n if (columnsWithControlledSortOrder.length) return [];\n const {\n value: uncontrolledSortState\n } = uncontrolledSortStateRef;\n if (Array.isArray(uncontrolledSortState)) {\n return uncontrolledSortState;\n } else if (uncontrolledSortState) {\n return [uncontrolledSortState];\n } else {\n return [];\n }\n });\n const sortedDataRef = computed(() => {\n const activeSorters = mergedSortStateRef.value.slice().sort((a, b) => {\n const item1Priority = getMultiplePriority(a.sorter) || 0;\n const item2Priority = getMultiplePriority(b.sorter) || 0;\n return item2Priority - item1Priority;\n });\n if (activeSorters.length) {\n const filteredData = filteredDataRef.value.slice();\n return filteredData.sort((tmNode1, tmNode2) => {\n let compareResult = 0;\n activeSorters.some(sorterState => {\n const {\n columnKey,\n sorter,\n order\n } = sorterState;\n const compareFn = getSortFunction(sorter, columnKey);\n if (compareFn && order) {\n compareResult = compareFn(tmNode1.rawNode, tmNode2.rawNode);\n if (compareResult !== 0) {\n compareResult = compareResult * getFlagOfOrder(order);\n return true;\n }\n }\n return false;\n });\n return compareResult;\n });\n }\n return filteredDataRef.value;\n });\n function getUpdatedSorterState(sortState) {\n let currentSortState = mergedSortStateRef.value.slice();\n // Multiple sorter (if you clicked on a multiple sort column)\n if (sortState && getMultiplePriority(sortState.sorter) !== false) {\n // clear column is not multiple sort\n currentSortState = currentSortState.filter(sortState => getMultiplePriority(sortState.sorter) !== false);\n updateSortStatesByNewSortState(currentSortState, sortState);\n return currentSortState;\n } else if (sortState) {\n // single sorter\n return sortState;\n }\n // no sorter\n return null;\n }\n function deriveNextSorter(sortState) {\n const nextSorterState = getUpdatedSorterState(sortState);\n doUpdateSorter(nextSorterState);\n }\n function doUpdateSorter(sortState) {\n const {\n 'onUpdate:sorter': _onUpdateSorter,\n onUpdateSorter,\n onSorterChange\n } = props;\n if (_onUpdateSorter) {\n call(_onUpdateSorter, sortState);\n }\n if (onUpdateSorter) {\n call(onUpdateSorter, sortState);\n }\n if (onSorterChange) {\n call(onSorterChange, sortState);\n }\n uncontrolledSortStateRef.value = sortState;\n }\n function sort(columnKey, order = 'ascend') {\n if (!columnKey) {\n clearSorter();\n } else {\n const columnToSort = dataRelatedColsRef.value.find(column => column.type !== 'selection' && column.type !== 'expand' && column.key === columnKey);\n if (!(columnToSort === null || columnToSort === void 0 ? void 0 : columnToSort.sorter)) return;\n const sorter = columnToSort.sorter;\n deriveNextSorter({\n columnKey,\n sorter,\n order\n });\n }\n }\n function clearSorter() {\n doUpdateSorter(null);\n }\n function updateSortStatesByNewSortState(sortStates, sortState) {\n const index = sortStates.findIndex(state => (sortState === null || sortState === void 0 ? void 0 : sortState.columnKey) && state.columnKey === sortState.columnKey);\n if (index !== undefined && index >= 0) {\n sortStates[index] = sortState;\n } else {\n sortStates.push(sortState);\n }\n }\n return {\n clearSorter,\n sort,\n sortedDataRef,\n mergedSortStateRef,\n deriveNextSorter\n };\n}","import { computed, ref } from 'vue';\nimport { useMemo, useMergedState } from 'vooks';\nimport { createTreeMate } from 'treemate';\nimport { call, warn } from \"../../_utils/index.mjs\";\nimport { createShallowClonedObject } from \"./utils.mjs\";\nimport { useSorter } from \"./use-sorter.mjs\";\nimport { getDefaultPageSize } from \"../../pagination/src/utils.mjs\";\n// useTableData combines filter, sorter and pagination\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useTableData(props, {\n dataRelatedColsRef\n}) {\n const selectionColumnRef = computed(() => {\n const getSelectionColumn = cols => {\n for (let i = 0; i < cols.length; ++i) {\n const col = cols[i];\n if ('children' in col) {\n return getSelectionColumn(col.children);\n } else if (col.type === 'selection') {\n return col;\n }\n }\n return null;\n };\n return getSelectionColumn(props.columns);\n });\n const treeMateRef = computed(() => {\n const {\n childrenKey\n } = props;\n return createTreeMate(props.data, {\n ignoreEmptyChildren: true,\n getKey: props.rowKey,\n getChildren: rowData => rowData[childrenKey],\n getDisabled: rowData => {\n var _a, _b;\n if ((_b = (_a = selectionColumnRef.value) === null || _a === void 0 ? void 0 : _a.disabled) === null || _b === void 0 ? void 0 : _b.call(_a, rowData)) {\n return true;\n }\n return false;\n }\n });\n });\n const childTriggerColIndexRef = useMemo(() => {\n const {\n columns\n } = props;\n const {\n length\n } = columns;\n let firstContentfulColIndex = null;\n for (let i = 0; i < length; ++i) {\n const col = columns[i];\n if (!col.type && firstContentfulColIndex === null) {\n firstContentfulColIndex = i;\n }\n if ('tree' in col && col.tree) {\n return i;\n }\n }\n return firstContentfulColIndex || 0;\n });\n const uncontrolledFilterStateRef = ref({});\n const {\n pagination\n } = props;\n const uncontrolledCurrentPageRef = ref(pagination ? pagination.defaultPage || 1 : 1);\n const uncontrolledPageSizeRef = ref(getDefaultPageSize(pagination));\n const mergedFilterStateRef = computed(() => {\n const columnsWithControlledFilter = dataRelatedColsRef.value.filter(column => {\n return column.filterOptionValues !== undefined || column.filterOptionValue !== undefined;\n });\n const controlledFilterState = {};\n columnsWithControlledFilter.forEach(column => {\n var _a;\n if (column.type === 'selection' || column.type === 'expand') return;\n if (column.filterOptionValues === undefined) {\n controlledFilterState[column.key] = (_a = column.filterOptionValue) !== null && _a !== void 0 ? _a : null;\n } else {\n controlledFilterState[column.key] = column.filterOptionValues;\n }\n });\n const activeFilters = Object.assign(createShallowClonedObject(uncontrolledFilterStateRef.value), controlledFilterState);\n return activeFilters;\n });\n const filteredDataRef = computed(() => {\n const mergedFilterState = mergedFilterStateRef.value;\n const {\n columns\n } = props;\n function createDefaultFilter(columnKey) {\n return (filterOptionValue, row) => !!~String(row[columnKey]).indexOf(String(filterOptionValue));\n }\n const {\n value: {\n treeNodes: data\n }\n } = treeMateRef;\n const columnEntries = [];\n columns.forEach(column => {\n if (column.type === 'selection' || column.type === 'expand' || 'children' in column) {\n return;\n }\n columnEntries.push([column.key, column]);\n });\n return data ? data.filter(tmNode => {\n const {\n rawNode: row\n } = tmNode;\n // traverse all filters\n for (const [columnKey, column] of columnEntries) {\n let activeFilterOptionValues = mergedFilterState[columnKey];\n if (activeFilterOptionValues == null) continue;\n if (!Array.isArray(activeFilterOptionValues)) {\n activeFilterOptionValues = [activeFilterOptionValues];\n }\n if (!activeFilterOptionValues.length) continue;\n // When async, filter won't be set, so data won't be filtered\n const filter = column.filter === 'default' ? createDefaultFilter(columnKey) : column.filter;\n if (column && typeof filter === 'function') {\n if (column.filterMode === 'and') {\n if (activeFilterOptionValues.some(filterOptionValue => !filter(filterOptionValue, row))) {\n return false;\n }\n } else {\n if (activeFilterOptionValues.some(filterOptionValue => filter(filterOptionValue, row))) {\n continue;\n } else {\n return false;\n }\n }\n }\n }\n return true;\n }) : [];\n });\n const {\n sortedDataRef,\n deriveNextSorter,\n mergedSortStateRef,\n sort,\n clearSorter\n } = useSorter(props, {\n dataRelatedColsRef,\n filteredDataRef\n });\n // initialize\n dataRelatedColsRef.value.forEach(column => {\n var _a;\n if (column.filter) {\n const defaultFilterOptionValues = column.defaultFilterOptionValues;\n if (column.filterMultiple) {\n uncontrolledFilterStateRef.value[column.key] = defaultFilterOptionValues || [];\n } else if (defaultFilterOptionValues !== undefined) {\n // this branch is for compatibility, someone may use `values` in single filter mode\n uncontrolledFilterStateRef.value[column.key] = defaultFilterOptionValues === null ? [] : defaultFilterOptionValues;\n } else {\n uncontrolledFilterStateRef.value[column.key] = (_a = column.defaultFilterOptionValue) !== null && _a !== void 0 ? _a : null;\n }\n }\n });\n const controlledCurrentPageRef = computed(() => {\n const {\n pagination\n } = props;\n if (pagination === false) return undefined;\n return pagination.page;\n });\n const controlledPageSizeRef = computed(() => {\n const {\n pagination\n } = props;\n if (pagination === false) return undefined;\n return pagination.pageSize;\n });\n const _mergedCurrentPageRef = useMergedState(controlledCurrentPageRef, uncontrolledCurrentPageRef);\n const mergedPageSizeRef = useMergedState(controlledPageSizeRef, uncontrolledPageSizeRef);\n const boundedMergedCurrentPageRef = useMemo(() => {\n const page = _mergedCurrentPageRef.value;\n return props.remote ? page : Math.max(1, Math.min(Math.ceil(filteredDataRef.value.length / mergedPageSizeRef.value), page));\n });\n const mergedPageCountRef = computed(() => {\n const {\n pagination\n } = props;\n if (pagination) {\n const {\n pageCount\n } = pagination;\n if (pageCount !== undefined) return pageCount;\n }\n return undefined;\n });\n const paginatedDataRef = computed(() => {\n if (props.remote) return treeMateRef.value.treeNodes;\n if (!props.pagination) return sortedDataRef.value;\n const pageSize = mergedPageSizeRef.value;\n const startIndex = (boundedMergedCurrentPageRef.value - 1) * pageSize;\n return sortedDataRef.value.slice(startIndex, startIndex + pageSize);\n });\n const rawPaginatedDataRef = computed(() => {\n return paginatedDataRef.value.map(tmNode => tmNode.rawNode);\n });\n function mergedOnUpdatePage(page) {\n const {\n pagination\n } = props;\n if (pagination) {\n const {\n onChange,\n 'onUpdate:page': _onUpdatePage,\n onUpdatePage\n } = pagination;\n if (onChange) call(onChange, page);\n if (onUpdatePage) call(onUpdatePage, page);\n if (_onUpdatePage) call(_onUpdatePage, page);\n doUpdatePage(page);\n }\n }\n function mergedOnUpdatePageSize(pageSize) {\n const {\n pagination\n } = props;\n if (pagination) {\n const {\n onPageSizeChange,\n 'onUpdate:pageSize': _onUpdatePageSize,\n onUpdatePageSize\n } = pagination;\n if (onPageSizeChange) call(onPageSizeChange, pageSize);\n if (onUpdatePageSize) call(onUpdatePageSize, pageSize);\n if (_onUpdatePageSize) call(_onUpdatePageSize, pageSize);\n doUpdatePageSize(pageSize);\n }\n }\n const mergedItemCountRef = computed(() => {\n if (props.remote) {\n const {\n pagination\n } = props;\n if (pagination) {\n const {\n itemCount\n } = pagination;\n if (itemCount !== undefined) return itemCount;\n }\n return undefined;\n }\n return filteredDataRef.value.length;\n });\n const mergedPaginationRef = computed(() => {\n return Object.assign(Object.assign({}, props.pagination), {\n // reset deprecated methods\n onChange: undefined,\n onUpdatePage: undefined,\n onUpdatePageSize: undefined,\n onPageSizeChange: undefined,\n 'onUpdate:page': mergedOnUpdatePage,\n 'onUpdate:pageSize': mergedOnUpdatePageSize,\n // writing merged props after pagination to avoid\n // pagination[key] === undefined\n // key still exists but value is undefined\n page: boundedMergedCurrentPageRef.value,\n pageSize: mergedPageSizeRef.value,\n pageCount: mergedItemCountRef.value === undefined ? mergedPageCountRef.value : undefined,\n itemCount: mergedItemCountRef.value\n });\n });\n function doUpdatePage(page) {\n const {\n 'onUpdate:page': _onUpdatePage,\n onPageChange,\n onUpdatePage\n } = props;\n if (onUpdatePage) call(onUpdatePage, page);\n if (_onUpdatePage) call(_onUpdatePage, page);\n if (onPageChange) call(onPageChange, page);\n uncontrolledCurrentPageRef.value = page;\n }\n function doUpdatePageSize(pageSize) {\n const {\n 'onUpdate:pageSize': _onUpdatePageSize,\n onPageSizeChange,\n onUpdatePageSize\n } = props;\n if (onPageSizeChange) call(onPageSizeChange, pageSize);\n if (onUpdatePageSize) call(onUpdatePageSize, pageSize);\n if (_onUpdatePageSize) call(_onUpdatePageSize, pageSize);\n uncontrolledPageSizeRef.value = pageSize;\n }\n function doUpdateFilters(filters, sourceColumn) {\n const {\n onUpdateFilters,\n 'onUpdate:filters': _onUpdateFilters,\n onFiltersChange\n } = props;\n if (onUpdateFilters) call(onUpdateFilters, filters, sourceColumn);\n if (_onUpdateFilters) call(_onUpdateFilters, filters, sourceColumn);\n if (onFiltersChange) call(onFiltersChange, filters, sourceColumn);\n uncontrolledFilterStateRef.value = filters;\n }\n function onUnstableColumnResize(resizedWidth, limitedWidth, column, getColumnWidth) {\n var _a;\n (_a = props.onUnstableColumnResize) === null || _a === void 0 ? void 0 : _a.call(props, resizedWidth, limitedWidth, column, getColumnWidth);\n }\n function page(page) {\n doUpdatePage(page);\n }\n function clearFilter() {\n clearFilters();\n }\n function clearFilters() {\n filters({});\n }\n function filters(filters) {\n filter(filters);\n }\n function filter(filters) {\n if (!filters) {\n uncontrolledFilterStateRef.value = {};\n } else if (filters) {\n uncontrolledFilterStateRef.value = createShallowClonedObject(filters);\n } else if (process.env.NODE_ENV !== 'production') {\n warn('data-table', '`filters` is not an object');\n }\n }\n return {\n treeMateRef,\n mergedCurrentPageRef: boundedMergedCurrentPageRef,\n mergedPaginationRef,\n paginatedDataRef,\n rawPaginatedDataRef,\n mergedFilterStateRef,\n mergedSortStateRef,\n hoverKeyRef: ref(null),\n selectionColumnRef,\n childTriggerColIndexRef,\n doUpdateFilters,\n deriveNextSorter,\n doUpdatePageSize,\n doUpdatePage,\n onUnstableColumnResize,\n // exported methods\n filter,\n filters,\n clearFilter,\n clearFilters,\n clearSorter,\n page,\n sort\n };\n}","import { beforeNextFrameOnce } from 'seemly';\nimport { computed, watch, ref } from 'vue';\nimport { formatLength } from \"../../_utils/index.mjs\";\nimport { getNumberColWidth, getColKey } from \"./utils.mjs\";\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useScroll(props, {\n mainTableInstRef,\n mergedCurrentPageRef,\n bodyWidthRef\n}) {\n let lastScrollLeft = 0;\n const scrollPartRef = ref();\n const leftActiveFixedColKeyRef = ref(null);\n const leftActiveFixedChildrenColKeysRef = ref([]);\n const rightActiveFixedColKeyRef = ref(null);\n const rightActiveFixedChildrenColKeysRef = ref([]);\n const styleScrollXRef = computed(() => {\n return formatLength(props.scrollX);\n });\n const leftFixedColumnsRef = computed(() => {\n return props.columns.filter(column => column.fixed === 'left');\n });\n const rightFixedColumnsRef = computed(() => {\n return props.columns.filter(column => column.fixed === 'right');\n });\n const fixedColumnLeftMapRef = computed(() => {\n const columns = {};\n let left = 0;\n function traverse(cols) {\n cols.forEach(col => {\n const positionInfo = {\n start: left,\n end: 0\n };\n columns[getColKey(col)] = positionInfo;\n if ('children' in col) {\n traverse(col.children);\n positionInfo.end = left;\n } else {\n left += getNumberColWidth(col) || 0;\n positionInfo.end = left;\n }\n });\n }\n traverse(leftFixedColumnsRef.value);\n return columns;\n });\n const fixedColumnRightMapRef = computed(() => {\n const columns = {};\n let right = 0;\n function traverse(cols) {\n for (let i = cols.length - 1; i >= 0; --i) {\n const col = cols[i];\n const positionInfo = {\n start: right,\n end: 0\n };\n columns[getColKey(col)] = positionInfo;\n if ('children' in col) {\n traverse(col.children);\n positionInfo.end = right;\n } else {\n right += getNumberColWidth(col) || 0;\n positionInfo.end = right;\n }\n }\n }\n traverse(rightFixedColumnsRef.value);\n return columns;\n });\n function deriveActiveLeftFixedColumn() {\n var _a, _b;\n // target is header element\n const {\n value: leftFixedColumns\n } = leftFixedColumnsRef;\n let leftWidth = 0;\n const {\n value: fixedColumnLeftMap\n } = fixedColumnLeftMapRef;\n let leftActiveFixedColKey = null;\n for (let i = 0; i < leftFixedColumns.length; ++i) {\n const key = getColKey(leftFixedColumns[i]);\n if (lastScrollLeft > (((_a = fixedColumnLeftMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) - leftWidth) {\n leftActiveFixedColKey = key;\n leftWidth = ((_b = fixedColumnLeftMap[key]) === null || _b === void 0 ? void 0 : _b.end) || 0;\n } else {\n break;\n }\n }\n leftActiveFixedColKeyRef.value = leftActiveFixedColKey;\n }\n function deriveActiveLeftFixedChildrenColumns() {\n leftActiveFixedChildrenColKeysRef.value = [];\n let activeLeftFixedColumn = props.columns.find(col => getColKey(col) === leftActiveFixedColKeyRef.value);\n while (activeLeftFixedColumn && 'children' in activeLeftFixedColumn) {\n const length = activeLeftFixedColumn.children.length;\n if (length === 0) break;\n const nextActiveLeftFixedColumn = activeLeftFixedColumn.children[length - 1];\n leftActiveFixedChildrenColKeysRef.value.push(getColKey(nextActiveLeftFixedColumn));\n activeLeftFixedColumn = nextActiveLeftFixedColumn;\n }\n }\n function deriveActiveRightFixedColumn() {\n var _a, _b;\n // target is header element\n const {\n value: rightFixedColumns\n } = rightFixedColumnsRef;\n const scrollWidth = Number(props.scrollX);\n const {\n value: tableWidth\n } = bodyWidthRef;\n if (tableWidth === null) return;\n let rightWidth = 0;\n let rightActiveFixedColKey = null;\n const {\n value: fixedColumnRightMap\n } = fixedColumnRightMapRef;\n for (let i = rightFixedColumns.length - 1; i >= 0; --i) {\n const key = getColKey(rightFixedColumns[i]);\n if (Math.round(lastScrollLeft + (((_a = fixedColumnRightMap[key]) === null || _a === void 0 ? void 0 : _a.start) || 0) + tableWidth - rightWidth) < scrollWidth) {\n rightActiveFixedColKey = key;\n rightWidth = ((_b = fixedColumnRightMap[key]) === null || _b === void 0 ? void 0 : _b.end) || 0;\n } else {\n break;\n }\n }\n rightActiveFixedColKeyRef.value = rightActiveFixedColKey;\n }\n function deriveActiveRightFixedChildrenColumns() {\n rightActiveFixedChildrenColKeysRef.value = [];\n let activeRightFixedColumn = props.columns.find(col => getColKey(col) === rightActiveFixedColKeyRef.value);\n while (activeRightFixedColumn && 'children' in activeRightFixedColumn && activeRightFixedColumn.children.length) {\n const nextActiveRightFixedColumn = activeRightFixedColumn.children[0];\n rightActiveFixedChildrenColKeysRef.value.push(getColKey(nextActiveRightFixedColumn));\n activeRightFixedColumn = nextActiveRightFixedColumn;\n }\n }\n function getScrollElements() {\n const header = mainTableInstRef.value ? mainTableInstRef.value.getHeaderElement() : null;\n const body = mainTableInstRef.value ? mainTableInstRef.value.getBodyElement() : null;\n return {\n header,\n body\n };\n }\n function scrollMainTableBodyToTop() {\n const {\n body\n } = getScrollElements();\n if (body) {\n body.scrollTop = 0;\n }\n }\n function handleTableHeaderScroll() {\n if (scrollPartRef.value !== 'body') {\n beforeNextFrameOnce(syncScrollState);\n } else {\n scrollPartRef.value = undefined;\n }\n }\n function handleTableBodyScroll(e) {\n var _a;\n (_a = props.onScroll) === null || _a === void 0 ? void 0 : _a.call(props, e);\n if (scrollPartRef.value !== 'head') {\n beforeNextFrameOnce(syncScrollState);\n } else {\n scrollPartRef.value = undefined;\n }\n }\n function syncScrollState() {\n // We can't simply use props.scrollX to determine whether the table has\n // need to be sync since user may set column width for each column.\n // Just let it be, the scroll listener won't be triggered for a basic table.\n const {\n header,\n body\n } = getScrollElements();\n if (!body) return;\n const {\n value: tableWidth\n } = bodyWidthRef;\n if (tableWidth === null) return;\n if (props.maxHeight || props.flexHeight) {\n if (!header) return;\n // we need to deal with overscroll\n const directionHead = lastScrollLeft - header.scrollLeft;\n scrollPartRef.value = directionHead !== 0 ? 'head' : 'body';\n if (scrollPartRef.value === 'head') {\n lastScrollLeft = header.scrollLeft;\n body.scrollLeft = lastScrollLeft;\n } else {\n lastScrollLeft = body.scrollLeft;\n header.scrollLeft = lastScrollLeft;\n }\n } else {\n lastScrollLeft = body.scrollLeft;\n }\n deriveActiveLeftFixedColumn();\n deriveActiveLeftFixedChildrenColumns();\n deriveActiveRightFixedColumn();\n deriveActiveRightFixedChildrenColumns();\n }\n function setHeaderScrollLeft(left) {\n const {\n header\n } = getScrollElements();\n if (!header) return;\n header.scrollLeft = left;\n syncScrollState();\n }\n watch(mergedCurrentPageRef, () => {\n scrollMainTableBodyToTop();\n });\n return {\n styleScrollXRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n leftFixedColumnsRef,\n rightFixedColumnsRef,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n syncScrollState,\n handleTableBodyScroll,\n handleTableHeaderScroll,\n setHeaderScrollLeft\n };\n}","import { ref } from 'vue';\nimport { isColumnResizable } from \"./utils.mjs\";\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useResizable() {\n const resizableWidthsRef = ref({});\n function getResizableWidth(key) {\n return resizableWidthsRef.value[key];\n }\n function doUpdateResizableWidth(column, width) {\n if (isColumnResizable(column) && 'key' in column) {\n resizableWidthsRef.value[column.key] = width;\n }\n }\n function clearResizableWidth() {\n resizableWidthsRef.value = {};\n }\n return {\n getResizableWidth,\n doUpdateResizableWidth,\n clearResizableWidth\n };\n}","import { computed } from 'vue';\nimport { formatLength } from \"../../_utils/index.mjs\";\nimport { getColKey, createCustomWidthStyle } from \"./utils.mjs\";\nfunction getRowsAndCols(columns, getResizableWidth) {\n const rows = [];\n const cols = [];\n const dataRelatedCols = [];\n const rowItemMap = new WeakMap();\n let maxDepth = -1;\n let totalRowSpan = 0;\n let hasEllipsis = false;\n function ensureMaxDepth(columns, currentDepth) {\n if (currentDepth > maxDepth) {\n rows[currentDepth] = [];\n maxDepth = currentDepth;\n }\n for (const column of columns) {\n if ('children' in column) {\n ensureMaxDepth(column.children, currentDepth + 1);\n } else {\n const key = 'key' in column ? column.key : undefined;\n cols.push({\n key: getColKey(column),\n style: createCustomWidthStyle(column, key !== undefined ? formatLength(getResizableWidth(key)) : undefined),\n column\n });\n totalRowSpan += 1;\n if (!hasEllipsis) {\n hasEllipsis = !!column.ellipsis;\n }\n dataRelatedCols.push(column);\n }\n }\n }\n ensureMaxDepth(columns, 0);\n let currentLeafIndex = 0;\n function ensureColLayout(columns, currentDepth) {\n let hideUntilIndex = 0;\n columns.forEach((column, index) => {\n var _a;\n if ('children' in column) {\n // do not allow colSpan > 1 for non-leaf th\n // we will execute the calculation logic\n const cachedCurrentLeafIndex = currentLeafIndex;\n const rowItem = {\n column,\n colSpan: 0,\n rowSpan: 1,\n isLast: false\n };\n ensureColLayout(column.children, currentDepth + 1);\n column.children.forEach(childColumn => {\n var _a, _b;\n rowItem.colSpan += (_b = (_a = rowItemMap.get(childColumn)) === null || _a === void 0 ? void 0 : _a.colSpan) !== null && _b !== void 0 ? _b : 0;\n });\n if (cachedCurrentLeafIndex + rowItem.colSpan === totalRowSpan) {\n rowItem.isLast = true;\n }\n rowItemMap.set(column, rowItem);\n rows[currentDepth].push(rowItem);\n } else {\n if (currentLeafIndex < hideUntilIndex) {\n currentLeafIndex += 1;\n return;\n }\n let colSpan = 1;\n if ('titleColSpan' in column) {\n colSpan = (_a = column.titleColSpan) !== null && _a !== void 0 ? _a : 1;\n }\n if (colSpan > 1) {\n hideUntilIndex = currentLeafIndex + colSpan;\n }\n const isLast = currentLeafIndex + colSpan === totalRowSpan;\n const rowItem = {\n column,\n colSpan,\n rowSpan: maxDepth - currentDepth + 1,\n isLast\n };\n rowItemMap.set(column, rowItem);\n rows[currentDepth].push(rowItem);\n currentLeafIndex += 1;\n }\n });\n }\n ensureColLayout(columns, 0);\n return {\n hasEllipsis,\n rows,\n cols,\n dataRelatedCols\n };\n}\nexport function useGroupHeader(props, getResizableWidth) {\n const rowsAndCols = computed(() => getRowsAndCols(props.columns, getResizableWidth));\n return {\n rowsRef: computed(() => rowsAndCols.value.rows),\n colsRef: computed(() => rowsAndCols.value.cols),\n hasEllipsisRef: computed(() => rowsAndCols.value.hasEllipsis),\n dataRelatedColsRef: computed(() => rowsAndCols.value.dataRelatedCols)\n };\n}","import { toRef, ref } from 'vue';\nimport { useMemo, useMergedState } from 'vooks';\nimport { call, warn } from \"../../_utils/index.mjs\";\n// eslint-disable-next-line @typescript-eslint/explicit-function-return-type\nexport function useExpand(props, treeMateRef) {\n const renderExpandRef = useMemo(() => {\n for (const col of props.columns) {\n if (col.type === 'expand') {\n if (process.env.NODE_ENV !== 'production' && !col.renderExpand) {\n warn('data-table', 'column with type `expand` has no `renderExpand` prop.');\n }\n return col.renderExpand;\n }\n }\n });\n const expandableRef = useMemo(() => {\n // It's not reactive\n let expandable;\n for (const col of props.columns) {\n if (col.type === 'expand') {\n expandable = col.expandable;\n break;\n }\n }\n return expandable;\n });\n const uncontrolledExpandedRowKeysRef = ref(props.defaultExpandAll ? (renderExpandRef === null || renderExpandRef === void 0 ? void 0 : renderExpandRef.value) ? (() => {\n const expandedKeys = [];\n treeMateRef.value.treeNodes.forEach(tmNode => {\n var _a;\n if ((_a = expandableRef.value) === null || _a === void 0 ? void 0 : _a.call(expandableRef, tmNode.rawNode)) {\n expandedKeys.push(tmNode.key);\n }\n });\n return expandedKeys;\n })() : treeMateRef.value.getNonLeafKeys() : props.defaultExpandedRowKeys);\n const controlledExpandedRowKeysRef = toRef(props, 'expandedRowKeys');\n const stickyExpandedRowsRef = toRef(props, 'stickyExpandedRows');\n const mergedExpandedRowKeysRef = useMergedState(controlledExpandedRowKeysRef, uncontrolledExpandedRowKeysRef);\n function doUpdateExpandedRowKeys(expandedKeys) {\n const {\n onUpdateExpandedRowKeys,\n 'onUpdate:expandedRowKeys': _onUpdateExpandedRowKeys\n } = props;\n if (onUpdateExpandedRowKeys) {\n call(onUpdateExpandedRowKeys, expandedKeys);\n }\n if (_onUpdateExpandedRowKeys) {\n call(_onUpdateExpandedRowKeys, expandedKeys);\n }\n uncontrolledExpandedRowKeysRef.value = expandedKeys;\n }\n return {\n stickyExpandedRowsRef,\n mergedExpandedRowKeysRef,\n renderExpandRef,\n expandableRef,\n doUpdateExpandedRowKeys\n };\n}","import { fadeInScaleUpTransition } from \"../../../_styles/transitions/fade-in-scale-up.cssr.mjs\";\nimport { iconSwitchTransition } from \"../../../_styles/transitions/icon-switch.cssr.mjs\";\nimport { c, cB, cE, cM, cNotM, insideModal, insidePopover } from \"../../../_utils/cssr/index.mjs\";\nconst fixedColumnStyle = createFixedColumnStyle();\n// vars:\n// --n-font-size\n// --n-th-padding\n// --n-td-padding\n// --n-bezier\n// --n-border-radius\n// --n-line-height\n// --n-border-color\n// --n-border-color-modal\n// --n-border-color-popover\n// --n-th-color\n// --n-th-color-hover\n// --n-th-color-modal\n// --n-th-color-hover-modal\n// --n-th-color-popover\n// --n-th-color-hover-popover\n// --n-td-color\n// --n-td-color-hover\n// --n-td-color-modal\n// --n-td-color-hover-modal\n// --n-td-color-popover\n// --n-td-color-hover-popover\n// --n-th-text-color\n// --n-td-text-color\n// --n-th-font-weight\n// --n-th-button-color-hover\n// --n-th-icon-color\n// --n-th-icon-color-active\n// --n-filter-size\n// --n-action-divider-color\n// --n-action-padding\n// --n-action-button-margin\n// --n-pagination-margin\n// --n-empty-padding\n// --n-sorter-size\n// --n-resizable-container-size\n// --n-resizable-size\n// --n-loading-size\n// --n-loading-color\n// --n-opacity-loading\n// --n-box-shadow-before used in Body.tsx\n// --n-box-shadow-after used in Body.tsx\n// --indent-offset for ellipsis & expand trigger\nexport default c([cB('data-table', `\n width: 100%;\n font-size: var(--n-font-size);\n display: flex;\n flex-direction: column;\n position: relative;\n --n-merged-th-color: var(--n-th-color);\n --n-merged-td-color: var(--n-td-color);\n --n-merged-border-color: var(--n-border-color);\n --n-merged-th-color-hover: var(--n-th-color-hover);\n --n-merged-td-color-hover: var(--n-td-color-hover);\n --n-merged-td-color-striped: var(--n-td-color-striped);\n `, [cB('data-table-wrapper', `\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n `), cM('flex-height', [c('>', [cB('data-table-wrapper', [c('>', [cB('data-table-base-table', `\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n `, [c('>', [cB('data-table-base-table-body', 'flex-basis: 0;', [\n// last-child means there is no empty icon\n// body is a scrollbar, we need to override height 100%\nc('&:last-child', 'flex-grow: 1;')])])])])])])]), c('>', [cB('data-table-loading-wrapper', `\n color: var(--n-loading-color);\n font-size: var(--n-loading-size);\n position: absolute;\n left: 50%;\n top: 50%;\n transform: translateX(-50%) translateY(-50%);\n transition: color .3s var(--n-bezier);\n display: flex;\n align-items: center;\n justify-content: center;\n `, [fadeInScaleUpTransition({\n originalTransform: 'translateX(-50%) translateY(-50%)'\n})])]), cB('data-table-expand-placeholder', `\n margin-right: 8px;\n display: inline-block;\n width: 16px;\n height: 1px;\n `), cB('data-table-indent', `\n display: inline-block;\n height: 1px;\n `), cB('data-table-expand-trigger', `\n display: inline-flex;\n margin-right: 8px;\n cursor: pointer;\n font-size: 16px;\n vertical-align: -0.2em;\n position: relative;\n width: 16px;\n height: 16px;\n color: var(--n-td-text-color);\n transition: color .3s var(--n-bezier);\n `, [cM('expanded', [cB('icon', 'transform: rotate(90deg);', [iconSwitchTransition({\n originalTransform: 'rotate(90deg)'\n})]), cB('base-icon', 'transform: rotate(90deg);', [iconSwitchTransition({\n originalTransform: 'rotate(90deg)'\n})])]), cB('base-loading', `\n color: var(--n-loading-color);\n transition: color .3s var(--n-bezier);\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()]), cB('icon', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()]), cB('base-icon', `\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n `, [iconSwitchTransition()])]), cB('data-table-thead', `\n transition: background-color .3s var(--n-bezier);\n background-color: var(--n-merged-th-color);\n `), cB('data-table-tr', `\n box-sizing: border-box;\n background-clip: padding-box;\n transition: background-color .3s var(--n-bezier);\n `, [cB('data-table-expand', `\n position: sticky;\n left: 0;\n overflow: hidden;\n margin: calc(var(--n-th-padding) * -1);\n padding: var(--n-th-padding);\n box-sizing: border-box;\n `), cM('striped', 'background-color: var(--n-merged-td-color-striped);', [cB('data-table-td', 'background-color: var(--n-merged-td-color-striped);')]), cNotM('summary', [c('&:hover', 'background-color: var(--n-merged-td-color-hover);', [c('>', [cB('data-table-td', 'background-color: var(--n-merged-td-color-hover);')])])])]), cB('data-table-th', `\n padding: var(--n-th-padding);\n position: relative;\n text-align: start;\n box-sizing: border-box;\n background-color: var(--n-merged-th-color);\n border-color: var(--n-merged-border-color);\n border-bottom: 1px solid var(--n-merged-border-color);\n color: var(--n-th-text-color);\n transition:\n border-color .3s var(--n-bezier),\n color .3s var(--n-bezier),\n background-color .3s var(--n-bezier);\n font-weight: var(--n-th-font-weight);\n `, [cM('filterable', `\n padding-right: 36px;\n `, [cM('sortable', `\n padding-right: calc(var(--n-th-padding) + 36px);\n `)]), fixedColumnStyle, cM('selection', `\n padding: 0;\n text-align: center;\n line-height: 0;\n z-index: 3;\n `), cE('title-wrapper', `\n display: flex;\n align-items: center;\n flex-wrap: nowrap;\n max-width: 100%;\n `, [cE('title', `\n flex: 1;\n min-width: 0;\n `)]), cE('ellipsis', `\n display: inline-block;\n vertical-align: bottom;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n `), cM('hover', `\n background-color: var(--n-merged-th-color-hover);\n `), cM('sortable', `\n cursor: pointer;\n `, [cE('ellipsis', `\n max-width: calc(100% - 18px);\n `), c('&:hover', `\n background-color: var(--n-merged-th-color-hover);\n `)]), cB('data-table-sorter', `\n height: var(--n-sorter-size);\n width: var(--n-sorter-size);\n margin-left: 4px;\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: -0.2em;\n color: var(--n-th-icon-color);\n transition: color .3s var(--n-bezier);\n `, [cB('base-icon', 'transition: transform .3s var(--n-bezier)'), cM('desc', [cB('base-icon', `\n transform: rotate(0deg);\n `)]), cM('asc', [cB('base-icon', `\n transform: rotate(-180deg);\n `)]), cM('asc, desc', `\n color: var(--n-th-icon-color-active);\n `)]), cB('data-table-resize-button', `\n width: var(--n-resizable-container-size);\n position: absolute;\n top: 0;\n right: calc(var(--n-resizable-container-size) / 2);\n bottom: 0;\n cursor: col-resize;\n user-select: none;\n `, [c('&::after', `\n width: var(--n-resizable-size);\n height: 50%;\n position: absolute;\n top: 50%;\n left: calc(var(--n-resizable-container-size) / 2);\n bottom: 0;\n background-color: var(--n-merged-border-color);\n transform: translateY(-50%);\n transition: background-color .3s var(--n-bezier);\n z-index: 1;\n content: '';\n `), cM('active', [c('&::after', ` \n background-color: var(--n-th-icon-color-active);\n `)]), c('&:hover::after', `\n background-color: var(--n-th-icon-color-active);\n `)]), cB('data-table-filter', `\n position: absolute;\n z-index: auto;\n right: 0;\n width: 36px;\n top: 0;\n bottom: 0;\n cursor: pointer;\n display: flex;\n justify-content: center;\n align-items: center;\n transition:\n background-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n font-size: var(--n-filter-size);\n color: var(--n-th-icon-color);\n `, [c('&:hover', `\n background-color: var(--n-th-button-color-hover);\n `), cM('show', `\n background-color: var(--n-th-button-color-hover);\n `), cM('active', `\n background-color: var(--n-th-button-color-hover);\n color: var(--n-th-icon-color-active);\n `)])]), cB('data-table-td', `\n padding: var(--n-td-padding);\n text-align: start;\n box-sizing: border-box;\n border: none;\n background-color: var(--n-merged-td-color);\n color: var(--n-td-text-color);\n border-bottom: 1px solid var(--n-merged-border-color);\n transition:\n box-shadow .3s var(--n-bezier),\n background-color .3s var(--n-bezier),\n border-color .3s var(--n-bezier),\n color .3s var(--n-bezier);\n `, [cM('expand', [cB('data-table-expand-trigger', `\n margin-right: 0;\n `)]), cM('last-row', `\n border-bottom: 0 solid var(--n-merged-border-color);\n `, [\n// make sure there is no overlap between bottom border and\n// fixed column box shadow\nc('&::after', `\n bottom: 0 !important;\n `), c('&::before', `\n bottom: 0 !important;\n `)]), cM('summary', `\n background-color: var(--n-merged-th-color);\n `), cM('hover', `\n background-color: var(--n-merged-td-color-hover);\n `), cE('ellipsis', `\n display: inline-block;\n text-overflow: ellipsis;\n overflow: hidden;\n white-space: nowrap;\n max-width: 100%;\n vertical-align: bottom;\n max-width: calc(100% - var(--indent-offset, -1.5) * 16px - 24px);\n `), cM('selection, expand', `\n text-align: center;\n padding: 0;\n line-height: 0;\n `), fixedColumnStyle]), cB('data-table-empty', `\n box-sizing: border-box;\n padding: var(--n-empty-padding);\n flex-grow: 1;\n flex-shrink: 0;\n opacity: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n transition: opacity .3s var(--n-bezier);\n `, [cM('hide', `\n opacity: 0;\n `)]), cE('pagination', `\n margin: var(--n-pagination-margin);\n display: flex;\n justify-content: flex-end;\n `), cB('data-table-wrapper', `\n position: relative;\n opacity: 1;\n transition: opacity .3s var(--n-bezier), border-color .3s var(--n-bezier);\n border-top-left-radius: var(--n-border-radius);\n border-top-right-radius: var(--n-border-radius);\n line-height: var(--n-line-height);\n `), cM('loading', [cB('data-table-wrapper', `\n opacity: var(--n-opacity-loading);\n pointer-events: none;\n `)]), cM('single-column', [cB('data-table-td', `\n border-bottom: 0 solid var(--n-merged-border-color);\n `, [c('&::after, &::before', `\n bottom: 0 !important;\n `)])]), cNotM('single-line', [cB('data-table-th', `\n border-right: 1px solid var(--n-merged-border-color);\n `, [cM('last', `\n border-right: 0 solid var(--n-merged-border-color);\n `)]), cB('data-table-td', `\n border-right: 1px solid var(--n-merged-border-color);\n `, [cM('last-col', `\n border-right: 0 solid var(--n-merged-border-color);\n `)])]), cM('bordered', [cB('data-table-wrapper', `\n border: 1px solid var(--n-merged-border-color);\n border-bottom-left-radius: var(--n-border-radius);\n border-bottom-right-radius: var(--n-border-radius);\n overflow: hidden;\n `)]), cB('data-table-base-table', [cM('transition-disabled', [cB('data-table-th', [c('&::after, &::before', 'transition: none;')]), cB('data-table-td', [c('&::after, &::before', 'transition: none;')])])]), cM('bottom-bordered', [cB('data-table-td', [cM('last-row', `\n border-bottom: 1px solid var(--n-merged-border-color);\n `)])]), cB('data-table-table', `\n font-variant-numeric: tabular-nums;\n width: 100%;\n word-break: break-word;\n transition: background-color .3s var(--n-bezier);\n border-collapse: separate;\n border-spacing: 0;\n background-color: var(--n-merged-td-color);\n `), cB('data-table-base-table-header', `\n border-top-left-radius: calc(var(--n-border-radius) - 1px);\n border-top-right-radius: calc(var(--n-border-radius) - 1px);\n z-index: 3;\n overflow: scroll;\n flex-shrink: 0;\n transition: border-color .3s var(--n-bezier);\n scrollbar-width: none;\n `, [c('&::-webkit-scrollbar', `\n width: 0;\n height: 0;\n `)]), cB('data-table-check-extra', `\n transition: color .3s var(--n-bezier);\n color: var(--n-th-icon-color);\n position: absolute;\n font-size: 14px;\n right: -4px;\n top: 50%;\n transform: translateY(-50%);\n z-index: 1;\n `)]), cB('data-table-filter-menu', [cB('scrollbar', `\n max-height: 240px;\n `), cE('group', `\n display: flex;\n flex-direction: column;\n padding: 12px 12px 0 12px;\n `, [cB('checkbox', `\n margin-bottom: 12px;\n margin-right: 0;\n `), cB('radio', `\n margin-bottom: 12px;\n margin-right: 0;\n `)]), cE('action', `\n padding: var(--n-action-padding);\n display: flex;\n flex-wrap: nowrap;\n justify-content: space-evenly;\n border-top: 1px solid var(--n-action-divider-color);\n `, [cB('button', [c('&:not(:last-child)', `\n margin: var(--n-action-button-margin);\n `), c('&:last-child', `\n margin-right: 0;\n `)])]), cB('divider', `\n margin: 0 !important;\n `)]), insideModal(cB('data-table', `\n --n-merged-th-color: var(--n-th-color-modal);\n --n-merged-td-color: var(--n-td-color-modal);\n --n-merged-border-color: var(--n-border-color-modal);\n --n-merged-th-color-hover: var(--n-th-color-hover-modal);\n --n-merged-td-color-hover: var(--n-td-color-hover-modal);\n --n-merged-td-color-striped: var(--n-td-color-striped-modal);\n `)), insidePopover(cB('data-table', `\n --n-merged-th-color: var(--n-th-color-popover);\n --n-merged-td-color: var(--n-td-color-popover);\n --n-merged-border-color: var(--n-border-color-popover);\n --n-merged-th-color-hover: var(--n-th-color-hover-popover);\n --n-merged-td-color-hover: var(--n-td-color-hover-popover);\n --n-merged-td-color-striped: var(--n-td-color-striped-popover);\n `))]);\nfunction createFixedColumnStyle() {\n return [cM('fixed-left', `\n left: 0;\n position: sticky;\n z-index: 2;\n `, [c('&::after', `\n pointer-events: none;\n content: \"\";\n width: 36px;\n display: inline-block;\n position: absolute;\n top: 0;\n bottom: -1px;\n transition: box-shadow .2s var(--n-bezier);\n right: -36px;\n `)]), cM('fixed-right', `\n right: 0;\n position: sticky;\n z-index: 1;\n `, [c('&::before', `\n pointer-events: none;\n content: \"\";\n width: 36px;\n display: inline-block;\n position: absolute;\n top: 0;\n bottom: -1px;\n transition: box-shadow .2s var(--n-bezier);\n left: -36px;\n `)])];\n}","import { h, computed, defineComponent, ref, provide, toRef, Transition, watchEffect } from 'vue';\nimport { createId } from 'seemly';\nimport { useConfig, useRtl, useLocale, useTheme, useThemeClass } from \"../../_mixins/index.mjs\";\nimport { NBaseLoading } from \"../../_internal/index.mjs\";\nimport { NPagination } from \"../../pagination/index.mjs\";\nimport { createKey, download, resolveSlot, warnOnce } from \"../../_utils/index.mjs\";\nimport { dataTableLight } from \"../styles/index.mjs\";\nimport MainTable from \"./MainTable.mjs\";\nimport { useCheck } from \"./use-check.mjs\";\nimport { useTableData } from \"./use-table-data.mjs\";\nimport { useScroll } from \"./use-scroll.mjs\";\nimport { useResizable } from \"./use-resizable.mjs\";\nimport { dataTableInjectionKey, dataTableProps } from \"./interface.mjs\";\nimport { useGroupHeader } from \"./use-group-header.mjs\";\nimport { useExpand } from \"./use-expand.mjs\";\nimport style from \"./styles/index.cssr.mjs\";\nimport { generateCsv } from \"./utils.mjs\";\nexport default defineComponent({\n name: 'DataTable',\n alias: ['AdvancedTable'],\n props: dataTableProps,\n setup(props, {\n slots\n }) {\n if (process.env.NODE_ENV !== 'production') {\n watchEffect(() => {\n if (props.onPageChange !== undefined) {\n warnOnce('data-table', '`on-page-change` is deprecated, please use `on-update:page` instead.');\n }\n if (props.onPageSizeChange !== undefined) {\n warnOnce('data-table', '`on-page-size-change` is deprecated, please use `on-update:page-size` instead.');\n }\n if (props.onSorterChange !== undefined) {\n warnOnce('data-table', '`on-sorter-change` is deprecated, please use `on-update:sorter` instead.');\n }\n if (props.onFiltersChange !== undefined) {\n warnOnce('data-table', '`on-filters-change` is deprecated, please use `on-update:filters` instead.');\n }\n if (props.onCheckedRowKeysChange !== undefined) {\n warnOnce('data-table', '`on-checked-row-keys-change` is deprecated, please use `on-update:checked-row-keys` instead.');\n }\n });\n }\n const {\n mergedBorderedRef,\n mergedClsPrefixRef,\n inlineThemeDisabled,\n mergedRtlRef\n } = useConfig(props);\n const rtlEnabledRef = useRtl('DataTable', mergedRtlRef, mergedClsPrefixRef);\n const mergedBottomBorderedRef = computed(() => {\n const {\n bottomBordered\n } = props;\n // do not add bottom bordered class if bordered is true\n // since border is displayed on wrapper\n if (mergedBorderedRef.value) return false;\n if (bottomBordered !== undefined) return bottomBordered;\n return true;\n });\n const themeRef = useTheme('DataTable', '-data-table', style, dataTableLight, props, mergedClsPrefixRef);\n const bodyWidthRef = ref(null);\n const mainTableInstRef = ref(null);\n const {\n getResizableWidth,\n clearResizableWidth,\n doUpdateResizableWidth\n } = useResizable();\n const {\n rowsRef,\n colsRef,\n dataRelatedColsRef,\n hasEllipsisRef\n } = useGroupHeader(props, getResizableWidth);\n const downloadCsv = options => {\n const {\n fileName = 'data.csv',\n keepOriginalData = false\n } = options || {};\n const data = keepOriginalData ? props.data : rawPaginatedDataRef.value;\n const csvData = generateCsv(props.columns, data);\n const blob = new Blob([csvData], {\n type: 'text/csv;charset=utf-8'\n });\n const downloadUrl = URL.createObjectURL(blob);\n download(downloadUrl, fileName.endsWith('.csv') ? fileName : `${fileName}.csv`);\n URL.revokeObjectURL(downloadUrl);\n };\n const {\n treeMateRef,\n mergedCurrentPageRef,\n paginatedDataRef,\n rawPaginatedDataRef,\n selectionColumnRef,\n hoverKeyRef,\n mergedPaginationRef,\n mergedFilterStateRef,\n mergedSortStateRef,\n childTriggerColIndexRef,\n doUpdatePage,\n doUpdateFilters,\n onUnstableColumnResize,\n deriveNextSorter,\n filter,\n filters,\n clearFilter,\n clearFilters,\n clearSorter,\n page,\n sort\n } = useTableData(props, {\n dataRelatedColsRef\n });\n const {\n doCheckAll,\n doUncheckAll,\n doCheck,\n doUncheck,\n headerCheckboxDisabledRef,\n someRowsCheckedRef,\n allRowsCheckedRef,\n mergedCheckedRowKeySetRef,\n mergedInderminateRowKeySetRef\n } = useCheck(props, {\n selectionColumnRef,\n treeMateRef,\n paginatedDataRef\n });\n const {\n stickyExpandedRowsRef,\n mergedExpandedRowKeysRef,\n renderExpandRef,\n expandableRef,\n doUpdateExpandedRowKeys\n } = useExpand(props, treeMateRef);\n const {\n handleTableBodyScroll,\n handleTableHeaderScroll,\n syncScrollState,\n setHeaderScrollLeft,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n leftFixedColumnsRef,\n rightFixedColumnsRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef\n } = useScroll(props, {\n bodyWidthRef,\n mainTableInstRef,\n mergedCurrentPageRef\n });\n const {\n localeRef\n } = useLocale('DataTable');\n const mergedTableLayoutRef = computed(() => {\n // Layout\n // virtual |descrete header | ellpisis => fixed\n // = virtual | maxHeight | ellpisis => fixed\n if (props.virtualScroll || props.flexHeight || props.maxHeight !== undefined || hasEllipsisRef.value) {\n return 'fixed';\n }\n return props.tableLayout;\n });\n provide(dataTableInjectionKey, {\n props,\n treeMateRef,\n renderExpandIconRef: toRef(props, 'renderExpandIcon'),\n loadingKeySetRef: ref(new Set()),\n slots,\n indentRef: toRef(props, 'indent'),\n childTriggerColIndexRef,\n bodyWidthRef,\n componentId: createId(),\n hoverKeyRef,\n mergedClsPrefixRef,\n mergedThemeRef: themeRef,\n scrollXRef: computed(() => props.scrollX),\n rowsRef,\n colsRef,\n paginatedDataRef,\n leftActiveFixedColKeyRef,\n leftActiveFixedChildrenColKeysRef,\n rightActiveFixedColKeyRef,\n rightActiveFixedChildrenColKeysRef,\n leftFixedColumnsRef,\n rightFixedColumnsRef,\n fixedColumnLeftMapRef,\n fixedColumnRightMapRef,\n mergedCurrentPageRef,\n someRowsCheckedRef,\n allRowsCheckedRef,\n mergedSortStateRef,\n mergedFilterStateRef,\n loadingRef: toRef(props, 'loading'),\n rowClassNameRef: toRef(props, 'rowClassName'),\n mergedCheckedRowKeySetRef,\n mergedExpandedRowKeysRef,\n mergedInderminateRowKeySetRef,\n localeRef,\n expandableRef,\n stickyExpandedRowsRef,\n rowKeyRef: toRef(props, 'rowKey'),\n renderExpandRef,\n summaryRef: toRef(props, 'summary'),\n virtualScrollRef: toRef(props, 'virtualScroll'),\n rowPropsRef: toRef(props, 'rowProps'),\n stripedRef: toRef(props, 'striped'),\n checkOptionsRef: computed(() => {\n const {\n value: selectionColumn\n } = selectionColumnRef;\n return selectionColumn === null || selectionColumn === void 0 ? void 0 : selectionColumn.options;\n }),\n rawPaginatedDataRef,\n filterMenuCssVarsRef: computed(() => {\n const {\n self: {\n actionDividerColor,\n actionPadding,\n actionButtonMargin\n }\n } = themeRef.value;\n return {\n '--n-action-padding': actionPadding,\n '--n-action-button-margin': actionButtonMargin,\n '--n-action-divider-color': actionDividerColor\n };\n }),\n onLoadRef: toRef(props, 'onLoad'),\n mergedTableLayoutRef,\n maxHeightRef: toRef(props, 'maxHeight'),\n minHeightRef: toRef(props, 'minHeight'),\n flexHeightRef: toRef(props, 'flexHeight'),\n headerCheckboxDisabledRef,\n paginationBehaviorOnFilterRef: toRef(props, 'paginationBehaviorOnFilter'),\n summaryPlacementRef: toRef(props, 'summaryPlacement'),\n scrollbarPropsRef: toRef(props, 'scrollbarProps'),\n syncScrollState,\n doUpdatePage,\n doUpdateFilters,\n getResizableWidth,\n onUnstableColumnResize,\n clearResizableWidth,\n doUpdateResizableWidth,\n deriveNextSorter,\n doCheck,\n doUncheck,\n doCheckAll,\n doUncheckAll,\n doUpdateExpandedRowKeys,\n handleTableHeaderScroll,\n handleTableBodyScroll,\n setHeaderScrollLeft,\n renderCell: toRef(props, 'renderCell')\n });\n const exposedMethods = {\n filter,\n filters,\n clearFilters,\n clearSorter,\n page,\n sort,\n clearFilter,\n downloadCsv,\n scrollTo: (arg0, arg1) => {\n var _a;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n (_a = mainTableInstRef.value) === null || _a === void 0 ? void 0 : _a.scrollTo(arg0, arg1);\n }\n };\n const cssVarsRef = computed(() => {\n const {\n size\n } = props;\n const {\n common: {\n cubicBezierEaseInOut\n },\n self: {\n borderColor,\n tdColorHover,\n thColor,\n thColorHover,\n tdColor,\n tdTextColor,\n thTextColor,\n thFontWeight,\n thButtonColorHover,\n thIconColor,\n thIconColorActive,\n filterSize,\n borderRadius,\n lineHeight,\n tdColorModal,\n thColorModal,\n borderColorModal,\n thColorHoverModal,\n tdColorHoverModal,\n borderColorPopover,\n thColorPopover,\n tdColorPopover,\n tdColorHoverPopover,\n thColorHoverPopover,\n paginationMargin,\n emptyPadding,\n boxShadowAfter,\n boxShadowBefore,\n sorterSize,\n resizableContainerSize,\n resizableSize,\n loadingColor,\n loadingSize,\n opacityLoading,\n tdColorStriped,\n tdColorStripedModal,\n tdColorStripedPopover,\n [createKey('fontSize', size)]: fontSize,\n [createKey('thPadding', size)]: thPadding,\n [createKey('tdPadding', size)]: tdPadding\n }\n } = themeRef.value;\n return {\n '--n-font-size': fontSize,\n '--n-th-padding': thPadding,\n '--n-td-padding': tdPadding,\n '--n-bezier': cubicBezierEaseInOut,\n '--n-border-radius': borderRadius,\n '--n-line-height': lineHeight,\n '--n-border-color': borderColor,\n '--n-border-color-modal': borderColorModal,\n '--n-border-color-popover': borderColorPopover,\n '--n-th-color': thColor,\n '--n-th-color-hover': thColorHover,\n '--n-th-color-modal': thColorModal,\n '--n-th-color-hover-modal': thColorHoverModal,\n '--n-th-color-popover': thColorPopover,\n '--n-th-color-hover-popover': thColorHoverPopover,\n '--n-td-color': tdColor,\n '--n-td-color-hover': tdColorHover,\n '--n-td-color-modal': tdColorModal,\n '--n-td-color-hover-modal': tdColorHoverModal,\n '--n-td-color-popover': tdColorPopover,\n '--n-td-color-hover-popover': tdColorHoverPopover,\n '--n-th-text-color': thTextColor,\n '--n-td-text-color': tdTextColor,\n '--n-th-font-weight': thFontWeight,\n '--n-th-button-color-hover': thButtonColorHover,\n '--n-th-icon-color': thIconColor,\n '--n-th-icon-color-active': thIconColorActive,\n '--n-filter-size': filterSize,\n '--n-pagination-margin': paginationMargin,\n '--n-empty-padding': emptyPadding,\n '--n-box-shadow-before': boxShadowBefore,\n '--n-box-shadow-after': boxShadowAfter,\n '--n-sorter-size': sorterSize,\n '--n-resizable-container-size': resizableContainerSize,\n '--n-resizable-size': resizableSize,\n '--n-loading-size': loadingSize,\n '--n-loading-color': loadingColor,\n '--n-opacity-loading': opacityLoading,\n '--n-td-color-striped': tdColorStriped,\n '--n-td-color-striped-modal': tdColorStripedModal,\n '--n-td-color-striped-popover': tdColorStripedPopover\n };\n });\n const themeClassHandle = inlineThemeDisabled ? useThemeClass('data-table', computed(() => props.size[0]), cssVarsRef, props) : undefined;\n const mergedShowPaginationRef = computed(() => {\n if (!props.pagination) return false;\n if (props.paginateSinglePage) return true;\n const mergedPagination = mergedPaginationRef.value;\n const {\n pageCount\n } = mergedPagination;\n if (pageCount !== undefined) return pageCount > 1;\n return mergedPagination.itemCount && mergedPagination.pageSize && mergedPagination.itemCount > mergedPagination.pageSize;\n });\n return Object.assign({\n mainTableInstRef,\n mergedClsPrefix: mergedClsPrefixRef,\n rtlEnabled: rtlEnabledRef,\n mergedTheme: themeRef,\n paginatedData: paginatedDataRef,\n mergedBordered: mergedBorderedRef,\n mergedBottomBordered: mergedBottomBorderedRef,\n mergedPagination: mergedPaginationRef,\n mergedShowPagination: mergedShowPaginationRef,\n cssVars: inlineThemeDisabled ? undefined : cssVarsRef,\n themeClass: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.themeClass,\n onRender: themeClassHandle === null || themeClassHandle === void 0 ? void 0 : themeClassHandle.onRender\n }, exposedMethods);\n },\n render() {\n const {\n mergedClsPrefix,\n themeClass,\n onRender,\n $slots,\n spinProps\n } = this;\n onRender === null || onRender === void 0 ? void 0 : onRender();\n return h(\"div\", {\n class: [`${mergedClsPrefix}-data-table`, this.rtlEnabled && `${mergedClsPrefix}-data-table--rtl`, themeClass, {\n [`${mergedClsPrefix}-data-table--bordered`]: this.mergedBordered,\n [`${mergedClsPrefix}-data-table--bottom-bordered`]: this.mergedBottomBordered,\n [`${mergedClsPrefix}-data-table--single-line`]: this.singleLine,\n [`${mergedClsPrefix}-data-table--single-column`]: this.singleColumn,\n [`${mergedClsPrefix}-data-table--loading`]: this.loading,\n [`${mergedClsPrefix}-data-table--flex-height`]: this.flexHeight\n }],\n style: this.cssVars\n }, h(\"div\", {\n class: `${mergedClsPrefix}-data-table-wrapper`\n }, h(MainTable, {\n ref: \"mainTableInstRef\"\n })), this.mergedShowPagination ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table__pagination`\n }, h(NPagination, Object.assign({\n theme: this.mergedTheme.peers.Pagination,\n themeOverrides: this.mergedTheme.peerOverrides.Pagination,\n disabled: this.loading\n }, this.mergedPagination))) : null, h(Transition, {\n name: \"fade-in-scale-up-transition\"\n }, {\n default: () => {\n return this.loading ? h(\"div\", {\n class: `${mergedClsPrefix}-data-table-loading-wrapper`\n }, resolveSlot($slots.loading, () => [h(NBaseLoading, Object.assign({\n clsPrefix: mergedClsPrefix,\n strokeWidth: 20\n }, spinProps))])) : null;\n }\n }));\n }\n});","import type { Directive } from 'vue';\nimport { nextTick } from 'vue';\n\nexport const rect: Directive<HTMLElement, (rect: DOMRect) => void> = {\n async mounted(el, binding) {\n await nextTick();\n binding.value(el.getClientRects()[0]);\n },\n async updated(el, binding) {\n await nextTick();\n binding.value(el.getClientRects()[0]);\n },\n};\n","import dayjs from 'dayjs';\nimport { NEllipsis } from 'naive-ui';\nimport type { TableBaseColumn } from 'naive-ui/es/data-table/src/interface';\nimport { shallowReactive, withDirectives } from 'vue';\nimport { rect } from './directives';\nimport { getAppInfo, getDevice } from './node';\nimport { copy } from './others';\nimport { importTimeStorage } from './storage';\nimport type { Snapshot } from './types';\n\nconst useAutoWrapWidthColumn = <T,>(data: TableBaseColumn<T>) => {\n const currentCol = shallowReactive<TableBaseColumn<T>>({\n ...data,\n render(rowData, rowIndex) {\n return withDirectives(\n <span class=\"whitespace-nowrap\">\n {data.render?.(rowData, rowIndex)}\n </span>,\n [\n [\n rect,\n (size: DOMRect) => {\n currentCol.width = Math.max(\n Math.ceil(size.width + 16), // 16 是 n-data-table-td 的 左右内边距\n (currentCol.width as number) || 0,\n Number(currentCol.minWidth || 0),\n );\n },\n ],\n ],\n );\n },\n });\n return currentCol;\n};\n\nexport const renderDevice = (row: Snapshot) => {\n return `${getDevice(row).manufacturer} Android${\n getDevice(row).release || `13`\n }`;\n};\n\nexport const useSnapshotColumns = () => {\n const ctimeCol = shallowReactive<TableBaseColumn<Snapshot>>({\n key: `id`,\n title: `创建时间`,\n fixed: 'left',\n width: `130px`,\n sortOrder: false,\n sorter(rowA, rowB) {\n return rowA.id - rowB.id;\n },\n render(row) {\n return dayjs(row.id).format('MM-DD HH:mm:ss');\n },\n });\n const mtimeCol = shallowReactive<TableBaseColumn<Snapshot>>({\n key: `mtime`,\n title: `导入时间`,\n width: `130px`,\n sortOrder: false,\n sorter(rowA, rowB) {\n return (\n (importTimeStorage[rowA.id] || rowA.id) -\n (importTimeStorage[rowB.id] || rowB.id)\n );\n },\n render(row) {\n return dayjs(importTimeStorage[row.id] || row.id).format(\n 'MM-DD HH:mm:ss',\n );\n },\n });\n\n const deviceCol = useAutoWrapWidthColumn<Snapshot>({\n key: `versionRelease`,\n title: `设备`,\n filterMultiple: true,\n minWidth: 100,\n filter(value, row) {\n return renderDevice(row).includes(value.toString());\n },\n render(row) {\n return renderDevice(row);\n },\n });\n const appNameCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appName`,\n minWidth: 100,\n title: `应用名称`,\n filterMultiple: true,\n filter(value, row) {\n return value.toString() == getAppInfo(row).name;\n },\n cellProps(row) {\n return {\n onClick() {\n copy(getAppInfo(row).name);\n },\n };\n },\n render(row) {\n return getAppInfo(row).name;\n },\n });\n const appIdCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appId`,\n title: `应用ID`,\n minWidth: 100,\n cellProps(row) {\n return {\n onClick() {\n copy(row.appId);\n },\n };\n },\n render(row) {\n return row.appId;\n },\n });\n const appVersionCodeCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appVersionCode`,\n title: `版本代码`,\n minWidth: 150,\n render(row) {\n return getAppInfo(row).versionCode;\n },\n });\n const appVersionNameCol = useAutoWrapWidthColumn<Snapshot>({\n key: `appVersionName`,\n title: `版本号`,\n minWidth: 150,\n render(row) {\n return <NEllipsis>{getAppInfo(row).versionName}</NEllipsis>;\n },\n });\n\n const activityIdCol = shallowReactive<TableBaseColumn<Snapshot>>({\n key: `activityId`,\n title: `界面ID`,\n filterMultiple: true,\n filter(value, row) {\n return value.toString() == row.activityId;\n },\n cellProps(row) {\n return {\n onClick() {\n copy(row.activityId);\n },\n };\n },\n render(row) {\n return (\n <div class=\"whitespace-nowrap text-left direction-rtl\">\n <NEllipsis>{row.activityId}</NEllipsis>\n </div>\n );\n },\n });\n\n const resetColWidth = () => {\n deviceCol.width = void 0;\n appNameCol.width = void 0;\n appIdCol.width = void 0;\n appVersionCodeCol.width = void 0;\n appVersionNameCol.width = void 0;\n };\n return {\n ctimeCol,\n mtimeCol,\n deviceCol,\n appNameCol,\n appIdCol,\n appVersionCodeCol,\n appVersionNameCol,\n activityIdCol,\n resetColWidth,\n };\n};\n"],"names":["smallerSize","size","getTitleAttribute","value","createRefSetter","ref","inst","mergeEventHandlers","handlers","filteredHandlers","handler","e","useDeferredTrue","valueRef","delay","shouldDelayRef","delayedRef","timerId","watch","useKeyboard","options","enabledRef","state","reactive","keydown","keyup","keydownHandler","key","stop","prevent","keyupHandler","setup","on","off","hasInstance","onBeforeMount","onBeforeUnmount","readonly","hiddenAttr","style","c","VOverflow","defineComponent","props","slots","selfRef","counterRef","deriveCounter","self","getCounter","getTail","counter","children","child","containerWidth","childWidths","tail","childWidthSum","overflow","len","i","childWidth","updateCounter","j","restCount","counterWidth","onUpdateCount","onUpdateOverflow","ssrAdapter","useSsrAdapter","cssrAnchorMetaName","onMounted","$slots","nextTick","h","renderSlot","useOnResize","elRef","onResize","el","resizeObserverManager","download","url","name","a","ArrowDownIcon","BackwardIcon","FinishedIcon","FastBackwardIcon","FastForwardIcon","FilterIcon","ForwardIcon","MoreIcon","FocusDetector","commonVariables$4","vars","borderRadius","popoverColor","textColor3","dividerColor","textColor2","primaryColorPressed","textColorDisabled","primaryColor","opacityDisabled","hoverColor","fontSizeSmall","fontSizeMedium","fontSizeLarge","fontSizeHuge","heightSmall","heightMedium","heightLarge","heightHuge","commonVariables","internalSelectMenuLight","createTheme","commonLight","scrollbarLight","emptyLight","renderCheckMark","show","clsPrefix","Transition","NBaseIcon","CheckmarkIcon","NSelectOption","pendingTmNodeRef","multipleRef","valueSetRef","renderLabelRef","renderOptionRef","labelFieldRef","valueFieldRef","showCheckmarkRef","nodePropsRef","handleOptionClick","handleOptionMouseEnter","inject","internalSelectionMenuInjectionKey","isPendingRef","useMemo","pendingTmNode","handleClick","tmNode","handleMouseEnter","handleMouseMove","isPending","parent","multiple","optionValue","valueSet","rawNode","isSelected","isGrouped","showCheckmark","nodeProps","renderOption","renderLabel","checkmark","render","attrs","node","NSelectGroupHeader","style$7","cB","cE","cM","cNotM","fadeInScaleUpTransition","NInternalSelectMenu","useTheme","mergedClsPrefixRef","mergedRtlRef","useConfig","rtlEnabledRef","useRtl","themeRef","toRef","virtualListRef","scrollbarRef","flattenedNodesRef","computed","fIndexGetterRef","createIndexGetter","pendingNodeRef","initPendingNode","treeMate","defaultPendingNode","setPendingTmNode","clearPendingNodeIfInvalid","pendingNode","initPendingNodeWatchStopHandle","scrollToPendingNode","itemSizeRef","depx","createKey","paddingRef","getPadding","emptyRef","tmNodes","doToggle","onToggle","doScroll","onScroll","handleVirtualListScroll","_a","handleVirtualListResize","getPendingTmNode","handleKeyUp","happensIn","handleKeyDown","handleMouseDown","next","prev","_b","fIndex","handleFocusin","handleFocusout","provide","internalSelectionMenuBodyInjectionKey","cssVarsRef","cubicBezierEaseInOut","height","color","groupHeaderTextColor","actionDividerColor","optionTextColorPressed","optionTextColor","optionTextColorDisabled","optionTextColorActive","optionOpacityDisabled","optionCheckColor","actionTextColor","optionColorPending","optionColorActive","loadingColor","loadingSize","optionColorActivePending","fontSize","optionHeight","optionPadding","inlineThemeDisabled","themeClassHandle","useThemeClass","exposedProps","virtualScroll","mergedTheme","themeClass","onRender","resolveWrappedSlot","NInternalLoading","resolveSlot","NEmpty","NScrollbar","VirtualList","NFocusDetector","commonVariables$3","primaryColorHover","infoColor","successColor","warningColor","errorColor","baseColor","borderColor","tagColor","closeIconColor","closeIconColorHover","closeIconColorPressed","fontSizeMini","fontSizeTiny","heightMini","heightTiny","closeColorHover","closeColorPressed","buttonColor2Hover","buttonColor2Pressed","fontWeightStrong","changeColor","tagLight","commonProps","style$6","tagProps","tagInjectionKey","createInjectionKey","NTag","contentRef","mergedBorderedRef","checked","onCheckedChange","onUpdateChecked","_onUpdateChecked","handleCloseClick","onClose","call","tagPublicMethods","textContent","type","textColor","padding","closeMargin","textColorCheckable","textColorHoverCheckable","textColorPressedCheckable","textColorChecked","colorCheckable","colorHoverCheckable","colorPressedCheckable","colorChecked","colorCheckedHover","colorCheckedPressed","closeBorderRadius","colorBordered","closeSize","closeIconSize","typedColor","typeTextColor","border","closeMarginDiscrete","getMargin","hash","color2Class","mergedClsPrefix","rtlEnabled","closable","round","avatarNode","iconNode","NBaseClose","commonVars","inputColor","inputColorDisabled","warningColorHover","errorColorHover","iconColor","iconColorDisabled","clearColor","clearColorHover","clearColorPressed","placeholderColor","placeholderColorDisabled","internalSelectionLight","popoverLight","style$5","status","NInternalSelection","patternInputMirrorRef","patternInputRef","multipleElRef","singleElRef","patternInputWrapperRef","counterWrapperRef","overflowRef","inputTagElRef","showTagsPopoverRef","patternInputFocusedRef","hoverRef","mergedClearableRef","filterablePlaceholderRef","labelRef","option","selectedRef","syncMirrorWidth","patternInputMirrorEl","patternInputEl","hideInputTag","inputTagEl","showInputTag","doFocus","onFocus","doBlur","onBlur","doDeleteOption","onDeleteOption","doClear","onClear","doPatternInput","onPatternInput","handleClear","handleMouseLeave","handleDeleteOption","handlePatternKeyDown","isComposingRef","selectedOptions","cachedInputEvent","handlePatternInputInput","inputText","handleCompositionStart","handleCompositionEnd","handlePatternInputFocus","handlePatternInputBlur","blur","multipleEl","singleEl","focus","_c","focusInput","blurInput","count","enterTimerId","clearEnterTimer","handleMouseEnterCounter","handleMouseLeaveCounter","onPopoverUpdateShow","watchEffect","patternInputWrapperEl","paddingSingle","paddingMultiple","caretColor","colorDisabled","colorActive","boxShadowFocus","boxShadowActive","boxShadowHover","borderFocus","borderHover","borderActive","arrowColor","arrowColorDisabled","colorActiveWarning","boxShadowFocusWarning","boxShadowActiveWarning","boxShadowHoverWarning","borderWarning","borderFocusWarning","borderHoverWarning","borderActiveWarning","colorActiveError","boxShadowFocusError","boxShadowActiveError","boxShadowHoverError","borderError","borderFocusError","borderHoverError","borderActiveError","clearSize","arrowSize","paddingSingleDiscrete","paddingMultipleDiscrete","disabled","filterable","maxTagCount","bordered","ellipsisTagPopoverProps","renderTag","maxTagCountResponsive","maxTagCountNumeric","useMaxTagCount","suffix","Wrapper","Suffix","body","labelField","createTag","createOriginalTagNodes","input","renderCounter","rest","tags","renderPopover","popoverProps","placeholder","popoverTrigger","Fragment","NPopover","hasInput","showPlaceholder","showSelectedLabel","getIsGroup","getIgnored","patternMatched","pattern","createTmOptions","valueField","childrenField","filterOptions","originalOpts","filter","traverse","filteredOptions","createValOptMap","valOptMap","selectGroupOption","boxShadow2","popselectLight","popselectInjectionKey","style$4","panelProps","panelPropKeys","keysOf","NPopselectPanel","NPopselect","treeMateRef","createTreeMate","doUpdateValue","onUpdateValue","_onUpdateValue","onChange","handleToggle","toggle","handleMenuMousedown","getNode","newValue","newOptions","shouldAddValue","v","_onUpdateShow","onUpdateShow","menuBoxShadow","popselectProps","omit","popoverBaseProps","popoverInstRef","syncPosition","setShow","className","onMouseenter","onMouseleave","$attrs","keep","selectLight","style$3","selectProps","useAdjustedTo","NSelect","namespaceRef","uncontrolledValueRef","controlledValueRef","mergedValueRef","useMergedState","focusedRef","patternRef","filteredOptionsRef","valOptMapRef","localOptionsRef","uncontrolledShowRef","mergedShowRef","triggerRef","followerRef","menuRef","localeRef","useLocale","localizedPlaceholderRef","compitableOptionsRef","useCompitable","emptyArray","createdOptionsRef","beingCreatedOptionsRef","memoValOptMapRef","wrappedFallbackOptionRef","fallbackOption","resolvedFilterRef","label","localOptions","getMergedOptions","values","remote","memoValOptMap","wrappedFallbackOption","selectedOptionsRef","selectedOptionRef","mergedValue","formItem","useFormItem","mergedSizeRef","mergedDisabledRef","mergedStatusRef","nTriggerFormChange","nTriggerFormInput","nTriggerFormBlur","showOnFocus","nTriggerFormFocus","openMenu","doSearch","onSearch","updateMemorizedOptions","doUpdateShow","focusSelectionInput","closeMenu","handleMenuAfterLeave","activeWithoutMenuOpenRef","onTriggerInputFocus","onTriggerInputBlur","handleTriggerClick","handleTriggerBlur","handleTriggerFocus","handleMenuFocus","handleMenuBlur","handleMenuTabOut","handleMenuClickOutside","getPreciseEventTarget","createClearedMultipleSelectValue","handleToggleByTmNode","handleToggleByOption","tag","clearFilterAfterSelect","beingCreatedOptions","beingCreatedOption","createdOptions","changedValue","index","createdOptionIndex","getCreatedOptionIndex","focusSelection","createdOption","handlePatternInput","onCreate","optionBeingCreated","handleMenuScroll","handleKeydown","_d","_e","markEventEffectPerformed","handleTriggerOrMenuResize","exposedMethods","useIsMounted","VBinder","VTarget","VFollower","withDirectives","vShow","clickoutside","commonVariables$2","paginationLight","inputLight","getDefaultPageSize","paginationProps","defaultPageSize","pageSizeOption","createPageItemsInfo","currentPage","pageCount","pageSlot","showQuickJumpDropdown","hasFastBackward","hasFastForward","fastBackwardTo","fastForwardTo","firstPage","lastPage","middleStart","middleEnd","middleDelta","leftSplit","rightSplit","items","createRange","from","to","range","hoverStyleProps","hoverStyleChildren","style$2","NPagination","mergedComponentPropsRef","uncontrolledPageRef","uncontrolledPageSizeRef","mergedPageRef","mergedPageSizeRef","mergedPageCountRef","itemCount","jumperValueRef","fastForwardActiveRef","fastBackwardActiveRef","showFastForwardMenuRef","showFastBackwardMenuRef","handleFastForwardMouseenter","disableTransitionOneTick","handleFastForwardMouseleave","handleFastBackwardMouseenter","handleFastBackwardMouseleave","handleMenuSelect","doUpdatePage","pageItemsInfo","pageSizeOptionsRef","inputSizeRef","selectSizeRef","startIndexRef","endIndexRef","endIndex","mergedItemCountRef","selfEl","page","_onUpdatePage","onUpdatePage","simple","doUpdatePageSize","pageSize","_onUpdatePageSize","onUpdatePageSize","onPageSizeChange","forward","backward","fastForward","fastBackward","handleSizePickerChange","doQuickJump","handleQuickJumperChange","handlePageItemClick","pageItem","handleJumperInput","buttonBorder","buttonBorderHover","buttonBorderPressed","buttonIconColor","buttonIconColorHover","buttonIconColorPressed","itemTextColor","itemTextColorHover","itemTextColorPressed","itemTextColorActive","itemTextColorDisabled","itemColor","itemColorHover","itemColorPressed","itemColorActive","itemColorActiveHover","itemColorDisabled","itemBorder","itemBorderHover","itemBorderPressed","itemBorderActive","itemBorderDisabled","itemBorderRadius","jumperTextColor","jumperTextColorDisabled","buttonColor","buttonColorHover","buttonColorPressed","itemPadding","itemMargin","inputWidth","selectWidth","inputMargin","selectMargin","jumperFontSize","prefixMargin","suffixMargin","itemSize","buttonIconSize","itemFontSize","itemMarginRtl","inputMarginRtl","cssVars","mergedPage","mergedPageCount","pageItems","showSizePicker","showQuickJumper","locale","inputSize","selectSize","mergedPageSize","pageSizeOptions","jumperValue","prefix","goto","handleBackwardClick","handleForwardClick","renderPrefix","renderSuffix","renderPrev","renderNext","part","NInput","contentNode","pageNode","fastForwardNode","fastBackwardNode","itemNode","commonVariables$1","invertedColor","dropdownLight","cardColor","modalColor","textColor1","tableHeaderColor","tableColorHover","lineHeight","tableColorStriped","composite","dataTableLight","buttonLight","checkboxLight","radioLight","ellipsisLight","NPerformantEllipsis","ellipsisProps","mouseEnteredRef","useMergedClsPrefix","useStyle","lineClamp","mergeProps","createLineClampClass","createCursorClass","Ellipsis","RenderSorter","order","dataTableProps","dataTableInjectionKey","SortButton","mergedSortStateRef","sortStateRef","activeRef","mergedSortOrderRef","sortState","mergedRenderSorterRef","mergedRenderSorter","mergedSortOrder","renderSorterIcon","RenderFilter","active","SELECTION_COL_WIDTH","EXPAND_COL_WIDTH","getNumberColWidth","col","getStringColWidth","formatLength","getColKey","createShallowClonedObject","object","getFlagOfOrder","clampValueFollowCSSRules","min","max","createCustomWidthStyle","column","resizedWidth","width","minWidth","maxWidth","createRowClassName","row","rowClassName","shouldUseArrayInSingleMode","isColumnSortable","isColumnResizable","isColumnFilterable","getNextOrderOf","createNextSorter","currentSortState","isColumnSorting","mergedSortState","formatCsvCell","generateCsv","columns","data","exportableColumns","header","rows","NDataTableFilterMenu","mergedClsPrefixRefRtl","mergedThemeRef","temporalValueRef","checkboxGroupValueRef","temporalValue","radioGroupValueRef","doChange","handleChange","handleConfirmClick","handleClearClick","checkboxGroupValue","NCheckboxGroup","NCheckbox","NRadioGroup","NRadio","NButton","createFilterState","currentFilterState","columnKey","mergedFilterValue","nextFilterState","FilterButton","mergedFilterStateRef","filterMenuCssVarsRef","paginationBehaviorOnFilterRef","doUpdateFilters","showPopoverRef","filterStateRef","filterMultipleRef","mergedFilterValueRef","filterValue","mergedRenderFilterRef","handleFilterChange","handleFilterMenuCancel","handleFilterMenuConfirm","mergedRenderFilter","renderFilterIcon","renderFilterMenu","ResizeButton","startX","getMouseX","handleMousedown","alreadyStarted","handleMousemove","handleMouseup","NDropdownDivider","dropdownMenuInjectionKey","dropdownInjectionKey","dropdownOptionInjectionKey","isSubmenuNode","isGroupNode","isDividerNode","isRenderNode","NDropdownOption","NDropdown","hoverKeyRef","keyboardKeyRef","lastToggledSubmenuKeyRef","pendingKeyPathRef","activeKeyPathRef","animatedRef","renderIconRef","childrenFieldRef","menuPropsRef","NDropdownMenu","NPopoverBody","popoverBodyInjectionKey","rawNodeRef","hasSubmenuRef","showSubmenuRef","hoverKey","keyboardKey","lastToggledSubmenuKey","pendingKeyPath","deferredShowSubmenuRef","parentEnteringSubmenuRef","enteringSubmenuRef","handleSubmenuBeforeEnter","handleSubmenuAfterEnter","parentKey","relatedTarget","hasSubmenu","activeKeyPath","k","animated","mergedShowSubmenu","siblingHasIcon","siblingHasSubmenu","renderIcon","scrollable","submenuVNode","submenuNodeProps","builtinProps","optionNodeProps","NIcon","ChevronRightIcon","NDropdownGroupHeader","showIconRef","showIcon","NDropdownGroup","warn","NDropdownRenderOption","rawChild","bodyRef","modalBodyInjectionKey","drawerBodyInjectionKey","menuOptionsNode","NxScrollbar","renderArrow","style$1","dropdownBaseProps","popoverPropKeys","dropdownProps","treemateRef","keyField","tmNodesRef","pendingKeyRef","keyboardEnabledRef","handleKeydownUp","handleKeydownRight","handleKeydownDown","handleKeydownLeft","handleKeydownEnter","handleKeydownEsc","doSelect","clearPendingState","onSelect","getPendingNode","pendingKey","direction","getFirstAvailableNode","nextKeyboardKey","firstNode","currentNode","nextNode","inverted","optionIconSuffixWidth","optionSuffixWidth","optionIconPrefixWidth","optionPrefixWidth","optionIconSize","renderPopoverBody","menuProps","menuNodeProps","allKey","noneKey","createSelectHandler","rawPaginatedDataRef","doCheckAll","doUncheckAll","createDropdownOptions","SelectionMenu","checkOptionsRef","handleSelectRef","optionsRef","ChevronDownIcon","renderTitle","TableHeader","scrollXRef","fixedColumnLeftMapRef","fixedColumnRightMapRef","mergedCurrentPageRef","allRowsCheckedRef","someRowsCheckedRef","rowsRef","colsRef","componentId","mergedTableLayoutRef","headerCheckboxDisabledRef","onUnstableColumnResize","doUpdateResizableWidth","handleTableHeaderScroll","deriveNextSorter","cellElsRef","getCellActualWidth","element","handleCheckboxUpdateChecked","handleColHeaderClick","activeSorter","nextSorter","resizeStartWidthMap","handleColumnResizeStart","handleColumnResize","displacementX","startWidth","widthAfterResize","limitWidth","fixedColumnLeftMap","fixedColumnRightMap","allRowsChecked","someRowsChecked","cols","checkOptions","discrete","mergedTableLayout","headerCheckboxDisabled","theadVNode","colSpan","rowSpan","isLast","ellipsis","createColumnVNode","NEllipsis","leftFixed","rightFixed","pxfy","scrollX","Cell","isSummary","renderCell","cell","get","ExpandTrigger","NIconSwitchTransition","NBaseLoading","RenderSafeCheckbox","mergedCheckedRowKeySetRef","mergedInderminateRowKeySetRef","rowKey","RenderSafeRadio","flatten","rowInfos","expandedRowKeys","fRows","rs","rootIndex","r","rowInfo","VirtualListItemWrapper","id","TableBody","dataTableSlots","bodyWidthRef","mergedExpandedRowKeysRef","paginatedDataRef","rowClassNameRef","leftActiveFixedColKeyRef","leftActiveFixedChildrenColKeysRef","rightActiveFixedColKeyRef","rightActiveFixedChildrenColKeysRef","renderExpandRef","summaryRef","virtualScrollRef","childTriggerColIndexRef","indentRef","rowPropsRef","maxHeightRef","stripedRef","loadingRef","onLoadRef","loadingKeySetRef","expandableRef","stickyExpandedRowsRef","renderExpandIconRef","summaryPlacementRef","scrollbarPropsRef","setHeaderScrollLeft","doUpdateExpandedRowKeys","handleTableBodyScroll","doCheck","doUncheck","scrollbarInstRef","emptyElRef","shouldDisplaySomeTablePartRef","bodyShowHeaderOnlyRef","lastSelectedKey","mergedExpandedRowKeySetRef","getRowInfo","shiftKey","lastIndex","item","currentIndex","start","end","rowKeysToCheck","handleRadioUpdateChecked","getScrollContainer","emptyEl","virtualListContainer","handleUpdateExpanded","mergedExpandedRowKeys","nextExpandedKeys","futureMergedExpandedRowKeys","futureNextExpandedKeys","handleMouseleaveTable","virtualListContent","arg0","arg1","cProps","createActiveLeftFixedStyle","leftActiveFixedColKey","createActiveRightFixedStyle","rightActiveFixedColKey","fixedStyleMounted","leftActiveFixedChildrenColKeys","rightActiveFixedChildrenColKeys","onUnmounted","striped","hasChildren","maxHeight","flexHeight","loadingKeySet","isBasicAutoLayout","xScrollable","contentStyle","tableNode","cordToPass","cordKey","paginatedDataAndInfo","mergedExpandedRowKeySet","stickyExpandedRows","childTriggerColIndex","expandable","rowProps","renderExpand","summary","colCount","mergedData","paginatedData","mergedPaginationData","summaryRows","summaryRowData","indentStyle","displayedData","rowCount","rowIndexToKey","rowIndex","bodyWidth","bodyWidthPx","renderRow","displayedRowIndex","isVirtual","actualRowIndex","rowData","expanded","mergedRowClassName","colIndex","cordOfRowToPass","indexInCordOfRowToPass","colKey","mergedColSpan","mergedRowSpan","isLastCol","isLastRow","isCrossRowTd","cellProps","resolvedCellProps","indentOffsetStyle","repeat","createEmptyNode","VResizeObserver","MainTable","rightFixedColumnsRef","leftFixedColumnsRef","minHeightRef","flexHeightRef","syncScrollState","headerInstRef","bodyInstRef","selfElRef","fixedStateInitializedRef","bodyStyleRef","handleBodyResize","entry","getHeaderElement","getBodyElement","transitionDisabledClass","headerInBody","useCheck","selectionColumnRef","uncontrolledCheckedRowKeysRef","mergedCheckState","checkedRowKeys","sourceKeys","mergedCheckedRowKeysRef","mergedInderminateRowKeysRef","countOfCurrentPageCheckedRowsRef","mergedCheckedRowKeySet","total","countOfCurrentPageDisabledRowsRef","length","mergedInderminateRowKeySet","doUpdateCheckedRowKeys","keys","action","_onUpdateCheckedRowKeys","onUpdateCheckedRowKeys","onCheckedRowKeysChange","single","checkWholeTable","rowKeysToUncheck","getMultiplePriority","sorter","getSortFunction","getDefaultSorterFn","row1","row2","value1","value2","useSorter","dataRelatedColsRef","filteredDataRef","defaultSortState","updateSortStatesByNewSortState","uncontrolledSortStateRef","columnsWithControlledSortOrder","columnToSort","uncontrolledSortState","sortedDataRef","activeSorters","b","item1Priority","tmNode1","tmNode2","compareResult","sorterState","compareFn","getUpdatedSorterState","nextSorterState","doUpdateSorter","_onUpdateSorter","onUpdateSorter","onSorterChange","sort","clearSorter","sortStates","useTableData","getSelectionColumn","childrenKey","firstContentfulColIndex","uncontrolledFilterStateRef","pagination","uncontrolledCurrentPageRef","columnsWithControlledFilter","controlledFilterState","mergedFilterState","createDefaultFilter","filterOptionValue","columnEntries","activeFilterOptionValues","defaultFilterOptionValues","controlledCurrentPageRef","controlledPageSizeRef","_mergedCurrentPageRef","boundedMergedCurrentPageRef","startIndex","mergedOnUpdatePage","mergedOnUpdatePageSize","mergedPaginationRef","onPageChange","filters","sourceColumn","onUpdateFilters","_onUpdateFilters","onFiltersChange","limitedWidth","getColumnWidth","clearFilter","clearFilters","useScroll","mainTableInstRef","lastScrollLeft","scrollPartRef","styleScrollXRef","left","positionInfo","right","deriveActiveLeftFixedColumn","leftFixedColumns","leftWidth","deriveActiveLeftFixedChildrenColumns","activeLeftFixedColumn","nextActiveLeftFixedColumn","deriveActiveRightFixedColumn","rightFixedColumns","scrollWidth","tableWidth","rightWidth","deriveActiveRightFixedChildrenColumns","activeRightFixedColumn","nextActiveRightFixedColumn","getScrollElements","scrollMainTableBodyToTop","beforeNextFrameOnce","directionHead","useResizable","resizableWidthsRef","getResizableWidth","clearResizableWidth","getRowsAndCols","dataRelatedCols","rowItemMap","maxDepth","totalRowSpan","hasEllipsis","ensureMaxDepth","currentDepth","currentLeafIndex","ensureColLayout","hideUntilIndex","cachedCurrentLeafIndex","rowItem","childColumn","useGroupHeader","rowsAndCols","useExpand","uncontrolledExpandedRowKeysRef","expandedKeys","controlledExpandedRowKeysRef","onUpdateExpandedRowKeys","_onUpdateExpandedRowKeys","fixedColumnStyle","createFixedColumnStyle","iconSwitchTransition","insideModal","insidePopover","NDataTable","mergedBottomBorderedRef","bottomBordered","hasEllipsisRef","downloadCsv","fileName","keepOriginalData","csvData","blob","downloadUrl","createId","selectionColumn","actionPadding","actionButtonMargin","tdColorHover","thColor","thColorHover","tdColor","tdTextColor","thTextColor","thFontWeight","thButtonColorHover","thIconColor","thIconColorActive","filterSize","tdColorModal","thColorModal","borderColorModal","thColorHoverModal","tdColorHoverModal","borderColorPopover","thColorPopover","tdColorPopover","tdColorHoverPopover","thColorHoverPopover","paginationMargin","emptyPadding","boxShadowAfter","boxShadowBefore","sorterSize","resizableContainerSize","resizableSize","opacityLoading","tdColorStriped","tdColorStripedModal","tdColorStripedPopover","thPadding","tdPadding","mergedShowPaginationRef","mergedPagination","spinProps","rect","binding","useAutoWrapWidthColumn","currentCol","shallowReactive","_createVNode","Math","ceil","Number","renderDevice","getDevice","manufacturer","release","useSnapshotColumns","ctimeCol","title","fixed","sortOrder","rowA","rowB","dayjs","format","mtimeCol","importTimeStorage","deviceCol","filterMultiple","includes","toString","appNameCol","getAppInfo","onClick","copy","appIdCol","appId","appVersionCodeCol","versionCode","appVersionNameCol","default","versionName","activityIdCol","activityId","resetColWidth"],"mappings":"ytCAYO,SAASA,GAAYC,EAAM,CAChC,OAAQA,EAAI,CACV,IAAK,OACH,MAAO,OACT,IAAK,QACH,MAAO,OACT,IAAK,SACH,MAAO,QACT,IAAK,QACH,MAAO,SACT,IAAK,OACH,MAAO,OACV,CACD,MAAM,MAAM,GAAGA,CAAI,uBAAuB,CAC5C,CC1BO,SAASC,GAAkBC,EAAO,CACvC,OAAQ,OAAOA,EAAK,CAClB,IAAK,SAEH,OAAOA,GAAS,OAClB,IAAK,SACH,OAAO,OAAOA,CAAK,EACrB,QACE,MACH,CACH,CCVO,SAASC,GAAgBC,EAAK,CACnC,OAAOC,GAAQ,CACTA,EACFD,EAAI,MAAQC,EAAK,IAEjBD,EAAI,MAAQ,IAElB,CACA,CCRO,SAASE,GAAmBC,EAAU,CAC3C,MAAMC,EAAmBD,EAAS,OAAOE,GAAWA,IAAY,MAAS,EACzE,GAAID,EAAiB,SAAW,EAEhC,OAAIA,EAAiB,SAAW,EAAUA,EAAiB,CAAC,EACrDE,GAAK,CACVH,EAAS,QAAQE,GAAW,CACtBA,GACFA,EAAQC,CAAC,CAEjB,CAAK,CACL,CACA,CCXO,SAASC,GAAgBC,EAAUC,EAAOC,EAAgB,CAE/D,MAAMC,EAAaX,EAAIQ,EAAS,KAAK,EACrC,IAAII,EAAU,KACd,OAAAC,GAAML,EAAUV,GAAS,CACnBc,IAAY,MAAM,OAAO,aAAaA,CAAO,EAC7Cd,IAAU,GACRY,GAAkB,CAACA,EAAe,MACpCC,EAAW,MAAQ,GAEnBC,EAAU,OAAO,WAAW,IAAM,CAChCD,EAAW,MAAQ,EACpB,EAAEF,CAAK,EAGVE,EAAW,MAAQ,EAEzB,CAAG,EACMA,CACT,CCjBe,SAASG,GAAYC,EAAU,CAAE,EAAEC,EAAY,CAC1D,MAAMC,EAAQC,GAAS,CACnB,KAAM,GACN,QAAS,GACT,IAAK,GACL,MAAO,GACP,IAAK,EACb,CAAK,EACK,CAAE,QAAAC,EAAS,MAAAC,CAAO,EAAGL,EACrBM,EAAkBf,GAAM,CAC1B,OAAQA,EAAE,IAAG,CACT,IAAK,UACDW,EAAM,KAAO,GACb,MACJ,IAAK,OACDA,EAAM,QAAU,GAChBA,EAAM,IAAM,GACZ,MACJ,IAAK,QACDA,EAAM,MAAQ,GACd,MACJ,IAAK,MACDA,EAAM,IAAM,GACZ,KACP,CACGE,IAAY,QACZ,OAAO,KAAKA,CAAO,EAAE,QAAQG,GAAO,CAChC,GAAIA,IAAQhB,EAAE,IACV,OACJ,MAAMD,EAAUc,EAAQG,CAAG,EAC3B,GAAI,OAAOjB,GAAY,WACnBA,EAAQC,CAAC,MAER,CACD,KAAM,CAAE,KAAAiB,EAAO,GAAO,QAAAC,EAAU,EAAK,EAAKnB,EACtCkB,GACAjB,EAAE,gBAAe,EACjBkB,GACAlB,EAAE,eAAc,EACpBD,EAAQ,QAAQC,CAAC,CACpB,CACjB,CAAa,CAEb,EACUmB,EAAgBnB,GAAM,CACxB,OAAQA,EAAE,IAAG,CACT,IAAK,UACDW,EAAM,KAAO,GACb,MACJ,IAAK,OACDA,EAAM,QAAU,GAChBA,EAAM,IAAM,GACZ,MACJ,IAAK,QACDA,EAAM,MAAQ,GACd,MACJ,IAAK,MACDA,EAAM,IAAM,GACZ,KACP,CACGG,IAAU,QACV,OAAO,KAAKA,CAAK,EAAE,QAAQE,GAAO,CAC9B,GAAIA,IAAQhB,EAAE,IACV,OACJ,MAAMD,EAAUe,EAAME,CAAG,EACzB,GAAI,OAAOjB,GAAY,WACnBA,EAAQC,CAAC,MAER,CACD,KAAM,CAAE,KAAAiB,EAAO,GAAO,QAAAC,EAAU,EAAK,EAAKnB,EACtCkB,GACAjB,EAAE,gBAAe,EACjBkB,GACAlB,EAAE,eAAc,EACpBD,EAAQ,QAAQC,CAAC,CACpB,CACjB,CAAa,CAEb,EACUoB,EAAQ,IAAM,EACZV,IAAe,QAAaA,EAAW,SACvCW,GAAG,UAAW,SAAUN,CAAc,EACtCM,GAAG,QAAS,SAAUF,CAAY,GAElCT,IAAe,QACfH,GAAMG,EAAYlB,GAAS,CACnBA,GACA6B,GAAG,UAAW,SAAUN,CAAc,EACtCM,GAAG,QAAS,SAAUF,CAAY,IAGlCG,GAAI,UAAW,SAAUP,CAAc,EACvCO,GAAI,QAAS,SAAUH,CAAY,EAEvD,CAAa,CAEb,EACI,OAAII,GAAW,GACXC,GAAcJ,CAAK,EACnBK,GAAgB,IAAM,EACdf,IAAe,QAAaA,EAAW,SACvCY,GAAI,UAAW,SAAUP,CAAc,EACvCO,GAAI,QAAS,SAAUH,CAAY,EAEnD,CAAS,GAGDC,IAEGM,GAASf,CAAK,CACzB,CC7GA,MAAMgB,GAAa,WACbC,GAAQC,GAAE,aAAc,CAC1B,QAAS,gBACb,CAAC,EACDC,GAAeC,GAAgB,CAC3B,KAAM,WACN,MAAO,CACH,WAAY,SACZ,QAAS,SACT,cAAe,SACf,cAAe,SACf,iBAAkB,QACrB,EACD,MAAMC,EAAO,CAAE,MAAAC,GAAS,CACpB,MAAMC,EAAUxC,EAAI,IAAI,EAClByC,EAAazC,EAAI,IAAI,EAC3B,SAAS0C,EAAc3B,EAAS,CAC5B,KAAM,CAAE,MAAO4B,CAAM,EAAGH,EAClB,CAAE,WAAAI,EAAY,QAAAC,CAAS,EAAGP,EAChC,IAAIQ,EAMJ,GALIF,IAAe,OACfE,EAAUF,EAAU,EAEpBE,EAAUL,EAAW,MAErB,CAACE,GAAQ,CAACG,EACV,OACAA,EAAQ,aAAab,EAAU,GAC/Ba,EAAQ,gBAAgBb,EAAU,EAEtC,KAAM,CAAE,SAAAc,CAAU,EAAGJ,EACrB,GAAI5B,EAAQ,4BACR,UAAWiC,KAASD,EACZC,EAAM,aAAaf,EAAU,GAC7Be,EAAM,gBAAgBf,EAAU,EAI5C,MAAMgB,EAAiBN,EAAK,YACtBO,EAAc,CAAA,EACdC,EAAOZ,EAAM,KAAOM,GAAY,KAA6B,OAASA,EAAO,EAAK,KACxF,IAAIO,EAAgBD,EAAOA,EAAK,YAAc,EAC1CE,EAAW,GACf,MAAMC,EAAMX,EAAK,SAAS,QAAUJ,EAAM,KAAO,EAAI,GACrD,QAASgB,EAAI,EAAGA,EAAID,EAAM,EAAG,EAAEC,EAAG,CAC9B,GAAIA,EAAI,EACJ,SACJ,MAAMP,EAAQD,EAASQ,CAAC,EACxB,GAAIF,EAAU,CACLL,EAAM,aAAaf,EAAU,GAC9Be,EAAM,aAAaf,GAAY,EAAE,EAErC,QACH,MACQe,EAAM,aAAaf,EAAU,GAClCe,EAAM,gBAAgBf,EAAU,EAEpC,MAAMuB,EAAaR,EAAM,YAGzB,GAFAI,GAAiBI,EACjBN,EAAYK,CAAC,EAAIC,EACbJ,EAAgBH,EAAgB,CAChC,KAAM,CAAE,cAAAQ,CAAe,EAAGnB,EAC1B,QAASoB,EAAIH,EAAGG,GAAK,EAAG,EAAEA,EAAG,CACzB,MAAMC,EAAYL,EAAM,EAAII,EACxBD,IAAkB,OAClBA,EAAcE,CAAS,EAGvBb,EAAQ,YAAc,GAAGa,CAAS,GAEtC,MAAMC,EAAed,EAAQ,YAE7B,GADAM,GAAiBF,EAAYQ,CAAC,EAC1BN,EAAgBQ,GAAgBX,GAAkBS,IAAM,EAAG,CAC3DL,EAAW,GACXE,EAAIG,EAAI,EACJP,IAGII,IAAM,IACNJ,EAAK,MAAM,SAAW,GAAGF,EAAiBW,CAAY,KACtDT,EAAK,MAAM,UAAY,cAGvBA,EAAK,MAAM,SAAW,IAG9B,KAAM,CAAE,cAAAU,CAAe,EAAGvB,EACtBuB,GACAA,EAAcF,CAAS,EAC3B,KACH,CACJ,CACJ,CACJ,CACD,KAAM,CAAE,iBAAAG,CAAkB,EAAGxB,EACxBe,EAOGS,IAAqB,QACrBA,EAAiB,EAAI,GAPrBA,IAAqB,QACrBA,EAAiB,EAAK,EAE1BhB,EAAQ,aAAab,GAAY,EAAE,EAO1C,CACD,MAAM8B,EAAaC,KACnB9B,OAAAA,GAAM,MAAM,CACR,GAAI,iBACJ,KAAM,GACN,eAAgB+B,GAChB,IAAKF,CACjB,CAAS,EACDG,GAAU,IAAMxB,EAAc,CAC1B,4BAA6B,EAChC,CAAA,CAAC,EAEK,CACH,QAAAF,EACA,WAAAC,EACA,KAAMC,CAClB,CACK,EACD,QAAS,CACL,KAAM,CAAE,OAAAyB,CAAQ,EAAG,KAEnB,OAAAC,GAAS,IAAM,KAAK,KAAK,CACrB,4BAA6B,EAChC,CAAA,CAAC,EAEKC,EAAE,MAAO,CACZ,MAAO,aACP,IAAK,SACjB,EAAW,CACCC,GAAWH,EAAQ,SAAS,EAE5BA,EAAO,QACDA,EAAO,QAAS,EAChBE,EAAE,OAAQ,CACR,MAAO,CACH,QAAS,cACZ,EACD,IAAK,YACzB,CAAiB,EAELF,EAAO,KAAOA,EAAO,KAAM,EAAG,IAC1C,CAAS,CACJ,CACL,CAAC,ECvJM,SAASI,GAAYC,EAAOC,EAAU,CAEvCA,IACFP,GAAU,IAAM,CACd,KAAM,CACJ,MAAOQ,CACR,EAAGF,EACAE,GACFC,GAAsB,gBAAgBD,EAAID,CAAQ,CAE1D,CAAK,EACD1C,GAAgB,IAAM,CACpB,KAAM,CACJ,MAAO2C,CACR,EAAGF,EACAE,GACFC,GAAsB,kBAAkBD,CAAE,CAElD,CAAK,EAEL,CCtBO,MAAME,GAAW,CAACC,EAAKC,IAAS,CACrC,GAAI,CAACD,EAAK,OACV,MAAME,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOF,EACLC,IAAS,SACXC,EAAE,SAAWD,GAEf,SAAS,KAAK,YAAYC,CAAC,EAC3BA,EAAE,MAAK,EACP,SAAS,KAAK,YAAYA,CAAC,CAC7B,ECTAC,GAAe3C,GAAgB,CAC7B,KAAM,YACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,4cACT,CAAK,CAAC,CAAC,CAAC,CACL,CACH,CAAC,ECjBDY,GAAe5C,GAAgB,CAC7B,KAAM,WACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,KAAM,OACN,MAAO,4BACb,EAAOA,EAAE,OAAQ,CACX,EAAG,6TACH,KAAM,cACP,CAAA,CAAC,CACH,CACH,CAAC,ECZDa,GAAe7C,GAAgB,CAC7B,KAAM,YACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,MAAO,6BACP,QAAS,WACf,EAAOA,EAAE,IAAK,CACR,KAAM,MACZ,EAAOA,EAAE,OAAQ,CACX,EAAG,8JACH,KAAM,cACP,CAAA,CAAC,CAAC,CACJ,CACH,CAAC,ECbDc,GAAe9C,GAAgB,CAC7B,KAAM,eACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,KAAM,OACN,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,KAAM,eACN,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,wkBACT,CAAK,CAAC,CAAC,CAAC,CACL,CACH,CAAC,ECnBDe,GAAe/C,GAAgB,CAC7B,KAAM,cACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,KAAM,OACN,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,KAAM,eACN,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,ijBACT,CAAK,CAAC,CAAC,CAAC,CACL,CACH,CAAC,ECnBDgB,GAAehD,GAAgB,CAC7B,KAAM,SACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,qdACT,CAAK,CAAC,CAAC,CAAC,CACL,CACH,CAAC,ECjBDiB,GAAejD,GAAgB,CAC7B,KAAM,UACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,KAAM,OACN,MAAO,4BACb,EAAOA,EAAE,OAAQ,CACX,EAAG,mUACH,KAAM,cACP,CAAA,CAAC,CACH,CACH,CAAC,ECZDkB,GAAelD,GAAgB,CAC7B,KAAM,OACN,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,QAAS,YACT,QAAS,MACT,MAAO,4BACb,EAAOA,EAAE,IAAK,CACR,OAAQ,OACR,eAAgB,IAChB,KAAM,OACN,YAAa,SACnB,EAAOA,EAAE,IAAK,CACR,KAAM,eACN,YAAa,SACnB,EAAOA,EAAE,OAAQ,CACX,EAAG,2UACT,CAAK,CAAC,CAAC,CAAC,CACL,CACH,CAAC,ECnBDmB,GAAenD,GAAgB,CAC7B,MAAO,CACL,QAAS,SACT,OAAQ,QACT,EACD,MAAMC,EAAO,CACX,MAAO,IAAM+B,EAAE,MAAO,CACpB,MAAO,sBACP,SAAU,EACV,QAAS/B,EAAM,QACf,OAAQA,EAAM,MACpB,CAAK,CACF,CACH,CAAC,ECdcmD,GAAA,CACb,OAAQ,qCACR,aAAc,QACd,cAAe,QACf,aAAc,QACd,YAAa,QACb,mBAAoB,SACpB,oBAAqB,SACrB,mBAAoB,SACpB,kBAAmB,SACnB,YAAa,MACf,ECNa9C,GAAO+C,GAAQ,CAC1B,KAAM,CACJ,aAAAC,EACA,aAAAC,EACA,WAAAC,EACA,aAAAC,EACA,WAAAC,EACA,oBAAAC,EACA,kBAAAC,EACA,aAAAC,EACA,gBAAAC,EACA,WAAAC,EACA,cAAAC,EACA,eAAAC,EACA,cAAAC,EACA,aAAAC,EACA,YAAAC,EACA,aAAAC,EACA,YAAAC,EACA,WAAAC,CACD,EAAGlB,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAImB,EAAe,EAAG,CACvD,oBAAqBR,EACrB,qBAAsBC,EACtB,oBAAqBC,EACrB,mBAAoBC,EACpB,kBAAmBC,EACnB,mBAAoBC,EACpB,kBAAmBC,EACnB,iBAAkBC,EAClB,aAAAjB,EACA,MAAOC,EACP,qBAAsBC,EACtB,mBAAoBC,EACpB,gBAAiBC,EACjB,uBAAwBC,EACxB,wBAAyBC,EACzB,sBAAuBC,EACvB,sBAAuBC,EACvB,iBAAkBD,EAClB,mBAAoBE,EACpB,kBAAmB,mBACnB,yBAA0BA,EAC1B,gBAAiBL,EACjB,aAAcG,CAClB,CAAG,CACH,EACMY,GAA0BC,GAAY,CAC1C,KAAM,qBACN,OAAQC,GACR,MAAO,CACL,UAAWC,GACX,MAAOC,EACR,EACH,KAAEvE,EACF,CAAC,ECtDD,SAASwE,GAAgBC,EAAMC,EAAW,CACxC,OAAOhD,EAAEiD,GAAY,CACnB,KAAM,6BACV,EAAK,CACD,QAAS,IAAMF,EAAO/C,EAAEkD,GAAW,CACjC,UAAWF,EACX,MAAO,GAAGA,CAAS,4BACzB,EAAO,CACD,QAAS,IAAMhD,EAAEmD,EAAa,CAC/B,CAAA,EAAI,IACT,CAAG,CACH,CACA,MAAAC,GAAepF,GAAgB,CAC7B,KAAM,oBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,CACF,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,SAAA9B,EACA,iBAAAkH,EACA,YAAAC,EACA,YAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,cAAAC,EACA,cAAAC,EACA,iBAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,uBAAAC,CAEN,EAAQC,GAAOC,EAAiC,EACtCC,EAAeC,GAAQ,IAAM,CACjC,KAAM,CACJ,MAAOC,CACR,EAAGf,EACJ,OAAKe,EACEnG,EAAM,OAAO,MAAQmG,EAAc,IADf,EAEjC,CAAK,EACD,SAASC,EAAYpI,EAAG,CACtB,KAAM,CACJ,OAAAqI,CACD,EAAGrG,EACAqG,EAAO,UACXR,EAAkB7H,EAAGqI,CAAM,CAC5B,CACD,SAASC,EAAiBtI,EAAG,CAC3B,KAAM,CACJ,OAAAqI,CACD,EAAGrG,EACAqG,EAAO,UACXP,EAAuB9H,EAAGqI,CAAM,CACjC,CACD,SAASE,EAAgBvI,EAAG,CAC1B,KAAM,CACJ,OAAAqI,CACD,EAAGrG,EACE,CACJ,MAAOwG,CACR,EAAGP,EACAI,EAAO,UAAYG,GACvBV,EAAuB9H,EAAGqI,CAAM,CACjC,CACD,MAAO,CACL,SAAUhB,EACV,UAAWa,GAAQ,IAAM,CACvB,KAAM,CACJ,OAAAG,CACD,EAAGrG,EACE,CACJ,OAAAyG,CACD,EAAGJ,EACJ,OAAOI,GAAUA,EAAO,QAAQ,OAAS,OACjD,CAAO,EACD,cAAed,EACf,UAAWC,EACX,UAAWK,EACX,WAAYC,GAAQ,IAAM,CACxB,KAAM,CACJ,MAAA1I,CACD,EAAGU,EACE,CACJ,MAAOwI,CACR,EAAGrB,EACJ,GAAI7H,IAAU,KAAM,MAAO,GAC3B,MAAMmJ,EAAc3G,EAAM,OAAO,QAAQ0F,EAAc,KAAK,EAC5D,GAAIgB,EAAU,CACZ,KAAM,CACJ,MAAOE,CACR,EAAGtB,EACJ,OAAOsB,EAAS,IAAID,CAAW,CACzC,KACU,QAAOnJ,IAAUmJ,CAE3B,CAAO,EACD,WAAYlB,EACZ,YAAaF,EACb,aAAcC,EACd,gBAAAe,EACA,iBAAAD,EACA,YAAAF,CACN,CACG,EACD,QAAS,CACP,KAAM,CACJ,UAAArB,EACA,OAAQ,CACN,QAAA8B,CACD,EACD,WAAAC,EACA,UAAAN,EACA,UAAAO,EACA,cAAAC,EACA,UAAAC,EACA,aAAAC,EACA,YAAAC,EACA,YAAAf,EACA,iBAAAE,EACA,gBAAAC,CACD,EAAG,KACEa,EAAYvC,GAAgBiC,EAAY/B,CAAS,EACjDtE,EAAW0G,EAAc,CAACA,EAAYN,EAASC,CAAU,EAAGE,GAAiBI,CAAS,EAAI,CAACC,GAAOR,EAAQ,KAAK,UAAU,EAAGA,EAASC,CAAU,EAAGE,GAAiBI,CAAS,EAC5KE,EAAQL,GAAc,KAA+B,OAASA,EAAUJ,CAAO,EAC/EU,EAAOxF,EAAE,MAAO,OAAO,OAAO,CAAE,EAAEuF,EAAO,CAC7C,MAAO,CAAC,GAAGvC,CAAS,sBAAuB8B,EAAQ,MAAOS,GAAU,KAA2B,OAASA,EAAM,MAAO,CACnH,CAAC,GAAGvC,CAAS,+BAA+B,EAAG8B,EAAQ,SACvD,CAAC,GAAG9B,CAAS,+BAA+B,EAAG+B,EAC/C,CAAC,GAAG/B,CAAS,8BAA8B,EAAGgC,EAC9C,CAAC,GAAGhC,CAAS,8BAA8B,EAAGyB,EAC9C,CAAC,GAAGzB,CAAS,qCAAqC,EAAGiC,CAC7D,CAAO,EACD,MAAO,EAAEM,GAAU,KAA2B,OAASA,EAAM,QAAU,GAAIT,EAAQ,OAAS,EAAE,EAC9F,QAASjJ,GAAmB,CAACwI,EAAakB,GAAU,KAA2B,OAASA,EAAM,OAAO,CAAC,EACtG,aAAc1J,GAAmB,CAAC0I,EAAkBgB,GAAU,KAA2B,OAASA,EAAM,YAAY,CAAC,EACrH,YAAa1J,GAAmB,CAAC2I,EAAiBe,GAAU,KAA2B,OAASA,EAAM,WAAW,CAAC,CACxH,CAAK,EAAGvF,EAAE,MAAO,CACX,MAAO,GAAGgD,CAAS,8BACzB,EAAOtE,CAAQ,CAAC,EACZ,OAAOoG,EAAQ,OAASA,EAAQ,OAAO,CACrC,KAAAU,EACA,OAAQV,EACR,SAAUC,CAChB,CAAK,EAAII,EAAeA,EAAa,CAC/B,KAAAK,EACA,OAAQV,EACR,SAAUC,CACX,CAAA,EAAIS,CACN,CACH,CAAC,EC/JDC,GAAezH,GAAgB,CAC7B,KAAM,yBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,CACF,EACD,OAAQ,CACN,KAAM,CACJ,eAAAwF,EACA,gBAAAC,EACA,cAAAC,EACA,aAAAG,CAEN,EAAQG,GAAOC,EAAiC,EAC5C,MAAO,CACL,WAAYP,EACZ,UAAWG,EACX,YAAaL,EACb,aAAcC,CACpB,CACG,EACD,QAAS,CACP,KAAM,CACJ,UAAAT,EACA,YAAAoC,EACA,aAAAD,EACA,UAAAD,EACA,OAAQ,CACN,QAAAJ,CACD,CACF,EAAG,KACES,EAAQL,GAAc,KAA+B,OAASA,EAAUJ,CAAO,EAC/EpG,EAAW0G,EAAcA,EAAYN,EAAS,EAAK,EAAIQ,GAAOR,EAAQ,KAAK,UAAU,EAAGA,EAAS,EAAK,EACtGU,EAAOxF,EAAE,MAAO,OAAO,OAAO,CAAE,EAAEuF,EAAO,CAC7C,MAAO,CAAC,GAAGvC,CAAS,4BAA6BuC,GAAU,KAA2B,OAASA,EAAM,KAAK,CAChH,CAAK,EAAG7G,CAAQ,EACZ,OAAOoG,EAAQ,OAASA,EAAQ,OAAO,CACrC,KAAAU,EACA,OAAQV,CACd,CAAK,EAAIK,EAAeA,EAAa,CAC/B,KAAAK,EACA,OAAQV,EACR,SAAU,EACX,CAAA,EAAIU,CACN,CACH,CAAC,ECjDDE,GAAeC,EAAG,mBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUnC,CAACA,EAAG,YAAa;AAAA;AAAA,EAElB,EAAGA,EAAG,eAAgB;AAAA;AAAA,EAEtB,EAAGA,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,GAK1B,CAACC,GAAG,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,CAAC,CAAC,EAAGD,EAAG,2BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpC,EAAGA,EAAG,kCAAmC;AAAA;AAAA;AAAA,EAGzC,EAAGC,GAAG,iBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKxB,EAAGA,GAAG,UAAW;AAAA;AAAA;AAAA,EAGjB,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhB,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQhB,EAAGD,EAAG,2BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKlC,EAAGA,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAU1B,CAACE,EAAG,iBAAkB;AAAA;AAAA,EAExB,EAAG/H,GAAE,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlB,EAAGA,GAAE,WAAY;AAAA;AAAA,EAEjB,EAAG+H,EAAG,UAAW;AAAA;AAAA,EAEjB,EAAGA,EAAG,UAAW,CAAC/H,GAAE,YAAa;AAAA;AAAA,EAEjC,CAAC,CAAC,EAAG+H,EAAG,WAAY;AAAA;AAAA,GAElB,CAAC/H,GAAE,YAAa;AAAA;AAAA,EAElB,EAAG+H,EAAG,UAAW,CAAC/H,GAAE,YAAa;AAAA;AAAA,EAEjC,CAAC,CAAC,CAAC,CAAC,EAAG+H,EAAG,WAAY;AAAA;AAAA,GAEpB,CAACC,GAAM,WAAY;AAAA;AAAA,EAErB,EAAGD,EAAG,WAAY;AAAA;AAAA,EAElB,CAAC,CAAC,EAAGD,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOf,CAACG,GAAwB,CAC3B,WAAY,KACd,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EClGPC,GAAehI,GAAgB,CAC7B,KAAM,qBACN,MAAO,OAAO,OAAO,OAAO,OAAO,GAAIiI,GAAS,KAAK,EAAG,CACtD,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,WAAY,CACV,KAAM,QACN,QAAS,EACV,EACD,SAAU,CACR,KAAM,OACN,SAAU,EACX,EACD,SAAU,QACV,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,MAAO,CACL,KAAM,CAAC,OAAQ,OAAQ,KAAK,EAC5B,QAAS,IACV,EACD,YAAa,QACb,cAAe,CACb,KAAM,QACN,QAAS,EACV,EAED,KAAM,CACJ,KAAM,QACN,QAAS,EACV,EACD,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,QAAS,QACT,UAAW,QACX,YAAa,SACb,aAAc,SACd,UAAW,SACX,cAAe,CACb,KAAM,QACN,QAAS,EACV,EACD,YAAa,SACb,SAAU,SACV,QAAS,SACT,OAAQ,SACR,QAAS,SACT,UAAW,SACX,SAAU,SACV,aAAc,SACd,aAAc,SACd,SAAU,SACV,yBAA0B,CACxB,KAAM,QACN,QAAS,EACV,EACD,oBAAqB,QAErB,SAAU,QACd,CAAG,EACD,MAAMhI,EAAO,CACX,KAAM,CACJ,mBAAAiI,EACA,aAAAC,CACN,EAAQC,GAAUnI,CAAK,EACboI,EAAgBC,GAAO,qBAAsBH,EAAcD,CAAkB,EAC7EK,EAAWN,GAAS,qBAAsB,wBAAyBpI,GAAO4E,GAAyBxE,EAAOuI,GAAMvI,EAAO,WAAW,CAAC,EACnIE,EAAUxC,EAAI,IAAI,EAClB8K,EAAiB9K,EAAI,IAAI,EACzB+K,EAAe/K,EAAI,IAAI,EACvBgL,EAAoBC,EAAS,IAAM3I,EAAM,SAAS,kBAAiB,CAAE,EACrE4I,EAAkBD,EAAS,IAAME,GAAkBH,EAAkB,KAAK,CAAC,EAC3EI,EAAiBpL,EAAI,IAAI,EAC/B,SAASqL,GAAkB,CACzB,KAAM,CACJ,SAAAC,CACD,EAAGhJ,EACJ,IAAIiJ,EAAqB,KACzB,KAAM,CACJ,MAAAzL,CACD,EAAGwC,EACAxC,IAAU,KACZyL,EAAqBD,EAAS,yBAE1BhJ,EAAM,SACRiJ,EAAqBD,EAAS,SAASxL,GAAS,CAAA,IAAKA,GAAS,CAAE,GAAE,OAAS,CAAC,CAAC,EAE7EyL,EAAqBD,EAAS,QAAQxL,CAAK,GAEzC,CAACyL,GAAsBA,EAAmB,YAC5CA,EAAqBD,EAAS,0BAIhCE,EADED,GAGe,IAFkB,CAItC,CACD,SAASE,GAA4B,CACnC,KAAM,CACJ,MAAOC,CACR,EAAGN,EACAM,GAAe,CAACpJ,EAAM,SAAS,QAAQoJ,EAAY,GAAG,IACxDN,EAAe,MAAQ,KAE1B,CACD,IAAIO,EACJ9K,GAAM,IAAMyB,EAAM,KAAM8E,GAAQ,CAC1BA,EACFuE,EAAiC9K,GAAM,IAAMyB,EAAM,SAAU,IAAM,CAC7DA,EAAM,0BACJA,EAAM,YACR+I,IAEAI,IAEGrH,GAASwH,CAAmB,GAEjCH,GAEZ,EAAW,CACD,UAAW,EACrB,CAAS,EAEDE,GAAmC,MAA6DA,GAExG,EAAO,CACD,UAAW,EACjB,CAAK,EACD5J,GAAgB,IAAM,CACpB4J,GAAmC,MAA6DA,GACtG,CAAK,EACD,MAAME,EAAcZ,EAAS,IACpBa,GAAKlB,EAAS,MAAM,KAAKmB,GAAU,eAAgBzJ,EAAM,IAAI,CAAC,CAAC,CACvE,EACK0J,EAAaf,EAAS,IACnBgB,GAAWrB,EAAS,MAAM,KAAKmB,GAAU,UAAWzJ,EAAM,IAAI,CAAC,CAAC,CACxE,EACKsF,EAAcqD,EAAS,IACvB3I,EAAM,UAAY,MAAM,QAAQA,EAAM,KAAK,EACtC,IAAI,IAAIA,EAAM,KAAK,EAErB,IAAI,GACZ,EACK4J,EAAWjB,EAAS,IAAM,CAC9B,MAAMkB,EAAUnB,EAAkB,MAClC,OAAOmB,GAAWA,EAAQ,SAAW,CAC3C,CAAK,EACD,SAASC,EAASzD,EAAQ,CACxB,KAAM,CACJ,SAAA0D,CACD,EAAG/J,EACA+J,GAAUA,EAAS1D,CAAM,CAC9B,CACD,SAAS2D,EAAShM,EAAG,CACnB,KAAM,CACJ,SAAAiM,CACD,EAAGjK,EACAiK,GAAUA,EAASjM,CAAC,CACzB,CAED,SAASkM,EAAwBlM,EAAG,CAClC,IAAImM,GACHA,EAAK1B,EAAa,SAAW,MAAQ0B,IAAO,QAAkBA,EAAG,KAAI,EACtEH,EAAShM,CAAC,CACX,CACD,SAASoM,GAA0B,CACjC,IAAID,GACHA,EAAK1B,EAAa,SAAW,MAAQ0B,IAAO,QAAkBA,EAAG,KAAI,CACvE,CACD,SAASE,GAAmB,CAC1B,KAAM,CACJ,MAAOlE,CACR,EAAG2C,EACJ,OAAI3C,GACG,IACR,CACD,SAASL,EAAuB9H,EAAGqI,EAAQ,CACrCA,EAAO,UACX6C,EAAiB7C,EAAQ,EAAK,CAC/B,CACD,SAASR,EAAkB7H,EAAGqI,EAAQ,CAChCA,EAAO,UACXyD,EAASzD,CAAM,CAChB,CAED,SAASiE,EAAYtM,EAAG,CACtB,IAAImM,EACAI,GAAUvM,EAAG,QAAQ,IACxBmM,EAAKnK,EAAM,WAAa,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,EAAOhC,CAAC,CAC3E,CACD,SAASwM,EAAcxM,EAAG,CACxB,IAAImM,EACAI,GAAUvM,EAAG,QAAQ,IACxBmM,EAAKnK,EAAM,aAAe,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,EAAOhC,CAAC,CAC7E,CACD,SAASyM,EAAgBzM,EAAG,CAC1B,IAAImM,GACHA,EAAKnK,EAAM,eAAiB,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,EAAOhC,CAAC,EAC1E,CAAAgC,EAAM,WACVhC,EAAE,eAAc,CACjB,CACD,SAAS0M,GAAO,CACd,KAAM,CACJ,MAAOvE,CACR,EAAG2C,EACA3C,GACF+C,EAAiB/C,EAAc,QAAQ,CACrC,KAAM,EAChB,CAAS,EAAG,EAAI,CAEX,CACD,SAASwE,GAAO,CACd,KAAM,CACJ,MAAOxE,CACR,EAAG2C,EACA3C,GACF+C,EAAiB/C,EAAc,QAAQ,CACrC,KAAM,EAChB,CAAS,EAAG,EAAI,CAEX,CACD,SAAS+C,EAAiB7C,EAAQ2D,EAAW,GAAO,CAClDlB,EAAe,MAAQzC,EACnB2D,GAAUV,GACf,CACD,SAASA,GAAsB,CAC7B,IAAIa,EAAIS,EACR,MAAMvE,EAASyC,EAAe,MAC9B,GAAI,CAACzC,EAAQ,OACb,MAAMwE,EAASjC,EAAgB,MAAMvC,EAAO,GAAG,EAC3CwE,IAAW,OACX7K,EAAM,eACPmK,EAAK3B,EAAe,SAAW,MAAQ2B,IAAO,QAAkBA,EAAG,SAAS,CAC3E,MAAOU,CACjB,CAAS,GAEAD,EAAKnC,EAAa,SAAW,MAAQmC,IAAO,QAAkBA,EAAG,SAAS,CACzE,MAAOC,EACP,OAAQtB,EAAY,KAC9B,CAAS,EAEJ,CACD,SAASuB,EAAc9M,EAAG,CACxB,IAAImM,EAAIS,EACH,GAAAT,EAAKjK,EAAQ,SAAW,MAAQiK,IAAO,SAAkBA,EAAG,SAASnM,EAAE,MAAM,KAC/E4M,EAAK5K,EAAM,WAAa,MAAQ4K,IAAO,QAAkBA,EAAG,KAAK5K,EAAOhC,CAAC,EAE7E,CACD,SAAS+M,EAAe/M,EAAG,CACzB,IAAImM,EAAIS,EACD,GAAAT,EAAKjK,EAAQ,SAAW,MAAQiK,IAAO,SAAkBA,EAAG,SAASnM,EAAE,aAAa,IACxF4M,EAAK5K,EAAM,UAAY,MAAQ4K,IAAO,QAAkBA,EAAG,KAAK5K,EAAOhC,CAAC,CAE5E,CACDgN,GAAQhF,GAAmC,CACzC,uBAAAF,EACA,kBAAAD,EACA,YAAAP,EACA,iBAAkBwD,EAClB,aAAcP,GAAMvI,EAAO,WAAW,EACtC,iBAAkBuI,GAAMvI,EAAO,eAAe,EAC9C,YAAauI,GAAMvI,EAAO,UAAU,EACpC,SAAUuI,GAAMvI,EAAO,OAAO,EAC9B,eAAgBuI,GAAMvI,EAAO,aAAa,EAC1C,gBAAiBuI,GAAMvI,EAAO,cAAc,EAC5C,cAAeuI,GAAMvI,EAAO,YAAY,EACxC,cAAeuI,GAAMvI,EAAO,YAAY,CAC9C,CAAK,EACDgL,GAAQC,GAAuC/K,CAAO,EACtD0B,GAAU,IAAM,CACd,KAAM,CACJ,MAAApE,CACD,EAAGiL,EACAjL,GAAOA,EAAM,MACvB,CAAK,EACD,MAAM0N,EAAavC,EAAS,IAAM,CAChC,KAAM,CACJ,KAAArL,CACD,EAAG0C,EACE,CACJ,OAAQ,CACN,qBAAAmL,CACD,EACD,KAAM,CACJ,OAAAC,EACA,aAAA/H,EACA,MAAAgI,GACA,qBAAAC,GACA,mBAAAC,GACA,uBAAAC,EACA,gBAAAC,EACA,wBAAAC,GACA,sBAAAC,GACA,sBAAAC,GACA,iBAAAC,GACA,gBAAAC,GACA,mBAAAC,GACA,kBAAAC,GACA,aAAAC,GACA,YAAAC,GACA,yBAAAC,GACA,CAAC1C,GAAU,iBAAkBnM,CAAI,CAAC,EAAG8O,GACrC,CAAC3C,GAAU,eAAgBnM,CAAI,CAAC,EAAG+O,GACnC,CAAC5C,GAAU,gBAAiBnM,CAAI,CAAC,EAAGgP,EACrC,CACT,EAAUhE,EAAS,MACb,MAAO,CACL,aAAc8C,EACd,2BAA4BG,GAC5B,wBAAyBO,GACzB,aAAcX,EACd,oBAAqB9H,EACrB,YAAagI,GACb,uBAAwBe,GACxB,8BAA+Bd,GAC/B,yBAA0BO,GAC1B,2BAA4BE,GAC5B,0BAA2BC,GAC3B,kCAAmCG,GACnC,oBAAqBE,GACrB,8BAA+BT,GAC/B,wBAAyBH,EACzB,+BAAgCE,GAChC,iCAAkCD,GAClC,gCAAiCF,EACjC,qBAAsBc,GACtB,0BAA2B3C,GAAW2C,GAAe,MAAM,EAC3D,2BAA4B3C,GAAW2C,GAAe,OAAO,EAC7D,oBAAqBL,GACrB,mBAAoBC,EAC5B,CACA,CAAK,EACK,CACJ,oBAAAK,EACD,EAAGvM,EACEwM,GAAmBD,GAAsBE,GAAc,uBAAwB9D,EAAS,IAAM3I,EAAM,KAAK,CAAC,CAAC,EAAGkL,EAAYlL,CAAK,EAAI,OACnI0M,EAAe,CACnB,QAAAxM,EACA,KAAAwK,EACA,KAAAC,EACA,iBAAAN,CACN,EACI,OAAApI,GAAY/B,EAASF,EAAM,QAAQ,EAC5B,OAAO,OAAO,CACnB,YAAasI,EACb,gBAAiBL,EACjB,WAAYG,EACZ,eAAAI,EACA,aAAAC,EACA,SAAUc,EACV,QAASG,EACT,eAAgBhB,EAChB,MAAOkB,EACP,sBAAuB,CACrB,KAAM,CACJ,MAAApM,CACD,EAAGgL,EACJ,OAAOhL,GAAU,KAA2B,OAASA,EAAM,SAC5D,EACD,oBAAqB,CACnB,KAAM,CACJ,MAAAA,CACD,EAAGgL,EACJ,OAAOhL,GAAU,KAA2B,OAASA,EAAM,UAC5D,EACD,SAAAwM,EACA,cAAAc,EACA,eAAAC,EACA,YAAAT,EACA,cAAAE,EACA,gBAAAC,EACA,wBAAAL,EACA,wBAAAF,EACA,QAASqC,GAAsB,OAAYrB,EAC3C,WAAYsB,IAAqB,KAAsC,OAASA,GAAiB,WACjG,SAAUA,IAAqB,KAAsC,OAASA,GAAiB,QAChG,EAAEE,CAAY,CAChB,EACD,QAAS,CACP,KAAM,CACJ,OAAA7K,EACA,cAAA8K,EACA,UAAA5H,EACA,YAAA6H,EACA,WAAAC,EACA,SAAAC,CACD,EAAG,KACJ,OAAAA,GAAa,MAAuCA,IAC7C/K,EAAE,MAAO,CACd,IAAK,UACL,SAAU,KAAK,UAAY,EAAI,GAC/B,MAAO,CAAC,GAAGgD,CAAS,oBAAqB,KAAK,YAAc,GAAGA,CAAS,yBAA0B8H,EAAY,KAAK,UAAY,GAAG9H,CAAS,6BAA6B,EACxK,MAAO,KAAK,QACZ,UAAW,KAAK,cAChB,WAAY,KAAK,eACjB,QAAS,KAAK,YACd,UAAW,KAAK,cAChB,YAAa,KAAK,gBAClB,aAAc,KAAK,aACnB,aAAc,KAAK,YACzB,EAAOgI,GAAmBlL,EAAO,OAAQpB,GAAYA,GAAYsB,EAAE,MAAO,CACpE,MAAO,GAAGgD,CAAS,4BACnB,cAAe,GACf,IAAK,QACX,EAAOtE,CAAQ,CAAC,EAAG,KAAK,QAAUsB,EAAE,MAAO,CACrC,MAAO,GAAGgD,CAAS,4BACzB,EAAOhD,EAAEiL,GAAkB,CACrB,UAAWjI,EACX,YAAa,EACd,CAAA,CAAC,EAAK,KAAK,MAmDPhD,EAAE,MAAO,CACZ,MAAO,GAAGgD,CAAS,2BACnB,aAAc,EACpB,EAAOkI,GAAYpL,EAAO,MAAO,IAAM,CAACE,EAAEmL,GAAQ,CAC5C,MAAON,EAAY,MAAM,MACzB,eAAgBA,EAAY,cAAc,KAChD,CAAK,CAAC,CAAC,CAAC,EAzDgB7K,EAAEoL,GAAY,CAChC,IAAK,eACL,MAAOP,EAAY,MAAM,UACzB,eAAgBA,EAAY,cAAc,UAC1C,WAAY,KAAK,WACjB,UAAWD,EAAgB,KAAK,qBAAuB,OACvD,QAASA,EAAgB,KAAK,mBAAqB,OACnD,SAAUA,EAAgB,OAAY,KAAK,QACjD,EAAO,CACD,QAAS,IACAA,EAAgB5K,EAAEqL,GAAa,CACpC,IAAK,iBACL,MAAO,GAAGrI,CAAS,gBACnB,MAAO,KAAK,eACZ,SAAU,KAAK,SACf,cAAe,GACf,WAAY,KAAK,QAAQ,IACzB,cAAe,KAAK,QAAQ,OAC5B,SAAU,KAAK,wBACf,SAAU,KAAK,wBACf,cAAe,EACzB,EAAW,CACD,QAAS,CAAC,CACR,KAAMsB,CAClB,IACmBA,EAAO,QAAUtE,EAAEyF,GAAoB,CAC5C,IAAKnB,EAAO,IACZ,UAAWtB,EACX,OAAQsB,CACT,CAAA,EAAIA,EAAO,QAAU,KAAOtE,EAAEoD,GAAe,CAC5C,UAAWJ,EACX,IAAKsB,EAAO,IACZ,OAAQA,CACtB,CAAa,CAEb,CAAS,EAAItE,EAAE,MAAO,CACZ,MAAO,GAAGgD,CAAS,mCACnB,MAAO,CACL,WAAY,KAAK,QAAQ,IACzB,cAAe,KAAK,QAAQ,MAC7B,CACX,EAAW,KAAK,eAAe,IAAIsB,GAAUA,EAAO,QAAUtE,EAAEyF,GAAoB,CAC1E,IAAKnB,EAAO,IACZ,UAAWtB,EACX,OAAQsB,CAClB,CAAS,EAAItE,EAAEoD,GAAe,CACpB,UAAWJ,EACX,IAAKsB,EAAO,IACZ,OAAQA,CACT,CAAA,CAAC,CAAC,CAEX,CAAK,EAMM0G,GAAmBlL,EAAO,OAAQpB,GAAYA,GAAY,CAACsB,EAAE,MAAO,CACzE,MAAO,GAAGgD,CAAS,4BACnB,cAAe,GACf,IAAK,QACX,EAAOtE,CAAQ,EAAGsB,EAAEsL,GAAgB,CAC9B,QAAS,KAAK,SACd,IAAK,gBACX,CAAK,CAAC,CAAC,CAAC,CACL,CACH,CAAC,ECtfcC,GAAA,CACb,kBAAmB,OACnB,mBAAoB,OACpB,oBAAqB,OACrB,mBAAoB,OACpB,cAAe,OACf,eAAgB,OAChB,gBAAiB,OACjB,eAAgB,OAChB,QAAS,QACT,YAAa,WACf,ECRMjN,GAAO+C,GAAQ,CACnB,KAAM,CACJ,WAAAK,EACA,kBAAA8J,EACA,oBAAA7J,EACA,aAAAE,EACA,UAAA4J,EACA,aAAAC,EACA,aAAAC,EACA,WAAAC,EACA,UAAAC,EACA,YAAAC,EACA,gBAAAhK,EACA,SAAAiK,EACA,eAAAC,EACA,oBAAAC,EACA,sBAAAC,EACA,kBAAmB5K,EACnB,aAAA6K,EACA,aAAAC,EACA,cAAApK,EACA,eAAAC,EACA,WAAAoK,EACA,WAAAC,EACA,YAAAlK,EACA,aAAAC,EACA,gBAAAkK,EACA,kBAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,iBAAAC,CACD,EAAGtL,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAImB,EAAe,EAAG,CACvD,kBAAmBlB,EACnB,WAAY+K,EACZ,YAAaC,EACb,aAAclK,EACd,YAAaC,EACb,aAAAf,EACA,gBAAAQ,EACA,aAAcqK,EACd,cAAeC,EACf,eAAgBpK,EAChB,cAAeC,EACf,iBAAA0K,EAEA,mBAAoBjL,EACpB,wBAAyBA,EACzB,0BAA2BA,EAC3B,iBAAkBmK,EAClB,eAAgB,QAChB,oBAAqBY,EACrB,sBAAuBC,EACvB,aAAc7K,EACd,kBAAmB2J,EACnB,oBAAqB7J,EAErB,OAAQ,aAAamK,CAAW,GAChC,UAAWpK,EACX,MAAOqK,EACP,cAAe,qBACf,eAAAC,EACA,oBAAAC,EACA,sBAAAC,EACA,gBAAAK,EACA,kBAAAC,EACA,cAAe,aAAaI,GAAY/K,EAAc,CACpD,MAAO,EACR,CAAA,CAAC,GACF,iBAAkBA,EAClB,aAAc+K,GAAY/K,EAAc,CACtC,MAAO,GACb,CAAK,EACD,qBAAsB+K,GAAY/K,EAAc,CAC9C,MAAO,EACb,CAAK,EACD,sBAAuBA,EACvB,2BAA4BA,EAC5B,6BAA8BA,EAC9B,uBAAwB+K,GAAY/K,EAAc,CAChD,MAAO,GACb,CAAK,EACD,yBAA0B+K,GAAY/K,EAAc,CAClD,MAAO,GACb,CAAK,EACD,WAAY,aAAa+K,GAAYnB,EAAW,CAC9C,MAAO,EACR,CAAA,CAAC,GACF,cAAeA,EACf,UAAWmB,GAAYnB,EAAW,CAChC,MAAO,GACb,CAAK,EACD,kBAAmBmB,GAAYnB,EAAW,CACxC,MAAO,EACb,CAAK,EACD,mBAAoBA,EACpB,wBAAyBA,EACzB,0BAA2BA,EAC3B,oBAAqBmB,GAAYnB,EAAW,CAC1C,MAAO,GACb,CAAK,EACD,sBAAuBmB,GAAYnB,EAAW,CAC5C,MAAO,GACb,CAAK,EACD,cAAe,aAAamB,GAAYlB,EAAc,CACpD,MAAO,EACR,CAAA,CAAC,GACF,iBAAkBA,EAClB,aAAckB,GAAYlB,EAAc,CACtC,MAAO,GACb,CAAK,EACD,qBAAsBkB,GAAYlB,EAAc,CAC9C,MAAO,EACb,CAAK,EACD,sBAAuBA,EACvB,2BAA4BA,EAC5B,6BAA8BA,EAC9B,uBAAwBkB,GAAYlB,EAAc,CAChD,MAAO,GACb,CAAK,EACD,yBAA0BkB,GAAYlB,EAAc,CAClD,MAAO,GACb,CAAK,EACD,cAAe,aAAakB,GAAYjB,EAAc,CACpD,MAAO,GACR,CAAA,CAAC,GACF,iBAAkBA,EAClB,aAAciB,GAAYjB,EAAc,CACtC,MAAO,GACb,CAAK,EACD,qBAAsBiB,GAAYjB,EAAc,CAC9C,MAAO,GACb,CAAK,EACD,sBAAuBA,EACvB,2BAA4BA,EAC5B,6BAA8BA,EAC9B,uBAAwBiB,GAAYjB,EAAc,CAChD,MAAO,GACb,CAAK,EACD,yBAA0BiB,GAAYjB,EAAc,CAClD,MAAO,GACb,CAAK,EACD,YAAa,aAAaiB,GAAYhB,EAAY,CAChD,MAAO,GACR,CAAA,CAAC,GACF,eAAgBA,EAChB,WAAYgB,GAAYhB,EAAY,CAClC,MAAO,EACb,CAAK,EACD,mBAAoBgB,GAAYhB,EAAY,CAC1C,MAAO,GACb,CAAK,EACD,oBAAqBA,EACrB,yBAA0BA,EAC1B,2BAA4BA,EAC5B,qBAAsBgB,GAAYhB,EAAY,CAC5C,MAAO,GACb,CAAK,EACD,uBAAwBgB,GAAYhB,EAAY,CAC9C,MAAO,GACb,CAAK,CACL,CAAG,CACH,EACMiB,GAAW,CACf,KAAM,MACN,OAAQlK,GACV,KAAErE,EACF,EC1KewO,GAAA,CACb,MAAO,OACP,KAAM,CACJ,KAAM,OACN,QAAS,SACV,EACD,MAAO,QACP,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,SAAU,QACV,SAAU,CACR,KAAM,QACN,QAAS,MACV,CACH,ECWAC,GAAepH,EAAG,MAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBtB,CAACE,EAAG,SAAU;AAAA;AAAA,EAEf,EAAGD,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUhB,EAAGA,GAAG,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMd,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA,EAGhB,EAAGA,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf,EAAGC,EAAG,QAAS;AAAA;AAAA;AAAA,GAGb,CAACD,GAAG,OAAQ;AAAA;AAAA,EAEd,EAAGA,GAAG,SAAU;AAAA;AAAA,EAEhB,EAAGC,EAAG,WAAY;AAAA;AAAA,EAElB,CAAC,CAAC,EAAGA,EAAG,eAAgB,CAACA,EAAG,QAAS;AAAA;AAAA,EAErC,CAAC,CAAC,EAAGA,EAAG,WAAY;AAAA;AAAA;AAAA,EAGpB,EAAGA,EAAG,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA,GAKjB,CAACC,GAAM,WAAY,CAAChI,GAAE,UAAW,oDAAqD,CAACgI,GAAM,UAAW,6CAA6C,CAAC,CAAC,EAAGhI,GAAE,WAAY,sDAAuD,CAACgI,GAAM,UAAW,+CAA+C,CAAC,CAAC,CAAC,CAAC,EAAGD,EAAG,UAAW;AAAA;AAAA;AAAA,GAGrT,CAACC,GAAM,WAAY,CAAChI,GAAE,UAAW,iDAAiD,EAAGA,GAAE,WAAY,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,ECxFrJkP,GAAW,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAI,EAAA/G,GAAS,KAAK,EAAG6G,EAAW,EAAG,CACnG,SAAU,CACR,KAAM,QACN,QAAS,MACX,EACA,QAAS,QACT,UAAW,QACX,OAAQ,QACR,oBAAqB,QACrB,QAAS,CAAC,MAAO,QAAQ,EACzB,aAAc,SACd,aAAc,SACd,mBAAoB,SACpB,gBAAiB,SAEjB,uBAAwB,CACtB,KAAM,QACN,QAAS,EACX,EACA,yBAA0B,CACxB,KAAM,QACN,QAAS,EACX,EAEA,gBAAiB,QACnB,CAAC,EACYG,GAAkBC,GAAmB,OAAO,EACzDC,GAAenP,GAAgB,CAC7B,KAAM,MACN,MAAOgP,GACP,MAAM/O,EAAO,CAQL,MAAAmP,EAAazR,EAAI,IAAI,EACrB,CACJ,kBAAA0R,EACA,mBAAAnH,EACA,oBAAAsE,EACA,aAAArE,CAAA,EACEC,GAAUnI,CAAK,EACbsI,EAAWN,GAAS,MAAO,OAAQpI,GAAOgP,GAAU5O,EAAOiI,CAAkB,EACnF+C,GAAQgE,GAAiB,CACvB,SAAUzG,GAAMvI,EAAO,OAAO,CAAA,CAC/B,EACD,SAASoG,EAAYpI,EAAG,CAClB,GAAA,CAACgC,EAAM,UACLA,EAAM,UAAW,CACb,KAAA,CACJ,QAAAqP,EACA,gBAAAC,EACA,gBAAAC,EACA,mBAAoBC,CAClB,EAAAxP,EACAuP,GAAiCA,EAAA,CAACF,CAAO,EACzCG,GAAmCA,EAAA,CAACH,CAAO,EAE3CC,GAAiCA,EAAA,CAACD,CAAO,CAC/C,CAEJ,CACA,SAASI,EAAiBzR,EAAG,CAIvB,GAHCgC,EAAM,qBACThC,EAAE,gBAAgB,EAEhB,CAACgC,EAAM,SAAU,CACb,KAAA,CACJ,QAAA0P,CACE,EAAA1P,EACA0P,GAAcC,GAAAD,EAAS1R,CAAC,CAC9B,CACF,CACA,MAAM4R,EAAmB,CACvB,eAAeC,EAAa,CACpB,KAAA,CACJ,MAAArS,CACE,EAAA2R,EACA3R,MAAa,YAAcqS,EACjC,CAAA,EAEIzH,EAAgBC,GAAO,MAAOH,EAAcD,CAAkB,EAC9DiD,EAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAAmH,EACA,KAAAxS,EACA,MAAO,CACL,MAAA+N,EACA,UAAA0E,CAAA,EACE,CAAC,CACH,EAAA/P,EACE,CACJ,OAAQ,CACN,qBAAAmL,CACF,EACA,KAAM,CACJ,QAAA6E,EACA,YAAAC,EACA,aAAA5M,EACA,gBAAAQ,EACA,mBAAAqM,EACA,wBAAAC,EACA,0BAAAC,EACA,iBAAAC,EACA,eAAAC,EACA,oBAAAC,EACA,sBAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,oBAAAC,EACA,kBAAAC,EACA,iBAAAlC,EACA,CAACjF,GAAU,gBAAiBqG,CAAI,CAAC,EAAGe,EACpC,CAACpH,GAAU,YAAanM,CAAI,CAAC,EAAGwT,GAChC,CAACrH,GAAU,gBAAiBnM,CAAI,CAAC,EAAGyT,GACpC,CAACtH,GAAU,WAAYnM,CAAI,CAAC,EAAG8O,EAC/B,CAAC3C,GAAU,SAAUnM,CAAI,CAAC,EAAG8N,EAC7B,CAAC3B,GAAU,QAASqG,CAAI,CAAC,EAAGkB,EAC5B,CAACvH,GAAU,YAAaqG,CAAI,CAAC,EAAGmB,EAChC,CAACxH,GAAU,SAAUqG,CAAI,CAAC,EAAGoB,EAC7B,CAACzH,GAAU,iBAAkBqG,CAAI,CAAC,EAAG/B,GACrC,CAACtE,GAAU,sBAAuBqG,CAAI,CAAC,EAAG9B,GAC1C,CAACvE,GAAU,wBAAyBqG,CAAI,CAAC,EAAG7B,GAC5C,CAACxE,GAAU,kBAAmBqG,CAAI,CAAC,EAAGxB,EACtC,CAAC7E,GAAU,oBAAqBqG,CAAI,CAAC,EAAGvB,CAC1C,CAAA,EACEjG,EAAS,MACP6I,GAAsBC,GAAUnB,CAAW,EAC1C,MAAA,CACL,yBAA0BvB,EAC1B,2BAA4B,QAAQtD,CAAM,UAC1C,aAAcD,EACd,oBAAqB9H,EACrB,aAAc6N,EACd,sBAAuBH,GACvB,0BAA2BxC,EAC3B,wBAAyBD,EACzB,0BAA2BsC,EAC3B,uBAAwB7C,GACxB,6BAA8BC,GAC9B,+BAAgCC,GAChC,gCAAiCF,GACjC,uBAAwBoD,GAAoB,IAC5C,yBAA0BA,GAAoB,MAC9C,0BAA2BA,GAAoB,OAC/C,wBAAyBA,GAAoB,KAC7C,iBAAkBL,GAClB,YAAazF,IAAU+D,EAAkB,MAAQyB,EAAgBG,GACjE,sBAAuBV,EACvB,oBAAqBG,EACrB,0BAA2BC,EAC3B,4BAA6BC,EAC7B,4BAA6BJ,EAC7B,8BAA+BC,EAC/B,gBAAiBpE,EACjB,aAAchB,EACd,uBAAwBvH,EACxB,cAAemM,EACf,iBAAkBD,GAAakB,EAC/B,2BAA4Bf,EAC5B,yBAA0BG,EAC1B,iCAAkCF,EAClC,mCAAoCC,CAAA,CACtC,CACD,EACK5D,EAAmBD,EAAsBE,GAAc,MAAO9D,EAAS,IAAM,CACjF,IAAI0I,EAAO,GACL,KAAA,CACJ,KAAAvB,EACA,KAAAxS,EACA,MAAO,CACL,MAAA+N,EACA,UAAA0E,CAAA,EACE,CAAC,CACH,EAAA/P,EACJ,OAAAqR,GAAQvB,EAAK,CAAC,EACduB,GAAQ/T,EAAK,CAAC,EACV+N,IACMgG,GAAA,IAAIC,GAAYjG,CAAK,CAAC,IAE5B0E,IACMsB,GAAA,IAAIC,GAAYvB,CAAS,CAAC,IAEhCX,EAAkB,QACZiC,GAAA,KAEHA,CACR,CAAA,EAAGnG,EAAYlL,CAAK,EAAI,OACzB,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAI4P,CAAgB,EAAG,CACxD,WAAYxH,EACZ,gBAAiBH,EACjB,WAAAkH,EACA,eAAgBC,EAChB,YAAAhJ,EACA,iBAAAqJ,EACA,QAASlD,EAAsB,OAAYrB,EAC3C,WAAYsB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,QAAA,CAChG,CACH,EACA,QAAS,CACP,IAAIrC,EAAIS,EACF,KAAA,CACJ,gBAAA2G,EACA,WAAAC,EACA,SAAAC,EACA,MAAO,CACL,YAAA5D,CAAA,EACE,CAAC,EACL,MAAA6D,EACA,SAAA5E,EACA,OAAAjL,CACE,EAAA,KACJiL,GAAa,MAAuCA,IACpD,MAAM6E,EAAa5E,GAAmBlL,EAAO,OAAoBpB,GAAAA,GAAYsB,EAAE,MAAO,CACpF,MAAO,GAAGwP,CAAe,cAAA,EACxB9Q,CAAQ,CAAC,EACNmR,EAAW7E,GAAmBlL,EAAO,KAAkBpB,GAAAA,GAAYsB,EAAE,MAAO,CAChF,MAAO,GAAGwP,CAAe,YAAA,EACxB9Q,CAAQ,CAAC,EACZ,OAAOsB,EAAE,MAAO,CACd,MAAO,CAAC,GAAGwP,CAAe,OAAQ,KAAK,WAAY,CACjD,CAAC,GAAGA,CAAe,WAAW,EAAGC,EACjC,CAAC,GAAGD,CAAe,cAAc,EAAG,KAAK,OACzC,CAAC,GAAGA,CAAe,gBAAgB,EAAG,KAAK,SAC3C,CAAC,GAAGA,CAAe,iBAAiB,EAAG,KAAK,UAC5C,CAAC,GAAGA,CAAe,eAAe,EAAG,KAAK,WAAa,KAAK,QAC5D,CAAC,GAAGA,CAAe,aAAa,EAAGG,EACnC,CAAC,GAAGH,CAAe,cAAc,EAAGI,EACpC,CAAC,GAAGJ,CAAe,YAAY,EAAGK,EAClC,CAAC,GAAGL,CAAe,gBAAgB,EAAGE,CAAA,CACvC,EACD,MAAO,KAAK,QACZ,QAAS,KAAK,YACd,aAAc,KAAK,aACnB,aAAc,KAAK,YAClB,EAAAG,GAAYD,EAAY5P,EAAE,OAAQ,CACnC,MAAO,GAAGwP,CAAe,gBACzB,IAAK,YAAA,GACH3G,GAAMT,EAAK,KAAK,QAAQ,WAAa,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,EAAG,CAAC,KAAK,WAAasH,EAAW1P,EAAE8P,GAAY,CAClI,UAAWN,EACX,MAAO,GAAGA,CAAe,cACzB,SAAU,KAAK,SACf,QAAS,KAAK,iBACd,UAAW,KAAK,uBAChB,MAAAG,EACA,YAAa,KAAK,yBAClB,SAAU,EAAA,CACX,EAAI,KAAM,CAAC,KAAK,WAAa,KAAK,eAAiB3P,EAAE,MAAO,CAC3D,MAAO,GAAGwP,CAAe,eACzB,MAAO,CACL,YAAA1D,CACF,CAAA,CACD,EAAI,IAAI,CACX,CACF,CAAC,EC3QciE,GAAA,CACb,cAAe,gBACf,gBAAiB,kBACjB,UAAW,OACX,UAAW,MACb,ECAMzR,GAAO+C,GAAQ,CACnB,KAAM,CACJ,aAAAC,EACA,WAAAI,EACA,kBAAAE,EACA,WAAAoO,EACA,mBAAAC,EACA,aAAApO,EACA,kBAAA2J,EACA,aAAAG,EACA,kBAAAuE,EACA,WAAAtE,EACA,gBAAAuE,EACA,YAAArE,EACA,UAAAsE,EACA,kBAAAC,EACA,WAAAC,EACA,gBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,yBAAAC,EACA,aAAAtE,EACA,cAAApK,EACA,eAAAC,EACA,cAAAC,EACA,WAAAoK,EACA,YAAAlK,EACA,aAAAC,EACA,YAAAC,CACD,EAAGjB,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAImB,EAAe,EAAG,CACvD,aAAA4J,EACA,cAAApK,EACA,eAAAC,EACA,cAAAC,EACA,WAAAoK,EACA,YAAAlK,EACA,aAAAC,EACA,YAAAC,EACA,aAAAhB,EAEA,UAAWI,EACX,kBAAAE,EACA,iBAAA6O,EACA,yBAAAC,EACA,MAAOV,EACP,cAAeC,EACf,YAAaD,EACb,OAAQ,aAAalE,CAAW,GAChC,YAAa,aAAaN,CAAiB,GAC3C,aAAc,aAAa3J,CAAY,GACvC,YAAa,aAAa2J,CAAiB,GAC3C,eAAgB,OAChB,gBAAiB,aAAaoB,GAAY/K,EAAc,CACtD,MAAO,EACR,CAAA,CAAC,GACF,eAAgB,aAAa+K,GAAY/K,EAAc,CACrD,MAAO,EACR,CAAA,CAAC,GACF,WAAYA,EACZ,WAAYuO,EACZ,mBAAoBC,EACpB,aAAcxO,EAEd,cAAe,aAAa8J,CAAY,GACxC,mBAAoB,aAAauE,CAAiB,GAClD,oBAAqB,aAAavE,CAAY,GAC9C,mBAAoB,aAAauE,CAAiB,GAClD,sBAAuB,OACvB,uBAAwB,aAAatD,GAAYjB,EAAc,CAC7D,MAAO,EACR,CAAA,CAAC,GACF,sBAAuB,aAAaiB,GAAYjB,EAAc,CAC5D,MAAO,EACR,CAAA,CAAC,GACF,mBAAoBqE,EACpB,kBAAmBrE,EAEnB,YAAa,aAAaC,CAAU,GACpC,iBAAkB,aAAauE,CAAe,GAC9C,kBAAmB,aAAavE,CAAU,GAC1C,iBAAkB,aAAauE,CAAe,GAC9C,oBAAqB,OACrB,qBAAsB,aAAavD,GAAYhB,EAAY,CACzD,MAAO,EACR,CAAA,CAAC,GACF,oBAAqB,aAAagB,GAAYhB,EAAY,CACxD,MAAO,EACR,CAAA,CAAC,GACF,iBAAkBoE,EAClB,gBAAiBpE,EACjB,WAAA0E,EACA,gBAAAC,EACA,kBAAAC,CACJ,CAAG,CACH,EACMG,GAAyBjO,GAAY,CACzC,KAAM,oBACN,OAAQC,GACR,MAAO,CACL,QAASiO,EACV,EACH,KAAEtS,EACF,CAAC,EChFDuS,GAAe/S,GAAE,CAAC6H,EAAG,iBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcnC,CAACA,EAAG,eAAgB;AAAA;AAAA,EAEtB,EAAGA,EAAG,sBAAuB,8BAA8B,EAAGC,GAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYzF,EAAGA,GAAG,eAAgB;AAAA;AAAA;AAAA,EAGtB,EAAGD,EAAG,cAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMnB,CAACC,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA,EAIf,CAAC,CAAC,EAAGD,EAAG,yBAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYhC,CAACC,GAAG,UAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjB,CAAC,CAAC,EAAGD,EAAG,6BAA8B;AAAA;AAAA,GAEpC,CAACC,GAAG,QAAS;AAAA;AAAA;AAAA,EAGf,CAAC,CAAC,EAAGD,EAAG,sBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB/B,EAAGA,EAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAiB5B,CAACA,EAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAa5B,CAACC,GAAG,UAAW;AAAA;AAAA;AAAA;AAAA,EAIjB,CAAC,CAAC,EAAGA,GAAG,eAAgB;AAAA;AAAA,EAExB,CAAC,CAAC,EAAGE,GAAM,WAAY,CAAChI,GAAE,UAAW,CAAC8H,GAAG,eAAgB;AAAA;AAAA;AAAA,EAGzD,CAAC,CAAC,EAAGC,EAAG,QAAS,CAACD,GAAG,eAAgB;AAAA;AAAA;AAAA,EAGrC,CAAC,CAAC,EAAGC,EAAG,SAAU,CAACD,GAAG,eAAgB;AAAA;AAAA;AAAA,EAGtC,EAAGD,EAAG,uBAAwB,0CAA0C,EAAGA,EAAG,sBAAuB,0CAA0C,CAAC,CAAC,CAAC,CAAC,EAAGE,EAAG,WAAY,uBAAwB,CAACD,GAAG,QAAS;AAAA;AAAA,EAE1M,EAAGD,EAAG,uBAAwB;AAAA;AAAA;AAAA,GAG5B,CAACA,EAAG,uBAAwB;AAAA;AAAA;AAAA,EAG9B,EAAGC,GAAG,eAAgB;AAAA;AAAA,EAEtB,CAAC,CAAC,EAAGD,EAAG,sBAAuB;AAAA;AAAA;AAAA,EAG/B,EAAGA,EAAG,6BAA8B;AAAA;AAAA;AAAA,EAGpC,CAAC,CAAC,EAAGA,EAAG,2BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GASlC,CAACC,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAef,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShB,CAAC,CAAC,EAAG,CAAC,UAAW,OAAO,EAAE,IAAIkL,GAAUjL,EAAG,GAAGiL,CAAM,UAAW,CAAClL,GAAG,eAAgB,0BAA0BkL,CAAM,IAAI,EAAGhL,GAAM,WAAY,CAAChI,GAAE,UAAW,CAAC8H,GAAG,eAAgB;AAAA,wCACxIkL,CAAM;AAAA,gCACdA,CAAM;AAAA,EACpC,CAAC,CAAC,EAAGjL,EAAG,SAAU,CAACD,GAAG,eAAgB;AAAA,yCACCkL,CAAM;AAAA,iCACdA,CAAM;AAAA,EACrC,EAAGnL,EAAG,uBAAwB,0CAA0CmL,CAAM,IAAI,EAAGnL,EAAG,sBAAuB,0CAA0CmL,CAAM,IAAI,CAAC,CAAC,EAAGjL,EAAG,QAAS,CAACD,GAAG,eAAgB;AAAA,wCAClKkL,CAAM;AAAA,gCACdA,CAAM;AAAA,EACpC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGnL,EAAG,yBAA0B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKzC,EAAGA,EAAG,6BAA8B;AAAA;AAAA;AAAA;AAAA,GAIlC,CAAC7H,GAAE,eAAgB,mBAAmB,EAAG6H,EAAG,MAAO;AAAA;AAAA;AAAA,GAGnD,CAACC,GAAG,UAAW;AAAA;AAAA;AAAA;AAAA,EAIjB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,ECzNRmL,GAAe/S,GAAgB,CAC7B,KAAM,oBACN,MAAO,OAAO,OAAO,OAAO,OAAO,GAAIiI,GAAS,KAAK,EAAG,CACtD,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,SAAU,CACR,KAAM,QACN,QAAS,MACV,EACD,OAAQ,QACR,QAAS,CACP,KAAM,OACN,QAAS,EACV,EACD,YAAa,OACb,eAAgB,CACd,KAAM,OACN,QAAS,IACV,EACD,gBAAiB,CACf,KAAM,MACN,QAAS,IACV,EACD,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,SAAU,QACV,WAAY,QACZ,UAAW,QACX,SAAU,QACV,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,QAAS,QACT,UAAW,QACX,UAAW,CACT,KAAM,QACN,QAAS,EACV,EACD,WAAY,OACZ,QAAS,QACT,UAAW,SACX,UAAW,SACX,QAAS,SACT,OAAQ,SACR,QAAS,SACT,eAAgB,SAChB,YAAa,CAAC,OAAQ,MAAM,EAC5B,wBAAyB,OACzB,QAAS,SACT,eAAgB,SAChB,eAAgB,SAChB,cAAe,SACf,YAAa,SACb,OAAQ,OACR,oBAAqB,QACrB,kBAAmB,CACjB,KAAM,QACN,QAAS,EACV,EACD,SAAU,QACd,CAAG,EACD,MAAMhI,EAAO,CACX,KAAM,CACJ,mBAAAiI,EACA,aAAAC,CACN,EAAQC,GAAUnI,CAAK,EACboI,EAAgBC,GAAO,oBAAqBH,EAAcD,CAAkB,EAC5E8K,EAAwBrV,EAAI,IAAI,EAChCsV,EAAkBtV,EAAI,IAAI,EAC1BwC,EAAUxC,EAAI,IAAI,EAClBuV,EAAgBvV,EAAI,IAAI,EACxBwV,EAAcxV,EAAI,IAAI,EACtByV,EAAyBzV,EAAI,IAAI,EACjCyC,EAAazC,EAAI,IAAI,EACrB0V,EAAoB1V,EAAI,IAAI,EAC5B2V,EAAc3V,EAAI,IAAI,EACtB4V,EAAgB5V,EAAI,IAAI,EACxB6V,EAAqB7V,EAAI,EAAK,EAC9B8V,EAAyB9V,EAAI,EAAK,EAClC+V,EAAW/V,EAAI,EAAK,EACpB4K,EAAWN,GAAS,oBAAqB,sBAAuBpI,GAAO8S,GAAwB1S,EAAOuI,GAAMvI,EAAO,WAAW,CAAC,EAC/H0T,EAAqB/K,EAAS,IAC3B3I,EAAM,WAAa,CAACA,EAAM,WAAayT,EAAS,OAASzT,EAAM,OACvE,EACK2T,EAA2BhL,EAAS,IACjC3I,EAAM,eAAiBA,EAAM,UAAYA,EAAM,UAAU,CAC9D,OAAQA,EAAM,eACd,YAAa,IAAM,CAAE,CAC7B,CAAO,EAAIA,EAAM,YAAcA,EAAM,YAAYA,EAAM,eAAgB,EAAI,EAAIqH,GAAOrH,EAAM,eAAeA,EAAM,UAAU,EAAGA,EAAM,eAAgB,EAAI,EAAIA,EAAM,WAC7J,EACK4T,EAAWjL,EAAS,IAAM,CAC9B,MAAMkL,EAAS7T,EAAM,eACrB,GAAK6T,EACL,OAAOA,EAAO7T,EAAM,UAAU,CACpC,CAAK,EACK8T,EAAcnL,EAAS,IACvB3I,EAAM,SACD,CAAC,EAAE,MAAM,QAAQA,EAAM,eAAe,GAAKA,EAAM,gBAAgB,QAEjEA,EAAM,iBAAmB,IAEnC,EACD,SAAS+T,GAAkB,CACzB,IAAI5J,EACJ,KAAM,CACJ,MAAO6J,CACR,EAAGjB,EACJ,GAAIiB,EAAsB,CACxB,KAAM,CACJ,MAAOC,EACR,EAAGjB,EACAiB,KACFA,GAAe,MAAM,MAAQ,GAAGD,EAAqB,WAAW,KAC5DhU,EAAM,cAAgB,gBACvBmK,EAAKkJ,EAAY,SAAW,MAAQlJ,IAAO,QAAkBA,EAAG,KAAK,CACpE,4BAA6B,EAC3C,CAAa,GAGN,CACF,CACD,SAAS+J,GAAe,CACtB,KAAM,CACJ,MAAOC,CACR,EAAGb,EACAa,IAAYA,EAAW,MAAM,QAAU,OAC5C,CACD,SAASC,GAAe,CACtB,KAAM,CACJ,MAAOD,CACR,EAAGb,EACAa,IAAYA,EAAW,MAAM,QAAU,eAC5C,CACD5V,GAAMgK,GAAMvI,EAAO,QAAQ,EAAGxC,GAAS,CAChCA,GAAO0W,GAClB,CAAK,EACD3V,GAAMgK,GAAMvI,EAAO,SAAS,EAAG,IAAM,CAC/BA,EAAM,UACH8B,GAASiS,CAAe,CAErC,CAAK,EACD,SAASM,EAAQrW,EAAG,CAClB,KAAM,CACJ,QAAAsW,CACD,EAAGtU,EACAsU,GAASA,EAAQtW,CAAC,CACvB,CACD,SAASuW,EAAOvW,EAAG,CACjB,KAAM,CACJ,OAAAwW,CACD,EAAGxU,EACAwU,GAAQA,EAAOxW,CAAC,CACrB,CACD,SAASyW,EAAejX,EAAO,CAC7B,KAAM,CACJ,eAAAkX,CACD,EAAG1U,EACA0U,GAAgBA,EAAelX,CAAK,CACzC,CACD,SAASmX,EAAQ3W,EAAG,CAClB,KAAM,CACJ,QAAA4W,CACD,EAAG5U,EACA4U,GAASA,EAAQ5W,CAAC,CACvB,CACD,SAAS6W,EAAerX,EAAO,CAC7B,KAAM,CACJ,eAAAsX,CACD,EAAG9U,EACA8U,GAAgBA,EAAetX,CAAK,CACzC,CACD,SAASsN,EAAc9M,EAAG,CACxB,IAAImM,GACA,CAACnM,EAAE,eAAiB,EAAG,GAAAmM,EAAKjK,EAAQ,SAAW,MAAQiK,IAAO,SAAkBA,EAAG,SAASnM,EAAE,aAAa,KAC7GqW,EAAQrW,CAAC,CAEZ,CACD,SAAS+M,EAAe/M,EAAG,CACzB,IAAImM,EACC,GAAAA,EAAKjK,EAAQ,SAAW,MAAQiK,IAAO,SAAkBA,EAAG,SAASnM,EAAE,aAAa,GACzFuW,EAAOvW,CAAC,CACT,CACD,SAAS+W,EAAY/W,EAAG,CACtB2W,EAAQ3W,CAAC,CACV,CACD,SAASsI,GAAmB,CAC1BmN,EAAS,MAAQ,EAClB,CACD,SAASuB,GAAmB,CAC1BvB,EAAS,MAAQ,EAClB,CACD,SAAShJ,GAAgBzM,EAAG,CACtB,CAACgC,EAAM,QAAU,CAACA,EAAM,YACxBhC,EAAE,SAAWgV,EAAgB,OACjChV,EAAE,eAAc,CACjB,CACD,SAASiX,GAAmBpB,EAAQ,CAClCY,EAAeZ,CAAM,CACtB,CACD,SAASqB,EAAqBlX,EAAG,CAC/B,GAAIA,EAAE,MAAQ,aAAe,CAACmX,EAAe,OACvC,CAACnV,EAAM,QAAQ,OAAQ,CACzB,KAAM,CACJ,gBAAAoV,CACD,EAAGpV,EACAoV,GAAoB,MAA8CA,EAAgB,QACpFH,GAAmBG,EAAgBA,EAAgB,OAAS,CAAC,CAAC,CAEjE,CAEJ,CACD,MAAMD,EAAiBzX,EAAI,EAAK,EAGhC,IAAI2X,EAAmB,KACvB,SAASC,EAAwBtX,EAAG,CAElC,KAAM,CACJ,MAAOgW,CACR,EAAGjB,EACJ,GAAIiB,EAAsB,CACxB,MAAMuB,GAAYvX,EAAE,OAAO,MAC3BgW,EAAqB,YAAcuB,GACnCxB,GACD,CACG/T,EAAM,mBACHmV,EAAe,MAGlBE,EAAmBrX,EAGrB6W,EAAe7W,CAAC,CAEnB,CACD,SAASwX,GAAyB,CAChCL,EAAe,MAAQ,EACxB,CACD,SAASM,IAAuB,CAC9BN,EAAe,MAAQ,GACnBnV,EAAM,mBACR6U,EAAeQ,CAAgB,EAEjCA,EAAmB,IACpB,CACD,SAASK,GAAwB1X,EAAG,CAClC,IAAImM,EACJqJ,EAAuB,MAAQ,IAC9BrJ,EAAKnK,EAAM,kBAAoB,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,EAAOhC,CAAC,CAClF,CACD,SAAS2X,GAAuB3X,EAAG,CACjC,IAAImM,EACJqJ,EAAuB,MAAQ,IAC9BrJ,EAAKnK,EAAM,iBAAmB,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,EAAOhC,CAAC,CACjF,CACD,SAAS4X,GAAO,CACd,IAAIzL,EAAIS,EACR,GAAI5K,EAAM,WACRwT,EAAuB,MAAQ,IAC9BrJ,EAAKgJ,EAAuB,SAAW,MAAQhJ,IAAO,QAAkBA,EAAG,KAAI,GAC/ES,EAAKoI,EAAgB,SAAW,MAAQpI,IAAO,QAAkBA,EAAG,KAAI,UAChE5K,EAAM,SAAU,CACzB,KAAM,CACJ,MAAO6V,EACR,EAAG5C,EACJ4C,IAAe,MAAyCA,GAAW,MAC3E,KAAa,CACL,KAAM,CACJ,MAAOC,EACR,EAAG5C,EACJ4C,IAAa,MAAuCA,GAAS,MAC9D,CACF,CACD,SAASC,GAAQ,CACf,IAAI5L,EAAIS,EAAIoL,GACRhW,EAAM,YACRwT,EAAuB,MAAQ,IAC9BrJ,EAAKgJ,EAAuB,SAAW,MAAQhJ,IAAO,QAAkBA,EAAG,MAAK,GACxEnK,EAAM,UACd4K,EAAKqI,EAAc,SAAW,MAAQrI,IAAO,QAAkBA,EAAG,MAAK,GAEvEoL,GAAK9C,EAAY,SAAW,MAAQ8C,KAAO,QAAkBA,GAAG,MAAK,CAEzE,CACD,SAASC,IAAa,CACpB,KAAM,CACJ,MAAOhC,CACR,EAAGjB,EACAiB,IACFG,IACAH,EAAe,MAAK,EAEvB,CACD,SAASiC,IAAY,CACnB,KAAM,CACJ,MAAOjC,CACR,EAAGjB,EACAiB,GACFA,EAAe,KAAI,CAEtB,CACD,SAAS9S,GAAcgV,EAAO,CAC5B,KAAM,CACJ,MAAA3Y,CACD,EAAG2C,EACA3C,GACFA,EAAM,eAAe,IAAI2Y,CAAK,EAAE,CAEnC,CACD,SAAS7V,IAAa,CACpB,KAAM,CACJ,MAAA9C,CACD,EAAG4V,EACJ,OAAO5V,CACR,CACD,SAAS+C,IAAU,CACjB,OAAOyS,EAAgB,KACxB,CACD,IAAIoD,GAAe,KACnB,SAASC,IAAkB,CACrBD,KAAiB,MAAM,OAAO,aAAaA,EAAY,CAC5D,CACD,SAASE,IAA0B,CAC7BtW,EAAM,SACVqW,KACAD,GAAe,OAAO,WAAW,IAAM,CACjCtC,EAAY,QACdP,EAAmB,MAAQ,GAE9B,EAAE,GAAG,EACP,CACD,SAASgD,IAA0B,CACjCF,IACD,CACD,SAASG,GAAoB1R,EAAM,CAC5BA,IACHuR,KACA9C,EAAmB,MAAQ,GAE9B,CACDhV,GAAMuV,EAAatW,GAAS,CACrBA,IACH+V,EAAmB,MAAQ,GAEnC,CAAK,EACD3R,GAAU,IAAM,CACd6U,GAAY,IAAM,CAChB,MAAMC,EAAwBvD,EAAuB,MAChDuD,IACD1W,EAAM,SACR0W,EAAsB,gBAAgB,UAAU,EAEhDA,EAAsB,SAAWlD,EAAuB,MAAQ,GAAK,EAE/E,CAAO,CACP,CAAK,EACDvR,GAAY/B,EAASF,EAAM,QAAQ,EACnC,KAAM,CACJ,oBAAAuM,EACD,EAAGvM,EACEkL,GAAavC,EAAS,IAAM,CAChC,KAAM,CACJ,KAAArL,CACD,EAAG0C,EACE,CACJ,OAAQ,CACN,qBAAAmL,CACD,EACD,KAAM,CACJ,aAAA9H,GACA,MAAAgI,GACA,iBAAAmH,GACA,UAAAzC,GACA,cAAA4G,EACA,gBAAAC,GACA,WAAAC,GACA,cAAAC,EACA,kBAAAnT,GACA,yBAAA8O,GACA,YAAAsE,EACA,eAAAC,EACA,gBAAAC,EACA,eAAAC,GACA,OAAAhG,GACA,YAAAiG,GACA,YAAAC,GACA,aAAAC,GACA,WAAAC,GACA,mBAAAC,GACA,aAAAtL,GAEA,mBAAAuL,GACA,sBAAAC,GACA,uBAAAC,GACA,sBAAAC,GACA,cAAAC,GACA,mBAAAC,GACA,mBAAAC,GACA,oBAAAC,GAEA,iBAAAC,GACA,oBAAAC,GACA,qBAAAC,GACA,oBAAAC,GACA,YAAAC,GACA,iBAAAC,GACA,iBAAAC,GACA,kBAAAC,GAEA,WAAAlG,GACA,gBAAAC,GACA,kBAAAC,GACA,UAAAiG,GAEA,UAAAC,GACA,CAAChP,GAAU,SAAUnM,CAAI,CAAC,EAAG8N,GAC7B,CAAC3B,GAAU,WAAYnM,CAAI,CAAC,EAAG8O,EAChC,CACT,EAAU9D,EAAS,MACPoQ,GAAwB/O,GAAWgN,CAAa,EAChDgC,GAA0BhP,GAAWiN,EAAe,EAC1D,MAAO,CACL,aAAczL,EACd,aAAc+F,GACd,oBAAqBmG,GACrB,mBAAoBF,GACpB,mBAAoBC,GACpB,oBAAqB/T,GACrB,wBAAyB4T,EACzB,uBAAwBD,EACxB,uBAAwBE,GACxB,kBAAmBL,GACnB,YAAaxL,GACb,mBAAoB0L,EACpB,qBAAsBD,EACtB,gBAAiB1K,GACjB,aAAchB,GACd,yBAA0BsN,GAAsB,IAChD,2BAA4BC,GAAwB,IACpD,2BAA4BD,GAAsB,MAClD,6BAA8BC,GAAwB,MACtD,0BAA2BD,GAAsB,KACjD,4BAA6BC,GAAwB,KACrD,4BAA6BD,GAAsB,OACnD,8BAA+BC,GAAwB,OACvD,wBAAyBnG,GACzB,iCAAkCC,GAClC,iBAAkB1C,GAClB,0BAA2BpM,GAC3B,kBAAmB2T,GACnB,2BAA4BC,GAC5B,oBAAqBtL,GAErB,2BAA4BuL,GAC5B,+BAAgCC,GAChC,gCAAiCC,GACjC,+BAAgCC,GAChC,qBAAsBC,GACtB,2BAA4BC,GAC5B,2BAA4BC,GAC5B,4BAA6BC,GAE7B,yBAA0BC,GAC1B,6BAA8BC,GAC9B,8BAA+BC,GAC/B,6BAA8BC,GAC9B,mBAAoBC,GACpB,yBAA0BC,GAC1B,yBAA0BC,GAC1B,0BAA2BC,GAE3B,iBAAkBC,GAClB,kBAAmBnG,GACnB,wBAAyBC,GACzB,0BAA2BC,GAE3B,iBAAkBkG,EAC1B,CACA,CAAK,EACKjM,GAAmBD,GAAsBE,GAAc,qBAAsB9D,EAAS,IACnF3I,EAAM,KAAK,CAAC,CACpB,EAAGkL,GAAYlL,CAAK,EAAI,OACzB,MAAO,CACL,YAAasI,EACb,gBAAiBoL,EACjB,gBAAiBzL,EACjB,WAAYG,EACZ,oBAAqBoL,EACrB,sBAAuBG,EACvB,MAAOC,EACP,SAAUE,EACV,cAAeP,EACf,YAAa4B,EAEb,WAAAhV,EACA,kBAAAiT,EACA,sBAAAL,EACA,gBAAAC,EACA,QAAA9S,EACA,cAAA+S,EACA,YAAAC,EACA,uBAAAC,EACA,YAAAE,EACA,cAAAC,EACA,gBAAA7I,GACA,cAAAK,EACA,YAAAiK,EACA,iBAAAzO,EACA,iBAAA0O,EACA,mBAAAC,GACA,qBAAAC,EACA,wBAAAI,EACA,uBAAAK,GACA,wBAAAD,GACA,wBAAAY,GACA,wBAAAC,GACA,eAAAxL,EACA,qBAAA0K,GACA,uBAAAD,EACA,oBAAAgB,GACA,MAAAT,EACA,WAAAE,GACA,KAAAL,EACA,UAAAM,GACA,cAAA/U,GACA,WAAAb,GACA,QAAAC,GACA,YAAaP,EAAM,YACnB,QAASuM,GAAsB,OAAYrB,GAC3C,WAAYsB,IAAqB,KAAsC,OAASA,GAAiB,WACjG,SAAUA,IAAqB,KAAsC,OAASA,GAAiB,QACrG,CACG,EACD,QAAS,CACP,KAAM,CACJ,OAAAqG,EACA,SAAAnM,EACA,KAAApJ,EACA,SAAAsb,EACA,WAAAC,EACA,YAAAC,EACA,SAAAC,EACA,UAAAhU,EACA,wBAAAiU,EACA,SAAAlM,EACA,UAAAmM,EACA,YAAA9R,CACD,EAAG,KACJ2F,GAAa,MAAuCA,IACpD,MAAMoM,EAAwBJ,IAAgB,aACxCK,EAAqB,OAAOL,GAAgB,SAC5CM,EAAiBF,GAAyBC,EAC1CE,EAAStX,EAAEuX,GAAS,KAAM,CAC9B,QAAS,IAAMvX,EAAEwX,GAAQ,CACvB,UAAWxU,EACX,QAAS,KAAK,QACd,UAAW,KAAK,UAChB,UAAW,KAAK,iBAAmB,KAAK,SACxC,QAAS,KAAK,WACtB,EAAS,CACD,QAAS,IAAM,CACb,IAAIoF,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CACvF,CACT,CAAO,CACP,CAAK,EACD,IAAIqP,EACJ,GAAI9S,EAAU,CACZ,KAAM,CACJ,WAAA+S,CACD,EAAG,KACEC,EAAY7F,GAAU9R,EAAE,MAAO,CACnC,MAAO,GAAGgD,CAAS,8BACnB,IAAK8O,EAAO,KACpB,EAASoF,EAAYA,EAAU,CACvB,OAAApF,EACA,YAAa,IAAM,CACjB,KAAK,mBAAmBA,CAAM,CAC/B,CACT,CAAO,EAAI9R,EAAEmN,GAAM,CACX,KAAM5R,EACN,SAAU,CAACuW,EAAO,SAClB,SAAU+E,EACV,QAAS,IAAM,CACb,KAAK,mBAAmB/E,CAAM,CAC/B,EACD,yBAA0B,GAC1B,uBAAwB,EAChC,EAAS,CACD,QAAS,IAAM1M,EAAcA,EAAY0M,EAAQ,EAAI,EAAIxM,GAAOwM,EAAO4F,CAAU,EAAG5F,EAAQ,EAAI,CACjG,CAAA,CAAC,EACI8F,EAAyB,KAAOR,EAAqB,KAAK,gBAAgB,MAAM,EAAGL,CAAW,EAAI,KAAK,iBAAiB,IAAIY,CAAS,EACrIE,EAAQf,EAAa9W,EAAE,MAAO,CAClC,MAAO,GAAGgD,CAAS,4BACnB,IAAK,gBACL,IAAK,eACb,EAAShD,EAAE,QAAS,OAAO,OAAO,CAAE,EAAE,KAAK,WAAY,CAC/C,IAAK,kBACL,SAAU,GACV,SAAU6W,EACV,MAAO,KAAK,QACZ,UAAW,KAAK,UAChB,MAAO,GAAG7T,CAAS,mCACnB,OAAQ,KAAK,uBACb,QAAS,KAAK,wBACd,UAAW,KAAK,qBAChB,QAAS,KAAK,wBACd,mBAAoB,KAAK,uBACzB,iBAAkB,KAAK,oBAC/B,CAAO,CAAC,EAAGhD,EAAE,OAAQ,CACb,IAAK,wBACL,MAAO,GAAGgD,CAAS,mCACpB,EAAE,KAAK,OAAO,CAAC,EAAI,KAEd8U,EAAgBX,EAAwB,IAAMnX,EAAE,MAAO,CAC3D,MAAO,GAAGgD,CAAS,8BACnB,IAAK,mBACb,EAAShD,EAAEmN,GAAM,CACT,KAAM5R,EACN,IAAK,aACL,aAAc,KAAK,wBACnB,aAAc,KAAK,wBACnB,SAAUsb,CAClB,CAAO,CAAC,EAAI,OACN,IAAIpY,EACJ,GAAI2Y,EAAoB,CACtB,MAAMW,EAAO,KAAK,gBAAgB,OAAShB,EACvCgB,EAAO,IACTtZ,EAAUuB,EAAE,MAAO,CACjB,MAAO,GAAGgD,CAAS,8BACnB,IAAK,aACjB,EAAahD,EAAEmN,GAAM,CACT,KAAM5R,EACN,IAAK,aACL,aAAc,KAAK,wBACnB,SAAUsb,CACtB,EAAa,CACD,QAAS,IAAM,IAAIkB,CAAI,EACxB,CAAA,CAAC,EAEL,CACD,MAAMC,EAAOb,EAAwBL,EAAa9W,EAAEjC,GAAW,CAC7D,IAAK,cACL,cAAe,KAAK,cACpB,WAAY,KAAK,WACjB,QAAS,KAAK,QACd,MAAO,CACL,MAAO,OACP,QAAS,OACT,SAAU,QACX,CACT,EAAS,CACD,QAAS6Z,EACT,QAASE,EACT,KAAM,IAAMD,CACpB,CAAO,EAAI7X,EAAEjC,GAAW,CAChB,IAAK,cACL,cAAe,KAAK,cACpB,WAAY,KAAK,WACjB,MAAO,CACL,MAAO,OACP,QAAS,OACT,SAAU,QACX,CACT,EAAS,CACD,QAAS6Z,EACT,QAASE,CACjB,CAAO,EAAIV,GAAsB3Y,EAAUmZ,EAAsB,EAAG,OAAOnZ,CAAO,EAAImZ,IAC1EK,EAAgBZ,EAAiB,IAAMrX,EAAE,MAAO,CACpD,MAAO,GAAGgD,CAAS,yBAC3B,EAASmU,EAAwBS,EAAsB,EAAK,KAAK,gBAAgB,IAAID,CAAS,CAAC,EAAI,OACvFO,EAAeb,EAAiB,OAAO,OAAO,CAClD,KAAM,KAAK,cACX,QAAS,QACT,QAAS,GACT,UAAW,MACX,MAAO,UACP,aAAc,KAAK,oBACnB,MAAO,KAAK,YAAY,MAAM,QAC9B,eAAgB,KAAK,YAAY,cAAc,OACvD,EAASJ,CAAuB,EAAI,KAExBkB,GADkB,KAAK,SAAW,GAAQ,KAAK,OAAS,CAAC,KAAK,SAAW,CAAC,KAAK,YAAc,IAC7DnY,EAAE,MAAO,CAC7C,MAAO,GAAGgD,CAAS,+BAA+BA,CAAS,yBACnE,EAAShD,EAAE,MAAO,CACV,MAAO,GAAGgD,CAAS,oCACpB,EAAE,KAAK,WAAW,CAAC,EAAI,KAClBoV,EAAiBtB,EAAa9W,EAAE,MAAO,CAC3C,IAAK,yBACL,MAAO,GAAGgD,CAAS,sBAC3B,EAASgV,EAAMb,EAAwB,KAAOU,EAAOP,CAAM,EAAItX,EAAE,MAAO,CAChE,IAAK,gBACL,MAAO,GAAGgD,CAAS,uBACnB,SAAU6T,EAAW,OAAY,CACzC,EAASmB,EAAMV,CAAM,EACfG,EAAOzX,EAAEqY,GAAU,KAAMhB,EAAiBrX,EAAEsY,GAAU,OAAO,OAAO,CAAA,EAAIJ,EAAc,CACpF,WAAY,GACZ,MAAO,iDACf,CAAO,EAAG,CACF,QAAS,IAAME,EACf,QAASH,CACjB,CAAO,EAAIG,EAAgBD,CAAW,CACtC,SACUrB,EAAY,CACd,MAAMyB,EAAW,KAAK,SAAW,KAAK,YAChCC,EAAkB,KAAK,OAAS,CAACD,EAAW,CAAC,KAAK,SAClDE,EAAoB,KAAK,OAAS,GAAQ,KAAK,SACrDhB,EAAOzX,EAAE,MAAO,CACd,IAAK,yBACL,MAAO,GAAGgD,CAAS,wBACnB,MAAO,KAAK,oBAAsB,OAAYxH,GAAkB,KAAK,KAAK,CACpF,EAAWwE,EAAE,QAAS,OAAO,OAAO,CAAE,EAAE,KAAK,WAAY,CAC/C,IAAK,kBACL,MAAO,GAAGgD,CAAS,wBACnB,MAAO,KAAK,OAAS,KAAK,QAAU,GACpC,YAAa,GACb,SAAU6T,EACV,SAAUA,EACV,SAAU,GACV,UAAW,KAAK,UAChB,QAAS,KAAK,wBACd,OAAQ,KAAK,uBACb,QAAS,KAAK,wBACd,mBAAoB,KAAK,uBACzB,iBAAkB,KAAK,oBACxB,CAAA,CAAC,EAAG4B,EAAoBzY,EAAE,MAAO,CAChC,MAAO,GAAGgD,CAAS,uCAAuCA,CAAS,0BACnE,IAAK,OACf,EAAWhD,EAAE,MAAO,CACV,MAAO,GAAGgD,CAAS,kCAC7B,EAAWkU,EAAYA,EAAU,CACvB,OAAQ,KAAK,eACb,YAAa,IAAM,CAAE,CAC/B,CAAS,EAAI9R,EAAcA,EAAY,KAAK,eAAgB,EAAI,EAAIE,GAAO,KAAK,MAAO,KAAK,eAAgB,EAAI,CAAC,CAAC,EAAI,KAAMkT,EAAkBxY,EAAE,MAAO,CAC7I,MAAO,GAAGgD,CAAS,+BAA+BA,CAAS,0BAC3D,IAAK,aACf,EAAWhD,EAAE,MAAO,CACV,MAAO,GAAGgD,CAAS,kCACpB,EAAE,KAAK,qBAAqB,CAAC,EAAI,KAAMsU,CAAM,CACtD,MACQG,EAAOzX,EAAE,MAAO,CACd,IAAK,cACL,MAAO,GAAGgD,CAAS,wBACnB,SAAU,KAAK,SAAW,OAAY,CACvC,EAAE,KAAK,QAAU,OAAYhD,EAAE,MAAO,CACrC,MAAO,GAAGgD,CAAS,wBACnB,MAAOxH,GAAkB,KAAK,KAAK,EACnC,IAAK,OACf,EAAWwE,EAAE,MAAO,CACV,MAAO,GAAGgD,CAAS,gCAC7B,EAAWkU,EAAYA,EAAU,CACvB,OAAQ,KAAK,eACb,YAAa,IAAM,CAAE,CAC/B,CAAS,EAAI9R,EAAcA,EAAY,KAAK,eAAgB,EAAI,EAAIE,GAAO,KAAK,MAAO,KAAK,eAAgB,EAAI,CAAC,CAAC,EAAItF,EAAE,MAAO,CACrH,MAAO,GAAGgD,CAAS,+BAA+BA,CAAS,0BAC3D,IAAK,aACf,EAAWhD,EAAE,MAAO,CACV,MAAO,GAAGgD,CAAS,oCACpB,EAAE,KAAK,WAAW,CAAC,EAAGsU,CAAM,EAGjC,OAAOtX,EAAE,MAAO,CACd,IAAK,UACL,MAAO,CAAC,GAAGgD,CAAS,kBAAmB,KAAK,YAAc,GAAGA,CAAS,uBAAwB,KAAK,WAAY8N,GAAU,GAAG9N,CAAS,oBAAoB8N,CAAM,UAAW,CACxK,CAAC,GAAG9N,CAAS,yBAAyB,EAAG,KAAK,OAC9C,CAAC,GAAGA,CAAS,2BAA2B,EAAG,KAAK,UAAY,KAAK,QAAU,KAAK,QAChF,CAAC,GAAGA,CAAS,2BAA2B,EAAG,KAAK,SAChD,CAAC,GAAGA,CAAS,2BAA2B,EAAG,KAAK,SAIhD,CAAC,GAAGA,CAAS,wBAAwB,EAAG,KAAK,OACrD,CAAO,EACD,MAAO,KAAK,QACZ,QAAS,KAAK,QACd,aAAc,KAAK,iBACnB,aAAc,KAAK,iBACnB,UAAW,KAAK,UAChB,UAAW,KAAK,cAChB,WAAY,KAAK,eACjB,YAAa,KAAK,eACnB,EAAEyU,EAAMT,EAAWhX,EAAE,MAAO,CAC3B,MAAO,GAAGgD,CAAS,yBACpB,CAAA,EAAI,KAAMgU,EAAWhX,EAAE,MAAO,CAC7B,MAAO,GAAGgD,CAAS,+BACzB,CAAK,EAAI,IAAI,CACV,CACH,CAAC,ECvyBM,SAAS0V,GAAW5G,EAAQ,CACjC,OAAOA,EAAO,OAAS,OACzB,CACO,SAAS6G,GAAW7G,EAAQ,CACjC,OAAOA,EAAO,OAAS,SACzB,CACO,SAAS8G,GAAeC,EAASpd,EAAO,CAC7C,GAAI,CACF,MAAO,CAAC,EAAE,EAAIA,EAAM,SAAU,EAAC,YAAW,EAAG,QAAQod,EAAQ,KAAI,EAAG,YAAW,CAAE,EAClF,MAAa,CACZ,MAAO,EACR,CACH,CACO,SAASC,GAAgBC,EAAYC,EAAe,CAgBzD,MAfgB,CACd,WAAAN,GACA,WAAAC,GACA,OAAO7G,EAAQ,CACb,OAAI4G,GAAW5G,CAAM,EACZA,EAAO,MAAQA,EAAO,KAAO,eAI/BA,EAAOiH,CAAU,CACzB,EACD,YAAYjH,EAAQ,CAClB,OAAOA,EAAOkH,CAAa,CAC5B,CACL,CAEA,CACO,SAASC,GAAcC,EAAcC,EAAQN,EAASG,EAAe,CAC1E,GAAI,CAACG,EAAQ,OAAOD,EACpB,SAASE,EAAS1c,EAAS,CACzB,GAAI,CAAC,MAAM,QAAQA,CAAO,EAAG,MAAO,CAAA,EACpC,MAAM2c,EAAkB,CAAA,EACxB,UAAWvH,KAAUpV,EACnB,GAAIgc,GAAW5G,CAAM,EAAG,CACtB,MAAMpT,EAAW0a,EAAStH,EAAOkH,CAAa,CAAC,EAC3Cta,EAAS,QACX2a,EAAgB,KAAK,OAAO,OAAO,CAAA,EAAIvH,EAAQ,CAC7C,CAACkH,CAAa,EAAGta,CAClB,CAAA,CAAC,CAEZ,KAAa,IAAIia,GAAW7G,CAAM,EAC1B,SACSqH,EAAON,EAAS/G,CAAM,GAC/BuH,EAAgB,KAAKvH,CAAM,EAG/B,OAAOuH,CACR,CACD,OAAOD,EAASF,CAAY,CAC9B,CACO,SAASI,GAAgB5c,EAASqc,EAAYC,EAAe,CAClE,MAAMO,EAAY,IAAI,IACtB,OAAA7c,EAAQ,QAAQoV,GAAU,CACpB4G,GAAW5G,CAAM,EAEnBA,EAAOkH,CAAa,EAAE,QAAQQ,GAAqB,CACjDD,EAAU,IAAIC,EAAkBT,CAAU,EAAGS,CAAiB,CACtE,CAAO,EAEDD,EAAU,IAAIzH,EAAOiH,CAAU,EAAGjH,CAAM,CAE9C,CAAG,EACMyH,CACT,CC/DO,SAASjb,GAAK+C,EAAM,CACzB,KAAM,CACJ,WAAAoY,CACD,EAAGpY,EACJ,MAAO,CACL,cAAeoY,CACnB,CACA,CACA,MAAMC,GAAiBhX,GAAY,CACjC,KAAM,YACN,OAAQC,GACR,MAAO,CACL,QAASiO,GACT,mBAAoBnO,EACrB,EACH,KAAEnE,EACF,CAAC,ECnBYqb,GAAwBzM,GAAmB,aAAa,ECCrE0M,GAAejU,EAAG,iBAAkB;AAAA;AAAA,CAEnC,ECOYkU,GAAa,CACxB,SAAU,QACV,MAAO,CACL,KAAM,CAAC,OAAQ,OAAQ,KAAK,EAC5B,QAAS,IACX,EACA,WAAY,QACZ,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAC,CAClB,EACA,KAAM,CACJ,KAAM,OACN,QAAS,QACX,EACA,WAAY,QACZ,iBAAkB,CAAC,SAAU,KAAK,EAClC,cAAe,CAAC,SAAU,KAAK,EAC/B,aAAc,SACd,aAAc,SACd,YAAa,SACb,cAAe,CACb,KAAM,QACN,QAAS,MACX,EACA,UAAW,SACX,cAAe,QAEf,SAAU,CAAC,SAAU,KAAK,CAC5B,EACaC,GAAgBC,GAAOF,EAAU,EAC9CG,GAAehc,GAAgB,CAC7B,KAAM,iBACN,MAAO6b,GACP,MAAM5b,EAAO,CASL,MAAAgc,EAAajW,GAAO2V,EAAqB,EACzC,CACJ,mBAAAzT,EACA,oBAAAsE,CAAA,EACEpE,GAAUnI,CAAK,EACbsI,EAAWN,GAAS,YAAa,cAAepI,GAAO6b,GAAgBO,EAAW,MAAO/T,CAAkB,EAC3GgU,EAActT,EAAS,IACpBuT,GAAelc,EAAM,QAAS6a,GAAgB,QAAS,UAAU,CAAC,CAC1E,EACQ,SAAAsB,EAAc3e,EAAOqW,EAAQ,CAC9B,KAAA,CACJ,cAAAuI,EACA,iBAAkBC,EAClB,SAAAC,CACE,EAAAtc,EACAoc,GAAezM,GAAKyM,EAAe5e,EAAOqW,CAAM,EAChDwI,GACG1M,GAAA0M,EAAgB7e,EAAOqW,CAAM,EAEhCyI,GAAU3M,GAAK2M,EAAU9e,EAAOqW,CAAM,CAC5C,CACA,SAAS0I,EAAalW,EAAQ,CAC5BmW,EAAOnW,EAAO,GAAG,CACnB,CACA,SAASoW,EAAoBze,EAAG,CAC1B,CAACuM,GAAUvM,EAAG,QAAQ,GAAK,CAACuM,GAAUvM,EAAG,OAAO,GAAK,CAACuM,GAAUvM,EAAG,QAAQ,GAC7EA,EAAE,eAAe,CAErB,CACA,SAASwe,EAAOhf,EAAO,CACf,KAAA,CACJ,MAAO,CACL,QAAAkf,CACF,CACE,EAAAT,EACJ,GAAIjc,EAAM,SACR,GAAI,MAAM,QAAQA,EAAM,KAAK,EAAG,CAC9B,MAAM2c,EAAW,CAAA,EACXC,EAAa,CAAA,EACnB,IAAIC,EAAiB,GACf7c,EAAA,MAAM,QAAa8c,GAAA,CACvB,GAAIA,IAAMtf,EAAO,CACEqf,EAAA,GACjB,MACF,CACM,MAAAxW,EAASqW,EAAQI,CAAC,EACpBzW,IACOsW,EAAA,KAAKtW,EAAO,GAAG,EACbuW,EAAA,KAAKvW,EAAO,OAAO,EAChC,CACD,EACGwW,IACFF,EAAS,KAAKnf,CAAK,EACnBof,EAAW,KAAKF,EAAQlf,CAAK,EAAE,OAAO,GAExC2e,EAAcQ,EAAUC,CAAU,CAAA,KAC7B,CACC,MAAAvW,EAASqW,EAAQlf,CAAK,EACxB6I,GACF8V,EAAc,CAAC3e,CAAK,EAAG,CAAC6I,EAAO,OAAO,CAAC,CAE3C,SAEIrG,EAAM,QAAUxC,GAASwC,EAAM,WACjCmc,EAAc,KAAM,IAAI,MACnB,CACC,MAAA9V,EAASqW,EAAQlf,CAAK,EACxB6I,GACY8V,EAAA3e,EAAO6I,EAAO,OAAO,EAE/B,KAAA,CACJ,gBAAiB0W,EACjB,aAAAC,CAAA,EACEhB,EAAW,MACXe,GAAoBpN,GAAAoN,EAAe,EAAK,EACxCC,GAAmBrN,GAAAqN,EAAc,EAAK,EAC1ChB,EAAW,QAAQ,EAAK,CAC1B,CAEGla,GAAS,IAAM,CAClBka,EAAW,aAAa,CAAA,CACzB,CACH,CACAzd,GAAMgK,GAAMvI,EAAO,SAAS,EAAG,IAAM,CAC9B8B,GAAS,IAAM,CAClBka,EAAW,aAAa,CAAA,CACzB,CAAA,CACF,EACK,MAAA9Q,EAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAM,CACJ,cAAAsU,CACF,CAAA,EACE3U,EAAS,MACN,MAAA,CACL,sBAAuB2U,CAAA,CACzB,CACD,EACKzQ,EAAmBD,EAAsBE,GAAc,SAAU,OAAWvB,EAAY8Q,EAAW,KAAK,EAAI,OAC3G,MAAA,CACL,YAAaA,EAAW,eACxB,gBAAiB/T,EACjB,SAAUgU,EACV,aAAAM,EACA,oBAAAE,EACA,QAASlQ,EAAsB,OAAYrB,EAC3C,WAAYsB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,QAAA,CAEnG,EACA,QAAS,CACH,IAAArC,EACH,OAAAA,EAAK,KAAK,YAAc,MAAQA,IAAO,QAAkBA,EAAG,KAAK,IAAI,EAC/DpI,EAAEgG,GAAqB,CAC5B,UAAW,KAAK,gBAChB,UAAW,GACX,UAAW,KAAK,UAChB,MAAO,CAAC,GAAG,KAAK,eAAe,kBAAmB,KAAK,UAAU,EACjE,MAAO,KAAK,QACZ,MAAO,KAAK,YAAY,MAAM,mBAC9B,eAAgB,KAAK,YAAY,cAAc,mBAC/C,SAAU,KAAK,SACf,SAAU,KAAK,SACf,KAAM,KAAK,KACX,MAAO,KAAK,MACZ,cAAe,KAAK,cACpB,WAAY,KAAK,WACjB,YAAa,KAAK,YAClB,SAAU,KAAK,aACf,aAAc,KAAK,aACnB,aAAc,KAAK,aACnB,YAAa,KAAK,oBAClB,cAAe,KAAK,aAAA,EACnB,CACD,OAAQ,IAAM,CACZ,IAAIoC,EAAIS,EACR,QAASA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,IAAM,EAChG,EACA,OAAQ,IAAM,CACZ,IAAIA,EAAIS,EACR,QAASA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,IAAM,EAChG,EACA,MAAO,IAAM,CACX,IAAIA,EAAIS,EACR,QAASA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,IAAM,EAC/F,CAAA,CACD,CACH,CACF,CAAC,EClMY+S,GAAiB,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,EAAElV,GAAS,KAAK,EAAGmV,GAAKC,GAAkB,CAAC,YAAa,OAAO,CAAC,CAAC,EAAG,CAC1J,UAAW,OAAO,OAAO,OAAO,OAAO,GAAIA,GAAiB,SAAS,EAAG,CACtE,QAAS,QACb,CAAG,EACD,QAAS,CACP,KAAM,OACN,QAAS,OACV,CACH,CAAC,EAAGxB,EAAU,EACdI,GAAejc,GAAgB,CAC7B,KAAM,YACN,MAAOmd,GACP,aAAc,GACd,YAAa,GACb,MAAMld,EAAO,CACX,KAAM,CACJ,mBAAAiI,CACN,EAAQE,GAAUnI,CAAK,EACbsI,EAAWN,GAAS,YAAa,aAAc,OAAWyT,GAAgBzb,EAAOiI,CAAkB,EACnGoV,EAAiB3f,EAAI,IAAI,EAC/B,SAAS4f,GAAe,CACtB,IAAInT,GACHA,EAAKkT,EAAe,SAAW,MAAQlT,IAAO,QAAkBA,EAAG,aAAY,CACjF,CACD,SAASoT,EAAQ/f,EAAO,CACtB,IAAI2M,GACHA,EAAKkT,EAAe,SAAW,MAAQlT,IAAO,QAAkBA,EAAG,QAAQ3M,CAAK,CAClF,CACD,OAAAwN,GAAQ0Q,GAAuB,CAC7B,MAAA1b,EACA,eAAgBsI,EAChB,aAAAgV,EACA,QAAAC,CACN,CAAK,EAKM,OAAO,OAAO,OAAO,OAAO,CAAA,EAJZ,CACrB,aAAAD,EACA,QAAAC,CACN,CACyD,EAAG,CACtD,eAAAF,EACA,YAAa/U,CACnB,CAAK,CACF,EACD,QAAS,CACP,KAAM,CACJ,YAAAsE,CACD,EAAG,KACEqN,EAAe,CACnB,MAAOrN,EAAY,MAAM,QACzB,eAAgBA,EAAY,cAAc,QAC1C,sBAAuB,CACrB,QAAS,GACV,EACD,IAAK,iBACL,mBAAoB,CAAC4Q,EAAW9f,EAAKkC,EAAO6d,EAAcC,IAAiB,CACzE,KAAM,CACJ,OAAAC,CACD,EAAG,KACJ,OAAO5b,EAAEga,GAAiB,OAAO,OAAO,CAAA,EAAI4B,EAAQ,CAClD,MAAO,CAACA,EAAO,MAAOH,CAAS,EAC/B,MAAO,CAACG,EAAO,MAAO,GAAG/d,CAAK,CAC/B,EAAEge,GAAK,KAAK,OAAQ/B,EAAa,EAAG,CACnC,IAAKpe,GAAgBC,CAAG,EACxB,aAAcE,GAAmB,CAAC6f,EAAcE,EAAO,YAAY,CAAC,EACpE,aAAc/f,GAAmB,CAAC8f,EAAcC,EAAO,YAAY,CAAC,CAC9E,CAAS,EAAG,CACF,OAAQ,IAAM,CACZ,IAAIxT,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CACxF,EACD,OAAQ,IAAM,CACZ,IAAIA,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CACxF,EACD,MAAO,IAAM,CACX,IAAIA,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CACvF,CACX,CAAS,CACF,CACP,EACI,OAAOpI,EAAEsY,GAAU,OAAO,OAAO,CAAA,EAAI8C,GAAK,KAAK,OAAQtB,EAAa,EAAG5B,EAAc,CACnF,8BAA+B,EACrC,CAAK,EAAG,CACF,QAAS,IAAM,CACb,IAAI9P,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,WAAa,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CACzF,CACP,CAAK,CACF,CACH,CAAC,EC9FM,SAAS9J,GAAK+C,EAAM,CACzB,KAAM,CACJ,WAAAoY,CACD,EAAGpY,EACJ,MAAO,CACL,cAAeoY,CACnB,CACA,CACA,MAAMqC,GAAcpZ,GAAY,CAC9B,KAAM,SACN,OAAQC,GACR,MAAO,CACL,kBAAmBgO,GACnB,mBAAoBlO,EACrB,EACH,KAAEnE,EACF,CAAC,ECjBDyd,GAAeje,GAAE,CAAC6H,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,EAAGA,EAAG,cAAe;AAAA;AAAA;AAAA,GAGnB,CAACI,GAAwB,CAC3B,mBAAoB,sEACtB,CAAC,CAAC,CAAC,CAAC,CAAC,ECDQiW,GAAc,OAAO,OAAO,OAAO,OAAO,GAAI/V,GAAS,KAAK,EAAG,CAC1E,GAAIgW,GAAc,OAClB,SAAU,CACR,KAAM,QACN,QAAS,MACX,EACA,UAAW,QACX,uBAAwB,CACtB,KAAM,QACN,QAAS,EACX,EACA,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAC,CAClB,EACA,aAAc,CACZ,KAAM,CAAC,OAAQ,OAAQ,KAAK,EAC5B,QAAS,IACX,EACA,SAAU,CACR,KAAM,QACN,QAAS,EACX,EACA,MAAO,CAAC,OAAQ,OAAQ,KAAK,EAC7B,YAAa,OACb,UAAW,OACX,SAAU,QACV,KAAM,OACN,WAAY,QACZ,SAAU,CACR,KAAM,QACN,QAAS,MACX,EACA,OAAQ,QACR,QAAS,QACT,OAAQ,SACR,UAAW,CACT,KAAM,OACN,QAAS,cACX,EACA,UAAW,CACT,KAAM,OACN,QAAS,SACX,EACA,IAAK,QACL,SAAU,SACV,eAAgB,CACd,KAAM,CAAC,SAAU,OAAO,EACxB,QAAS,MACX,EACA,KAAM,CACJ,KAAM,QACN,QAAS,MACX,EACA,UAAW,CACT,KAAM,QACN,QAAS,EACX,EACA,YAAa,CAAC,OAAQ,MAAM,EAC5B,wBAAyB,OACzB,oBAAqB,CACnB,KAAM,QACN,QAAS,EACX,EACA,cAAe,CACb,KAAM,QACN,QAAS,EACX,EACA,WAAY,CACV,KAAM,OACN,QAAS,OACX,EACA,WAAY,CACV,KAAM,OACN,QAAS,OACX,EACA,cAAe,CACb,KAAM,OACN,QAAS,UACX,EACA,YAAa,SACb,aAAc,SACd,UAAW,SACX,iBAAkB,CAAC,SAAU,KAAK,EAClC,WAAY,OACZ,UAAW,SACX,kBAAmB,CACjB,KAAM,QACN,QAAS,EACX,EACA,YAAa,QAEb,cAAe,CAAC,SAAU,KAAK,EAC/B,OAAQ,CAAC,SAAU,KAAK,EACxB,QAAS,CAAC,SAAU,KAAK,EACzB,QAAS,CAAC,SAAU,KAAK,EACzB,SAAU,CAAC,SAAU,KAAK,EAC1B,SAAU,CAAC,SAAU,KAAK,EAC1B,aAAc,CAAC,SAAU,KAAK,EAC9B,gBAAiB,CAAC,SAAU,KAAK,EACjC,iBAAkB,CAChB,KAAM,OACN,QAAS,MACX,EACA,yBAA0B,CACxB,KAAM,QACN,QAAS,EACX,EACA,OAAQ,OACR,cAAe,CACb,KAAM,QACN,QAAS,EACX,EAEA,SAAU,CAAC,SAAU,KAAK,EAC1B,MAAO,KACT,CAAC,EACDC,GAAele,GAAgB,CAC7B,KAAM,SACN,MAAOge,GACP,MAAM/d,EAAO,CAWL,KAAA,CACJ,mBAAAiI,EACA,kBAAAmH,EACA,aAAA8O,EACA,oBAAA3R,CAAA,EACEpE,GAAUnI,CAAK,EACbsI,EAAWN,GAAS,SAAU,UAAWpI,GAAOie,GAAa7d,EAAOiI,CAAkB,EACtFkW,EAAuBzgB,EAAIsC,EAAM,YAAY,EAC7Coe,EAAqB7V,GAAMvI,EAAO,OAAO,EACzCqe,EAAiBC,GAAeF,EAAoBD,CAAoB,EACxEI,EAAa7gB,EAAI,EAAK,EACtB8gB,EAAa9gB,EAAI,EAAE,EACnBue,EAActT,EAAS,IAAM,CAC3B,KAAA,CACJ,WAAAmS,EACA,cAAAC,CACE,EAAA/a,EACEvB,EAAUoc,GAAgBC,EAAYC,CAAa,EAClD,OAAAmB,GAAeuC,EAAmB,MAAOhgB,CAAO,CAAA,CACxD,EACKigB,EAAe/V,EAAS,IAAM0S,GAAgBsD,EAAgB,MAAO3e,EAAM,WAAYA,EAAM,aAAa,CAAC,EAC3G4e,EAAsBlhB,EAAI,EAAK,EAC/BmhB,EAAgBP,GAAe/V,GAAMvI,EAAO,MAAM,EAAG4e,CAAmB,EACxEE,EAAaphB,EAAI,IAAI,EACrBqhB,EAAcrhB,EAAI,IAAI,EACtBshB,EAAUthB,EAAI,IAAI,EAClB,CACJ,UAAAuhB,CAAA,EACEC,GAAU,QAAQ,EAChBC,EAA0BxW,EAAS,IAAM,CACzC,IAAAwB,EACI,OAAAA,EAAKnK,EAAM,eAAiB,MAAQmK,IAAO,OAASA,EAAK8U,EAAU,MAAM,WAAA,CAClF,EACKG,EAAuBC,GAAcrf,EAAO,CAAC,QAAS,SAAS,CAAC,EAChEsf,EAAa,CAAA,EACbC,EAAoB7hB,EAAI,CAAA,CAAE,EAC1B8hB,EAAyB9hB,EAAI,CAAA,CAAE,EAC/B+hB,EAAmB/hB,EAAQ,IAAA,GAAK,EAChCgiB,EAA2B/W,EAAS,IAAM,CACxC,KAAA,CACJ,eAAAgX,CACE,EAAA3f,EACJ,GAAI2f,IAAmB,OAAW,CAC1B,KAAA,CACJ,WAAAlG,EACA,WAAAqB,CACE,EAAA9a,EACJ,OAAiBxC,KAAA,CACf,CAACic,CAAU,EAAG,OAAOjc,EAAK,EAC1B,CAACsd,CAAU,EAAGtd,EAAA,EAElB,CACI,OAAAmiB,IAAmB,GAAc,GACrBniB,GACP,OAAO,OAAOmiB,EAAeniB,CAAK,EAAG,CAC1C,MAAAA,CAAA,CACD,CACH,CACD,EACKmhB,EAAkBhW,EAAS,IACxB6W,EAAuB,MAAM,OAAOD,EAAkB,KAAK,EAAE,OAAOH,EAAqB,KAAK,CACtG,EACKQ,EAAoBjX,EAAS,IAAM,CACjC,KAAA,CACJ,OAAAuS,CACE,EAAAlb,EACJ,GAAIkb,EAAe,OAAAA,EACb,KAAA,CACJ,WAAAzB,EACA,WAAAqB,CACE,EAAA9a,EACG,MAAA,CAAC4a,GAAS/G,KAAW,CACtB,GAAA,CAACA,GAAe,MAAA,GACd,MAAAgM,GAAQhM,GAAO4F,CAAU,EAC3B,GAAA,OAAOoG,IAAU,SACZ,OAAAlF,GAAeC,GAASiF,EAAK,EAEhC,MAAAriB,GAAQqW,GAAOiH,CAAU,EAC3B,OAAA,OAAOtd,IAAU,SACZmd,GAAeC,GAASpd,EAAK,EAElC,OAAOA,IAAU,SACZmd,GAAeC,GAAS,OAAOpd,EAAK,CAAC,EAEvC,EAAA,CACT,CACD,EACKihB,EAAqB9V,EAAS,IAAM,CACxC,GAAI3I,EAAM,OACR,OAAOof,EAAqB,MACvB,CACC,KAAA,CACJ,MAAOU,CACL,EAAAnB,EACE,CACJ,MAAO/D,CACL,EAAA4D,EACJ,MAAI,CAAC5D,EAAQ,QAAU,CAAC5a,EAAM,WACrB8f,EAEA9E,GAAc8E,EAAcF,EAAkB,MAAOhF,EAAS5a,EAAM,aAAa,CAE5F,CAAA,CACD,EACD,SAAS+f,EAAiBC,EAAQ,CAChC,MAAMC,EAASjgB,EAAM,OACf,CACJ,MAAOkgB,CACL,EAAAT,EACE,CACJ,MAAOnE,EACL,EAAAoD,EACE,CACJ,MAAOyB,EACL,EAAAT,EACEjhB,GAAU,CAAA,EAChB,OAAAuhB,EAAO,QAAiBxiB,IAAA,CAClB,GAAA8d,GAAU,IAAI9d,EAAK,EAErBiB,GAAQ,KAAK6c,GAAU,IAAI9d,EAAK,CAAC,UACxByiB,GAAUC,EAAc,IAAI1iB,EAAK,EAE1CiB,GAAQ,KAAKyhB,EAAc,IAAI1iB,EAAK,CAAC,UAC5B2iB,GAAuB,CAC1B,MAAAtM,GAASsM,GAAsB3iB,EAAK,EACtCqW,IACFpV,GAAQ,KAAKoV,EAAM,CAEvB,CAAA,CACD,EACMpV,EACT,CACM,MAAA2hB,EAAqBzX,EAAS,IAAM,CACxC,GAAI3I,EAAM,SAAU,CACZ,KAAA,CACJ,MAAOggB,CACL,EAAA3B,EACJ,OAAK,MAAM,QAAQ2B,CAAM,EAClBD,EAAiBC,CAAM,EADK,CAAA,CAErC,CACO,OAAA,IAAA,CACR,EACKK,EAAoB1X,EAAS,IAAM,CACjC,KAAA,CACJ,MAAO2X,CACL,EAAAjC,EACJ,MAAI,CAACre,EAAM,UAAY,CAAC,MAAM,QAAQsgB,CAAW,EAC3CA,IAAgB,KAAa,KAC1BP,EAAiB,CAACO,CAAW,CAAC,EAAE,CAAC,GAAK,KAExC,IAAA,CACR,EACKC,EAAWC,GAAYxgB,CAAK,EAC5B,CACJ,cAAAygB,EACA,kBAAAC,EACA,gBAAAC,EACE,EAAAJ,EACK,SAAApE,GAAc3e,EAAOqW,EAAQ,CAC9B,KAAA,CACJ,SAAAyI,EACA,iBAAkBD,GAClB,cAAAD,EACE,EAAApc,EACE,CACJ,mBAAA4gB,GACA,kBAAAC,EACE,EAAAN,EACAjE,GAAU3M,GAAK2M,EAAU9e,EAAOqW,CAAM,EACtCuI,IAAezM,GAAKyM,GAAe5e,EAAOqW,CAAM,EAChDwI,IACG1M,GAAA0M,GAAgB7e,EAAOqW,CAAM,EAEpCsK,EAAqB,MAAQ3gB,EACVojB,KACDC,IACpB,CACA,SAAStM,EAAOvW,EAAG,CACX,KAAA,CACJ,OAAAwW,CACE,EAAAxU,EACE,CACJ,iBAAA8gB,CACE,EAAAP,EACA/L,GAAa7E,GAAA6E,EAAQxW,CAAC,EACT8iB,GACnB,CACA,SAASnM,GAAU,CACX,KAAA,CACJ,QAAAC,CACE,EAAA5U,EACA4U,MAAcA,CAAO,CAC3B,CACA,SAASP,EAAQrW,EAAG,CACZ,KAAA,CACJ,QAAAsW,EACA,YAAAyM,CACE,EAAA/gB,EACE,CACJ,kBAAAghB,EACE,EAAAT,EACAjM,GAAc3E,GAAA2E,EAAStW,CAAC,EACVgjB,KACdD,GACOE,IAEb,CACA,SAASC,EAAS1jB,EAAO,CACjB,KAAA,CACJ,SAAA2jB,CACE,EAAAnhB,EACAmhB,GAAexR,GAAAwR,EAAU3jB,CAAK,CACpC,CACA,SAASwM,EAAShM,EAAG,CACb,KAAA,CACJ,SAAAiM,CACE,EAAAjK,EACAiK,GAAe0F,GAAA1F,EAAUjM,CAAC,CAChC,CAEA,SAASojB,IAAyB,CAC5B,IAAAjX,EACE,KAAA,CACJ,OAAA8V,EACA,SAAAvZ,CACE,EAAA1G,EACJ,GAAIigB,EAAQ,CACJ,KAAA,CACJ,MAAOC,EACL,EAAAT,EACJ,GAAI/Y,EAAU,CACN,KAAA,CACJ,WAAAoU,EACE,EAAA9a,GACHmK,EAAKiW,EAAmB,SAAW,MAAQjW,IAAO,QAAkBA,EAAG,QAAkB0J,IAAA,CACxFqM,GAAc,IAAIrM,GAAOiH,EAAU,EAAGjH,EAAM,CAAA,CAC7C,CAAA,KACI,CACL,MAAMA,GAASwM,EAAkB,MAC7BxM,IACFqM,GAAc,IAAIrM,GAAO7T,EAAM,UAAU,EAAG6T,EAAM,CAEtD,CACF,CACF,CAEA,SAASwN,GAAa7jB,EAAO,CACrB,KAAA,CACJ,aAAAwf,EACA,gBAAiBD,CACf,EAAA/c,EACAgd,GAAmBrN,GAAAqN,EAAcxf,CAAK,EACtCuf,GAAoBpN,GAAAoN,EAAevf,CAAK,EAC5CohB,EAAoB,MAAQphB,CAC9B,CACA,SAASyjB,IAAW,CACbP,EAAkB,QACrBW,GAAa,EAAI,EACjBzC,EAAoB,MAAQ,GACxB5e,EAAM,YACYshB,KAG1B,CACA,SAASC,GAAY,CACnBF,GAAa,EAAK,CACpB,CACA,SAASG,GAAuB,CAC9BhD,EAAW,MAAQ,GACnBgB,EAAuB,MAAQF,CACjC,CACM,MAAAmC,GAA2B/jB,EAAI,EAAK,EAC1C,SAASgkB,IAAsB,CACzB1hB,EAAM,aACRyhB,GAAyB,MAAQ,GAErC,CACA,SAASE,IAAqB,CACxB3hB,EAAM,aACRyhB,GAAyB,MAAQ,GAC5B5C,EAAc,OACI2C,IAG3B,CACA,SAASI,IAAqB,CACxBlB,EAAkB,QACjB7B,EAAc,MAGZ7e,EAAM,WAIWshB,KAFVC,IAJHN,KASb,CACA,SAASY,GAAkB7jB,EAAG,CAC5B,IAAImM,EAAIS,EACH,GAAAA,GAAMT,EAAK6U,EAAQ,SAAW,MAAQ7U,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQS,IAAO,SAAkBA,EAAG,SAAS5M,EAAE,aAAa,IAGhJugB,EAAW,MAAQ,GACnBhK,EAAOvW,CAAC,EAEEujB,IACZ,CACA,SAASO,GAAmB9jB,EAAG,CAC7BqW,EAAQrW,CAAC,EACTugB,EAAW,MAAQ,EACrB,CACA,SAASwD,GAAgB/jB,EAAG,CAC1BugB,EAAW,MAAQ,EACrB,CACA,SAASyD,GAAehkB,EAAG,CACrB,IAAAmM,EACC,GAAAA,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,SAAkBA,EAAG,IAAI,SAASnM,EAAE,aAAa,IAChGugB,EAAW,MAAQ,GACnBhK,EAAOvW,CAAC,EAEEujB,IACZ,CACA,SAASU,IAAmB,CACtB,IAAA9X,GACHA,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,QAAkBA,EAAG,MAAM,EAC5DoX,GACZ,CACA,SAASW,GAAuBlkB,EAAG,CAC7B,IAAAmM,EACA0U,EAAc,QACT,GAAA1U,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,SAAkBA,EAAG,IAAI,SAASgY,GAAsBnkB,CAAC,CAAC,GAE/FujB,IAGhB,CACA,SAASa,GAAiC5kB,EAAO,CAC/C,GAAI,CAAC,MAAM,QAAQA,CAAK,QAAU,CAAA,EAClC,GAAIkiB,EAAyB,MAEpB,OAAA,MAAM,KAAKliB,CAAK,EAClB,CAEC,KAAA,CACJ,OAAAyiB,CACE,EAAAjgB,EACE,CACJ,MAAOsb,CACL,EAAAoD,EACJ,GAAIuB,EAAQ,CACJ,KAAA,CACJ,MAAOC,EACL,EAAAT,EACG,OAAAjiB,EAAM,OAAOsf,IAAKxB,EAAU,IAAIwB,EAAC,GAAKoD,GAAc,IAAIpD,EAAC,CAAC,CAAA,KAEjE,QAAOtf,EAAM,OAAOsf,IAAKxB,EAAU,IAAIwB,EAAC,CAAC,CAE7C,CACF,CACA,SAASuF,GAAqBhc,EAAQ,CACpCic,GAAqBjc,EAAO,OAAO,CACrC,CACA,SAASic,GAAqBzO,EAAQ,CACpC,GAAI6M,EAAkB,MAAO,OACvB,KAAA,CACJ,IAAA6B,EACA,OAAAtC,EACA,uBAAAuC,GACA,WAAA1H,EACE,EAAA9a,EACA,GAAAuiB,GAAO,CAACtC,EAAQ,CACZ,KAAA,CACJ,MAAOwC,EACL,EAAAjD,EACEkD,GAAqBD,GAAoB,CAAC,GAAK,KACrD,GAAIC,GAAoB,CACtB,MAAMC,GAAiBpD,EAAkB,MACpCoD,GAAe,OAGlBA,GAAe,KAAKD,EAAkB,EAFpBnD,EAAA,MAAQ,CAACmD,EAAkB,EAI/ClD,EAAuB,MAAQF,CACjC,CACF,CAIA,GAHIW,GACFR,EAAiB,MAAM,IAAI5L,EAAOiH,EAAU,EAAGjH,CAAM,EAEnD7T,EAAM,SAAU,CACZ,MAAA4iB,GAAeR,GAAiC/D,EAAe,KAAK,EACpEwE,GAAQD,GAAa,cAAmBplB,KAAUqW,EAAOiH,EAAU,CAAC,EAC1E,GAAI,CAAC+H,IAEC,GADSD,GAAA,OAAOC,GAAO,CAAC,EACxBN,GAAO,CAACtC,EAAQ,CAClB,MAAM6C,GAAqBC,EAAsBlP,EAAOiH,EAAU,CAAC,EAC/D,CAACgI,KACevD,EAAA,MAAM,OAAOuD,GAAoB,CAAC,EAChDN,OAAmC,MAAQ,IAEnD,OAEaI,GAAA,KAAK/O,EAAOiH,EAAU,CAAC,EAChC0H,OAAmC,MAAQ,IAEnCrG,GAAAyG,GAAc7C,EAAiB6C,EAAY,CAAC,CAAA,KACrD,CACD,GAAAL,GAAO,CAACtC,EAAQ,CAClB,MAAM6C,GAAqBC,EAAsBlP,EAAOiH,EAAU,CAAC,EAC/D,CAACgI,GACHvD,EAAkB,MAAQ,CAACA,EAAkB,MAAMuD,EAAkB,CAAC,EAEtEvD,EAAkB,MAAQD,CAE9B,CACe0D,IACLzB,IACIpF,GAAAtI,EAAOiH,EAAU,EAAGjH,CAAM,CAC1C,CACF,CACA,SAASkP,EAAsBpc,EAAa,CAE1C,OADuB4Y,EAAkB,MACnB,UAAU0D,GAAiBA,EAAcjjB,EAAM,UAAU,IAAM2G,CAAW,CAClG,CACA,SAASuc,EAAmBllB,EAAG,CACxB6gB,EAAc,OACRoC,KAEL,KAAA,CACJ,MAAAzjB,CAAA,EACEQ,EAAE,OACNwgB,EAAW,MAAQhhB,EACb,KAAA,CACJ,IAAA+kB,EACA,OAAAtC,EACE,EAAAjgB,EAEA,GADJkhB,EAAS1jB,CAAK,EACV+kB,GAAO,CAACtC,GAAQ,CAClB,GAAI,CAACziB,EAAO,CACVgiB,EAAuB,MAAQF,EAC/B,MACF,CACM,KAAA,CACJ,SAAA6D,EACE,EAAAnjB,EACEojB,GAAqBD,GAAWA,GAAS3lB,CAAK,EAAI,CACtD,CAACwC,EAAM,UAAU,EAAGxC,EACpB,CAACwC,EAAM,UAAU,EAAGxC,CAAA,EAEhB,CACJ,WAAAsd,GACA,WAAArB,EACE,EAAAzZ,EACAof,EAAqB,MAAM,KAAevL,IACrCA,GAAOiH,EAAU,IAAMsI,GAAmBtI,EAAU,GAAKjH,GAAO4F,EAAU,IAAM2J,GAAmB3J,EAAU,CACrH,GAAK8F,EAAkB,MAAM,KAAe1L,IACpCA,GAAOiH,EAAU,IAAMsI,GAAmBtI,EAAU,GAAKjH,GAAO4F,EAAU,IAAM2J,GAAmB3J,EAAU,CACrH,EACC+F,EAAuB,MAAQF,EAERE,EAAA,MAAQ,CAAC4D,EAAkB,CAEtD,CACF,CACA,SAASrO,GAAY/W,EAAG,CACtBA,EAAE,gBAAgB,EACZ,KAAA,CACJ,SAAA0I,CACE,EAAA1G,EACA,CAAC0G,GAAY1G,EAAM,YACXuhB,IAEJ5M,IACJjO,EACYyV,GAAA,CAAA,EAAI,CAAA,CAAE,EAEpBA,GAAc,KAAM,IAAI,CAE5B,CACA,SAASM,GAAoBze,EAAG,CAC1B,CAACuM,GAAUvM,EAAG,QAAQ,GAAK,CAACuM,GAAUvM,EAAG,OAAO,GAAGA,EAAE,eAAe,CAC1E,CAEA,SAASqlB,GAAiBrlB,EAAG,CAC3BgM,EAAShM,CAAC,CACZ,CAGA,SAASslB,GAActlB,EAAG,CACpB,IAAAmM,EAAIS,EAAIoL,GAAIuN,GAAIC,GAChB,GAAA,CAACxjB,EAAM,SAAU,CACnBhC,EAAE,eAAe,EACjB,MACF,CACA,OAAQA,EAAE,IAAK,CACb,IAAK,IACH,GAAIgC,EAAM,WAAY,MACpBhC,EAAE,eAAe,EAGrB,IAAK,QACC,GAAA,EAAG,GAAAmM,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,SAAkBA,EAAG,cACpE,GAAI0U,EAAc,MAAO,CACjB,MAAA1Y,IAAiByE,EAAKoU,EAAQ,SAAW,MAAQpU,IAAO,OAAS,OAASA,EAAG,iBAAiB,EAChGzE,GACFkc,GAAqBlc,EAAa,EACxBnG,EAAM,aACNuhB,IACKyB,IACjB,SAES/B,KACLjhB,EAAM,KAAOyhB,GAAyB,MAAO,CACzC,MAAAiB,GAAqBlD,EAAuB,MAAM,CAAC,EACzD,GAAIkD,GAAoB,CAChB,MAAA/b,GAAc+b,GAAmB1iB,EAAM,UAAU,EACjD,CACJ,MAAOsgB,EACL,EAAAjC,EACAre,EAAM,UACJ,MAAM,QAAQsgB,EAAW,GAAKA,GAAY,KAAK9iB,IAASA,KAAUmJ,EAAW,GAG/E2b,GAAqBI,EAAkB,CAK7C,CACF,EAGJ1kB,EAAE,eAAe,EACjB,MACF,IAAK,UAEH,GADAA,EAAE,eAAe,EACbgC,EAAM,QAAS,OACf6e,EAAc,SACf7I,GAAKgJ,EAAQ,SAAW,MAAQhJ,KAAO,QAAkBA,GAAG,KAAK,GAEpE,MACF,IAAK,YAEH,GADAhY,EAAE,eAAe,EACbgC,EAAM,QAAS,OACf6e,EAAc,OACf0E,GAAKvE,EAAQ,SAAW,MAAQuE,KAAO,QAAkBA,GAAG,KAAK,EAEzDtC,KAEX,MACF,IAAK,SACCpC,EAAc,QAChB4E,GAAyBzlB,CAAC,EAChBujB,MAEXiC,GAAK1E,EAAW,SAAW,MAAQ0E,KAAO,QAAkBA,GAAG,MAAM,EACtE,KACJ,CACF,CACA,SAASR,GAAiB,CACpB,IAAA7Y,GACHA,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,QAAkBA,EAAG,MAAM,CACxE,CACA,SAASmX,IAAsB,CACzB,IAAAnX,GACHA,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,QAAkBA,EAAG,WAAW,CAC7E,CACA,SAASuZ,IAA4B,CAC/B,IAAAvZ,EACC0U,EAAc,SAClB1U,EAAK4U,EAAY,SAAW,MAAQ5U,IAAO,QAAkBA,EAAG,aAAa,EAChF,CACuBiX,KACvB7iB,GAAMgK,GAAMvI,EAAO,SAAS,EAAGohB,EAAsB,EACrD,MAAMuC,EAAiB,CACrB,MAAO,IAAM,CACP,IAAAxZ,GACHA,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,QAAkBA,EAAG,MAAM,CACxE,EACA,WAAY,IAAM,CACZ,IAAAA,GACHA,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,QAAkBA,EAAG,WAAW,CAC7E,EACA,KAAM,IAAM,CACN,IAAAA,GACHA,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,QAAkBA,EAAG,KAAK,CACvE,EACA,UAAW,IAAM,CACX,IAAAA,GACHA,EAAK2U,EAAW,SAAW,MAAQ3U,IAAO,QAAkBA,EAAG,UAAU,CAC5E,CAAA,EAEIe,GAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAM,CACJ,cAAAsU,CACF,CAAA,EACE3U,EAAS,MACN,MAAA,CACL,sBAAuB2U,CAAA,CACzB,CACD,EACKzQ,GAAmBD,EAAsBE,GAAc,SAAU,OAAWvB,GAAYlL,CAAK,EAAI,OACvG,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAI2jB,CAAc,EAAG,CACtD,aAAchD,GACd,gBAAiB1Y,EACjB,eAAgBmH,EAChB,UAAW8O,EACX,SAAUjC,EACV,UAAW2H,GAAa,EACxB,WAAA9E,EACA,QAAAE,EACA,QAASR,EACT,iBAAkBI,EAClB,WAAYC,EACZ,WAAYb,GAAche,CAAK,EAC/B,kBAAmBme,EACnB,YAAaE,EACb,YAAAU,EACA,qBAAsBI,EACtB,eAAgBkB,EAChB,gBAAiBD,EACjB,WAAYK,EACZ,eAAgBC,EAChB,QAASnC,EACT,sBAAuBkD,GACvB,oBAAAlV,EACA,oBAAAmV,GACA,mBAAAC,GACA,0BAAA+B,GACA,gBAAA3B,GACA,eAAAC,GACA,iBAAAC,GACA,mBAAAL,GACA,aAAcS,GACd,mBAAoBC,GACpB,mBAAAY,EACA,YAAAnO,GACA,kBAAA8M,GACA,mBAAAC,GACA,cAAAwB,GACA,qBAAA9B,EACA,uBAAAU,GACA,iBAAAmB,GACA,kBAAmBC,GACnB,oBAAA7G,GACA,YAAanU,EACb,QAASiE,EAAsB,OAAYrB,GAC3C,WAAYsB,IAAqB,KAAsC,OAASA,GAAiB,WACjG,SAAUA,IAAqB,KAAsC,OAASA,GAAiB,QAAA,CAChG,CACH,EACA,QAAS,CACP,OAAOzK,EAAE,MAAO,CACd,MAAO,GAAG,KAAK,eAAe,SAAA,EAC7BA,EAAE8hB,GAAS,KAAM,CAClB,QAAS,IAAM,CAAC9hB,EAAE+hB,GAAS,KAAM,CAC/B,QAAS,IAAM/hB,EAAE+Q,GAAoB,CACnC,IAAK,aACL,oBAAqB,KAAK,oBAC1B,OAAQ,KAAK,aACb,WAAY,KAAK,WACjB,UAAW,KAAK,gBAChB,UAAW,KAAK,UAChB,YAAa,KAAK,YAClB,wBAAyB,KAAK,wBAC9B,SAAU,KAAK,eACf,OAAQ,KAAK,uBAAyB,KAAK,WAC3C,QAAS,KAAK,QACd,YAAa,KAAK,qBAClB,eAAgB,KAAK,eACrB,gBAAiB,KAAK,gBACtB,SAAU,KAAK,SACf,UAAW,KAAK,UAChB,YAAa,KAAK,YAClB,WAAY,KAAK,WACjB,UAAW,KAAK,UAChB,SAAU,KAAK,eACf,KAAM,KAAK,WACX,MAAO,KAAK,YAAY,MAAM,kBAC9B,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,eAAgB,KAAK,YAAY,cAAc,kBAC/C,QAAS,KAAK,QACd,QAAS,KAAK,QACd,QAAS,KAAK,mBACd,eAAgB,KAAK,mBACrB,eAAgB,KAAK,mBACrB,QAAS,KAAK,YACd,OAAQ,KAAK,kBACb,QAAS,KAAK,mBACd,UAAW,KAAK,cAChB,cAAe,KAAK,mBACpB,eAAgB,KAAK,oBACrB,SAAU,KAAK,0BACf,kBAAmB,KAAK,iBAAA,EACvB,CACD,MAAO,IAAM,CACX,IAAI3I,EAAIS,EACR,MAAO,EAAEA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,CAC1F,CAAA,CACD,CAAA,CACF,EAAGpI,EAAEgiB,GAAW,CACf,IAAK,cACL,KAAM,KAAK,WACX,GAAI,KAAK,WACT,iBAAkB,KAAK,aAAe/F,GAAc,MACpD,eAAgB,KAAK,UACrB,MAAO,KAAK,oBAAsB,SAAW,OAC7C,SAAU,SACV,UAAW,KAAK,SAAA,EACf,CACD,QAAS,IAAMjc,EAAEiD,GAAY,CAC3B,KAAM,8BACN,OAAQ,KAAK,UACb,aAAc,KAAK,oBAAA,EAClB,CACD,QAAS,IAAM,CACb,IAAImF,EAAIS,EAAIoL,EACZ,OAAM,KAAK,YAAc,KAAK,mBAAqB,SAGlD7L,EAAK,KAAK,YAAc,MAAQA,IAAO,QAAkBA,EAAG,KAAK,IAAI,EAC/D6Z,GAAejiB,EAAEgG,GAAqB,OAAO,OAAO,CAAC,EAAG,KAAK,UAAW,CAC7E,IAAK,UACL,SAAU,KAAK,0BACf,oBAAqB,KAAK,oBAC1B,cAAe,KAAK,qBAAuB,KAAK,cAChD,MAAO,CAAC,GAAG,KAAK,eAAe,eAAgB,KAAK,YAAa6C,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,KAAK,EACnI,UAAW,KAAK,gBAChB,UAAW,GACX,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,YAAa,GACb,UAAW,KAAK,UAChB,MAAO,KAAK,YAAY,MAAM,mBAC9B,eAAgB,KAAK,YAAY,cAAc,mBAC/C,SAAU,KAAK,SACf,SAAU,KAAK,SACf,KAAM,SACN,aAAc,KAAK,aACnB,YAAa,KAAK,YAClB,MAAO,KAAK,YACZ,MAAO,EAAEoL,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,MAAO,KAAK,OAAO,EACzF,SAAU,KAAK,aACf,SAAU,KAAK,iBACf,QAAS,KAAK,gBACd,OAAQ,KAAK,eACb,UAAW,KAAK,kBAChB,SAAU,KAAK,iBACf,YAAa,KAAK,oBAClB,KAAM,KAAK,WACX,cAAe,KAAK,cACpB,yBAA0B,KAAK,wBAAA,CAChC,EAAG,CACF,MAAO,IAAM,CACX,IAAI7L,EAAIS,EACR,MAAO,EAAEA,GAAMT,EAAK,KAAK,QAAQ,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,CAC1F,EACA,OAAQ,IAAM,CACZ,IAAIA,EAAIS,EACR,MAAO,EAAEA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,CAC3F,EACA,OAAQ,IAAM,CACZ,IAAIA,EAAIS,EACR,MAAO,EAAEA,GAAMT,EAAK,KAAK,QAAQ,UAAY,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CAAC,CAC3F,CACD,CAAA,EAAG,KAAK,mBAAqB,OAAS,CAAC,CAAC8Z,GAAO,KAAK,UAAU,EAAG,CAACC,GAAc,KAAK,uBAAwB,OAAW,CACvH,QAAS,EAAA,CACV,CAAC,EAAI,CAAC,CAACA,GAAc,KAAK,uBAAwB,OAAW,CAC5D,QAAS,EACV,CAAA,CAAC,CAAC,GAnDM,IAoDX,CAAA,CACD,CAAA,CACF,CAAC,CACH,CAAA,CAAC,CACJ,CACF,CAAC,ECx5BcC,GAAA,CACb,iBAAkB,QAClB,gBAAiB,YACjB,mBAAoB,YACpB,kBAAmB,QACnB,iBAAkB,YAClB,oBAAqB,YACrB,iBAAkB,QAClB,gBAAiB,YACjB,mBAAoB,YACpB,oBAAqB,OACrB,qBAAsB,OACtB,oBAAqB,OACrB,gBAAiB,OACjB,iBAAkB,QAClB,iBAAkB,YAClB,oBAAqB,YACrB,kBAAmB,YACnB,kBAAmB,YACnB,kBAAmB,YACnB,iBAAkB,OAClB,kBAAmB,QACnB,kBAAmB,YACnB,qBAAsB,YACtB,mBAAoB,YACpB,mBAAoB,YACpB,mBAAoB,YACpB,gBAAiB,OACjB,iBAAkB,QAClB,iBAAkB,YAClB,oBAAqB,YACrB,kBAAmB,YACnB,kBAAmB,YACnB,kBAAmB,WACrB,EC5Ba9jB,GAAO+C,GAAQ,CAC1B,KAAM,CACJ,WAAAK,EACA,aAAAG,EACA,kBAAA2J,EACA,oBAAA7J,EACA,mBAAAsO,EACA,kBAAArO,EACA,YAAAkK,EACA,aAAAxK,EAEA,aAAA8K,EACA,cAAApK,EACA,eAAAC,EAEA,WAAAqK,EACA,YAAAlK,EACA,aAAAC,CACD,EAAGhB,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAImB,EAAe,EAAG,CACvD,YAAa,QACb,iBAAkB,QAClB,mBAAoB,QACpB,aAAc,aAAasJ,CAAW,GACtC,kBAAmB,aAAaA,CAAW,GAC3C,oBAAqB,aAAaA,CAAW,GAC7C,gBAAiBpK,EACjB,qBAAsBA,EACtB,uBAAwBA,EACxB,cAAeA,EACf,mBAAoB8J,EACpB,qBAAsB7J,EACtB,oBAAqBE,EACrB,sBAAuBD,EACvB,UAAW,QACX,eAAgB,QAChB,iBAAkB,QAClB,gBAAiB,QACjB,qBAAsB,QACtB,kBAAmBqO,EACnB,WAAY,kBACZ,gBAAiB,kBACjB,kBAAmB,kBACnB,iBAAkB,aAAapO,CAAY,GAC3C,mBAAoB,aAAaiK,CAAW,GAC5C,iBAAkBxK,EAClB,cAAegL,EACf,eAAgBlK,EAChB,cAAeC,EACf,kBAAmB+J,EACnB,mBAAoBpK,EACpB,kBAAmBC,EACnB,oBAAqBmK,EACrB,qBAAsBpK,EACtB,oBAAqBC,EACrB,gBAAiBP,EACjB,wBAAyBE,CAC7B,CAAG,CACH,EACMygB,GAAkB3f,GAAY,CAClC,KAAM,aACN,OAAQC,GACR,MAAO,CACL,OAAQmZ,GACR,MAAOwG,GACP,UAAW5I,EACZ,EACH,KAAEpb,EACF,CAAC,EC1EYikB,GAAqBC,GAAmB,CACnD,IAAIpa,EACJ,GAAI,CAACoa,EAAiB,MAAO,IAC7B,KAAM,CACJ,gBAAAC,CACD,EAAGD,EACJ,GAAIC,IAAoB,OAAW,OAAOA,EAC1C,MAAMC,GAAkBta,EAAKoa,EAAgB,aAAe,MAAQpa,IAAO,OAAS,OAASA,EAAG,CAAC,EACjG,OAAI,OAAOsa,GAAmB,SAAiBA,GACvCA,GAAmB,KAAoC,OAASA,EAAe,QAAU,EACnG,EACA,SAASC,GAAoBC,EAAaC,EAAWC,EAAUC,EAAuB,CACpF,IAAIC,EAAkB,GAClBC,EAAiB,GACjBC,EAAiB,EACjBC,EAAgBN,EACpB,GAAIA,IAAc,EAChB,MAAO,CACL,gBAAiB,GACjB,eAAgB,GAChB,cAAAM,EACA,eAAAD,EACA,MAAO,CAAC,CACN,KAAM,OACN,MAAO,EACP,OAAQN,IAAgB,EACxB,kBAAmB,GACnB,iBAAkB,EAC1B,CAAO,CACP,EAEE,GAAIC,IAAc,EAChB,MAAO,CACL,gBAAiB,GACjB,eAAgB,GAChB,cAAAM,EACA,eAAAD,EACA,MAAO,CAAC,CACN,KAAM,OACN,MAAO,EACP,OAAQN,IAAgB,EACxB,kBAAmB,GACnB,iBAAkB,EAC1B,EAAS,CACD,KAAM,OACN,MAAO,EACP,OAAQA,IAAgB,EACxB,kBAAmB,GACnB,iBAAkB,EAC1B,CAAO,CACP,EAEE,MAAMQ,EAAY,EACZC,EAAWR,EACjB,IAAIS,EAAcV,EACdW,EAAYX,EAChB,MAAMY,GAAeV,EAAW,GAAK,EACrCS,GAAa,KAAK,KAAKC,CAAW,EAClCD,EAAY,KAAK,IAAI,KAAK,IAAIA,EAAWH,EAAYN,EAAW,CAAC,EAAGO,EAAW,CAAC,EAChFC,GAAe,KAAK,MAAME,CAAW,EACrCF,EAAc,KAAK,IAAI,KAAK,IAAIA,EAAaD,EAAWP,EAAW,CAAC,EAAGM,EAAY,CAAC,EACpF,IAAIK,EAAY,GACZC,EAAa,GACbJ,EAAcF,EAAY,IAAGK,EAAY,IACzCF,EAAYF,EAAW,IAAGK,EAAa,IAC3C,MAAMC,EAAQ,CAAA,EACdA,EAAM,KAAK,CACT,KAAM,OACN,MAAO,EACP,OAAQf,IAAgB,EACxB,kBAAmB,GACnB,iBAAkB,EACtB,CAAG,EACGa,GACFT,EAAkB,GAClBE,EAAiBI,EAAc,EAC/BK,EAAM,KAAK,CACT,KAAM,gBACN,OAAQ,GACR,MAAO,OACP,QAASZ,EAAwBa,GAAYR,EAAY,EAAGE,EAAc,CAAC,EAAI,IACrF,CAAK,GACQD,GAAYD,EAAY,GACjCO,EAAM,KAAK,CACT,KAAM,OACN,MAAOP,EAAY,EACnB,kBAAmB,GACnB,iBAAkB,GAClB,OAAQR,IAAgBQ,EAAY,CAC1C,CAAK,EAEH,QAASlkB,EAAIokB,EAAapkB,GAAKqkB,EAAW,EAAErkB,EAC1CykB,EAAM,KAAK,CACT,KAAM,OACN,MAAOzkB,EACP,kBAAmB,GACnB,iBAAkB,GAClB,OAAQ0jB,IAAgB1jB,CAC9B,CAAK,EAEH,OAAIwkB,GACFT,EAAiB,GACjBE,EAAgBI,EAAY,EAC5BI,EAAM,KAAK,CACT,KAAM,eACN,OAAQ,GACR,MAAO,OACP,QAASZ,EAAwBa,GAAYL,EAAY,EAAGF,EAAW,CAAC,EAAI,IAClF,CAAK,GACQE,IAAcF,EAAW,GAAKM,EAAMA,EAAM,OAAS,CAAC,EAAE,QAAUN,EAAW,GACpFM,EAAM,KAAK,CACT,KAAM,OACN,iBAAkB,GAClB,kBAAmB,GACnB,MAAON,EAAW,EAClB,OAAQT,IAAgBS,EAAW,CACzC,CAAK,EAECM,EAAMA,EAAM,OAAS,CAAC,EAAE,QAAUN,GACpCM,EAAM,KAAK,CACT,KAAM,OACN,iBAAkB,GAClB,kBAAmB,GACnB,MAAON,EACP,OAAQT,IAAgBS,CAC9B,CAAK,EAEI,CACL,gBAAAL,EACA,eAAAC,EACA,eAAAC,EACA,cAAAC,EACA,MAAAQ,CACJ,CACA,CACA,SAASC,GAAYC,EAAMC,EAAI,CAC7B,MAAMC,EAAQ,CAAA,EACd,QAAS7kB,EAAI2kB,EAAM3kB,GAAK4kB,EAAI,EAAE5kB,EAC5B6kB,EAAM,KAAK,CACT,MAAO,GAAG7kB,CAAC,GACX,MAAOA,CACb,CAAK,EAEH,OAAO6kB,CACT,CC/IA,MAAMC,GAAkB;AAAA;AAAA;AAAA;AAAA,EAKlBC,GAAqB,CAACpe,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA,EAIvC,CAAC,EAqCHqe,GAAeve,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,CAACA,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA,EAI1B,EAAGA,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA,EAI3B,EAAG7H,GAAE,wBAAyB;AAAA;AAAA,EAE9B,EAAG6H,EAAG,SAAU;AAAA;AAAA,EAEhB,EAAG7H,GAAE,wBAAyB,CAAC6H,EAAG,kBAAmB,6BAA6B,CAAC,CAAC,EAAGA,EAAG,0BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAOnH,CAACA,EAAG,QAAS;AAAA;AAAA;AAAA,EAGf,CAAC,CAAC,EAAGA,EAAG,kBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAsBzB,CAACE,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA,GAKd,CAACF,EAAG,YAAa;AAAA;AAAA,EAEnB,CAAC,CAAC,EAAGG,GAAM,WAAY,CAACD,EAAG,QAASme,GAAiBC,EAAkB,EAAGnmB,GAAE,UAAWkmB,GAAiBC,EAAkB,EAAGnmB,GAAE,WAAY;AAAA;AAAA;AAAA;AAAA,GAIzI,CAAC+H,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA,EAIhB,CAAC,CAAC,EAAGA,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA,GAIhB,CAAC/H,GAAE,UAAW;AAAA;AAAA,EAEhB,CAAC,CAAC,CAAC,CAAC,EAAG+H,EAAG,WAAY;AAAA;AAAA;AAAA,GAGpB,CAACA,EAAG,iBAAkB;AAAA;AAAA;AAAA,EAGxB,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,WAAY;AAAA;AAAA,GAEpB,CAACF,EAAG,0BAA2B;AAAA;AAAA,EAEjC,CAAC,CAAC,EAAGE,EAAG,SAAU;AAAA;AAAA;AAAA;AAAA,GAIhB,CAACF,EAAG,0BAA2B,CAACA,EAAG,QAAS;AAAA;AAAA,EAE9C,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,ECvHK6c,GAAkB,OAAO,OAAO,OAAO,OAAO,GAAIvc,GAAS,KAAK,EAAG,CAC9E,OAAQ,QACR,KAAM,OACN,YAAa,CACX,KAAM,OACN,QAAS,CACX,EACA,UAAW,OACX,UAAW,OACX,iBAAkB,CAChB,KAAM,OACN,QAAS,CACX,EACA,eAAgB,QAChB,SAAU,OACV,gBAAiB,OACjB,UAAW,CACT,KAAM,MACN,SAAU,CACR,MAAO,CAAC,EAAE,CACZ,CACF,EACA,gBAAiB,QACjB,KAAM,CACJ,KAAM,OACN,QAAS,QACX,EACA,SAAU,QACV,SAAU,CACR,KAAM,OACN,QAAS,CACX,EACA,YAAa,OACb,KAAM,SACN,KAAM,SACN,KAAM,SACN,OAAQ,SACR,OAAQ,SACR,MAAO,SACP,aAAc,CACZ,KAAM,MACN,QAAS,CAAC,QAAS,cAAe,cAAc,CAClD,EACA,GAAIgW,GAAc,OAClB,sBAAuB,CACrB,KAAM,QACN,QAAS,EACX,EACA,gBAAiB,CAAC,SAAU,KAAK,EACjC,aAAc,CAAC,SAAU,KAAK,EAC9B,oBAAqB,CAAC,SAAU,KAAK,EACrC,iBAAkB,CAAC,SAAU,KAAK,EAElC,iBAAkB,CAAC,SAAU,KAAK,EAElC,SAAU,CAAC,SAAU,KAAK,CAC5B,CAAC,EACDkI,GAAenmB,GAAgB,CAC7B,KAAM,aACN,MAAOwkB,GACP,MAAMvkB,EAAO,CAcL,KAAA,CACJ,wBAAAmmB,EACA,mBAAAle,EACA,oBAAAsE,EACA,aAAArE,CAAA,EACEC,GAAUnI,CAAK,EACbsI,EAAWN,GAAS,aAAc,cAAepI,GAAOwkB,GAAiBpkB,EAAOiI,CAAkB,EAClG,CACJ,UAAAgX,CAAA,EACEC,GAAU,YAAY,EACpBhf,EAAUxC,EAAI,IAAI,EAClB0oB,EAAsB1oB,EAAIsC,EAAM,WAAW,EAC3CqmB,EAA0B3oB,EAAI4mB,GAAmBtkB,CAAK,CAAC,EACvDsmB,EAAgBhI,GAAe/V,GAAMvI,EAAO,MAAM,EAAGomB,CAAmB,EACxEG,EAAoBjI,GAAe/V,GAAMvI,EAAO,UAAU,EAAGqmB,CAAuB,EACpFG,EAAqB7d,EAAS,IAAM,CAElC,KAAA,CACJ,UAAA8d,CACE,EAAAzmB,EACJ,GAAIymB,IAAc,OACT,OAAA,KAAK,IAAI,EAAG,KAAK,KAAKA,EAAYF,EAAkB,KAAK,CAAC,EAE7D,KAAA,CACJ,UAAA3B,CACE,EAAA5kB,EACJ,OAAI4kB,IAAc,OAAkB,KAAK,IAAIA,EAAW,CAAC,EAClD,CAAA,CACR,EACK8B,EAAiBhpB,EAAI,EAAE,EAC7B+Y,GAAY,IAAM,CACXzW,EAAM,OACI0mB,EAAA,MAAQ,OAAOJ,EAAc,KAAK,CAAA,CAClD,EACK,MAAAK,EAAuBjpB,EAAI,EAAK,EAChCkpB,EAAwBlpB,EAAI,EAAK,EACjCmpB,EAAyBnpB,EAAI,EAAK,EAClCopB,EAA0BppB,EAAI,EAAK,EACnCqpB,EAA8B,IAAM,CACpC/mB,EAAM,WACV2mB,EAAqB,MAAQ,GACJK,IAAA,EAErBC,EAA8B,IAAM,CACpCjnB,EAAM,WACV2mB,EAAqB,MAAQ,GACJK,IAAA,EAErBE,EAA+B,IAAM,CACzCN,EAAsB,MAAQ,GACLI,GAAA,EAErBG,EAA+B,IAAM,CACzCP,EAAsB,MAAQ,GACLI,GAAA,EAErBI,EAA4B5pB,GAAA,CAChC6pB,EAAa7pB,CAAK,CAAA,EAEd8pB,EAAgB3e,EAAS,IAAM+b,GAAoB4B,EAAc,MAAOE,EAAmB,MAAOxmB,EAAM,SAAUA,EAAM,qBAAqB,CAAC,EACpJyW,GAAY,IAAM,CACX6Q,EAAc,MAAM,gBAGbA,EAAc,MAAM,iBAC9BX,EAAqB,MAAQ,GAC7BE,EAAuB,MAAQ,KAJ/BD,EAAsB,MAAQ,GAC9BE,EAAwB,MAAQ,GAIlC,CACD,EACK,MAAAS,EAAqB5e,EAAS,IAAM,CAClC,MAAA0Q,EAAS4F,EAAU,MAAM,gBACxB,OAAAjf,EAAM,UAAU,IAAY1C,GAC7B,OAAOA,GAAS,SACX,CACL,MAAO,GAAGA,CAAI,MAAM+b,CAAM,GAC1B,MAAO/b,CAAA,EAGFA,CAEV,CAAA,CACF,EACKkqB,EAAe7e,EAAS,IAAM,CAClC,IAAIwB,EAAIS,EACC,QAAAA,GAAMT,EAAKgc,GAA4B,KAA6C,OAASA,EAAwB,SAAW,MAAQhc,IAAO,OAAS,OAASA,EAAG,cAAgB,MAAQS,IAAO,OAAS,OAASA,EAAG,YAAcvN,GAAY2C,EAAM,IAAI,CAAA,CACtQ,EACKynB,EAAgB9e,EAAS,IAAM,CACnC,IAAIwB,EAAIS,EACC,QAAAA,GAAMT,EAAKgc,GAA4B,KAA6C,OAASA,EAAwB,SAAW,MAAQhc,IAAO,OAAS,OAASA,EAAG,cAAgB,MAAQS,IAAO,OAAS,OAASA,EAAG,aAAevN,GAAY2C,EAAM,IAAI,CAAA,CACvQ,EACK0nB,EAAgB/e,EAAS,KACrB2d,EAAc,MAAQ,GAAKC,EAAkB,KACtD,EACKoB,EAAchf,EAAS,IAAM,CACjC,MAAMif,EAAWtB,EAAc,MAAQC,EAAkB,MAAQ,EAC3D,CACJ,UAAAE,CACE,EAAAzmB,EACJ,OAAIymB,IAAc,QACTmB,EAAWnB,EAAY,EAAIA,EAAY,EAEzCmB,CAAA,CACR,EACKC,EAAqBlf,EAAS,IAAM,CAClC,KAAA,CACJ,UAAA8d,CACE,EAAAzmB,EACA,OAAAymB,IAAc,OAAkBA,GAC5BzmB,EAAM,WAAa,GAAKumB,EAAkB,KAAA,CACnD,EACKne,EAAgBC,GAAO,aAAcH,EAAcD,CAAkB,EACrE+e,EAA2B,IAAM,CAChCllB,GAAS,IAAM,CACd,IAAAqI,EACE,KAAA,CACJ,MAAO2d,CACL,EAAA5nB,EACC4nB,IACEA,EAAA,UAAU,IAAI,qBAAqB,GACnC3d,EAAKjK,EAAQ,SAAW,MAAQiK,IAAO,QAAkBA,EAAG,YAC5D2d,EAAA,UAAU,OAAO,qBAAqB,EAAA,CAC9C,CAAA,EAEH,SAAST,EAAaU,EAAM,CACtB,GAAAA,IAASzB,EAAc,MAAO,OAC5B,KAAA,CACJ,gBAAiB0B,EACjB,aAAAC,GACA,SAAA3L,GACA,OAAA4L,EACE,EAAAloB,EACAgoB,GAAoBrY,GAAAqY,EAAeD,CAAI,EACvCE,IAAmBtY,GAAAsY,GAAcF,CAAI,EAErCzL,IAAe3M,GAAA2M,GAAUyL,CAAI,EACjC3B,EAAoB,MAAQ2B,EACxBG,KACaxB,EAAA,MAAQ,OAAOqB,CAAI,EAEtC,CACA,SAASI,EAAiBC,EAAU,CAC9B,GAAAA,IAAa7B,EAAkB,MAAO,OACpC,KAAA,CACJ,oBAAqB8B,EACrB,iBAAAC,GACA,iBAAAC,EACE,EAAAvoB,EACAqoB,GAAwB1Y,GAAA0Y,EAAmBD,CAAQ,EACnDE,IAAuB3Y,GAAA2Y,GAAkBF,CAAQ,EAEjDG,IAAuB5Y,GAAA4Y,GAAkBH,CAAQ,EACrD/B,EAAwB,MAAQ+B,EAG5B5B,EAAmB,MAAQF,EAAc,OAC3Ce,EAAab,EAAmB,KAAK,CAEzC,CACA,SAASgC,GAAU,CACjB,GAAIxoB,EAAM,SAAU,OACpB,MAAM+nB,EAAO,KAAK,IAAIzB,EAAc,MAAQ,EAAGE,EAAmB,KAAK,EACvEa,EAAaU,CAAI,CACnB,CACA,SAASU,IAAW,CAClB,GAAIzoB,EAAM,SAAU,OACpB,MAAM+nB,EAAO,KAAK,IAAIzB,EAAc,MAAQ,EAAG,CAAC,EAChDe,EAAaU,CAAI,CACnB,CACA,SAASW,IAAc,CACrB,GAAI1oB,EAAM,SAAU,OACpB,MAAM+nB,EAAO,KAAK,IAAIT,EAAc,MAAM,cAAed,EAAmB,KAAK,EACjFa,EAAaU,CAAI,CACnB,CACA,SAASY,GAAe,CACtB,GAAI3oB,EAAM,SAAU,OACpB,MAAM+nB,EAAO,KAAK,IAAIT,EAAc,MAAM,eAAgB,CAAC,EAC3DD,EAAaU,CAAI,CACnB,CACA,SAASa,EAAuBprB,EAAO,CACrC2qB,EAAiB3qB,CAAK,CACxB,CACA,SAASqrB,GAAc,CACf,MAAAd,EAAO,SAASrB,EAAe,KAAK,EACtC,OAAO,MAAMqB,CAAI,IACRV,EAAA,KAAK,IAAI,EAAG,KAAK,IAAIU,EAAMvB,EAAmB,KAAK,CAAC,CAAC,EAC7DxmB,EAAM,SACT0mB,EAAe,MAAQ,IAE3B,CACA,SAASoC,GAA0B,CACrBD,GACd,CACA,SAASE,EAAoBC,EAAU,CACrC,GAAI,CAAAhpB,EAAM,SACV,OAAQgpB,EAAS,KAAM,CACrB,IAAK,OACH3B,EAAa2B,EAAS,KAAK,EAC3B,MACF,IAAK,gBACUL,IACb,MACF,IAAK,eACSD,KACZ,KACJ,CACF,CACA,SAASO,GAAkBzrB,EAAO,CAChCkpB,EAAe,MAAQlpB,EAAM,QAAQ,OAAQ,EAAE,CACjD,CACAiZ,GAAY,IAAM,CACX6P,EAAc,MACdC,EAAkB,MACES,GAAA,CAC1B,EACK,MAAA9b,GAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAArL,CACE,EAAA0C,EACE,CACJ,KAAM,CACJ,aAAAkpB,EACA,kBAAAC,GACA,oBAAAC,GACA,gBAAAC,GACA,qBAAAC,GACA,uBAAAC,GACA,cAAAC,GACA,mBAAAC,GACA,qBAAAC,GACA,oBAAAC,GACA,sBAAAC,GACA,UAAAC,GACA,eAAAC,GACA,iBAAAC,GACA,gBAAAC,EACA,qBAAAC,EACA,kBAAAC,GACA,WAAAC,GACA,gBAAAC,GACA,kBAAAC,GACA,iBAAAC,EACA,mBAAAC,GACA,iBAAAC,GACA,gBAAAC,EACA,wBAAAC,GACA,YAAAC,GACA,iBAAAC,EACA,mBAAAC,EACA,CAACphB,GAAU,cAAenM,CAAI,CAAC,EAAGwtB,EAClC,CAACrhB,GAAU,aAAcnM,CAAI,CAAC,EAAGytB,GACjC,CAACthB,GAAU,aAAcnM,CAAI,CAAC,EAAG0tB,GACjC,CAACvhB,GAAU,cAAenM,CAAI,CAAC,EAAG2tB,GAClC,CAACxhB,GAAU,cAAenM,CAAI,CAAC,EAAG4tB,GAClC,CAACzhB,GAAU,eAAgBnM,CAAI,CAAC,EAAG6tB,GACnC,CAAC1hB,GAAU,iBAAkBnM,CAAI,CAAC,EAAG8tB,GACrC,CAAC3hB,GAAU,eAAgBnM,CAAI,CAAC,EAAG+tB,GACnC,CAAC5hB,GAAU,eAAgBnM,CAAI,CAAC,EAAGguB,GACnC,CAAC7hB,GAAU,WAAYnM,CAAI,CAAC,EAAGiuB,GAC/B,CAAC9hB,GAAU,iBAAkBnM,CAAI,CAAC,EAAGkuB,GACrC,CAAC/hB,GAAU,eAAgBnM,CAAI,CAAC,EAAGmuB,GACnC,CAAC,GAAGhiB,GAAU,aAAcnM,CAAI,CAAC,KAAK,EAAGouB,GACzC,CAAC,GAAGjiB,GAAU,cAAenM,CAAI,CAAC,KAAK,EAAGquB,EAC5C,EACA,OAAQ,CACN,qBAAAxgB,EACF,CAAA,EACE7C,EAAS,MACN,MAAA,CACL,oBAAqB+iB,GACrB,oBAAqBC,GACrB,qBAAsBG,GACtB,mBAAoBR,GACpB,oBAAqBE,GACrB,kBAAmBH,GACnB,mBAAoBE,GACpB,uBAAwBS,GACxB,gBAAiBJ,GACjB,sBAAuB/B,GACvB,+BAAgCI,GAChC,4BAA6BH,GAC7B,6BAA8BE,GAC9B,8BAA+BD,GAC/B,iBAAkBG,GAClB,uBAAwBC,GACxB,0BAA2BI,GAC3B,wBAAyBF,EACzB,8BAA+BC,EAC/B,yBAA0BF,GAC1B,kBAAmBI,GACnB,wBAAyBC,GACzB,2BAA4BG,GAC5B,yBAA0BD,EAC1B,0BAA2BD,GAC3B,mBAAoBS,EACpB,yBAA0BN,GAC1B,aAAcrf,GACd,uBAAwBigB,GACxB,wBAAyBX,EACzB,iCAAkCC,GAClC,kBAAmBK,GACnB,sBAAuBW,GACvB,uBAAwBF,GACxB,wBAAyBnC,GACzB,8BAA+BC,GAC/B,gCAAiCC,GACjC,yBAA0BqB,EAC1B,mBAAoBD,GACpB,2BAA4BE,EAC5B,oBAAqB3B,EACrB,0BAA2BC,GAC3B,4BAA6BC,EAAA,CAC/B,CACD,EACK5c,GAAmBD,EAAsBE,GAAc,aAAc9D,EAAS,IAAM,CACxF,IAAI0I,EAAO,GACL,KAAA,CACJ,KAAA/T,CACE,EAAA0C,EACJ,OAAAqR,GAAQ/T,EAAK,CAAC,EACP+T,CACR,CAAA,EAAGnG,GAAYlL,CAAK,EAAI,OAClB,MAAA,CACL,WAAYoI,EACZ,gBAAiBH,EACjB,OAAQgX,EACR,QAAA/e,EACA,WAAYomB,EACZ,UAAW3d,EAAS,IACX2e,EAAc,MAAM,KAC5B,EACD,gBAAiBO,EACjB,YAAanB,EACb,gBAAiBa,EACjB,eAAgBhB,EAChB,UAAWiB,EACX,WAAYC,EACZ,YAAanf,EACb,gBAAiBke,EACjB,WAAYkB,EACZ,SAAUC,EACV,oBAAqBd,EACrB,qBAAsBC,EACtB,kBAAmBH,EACnB,mBAAoBC,EACpB,iBAAAQ,EACA,4BAAAL,EACA,4BAAAE,EACA,6BAAAC,EACA,6BAAAC,EACA,kBAAA8B,GACA,oBAAqBR,GACrB,mBAAoBD,EACpB,oBAAAO,EACA,uBAAAH,EACA,wBAAAE,EACA,QAASvc,EAAsB,OAAYrB,GAC3C,WAAYsB,IAAqB,KAAsC,OAASA,GAAiB,WACjG,SAAUA,IAAqB,KAAsC,OAASA,GAAiB,QAAA,CAEnG,EACA,QAAS,CAED,KAAA,CACJ,OAAA3K,EACA,gBAAA0P,EACA,SAAAqH,EACA,QAAAgT,EACA,WAAAC,EACA,gBAAAC,EACA,UAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,YAAArf,EACA,OAAAsf,EACA,UAAAC,EACA,WAAAC,EACA,eAAAC,EACA,gBAAAC,EACA,YAAAC,EACA,OAAArE,EACA,KAAAvd,EACA,KAAAD,EACA,OAAA8hB,EACA,OAAAnT,EACA,MAAAwG,EACA,KAAA4M,EACA,kBAAAxD,EACA,uBAAAL,EACA,oBAAA8D,EACA,oBAAA3D,EACA,mBAAA4D,EACA,wBAAA7D,EACA,SAAAhc,CACE,EAAA,KACJA,GAAa,MAAuCA,IAC9C,MAAA8f,EAAe/qB,EAAO,QAAU2qB,EAChCK,EAAehrB,EAAO,QAAUwX,EAChCyT,EAAaniB,GAAQ9I,EAAO,KAC5BkrB,EAAariB,GAAQ7I,EAAO,KAC5BsF,EAAc0Y,GAAShe,EAAO,MACpC,OAAOE,EAAE,MAAO,CACd,IAAK,UACL,MAAO,CAAC,GAAGwP,CAAe,cAAe,KAAK,WAAY,KAAK,YAAc,GAAGA,CAAe,mBAAoBqH,GAAY,GAAGrH,CAAe,wBAAyB2W,GAAU,GAAG3W,CAAe,qBAAqB,EAC3N,MAAOqa,CAAA,EACNgB,EAAe7qB,EAAE,MAAO,CACzB,MAAO,GAAGwP,CAAe,sBACxBqb,EAAa,CACd,KAAMf,EACN,SAAUQ,EACV,UAAWP,EACX,WAAY,KAAK,WACjB,SAAU,KAAK,SACf,UAAW,KAAK,eAAA,CACjB,CAAC,EAAI,KAAM,KAAK,aAAa,IAAYkB,IAAA,CACxC,OAAQA,GAAM,CACZ,IAAK,QACH,OAAOjrB,EAAEqY,GAAU,KAAMrY,EAAE,MAAO,CAChC,MAAO,CAAC,GAAGwP,CAAe,mBAAoB,CAACub,GAAc,GAAGvb,CAAe,4BAA6Bsa,GAAc,GAAKA,EAAaC,GAAmBlT,IAAa,GAAGrH,CAAe,4BAA4B,EAC1N,QAASmb,CAAA,EACRI,EAAaA,EAAW,CACzB,KAAMjB,EACN,SAAUQ,EACV,UAAWP,EACX,WAAY,KAAK,WACjB,SAAU,KAAK,SACf,UAAW,KAAK,eAAA,CACjB,EAAI/pB,EAAEkD,GAAW,CAChB,UAAWsM,CAAA,EACV,CACD,QAAS,IAAM,KAAK,WAAaxP,EAAEiB,GAAa,IAAI,EAAIjB,EAAEY,GAAc,IAAI,CAAA,CAC7E,CAAC,EAAGulB,EAASnmB,EAAEqY,GAAU,KAAMrY,EAAE,MAAO,CACvC,MAAO,GAAGwP,CAAe,0BAAA,EACxBxP,EAAEkrB,GAAQ,CACX,MAAOV,EACP,cAAetD,EACf,KAAMkD,EACN,YAAa,GACb,SAAAvT,EACA,MAAOhM,EAAY,MAAM,MACzB,eAAgBA,EAAY,cAAc,MAC1C,SAAUkc,CAAA,CACX,CAAC,EAAG,MAAYgD,CAAe,EAAIC,EAAU,IAAI,CAAC/C,GAAUnG,IAAU,CACjE,IAAAqK,EACAzP,EACAC,EACE,KAAA,CACJ,KAAA5N,CACE,EAAAkZ,GACJ,OAAQlZ,EAAM,CACZ,IAAK,OAEH,MAAMqd,GAAWnE,GAAS,MACtB7hB,EACF+lB,EAAc/lB,EAAY,CACxB,KAAM,OACN,KAAMgmB,GACN,OAAQnE,GAAS,MAAA,CAClB,EAEakE,EAAAC,GAEhB,MACF,IAAK,eAEH,MAAMC,GAAkB,KAAK,kBAAoBrrB,EAAEkD,GAAW,CAC5D,UAAWsM,CAAA,EACV,CACD,QAAS,IAAM,KAAK,WAAaxP,EAAEc,GAAkB,IAAI,EAAId,EAAEe,GAAiB,IAAI,CAAA,CACrF,EAAIf,EAAEkD,GAAW,CAChB,UAAWsM,CAAA,EACV,CACD,QAAS,IAAMxP,EAAEkB,GAAU,IAAI,CAAA,CAChC,EACGkE,EACF+lB,EAAc/lB,EAAY,CACxB,KAAM,eACN,KAAMimB,GACN,OAAQ,KAAK,mBAAqB,KAAK,mBAAA,CACxC,EAEaF,EAAAE,GAEhB3P,EAAe,KAAK,4BACpBC,EAAe,KAAK,4BACpB,MACF,IAAK,gBAEH,MAAM2P,EAAmB,KAAK,mBAAqBtrB,EAAEkD,GAAW,CAC9D,UAAWsM,CAAA,EACV,CACD,QAAS,IAAM,KAAK,WAAaxP,EAAEe,GAAiB,IAAI,EAAIf,EAAEc,GAAkB,IAAI,CAAA,CACrF,EAAId,EAAEkD,GAAW,CAChB,UAAWsM,CAAA,EACV,CACD,QAAS,IAAMxP,EAAEkB,GAAU,IAAI,CAAA,CAChC,EACGkE,EACF+lB,EAAc/lB,EAAY,CACxB,KAAM,gBACN,KAAMkmB,EACN,OAAQ,KAAK,oBAAsB,KAAK,oBAAA,CACzC,EAEaH,EAAAG,EAEhB5P,EAAe,KAAK,6BACpBC,EAAe,KAAK,6BACpB,KACJ,CACM,MAAA4P,GAAWvrB,EAAE,MAAO,CACxB,IAAK8gB,EACL,MAAO,CAAC,GAAGtR,CAAe,mBAAoByX,GAAS,QAAU,GAAGzX,CAAe,2BAA4BzB,IAAS,SAAWA,IAAS,iBAAmB,KAAK,sBAAwBA,IAAS,gBAAkB,KAAK,sBAAwB,GAAGyB,CAAe,0BAA2BqH,GAAY,GAAGrH,CAAe,6BAA8BzB,IAAS,QAAU,GAAGyB,CAAe,6BAA6B,EAC/Z,QAAS,IAAM,CACbwX,EAAoBC,EAAQ,CAC9B,EACA,aAAAvL,EACA,aAAAC,GACCwP,CAAW,EACd,GAAIpd,IAAS,QAAU,CAACkZ,GAAS,mBAAqB,CAACA,GAAS,iBACvD,OAAAsE,GACF,CACC,MAAAtuB,GAAMgqB,GAAS,OAAS,OAASA,GAAS,kBAAoB,gBAAkB,eAAiBA,GAAS,KAChH,OAAIA,GAAS,OAAS,QAAU,CAACA,GAAS,QACjCsE,GAEFvrB,EAAEia,GAAY,CACnB,GAAI,KAAK,GACT,IAAAhd,GACA,SAAA4Z,EACA,QAAS,QACT,cAAe,GACf,MAAO,CACL,MAAO,MACT,EACA,MAAOhM,EAAY,MAAM,UACzB,eAAgBA,EAAY,cAAc,UAC1C,sBAAuB,CACrB,MAAO,CACL,mBAAoB,CAClB,OAAQ,oCACV,CACF,CACF,EACA,UAAW,KAAO,CAChB,MAAO,CACL,eAAgB,QAClB,CAAA,GAEF,KAAMkD,IAAS,OAAS,GAAQA,IAAS,gBAAkB,KAAK,qBAAuB,KAAK,oBAC5F,aAAuBtS,IAAA,CACjBsS,IAAS,SACTtS,GACEsS,IAAS,gBACX,KAAK,qBAAuBtS,GAE5B,KAAK,oBAAsBA,IAG7B,KAAK,qBAAuB,GAC5B,KAAK,oBAAsB,IAE/B,EACA,QAASwrB,GAAS,OAAS,QAAUA,GAAS,QAAUA,GAAS,QAAU,CAAC,EAC5E,cAAe,KAAK,iBACpB,WAAY,GACZ,cAAe,EAAA,EACd,CACD,QAAS,IAAMsE,EAAA,CAChB,CACH,CAAA,CACD,EAAGvrB,EAAE,MAAO,CACX,MAAO,CAAC,GAAGwP,CAAe,mBAAoB,CAACwb,GAAc,GAAGxb,CAAe,2BAA4B,CACzG,CAAC,GAAGA,CAAe,4BAA4B,EAAGsa,EAAa,GAAKA,GAAcC,GAAmBlT,CAAA,CACtG,EACD,QAAS+T,CAAA,EACRI,EAAaA,EAAW,CACzB,KAAMlB,EACN,SAAUQ,EACV,UAAWP,EACX,UAAW,KAAK,gBAChB,WAAY,KAAK,WACjB,SAAU,KAAK,QAAA,CAChB,EAAI/pB,EAAEkD,GAAW,CAChB,UAAWsM,CAAA,EACV,CACD,QAAS,IAAM,KAAK,WAAaxP,EAAEY,GAAc,IAAI,EAAIZ,EAAEiB,GAAa,IAAI,CAC7E,CAAA,CAAC,CAAC,EACL,IAAK,cAED,MAAO,CAACklB,GAAU8D,EAAiBjqB,EAAEkc,GAAS,OAAO,OAAO,CAC1D,oBAAqB,GACrB,YAAa,GACb,cAAe,GACf,GAAI,KAAK,EAAA,EACR,KAAK,YAAa,CACnB,KAAMmO,EACN,QAASE,EACT,MAAOD,EACP,SAAAzT,EACA,MAAOhM,EAAY,MAAM,OACzB,eAAgBA,EAAY,cAAc,OAC1C,cAAegc,CAAA,CAChB,CAAC,EAAI,KAEV,IAAK,eACH,MAAO,CAACV,GAAU+D,EAAkBlqB,EAAE,MAAO,CAC3C,MAAO,GAAGwP,CAAe,0BACxB,EAAAkb,EAAOA,EAAK,EAAIxf,GAAY,KAAK,OAAO,KAAM,IAAM,CAACif,EAAO,IAAI,CAAC,EAAGnqB,EAAEkrB,GAAQ,CAC/E,MAAOV,EACP,cAAetD,EACf,KAAMkD,EACN,YAAa,GACb,SAAAvT,EACA,MAAOhM,EAAY,MAAM,MACzB,eAAgBA,EAAY,cAAc,MAC1C,SAAUkc,CAAA,CACX,CAAC,EAAI,KACR,QACS,OAAA,IACX,CAAA,CACD,EAAG+D,EAAe9qB,EAAE,MAAO,CAC1B,MAAO,GAAGwP,CAAe,sBACxBsb,EAAa,CACd,KAAMhB,EACN,SAAUQ,EACV,UAAWP,EACX,WAAY,KAAK,WACjB,SAAU,KAAK,SACf,UAAW,KAAK,eAAA,CACjB,CAAC,EAAI,IAAI,CACZ,CACF,CAAC,EC/sBcyB,GAAA,CACb,QAAS,QACT,oBAAqB,OACrB,qBAAsB,OACtB,oBAAqB,OACrB,mBAAoB,OACpB,uBAAwB,OACxB,wBAAyB,OACzB,uBAAwB,OACxB,sBAAuB,OACvB,2BAA4B,OAC5B,4BAA6B,OAC7B,2BAA4B,OAC5B,0BAA2B,OAC3B,uBAAwB,OACxB,wBAAyB,OACzB,uBAAwB,OACxB,sBAAuB,OACvB,2BAA4B,OAC5B,4BAA6B,OAC7B,2BAA4B,OAC5B,0BAA2B,MAC7B,ECjBaltB,GAAO+C,GAAQ,CAC1B,KAAM,CACJ,aAAAQ,EACA,WAAAH,EACA,aAAAD,EACA,WAAAM,EACA,aAAAR,EACA,cAAAkqB,EACA,aAAAnqB,EACA,cAAAU,EACA,eAAAC,EACA,cAAAC,EACA,aAAAC,EACA,YAAAC,EACA,aAAAC,EACA,YAAAC,EACA,WAAAC,EACA,WAAAf,EACA,gBAAAM,CACD,EAAGT,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAImB,EAAe,EAAG,CACvD,kBAAmBJ,EACnB,mBAAoBC,EACpB,kBAAmBC,EACnB,iBAAkBC,EAClB,aAAAjB,EACA,cAAAU,EACA,eAAAC,EACA,cAAAC,EACA,aAAAC,EAEA,gBAAiBT,EACjB,qBAAsBA,EACtB,sBAAuBG,EACvB,2BAA4BA,EAC5B,MAAON,EACP,aAAAE,EACA,YAAaC,EACb,YAAaA,EACb,iBAAkBK,EAClB,kBAAmB6K,GAAY/K,EAAc,CAC3C,MAAO,EACb,CAAK,EACD,qBAAsBL,EAEtB,wBAAyB,OACzB,6BAA8B,OAC9B,8BAA+B,OAC/B,mCAAoC,OACpC,cAAeiqB,EACf,qBAAsB,OACtB,oBAAqB,OACrB,oBAAqB,OACrB,yBAA0B5pB,EAC1B,0BAA2BA,EAC3B,6BAA8B,OAC9B,sBAAuBC,CAC3B,CAAG,CACH,EACM4pB,GAAgBhpB,GAAY,CAChC,KAAM,WACN,OAAQC,GACR,MAAO,CACL,QAASiO,EACV,EACH,KAAEtS,EACF,CAAC,ECvEckE,GAAA,CACb,eAAgB,MAChB,gBAAiB,OACjB,eAAgB,OAChB,eAAgB,MAChB,gBAAiB,OACjB,eAAgB,OAChB,WAAY,OACZ,uBAAwB,MACxB,cAAe,MACf,WAAY,OACZ,iBAAkB,aAClB,aAAc,SACd,cAAe,WACf,mBAAoB,WACtB,ECFalE,GAAO+C,GAAQ,CAC1B,KAAM,CACJ,UAAAsqB,EACA,WAAAC,EACA,aAAArqB,EACA,WAAAG,EACA,WAAAmqB,EACA,iBAAAC,EACA,gBAAAC,EACA,UAAA3b,EACA,aAAAvO,EACA,iBAAA8K,EACA,aAAArL,EACA,WAAA0qB,EACA,cAAAhqB,EACA,eAAAC,EACA,cAAAC,EACA,aAAAT,EACA,YAAAW,EACA,gBAAAN,EACA,kBAAAmqB,CACD,EAAG5qB,EACJ,OAAO,OAAO,OAAO,OAAO,OAAO,CAAA,EAAImB,EAAe,EAAG,CACvD,mBAAoBf,EACpB,WAAAuqB,EACA,aAAA1qB,EACA,cAAAU,EACA,eAAAC,EACA,cAAAC,EACA,YAAagqB,GAAUP,EAAWlqB,CAAY,EAC9C,aAAcyqB,GAAUP,EAAWI,CAAe,EAClD,eAAgBG,GAAUP,EAAWM,CAAiB,EACtD,QAASC,GAAUP,EAAWG,CAAgB,EAC9C,aAAcI,GAAUA,GAAUP,EAAWG,CAAgB,EAAGC,CAAe,EAC/E,QAASJ,EACT,YAAajqB,EACb,YAAamqB,EACb,aAAclf,EACd,mBAAoBof,EACpB,YAAa3b,EACb,kBAAmBvO,EAEnB,iBAAkBqqB,GAAUN,EAAYnqB,CAAY,EACpD,kBAAmByqB,GAAUN,EAAYG,CAAe,EACxD,oBAAqBG,GAAUN,EAAYK,CAAiB,EAC5D,aAAcC,GAAUN,EAAYE,CAAgB,EACpD,kBAAmBI,GAAUA,GAAUN,EAAYE,CAAgB,EAAGC,CAAe,EACrF,aAAcH,EAEd,mBAAoBM,GAAU3qB,EAAcE,CAAY,EACxD,oBAAqByqB,GAAU3qB,EAAcwqB,CAAe,EAC5D,sBAAuBG,GAAU3qB,EAAc0qB,CAAiB,EAChE,eAAgBC,GAAU3qB,EAAcuqB,CAAgB,EACxD,oBAAqBI,GAAUA,GAAU3qB,EAAcuqB,CAAgB,EAAGC,CAAe,EACzF,eAAgBxqB,EAChB,gBAAiB,6CACjB,eAAgB,4CAEhB,aAAcM,EACd,YAAaO,EACb,eAAgBN,CACpB,CAAG,CACH,EACMqqB,GAAiBzpB,GAAY,CACjC,KAAM,YACN,OAAQC,GACR,MAAO,CACL,OAAQypB,GACR,SAAUC,GACV,MAAOC,GACP,WAAYjK,GACZ,UAAWzf,GACX,MAAOC,GACP,QAAS+N,GACT,SAAU2b,GACV,SAAUb,EACX,EACD,KAAAptB,EACF,CAAC,ECtFYkuB,GAAsBxuB,GAAgB,CACjD,KAAM,qBACN,MAAOyuB,GACP,aAAc,GACd,MAAMxuB,EAAO,CACX,MAAAsH,EACA,MAAArH,CACJ,EAAK,CACD,MAAMwuB,EAAkB/wB,EAAI,EAAK,EAC3BuK,EAAqBymB,KAC3B,OAAAC,GAAS,YAAa/uB,GAAOqI,CAAkB,EAoBxC,CACL,aAAcwmB,EACd,cApBoB,IAAM,CAC1B,KAAM,CACJ,UAAAG,CACD,EAAG5uB,EACEuR,EAAkBtJ,EAAmB,MAC3C,OAAOlG,EAAE,OAAQ,OAAO,OAAO,CAAE,EAAE8sB,GAAWvnB,EAAO,CACnD,MAAO,CAAC,GAAGiK,CAAe,YAAaqd,IAAc,OAAYE,GAAqBvd,CAAe,EAAI,OAAWvR,EAAM,gBAAkB,QAAU+uB,GAAkBxd,EAAiB,SAAS,EAAI,MAAS,EAC/M,MAAOqd,IAAc,OAAY,CAC/B,aAAc,UACxB,EAAY,CACF,qBAAsBA,CACvB,CACT,CAAO,EAAG,CACF,aAAc,IAAM,CAClBH,EAAgB,MAAQ,EACzB,CACT,CAAO,EAAGG,EAAY3uB,EAAQ8B,EAAE,OAAQ,KAAM9B,CAAK,CAAC,CACpD,CAIA,CACG,EACD,QAAS,CACP,OAAI,KAAK,aACA8B,EAAEitB,GAAUH,GAAW,CAAE,EAAE,KAAK,OAAQ,KAAK,MAAM,EAAG,KAAK,MAAM,EAEjE,KAAK,eAEf,CACH,CAAC,EC9CDI,GAAelvB,GAAgB,CAC7B,KAAM,wBACN,MAAO,CACL,OAAQ,CACN,KAAM,SACN,SAAU,EACX,EACD,MAAO,CAEL,KAAM,CAAC,OAAQ,OAAO,EACtB,QAAS,EACV,CACF,EACD,QAAS,CACP,KAAM,CACJ,OAAAsH,EACA,MAAA6nB,CACD,EAAG,KACJ,OAAO7nB,EAAO,CACZ,MAAA6nB,CACN,CAAK,CACF,CACH,CAAC,ECrBYC,GAAiB,OAAO,OAAO,OAAO,OAAO,GAAInnB,GAAS,KAAK,EAAG,CAC7E,uBAAwB,SACxB,WAAY,CACV,KAAM,CAAC,OAAQ,OAAO,EACtB,QAAS,EACV,EACD,mBAAoB,CAClB,KAAM,QACN,QAAS,EACV,EACD,UAAW,CAAC,OAAQ,MAAM,EAC1B,UAAW,CAAC,OAAQ,MAAM,EAE1B,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAE,CAClB,EACD,aAAc,CAAC,OAAQ,QAAQ,EAC/B,SAAU,SACV,OAAQ,SACR,QAAS,CAAC,QAAQ,EAClB,KAAM,CACJ,KAAM,MACN,QAAS,IAAM,CAAE,CAClB,EACD,QAAS,QACT,SAAU,CACR,KAAM,QACN,QAAS,MACV,EACD,eAAgB,CACd,KAAM,QACN,QAAS,MACV,EACD,QAAS,QACT,QAAS,CAAC,OAAQ,MAAM,EACxB,sBAAuB,CACrB,KAAM,MACN,QAAS,IAAM,CAAE,CAClB,EACD,eAAgB,MAChB,WAAY,CACV,KAAM,QACN,QAAS,EACV,EACD,aAAc,QACd,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,OAAQ,QACR,uBAAwB,CACtB,KAAM,MACN,QAAS,CAAE,CACZ,EACD,iBAAkB,QAClB,gBAAiB,MACjB,mBAAoB,QACpB,cAAe,QACf,YAAa,CACX,KAAM,OACN,QAAS,MACV,EACD,uBAAwB,QACxB,QAAS,CACP,KAAM,QACN,QAAS,EACV,EACD,YAAa,CACX,KAAM,OACN,QAAS,UACV,EACD,OAAQ,CACN,KAAM,OACN,QAAS,EACV,EACD,WAAY,QACZ,iBAAkB,CAChB,KAAM,OACN,QAAS,QACV,EACD,2BAA4B,CAC1B,KAAM,OACN,QAAS,SACV,EACD,eAAgB,OAChB,WAAY,SACZ,iBAAkB,SAClB,UAAW,CACT,KAAM,OACN,QAAS,CAAE,CACZ,EACD,OAAQ,SACR,gBAAiB,CAAC,SAAU,KAAK,EACjC,aAAc,CAAC,SAAU,KAAK,EAC9B,oBAAqB,CAAC,SAAU,KAAK,EACrC,iBAAkB,CAAC,SAAU,KAAK,EAClC,kBAAmB,CAAC,SAAU,KAAK,EACnC,eAAgB,CAAC,SAAU,KAAK,EAChC,mBAAoB,CAAC,SAAU,KAAK,EACpC,gBAAiB,CAAC,SAAU,KAAK,EACjC,0BAA2B,CAAC,SAAU,KAAK,EAC3C,uBAAwB,CAAC,SAAU,KAAK,EACxC,2BAA4B,CAAC,SAAU,KAAK,EAC5C,wBAAyB,CAAC,SAAU,KAAK,EACzC,SAAU,SAEV,aAAc,CAAC,SAAU,KAAK,EAC9B,iBAAkB,CAAC,SAAU,KAAK,EAClC,eAAgB,CAAC,SAAU,KAAK,EAChC,gBAAiB,CAAC,SAAU,KAAK,EACjC,uBAAwB,CAAC,SAAU,KAAK,CAC1C,CAAC,EACYonB,GAAwBngB,GAAmB,cAAc,EC7GtEogB,GAAetvB,GAAgB,CAC7B,KAAM,WACN,MAAO,CACL,OAAQ,CACN,KAAM,OACN,SAAU,EACX,CACF,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,wBAAAmmB,CACD,EAAGhe,GAAS,EAEP,CACJ,mBAAAmnB,EACA,mBAAArnB,CACN,EAAQlC,GAAOqpB,EAAqB,EAC1BG,EAAe5mB,EAAS,IAAM2mB,EAAmB,MAAM,KAAK3wB,GAASA,EAAM,YAAcqB,EAAM,OAAO,GAAG,CAAC,EAC1GwvB,EAAY7mB,EAAS,IAClB4mB,EAAa,QAAU,MAC/B,EACKE,EAAqB9mB,EAAS,IAAM,CACxC,KAAM,CACJ,MAAO+mB,CACR,EAAGH,EACJ,OAAIG,GAAaF,EAAU,MAClBE,EAAU,MAEZ,EACb,CAAK,EACKC,EAAwBhnB,EAAS,IAAM,CAC3C,IAAIwB,EAAIS,EACR,QAASA,GAAMT,EAAKgc,GAA4B,KAA6C,OAASA,EAAwB,SAAW,MAAQhc,IAAO,OAAS,OAASA,EAAG,aAAe,MAAQS,IAAO,OAAS,OAASA,EAAG,eAAiB5K,EAAM,OAAO,YACpQ,CAAK,EACD,MAAO,CACL,gBAAiBiI,EACjB,OAAQunB,EACR,gBAAiBC,EACjB,mBAAoBE,CAC1B,CACG,EACD,QAAS,CACP,KAAM,CACJ,mBAAAC,EACA,gBAAAC,EACA,gBAAAte,CACD,EAAG,KACE,CACJ,iBAAAue,CACN,EAAQ,KAAK,OACT,OAAOF,EAAqB7tB,EAAEktB,GAAc,CAC1C,OAAQW,EACR,MAAOC,CACb,CAAK,EAAI9tB,EAAE,OAAQ,CACb,MAAO,CAAC,GAAGwP,CAAe,qBAAsBse,IAAoB,UAAY,GAAGte,CAAe,0BAA2Bse,IAAoB,WAAa,GAAGte,CAAe,0BAA0B,CAChN,EAAOue,EAAmBA,EAAiB,CACrC,MAAOD,CACb,CAAK,EAAI9tB,EAAEkD,GAAW,CAChB,UAAWsM,CACjB,EAAO,CACD,QAAS,IAAMxP,EAAEW,GAAe,IAAI,CACrC,CAAA,CAAC,CACH,CACH,CAAC,ECpEDqtB,GAAehwB,GAAgB,CAC7B,KAAM,wBACN,MAAO,CACL,OAAQ,CACN,KAAM,SACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,QACN,QAAS,EACV,EACD,KAAM,CACJ,KAAM,QACN,QAAS,EACV,CACF,EACD,QAAS,CACP,KAAM,CACJ,OAAAsH,EACA,OAAA2oB,EACA,KAAAlrB,CACD,EAAG,KACJ,OAAOuC,EAAO,CACZ,OAAA2oB,EACA,KAAAlrB,CACN,CAAK,CACF,CACH,CAAC,EC1BYmrB,GAAsB,GACtBC,GAAmB,GACzB,SAASC,GAAkBC,EAAK,CACrC,GAAIA,EAAI,OAAS,YACf,OAAOA,EAAI,QAAU,OAAYH,GAAsBzmB,GAAK4mB,EAAI,KAAK,EAEvE,GAAIA,EAAI,OAAS,SACf,OAAOA,EAAI,QAAU,OAAYF,GAAmB1mB,GAAK4mB,EAAI,KAAK,EAEpE,GAAI,eAAcA,GAClB,OAAI,OAAOA,EAAI,OAAU,SAChB5mB,GAAK4mB,EAAI,KAAK,EAEhBA,EAAI,KACb,CACO,SAASC,GAAkBD,EAAK,CACrC,IAAIjmB,EAAIS,EACR,GAAIwlB,EAAI,OAAS,YACf,OAAOE,IAAcnmB,EAAKimB,EAAI,SAAW,MAAQjmB,IAAO,OAASA,EAAK8lB,EAAmB,EAE3F,GAAIG,EAAI,OAAS,SACf,OAAOE,IAAc1lB,EAAKwlB,EAAI,SAAW,MAAQxlB,IAAO,OAASA,EAAKslB,EAAgB,EAExF,GAAI,eAAcE,GAGlB,OAAOE,GAAaF,EAAI,KAAK,CAC/B,CACO,SAASG,GAAUH,EAAK,CAC7B,OAAIA,EAAI,OAAS,YAAoB,kBACjCA,EAAI,OAAS,SAAiB,eAC3BA,EAAI,GACb,CACO,SAASI,GAA0BC,EAAQ,CAChD,OAAKA,IACD,OAAOA,GAAW,SACb,OAAO,OAAO,CAAE,EAAEA,CAAM,EAE1BA,EACT,CACO,SAASC,GAAexB,EAAO,CACpC,OAAIA,IAAU,SAAiB,EAAWA,IAAU,UAAkB,GAC/D,CACT,CAEO,SAASyB,GAAyBnzB,EAAOozB,EAAKC,EAAK,CACxD,OAAIA,IAAQ,SACVrzB,EAAQ,KAAK,IAAIA,EAAO,OAAOqzB,GAAQ,SAAWA,EAAM,WAAWA,CAAG,CAAC,GAErED,IAAQ,SACVpzB,EAAQ,KAAK,IAAIA,EAAO,OAAOozB,GAAQ,SAAWA,EAAM,WAAWA,CAAG,CAAC,GAElEpzB,CACT,CACO,SAASszB,GAAuBC,EAAQC,EAAc,CAC3D,GAAIA,IAAiB,OACnB,MAAO,CACL,MAAOA,EACP,SAAUA,EACV,SAAUA,CAChB,EAEE,MAAMC,EAAQZ,GAAkBU,CAAM,EAChC,CACJ,SAAAG,EACA,SAAAC,CACD,EAAGJ,EACJ,MAAO,CACL,MAAAE,EACA,SAAUX,GAAaY,CAAQ,GAAKD,EACpC,SAAUX,GAAaa,CAAQ,CACnC,CACA,CACO,SAASC,GAAmBC,EAAKxO,EAAOyO,EAAc,CAC3D,OAAI,OAAOA,GAAiB,WAAmBA,EAAaD,EAAKxO,CAAK,EAC/DyO,GAAgB,EACzB,CAIO,SAASC,GAA2BR,EAAQ,CACjD,OAAOA,EAAO,qBAAuB,QAAaA,EAAO,oBAAsB,QAAaA,EAAO,4BAA8B,MACnI,CACO,SAASS,GAAiBT,EAAQ,CACvC,MAAI,aAAcA,EAAe,GAC1B,CAAC,CAACA,EAAO,MAClB,CACO,SAASU,GAAkBV,EAAQ,CACxC,MAAI,aAAcA,GAAYA,EAAO,SAAS,OAAe,GACtD,CAAC,CAACA,EAAO,SAClB,CACO,SAASW,GAAmBX,EAAQ,CACzC,MAAI,aAAcA,EAAe,GAC1B,CAAC,CAACA,EAAO,SAAW,CAAC,CAACA,EAAO,eAAiB,CAAC,CAACA,EAAO,iBAChE,CACA,SAASY,GAAezC,EAAO,CAC7B,GAAKA,GAA6B,GAAIA,IAAU,UAAW,MAAO,aAAtD,OAAO,UACnB,MAAO,EACT,CACO,SAAS0C,GAAiBb,EAAQc,EAAkB,CACzD,OAAId,EAAO,SAAW,OAAkB,KACpCc,IAAqB,MAAQA,EAAiB,YAAcd,EAAO,IAC9D,CACL,UAAWA,EAAO,IAClB,OAAQA,EAAO,OACf,MAAOY,GAAe,EAAK,CACjC,EAEW,OAAO,OAAO,OAAO,OAAO,CAAA,EAAIE,CAAgB,EAAG,CACxD,MAAOF,GAAeE,EAAiB,KAAK,CAClD,CAAK,CAEL,CACO,SAASC,GAAgBf,EAAQgB,EAAiB,CACvD,OAAOA,EAAgB,KAAKpzB,GAASA,EAAM,YAAcoyB,EAAO,KAAOpyB,EAAM,KAAK,IAAM,MAC1F,CACA,SAASqzB,GAAcx0B,EAAO,CAC5B,OAAI,OAAOA,GAAU,SACZA,EAAM,QAAQ,KAAM,KAAK,EACvBA,GAAU,KACZ,GAGA,GAAGA,CAAK,GAAG,QAAQ,KAAM,KAAK,CAEzC,CACO,SAASy0B,GAAYC,EAASC,EAAM,CACzC,MAAMC,EAAoBF,EAAQ,OAAOnB,GAAUA,EAAO,OAAS,UAAYA,EAAO,OAAS,WAAW,EACpGsB,EAASD,EAAkB,IAAIhC,GAAOA,EAAI,KAAK,EAAE,KAAK,GAAG,EACzDkC,EAAOH,EAAK,IAAId,GACbe,EAAkB,IAAIhC,GAAO4B,GAAcX,EAAIjB,EAAI,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAC1E,EACD,MAAO,CAACiC,EAAQ,GAAGC,CAAI,EAAE,KAAK;AAAA,CAAI,CACpC,CC/HA,MAAAC,GAAexyB,GAAgB,CAC7B,KAAM,sBACN,MAAO,CACL,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,eAAgB,CACd,KAAM,OACN,SAAU,EACX,EACD,SAAU,CACR,KAAM,QACN,SAAU,EACX,EACD,MAAO,CACL,KAAM,CAAC,MAAO,OAAQ,MAAM,EAC5B,QAAS,IACV,EACD,QAAS,CACP,KAAM,MACN,SAAU,EACX,EACD,UAAW,CACT,KAAM,SACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,SACN,SAAU,EACX,EACD,SAAU,CACR,KAAM,SACN,SAAU,EACX,CACF,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,mBAAoBwyB,EACpB,aAAAtqB,CACN,EAAQC,GAAUnI,CAAK,EACboI,EAAgBC,GAAO,YAAaH,EAAcsqB,CAAqB,EACvE,CACJ,mBAAAvqB,EACA,eAAAwqB,EACA,UAAAxT,CAEN,EAAQlZ,GAAOqpB,EAAqB,EAG1BsD,EAAmBh1B,EAAIsC,EAAM,KAAK,EAClC2yB,EAAwBhqB,EAAS,IAAM,CAC3C,KAAM,CACJ,MAAOiqB,CACR,EAAGF,EACJ,OAAK,MAAM,QAAQE,CAAa,EACzBA,EADmC,IAEhD,CAAK,EACKC,EAAqBlqB,EAAS,IAAM,CACxC,KAAM,CACJ,MAAOiqB,CACR,EAAGF,EACJ,OAAInB,GAA2BvxB,EAAM,MAAM,EAClC,MAAM,QAAQ4yB,CAAa,GAAKA,EAAc,QAAUA,EAAc,CAAC,GAAK,KAEhF,MAAM,QAAQA,CAAa,EACzB,KADmCA,CAEhD,CAAK,EACD,SAASE,EAASt1B,EAAO,CAGvBwC,EAAM,SAASxC,CAAK,CACrB,CACD,SAASu1B,EAAav1B,EAAO,CACvBwC,EAAM,UAAY,MAAM,QAAQxC,CAAK,EACvCk1B,EAAiB,MAAQl1B,EAChB+zB,GAA2BvxB,EAAM,MAAM,GAAK,CAAC,MAAM,QAAQxC,CAAK,EAEzEk1B,EAAiB,MAAQ,CAACl1B,CAAK,EAE/Bk1B,EAAiB,MAAQl1B,CAE5B,CACD,SAASw1B,GAAqB,CAC5BF,EAASJ,EAAiB,KAAK,EAC/B1yB,EAAM,UAAS,CAChB,CACD,SAASizB,GAAmB,CACtBjzB,EAAM,UAAYuxB,GAA2BvxB,EAAM,MAAM,EAC3D8yB,EAAS,CAAE,CAAA,EAEXA,EAAS,IAAI,EAEf9yB,EAAM,QAAO,CACd,CACD,MAAO,CACL,gBAAiBiI,EACjB,WAAYG,EACZ,YAAaqqB,EACb,OAAQxT,EACR,mBAAoB0T,EACpB,gBAAiBE,EACjB,aAAAE,EACA,mBAAAC,EACA,iBAAAC,CACN,CACG,EACD,QAAS,CACP,KAAM,CACJ,YAAArmB,EACA,OAAAsf,EACA,gBAAA3a,CACD,EAAG,KACJ,OAAOxP,EAAE,MAAO,CACd,MAAO,CAAC,GAAGwP,CAAe,0BAA2B,KAAK,YAAc,GAAGA,CAAe,8BAA8B,CAC9H,EAAOxP,EAAEoL,GAAY,KAAM,CACrB,QAAS,IAAM,CACb,KAAM,CACJ,mBAAA+lB,EACA,aAAAH,CACD,EAAG,KACJ,OAAO,KAAK,SAAWhxB,EAAEoxB,GAAgB,CACvC,MAAOD,EACP,MAAO,GAAG3hB,CAAe,iCACzB,cAAewhB,CACzB,EAAW,CACD,QAAS,IAAM,KAAK,QAAQ,IAAIlf,GACvB9R,EAAEqxB,GAAW,CAClB,IAAKvf,EAAO,MACZ,MAAOjH,EAAY,MAAM,SACzB,eAAgBA,EAAY,cAAc,SAC1C,MAAOiH,EAAO,KAC5B,EAAe,CACD,QAAS,IAAMA,EAAO,KACpC,CAAa,CACF,CACX,CAAS,EAAI9R,EAAEsxB,GAAa,CAClB,KAAM,KAAK,eACX,MAAO,GAAG9hB,CAAe,iCACzB,MAAO,KAAK,gBACZ,cAAe,KAAK,YAC9B,EAAW,CACD,QAAS,IAAM,KAAK,QAAQ,IAAIsC,GAAU9R,EAAEuxB,GAAQ,CAClD,IAAKzf,EAAO,MACZ,MAAOA,EAAO,MACd,MAAOjH,EAAY,MAAM,MACzB,eAAgBA,EAAY,cAAc,KACtD,EAAa,CACD,QAAS,IAAMiH,EAAO,KAClC,CAAW,CAAC,CACZ,CAAS,CACF,CACP,CAAK,EAAG9R,EAAE,MAAO,CACX,MAAO,GAAGwP,CAAe,iCAC/B,EAAOxP,EAAEwxB,GAAS,CACZ,KAAM,OACN,MAAO3mB,EAAY,MAAM,OACzB,eAAgBA,EAAY,cAAc,OAC1C,QAAS,KAAK,gBACpB,EAAO,CACD,QAAS,IAAMsf,EAAO,KAC5B,CAAK,EAAGnqB,EAAEwxB,GAAS,CACb,MAAO3mB,EAAY,MAAM,OACzB,eAAgBA,EAAY,cAAc,OAC1C,KAAM,UACN,KAAM,OACN,QAAS,KAAK,kBACpB,EAAO,CACD,QAAS,IAAMsf,EAAO,OACvB,CAAA,CAAC,CAAC,CACJ,CACH,CAAC,EC3KD,SAASsH,GAAkBC,EAAoBC,EAAWC,EAAmB,CAC3E,MAAMC,EAAkB,OAAO,OAAO,CAAE,EAAEH,CAAkB,EAC5D,OAAAG,EAAgBF,CAAS,EAAIC,EACtBC,CACT,CACA,MAAAC,GAAe9zB,GAAgB,CAC7B,KAAM,wBACN,MAAO,CACL,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAE,CAClB,CACF,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,wBAAAmmB,CACD,EAAGhe,GAAS,EACP,CACJ,eAAAsqB,EACA,mBAAAxqB,EACA,qBAAA6rB,EACA,qBAAAC,EACA,8BAAAC,EACA,aAAA3M,EACA,gBAAA4M,CAEN,EAAQluB,GAAOqpB,EAAqB,EAC1B8E,EAAiBx2B,EAAI,EAAK,EAC1By2B,EAAiBL,EACjBM,EAAoBzrB,EAAS,IAC1B3I,EAAM,OAAO,iBAAmB,EACxC,EACKq0B,EAAuB1rB,EAAS,IAAM,CAC1C,MAAM2rB,EAAcH,EAAe,MAAMn0B,EAAM,OAAO,GAAG,EACzD,GAAIs0B,IAAgB,OAAW,CAC7B,KAAM,CACJ,MAAO5tB,CACR,EAAG0tB,EACJ,OAAI1tB,EAAiB,GAAe,IACrC,CACD,OAAO4tB,CACb,CAAK,EACK9E,EAAY7mB,EAAS,IAAM,CAC/B,KAAM,CACJ,MAAO2rB,CACR,EAAGD,EACJ,OAAI,MAAM,QAAQC,CAAW,EACpBA,EAAY,OAAS,EAEvBA,IAAgB,IAC7B,CAAK,EACKC,EAAwB5rB,EAAS,IAAM,CAC3C,IAAIwB,EAAIS,EACR,QAASA,GAAMT,EAAKgc,GAA4B,KAA6C,OAASA,EAAwB,SAAW,MAAQhc,IAAO,OAAS,OAASA,EAAG,aAAe,MAAQS,IAAO,OAAS,OAASA,EAAG,eAAiB5K,EAAM,OAAO,YACpQ,CAAK,EACD,SAASw0B,EAAmBb,EAAmB,CAC7C,MAAMC,EAAkBJ,GAAkBW,EAAe,MAAOn0B,EAAM,OAAO,IAAK2zB,CAAiB,EACnGM,EAAgBL,EAAiB5zB,EAAM,MAAM,EACzCg0B,EAA8B,QAAU,SAC1C3M,EAAa,CAAC,CAEjB,CACD,SAASoN,GAAyB,CAChCP,EAAe,MAAQ,EACxB,CACD,SAASQ,GAA0B,CACjCR,EAAe,MAAQ,EACxB,CACD,MAAO,CACL,YAAazB,EACb,gBAAiBxqB,EACjB,OAAQunB,EACR,YAAa0E,EACb,mBAAoBK,EACpB,eAAgBH,EAChB,kBAAmBC,EACnB,kBAAmBN,EACnB,mBAAAS,EACA,wBAAAE,EACA,uBAAAD,CACN,CACG,EACD,QAAS,CACP,KAAM,CACJ,YAAA7nB,EACA,gBAAA2E,EACA,uBAAAkjB,CACD,EAAG,KACJ,OAAO1yB,EAAEsY,GAAU,CACjB,KAAM,KAAK,YACX,aAAcyC,GAAK,KAAK,YAAcA,EACtC,QAAS,QACT,MAAOlQ,EAAY,MAAM,QACzB,eAAgBA,EAAY,cAAc,QAC1C,UAAW,SACX,MAAO,CACL,QAAS,CACV,CACP,EAAO,CACD,QAAS,IAAM,CACb,KAAM,CACJ,mBAAA+nB,CACD,EAAG,KACJ,GAAIA,EACF,OAAO5yB,EAAEguB,GAAc,CACrB,yBAA0B,GAC1B,OAAQ4E,EACR,OAAQ,KAAK,OACb,KAAM,KAAK,WACvB,CAAW,EAEH,KAAM,CACJ,iBAAAC,CACV,EAAY,KAAK,OACT,OAAO7yB,EAAE,MAAO,CACd,yBAA0B,GAC1B,MAAO,CAAC,GAAGwP,CAAe,qBAAsB,CAC9C,CAAC,GAAGA,CAAe,4BAA4B,EAAG,KAAK,OACvD,CAAC,GAAGA,CAAe,0BAA0B,EAAG,KAAK,WACjE,CAAW,CACX,EAAWqjB,EAAmBA,EAAiB,CACrC,OAAQ,KAAK,OACb,KAAM,KAAK,WACrB,CAAS,EAAI7yB,EAAEkD,GAAW,CAChB,UAAWsM,CACrB,EAAW,CACD,QAAS,IAAMxP,EAAEgB,GAAY,IAAI,CAClC,CAAA,CAAC,CACH,EACD,QAAS,IAAM,CACb,KAAM,CACJ,iBAAA8xB,CACV,EAAY,KAAK,OACT,OAAOA,EAAmBA,EAAiB,CACzC,KAAMJ,CAChB,CAAS,EAAI1yB,EAAEwwB,GAAsB,CAC3B,MAAO,KAAK,kBACZ,eAAgB,OAAO,KAAK,OAAO,GAAG,EACtC,SAAU,KAAK,eACf,MAAO,KAAK,kBACZ,QAAS,KAAK,QACd,OAAQ,KAAK,OACb,SAAU,KAAK,mBACf,QAAS,KAAK,uBACd,UAAW,KAAK,uBAC1B,CAAS,CACF,CACP,CAAK,CACF,CACH,CAAC,EC9JDuC,GAAe/0B,GAAgB,CAC7B,KAAM,qBACN,MAAO,CACL,cAAe,SACf,SAAU,SACV,YAAa,QACd,EACD,MAAMC,EAAO,CAEX,KAAM,CACJ,mBAAAiI,CACN,EAAQlC,GAAOqpB,EAAqB,EAC1BI,EAAY9xB,EAAI,EAAK,EAC3B,IAAIq3B,EAAS,EACb,SAASC,EAAUh3B,EAAG,CACpB,OAAOA,EAAE,OACV,CACD,SAASi3B,EAAgBj3B,EAAG,CAC1B,IAAImM,EACJnM,EAAE,eAAc,EAChB,MAAMk3B,EAAiB1F,EAAU,MACjCuF,EAASC,EAAUh3B,CAAC,EACpBwxB,EAAU,MAAQ,GACb0F,IACH71B,GAAG,YAAa,OAAQ81B,CAAe,EACvC91B,GAAG,UAAW,OAAQ+1B,CAAa,GAClCjrB,EAAKnK,EAAM,iBAAmB,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,CAAK,EAEhF,CACD,SAASm1B,EAAgBn3B,EAAG,CAC1B,IAAImM,GACHA,EAAKnK,EAAM,YAAc,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,EAAOg1B,EAAUh3B,CAAC,EAAI+2B,CAAM,CAChG,CACD,SAASK,GAAgB,CACvB,IAAIjrB,EACJqlB,EAAU,MAAQ,IACjBrlB,EAAKnK,EAAM,eAAiB,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,CAAK,EAC3EV,GAAI,YAAa,OAAQ61B,CAAe,EACxC71B,GAAI,UAAW,OAAQ81B,CAAa,CACrC,CACD,OAAA31B,GAAgB,IAAM,CACpBH,GAAI,YAAa,OAAQ61B,CAAe,EACxC71B,GAAI,UAAW,OAAQ81B,CAAa,CAC1C,CAAK,EACM,CACL,gBAAiBntB,EACjB,OAAQunB,EACR,gBAAAyF,CACN,CACG,EACD,QAAS,CACP,KAAM,CACJ,gBAAA1jB,CACD,EAAG,KACJ,OAAOxP,EAAE,OAAQ,CACf,4BAA6B,GAC7B,MAAO,CAAC,GAAGwP,CAAe,4BAA6B,KAAK,QAAU,GAAGA,CAAe,mCAAmC,EAC3H,YAAa,KAAK,eACxB,CAAK,CACF,CACH,CAAC,EC9DD8jB,GAAet1B,GAAgB,CAC7B,KAAM,kBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,CACF,EACD,QAAS,CACP,OAAOgC,EAAE,MAAO,CACd,MAAO,GAAG,KAAK,SAAS,mBAC9B,CAAK,CACF,CACH,CAAC,ECbYuzB,GAA2BrmB,GAAmB,iBAAiB,EAC/DsmB,GAAuBtmB,GAAmB,YAAY,EACtDumB,GAA6BvmB,GAAmB,mBAAmB,ECHzE,SAASwmB,GAAc5uB,EAASkU,EAAe,CACpD,OAAOlU,EAAQ,OAAS,WAAaA,EAAQ,OAAS,QAAaA,EAAQkU,CAAa,IAAM,MAChG,CACO,SAAS2a,GAAY7uB,EAAS,CACnC,OAAOA,EAAQ,OAAS,OAC1B,CACO,SAAS8uB,GAAc9uB,EAAS,CACrC,OAAOA,EAAQ,OAAS,SAC1B,CACO,SAAS+uB,GAAa/uB,EAAS,CACpC,OAAOA,EAAQ,OAAS,QAC1B,CCCA,MAAAgvB,GAAe91B,GAAgB,CAC7B,KAAM,iBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACV,EACD,UAAW,CACT,KAAM,OACN,QAAS,aACV,EACD,MAAO,OACP,WAAY,OACb,EACD,MAAMC,EAAO,CAEX,MAAM81B,EAAY/vB,GAAOwvB,EAAoB,EACvC,CACJ,YAAAQ,EACA,eAAAC,EACA,yBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,YAAAC,EACA,cAAAvX,EACA,eAAAtZ,EACA,cAAA8wB,EACA,cAAA5wB,EACA,iBAAA6wB,EACA,gBAAA9wB,EACA,aAAAI,EACA,aAAA2wB,CACD,EAAGT,EACED,EAAkB9vB,GAAOyvB,GAA4B,IAAI,EAEzDgB,EAAgBzwB,GAAOuvB,EAAwB,EAE/CmB,EAAe1wB,GAAO2wB,EAAuB,EAC7CC,EAAahuB,EAAS,IAAM3I,EAAM,OAAO,OAAO,EAChD42B,EAAgBjuB,EAAS,IAAM,CACnC,KAAM,CACJ,MAAOoS,CACR,EAAGub,EACJ,OAAOb,GAAcz1B,EAAM,OAAO,QAAS+a,CAAa,CAC9D,CAAK,EACK2F,EAAoB/X,EAAS,IAAM,CACvC,KAAM,CACJ,SAAAiQ,CACR,EAAU5Y,EAAM,OACV,OAAO4Y,CACb,CAAK,EACKie,EAAiBluB,EAAS,IAAM,CACpC,GAAI,CAACiuB,EAAc,MAAO,MAAO,GACjC,KAAM,CACJ,IAAA53B,EACA,SAAA4Z,CACR,EAAU5Y,EAAM,OACV,GAAI4Y,EAAU,MAAO,GACrB,KAAM,CACJ,MAAOke,EACR,EAAGf,EACE,CACJ,MAAOgB,EACR,EAAGf,EACE,CACJ,MAAOgB,CACR,EAAGf,EACE,CACJ,MAAOgB,CACR,EAAGf,EACJ,OAAIY,KAAa,KAAaG,EAAe,SAASj4B,CAAG,EACrD+3B,KAAgB,KACXE,EAAe,SAASj4B,CAAG,GAAKi4B,EAAeA,EAAe,OAAS,CAAC,IAAMj4B,EAEnFg4B,IAA0B,KAAaC,EAAe,SAASj4B,CAAG,EAC/D,EACb,CAAK,EACKZ,EAAiBuK,EAAS,IACvBqtB,EAAe,QAAU,MAAQ,CAACI,EAAY,KACtD,EACKc,EAAyBj5B,GAAgB44B,EAAgB,IAAKz4B,CAAc,EAC5E+4B,EAA2BxuB,EAAS,IACjC,CAAC,EAAEktB,GAAoB,MAA8CA,EAAgB,mBAAmB,MAChH,EACKuB,EAAqB15B,EAAI,EAAK,EACpCsN,GAAQwqB,GAA4B,CAClC,mBAAA4B,CACN,CAAK,EAED,SAASC,GAA2B,CAClCD,EAAmB,MAAQ,EAC5B,CACD,SAASE,GAA0B,CACjCF,EAAmB,MAAQ,EAC5B,CACD,SAAS9wB,GAAmB,CAC1B,KAAM,CACJ,UAAAixB,EACA,OAAAlxB,CACD,EAAGrG,EACAqG,EAAO,UACNwY,EAAc,QACnBoX,EAAyB,MAAQsB,EACjCvB,EAAe,MAAQ,KACvBD,EAAY,MAAQ1vB,EAAO,IAC5B,CACD,SAASE,GAAkB,CACzB,KAAM,CACJ,OAAAF,CACD,EAAGrG,EACAqG,EAAO,UACNwY,EAAc,OACfkX,EAAY,QAAU1vB,EAAO,KACjCC,GACD,CACD,SAAS0O,EAAiBhX,EAAG,CAE3B,GADIgC,EAAM,OAAO,UACb,CAAC6e,EAAc,MAAO,OAC1B,KAAM,CACJ,cAAA2Y,CACD,EAAGx5B,EACAw5B,GAAiB,CAACjtB,GAAU,CAC9B,OAAQitB,CAChB,EAAS,gBAAgB,GAAK,CAACjtB,GAAU,CACjC,OAAQitB,CACT,EAAE,eAAe,IAChBzB,EAAY,MAAQ,KAEvB,CACD,SAAS3vB,GAAc,CACrB,KAAM,CACJ,MAAOqxB,CACR,EAAGb,EACE,CACJ,OAAAvwB,CACD,EAAGrG,EACC6e,EAAc,OACf,CAAC4Y,GAAc,CAACpxB,EAAO,WACzByvB,EAAU,SAASzvB,EAAO,IAAKA,EAAO,OAAO,EAC7CyvB,EAAU,aAAa,EAAK,EAE/B,CACD,MAAO,CACL,WAAYrwB,EACZ,YAAaF,EACb,WAAY8wB,EACZ,eAAgBG,EAAc,YAC9B,kBAAmBA,EAAc,cACjC,UAAWD,EACX,YAAaE,EACb,SAAUL,EACV,kBAAmBztB,EAAS,IACnBuuB,EAAuB,OAAS,CAACC,EAAyB,KAClE,EACD,QAASR,EACT,WAAYC,EACZ,QAAS1wB,GAAQ,IAAM,CACrB,KAAM,CACJ,MAAO+wB,CACR,EAAGf,EACE,CACJ,IAAAl3B,CACV,EAAYgB,EAAM,OACV,OAAOi3B,EAAe,SAASj4B,CAAG,CAC1C,CAAO,EACD,YAAakH,GAAQ,IAAM,CACzB,KAAM,CACJ,MAAOwxB,CACR,EAAGvB,EACE,CACJ,IAAAn3B,CACV,EAAYgB,EAAM,OACJ6iB,GAAQ6U,EAAc,UAAUC,IAAK34B,IAAQ24B,EAAC,EACpD,OAAI9U,KAAU,GAAW,GAClBA,GAAQ6U,EAAc,OAAS,CAC9C,CAAO,EACD,OAAQxxB,GAAQ,IAAM,CACpB,KAAM,CACJ,MAAOwxB,CACR,EAAGvB,EACE,CACJ,IAAAn3B,CACV,EAAYgB,EAAM,OACJ6iB,GAAQ6U,EAAc,UAAUC,IAAK34B,IAAQ24B,EAAC,EACpD,OAAI9U,KAAU,GAAW,GAClBA,KAAU6U,EAAc,OAAS,CAChD,CAAO,EACD,eAAgBhX,EAChB,aAAclb,EACd,UAAWI,EACX,YAAAQ,EACA,gBAAAG,EACA,iBAAAD,EACA,iBAAA0O,EACA,yBAAAqiB,EACA,wBAAAC,CACN,CACG,EACD,QAAS,CACP,IAAIntB,EAAIS,EACR,KAAM,CACJ,SAAAgtB,EACA,QAAA/wB,EACA,kBAAAgxB,EACA,UAAA9yB,EACA,eAAA+yB,EACA,kBAAAC,EACA,YAAA5wB,EACA,WAAA6wB,EACA,aAAA9wB,EACA,UAAAD,EACA,MAAAjH,EACA,WAAAi4B,CACD,EAAG,KACJ,IAAIC,EAAe,KACnB,GAAIL,EAAmB,CACrB,MAAMM,GAAoBhuB,EAAK,KAAK,aAAe,MAAQA,IAAO,OAAS,OAASA,EAAG,KAAK,KAAMtD,EAASA,EAAQ,QAAQ,EAC3HqxB,EAAen2B,EAAEy0B,GAAe,OAAO,OAAO,CAAE,EAAE2B,EAAkB,CAClE,UAAWpzB,EACX,WAAY,KAAK,WACjB,QAAS,KAAK,OAAO,SACrB,UAAW,KAAK,OAAO,GACxB,CAAA,CAAC,CACH,CACD,MAAMqzB,EAAe,CACnB,MAAO,CAAC,GAAGrzB,CAAS,wBAAyB,KAAK,SAAW,GAAGA,CAAS,iCAAkC,KAAK,QAAU,GAAGA,CAAS,gCAAiC,KAAK,aAAe,GAAGA,CAAS,sCAAuC,KAAK,gBAAkB,GAAGA,CAAS,iCAAiC,EAClT,YAAa,KAAK,gBAClB,aAAc,KAAK,iBACnB,aAAc,KAAK,iBACnB,QAAS,KAAK,WACpB,EACUszB,EAAkBpxB,GAAc,KAA+B,OAASA,EAAUJ,CAAO,EACzFU,EAAOxF,EAAE,MAAO,OAAO,OAAO,CAClC,MAAO,CAAC,GAAGgD,CAAS,mBAAoBszB,GAAoB,KAAqC,OAASA,EAAgB,KAAK,EAC/H,uBAAwB,EAC9B,EAAOA,CAAe,EAAGt2B,EAAE,MAAO8sB,GAAWuJ,EAAcp4B,CAAK,EAAG,CAAC+B,EAAE,MAAO,CACvE,MAAO,CAAC,GAAGgD,CAAS,gCAAiC+yB,GAAkB,GAAG/yB,CAAS,0CAA0C,CAC9H,EAAE,CAACizB,EAAaA,EAAWnxB,CAAO,EAAIQ,GAAOR,EAAQ,IAAI,CAAC,CAAC,EAAG9E,EAAE,MAAO,CACtE,uBAAwB,GACxB,MAAO,GAAGgD,CAAS,8BACzB,EAAOoC,EAAcA,EAAYN,CAAO,EAAIQ,IAAQuD,EAAK/D,EAAQ,KAAK,UAAU,KAAO,MAAQ+D,IAAO,OAASA,EAAK/D,EAAQ,KAAK,CAAC,EAAG9E,EAAE,MAAO,CACxI,uBAAwB,GACxB,MAAO,CAAC,GAAGgD,CAAS,gCAAiCgzB,GAAqB,GAAGhzB,CAAS,4CAA4C,CACnI,EAAE,KAAK,WAAahD,EAAEu2B,GAAO,KAAM,CAClC,QAAS,IAAMv2B,EAAEw2B,GAAkB,IAAI,CAC7C,CAAK,EAAI,IAAI,CAAC,CAAC,EAAG,KAAK,WAAax2B,EAAE8hB,GAAS,KAAM,CAC/C,QAAS,IAAM,CAAC9hB,EAAE+hB,GAAS,KAAM,CAC/B,QAAS,IAAM/hB,EAAE,MAAO,CACtB,MAAO,GAAGgD,CAAS,4BAC7B,EAAWhD,EAAEgiB,GAAW,CACd,KAAM,KAAK,kBACX,UAAW,KAAK,UAChB,GAAIkU,GAAa,KAAK,aAAe,OACrC,iBAAkB,CAACA,CAC7B,EAAW,CACD,QAAS,IACAl2B,EAAE,MAAO,CACd,MAAO,GAAGgD,CAAS,wBACjC,EAAe6yB,EAAW71B,EAAEiD,GAAY,CAC1B,cAAe,KAAK,yBACpB,aAAc,KAAK,wBACnB,KAAM,8BACN,OAAQ,EACtB,EAAe,CACD,QAAS,IAAMkzB,CAC7B,CAAa,EAAIA,CAAY,CAE7B,CAAS,CAAC,CACV,CAAO,CAAC,CACR,CAAK,EAAI,IAAI,EACT,OAAIhxB,EACKA,EAAa,CAClB,KAAAK,EACA,OAAQV,CAChB,CAAO,EAEIU,CACR,CACH,CAAC,ECvSDixB,GAAez4B,GAAgB,CAC7B,KAAM,sBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,CACF,EACD,OAAQ,CACN,KAAM,CACJ,YAAA04B,EACA,cAAA7B,CAEN,EAAQ7wB,GAAOuvB,EAAwB,EAC7B,CACJ,eAAA/vB,EACA,cAAAE,EACA,aAAAG,EACA,gBAAAJ,CACD,EAEDO,GAAOwvB,EAAoB,EAC3B,MAAO,CACL,WAAY9vB,EACZ,SAAUgzB,EACV,WAAY7B,EACZ,YAAarxB,EACb,UAAWK,EACX,aAAcJ,CACpB,CACG,EACD,QAAS,CACP,IAAI2E,EACJ,KAAM,CACJ,UAAApF,EACA,WAAA0yB,EACA,SAAAiB,EACA,UAAAzxB,EACA,YAAAE,EACA,aAAAD,CACD,EAAG,KACE,CACJ,QAAAL,CACN,EAAQ,KAAK,OACHU,EAAOxF,EAAE,MAAO,OAAO,OAAO,CAClC,MAAO,GAAGgD,CAAS,kBACpB,EAAEkC,GAAc,KAA+B,OAASA,EAAUJ,CAAO,CAAC,EAAG9E,EAAE,MAAO,CACrF,MAAO,GAAGgD,CAAS,yBAAyBA,CAAS,8BAC3D,EAAOhD,EAAE,MAAO,CACV,uBAAwB,GACxB,MAAO,CAAC,GAAGgD,CAAS,gCAAiC2zB,GAAY,GAAG3zB,CAAS,0CAA0C,CAC7H,EAAOsC,GAAOR,EAAQ,IAAI,CAAC,EAAG9E,EAAE,MAAO,CACjC,MAAO,GAAGgD,CAAS,+BACnB,uBAAwB,EAC9B,EAAOoC,EAAcA,EAAYN,CAAO,EAAIQ,IAAQ8C,EAAKtD,EAAQ,SAAW,MAAQsD,IAAO,OAASA,EAAKtD,EAAQ,KAAK,UAAU,CAAC,CAAC,EAAG9E,EAAE,MAAO,CACxI,MAAO,CAAC,GAAGgD,CAAS,gCAAiC0yB,GAAc,GAAG1yB,CAAS,4CAA4C,EAC3H,uBAAwB,EACzB,CAAA,CAAC,CAAC,EACH,OAAImC,EACKA,EAAa,CAClB,KAAAK,EACA,OAAQV,CAChB,CAAO,EAEIU,CACR,CACH,CAAC,EClEDoxB,GAAe54B,GAAgB,CAC7B,KAAM,iBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACV,CACF,EACD,QAAS,CACP,KAAM,CACJ,OAAAsG,EACA,UAAAkxB,EACA,UAAAxyB,CACD,EAAG,KACE,CACJ,SAAAtE,CACD,EAAG4F,EACJ,OAAOtE,EAAEqY,GAAU,KAAMrY,EAAEy2B,GAAsB,CAC/C,UAAWzzB,EACX,OAAQsB,EACR,IAAKA,EAAO,GAClB,CAAK,EAAG5F,GAAa,KAA8B,OAASA,EAAS,IAAIC,GAAS,CAC5E,KAAM,CACJ,QAAAmG,CACD,EAAGnG,EACJ,OAAImG,EAAQ,OAAS,GAAc,KAC/B8uB,GAAc9uB,CAAO,EAChB9E,EAAEszB,GAAkB,CACzB,UAAAtwB,EACA,IAAKrE,EAAM,GACrB,CAAS,EAECA,EAAM,SACRk4B,GAAK,WAAY,wDAAwD,EAClE,MAEF72B,EAAE8zB,GAAiB,CACxB,UAAW9wB,EACX,OAAQrE,EACR,UAAW62B,EACX,IAAK72B,EAAM,GACnB,CAAO,CACF,CAAA,CAAC,CACH,CACH,CAAC,EC1DDm4B,GAAe94B,GAAgB,CAC7B,KAAM,uBACN,MAAO,CACL,OAAQ,CACN,KAAM,OACN,SAAU,EACX,CACF,EACD,QAAS,CACP,KAAM,CACJ,QAAS,CACP,OAAAsH,EACA,MAAArH,CACD,CACP,EAAQ,KAAK,OACT,OAAO+B,EAAE,MAAO/B,EAAO,CAACqH,GAAW,KAA4B,OAASA,EAAM,CAAE,CAAC,CAClF,CACH,CAAC,ECJDmvB,GAAez2B,GAAgB,CAC7B,KAAM,eACN,MAAO,CACL,WAAY,QACZ,UAAW,QACX,WAAY,CAAC,OAAQ,MAAM,EAC3B,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAE,CAClB,EACD,UAAW,CACT,KAAM,CAAC,OAAQ,MAAM,EACrB,QAAS,IACV,CACF,EACD,MAAMC,EAAO,CAEX,KAAM,CACJ,cAAAq2B,EACA,iBAAAC,CACN,EAAQvwB,GAAOwvB,EAAoB,EAC/BvqB,GAAQsqB,GAA0B,CAChC,YAAa3sB,EAAS,IAAM,CAC1B,MAAMqvB,EAAa3B,EAAc,MACjC,OAAOr2B,EAAM,QAAQ,KAAKqG,GAAU,CAClC,IAAI8D,EACJ,GAAI9D,EAAO,QACT,OAAQ8D,EAAK9D,EAAO,YAAc,MAAQ8D,IAAO,OAAS,OAASA,EAAG,KAAK,CAAC,CAC1E,QAAS2uB,CACvB,IAAkBd,EAAaA,EAAWc,CAAQ,EAAIA,EAAS,IAAI,EAEzD,KAAM,CACJ,QAAAjyB,CACD,EAAGR,EACJ,OAAO2xB,EAAaA,EAAWnxB,CAAO,EAAIA,EAAQ,IAC5D,CAAS,CACT,CAAO,EACD,cAAe8B,EAAS,IAAM,CAC5B,KAAM,CACJ,MAAOoS,CACR,EAAGub,EACJ,OAAOt2B,EAAM,QAAQ,KAAKqG,GAAU,CAClC,IAAI8D,EACJ,GAAI9D,EAAO,QACT,OAAQ8D,EAAK9D,EAAO,YAAc,MAAQ8D,IAAO,OAAS,OAASA,EAAG,KAAK,CAAC,CAC1E,QAAS2uB,CACV,IAAKrD,GAAcqD,EAAU/d,CAAa,CAAC,EAE9C,KAAM,CACJ,QAAAlU,CACD,EAAGR,EACJ,OAAOovB,GAAc5uB,EAASkU,CAAa,CACrD,CAAS,CACT,CAAO,CACP,CAAK,EACD,MAAMge,EAAUr7B,EAAI,IAAI,EACxB,OAAAsN,GAAQguB,GAAuB,IAAI,EACnChuB,GAAQiuB,GAAwB,IAAI,EACpCjuB,GAAQ0rB,GAAyBqC,CAAO,EACjC,CACL,QAAAA,CACN,CACG,EACD,QAAS,CACP,KAAM,CACJ,UAAAxB,EACA,UAAAxyB,EACA,WAAAkzB,CACD,EAAG,KACEiB,EAAkB,KAAK,QAAQ,IAAI7yB,GAAU,CACjD,KAAM,CACJ,QAAAQ,CACD,EAAGR,EACJ,OAAIQ,EAAQ,OAAS,GAAc,KAC/B+uB,GAAa/uB,CAAO,EACf9E,EAAE82B,GAAuB,CAC9B,OAAQxyB,EACR,IAAKA,EAAO,GACtB,CAAS,EAECsvB,GAAc9uB,CAAO,EAChB9E,EAAEszB,GAAkB,CACzB,UAAWtwB,EACX,IAAKsB,EAAO,GACtB,CAAS,EAECqvB,GAAY7uB,CAAO,EACd9E,EAAE42B,GAAgB,CACvB,UAAW5zB,EACX,OAAQsB,EACR,UAAWkxB,EACX,IAAKlxB,EAAO,GACtB,CAAS,EAEItE,EAAE8zB,GAAiB,CACxB,UAAW9wB,EACX,OAAQsB,EACR,UAAWkxB,EACX,IAAKlxB,EAAO,IACZ,MAAOQ,EAAQ,MACf,WAAYoxB,CACpB,CAAO,CACP,CAAK,EACD,OAAOl2B,EAAE,MAAO,CACd,MAAO,CAAC,GAAGgD,CAAS,iBAAkBkzB,GAAc,GAAGlzB,CAAS,4BAA4B,EAC5F,IAAK,SACX,EAAOkzB,EAAal2B,EAAEo3B,GAAa,CAC7B,aAAc,GAAGp0B,CAAS,yBAChC,EAAO,CACD,QAAS,IAAMm0B,CAChB,CAAA,EAAIA,EAAiB,KAAK,UAAYE,GAAY,CACjD,UAAAr0B,EACA,WAAY,KAAK,WACjB,WAAY,OACZ,kBAAmB,OACnB,kBAAmB,MACzB,CAAK,EAAI,IAAI,CACV,CACH,CAAC,EC9GDs0B,GAAe3xB,EAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAShC,CAACI,GAAuB,EAAIJ,EAAG,kBAAmB;AAAA;AAAA,GAEjD,CAAC7H,GAAE,IAAK;AAAA;AAAA;AAAA;AAAA,GAIR,CAACA,GAAE,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlB,CAAC,CAAC,EAAG6H,EAAG,uBAAwB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAS9B,CAAC7H,GAAE,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlB,EAAGgI,GAAM,WAAY,CAACD,EAAG,UAAW;AAAA;AAAA,GAElC,CAACD,GAAG,iBAAkB;AAAA;AAAA,EAExB,EAAG9H,GAAE,YAAa,gDAAgD,CAAC,CAAC,EAAG+H,EAAG,SAAU;AAAA;AAAA,GAElF,CAACD,GAAG,iBAAkB;AAAA;AAAA,EAExB,EAAG9H,GAAE,YAAa,iDAAiD,CAAC,CAAC,EAAG+H,EAAG,eAAgB;AAAA;AAAA,GAEzF,CAACD,GAAG,iBAAkB;AAAA;AAAA,EAExB,CAAC,CAAC,CAAC,CAAC,EAAGC,EAAG,WAAY;AAAA;AAAA;AAAA,EAGtB,EAAGA,EAAG,QAAS;AAAA;AAAA;AAAA,GAGb,CAACD,GAAG,SAAU;AAAA;AAAA,GAEd,CAACC,EAAG,YAAa;AAAA;AAAA,EAEnB,CAAC,CAAC,CAAC,CAAC,EAAGD,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQlB,CAACC,EAAG,YAAa;AAAA;AAAA,EAEnB,EAAGF,EAAG,OAAQ;AAAA;AAAA,EAEd,CAAC,CAAC,EAAGC,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA,EAIjB,EAAGA,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAYd,CAACC,EAAG,cAAe;AAAA;AAAA,EAErB,EAAGF,EAAG,OAAQ;AAAA;AAAA,EAEd,CAAC,CAAC,EAAGA,EAAG,gBAAiB,sBAAsB,CAAC,CAAC,EAAGA,EAAG,4BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpF,CAAC,CAAC,EAAGA,EAAG,mBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAK5B,EAAGA,EAAG,wBAAyB;AAAA;AAAA;AAAA,EAG/B,EAAG7H,GAAE,IAAK,CAAC6H,EAAG,YAAa;AAAA;AAAA;AAAA,EAG3B,CAAC,CAAC,EAAGG,GAAM,aAAc;AAAA;AAAA,EAEzB,EAAGD,EAAG,aAAc,CAACD,GAAG,UAAW;AAAA;AAAA,EAEnC,CAAC,CAAC,CAAC,CAAC,ECnIA2xB,GAAoB,CACxB,SAAU,CACR,KAAM,QACN,QAAS,EACV,EACD,SAAU,CACR,KAAM,QACN,QAAS,EACV,EACD,KAAM,CACJ,KAAM,OACN,QAAS,QACV,EACD,SAAU,QACV,UAAW,CACT,KAAM,OACN,QAAS,QACV,EACD,SAAU,CAAC,SAAU,KAAK,EAC1B,QAAS,CACP,KAAM,MACN,QAAS,IAAM,CAAE,CAClB,EACD,UAAW,SACX,UAAW,QACX,YAAa,SACb,WAAY,SACZ,aAAc,SACd,UAAW,SACX,WAAY,CACV,KAAM,OACN,QAAS,OACV,EACD,SAAU,CACR,KAAM,OACN,QAAS,KACV,EACD,cAAe,CACb,KAAM,OACN,QAAS,UACV,EAED,MAAO,CAAC,OAAQ,MAAM,CACxB,EACMC,GAAkB,OAAO,KAAKnc,EAAgB,EACvCoc,GAAgB,OAAO,OAAO,OAAO,OAAO,OAAO,OAAO,CAAE,EAAEpc,EAAgB,EAAGkc,EAAiB,EAAGtxB,GAAS,KAAK,EAChI8tB,GAAe/1B,GAAgB,CAC7B,KAAM,WACN,aAAc,GACd,MAAOy5B,GACP,MAAMx5B,EAAO,CACX,MAAM4e,EAAsBlhB,EAAI,EAAK,EAC/BmhB,EAAgBP,GAAe/V,GAAMvI,EAAO,MAAM,EAAG4e,CAAmB,EACxE6a,EAAc9wB,EAAS,IAAM,CACjC,KAAM,CACJ,SAAA+wB,EACA,cAAA3e,CACD,EAAG/a,EACJ,OAAOkc,GAAelc,EAAM,QAAS,CACnC,OAAOuH,EAAM,CACX,OAAOA,EAAKmyB,CAAQ,CACrB,EACD,YAAYnyB,EAAM,CAChB,OAAOA,EAAK,WAAa,EAC1B,EACD,WAAWA,EAAM,CACf,OAAOA,EAAK,OAAS,WAAaA,EAAK,OAAS,QACjD,EACD,YAAYA,EAAM,CAChB,OAAOA,EAAKwT,CAAa,CAC1B,CACT,CAAO,CACP,CAAK,EACK4e,EAAahxB,EAAS,IACnB8wB,EAAY,MAAM,SAC1B,EACK1D,EAAcr4B,EAAI,IAAI,EACtBs4B,EAAiBt4B,EAAI,IAAI,EACzBu4B,EAA2Bv4B,EAAI,IAAI,EACnCk8B,EAAgBjxB,EAAS,IAAM,CACnC,IAAIwB,EAAIS,EAAIoL,EACZ,OAAQA,GAAMpL,GAAMT,EAAK4rB,EAAY,SAAW,MAAQ5rB,IAAO,OAASA,EAAK6rB,EAAe,SAAW,MAAQprB,IAAO,OAASA,EAAKqrB,EAAyB,SAAW,MAAQjgB,IAAO,OAASA,EAAK,IAC3M,CAAK,EACKkgB,EAAoBvtB,EAAS,IAAM8wB,EAAY,MAAM,QAAQG,EAAc,KAAK,EAAE,OAAO,EACzFzD,EAAmBxtB,EAAS,IAAM8wB,EAAY,MAAM,QAAQz5B,EAAM,KAAK,EAAE,OAAO,EAChF65B,EAAqB3zB,GAAQ,IAC1BlG,EAAM,UAAY6e,EAAc,KACxC,EACDrgB,GAAY,CACV,QAAS,CACP,QAAS,CACP,QAAS,GACT,QAASs7B,CACV,EACD,WAAY,CACV,QAAS,GACT,QAASC,CACV,EACD,UAAW,CACT,QAAS,GACT,QAASC,CACV,EACD,UAAW,CACT,QAAS,GACT,QAASC,CACV,EACD,MAAO,CACL,QAAS,GACT,QAASC,CACV,EACD,OAAQC,CACT,CACF,EAAEN,CAAkB,EACrB,KAAM,CACJ,mBAAA5xB,EACA,oBAAAsE,CACN,EAAQpE,GAAUnI,CAAK,EACbsI,EAAWN,GAAS,WAAY,YAAapI,GAAO6tB,GAAeztB,EAAOiI,CAAkB,EAClG+C,GAAQuqB,GAAsB,CAC5B,cAAehtB,GAAMvI,EAAO,YAAY,EACxC,iBAAkBuI,GAAMvI,EAAO,eAAe,EAC9C,eAAgBuI,GAAMvI,EAAO,aAAa,EAC1C,cAAeuI,GAAMvI,EAAO,YAAY,EACxC,YAAA+1B,EACA,eAAAC,EACA,yBAAAC,EACA,kBAAAC,EACA,iBAAAC,EACA,YAAa5tB,GAAMvI,EAAO,UAAU,EACpC,cAAA6e,EACA,aAActW,GAAMvI,EAAO,WAAW,EACtC,gBAAiBuI,GAAMvI,EAAO,cAAc,EAC5C,aAAcuI,GAAMvI,EAAO,WAAW,EACtC,SAAAo6B,EACA,aAAA/Y,CACN,CAAK,EAED9iB,GAAMsgB,EAAerhB,GAAS,CACxB,CAACwC,EAAM,UAAY,CAACxC,GACtB68B,GAER,CAAK,EAED,SAASD,EAASp7B,EAAKuI,EAAM,CAC3B,KAAM,CACJ,SAAA+yB,CACD,EAAGt6B,EACAs6B,GAAU3qB,GAAK2qB,EAAUt7B,EAAKuI,CAAI,CACvC,CACD,SAAS8Z,EAAa7jB,EAAO,CAC3B,KAAM,CACJ,gBAAiBuf,EACjB,aAAAC,CACD,EAAGhd,EACA+c,GAAepN,GAAKoN,EAAevf,CAAK,EACxCwf,GAAcrN,GAAKqN,EAAcxf,CAAK,EAC1CohB,EAAoB,MAAQphB,CAC7B,CACD,SAAS68B,GAAoB,CAC3BtE,EAAY,MAAQ,KACpBC,EAAe,MAAQ,KACvBC,EAAyB,MAAQ,IAClC,CACD,SAASkE,GAAmB,CAC1B9Y,EAAa,EAAK,CACnB,CACD,SAAS4Y,GAAoB,CAC3B3W,EAAc,MAAM,CACrB,CACD,SAASyW,GAAqB,CAC5BzW,EAAc,OAAO,CACtB,CACD,SAASwW,GAAkB,CACzBxW,EAAc,IAAI,CACnB,CACD,SAAS0W,GAAoB,CAC3B1W,EAAc,MAAM,CACrB,CACD,SAAS4W,GAAqB,CAC5B,MAAM9wB,EAAcmxB,IACfnxB,GAAgB,MAA0CA,EAAY,QAAWyV,EAAc,QAClGub,EAAShxB,EAAY,IAAKA,EAAY,OAAO,EAC7CiY,EAAa,EAAK,EAErB,CACD,SAASkZ,GAAiB,CACxB,IAAIpwB,EACJ,KAAM,CACJ,MAAOnB,CACR,EAAGywB,EACE,CACJ,MAAOe,CACR,EAAGZ,EACJ,MAAI,CAAC5wB,GAAYwxB,IAAe,KAAa,MACrCrwB,EAAKnB,EAAS,QAAQwxB,CAAU,KAAO,MAAQrwB,IAAO,OAASA,EAAK,IAC7E,CACD,SAASmZ,EAAcmX,EAAW,CAChC,KAAM,CACJ,MAAOD,CACR,EAAGZ,EACE,CACJ,MAAO,CACL,sBAAAc,CACD,CACF,EAAGjB,EACJ,IAAIkB,EAAkB,KACtB,GAAIH,IAAe,KAAM,CACvB,MAAMI,EAAYF,IACdE,IAAc,OAChBD,EAAkBC,EAAU,IAEtC,KAAa,CACL,MAAMC,EAAcN,IACpB,GAAIM,EAAa,CACf,IAAIC,EACJ,OAAQL,EAAS,CACf,IAAK,OACHK,EAAWD,EAAY,UACvB,MACF,IAAK,KACHC,EAAWD,EAAY,UACvB,MACF,IAAK,QACHC,EAAWD,EAAY,WACvB,MACF,IAAK,OACHC,EAAWD,EAAY,YACvB,KACH,CACGC,IAAUH,EAAkBG,EAAS,IAC1C,CACF,CACGH,IAAoB,OACtB5E,EAAY,MAAQ,KACpBC,EAAe,MAAQ2E,EAE1B,CACD,MAAMzvB,EAAavC,EAAS,IAAM,CAChC,KAAM,CACJ,KAAArL,EACA,SAAAy9B,CACD,EAAG/6B,EACE,CACJ,OAAQ,CACN,qBAAAmL,CACD,EACD,KAAA9K,CACR,EAAUiI,EAAS,MACP,CACJ,QAAA0H,EACA,aAAAxM,EACA,aAAAH,EACA,sBAAAuI,GACA,CAACnC,GAAU,wBAAyBnM,CAAI,CAAC,EAAG09B,GAC5C,CAACvxB,GAAU,oBAAqBnM,CAAI,CAAC,EAAG29B,EACxC,CAACxxB,GAAU,wBAAyBnM,CAAI,CAAC,EAAG49B,EAC5C,CAACzxB,GAAU,oBAAqBnM,CAAI,CAAC,EAAG69B,EACxC,CAAC1xB,GAAU,WAAYnM,CAAI,CAAC,EAAG8O,EAC/B,CAAC3C,GAAU,eAAgBnM,CAAI,CAAC,EAAG+O,EACnC,CAAC5C,GAAU,iBAAkBnM,CAAI,CAAC,EAAG89B,EACtC,EAAG/6B,EACE+C,GAAO,CACX,aAAc+H,EACd,gBAAiBiB,EACjB,cAAe4D,EACf,oBAAqB3M,EACrB,oBAAqBgJ,EACrB,0BAA2B8uB,EAC3B,+BAAgCD,EAChC,0BAA2BD,EAC3B,+BAAgCD,GAChC,uBAAwBI,GACxB,oBAAqB53B,EACrB,8BAA+BoI,EACvC,EAEM,OAAImvB,GACF33B,GAAK,WAAW,EAAI/C,EAAK,cACzB+C,GAAK,wBAAwB,EAAI/C,EAAK,yBACtC+C,GAAK,yBAAyB,EAAI/C,EAAK,0BACvC+C,GAAK,uBAAuB,EAAI/C,EAAK,wBACrC+C,GAAK,6BAA6B,EAAI/C,EAAK,6BAC3C+C,GAAK,8BAA8B,EAAI/C,EAAK,8BAC5C+C,GAAK,oCAAoC,EAAI/C,EAAK,mCAClD+C,GAAK,kBAAkB,EAAI/C,EAAK,oBAChC+C,GAAK,kBAAkB,EAAI/C,EAAK,oBAChC+C,GAAK,6BAA6B,EAAI/C,EAAK,+BAE3C+C,GAAK,WAAW,EAAI/C,EAAK,MACzB+C,GAAK,wBAAwB,EAAI/C,EAAK,iBACtC+C,GAAK,yBAAyB,EAAI/C,EAAK,kBACvC+C,GAAK,uBAAuB,EAAI/C,EAAK,gBACrC+C,GAAK,6BAA6B,EAAI/C,EAAK,qBAC3C+C,GAAK,8BAA8B,EAAI/C,EAAK,sBAC5C+C,GAAK,oCAAoC,EAAI/C,EAAK,2BAClD+C,GAAK,kBAAkB,EAAI/C,EAAK,YAChC+C,GAAK,kBAAkB,EAAI/C,EAAK,YAChC+C,GAAK,6BAA6B,EAAI/C,EAAK,sBAEtC+C,EACb,CAAK,EACKoJ,EAAmBD,EAAsBE,GAAc,WAAY9D,EAAS,IAAM,GAAG3I,EAAM,KAAK,CAAC,CAAC,GAAGA,EAAM,SAAW,IAAM,EAAE,EAAE,EAAGkL,EAAYlL,CAAK,EAAI,OAC9J,MAAO,CACL,gBAAiBiI,EACjB,YAAaK,EAEb,QAASqxB,EAET,WAAY9a,EAEZ,iBAAkB,IAAM,CACjB7e,EAAM,UACXq6B,GACD,EACD,aAAAhZ,EACA,QAAS9U,EAAsB,OAAYrB,EAC3C,WAAYsB,GAAqB,KAAsC,OAASA,EAAiB,WACjG,SAAUA,GAAqB,KAAsC,OAASA,EAAiB,QACrG,CACG,EACD,QAAS,CACP,MAAM6uB,EAAoB,CAAC7d,EAAW9f,EAAKkC,EAAO6d,EAAcC,IAAiB,CAC/E,IAAIvT,EACJ,KAAM,CACJ,gBAAAoH,EACA,UAAA+pB,CACD,EAAG,MACHnxB,EAAK,KAAK,YAAc,MAAQA,IAAO,QAAkBA,EAAG,KAAK,IAAI,EACtE,MAAMoxB,GAAiBD,GAAc,KAA+B,OAASA,EAAU,OAAW,KAAK,QAAQ,IAAIxe,GAAKA,EAAE,OAAO,CAAC,IAAM,GAClI0c,EAAgB,CACpB,IAAK/7B,GAAgBC,CAAG,EACxB,MAAO,CAAC8f,EAAW,GAAGjM,CAAe,YAAa,KAAK,UAAU,EACjE,UAAWA,EACX,QAAS,KAAK,QACd,MAAO,CAAC,GAAG3R,EAAO,KAAK,OAAO,EAC9B,UAAW,KAAK,UAChB,WAAY,KAAK,WACjB,WAAY,KAAK,WACjB,aAAA6d,EACA,aAAAC,CACR,EACM,OAAO3b,EAAEy0B,GAAe3H,GAAW,KAAK,OAAQ2K,EAAe+B,CAAa,CAAC,CACnF,EACU,CACJ,YAAA3uB,CACD,EAAG,KACEqN,EAAe,CACnB,KAAM,KAAK,WACX,MAAOrN,EAAY,MAAM,QACzB,eAAgBA,EAAY,cAAc,QAC1C,qBAAsB,KAAK,iBAC3B,mBAAoByuB,EACpB,aAAc,KAAK,aACnB,gBAAiB,MACvB,EACI,OAAOt5B,EAAEsY,GAAU,OAAO,OAAO,CAAE,EAAEuD,GAAK,KAAK,OAAQ2b,EAAe,EAAGtf,CAAY,EAAG,CACtF,QAAS,IAAM,CACb,IAAI9P,EAAIS,EACR,OAAQA,GAAMT,EAAK,KAAK,QAAQ,WAAa,MAAQS,IAAO,OAAS,OAASA,EAAG,KAAKT,CAAE,CACzF,CACP,CAAK,CACF,CACH,CAAC,EChXKqxB,GAAS,WACTC,GAAU,YAChB,SAASC,GAAoBj9B,EAASk9B,EAAqBC,EAAYC,EAAc,CACnF,OAAKp9B,EACEO,GAAO,CACZ,UAAW6U,KAAUpV,EACnB,OAAQO,EAAG,CACT,KAAKw8B,GACHI,EAAW,EAAI,EACf,OACF,KAAKH,GACHI,EAAa,EAAI,EACjB,OACF,QACE,GAAI,OAAOhoB,GAAW,UAAYA,EAAO,MAAQ7U,EAAK,CACpD6U,EAAO,SAAS8nB,EAAoB,KAAK,EACzC,MACD,CACJ,CAEP,EAjBuB,IAAM,EAkB7B,CACA,SAASG,GAAsBr9B,EAASwgB,EAAW,CACjD,OAAKxgB,EACEA,EAAQ,IAAIoV,GAAU,CAC3B,OAAQA,EAAM,CACZ,IAAK,MACH,MAAO,CACL,MAAOoL,EAAU,cACjB,IAAKuc,EACf,EACM,IAAK,OACH,MAAO,CACL,MAAOvc,EAAU,gBACjB,IAAKwc,EACf,EACM,QACE,OAAO5nB,CACV,CACL,CAAG,EAhBoB,EAiBvB,CACA,MAAAkoB,GAAeh8B,GAAgB,CAC7B,KAAM,yBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,CACF,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,MAAOmvB,EACP,UAAAlQ,EACA,gBAAA+c,EACA,oBAAAL,EACA,WAAAC,EACA,aAAAC,CAEN,EAAQ91B,GAAOqpB,EAAqB,EAC1B6M,EAAkBtzB,EAAS,IAAM+yB,GAAoBM,EAAgB,MAAOL,EAAqBC,EAAYC,CAAY,CAAC,EAC1HK,EAAavzB,EAAS,IAAMmzB,GAAsBE,EAAgB,MAAO/c,EAAU,KAAK,CAAC,EAC/F,MAAO,IAAM,CACX,IAAI9U,EAAIS,EAAIoL,EAAIuN,EAChB,KAAM,CACJ,UAAAxe,CACD,EAAG/E,EACJ,OAAO+B,EAAE+zB,GAAW,CAClB,OAAQlrB,GAAMT,EAAKglB,EAAe,SAAW,MAAQhlB,IAAO,OAAS,OAASA,EAAG,SAAW,MAAQS,IAAO,OAAS,OAASA,EAAG,SAChI,gBAAiB2Y,GAAMvN,EAAKmZ,EAAe,kBAAoB,MAAQnZ,IAAO,OAAS,OAASA,EAAG,SAAW,MAAQuN,IAAO,OAAS,OAASA,EAAG,SAClJ,QAAS2Y,EAAW,MACpB,SAAUD,EAAgB,KAClC,EAAS,CACD,QAAS,IAAMl6B,EAAEkD,GAAW,CAC1B,UAAWF,EACX,MAAO,GAAGA,CAAS,yBAC7B,EAAW,CACD,QAAS,IAAMhD,EAAEo6B,GAAiB,IAAI,CAChD,CAAS,CACT,CAAO,CACP,CACG,CACH,CAAC,EC3ED,SAASC,GAAYrL,EAAQ,CAC3B,OAAO,OAAOA,EAAO,OAAU,WAAaA,EAAO,MAAMA,CAAM,EAAIA,EAAO,KAC5E,CACA,MAAAsL,GAAet8B,GAAgB,CAC7B,KAAM,kBACN,MAAO,CACL,SAAU,CACR,KAAM,QACN,QAAS,EACV,CACF,EACD,OAAQ,CACN,KAAM,CACJ,mBAAAkI,EACA,WAAAq0B,EACA,sBAAAC,EACA,uBAAAC,EACA,qBAAAC,EACA,kBAAAC,EACA,mBAAAC,EACA,QAAAC,EACA,QAAAC,EACA,eAAApK,EACA,gBAAAuJ,EACA,mBAAA1M,EACA,YAAAwN,EACA,qBAAAC,EACA,0BAAAC,EACA,uBAAAC,EACA,uBAAAC,EACA,wBAAAC,EACA,iBAAAC,EACA,aAAAvB,EACA,WAAAD,CAEN,EAAQ71B,GAAOqpB,EAAqB,EAC1BiO,EAAa3/B,EAAI,CAAA,CAAE,EACzB,SAAS4/B,EAAmBt+B,EAAK,CAC/B,MAAMu+B,EAAUF,EAAW,MAAMr+B,CAAG,EACpC,OAAOu+B,GAAY,KAA6B,OAASA,EAAQ,sBAAuB,EAAC,KAC1F,CACD,SAASC,GAA8B,CACjCd,EAAkB,MACpBb,IAEAD,GAEH,CACD,SAAS6B,EAAqBz/B,EAAG+yB,EAAQ,CAIvC,GAHIxmB,GAAUvM,EAAG,iBAAiB,GAAKuM,GAAUvM,EAAG,oBAAoB,GAGpE,CAACwzB,GAAiBT,CAAM,EAAG,OAC/B,MAAM2M,EAAepO,EAAmB,MAAM,KAAK3wB,GAASA,EAAM,YAAcoyB,EAAO,GAAG,GAAK,KACzF4M,EAAa/L,GAAiBb,EAAQ2M,CAAY,EACxDN,EAAiBO,CAAU,CAC5B,CACD,MAAMC,EAAsB,IAAI,IAChC,SAASC,EAAwB9M,EAAQ,CACvC6M,EAAoB,IAAI7M,EAAO,IAAKuM,EAAmBvM,EAAO,GAAG,CAAC,CACnE,CACD,SAAS+M,EAAmB/M,EAAQgN,EAAe,CACjD,MAAMC,EAAaJ,EAAoB,IAAI7M,EAAO,GAAG,EACrD,GAAIiN,IAAe,OACjB,OAEF,MAAMC,EAAmBD,EAAaD,EAChCG,EAAavN,GAAyBsN,EAAkBlN,EAAO,SAAUA,EAAO,QAAQ,EAC9FkM,EAAuBgB,EAAkBC,EAAYnN,EAAQuM,CAAkB,EAC/EJ,EAAuBnM,EAAQmN,CAAU,CAC1C,CACD,MAAO,CACL,WAAAb,EACA,YAAAP,EACA,gBAAiBxN,EACjB,gBAAiBrnB,EACjB,QAASq0B,EACT,mBAAoBC,EACpB,oBAAqBC,EACrB,YAAaC,EACb,eAAgBC,EAChB,gBAAiBC,EACjB,KAAMC,EACN,KAAMC,EACN,YAAapK,EACb,aAAcuJ,EACd,kBAAmBe,EACnB,uBAAwBC,EACxB,4BAAAQ,EACA,qBAAAC,EACA,wBAAAN,EACA,wBAAAU,EACA,mBAAAC,CACN,CACG,EACD,QAAS,CACP,KAAM,CACJ,WAAAT,EACA,gBAAA9rB,EACA,mBAAA4sB,EACA,oBAAAC,EACA,YAAAzZ,EACA,eAAA0Z,EACA,gBAAAC,EACA,KAAAhM,EACA,KAAAiM,EACA,YAAA3xB,EACA,aAAA4xB,EACA,YAAA1B,EACA,SAAA2B,EACA,kBAAAC,EACA,uBAAAC,EACA,gBAAA5M,EACA,qBAAA0L,EACA,4BAAAD,EACA,wBAAAK,EACA,mBAAAC,CACD,EAAG,KAEEc,EAAa78B,EAAE,QAAS,CAC5B,MAAO,GAAGwP,CAAe,oBACzB,YAAaurB,CACnB,EAAOxK,EAAK,IAAIjB,GACHtvB,EAAE,KAAM,CACb,MAAO,GAAGwP,CAAe,gBACjC,EAAS8f,EAAI,IAAI,CAAC,CACV,OAAAN,EACA,QAAA8N,EACA,QAAAC,EACA,OAAAC,CACR,IAAY,CACJ,IAAI50B,EAAIS,EACR,MAAM5L,EAAMuxB,GAAUQ,CAAM,EACtB,CACJ,SAAAiO,CACD,EAAGjO,EAEEkO,EAAoB,IACpBlO,EAAO,OAAS,YACXA,EAAO,WAAa,GAAQhvB,EAAEqY,GAAU,KAAMrY,EAAEqxB,GAAW,CAChE,IAAKzO,EACL,mBAAoB,GACpB,QAAS0Z,EACT,cAAeC,EACf,SAAUK,EACV,gBAAiBnB,CAC/B,CAAa,EAAGgB,EAAez8B,EAAEg6B,GAAe,CAClC,UAAWxqB,CACzB,CAAa,EAAI,IAAI,EAAI,KAERxP,EAAEqY,GAAU,KAAMrY,EAAE,MAAO,CAChC,MAAO,GAAGwP,CAAe,+BACrC,EAAaxP,EAAE,MAAO,CACV,MAAO,GAAGwP,CAAe,uBACrC,EAAaytB,IAAa,IAAQA,GAAY,CAACA,EAAS,QAAUj9B,EAAE,MAAO,CAC/D,MAAO,GAAGwP,CAAe,0BACrC,EAAa6qB,GAAYrL,CAAM,CAAC,EACpBiO,GAAY,OAAOA,GAAa,SAAWj9B,EAAEm9B,GAAW,OAAO,OAAO,CAAE,EAAEF,EAAU,CACpF,MAAOpyB,EAAY,MAAM,SACzB,eAAgBA,EAAY,cAAc,QACtD,CAAW,EAAG,CACF,QAAS,IAAMwvB,GAAYrL,CAAM,CAC7C,CAAW,EAAIqL,GAAYrL,CAAM,CAAC,EAAGS,GAAiBT,CAAM,EAAIhvB,EAAEstB,GAAY,CAClE,OAAQ0B,CACpB,CAAW,EAAI,IAAI,EAAGW,GAAmBX,CAAM,EAAIhvB,EAAE8xB,GAAc,CACvD,OAAQ9C,EACR,QAASA,EAAO,aAC5B,CAAW,EAAI,KAAMU,GAAkBV,CAAM,EAAIhvB,EAAE+yB,GAAc,CACrD,cAAe,IAAM,CACnB+I,EAAwB9M,CAAM,CAC/B,EACD,SAAUgN,IAAiB,CACzBD,EAAmB/M,EAAQgN,EAAa,CACzC,CACb,CAAW,EAAI,IAAI,EAELoB,EAAangC,KAAOm/B,EACpBiB,EAAcpgC,KAAOo/B,EAC3B,OAAOr8B,EAAE,KAAM,CACb,IAAKK,IAAMi7B,EAAWr+B,CAAG,EAAIoD,GAC7B,IAAKpD,EACL,MAAO,CACL,UAAW+xB,EAAO,YAAcA,EAAO,MACvC,KAAMsO,IAAMl1B,EAAKg0B,EAAmBn/B,CAAG,KAAO,MAAQmL,IAAO,OAAS,OAASA,EAAG,KAAK,EACvF,MAAOk1B,IAAMz0B,EAAKwzB,EAAoBp/B,CAAG,KAAO,MAAQ4L,IAAO,OAAS,OAASA,EAAG,KAAK,CAC1F,EACD,QAASi0B,EACT,QAASC,EACT,eAAgB9/B,EAChB,MAAO,CAAC,GAAGuS,CAAe,kBAAmB4tB,GAAaC,IAAe,GAAG7tB,CAAe,yBAAyB4tB,EAAY,OAAS,OAAO,GAAI,CAClJ,CAAC,GAAG5tB,CAAe,uBAAuB,EAAGugB,GAAgBf,EAAQgB,CAAe,EACpF,CAAC,GAAGxgB,CAAe,4BAA4B,EAAGmgB,GAAmBX,CAAM,EAC3E,CAAC,GAAGxf,CAAe,0BAA0B,EAAGigB,GAAiBT,CAAM,EACvE,CAAC,GAAGxf,CAAe,2BAA2B,EAAGwf,EAAO,OAAS,YACjE,CAAC,GAAGxf,CAAe,sBAAsB,EAAGwtB,CACxD,EAAahO,EAAO,SAAS,EACnB,QAASA,EAAO,OAAS,aAAeA,EAAO,OAAS,UAAY,EAAE,aAAcA,GAAU/yB,IAAK,CACjGy/B,EAAqBz/B,GAAG+yB,CAAM,CAC1C,EAAc,MACd,EAAWkO,EAAmB,CAAA,CACvB,CAAA,CAAC,CACH,CAAC,EACF,GAAI,CAACR,EACH,OAAOG,EAET,KAAM,CACJ,wBAAAzB,EACA,QAAAmC,CACD,EAAG,KACJ,OAAOv9B,EAAE,MAAO,CACd,MAAO,GAAGwP,CAAe,gCACzB,SAAU4rB,CAChB,EAAOp7B,EAAE,QAAS,CACZ,IAAK,OACL,MAAO,GAAGwP,CAAe,oBACzB,MAAO,CACL,SAAU+e,GAAagP,CAAO,EAC9B,YAAaZ,CACd,CACP,EAAO38B,EAAE,WAAY,KAAMw8B,EAAK,IAAInO,GAAOruB,EAAE,MAAO,CAC9C,IAAKquB,EAAI,IACT,MAAOA,EAAI,KACjB,CAAK,CAAC,CAAC,EAAGwO,CAAU,CAAC,CAClB,CACH,CAAC,ECvODW,GAAex/B,GAAgB,CAC7B,KAAM,gBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,IAAK,CACH,KAAM,OACN,SAAU,EACX,EACD,MAAO,CACL,KAAM,OACN,SAAU,EACX,EACD,OAAQ,CACN,KAAM,OACN,SAAU,EACX,EACD,UAAW,QACX,YAAa,CACX,KAAM,OACN,SAAU,EACX,EACD,WAAY,QACb,EACD,QAAS,CACP,IAAIoK,EACJ,KAAM,CACJ,UAAAq1B,EACA,OAAAzO,EACA,IAAAM,EACA,WAAAoO,CACD,EAAG,KACJ,IAAIC,EACJ,KAAM,CACJ,OAAAr4B,EACA,IAAArI,EACA,SAAAggC,CACD,EAAGjO,EAUJ,GATI1pB,GAAU,CAACm4B,EACbE,EAAOr4B,EAAOgqB,EAAK,KAAK,KAAK,EAEzBmO,EACFE,GAAQv1B,EAAKknB,EAAIryB,CAAG,KAAO,MAAQmL,IAAO,OAAS,OAASA,EAAG,MAE/Du1B,EAAOD,EAAaA,EAAWE,GAAItO,EAAKryB,CAAG,EAAGqyB,EAAKN,CAAM,EAAI4O,GAAItO,EAAKryB,CAAG,EAGzEggC,EACF,GAAI,OAAOA,GAAa,SAAU,CAChC,KAAM,CACJ,YAAApyB,CACD,EAAG,KACJ,OAAImkB,EAAO,oBAAsB,sBACxBhvB,EAAEwsB,GAAqB,OAAO,OAAO,CAAA,EAAIyQ,EAAU,CACxD,MAAOpyB,EAAY,MAAM,SACzB,eAAgBA,EAAY,cAAc,QACtD,CAAW,EAAG,CACF,QAAS,IAAM8yB,CAC3B,CAAW,EAEI39B,EAAEm9B,GAAW,OAAO,OAAO,CAAA,EAAIF,EAAU,CAC9C,MAAOpyB,EAAY,MAAM,SACzB,eAAgBA,EAAY,cAAc,QACpD,CAAS,EAAG,CACF,QAAS,IAAM8yB,CACzB,CAAS,CACT,KACQ,QAAO39B,EAAE,OAAQ,CACf,MAAO,GAAG,KAAK,SAAS,0BACzB,EAAE29B,CAAI,EAGX,OAAOA,CACR,CACH,CAAC,EC7EDE,GAAe7/B,GAAgB,CAC7B,KAAM,yBACN,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,SAAU,QACV,QAAS,QACT,QAAS,CACP,KAAM,SACN,SAAU,EACX,EACD,iBAAkB,CAChB,KAAM,QACP,CACF,EACD,QAAS,CACP,KAAM,CACJ,UAAAgF,CACD,EAAG,KACJ,OAAOhD,EAAE,MAAO,CACd,MAAO,CAAC,GAAGgD,CAAS,6BAA8B,KAAK,UAAY,GAAGA,CAAS,sCAAsC,EACrH,QAAS,KAAK,QACd,YAAa/G,GAAK,CAChBA,EAAE,eAAc,CACjB,CACP,EAAO+D,EAAE89B,GAAuB,KAAM,CAChC,QAAS,IACA,KAAK,QAAU99B,EAAE+9B,GAAc,CACpC,IAAK,UACL,UAAW,KAAK,UAChB,OAAQ,GACR,YAAa,GACb,MAAO,GACR,CAAA,EAAI,KAAK,iBAAmB,KAAK,iBAAiB,CACjD,SAAU,KAAK,QACzB,CAAS,EAAI/9B,EAAEkD,GAAW,CAChB,UAAWF,EACX,IAAK,WACf,EAAW,CACD,QAAS,IAAMhD,EAAEw2B,GAAkB,IAAI,CACjD,CAAS,CAEJ,CAAA,CAAC,CACH,CACH,CAAC,EC7CDwH,GAAehgC,GAAgB,CAC7B,KAAM,wBACN,MAAO,CACL,OAAQ,CACN,KAAM,CAAC,OAAQ,MAAM,EACrB,SAAU,EACX,EACD,SAAU,CACR,KAAM,QACN,SAAU,EACX,EACD,gBAAiB,CACf,KAAM,SACN,SAAU,EACX,CACF,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,0BAAAggC,EACA,8BAAAC,CAEN,EAAQl6B,GAAOqpB,EAAqB,EAChC,MAAO,IAAM,CACX,KAAM,CACJ,OAAA8Q,CACD,EAAGlgC,EACJ,OAAO+B,EAAEqxB,GAAW,CAClB,mBAAoB,GACpB,SAAUpzB,EAAM,SAChB,cAAeigC,EAA8B,MAAM,IAAIC,CAAM,EAC7D,QAASF,EAA0B,MAAM,IAAIE,CAAM,EACnD,gBAAiBlgC,EAAM,eAC/B,CAAO,CACP,CACG,CACH,CAAC,ECnCDmgC,GAAepgC,GAAgB,CAC7B,KAAM,qBACN,MAAO,CACL,OAAQ,CACN,KAAM,CAAC,OAAQ,MAAM,EACrB,SAAU,EACX,EACD,SAAU,CACR,KAAM,QACN,SAAU,EACX,EACD,gBAAiB,CACf,KAAM,SACN,SAAU,EACX,CACF,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,0BAAAggC,EACA,YAAAlD,CAEN,EAAQ/2B,GAAOqpB,EAAqB,EAChC,MAAO,IAAM,CACX,KAAM,CACJ,OAAA8Q,CACD,EAAGlgC,EACJ,OAAO+B,EAAEuxB,GAAQ,CACf,KAAMwJ,EACN,SAAU98B,EAAM,SAChB,QAASggC,EAA0B,MAAM,IAAIE,CAAM,EACnD,gBAAiBlgC,EAAM,eAC/B,CAAO,CACP,CACG,CACH,CAAC,ECrBD,SAASogC,GAAQC,EAAUC,EAAiB,CAC1C,MAAMC,EAAQ,CAAA,EACd,SAASplB,EAASqlB,EAAIC,EAAW,CAC/BD,EAAG,QAAQE,GAAK,CACVA,EAAE,UAAYJ,EAAgB,IAAII,EAAE,GAAG,GACzCH,EAAM,KAAK,CACT,OAAQG,EACR,QAAS,GACT,IAAKA,EAAE,IACP,MAAOD,CACjB,CAAS,EACDtlB,EAASulB,EAAE,SAAUD,CAAS,GAE9BF,EAAM,KAAK,CACT,IAAKG,EAAE,IACP,OAAQA,EACR,QAAS,GACT,MAAOD,CACjB,CAAS,CAET,CAAK,CACF,CACD,OAAAJ,EAAS,QAAQM,GAAW,CAC1BJ,EAAM,KAAKI,CAAO,EAClB,KAAM,CACJ,SAAAlgC,CACN,EAAQkgC,EAAQ,OACRlgC,GAAY6/B,EAAgB,IAAIK,EAAQ,GAAG,GAC7CxlB,EAAS1a,EAAUkgC,EAAQ,KAAK,CAEtC,CAAG,EACMJ,CACT,CACA,MAAMK,GAAyB7gC,GAAgB,CAC7C,MAAO,CACL,UAAW,CACT,KAAM,OACN,SAAU,EACX,EACD,GAAI,CACF,KAAM,OACN,SAAU,EACX,EACD,KAAM,CACJ,KAAM,MACN,SAAU,EACX,EACD,aAAc,SACd,aAAc,QACf,EACD,QAAS,CACP,KAAM,CACJ,UAAAgF,EACA,GAAA87B,EACA,KAAAtC,EACA,aAAA9gB,EACA,aAAAC,CACD,EAAG,KACJ,OAAO3b,EAAE,QAAS,CAChB,MAAO,CACL,YAAa,OACd,EACD,MAAO,GAAGgD,CAAS,oBACnB,aAAc0Y,EACd,aAAcC,CACpB,EAAO3b,EAAE,WAAY,KAAMw8B,EAAK,IAAInO,GAAOruB,EAAE,MAAO,CAC9C,IAAKquB,EAAI,IACT,MAAOA,EAAI,KACjB,CAAK,CAAC,CAAC,EAAGruB,EAAE,QAAS,CACf,YAAa8+B,EACb,MAAO,GAAG97B,CAAS,mBACzB,EAAO,KAAK,MAAM,CAAC,CAChB,CACH,CAAC,EACD+7B,GAAe/gC,GAAgB,CAC7B,KAAM,gBACN,MAAO,CACL,SAAU,SACV,WAAY,QACZ,WAAY,QACZ,UAAW,MACZ,EACD,MAAMC,EAAO,CACX,KAAM,CACJ,MAAO+gC,EACP,aAAAC,EACA,yBAAAC,EACA,mBAAAh5B,EACA,eAAAwqB,EACA,WAAA6J,EACA,QAAAO,EACA,iBAAAqE,EACA,oBAAAvF,EACA,sBAAAY,EACA,uBAAAC,EACA,qBAAAC,EACA,gBAAA0E,EACA,yBAAAC,EACA,kCAAAC,EACA,0BAAAC,EACA,mCAAAC,EACA,gBAAAC,EACA,YAAAzL,EACA,WAAA0L,EACA,mBAAAnS,EACA,iBAAAoS,EACA,YAAA5E,EACA,qBAAAC,EACA,wBAAA4E,EACA,UAAAC,EACA,YAAAC,EACA,aAAAC,EACA,WAAAC,EACA,WAAAC,EACA,UAAAC,EACA,iBAAAC,EACA,cAAAC,EACA,sBAAAC,EACA,oBAAAC,GACA,oBAAAC,GACA,YAAArmB,EACA,kBAAAsmB,EACA,oBAAAC,EACA,wBAAAC,EACA,sBAAAC,EACA,QAAAC,GACA,UAAAC,GACA,WAAAnD,EAEN,EAAQ15B,GAAOqpB,EAAqB,EAC1ByT,EAAmBnlC,EAAI,IAAI,EAC3B8K,EAAiB9K,EAAI,IAAI,EACzBolC,GAAaplC,EAAI,IAAI,EACrBkM,GAAW1D,GAAQ,IAAMg7B,EAAiB,MAAM,SAAW,CAAC,EAG5D6B,GAAgC78B,GAAQ,IAAMlG,EAAM,YAAc,CAAC4J,GAAS,KAAK,EAEjFo5B,GAAwB98B,GAAQ,IAC7BlG,EAAM,YAAc4J,GAAS,KACrC,EACD,IAAIq5B,GAAkB,GACtB,MAAMC,GAA6Bv6B,EAAS,IACnC,IAAI,IAAIs4B,EAAyB,KAAK,CAC9C,EACD,SAASkC,GAAWnkC,EAAK,CACvB,IAAImL,GACJ,OAAQA,GAAK8R,EAAY,MAAM,QAAQjd,CAAG,KAAO,MAAQmL,KAAO,OAAS,OAASA,GAAG,OACtF,CACD,SAASqzB,GAA4Bn3B,EAAQgJ,GAAS+zB,GAAU,CAC9D,MAAMzC,EAAUwC,GAAW98B,EAAO,GAAG,EACrC,GAAI,CAACs6B,EAAS,CACZ/H,GAAK,aAAc,iCAAiCvyB,EAAO,GAAG,EAAE,EAChE,MACD,CACD,GAAI+8B,GAAU,CACZ,MAAMC,GAAYnC,EAAiB,MAAM,UAAUoC,IAAQA,GAAK,MAAQL,EAAe,EACvF,GAAII,KAAc,GAAI,CACpB,MAAME,GAAerC,EAAiB,MAAM,UAAUoC,IAAQA,GAAK,MAAQj9B,EAAO,GAAG,EAC/Em9B,EAAQ,KAAK,IAAIH,GAAWE,EAAY,EACxCE,EAAM,KAAK,IAAIJ,GAAWE,EAAY,EACtCG,EAAiB,CAAA,EACvBxC,EAAiB,MAAM,MAAMsC,EAAOC,EAAM,CAAC,EAAE,QAAQ/C,IAAK,CACnDA,GAAE,UACLgD,EAAe,KAAKhD,GAAE,GAAG,CAEvC,CAAW,EACGrxB,GACFszB,GAAQe,EAAgB,GAAO/C,CAAO,EAEtCiC,GAAUc,EAAgB/C,CAAO,EAEnCsC,GAAkB58B,EAAO,IACzB,MACD,CACF,CACGgJ,GACFszB,GAAQt8B,EAAO,IAAK,GAAOs6B,CAAO,EAElCiC,GAAUv8B,EAAO,IAAKs6B,CAAO,EAE/BsC,GAAkB58B,EAAO,GAC1B,CACD,SAASs9B,GAAyBt9B,EAAQ,CACxC,MAAMs6B,GAAUwC,GAAW98B,EAAO,GAAG,EACrC,GAAI,CAACs6B,GAAS,CACZ/H,GAAK,aAAc,iCAAiCvyB,EAAO,GAAG,EAAE,EAChE,MACD,CACDs8B,GAAQt8B,EAAO,IAAK,GAAMs6B,EAAO,CAClC,CACD,SAASiD,IAAqB,CAC5B,GAAI,CAACb,GAA8B,MAAO,CACxC,KAAM,CACJ,MAAOc,EACR,EAAGf,GACJ,OAAIe,IAGK,IAEV,CACD,GAAInC,EAAiB,MACnB,OAAOoC,GAAoB,EAE7B,KAAM,CACJ,MAAAtmC,CACD,EAAGqlC,EACJ,OAAIrlC,EAAcA,EAAM,aACjB,IACR,CAGD,SAASumC,GAAqB/kC,EAAKqH,GAAQ,CACzC,IAAI8D,GACJ,GAAI+3B,EAAiB,MAAM,IAAIljC,CAAG,EAAG,OACrC,KAAM,CACJ,MAAOglC,CACR,EAAG/C,EACEpe,GAAQmhB,EAAsB,QAAQhlC,CAAG,EACzCilC,GAAmB,MAAM,KAAKD,CAAqB,EACrD,CAACnhB,IACHohB,GAAiB,OAAOphB,GAAO,CAAC,EAChC4f,EAAwBwB,EAAgB,GAEpC59B,IAAU,CAACA,GAAO,QAAU,CAACA,GAAO,eACtC67B,EAAiB,MAAM,IAAIljC,CAAG,GACvBmL,GAAK83B,EAAU,SAAW,MAAQ93B,KAAO,QAAkBA,GAAG,KAAK83B,EAAW57B,GAAO,OAAO,EAAE,KAAK,IAAM,CAC9G,KAAM,CACJ,MAAO69B,CACR,EAAGjD,EACEkD,EAAyB,MAAM,KAAKD,CAA2B,EAEhE,CADSC,EAAuB,QAAQnlC,CAAG,GAE9CmlC,EAAuB,KAAKnlC,CAAG,EAEjCyjC,EAAwB0B,CAAsB,CAC1D,CAAW,EAAE,QAAQ,IAAM,CACfjC,EAAiB,MAAM,OAAOljC,CAAG,CAClC,CAAA,IAEDilC,GAAiB,KAAKjlC,CAAG,EACzByjC,EAAwBwB,EAAgB,EAG7C,CACD,SAASG,IAAwB,CAC/BrO,EAAY,MAAQ,IACrB,CACD,SAAS+N,IAAuB,CAC9B,KAAM,CACJ,MAAAtmC,CACD,EAAGgL,EACJ,OAAQhL,GAAU,KAA2B,OAASA,EAAM,YAAc,IAC3E,CACD,SAAS6mC,GAAqB,CAC5B,KAAM,CACJ,MAAA7mC,CACD,EAAGgL,EACJ,OAAQhL,GAAU,KAA2B,OAASA,EAAM,aAAe,IAC5E,CACD,SAAS0M,EAAwBlM,EAAG,CAClC,IAAImM,GACJu4B,EAAsB1kC,CAAC,GACtBmM,GAAK04B,EAAiB,SAAW,MAAQ14B,KAAO,QAAkBA,GAAG,KAAI,CAC3E,CACD,SAASC,GAAwBpM,EAAG,CAClC,IAAImM,GACJ,KAAM,CACJ,SAAAhI,EACD,EAAGnC,EACAmC,IAAUA,GAASnE,CAAC,GACvBmM,GAAK04B,EAAiB,SAAW,MAAQ14B,KAAO,QAAkBA,GAAG,KAAI,CAC3E,CACD,MAAMwZ,GAAiB,CACrB,mBAAAigB,GACA,SAASU,EAAMC,GAAM,CACnB,IAAIp6B,GAAIS,EACJ82B,EAAiB,OAElBv3B,GAAK3B,EAAe,SAAW,MAAQ2B,KAAO,QAAkBA,GAAG,SAASm6B,EAAMC,EAAI,GAGtF35B,EAAKi4B,EAAiB,SAAW,MAAQj4B,IAAO,QAAkBA,EAAG,SAAS05B,EAAMC,EAAI,CAE5F,CACP,EAEU3kC,GAAQC,GAAE,CAAC,CAAC,CAChB,MAAO2kC,CACb,IAAU,CACJ,MAAMC,GAA6BC,GAC7BA,IAA0B,KAAa,KACpC7kC,GAAE,eAAe2kC,EAAO,WAAW,qBAAqBE,CAAqB,YAAa,CAC/F,UAAW,2BACrB,CAAS,EAEGC,GAA8BC,GAC9BA,IAA2B,KAAa,KACrC/kC,GAAE,eAAe2kC,EAAO,WAAW,qBAAqBI,CAAsB,aAAc,CACjG,UAAW,4BACrB,CAAS,EAEH,OAAO/kC,GAAE,CAAC4kC,GAA2BD,EAAO,qBAAqB,EAAGG,GAA4BH,EAAO,sBAAsB,EAAGA,EAAO,+BAA+B,IAAIE,GAAyBD,GAA2BC,CAAqB,CAAC,EAAGF,EAAO,gCAAgC,IAAII,GAA0BD,GAA4BC,CAAsB,CAAC,CAAC,CAAC,CAClX,CAAA,CAAC,EACF,IAAIC,GAAoB,GACxB,OAAApuB,GAAY,IAAM,CAChB,KAAM,CACJ,MAAOiuB,CACR,EAAGtD,EACE,CACJ,MAAO0D,EACR,EAAGzD,EACE,CACJ,MAAOuD,EACR,EAAGtD,EACE,CACJ,MAAOyD,CACR,EAAGxD,EACJ,GAAI,CAACsD,IAAqBH,IAA0B,MAAQE,KAA2B,KACrF,OAEF,MAAMJ,GAAS,CACb,sBAAAE,EACA,+BAAAI,GACA,uBAAAF,GACA,gCAAAG,EACA,YAAAjI,CACR,EACMl9B,GAAM,MAAM,CACV,GAAI,KAAKk9B,CAAW,GACpB,MAAO,GACP,MAAO0H,GACP,eAAgB7iC,EACxB,CAAO,EACDkjC,GAAoB,EAC1B,CAAK,EACDG,GAAY,IAAM,CAChBplC,GAAM,QAAQ,CACZ,GAAI,KAAKk9B,CAAW,EAC5B,CAAO,CACP,CAAK,EACM,OAAO,OAAO,CACnB,UAAWkE,EACX,iBAAkBsB,GAClB,eAAAvB,EACA,YAAAjE,EACA,iBAAA+F,EACA,eAAAr6B,EACA,WAAAs6B,GACA,QAASrB,EACT,gBAAiBx5B,EACjB,YAAawqB,EACb,QAAS6J,EACT,KAAMO,EACN,QAASmF,EACT,mBAAoBgB,GACpB,2BAA4BD,GAC5B,MAAOn5B,GACP,qBAAsBjB,EAAS,IAAM,CACnC,KAAM,CACJ,MAAOs8B,CACR,EAAGlD,EACJ,IAAImD,GAAc,GAkBlB,MAAO,CACL,KAlBWhE,EAAiB,MAAM,IAAI+D,EAAU,CAAC5+B,EAAQwc,MACpDxc,EAAO,SAAQ6+B,GAAc,IAC3B,CACL,OAAA7+B,EACA,IAAKA,EAAO,IACZ,QAASwc,GAAQ,IAAM,EACvB,MAAAA,EACZ,GACY,CAACxc,EAAQwc,MACNxc,EAAO,SAAQ6+B,GAAc,IAC3B,CACL,OAAA7+B,EACA,IAAKA,EAAO,IACZ,QAAS,GACT,MAAAwc,EACZ,EACS,EAGC,YAAAqiB,EACV,CACA,CAAO,EACD,iBAAkBvJ,EAClB,mBAAoBY,EACpB,oBAAqBC,EACrB,YAAaC,EACb,aAAc0E,EACd,aAAcK,EACd,wBAAyB0B,GACzB,SAAUnN,EACV,gBAAiBzG,EACjB,cAAeoS,EACf,kBAAmB3E,EACnB,qBAAsB4E,EACtB,OAAQC,EACR,SAAUC,EACV,UAAWC,EACX,cAAeI,EACf,WAAYC,EACZ,mBAAoBC,EACpB,iBAAkBC,GAClB,eAAgBE,EAChB,oBAAAC,EACA,wBAAAt4B,EACA,wBAAAE,GACA,sBAAAg6B,GACA,qBAAAN,GACA,mBAAAO,EACA,sBAAA3B,EACA,4BAAAlF,GACA,yBAAAmG,GACA,qBAAAI,GACA,WAAAtE,EACD,EAAE9b,EAAc,CAClB,EACD,QAAS,CACP,KAAM,CACJ,YAAA/W,EACA,QAAA0yB,EACA,gBAAA/tB,EACA,cAAA5E,EACA,UAAAw4B,EACA,kBAAAzG,EACA,WAAA0G,EACA,cAAAC,EACA,SAAAljC,EACA,oBAAAqgC,CACD,EAAG,KACEvK,EAAaqH,IAAY,QAAa6F,IAAc,QAAaC,EAKjEE,EAAoB,CAACrN,GAAcyG,IAAsB,OACzD6G,EAAcjG,IAAY,QAAagG,EACvCE,EAAe,CACnB,SAAUlV,GAAagP,CAAO,GAAK,MACzC,EACQA,IAASkG,EAAa,MAAQ,QAClC,MAAMC,EAAY1jC,EAAEoL,GAAY,OAAO,OAAO,CAAE,EAAE,KAAK,eAAgB,CACrE,IAAK,mBACL,WAAY8qB,GAAcqN,EAC1B,MAAO,GAAG/zB,CAAe,8BACzB,MAAQ,KAAK,MAAyB,OAAjB,KAAK,UAC1B,MAAO3E,EAAY,MAAM,UACzB,eAAgBA,EAAY,cAAc,UAC1C,aAAc44B,EACd,UAAW74B,EAAgB,KAAK,qBAAuB,OACvD,QAASA,EAAgB,KAAK,mBAAqB,OACnD,oBAAqB,CACnB,OAAQ,CACT,EACD,kBAAmB,CACjB,OAAQ,CACT,EACD,YAAa44B,EACb,SAAU54B,EAAgB,OAAY,KAAK,sBAC3C,2BAA4B61B,EAC5B,SAAUrgC,CAChB,CAAK,EAAG,CACF,QAAS,IAAM,CAEb,MAAMujC,EAAa,CAAA,EAEbC,EAAU,CAAA,EACV,CACJ,KAAApH,EACA,qBAAAqH,EACA,YAAAh5B,EACA,mBAAAuxB,EACA,oBAAAC,EACA,YAAAzZ,EACA,aAAA2M,EACA,gBAAAS,EACA,wBAAA8T,EACA,mBAAAC,EACA,YAAAhJ,EACA,qBAAAiJ,EACA,WAAAC,EACA,SAAAC,EACA,sBAAA7B,EACA,aAAA8B,EACA,QAAAC,EACA,4BAAA3I,EACA,yBAAAmG,GACA,qBAAAI,EACD,EAAG,KACE,CACJ,OAAQqC,CACT,EAAG7H,EACJ,IAAI8H,EAEJ,KAAM,CACJ,KAAMC,EACN,YAAApB,CACD,EAAGU,EACEW,EAAuBrB,EAAc9E,GAAQkG,EAAeT,CAAuB,EAAIS,EAC7F,GAAIH,EAAS,CACX,MAAMK,GAAcL,EAAQ,KAAK,gBAAgB,EACjD,GAAI,MAAM,QAAQK,EAAW,EAAG,CAC9B,MAAMC,GAAiBD,GAAY,IAAI,CAACnV,GAAKpwB,MAAO,CAClD,aAAc,GACd,IAAK,gBAAgBA,EAAC,GACtB,OAAQ,CACN,QAASowB,GACT,SAAU,EACX,EACD,MAAO,EACR,EAAC,EACFgV,EAAa,KAAK,mBAAqB,MAAQ,CAAC,GAAGI,GAAgB,GAAGF,CAAoB,EAAI,CAAC,GAAGA,EAAsB,GAAGE,EAAc,CACrJ,KAAiB,CACL,MAAMA,GAAiB,CACrB,aAAc,GACd,IAAK,gBACL,OAAQ,CACN,QAASD,GACT,SAAU,EACX,EACD,MAAO,EACrB,EACYH,EAAa,KAAK,mBAAqB,MAAQ,CAACI,GAAgB,GAAGF,CAAoB,EAAI,CAAC,GAAGA,EAAsBE,EAAc,CACpI,CACX,MACUJ,EAAaE,EAEf,MAAMG,GAAcxB,EAAc,CAChC,MAAO7F,GAAK,KAAK,MAAM,CACxB,EAAG,OAEEsH,GAAgB,CAAA,EACtBN,EAAW,QAAQ1F,IAAW,CACxBuF,GAAgBL,EAAwB,IAAIlF,GAAQ,GAAG,IAAM,CAACqF,GAAcA,EAAWrF,GAAQ,OAAO,OAAO,GAC/GgG,GAAc,KAAKhG,GAAS,CAC1B,cAAe,GACf,IAAK,GAAGA,GAAQ,GAAG,UAEnB,OAAQA,GAAQ,OAChB,MAAOA,GAAQ,KAC7B,CAAa,EAEDgG,GAAc,KAAKhG,EAAO,CAEtC,CAAS,EACD,KAAM,CACJ,OAAQiG,EACT,EAAGD,GACEE,EAAgB,CAAA,EACtBP,EAAc,QAAQ,CAAC,CACrB,OAAAjgC,EACD,EAAEygC,KAAa,CACdD,EAAcC,EAAQ,EAAIzgC,GAAO,GAC3C,CAAS,EACD,MAAM0gC,EAAYjB,EAAqB,KAAK,UAAY,KAClDkB,GAAcD,IAAc,KAAO,OAAY,GAAGA,CAAS,KAC3DE,GAAY,CAACtG,GAASuG,GAAmBC,KAAc,CAC3D,KAAM,CACJ,MAAOC,EACR,EAAGzG,GACJ,GAAI,kBAAmBA,GAAS,CAC9B,KAAM,CACJ,OAAQ,CACN,IAAA3hC,GACA,QAAA6H,EACD,CACF,EAAG85B,GACJ,OAAO5+B,EAAE,KAAM,CACb,MAAO,GAAGwP,CAAe,kBAAkBA,CAAe,2BAC1D,IAAK,GAAGvS,EAAG,UACzB,EAAe+C,EAAE,KAAM,CACT,MAAO,CAAC,GAAGwP,CAAe,iBAAkB,GAAGA,CAAe,2BAA4B21B,GAAoB,IAAMN,IAAY,GAAGr1B,CAAe,0BAA0B,EAC5K,QAAS60B,CACvB,EAAeN,EAAqB/jC,EAAE,MAAO,CAC/B,MAAO,GAAGwP,CAAe,qBACzB,MAAO,CACL,MAAOy1B,EACR,CACf,EAAed,EAAar/B,GAASugC,EAAc,CAAC,EAAIlB,EAAar/B,GAASugC,EAAc,CAAC,CAAC,CACnF,CACD,MAAM5H,GAAa,iBAAkBmB,GAC/BsE,GAAU,CAACzF,IAAamB,GAAQ,QAChC,CACJ,OAAAt6B,GACA,IAAK65B,EACN,EAAGS,GACE,CACJ,QAAS0G,EACV,EAAGhhC,GACEihC,GAAWzB,EAAwB,IAAI3F,EAAM,EAC7ClgC,GAAQimC,EAAWA,EAASoB,GAASD,EAAc,EAAI,OACvDG,EAAqB,OAAOjW,GAAiB,SAAWA,EAAeF,GAAmBiW,GAASD,GAAgB9V,CAAY,EAuHrI,OAtHYvvB,EAAE,KAAM,OAAO,OAAO,CAChC,aAAc,IAAM,CAClB,KAAK,SAAWm+B,EACjB,EACD,IAAKA,GACL,MAAO,CAAC,GAAG3uB,CAAe,iBAAkBiuB,IAAa,GAAGjuB,CAAe,0BAA2B0zB,IAAW,GAAG1zB,CAAe,0BAA2B+1B,IAAY,GAAG/1B,CAAe,2BAA4Bg2B,CAAkB,CACtP,EAAavnC,EAAK,EAAGu+B,EAAK,IAAI,CAACnO,GAAKoX,KAAa,CACrC,IAAIr9B,GAAIS,GAAIoL,EAAIuN,GAAIC,GACpB,GAAI0jB,MAAqBxB,EAAY,CACnC,MAAM+B,GAAkB/B,EAAWwB,EAAiB,EAC9CQ,GAAyBD,GAAgB,QAAQD,EAAQ,EAC/D,GAAI,CAACE,GACH,OAAAD,GAAgB,OAAOC,GAAwB,CAAC,EACzC,IAEV,CAED,KAAM,CACJ,OAAA3W,CACD,EAAGX,GACEuX,GAASpX,GAAUH,EAAG,EACtB,CACJ,QAAA0O,GACA,QAAAD,CACD,EAAG9N,EACE6W,EAAgBpI,KAAcr1B,GAAKw2B,GAAQ,OAAO,QAAQgH,EAAM,KAAO,MAAQx9B,KAAO,OAAS,OAASA,GAAG,UAAY,EAC3H00B,EAAUA,EAAQwI,GAASD,EAAc,EAAI,EACzCS,EAAgBrI,KAAc50B,GAAK+1B,GAAQ,OAAO,QAAQgH,EAAM,KAAO,MAAQ/8B,KAAO,OAAS,OAASA,GAAG,UAAY,EAC3Hk0B,GAAUA,GAAQuI,GAASD,EAAc,EAAI,EACzCU,GAAYN,GAAWI,IAAkBxB,EACzC2B,GAAYb,GAAoBW,IAAkBjB,GAClDoB,GAAeH,EAAgB,EAMrC,GALIG,KACFrC,EAAQuB,EAAiB,EAAI,CAC3B,CAACM,EAAQ,EAAG,CAAE,CAC9B,GAEgBI,EAAgB,GAAKI,GACvB,QAAS/mC,GAAIimC,GAAmBjmC,GAAIimC,GAAoBW,EAAe,EAAE5mC,GAAG,CACtE+mC,IACFrC,EAAQuB,EAAiB,EAAEM,EAAQ,EAAE,KAAKX,EAAc5lC,EAAC,CAAC,EAE5D,QAASG,GAAIomC,GAAUpmC,GAAIomC,GAAWI,EAAe,EAAExmC,GACjDH,KAAMimC,IAAqB9lC,KAAMomC,KAG/BvmC,MAAKykC,EAGTA,EAAWzkC,EAAC,EAAE,KAAKG,EAAC,EAFpBskC,EAAWzkC,EAAC,EAAI,CAACG,EAAC,EAKvB,CAEH,MAAM01B,GAAWkR,GAAe,KAAK,SAAW,KAC1C,CACJ,UAAAC,EACD,EAAGlX,EACEmX,GAAoBD,IAAc,KAA+B,OAASA,GAAUZ,GAASD,EAAc,EAC3Ge,GAAoB,CACxB,kBAAmB,EACjC,EACY,OAAOpmC,EAAE,KAAM,OAAO,OAAO,CAAA,EAAImmC,GAAmB,CAClD,IAAKP,GACL,MAAO,CAAC,CACN,UAAW5W,EAAO,OAAS,OAC3B,KAAMsO,IAAMrpB,EAAKmoB,EAAmBwJ,EAAM,KAAO,MAAQ3xB,IAAO,OAAS,OAASA,EAAG,KAAK,EAC1F,MAAOqpB,IAAM9b,GAAK6a,EAAoBuJ,EAAM,KAAO,MAAQpkB,KAAO,OAAS,OAASA,GAAG,KAAK,CAC7F,EAAE4kB,IAAoBD,IAAsB,KAAuC,OAASA,GAAkB,QAAU,EAAE,EAC3H,QAASN,EACT,QAAST,GAAY,OAAYU,EACjC,eAAgBF,GAChB,MAAO,CAAC,GAAGp2B,CAAe,iBAAkBwf,EAAO,UAAWmX,IAAsB,KAAuC,OAASA,GAAkB,MAAO1I,IAAa,GAAGjuB,CAAe,2BAA4BulB,KAAa,MAAQ6O,EAAQuB,EAAiB,EAAEM,EAAQ,EAAE,SAAS1Q,EAAQ,GAAKhF,GAAgBf,EAAQgB,CAAe,IAAM,GAAGxgB,CAAe,wBAAyBwf,EAAO,OAAS,GAAGxf,CAAe,yBAAyBwf,EAAO,KAAK,GAAIA,EAAO,OAAS,GAAGxf,CAAe,mBAAmBwf,EAAO,KAAK,SAAUA,EAAO,OAAS,aAAe,GAAGxf,CAAe,4BAA6Bwf,EAAO,OAAS,UAAY,GAAGxf,CAAe,yBAA0Bu2B,IAAa,GAAGv2B,CAAe,2BAA4Bw2B,IAAa,GAAGx2B,CAAe,0BAA0B,CAC9yB,CAAa,EAAG2zB,GAAesC,KAAazB,EAAuB,CAACqC,GAAOD,GAAkB,iBAAiB,EAAI3I,GAAY,EAAImB,GAAQ,OAAO,MAAO5+B,EAAE,MAAO,CACnJ,MAAO,GAAGwP,CAAe,qBACzB,MAAOm1B,EACrB,CAAa,CAAC,EAAGlH,IAAamB,GAAQ,OAAO,OAAS5+B,EAAE,MAAO,CACjD,MAAO,GAAGwP,CAAe,gCACvC,CAAa,EAAIxP,EAAE69B,GAAe,CACpB,MAAO,GAAGruB,CAAe,6BACzB,UAAWA,EACX,SAAU+1B,GACV,iBAAkB,KAAK,iBACvB,QAASjC,EAAc,IAAI1E,GAAQ,GAAG,EACtC,QAAS,IAAM,CACboD,GAAqB7D,GAAQS,GAAQ,MAAM,CAC5C,CACF,CAAA,CAAC,EAAI,KAAM5P,EAAO,OAAS,YAAeyO,GActC,KAdkDzO,EAAO,WAAa,GAAQhvB,EAAEo+B,GAAiB,CACpG,IAAKxb,EACL,OAAQub,GACR,SAAUS,GAAQ,OAAO,SACzB,gBAAiB,IAAM,CACrBgD,GAAyBhD,GAAQ,MAAM,CACxC,CACf,CAAa,EAAI5+B,EAAEg+B,GAAoB,CACzB,IAAKpb,EACL,OAAQub,GACR,SAAUS,GAAQ,OAAO,SACzB,gBAAiB,CAACtxB,GAASrR,KAAM,CAC/Bw/B,EAA4BmD,GAAQ,OAAQtxB,GAASrR,GAAE,QAAQ,CAChE,CACF,CAAA,EAAW+yB,EAAO,OAAS,SAAYyO,GAO5B,KAPwC,CAACzO,EAAO,YAAgB,GAAAvN,GAAKuN,EAAO,cAAgB,MAAQvN,KAAO,SAAkBA,GAAG,KAAKuN,EAAQsW,EAAO,EAAKtlC,EAAE69B,GAAe,CACpL,UAAWruB,EACX,SAAU+1B,GACV,iBAAkB,KAAK,iBACvB,QAAS,IAAM,CACbvD,GAAqB7D,GAAQ,IAAI,CAClC,CACF,CAAA,EAAI,KAAcn+B,EAAEw9B,GAAM,CACzB,UAAWhuB,EACX,MAAO61B,GACP,IAAKC,GACL,OAAQtW,EACR,UAAWyO,GACX,YAAa5yB,EACb,WAAY,KAAK,UAClB,CAAA,CAAC,CACH,CAAA,CAAC,CAEZ,EACQ,OAAKD,EAmBI5K,EAAEqL,GAAa,CACpB,IAAK,iBACL,MAAOu5B,GACP,SAAU,GACV,gBAAiB/F,GACjB,kBAAmB,CACjB,UAAWrvB,EACX,GAAIurB,EACJ,KAAAyB,EACA,aAAc6F,CACf,EACD,cAAe,GACf,SAAU,KAAK,wBACf,SAAU,KAAK,wBACf,WAAYoB,EACZ,cAAe,EAC3B,EAAa,CACD,QAAS,CAAC,CACR,KAAAlC,GACA,MAAAzgB,EACD,IAAKokB,GAAU3D,GAAMzgB,GAAO,EAAI,CAC7C,CAAW,EAvCM9gB,EAAE,QAAS,CAChB,MAAO,GAAGwP,CAAe,oBACzB,aAAc6yB,EACd,MAAO,CACL,YAAa,KAAK,iBACnB,CACb,EAAariC,EAAE,WAAY,KAAMw8B,EAAK,IAAInO,IAAOruB,EAAE,MAAO,CAC9C,IAAKquB,GAAI,IACT,MAAOA,GAAI,KACZ,CAAA,CAAC,CAAC,EAAG,KAAK,WAAaruB,EAAEs6B,GAAa,CACrC,SAAU,EACtB,CAAW,EAAI,KAAO,KAAK,MAKX,KALmBt6B,EAAE,QAAS,CAClC,YAAa+6B,EACb,MAAO,GAAGvrB,CAAe,mBAC1B,EAAEo1B,GAAc,IAAI,CAAChG,GAASuG,KACtBD,GAAUtG,GAASuG,GAAmB,EAAK,CACnD,CAAC,CAAQ,CAyBb,CACP,CAAK,EACD,GAAI,KAAK,MAAO,CACd,MAAMmB,EAAkB,IAAMtmC,EAAE,MAAO,CACrC,MAAO,CAAC,GAAGwP,CAAe,oBAAqB,KAAK,SAAW,GAAGA,CAAe,yBAAyB,EAC1G,MAAO,KAAK,UACZ,IAAK,YACb,EAAStE,GAAY,KAAK,eAAe,MAAO,IAAM,CAAClL,EAAEmL,GAAQ,CACzD,MAAO,KAAK,YAAY,MAAM,MAC9B,eAAgB,KAAK,YAAY,cAAc,KACvD,CAAO,CAAC,CAAC,CAAC,EACJ,OAAI,KAAK,2BACAnL,EAAEqY,GAAU,KAAMqrB,EAAW4C,EAAiB,CAAA,EAE9CtmC,EAAEumC,GAAiB,CACxB,SAAU,KAAK,QACzB,EAAW,CACD,QAASD,CACnB,CAAS,CAEJ,CACD,OAAO5C,CACR,CACH,CAAC,ECtxBD8C,GAAexoC,GAAgB,CAC7B,KAAM,YACN,OAAQ,CACN,KAAM,CACJ,mBAAAkI,EACA,qBAAAugC,EACA,oBAAAC,EACA,aAAAzH,EACA,aAAAc,EACA,aAAA4G,EACA,cAAAC,EACA,gBAAAC,CAEN,EAAQ7iC,GAAOqpB,EAAqB,EAC1ByZ,EAAgBnrC,EAAI,IAAI,EACxBorC,EAAcprC,EAAI,IAAI,EACtBqrC,EAAYrrC,EAAI,IAAI,EACpBsrC,EAA2BtrC,EAAI,EAAE+qC,EAAoB,MAAM,QAAUD,EAAqB,MAAM,OAAO,EACvGS,EAAetgC,EAAS,KACrB,CACL,UAAW2nB,GAAawR,EAAa,KAAK,EAC1C,UAAWxR,GAAaoY,EAAa,KAAK,CAClD,EACK,EACD,SAASQ,EAAiBC,EAAO,CAC/BnI,EAAa,MAAQmI,EAAM,YAAY,MACvCP,IACKI,EAAyB,QAC5BA,EAAyB,MAAQ,GAEpC,CACD,SAASI,GAAmB,CAC1B,KAAM,CACJ,MAAA5rC,CACD,EAAGqrC,EACJ,OAAIrrC,EACKA,EAAM,IAER,IACR,CACD,SAAS6rC,GAAiB,CACxB,KAAM,CACJ,MAAA7rC,CACD,EAAGsrC,EACJ,OAAItrC,EACKA,EAAM,qBAER,IACR,CACD,MAAMmmB,EAAiB,CACrB,eAAA0lB,EACA,iBAAAD,EACA,SAAS9E,EAAMC,EAAM,CACnB,IAAIp6B,GAEHA,EAAK2+B,EAAY,SAAW,MAAQ3+B,IAAO,QAAkBA,EAAG,SAASm6B,EAAMC,CAAI,CACrF,CACP,EACI,OAAA9tB,GAAY,IAAM,CAChB,KAAM,CACJ,MAAOqR,CACR,EAAGihB,EACJ,GAAI,CAACjhB,EAAQ,OACb,MAAMwhB,EAA0B,GAAGrhC,EAAmB,KAAK,8CACvD+gC,EAAyB,MAC3B,WAAW,IAAM,CACflhB,EAAO,UAAU,OAAOwhB,CAAuB,CAChD,EAAE,CAAC,EAEJxhB,EAAO,UAAU,IAAIwhB,CAAuB,CAEpD,CAAK,EACM,OAAO,OAAO,CACnB,UAAWxH,EACX,gBAAiB75B,EACjB,UAAA8gC,EACA,cAAAF,EACA,YAAAC,EACA,UAAWG,EACX,WAAYN,EACZ,iBAAAO,CACD,EAAEvlB,CAAc,CAClB,EACD,QAAS,CACP,KAAM,CACJ,gBAAApS,EACA,UAAA4zB,EACA,WAAAC,CACD,EAAG,KACEmE,EAAepE,IAAc,QAAa,CAACC,EACjD,OAAOrjC,EAAE,MAAO,CACd,MAAO,GAAGwP,CAAe,yBACzB,IAAK,WACN,EAAEg4B,EAAe,KAAOxnC,EAAEs6B,GAAa,CACtC,IAAK,eACX,CAAK,EAAGt6B,EAAE++B,GAAW,CACf,IAAK,cACL,UAAW,KAAK,UAChB,WAAYyI,EACZ,WAAYnE,EACZ,SAAU,KAAK,gBAChB,CAAA,CAAC,CACH,CACH,CAAC,EC1GM,SAASoE,GAASxpC,EAAOmyB,EAAM,CACpC,KAAM,CACJ,iBAAA+O,EACA,YAAAjlB,EACA,mBAAAwtB,CACD,EAAGtX,EACEuX,EAAgChsC,EAAIsC,EAAM,qBAAqB,EAC/D2pC,EAAmBhhC,EAAS,IAAM,CACtC,IAAIwB,EACJ,KAAM,CACJ,eAAAy/B,CACD,EAAG5pC,EACE6pC,EAAaD,IAAmB,OAAYF,EAA8B,MAAQE,EACxF,QAAMz/B,EAAKs/B,EAAmB,SAAW,MAAQt/B,IAAO,OAAS,OAASA,EAAG,YAAc,GAClF,CACL,YAAa0/B,EAAW,MAAM,EAAG,CAAC,EAClC,kBAAmB,CAAE,CAC7B,EAEW5tB,EAAY,MAAM,eAAe4tB,EAAY,CAClD,QAAS7pC,EAAM,QACf,eAAgBA,EAAM,sBAC5B,CAAK,CACL,CAAG,EACK8pC,EAA0BnhC,EAAS,IAAMghC,EAAiB,MAAM,WAAW,EAC3EI,EAA8BphC,EAAS,IAAMghC,EAAiB,MAAM,iBAAiB,EACrF3J,EAA4Br3B,EAAS,IAClC,IAAI,IAAImhC,EAAwB,KAAK,CAC7C,EACK7J,EAAgCt3B,EAAS,IACtC,IAAI,IAAIohC,EAA4B,KAAK,CACjD,EACKC,EAAmCrhC,EAAS,IAAM,CACtD,KAAM,CACJ,MAAOshC,CACR,EAAGjK,EACJ,OAAOkB,EAAiB,MAAM,OAAO,CAACgJ,EAAO7jC,IAAW,CACtD,KAAM,CACJ,IAAArH,EACA,SAAA4Z,CACD,EAAGvS,EACJ,OAAO6jC,GAAS,CAACtxB,GAAYqxB,EAAuB,IAAIjrC,CAAG,EAAI,EAAI,EACpE,EAAE,CAAC,CACR,CAAG,EACKmrC,EAAoCxhC,EAAS,IAC1Cu4B,EAAiB,MAAM,OAAOoC,GAAQA,EAAK,QAAQ,EAAE,MAC7D,EACK3G,EAAqBh0B,EAAS,IAAM,CACxC,KAAM,CACJ,OAAAyhC,CACN,EAAQlJ,EAAiB,MACf,CACJ,MAAOmJ,CACR,EAAGpK,EACJ,OAAO+J,EAAiC,MAAQ,GAAKA,EAAiC,MAAQI,EAASD,EAAkC,OAASjJ,EAAiB,MAAM,KAAKmG,GAAWgD,EAA2B,IAAIhD,EAAQ,GAAG,CAAC,CACxO,CAAG,EACK3K,EAAoB/zB,EAAS,IAAM,CACvC,KAAM,CACJ,OAAAyhC,CACN,EAAQlJ,EAAiB,MACrB,OAAO8I,EAAiC,QAAU,GAAKA,EAAiC,QAAUI,EAASD,EAAkC,KACjJ,CAAG,EACKnN,EAA4Br0B,EAAS,IAClCu4B,EAAiB,MAAM,SAAW,CAC1C,EACD,SAASoJ,EAAuBC,EAAMlZ,EAAKmZ,EAAQ,CACjD,KAAM,CACJ,0BAA2BC,EAC3B,uBAAAC,EACA,uBAAAC,CACD,EAAG3qC,EACEsyB,EAAO,CAAA,EACP,CACJ,MAAO,CACL,QAAA5V,CACD,CACF,EAAGT,EACJsuB,EAAK,QAAQvrC,GAAO,CAClB,IAAImL,EACJ,MAAMknB,GAAOlnB,EAAKuS,EAAQ1d,CAAG,KAAO,MAAQmL,IAAO,OAAS,OAASA,EAAG,QAExEmoB,EAAK,KAAKjB,CAAG,CACnB,CAAK,EACGoZ,GACF96B,GAAK86B,EAAyBF,EAAMjY,EAAM,CACxC,IAAAjB,EACA,OAAAmZ,CACR,CAAO,EAECE,GACF/6B,GAAK+6B,EAAwBH,EAAMjY,EAAM,CACvC,IAAAjB,EACA,OAAAmZ,CACR,CAAO,EAECG,GACFh7B,GAAKg7B,EAAwBJ,EAAMjY,EAAM,CACvC,IAAAjB,EACA,OAAAmZ,CACR,CAAO,EAEHd,EAA8B,MAAQa,CACvC,CACD,SAAS5H,EAAQzC,EAAQ0K,EAAS,GAAOjK,EAAS,CAChD,GAAI,CAAA3gC,EAAM,QACV,IAAI4qC,EAAQ,CACVN,EAAuB,MAAM,QAAQpK,CAAM,EAAIA,EAAO,MAAM,EAAG,CAAC,EAAI,CAACA,CAAM,EAAGS,EAAS,OAAO,EAC9F,MACD,CACD2J,EAAuBruB,EAAY,MAAM,MAAMikB,EAAQ4J,EAAwB,MAAO,CACpF,QAAS9pC,EAAM,QACf,eAAgBA,EAAM,sBACvB,CAAA,EAAE,YAAa2gC,EAAS,OAAO,EACjC,CACD,SAASiC,EAAU1C,EAAQS,EAAS,CAC9B3gC,EAAM,SACVsqC,EAAuBruB,EAAY,MAAM,QAAQikB,EAAQ4J,EAAwB,MAAO,CACtF,QAAS9pC,EAAM,QACf,eAAgBA,EAAM,sBACvB,CAAA,EAAE,YAAa2gC,EAAS,SAAS,CACnC,CACD,SAAS/E,EAAWiP,EAAkB,GAAO,CAC3C,KAAM,CACJ,MAAO9Z,CACR,EAAG0Y,EACJ,GAAI,CAAC1Y,GAAU/wB,EAAM,QAAS,OAC9B,MAAM0jC,EAAiB,CAAA,GACtBmH,EAAkB5uB,EAAY,MAAM,UAAYilB,EAAiB,OAAO,QAAQ76B,GAAU,CACpFA,EAAO,UACVq9B,EAAe,KAAKr9B,EAAO,GAAG,CAEtC,CAAK,EAEDikC,EAAuBruB,EAAY,MAAM,MAAMynB,EAAgBoG,EAAwB,MAAO,CAC5F,QAAS,GACT,eAAgB9pC,EAAM,sBACvB,CAAA,EAAE,YAAa,OAAW,UAAU,CACtC,CACD,SAAS67B,EAAagP,EAAkB,GAAO,CAC7C,KAAM,CACJ,MAAO9Z,CACR,EAAG0Y,EACJ,GAAI,CAAC1Y,GAAU/wB,EAAM,QAAS,OAC9B,MAAM8qC,EAAmB,CAAA,GACxBD,EAAkB5uB,EAAY,MAAM,UAAYilB,EAAiB,OAAO,QAAQ76B,GAAU,CACpFA,EAAO,UACVykC,EAAiB,KAAKzkC,EAAO,GAAG,CAExC,CAAK,EAEDikC,EAAuBruB,EAAY,MAAM,QAAQ6uB,EAAkBhB,EAAwB,MAAO,CAChG,QAAS,GACT,eAAgB9pC,EAAM,sBACvB,CAAA,EAAE,YAAa,OAAW,YAAY,CACxC,CACD,MAAO,CACL,0BAAAggC,EACA,wBAAA8J,EACA,8BAAA7J,EACA,mBAAAtD,EACA,kBAAAD,EACA,0BAAAM,EACA,uBAAAsN,EACA,WAAA1O,EACA,aAAAC,EACA,QAAA8G,EACA,UAAAC,CACJ,CACA,CCxKA,SAASmI,GAAoBC,EAAQ,CACnC,OAAI,OAAOA,GAAW,UAAY,OAAOA,EAAO,UAAa,SACpDA,EAAO,SAET,EACT,CACA,SAASC,GAAgBD,EAAQtX,EAAW,CAC1C,OAAIA,IAAcsX,IAAW,QAAaA,IAAW,WAAa,OAAOA,GAAW,UAAYA,EAAO,UAAY,WAC1GE,GAAmBxX,CAAS,EAEjC,OAAOsX,GAAW,WACbA,EAELA,GAAU,OAAOA,GAAW,UAAYA,EAAO,SAAWA,EAAO,UAAY,UACxEA,EAAO,QAET,EACT,CACA,SAASE,GAAmBxX,EAAW,CACrC,MAAO,CAACyX,EAAMC,IAAS,CACrB,MAAMC,EAASF,EAAKzX,CAAS,EACvB4X,EAASF,EAAK1X,CAAS,EAC7B,OAAI2X,GAAW,KACTC,GAAW,KAAqC,EAC7C,GACEA,GAAW,KACb,EACE,OAAOD,GAAW,UAAY,OAAOC,GAAW,SAClDD,EAASC,EACP,OAAOD,GAAW,UAAY,OAAOC,GAAW,SAClDD,EAAO,cAAcC,CAAM,EAE7B,CACX,CACA,CAEO,SAASC,GAAUvrC,EAAO,CAC/B,mBAAAwrC,EACA,gBAAAC,CACF,EAAG,CACD,MAAMC,EAAmB,CAAA,EAEzBF,EAAmB,MAAM,QAAQza,GAAU,CACzC,IAAI5mB,EACA4mB,EAAO,SAAW,QACpB4a,EAA+BD,EAAkB,CAC/C,UAAW3a,EAAO,IAClB,OAAQA,EAAO,OACf,OAAQ5mB,EAAK4mB,EAAO,oBAAsB,MAAQ5mB,IAAO,OAASA,EAAK,EAC/E,CAAO,CAEP,CAAG,EACD,MAAMyhC,EAA2BluC,EAAIguC,CAAgB,EAC/Cpc,EAAqB3mB,EAAS,IAAM,CAGxC,MAAMkjC,EAAiCL,EAAmB,MAAM,OAAOza,GAAUA,EAAO,OAAS,aAAeA,EAAO,SAAW,SAAcA,EAAO,YAAc,UAAYA,EAAO,YAAc,WAAaA,EAAO,YAAc,GAAM,EAExO+a,EAAeD,EAA+B,OAAOzb,GAAOA,EAAI,YAAc,EAAK,EACzF,GAAI0b,EAAa,OACf,OAAOA,EAAa,IAAI/a,IACf,CACL,UAAWA,EAAO,IAIlB,MAAOA,EAAO,UAEd,OAAQA,EAAO,MACzB,EACO,EAIH,GAAI8a,EAA+B,OAAQ,MAAO,GAClD,KAAM,CACJ,MAAOE,CACR,EAAGH,EACJ,OAAI,MAAM,QAAQG,CAAqB,EAC9BA,EACEA,EACF,CAACA,CAAqB,EAEtB,EAEb,CAAG,EACKC,EAAgBrjC,EAAS,IAAM,CACnC,MAAMsjC,EAAgB3c,EAAmB,MAAM,MAAO,EAAC,KAAK,CAAC7sB,EAAGypC,IAAM,CACpE,MAAMC,EAAgBpB,GAAoBtoC,EAAE,MAAM,GAAK,EAEvD,OADsBsoC,GAAoBmB,EAAE,MAAM,GAAK,GAChCC,CAC7B,CAAK,EACD,OAAIF,EAAc,OACKR,EAAgB,MAAM,MAAK,EAC5B,KAAK,CAACW,EAASC,IAAY,CAC7C,IAAIC,EAAgB,EACpB,OAAAL,EAAc,KAAKM,GAAe,CAChC,KAAM,CACJ,UAAA7Y,EACA,OAAAsX,EACA,MAAA9b,CACD,EAAGqd,EACEC,EAAYvB,GAAgBD,EAAQtX,CAAS,EACnD,OAAI8Y,GAAatd,IACfod,EAAgBE,EAAUJ,EAAQ,QAASC,EAAQ,OAAO,EACtDC,IAAkB,IACpBA,EAAgBA,EAAgB5b,GAAexB,CAAK,EAC7C,IAGJ,EACjB,CAAS,EACMod,CACf,CAAO,EAEIb,EAAgB,KAC3B,CAAG,EACD,SAASgB,EAAsB/c,EAAW,CACxC,IAAImC,EAAmBvC,EAAmB,MAAM,MAAK,EAErD,OAAII,GAAaqb,GAAoBrb,EAAU,MAAM,IAAM,IAEzDmC,EAAmBA,EAAiB,OAAOnC,GAAaqb,GAAoBrb,EAAU,MAAM,IAAM,EAAK,EACvGic,EAA+B9Z,EAAkBnC,CAAS,EACnDmC,GACEnC,GAKJ,IACR,CACD,SAAS0N,EAAiB1N,EAAW,CACnC,MAAMgd,EAAkBD,EAAsB/c,CAAS,EACvDid,EAAeD,CAAe,CAC/B,CACD,SAASC,EAAejd,EAAW,CACjC,KAAM,CACJ,kBAAmBkd,EACnB,eAAAC,EACA,eAAAC,CACD,EAAG9sC,EACA4sC,GACFj9B,GAAKi9B,EAAiBld,CAAS,EAE7Bmd,GACFl9B,GAAKk9B,EAAgBnd,CAAS,EAE5Bod,GACFn9B,GAAKm9B,EAAgBpd,CAAS,EAEhCkc,EAAyB,MAAQlc,CAClC,CACD,SAASqd,EAAKrZ,EAAWxE,EAAQ,SAAU,CACzC,GAAI,CAACwE,EACHsZ,QACK,CACL,MAAMlB,EAAeN,EAAmB,MAAM,KAAKza,GAAUA,EAAO,OAAS,aAAeA,EAAO,OAAS,UAAYA,EAAO,MAAQ2C,CAAS,EAChJ,GAAI,EAAEoY,GAAiB,MAA2CA,EAAa,QAAS,OACxF,MAAMd,EAASc,EAAa,OAC5B1O,EAAiB,CACf,UAAA1J,EACA,OAAAsX,EACA,MAAA9b,CACR,CAAO,CACF,CACF,CACD,SAAS8d,GAAc,CACrBL,EAAe,IAAI,CACpB,CACD,SAAShB,EAA+BsB,EAAYvd,EAAW,CAC7D,MAAM7M,EAAQoqB,EAAW,UAAUtuC,IAAU+wB,GAAc,KAA+B,OAASA,EAAU,YAAc/wB,EAAM,YAAc+wB,EAAU,SAAS,EAC9J7M,IAAU,QAAaA,GAAS,EAClCoqB,EAAWpqB,CAAK,EAAI6M,EAEpBud,EAAW,KAAKvd,CAAS,CAE5B,CACD,MAAO,CACL,YAAAsd,EACA,KAAAD,EACA,cAAAf,EACA,mBAAA1c,EACA,iBAAA8N,CACJ,CACA,CCnLO,SAAS8P,GAAaltC,EAAO,CAClC,mBAAAwrC,CACF,EAAG,CACK,MAAA/B,EAAqB9gC,EAAS,IAAM,CACxC,MAAMwkC,EAA6B5O,GAAA,CACjC,QAASt9B,EAAI,EAAGA,EAAIs9B,EAAK,OAAQ,EAAEt9B,EAAG,CAC9B,MAAAmvB,EAAMmO,EAAKt9B,CAAC,EAClB,GAAI,aAAcmvB,EACT,OAAA+c,EAAmB/c,EAAI,QAAQ,EACxC,GAAWA,EAAI,OAAS,YACf,OAAAA,CAEX,CACO,OAAA,IAAA,EAEF,OAAA+c,EAAmBntC,EAAM,OAAO,CAAA,CACxC,EACKic,EAActT,EAAS,IAAM,CAC3B,KAAA,CACJ,YAAAykC,CACE,EAAAptC,EACG,OAAAkc,GAAelc,EAAM,KAAM,CAChC,oBAAqB,GACrB,OAAQA,EAAM,OACd,YAAwBqnC,GAAAA,EAAQ+F,CAAW,EAC3C,YAAwB/F,GAAA,CACtB,IAAIl9B,EAAIS,EACR,MAAK,MAAAA,GAAMT,EAAKs/B,EAAmB,SAAW,MAAQt/B,IAAO,OAAS,OAASA,EAAG,YAAc,MAAQS,IAAO,SAAkBA,EAAG,KAAKT,EAAIk9B,CAAO,EAItJ,CAAA,CACD,CAAA,CACF,EACK1F,EAA0Bz7B,GAAQ,IAAM,CACtC,KAAA,CACJ,QAAAgsB,CACE,EAAAlyB,EACE,CACJ,OAAAoqC,CACE,EAAAlY,EACJ,IAAImb,EAA0B,KAC9B,QAASpsC,EAAI,EAAGA,EAAImpC,EAAQ,EAAEnpC,EAAG,CACzB,MAAAmvB,EAAM8B,EAAQjxB,CAAC,EAIjB,GAHA,CAACmvB,EAAI,MAAQid,IAA4B,OACjBA,EAAApsC,GAExB,SAAUmvB,GAAOA,EAAI,KAChB,OAAAnvB,CAEX,CACA,OAAOosC,GAA2B,CAAA,CACnC,EACKC,EAA6B5vC,EAAI,CAAA,CAAE,EACnC,CACJ,WAAA6vC,CACE,EAAAvtC,EACEwtC,EAA6B9vC,EAAI6vC,GAAaA,EAAW,aAAe,CAAK,EAC7ElnB,EAA0B3oB,EAAI4mB,GAAmBipB,CAAU,CAAC,EAC5DzZ,EAAuBnrB,EAAS,IAAM,CAC1C,MAAM8kC,EAA8BjC,EAAmB,MAAM,OAAiBza,GACrEA,EAAO,qBAAuB,QAAaA,EAAO,oBAAsB,MAChF,EACK2c,EAAwB,CAAA,EAC9B,OAAAD,EAA4B,QAAkB1c,GAAA,CACxC,IAAA5mB,EACA4mB,EAAO,OAAS,aAAeA,EAAO,OAAS,WAC/CA,EAAO,qBAAuB,OACV2c,EAAA3c,EAAO,GAAG,GAAK5mB,EAAK4mB,EAAO,qBAAuB,MAAQ5mB,IAAO,OAASA,EAAK,KAE/EujC,EAAA3c,EAAO,GAAG,EAAIA,EAAO,mBAC7C,CACD,EACqB,OAAO,OAAOP,GAA0B8c,EAA2B,KAAK,EAAGI,CAAqB,CAC/G,CACR,EACKjC,EAAkB9iC,EAAS,IAAM,CACrC,MAAMglC,EAAoB7Z,EAAqB,MACzC,CACJ,QAAA5B,CACE,EAAAlyB,EACJ,SAAS4tC,EAAoBla,GAAW,CACtC,MAAO,CAACma,GAAmBxc,KAAQ,CAAC,CAAC,CAAC,OAAOA,GAAIqC,EAAS,CAAC,EAAE,QAAQ,OAAOma,EAAiB,CAAC,CAChG,CACM,KAAA,CACJ,MAAO,CACL,UAAW1b,CACb,CACE,EAAAlW,EACE6xB,EAAgB,CAAA,EACtB,OAAA5b,EAAQ,QAAkBnB,IAAA,CACpBA,GAAO,OAAS,aAAeA,GAAO,OAAS,UAAY,aAAcA,IAG7E+c,EAAc,KAAK,CAAC/c,GAAO,IAAKA,EAAM,CAAC,CAAA,CACxC,EACMoB,EAAOA,EAAK,OAAiB9rB,IAAA,CAC5B,KAAA,CACJ,QAASgrB,EACP,EAAAhrB,GAEJ,SAAW,CAACqtB,GAAW3C,CAAM,IAAK+c,EAAe,CAC3C,IAAAC,EAA2BJ,EAAkBja,EAAS,EAKtD,GAJAqa,GAA4B,OAC3B,MAAM,QAAQA,CAAwB,IACzCA,EAA2B,CAACA,CAAwB,GAElD,CAACA,EAAyB,QAAQ,SAEtC,MAAM7yB,GAAS6V,EAAO,SAAW,UAAY6c,EAAoBla,EAAS,EAAI3C,EAAO,OACjF,GAAAA,GAAU,OAAO7V,IAAW,WAC1B,GAAA6V,EAAO,aAAe,OACpB,GAAAgd,EAAyB,KAA0BF,IAAA,CAAC3yB,GAAO2yB,GAAmBxc,EAAG,CAAC,EAC7E,MAAA,OAEJ,CACL,GAAI0c,EAAyB,KAAKF,IAAqB3yB,GAAO2yB,GAAmBxc,EAAG,CAAC,EACnF,SAEO,MAAA,EAEX,CAEJ,CACO,MAAA,EACR,CAAA,EAAI,CAAA,CAAC,CACP,EACK,CACJ,cAAA2a,EACA,iBAAA5O,EACA,mBAAA9N,EACA,KAAAyd,EACA,YAAAC,CAAA,EACEzB,GAAUvrC,EAAO,CACnB,mBAAAwrC,EACA,gBAAAC,CAAA,CACD,EAEkBD,EAAA,MAAM,QAAkBza,GAAA,CACrC,IAAA5mB,EACJ,GAAI4mB,EAAO,OAAQ,CACjB,MAAMid,EAA4Bjd,EAAO,0BACrCA,EAAO,eACTuc,EAA2B,MAAMvc,EAAO,GAAG,EAAIid,GAA6B,CAAA,EACnEA,IAA8B,OAEvCV,EAA2B,MAAMvc,EAAO,GAAG,EAAIid,IAA8B,KAAO,CAAK,EAAAA,EAE9DV,EAAA,MAAMvc,EAAO,GAAG,GAAK5mB,EAAK4mB,EAAO,4BAA8B,MAAQ5mB,IAAO,OAASA,EAAK,IAE3H,CAAA,CACD,EACK,MAAA8jC,EAA2BtlC,EAAS,IAAM,CACxC,KAAA,CACJ,WAAA4kC,CACE,EAAAvtC,EACAutC,GAAAA,IAAe,GACnB,OAAOA,EAAW,IAAA,CACnB,EACKW,EAAwBvlC,EAAS,IAAM,CACrC,KAAA,CACJ,WAAA4kC,CACE,EAAAvtC,EACAutC,GAAAA,IAAe,GACnB,OAAOA,EAAW,QAAA,CACnB,EACKY,EAAwB7vB,GAAe2vB,EAA0BT,CAA0B,EAC3FjnB,EAAoBjI,GAAe4vB,EAAuB7nB,CAAuB,EACjF+nB,EAA8BloC,GAAQ,IAAM,CAChD,MAAM6hB,EAAOomB,EAAsB,MACnC,OAAOnuC,EAAM,OAAS+nB,EAAO,KAAK,IAAI,EAAG,KAAK,IAAI,KAAK,KAAK0jB,EAAgB,MAAM,OAASllB,EAAkB,KAAK,EAAGwB,CAAI,CAAC,CAAA,CAC3H,EACKvB,EAAqB7d,EAAS,IAAM,CAClC,KAAA,CACJ,WAAA4kC,CACE,EAAAvtC,EACJ,GAAIutC,EAAY,CACR,KAAA,CACJ,UAAA3oB,CACE2oB,EAAAA,EACA,GAAA3oB,IAAc,OAAkB,OAAAA,CACtC,CACO,CACR,EACKsc,EAAmBv4B,EAAS,IAAM,CACtC,GAAI3I,EAAM,OAAe,OAAAic,EAAY,MAAM,UAC3C,GAAI,CAACjc,EAAM,WAAY,OAAOgsC,EAAc,MAC5C,MAAM5jB,EAAW7B,EAAkB,MAC7B8nB,GAAcD,EAA4B,MAAQ,GAAKhmB,EAC7D,OAAO4jB,EAAc,MAAM,MAAMqC,EAAYA,EAAajmB,CAAQ,CAAA,CACnE,EACKuT,EAAsBhzB,EAAS,IAC5Bu4B,EAAiB,MAAM,IAAI76B,GAAUA,EAAO,OAAO,CAC3D,EACD,SAASioC,EAAmBvmB,EAAM,CAC1B,KAAA,CACJ,WAAAwlB,CACE,EAAAvtC,EACJ,GAAIutC,EAAY,CACR,KAAA,CACJ,SAAAjxB,EACA,gBAAiB0L,EACjB,aAAAC,CACEslB,EAAAA,EACAjxB,GAAe3M,GAAA2M,EAAUyL,CAAI,EAC7BE,GAAmBtY,GAAAsY,EAAcF,CAAI,EACrCC,GAAoBrY,GAAAqY,EAAeD,CAAI,EAC3CV,EAAaU,CAAI,CACnB,CACF,CACA,SAASwmB,EAAuBnmB,EAAU,CAClC,KAAA,CACJ,WAAAmlB,CACE,EAAAvtC,EACJ,GAAIutC,EAAY,CACR,KAAA,CACJ,iBAAAhlB,EACA,oBAAqBF,EACrB,iBAAAC,CACEilB,EAAAA,EACAhlB,GAAuB5Y,GAAA4Y,EAAkBH,CAAQ,EACjDE,GAAuB3Y,GAAA2Y,EAAkBF,CAAQ,EACjDC,GAAwB1Y,GAAA0Y,EAAmBD,CAAQ,EACvDD,EAAiBC,CAAQ,CAC3B,CACF,CACM,MAAAP,EAAqBlf,EAAS,IAAM,CACxC,GAAI3I,EAAM,OAAQ,CACV,KAAA,CACJ,WAAAutC,CACE,EAAAvtC,EACJ,GAAIutC,EAAY,CACR,KAAA,CACJ,UAAA9mB,CACE8mB,EAAAA,EACA,GAAA9mB,IAAc,OAAkB,OAAAA,CACtC,CACO,MACT,CACA,OAAOglB,EAAgB,MAAM,MAAA,CAC9B,EACK+C,EAAsB7lC,EAAS,IAC5B,OAAO,OAAO,OAAO,OAAO,GAAI3I,EAAM,UAAU,EAAG,CAExD,SAAU,OACV,aAAc,OACd,iBAAkB,OAClB,iBAAkB,OAClB,gBAAiBsuC,EACjB,oBAAqBC,EAIrB,KAAMH,EAA4B,MAClC,SAAU7nB,EAAkB,MAC5B,UAAWsB,EAAmB,QAAU,OAAYrB,EAAmB,MAAQ,OAC/E,UAAWqB,EAAmB,KAAA,CAC/B,CACF,EACD,SAASR,EAAaU,EAAM,CACpB,KAAA,CACJ,gBAAiBC,EACjB,aAAAymB,EACA,aAAAxmB,CACE,EAAAjoB,EACAioB,GAAmBtY,GAAAsY,EAAcF,CAAI,EACrCC,GAAoBrY,GAAAqY,EAAeD,CAAI,EACvC0mB,GAAmB9+B,GAAA8+B,EAAc1mB,CAAI,EACzCylB,EAA2B,MAAQzlB,CACrC,CACA,SAASI,EAAiBC,EAAU,CAC5B,KAAA,CACJ,oBAAqBC,EACrB,iBAAAE,EACA,iBAAAD,CACE,EAAAtoB,EACAuoB,GAAuB5Y,GAAA4Y,EAAkBH,CAAQ,EACjDE,GAAuB3Y,GAAA2Y,EAAkBF,CAAQ,EACjDC,GAAwB1Y,GAAA0Y,EAAmBD,CAAQ,EACvD/B,EAAwB,MAAQ+B,CAClC,CACS,SAAA6L,EAAgBya,EAASC,EAAc,CACxC,KAAA,CACJ,gBAAAC,EACA,mBAAoBC,EACpB,gBAAAC,CACE,EAAA9uC,EACA4uC,GAAiBj/B,GAAKi/B,EAAiBF,EAASC,CAAY,EAC5DE,GAAkBl/B,GAAKk/B,EAAkBH,EAASC,CAAY,EAC9DG,GAAiBn/B,GAAKm/B,EAAiBJ,EAASC,CAAY,EAChErB,EAA2B,MAAQoB,CACrC,CACA,SAASzR,EAAuBjM,EAAc+d,EAAche,EAAQie,EAAgB,CAC9E,IAAA7kC,GACHA,EAAKnK,EAAM,0BAA4B,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,EAAOgxB,EAAc+d,EAAche,EAAQie,CAAc,CAC5I,CACA,SAASjnB,EAAKA,EAAM,CAClBV,EAAaU,CAAI,CACnB,CACA,SAASknB,GAAc,CACRC,GACf,CACA,SAASA,GAAe,CACtBR,GAAQ,CAAE,CAAA,CACZ,CACA,SAASA,GAAQA,EAAS,CACxBxzB,GAAOwzB,CAAO,CAChB,CACA,SAASxzB,GAAOwzB,EAAS,CAClBA,EAEMA,IACkBpB,EAAA,MAAQ9c,GAA0Bke,CAAO,GAFpEpB,EAA2B,MAAQ,EAMvC,CACO,MAAA,CACL,YAAArxB,EACA,qBAAsBmyB,EACtB,oBAAAI,EACA,iBAAAtN,EACA,oBAAAvF,EACA,qBAAA7H,EACA,mBAAAxE,EACA,YAAa5xB,EAAI,IAAI,EACrB,mBAAA+rC,EACA,wBAAA9H,EACA,gBAAA1N,EACA,iBAAAmJ,EACA,iBAAAjV,EACA,aAAAd,EACA,uBAAA4V,EAEA,OAAA/hB,GACA,QAAAwzB,GACA,YAAAO,EACA,aAAAC,EACA,YAAAlC,EACA,KAAAjlB,EACA,KAAAglB,CAAA,CAEJ,CC1VO,SAASoC,GAAUnvC,EAAO,CAC/B,iBAAAovC,EACA,qBAAA3S,EACA,aAAAuE,CACF,EAAG,CACD,IAAIqO,EAAiB,EACrB,MAAMC,EAAgB5xC,IAChB0jC,EAA2B1jC,EAAI,IAAI,EACnC2jC,EAAoC3jC,EAAI,CAAA,CAAE,EAC1C4jC,EAA4B5jC,EAAI,IAAI,EACpC6jC,EAAqC7jC,EAAI,CAAA,CAAE,EAC3C6xC,EAAkB5mC,EAAS,IACxB2nB,GAAatwB,EAAM,OAAO,CAClC,EACKyoC,EAAsB9/B,EAAS,IAC5B3I,EAAM,QAAQ,OAAO+wB,GAAUA,EAAO,QAAU,MAAM,CAC9D,EACKyX,EAAuB7/B,EAAS,IAC7B3I,EAAM,QAAQ,OAAO+wB,GAAUA,EAAO,QAAU,OAAO,CAC/D,EACKwL,EAAwB5zB,EAAS,IAAM,CAC3C,MAAMupB,EAAU,CAAA,EAChB,IAAIsd,EAAO,EACX,SAASr0B,EAASojB,EAAM,CACtBA,EAAK,QAAQnO,GAAO,CAClB,MAAMqf,EAAe,CACnB,MAAOD,EACP,IAAK,CACf,EACQtd,EAAQ3B,GAAUH,CAAG,CAAC,EAAIqf,EACtB,aAAcrf,GAChBjV,EAASiV,EAAI,QAAQ,EACrBqf,EAAa,IAAMD,IAEnBA,GAAQrf,GAAkBC,CAAG,GAAK,EAClCqf,EAAa,IAAMD,EAE7B,CAAO,CACF,CACD,OAAAr0B,EAASstB,EAAoB,KAAK,EAC3BvW,CACX,CAAG,EACKsK,EAAyB7zB,EAAS,IAAM,CAC5C,MAAMupB,EAAU,CAAA,EAChB,IAAIwd,EAAQ,EACZ,SAASv0B,EAASojB,EAAM,CACtB,QAASt9B,EAAIs9B,EAAK,OAAS,EAAGt9B,GAAK,EAAG,EAAEA,EAAG,CACzC,MAAMmvB,EAAMmO,EAAKt9B,CAAC,EACZwuC,EAAe,CACnB,MAAOC,EACP,IAAK,CACf,EACQxd,EAAQ3B,GAAUH,CAAG,CAAC,EAAIqf,EACtB,aAAcrf,GAChBjV,EAASiV,EAAI,QAAQ,EACrBqf,EAAa,IAAMC,IAEnBA,GAASvf,GAAkBC,CAAG,GAAK,EACnCqf,EAAa,IAAMC,EAEtB,CACF,CACD,OAAAv0B,EAASqtB,EAAqB,KAAK,EAC5BtW,CACX,CAAG,EACD,SAASyd,GAA8B,CACrC,IAAIxlC,EAAIS,EAER,KAAM,CACJ,MAAOglC,CACR,EAAGnH,EACJ,IAAIoH,EAAY,EAChB,KAAM,CACJ,MAAO1R,CACR,EAAG5B,EACJ,IAAImI,EAAwB,KAC5B,QAASzjC,EAAI,EAAGA,EAAI2uC,EAAiB,OAAQ,EAAE3uC,EAAG,CAChD,MAAMjC,EAAMuxB,GAAUqf,EAAiB3uC,CAAC,CAAC,EACzC,GAAIouC,KAAoBllC,EAAKg0B,EAAmBn/B,CAAG,KAAO,MAAQmL,IAAO,OAAS,OAASA,EAAG,QAAU,GAAK0lC,EAC3GnL,EAAwB1lC,EACxB6wC,IAAcjlC,EAAKuzB,EAAmBn/B,CAAG,KAAO,MAAQ4L,IAAO,OAAS,OAASA,EAAG,MAAQ,MAE5F,MAEH,CACDw2B,EAAyB,MAAQsD,CAClC,CACD,SAASoL,GAAuC,CAC9CzO,EAAkC,MAAQ,GAC1C,IAAI0O,EAAwB/vC,EAAM,QAAQ,KAAKowB,GAAOG,GAAUH,CAAG,IAAMgR,EAAyB,KAAK,EACvG,KAAO2O,GAAyB,aAAcA,GAAuB,CACnE,MAAM3F,EAAS2F,EAAsB,SAAS,OAC9C,GAAI3F,IAAW,EAAG,MAClB,MAAM4F,EAA4BD,EAAsB,SAAS3F,EAAS,CAAC,EAC3E/I,EAAkC,MAAM,KAAK9Q,GAAUyf,CAAyB,CAAC,EACjFD,EAAwBC,CACzB,CACF,CACD,SAASC,GAA+B,CACtC,IAAI9lC,EAAIS,EAER,KAAM,CACJ,MAAOslC,CACR,EAAG1H,EACE2H,EAAc,OAAOnwC,EAAM,OAAO,EAClC,CACJ,MAAOowC,CACR,EAAGpP,EACJ,GAAIoP,IAAe,KAAM,OACzB,IAAIC,EAAa,EACbzL,EAAyB,KAC7B,KAAM,CACJ,MAAOxG,CACR,EAAG5B,EACJ,QAASv7B,EAAIivC,EAAkB,OAAS,EAAGjvC,GAAK,EAAG,EAAEA,EAAG,CACtD,MAAMjC,EAAMuxB,GAAU2f,EAAkBjvC,CAAC,CAAC,EAC1C,GAAI,KAAK,MAAMouC,KAAoBllC,EAAKi0B,EAAoBp/B,CAAG,KAAO,MAAQmL,IAAO,OAAS,OAASA,EAAG,QAAU,GAAKimC,EAAaC,CAAU,EAAIF,EAClJvL,EAAyB5lC,EACzBqxC,IAAezlC,EAAKwzB,EAAoBp/B,CAAG,KAAO,MAAQ4L,IAAO,OAAS,OAASA,EAAG,MAAQ,MAE9F,MAEH,CACD02B,EAA0B,MAAQsD,CACnC,CACD,SAAS0L,GAAwC,CAC/C/O,EAAmC,MAAQ,GAC3C,IAAIgP,EAAyBvwC,EAAM,QAAQ,KAAKowB,GAAOG,GAAUH,CAAG,IAAMkR,EAA0B,KAAK,EACzG,KAAOiP,GAA0B,aAAcA,GAA0BA,EAAuB,SAAS,QAAQ,CAC/G,MAAMC,EAA6BD,EAAuB,SAAS,CAAC,EACpEhP,EAAmC,MAAM,KAAKhR,GAAUigB,CAA0B,CAAC,EACnFD,EAAyBC,CAC1B,CACF,CACD,SAASC,GAAoB,CAC3B,MAAMpe,EAAS+c,EAAiB,MAAQA,EAAiB,MAAM,iBAAkB,EAAG,KAC9E51B,EAAO41B,EAAiB,MAAQA,EAAiB,MAAM,eAAgB,EAAG,KAChF,MAAO,CACL,OAAA/c,EACA,KAAA7Y,CACN,CACG,CACD,SAASk3B,GAA2B,CAClC,KAAM,CACJ,KAAAl3B,CACD,EAAGi3B,EAAiB,EACjBj3B,IACFA,EAAK,UAAY,EAEpB,CACD,SAAS2jB,GAA0B,CAC7BmS,EAAc,QAAU,OAC1BqB,GAAoB/H,CAAe,EAEnC0G,EAAc,MAAQ,MAEzB,CACD,SAAS5M,EAAsB1kC,EAAG,CAChC,IAAImM,GACHA,EAAKnK,EAAM,YAAc,MAAQmK,IAAO,QAAkBA,EAAG,KAAKnK,EAAOhC,CAAC,EACvEsxC,EAAc,QAAU,OAC1BqB,GAAoB/H,CAAe,EAEnC0G,EAAc,MAAQ,MAEzB,CACD,SAAS1G,GAAkB,CAIzB,KAAM,CACJ,OAAAvW,EACA,KAAA7Y,CACD,EAAGi3B,EAAiB,EACrB,GAAI,CAACj3B,EAAM,OACX,KAAM,CACJ,MAAO42B,CACR,EAAGpP,EACJ,GAAIoP,IAAe,KACnB,IAAIpwC,EAAM,WAAaA,EAAM,WAAY,CACvC,GAAI,CAACqyB,EAAQ,OAEb,MAAMue,EAAgBvB,EAAiBhd,EAAO,WAC9Cid,EAAc,MAAQsB,IAAkB,EAAI,OAAS,OACjDtB,EAAc,QAAU,QAC1BD,EAAiBhd,EAAO,WACxB7Y,EAAK,WAAa61B,IAElBA,EAAiB71B,EAAK,WACtB6Y,EAAO,WAAagd,EAE5B,MACMA,EAAiB71B,EAAK,WAExBm2B,IACAG,IACAG,IACAK,IACD,CACD,SAAS9N,EAAoBgN,EAAM,CACjC,KAAM,CACJ,OAAAnd,CACD,EAAGoe,EAAiB,EAChBpe,IACLA,EAAO,WAAamd,EACpB5G,IACD,CACD,OAAArqC,GAAMk+B,EAAsB,IAAM,CAChCiU,GACJ,CAAG,EACM,CACL,gBAAAnB,EACA,sBAAAhT,EACA,uBAAAC,EACA,oBAAAiM,EACA,qBAAAD,EACA,yBAAApH,EACA,kCAAAC,EACA,0BAAAC,EACA,mCAAAC,EACA,gBAAAqH,EACA,sBAAAlG,EACA,wBAAAvF,EACA,oBAAAqF,CACJ,CACA,CCnOO,SAASqO,IAAe,CAC7B,MAAMC,EAAqBpzC,EAAI,CAAA,CAAE,EACjC,SAASqzC,EAAkB/xC,EAAK,CAC9B,OAAO8xC,EAAmB,MAAM9xC,CAAG,CACpC,CACD,SAASk+B,EAAuBnM,EAAQE,EAAO,CACzCQ,GAAkBV,CAAM,GAAK,QAASA,IACxC+f,EAAmB,MAAM/f,EAAO,GAAG,EAAIE,EAE1C,CACD,SAAS+f,GAAsB,CAC7BF,EAAmB,MAAQ,EAC5B,CACD,MAAO,CACL,kBAAAC,EACA,uBAAA7T,EACA,oBAAA8T,CACJ,CACA,CClBA,SAASC,GAAe/e,EAAS6e,EAAmB,CAClD,MAAMze,EAAO,CAAA,EACPiM,EAAO,CAAA,EACP2S,EAAkB,CAAA,EAClBC,EAAa,IAAI,QACvB,IAAIC,EAAW,GACXC,EAAe,EACfC,EAAc,GAClB,SAASC,EAAerf,EAASsf,EAAc,CACzCA,EAAeJ,IACjB9e,EAAKkf,CAAY,EAAI,GACrBJ,EAAWI,GAEb,UAAWzgB,KAAUmB,EACnB,GAAI,aAAcnB,EAChBwgB,EAAexgB,EAAO,SAAUygB,EAAe,CAAC,MAC3C,CACL,MAAMxyC,EAAM,QAAS+xB,EAASA,EAAO,IAAM,OAC3CwN,EAAK,KAAK,CACR,IAAKhO,GAAUQ,CAAM,EACrB,MAAOD,GAAuBC,EAAQ/xB,IAAQ,OAAYsxB,GAAaygB,EAAkB/xC,CAAG,CAAC,EAAI,MAAS,EAC1G,OAAA+xB,CACV,CAAS,EACDsgB,GAAgB,EACXC,IACHA,EAAc,CAAC,CAACvgB,EAAO,UAEzBmgB,EAAgB,KAAKngB,CAAM,CAC5B,CAEJ,CACDwgB,EAAerf,EAAS,CAAC,EACzB,IAAIuf,EAAmB,EACvB,SAASC,EAAgBxf,EAASsf,EAAc,CAC9C,IAAIG,EAAiB,EACrBzf,EAAQ,QAAQ,CAACnB,EAAQlO,IAAU,CACjC,IAAI1Y,EACJ,GAAI,aAAc4mB,EAAQ,CAGxB,MAAM6gB,EAAyBH,EACzBI,EAAU,CACd,OAAA9gB,EACA,QAAS,EACT,QAAS,EACT,OAAQ,EAClB,EACQ2gB,EAAgB3gB,EAAO,SAAUygB,EAAe,CAAC,EACjDzgB,EAAO,SAAS,QAAQ+gB,GAAe,CACrC,IAAI3nC,EAAIS,EACRinC,EAAQ,UAAYjnC,GAAMT,EAAKgnC,EAAW,IAAIW,CAAW,KAAO,MAAQ3nC,IAAO,OAAS,OAASA,EAAG,WAAa,MAAQS,IAAO,OAASA,EAAK,CACxJ,CAAS,EACGgnC,EAAyBC,EAAQ,UAAYR,IAC/CQ,EAAQ,OAAS,IAEnBV,EAAW,IAAIpgB,EAAQ8gB,CAAO,EAC9Bvf,EAAKkf,CAAY,EAAE,KAAKK,CAAO,CACvC,KAAa,CACL,GAAIJ,EAAmBE,EAAgB,CACrCF,GAAoB,EACpB,MACD,CACD,IAAI5S,EAAU,EACV,iBAAkB9N,IACpB8N,GAAW10B,EAAK4mB,EAAO,gBAAkB,MAAQ5mB,IAAO,OAASA,EAAK,GAEpE00B,EAAU,IACZ8S,EAAiBF,EAAmB5S,GAEtC,MAAME,EAAS0S,EAAmB5S,IAAYwS,EACxCQ,EAAU,CACd,OAAA9gB,EACA,QAAA8N,EACA,QAASuS,EAAWI,EAAe,EACnC,OAAAzS,CACV,EACQoS,EAAW,IAAIpgB,EAAQ8gB,CAAO,EAC9Bvf,EAAKkf,CAAY,EAAE,KAAKK,CAAO,EAC/BJ,GAAoB,CACrB,CACP,CAAK,CACF,CACD,OAAAC,EAAgBxf,EAAS,CAAC,EACnB,CACL,YAAAof,EACA,KAAAhf,EACA,KAAAiM,EACA,gBAAA2S,CACJ,CACA,CACO,SAASa,GAAe/xC,EAAO+wC,EAAmB,CACvD,MAAMiB,EAAcrpC,EAAS,IAAMsoC,GAAejxC,EAAM,QAAS+wC,CAAiB,CAAC,EACnF,MAAO,CACL,QAASpoC,EAAS,IAAMqpC,EAAY,MAAM,IAAI,EAC9C,QAASrpC,EAAS,IAAMqpC,EAAY,MAAM,IAAI,EAC9C,eAAgBrpC,EAAS,IAAMqpC,EAAY,MAAM,WAAW,EAC5D,mBAAoBrpC,EAAS,IAAMqpC,EAAY,MAAM,eAAe,CACxE,CACA,CCjGgB,SAAAC,GAAUjyC,EAAOic,EAAa,CACtC,MAAAulB,EAAkBt7B,GAAQ,IAAM,CACzB,UAAAkqB,KAAOpwB,EAAM,QAClB,GAAAowB,EAAI,OAAS,SAIf,OAAOA,EAAI,YAEf,CACD,EACK+R,EAAgBj8B,GAAQ,IAAM,CAE9B,IAAA8/B,EACO,UAAA5V,KAAOpwB,EAAM,QAClB,GAAAowB,EAAI,OAAS,SAAU,CACzB4V,EAAa5V,EAAI,WACjB,KACF,CAEK,OAAA4V,CAAA,CACR,EACKkM,EAAiCx0C,EAAIsC,EAAM,iBAAoBwhC,GAAoB,MAA8CA,EAAgB,OAAU,IAAM,CACrK,MAAM2Q,EAAe,CAAA,EACT,OAAAl2B,EAAA,MAAM,UAAU,QAAkB5V,GAAA,CACxC,IAAA8D,EACC,GAAAA,EAAKg4B,EAAc,SAAW,MAAQh4B,IAAO,SAAkBA,EAAG,KAAKg4B,EAAe97B,EAAO,OAAO,GAC1F8rC,EAAA,KAAK9rC,EAAO,GAAG,CAC9B,CACD,EACM8rC,CAAA,GACF,EAAAl2B,EAAY,MAAM,eAAe,EAAIjc,EAAM,sBAAsB,EAClEoyC,EAA+B7pC,GAAMvI,EAAO,iBAAiB,EAC7DoiC,EAAwB75B,GAAMvI,EAAO,oBAAoB,EACzDihC,EAA2B3iB,GAAe8zB,EAA8BF,CAA8B,EAC5G,SAASzP,EAAwB0P,EAAc,CACvC,KAAA,CACJ,wBAAAE,EACA,2BAA4BC,CAC1B,EAAAtyC,EACAqyC,GACF1iC,GAAK0iC,EAAyBF,CAAY,EAExCG,GACF3iC,GAAK2iC,EAA0BH,CAAY,EAE7CD,EAA+B,MAAQC,CACzC,CACO,MAAA,CACL,sBAAA/P,EACA,yBAAAnB,EACA,gBAAAO,EACA,cAAAW,EACA,wBAAAM,CAAA,CAEJ,CCxDA,MAAM8P,GAAmBC,GAAsB,EA4C/C5yC,GAAeC,GAAE,CAAC6H,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAY/B,CAACA,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA,EAI5B,EAAGE,EAAG,cAAe,CAAC/H,GAAE,IAAK,CAAC6H,EAAG,qBAAsB,CAAC7H,GAAE,IAAK,CAAC6H,EAAG,wBAAyB;AAAA;AAAA;AAAA;AAAA,GAI1F,CAAC7H,GAAE,IAAK,CAAC6H,EAAG,6BAA8B,iBAAkB,CAGhE7H,GAAE,eAAgB,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGA,GAAE,IAAK,CAAC6H,EAAG,6BAA8B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWvF,CAACI,GAAwB,CAC3B,kBAAmB,mCACrB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGJ,EAAG,gCAAiC;AAAA;AAAA;AAAA;AAAA;AAAA,EAK1C,EAAGA,EAAG,oBAAqB;AAAA;AAAA;AAAA,EAG3B,EAAGA,EAAG,4BAA6B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAWjC,CAACE,EAAG,WAAY,CAACF,EAAG,OAAQ,4BAA6B,CAAC+qC,GAAqB,CACjF,kBAAmB,eACrB,CAAC,CAAC,CAAC,EAAG/qC,EAAG,YAAa,4BAA6B,CAAC+qC,GAAqB,CACvE,kBAAmB,eACrB,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG/qC,EAAG,eAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQvB,CAAC+qC,GAAsB,CAAA,CAAC,EAAG/qC,EAAG,OAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMtC,CAAC+qC,GAAsB,CAAA,CAAC,EAAG/qC,EAAG,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAM3C,CAAC+qC,IAAsB,CAAC,CAAC,CAAC,EAAG/qC,EAAG,mBAAoB;AAAA;AAAA;AAAA,EAGtD,EAAGA,EAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA,GAIrB,CAACA,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO3B,EAAGE,EAAG,UAAW,sDAAuD,CAACF,EAAG,gBAAiB,qDAAqD,CAAC,CAAC,EAAGG,GAAM,UAAW,CAAChI,GAAE,UAAW,oDAAqD,CAACA,GAAE,IAAK,CAAC6H,EAAG,gBAAiB,mDAAmD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAcxV,CAACE,EAAG,aAAc;AAAA;AAAA,GAElB,CAACA,EAAG,WAAY;AAAA;AAAA,EAElB,CAAC,CAAC,EAAG2qC,GAAkB3qC,EAAG,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvC,EAAGD,GAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,GAKrB,CAACA,GAAG,QAAS;AAAA;AAAA;AAAA,EAGf,CAAC,CAAC,EAAGA,GAAG,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOpB,EAAGC,EAAG,QAAS;AAAA;AAAA,EAEf,EAAGA,EAAG,WAAY;AAAA;AAAA,GAEhB,CAACD,GAAG,WAAY;AAAA;AAAA,EAElB,EAAG9H,GAAE,UAAW;AAAA;AAAA,EAEhB,CAAC,CAAC,EAAG6H,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAW3B,CAACA,EAAG,YAAa,2CAA2C,EAAGE,EAAG,OAAQ,CAACF,EAAG,YAAa;AAAA;AAAA,EAE7F,CAAC,CAAC,EAAGE,EAAG,MAAO,CAACF,EAAG,YAAa;AAAA;AAAA,EAEhC,CAAC,CAAC,EAAGE,EAAG,YAAa;AAAA;AAAA,EAErB,CAAC,CAAC,EAAGF,EAAG,2BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQlC,CAAC7H,GAAE,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYjB,EAAG+H,EAAG,SAAU,CAAC/H,GAAE,WAAY;AAAA;AAAA,EAE/B,CAAC,CAAC,EAAGA,GAAE,iBAAkB;AAAA;AAAA,EAEzB,CAAC,CAAC,EAAG6H,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAgB3B,CAAC7H,GAAE,UAAW;AAAA;AAAA,EAEhB,EAAG+H,EAAG,OAAQ;AAAA;AAAA,EAEd,EAAGA,EAAG,SAAU;AAAA;AAAA;AAAA,EAGhB,CAAC,CAAC,CAAC,CAAC,EAAGF,EAAG,gBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAazB,CAACE,EAAG,SAAU,CAACF,EAAG,4BAA6B;AAAA;AAAA,EAEjD,CAAC,CAAC,EAAGE,EAAG,WAAY;AAAA;AAAA,GAElB,CAGJ/H,GAAE,WAAY;AAAA;AAAA,EAEZ,EAAGA,GAAE,YAAa;AAAA;AAAA,EAElB,CAAC,CAAC,EAAG+H,EAAG,UAAW;AAAA;AAAA,EAEnB,EAAGA,EAAG,QAAS;AAAA;AAAA,EAEf,EAAGD,GAAG,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQlB,EAAGC,EAAG,oBAAqB;AAAA;AAAA;AAAA;AAAA,EAI3B,EAAG2qC,EAAgB,CAAC,EAAG7qC,EAAG,mBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAU5C,CAACE,EAAG,OAAQ;AAAA;AAAA,EAEd,CAAC,CAAC,EAAGD,GAAG,aAAc;AAAA;AAAA;AAAA;AAAA,EAItB,EAAGD,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAO5B,EAAGE,EAAG,UAAW,CAACF,EAAG,qBAAsB;AAAA;AAAA;AAAA,EAG3C,CAAC,CAAC,EAAGE,EAAG,gBAAiB,CAACF,EAAG,gBAAiB;AAAA;AAAA,GAE5C,CAAC7H,GAAE,sBAAuB;AAAA;AAAA,EAE5B,CAAC,CAAC,CAAC,CAAC,EAAGgI,GAAM,cAAe,CAACH,EAAG,gBAAiB;AAAA;AAAA,GAE/C,CAACE,EAAG,OAAQ;AAAA;AAAA,EAEd,CAAC,CAAC,EAAGF,EAAG,gBAAiB;AAAA;AAAA,GAEvB,CAACE,EAAG,WAAY;AAAA;AAAA,EAElB,CAAC,CAAC,CAAC,CAAC,EAAGA,EAAG,WAAY,CAACF,EAAG,qBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhD,CAAC,CAAC,EAAGA,EAAG,wBAAyB,CAACE,EAAG,sBAAuB,CAACF,EAAG,gBAAiB,CAAC7H,GAAE,sBAAuB,mBAAmB,CAAC,CAAC,EAAG6H,EAAG,gBAAiB,CAAC7H,GAAE,sBAAuB,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAG+H,EAAG,kBAAmB,CAACF,EAAG,gBAAiB,CAACE,EAAG,WAAY;AAAA;AAAA,EAExQ,CAAC,CAAC,CAAC,CAAC,EAAGF,EAAG,mBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ9B,EAAGA,EAAG,+BAAgC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQpC,CAAC7H,GAAE,uBAAwB;AAAA;AAAA;AAAA,EAG7B,CAAC,CAAC,EAAG6H,EAAG,yBAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASlC,CAAC,CAAC,EAAGA,EAAG,yBAA0B,CAACA,EAAG,YAAa;AAAA;AAAA,EAEnD,EAAGC,GAAG,QAAS;AAAA;AAAA;AAAA;AAAA,GAIb,CAACD,EAAG,WAAY;AAAA;AAAA;AAAA,EAGlB,EAAGA,EAAG,QAAS;AAAA;AAAA;AAAA,EAGf,CAAC,CAAC,EAAGC,GAAG,SAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAMhB,CAACD,EAAG,SAAU,CAAC7H,GAAE,qBAAsB;AAAA;AAAA,EAEzC,EAAGA,GAAE,eAAgB;AAAA;AAAA,EAErB,CAAC,CAAC,CAAC,CAAC,EAAG6H,EAAG,UAAW;AAAA;AAAA,EAErB,CAAC,CAAC,EAAGgrC,GAAYhrC,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOlC,CAAC,EAAGirC,GAAcjrC,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnC,CAAC,CAAC,CAAC,EACL,SAAS8qC,IAAyB,CAChC,MAAO,CAAC5qC,EAAG,aAAc;AAAA;AAAA;AAAA;AAAA,GAIvB,CAAC/H,GAAE,WAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUjB,CAAC,CAAC,EAAG+H,EAAG,cAAe;AAAA;AAAA;AAAA;AAAA,GAIrB,CAAC/H,GAAE,YAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAUlB,CAAC,CAAC,CAAC,CACL,CC/ZA,MAAA+yC,GAAe7yC,GAAgB,CAC7B,KAAM,YACN,MAAO,CAAC,eAAe,EACvB,MAAOovB,GACP,MAAMnvB,EAAO,CACX,MAAAC,CAAA,EACC,CAoBK,KAAA,CACJ,kBAAAmP,EACA,mBAAAnH,EACA,oBAAAsE,EACA,aAAArE,CAAA,EACEC,GAAUnI,CAAK,EACboI,EAAgBC,GAAO,YAAaH,EAAcD,CAAkB,EACpE4qC,EAA0BlqC,EAAS,IAAM,CACvC,KAAA,CACJ,eAAAmqC,CACE,EAAA9yC,EAGA,OAAAoP,EAAkB,MAAc,GAChC0jC,IAAmB,OAAkBA,EAClC,EAAA,CACR,EACKxqC,EAAWN,GAAS,YAAa,cAAepI,GAAOsuB,GAAgBluB,EAAOiI,CAAkB,EAChG+4B,EAAetjC,EAAI,IAAI,EACvB0xC,EAAmB1xC,EAAI,IAAI,EAC3B,CACJ,kBAAAqzC,EACA,oBAAAC,EACA,uBAAA9T,GACE2T,GAAa,EACX,CACJ,QAAAjU,EACA,QAAAC,EACA,mBAAA2O,EACA,eAAAuH,CAAA,EACEhB,GAAe/xC,EAAO+wC,CAAiB,EACrCiC,EAAyBv0C,GAAA,CACvB,KAAA,CACJ,SAAAw0C,EAAW,WACX,iBAAAC,EAAmB,EAAA,EACjBz0C,GAAW,CAAA,EACT0zB,GAAO+gB,EAAmBlzC,EAAM,KAAO27B,EAAoB,MAC3DwX,GAAUlhB,GAAYjyB,EAAM,QAASmyB,EAAI,EACzCihB,GAAO,IAAI,KAAK,CAACD,EAAO,EAAG,CAC/B,KAAM,wBAAA,CACP,EACKE,GAAc,IAAI,gBAAgBD,EAAI,EACnC9wC,GAAA+wC,GAAaJ,EAAS,SAAS,MAAM,EAAIA,EAAW,GAAGA,CAAQ,MAAM,EAC9E,IAAI,gBAAgBI,EAAW,CAAA,EAE3B,CACJ,YAAAp3B,EACA,qBAAAwgB,EACA,iBAAAyE,EACA,oBAAAvF,EACA,mBAAA8N,EACA,YAAA1T,EACA,oBAAAyY,EACA,qBAAA1a,EACA,mBAAAxE,EACA,wBAAAqS,EACA,aAAAta,EACA,gBAAA4M,EACA,uBAAAgJ,EACA,iBAAAG,EACA,OAAAliB,EACA,QAAAwzB,EACA,YAAAO,GACA,aAAAC,GACA,YAAAlC,EACA,KAAAjlB,EACA,KAAAglB,CAAA,EACEG,GAAaltC,EAAO,CACtB,mBAAAwrC,CAAA,CACD,EACK,CACJ,WAAA5P,EACA,aAAAC,EACA,QAAA8G,GACA,UAAAC,GACA,0BAAA5F,GACA,mBAAAL,EACA,kBAAAD,EACA,0BAAAsD,GACA,8BAAAC,EAAA,EACEuJ,GAASxpC,EAAO,CAClB,mBAAAypC,EACA,YAAAxtB,EACA,iBAAAilB,CAAA,CACD,EACK,CACJ,sBAAAkB,GACA,yBAAAnB,GACA,gBAAAO,GACA,cAAAW,GACA,wBAAAM,EAAA,EACEwP,GAAUjyC,EAAOic,CAAW,EAC1B,CACJ,sBAAAymB,GACA,wBAAAvF,GACA,gBAAAyL,GACA,oBAAApG,GACA,yBAAApB,GACA,kCAAAC,GACA,0BAAAC,EACA,mCAAAC,EACA,oBAAAkH,GACA,qBAAAD,GACA,sBAAAjM,GACA,uBAAAC,EAAA,EACE2S,GAAUnvC,EAAO,CACnB,aAAAghC,EACA,iBAAAoO,EACA,qBAAA3S,CAAA,CACD,EACK,CACJ,UAAAxd,CAAA,EACEC,GAAU,WAAW,EACnB6d,GAAuBp0B,EAAS,IAIhC3I,EAAM,eAAiBA,EAAM,YAAcA,EAAM,YAAc,QAAa+yC,EAAe,MACtF,QAEF/yC,EAAM,WACd,EACDgL,GAAQokB,GAAuB,CAC7B,MAAApvB,EACA,YAAAic,EACA,oBAAqB1T,GAAMvI,EAAO,kBAAkB,EACpD,iBAAkBtC,EAAQ,IAAA,GAAK,EAC/B,MAAAuC,EACA,UAAWsI,GAAMvI,EAAO,QAAQ,EAChC,wBAAA2hC,EACA,aAAAX,EACA,YAAasS,GAAS,EACtB,YAAAvd,EACA,mBAAA9tB,EACA,eAAgBK,EAChB,WAAYK,EAAS,IAAM3I,EAAM,OAAO,EACxC,QAAA48B,EACA,QAAAC,EACA,iBAAAqE,EACA,yBAAAE,GACA,kCAAAC,GACA,0BAAAC,EACA,mCAAAC,EACA,oBAAAkH,GACA,qBAAAD,GACA,sBAAAjM,GACA,uBAAAC,GACA,qBAAAC,EACA,mBAAAE,EACA,kBAAAD,EACA,mBAAApN,EACA,qBAAAwE,EACA,WAAYvrB,GAAMvI,EAAO,SAAS,EAClC,gBAAiBuI,GAAMvI,EAAO,cAAc,EAC5C,0BAAAggC,GACA,yBAAAiB,GACA,8BAAAhB,GACA,UAAAhhB,EACA,cAAAkjB,GACA,sBAAAC,GACA,UAAW75B,GAAMvI,EAAO,QAAQ,EAChC,gBAAAwhC,GACA,WAAYj5B,GAAMvI,EAAO,SAAS,EAClC,iBAAkBuI,GAAMvI,EAAO,eAAe,EAC9C,YAAauI,GAAMvI,EAAO,UAAU,EACpC,WAAYuI,GAAMvI,EAAO,SAAS,EAClC,gBAAiB2I,EAAS,IAAM,CACxB,KAAA,CACJ,MAAO4qC,CACL,EAAA9J,EACJ,OAAO8J,GAAoB,KAAqC,OAASA,EAAgB,OAAA,CAC1F,EACD,oBAAA5X,EACA,qBAAsBhzB,EAAS,IAAM,CAC7B,KAAA,CACJ,KAAM,CACJ,mBAAA4C,EACA,cAAAioC,EACA,mBAAAC,CACF,CAAA,EACEnrC,EAAS,MACN,MAAA,CACL,qBAAsBkrC,EACtB,2BAA4BC,EAC5B,2BAA4BloC,CAAA,CAC9B,CACD,EACD,UAAWhD,GAAMvI,EAAO,QAAQ,EAChC,qBAAA+8B,GACA,aAAcx0B,GAAMvI,EAAO,WAAW,EACtC,aAAcuI,GAAMvI,EAAO,WAAW,EACtC,cAAeuI,GAAMvI,EAAO,YAAY,EACxC,0BAAAg9B,GACA,8BAA+Bz0B,GAAMvI,EAAO,4BAA4B,EACxE,oBAAqBuI,GAAMvI,EAAO,kBAAkB,EACpD,kBAAmBuI,GAAMvI,EAAO,gBAAgB,EAChD,gBAAA4oC,GACA,aAAAvhB,EACA,gBAAA4M,EACA,kBAAA8c,EACA,uBAAA9T,EACA,oBAAA+T,EACA,uBAAA9T,EACA,iBAAAE,EACA,QAAAuF,GACA,UAAAC,GACA,WAAAhH,EACA,aAAAC,EACA,wBAAA4G,GACA,wBAAAtF,GACA,sBAAAuF,GACA,oBAAAF,GACA,WAAYj6B,GAAMvI,EAAO,YAAY,CAAA,CACtC,EACD,MAAM2jB,GAAiB,CACrB,OAAAzI,EACA,QAAAwzB,EACA,aAAAQ,GACA,YAAAlC,EACA,KAAAjlB,EACA,KAAAglB,EACA,YAAAkC,GACA,YAAA+D,EACA,SAAU,CAAC1O,EAAMC,IAAS,CACpB,IAAAp6B,GAEHA,EAAKilC,EAAiB,SAAW,MAAQjlC,IAAO,QAAkBA,EAAG,SAASm6B,EAAMC,CAAI,CAC3F,CAAA,EAEIr5B,EAAavC,EAAS,IAAM,CAC1B,KAAA,CACJ,KAAArL,CACE,EAAA0C,EACE,CACJ,OAAQ,CACN,qBAAAmL,CACF,EACA,KAAM,CACJ,YAAA0C,EACA,aAAA6lC,GACA,QAAAC,GACA,aAAAC,GACA,QAAAC,GACA,YAAAC,GACA,YAAAC,GACA,aAAAC,GACA,mBAAAC,GACA,YAAAC,GACA,kBAAAC,GACA,WAAAC,GACA,aAAA/wC,GACA,WAAA0qB,GACA,aAAAsmB,GACA,aAAAC,GACA,iBAAAC,GACA,kBAAAC,GACA,kBAAAC,GACA,mBAAAC,GACA,eAAAC,GACA,eAAAC,GACA,oBAAAC,GACA,oBAAAC,GACA,iBAAAC,GACA,aAAAC,GACA,eAAAC,GACA,gBAAAC,GACA,WAAAC,GACA,uBAAAC,GACA,cAAAC,GACA,aAAAppC,GACA,YAAAC,GACA,eAAAopC,GACA,eAAAC,GACA,oBAAAC,GACA,sBAAAC,GACA,CAAChsC,GAAU,WAAYnM,CAAI,CAAC,EAAG8O,GAC/B,CAAC3C,GAAU,YAAanM,CAAI,CAAC,EAAGo4C,GAChC,CAACjsC,GAAU,YAAanM,CAAI,CAAC,EAAGq4C,EAClC,CAAA,EACErtC,EAAS,MACN,MAAA,CACL,gBAAiB8D,GACjB,iBAAkBspC,GAClB,iBAAkBC,GAClB,aAAcxqC,EACd,oBAAqB9H,GACrB,kBAAmB0qB,GACnB,mBAAoBlgB,EACpB,yBAA0B0mC,GAC1B,2BAA4BG,GAC5B,eAAgBf,GAChB,qBAAsBC,GACtB,qBAAsBU,GACtB,2BAA4BE,GAC5B,uBAAwBG,GACxB,6BAA8BG,GAC9B,eAAgBjB,GAChB,qBAAsBH,GACtB,qBAAsBW,GACtB,2BAA4BI,GAC5B,uBAAwBG,GACxB,6BAA8BC,GAC9B,oBAAqBd,GACrB,oBAAqBD,GACrB,qBAAsBE,GACtB,4BAA6BC,GAC7B,oBAAqBC,GACrB,2BAA4BC,GAC5B,kBAAmBC,GACnB,wBAAyBW,GACzB,oBAAqBC,GACrB,wBAAyBE,GACzB,uBAAwBD,GACxB,kBAAmBE,GACnB,+BAAgCC,GAChC,qBAAsBC,GACtB,mBAAoBnpC,GACpB,oBAAqBD,GACrB,sBAAuBqpC,GACvB,uBAAwBC,GACxB,6BAA8BC,GAC9B,+BAAgCC,EAAA,CAClC,CACD,EACKjpC,GAAmBD,EAAsBE,GAAc,aAAc9D,EAAS,IAAM3I,EAAM,KAAK,CAAC,CAAC,EAAGkL,EAAYlL,CAAK,EAAI,OACzH41C,GAA0BjtC,EAAS,IAAM,CACzC,GAAA,CAAC3I,EAAM,WAAmB,MAAA,GAC1B,GAAAA,EAAM,mBAA2B,MAAA,GACrC,MAAM61C,EAAmBrH,EAAoB,MACvC,CACJ,UAAA5pB,CACE,EAAAixB,EACA,OAAAjxB,IAAc,OAAkBA,EAAY,EACzCixB,EAAiB,WAAaA,EAAiB,UAAYA,EAAiB,UAAYA,EAAiB,QAAA,CACjH,EACD,OAAO,OAAO,OAAO,CACnB,iBAAAzG,EACA,gBAAiBnnC,EACjB,WAAYG,EACZ,YAAaE,EACb,cAAe44B,EACf,eAAgB9xB,EAChB,qBAAsByjC,EACtB,iBAAkBrE,EAClB,qBAAsBoH,GACtB,QAASrpC,EAAsB,OAAYrB,EAC3C,WAAYsB,IAAqB,KAAsC,OAASA,GAAiB,WACjG,SAAUA,IAAqB,KAAsC,OAASA,GAAiB,UAC9FmX,EAAc,CACnB,EACA,QAAS,CACD,KAAA,CACJ,gBAAApS,EACA,WAAA1E,EACA,SAAAC,EACA,OAAAjL,EACA,UAAAi0C,CACE,EAAA,KACJ,OAAAhpC,GAAa,MAAuCA,IAC7C/K,EAAE,MAAO,CACd,MAAO,CAAC,GAAGwP,CAAe,cAAe,KAAK,YAAc,GAAGA,CAAe,mBAAoB1E,EAAY,CAC5G,CAAC,GAAG0E,CAAe,uBAAuB,EAAG,KAAK,eAClD,CAAC,GAAGA,CAAe,8BAA8B,EAAG,KAAK,qBACzD,CAAC,GAAGA,CAAe,0BAA0B,EAAG,KAAK,WACrD,CAAC,GAAGA,CAAe,4BAA4B,EAAG,KAAK,aACvD,CAAC,GAAGA,CAAe,sBAAsB,EAAG,KAAK,QACjD,CAAC,GAAGA,CAAe,0BAA0B,EAAG,KAAK,UAAA,CACtD,EACD,MAAO,KAAK,OAAA,EACXxP,EAAE,MAAO,CACV,MAAO,GAAGwP,CAAe,qBAAA,EACxBxP,EAAEwmC,GAAW,CACd,IAAK,kBACN,CAAA,CAAC,EAAG,KAAK,qBAAuBxmC,EAAE,MAAO,CACxC,MAAO,GAAGwP,CAAe,yBACxB,EAAAxP,EAAEmkB,GAAa,OAAO,OAAO,CAC9B,MAAO,KAAK,YAAY,MAAM,WAC9B,eAAgB,KAAK,YAAY,cAAc,WAC/C,SAAU,KAAK,OAAA,EACd,KAAK,gBAAgB,CAAC,CAAC,EAAI,KAAMnkB,EAAEiD,GAAY,CAChD,KAAM,6BAAA,EACL,CACD,QAAS,IACA,KAAK,QAAUjD,EAAE,MAAO,CAC7B,MAAO,GAAGwP,CAAe,6BAAA,EACxBtE,GAAYpL,EAAO,QAAS,IAAM,CAACE,EAAE+9B,GAAc,OAAO,OAAO,CAClE,UAAWvuB,EACX,YAAa,IACZukC,CAAS,CAAC,CAAC,CAAC,CAAC,EAAI,IAEvB,CAAA,CAAC,CACJ,CACF,CAAC,EChbYC,GAAwD,CACnE,MAAM,QAAQ3zC,EAAI4zC,EAAS,CACzB,MAAMl0C,GAAS,EACfk0C,EAAQ,MAAM5zC,EAAG,eAAe,EAAE,CAAC,CAAC,CACtC,EACA,MAAM,QAAQA,EAAI4zC,EAAS,CACzB,MAAMl0C,GAAS,EACfk0C,EAAQ,MAAM5zC,EAAG,eAAe,EAAE,CAAC,CAAC,CACtC,CACF,ECFM6zC,GAA8B9jB,GAA6B,CAC/D,MAAM+jB,EAAaC,GAAoC,CACrD,GAAGhkB,EACH9qB,OAAOggC,EAASP,EAAU,OACxB,OAAO9iB,GAAcoyB,GAAA,OAAA,CAAA,MAAA,mBAAA,EAAA,EAEhBjkB,EAAAA,EAAK9qB,SAAL8qB,YAAAA,EAAAA,KAAAA,EAAckV,EAASP,EAAS,CAAA,EAEnC,CACE,CACEiP,GACCz4C,GAAkB,CACjB44C,EAAWjlB,MAAQolB,KAAKxlB,IACtBwlB,KAAKC,KAAKh5C,EAAK2zB,MAAQ,EAAE,EACxBilB,EAAWjlB,OAAoB,EAChCslB,OAAOL,EAAWhlB,UAAY,CAAC,CACjC,CACD,CAAA,CACF,CAEL,CACF,CACF,CAAC,EACD,OAAOglB,CACT,EAEaM,GAAgBnlB,GACpB,GAAGolB,GAAUplB,CAAG,EAAEqlB,YAAY,WACnCD,GAAUplB,CAAG,EAAEslB,SAAW,IAAI,GAIrBC,GAAqBA,IAAM,CACtC,MAAMC,EAAWV,GAA2C,CAC1Dn3C,IAAK,KACL83C,MAAO,OACPC,MAAO,OACP9lB,MAAO,QACP+lB,UAAW,GACXhM,OAAOiM,EAAMC,EAAM,CACjB,OAAOD,EAAKpW,GAAKqW,EAAKrW,EACvB,EACDx5B,OAAOgqB,EAAK,CACV,OAAO8lB,GAAM9lB,EAAIwP,EAAE,EAAEuW,OAAO,gBAAgB,CAC9C,CACF,CAAC,EACKC,EAAWlB,GAA2C,CAC1Dn3C,IAAK,QACL83C,MAAO,OACP7lB,MAAO,QACP+lB,UAAW,GACXhM,OAAOiM,EAAMC,EAAM,CACjB,OACGI,GAAkBL,EAAKpW,EAAE,GAAKoW,EAAKpW,KACnCyW,GAAkBJ,EAAKrW,EAAE,GAAKqW,EAAKrW,GAEvC,EACDx5B,OAAOgqB,EAAK,CACV,OAAO8lB,GAAMG,GAAkBjmB,EAAIwP,EAAE,GAAKxP,EAAIwP,EAAE,EAAEuW,OAChD,gBACF,CACF,CACF,CAAC,EAEKG,EAAYtB,GAAiC,CACjDj3C,IAAK,iBACL83C,MAAO,KACPU,eAAgB,GAChBtmB,SAAU,IACVhW,OAAO1d,EAAO6zB,EAAK,CACjB,OAAOmlB,GAAanlB,CAAG,EAAEomB,SAASj6C,EAAMk6C,SAAQ,CAAE,CACnD,EACDrwC,OAAOgqB,EAAK,CACV,OAAOmlB,GAAanlB,CAAG,CACzB,CACF,CAAC,EACKsmB,EAAa1B,GAAiC,CAClDj3C,IAAK,UACLkyB,SAAU,IACV4lB,MAAO,OACPU,eAAgB,GAChBt8B,OAAO1d,EAAO6zB,EAAK,CACjB,OAAO7zB,EAAMk6C,SAAU,GAAIE,GAAWvmB,CAAG,EAAE7uB,IAC5C,EACDylC,UAAU5W,EAAK,CACb,MAAO,CACLwmB,SAAU,CACRC,GAAKF,GAAWvmB,CAAG,EAAE7uB,IAAI,CAC3B,EAEH,EACD6E,OAAOgqB,EAAK,CACV,OAAOumB,GAAWvmB,CAAG,EAAE7uB,IACzB,CACF,CAAC,EACKu1C,EAAW9B,GAAiC,CAChDj3C,IAAK,QACL83C,MAAO,OACP5lB,SAAU,IACV+W,UAAU5W,EAAK,CACb,MAAO,CACLwmB,SAAU,CACRC,GAAKzmB,EAAI2mB,KAAK,CAChB,EAEH,EACD3wC,OAAOgqB,EAAK,CACV,OAAOA,EAAI2mB,KACb,CACF,CAAC,EACKC,EAAoBhC,GAAiC,CACzDj3C,IAAK,iBACL83C,MAAO,OACP5lB,SAAU,IACV7pB,OAAOgqB,EAAK,CACV,OAAOumB,GAAWvmB,CAAG,EAAE6mB,WACzB,CACF,CAAC,EACKC,EAAoBlC,GAAiC,CACzDj3C,IAAK,iBACL83C,MAAO,MACP5lB,SAAU,IACV7pB,OAAOgqB,EAAK,CACV,OAAA+kB,GAAAlX,GAAA,KAAA,CAAAkZ,QAAAA,IAAmBR,CAAAA,GAAWvmB,CAAG,EAAEgnB,WAAW,CAAA,CAAA,CAChD,CACF,CAAC,EAEKC,EAAgBnC,GAA2C,CAC/Dn3C,IAAK,aACL83C,MAAO,OACPU,eAAgB,GAChBt8B,OAAO1d,EAAO6zB,EAAK,CACjB,OAAO7zB,EAAMk6C,YAAcrmB,EAAIknB,UAChC,EACDtQ,UAAU5W,EAAK,CACb,MAAO,CACLwmB,SAAU,CACRC,GAAKzmB,EAAIknB,UAAU,CACrB,EAEH,EACDlxC,OAAOgqB,EAAK,CACV,OAAA+kB,GAAA,MAAA,CAAA,MAAA,6CAAAA,CAAAA,GAAAlX,GAAA,KAAA,CAAAkZ,QAAAA,IAEgB/mB,CAAAA,EAAIknB,UAAU,CAAA,CAAA,CAAA,CAAA,CAGhC,CACF,CAAC,EASD,MAAO,CACL1B,SAAAA,EACAQ,SAAAA,EACAE,UAAAA,EACAI,WAAAA,EACAI,SAAAA,EACAE,kBAAAA,EACAE,kBAAAA,EACAG,cAAAA,EACAE,cAhBoBA,IAAM,CAC1BjB,EAAUtmB,MAAQ,OAClB0mB,EAAW1mB,MAAQ,OACnB8mB,EAAS9mB,MAAQ,OACjBgnB,EAAkBhnB,MAAQ,OAC1BknB,EAAkBlnB,MAAQ,QAa9B","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86]}