@everymatrix/stage-mm-verification-report 1.0.13 → 1.0.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app.component.css.map +7 -0
- package/chunk-2SMQV2OO.js +9485 -0
- package/chunk-2SMQV2OO.js.map +1 -0
- package/chunk-57JN4OKS.js +28954 -0
- package/chunk-57JN4OKS.js.map +1 -0
- package/chunk-7Y64O76G.js +43327 -0
- package/chunk-7Y64O76G.js.map +1 -0
- package/chunk-C7TDIIUY.js +14 -0
- package/chunk-C7TDIIUY.js.map +7 -0
- package/chunk-FM6XMJHR.js +9 -0
- package/chunk-FM6XMJHR.js.map +7 -0
- package/chunk-SQF7N67X.js +4108 -0
- package/chunk-SQF7N67X.js.map +1 -0
- package/chunk-TG4YM6D7.js +21 -0
- package/chunk-TG4YM6D7.js.map +7 -0
- package/chunk-ZCL2MAJ3.js +37871 -0
- package/chunk-ZCL2MAJ3.js.map +1 -0
- package/component-lib.js +6 -1
- package/component-lib.js.map +7 -0
- package/delete-template-modal.css.map +7 -0
- package/dm-button-lib.component.css.map +7 -0
- package/dm-date-picker-lib.component.css.map +7 -0
- package/dm-input-text-lib.component.css.map +7 -0
- package/dm-range-date-picker-lib.component.css.map +7 -0
- package/dm-select-lib.component.css.map +7 -0
- package/dm-tree-table.component.css.map +7 -0
- package/dm-ui-grid-lib.component.css.map +7 -0
- package/domains-overload-modal.css.map +7 -0
- package/index.html +6 -6
- package/main.js +15849 -2511
- package/main.js.map +1 -0
- package/package.json +1 -1
- package/polyfills.js +2383 -2
- package/polyfills.js.map +1 -0
- package/report-configuration-modal.css.map +7 -0
- package/save-template-modal.component.css.map +7 -0
- package/send-settings-modal.css.map +7 -0
- package/styles.css +175 -1
- package/styles.css.map +7 -0
- package/template-select-modal.css.map +7 -0
- package/toast-message.css.map +7 -0
- package/chunk-A3NTIEMP.js +0 -1
- package/chunk-CAY35YP7.js +0 -7
- package/chunk-H3QHLLCN.js +0 -1
- package/chunk-HL6EPJDY.js +0 -1
- package/chunk-OHPEWN32.js +0 -1198
- package/chunk-QQWFMG3W.js +0 -872
package/main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["node_modules/primeng/fesm2022/primeng-icons-angledoubleleft.mjs","node_modules/primeng/fesm2022/primeng-icons-angledoubleright.mjs","node_modules/primeng/fesm2022/primeng-icons-angledown.mjs","node_modules/primeng/fesm2022/primeng-icons-angleleft.mjs","node_modules/primeng/fesm2022/primeng-icons-angleright.mjs","node_modules/primeng/fesm2022/primeng-icons-angleup.mjs","node_modules/primeng/fesm2022/primeng-icons-arrowdown.mjs","node_modules/primeng/fesm2022/primeng-icons-arrowup.mjs","node_modules/primeng/fesm2022/primeng-icons-plus.mjs","node_modules/primeng/fesm2022/primeng-icons-sortalt.mjs","node_modules/primeng/fesm2022/primeng-icons-sortamountdown.mjs","node_modules/primeng/fesm2022/primeng-icons-sortamountupalt.mjs","node_modules/primeng/fesm2022/primeng-panel.mjs","libs/components/dm-range-date-picker-lib/src/lib/dm-range-date-picker-lib/dm-range-date-picker-lib.component.ts","libs/components/dm-range-date-picker-lib/src/lib/dm-range-date-picker-lib/dm-range-date-picker-lib.component.html","apps/reports/moneymatrix/verification/src/app/services/verification.service.ts","node_modules/primeng/fesm2022/primeng-inputnumber.mjs","node_modules/primeng/fesm2022/primeng-paginator.mjs","node_modules/primeng/fesm2022/primeng-treetable.mjs","node_modules/primeng/fesm2022/primeng-skeleton.mjs","libs/components/dm-tree-table/src/lib/dm-tree-table/dm-tree-table.component.ts","libs/components/dm-tree-table/src/lib/dm-tree-table/dm-tree-table.component.html","libs/components/dm-ui-grid-lib/src/lib/dm-ui-grid-lib/dm-ui-grid-lib.component.ts","apps/reports/moneymatrix/verification/src/app/app.component.ts","apps/reports/moneymatrix/verification/src/app/app.component.html","node_modules/primeng/fesm2022/primeng-toggleswitch.mjs","node_modules/@angular/elements/fesm2022/elements.mjs","apps/reports/moneymatrix/verification/src/app/app.module.ts","apps/reports/moneymatrix/verification/src/main.ts"],"sourcesContent":["import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass AngleDoubleLeftIcon extends BaseIcon {\n static ɵfac = /* @__PURE__ */(() => {\n let ɵAngleDoubleLeftIcon_BaseFactory;\n return function AngleDoubleLeftIcon_Factory(__ngFactoryType__) {\n return (ɵAngleDoubleLeftIcon_BaseFactory || (ɵAngleDoubleLeftIcon_BaseFactory = i0.ɵɵgetInheritedFactory(AngleDoubleLeftIcon)))(__ngFactoryType__ || AngleDoubleLeftIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AngleDoubleLeftIcon,\n selectors: [[\"AngleDoubleLeftIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 2,\n vars: 5,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"fill-rule\", \"evenodd\", \"clip-rule\", \"evenodd\", \"d\", \"M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z\", \"fill\", \"currentColor\"]],\n template: function AngleDoubleLeftIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0);\n i0.ɵɵelement(1, \"path\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AngleDoubleLeftIcon, [{\n type: Component,\n args: [{\n selector: 'AngleDoubleLeftIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M5.71602 11.164C5.80782 11.2021 5.9063 11.2215 6.00569 11.221C6.20216 11.2301 6.39427 11.1612 6.54025 11.0294C6.68191 10.8875 6.76148 10.6953 6.76148 10.4948C6.76148 10.2943 6.68191 10.1021 6.54025 9.96024L3.51441 6.9344L6.54025 3.90855C6.624 3.76126 6.65587 3.59011 6.63076 3.42254C6.60564 3.25498 6.525 3.10069 6.40175 2.98442C6.2785 2.86815 6.11978 2.79662 5.95104 2.7813C5.78229 2.76598 5.61329 2.80776 5.47112 2.89994L1.97123 6.39983C1.82957 6.54167 1.75 6.73393 1.75 6.9344C1.75 7.13486 1.82957 7.32712 1.97123 7.46896L5.47112 10.9991C5.54096 11.0698 5.62422 11.1259 5.71602 11.164ZM11.0488 10.9689C11.1775 11.1156 11.3585 11.2061 11.5531 11.221C11.7477 11.2061 11.9288 11.1156 12.0574 10.9689C12.1815 10.8302 12.25 10.6506 12.25 10.4645C12.25 10.2785 12.1815 10.0989 12.0574 9.96024L9.03158 6.93439L12.0574 3.90855C12.1248 3.76739 12.1468 3.60881 12.1204 3.45463C12.0939 3.30045 12.0203 3.15826 11.9097 3.04765C11.7991 2.93703 11.6569 2.86343 11.5027 2.83698C11.3486 2.81053 11.19 2.83252 11.0488 2.89994L7.51865 6.36957C7.37699 6.51141 7.29742 6.70367 7.29742 6.90414C7.29742 7.1046 7.37699 7.29686 7.51865 7.4387L11.0488 10.9689Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AngleDoubleLeftIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass AngleDoubleRightIcon extends BaseIcon {\n static ɵfac = /* @__PURE__ */(() => {\n let ɵAngleDoubleRightIcon_BaseFactory;\n return function AngleDoubleRightIcon_Factory(__ngFactoryType__) {\n return (ɵAngleDoubleRightIcon_BaseFactory || (ɵAngleDoubleRightIcon_BaseFactory = i0.ɵɵgetInheritedFactory(AngleDoubleRightIcon)))(__ngFactoryType__ || AngleDoubleRightIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AngleDoubleRightIcon,\n selectors: [[\"AngleDoubleRightIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 2,\n vars: 5,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"fill-rule\", \"evenodd\", \"clip-rule\", \"evenodd\", \"d\", \"M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z\", \"fill\", \"currentColor\"]],\n template: function AngleDoubleRightIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0);\n i0.ɵɵelement(1, \"path\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AngleDoubleRightIcon, [{\n type: Component,\n args: [{\n selector: 'AngleDoubleRightIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M7.68757 11.1451C7.7791 11.1831 7.8773 11.2024 7.9764 11.2019C8.07769 11.1985 8.17721 11.1745 8.26886 11.1312C8.36052 11.088 8.44238 11.0265 8.50943 10.9505L12.0294 7.49085C12.1707 7.34942 12.25 7.15771 12.25 6.95782C12.25 6.75794 12.1707 6.56622 12.0294 6.42479L8.50943 2.90479C8.37014 2.82159 8.20774 2.78551 8.04633 2.80192C7.88491 2.81833 7.73309 2.88635 7.6134 2.99588C7.4937 3.10541 7.41252 3.25061 7.38189 3.40994C7.35126 3.56927 7.37282 3.73423 7.44337 3.88033L10.4605 6.89748L7.44337 9.91463C7.30212 10.0561 7.22278 10.2478 7.22278 10.4477C7.22278 10.6475 7.30212 10.8393 7.44337 10.9807C7.51301 11.0512 7.59603 11.1071 7.68757 11.1451ZM1.94207 10.9505C2.07037 11.0968 2.25089 11.1871 2.44493 11.2019C2.63898 11.1871 2.81949 11.0968 2.94779 10.9505L6.46779 7.49085C6.60905 7.34942 6.68839 7.15771 6.68839 6.95782C6.68839 6.75793 6.60905 6.56622 6.46779 6.42479L2.94779 2.90479C2.80704 2.83757 2.6489 2.81563 2.49517 2.84201C2.34143 2.86839 2.19965 2.94178 2.08936 3.05207C1.97906 3.16237 1.90567 3.30415 1.8793 3.45788C1.85292 3.61162 1.87485 3.76975 1.94207 3.9105L4.95922 6.92765L1.94207 9.9448C1.81838 10.0831 1.75 10.2621 1.75 10.4477C1.75 10.6332 1.81838 10.8122 1.94207 10.9505Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AngleDoubleRightIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass AngleDownIcon extends BaseIcon {\n static ɵfac = /* @__PURE__ */(() => {\n let ɵAngleDownIcon_BaseFactory;\n return function AngleDownIcon_Factory(__ngFactoryType__) {\n return (ɵAngleDownIcon_BaseFactory || (ɵAngleDownIcon_BaseFactory = i0.ɵɵgetInheritedFactory(AngleDownIcon)))(__ngFactoryType__ || AngleDownIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AngleDownIcon,\n selectors: [[\"AngleDownIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 2,\n vars: 5,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z\", \"fill\", \"currentColor\"]],\n template: function AngleDownIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0);\n i0.ɵɵelement(1, \"path\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AngleDownIcon, [{\n type: Component,\n args: [{\n selector: 'AngleDownIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <path\n d=\"M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AngleDownIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass AngleLeftIcon extends BaseIcon {\n static ɵfac = /* @__PURE__ */(() => {\n let ɵAngleLeftIcon_BaseFactory;\n return function AngleLeftIcon_Factory(__ngFactoryType__) {\n return (ɵAngleLeftIcon_BaseFactory || (ɵAngleLeftIcon_BaseFactory = i0.ɵɵgetInheritedFactory(AngleLeftIcon)))(__ngFactoryType__ || AngleLeftIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AngleLeftIcon,\n selectors: [[\"AngleLeftIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 2,\n vars: 5,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z\", \"fill\", \"currentColor\"]],\n template: function AngleLeftIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0);\n i0.ɵɵelement(1, \"path\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AngleLeftIcon, [{\n type: Component,\n args: [{\n selector: 'AngleLeftIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <path\n d=\"M8.75 11.185C8.65146 11.1854 8.55381 11.1662 8.4628 11.1284C8.37179 11.0906 8.28924 11.0351 8.22 10.965L4.72 7.46496C4.57955 7.32433 4.50066 7.13371 4.50066 6.93496C4.50066 6.73621 4.57955 6.54558 4.72 6.40496L8.22 2.93496C8.36095 2.84357 8.52851 2.80215 8.69582 2.81733C8.86312 2.83252 9.02048 2.90344 9.14268 3.01872C9.26487 3.134 9.34483 3.28696 9.36973 3.4531C9.39463 3.61924 9.36303 3.78892 9.28 3.93496L6.28 6.93496L9.28 9.93496C9.42045 10.0756 9.49934 10.2662 9.49934 10.465C9.49934 10.6637 9.42045 10.8543 9.28 10.995C9.13526 11.1257 8.9448 11.1939 8.75 11.185Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AngleLeftIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass AngleRightIcon extends BaseIcon {\n static ɵfac = /* @__PURE__ */(() => {\n let ɵAngleRightIcon_BaseFactory;\n return function AngleRightIcon_Factory(__ngFactoryType__) {\n return (ɵAngleRightIcon_BaseFactory || (ɵAngleRightIcon_BaseFactory = i0.ɵɵgetInheritedFactory(AngleRightIcon)))(__ngFactoryType__ || AngleRightIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AngleRightIcon,\n selectors: [[\"AngleRightIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 2,\n vars: 5,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z\", \"fill\", \"currentColor\"]],\n template: function AngleRightIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0);\n i0.ɵɵelement(1, \"path\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AngleRightIcon, [{\n type: Component,\n args: [{\n selector: 'AngleRightIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <path\n d=\"M5.25 11.1728C5.14929 11.1694 5.05033 11.1455 4.9592 11.1025C4.86806 11.0595 4.78666 10.9984 4.72 10.9228C4.57955 10.7822 4.50066 10.5916 4.50066 10.3928C4.50066 10.1941 4.57955 10.0035 4.72 9.86283L7.72 6.86283L4.72 3.86283C4.66067 3.71882 4.64765 3.55991 4.68275 3.40816C4.71785 3.25642 4.79932 3.11936 4.91585 3.01602C5.03238 2.91268 5.17819 2.84819 5.33305 2.83149C5.4879 2.81479 5.64411 2.84671 5.78 2.92283L9.28 6.42283C9.42045 6.56346 9.49934 6.75408 9.49934 6.95283C9.49934 7.15158 9.42045 7.34221 9.28 7.48283L5.78 10.9228C5.71333 10.9984 5.63193 11.0595 5.5408 11.1025C5.44966 11.1455 5.35071 11.1694 5.25 11.1728Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AngleRightIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass AngleUpIcon extends BaseIcon {\n static ɵfac = /* @__PURE__ */(() => {\n let ɵAngleUpIcon_BaseFactory;\n return function AngleUpIcon_Factory(__ngFactoryType__) {\n return (ɵAngleUpIcon_BaseFactory || (ɵAngleUpIcon_BaseFactory = i0.ɵɵgetInheritedFactory(AngleUpIcon)))(__ngFactoryType__ || AngleUpIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: AngleUpIcon,\n selectors: [[\"AngleUpIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 2,\n vars: 5,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z\", \"fill\", \"currentColor\"]],\n template: function AngleUpIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0);\n i0.ɵɵelement(1, \"path\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(AngleUpIcon, [{\n type: Component,\n args: [{\n selector: 'AngleUpIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <path\n d=\"M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { AngleUpIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass ArrowDownIcon extends BaseIcon {\n pathId;\n ngOnInit() {\n this.pathId = 'url(#' + uuid() + ')';\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵArrowDownIcon_BaseFactory;\n return function ArrowDownIcon_Factory(__ngFactoryType__) {\n return (ɵArrowDownIcon_BaseFactory || (ɵArrowDownIcon_BaseFactory = i0.ɵɵgetInheritedFactory(ArrowDownIcon)))(__ngFactoryType__ || ArrowDownIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ArrowDownIcon,\n selectors: [[\"ArrowDownIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 7,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"fill-rule\", \"evenodd\", \"clip-rule\", \"evenodd\", \"d\", \"M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z\", \"fill\", \"currentColor\"], [3, \"id\"], [\"width\", \"14\", \"height\", \"14\", \"fill\", \"white\"]],\n template: function ArrowDownIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0)(1, \"g\");\n i0.ɵɵelement(2, \"path\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"defs\")(4, \"clipPath\", 2);\n i0.ɵɵelement(5, \"rect\", 3);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.pathId);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"id\", ctx.pathId);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ArrowDownIcon, [{\n type: Component,\n args: [{\n selector: 'ArrowDownIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <g [attr.clip-path]=\"pathId\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M6.99994 14C6.91097 14.0004 6.82281 13.983 6.74064 13.9489C6.65843 13.9148 6.58387 13.8646 6.52133 13.8013L1.10198 8.38193C0.982318 8.25351 0.917175 8.08367 0.920272 7.90817C0.923368 7.73267 0.994462 7.56523 1.11858 7.44111C1.24269 7.317 1.41014 7.2459 1.58563 7.2428C1.76113 7.23971 1.93098 7.30485 2.0594 7.42451L6.32263 11.6877V0.677419C6.32263 0.497756 6.394 0.325452 6.52104 0.198411C6.64808 0.0713706 6.82039 0 7.00005 0C7.17971 0 7.35202 0.0713706 7.47906 0.198411C7.6061 0.325452 7.67747 0.497756 7.67747 0.677419V11.6877L11.9407 7.42451C12.0691 7.30485 12.2389 7.23971 12.4144 7.2428C12.5899 7.2459 12.7574 7.317 12.8815 7.44111C13.0056 7.56523 13.0767 7.73267 13.0798 7.90817C13.0829 8.08367 13.0178 8.25351 12.8981 8.38193L7.47875 13.8013C7.41621 13.8646 7.34164 13.9148 7.25944 13.9489C7.17727 13.983 7.08912 14.0004 7.00015 14C7.00012 14 7.00009 14 7.00005 14C7.00001 14 6.99998 14 6.99994 14Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath [id]=\"pathId\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrowDownIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass ArrowUpIcon extends BaseIcon {\n pathId;\n ngOnInit() {\n this.pathId = 'url(#' + uuid() + ')';\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵArrowUpIcon_BaseFactory;\n return function ArrowUpIcon_Factory(__ngFactoryType__) {\n return (ɵArrowUpIcon_BaseFactory || (ɵArrowUpIcon_BaseFactory = i0.ɵɵgetInheritedFactory(ArrowUpIcon)))(__ngFactoryType__ || ArrowUpIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ArrowUpIcon,\n selectors: [[\"ArrowUpIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 7,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"fill-rule\", \"evenodd\", \"clip-rule\", \"evenodd\", \"d\", \"M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z\", \"fill\", \"currentColor\"], [3, \"id\"], [\"width\", \"14\", \"height\", \"14\", \"fill\", \"white\"]],\n template: function ArrowUpIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0)(1, \"g\");\n i0.ɵɵelement(2, \"path\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"defs\")(4, \"clipPath\", 2);\n i0.ɵɵelement(5, \"rect\", 3);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.pathId);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"id\", ctx.pathId);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ArrowUpIcon, [{\n type: Component,\n args: [{\n selector: 'ArrowUpIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <g [attr.clip-path]=\"pathId\">\n <path\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n d=\"M6.51551 13.799C6.64205 13.9255 6.813 13.9977 6.99193 14C7.17087 13.9977 7.34182 13.9255 7.46835 13.799C7.59489 13.6725 7.66701 13.5015 7.66935 13.3226V2.31233L11.9326 6.57554C11.9951 6.63887 12.0697 6.68907 12.1519 6.72319C12.2341 6.75731 12.3223 6.77467 12.4113 6.77425C12.5003 6.77467 12.5885 6.75731 12.6707 6.72319C12.7529 6.68907 12.8274 6.63887 12.89 6.57554C13.0168 6.44853 13.0881 6.27635 13.0881 6.09683C13.0881 5.91732 13.0168 5.74514 12.89 5.61812L7.48846 0.216594C7.48274 0.210436 7.4769 0.204374 7.47094 0.198411C7.3439 0.0713707 7.1716 0 6.99193 0C6.81227 0 6.63997 0.0713707 6.51293 0.198411C6.50704 0.204296 6.50128 0.210278 6.49563 0.216354L1.09386 5.61812C0.974201 5.74654 0.909057 5.91639 0.912154 6.09189C0.91525 6.26738 0.986345 6.43483 1.11046 6.55894C1.23457 6.68306 1.40202 6.75415 1.57752 6.75725C1.75302 6.76035 1.92286 6.6952 2.05128 6.57554L6.31451 2.31231V13.3226C6.31685 13.5015 6.38898 13.6725 6.51551 13.799Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath [id]=\"pathId\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { ArrowUpIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass PlusIcon extends BaseIcon {\n pathId;\n ngOnInit() {\n this.pathId = 'url(#' + uuid() + ')';\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵPlusIcon_BaseFactory;\n return function PlusIcon_Factory(__ngFactoryType__) {\n return (ɵPlusIcon_BaseFactory || (ɵPlusIcon_BaseFactory = i0.ɵɵgetInheritedFactory(PlusIcon)))(__ngFactoryType__ || PlusIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: PlusIcon,\n selectors: [[\"PlusIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 7,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M7.67742 6.32258V0.677419C7.67742 0.497757 7.60605 0.325452 7.47901 0.198411C7.35197 0.0713707 7.17966 0 7 0C6.82034 0 6.64803 0.0713707 6.52099 0.198411C6.39395 0.325452 6.32258 0.497757 6.32258 0.677419V6.32258H0.677419C0.497757 6.32258 0.325452 6.39395 0.198411 6.52099C0.0713707 6.64803 0 6.82034 0 7C0 7.17966 0.0713707 7.35197 0.198411 7.47901C0.325452 7.60605 0.497757 7.67742 0.677419 7.67742H6.32258V13.3226C6.32492 13.5015 6.39704 13.6725 6.52358 13.799C6.65012 13.9255 6.82106 13.9977 7 14C7.17966 14 7.35197 13.9286 7.47901 13.8016C7.60605 13.6745 7.67742 13.5022 7.67742 13.3226V7.67742H13.3226C13.5022 7.67742 13.6745 7.60605 13.8016 7.47901C13.9286 7.35197 14 7.17966 14 7C13.9977 6.82106 13.9255 6.65012 13.799 6.52358C13.6725 6.39704 13.5015 6.32492 13.3226 6.32258H7.67742Z\", \"fill\", \"currentColor\"], [3, \"id\"], [\"width\", \"14\", \"height\", \"14\", \"fill\", \"white\"]],\n template: function PlusIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0)(1, \"g\");\n i0.ɵɵelement(2, \"path\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"defs\")(4, \"clipPath\", 2);\n i0.ɵɵelement(5, \"rect\", 3);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.pathId);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"id\", ctx.pathId);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PlusIcon, [{\n type: Component,\n args: [{\n selector: 'PlusIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <g [attr.clip-path]=\"pathId\">\n <path\n d=\"M7.67742 6.32258V0.677419C7.67742 0.497757 7.60605 0.325452 7.47901 0.198411C7.35197 0.0713707 7.17966 0 7 0C6.82034 0 6.64803 0.0713707 6.52099 0.198411C6.39395 0.325452 6.32258 0.497757 6.32258 0.677419V6.32258H0.677419C0.497757 6.32258 0.325452 6.39395 0.198411 6.52099C0.0713707 6.64803 0 6.82034 0 7C0 7.17966 0.0713707 7.35197 0.198411 7.47901C0.325452 7.60605 0.497757 7.67742 0.677419 7.67742H6.32258V13.3226C6.32492 13.5015 6.39704 13.6725 6.52358 13.799C6.65012 13.9255 6.82106 13.9977 7 14C7.17966 14 7.35197 13.9286 7.47901 13.8016C7.60605 13.6745 7.67742 13.5022 7.67742 13.3226V7.67742H13.3226C13.5022 7.67742 13.6745 7.60605 13.8016 7.47901C13.9286 7.35197 14 7.17966 14 7C13.9977 6.82106 13.9255 6.65012 13.799 6.52358C13.6725 6.39704 13.5015 6.32492 13.3226 6.32258H7.67742Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath [id]=\"pathId\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { PlusIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass SortAltIcon extends BaseIcon {\n pathId;\n ngOnInit() {\n this.pathId = 'url(#' + uuid() + ')';\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵSortAltIcon_BaseFactory;\n return function SortAltIcon_Factory(__ngFactoryType__) {\n return (ɵSortAltIcon_BaseFactory || (ɵSortAltIcon_BaseFactory = i0.ɵɵgetInheritedFactory(SortAltIcon)))(__ngFactoryType__ || SortAltIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: SortAltIcon,\n selectors: [[\"SortAltIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 9,\n vars: 7,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z\", \"fill\", \"currentColor\"], [\"d\", \"M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z\", \"fill\", \"currentColor\"], [\"d\", \"M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z\", \"fill\", \"currentColor\"], [\"d\", \"M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z\", \"fill\", \"currentColor\"], [3, \"id\"], [\"width\", \"14\", \"height\", \"14\", \"fill\", \"white\"]],\n template: function SortAltIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0)(1, \"g\");\n i0.ɵɵelement(2, \"path\", 1)(3, \"path\", 2)(4, \"path\", 3)(5, \"path\", 4);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(6, \"defs\")(7, \"clipPath\", 5);\n i0.ɵɵelement(8, \"rect\", 6);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.pathId);\n i0.ɵɵadvance(6);\n i0.ɵɵproperty(\"id\", ctx.pathId);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SortAltIcon, [{\n type: Component,\n args: [{\n selector: 'SortAltIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <g [attr.clip-path]=\"pathId\">\n <path\n d=\"M5.64515 3.61291C5.47353 3.61291 5.30192 3.54968 5.16644 3.4142L3.38708 1.63484L1.60773 3.4142C1.34579 3.67613 0.912244 3.67613 0.650309 3.4142C0.388374 3.15226 0.388374 2.71871 0.650309 2.45678L2.90837 0.198712C3.17031 -0.0632236 3.60386 -0.0632236 3.86579 0.198712L6.12386 2.45678C6.38579 2.71871 6.38579 3.15226 6.12386 3.4142C5.98837 3.54968 5.81676 3.61291 5.64515 3.61291Z\"\n fill=\"currentColor\"\n />\n <path d=\"M3.38714 14C3.01681 14 2.70972 13.6929 2.70972 13.3226V0.677419C2.70972 0.307097 3.01681 0 3.38714 0C3.75746 0 4.06456 0.307097 4.06456 0.677419V13.3226C4.06456 13.6929 3.75746 14 3.38714 14Z\" fill=\"currentColor\" />\n <path\n d=\"M10.6129 14C10.4413 14 10.2697 13.9368 10.1342 13.8013L7.87611 11.5432C7.61418 11.2813 7.61418 10.8477 7.87611 10.5858C8.13805 10.3239 8.5716 10.3239 8.83353 10.5858L10.6129 12.3652L12.3922 10.5858C12.6542 10.3239 13.0877 10.3239 13.3497 10.5858C13.6116 10.8477 13.6116 11.2813 13.3497 11.5432L11.0916 13.8013C10.9561 13.9368 10.7845 14 10.6129 14Z\"\n fill=\"currentColor\"\n />\n <path d=\"M10.6129 14C10.2426 14 9.93552 13.6929 9.93552 13.3226V0.677419C9.93552 0.307097 10.2426 0 10.6129 0C10.9833 0 11.2904 0.307097 11.2904 0.677419V13.3226C11.2904 13.6929 10.9832 14 10.6129 14Z\" fill=\"currentColor\" />\n </g>\n <defs>\n <clipPath [id]=\"pathId\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { SortAltIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass SortAmountDownIcon extends BaseIcon {\n pathId;\n ngOnInit() {\n this.pathId = 'url(#' + uuid() + ')';\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵSortAmountDownIcon_BaseFactory;\n return function SortAmountDownIcon_Factory(__ngFactoryType__) {\n return (ɵSortAmountDownIcon_BaseFactory || (ɵSortAmountDownIcon_BaseFactory = i0.ɵɵgetInheritedFactory(SortAmountDownIcon)))(__ngFactoryType__ || SortAmountDownIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: SortAmountDownIcon,\n selectors: [[\"SortAmountDownIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 7,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z\", \"fill\", \"currentColor\"], [3, \"id\"], [\"width\", \"14\", \"height\", \"14\", \"fill\", \"white\"]],\n template: function SortAmountDownIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0)(1, \"g\");\n i0.ɵɵelement(2, \"path\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"defs\")(4, \"clipPath\", 2);\n i0.ɵɵelement(5, \"rect\", 3);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.pathId);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"id\", ctx.pathId);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SortAmountDownIcon, [{\n type: Component,\n args: [{\n selector: 'SortAmountDownIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <g [attr.clip-path]=\"pathId\">\n <path\n d=\"M4.93953 10.5858L3.83759 11.6877V0.677419C3.83759 0.307097 3.53049 0 3.16017 0C2.78985 0 2.48275 0.307097 2.48275 0.677419V11.6877L1.38082 10.5858C1.11888 10.3239 0.685331 10.3239 0.423396 10.5858C0.16146 10.8477 0.16146 11.2813 0.423396 11.5432L2.68146 13.8013C2.74469 13.8645 2.81694 13.9097 2.89823 13.9458C2.97952 13.9819 3.06985 14 3.16017 14C3.25049 14 3.33178 13.9819 3.42211 13.9458C3.5034 13.9097 3.57565 13.8645 3.63888 13.8013L5.89694 11.5432C6.15888 11.2813 6.15888 10.8477 5.89694 10.5858C5.63501 10.3239 5.20146 10.3239 4.93953 10.5858ZM13.0957 0H7.22468C6.85436 0 6.54726 0.307097 6.54726 0.677419C6.54726 1.04774 6.85436 1.35484 7.22468 1.35484H13.0957C13.466 1.35484 13.7731 1.04774 13.7731 0.677419C13.7731 0.307097 13.466 0 13.0957 0ZM7.22468 5.41935H9.48275C9.85307 5.41935 10.1602 5.72645 10.1602 6.09677C10.1602 6.4671 9.85307 6.77419 9.48275 6.77419H7.22468C6.85436 6.77419 6.54726 6.4671 6.54726 6.09677C6.54726 5.72645 6.85436 5.41935 7.22468 5.41935ZM7.6763 8.12903H7.22468C6.85436 8.12903 6.54726 8.43613 6.54726 8.80645C6.54726 9.17677 6.85436 9.48387 7.22468 9.48387H7.6763C8.04662 9.48387 8.35372 9.17677 8.35372 8.80645C8.35372 8.43613 8.04662 8.12903 7.6763 8.12903ZM7.22468 2.70968H11.2892C11.6595 2.70968 11.9666 3.01677 11.9666 3.3871C11.9666 3.75742 11.6595 4.06452 11.2892 4.06452H7.22468C6.85436 4.06452 6.54726 3.75742 6.54726 3.3871C6.54726 3.01677 6.85436 2.70968 7.22468 2.70968Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath [id]=\"pathId\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { SortAmountDownIcon };\n","import * as i0 from '@angular/core';\nimport { Component } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { BaseIcon } from 'primeng/icons/baseicon';\nclass SortAmountUpAltIcon extends BaseIcon {\n pathId;\n ngOnInit() {\n this.pathId = 'url(#' + uuid() + ')';\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵSortAmountUpAltIcon_BaseFactory;\n return function SortAmountUpAltIcon_Factory(__ngFactoryType__) {\n return (ɵSortAmountUpAltIcon_BaseFactory || (ɵSortAmountUpAltIcon_BaseFactory = i0.ɵɵgetInheritedFactory(SortAmountUpAltIcon)))(__ngFactoryType__ || SortAmountUpAltIcon);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: SortAmountUpAltIcon,\n selectors: [[\"SortAmountUpAltIcon\"]],\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 7,\n consts: [[\"width\", \"14\", \"height\", \"14\", \"viewBox\", \"0 0 14 14\", \"fill\", \"none\", \"xmlns\", \"http://www.w3.org/2000/svg\"], [\"d\", \"M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z\", \"fill\", \"currentColor\"], [3, \"id\"], [\"width\", \"14\", \"height\", \"14\", \"fill\", \"white\"]],\n template: function SortAmountUpAltIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵnamespaceSVG();\n i0.ɵɵelementStart(0, \"svg\", 0)(1, \"g\");\n i0.ɵɵelement(2, \"path\", 1);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"defs\")(4, \"clipPath\", 2);\n i0.ɵɵelement(5, \"rect\", 3);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.getClassNames());\n i0.ɵɵattribute(\"aria-label\", ctx.ariaLabel)(\"aria-hidden\", ctx.ariaHidden)(\"role\", ctx.role);\n i0.ɵɵadvance();\n i0.ɵɵattribute(\"clip-path\", ctx.pathId);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"id\", ctx.pathId);\n }\n },\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SortAmountUpAltIcon, [{\n type: Component,\n args: [{\n selector: 'SortAmountUpAltIcon',\n standalone: true,\n template: `\n <svg width=\"14\" height=\"14\" viewBox=\"0 0 14 14\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" [attr.aria-label]=\"ariaLabel\" [attr.aria-hidden]=\"ariaHidden\" [attr.role]=\"role\" [class]=\"getClassNames()\">\n <g [attr.clip-path]=\"pathId\">\n <path\n d=\"M3.63435 0.19871C3.57113 0.135484 3.49887 0.0903226 3.41758 0.0541935C3.255 -0.0180645 3.06532 -0.0180645 2.90274 0.0541935C2.82145 0.0903226 2.74919 0.135484 2.68597 0.19871L0.427901 2.45677C0.165965 2.71871 0.165965 3.15226 0.427901 3.41419C0.689836 3.67613 1.12338 3.67613 1.38532 3.41419L2.48726 2.31226V13.3226C2.48726 13.6929 2.79435 14 3.16467 14C3.535 14 3.84209 13.6929 3.84209 13.3226V2.31226L4.94403 3.41419C5.07951 3.54968 5.25113 3.6129 5.42274 3.6129C5.59435 3.6129 5.76597 3.54968 5.90145 3.41419C6.16338 3.15226 6.16338 2.71871 5.90145 2.45677L3.64338 0.19871H3.63435ZM13.7685 13.3226C13.7685 12.9523 13.4615 12.6452 13.0911 12.6452H7.22016C6.84984 12.6452 6.54274 12.9523 6.54274 13.3226C6.54274 13.6929 6.84984 14 7.22016 14H13.0911C13.4615 14 13.7685 13.6929 13.7685 13.3226ZM7.22016 8.58064C6.84984 8.58064 6.54274 8.27355 6.54274 7.90323C6.54274 7.5329 6.84984 7.22581 7.22016 7.22581H9.47823C9.84855 7.22581 10.1556 7.5329 10.1556 7.90323C10.1556 8.27355 9.84855 8.58064 9.47823 8.58064H7.22016ZM7.22016 5.87097H7.67177C8.0421 5.87097 8.34919 5.56387 8.34919 5.19355C8.34919 4.82323 8.0421 4.51613 7.67177 4.51613H7.22016C6.84984 4.51613 6.54274 4.82323 6.54274 5.19355C6.54274 5.56387 6.84984 5.87097 7.22016 5.87097ZM11.2847 11.2903H7.22016C6.84984 11.2903 6.54274 10.9832 6.54274 10.6129C6.54274 10.2426 6.84984 9.93548 7.22016 9.93548H11.2847C11.655 9.93548 11.9621 10.2426 11.9621 10.6129C11.9621 10.9832 11.655 11.2903 11.2847 11.2903Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath [id]=\"pathId\">\n <rect width=\"14\" height=\"14\" fill=\"white\" />\n </clipPath>\n </defs>\n </svg>\n `\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { SortAmountUpAltIcon };\n","import { trigger, state, transition, style, animate } from '@angular/animations';\nimport * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, inject, booleanAttribute, ContentChildren, ViewChild, ContentChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { uuid } from '@primeuix/utils';\nimport { SharedModule, Footer, PrimeTemplate } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport * as i2 from 'primeng/button';\nimport { ButtonModule } from 'primeng/button';\nimport { PlusIcon, MinusIcon } from 'primeng/icons';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"header\"];\nconst _c1 = [\"icons\"];\nconst _c2 = [\"content\"];\nconst _c3 = [\"footer\"];\nconst _c4 = [\"headericons\"];\nconst _c5 = [\"contentWrapper\"];\nconst _c6 = [\"*\", [[\"p-header\"]], [[\"p-footer\"]]];\nconst _c7 = [\"*\", \"p-header\", \"p-footer\"];\nconst _c8 = (a0, a1) => ({\n \"p-panel p-component\": true,\n \"p-panel-toggleable\": a0,\n \"p-panel-expanded\": a1\n});\nconst _c9 = a0 => ({\n transitionParams: a0,\n height: \"0\",\n opacity: \"0\"\n});\nconst _c10 = a0 => ({\n value: \"hidden\",\n params: a0\n});\nconst _c11 = a0 => ({\n transitionParams: a0,\n height: \"*\",\n opacity: \"1\"\n});\nconst _c12 = a0 => ({\n value: \"visible\",\n params: a0\n});\nconst _c13 = (a0, a1, a2) => ({\n \"p-panel-icons-start\": a0,\n \"p-panel-icons-end\": a1,\n \"p-panel-icons-center\": a2\n});\nconst _c14 = a0 => ({\n $implicit: a0\n});\nfunction Panel_div_1_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 12);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"id\", ctx_r2.id + \"_header\");\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r2._header);\n }\n}\nfunction Panel_div_1_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Panel_div_1_5_ng_template_0_Template(rf, ctx) {}\nfunction Panel_div_1_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Panel_div_1_5_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_1_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\");\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(6);\n i0.ɵɵclassMap(ctx_r2.expandIcon);\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_1_MinusIcon_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"MinusIcon\");\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_1_span_1_Template, 1, 2, \"span\", 16)(2, Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_1_MinusIcon_2_Template, 1, 0, \"MinusIcon\", 14);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(5);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.expandIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.expandIcon);\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_2_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\");\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(6);\n i0.ɵɵclassMap(ctx_r2.collapseIcon);\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_2_PlusIcon_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"PlusIcon\");\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_2_span_1_Template, 1, 2, \"span\", 16)(2, Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_2_PlusIcon_2_Template, 1, 0, \"PlusIcon\", 14);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(5);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.collapseIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.collapseIcon);\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_1_Template, 3, 2, \"ng-container\", 14)(2, Panel_div_1_p_button_6_ng_template_1_ng_container_0_ng_container_2_Template, 3, 2, \"ng-container\", 14);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(4);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.collapsed);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.collapsed);\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_1_ng_template_0_Template(rf, ctx) {}\nfunction Panel_div_1_p_button_6_ng_template_1_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Panel_div_1_p_button_6_ng_template_1_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction Panel_div_1_p_button_6_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Panel_div_1_p_button_6_ng_template_1_ng_container_0_Template, 3, 2, \"ng-container\", 14)(1, Panel_div_1_p_button_6_ng_template_1_1_Template, 1, 0, null, 15);\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.headerIconsTemplate && !ctx_r2._headerIconsTemplate && !(ctx_r2.toggleButtonProps == null ? null : ctx_r2.toggleButtonProps.icon));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.headerIconsTemplate || ctx_r2._headerIconsTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(3, _c14, ctx_r2.collapsed));\n }\n}\nfunction Panel_div_1_p_button_6_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"p-button\", 13);\n i0.ɵɵlistener(\"click\", function Panel_div_1_p_button_6_Template_p_button_click_0_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r2 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r2.onIconClick($event));\n })(\"keydown\", function Panel_div_1_p_button_6_Template_p_button_keydown_0_listener($event) {\n i0.ɵɵrestoreView(_r4);\n const ctx_r2 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r2.onKeyDown($event));\n });\n i0.ɵɵtemplate(1, Panel_div_1_p_button_6_ng_template_1_Template, 2, 5, \"ng-template\", null, 1, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"text\", true)(\"rounded\", true)(\"buttonProps\", ctx_r2.toggleButtonProps);\n i0.ɵɵattribute(\"id\", ctx_r2.id + \"_header\")(\"aria-label\", ctx_r2.buttonAriaLabel)(\"aria-controls\", ctx_r2.id + \"_content\")(\"aria-expanded\", !ctx_r2.collapsed);\n }\n}\nfunction Panel_div_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 8);\n i0.ɵɵlistener(\"click\", function Panel_div_1_Template_div_click_0_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onHeaderClick($event));\n });\n i0.ɵɵtemplate(1, Panel_div_1_span_1_Template, 2, 2, \"span\", 9);\n i0.ɵɵprojection(2, 1);\n i0.ɵɵtemplate(3, Panel_div_1_ng_container_3_Template, 1, 0, \"ng-container\", 6);\n i0.ɵɵelementStart(4, \"div\", 10);\n i0.ɵɵtemplate(5, Panel_div_1_5_Template, 1, 0, null, 6)(6, Panel_div_1_p_button_6_Template, 3, 7, \"p-button\", 11);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"id\", ctx_r2.id + \"-titlebar\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2._header);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.headerTemplate || ctx_r2._headerTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction3(6, _c13, ctx_r2.iconPos === \"start\", ctx_r2.iconPos === \"end\", ctx_r2.iconPos === \"center\"));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.iconTemplate || ctx_r2._iconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.toggleable);\n }\n}\nfunction Panel_ng_container_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Panel_div_7_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Panel_div_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 17);\n i0.ɵɵprojection(1, 2);\n i0.ɵɵtemplate(2, Panel_div_7_ng_container_2_Template, 1, 0, \"ng-container\", 6);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.footerTemplate || ctx_r2._footerTemplate);\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-panel {\n border: 1px solid ${dt('panel.border.color')};\n border-radius: ${dt('panel.border.radius')};\n background: ${dt('panel.background')};\n color: ${dt('panel.color')};\n}\n\n.p-panel-header {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: ${dt('panel.header.padding')};\n background: ${dt('panel.header.background')};\n color: ${dt('panel.header.color')};\n border-style: solid;\n border-width: ${dt('panel.header.border.width')};\n border-color: ${dt('panel.header.border.color')};\n border-radius: ${dt('panel.header.border.radius')};\n}\n\n.p-panel-toggleable .p-panel-header {\n padding: ${dt('panel.toggleable.header.padding')};\n}\n\n.p-panel-title {\n line-height: 1;\n font-weight: ${dt('panel.title.font.weight')};\n}\n\n.p-panel-content {\n padding: ${dt('panel.content.padding')};\n}\n\n.p-panel-footer {\n padding: ${dt('panel.footer.padding')};\n}\n\n/* For PrimeNG */\n.p-panel-toggleable.p-panel-expanded > .p-panel-content-container:not(.ng-animating) {\n overflow: visible\n}\n\n.p-panel-toggleable .p-panel-content-container {\n overflow: hidden;\n}\n`;\nconst classes = {\n root: ({\n props\n }) => ['p-panel p-component', {\n 'p-panel-toggleable': props.toggleable\n }],\n header: 'p-panel-header',\n title: 'p-panel-title',\n headerActions: 'p-panel-header-actions',\n pcToggleButton: 'p-panel-toggle-button',\n contentContainer: 'p-panel-content-container',\n content: 'p-panel-content',\n footer: 'p-panel-footer'\n};\nclass PanelStyle extends BaseStyle {\n name = 'panel';\n theme = theme;\n classes = classes;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵPanelStyle_BaseFactory;\n return function PanelStyle_Factory(__ngFactoryType__) {\n return (ɵPanelStyle_BaseFactory || (ɵPanelStyle_BaseFactory = i0.ɵɵgetInheritedFactory(PanelStyle)))(__ngFactoryType__ || PanelStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PanelStyle,\n factory: PanelStyle.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PanelStyle, [{\n type: Injectable\n }], null, null);\n})();\n/**\n *\n * Panel is a container with the optional content toggle feature.\n *\n * [Live Demo](https://www.primeng.org/panel/)\n *\n * @module panelstyle\n *\n */\nvar PanelClasses;\n(function (PanelClasses) {\n /**\n * Class name of the root element\n */\n PanelClasses[\"root\"] = \"p-panel\";\n /**\n * Class name of the header element\n */\n PanelClasses[\"header\"] = \"p-panel-header\";\n /**\n * Class name of the title element\n */\n PanelClasses[\"title\"] = \"p-panel-title\";\n /**\n * Class name of the header actions element\n */\n PanelClasses[\"headerActions\"] = \"p-panel-header-actions\";\n /**\n * Class name of the toggle button element\n */\n PanelClasses[\"pcToggleButton\"] = \"p-panel-toggle-button\";\n /**\n * Class name of the content container element\n */\n PanelClasses[\"contentContainer\"] = \"p-panel-content-container\";\n /**\n * Class name of the content element\n */\n PanelClasses[\"content\"] = \"p-panel-content\";\n /**\n * Class name of the footer element\n */\n PanelClasses[\"footer\"] = \"p-panel-footer\";\n})(PanelClasses || (PanelClasses = {}));\n\n/**\n * Panel is a container with the optional content toggle feature.\n * @group Components\n */\nclass Panel extends BaseComponent {\n /**\n * Defines if content of panel can be expanded and collapsed.\n * @group Props\n */\n toggleable;\n /**\n * Header text of the panel.\n * @group Props\n */\n _header;\n /**\n * Defines the initial state of panel content, supports one or two-way binding as well.\n * @group Props\n */\n collapsed;\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Position of the icons.\n * @group Props\n */\n iconPos = 'end';\n /**\n * Expand icon of the toggle button.\n * @group Props\n * @deprecated since v15.4.2, use `headericons` template instead.\n */\n expandIcon;\n /**\n * Collapse icon of the toggle button.\n * @group Props\n * @deprecated since v15.4.2, use `headericons` template instead.\n */\n collapseIcon;\n /**\n * Specifies if header of panel cannot be displayed.\n * @group Props\n */\n showHeader = true;\n /**\n * Specifies the toggler element to toggle the panel content.\n * @group Props\n */\n toggler = 'icon';\n /**\n * Transition options of the animation.\n * @group Props\n */\n transitionOptions = '400ms cubic-bezier(0.86, 0, 0.07, 1)';\n /**\n * Used to pass all properties of the ButtonProps to the Button component.\n * @group Props\n */\n toggleButtonProps;\n /**\n * Emitted when the collapsed changes.\n * @param {boolean} value - New Value.\n * @group Emits\n */\n collapsedChange = new EventEmitter();\n /**\n * Callback to invoke before panel toggle.\n * @param {PanelBeforeToggleEvent} event - Custom panel toggle event\n * @group Emits\n */\n onBeforeToggle = new EventEmitter();\n /**\n * Callback to invoke after panel toggle.\n * @param {PanelAfterToggleEvent} event - Custom panel toggle event\n * @group Emits\n */\n onAfterToggle = new EventEmitter();\n footerFacet;\n animating;\n /**\n * Defines template option for header.\n * @group Templates\n */\n headerTemplate;\n /**\n * Defines template option for icon.\n * @example\n * ```html\n * <ng-template #icon> </ng-template>\n * ```\n * @group Templates\n */\n iconTemplate;\n /**\n * Defines template option for content.\n * @example\n * ```html\n * <ng-template #content> </ng-template>\n * ```\n * @group Templates\n */\n contentTemplate;\n /**\n * Defines template option for footer.\n * @example\n * ```html\n * <ng-template #footer> </ng-template>\n * ```\n * @group Templates\n */\n footerTemplate;\n /**\n * Defines template option for headerIcon.\n * @type {TemplateRef<PanelHeaderIconsTemplateContext>} context - context of the template.\n * @example\n * ```html\n * <ng-template #headericons let-collapsed> </ng-template>\n * ```\n * @see {@link PanelHeaderIconsTemplateContext}\n * @group Templates\n */\n headerIconsTemplate;\n _headerTemplate;\n _iconTemplate;\n _contentTemplate;\n _footerTemplate;\n _headerIconsTemplate;\n contentWrapperViewChild;\n id = uuid('pn_id_');\n get buttonAriaLabel() {\n return this._header;\n }\n _componentStyle = inject(PanelStyle);\n onHeaderClick(event) {\n if (this.toggler === 'header') {\n this.toggle(event);\n }\n }\n onIconClick(event) {\n if (this.toggler === 'icon') {\n this.toggle(event);\n }\n }\n toggle(event) {\n if (this.animating) {\n return false;\n }\n this.animating = true;\n this.onBeforeToggle.emit({\n originalEvent: event,\n collapsed: this.collapsed\n });\n if (this.toggleable) {\n if (this.collapsed) this.expand();else this.collapse();\n }\n this.cd.markForCheck();\n event.preventDefault();\n }\n expand() {\n this.collapsed = false;\n this.collapsedChange.emit(this.collapsed);\n this.updateTabIndex();\n }\n collapse() {\n this.collapsed = true;\n this.collapsedChange.emit(this.collapsed);\n this.updateTabIndex();\n }\n getBlockableElement() {\n return this.el.nativeElement.children[0];\n }\n updateTabIndex() {\n if (this.contentWrapperViewChild) {\n const focusableElements = this.contentWrapperViewChild.nativeElement.querySelectorAll('input, button, select, a, textarea, [tabindex]:not([tabindex=\"-1\"])');\n focusableElements.forEach(element => {\n if (this.collapsed) {\n element.setAttribute('tabindex', '-1');\n } else {\n element.removeAttribute('tabindex');\n }\n });\n }\n }\n onKeyDown(event) {\n if (event.code === 'Enter' || event.code === 'Space') {\n this.toggle(event);\n event.preventDefault();\n }\n }\n onToggleDone(event) {\n this.animating = false;\n this.onAfterToggle.emit({\n originalEvent: event,\n collapsed: this.collapsed\n });\n }\n templates;\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'header':\n this._headerTemplate = item.template;\n break;\n case 'content':\n this._contentTemplate = item.template;\n break;\n case 'footer':\n this._footerTemplate = item.template;\n break;\n case 'icons':\n this._iconTemplate = item.template;\n break;\n case 'headericons':\n this._headerIconsTemplate = item.template;\n break;\n default:\n this._contentTemplate = item.template;\n break;\n }\n });\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵPanel_BaseFactory;\n return function Panel_Factory(__ngFactoryType__) {\n return (ɵPanel_BaseFactory || (ɵPanel_BaseFactory = i0.ɵɵgetInheritedFactory(Panel)))(__ngFactoryType__ || Panel);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Panel,\n selectors: [[\"p-panel\"]],\n contentQueries: function Panel_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, Footer, 5);\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, _c1, 4);\n i0.ɵɵcontentQuery(dirIndex, _c2, 4);\n i0.ɵɵcontentQuery(dirIndex, _c3, 4);\n i0.ɵɵcontentQuery(dirIndex, _c4, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footerFacet = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.iconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.footerTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerIconsTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n viewQuery: function Panel_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c5, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentWrapperViewChild = _t.first);\n }\n },\n inputs: {\n toggleable: [2, \"toggleable\", \"toggleable\", booleanAttribute],\n _header: [0, \"header\", \"_header\"],\n collapsed: [2, \"collapsed\", \"collapsed\", booleanAttribute],\n style: \"style\",\n styleClass: \"styleClass\",\n iconPos: \"iconPos\",\n expandIcon: \"expandIcon\",\n collapseIcon: \"collapseIcon\",\n showHeader: [2, \"showHeader\", \"showHeader\", booleanAttribute],\n toggler: \"toggler\",\n transitionOptions: \"transitionOptions\",\n toggleButtonProps: \"toggleButtonProps\"\n },\n outputs: {\n collapsedChange: \"collapsedChange\",\n onBeforeToggle: \"onBeforeToggle\",\n onAfterToggle: \"onAfterToggle\"\n },\n features: [i0.ɵɵProvidersFeature([PanelStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature],\n ngContentSelectors: _c7,\n decls: 8,\n vars: 25,\n consts: [[\"contentWrapper\", \"\"], [\"icon\", \"\"], [3, \"ngClass\", \"ngStyle\"], [\"class\", \"p-panel-header\", 3, \"click\", 4, \"ngIf\"], [\"role\", \"region\", 1, \"p-panel-content-container\", 3, \"id\"], [1, \"p-panel-content\"], [4, \"ngTemplateOutlet\"], [\"class\", \"p-panel-footer\", 4, \"ngIf\"], [1, \"p-panel-header\", 3, \"click\"], [\"class\", \"p-panel-title\", 4, \"ngIf\"], [1, \"p-panel-icons\", 3, \"ngClass\"], [\"severity\", \"secondary\", \"type\", \"button\", \"role\", \"button\", \"styleClass\", \"p-panel-header-icon p-panel-toggler p-link\", 3, \"text\", \"rounded\", \"buttonProps\", \"click\", \"keydown\", 4, \"ngIf\"], [1, \"p-panel-title\"], [\"severity\", \"secondary\", \"type\", \"button\", \"role\", \"button\", \"styleClass\", \"p-panel-header-icon p-panel-toggler p-link\", 3, \"click\", \"keydown\", \"text\", \"rounded\", \"buttonProps\"], [4, \"ngIf\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [3, \"class\", 4, \"ngIf\"], [1, \"p-panel-footer\"]],\n template: function Panel_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵprojectionDef(_c6);\n i0.ɵɵelementStart(0, \"div\", 2);\n i0.ɵɵtemplate(1, Panel_div_1_Template, 7, 10, \"div\", 3);\n i0.ɵɵelementStart(2, \"div\", 4);\n i0.ɵɵlistener(\"@panelContent.done\", function Panel_Template_div_animation_panelContent_done_2_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onToggleDone($event));\n });\n i0.ɵɵelementStart(3, \"div\", 5, 0);\n i0.ɵɵprojection(5);\n i0.ɵɵtemplate(6, Panel_ng_container_6_Template, 1, 0, \"ng-container\", 6);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(7, Panel_div_7_Template, 3, 1, \"div\", 7);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.styleClass);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction2(14, _c8, ctx.toggleable, !ctx.collapsed && ctx.toggleable))(\"ngStyle\", ctx.style);\n i0.ɵɵattribute(\"id\", ctx.id)(\"data-pc-name\", \"panel\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showHeader);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"id\", ctx.id + \"_content\")(\"@panelContent\", ctx.collapsed ? i0.ɵɵpureFunction1(19, _c10, i0.ɵɵpureFunction1(17, _c9, ctx.animating ? ctx.transitionOptions : \"0ms\")) : i0.ɵɵpureFunction1(23, _c12, i0.ɵɵpureFunction1(21, _c11, ctx.animating ? ctx.transitionOptions : \"0ms\")));\n i0.ɵɵattribute(\"aria-labelledby\", ctx.id + \"_header\")(\"aria-hidden\", ctx.collapsed)(\"tabindex\", ctx.collapsed ? \"-1\" : undefined);\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.contentTemplate || ctx._contentTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.footerFacet || ctx.footerTemplate || ctx._footerTemplate);\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, PlusIcon, MinusIcon, ButtonModule, i2.Button, SharedModule],\n encapsulation: 2,\n data: {\n animation: [trigger('panelContent', [state('hidden', style({\n height: '0'\n })), state('void', style({\n height: '{{height}}'\n }), {\n params: {\n height: '0'\n }\n }), state('visible', style({\n height: '*'\n })), transition('visible <=> hidden', [animate('{{transitionParams}}')]), transition('void => hidden', animate('{{transitionParams}}')), transition('void => visible', animate('{{transitionParams}}'))])]\n },\n changeDetection: 0\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(Panel, [{\n type: Component,\n args: [{\n selector: 'p-panel',\n standalone: true,\n imports: [CommonModule, PlusIcon, MinusIcon, ButtonModule, SharedModule],\n template: `\n <div\n [attr.id]=\"id\"\n [attr.data-pc-name]=\"'panel'\"\n [ngClass]=\"{\n 'p-panel p-component': true,\n 'p-panel-toggleable': toggleable,\n 'p-panel-expanded': !collapsed && toggleable\n }\"\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n >\n <div class=\"p-panel-header\" *ngIf=\"showHeader\" (click)=\"onHeaderClick($event)\" [attr.id]=\"id + '-titlebar'\">\n <span class=\"p-panel-title\" *ngIf=\"_header\" [attr.id]=\"id + '_header'\">{{ _header }}</span>\n <ng-content select=\"p-header\"></ng-content>\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate\"></ng-container>\n <div\n class=\"p-panel-icons\"\n [ngClass]=\"{\n 'p-panel-icons-start': iconPos === 'start',\n 'p-panel-icons-end': iconPos === 'end',\n 'p-panel-icons-center': iconPos === 'center'\n }\"\n >\n <ng-template *ngTemplateOutlet=\"iconTemplate || _iconTemplate\"></ng-template>\n <p-button\n *ngIf=\"toggleable\"\n [attr.id]=\"id + '_header'\"\n severity=\"secondary\"\n [text]=\"true\"\n [rounded]=\"true\"\n type=\"button\"\n role=\"button\"\n styleClass=\"p-panel-header-icon p-panel-toggler p-link\"\n [attr.aria-label]=\"buttonAriaLabel\"\n [attr.aria-controls]=\"id + '_content'\"\n [attr.aria-expanded]=\"!collapsed\"\n (click)=\"onIconClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n [buttonProps]=\"toggleButtonProps\"\n >\n <ng-template #icon>\n <ng-container *ngIf=\"!headerIconsTemplate && !_headerIconsTemplate && !toggleButtonProps?.icon\">\n <ng-container *ngIf=\"!collapsed\">\n <span *ngIf=\"expandIcon\" [class]=\"expandIcon\"></span>\n <MinusIcon *ngIf=\"!expandIcon\" />\n </ng-container>\n\n <ng-container *ngIf=\"collapsed\">\n <span *ngIf=\"collapseIcon\" [class]=\"collapseIcon\"></span>\n <PlusIcon *ngIf=\"!collapseIcon\" />\n </ng-container>\n </ng-container>\n\n <ng-template *ngTemplateOutlet=\"headerIconsTemplate || _headerIconsTemplate; context: { $implicit: collapsed }\"></ng-template>\n </ng-template>\n </p-button>\n </div>\n </div>\n <div\n class=\"p-panel-content-container\"\n [id]=\"id + '_content'\"\n role=\"region\"\n [attr.aria-labelledby]=\"id + '_header'\"\n [attr.aria-hidden]=\"collapsed\"\n [attr.tabindex]=\"collapsed ? '-1' : undefined\"\n [@panelContent]=\"\n collapsed\n ? {\n value: 'hidden',\n params: {\n transitionParams: animating ? transitionOptions : '0ms',\n height: '0',\n opacity: '0'\n }\n }\n : {\n value: 'visible',\n params: {\n transitionParams: animating ? transitionOptions : '0ms',\n height: '*',\n opacity: '1'\n }\n }\n \"\n (@panelContent.done)=\"onToggleDone($event)\"\n >\n <div class=\"p-panel-content\" #contentWrapper>\n <ng-content></ng-content>\n <ng-container *ngTemplateOutlet=\"contentTemplate || _contentTemplate\"></ng-container>\n </div>\n\n <div class=\"p-panel-footer\" *ngIf=\"footerFacet || footerTemplate || _footerTemplate\">\n <ng-content select=\"p-footer\"></ng-content>\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate\"></ng-container>\n </div>\n </div>\n </div>\n `,\n animations: [trigger('panelContent', [state('hidden', style({\n height: '0'\n })), state('void', style({\n height: '{{height}}'\n }), {\n params: {\n height: '0'\n }\n }), state('visible', style({\n height: '*'\n })), transition('visible <=> hidden', [animate('{{transitionParams}}')]), transition('void => hidden', animate('{{transitionParams}}')), transition('void => visible', animate('{{transitionParams}}'))])],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [PanelStyle]\n }]\n }], null, {\n toggleable: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n _header: [{\n type: Input,\n args: ['header']\n }],\n collapsed: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n style: [{\n type: Input\n }],\n styleClass: [{\n type: Input\n }],\n iconPos: [{\n type: Input\n }],\n expandIcon: [{\n type: Input\n }],\n collapseIcon: [{\n type: Input\n }],\n showHeader: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n toggler: [{\n type: Input\n }],\n transitionOptions: [{\n type: Input\n }],\n toggleButtonProps: [{\n type: Input\n }],\n collapsedChange: [{\n type: Output\n }],\n onBeforeToggle: [{\n type: Output\n }],\n onAfterToggle: [{\n type: Output\n }],\n footerFacet: [{\n type: ContentChild,\n args: [Footer]\n }],\n headerTemplate: [{\n type: ContentChild,\n args: ['header', {\n descendants: false\n }]\n }],\n iconTemplate: [{\n type: ContentChild,\n args: ['icons', {\n descendants: false\n }]\n }],\n contentTemplate: [{\n type: ContentChild,\n args: ['content', {\n descendants: false\n }]\n }],\n footerTemplate: [{\n type: ContentChild,\n args: ['footer', {\n descendants: false\n }]\n }],\n headerIconsTemplate: [{\n type: ContentChild,\n args: ['headericons', {\n descendants: false\n }]\n }],\n contentWrapperViewChild: [{\n type: ViewChild,\n args: ['contentWrapper']\n }],\n templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }]\n });\n})();\nclass PanelModule {\n static ɵfac = function PanelModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || PanelModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: PanelModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [Panel, SharedModule, SharedModule]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PanelModule, [{\n type: NgModule,\n args: [{\n imports: [Panel, SharedModule],\n exports: [Panel, SharedModule]\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Panel, PanelClasses, PanelModule, PanelStyle };\n","import {\r\n AfterViewInit,\r\n booleanAttribute,\r\n ChangeDetectionStrategy,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n HostListener,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n signal,\r\n SimpleChanges,\r\n ViewChild,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { DatePicker } from 'primeng/datepicker';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport {\r\n AbstractControl,\r\n ControlValueAccessor,\r\n FormControl,\r\n FormsModule,\r\n NG_VALIDATORS,\r\n NG_VALUE_ACCESSOR,\r\n ReactiveFormsModule,\r\n ValidationErrors,\r\n ValidatorFn,\r\n} from '@angular/forms';\r\nimport { Popover, PopoverModule } from 'primeng/popover';\r\nimport moment from 'moment';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ShadowDomStyleInjectorService } from '@everymatrix-base-components/utils';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\n\r\nexport enum TimePeriod {\r\n Today = 'today',\r\n Yesterday = 'yesterday',\r\n CurrentWeek = 'current_week',\r\n CurrentMonth = 'current_month',\r\n LastMonth = 'last_month',\r\n Last30Days = 'last_30_days',\r\n CurrentYear = 'current_year',\r\n Custom = 'custom',\r\n}\r\n\r\nexport interface DateHint {\r\n name: string;\r\n dateAlias: TimePeriod;\r\n interval: {\r\n start: Date;\r\n end: Date;\r\n };\r\n}\r\n\r\nexport interface RangeValue {\r\n alias: TimePeriod | 'custom';\r\n start: Date;\r\n end: Date;\r\n}\r\n\r\nexport const DATE_HINTS: DateHint[] = [\r\n {\r\n name: 'Today',\r\n dateAlias: TimePeriod.Today,\r\n interval: {\r\n start: moment().startOf('day').toDate(),\r\n end: moment().endOf('day').toDate(),\r\n },\r\n },\r\n {\r\n name: 'Yesterday',\r\n dateAlias: TimePeriod.Yesterday,\r\n interval: {\r\n start: moment().subtract(1, 'days').startOf('day').toDate(),\r\n end: moment().subtract(1, 'days').endOf('day').toDate(),\r\n },\r\n },\r\n {\r\n name: 'Current Week',\r\n dateAlias: TimePeriod.CurrentWeek,\r\n interval: {\r\n start: moment().startOf('isoWeek').startOf('day').toDate(),\r\n end: moment().endOf('day').toDate(),\r\n },\r\n },\r\n {\r\n name: 'Current Month',\r\n dateAlias: TimePeriod.CurrentMonth,\r\n interval: {\r\n start: moment().startOf('month').startOf('day').toDate(),\r\n end: moment().endOf('day').toDate(),\r\n },\r\n },\r\n {\r\n name: 'Last Month',\r\n dateAlias: TimePeriod.LastMonth,\r\n interval: {\r\n start: moment()\r\n .subtract(1, 'months')\r\n .startOf('month')\r\n .startOf('day')\r\n .toDate(),\r\n end: moment().subtract(1, 'months').endOf('month').endOf('day').toDate(),\r\n },\r\n },\r\n {\r\n name: 'Last 30 Days',\r\n dateAlias: TimePeriod.Last30Days,\r\n interval: {\r\n start: moment().subtract(30, 'days').startOf('day').toDate(),\r\n end: moment().subtract(1, 'day').endOf('day').toDate(),\r\n },\r\n },\r\n {\r\n name: 'Current Year',\r\n dateAlias: TimePeriod.CurrentYear,\r\n interval: {\r\n start: moment().startOf('year').startOf('day').toDate(),\r\n end: moment().endOf('day').toDate(),\r\n },\r\n },\r\n];\r\n\r\nexport const endDateRequired: ValidatorFn = (\r\n control: AbstractControl\r\n): ValidationErrors | null => {\r\n const dates: Date[] = control.value;\r\n if (dates && dates.length && !dates[1]) {\r\n return { endDateRequired: true };\r\n }\r\n return null;\r\n};\r\n\r\n@Component({\r\n selector: 'lib-dm-range-date-picker-lib',\r\n templateUrl: './dm-range-date-picker-lib.component.html',\r\n styleUrls: ['./dm-range-date-picker-lib.component.scss'],\r\n imports: [\r\n CalendarModule,\r\n InputTextModule,\r\n ReactiveFormsModule,\r\n PopoverModule,\r\n FormsModule,\r\n CommonModule,\r\n DatePicker,\r\n TooltipModule,\r\n ],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => DmRangeDatePickerLibComponent),\r\n multi: true,\r\n },\r\n {\r\n provide: NG_VALIDATORS,\r\n useExisting: forwardRef(() => DmRangeDatePickerLibComponent),\r\n multi: true,\r\n },\r\n ],\r\n standalone: true,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.ShadowDom,\r\n})\r\nexport class DmRangeDatePickerLibComponent\r\n implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges\r\n{\r\n manualDateChange = false;\r\n @Input() requireEndDate = true;\r\n /**\r\n * Emits when datepicker is opened\r\n */\r\n\r\n @Output() openState: EventEmitter<void> = new EventEmitter();\r\n /**\r\n * Label text displayed above the input\r\n */\r\n @Input() label = 'Date Picker';\r\n\r\n /**\r\n * Tooltip message\r\n */\r\n @Input() tooltipMessage = '';\r\n /**\r\n * Placeholder text inside the input\r\n */\r\n @Input() placeholder = 'DD/MM/YYYY - DD/MM/YYYY';\r\n\r\n /**\r\n * Disables the input field if set to true\r\n */\r\n @Input({ transform: booleanAttribute }) disabled = false;\r\n\r\n /**\r\n * Marks the input as required if set to true\r\n */\r\n @Input({ transform: booleanAttribute }) isRequired = false;\r\n\r\n /**\r\n * Shows info icon\r\n */\r\n @Input({ transform: booleanAttribute }) infoIcon = false;\r\n\r\n /**\r\n * Determines whether the input should have a default date set.\r\n * If true, a predefined date will be applied.\r\n */\r\n @Input({ transform: booleanAttribute }) hasDefaultDate = false;\r\n\r\n /**\r\n * Initial value provided by the parent component.\r\n * Usage: For single date select pass a string representation of a date (e.g. \"2025-01-01\").\r\n */\r\n private _initialValue: RangeValue | null = null;\r\n @Input()\r\n set initialValue(value: string | RangeValue | null) {\r\n if (value) {\r\n if (typeof value === 'string') {\r\n try {\r\n value = JSON.parse(value);\r\n } catch {\r\n value = null;\r\n }\r\n }\r\n\r\n if (value && typeof value === 'object' && 'alias' in value) {\r\n this._initialValue = value as RangeValue;\r\n\r\n if (this._initialValue.alias !== 'custom') {\r\n this.onListSelect(this._initialValue.alias as TimePeriod);\r\n } else {\r\n this.dateControl.setValue([\r\n new Date(this._initialValue.start),\r\n new Date(this._initialValue.end),\r\n ]);\r\n }\r\n }\r\n }\r\n }\r\n get initialValue(): RangeValue | null {\r\n return this._initialValue;\r\n }\r\n\r\n /**\r\n * The minimum selectable date.\r\n * Usage: Pass a date string (e.g. \"2025-01-01\") or a Date object.\r\n */\r\n private _minDate!: Date;\r\n @Input()\r\n set minDate(value: string | Date) {\r\n if (value) {\r\n this._minDate = typeof value === 'string' ? new Date(value) : value;\r\n }\r\n }\r\n get minDate(): Date {\r\n return this._minDate;\r\n }\r\n\r\n /**\r\n * The maximum selectable date.\r\n * Usage: Pass a date string (e.g. \"2025-12-31\") or a Date object.\r\n */\r\n private _maxDate = new Date();\r\n @Input()\r\n set maxDate(value: string | Date) {\r\n if (value) {\r\n this._maxDate = typeof value === 'string' ? new Date(value) : value;\r\n }\r\n }\r\n get maxDate(): Date {\r\n return this._maxDate;\r\n }\r\n\r\n /**\r\n * Array with dates that should be disabled (not selectable).\r\n * Usage: Pass a date string (e.g. \"2025-05-01\") or a Date object.\r\n * If no date should be disabled, pass null.\r\n */\r\n private _disabledDates: Date | null = null;\r\n @Input()\r\n set disabledDates(value: string | Date | null) {\r\n if (value === null || value === undefined || value === '') {\r\n this._disabledDates = null;\r\n } else {\r\n this._disabledDates = typeof value === 'string' ? new Date(value) : value;\r\n }\r\n }\r\n get disabledDates(): Date | null {\r\n return this._disabledDates;\r\n }\r\n\r\n /**\r\n * Array with weekday numbers that should be disabled (not selectable).\r\n * Usage: Pass a JSON stringified array of numbers (e.g. \"[0,6]\") or an array of numbers.\r\n */\r\n private _disabledDays: number[] | null = null;\r\n @Input()\r\n set disabledDays(value: string | number[] | null) {\r\n if (typeof value === 'string') {\r\n try {\r\n this._disabledDays = JSON.parse(value);\r\n } catch {\r\n this._disabledDays = null;\r\n }\r\n } else {\r\n this._disabledDays = value;\r\n }\r\n }\r\n get disabledDays(): number[] | null {\r\n return this._disabledDays;\r\n }\r\n\r\n /**\r\n * Format of the date.\r\n */\r\n @Input() dateFormat = 'DD/MM/YYYY';\r\n\r\n /**\r\n * Shows time picker.\r\n */\r\n @Input({ transform: booleanAttribute }) showTimePicker = false;\r\n\r\n /**\r\n * Shows clear button.\r\n */\r\n @Input({ transform: booleanAttribute }) showClear = true;\r\n\r\n @ViewChild('op', { static: true }) popover!: Popover;\r\n\r\n currentAlias!: TimePeriod;\r\n inputValue = '';\r\n listOptions: { key: TimePeriod; value: string }[] = [\r\n { key: TimePeriod.Today, value: 'Today' },\r\n { key: TimePeriod.Yesterday, value: 'Yesterday' },\r\n { key: TimePeriod.CurrentWeek, value: 'Current Week' },\r\n { key: TimePeriod.CurrentMonth, value: 'Current Month' },\r\n { key: TimePeriod.LastMonth, value: 'Last Month' },\r\n { key: TimePeriod.Last30Days, value: 'Last 30 Days' },\r\n { key: TimePeriod.CurrentYear, value: 'Current Year' },\r\n ];\r\n\r\n dateControl: FormControl<Date[] | null> = new FormControl<Date[] | null>(\r\n null\r\n );\r\n attachedToShadowDom = signal(false);\r\n popoverOpened = false;\r\n\r\n // If the click did not occur inside this component's Shadow DOM,\r\n // hide the popover to ensure it closes when clicking outside.\r\n @HostListener('document:click', ['$event'])\r\n onDocumentClick(event: MouseEvent) {\r\n const path = event.composedPath ? event.composedPath() : [];\r\n if (!path.includes(this.elementRef.nativeElement)) {\r\n this.onPopoverClose();\r\n }\r\n }\r\n\r\n constructor(\r\n private elementRef: ElementRef,\r\n private shadowDomStyleInjectorService: ShadowDomStyleInjectorService\r\n ) {\r\n this.dateControl.valueChanges.subscribe((dates: Date[] | null) => {\r\n if (this.manualDateChange) {\r\n this.currentAlias = TimePeriod.Custom;\r\n }\r\n const rangeValue: RangeValue = {\r\n alias: this.currentAlias ?? 'custom',\r\n start: dates?.[0] ?? null,\r\n end: dates?.[1] ?? null,\r\n } as RangeValue;\r\n\r\n this.inputValue = this.formatDateRange(dates ?? []);\r\n this.onChangeFn(rangeValue);\r\n this.elementRef.nativeElement.dispatchEvent(\r\n new CustomEvent('dm-range-date-picker-changed', {\r\n detail: rangeValue,\r\n bubbles: true,\r\n composed: true,\r\n })\r\n );\r\n });\r\n }\r\n\r\n private onChangeFn: (value: RangeValue) => void = () => {};\r\n private onTouchedFn: () => void = () => {};\r\n private _onValidatorChange!: () => void;\r\n\r\n ngOnInit(): void {\r\n if (this.hasDefaultDate && this._initialValue) {\r\n if (this._initialValue.alias !== 'custom') {\r\n this.onListSelect(this._initialValue.alias as TimePeriod);\r\n } else {\r\n this.dateControl.setValue([\r\n new Date(this._initialValue.start),\r\n new Date(this._initialValue.end),\r\n ]);\r\n }\r\n }\r\n if (this.requireEndDate) {\r\n this.dateControl.addValidators(endDateRequired);\r\n this.dateControl.updateValueAndValidity();\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.shadowDomStyleInjectorService\r\n .injectNgPrimeStyles(this.elementRef)\r\n .subscribe((data) => this.attachedToShadowDom.set(data));\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes['requireEndDate']) {\r\n this._onValidatorChange?.();\r\n }\r\n }\r\n\r\n openDatePicker(event: Event, element: Popover): void {\r\n setTimeout(() => {\r\n this.openState.emit();\r\n element.toggle(event);\r\n });\r\n }\r\n\r\n registerOnValidatorChange?(fn: () => void): void {\r\n this._onValidatorChange = fn;\r\n }\r\n\r\n validate(control: AbstractControl): ValidationErrors | null {\r\n return this.requireEndDate ? endDateRequired(control) : null;\r\n }\r\n\r\n writeValue(value: RangeValue | null): void {\r\n if (!value || typeof value !== 'object' || !('alias' in value)) {\r\n this.inputValue = '';\r\n this._initialValue = null;\r\n this.dateControl.setValue(null, { emitEvent: false });\r\n return;\r\n }\r\n\r\n this._initialValue = value;\r\n\r\n if (value.alias !== 'custom') {\r\n this.onListSelect(value.alias as TimePeriod);\r\n } else {\r\n this.currentAlias = TimePeriod.Custom;\r\n const parsed: Date[] = [new Date(value.start), new Date(value.end)];\r\n this.dateControl.setValue(parsed, { emitEvent: false });\r\n this.inputValue = this.formatDateRange(parsed);\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: RangeValue) => void): void {\r\n this.onChangeFn = fn;\r\n }\r\n\r\n registerOnTouched(fn: () => void): void {\r\n this.onTouchedFn = fn;\r\n }\r\n\r\n dateSelection(): void {\r\n this.manualDateChange = true;\r\n this.inputValue = this.formatDateRange(this.dateControl.value as Date[]);\r\n }\r\n\r\n onListSelect(key: TimePeriod): void {\r\n this.currentAlias = key;\r\n const alias = DATE_HINTS.find((item) => item.dateAlias === key);\r\n if (alias) {\r\n const dates: Date[] = [alias.interval.start, alias.interval.end];\r\n this.dateControl.setValue(dates);\r\n this._initialValue = {\r\n alias: key,\r\n start: alias.interval.start,\r\n end: alias.interval.end,\r\n };\r\n }\r\n }\r\n\r\n private formatDate(date: Date | null | undefined): string {\r\n if (!date || !moment(date).isValid()) {\r\n return '';\r\n }\r\n return moment(date).format('DD/MM/YYYY');\r\n }\r\n\r\n private formatDateRange(dates: Date[]): string {\r\n const [date1, date2] = dates || [];\r\n const firstDateStr = this.formatDate(date1);\r\n const secondDateStr = this.formatDate(date2);\r\n if (firstDateStr && secondDateStr) {\r\n return `${firstDateStr} - ${secondDateStr}`;\r\n } else if (firstDateStr) {\r\n return firstDateStr + ' -';\r\n } else {\r\n return '';\r\n }\r\n }\r\n\r\n protected onPopoverShow(): void {\r\n const popEl = this.popover.container as HTMLElement;\r\n this.popoverOpened = true;\r\n if (popEl) {\r\n popEl.style.left = '0px';\r\n popEl.style.top = '0px';\r\n }\r\n }\r\n\r\n protected onPopoverClose(): void {\r\n if (this.popover) {\r\n this.popover.hide();\r\n }\r\n this.popoverOpened = false;\r\n }\r\n\r\n protected onClear(): void {\r\n this.dateControl.reset();\r\n this.inputValue = '';\r\n }\r\n}\r\n","<div\r\n class=\"form-control-container\"\r\n [ngStyle]=\"{ visibility: !attachedToShadowDom() ? 'hidden' : 'visible' }\"\r\n>\r\n <label class=\"form-control-label\" for=\"inputRangePicker\" #tooltipWrapper>\r\n <span>{{ isRequired ? label + ' *' : label }}</span>\r\n @if(infoIcon) {\r\n <span\r\n [ngStyle]=\"{ display: 'inline-flex', cursor: 'pointer' }\"\r\n [pTooltip]=\"tooltipMessage\"\r\n [appendTo]=\"tooltipWrapper\"\r\n positionLeft=\"53\"\r\n positionTop=\"-5\"\r\n tooltipPosition=\"top\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\"\r\n height=\"12\"\r\n viewBox=\"0 0 12 12\"\r\n fill=\"none\"\r\n >\r\n <g clip-path=\"url(#clip0_592_3470)\">\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M6 1.5C3.51472 1.5 1.5 3.51472 1.5 6C1.5 8.48528 3.51472 10.5 6 10.5C8.48528 10.5 10.5 8.48528 10.5 6C10.5 3.51472 8.48528 1.5 6 1.5ZM0.5 6C0.5 2.96243 2.96243 0.5 6 0.5C9.03757 0.5 11.5 2.96243 11.5 6C11.5 9.03757 9.03757 11.5 6 11.5C2.96243 11.5 0.5 9.03757 0.5 6ZM6.12906 4.01216C5.8963 3.97223 5.65692 4.01597 5.45332 4.13563C5.24972 4.25529 5.09504 4.44314 5.01667 4.66592C4.92503 4.92642 4.63957 5.0633 4.37908 4.97167C4.11858 4.88003 3.9817 4.59457 4.07333 4.33408C4.23007 3.88852 4.53943 3.51282 4.94664 3.2735C5.35384 3.03418 5.8326 2.9467 6.29812 3.02655C6.76364 3.1064 7.18588 3.34843 7.49005 3.70976C7.79416 4.07103 7.96064 4.52824 7.96 5.00046C7.95977 5.76563 7.39247 6.27095 6.98735 6.54103C6.76953 6.68624 6.55528 6.79301 6.39744 6.86316C6.31782 6.89855 6.25077 6.9254 6.20245 6.94381C6.17825 6.95303 6.15863 6.96017 6.14435 6.96525L6.12699 6.97133L6.12145 6.97322L6.11951 6.97388L6.11874 6.97413C6.11859 6.97418 6.11811 6.97434 5.96 6.5L6.11811 6.97434C5.85614 7.06167 5.57298 6.92009 5.48566 6.65811C5.39836 6.39623 5.53982 6.11317 5.80162 6.02575L5.80934 6.02303C5.81703 6.0203 5.82964 6.01572 5.84646 6.00932C5.88017 5.99647 5.93031 5.97645 5.99131 5.94934C6.11472 5.89449 6.27547 5.81376 6.43265 5.70897C6.77745 5.47911 6.96 5.23457 6.96 5L6.96 4.99926C6.96035 4.7631 6.87711 4.53443 6.72503 4.35376C6.57294 4.1731 6.36182 4.05208 6.12906 4.01216ZM5.5 8.5C5.5 8.22386 5.72386 8 6 8H6.005C6.28114 8 6.505 8.22386 6.505 8.5C6.505 8.77614 6.28114 9 6.005 9H6C5.72386 9 5.5 8.77614 5.5 8.5Z\"\r\n fill=\"#5D6983\"\r\n />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_592_3470\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n }\r\n </label>\r\n <div class=\"datepicker-wrapper\">\r\n <input\r\n id=\"inputRangePicker\"\r\n [ngClass]=\"{\r\n 'invalid-state':\r\n dateControl.hasError('endDateRequired') && !popoverOpened\r\n }\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"inputValue\"\r\n [readonly]=\"true\"\r\n (click)=\"openDatePicker($event, op)\"\r\n class=\"form-control-field\"\r\n pInputText\r\n />\r\n <svg\r\n width=\"14\"\r\n height=\"14\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n class=\"datepicker-icon\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n d=\"M10.7838 1.51351H9.83783V0.567568C9.83783 0.417039 9.77804 0.272676 9.6716 0.166237C9.56516 0.0597971 9.42079 0 9.27027 0C9.11974 0 8.97538 0.0597971 8.86894 0.166237C8.7625 0.272676 8.7027 0.417039 8.7027 0.567568V1.51351H5.29729V0.567568C5.29729 0.417039 5.2375 0.272676 5.13106 0.166237C5.02462 0.0597971 4.88025 0 4.72973 0C4.5792 0 4.43484 0.0597971 4.3284 0.166237C4.22196 0.272676 4.16216 0.417039 4.16216 0.567568V1.51351H3.21621C2.66428 1.51351 2.13494 1.73277 1.74467 2.12305C1.35439 2.51333 1.13513 3.04266 1.13513 3.59459V11.9189C1.13513 12.4709 1.35439 13.0002 1.74467 13.3905C2.13494 13.7807 2.66428 14 3.21621 14H10.7838C11.3357 14 11.865 13.7807 12.2553 13.3905C12.6456 13.0002 12.8649 12.4709 12.8649 11.9189V3.59459C12.8649 3.04266 12.6456 2.51333 12.2553 2.12305C11.865 1.73277 11.3357 1.51351 10.7838 1.51351ZM3.21621 2.64865H4.16216V3.59459C4.16216 3.74512 4.22196 3.88949 4.3284 3.99593C4.43484 4.10237 4.5792 4.16216 4.72973 4.16216C4.88025 4.16216 5.02462 4.10237 5.13106 3.99593C5.2375 3.88949 5.29729 3.74512 5.29729 3.59459V2.64865H8.7027V3.59459C8.7027 3.74512 8.7625 3.88949 8.86894 3.99593C8.97538 4.10237 9.11974 4.16216 9.27027 4.16216C9.42079 4.16216 9.56516 4.10237 9.6716 3.99593C9.77804 3.88949 9.83783 3.74512 9.83783 3.59459V2.64865H10.7838C11.0347 2.64865 11.2753 2.74831 11.4527 2.92571C11.6301 3.10311 11.7297 3.34371 11.7297 3.59459V5.67568H2.27027V3.59459C2.27027 3.34371 2.36993 3.10311 2.54733 2.92571C2.72473 2.74831 2.96533 2.64865 3.21621 2.64865ZM10.7838 12.8649H3.21621C2.96533 12.8649 2.72473 12.7652 2.54733 12.5878C2.36993 12.4104 2.27027 12.1698 2.27027 11.9189V6.81081H11.7297V11.9189C11.7297 12.1698 11.6301 12.4104 11.4527 12.5878C11.2753 12.7652 11.0347 12.8649 10.7838 12.8649Z\"\r\n fill=\"currentColor\"\r\n ></path>\r\n </svg>\r\n @if(showClear && inputValue) {\r\n <svg\r\n (click)=\"onClear()\"\r\n class=\"clear-icon\"\r\n width=\"14\"\r\n height=\"14\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n d=\"M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z\"\r\n fill=\"#5D6983\"\r\n ></path>\r\n </svg>\r\n }\r\n </div>\r\n @if(dateControl.hasError('endDateRequired') && !popoverOpened) {\r\n <div class=\"form-control-error-message\">End date is required</div>\r\n }\r\n <div #datePickerWrapper style=\"position: relative\"></div>\r\n <p-popover\r\n #op\r\n [appendTo]=\"datePickerWrapper\"\r\n [dismissable]=\"true\"\r\n (onShow)=\"onPopoverShow()\"\r\n (onHide)=\"onPopoverClose()\"\r\n >\r\n <div class=\"popover-content\">\r\n <div class=\"popover-left-content\">\r\n <ul class=\"period-list\">\r\n @for (item of listOptions; track item.key) {\r\n <!-- <li-->\r\n <!-- [ngClass]=\"{-->\r\n <!-- 'selected-item': currentAlias === item.key-->\r\n <!-- }\"-->\r\n <!-- (click)=\"onListSelect(item.key)\"-->\r\n <!-- >-->\r\n <!-- <span>{{ item.value }}</span>-->\r\n <!-- </li>-->\r\n <li\r\n [ngClass]=\"{\r\n 'selected-item':\r\n currentAlias === item.key && currentAlias !== 'custom'\r\n }\"\r\n (click)=\"onListSelect(item.key)\"\r\n >\r\n <span>{{ item.value }}</span>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n <div class=\"popover-right-content\">\r\n <p-datepicker\r\n selectionMode=\"range\"\r\n [firstDayOfWeek]=\"1\"\r\n [formControl]=\"dateControl\"\r\n [inline]=\"true\"\r\n [minDate]=\"$any(minDate)\"\r\n [maxDate]=\"$any(maxDate)\"\r\n [showTime]=\"showTimePicker\"\r\n (onSelect)=\"dateSelection()\"\r\n ></p-datepicker>\r\n </div>\r\n </div>\r\n </p-popover>\r\n</div>\r\n","import { DestroyRef, inject, Injectable } from '@angular/core';\r\nimport { BehaviorSubject, filter, firstValueFrom, from, map, Observable, switchMap, take } from 'rxjs';\r\nimport {\r\n ApiHandlerService,\r\n DomainLookupsRequest,\r\n DynamicFilters,\r\n Lookups,\r\n LookupsRequest,\r\n ReportParamsRequest,\r\n ReportTemplate,\r\n SessionService,\r\n VerificationRequestBodyStrategy,\r\n TracingInfo,\r\n TracingInfoService,\r\n} from '@everymatrix-base-components/utils';\r\nimport { environment } from 'environments/environment.default';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\n\r\n//TODO: Create and move interfaces to general lib\r\nexport interface AdditionalParams {\r\n [key: string]: any;\r\n}\r\n\r\nexport interface ResultObject {\r\n p_additional_params: AdditionalParams;\r\n [key: string]: any;\r\n}\r\n\r\nexport interface ReportConfig {\r\n offset?: number;\r\n template?: ReportTemplate | null | undefined;\r\n limit: number;\r\n allFilters: DynamicFilters[];\r\n formData: AdditionalParams;\r\n columns: string[];\r\n executionType: string;\r\n isGrandTotal?: boolean;\r\n sorting?: { field: string | null; value: 'asc' | 'desc' | null };\r\n}\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class VerificationService {\r\n sessionData: any;\r\n destroyRef = inject(DestroyRef);\r\n\r\n constructor(\r\n private apiHandlerService: ApiHandlerService,\r\n private sessionService: SessionService,\r\n private apiTracingInfo: TracingInfoService,\r\n private verificationRequestBodyStrategy: VerificationRequestBodyStrategy,\r\n private httpClient: HttpClient\r\n ) {\r\n this.sessionData = this.sessionService.sessionData;\r\n }\r\n\r\n runReport(config: ReportConfig): Observable<any> {\r\n const url = this.apiHandlerService.getACSBaseUrl('mm_verification_report');\r\n\r\n return from(this.getTracingInfo()).pipe(switchMap((tracingInfo) => \r\n this.apiHandlerService\r\n .Post<any, any>(url, { p_report_params: this.verificationRequestBodyStrategy.buildRequestBody(config, tracingInfo) })\r\n .pipe(\r\n map((data) => {\r\n if (!data) {\r\n throw new Error('Server returned empty response');\r\n }\r\n if (\r\n ((data.errorCode || data.ok === false) && data.message) ||\r\n (Array.isArray(data) && data[0]?.errorCode)\r\n ) {\r\n throw new Error(data.message || 'Server responded with an error.');\r\n }\r\n return data.result;\r\n })\r\n ))\r\n );\r\n }\r\n\r\n async getTracingInfo(): Promise<TracingInfo> {\r\n try {\r\n return firstValueFrom(this.apiTracingInfo.tracingInfoData$.pipe(\r\n takeUntilDestroyed(this.destroyRef),\r\n filter((data) => data !== null),\r\n take(1)\r\n )\r\n )\r\n } catch (e) {\r\n return {};\r\n }\r\n }\r\n\r\n getLookups(): Observable<Lookups[]> {\r\n const url = this.apiHandlerService.getACSBaseUrl(\r\n 'rep_mm_report_params_lookup_bq',\r\n 'ce'\r\n );\r\n const body = {\r\n p_report_params: {\r\n p_domains: [\r\n this.sessionService.sessionData &&\r\n this.sessionService.sessionData['Domains'],\r\n ],\r\n p_param_name:\r\n 'verification_status, verification_vendor_name, verification_type, verification_source, verification_manual_clarification, documents_type, documents_status, registration_country_code, merchant',\r\n p_filters: {},\r\n p_environment:\r\n this.sessionService.sessionData &&\r\n this.sessionService.sessionData['Environment'],\r\n },\r\n };\r\n return this.apiHandlerService.Post<\r\n ReportParamsRequest<LookupsRequest>,\r\n Lookups[]\r\n >(url, body);\r\n }\r\n\r\n getDomainLookups(): Observable<{\r\n domains_mm: Lookups[];\r\n permissions_data: {\r\n p_permissions: string[];\r\n p_permissions_context: string;\r\n };\r\n }> {\r\n const url = this.apiHandlerService.getACSBaseUrl('domains_lookup', 'ce');\r\n const body = {\r\n p_report_params: {\r\n p_domains: [this.sessionService.sessionData?.Domains],\r\n p_level: 'operator',\r\n p_param_name: ['domains_mm'],\r\n p_permissions: this.sessionService.sessionData?.DomainPermissions,\r\n p_permissions_context: 'report',\r\n p_environment: this.sessionService.sessionData?.Environment,\r\n p_user_id: this.sessionService.sessionData?.Username,\r\n },\r\n };\r\n return this.apiHandlerService.Post<\r\n ReportParamsRequest<DomainLookupsRequest>,\r\n {\r\n domains_mm: Lookups[];\r\n permissions_data: {\r\n p_permissions: string[];\r\n p_permissions_context: string;\r\n };\r\n }\r\n >(url, body);\r\n }\r\n\r\n getReportFilters(): Observable<{result: DynamicFilters[]}> {\r\n const url = this.apiHandlerService.getACSBaseUrl('mm_columns_selector');\r\n const body = {\r\n p_report_params: {\r\n p_domains: [\r\n this.sessionService.sessionData &&\r\n this.sessionService.sessionData['Domains'],\r\n ],\r\n p_report_id: 'mm_verification_report',\r\n },\r\n };\r\n\r\n return this.apiHandlerService.Post<any, {result: DynamicFilters[]}>(url, body);\r\n }\r\n\r\n csvLoad(resource: any) {\r\n const match = resource.match(/reports\\/.*?\\.csv/);\r\n const result = match ? match[0].replace(/\\.csv$/, '') : null;\r\n const url = `${environment.BASE_ACS_URL}acs-proxy?namespace=dm-gcs-docs&bucketName=dm-storage-stage&resourceName=get_google_storage_csv&fileType=csv&filePath=${result}&expiresInSeconds=600`;\r\n return this.httpClient.post(\r\n url,\r\n {\r\n p_report_params: {\r\n p_report_params: {\r\n p_domains: [this.sessionService.sessionData?.Domains],\r\n },\r\n },\r\n },\r\n { responseType: 'text' }\r\n );\r\n }\r\n}\r\n","import * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, HostBinding, ViewChild, ContentChildren, ContentChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';\nimport { getSelection } from '@primeuix/utils';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { TimesIcon, AngleUpIcon, AngleDownIcon } from 'primeng/icons';\nimport { InputText } from 'primeng/inputtext';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"clearicon\"];\nconst _c1 = [\"incrementbuttonicon\"];\nconst _c2 = [\"decrementbuttonicon\"];\nconst _c3 = [\"input\"];\nfunction InputNumber_ng_container_2_TimesIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"TimesIcon\", 7);\n i0.ɵɵlistener(\"click\", function InputNumber_ng_container_2_TimesIcon_1_Template_TimesIcon_click_0_listener() {\n i0.ɵɵrestoreView(_r2);\n const ctx_r2 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r2.clear());\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngClass\", \"p-inputnumber-clear-icon\");\n i0.ɵɵattribute(\"data-pc-section\", \"clearIcon\");\n }\n}\nfunction InputNumber_ng_container_2_span_2_1_ng_template_0_Template(rf, ctx) {}\nfunction InputNumber_ng_container_2_span_2_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, InputNumber_ng_container_2_span_2_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction InputNumber_ng_container_2_span_2_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"span\", 8);\n i0.ɵɵlistener(\"click\", function InputNumber_ng_container_2_span_2_Template_span_click_0_listener() {\n i0.ɵɵrestoreView(_r4);\n const ctx_r2 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r2.clear());\n });\n i0.ɵɵtemplate(1, InputNumber_ng_container_2_span_2_1_Template, 1, 0, null, 9);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"data-pc-section\", \"clearIcon\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.clearIconTemplate || ctx_r2._clearIconTemplate);\n }\n}\nfunction InputNumber_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, InputNumber_ng_container_2_TimesIcon_1_Template, 1, 2, \"TimesIcon\", 5)(2, InputNumber_ng_container_2_span_2_Template, 2, 2, \"span\", 6);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.clearIconTemplate && !ctx_r2._clearIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.clearIconTemplate || ctx_r2._clearIconTemplate);\n }\n}\nfunction InputNumber_span_3_span_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 13);\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngClass\", ctx_r2.incrementButtonIcon);\n i0.ɵɵattribute(\"data-pc-section\", \"incrementbuttonicon\");\n }\n}\nfunction InputNumber_span_3_ng_container_3_AngleUpIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"AngleUpIcon\");\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"data-pc-section\", \"incrementbuttonicon\");\n }\n}\nfunction InputNumber_span_3_ng_container_3_2_ng_template_0_Template(rf, ctx) {}\nfunction InputNumber_span_3_ng_container_3_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, InputNumber_span_3_ng_container_3_2_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction InputNumber_span_3_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, InputNumber_span_3_ng_container_3_AngleUpIcon_1_Template, 1, 1, \"AngleUpIcon\", 2)(2, InputNumber_span_3_ng_container_3_2_Template, 1, 0, null, 9);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.incrementButtonIconTemplate && !ctx_r2._incrementButtonIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.incrementButtonIconTemplate || ctx_r2._incrementButtonIconTemplate);\n }\n}\nfunction InputNumber_span_3_span_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 13);\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngClass\", ctx_r2.decrementButtonIcon);\n i0.ɵɵattribute(\"data-pc-section\", \"decrementbuttonicon\");\n }\n}\nfunction InputNumber_span_3_ng_container_6_AngleDownIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"AngleDownIcon\");\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"data-pc-section\", \"decrementbuttonicon\");\n }\n}\nfunction InputNumber_span_3_ng_container_6_2_ng_template_0_Template(rf, ctx) {}\nfunction InputNumber_span_3_ng_container_6_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, InputNumber_span_3_ng_container_6_2_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction InputNumber_span_3_ng_container_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, InputNumber_span_3_ng_container_6_AngleDownIcon_1_Template, 1, 1, \"AngleDownIcon\", 2)(2, InputNumber_span_3_ng_container_6_2_Template, 1, 0, null, 9);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.decrementButtonIconTemplate && !ctx_r2._decrementButtonIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.decrementButtonIconTemplate || ctx_r2._decrementButtonIconTemplate);\n }\n}\nfunction InputNumber_span_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r5 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"span\", 10)(1, \"button\", 11);\n i0.ɵɵlistener(\"mousedown\", function InputNumber_span_3_Template_button_mousedown_1_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonMouseDown($event));\n })(\"mouseup\", function InputNumber_span_3_Template_button_mouseup_1_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonMouseUp());\n })(\"mouseleave\", function InputNumber_span_3_Template_button_mouseleave_1_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonMouseLeave());\n })(\"keydown\", function InputNumber_span_3_Template_button_keydown_1_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonKeyDown($event));\n })(\"keyup\", function InputNumber_span_3_Template_button_keyup_1_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonKeyUp());\n });\n i0.ɵɵtemplate(2, InputNumber_span_3_span_2_Template, 1, 2, \"span\", 12)(3, InputNumber_span_3_ng_container_3_Template, 3, 2, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(4, \"button\", 11);\n i0.ɵɵlistener(\"mousedown\", function InputNumber_span_3_Template_button_mousedown_4_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonMouseDown($event));\n })(\"mouseup\", function InputNumber_span_3_Template_button_mouseup_4_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonMouseUp());\n })(\"mouseleave\", function InputNumber_span_3_Template_button_mouseleave_4_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonMouseLeave());\n })(\"keydown\", function InputNumber_span_3_Template_button_keydown_4_listener($event) {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonKeyDown($event));\n })(\"keyup\", function InputNumber_span_3_Template_button_keyup_4_listener() {\n i0.ɵɵrestoreView(_r5);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonKeyUp());\n });\n i0.ɵɵtemplate(5, InputNumber_span_3_span_5_Template, 1, 2, \"span\", 12)(6, InputNumber_span_3_ng_container_6_Template, 3, 2, \"ng-container\", 2);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵattribute(\"data-pc-section\", \"buttonGroup\");\n i0.ɵɵadvance();\n i0.ɵɵclassMap(ctx_r2.incrementButtonClass);\n i0.ɵɵproperty(\"ngClass\", ctx_r2._incrementButtonClass)(\"disabled\", ctx_r2.disabled);\n i0.ɵɵattribute(\"aria-hidden\", true)(\"data-pc-section\", \"incrementbutton\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.incrementButtonIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.incrementButtonIcon);\n i0.ɵɵadvance();\n i0.ɵɵclassMap(ctx_r2.decrementButtonClass);\n i0.ɵɵproperty(\"ngClass\", ctx_r2._decrementButtonClass)(\"disabled\", ctx_r2.disabled);\n i0.ɵɵattribute(\"aria-hidden\", true)(\"data-pc-section\", \"decrementbutton\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.decrementButtonIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.decrementButtonIcon);\n }\n}\nfunction InputNumber_button_4_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 13);\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngClass\", ctx_r2.incrementButtonIcon);\n i0.ɵɵattribute(\"data-pc-section\", \"incrementbuttonicon\");\n }\n}\nfunction InputNumber_button_4_ng_container_2_AngleUpIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"AngleUpIcon\");\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"data-pc-section\", \"incrementbuttonicon\");\n }\n}\nfunction InputNumber_button_4_ng_container_2_2_ng_template_0_Template(rf, ctx) {}\nfunction InputNumber_button_4_ng_container_2_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, InputNumber_button_4_ng_container_2_2_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction InputNumber_button_4_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, InputNumber_button_4_ng_container_2_AngleUpIcon_1_Template, 1, 1, \"AngleUpIcon\", 2)(2, InputNumber_button_4_ng_container_2_2_Template, 1, 0, null, 9);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.incrementButtonIconTemplate && !ctx_r2._incrementButtonIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.incrementButtonIconTemplate || ctx_r2._incrementButtonIconTemplate);\n }\n}\nfunction InputNumber_button_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 11);\n i0.ɵɵlistener(\"mousedown\", function InputNumber_button_4_Template_button_mousedown_0_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonMouseDown($event));\n })(\"mouseup\", function InputNumber_button_4_Template_button_mouseup_0_listener() {\n i0.ɵɵrestoreView(_r6);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonMouseUp());\n })(\"mouseleave\", function InputNumber_button_4_Template_button_mouseleave_0_listener() {\n i0.ɵɵrestoreView(_r6);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonMouseLeave());\n })(\"keydown\", function InputNumber_button_4_Template_button_keydown_0_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonKeyDown($event));\n })(\"keyup\", function InputNumber_button_4_Template_button_keyup_0_listener() {\n i0.ɵɵrestoreView(_r6);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onUpButtonKeyUp());\n });\n i0.ɵɵtemplate(1, InputNumber_button_4_span_1_Template, 1, 2, \"span\", 12)(2, InputNumber_button_4_ng_container_2_Template, 3, 2, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r2.incrementButtonClass);\n i0.ɵɵproperty(\"ngClass\", ctx_r2._incrementButtonClass)(\"disabled\", ctx_r2.disabled);\n i0.ɵɵattribute(\"aria-hidden\", true)(\"data-pc-section\", \"incrementbutton\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.incrementButtonIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.incrementButtonIcon);\n }\n}\nfunction InputNumber_button_5_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"span\", 13);\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngClass\", ctx_r2.decrementButtonIcon);\n i0.ɵɵattribute(\"data-pc-section\", \"decrementbuttonicon\");\n }\n}\nfunction InputNumber_button_5_ng_container_2_AngleDownIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"AngleDownIcon\");\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"data-pc-section\", \"decrementbuttonicon\");\n }\n}\nfunction InputNumber_button_5_ng_container_2_2_ng_template_0_Template(rf, ctx) {}\nfunction InputNumber_button_5_ng_container_2_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, InputNumber_button_5_ng_container_2_2_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction InputNumber_button_5_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, InputNumber_button_5_ng_container_2_AngleDownIcon_1_Template, 1, 1, \"AngleDownIcon\", 2)(2, InputNumber_button_5_ng_container_2_2_Template, 1, 0, null, 9);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.decrementButtonIconTemplate && !ctx_r2._decrementButtonIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r2.decrementButtonIconTemplate || ctx_r2._decrementButtonIconTemplate);\n }\n}\nfunction InputNumber_button_5_Template(rf, ctx) {\n if (rf & 1) {\n const _r7 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 11);\n i0.ɵɵlistener(\"mousedown\", function InputNumber_button_5_Template_button_mousedown_0_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonMouseDown($event));\n })(\"mouseup\", function InputNumber_button_5_Template_button_mouseup_0_listener() {\n i0.ɵɵrestoreView(_r7);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonMouseUp());\n })(\"mouseleave\", function InputNumber_button_5_Template_button_mouseleave_0_listener() {\n i0.ɵɵrestoreView(_r7);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonMouseLeave());\n })(\"keydown\", function InputNumber_button_5_Template_button_keydown_0_listener($event) {\n i0.ɵɵrestoreView(_r7);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonKeyDown($event));\n })(\"keyup\", function InputNumber_button_5_Template_button_keyup_0_listener() {\n i0.ɵɵrestoreView(_r7);\n const ctx_r2 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r2.onDownButtonKeyUp());\n });\n i0.ɵɵtemplate(1, InputNumber_button_5_span_1_Template, 1, 2, \"span\", 12)(2, InputNumber_button_5_ng_container_2_Template, 3, 2, \"ng-container\", 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r2 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r2.decrementButtonClass);\n i0.ɵɵproperty(\"ngClass\", ctx_r2._decrementButtonClass)(\"disabled\", ctx_r2.disabled);\n i0.ɵɵattribute(\"aria-hidden\", true)(\"data-pc-section\", \"decrementbutton\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r2.decrementButtonIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r2.decrementButtonIcon);\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-inputnumber {\n display: inline-flex;\n position: relative;\n}\n\n.p-inputnumber-button {\n display: flex;\n align-items: center;\n justify-content: center;\n flex: 0 0 auto;\n cursor: pointer;\n background: ${dt('inputnumber.button.background')};\n color: ${dt('inputnumber.button.color')};\n width: ${dt('inputnumber.button.width')};\n transition: background ${dt('inputnumber.transition.duration')}, color ${dt('inputnumber.transition.duration')}, border-color ${dt('inputnumber.transition.duration')}, outline-color ${dt('inputnumber.transition.duration')};\n}\n\n.p-inputnumber-clear-icon {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n cursor: pointer;\n right: 0.75rem;\n color: ${dt('inputnumber.button.color')};\n}\n\n.p-inputnumber-button:hover {\n background: ${dt('inputnumber.button.hover.background')};\n color: ${dt('inputnumber.button.hover.color')};\n}\n\n.p-inputnumber-button:active {\n background: ${dt('inputnumber.button.active.background')};\n color: ${dt('inputnumber.button.active.color')};\n}\n\n.p-inputnumber-stacked .p-inputnumber-button {\n position: relative;\n border: 0 none;\n}\n\n.p-inputnumber-stacked .p-inputnumber-button-group {\n display: flex;\n flex-direction: column;\n position: absolute;\n inset-block-start: 1px;\n inset-inline-end: 1px;\n height: calc(100% - 2px);\n z-index: 1;\n}\n\n.p-inputnumber-stacked .p-inputnumber-increment-button {\n padding: 0;\n border-start-end-radius: calc(${dt('inputnumber.button.border.radius')} - 1px);\n}\n\n.p-inputnumber-stacked .p-inputnumber-decrement-button {\n padding: 0;\n border-end-end-radius: calc(${dt('inputnumber.button.border.radius')} - 1px);\n}\n\n.p-inputnumber-stacked .p-inputnumber-button {\n flex: 1 1 auto;\n border: 0 none;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button {\n border: 1px solid ${dt('inputnumber.button.border.color')};\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button:hover {\n border-color: ${dt('inputnumber.button.hover.border.color')};\n}\n\n.p-inputnumber-horizontal .p-inputnumber-button:active {\n border-color: ${dt('inputnumber.button.active.border.color')};\n}\n\n.p-inputnumber-horizontal .p-inputnumber-increment-button {\n order: 3;\n border-start-end-radius: ${dt('inputnumber.button.border.radius')};\n border-end-end-radius: ${dt('inputnumber.button.border.radius')};\n border-inline-start: 0 none;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-input {\n order: 2;\n border-radius: 0;\n}\n\n.p-inputnumber-horizontal .p-inputnumber-decrement-button {\n order: 1;\n border-start-start-radius: ${dt('inputnumber.button.border.radius')};\n border-end-start-radius: ${dt('inputnumber.button.border.radius')};\n border-inline-end: 0 none;\n}\n\n.p-floatlabel:has(.p-inputnumber-horizontal) label {\n margin-inline-start: ${dt('inputnumber.button.width')};\n}\n\n.p-inputnumber-vertical {\n flex-direction: column;\n}\n\n.p-inputnumber-vertical .p-inputnumber-button {\n border: 1px solid ${dt('inputnumber.button.border.color')};\n padding-block: ${dt('inputnumber.button.vertical.padding')};\n padding-inline: 0;\n}\n\n.p-inputnumber-vertical .p-inputnumber-button:hover {\n border-color: ${dt('inputnumber.button.hover.border.color')};\n}\n\n.p-inputnumber-vertical .p-inputnumber-button:active {\n border-color: ${dt('inputnumber.button.active.border.color')};\n}\n\n.p-inputnumber-vertical .p-inputnumber-increment-button {\n order: 1;\n border-start-start-radius: ${dt('inputnumber.button.border.radius')};\n border-start-end-radius: ${dt('inputnumber.button.border.radius')};\n width: 100%;\n border-block-end: 0 none;\n}\n\n.p-inputnumber-vertical .p-inputnumber-input {\n order: 2;\n border-radius: 0;\n text-align: center;\n}\n\n.p-inputnumber-vertical .p-inputnumber-decrement-button {\n order: 3;\n border-end-start-radius: ${dt('inputnumber.button.border.radius')};\n border-end-end-radius: ${dt('inputnumber.button.border.radius')};\n width: 100%;\n border-block-start: 0 none;\n}\n\n.p-inputnumber-input {\n flex: 1 1 auto;\n}\n\n.p-inputnumber-fluid {\n width: 100%;\n}\n\n.p-inputnumber-fluid .p-inputnumber-input {\n width: 1%;\n}\n\n.p-inputnumber-fluid.p-inputnumber-vertical .p-inputnumber-input {\n width: 100%;\n}\n\n.p-inputnumber:has(.p-inputtext-sm) .p-inputnumber-button .p-icon {\n font-size: ${dt('form.field.sm.font.size')};\n width: ${dt('form.field.sm.font.size')};\n height: ${dt('form.field.sm.font.size')};\n}\n\n.p-inputnumber:has(.p-inputtext-lg) .p-inputnumber-button .p-icon {\n font-size: ${dt('form.field.lg.font.size')};\n width: ${dt('form.field.lg.font.size')};\n height: ${dt('form.field.lg.font.size')};\n}\n\np-inputNumber.ng-invalid.ng-dirty > .p-inputtext,\np-input-number.ng-invalid.ng-dirty > .p-inputtext,\np-inputnumber.ng-invalid.ng-dirty > .p-inputtext {\n border-color: ${dt('inputtext.invalid.border.color')};\n}\n\np-inputNumber.ng-invalid.ng-dirty > .p-inputtext:enabled:focus,\np-input-number.ng-invalid.ng-dirty > .p-inputtext:enabled:focus,\np-inputnumber.ng-invalid.ng-dirty > .p-inputtext:enabled:focus {\n border-color: ${dt('inputtext.focus.border.color')};\n}\n\np-inputNumber.ng-invalid.ng-dirty > .p-inputtext::placeholder,\np-input-number.ng-invalid.ng-dirty > .p-inputtext::placeholder,\np-inputnumber.ng-invalid.ng-dirty > .p-inputtext::placeholder {\n color: ${dt('inputtext.invalid.placeholder.color')};\n}\n`;\nconst classes = {\n root: ({\n instance\n }) => ({\n 'p-inputnumber p-component p-inputwrapper': true,\n 'p-inputwrapper-filled': instance.filled || instance.allowEmpty === false,\n 'p-inputwrapper-focus': instance.focused,\n 'p-inputnumber-stacked': instance.showButtons && instance.buttonLayout === 'stacked',\n 'p-inputnumber-horizontal': instance.showButtons && instance.buttonLayout === 'horizontal',\n 'p-inputnumber-vertical': instance.showButtons && instance.buttonLayout === 'vertical',\n 'p-inputnumber-fluid': instance.hasFluid\n }),\n pcInput: 'p-inputnumber-input',\n buttonGroup: 'p-inputnumber-button-group',\n incrementButton: ({\n instance\n }) => ({\n 'p-inputnumber-button p-inputnumber-increment-button': true,\n 'p-disabled': instance.showButtons && instance.max !== null && instance.maxlength\n }),\n decrementButton: ({\n instance\n }) => ({\n 'p-inputnumber-button p-inputnumber-decrement-button': true,\n 'p-disabled': instance.showButtons && instance.min !== null && instance.minlength\n })\n};\nclass InputNumberStyle extends BaseStyle {\n name = 'inputnumber';\n theme = theme;\n classes = classes;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵInputNumberStyle_BaseFactory;\n return function InputNumberStyle_Factory(__ngFactoryType__) {\n return (ɵInputNumberStyle_BaseFactory || (ɵInputNumberStyle_BaseFactory = i0.ɵɵgetInheritedFactory(InputNumberStyle)))(__ngFactoryType__ || InputNumberStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: InputNumberStyle,\n factory: InputNumberStyle.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(InputNumberStyle, [{\n type: Injectable\n }], null, null);\n})();\n/**\n *\n * InputNumber is an input component to provide numerical input.\n *\n * [Live Demo](https://www.primeng.org/inputnumber/)\n *\n * @module inputnumberstyle\n *\n */\nvar InputNumberClasses;\n(function (InputNumberClasses) {\n /**\n * Class name of the root element\n */\n InputNumberClasses[\"root\"] = \"p-inputnumber\";\n /**\n * Class name of the input element\n */\n InputNumberClasses[\"pcInput\"] = \"p-inputnumber-input\";\n /**\n * Class name of the button group element\n */\n InputNumberClasses[\"buttonGroup\"] = \"p-inputnumber-button-group\";\n /**\n * Class name of the increment button element\n */\n InputNumberClasses[\"incrementButton\"] = \"p-inputnumber-increment-button\";\n /**\n * Class name of the decrement button element\n */\n InputNumberClasses[\"decrementButton\"] = \"p-inputnumber-decrement-button\";\n})(InputNumberClasses || (InputNumberClasses = {}));\nconst INPUTNUMBER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => InputNumber),\n multi: true\n};\n/**\n * InputNumber is an input component to provide numerical input.\n * @group Components\n */\nclass InputNumber extends BaseComponent {\n injector;\n /**\n * Displays spinner buttons.\n * @group Props\n */\n showButtons = false;\n /**\n * Whether to format the value.\n * @group Props\n */\n format = true;\n /**\n * Layout of the buttons, valid values are \"stacked\" (default), \"horizontal\" and \"vertical\".\n * @group Props\n */\n buttonLayout = 'stacked';\n /**\n * Identifier of the focus input to match a label defined for the component.\n * @group Props\n */\n inputId;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Advisory information to display on input.\n * @group Props\n */\n placeholder;\n /**\n * Defines the size of the component.\n * @group Props\n */\n size;\n /**\n * Maximum number of character allows in the input field.\n * @group Props\n */\n maxlength;\n /**\n * Specifies tab order of the element.\n * @group Props\n */\n tabindex;\n /**\n * Title text of the input text.\n * @group Props\n */\n title;\n /**\n * Specifies one or more IDs in the DOM that labels the input field.\n * @group Props\n */\n ariaLabelledBy;\n /**\n * Specifies one or more IDs in the DOM that describes the input field.\n * @group Props\n */\n ariaDescribedBy;\n /**\n * Used to define a string that labels the input element.\n * @group Props\n */\n ariaLabel;\n /**\n * Used to indicate that user input is required on an element before a form can be submitted.\n * @group Props\n */\n ariaRequired;\n /**\n * Name of the input field.\n * @group Props\n */\n name;\n /**\n * Indicates that whether the input field is required.\n * @group Props\n */\n required;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n autocomplete;\n /**\n * Mininum boundary value.\n * @group Props\n */\n min;\n /**\n * Maximum boundary value.\n * @group Props\n */\n max;\n /**\n * Style class of the increment button.\n * @group Props\n */\n incrementButtonClass;\n /**\n * Style class of the decrement button.\n * @group Props\n */\n decrementButtonClass;\n /**\n * Style class of the increment button.\n * @group Props\n */\n incrementButtonIcon;\n /**\n * Style class of the decrement button.\n * @group Props\n */\n decrementButtonIcon;\n /**\n * When present, it specifies that an input field is read-only.\n * @group Props\n */\n readonly = false;\n /**\n * Step factor to increment/decrement the value.\n * @group Props\n */\n step = 1;\n /**\n * Determines whether the input field is empty.\n * @group Props\n */\n allowEmpty = true;\n /**\n * Locale to be used in formatting.\n * @group Props\n */\n locale;\n /**\n * The locale matching algorithm to use. Possible values are \"lookup\" and \"best fit\"; the default is \"best fit\". See Locale Negotiation for details.\n * @group Props\n */\n localeMatcher;\n /**\n * Defines the behavior of the component, valid values are \"decimal\" and \"currency\".\n * @group Props\n */\n mode = 'decimal';\n /**\n * The currency to use in currency formatting. Possible values are the ISO 4217 currency codes, such as \"USD\" for the US dollar, \"EUR\" for the euro, or \"CNY\" for the Chinese RMB. There is no default value; if the style is \"currency\", the currency property must be provided.\n * @group Props\n */\n currency;\n /**\n * How to display the currency in currency formatting. Possible values are \"symbol\" to use a localized currency symbol such as €, ü\"code\" to use the ISO currency code, \"name\" to use a localized currency name such as \"dollar\"; the default is \"symbol\".\n * @group Props\n */\n currencyDisplay;\n /**\n * Whether to use grouping separators, such as thousands separators or thousand/lakh/crore separators.\n * @group Props\n */\n useGrouping = true;\n /**\n * Specifies the input variant of the component.\n * @group Props\n */\n variant;\n /**\n * The minimum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number and percent formatting is 0; the default for currency formatting is the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information).\n * @group Props\n */\n minFractionDigits;\n /**\n * The maximum number of fraction digits to use. Possible values are from 0 to 20; the default for plain number formatting is the larger of minimumFractionDigits and 3; the default for currency formatting is the larger of minimumFractionDigits and the number of minor unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information).\n * @group Props\n */\n maxFractionDigits;\n /**\n * Text to display before the value.\n * @group Props\n */\n prefix;\n /**\n * Text to display after the value.\n * @group Props\n */\n suffix;\n /**\n * Inline style of the input field.\n * @group Props\n */\n inputStyle;\n /**\n * Style class of the input field.\n * @group Props\n */\n inputStyleClass;\n /**\n * When enabled, a clear icon is displayed to clear the value.\n * @group Props\n */\n showClear = false;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n get disabled() {\n return this._disabled;\n }\n set disabled(disabled) {\n if (disabled) this.focused = false;\n this._disabled = disabled;\n if (this.timer) this.clearTimer();\n }\n /**\n * Spans 100% width of the container when enabled.\n * @group Props\n */\n fluid = false;\n /**\n * Callback to invoke on input.\n * @param {InputNumberInputEvent} event - Custom input event.\n * @group Emits\n */\n onInput = new EventEmitter();\n /**\n * Callback to invoke when the component receives focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onFocus = new EventEmitter();\n /**\n * Callback to invoke when the component loses focus.\n * @param {Event} event - Browser event.\n * @group Emits\n */\n onBlur = new EventEmitter();\n /**\n * Callback to invoke on input key press.\n * @param {KeyboardEvent} event - Keyboard event.\n * @group Emits\n */\n onKeyDown = new EventEmitter();\n /**\n * Callback to invoke when clear token is clicked.\n * @group Emits\n */\n onClear = new EventEmitter();\n /**\n * Template of the clear icon.\n * @group Templates\n */\n clearIconTemplate;\n /**\n * Template of the increment button icon.\n * @group Templates\n */\n incrementButtonIconTemplate;\n /**\n * Template of the decrement button icon.\n * @group Templates\n */\n decrementButtonIconTemplate;\n templates;\n input;\n _clearIconTemplate;\n _incrementButtonIconTemplate;\n _decrementButtonIconTemplate;\n value;\n onModelChange = () => {};\n onModelTouched = () => {};\n focused;\n initialized;\n groupChar = '';\n prefixChar = '';\n suffixChar = '';\n isSpecialChar;\n timer;\n lastValue;\n _numeral;\n numberFormat;\n _decimal;\n _decimalChar;\n _group;\n _minusSign;\n _currency;\n _prefix;\n _suffix;\n _index;\n _disabled;\n _componentStyle = inject(InputNumberStyle);\n ngControl = null;\n get _rootClass() {\n return this._componentStyle.classes.root({\n instance: this\n });\n }\n get hasFluid() {\n const nativeElement = this.el.nativeElement;\n const fluidComponent = nativeElement.closest('p-fluid');\n return this.fluid || !!fluidComponent;\n }\n get _incrementButtonClass() {\n return this._componentStyle.classes.incrementButton({\n instance: this\n });\n }\n get _decrementButtonClass() {\n return this._componentStyle.classes.decrementButton({\n instance: this\n });\n }\n constructor(injector) {\n super();\n this.injector = injector;\n }\n ngOnChanges(simpleChange) {\n super.ngOnChanges(simpleChange);\n const props = ['locale', 'localeMatcher', 'mode', 'currency', 'currencyDisplay', 'useGrouping', 'minFractionDigits', 'maxFractionDigits', 'prefix', 'suffix'];\n if (props.some(p => !!simpleChange[p])) {\n this.updateConstructParser();\n }\n }\n get hostClass() {\n return ['p-inputnumber p-component p-inputwrapper', this.styleClass, this.filled || this.allowEmpty === false ? 'p-inputwrapper-filled' : '', this.focused ? 'p-inputwrapper-focus' : '', this.showButtons && this.buttonLayout === 'stacked' ? 'p-inputnumber-stacked' : '', this.showButtons && this.buttonLayout === 'horizontal' ? 'p-inputnumber-horizontal' : '', this.showButtons && this.buttonLayout === 'vertical' ? 'p-inputnumber-vertical' : '', this.hasFluid ? 'p-inputnumber-fluid' : ''].filter(cls => !!cls).join(' ');\n }\n get hostStyle() {\n return this.style;\n }\n ngOnInit() {\n super.ngOnInit();\n this.ngControl = this.injector.get(NgControl, null, {\n optional: true\n });\n this.constructParser();\n this.initialized = true;\n }\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'clearicon':\n this._clearIconTemplate = item.template;\n break;\n case 'incrementbuttonicon':\n this._incrementButtonIconTemplate = item.template;\n break;\n case 'decrementbuttonicon':\n this._decrementButtonIconTemplate = item.template;\n break;\n }\n });\n }\n getOptions() {\n return {\n localeMatcher: this.localeMatcher,\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits ?? undefined,\n maximumFractionDigits: this.maxFractionDigits ?? undefined\n };\n }\n constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions());\n const numerals = [...new Intl.NumberFormat(this.locale, {\n useGrouping: false\n }).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [d, i]));\n this._numeral = new RegExp(`[${numerals.join('')}]`, 'g');\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._decimal = this.getDecimalExpression();\n this._decimalChar = this.getDecimalChar();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n this._index = d => index.get(d);\n }\n updateConstructParser() {\n if (this.initialized) {\n this.constructParser();\n }\n }\n escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n }\n getDecimalExpression() {\n const decimalChar = this.getDecimalChar();\n return new RegExp(`[${decimalChar}]`, 'g');\n }\n getDecimalChar() {\n const formatter = new Intl.NumberFormat(this.locale, {\n ...this.getOptions(),\n useGrouping: false\n });\n return formatter.format(1.1).replace(this._currency, '').trim().replace(this._numeral, '');\n }\n getGroupingExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {\n useGrouping: true\n });\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(`[${this.groupChar}]`, 'g');\n }\n getMinusSignExpression() {\n const formatter = new Intl.NumberFormat(this.locale, {\n useGrouping: false\n });\n return new RegExp(`[${formatter.format(-1).trim().replace(this._numeral, '')}]`, 'g');\n }\n getCurrencyExpression() {\n if (this.currency) {\n const formatter = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n return new RegExp(`[${formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._group, '')}]`, 'g');\n }\n return new RegExp(`[]`, 'g');\n }\n getPrefixExpression() {\n if (this.prefix) {\n this.prefixChar = this.prefix;\n } else {\n const formatter = new Intl.NumberFormat(this.locale, {\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay\n });\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n return new RegExp(`${this.escapeRegExp(this.prefixChar || '')}`, 'g');\n }\n getSuffixExpression() {\n if (this.suffix) {\n this.suffixChar = this.suffix;\n } else {\n const formatter = new Intl.NumberFormat(this.locale, {\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n });\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n return new RegExp(`${this.escapeRegExp(this.suffixChar || '')}`, 'g');\n }\n formatValue(value) {\n if (value != null) {\n if (value === '-') {\n // Minus sign\n return value;\n }\n if (this.format) {\n let formatter = new Intl.NumberFormat(this.locale, this.getOptions());\n let formattedValue = formatter.format(value);\n if (this.prefix && value != this.prefix) {\n formattedValue = this.prefix + formattedValue;\n }\n if (this.suffix && value != this.suffix) {\n formattedValue = formattedValue + this.suffix;\n }\n return formattedValue;\n }\n return value.toString();\n }\n return '';\n }\n parseValue(text) {\n const suffixRegex = new RegExp(this._suffix, '');\n const prefixRegex = new RegExp(this._prefix, '');\n const currencyRegex = new RegExp(this._currency, '');\n let filteredText = text.replace(suffixRegex, '').replace(prefixRegex, '').trim().replace(/\\s/g, '').replace(currencyRegex, '').replace(this._group, '').replace(this._minusSign, '-').replace(this._decimal, '.').replace(this._numeral, this._index);\n if (filteredText) {\n if (filteredText === '-')\n // Minus sign\n return filteredText;\n let parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n return null;\n }\n repeat(event, interval, dir) {\n if (this.readonly) {\n return;\n }\n let i = interval || 500;\n this.clearTimer();\n this.timer = setTimeout(() => {\n this.repeat(event, 40, dir);\n }, i);\n this.spin(event, dir);\n }\n spin(event, dir) {\n let step = this.step * dir;\n let currentValue = this.parseValue(this.input?.nativeElement.value) || 0;\n let newValue = this.validateValue(currentValue + step);\n if (this.maxlength && this.maxlength < this.formatValue(newValue).length) {\n return;\n }\n this.updateInput(newValue, null, 'spin', null);\n this.updateModel(event, newValue);\n this.handleOnInput(event, currentValue, newValue);\n }\n clear() {\n this.value = null;\n this.onModelChange(this.value);\n this.onClear.emit();\n }\n onUpButtonMouseDown(event) {\n if (event.button === 2) {\n this.clearTimer();\n return;\n }\n if (!this.disabled) {\n this.input?.nativeElement.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n }\n onUpButtonMouseUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n }\n onUpButtonMouseLeave() {\n if (!this.disabled) {\n this.clearTimer();\n }\n }\n onUpButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, 1);\n }\n }\n onUpButtonKeyUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n }\n onDownButtonMouseDown(event) {\n if (event.button === 2) {\n this.clearTimer();\n return;\n }\n if (!this.disabled) {\n this.input?.nativeElement.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n }\n onDownButtonMouseUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n }\n onDownButtonMouseLeave() {\n if (!this.disabled) {\n this.clearTimer();\n }\n }\n onDownButtonKeyUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n }\n onDownButtonKeyDown(event) {\n if (event.keyCode === 32 || event.keyCode === 13) {\n this.repeat(event, null, -1);\n }\n }\n onUserInput(event) {\n if (this.readonly) {\n return;\n }\n if (this.isSpecialChar) {\n event.target.value = this.lastValue;\n }\n this.isSpecialChar = false;\n }\n onInputKeyDown(event) {\n if (this.readonly) {\n return;\n }\n this.lastValue = event.target.value;\n if (event.shiftKey || event.altKey) {\n this.isSpecialChar = true;\n return;\n }\n let selectionStart = event.target.selectionStart;\n let selectionEnd = event.target.selectionEnd;\n let inputValue = event.target.value;\n let newValueStr = null;\n if (event.altKey) {\n event.preventDefault();\n }\n switch (event.key) {\n case 'ArrowUp':\n this.spin(event, 1);\n event.preventDefault();\n break;\n case 'ArrowDown':\n this.spin(event, -1);\n event.preventDefault();\n break;\n case 'ArrowLeft':\n for (let index = selectionStart; index <= inputValue.length; index++) {\n const previousCharIndex = index === 0 ? 0 : index - 1;\n if (this.isNumeralChar(inputValue.charAt(previousCharIndex))) {\n this.input.nativeElement.setSelectionRange(index, index);\n break;\n }\n }\n break;\n case 'ArrowRight':\n for (let index = selectionEnd; index >= 0; index--) {\n if (this.isNumeralChar(inputValue.charAt(index))) {\n this.input.nativeElement.setSelectionRange(index, index);\n break;\n }\n }\n break;\n case 'Tab':\n case 'Enter':\n newValueStr = this.validateValue(this.parseValue(this.input.nativeElement.value));\n this.input.nativeElement.value = this.formatValue(newValueStr);\n this.input.nativeElement.setAttribute('aria-valuenow', newValueStr);\n this.updateModel(event, newValueStr);\n break;\n case 'Backspace':\n {\n event.preventDefault();\n if (selectionStart === selectionEnd) {\n if (selectionStart == 1 && this.prefix || selectionStart == inputValue.length && this.suffix) {\n break;\n }\n const deleteChar = inputValue.charAt(selectionStart - 1);\n const {\n decimalCharIndex,\n decimalCharIndexWithoutPrefix\n } = this.getDecimalCharIndexes(inputValue);\n if (this.isNumeralChar(deleteChar)) {\n const decimalLength = this.getDecimalLength(inputValue);\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n } else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n if (decimalLength) {\n this.input?.nativeElement.setSelectionRange(selectionStart - 1, selectionStart - 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n } else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n const insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < decimalLength ? '' : '0';\n newValueStr = inputValue.slice(0, selectionStart - 1) + insertedText + inputValue.slice(selectionStart);\n } else if (decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n } else if (this.mode === 'currency' && deleteChar.search(this._currency) != -1) {\n newValueStr = inputValue.slice(1);\n }\n this.updateValue(event, newValueStr, null, 'delete-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n }\n case 'Delete':\n event.preventDefault();\n if (selectionStart === selectionEnd) {\n if (selectionStart == 0 && this.prefix || selectionStart == inputValue.length - 1 && this.suffix) {\n break;\n }\n const deleteChar = inputValue.charAt(selectionStart);\n const {\n decimalCharIndex,\n decimalCharIndexWithoutPrefix\n } = this.getDecimalCharIndexes(inputValue);\n if (this.isNumeralChar(deleteChar)) {\n const decimalLength = this.getDecimalLength(inputValue);\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n } else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n if (decimalLength) {\n this.input?.nativeElement.setSelectionRange(selectionStart + 1, selectionStart + 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n } else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n const insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < decimalLength ? '' : '0';\n newValueStr = inputValue.slice(0, selectionStart) + insertedText + inputValue.slice(selectionStart + 1);\n } else if (decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n case 'Home':\n if (this.min) {\n this.updateModel(event, this.min);\n event.preventDefault();\n }\n break;\n case 'End':\n if (this.max) {\n this.updateModel(event, this.max);\n event.preventDefault();\n }\n break;\n default:\n break;\n }\n this.onKeyDown.emit(event);\n }\n onInputKeyPress(event) {\n if (this.readonly) {\n return;\n }\n let code = event.which || event.keyCode;\n let char = String.fromCharCode(code);\n let isDecimalSign = this.isDecimalSign(char);\n const isMinusSign = this.isMinusSign(char);\n if (code != 13) {\n event.preventDefault();\n }\n if (!isDecimalSign && event.code === 'NumpadDecimal') {\n isDecimalSign = true;\n char = this._decimalChar;\n code = char.charCodeAt(0);\n }\n const {\n value,\n selectionStart,\n selectionEnd\n } = this.input.nativeElement;\n const newValue = this.parseValue(value + char);\n const newValueStr = newValue != null ? newValue.toString() : '';\n const selectedValue = value.substring(selectionStart, selectionEnd);\n const selectedValueParsed = this.parseValue(selectedValue);\n const selectedValueStr = selectedValueParsed != null ? selectedValueParsed.toString() : '';\n if (selectionStart !== selectionEnd && selectedValueStr.length > 0) {\n this.insert(event, char, {\n isDecimalSign,\n isMinusSign\n });\n return;\n }\n if (this.maxlength && newValueStr.length > this.maxlength) {\n return;\n }\n if (48 <= code && code <= 57 || isMinusSign || isDecimalSign) {\n this.insert(event, char, {\n isDecimalSign,\n isMinusSign\n });\n }\n }\n onPaste(event) {\n if (!this.disabled && !this.readonly) {\n event.preventDefault();\n let data = (event.clipboardData || this.document.defaultView['clipboardData']).getData('Text');\n if (data) {\n if (this.maxlength) {\n data = data.toString().substring(0, this.maxlength);\n }\n let filteredData = this.parseValue(data);\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n }\n }\n allowMinusSign() {\n return this.min == null || this.min < 0;\n }\n isMinusSign(char) {\n if (this._minusSign.test(char) || char === '-') {\n this._minusSign.lastIndex = 0;\n return true;\n }\n return false;\n }\n isDecimalSign(char) {\n if (this._decimal.test(char)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n return false;\n }\n isDecimalMode() {\n return this.mode === 'decimal';\n }\n getDecimalCharIndexes(val) {\n let decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n const filteredVal = val.replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '');\n const decimalCharIndexWithoutPrefix = filteredVal.search(this._decimal);\n this._decimal.lastIndex = 0;\n return {\n decimalCharIndex,\n decimalCharIndexWithoutPrefix\n };\n }\n getCharIndexes(val) {\n const decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n const minusCharIndex = val.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n const suffixCharIndex = val.search(this._suffix);\n this._suffix.lastIndex = 0;\n const currencyCharIndex = val.search(this._currency);\n this._currency.lastIndex = 0;\n return {\n decimalCharIndex,\n minusCharIndex,\n suffixCharIndex,\n currencyCharIndex\n };\n }\n insert(event, text, sign = {\n isDecimalSign: false,\n isMinusSign: false\n }) {\n const minusCharIndexOnText = text.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n if (!this.allowMinusSign() && minusCharIndexOnText !== -1) {\n return;\n }\n let selectionStart = this.input?.nativeElement.selectionStart;\n let selectionEnd = this.input?.nativeElement.selectionEnd;\n let inputValue = this.input?.nativeElement.value.trim();\n const {\n decimalCharIndex,\n minusCharIndex,\n suffixCharIndex,\n currencyCharIndex\n } = this.getCharIndexes(inputValue);\n let newValueStr;\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n } else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n } else if (decimalCharIndex === -1 && this.maxFractionDigits) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else {\n const maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n const operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if (selectionStart + text.length - (decimalCharIndex + 1) <= maxFractionDigits) {\n const charIndex = currencyCharIndex >= selectionStart ? currencyCharIndex - 1 : suffixCharIndex >= selectionStart ? suffixCharIndex : inputValue.length;\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length, charIndex) + inputValue.slice(charIndex);\n this.updateValue(event, newValueStr, text, operation);\n }\n } else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n }\n insertText(value, text, start, end) {\n let textSplit = text === '.' ? text : text.split('.');\n if (textSplit.length === 2) {\n const decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return decimalCharIndex > 0 ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : value || this.formatValue(text);\n } else if (end - start === value.length) {\n return this.formatValue(text);\n } else if (start === 0) {\n return text + value.slice(end);\n } else if (end === value.length) {\n return value.slice(0, start) + text;\n } else {\n return value.slice(0, start) + text + value.slice(end);\n }\n }\n deleteRange(value, start, end) {\n let newValueStr;\n if (end - start === value.length) newValueStr = '';else if (start === 0) newValueStr = value.slice(end);else if (end === value.length) newValueStr = value.slice(0, start);else newValueStr = value.slice(0, start) + value.slice(end);\n return newValueStr;\n }\n initCursor() {\n let selectionStart = this.input?.nativeElement.selectionStart;\n let selectionEnd = this.input?.nativeElement.selectionEnd;\n let inputValue = this.input?.nativeElement.value;\n let valueLength = inputValue.length;\n let index = null;\n // remove prefix\n let prefixLength = (this.prefixChar || '').length;\n inputValue = inputValue.replace(this._prefix, '');\n // Will allow selecting whole prefix. But not a part of it.\n // Negative values will trigger clauses after this to fix the cursor position.\n if (selectionStart === selectionEnd || selectionStart !== 0 || selectionEnd < prefixLength) {\n selectionStart -= prefixLength;\n }\n let char = inputValue.charAt(selectionStart);\n if (this.isNumeralChar(char)) {\n return selectionStart + prefixLength;\n }\n //left\n let i = selectionStart - 1;\n while (i >= 0) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i + prefixLength;\n break;\n } else {\n i--;\n }\n }\n if (index !== null) {\n this.input?.nativeElement.setSelectionRange(index + 1, index + 1);\n } else {\n i = selectionStart;\n while (i < valueLength) {\n char = inputValue.charAt(i);\n if (this.isNumeralChar(char)) {\n index = i + prefixLength;\n break;\n } else {\n i++;\n }\n }\n if (index !== null) {\n this.input?.nativeElement.setSelectionRange(index, index);\n }\n }\n return index || 0;\n }\n onInputClick() {\n const currentValue = this.input?.nativeElement.value;\n if (!this.readonly && currentValue !== getSelection()) {\n this.initCursor();\n }\n }\n isNumeralChar(char) {\n if (char.length === 1 && (this._numeral.test(char) || this._decimal.test(char) || this._group.test(char) || this._minusSign.test(char))) {\n this.resetRegex();\n return true;\n }\n return false;\n }\n resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n }\n updateValue(event, valueStr, insertedValueStr, operation) {\n let currentValue = this.input?.nativeElement.value;\n let newValue = null;\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n newValue = !newValue && !this.allowEmpty ? 0 : newValue;\n this.updateInput(newValue, insertedValueStr, operation, valueStr);\n this.handleOnInput(event, currentValue, newValue);\n }\n }\n handleOnInput(event, currentValue, newValue) {\n if (this.isValueChanged(currentValue, newValue)) {\n this.input.nativeElement.value = this.formatValue(newValue);\n this.input?.nativeElement.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n this.onInput.emit({\n originalEvent: event,\n value: newValue,\n formattedValue: currentValue\n });\n }\n }\n isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n if (newValue != null) {\n let parsedCurrentValue = typeof currentValue === 'string' ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n return false;\n }\n validateValue(value) {\n if (value === '-' || value == null) {\n return null;\n }\n if (this.min != null && value < this.min) {\n return this.min;\n }\n if (this.max != null && value > this.max) {\n return this.max;\n }\n return value;\n }\n updateInput(value, insertedValueStr, operation, valueStr) {\n insertedValueStr = insertedValueStr || '';\n let inputValue = this.input?.nativeElement.value;\n let newValue = this.formatValue(value);\n let currentLength = inputValue.length;\n if (newValue !== valueStr) {\n newValue = this.concatValues(newValue, valueStr);\n }\n if (currentLength === 0) {\n this.input.nativeElement.value = newValue;\n this.input.nativeElement.setSelectionRange(0, 0);\n const index = this.initCursor();\n const selectionEnd = index + insertedValueStr.length;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n } else {\n let selectionStart = this.input.nativeElement.selectionStart;\n let selectionEnd = this.input.nativeElement.selectionEnd;\n if (this.maxlength && newValue.length > this.maxlength) {\n newValue = newValue.slice(0, this.maxlength);\n selectionStart = Math.min(selectionStart, this.maxlength);\n selectionEnd = Math.min(selectionEnd, this.maxlength);\n }\n if (this.maxlength && this.maxlength < newValue.length) {\n return;\n }\n this.input.nativeElement.value = newValue;\n let newLength = newValue.length;\n if (operation === 'range-insert') {\n const startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n const startValueStr = startValue !== null ? startValue.toString() : '';\n const startExpr = startValueStr.split('').join(`(${this.groupChar})?`);\n const sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n const tExpr = insertedValueStr.split('').join(`(${this.groupChar})?`);\n const tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n } else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single') this.input.nativeElement.setSelectionRange(selectionEnd + 1, selectionEnd + 1);else if (operation === 'delete-single') this.input.nativeElement.setSelectionRange(selectionEnd - 1, selectionEnd - 1);else if (operation === 'delete-range' || operation === 'spin') this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n } else if (operation === 'delete-back-single') {\n let prevChar = inputValue.charAt(selectionEnd - 1);\n let nextChar = inputValue.charAt(selectionEnd);\n let diff = currentLength - newLength;\n let isGroupChar = this._group.test(nextChar);\n if (isGroupChar && diff === 1) {\n selectionEnd += 1;\n } else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n selectionEnd += -1 * diff + 1;\n }\n this._group.lastIndex = 0;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n } else if (inputValue === '-' && operation === 'insert') {\n this.input.nativeElement.setSelectionRange(0, 0);\n const index = this.initCursor();\n const selectionEnd = index + insertedValueStr.length + 1;\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n } else {\n selectionEnd = selectionEnd + (newLength - currentLength);\n this.input.nativeElement.setSelectionRange(selectionEnd, selectionEnd);\n }\n }\n this.input.nativeElement.setAttribute('aria-valuenow', value);\n }\n concatValues(val1, val2) {\n if (val1 && val2) {\n let decimalCharIndex = val2.search(this._decimal);\n this._decimal.lastIndex = 0;\n if (this.suffixChar) {\n return decimalCharIndex !== -1 ? val1.replace(this.suffixChar, '').split(this._decimal)[0] + val2.replace(this.suffixChar, '').slice(decimalCharIndex) + this.suffixChar : val1;\n } else {\n return decimalCharIndex !== -1 ? val1.split(this._decimal)[0] + val2.slice(decimalCharIndex) : val1;\n }\n }\n return val1;\n }\n getDecimalLength(value) {\n if (value) {\n const valueSplit = value.split(this._decimal);\n if (valueSplit.length === 2) {\n return valueSplit[1].replace(this._suffix, '').trim().replace(/\\s/g, '').replace(this._currency, '').length;\n }\n }\n return 0;\n }\n onInputFocus(event) {\n this.focused = true;\n this.onFocus.emit(event);\n }\n onInputBlur(event) {\n this.focused = false;\n const newValueNumber = this.validateValue(this.parseValue(this.input.nativeElement.value));\n const newValueString = newValueNumber?.toString();\n this.input.nativeElement.value = this.formatValue(newValueString);\n this.input.nativeElement.setAttribute('aria-valuenow', newValueString);\n this.updateModel(event, newValueNumber);\n this.onModelTouched();\n this.onBlur.emit(event);\n }\n formattedValue() {\n const val = !this.value && !this.allowEmpty ? 0 : this.value;\n return this.formatValue(val);\n }\n updateModel(event, value) {\n const isBlurUpdateOnMode = this.ngControl?.control?.updateOn === 'blur';\n if (this.value !== value) {\n this.value = value;\n if (!(isBlurUpdateOnMode && this.focused)) {\n this.onModelChange(value);\n }\n } else if (isBlurUpdateOnMode) {\n this.onModelChange(value);\n }\n }\n writeValue(value) {\n this.value = value ? Number(value) : value;\n this.cd.markForCheck();\n }\n registerOnChange(fn) {\n this.onModelChange = fn;\n }\n registerOnTouched(fn) {\n this.onModelTouched = fn;\n }\n setDisabledState(val) {\n this.disabled = val;\n this.cd.markForCheck();\n }\n get filled() {\n return this.value != null && this.value.toString().length > 0;\n }\n clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n }\n static ɵfac = function InputNumber_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || InputNumber)(i0.ɵɵdirectiveInject(i0.Injector));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: InputNumber,\n selectors: [[\"p-inputNumber\"], [\"p-inputnumber\"], [\"p-input-number\"]],\n contentQueries: function InputNumber_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, _c1, 4);\n i0.ɵɵcontentQuery(dirIndex, _c2, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.clearIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.incrementButtonIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.decrementButtonIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n viewQuery: function InputNumber_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c3, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);\n }\n },\n hostVars: 6,\n hostBindings: function InputNumber_HostBindings(rf, ctx) {\n if (rf & 2) {\n i0.ɵɵattribute(\"data-pc-name\", \"inputnumber\")(\"data-pc-section\", \"root\");\n i0.ɵɵstyleMap(ctx.hostStyle);\n i0.ɵɵclassMap(ctx.hostClass);\n }\n },\n inputs: {\n showButtons: [2, \"showButtons\", \"showButtons\", booleanAttribute],\n format: [2, \"format\", \"format\", booleanAttribute],\n buttonLayout: \"buttonLayout\",\n inputId: \"inputId\",\n styleClass: \"styleClass\",\n style: \"style\",\n placeholder: \"placeholder\",\n size: \"size\",\n maxlength: [2, \"maxlength\", \"maxlength\", numberAttribute],\n tabindex: [2, \"tabindex\", \"tabindex\", numberAttribute],\n title: \"title\",\n ariaLabelledBy: \"ariaLabelledBy\",\n ariaDescribedBy: \"ariaDescribedBy\",\n ariaLabel: \"ariaLabel\",\n ariaRequired: [2, \"ariaRequired\", \"ariaRequired\", booleanAttribute],\n name: \"name\",\n required: [2, \"required\", \"required\", booleanAttribute],\n autocomplete: \"autocomplete\",\n min: [2, \"min\", \"min\", numberAttribute],\n max: [2, \"max\", \"max\", numberAttribute],\n incrementButtonClass: \"incrementButtonClass\",\n decrementButtonClass: \"decrementButtonClass\",\n incrementButtonIcon: \"incrementButtonIcon\",\n decrementButtonIcon: \"decrementButtonIcon\",\n readonly: [2, \"readonly\", \"readonly\", booleanAttribute],\n step: [2, \"step\", \"step\", numberAttribute],\n allowEmpty: [2, \"allowEmpty\", \"allowEmpty\", booleanAttribute],\n locale: \"locale\",\n localeMatcher: \"localeMatcher\",\n mode: \"mode\",\n currency: \"currency\",\n currencyDisplay: \"currencyDisplay\",\n useGrouping: [2, \"useGrouping\", \"useGrouping\", booleanAttribute],\n variant: \"variant\",\n minFractionDigits: [2, \"minFractionDigits\", \"minFractionDigits\", value => numberAttribute(value, null)],\n maxFractionDigits: [2, \"maxFractionDigits\", \"maxFractionDigits\", value => numberAttribute(value, null)],\n prefix: \"prefix\",\n suffix: \"suffix\",\n inputStyle: \"inputStyle\",\n inputStyleClass: \"inputStyleClass\",\n showClear: [2, \"showClear\", \"showClear\", booleanAttribute],\n autofocus: [2, \"autofocus\", \"autofocus\", booleanAttribute],\n disabled: \"disabled\",\n fluid: [2, \"fluid\", \"fluid\", booleanAttribute]\n },\n outputs: {\n onInput: \"onInput\",\n onFocus: \"onFocus\",\n onBlur: \"onBlur\",\n onKeyDown: \"onKeyDown\",\n onClear: \"onClear\"\n },\n features: [i0.ɵɵProvidersFeature([INPUTNUMBER_VALUE_ACCESSOR, InputNumberStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature],\n decls: 6,\n vars: 33,\n consts: [[\"input\", \"\"], [\"pInputText\", \"\", \"role\", \"spinbutton\", \"inputmode\", \"decimal\", 3, \"input\", \"keydown\", \"keypress\", \"paste\", \"click\", \"focus\", \"blur\", \"ngClass\", \"ngStyle\", \"value\", \"variant\", \"disabled\", \"readonly\", \"pSize\", \"pAutoFocus\", \"fluid\"], [4, \"ngIf\"], [\"class\", \"p-inputnumber-button-group\", 4, \"ngIf\"], [\"type\", \"button\", \"tabindex\", \"-1\", 3, \"ngClass\", \"class\", \"disabled\", \"mousedown\", \"mouseup\", \"mouseleave\", \"keydown\", \"keyup\", 4, \"ngIf\"], [3, \"ngClass\", \"click\", 4, \"ngIf\"], [\"class\", \"p-inputnumber-clear-icon\", 3, \"click\", 4, \"ngIf\"], [3, \"click\", \"ngClass\"], [1, \"p-inputnumber-clear-icon\", 3, \"click\"], [4, \"ngTemplateOutlet\"], [1, \"p-inputnumber-button-group\"], [\"type\", \"button\", \"tabindex\", \"-1\", 3, \"mousedown\", \"mouseup\", \"mouseleave\", \"keydown\", \"keyup\", \"ngClass\", \"disabled\"], [3, \"ngClass\", 4, \"ngIf\"], [3, \"ngClass\"]],\n template: function InputNumber_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"input\", 1, 0);\n i0.ɵɵlistener(\"input\", function InputNumber_Template_input_input_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onUserInput($event));\n })(\"keydown\", function InputNumber_Template_input_keydown_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onInputKeyDown($event));\n })(\"keypress\", function InputNumber_Template_input_keypress_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onInputKeyPress($event));\n })(\"paste\", function InputNumber_Template_input_paste_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onPaste($event));\n })(\"click\", function InputNumber_Template_input_click_0_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onInputClick());\n })(\"focus\", function InputNumber_Template_input_focus_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onInputFocus($event));\n })(\"blur\", function InputNumber_Template_input_blur_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onInputBlur($event));\n });\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(2, InputNumber_ng_container_2_Template, 3, 2, \"ng-container\", 2)(3, InputNumber_span_3_Template, 7, 17, \"span\", 3)(4, InputNumber_button_4_Template, 3, 8, \"button\", 4)(5, InputNumber_button_5_Template, 3, 8, \"button\", 4);\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.inputStyleClass);\n i0.ɵɵproperty(\"ngClass\", \"p-inputnumber-input\")(\"ngStyle\", ctx.inputStyle)(\"value\", ctx.formattedValue())(\"variant\", ctx.variant)(\"disabled\", ctx.disabled)(\"readonly\", ctx.readonly)(\"pSize\", ctx.size)(\"pAutoFocus\", ctx.autofocus)(\"fluid\", ctx.hasFluid);\n i0.ɵɵattribute(\"id\", ctx.inputId)(\"aria-valuemin\", ctx.min)(\"aria-valuemax\", ctx.max)(\"aria-valuenow\", ctx.value)(\"placeholder\", ctx.placeholder)(\"aria-label\", ctx.ariaLabel)(\"aria-labelledby\", ctx.ariaLabelledBy)(\"aria-describedby\", ctx.ariaDescribedBy)(\"title\", ctx.title)(\"name\", ctx.name)(\"autocomplete\", ctx.autocomplete)(\"maxlength\", ctx.maxlength)(\"tabindex\", ctx.tabindex)(\"aria-required\", ctx.ariaRequired)(\"required\", ctx.required)(\"min\", ctx.min)(\"max\", ctx.max)(\"data-pc-section\", \"input\");\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx.buttonLayout != \"vertical\" && ctx.showClear && ctx.value);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showButtons && ctx.buttonLayout === \"stacked\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showButtons && ctx.buttonLayout !== \"stacked\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.showButtons && ctx.buttonLayout !== \"stacked\");\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, InputText, AutoFocus, TimesIcon, AngleUpIcon, AngleDownIcon, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(InputNumber, [{\n type: Component,\n args: [{\n selector: 'p-inputNumber, p-inputnumber, p-input-number',\n standalone: true,\n imports: [CommonModule, InputText, AutoFocus, TimesIcon, AngleUpIcon, AngleDownIcon, SharedModule],\n template: `\n <input\n pInputText\n #input\n [attr.id]=\"inputId\"\n role=\"spinbutton\"\n [ngClass]=\"'p-inputnumber-input'\"\n [ngStyle]=\"inputStyle\"\n [class]=\"inputStyleClass\"\n [value]=\"formattedValue()\"\n [variant]=\"variant\"\n [attr.aria-valuemin]=\"min\"\n [attr.aria-valuemax]=\"max\"\n [attr.aria-valuenow]=\"value\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly\"\n [attr.placeholder]=\"placeholder\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-describedby]=\"ariaDescribedBy\"\n [attr.title]=\"title\"\n [pSize]=\"size\"\n [attr.name]=\"name\"\n [attr.autocomplete]=\"autocomplete\"\n [attr.maxlength]=\"maxlength\"\n [attr.tabindex]=\"tabindex\"\n [attr.aria-required]=\"ariaRequired\"\n [attr.required]=\"required\"\n [attr.min]=\"min\"\n [attr.max]=\"max\"\n inputmode=\"decimal\"\n (input)=\"onUserInput($event)\"\n (keydown)=\"onInputKeyDown($event)\"\n (keypress)=\"onInputKeyPress($event)\"\n (paste)=\"onPaste($event)\"\n (click)=\"onInputClick()\"\n (focus)=\"onInputFocus($event)\"\n (blur)=\"onInputBlur($event)\"\n [attr.data-pc-section]=\"'input'\"\n [pAutoFocus]=\"autofocus\"\n [fluid]=\"hasFluid\"\n />\n <ng-container *ngIf=\"buttonLayout != 'vertical' && showClear && value\">\n <TimesIcon *ngIf=\"!clearIconTemplate && !_clearIconTemplate\" [ngClass]=\"'p-inputnumber-clear-icon'\" (click)=\"clear()\" [attr.data-pc-section]=\"'clearIcon'\" />\n <span *ngIf=\"clearIconTemplate || _clearIconTemplate\" (click)=\"clear()\" class=\"p-inputnumber-clear-icon\" [attr.data-pc-section]=\"'clearIcon'\">\n <ng-template *ngTemplateOutlet=\"clearIconTemplate || _clearIconTemplate\"></ng-template>\n </span>\n </ng-container>\n <span class=\"p-inputnumber-button-group\" *ngIf=\"showButtons && buttonLayout === 'stacked'\" [attr.data-pc-section]=\"'buttonGroup'\">\n <button\n type=\"button\"\n [ngClass]=\"_incrementButtonClass\"\n [class]=\"incrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n (mousedown)=\"onUpButtonMouseDown($event)\"\n (mouseup)=\"onUpButtonMouseUp()\"\n (mouseleave)=\"onUpButtonMouseLeave()\"\n (keydown)=\"onUpButtonKeyDown($event)\"\n (keyup)=\"onUpButtonKeyUp()\"\n [attr.aria-hidden]=\"true\"\n [attr.data-pc-section]=\"'incrementbutton'\"\n >\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!incrementButtonIcon\">\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate && !_incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate || _incrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n\n <button\n type=\"button\"\n [ngClass]=\"_decrementButtonClass\"\n [class]=\"decrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onDownButtonMouseDown($event)\"\n (mouseup)=\"onDownButtonMouseUp()\"\n (mouseleave)=\"onDownButtonMouseLeave()\"\n (keydown)=\"onDownButtonKeyDown($event)\"\n (keyup)=\"onDownButtonKeyUp()\"\n [attr.data-pc-section]=\"'decrementbutton'\"\n >\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!decrementButtonIcon\">\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate && !_decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate || _decrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n </span>\n <button\n *ngIf=\"showButtons && buttonLayout !== 'stacked'\"\n type=\"button\"\n [ngClass]=\"_incrementButtonClass\"\n [class]=\"incrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onUpButtonMouseDown($event)\"\n (mouseup)=\"onUpButtonMouseUp()\"\n (mouseleave)=\"onUpButtonMouseLeave()\"\n (keydown)=\"onUpButtonKeyDown($event)\"\n (keyup)=\"onUpButtonKeyUp()\"\n [attr.data-pc-section]=\"'incrementbutton'\"\n >\n <span *ngIf=\"incrementButtonIcon\" [ngClass]=\"incrementButtonIcon\" [attr.data-pc-section]=\"'incrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!incrementButtonIcon\">\n <AngleUpIcon *ngIf=\"!incrementButtonIconTemplate && !_incrementButtonIconTemplate\" [attr.data-pc-section]=\"'incrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"incrementButtonIconTemplate || _incrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n <button\n *ngIf=\"showButtons && buttonLayout !== 'stacked'\"\n type=\"button\"\n [ngClass]=\"_decrementButtonClass\"\n [class]=\"decrementButtonClass\"\n [disabled]=\"disabled\"\n tabindex=\"-1\"\n [attr.aria-hidden]=\"true\"\n (mousedown)=\"onDownButtonMouseDown($event)\"\n (mouseup)=\"onDownButtonMouseUp()\"\n (mouseleave)=\"onDownButtonMouseLeave()\"\n (keydown)=\"onDownButtonKeyDown($event)\"\n (keyup)=\"onDownButtonKeyUp()\"\n [attr.data-pc-section]=\"'decrementbutton'\"\n >\n <span *ngIf=\"decrementButtonIcon\" [ngClass]=\"decrementButtonIcon\" [attr.data-pc-section]=\"'decrementbuttonicon'\"></span>\n <ng-container *ngIf=\"!decrementButtonIcon\">\n <AngleDownIcon *ngIf=\"!decrementButtonIconTemplate && !_decrementButtonIconTemplate\" [attr.data-pc-section]=\"'decrementbuttonicon'\" />\n <ng-template *ngTemplateOutlet=\"decrementButtonIconTemplate || _decrementButtonIconTemplate\"></ng-template>\n </ng-container>\n </button>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [INPUTNUMBER_VALUE_ACCESSOR, InputNumberStyle],\n encapsulation: ViewEncapsulation.None,\n host: {\n '[attr.data-pc-name]': \"'inputnumber'\",\n '[attr.data-pc-section]': \"'root'\",\n '[class]': 'hostClass'\n }\n }]\n }], () => [{\n type: i0.Injector\n }], {\n showButtons: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n format: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n buttonLayout: [{\n type: Input\n }],\n inputId: [{\n type: Input\n }],\n styleClass: [{\n type: Input\n }],\n style: [{\n type: Input\n }],\n placeholder: [{\n type: Input\n }],\n size: [{\n type: Input\n }],\n maxlength: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n tabindex: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n title: [{\n type: Input\n }],\n ariaLabelledBy: [{\n type: Input\n }],\n ariaDescribedBy: [{\n type: Input\n }],\n ariaLabel: [{\n type: Input\n }],\n ariaRequired: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n name: [{\n type: Input\n }],\n required: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n autocomplete: [{\n type: Input\n }],\n min: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n max: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n incrementButtonClass: [{\n type: Input\n }],\n decrementButtonClass: [{\n type: Input\n }],\n incrementButtonIcon: [{\n type: Input\n }],\n decrementButtonIcon: [{\n type: Input\n }],\n readonly: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n step: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n allowEmpty: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n locale: [{\n type: Input\n }],\n localeMatcher: [{\n type: Input\n }],\n mode: [{\n type: Input\n }],\n currency: [{\n type: Input\n }],\n currencyDisplay: [{\n type: Input\n }],\n useGrouping: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n variant: [{\n type: Input\n }],\n minFractionDigits: [{\n type: Input,\n args: [{\n transform: value => numberAttribute(value, null)\n }]\n }],\n maxFractionDigits: [{\n type: Input,\n args: [{\n transform: value => numberAttribute(value, null)\n }]\n }],\n prefix: [{\n type: Input\n }],\n suffix: [{\n type: Input\n }],\n inputStyle: [{\n type: Input\n }],\n inputStyleClass: [{\n type: Input\n }],\n showClear: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n autofocus: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n disabled: [{\n type: Input\n }],\n fluid: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n onInput: [{\n type: Output\n }],\n onFocus: [{\n type: Output\n }],\n onBlur: [{\n type: Output\n }],\n onKeyDown: [{\n type: Output\n }],\n onClear: [{\n type: Output\n }],\n clearIconTemplate: [{\n type: ContentChild,\n args: ['clearicon', {\n descendants: false\n }]\n }],\n incrementButtonIconTemplate: [{\n type: ContentChild,\n args: ['incrementbuttonicon', {\n descendants: false\n }]\n }],\n decrementButtonIconTemplate: [{\n type: ContentChild,\n args: ['decrementbuttonicon', {\n descendants: false\n }]\n }],\n templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }],\n input: [{\n type: ViewChild,\n args: ['input']\n }],\n hostStyle: [{\n type: HostBinding,\n args: ['style']\n }]\n });\n})();\nclass InputNumberModule {\n static ɵfac = function InputNumberModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || InputNumberModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: InputNumberModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [InputNumber, SharedModule, SharedModule]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(InputNumberModule, [{\n type: NgModule,\n args: [{\n imports: [InputNumber, SharedModule],\n exports: [InputNumber, SharedModule]\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { INPUTNUMBER_VALUE_ACCESSOR, InputNumber, InputNumberClasses, InputNumberModule, InputNumberStyle };\n","import * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, EventEmitter, inject, booleanAttribute, numberAttribute, ContentChildren, ContentChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport * as i2 from '@angular/forms';\nimport { FormsModule } from '@angular/forms';\nimport * as i3 from 'primeng/api';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleLeftIcon, AngleRightIcon } from 'primeng/icons';\nimport { InputNumber } from 'primeng/inputnumber';\nimport { Ripple } from 'primeng/ripple';\nimport { Select } from 'primeng/select';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"dropdownicon\"];\nconst _c1 = [\"firstpagelinkicon\"];\nconst _c2 = [\"previouspagelinkicon\"];\nconst _c3 = [\"lastpagelinkicon\"];\nconst _c4 = [\"nextpagelinkicon\"];\nconst _c5 = a0 => ({\n \"p-disabled\": a0\n});\nconst _c6 = a0 => ({\n $implicit: a0\n});\nconst _c7 = a0 => ({\n \"p-paginator-page-selected\": a0\n});\nfunction Paginator_div_0_div_1_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Paginator_div_0_div_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 16);\n i0.ɵɵtemplate(1, Paginator_div_0_div_1_ng_container_1_Template, 1, 0, \"ng-container\", 17);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"data-pc-section\", \"start\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.templateLeft)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(3, _c6, ctx_r1.paginatorState));\n }\n}\nfunction Paginator_div_0_span_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 18);\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate(ctx_r1.currentPageReport);\n }\n}\nfunction Paginator_div_0_button_3_AngleDoubleLeftIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"AngleDoubleLeftIcon\", 21);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"styleClass\", \"p-paginator-first-icon\");\n }\n}\nfunction Paginator_div_0_button_3_span_2_1_ng_template_0_Template(rf, ctx) {}\nfunction Paginator_div_0_button_3_span_2_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_button_3_span_2_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction Paginator_div_0_button_3_span_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 22);\n i0.ɵɵtemplate(1, Paginator_div_0_button_3_span_2_1_Template, 1, 0, null, 23);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.firstPageLinkIconTemplate || ctx_r1._firstPageLinkIconTemplate);\n }\n}\nfunction Paginator_div_0_button_3_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 19);\n i0.ɵɵlistener(\"click\", function Paginator_div_0_button_3_Template_button_click_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.changePageToFirst($event));\n });\n i0.ɵɵtemplate(1, Paginator_div_0_button_3_AngleDoubleLeftIcon_1_Template, 1, 1, \"AngleDoubleLeftIcon\", 6)(2, Paginator_div_0_button_3_span_2_Template, 2, 1, \"span\", 20);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"disabled\", ctx_r1.isFirstPage() || ctx_r1.empty())(\"ngClass\", i0.ɵɵpureFunction1(5, _c5, ctx_r1.isFirstPage() || ctx_r1.empty()));\n i0.ɵɵattribute(\"aria-label\", ctx_r1.getAriaLabel(\"firstPageLabel\"));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.firstPageLinkIconTemplate && !ctx_r1._firstPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.firstPageLinkIconTemplate || ctx_r1._firstPageLinkIconTemplate);\n }\n}\nfunction Paginator_div_0_AngleLeftIcon_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"AngleLeftIcon\", 21);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"styleClass\", \"p-paginator-prev-icon\");\n }\n}\nfunction Paginator_div_0_span_6_1_ng_template_0_Template(rf, ctx) {}\nfunction Paginator_div_0_span_6_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_span_6_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction Paginator_div_0_span_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 24);\n i0.ɵɵtemplate(1, Paginator_div_0_span_6_1_Template, 1, 0, null, 23);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.previousPageLinkIconTemplate || ctx_r1._previousPageLinkIconTemplate);\n }\n}\nfunction Paginator_div_0_span_7_button_1_Template(rf, ctx) {\n if (rf & 1) {\n const _r4 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 27);\n i0.ɵɵlistener(\"click\", function Paginator_div_0_span_7_button_1_Template_button_click_0_listener($event) {\n const pageLink_r5 = i0.ɵɵrestoreView(_r4).$implicit;\n const ctx_r1 = i0.ɵɵnextContext(3);\n return i0.ɵɵresetView(ctx_r1.onPageLinkClick($event, pageLink_r5 - 1));\n });\n i0.ɵɵtext(1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const pageLink_r5 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngClass\", i0.ɵɵpureFunction1(4, _c7, pageLink_r5 - 1 == ctx_r1.getPage()));\n i0.ɵɵattribute(\"aria-label\", ctx_r1.getPageAriaLabel(pageLink_r5))(\"aria-current\", pageLink_r5 - 1 == ctx_r1.getPage() ? \"page\" : undefined);\n i0.ɵɵadvance();\n i0.ɵɵtextInterpolate1(\" \", ctx_r1.getLocalization(pageLink_r5), \" \");\n }\n}\nfunction Paginator_div_0_span_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 25);\n i0.ɵɵtemplate(1, Paginator_div_0_span_7_button_1_Template, 2, 6, \"button\", 26);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngForOf\", ctx_r1.pageLinks);\n }\n}\nfunction Paginator_div_0_p_select_8_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtext(0);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵtextInterpolate(ctx_r1.currentPageReport);\n }\n}\nfunction Paginator_div_0_p_select_8_ng_container_2_ng_template_1_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Paginator_div_0_p_select_8_ng_container_2_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_p_select_8_ng_container_2_ng_template_1_ng_container_0_Template, 1, 0, \"ng-container\", 17);\n }\n if (rf & 2) {\n const item_r7 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(4);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.jumpToPageItemTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c6, item_r7));\n }\n}\nfunction Paginator_div_0_p_select_8_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Paginator_div_0_p_select_8_ng_container_2_ng_template_1_Template, 1, 4, \"ng-template\", 31);\n i0.ɵɵelementContainerEnd();\n }\n}\nfunction Paginator_div_0_p_select_8_3_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Paginator_div_0_p_select_8_3_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_p_select_8_3_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 23);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(4);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.dropdownIconTemplate || ctx_r1._dropdownIconTemplate);\n }\n}\nfunction Paginator_div_0_p_select_8_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_p_select_8_3_ng_template_0_Template, 1, 1, \"ng-template\", 32);\n }\n}\nfunction Paginator_div_0_p_select_8_Template(rf, ctx) {\n if (rf & 1) {\n const _r6 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"p-select\", 28);\n i0.ɵɵlistener(\"onChange\", function Paginator_div_0_p_select_8_Template_p_select_onChange_0_listener($event) {\n i0.ɵɵrestoreView(_r6);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onPageDropdownChange($event));\n });\n i0.ɵɵtemplate(1, Paginator_div_0_p_select_8_ng_template_1_Template, 1, 1, \"ng-template\", 29)(2, Paginator_div_0_p_select_8_ng_container_2_Template, 2, 0, \"ng-container\", 30)(3, Paginator_div_0_p_select_8_3_Template, 1, 0, null, 30);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"options\", ctx_r1.pageItems)(\"ngModel\", ctx_r1.getPage())(\"disabled\", ctx_r1.empty())(\"appendTo\", ctx_r1.dropdownAppendTo)(\"scrollHeight\", ctx_r1.dropdownScrollHeight);\n i0.ɵɵattribute(\"aria-label\", ctx_r1.getAriaLabel(\"jumpToPageDropdownLabel\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r1.jumpToPageItemTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.dropdownIconTemplate || ctx_r1._dropdownIconTemplate);\n }\n}\nfunction Paginator_div_0_AngleRightIcon_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"AngleRightIcon\", 21);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"styleClass\", \"p-paginator-next-icon\");\n }\n}\nfunction Paginator_div_0_span_11_1_ng_template_0_Template(rf, ctx) {}\nfunction Paginator_div_0_span_11_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_span_11_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction Paginator_div_0_span_11_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 33);\n i0.ɵɵtemplate(1, Paginator_div_0_span_11_1_Template, 1, 0, null, 23);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.nextPageLinkIconTemplate || ctx_r1._nextPageLinkIconTemplate);\n }\n}\nfunction Paginator_div_0_button_12_AngleDoubleRightIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"AngleDoubleRightIcon\", 21);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"styleClass\", \"p-paginator-last-icon\");\n }\n}\nfunction Paginator_div_0_button_12_span_2_1_ng_template_0_Template(rf, ctx) {}\nfunction Paginator_div_0_button_12_span_2_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_button_12_span_2_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction Paginator_div_0_button_12_span_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 36);\n i0.ɵɵtemplate(1, Paginator_div_0_button_12_span_2_1_Template, 1, 0, null, 23);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.lastPageLinkIconTemplate || ctx_r1._lastPageLinkIconTemplate);\n }\n}\nfunction Paginator_div_0_button_12_Template(rf, ctx) {\n if (rf & 1) {\n const _r8 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"button\", 34);\n i0.ɵɵlistener(\"click\", function Paginator_div_0_button_12_Template_button_click_0_listener($event) {\n i0.ɵɵrestoreView(_r8);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.changePageToLast($event));\n });\n i0.ɵɵtemplate(1, Paginator_div_0_button_12_AngleDoubleRightIcon_1_Template, 1, 1, \"AngleDoubleRightIcon\", 6)(2, Paginator_div_0_button_12_span_2_Template, 2, 1, \"span\", 35);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"disabled\", ctx_r1.isLastPage() || ctx_r1.empty())(\"ngClass\", i0.ɵɵpureFunction1(5, _c5, ctx_r1.isLastPage() || ctx_r1.empty()));\n i0.ɵɵattribute(\"aria-label\", ctx_r1.getAriaLabel(\"lastPageLabel\"));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.lastPageLinkIconTemplate && !ctx_r1._lastPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.lastPageLinkIconTemplate || ctx_r1._lastPageLinkIconTemplate);\n }\n}\nfunction Paginator_div_0_p_inputnumber_13_Template(rf, ctx) {\n if (rf & 1) {\n const _r9 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"p-inputnumber\", 37);\n i0.ɵɵlistener(\"ngModelChange\", function Paginator_div_0_p_inputnumber_13_Template_p_inputnumber_ngModelChange_0_listener($event) {\n i0.ɵɵrestoreView(_r9);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.changePage($event - 1));\n });\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngModel\", ctx_r1.currentPage())(\"disabled\", ctx_r1.empty());\n }\n}\nfunction Paginator_div_0_p_select_14_ng_container_1_ng_template_1_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Paginator_div_0_p_select_14_ng_container_1_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_p_select_14_ng_container_1_ng_template_1_ng_container_0_Template, 1, 0, \"ng-container\", 17);\n }\n if (rf & 2) {\n const item_r11 = ctx.$implicit;\n const ctx_r1 = i0.ɵɵnextContext(4);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.dropdownItemTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c6, item_r11));\n }\n}\nfunction Paginator_div_0_p_select_14_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, Paginator_div_0_p_select_14_ng_container_1_ng_template_1_Template, 1, 4, \"ng-template\", 31);\n i0.ɵɵelementContainerEnd();\n }\n}\nfunction Paginator_div_0_p_select_14_2_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Paginator_div_0_p_select_14_2_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_p_select_14_2_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 23);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(4);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.dropdownIconTemplate || ctx_r1._dropdownIconTemplate);\n }\n}\nfunction Paginator_div_0_p_select_14_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_p_select_14_2_ng_template_0_Template, 1, 1, \"ng-template\", 32);\n }\n}\nfunction Paginator_div_0_p_select_14_Template(rf, ctx) {\n if (rf & 1) {\n const _r10 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"p-select\", 38);\n i0.ɵɵtwoWayListener(\"ngModelChange\", function Paginator_div_0_p_select_14_Template_p_select_ngModelChange_0_listener($event) {\n i0.ɵɵrestoreView(_r10);\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵtwoWayBindingSet(ctx_r1.rows, $event) || (ctx_r1.rows = $event);\n return i0.ɵɵresetView($event);\n });\n i0.ɵɵlistener(\"onChange\", function Paginator_div_0_p_select_14_Template_p_select_onChange_0_listener($event) {\n i0.ɵɵrestoreView(_r10);\n const ctx_r1 = i0.ɵɵnextContext(2);\n return i0.ɵɵresetView(ctx_r1.onRppChange($event));\n });\n i0.ɵɵtemplate(1, Paginator_div_0_p_select_14_ng_container_1_Template, 2, 0, \"ng-container\", 30)(2, Paginator_div_0_p_select_14_2_Template, 1, 0, null, 30);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"options\", ctx_r1.rowsPerPageItems);\n i0.ɵɵtwoWayProperty(\"ngModel\", ctx_r1.rows);\n i0.ɵɵproperty(\"disabled\", ctx_r1.empty())(\"appendTo\", ctx_r1.dropdownAppendTo)(\"scrollHeight\", ctx_r1.dropdownScrollHeight)(\"ariaLabel\", ctx_r1.getAriaLabel(\"rowsPerPageLabel\"));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.dropdownItemTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.dropdownIconTemplate || ctx_r1._dropdownIconTemplate);\n }\n}\nfunction Paginator_div_0_div_15_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction Paginator_div_0_div_15_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 39);\n i0.ɵɵtemplate(1, Paginator_div_0_div_15_ng_container_1_Template, 1, 0, \"ng-container\", 17);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext(2);\n i0.ɵɵattribute(\"data-pc-section\", \"end\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.templateRight)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(3, _c6, ctx_r1.paginatorState));\n }\n}\nfunction Paginator_div_0_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵtemplate(1, Paginator_div_0_div_1_Template, 2, 5, \"div\", 2)(2, Paginator_div_0_span_2_Template, 2, 1, \"span\", 3)(3, Paginator_div_0_button_3_Template, 3, 7, \"button\", 4);\n i0.ɵɵelementStart(4, \"button\", 5);\n i0.ɵɵlistener(\"click\", function Paginator_div_0_Template_button_click_4_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.changePageToPrev($event));\n });\n i0.ɵɵtemplate(5, Paginator_div_0_AngleLeftIcon_5_Template, 1, 1, \"AngleLeftIcon\", 6)(6, Paginator_div_0_span_6_Template, 2, 1, \"span\", 7);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(7, Paginator_div_0_span_7_Template, 2, 1, \"span\", 8)(8, Paginator_div_0_p_select_8_Template, 4, 8, \"p-select\", 9);\n i0.ɵɵelementStart(9, \"button\", 10);\n i0.ɵɵlistener(\"click\", function Paginator_div_0_Template_button_click_9_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.changePageToNext($event));\n });\n i0.ɵɵtemplate(10, Paginator_div_0_AngleRightIcon_10_Template, 1, 1, \"AngleRightIcon\", 6)(11, Paginator_div_0_span_11_Template, 2, 1, \"span\", 11);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(12, Paginator_div_0_button_12_Template, 3, 7, \"button\", 12)(13, Paginator_div_0_p_inputnumber_13_Template, 1, 2, \"p-inputnumber\", 13)(14, Paginator_div_0_p_select_14_Template, 3, 8, \"p-select\", 14)(15, Paginator_div_0_div_15_Template, 2, 5, \"div\", 15);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵclassMap(ctx_r1.styleClass);\n i0.ɵɵproperty(\"ngStyle\", ctx_r1.style)(\"ngClass\", \"p-paginator p-component\");\n i0.ɵɵattribute(\"data-pc-section\", \"paginator\")(\"data-pc-section\", \"root\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.templateLeft);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showCurrentPageReport);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showFirstLastIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"disabled\", ctx_r1.isFirstPage() || ctx_r1.empty())(\"ngClass\", i0.ɵɵpureFunction1(25, _c5, ctx_r1.isFirstPage() || ctx_r1.empty()));\n i0.ɵɵattribute(\"aria-label\", ctx_r1.getAriaLabel(\"prevPageLabel\"));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.previousPageLinkIconTemplate && !ctx_r1._previousPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.previousPageLinkIconTemplate || ctx_r1._previousPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showPageLinks);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showJumpToPageDropdown);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"disabled\", ctx_r1.isLastPage() || ctx_r1.empty())(\"ngClass\", i0.ɵɵpureFunction1(27, _c5, ctx_r1.isLastPage() || ctx_r1.empty()));\n i0.ɵɵattribute(\"aria-label\", ctx_r1.getAriaLabel(\"nextPageLabel\"));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r1.nextPageLinkIconTemplate && !ctx_r1._nextPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.nextPageLinkIconTemplate || ctx_r1._nextPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showFirstLastIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.showJumpToPageInput);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.rowsPerPageOptions);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.templateRight);\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-paginator {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n background: ${dt('paginator.background')};\n color: ${dt('paginator.color')};\n padding: ${dt('paginator.padding')};\n border-radius: ${dt('paginator.border.radius')};\n gap: ${dt('paginator.gap')};\n}\n\n.p-paginator-content {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-wrap: wrap;\n gap: ${dt('paginator.gap')};\n}\n\n.p-paginator-content-start {\n margin-inline-end: auto;\n}\n\n.p-paginator-content-end {\n margin-inline-start: auto;\n}\n\n.p-paginator-page,\n.p-paginator-next,\n.p-paginator-last,\n.p-paginator-first,\n.p-paginator-prev {\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n line-height: 1;\n user-select: none;\n overflow: hidden;\n position: relative;\n background: ${dt('paginator.nav.button.background')};\n border: 0 none;\n color: ${dt('paginator.nav.button.color')};\n min-width: ${dt('paginator.nav.button.width')};\n height: ${dt('paginator.nav.button.height')};\n transition: background ${dt('paginator.transition.duration')}, color ${dt('paginator.transition.duration')}, outline-color ${dt('paginator.transition.duration')}, box-shadow ${dt('paginator.transition.duration')};\n border-radius: ${dt('paginator.nav.button.border.radius')};\n padding: 0;\n margin: 0;\n}\n\n.p-paginator-page:focus-visible,\n.p-paginator-next:focus-visible,\n.p-paginator-last:focus-visible,\n.p-paginator-first:focus-visible,\n.p-paginator-prev:focus-visible {\n box-shadow: ${dt('paginator.nav.button.focus.ring.shadow')};\n outline: ${dt('paginator.nav.button.focus.ring.width')} ${dt('paginator.nav.button.focus.ring.style')} ${dt('paginator.nav.button.focus.ring.color')};\n outline-offset: ${dt('paginator.nav.button.focus.ring.offset')};\n}\n\n.p-paginator-page:not(.p-disabled):not(.p-paginator-page-selected):hover,\n.p-paginator-first:not(.p-disabled):hover,\n.p-paginator-prev:not(.p-disabled):hover,\n.p-paginator-next:not(.p-disabled):hover,\n.p-paginator-last:not(.p-disabled):hover {\n background: ${dt('paginator.nav.button.hover.background')};\n color: ${dt('paginator.nav.button.hover.color')};\n}\n\n.p-paginator-first:dir(rtl),\n.p-paginator-prev:dir(rtl),\n.p-paginator-next:dir(rtl),\n.p-paginator-last:dir(rtl) {\n transform: rotate(180deg);\n}\n\n.p-paginator-page.p-paginator-page-selected {\n background: ${dt('paginator.nav.button.selected.background')};\n color: ${dt('paginator.nav.button.selected.color')};\n}\n\n.p-paginator-current {\n color: ${dt('paginator.current.page.report.color')};\n}\n\n.p-paginator-pages {\n display: flex;\n align-items: center;\n gap: ${dt('paginator.gap')};\n}\n\n.p-paginator-jtp-input .p-inputtext {\n max-width: ${dt('paginator.jump.to.page.input.max.width')};\n}\n`;\nconst classes = {\n paginator: ({\n instance,\n key\n }) => ['p-paginator p-component', {\n 'p-paginator-default': !instance.hasBreakpoints(),\n [`p-paginator-${key}`]: instance.hasBreakpoints()\n }],\n content: 'p-paginator-content',\n contentStart: 'p-paginator-content-start',\n contentEnd: 'p-paginator-content-end',\n first: ({\n instance\n }) => ['p-paginator-first', {\n 'p-disabled': instance.$attrs.disabled\n }],\n firstIcon: 'p-paginator-first-icon',\n prev: ({\n instance\n }) => ['p-paginator-prev', {\n 'p-disabled': instance.$attrs.disabled\n }],\n prevIcon: 'p-paginator-prev-icon',\n next: ({\n instance\n }) => ['p-paginator-next', {\n 'p-disabled': instance.$attrs.disabled\n }],\n nextIcon: 'p-paginator-next-icon',\n last: ({\n instance\n }) => ['p-paginator-last', {\n 'p-disabled': instance.$attrs.disabled\n }],\n lastIcon: 'p-paginator-last-icon',\n pages: 'p-paginator-pages',\n page: ({\n props,\n pageLink\n }) => ['p-paginator-page', {\n 'p-paginator-page-selected': pageLink - 1 === props.page\n }],\n current: 'p-paginator-current',\n pcRowPerPageDropdown: 'p-paginator-rpp-dropdown',\n pcJumpToPageDropdown: 'p-paginator-jtp-dropdown',\n pcJumpToPageInput: 'p-paginator-jtp-input'\n};\nclass PaginatorStyle extends BaseStyle {\n name = 'paginator';\n theme = theme;\n classes = classes;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵPaginatorStyle_BaseFactory;\n return function PaginatorStyle_Factory(__ngFactoryType__) {\n return (ɵPaginatorStyle_BaseFactory || (ɵPaginatorStyle_BaseFactory = i0.ɵɵgetInheritedFactory(PaginatorStyle)))(__ngFactoryType__ || PaginatorStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: PaginatorStyle,\n factory: PaginatorStyle.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PaginatorStyle, [{\n type: Injectable\n }], null, null);\n})();\n/**\n *\n * Paginator is a generic component to display content in paged format.\n *\n * [Live Demo](https://www.primeng.org/paginator)\n *\n * @module paginatorstyle\n *\n */\nvar PaginatorClasses;\n(function (PaginatorClasses) {\n /**\n * Class name of the paginator element\n */\n PaginatorClasses[\"paginator\"] = \"p-paginator\";\n /**\n * Class name of the content start element\n */\n PaginatorClasses[\"contentStart\"] = \"p-paginator-content-start\";\n /**\n * Class name of the content end element\n */\n PaginatorClasses[\"contentEnd\"] = \"p-paginator-content-end\";\n /**\n * Class name of the first element\n */\n PaginatorClasses[\"first\"] = \"p-paginator-first\";\n /**\n * Class name of the first icon element\n */\n PaginatorClasses[\"firstIcon\"] = \"p-paginator-first-icon\";\n /**\n * Class name of the prev element\n */\n PaginatorClasses[\"prev\"] = \"p-paginator-prev\";\n /**\n * Class name of the prev icon element\n */\n PaginatorClasses[\"prevIcon\"] = \"p-paginator-prev-icon\";\n /**\n * Class name of the next element\n */\n PaginatorClasses[\"next\"] = \"p-paginator-next\";\n /**\n * Class name of the next icon element\n */\n PaginatorClasses[\"nextIcon\"] = \"p-paginator-next-icon\";\n /**\n * Class name of the last element\n */\n PaginatorClasses[\"last\"] = \"p-paginator-last\";\n /**\n * Class name of the last icon element\n */\n PaginatorClasses[\"lastIcon\"] = \"p-paginator-last-icon\";\n /**\n * Class name of the pages element\n */\n PaginatorClasses[\"pages\"] = \"p-paginator-pages\";\n /**\n * Class name of the page element\n */\n PaginatorClasses[\"page\"] = \"p-paginator-page\";\n /**\n * Class name of the current element\n */\n PaginatorClasses[\"current\"] = \"p-paginator-current\";\n /**\n * Class name of the row per page dropdown element\n */\n PaginatorClasses[\"pcRowPerPageDropdown\"] = \"p-paginator-rpp-dropdown\";\n /**\n * Class name of the jump to page dropdown element\n */\n PaginatorClasses[\"pcJumpToPageDropdown\"] = \"p-paginator-jtp-dropdown\";\n /**\n * Class name of the jump to page input element\n */\n PaginatorClasses[\"pcJumpToPageInput\"] = \"p-paginator-jtp-input\";\n})(PaginatorClasses || (PaginatorClasses = {}));\n\n/**\n * Paginator is a generic component to display content in paged format.\n * @group Components\n */\nclass Paginator extends BaseComponent {\n /**\n * Number of page links to display.\n * @group Props\n */\n pageLinkSize = 5;\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Whether to show it even there is only one page.\n * @group Props\n */\n alwaysShow = true;\n /**\n * Target element to attach the dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n dropdownAppendTo;\n /**\n * Template instance to inject into the left side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n templateLeft;\n /**\n * Template instance to inject into the right side of the paginator.\n * @param {PaginatorState} context - Paginator state.\n * @group Props\n */\n templateRight;\n /**\n * Target element to attach the dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n appendTo;\n /**\n * Dropdown height of the viewport in pixels, a scrollbar is defined if height of list exceeds this value.\n * @group Props\n */\n dropdownScrollHeight = '200px';\n /**\n * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}\n * @group Props\n */\n currentPageReportTemplate = '{currentPage} of {totalPages}';\n /**\n * Whether to display current page report.\n * @group Props\n */\n showCurrentPageReport;\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n showFirstLastIcon = true;\n /**\n * Number of total records.\n * @group Props\n */\n totalRecords = 0;\n /**\n * Data count to display per page.\n * @group Props\n */\n rows = 0;\n /**\n * Array of integer/object values to display inside rows per page dropdown. A object that have 'showAll' key can be added to it to show all data. Exp; [10,20,30,{showAll:'All'}]\n * @group Props\n */\n rowsPerPageOptions;\n /**\n * Whether to display a dropdown to navigate to any page.\n * @group Props\n */\n showJumpToPageDropdown;\n /**\n * Whether to display a input to navigate to any page.\n * @group Props\n */\n showJumpToPageInput;\n /**\n * Template instance to inject into the jump to page dropdown item inside in the paginator.\n * @param {Object} context - item instance.\n * @group Props\n */\n jumpToPageItemTemplate;\n /**\n * Whether to show page links.\n * @group Props\n */\n showPageLinks = true;\n /**\n * Locale to be used in formatting.\n * @group Props\n */\n locale;\n /**\n * Template instance to inject into the rows per page dropdown item inside in the paginator.\n * @param {Object} context - item instance.\n * @group Props\n */\n dropdownItemTemplate;\n /**\n * Zero-relative number of the first row to be displayed.\n * @group Props\n */\n get first() {\n return this._first;\n }\n set first(val) {\n this._first = val;\n }\n /**\n * Callback to invoke when page changes, the event object contains information about the new state.\n * @param {PaginatorState} event - Paginator state.\n * @group Emits\n */\n onPageChange = new EventEmitter();\n /**\n * Template for the dropdown icon.\n * @group Templates\n */\n dropdownIconTemplate;\n /**\n * Template for the first page link icon.\n * @group Templates\n */\n firstPageLinkIconTemplate;\n /**\n * Template for the previous page link icon.\n * @group Templates\n */\n previousPageLinkIconTemplate;\n /**\n * Template for the last page link icon.\n * @group Templates\n */\n lastPageLinkIconTemplate;\n /**\n * Template for the next page link icon.\n * @group Templates\n */\n nextPageLinkIconTemplate;\n templates;\n _dropdownIconTemplate;\n _firstPageLinkIconTemplate;\n _previousPageLinkIconTemplate;\n _lastPageLinkIconTemplate;\n _nextPageLinkIconTemplate;\n pageLinks;\n pageItems;\n rowsPerPageItems;\n paginatorState;\n _first = 0;\n _page = 0;\n _componentStyle = inject(PaginatorStyle);\n constructor() {\n super();\n }\n ngOnInit() {\n super.ngOnInit();\n this.updatePaginatorState();\n }\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'dropdownicon':\n this._dropdownIconTemplate = item.template;\n break;\n case 'firstpagelinkicon':\n this._firstPageLinkIconTemplate = item.template;\n break;\n case 'previouspagelinkicon':\n this._previousPageLinkIconTemplate = item.template;\n break;\n case 'lastpagelinkicon':\n this._lastPageLinkIconTemplate = item.template;\n break;\n case 'nextpagelinkicon':\n this._nextPageLinkIconTemplate = item.template;\n break;\n }\n });\n }\n getAriaLabel(labelType) {\n return this.config.translation.aria ? this.config.translation.aria[labelType] : undefined;\n }\n getPageAriaLabel(value) {\n return this.config.translation.aria ? this.config.translation.aria.pageLabel.replace(/{page}/g, `${value}`) : undefined;\n }\n getLocalization(digit) {\n const numerals = [...new Intl.NumberFormat(this.locale, {\n useGrouping: false\n }).format(9876543210)].reverse();\n const index = new Map(numerals.map((d, i) => [i, d]));\n if (digit > 9) {\n const numbers = String(digit).split('');\n return numbers.map(number => index.get(Number(number))).join('');\n } else {\n return index.get(digit);\n }\n }\n ngOnChanges(simpleChange) {\n super.ngOnChanges(simpleChange);\n if (simpleChange.totalRecords) {\n this.updatePageLinks();\n this.updatePaginatorState();\n this.updateFirst();\n this.updateRowsPerPageOptions();\n }\n if (simpleChange.first) {\n this._first = simpleChange.first.currentValue;\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n if (simpleChange.rows) {\n this.updatePageLinks();\n this.updatePaginatorState();\n }\n if (simpleChange.rowsPerPageOptions) {\n this.updateRowsPerPageOptions();\n }\n if (simpleChange.pageLinkSize) {\n this.updatePageLinks();\n }\n }\n updateRowsPerPageOptions() {\n if (this.rowsPerPageOptions) {\n this.rowsPerPageItems = [];\n let showAllItem = null;\n for (let opt of this.rowsPerPageOptions) {\n if (typeof opt == 'object' && opt['showAll']) {\n showAllItem = {\n label: opt['showAll'],\n value: this.totalRecords\n };\n } else {\n this.rowsPerPageItems.push({\n label: String(this.getLocalization(opt)),\n value: opt\n });\n }\n }\n if (showAllItem) {\n this.rowsPerPageItems.push(showAllItem);\n }\n }\n }\n isFirstPage() {\n return this.getPage() === 0;\n }\n isLastPage() {\n return this.getPage() === this.getPageCount() - 1;\n }\n getPageCount() {\n return Math.ceil(this.totalRecords / this.rows);\n }\n calculatePageLinkBoundaries() {\n let numberOfPages = this.getPageCount(),\n visiblePages = Math.min(this.pageLinkSize, numberOfPages);\n //calculate range, keep current in middle if necessary\n let start = Math.max(0, Math.ceil(this.getPage() - visiblePages / 2)),\n end = Math.min(numberOfPages - 1, start + visiblePages - 1);\n //check when approaching to last page\n var delta = this.pageLinkSize - (end - start + 1);\n start = Math.max(0, start - delta);\n return [start, end];\n }\n updatePageLinks() {\n this.pageLinks = [];\n let boundaries = this.calculatePageLinkBoundaries(),\n start = boundaries[0],\n end = boundaries[1];\n for (let i = start; i <= end; i++) {\n this.pageLinks.push(i + 1);\n }\n if (this.showJumpToPageDropdown) {\n this.pageItems = [];\n for (let i = 0; i < this.getPageCount(); i++) {\n this.pageItems.push({\n label: String(i + 1),\n value: i\n });\n }\n }\n }\n changePage(p) {\n var pc = this.getPageCount();\n if (p >= 0 && p < pc) {\n this._first = this.rows * p;\n var state = {\n page: p,\n first: this.first,\n rows: this.rows,\n pageCount: pc\n };\n this.updatePageLinks();\n this.onPageChange.emit(state);\n this.updatePaginatorState();\n }\n }\n updateFirst() {\n const page = this.getPage();\n if (page > 0 && this.totalRecords && this.first >= this.totalRecords) {\n Promise.resolve(null).then(() => this.changePage(page - 1));\n }\n }\n getPage() {\n return Math.floor(this.first / this.rows);\n }\n changePageToFirst(event) {\n if (!this.isFirstPage()) {\n this.changePage(0);\n }\n event.preventDefault();\n }\n changePageToPrev(event) {\n this.changePage(this.getPage() - 1);\n event.preventDefault();\n }\n changePageToNext(event) {\n this.changePage(this.getPage() + 1);\n event.preventDefault();\n }\n changePageToLast(event) {\n if (!this.isLastPage()) {\n this.changePage(this.getPageCount() - 1);\n }\n event.preventDefault();\n }\n onPageLinkClick(event, page) {\n this.changePage(page);\n event.preventDefault();\n }\n onRppChange(event) {\n this.changePage(this.getPage());\n }\n onPageDropdownChange(event) {\n this.changePage(event.value);\n }\n updatePaginatorState() {\n this.paginatorState = {\n page: this.getPage(),\n pageCount: this.getPageCount(),\n rows: this.rows,\n first: this.first,\n totalRecords: this.totalRecords\n };\n }\n empty() {\n return this.getPageCount() === 0;\n }\n currentPage() {\n return this.getPageCount() > 0 ? this.getPage() + 1 : 0;\n }\n get currentPageReport() {\n return this.currentPageReportTemplate.replace('{currentPage}', String(this.currentPage())).replace('{totalPages}', String(this.getPageCount())).replace('{first}', String(this.totalRecords > 0 ? this._first + 1 : 0)).replace('{last}', String(Math.min(this._first + this.rows, this.totalRecords))).replace('{rows}', String(this.rows)).replace('{totalRecords}', String(this.totalRecords));\n }\n static ɵfac = function Paginator_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || Paginator)();\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Paginator,\n selectors: [[\"p-paginator\"]],\n contentQueries: function Paginator_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, _c1, 4);\n i0.ɵɵcontentQuery(dirIndex, _c2, 4);\n i0.ɵɵcontentQuery(dirIndex, _c3, 4);\n i0.ɵɵcontentQuery(dirIndex, _c4, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.dropdownIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.firstPageLinkIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.previousPageLinkIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.lastPageLinkIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.nextPageLinkIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n inputs: {\n pageLinkSize: [2, \"pageLinkSize\", \"pageLinkSize\", numberAttribute],\n style: \"style\",\n styleClass: \"styleClass\",\n alwaysShow: [2, \"alwaysShow\", \"alwaysShow\", booleanAttribute],\n dropdownAppendTo: \"dropdownAppendTo\",\n templateLeft: \"templateLeft\",\n templateRight: \"templateRight\",\n appendTo: \"appendTo\",\n dropdownScrollHeight: \"dropdownScrollHeight\",\n currentPageReportTemplate: \"currentPageReportTemplate\",\n showCurrentPageReport: [2, \"showCurrentPageReport\", \"showCurrentPageReport\", booleanAttribute],\n showFirstLastIcon: [2, \"showFirstLastIcon\", \"showFirstLastIcon\", booleanAttribute],\n totalRecords: [2, \"totalRecords\", \"totalRecords\", numberAttribute],\n rows: [2, \"rows\", \"rows\", numberAttribute],\n rowsPerPageOptions: \"rowsPerPageOptions\",\n showJumpToPageDropdown: [2, \"showJumpToPageDropdown\", \"showJumpToPageDropdown\", booleanAttribute],\n showJumpToPageInput: [2, \"showJumpToPageInput\", \"showJumpToPageInput\", booleanAttribute],\n jumpToPageItemTemplate: \"jumpToPageItemTemplate\",\n showPageLinks: [2, \"showPageLinks\", \"showPageLinks\", booleanAttribute],\n locale: \"locale\",\n dropdownItemTemplate: \"dropdownItemTemplate\",\n first: \"first\"\n },\n outputs: {\n onPageChange: \"onPageChange\"\n },\n features: [i0.ɵɵProvidersFeature([PaginatorStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature],\n decls: 1,\n vars: 1,\n consts: [[3, \"class\", \"ngStyle\", \"ngClass\", 4, \"ngIf\"], [3, \"ngStyle\", \"ngClass\"], [\"class\", \"p-paginator-content-start\", 4, \"ngIf\"], [\"class\", \"p-paginator-current\", 4, \"ngIf\"], [\"type\", \"button\", \"pRipple\", \"\", \"class\", \"p-paginator-first\", 3, \"disabled\", \"ngClass\", \"click\", 4, \"ngIf\"], [\"type\", \"button\", \"pRipple\", \"\", 1, \"p-paginator-prev\", 3, \"click\", \"disabled\", \"ngClass\"], [3, \"styleClass\", 4, \"ngIf\"], [\"class\", \"p-paginator-prev-icon\", 4, \"ngIf\"], [\"class\", \"p-paginator-pages\", 4, \"ngIf\"], [\"styleClass\", \"p-paginator-jtp-dropdown\", 3, \"options\", \"ngModel\", \"disabled\", \"appendTo\", \"scrollHeight\", \"onChange\", 4, \"ngIf\"], [\"type\", \"button\", \"pRipple\", \"\", 1, \"p-paginator-next\", 3, \"click\", \"disabled\", \"ngClass\"], [\"class\", \"p-paginator-next-icon\", 4, \"ngIf\"], [\"type\", \"button\", \"pRipple\", \"\", \"class\", \"p-paginator-last\", 3, \"disabled\", \"ngClass\", \"click\", 4, \"ngIf\"], [\"class\", \"p-paginator-jtp-input\", 3, \"ngModel\", \"disabled\", \"ngModelChange\", 4, \"ngIf\"], [\"styleClass\", \"p-paginator-rpp-dropdown\", 3, \"options\", \"ngModel\", \"disabled\", \"appendTo\", \"scrollHeight\", \"ariaLabel\", \"ngModelChange\", \"onChange\", 4, \"ngIf\"], [\"class\", \"p-paginator-content-end\", 4, \"ngIf\"], [1, \"p-paginator-content-start\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [1, \"p-paginator-current\"], [\"type\", \"button\", \"pRipple\", \"\", 1, \"p-paginator-first\", 3, \"click\", \"disabled\", \"ngClass\"], [\"class\", \"p-paginator-first-icon\", 4, \"ngIf\"], [3, \"styleClass\"], [1, \"p-paginator-first-icon\"], [4, \"ngTemplateOutlet\"], [1, \"p-paginator-prev-icon\"], [1, \"p-paginator-pages\"], [\"type\", \"button\", \"class\", \"p-paginator-page\", \"pRipple\", \"\", 3, \"ngClass\", \"click\", 4, \"ngFor\", \"ngForOf\"], [\"type\", \"button\", \"pRipple\", \"\", 1, \"p-paginator-page\", 3, \"click\", \"ngClass\"], [\"styleClass\", \"p-paginator-jtp-dropdown\", 3, \"onChange\", \"options\", \"ngModel\", \"disabled\", \"appendTo\", \"scrollHeight\"], [\"pTemplate\", \"selectedItem\"], [4, \"ngIf\"], [\"pTemplate\", \"item\"], [\"pTemplate\", \"dropdownicon\"], [1, \"p-paginator-next-icon\"], [\"type\", \"button\", \"pRipple\", \"\", 1, \"p-paginator-last\", 3, \"click\", \"disabled\", \"ngClass\"], [\"class\", \"p-paginator-last-icon\", 4, \"ngIf\"], [1, \"p-paginator-last-icon\"], [1, \"p-paginator-jtp-input\", 3, \"ngModelChange\", \"ngModel\", \"disabled\"], [\"styleClass\", \"p-paginator-rpp-dropdown\", 3, \"ngModelChange\", \"onChange\", \"options\", \"ngModel\", \"disabled\", \"appendTo\", \"scrollHeight\", \"ariaLabel\"], [1, \"p-paginator-content-end\"]],\n template: function Paginator_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, Paginator_div_0_Template, 16, 29, \"div\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.alwaysShow ? true : ctx.pageLinks && ctx.pageLinks.length > 1);\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, Select, InputNumber, FormsModule, i2.NgControlStatus, i2.NgModel, Ripple, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleLeftIcon, AngleRightIcon, SharedModule, i3.PrimeTemplate],\n encapsulation: 2,\n changeDetection: 0\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(Paginator, [{\n type: Component,\n args: [{\n selector: 'p-paginator',\n standalone: true,\n imports: [CommonModule, Select, InputNumber, FormsModule, Ripple, AngleDoubleLeftIcon, AngleDoubleRightIcon, AngleLeftIcon, AngleRightIcon, SharedModule],\n template: `\n <div [class]=\"styleClass\" [ngStyle]=\"style\" [ngClass]=\"'p-paginator p-component'\" *ngIf=\"alwaysShow ? true : pageLinks && pageLinks.length > 1\" [attr.data-pc-section]=\"'paginator'\" [attr.data-pc-section]=\"'root'\">\n <div class=\"p-paginator-content-start\" *ngIf=\"templateLeft\" [attr.data-pc-section]=\"'start'\">\n <ng-container *ngTemplateOutlet=\"templateLeft; context: { $implicit: paginatorState }\"></ng-container>\n </div>\n <span class=\"p-paginator-current\" *ngIf=\"showCurrentPageReport\">{{ currentPageReport }}</span>\n <button\n *ngIf=\"showFirstLastIcon\"\n type=\"button\"\n [disabled]=\"isFirstPage() || empty()\"\n (click)=\"changePageToFirst($event)\"\n pRipple\n class=\"p-paginator-first\"\n [ngClass]=\"{ 'p-disabled': isFirstPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('firstPageLabel')\"\n >\n <AngleDoubleLeftIcon *ngIf=\"!firstPageLinkIconTemplate && !_firstPageLinkIconTemplate\" [styleClass]=\"'p-paginator-first-icon'\" />\n <span class=\"p-paginator-first-icon\" *ngIf=\"firstPageLinkIconTemplate || _firstPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"firstPageLinkIconTemplate || _firstPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <button type=\"button\" [disabled]=\"isFirstPage() || empty()\" (click)=\"changePageToPrev($event)\" pRipple class=\"p-paginator-prev\" [ngClass]=\"{ 'p-disabled': isFirstPage() || empty() }\" [attr.aria-label]=\"getAriaLabel('prevPageLabel')\">\n <AngleLeftIcon *ngIf=\"!previousPageLinkIconTemplate && !_previousPageLinkIconTemplate\" [styleClass]=\"'p-paginator-prev-icon'\" />\n <span class=\"p-paginator-prev-icon\" *ngIf=\"previousPageLinkIconTemplate || _previousPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"previousPageLinkIconTemplate || _previousPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <span class=\"p-paginator-pages\" *ngIf=\"showPageLinks\">\n <button\n type=\"button\"\n *ngFor=\"let pageLink of pageLinks\"\n class=\"p-paginator-page\"\n [ngClass]=\"{ 'p-paginator-page-selected': pageLink - 1 == getPage() }\"\n [attr.aria-label]=\"getPageAriaLabel(pageLink)\"\n [attr.aria-current]=\"pageLink - 1 == getPage() ? 'page' : undefined\"\n (click)=\"onPageLinkClick($event, pageLink - 1)\"\n pRipple\n >\n {{ getLocalization(pageLink) }}\n </button>\n </span>\n <p-select\n [options]=\"pageItems\"\n [ngModel]=\"getPage()\"\n *ngIf=\"showJumpToPageDropdown\"\n [disabled]=\"empty()\"\n [attr.aria-label]=\"getAriaLabel('jumpToPageDropdownLabel')\"\n styleClass=\"p-paginator-jtp-dropdown\"\n (onChange)=\"onPageDropdownChange($event)\"\n [appendTo]=\"dropdownAppendTo\"\n [scrollHeight]=\"dropdownScrollHeight\"\n >\n <ng-template pTemplate=\"selectedItem\">{{ currentPageReport }}</ng-template>\n <ng-container *ngIf=\"jumpToPageItemTemplate\">\n <ng-template let-item pTemplate=\"item\">\n <ng-container *ngTemplateOutlet=\"jumpToPageItemTemplate; context: { $implicit: item }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template pTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate || _dropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate || _dropdownIconTemplate\"></ng-container>\n </ng-template>\n </p-select>\n <button type=\"button\" [disabled]=\"isLastPage() || empty()\" (click)=\"changePageToNext($event)\" pRipple class=\"p-paginator-next\" [ngClass]=\"{ 'p-disabled': isLastPage() || empty() }\" [attr.aria-label]=\"getAriaLabel('nextPageLabel')\">\n <AngleRightIcon *ngIf=\"!nextPageLinkIconTemplate && !_nextPageLinkIconTemplate\" [styleClass]=\"'p-paginator-next-icon'\" />\n <span class=\"p-paginator-next-icon\" *ngIf=\"nextPageLinkIconTemplate || _nextPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"nextPageLinkIconTemplate || _nextPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <button\n *ngIf=\"showFirstLastIcon\"\n type=\"button\"\n [disabled]=\"isLastPage() || empty()\"\n (click)=\"changePageToLast($event)\"\n pRipple\n class=\"p-paginator-last\"\n [ngClass]=\"{ 'p-disabled': isLastPage() || empty() }\"\n [attr.aria-label]=\"getAriaLabel('lastPageLabel')\"\n >\n <AngleDoubleRightIcon *ngIf=\"!lastPageLinkIconTemplate && !_lastPageLinkIconTemplate\" [styleClass]=\"'p-paginator-last-icon'\" />\n <span class=\"p-paginator-last-icon\" *ngIf=\"lastPageLinkIconTemplate || _lastPageLinkIconTemplate\">\n <ng-template *ngTemplateOutlet=\"lastPageLinkIconTemplate || _lastPageLinkIconTemplate\"></ng-template>\n </span>\n </button>\n <p-inputnumber *ngIf=\"showJumpToPageInput\" [ngModel]=\"currentPage()\" class=\"p-paginator-jtp-input\" [disabled]=\"empty()\" (ngModelChange)=\"changePage($event - 1)\"></p-inputnumber>\n <p-select\n [options]=\"rowsPerPageItems\"\n [(ngModel)]=\"rows\"\n *ngIf=\"rowsPerPageOptions\"\n styleClass=\"p-paginator-rpp-dropdown\"\n [disabled]=\"empty()\"\n (onChange)=\"onRppChange($event)\"\n [appendTo]=\"dropdownAppendTo\"\n [scrollHeight]=\"dropdownScrollHeight\"\n [ariaLabel]=\"getAriaLabel('rowsPerPageLabel')\"\n >\n <ng-container *ngIf=\"dropdownItemTemplate\">\n <ng-template let-item pTemplate=\"item\">\n <ng-container *ngTemplateOutlet=\"dropdownItemTemplate; context: { $implicit: item }\"></ng-container>\n </ng-template>\n </ng-container>\n <ng-template pTemplate=\"dropdownicon\" *ngIf=\"dropdownIconTemplate || _dropdownIconTemplate\">\n <ng-container *ngTemplateOutlet=\"dropdownIconTemplate || _dropdownIconTemplate\"></ng-container>\n </ng-template>\n </p-select>\n <div class=\"p-paginator-content-end\" *ngIf=\"templateRight\" [attr.data-pc-section]=\"'end'\">\n <ng-container *ngTemplateOutlet=\"templateRight; context: { $implicit: paginatorState }\"></ng-container>\n </div>\n </div>\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [PaginatorStyle]\n }]\n }], () => [], {\n pageLinkSize: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n style: [{\n type: Input\n }],\n styleClass: [{\n type: Input\n }],\n alwaysShow: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n dropdownAppendTo: [{\n type: Input\n }],\n templateLeft: [{\n type: Input\n }],\n templateRight: [{\n type: Input\n }],\n appendTo: [{\n type: Input\n }],\n dropdownScrollHeight: [{\n type: Input\n }],\n currentPageReportTemplate: [{\n type: Input\n }],\n showCurrentPageReport: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n showFirstLastIcon: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n totalRecords: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n rows: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n rowsPerPageOptions: [{\n type: Input\n }],\n showJumpToPageDropdown: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n showJumpToPageInput: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n jumpToPageItemTemplate: [{\n type: Input\n }],\n showPageLinks: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n locale: [{\n type: Input\n }],\n dropdownItemTemplate: [{\n type: Input\n }],\n first: [{\n type: Input\n }],\n onPageChange: [{\n type: Output\n }],\n dropdownIconTemplate: [{\n type: ContentChild,\n args: ['dropdownicon', {\n descendants: false\n }]\n }],\n firstPageLinkIconTemplate: [{\n type: ContentChild,\n args: ['firstpagelinkicon', {\n descendants: false\n }]\n }],\n previousPageLinkIconTemplate: [{\n type: ContentChild,\n args: ['previouspagelinkicon', {\n descendants: false\n }]\n }],\n lastPageLinkIconTemplate: [{\n type: ContentChild,\n args: ['lastpagelinkicon', {\n descendants: false\n }]\n }],\n nextPageLinkIconTemplate: [{\n type: ContentChild,\n args: ['nextpagelinkicon', {\n descendants: false\n }]\n }],\n templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }]\n });\n})();\nclass PaginatorModule {\n static ɵfac = function PaginatorModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || PaginatorModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: PaginatorModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [Paginator, SharedModule, SharedModule]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(PaginatorModule, [{\n type: NgModule,\n args: [{\n imports: [Paginator, SharedModule],\n exports: [Paginator, SharedModule]\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Paginator, PaginatorClasses, PaginatorModule, PaginatorStyle };\n","import * as i1 from '@angular/common';\nimport { isPlatformBrowser, DOCUMENT, CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, EventEmitter, NgZone, booleanAttribute, numberAttribute, ContentChildren, ContentChild, ViewChild, Output, Input, ViewEncapsulation, Component, PLATFORM_ID, Inject, HostListener, Directive, ChangeDetectionStrategy, NgModule } from '@angular/core';\nimport * as i4 from '@angular/forms';\nimport { FormsModule } from '@angular/forms';\nimport { resolveFieldData, isEmpty, getOffset, addClass, findSingle, getIndex, calculateScrollbarWidth, removeClass, hasClass, getHiddenElementOuterWidth, getHiddenElementOuterHeight, reorderArray, equals, find, calculateScrollbarHeight, clearSelection, invokeElementMethod, focus, isNotEmpty, getAttribute } from '@primeuix/utils';\nimport * as i3 from 'primeng/api';\nimport { FilterService, PrimeTemplate, SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { Checkbox } from 'primeng/checkbox';\nimport { DomHandler } from 'primeng/dom';\nimport { SpinnerIcon, ArrowDownIcon, ArrowUpIcon, SortAltIcon, SortAmountUpAltIcon, SortAmountDownIcon, ChevronDownIcon, ChevronRightIcon, CheckIcon, MinusIcon } from 'primeng/icons';\nimport * as i2 from 'primeng/paginator';\nimport { PaginatorModule } from 'primeng/paginator';\nimport { Ripple } from 'primeng/ripple';\nimport { Scroller } from 'primeng/scroller';\nimport { Subject } from 'rxjs';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"colgroup\"];\nconst _c1 = [\"caption\"];\nconst _c2 = [\"header\"];\nconst _c3 = [\"body\"];\nconst _c4 = [\"footer\"];\nconst _c5 = [\"summary\"];\nconst _c6 = [\"emptymessage\"];\nconst _c7 = [\"paginatorleft\"];\nconst _c8 = [\"paginatorright\"];\nconst _c9 = [\"paginatordropdownitem\"];\nconst _c10 = [\"frozenheader\"];\nconst _c11 = [\"frozenbody\"];\nconst _c12 = [\"frozenfooter\"];\nconst _c13 = [\"frozencolgroup\"];\nconst _c14 = [\"loadingicon\"];\nconst _c15 = [\"reorderindicatorupicon\"];\nconst _c16 = [\"reorderindicatordownicon\"];\nconst _c17 = [\"sorticon\"];\nconst _c18 = [\"checkboxicon\"];\nconst _c19 = [\"headercheckboxicon\"];\nconst _c20 = [\"togglericon\"];\nconst _c21 = [\"paginatorfirstpagelinkicon\"];\nconst _c22 = [\"paginatorlastpagelinkicon\"];\nconst _c23 = [\"paginatorpreviouspagelinkicon\"];\nconst _c24 = [\"paginatornextpagelinkicon\"];\nconst _c25 = [\"loader\"];\nconst _c26 = [\"container\"];\nconst _c27 = [\"resizeHelper\"];\nconst _c28 = [\"reorderIndicatorUp\"];\nconst _c29 = [\"reorderIndicatorDown\"];\nconst _c30 = [\"table\"];\nconst _c31 = [\"scrollableView\"];\nconst _c32 = [\"scrollableFrozenView\"];\nconst _c33 = (a0, a1, a2, a3, a4, a5) => ({\n \"p-treetable p-component\": true,\n \"p-treetable-gridlines\": a0,\n \"p-treetable-hoverable-rows\": a1,\n \"p-treetable-auto-layout\": a2,\n \"p-treetable-resizable\": a3,\n \"p-treetable-resizable-fit\": a4,\n \"p-treetable-flex-scrollable\": a5\n});\nconst _c34 = a0 => ({\n $implicit: a0\n});\nconst _c35 = (a0, a1) => ({\n left: a0,\n width: a1\n});\nconst _c36 = a0 => ({\n width: a0\n});\nfunction TreeTable_div_2_i_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"i\");\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵclassMap(\"p-treetable-loading-icon pi-spin \" + ctx_r0.loadingIcon);\n }\n}\nfunction TreeTable_div_2_ng_container_3_SpinnerIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"SpinnerIcon\", 24);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"spin\", true)(\"styleClass\", \"p-treetable-loading-icon\");\n }\n}\nfunction TreeTable_div_2_ng_container_3_span_2_1_ng_template_0_Template(rf, ctx) {}\nfunction TreeTable_div_2_ng_container_3_span_2_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_div_2_ng_container_3_span_2_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction TreeTable_div_2_ng_container_3_span_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 25);\n i0.ɵɵtemplate(1, TreeTable_div_2_ng_container_3_span_2_1_Template, 1, 0, null, 26);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.loadingIconTemplate || ctx_r0._loadingIconTemplate);\n }\n}\nfunction TreeTable_div_2_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TreeTable_div_2_ng_container_3_SpinnerIcon_1_Template, 1, 2, \"SpinnerIcon\", 22)(2, TreeTable_div_2_ng_container_3_span_2_Template, 2, 1, \"span\", 23);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.loadingIconTemplate && !ctx_r0._loadingIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.loadingIconTemplate || ctx_r0._loadingIconTemplate);\n }\n}\nfunction TreeTable_div_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 18)(1, \"div\", 19);\n i0.ɵɵtemplate(2, TreeTable_div_2_i_2_Template, 1, 2, \"i\", 20)(3, TreeTable_div_2_ng_container_3_Template, 3, 2, \"ng-container\", 21);\n i0.ɵɵelementEnd()();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx_r0.loadingIcon);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.loadingIcon);\n }\n}\nfunction TreeTable_div_3_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_div_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 27);\n i0.ɵɵtemplate(1, TreeTable_div_3_ng_container_1_Template, 1, 0, \"ng-container\", 26);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.captionTemplate || ctx_r0._captionTemplate);\n }\n}\nfunction TreeTable_p_paginator_4_1_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_p_paginator_4_1_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_4_1_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 26);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.paginatorFirstPageLinkIconTemplate || ctx_r0._paginatorFirstPageLinkIconTemplate);\n }\n}\nfunction TreeTable_p_paginator_4_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_4_1_ng_template_0_Template, 1, 1, \"ng-template\", 29);\n }\n}\nfunction TreeTable_p_paginator_4_2_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_p_paginator_4_2_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_4_2_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 26);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.paginatorPreviousPageLinkIconTemplate || ctx_r0._paginatorPreviousPageLinkIconTemplate);\n }\n}\nfunction TreeTable_p_paginator_4_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_4_2_ng_template_0_Template, 1, 1, \"ng-template\", 30);\n }\n}\nfunction TreeTable_p_paginator_4_3_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_p_paginator_4_3_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_4_3_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 26);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.paginatorLastPageLinkIconTemplate || ctx_r0._paginatorLastPageLinkIconTemplate);\n }\n}\nfunction TreeTable_p_paginator_4_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_4_3_ng_template_0_Template, 1, 1, \"ng-template\", 31);\n }\n}\nfunction TreeTable_p_paginator_4_4_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_p_paginator_4_4_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_4_4_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 26);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.paginatorNextPageLinkIconTemplate || ctx_r0._paginatorNextPageLinkIconTemplate);\n }\n}\nfunction TreeTable_p_paginator_4_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_4_4_ng_template_0_Template, 1, 1, \"ng-template\", 32);\n }\n}\nfunction TreeTable_p_paginator_4_Template(rf, ctx) {\n if (rf & 1) {\n const _r2 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"p-paginator\", 28);\n i0.ɵɵlistener(\"onPageChange\", function TreeTable_p_paginator_4_Template_p_paginator_onPageChange_0_listener($event) {\n i0.ɵɵrestoreView(_r2);\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.onPageChange($event));\n });\n i0.ɵɵtemplate(1, TreeTable_p_paginator_4_1_Template, 1, 0, null, 21)(2, TreeTable_p_paginator_4_2_Template, 1, 0, null, 21)(3, TreeTable_p_paginator_4_3_Template, 1, 0, null, 21)(4, TreeTable_p_paginator_4_4_Template, 1, 0, null, 21);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_8_0;\n let tmp_9_0;\n let tmp_13_0;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"rows\", ctx_r0.rows)(\"first\", ctx_r0.first)(\"totalRecords\", ctx_r0.totalRecords)(\"pageLinkSize\", ctx_r0.pageLinks)(\"alwaysShow\", ctx_r0.alwaysShowPaginator)(\"rowsPerPageOptions\", ctx_r0.rowsPerPageOptions)(\"templateLeft\", (tmp_8_0 = ctx_r0.paginatorLeftTemplate) !== null && tmp_8_0 !== undefined ? tmp_8_0 : ctx_r0._paginatorLeftTemplate)(\"templateRight\", (tmp_9_0 = ctx_r0.paginatorRightTemplate) !== null && tmp_9_0 !== undefined ? tmp_9_0 : ctx_r0._paginatorRightTemplate)(\"dropdownAppendTo\", ctx_r0.paginatorDropdownAppendTo)(\"currentPageReportTemplate\", ctx_r0.currentPageReportTemplate)(\"showFirstLastIcon\", ctx_r0.showFirstLastIcon)(\"dropdownItemTemplate\", (tmp_13_0 = ctx_r0.paginatorDropdownItemTemplate) !== null && tmp_13_0 !== undefined ? tmp_13_0 : ctx_r0._paginatorDropdownItemTemplate)(\"showCurrentPageReport\", ctx_r0.showCurrentPageReport)(\"showJumpToPageDropdown\", ctx_r0.showJumpToPageDropdown)(\"showPageLinks\", ctx_r0.showPageLinks)(\"styleClass\", ctx_r0.paginatorStyleClass)(\"locale\", ctx_r0.paginatorLocale);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.paginatorFirstPageLinkIconTemplate || ctx_r0._paginatorFirstPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.paginatorPreviousPageLinkIconTemplate || ctx_r0._paginatorPreviousPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.paginatorLastPageLinkIconTemplate || ctx_r0._paginatorLastPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.paginatorNextPageLinkIconTemplate || ctx_r0._paginatorNextPageLinkIconTemplate);\n }\n}\nfunction TreeTable_div_5_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_div_5_ng_container_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_div_5_ng_container_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_div_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 33)(1, \"table\", 34, 1);\n i0.ɵɵtemplate(3, TreeTable_div_5_ng_container_3_Template, 1, 0, \"ng-container\", 35);\n i0.ɵɵelementStart(4, \"thead\", 36);\n i0.ɵɵtemplate(5, TreeTable_div_5_ng_container_5_Template, 1, 0, \"ng-container\", 35);\n i0.ɵɵelementEnd();\n i0.ɵɵelement(6, \"tbody\", 37);\n i0.ɵɵelementStart(7, \"tfoot\", 38);\n i0.ɵɵtemplate(8, TreeTable_div_5_ng_container_8_Template, 1, 0, \"ng-container\", 35);\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n let tmp_10_0;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngClass\", ctx_r0.tableStyleClass)(\"ngStyle\", ctx_r0.tableStyle);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.colGroupTemplate || ctx_r0._colGroupTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(10, _c34, ctx_r0.columns));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.headerTemplate || ctx_r0._headerTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(12, _c34, ctx_r0.columns));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"pTreeTableBody\", ctx_r0.columns)(\"pTreeTableBodyTemplate\", (tmp_10_0 = ctx_r0.bodyTemplate) !== null && tmp_10_0 !== undefined ? tmp_10_0 : ctx_r0._bodyTemplate);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.footerTemplate || ctx_r0._footerTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(14, _c34, ctx_r0.columns));\n }\n}\nfunction TreeTable_div_6_div_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 42, 3);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ttScrollableView\", ctx_r0.frozenColumns)(\"frozen\", true)(\"ngStyle\", i0.ɵɵpureFunction1(4, _c36, ctx_r0.frozenWidth))(\"scrollHeight\", ctx_r0.scrollHeight);\n }\n}\nfunction TreeTable_div_6_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 39);\n i0.ɵɵtemplate(1, TreeTable_div_6_div_1_Template, 2, 6, \"div\", 40);\n i0.ɵɵelement(2, \"div\", 41, 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.frozenColumns || ctx_r0.frozenBodyTemplate || ctx_r0._frozenBodyTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ttScrollableView\", ctx_r0.columns)(\"frozen\", false)(\"scrollHeight\", ctx_r0.scrollHeight)(\"ngStyle\", i0.ɵɵpureFunction2(5, _c35, ctx_r0.frozenWidth, \"calc(100% - \" + ctx_r0.frozenWidth + \")\"));\n }\n}\nfunction TreeTable_p_paginator_7_1_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_p_paginator_7_1_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_7_1_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 26);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.paginatorFirstPageLinkIconTemplate || ctx_r0._paginatorFirstPageLinkIconTemplate);\n }\n}\nfunction TreeTable_p_paginator_7_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_7_1_ng_template_0_Template, 1, 1, \"ng-template\", 29);\n }\n}\nfunction TreeTable_p_paginator_7_2_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_p_paginator_7_2_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_7_2_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 26);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.paginatorPreviousPageLinkIconTemplate || ctx_r0._paginatorPreviousPageLinkIconTemplate);\n }\n}\nfunction TreeTable_p_paginator_7_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_7_2_ng_template_0_Template, 1, 1, \"ng-template\", 30);\n }\n}\nfunction TreeTable_p_paginator_7_3_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_p_paginator_7_3_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_7_3_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 26);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.paginatorLastPageLinkIconTemplate || ctx_r0._paginatorLastPageLinkIconTemplate);\n }\n}\nfunction TreeTable_p_paginator_7_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_7_3_ng_template_0_Template, 1, 1, \"ng-template\", 31);\n }\n}\nfunction TreeTable_p_paginator_7_4_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_p_paginator_7_4_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_7_4_ng_template_0_ng_container_0_Template, 1, 0, \"ng-container\", 26);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.paginatorNextPageLinkIconTemplate || ctx_r0._paginatorNextPageLinkIconTemplate);\n }\n}\nfunction TreeTable_p_paginator_7_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_p_paginator_7_4_ng_template_0_Template, 1, 1, \"ng-template\", 32);\n }\n}\nfunction TreeTable_p_paginator_7_Template(rf, ctx) {\n if (rf & 1) {\n const _r3 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"p-paginator\", 43);\n i0.ɵɵlistener(\"onPageChange\", function TreeTable_p_paginator_7_Template_p_paginator_onPageChange_0_listener($event) {\n i0.ɵɵrestoreView(_r3);\n const ctx_r0 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r0.onPageChange($event));\n });\n i0.ɵɵtemplate(1, TreeTable_p_paginator_7_1_Template, 1, 0, null, 21)(2, TreeTable_p_paginator_7_2_Template, 1, 0, null, 21)(3, TreeTable_p_paginator_7_3_Template, 1, 0, null, 21)(4, TreeTable_p_paginator_7_4_Template, 1, 0, null, 21);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n let tmp_8_0;\n let tmp_9_0;\n let tmp_13_0;\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"rows\", ctx_r0.rows)(\"first\", ctx_r0.first)(\"totalRecords\", ctx_r0.totalRecords)(\"pageLinkSize\", ctx_r0.pageLinks)(\"alwaysShow\", ctx_r0.alwaysShowPaginator)(\"rowsPerPageOptions\", ctx_r0.rowsPerPageOptions)(\"templateLeft\", (tmp_8_0 = ctx_r0.paginatorLeftTemplate) !== null && tmp_8_0 !== undefined ? tmp_8_0 : ctx_r0._paginatorLeftTemplate)(\"templateRight\", (tmp_9_0 = ctx_r0.paginatorRightTemplate) !== null && tmp_9_0 !== undefined ? tmp_9_0 : ctx_r0._paginatorRightTemplate)(\"dropdownAppendTo\", ctx_r0.paginatorDropdownAppendTo)(\"currentPageReportTemplate\", ctx_r0.currentPageReportTemplate)(\"showFirstLastIcon\", ctx_r0.showFirstLastIcon)(\"dropdownItemTemplate\", (tmp_13_0 = ctx_r0.paginatorDropdownItemTemplate) !== null && tmp_13_0 !== undefined ? tmp_13_0 : ctx_r0._paginatorDropdownItemTemplate)(\"showCurrentPageReport\", ctx_r0.showCurrentPageReport)(\"showJumpToPageDropdown\", ctx_r0.showJumpToPageDropdown)(\"showPageLinks\", ctx_r0.showPageLinks)(\"styleClass\", ctx_r0.paginatorStyleClass)(\"locale\", ctx_r0.paginatorLocale);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.paginatorFirstPageLinkIconTemplate || ctx_r0._paginatorFirstPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.paginatorPreviousPageLinkIconTemplate || ctx_r0._paginatorPreviousPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.paginatorLastPageLinkIconTemplate || ctx_r0._paginatorLastPageLinkIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.paginatorNextPageLinkIconTemplate || ctx_r0._paginatorNextPageLinkIconTemplate);\n }\n}\nfunction TreeTable_div_8_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTable_div_8_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 44);\n i0.ɵɵtemplate(1, TreeTable_div_8_ng_container_1_Template, 1, 0, \"ng-container\", 26);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.summaryTemplate || ctx_r0._summaryTemplate);\n }\n}\nfunction TreeTable_div_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 45, 4);\n }\n}\nfunction TreeTable_span_10_ArrowDownIcon_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"ArrowDownIcon\");\n }\n}\nfunction TreeTable_span_10_3_ng_template_0_Template(rf, ctx) {}\nfunction TreeTable_span_10_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_span_10_3_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction TreeTable_span_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 46, 5);\n i0.ɵɵtemplate(2, TreeTable_span_10_ArrowDownIcon_2_Template, 1, 0, \"ArrowDownIcon\", 21)(3, TreeTable_span_10_3_Template, 1, 0, null, 26);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.reorderIndicatorUpIconTemplate && !ctx_r0._reorderIndicatorUpIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.reorderIndicatorUpIconTemplate || ctx_r0._reorderIndicatorUpIconTemplate);\n }\n}\nfunction TreeTable_span_11_ArrowUpIcon_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"ArrowUpIcon\");\n }\n}\nfunction TreeTable_span_11_3_ng_template_0_Template(rf, ctx) {}\nfunction TreeTable_span_11_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTable_span_11_3_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction TreeTable_span_11_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 47, 6);\n i0.ɵɵtemplate(2, TreeTable_span_11_ArrowUpIcon_2_Template, 1, 0, \"ArrowUpIcon\", 21)(3, TreeTable_span_11_3_Template, 1, 0, null, 26);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.reorderIndicatorDownIconTemplate && !ctx_r0._reorderIndicatorDownIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.reorderIndicatorDownIconTemplate || ctx_r0._reorderIndicatorDownIconTemplate);\n }\n}\nconst _c37 = [\"pTreeTableBody\", \"\"];\nconst _c38 = (a0, a1, a2, a3) => ({\n $implicit: a0,\n node: a1,\n rowData: a2,\n columns: a3\n});\nconst _c39 = (a0, a1) => ({\n $implicit: a0,\n frozen: a1\n});\nfunction TTBody_ng_template_0_ng_container_0_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTBody_ng_template_0_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TTBody_ng_template_0_ng_container_0_ng_container_1_Template, 1, 0, \"ng-container\", 2);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const serializedNode_r1 = i0.ɵɵnextContext().$implicit;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.template)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction4(2, _c38, serializedNode_r1, serializedNode_r1.node, serializedNode_r1.node.data, ctx_r1.columns));\n }\n}\nfunction TTBody_ng_template_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTBody_ng_template_0_ng_container_0_Template, 2, 7, \"ng-container\", 1);\n }\n if (rf & 2) {\n const serializedNode_r1 = ctx.$implicit;\n i0.ɵɵproperty(\"ngIf\", serializedNode_r1.visible);\n }\n}\nfunction TTBody_ng_container_1_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTBody_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TTBody_ng_container_1_ng_container_1_Template, 1, 0, \"ng-container\", 2);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.tt.emptyMessageTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c39, ctx_r1.columns, ctx_r1.frozen));\n }\n}\nconst _c40 = [\"scrollHeader\"];\nconst _c41 = [\"scrollHeaderBox\"];\nconst _c42 = [\"scrollBody\"];\nconst _c43 = [\"scrollTable\"];\nconst _c44 = [\"loadingTable\"];\nconst _c45 = [\"scrollFooter\"];\nconst _c46 = [\"scrollFooterBox\"];\nconst _c47 = [\"scrollableAligner\"];\nconst _c48 = [\"scroller\"];\nconst _c49 = [\"ttScrollableView\", \"\"];\nconst _c50 = a0 => ({\n height: a0\n});\nconst _c51 = (a0, a1) => ({\n $implicit: a0,\n options: a1\n});\nconst _c52 = a0 => ({\n options: a0\n});\nconst _c53 = (a0, a1) => ({\n \"max-height\": a0,\n \"overflow-y\": a1\n});\nconst _c54 = () => ({});\nfunction TTScrollableView_ng_container_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTScrollableView_ng_container_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTScrollableView_p_scroller_8_ng_template_2_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTScrollableView_p_scroller_8_ng_template_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTScrollableView_p_scroller_8_ng_template_2_ng_container_0_Template, 1, 0, \"ng-container\", 14);\n }\n if (rf & 2) {\n const items_r3 = ctx.$implicit;\n const scrollerOptions_r4 = ctx.options;\n i0.ɵɵnextContext(2);\n const buildInItems_r5 = i0.ɵɵreference(11);\n i0.ɵɵproperty(\"ngTemplateOutlet\", buildInItems_r5)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c51, items_r3, scrollerOptions_r4));\n }\n}\nfunction TTScrollableView_p_scroller_8_ng_container_4_ng_template_1_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTScrollableView_p_scroller_8_ng_container_4_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTScrollableView_p_scroller_8_ng_container_4_ng_template_1_ng_container_0_Template, 1, 0, \"ng-container\", 14);\n }\n if (rf & 2) {\n const scrollerOptions_r6 = ctx.options;\n const ctx_r1 = i0.ɵɵnextContext(3);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.tt.loaderTemplate || ctx_r1.tt._loaderTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c52, scrollerOptions_r6));\n }\n}\nfunction TTScrollableView_p_scroller_8_ng_container_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TTScrollableView_p_scroller_8_ng_container_4_ng_template_1_Template, 1, 4, \"ng-template\", null, 5, i0.ɵɵtemplateRefExtractor);\n i0.ɵɵelementContainerEnd();\n }\n}\nfunction TTScrollableView_p_scroller_8_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"p-scroller\", 19, 3);\n i0.ɵɵlistener(\"onLazyLoad\", function TTScrollableView_p_scroller_8_Template_p_scroller_onLazyLoad_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n const ctx_r1 = i0.ɵɵnextContext();\n return i0.ɵɵresetView(ctx_r1.tt.onLazyItemLoad($event));\n });\n i0.ɵɵtemplate(2, TTScrollableView_p_scroller_8_ng_template_2_Template, 1, 5, \"ng-template\", null, 4, i0.ɵɵtemplateRefExtractor)(4, TTScrollableView_p_scroller_8_ng_container_4_Template, 3, 0, \"ng-container\", 17);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵstyleMap(i0.ɵɵpureFunction1(8, _c50, ctx_r1.tt.scrollHeight !== \"flex\" ? ctx_r1.tt.scrollHeight : undefined));\n i0.ɵɵproperty(\"items\", ctx_r1.tt.serializedValue)(\"scrollHeight\", ctx_r1.scrollHeight !== \"flex\" ? undefined : \"100%\")(\"itemSize\", ctx_r1.tt.virtualScrollItemSize || ctx_r1.tt._virtualRowHeight)(\"lazy\", ctx_r1.tt.lazy)(\"options\", ctx_r1.tt.virtualScrollOptions);\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"ngIf\", ctx_r1.tt.loaderTemplate || ctx_r1.tt._loaderTemplate);\n }\n}\nfunction TTScrollableView_ng_container_9_ng_container_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTScrollableView_ng_container_9_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵelementStart(1, \"div\", 20, 6);\n i0.ɵɵtemplate(3, TTScrollableView_ng_container_9_ng_container_3_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelementEnd();\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n const buildInItems_r5 = i0.ɵɵreference(11);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngStyle\", i0.ɵɵpureFunction2(3, _c53, ctx_r1.tt.scrollHeight !== \"flex\" ? ctx_r1.scrollHeight : undefined, !ctx_r1.frozen && ctx_r1.tt.scrollHeight ? \"scroll\" : undefined));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", buildInItems_r5)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(7, _c51, ctx_r1.serializedValue, i0.ɵɵpureFunction0(6, _c54)));\n }\n}\nfunction TTScrollableView_ng_template_10_ng_container_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTScrollableView_ng_template_10_div_4_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 24, 8);\n }\n}\nfunction TTScrollableView_ng_template_10_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"table\", 21, 7);\n i0.ɵɵtemplate(2, TTScrollableView_ng_template_10_ng_container_2_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelement(3, \"tbody\", 22);\n i0.ɵɵelementEnd();\n i0.ɵɵtemplate(4, TTScrollableView_ng_template_10_div_4_Template, 2, 0, \"div\", 23);\n }\n if (rf & 2) {\n const items_r7 = ctx.$implicit;\n const scrollerOptions_r8 = ctx.options;\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵstyleMap(scrollerOptions_r8.contentStyle);\n i0.ɵɵclassMap(ctx_r1.tt.tableStyleClass);\n i0.ɵɵproperty(\"ngClass\", scrollerOptions_r8.contentStyleClass)(\"ngStyle\", ctx_r1.tt.tableStyle);\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.frozen ? ctx_r1.tt.frozenColGroupTemplate || ctx_r1.tt._frozenColGroupTemplate || ctx_r1.tt.colGroupTemplate || ctx_r1.tt._colGroupTemplate : ctx_r1.tt.colGroupTemplate || ctx_r1.tt._colGroupTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(13, _c34, ctx_r1.columns));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"pTreeTableBody\", ctx_r1.columns)(\"pTreeTableBodyTemplate\", ctx_r1.frozen ? ctx_r1.tt.frozenBodyTemplate || ctx_r1.tt._frozenBodyTemplate || ctx_r1.tt.bodyTemplate || ctx_r1.tt._bodyTemplate : ctx_r1.tt.bodyTemplate || ctx_r1.tt._bodyTemplate)(\"serializedNodes\", items_r7)(\"frozen\", ctx_r1.frozen);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r1.frozen);\n }\n}\nfunction TTScrollableView_div_12_ng_container_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTScrollableView_div_12_ng_container_7_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TTScrollableView_div_12_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 25, 9)(2, \"div\", 26, 10)(4, \"table\", 27);\n i0.ɵɵtemplate(5, TTScrollableView_div_12_ng_container_5_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelementStart(6, \"tfoot\", 28);\n i0.ɵɵtemplate(7, TTScrollableView_div_12_ng_container_7_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelementEnd()()()();\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"ngClass\", ctx_r1.tt.tableStyleClass)(\"ngStyle\", ctx_r1.tt.tableStyle);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.frozen ? ctx_r1.tt.frozenColGroupTemplate || ctx_r1.tt._frozenColGroupTemplate || ctx_r1.tt.colGroupTemplate || ctx_r1.tt._colGroupTemplate : ctx_r1.tt.colGroupTemplate || ctx_r1.tt._colGroupTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(6, _c34, ctx_r1.columns));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.frozen ? ctx_r1.tt.frozenFooterTemplate || ctx_r1.tt._frozenFooterTemplate || ctx_r1.tt.footerTemplate || ctx_r1.tt._footerTemplate : ctx_r1.tt.footerTemplate || ctx_r1.tt._footerTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(8, _c34, ctx_r1.columns));\n }\n}\nfunction TTSortIcon_ng_container_0_SortAltIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"SortAltIcon\", 3);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"styleClass\", \"p-sortable-column-icon\");\n }\n}\nfunction TTSortIcon_ng_container_0_SortAmountUpAltIcon_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"SortAmountUpAltIcon\", 3);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"styleClass\", \"p-sortable-column-icon\");\n }\n}\nfunction TTSortIcon_ng_container_0_SortAmountDownIcon_3_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"SortAmountDownIcon\", 3);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"styleClass\", \"p-sortable-column-icon\");\n }\n}\nfunction TTSortIcon_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TTSortIcon_ng_container_0_SortAltIcon_1_Template, 1, 1, \"SortAltIcon\", 2)(2, TTSortIcon_ng_container_0_SortAmountUpAltIcon_2_Template, 1, 1, \"SortAmountUpAltIcon\", 2)(3, TTSortIcon_ng_container_0_SortAmountDownIcon_3_Template, 1, 1, \"SortAmountDownIcon\", 2);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.sortOrder === 0);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.sortOrder === 1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.sortOrder === -1);\n }\n}\nfunction TTSortIcon_span_1_1_ng_template_0_Template(rf, ctx) {}\nfunction TTSortIcon_span_1_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTSortIcon_span_1_1_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction TTSortIcon_span_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"span\", 4);\n i0.ɵɵtemplate(1, TTSortIcon_span_1_1_Template, 1, 0, null, 5);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.tt.sortIconTemplate || ctx_r0.tt._sortIconTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c34, ctx_r0.sortOrder));\n }\n}\nconst _c55 = (a0, a1) => ({\n $implicit: a0,\n partialSelected: a1\n});\nfunction TTCheckbox_ng_container_1_ng_template_1_0_ng_template_0_Template(rf, ctx) {}\nfunction TTCheckbox_ng_container_1_ng_template_1_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTCheckbox_ng_container_1_ng_template_1_0_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction TTCheckbox_ng_container_1_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTCheckbox_ng_container_1_ng_template_1_0_Template, 1, 0, null, 3);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.tt.checkboxIconTemplate || ctx_r0.tt._checkboxIconTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction2(2, _c55, ctx_r0.checked, ctx_r0.partialChecked));\n }\n}\nfunction TTCheckbox_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TTCheckbox_ng_container_1_ng_template_1_Template, 1, 5, \"ng-template\", 2);\n i0.ɵɵelementContainerEnd();\n }\n}\nfunction TTHeaderCheckbox_ng_container_1_ng_template_1_0_ng_template_0_Template(rf, ctx) {}\nfunction TTHeaderCheckbox_ng_container_1_ng_template_1_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTHeaderCheckbox_ng_container_1_ng_template_1_0_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nfunction TTHeaderCheckbox_ng_container_1_ng_template_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTHeaderCheckbox_ng_container_1_ng_template_1_0_Template, 1, 0, null, 3);\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.tt.headerCheckboxIconTemplate || ctx_r0.tt._headerCheckboxIconTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c34, ctx_r0.checked));\n }\n}\nfunction TTHeaderCheckbox_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TTHeaderCheckbox_ng_container_1_ng_template_1_Template, 1, 4, \"ng-template\", 2);\n i0.ɵɵelementContainerEnd();\n }\n}\nfunction TreeTableCellEditor_ng_container_0_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTableCellEditor_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TreeTableCellEditor_ng_container_0_ng_container_1_Template, 1, 0, \"ng-container\", 1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.inputTemplate);\n }\n}\nfunction TreeTableCellEditor_ng_container_1_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction TreeTableCellEditor_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TreeTableCellEditor_ng_container_1_ng_container_1_Template, 1, 0, \"ng-container\", 1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r0.outputTemplate);\n }\n}\nfunction TreeTableToggler_ng_container_1_ChevronDownIcon_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"ChevronDownIcon\");\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-hidden\", true);\n }\n}\nfunction TreeTableToggler_ng_container_1_ChevronRightIcon_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"ChevronRightIcon\");\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-hidden\", true);\n }\n}\nfunction TreeTableToggler_ng_container_1_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainerStart(0);\n i0.ɵɵtemplate(1, TreeTableToggler_ng_container_1_ChevronDownIcon_1_Template, 1, 1, \"ChevronDownIcon\", 1)(2, TreeTableToggler_ng_container_1_ChevronRightIcon_2_Template, 1, 1, \"ChevronRightIcon\", 1);\n i0.ɵɵelementContainerEnd();\n }\n if (rf & 2) {\n const ctx_r0 = i0.ɵɵnextContext();\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx_r0.rowNode.node.expanded);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx_r0.rowNode.node.expanded);\n }\n}\nfunction TreeTableToggler_2_ng_template_0_Template(rf, ctx) {}\nfunction TreeTableToggler_2_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTableToggler_2_ng_template_0_Template, 0, 0, \"ng-template\");\n }\n}\nconst theme = ({\n dt\n}) => `\n/* For PrimeNG */\n.p-treetable {\n position: relative;\n}\n\n.p-treetable table {\n border-collapse: collapse;\n width: 100%;\n table-layout: fixed;\n}\n\n.p-treetable .p-sortable-column {\n cursor: pointer;\n user-select: none;\n}\n\n.p-treetable .p-sortable-column .p-column-title,\n.p-treetable .p-sortable-column .p-sortable-column-icon,\n.p-treetable .p-sortable-column .p-sortable-column-badge {\n vertical-align: middle;\n}\n\n.p-treetable .p-sortable-column .p-sortable-column-badge {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.p-treetable-auto-layout>.p-treetable-wrapper {\n overflow-x: auto;\n}\n\n.p-treetable-auto-layout>.p-treetable-wrapper>table {\n table-layout: auto;\n}\n\n.p-treetable-hoverable-rows .p-treetable-tbody>tr {\n cursor: pointer;\n}\n\n.p-treetable-toggler {\n cursor: pointer;\n user-select: none;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n vertical-align: middle;\n overflow: hidden;\n position: relative;\n}\n\n\n/* Scrollable */\n.p-treetable-scrollable-wrapper {\n position: relative;\n}\n\n.p-treetable-scrollable-header,\n.p-treetable-scrollable-footer {\n overflow: hidden;\n flex-shrink: 0;\n}\n\n.p-treetable-scrollable-body {\n overflow: auto;\n position: relative;\n}\n\n.p-treetable-virtual-table {\n position: absolute;\n}\n\n/* Frozen Columns */\n.p-treetable-frozen-view .p-treetable-scrollable-body {\n overflow: hidden;\n}\n\n.p-treetable-frozen-view>.p-treetable-scrollable-body>table>.p-treetable-tbody>tr>td:last-child {\n border-right: 0 none;\n}\n\n.p-treetable-unfrozen-view {\n position: absolute;\n top: 0;\n}\n\n/* Flex Scrollable */\n.p-treetable-flex-scrollable {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n\n.p-treetable-flex-scrollable .p-treetable-scrollable-wrapper,\n.p-treetable-flex-scrollable .p-treetable-scrollable-view {\n display: flex;\n flex-direction: column;\n flex: 1;\n height: 100%;\n}\n\n.p-treetable-flex-scrollable .p-treetable-virtual-scrollable-body {\n flex: 1;\n}\n\n/* Resizable */\n.p-treetable-resizable>.p-treetable-wrapper {\n overflow-x: auto;\n}\n\n.p-treetable-resizable .p-treetable-thead>tr>th,\n.p-treetable-resizable .p-treetable-tfoot>tr>td,\n.p-treetable-resizable .p-treetable-tbody>tr>td {\n overflow: hidden;\n}\n\n.p-treetable-resizable .p-resizable-column {\n background-clip: padding-box;\n position: relative;\n}\n\n.p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer {\n display: none;\n}\n\n.p-treetable .p-column-resizer {\n display: block;\n position: absolute;\n top: 0;\n right: 0;\n margin: 0;\n width: ${dt('treetable.column.resizer.width')};\n height: 100%;\n padding: 0px;\n cursor: col-resize;\n border: 1px solid transparent;\n}\n\n.p-treetable .p-column-resizer-helper {\n width: ${dt('treetable.resize.indicator.width')};\n position: absolute;\n z-index: 10;\n display: none;\n background: ${dt('treetable.resize.indicator.color')};\n}\n\n.p-treetable .p-row-editor-init,\n.p-treetable .p-row-editor-save,\n.p-treetable .p-row-editor-cancel {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n}\n\n\n/* Reorder */\n.p-treetable-reorder-indicator-up,\n.p-treetable-reorder-indicator-down {\n position: absolute;\n display: none;\n}\n\n[ttReorderableColumn] {\n cursor: move;\n}\n\n/* Loader */\n.p-treetable-mask {\n position: absolute !important;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 2;\n}\n\n.p-treetable-loading-icon {\n font-size: ${dt('treetable.loading.icon.size')};\n width: ${dt('treetable.loading.icon.size')};\n height: ${dt('treetable.loading.icon.size')};\n}\n\n/* Virtual Scroll */\n.p-treetable .p-scroller-loading {\n transform: none !important;\n min-height: 0;\n position: sticky;\n top: 0;\n left: 0;\n}\n\n.p-treetable .p-paginator-top {\n border-color: ${dt('treetable.paginator.top.border.color')};\n border-style: solid;\n border-width: ${dt('treetable.paginator.top.border.width')};\n}\n\n.p-treetable .p-paginator-bottom {\n border-color: ${dt('treetable.paginator.bottom.border.color')};\n border-style: solid;\n border-width: ${dt('treetable.paginator.bottom.border.width')};\n}\n\n.p-treetable .p-treetable-header {\n background: ${dt('treetable.header.background')};\n color: ${dt('treetable.header.color')};\n border-color: ${dt('treetable.header.border.color')};\n border-style: solid;\n border-width: ${dt('treetable.header.border.width')};\n padding: ${dt('treetable.header.padding')};\n font-weight: ${dt('treetable.column.title.font.weight')};\n}\n\n.p-treetable .p-treetable-footer {\n background: ${dt('treetable.footer.background')};\n color: ${dt('treetable.footer.color')};\n border-color: ${dt('treetable.footer.border.color')};\n border-style: solid;\n border-width: ${dt('treetable.footer.border.width')};\n padding: ${dt('treetable.footer.padding')};\n font-weight: ${dt('treetable.column.footer.font.weight')};\n}\n\n.p-treetable .p-treetable-thead>tr>th {\n padding: ${dt('treetable.header.cell.padding')};\n background: ${dt('treetable.header.cell.background')};\n border-color: ${dt('treetable.header.cell.border.color')};\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ${dt('treetable.header.cell.color')};\n font-weight: ${dt('treetable.column.title.font.weight')};\n text-align: start;\n transition: background ${dt('treetable.transition.duration')}, color ${dt('treetable.transition.duration')}, border-color ${dt('treetable.transition.duration')},\n outline-color ${dt('treetable.transition.duration')}, box-shadow ${dt('treetable.transition.duration')};\n}\n\n.p-treetable .p-treetable-tfoot>tr>td {\n text-align: start;\n padding: ${dt('treetable.footer.cell.padding')};\n border-color: ${dt('treetable.footer.cell.border.color')};\n border-style: solid;\n border-width: 0 0 1px 0;\n color: ${dt('treetable.footer.cell.color')};\n background: ${dt('treetable.footer.cell.background')};\n font-weight: ${dt('treetable.column.footer.font.weight')};\n}\n\n.p-treetable .p-sortable-column {\n cursor: pointer;\n user-select: none;\n outline-color: transparent;\n vertical-align: middle;\n}\n\n.p-treetable .p-sortable-column .p-sortable-column-icon {\n color: ${dt('treetable.sort.icon.color')};\n transition: color ${dt('treetable.transition.duration')};\n}\n\n\n.p-treetable .p-sortable-column:not(.p-treetable-column-sorted):hover {\n background: ${dt('treetable.header.cell.hover.background')};\n color: ${dt('treetable.header.cell.hover.color')};\n}\n\n.p-treetable .p-sortable-column:not(.p-treetable-column-sorted):hover .p-sortable-column-icon {\n color: ${dt('treetable.sort.icon.hover.color')};\n}\n\n.p-treetable .p-sortable-column.p-treetable-column-sorted {\n background: ${dt('treetable.header.cell.selected.background')};\n color: ${dt('treetable.header.cell.selected.color')};\n}\n\n.p-treetable .p-sortable-column.p-treetable-column-sorted .p-sortable-column-icon {\n color: ${dt('treetable.header.cell.selected.color')};\n}\n\n.p-treetable .p-sortable-column:focus-visible {\n box-shadow: ${dt('treetable.header.cell.focus.ring.shadow')};\n outline: ${dt('treetable.header.cell.focus.ring.width')} ${dt('treetable.header.cell.focus.ring.style')} ${dt('treetable.header.cell.focus.ring.color')};\n outline-offset: ${dt('treetable.header.cell.focus.ring.offset')};\n}\n\n.p-treetable-hoverable .p-treetable-selectable-row {\n cursor: pointer;\n}\n\n.p-treetable .p-treetable-tbody > tr {\n outline-color: transparent;\n background: ${dt('treetable.row.background')};\n color: ${dt('treetable.row.color')};\n transition: background ${dt('treetable.transition.duration')}, color ${dt('treetable.transition.duration')}, border-color ${dt('treetable.transition.duration')},\n outline-color ${dt('treetable.transition.duration')}, box-shadow ${dt('treetable.transition.duration')};\n}\n\n.p-treetable .p-treetable-tbody>tr>td {\n text-align: start;\n border-color: ${dt('treetable.body.cell.border.color')};\n border-style: solid;\n border-width: 0 0 1px 0;\n padding: ${dt('treetable.body.cell.padding')};\n}\n\n.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ${dt('treetable.node.toggle.button.size')};\n height: ${dt('treetable.node.toggle.button.size')};\n color: ${dt('treetable.node.toggle.button.color')};\n border: 0 none;\n background: transparent;\n cursor: pointer;\n border-radius: ${dt('treetable.node.toggle.button.border.radius')};\n transition: background ${dt('treetable.transition.duration')}, color ${dt('treetable.transition.duration')}, border-color ${dt('treetable.transition.duration')},\n outline-color ${dt('treetable.transition.duration')}, box-shadow ${dt('treetable.transition.duration')};\n outline-color: transparent;\n user-select: none;\n}\n\n.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:enabled:hover {\n color: ${dt('treetable.node.toggle.button.hover.color')};\n background: ${dt('treetable.node.toggle.button.hover.background')};\n}\n\n.p-treetable .p-treetable-tbody>tr>tr.treetable-row-selected .p-treetable-toggler:hover {\n background: ${dt('treetable.node.toggle.button.selected.hover.background')};\n color: ${dt('treetable.node.toggle.button.selected.hover.color')};\n}\n\n.p-treetable .p-treetable-tbody>tr>td .p-treetable-toggler:focus-visible {\n box-shadow: ${dt('treetable.node.toggle.button.focus.ring.shadow')};\n outline: ${dt('treetable.node.toggle.button.focus.ring.width')} ${dt('treetable.node.toggle.button.focus.ring.style')} ${dt('treetable.node.toggle.button.focus.ring.color')};\n outline-offset: ${dt('treetable.node.toggle.button.focus.ring.offset')};\n}\n\n\n.p-treetable .p-treetable-tbody>tr.p-treetable-row-selected {\n background: ${dt('treetable.row.selected.background')};\n color: ${dt('treetable.row.selected.color')};\n}\n\n.p-treetable-tbody > tr:focus-visible,\n.p-treetable-tbody > tr.p-treetable-contextmenu-row-selected {\n box-shadow: ${dt('treetable.row.focus.ring.shadow')};\n outline: ${dt('treetable.row.focus.ring.width')} ${dt('treetable.row.focus.ring.style')} ${dt('treetable.row.focus.ring.color')};\n outline-offset: ${dt('treetable.row.focus.ring.offset')};\n}\n\n.p-treetable .p-treetable-tbody>tr.p-treetable-row-selected .p-treetable-toggler {\n color: inherit;\n}\n\n.p-treetable .p-treetable-tbody>tr.p-treetable-row-selected .p-treetable-toggler:hover {\n background: ${dt('treetable.node.toggle.button.selected.hover.background')};\n color: ${dt('treetable.node.toggle.button.selected.hover.color')};\n}\n\n.p-treetable.p-treetable-hoverable-rows .p-treetable-tbody>tr:not(.p-treetable-row-selected):hover {\n background: ${dt('treetable.row.hover.background')};\n color: ${dt('treetable.row.hover.color')};\n}\n\n.p-treetable.p-treetable-gridlines .p-datatable-header {\n border-width: 1px 1px 0 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-footer {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-top {\n border-width: 0 1px 0 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-bottom {\n border-width: 0 1px 1px 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-thead>tr>th {\n border-width: 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-tbody>tr>td {\n border-width: 1px;\n}\n\n.p-treetable.p-treetable-gridlines .p-treetable-tfoot>tr>td {\n border-width: 1px;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-header {\n padding: 0.65625rem 0.875rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-thead>tr>th {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-tbody>tr>td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-tfoot>tr>td {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-sm .p-treetable-footer {\n padding: 0.375rem 0.5rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-header {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-thead>tr>th {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-tbody>tr>td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-tfoot>tr>td {\n padding: 0.9375rem 1.25rem;\n}\n\n.p-treetable.p-treetable-lg .p-treetable-footer {\n padding: 0.9375rem 1.25rem;\n}\n\np-treetabletoggler + p-treetablecheckbox .p-checkbox,\np-treetable-toggler + p-treetable-checkbox .p-checkbox,\np-tree-table-toggler + p-tree-table-checkbox .p-checkbox {\n vertical-align: middle;\n}\n\np-treetabletoggler + p-treetablecheckbox + span,\np-treetable-toggler + p-treetable-checkbox + span,\np-tree-table-toggler + p-tree-table-checkbox + span {\n vertical-align: middle;\n}\n`;\nconst classes = {\n root: ({\n instance\n }) => ({\n 'p-treetable p-component': true,\n 'p-treetable-hoverable': instance.rowHover || instance.selectionMode,\n 'p-treetable-resizable': instance.resizableColumns,\n 'p-treetable-resizable-fit': instance.resizableColumns && instance.columnResizeMode === 'fit',\n 'p-treetable-scrollable': instance.scrollable,\n 'p-treetable-flex-scrollable': instance.scrollable && instance.scrollHeight === 'flex',\n 'p-treetable-gridlines': instance.showGridlines,\n 'p-treetable-sm': instance.size === 'small',\n 'p-treetable-lg': instance.size === 'large'\n }),\n loading: 'p-treetable-loading',\n //TODO: required?\n mask: 'p-treetable-mask p-overlay-mask',\n loadingIcon: 'p-treetable-loading-icon',\n header: 'p-treetable-header',\n paginator: ({\n instance\n }) => 'p-treetable-paginator-' + instance.paginatorPosition,\n tableContainer: 'p-treetable-table-container',\n table: ({\n instance\n }) => ({\n 'p-treetable-table': true,\n 'p-treetable-scrollable-table': instance.scrollable,\n 'p-treetable-resizable-table': instance.resizableColumns,\n 'p-treetable-resizable-table-fit': instance.resizableColumns && instance.columnResizeMode === 'fit'\n }),\n thead: 'p-treetable-thead',\n headerCell: ({\n instance\n }) => ({\n 'p-treetable-header-cell': true,\n 'p-treetable-sortable-column': instance.sortable,\n 'p-treetable-resizable-column': instance.resizableColumns,\n 'p-treetable-column-sorted': instance?.sorted,\n 'p-treetable-frozen-column': instance.columnProp('frozen')\n }),\n columnResizer: 'p-treetable-column-resizer',\n columnHeaderContent: 'p-treetable-column-header-content',\n columnTitle: 'p-treetable-column-title',\n sortIcon: 'p-treetable-sort-icon',\n pcSortBadge: 'p-treetable-sort-badge',\n tbody: 'p-treetable-tbody',\n row: ({\n instance\n }) => ({\n 'p-treetable-row-selected': instance.selected\n }),\n bodyCell: ({\n instance\n }) => ({\n 'p-treetable-frozen-column': instance.columnProp('frozen')\n }),\n bodyCellContent: ({\n instance\n }) => ({\n 'p-treetable-body-cell-content': true,\n 'p-treetable-body-cell-content-expander': instance.columnProp('expander')\n }),\n toggler: 'p-treetable-body-cell-content-expander',\n nodeToggleButton: 'p-treetable-node-toggle-button',\n nodeToggleIcon: 'p-treetable-node-toggle-icon',\n pcNodeCheckbox: 'p-treetable-node-checkbox',\n emptyMessage: 'p-treetable-empty-message',\n tfoot: 'p-treetable-tfoot',\n footerCell: ({\n instance\n }) => ({\n 'p-treetable-frozen-column': instance.columnProp('frozen')\n }),\n footer: 'p-treetable-footer',\n columnResizeIndicator: 'p-treetable-column-resize-indicator'\n};\nconst inlineStyles = {\n tableContainer: {\n overflow: 'auto'\n },\n thead: {\n position: 'sticky'\n },\n tfoot: {\n position: 'sticky'\n }\n};\nclass TreeTableStyle extends BaseStyle {\n name = 'treetable';\n theme = theme;\n classes = classes;\n inlineStyles = inlineStyles;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵTreeTableStyle_BaseFactory;\n return function TreeTableStyle_Factory(__ngFactoryType__) {\n return (ɵTreeTableStyle_BaseFactory || (ɵTreeTableStyle_BaseFactory = i0.ɵɵgetInheritedFactory(TreeTableStyle)))(__ngFactoryType__ || TreeTableStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TreeTableStyle,\n factory: TreeTableStyle.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TreeTableStyle, [{\n type: Injectable\n }], null, null);\n})();\n/**\n *\n * TreeTable is used to display hierarchical data in tabular format.\n *\n * [Live Demo](https://www.primeng.org/treetable/)\n *\n * @module treetablestyle\n *\n */\nvar TreeTableClasses;\n(function (TreeTableClasses) {\n /**\n * Class name of the root element\n */\n TreeTableClasses[\"root\"] = \"p-treetable\";\n /**\n * Class name of the loading element\n */\n TreeTableClasses[\"loading\"] = \"p-treetable-loading\";\n /**\n * Class name of the mask element\n */\n TreeTableClasses[\"mask\"] = \"p-treetable-mask\";\n /**\n * Class name of the loading icon element\n */\n TreeTableClasses[\"loadingIcon\"] = \"p-treetable-loading-icon\";\n /**\n * Class name of the header element\n */\n TreeTableClasses[\"header\"] = \"p-treetable-header\";\n /**\n * Class name of the paginator element\n */\n TreeTableClasses[\"paginator\"] = \"p-treetable-paginator-[position]\";\n /**\n * Class name of the table container element\n */\n TreeTableClasses[\"tableContainer\"] = \"p-treetable-table-container\";\n /**\n * Class name of the table element\n */\n TreeTableClasses[\"table\"] = \"p-treetable-table\";\n /**\n * Class name of the thead element\n */\n TreeTableClasses[\"thead\"] = \"p-treetable-thead\";\n /**\n * Class name of the column resizer element\n */\n TreeTableClasses[\"columnResizer\"] = \"p-treetable-column-resizer\";\n /**\n * Class name of the column title element\n */\n TreeTableClasses[\"columnTitle\"] = \"p-treetable-column-title\";\n /**\n * Class name of the sort icon element\n */\n TreeTableClasses[\"sortIcon\"] = \"p-treetable-sort-icon\";\n /**\n * Class name of the sort badge element\n */\n TreeTableClasses[\"pcSortBadge\"] = \"p-treetable-sort-badge\";\n /**\n * Class name of the tbody element\n */\n TreeTableClasses[\"tbody\"] = \"p-treetable-tbody\";\n /**\n * Class name of the node toggle button element\n */\n TreeTableClasses[\"nodeToggleButton\"] = \"p-treetable-node-toggle-button\";\n /**\n * Class name of the node toggle icon element\n */\n TreeTableClasses[\"nodeToggleIcon\"] = \"p-treetable-node-toggle-icon\";\n /**\n * Class name of the node checkbox element\n */\n TreeTableClasses[\"pcNodeCheckbox\"] = \"p-treetable-node-checkbox\";\n /**\n * Class name of the empty message element\n */\n TreeTableClasses[\"emptyMessage\"] = \"p-treetable-empty-message\";\n /**\n * Class name of the tfoot element\n */\n TreeTableClasses[\"tfoot\"] = \"p-treetable-tfoot\";\n /**\n * Class name of the footer element\n */\n TreeTableClasses[\"footer\"] = \"p-treetable-footer\";\n /**\n * Class name of the column resize indicator element\n */\n TreeTableClasses[\"columnResizeIndicator\"] = \"p-treetable-column-resize-indicator\";\n})(TreeTableClasses || (TreeTableClasses = {}));\nclass TreeTableService {\n sortSource = new Subject();\n selectionSource = new Subject();\n contextMenuSource = new Subject();\n uiUpdateSource = new Subject();\n totalRecordsSource = new Subject();\n sortSource$ = this.sortSource.asObservable();\n selectionSource$ = this.selectionSource.asObservable();\n contextMenuSource$ = this.contextMenuSource.asObservable();\n uiUpdateSource$ = this.uiUpdateSource.asObservable();\n totalRecordsSource$ = this.totalRecordsSource.asObservable();\n onSort(sortMeta) {\n this.sortSource.next(sortMeta);\n }\n onSelectionChange() {\n this.selectionSource.next(null);\n }\n onContextMenu(node) {\n this.contextMenuSource.next(node);\n }\n onUIUpdate(value) {\n this.uiUpdateSource.next(value);\n }\n onTotalRecordsChange(value) {\n this.totalRecordsSource.next(value);\n }\n static ɵfac = function TreeTableService_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TreeTableService)();\n };\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: TreeTableService,\n factory: TreeTableService.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TreeTableService, [{\n type: Injectable\n }], null, null);\n})();\n/**\n * TreeTable is used to display hierarchical data in tabular format.\n * @group Components\n */\nclass TreeTable extends BaseComponent {\n _componentStyle = inject(TreeTableStyle);\n /**\n * An array of objects to represent dynamic columns.\n * @group Props\n */\n columns;\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Inline style of the table.\n * @group Props\n */\n tableStyle;\n /**\n * Style class of the table.\n * @group Props\n */\n tableStyleClass;\n /**\n * Whether the cell widths scale according to their content or not.\n * @group Props\n */\n autoLayout;\n /**\n * Defines if data is loaded and interacted with in lazy manner.\n * @group Props\n */\n lazy = false;\n /**\n * Whether to call lazy loading on initialization.\n * @group Props\n */\n lazyLoadOnInit = true;\n /**\n * When specified as true, enables the pagination.\n * @group Props\n */\n paginator;\n /**\n * Number of rows to display per page.\n * @group Props\n */\n rows;\n /**\n * Index of the first row to be displayed.\n * @group Props\n */\n first = 0;\n /**\n * Number of page links to display in paginator.\n * @group Props\n */\n pageLinks = 5;\n /**\n * Array of integer/object values to display inside rows per page dropdown of paginator\n * @group Props\n */\n rowsPerPageOptions;\n /**\n * Whether to show it even there is only one page.\n * @group Props\n */\n alwaysShowPaginator = true;\n /**\n * Position of the paginator.\n * @group Props\n */\n paginatorPosition = 'bottom';\n /**\n * Custom style class for paginator\n * @group Props\n */\n paginatorStyleClass;\n /**\n * Target element to attach the paginator dropdown overlay, valid values are \"body\" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]=\"mydiv\" for a div element having #mydiv as variable name).\n * @group Props\n */\n paginatorDropdownAppendTo;\n /**\n * Template of the current page report element. Available placeholders are {currentPage},{totalPages},{rows},{first},{last} and {totalRecords}\n * @group Props\n */\n currentPageReportTemplate = '{currentPage} of {totalPages}';\n /**\n * Whether to display current page report.\n * @group Props\n */\n showCurrentPageReport;\n /**\n * Whether to display a dropdown to navigate to any page.\n * @group Props\n */\n showJumpToPageDropdown;\n /**\n * When enabled, icons are displayed on paginator to go first and last page.\n * @group Props\n */\n showFirstLastIcon = true;\n /**\n * Whether to show page links.\n * @group Props\n */\n showPageLinks = true;\n /**\n * Sort order to use when an unsorted column gets sorted by user interaction.\n * @group Props\n */\n defaultSortOrder = 1;\n /**\n * Defines whether sorting works on single column or on multiple columns.\n * @group Props\n */\n sortMode = 'single';\n /**\n * When true, resets paginator to first page after sorting.\n * @group Props\n */\n resetPageOnSort = true;\n /**\n * Whether to use the default sorting or a custom one using sortFunction.\n * @group Props\n */\n customSort;\n /**\n * Specifies the selection mode, valid values are \"single\" and \"multiple\".\n * @group Props\n */\n selectionMode;\n /**\n * Selected row with a context menu.\n * @group Props\n */\n contextMenuSelection;\n /**\n * Mode of the contet menu selection.\n * @group Props\n */\n contextMenuSelectionMode = 'separate';\n /**\n * A property to uniquely identify a record in data.\n * @group Props\n */\n dataKey;\n /**\n * Defines whether metaKey is should be considered for the selection. On touch enabled devices, metaKeySelection is turned off automatically.\n * @group Props\n */\n metaKeySelection = false;\n /**\n * Algorithm to define if a row is selected, valid values are \"equals\" that compares by reference and \"deepEquals\" that compares all fields.\n * @group Props\n */\n compareSelectionBy = 'deepEquals';\n /**\n * Adds hover effect to rows without the need for selectionMode.\n * @group Props\n */\n rowHover;\n /**\n * Displays a loader to indicate data load is in progress.\n * @group Props\n */\n loading;\n /**\n * The icon to show while indicating data load is in progress.\n * @group Props\n */\n loadingIcon;\n /**\n * Whether to show the loading mask when loading property is true.\n * @group Props\n */\n showLoader = true;\n /**\n * When specified, enables horizontal and/or vertical scrolling.\n * @group Props\n */\n scrollable;\n /**\n * Height of the scroll viewport in fixed pixels or the \"flex\" keyword for a dynamic size.\n * @group Props\n */\n scrollHeight;\n /**\n * Whether the data should be loaded on demand during scroll.\n * @group Props\n */\n virtualScroll;\n /**\n * Height of a row to use in calculations of virtual scrolling.\n * @group Props\n */\n virtualScrollItemSize;\n /**\n * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.\n * @group Props\n */\n virtualScrollOptions;\n /**\n * The delay (in milliseconds) before triggering the virtual scroll. This determines the time gap between the user's scroll action and the actual rendering of the next set of items in the virtual scroll.\n * @group Props\n */\n virtualScrollDelay = 150;\n /**\n * Width of the frozen columns container.\n * @group Props\n */\n frozenWidth;\n /**\n * An array of objects to represent dynamic columns that are frozen.\n * @group Props\n */\n frozenColumns;\n /**\n * When enabled, columns can be resized using drag and drop.\n * @group Props\n */\n resizableColumns;\n /**\n * Defines whether the overall table width should change on column resize, valid values are \"fit\" and \"expand\".\n * @group Props\n */\n columnResizeMode = 'fit';\n /**\n * When enabled, columns can be reordered using drag and drop.\n * @group Props\n */\n reorderableColumns;\n /**\n * Local ng-template varilable of a ContextMenu.\n * @group Props\n */\n contextMenu;\n /**\n * Function to optimize the dom operations by delegating to ngForTrackBy, default algorithm checks for object identity.\n * @group Props\n */\n rowTrackBy = (index, item) => item;\n /**\n * An array of FilterMetadata objects to provide external filters.\n * @group Props\n */\n filters = {};\n /**\n * An array of fields as string to use in global filtering.\n * @group Props\n */\n globalFilterFields;\n /**\n * Delay in milliseconds before filtering the data.\n * @group Props\n */\n filterDelay = 300;\n /**\n * Mode for filtering valid values are \"lenient\" and \"strict\". Default is lenient.\n * @group Props\n */\n filterMode = 'lenient';\n /**\n * Locale to use in filtering. The default locale is the host environment's current locale.\n * @group Props\n */\n filterLocale;\n /**\n * Locale to be used in paginator formatting.\n * @group Props\n */\n paginatorLocale;\n /**\n * Number of total records, defaults to length of value when not defined.\n * @group Props\n */\n get totalRecords() {\n return this._totalRecords;\n }\n set totalRecords(val) {\n this._totalRecords = val;\n this.tableService.onTotalRecordsChange(this._totalRecords);\n }\n /**\n * Name of the field to sort data by default.\n * @group Props\n */\n get sortField() {\n return this._sortField;\n }\n set sortField(val) {\n this._sortField = val;\n }\n /**\n * Order to sort when default sorting is enabled.\n * @defaultValue 1\n * @group Props\n */\n get sortOrder() {\n return this._sortOrder;\n }\n set sortOrder(val) {\n this._sortOrder = val;\n }\n /**\n * An array of SortMeta objects to sort the data by default in multiple sort mode.\n * @defaultValue null\n * @group Props\n */\n get multiSortMeta() {\n return this._multiSortMeta;\n }\n set multiSortMeta(val) {\n this._multiSortMeta = val;\n }\n /**\n * Selected row in single mode or an array of values in multiple mode.\n * @defaultValue null\n * @group Props\n */\n get selection() {\n return this._selection;\n }\n set selection(val) {\n this._selection = val;\n }\n /**\n * An array of objects to display.\n * @defaultValue null\n * @group Props\n */\n get value() {\n return this._value;\n }\n set value(val) {\n this._value = val;\n }\n /**\n * Indicates the height of rows to be scrolled.\n * @defaultValue 28\n * @group Props\n * @deprecated use virtualScrollItemSize property instead.\n */\n get virtualRowHeight() {\n return this._virtualRowHeight;\n }\n set virtualRowHeight(val) {\n this._virtualRowHeight = val;\n console.log('The virtualRowHeight property is deprecated, use virtualScrollItemSize property instead.');\n }\n /**\n * A map of keys to control the selection state.\n * @group Props\n */\n get selectionKeys() {\n return this._selectionKeys;\n }\n set selectionKeys(value) {\n this._selectionKeys = value;\n this.selectionKeysChange.emit(this._selectionKeys);\n }\n /**\n * Whether to show grid lines between cells.\n * @defaultValue false\n * @group Props\n */\n showGridlines = false;\n /**\n * Callback to invoke on selected node change.\n * @param {TreeTableNode} object - Node instance.\n * @group Emits\n */\n selectionChange = new EventEmitter();\n /**\n * Callback to invoke on context menu selection change.\n * @param {TreeTableNode} object - Node instance.\n * @group Emits\n */\n contextMenuSelectionChange = new EventEmitter();\n /**\n * Callback to invoke when data is filtered.\n * @param {TreeTableFilterEvent} event - Custom filter event.\n * @group Emits\n */\n onFilter = new EventEmitter();\n /**\n * Callback to invoke when a node is expanded.\n * @param {TreeTableNodeExpandEvent} event - Node expand event.\n * @group Emits\n */\n onNodeExpand = new EventEmitter();\n /**\n * Callback to invoke when a node is collapsed.\n * @param {TreeTableNodeCollapseEvent} event - Node collapse event.\n * @group Emits\n */\n onNodeCollapse = new EventEmitter();\n /**\n * Callback to invoke when pagination occurs.\n * @param {TreeTablePaginatorState} object - Paginator state.\n * @group Emits\n */\n onPage = new EventEmitter();\n /**\n * Callback to invoke when a column gets sorted.\n * @param {Object} Object - Sort data.\n * @group Emits\n */\n onSort = new EventEmitter();\n /**\n * Callback to invoke when paging, sorting or filtering happens in lazy mode.\n * @param {TreeTableLazyLoadEvent} event - Custom lazy load event.\n * @group Emits\n */\n onLazyLoad = new EventEmitter();\n /**\n * An event emitter to invoke on custom sorting, refer to sorting section for details.\n * @param {TreeTableSortEvent} event - Custom sort event.\n * @group Emits\n */\n sortFunction = new EventEmitter();\n /**\n * Callback to invoke when a column is resized.\n * @param {TreeTableColResizeEvent} event - Custom column resize event.\n * @group Emits\n */\n onColResize = new EventEmitter();\n /**\n * Callback to invoke when a column is reordered.\n * @param {TreeTableColumnReorderEvent} event - Custom column reorder.\n * @group Emits\n */\n onColReorder = new EventEmitter();\n /**\n * Callback to invoke when a node is selected.\n * @param {TreeTableNode} object - Node instance.\n * @group Emits\n */\n onNodeSelect = new EventEmitter();\n /**\n * Callback to invoke when a node is unselected.\n * @param {TreeTableNodeUnSelectEvent} event - Custom node unselect event.\n * @group Emits\n */\n onNodeUnselect = new EventEmitter();\n /**\n * Callback to invoke when a node is selected with right click.\n * @param {TreeTableContextMenuSelectEvent} event - Custom context menu select event.\n * @group Emits\n */\n onContextMenuSelect = new EventEmitter();\n /**\n * Callback to invoke when state of header checkbox changes.\n * @param {TreeTableHeaderCheckboxToggleEvent} event - Custom checkbox toggle event.\n * @group Emits\n */\n onHeaderCheckboxToggle = new EventEmitter();\n /**\n * Callback to invoke when a cell switches to edit mode.\n * @param {TreeTableEditEvent} event - Custom edit event.\n * @group Emits\n */\n onEditInit = new EventEmitter();\n /**\n * Callback to invoke when cell edit is completed.\n * @param {TreeTableEditEvent} event - Custom edit event.\n * @group Emits\n */\n onEditComplete = new EventEmitter();\n /**\n * Callback to invoke when cell edit is cancelled with escape key.\n * @param {TreeTableEditEvent} event - Custom edit event.\n * @group Emits\n */\n onEditCancel = new EventEmitter();\n /**\n * Callback to invoke when selectionKeys are changed.\n * @param {Object} object - updated value of the selectionKeys.\n * @group Emits\n */\n selectionKeysChange = new EventEmitter();\n containerViewChild;\n resizeHelperViewChild;\n reorderIndicatorUpViewChild;\n reorderIndicatorDownViewChild;\n tableViewChild;\n scrollableViewChild;\n scrollableFrozenViewChild;\n _value = [];\n _virtualRowHeight = 28;\n _selectionKeys;\n serializedValue;\n _totalRecords = 0;\n _multiSortMeta;\n _sortField;\n _sortOrder = 1;\n filteredNodes;\n filterTimeout;\n _colGroupTemplate;\n colGroupTemplate;\n _captionTemplate;\n captionTemplate;\n _headerTemplate;\n headerTemplate;\n _bodyTemplate;\n bodyTemplate;\n _footerTemplate;\n footerTemplate;\n _summaryTemplate;\n summaryTemplate;\n _emptyMessageTemplate;\n emptyMessageTemplate;\n _paginatorLeftTemplate;\n paginatorLeftTemplate;\n _paginatorRightTemplate;\n paginatorRightTemplate;\n _paginatorDropdownItemTemplate;\n paginatorDropdownItemTemplate;\n _frozenHeaderTemplate;\n frozenHeaderTemplate;\n _frozenBodyTemplate;\n frozenBodyTemplate;\n _frozenFooterTemplate;\n frozenFooterTemplate;\n _frozenColGroupTemplate;\n frozenColGroupTemplate;\n _loadingIconTemplate;\n loadingIconTemplate;\n _reorderIndicatorUpIconTemplate;\n reorderIndicatorUpIconTemplate;\n _reorderIndicatorDownIconTemplate;\n reorderIndicatorDownIconTemplate;\n _sortIconTemplate;\n sortIconTemplate;\n _checkboxIconTemplate;\n checkboxIconTemplate;\n _headerCheckboxIconTemplate;\n headerCheckboxIconTemplate;\n _togglerIconTemplate;\n togglerIconTemplate;\n _paginatorFirstPageLinkIconTemplate;\n paginatorFirstPageLinkIconTemplate;\n _paginatorLastPageLinkIconTemplate;\n paginatorLastPageLinkIconTemplate;\n _paginatorPreviousPageLinkIconTemplate;\n paginatorPreviousPageLinkIconTemplate;\n _paginatorNextPageLinkIconTemplate;\n paginatorNextPageLinkIconTemplate;\n _loaderTemplate;\n loaderTemplate;\n lastResizerHelperX;\n reorderIconWidth;\n reorderIconHeight;\n draggedColumn;\n dropPosition;\n preventSelectionSetterPropagation;\n _selection;\n selectedKeys = {};\n rowTouched;\n editingCell;\n editingCellData;\n editingCellField;\n editingCellClick;\n documentEditListener;\n initialized;\n toggleRowIndex;\n ngOnInit() {\n super.ngOnInit();\n if (this.lazy && this.lazyLoadOnInit && !this.virtualScroll) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n }\n this.initialized = true;\n }\n templates;\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'caption':\n this.captionTemplate = item.template;\n break;\n case 'header':\n this.headerTemplate = item.template;\n break;\n case 'body':\n this.bodyTemplate = item.template;\n break;\n case 'footer':\n this.footerTemplate = item.template;\n break;\n case 'summary':\n this.summaryTemplate = item.template;\n break;\n case 'colgroup':\n this.colGroupTemplate = item.template;\n break;\n case 'emptymessage':\n this.emptyMessageTemplate = item.template;\n break;\n case 'paginatorleft':\n this.paginatorLeftTemplate = item.template;\n break;\n case 'paginatorright':\n this.paginatorRightTemplate = item.template;\n break;\n case 'paginatordropdownitem':\n this.paginatorDropdownItemTemplate = item.template;\n break;\n case 'frozenheader':\n this.frozenHeaderTemplate = item.template;\n break;\n case 'frozenbody':\n this.frozenBodyTemplate = item.template;\n break;\n case 'frozenfooter':\n this.frozenFooterTemplate = item.template;\n break;\n case 'frozencolgroup':\n this.frozenColGroupTemplate = item.template;\n break;\n case 'loadingicon':\n this.loadingIconTemplate = item.template;\n break;\n case 'reorderindicatorupicon':\n this.reorderIndicatorUpIconTemplate = item.template;\n break;\n case 'reorderindicatordownicon':\n this.reorderIndicatorDownIconTemplate = item.template;\n break;\n case 'sorticon':\n this.sortIconTemplate = item.template;\n break;\n case 'checkboxicon':\n this.checkboxIconTemplate = item.template;\n break;\n case 'headercheckboxicon':\n this.headerCheckboxIconTemplate = item.template;\n break;\n case 'togglericon':\n this.togglerIconTemplate = item.template;\n break;\n case 'paginatorfirstpagelinkicon':\n this.paginatorFirstPageLinkIconTemplate = item.template;\n break;\n case 'paginatorlastpagelinkicon':\n this.paginatorLastPageLinkIconTemplate = item.template;\n break;\n case 'paginatorpreviouspagelinkicon':\n this.paginatorPreviousPageLinkIconTemplate = item.template;\n break;\n case 'paginatornextpagelinkicon':\n this.paginatorNextPageLinkIconTemplate = item.template;\n break;\n case 'loader':\n this.loaderTemplate = item.template;\n break;\n }\n });\n }\n filterService = inject(FilterService);\n tableService = inject(TreeTableService);\n zone = inject(NgZone);\n ngOnChanges(simpleChange) {\n super.ngOnChanges(simpleChange);\n if (simpleChange.value) {\n this._value = simpleChange.value.currentValue;\n if (!this.lazy) {\n this.totalRecords = this._value ? this._value.length : 0;\n if (this.sortMode == 'single' && this.sortField) this.sortSingle();else if (this.sortMode == 'multiple' && this.multiSortMeta) this.sortMultiple();else if (this.hasFilter())\n //sort already filters\n this._filter();\n }\n this.updateSerializedValue();\n this.tableService.onUIUpdate(this.value);\n }\n if (simpleChange.sortField) {\n this._sortField = simpleChange.sortField.currentValue;\n //avoid triggering lazy load prior to lazy initialization at onInit\n if (!this.lazy || this.initialized) {\n if (this.sortMode === 'single') {\n this.sortSingle();\n }\n }\n }\n if (simpleChange.sortOrder) {\n this._sortOrder = simpleChange.sortOrder.currentValue;\n //avoid triggering lazy load prior to lazy initialization at onInit\n if (!this.lazy || this.initialized) {\n if (this.sortMode === 'single') {\n this.sortSingle();\n }\n }\n }\n if (simpleChange.multiSortMeta) {\n this._multiSortMeta = simpleChange.multiSortMeta.currentValue;\n if (this.sortMode === 'multiple') {\n this.sortMultiple();\n }\n }\n if (simpleChange.selection) {\n this._selection = simpleChange.selection.currentValue;\n if (!this.preventSelectionSetterPropagation) {\n this.updateselectedKeys();\n this.tableService.onSelectionChange();\n }\n this.preventSelectionSetterPropagation = false;\n }\n }\n updateSerializedValue() {\n this.serializedValue = [];\n if (this.paginator) this.serializePageNodes();else this.serializeNodes(null, this.filteredNodes || this.value, 0, true);\n }\n serializeNodes(parent, nodes, level, visible) {\n if (nodes && nodes.length) {\n for (let node of nodes) {\n node.parent = parent;\n const rowNode = {\n node: node,\n parent: parent,\n level: level,\n visible: visible && (parent ? parent.expanded : true)\n };\n this.serializedValue.push(rowNode);\n if (rowNode.visible && node.expanded) {\n this.serializeNodes(node, node.children, level + 1, rowNode.visible);\n }\n }\n }\n }\n serializePageNodes() {\n let data = this.filteredNodes || this.value;\n this.serializedValue = [];\n if (data && data.length) {\n const first = this.lazy ? 0 : this.first;\n for (let i = first; i < first + this.rows; i++) {\n let node = data[i];\n if (node) {\n this.serializedValue.push({\n node: node,\n parent: null,\n level: 0,\n visible: true\n });\n this.serializeNodes(node, node.children, 1, true);\n }\n }\n }\n }\n updateselectedKeys() {\n if (this.dataKey && this._selection) {\n this.selectedKeys = {};\n if (Array.isArray(this._selection)) {\n for (let node of this._selection) {\n this.selectedKeys[String(resolveFieldData(node.data, this.dataKey))] = 1;\n }\n } else {\n this.selectedKeys[String(resolveFieldData(this._selection.data, this.dataKey))] = 1;\n }\n }\n }\n onPageChange(event) {\n this.first = event.first;\n this.rows = event.rows;\n if (this.lazy) this.onLazyLoad.emit(this.createLazyLoadMetadata());else this.serializePageNodes();\n this.onPage.emit({\n first: this.first,\n rows: this.rows\n });\n this.tableService.onUIUpdate(this.value);\n if (this.scrollable) {\n this.resetScrollTop();\n }\n }\n sort(event) {\n let originalEvent = event.originalEvent;\n if (this.sortMode === 'single') {\n this._sortOrder = this.sortField === event.field ? this.sortOrder * -1 : this.defaultSortOrder;\n this._sortField = event.field;\n this.sortSingle();\n if (this.resetPageOnSort && this.scrollable) {\n this.resetScrollTop();\n }\n }\n if (this.sortMode === 'multiple') {\n let metaKey = originalEvent.metaKey || originalEvent.ctrlKey;\n let sortMeta = this.getSortMeta(event.field);\n if (sortMeta) {\n if (!metaKey) {\n this._multiSortMeta = [{\n field: event.field,\n order: sortMeta.order * -1\n }];\n if (this.resetPageOnSort && this.scrollable) {\n this.resetScrollTop();\n }\n } else {\n sortMeta.order = sortMeta.order * -1;\n }\n } else {\n if (!metaKey || !this.multiSortMeta) {\n this._multiSortMeta = [];\n if (this.resetPageOnSort && this.scrollable) {\n this.resetScrollTop();\n }\n }\n this.multiSortMeta.push({\n field: event.field,\n order: this.defaultSortOrder\n });\n }\n this.sortMultiple();\n }\n }\n sortSingle() {\n if (this.sortField && this.sortOrder) {\n if (this.lazy) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n } else if (this.value) {\n this.sortNodes(this.value);\n if (this.hasFilter()) {\n this._filter();\n }\n }\n let sortMeta = {\n field: this.sortField,\n order: this.sortOrder\n };\n this.onSort.emit(sortMeta);\n this.tableService.onSort(sortMeta);\n this.updateSerializedValue();\n }\n }\n sortNodes(nodes) {\n if (!nodes || nodes.length === 0) {\n return;\n }\n if (this.customSort) {\n this.sortFunction.emit({\n data: nodes,\n mode: this.sortMode,\n field: this.sortField,\n order: this.sortOrder\n });\n } else {\n nodes.sort((node1, node2) => {\n let value1 = resolveFieldData(node1.data, this.sortField);\n let value2 = resolveFieldData(node2.data, this.sortField);\n let result = null;\n if (value1 == null && value2 != null) result = -1;else if (value1 != null && value2 == null) result = 1;else if (value1 == null && value2 == null) result = 0;else if (typeof value1 === 'string' && typeof value2 === 'string') result = value1.localeCompare(value2, undefined, {\n numeric: true\n });else result = value1 < value2 ? -1 : value1 > value2 ? 1 : 0;\n return this.sortOrder * result;\n });\n }\n for (let node of nodes) {\n this.sortNodes(node.children);\n }\n }\n sortMultiple() {\n if (this.multiSortMeta) {\n if (this.lazy) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n } else if (this.value) {\n this.sortMultipleNodes(this.value);\n if (this.hasFilter()) {\n this._filter();\n }\n }\n this.onSort.emit({\n multisortmeta: this.multiSortMeta\n });\n this.updateSerializedValue();\n this.tableService.onSort(this.multiSortMeta);\n }\n }\n sortMultipleNodes(nodes) {\n if (!nodes || nodes.length === 0) {\n return;\n }\n if (this.customSort) {\n this.sortFunction.emit({\n data: this.value,\n mode: this.sortMode,\n multiSortMeta: this.multiSortMeta\n });\n } else {\n nodes.sort((node1, node2) => {\n return this.multisortField(node1, node2, this.multiSortMeta, 0);\n });\n }\n for (let node of nodes) {\n this.sortMultipleNodes(node.children);\n }\n }\n multisortField(node1, node2, multiSortMeta, index) {\n if (isEmpty(this.multiSortMeta) || isEmpty(multiSortMeta[index])) {\n return 0;\n }\n let value1 = resolveFieldData(node1.data, multiSortMeta[index].field);\n let value2 = resolveFieldData(node2.data, multiSortMeta[index].field);\n let result = null;\n if (value1 == null && value2 != null) result = -1;else if (value1 != null && value2 == null) result = 1;else if (value1 == null && value2 == null) result = 0;\n if (typeof value1 == 'string' || value1 instanceof String) {\n if (value1.localeCompare && value1 != value2) {\n return multiSortMeta[index].order * value1.localeCompare(value2, undefined, {\n numeric: true\n });\n }\n } else {\n result = value1 < value2 ? -1 : 1;\n }\n if (value1 == value2) {\n return multiSortMeta.length - 1 > index ? this.multisortField(node1, node2, multiSortMeta, index + 1) : 0;\n }\n return multiSortMeta[index].order * result;\n }\n getSortMeta(field) {\n if (this.multiSortMeta && this.multiSortMeta.length) {\n for (let i = 0; i < this.multiSortMeta.length; i++) {\n if (this.multiSortMeta[i].field === field) {\n return this.multiSortMeta[i];\n }\n }\n }\n return null;\n }\n isSorted(field) {\n if (this.sortMode === 'single') {\n return this.sortField && this.sortField === field;\n } else if (this.sortMode === 'multiple') {\n let sorted = false;\n if (this.multiSortMeta) {\n for (let i = 0; i < this.multiSortMeta.length; i++) {\n if (this.multiSortMeta[i].field == field) {\n sorted = true;\n break;\n }\n }\n }\n return sorted;\n }\n }\n createLazyLoadMetadata() {\n return {\n first: this.first,\n rows: this.rows,\n sortField: this.sortField,\n sortOrder: this.sortOrder,\n filters: this.filters,\n globalFilter: this.filters && this.filters['global'] ? this.filters['global'].value : null,\n multiSortMeta: this.multiSortMeta,\n forceUpdate: () => this.cd.detectChanges()\n };\n }\n onLazyItemLoad(event) {\n this.onLazyLoad.emit({\n ...this.createLazyLoadMetadata(),\n ...event,\n rows: event.last - event.first\n });\n }\n /**\n * Resets scroll to top.\n * @group Method\n */\n resetScrollTop() {\n if (this.virtualScroll) this.scrollToVirtualIndex(0);else this.scrollTo({\n top: 0\n });\n }\n /**\n * Scrolls to given index when using virtual scroll.\n * @param {number} index - index of the element.\n * @group Method\n */\n scrollToVirtualIndex(index) {\n if (this.scrollableViewChild) {\n this.scrollableViewChild.scrollToVirtualIndex(index);\n }\n if (this.scrollableFrozenViewChild) {\n this.scrollableViewChild.scrollToVirtualIndex(index);\n }\n }\n /**\n * Scrolls to given index.\n * @param {ScrollToOptions} options - Scroll options.\n * @group Method\n */\n scrollTo(options) {\n if (this.scrollableViewChild) {\n this.scrollableViewChild.scrollTo(options);\n }\n if (this.scrollableFrozenViewChild) {\n this.scrollableViewChild.scrollTo(options);\n }\n }\n isEmpty() {\n let data = this.filteredNodes || this.value;\n return data == null || data.length == 0;\n }\n getBlockableElement() {\n return this.el.nativeElement.children[0];\n }\n onColumnResizeBegin(event) {\n let containerLeft = getOffset(this.containerViewChild?.nativeElement).left;\n this.lastResizerHelperX = event.pageX - containerLeft + this.containerViewChild?.nativeElement.scrollLeft;\n event.preventDefault();\n }\n onColumnResize(event) {\n let containerLeft = getOffset(this.containerViewChild?.nativeElement).left;\n addClass(this.containerViewChild?.nativeElement, 'p-unselectable-text');\n this.resizeHelperViewChild.nativeElement.style.height = this.containerViewChild?.nativeElement.offsetHeight + 'px';\n this.resizeHelperViewChild.nativeElement.style.top = 0 + 'px';\n this.resizeHelperViewChild.nativeElement.style.left = event.pageX - containerLeft + this.containerViewChild?.nativeElement.scrollLeft + 'px';\n this.resizeHelperViewChild.nativeElement.style.display = 'block';\n }\n onColumnResizeEnd(event, column) {\n let delta = this.resizeHelperViewChild.nativeElement.offsetLeft - this.lastResizerHelperX;\n let columnWidth = column.offsetWidth;\n let newColumnWidth = columnWidth + delta;\n let minWidth = column.style.minWidth || 15;\n if (columnWidth + delta > parseInt(minWidth)) {\n if (this.columnResizeMode === 'fit') {\n let nextColumn = column.nextElementSibling;\n while (!nextColumn.offsetParent) {\n nextColumn = nextColumn.nextElementSibling;\n }\n if (nextColumn) {\n let nextColumnWidth = nextColumn.offsetWidth - delta;\n let nextColumnMinWidth = nextColumn.style.minWidth || 15;\n if (newColumnWidth > 15 && nextColumnWidth > parseInt(nextColumnMinWidth)) {\n if (this.scrollable) {\n let scrollableView = this.findParentScrollableView(column);\n let scrollableBodyTable = findSingle(scrollableView, '.p-treetable-scrollable-body table') || findSingle(scrollableView, '.p-scroller-viewport table');\n let scrollableHeaderTable = findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');\n let scrollableFooterTable = findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');\n let resizeColumnIndex = getIndex(column);\n this.resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n this.resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n this.resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, nextColumnWidth);\n } else {\n column.style.width = newColumnWidth + 'px';\n if (nextColumn) {\n nextColumn.style.width = nextColumnWidth + 'px';\n }\n }\n }\n }\n } else if (this.columnResizeMode === 'expand') {\n if (this.scrollable) {\n let scrollableView = this.findParentScrollableView(column);\n let scrollableBody = findSingle(scrollableView, '.p-treetable-scrollable-body') || findSingle(scrollableView, '.p-scroller-viewport');\n let scrollableHeader = findSingle(scrollableView, '.p-treetable-scrollable-header');\n let scrollableFooter = findSingle(scrollableView, '.p-treetable-scrollable-footer');\n let scrollableBodyTable = findSingle(scrollableView, '.p-treetable-scrollable-body table') || findSingle(scrollableView, '.p-scroller-viewport table');\n let scrollableHeaderTable = findSingle(scrollableView, 'table.p-treetable-scrollable-header-table');\n let scrollableFooterTable = findSingle(scrollableView, 'table.p-treetable-scrollable-footer-table');\n scrollableBodyTable.style.width = scrollableBodyTable.offsetWidth + delta + 'px';\n scrollableHeaderTable.style.width = scrollableHeaderTable.offsetWidth + delta + 'px';\n if (scrollableFooterTable) {\n scrollableFooterTable.style.width = scrollableFooterTable.offsetWidth + delta + 'px';\n }\n let resizeColumnIndex = getIndex(column);\n const scrollableBodyTableWidth = column ? scrollableBodyTable.offsetWidth + delta : newColumnWidth;\n const scrollableHeaderTableWidth = column ? scrollableHeaderTable.offsetWidth + delta : newColumnWidth;\n const isContainerInViewport = this.containerViewChild?.nativeElement.offsetWidth >= scrollableBodyTableWidth;\n let setWidth = (container, table, width, isContainerInViewport) => {\n if (container && table) {\n container.style.width = isContainerInViewport ? width + calculateScrollbarWidth(scrollableBody) + 'px' : 'auto';\n table.style.width = width + 'px';\n }\n };\n setWidth(scrollableBody, scrollableBodyTable, scrollableBodyTableWidth, isContainerInViewport);\n setWidth(scrollableHeader, scrollableHeaderTable, scrollableHeaderTableWidth, isContainerInViewport);\n setWidth(scrollableFooter, scrollableFooterTable, scrollableHeaderTableWidth, isContainerInViewport);\n this.resizeColGroup(scrollableHeaderTable, resizeColumnIndex, newColumnWidth, null);\n this.resizeColGroup(scrollableBodyTable, resizeColumnIndex, newColumnWidth, null);\n this.resizeColGroup(scrollableFooterTable, resizeColumnIndex, newColumnWidth, null);\n } else {\n this.tableViewChild.nativeElement.style.width = this.tableViewChild?.nativeElement.offsetWidth + delta + 'px';\n column.style.width = newColumnWidth + 'px';\n let containerWidth = this.tableViewChild?.nativeElement.style.width;\n this.containerViewChild.nativeElement.style.width = containerWidth + 'px';\n }\n }\n this.onColResize.emit({\n element: column,\n delta: delta\n });\n }\n this.resizeHelperViewChild.nativeElement.style.display = 'none';\n removeClass(this.containerViewChild?.nativeElement, 'p-unselectable-text');\n }\n findParentScrollableView(column) {\n if (column) {\n let parent = column.parentElement;\n while (parent && !hasClass(parent, 'p-treetable-scrollable-view')) {\n parent = parent.parentElement;\n }\n return parent;\n } else {\n return null;\n }\n }\n resizeColGroup(table, resizeColumnIndex, newColumnWidth, nextColumnWidth) {\n if (table) {\n let colGroup = table.children[0].nodeName === 'COLGROUP' ? table.children[0] : null;\n if (colGroup) {\n let col = colGroup.children[resizeColumnIndex];\n let nextCol = col.nextElementSibling;\n col.style.width = newColumnWidth + 'px';\n if (nextCol && nextColumnWidth) {\n nextCol.style.width = nextColumnWidth + 'px';\n }\n } else {\n throw 'Scrollable tables require a colgroup to support resizable columns';\n }\n }\n }\n onColumnDragStart(event, columnElement) {\n this.reorderIconWidth = getHiddenElementOuterWidth(this.reorderIndicatorUpViewChild?.nativeElement);\n this.reorderIconHeight = getHiddenElementOuterHeight(this.reorderIndicatorDownViewChild?.nativeElement);\n this.draggedColumn = columnElement;\n event.dataTransfer.setData('text', 'b'); // For firefox\n }\n onColumnDragEnter(event, dropHeader) {\n if (this.reorderableColumns && this.draggedColumn && dropHeader) {\n event.preventDefault();\n let containerOffset = getOffset(this.containerViewChild?.nativeElement);\n let dropHeaderOffset = getOffset(dropHeader);\n if (this.draggedColumn != dropHeader) {\n let targetLeft = dropHeaderOffset.left - containerOffset.left;\n let targetTop = containerOffset.top - dropHeaderOffset.top;\n let columnCenter = dropHeaderOffset.left + dropHeader.offsetWidth / 2;\n this.reorderIndicatorUpViewChild.nativeElement.style.top = dropHeaderOffset.top - containerOffset.top - (this.reorderIconHeight - 1) + 'px';\n this.reorderIndicatorDownViewChild.nativeElement.style.top = dropHeaderOffset.top - containerOffset.top + dropHeader.offsetHeight + 'px';\n if (event.pageX > columnCenter) {\n this.reorderIndicatorUpViewChild.nativeElement.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(this.reorderIconWidth / 2) + 'px';\n this.reorderIndicatorDownViewChild.nativeElement.style.left = targetLeft + dropHeader.offsetWidth - Math.ceil(this.reorderIconWidth / 2) + 'px';\n this.dropPosition = 1;\n } else {\n this.reorderIndicatorUpViewChild.nativeElement.style.left = targetLeft - Math.ceil(this.reorderIconWidth / 2) + 'px';\n this.reorderIndicatorDownViewChild.nativeElement.style.left = targetLeft - Math.ceil(this.reorderIconWidth / 2) + 'px';\n this.dropPosition = -1;\n }\n this.reorderIndicatorUpViewChild.nativeElement.style.display = 'block';\n this.reorderIndicatorDownViewChild.nativeElement.style.display = 'block';\n } else {\n event.dataTransfer.dropEffect = 'none';\n }\n }\n }\n onColumnDragLeave(event) {\n if (this.reorderableColumns && this.draggedColumn) {\n event.preventDefault();\n this.reorderIndicatorUpViewChild.nativeElement.style.display = 'none';\n this.reorderIndicatorDownViewChild.nativeElement.style.display = 'none';\n }\n }\n onColumnDrop(event, dropColumn) {\n event.preventDefault();\n if (this.draggedColumn) {\n let dragIndex = DomHandler.indexWithinGroup(this.draggedColumn, 'ttreorderablecolumn');\n let dropIndex = DomHandler.indexWithinGroup(dropColumn, 'ttreorderablecolumn');\n let allowDrop = dragIndex != dropIndex;\n if (allowDrop && (dropIndex - dragIndex == 1 && this.dropPosition === -1 || dragIndex - dropIndex == 1 && this.dropPosition === 1)) {\n allowDrop = false;\n }\n if (allowDrop && dropIndex < dragIndex && this.dropPosition === 1) {\n dropIndex = dropIndex + 1;\n }\n if (allowDrop && dropIndex > dragIndex && this.dropPosition === -1) {\n dropIndex = dropIndex - 1;\n }\n if (allowDrop) {\n reorderArray(this.columns, dragIndex, dropIndex);\n this.onColReorder.emit({\n dragIndex: dragIndex,\n dropIndex: dropIndex,\n columns: this.columns\n });\n }\n this.reorderIndicatorUpViewChild.nativeElement.style.display = 'none';\n this.reorderIndicatorDownViewChild.nativeElement.style.display = 'none';\n this.draggedColumn.draggable = false;\n this.draggedColumn = null;\n this.dropPosition = null;\n }\n }\n handleRowClick(event) {\n let targetNode = event.originalEvent.target.nodeName;\n if (targetNode == 'INPUT' || targetNode == 'BUTTON' || targetNode == 'A' || hasClass(event.originalEvent.target, 'p-clickable')) {\n return;\n }\n if (this.selectionMode) {\n this.preventSelectionSetterPropagation = true;\n let rowNode = event.rowNode;\n let selected = this.isSelected(rowNode.node);\n let metaSelection = this.rowTouched ? false : this.metaKeySelection;\n let dataKeyValue = this.dataKey ? String(resolveFieldData(rowNode.node.data, this.dataKey)) : null;\n if (metaSelection) {\n let keyboardEvent = event.originalEvent;\n let metaKey = keyboardEvent.metaKey || keyboardEvent.ctrlKey;\n if (selected && metaKey) {\n if (this.isSingleSelectionMode()) {\n this._selection = null;\n this.selectedKeys = {};\n this.selectionChange.emit(null);\n } else {\n let selectionIndex = this.findIndexInSelection(rowNode.node);\n this._selection = this.selection.filter((val, i) => i != selectionIndex);\n this.selectionChange.emit(this.selection);\n if (dataKeyValue) {\n delete this.selectedKeys[dataKeyValue];\n }\n }\n this.onNodeUnselect.emit({\n originalEvent: event.originalEvent,\n node: rowNode.node,\n type: 'row'\n });\n } else {\n if (this.isSingleSelectionMode()) {\n this._selection = rowNode.node;\n this.selectionChange.emit(rowNode.node);\n if (dataKeyValue) {\n this.selectedKeys = {};\n this.selectedKeys[dataKeyValue] = 1;\n }\n } else if (this.isMultipleSelectionMode()) {\n if (metaKey) {\n this._selection = this.selection || [];\n } else {\n this._selection = [];\n this.selectedKeys = {};\n }\n this._selection = [...this.selection, rowNode.node];\n this.selectionChange.emit(this.selection);\n if (dataKeyValue) {\n this.selectedKeys[dataKeyValue] = 1;\n }\n }\n this.onNodeSelect.emit({\n originalEvent: event.originalEvent,\n node: rowNode.node,\n type: 'row',\n index: event.rowIndex\n });\n }\n } else {\n if (this.selectionMode === 'single') {\n if (selected) {\n this._selection = null;\n this.selectedKeys = {};\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({\n originalEvent: event.originalEvent,\n node: rowNode.node,\n type: 'row'\n });\n } else {\n this._selection = rowNode.node;\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({\n originalEvent: event.originalEvent,\n node: rowNode.node,\n type: 'row',\n index: event.rowIndex\n });\n if (dataKeyValue) {\n this.selectedKeys = {};\n this.selectedKeys[dataKeyValue] = 1;\n }\n }\n } else if (this.selectionMode === 'multiple') {\n if (selected) {\n let selectionIndex = this.findIndexInSelection(rowNode.node);\n this._selection = this.selection.filter((val, i) => i != selectionIndex);\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({\n originalEvent: event.originalEvent,\n node: rowNode.node,\n type: 'row'\n });\n if (dataKeyValue) {\n delete this.selectedKeys[dataKeyValue];\n }\n } else {\n this._selection = this.selection ? [...this.selection, rowNode.node] : [rowNode.node];\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({\n originalEvent: event.originalEvent,\n node: rowNode.node,\n type: 'row',\n index: event.rowIndex\n });\n if (dataKeyValue) {\n this.selectedKeys[dataKeyValue] = 1;\n }\n }\n }\n }\n this.tableService.onSelectionChange();\n }\n this.rowTouched = false;\n }\n handleRowTouchEnd(event) {\n this.rowTouched = true;\n }\n handleRowRightClick(event) {\n if (this.contextMenu) {\n const node = event.rowNode.node;\n if (this.contextMenuSelectionMode === 'separate') {\n this.contextMenuSelection = node;\n this.contextMenuSelectionChange.emit(node);\n this.onContextMenuSelect.emit({\n originalEvent: event.originalEvent,\n node: node\n });\n this.contextMenu.show(event.originalEvent);\n this.tableService.onContextMenu(node);\n } else if (this.contextMenuSelectionMode === 'joint') {\n this.preventSelectionSetterPropagation = true;\n let selected = this.isSelected(node);\n let dataKeyValue = this.dataKey ? String(resolveFieldData(node.data, this.dataKey)) : null;\n if (!selected) {\n if (this.isSingleSelectionMode()) {\n this.selection = node;\n this.selectionChange.emit(node);\n } else if (this.isMultipleSelectionMode()) {\n this.selection = [node];\n this.selectionChange.emit(this.selection);\n }\n if (dataKeyValue) {\n this.selectedKeys[dataKeyValue] = 1;\n }\n }\n this.contextMenu.show(event.originalEvent);\n this.onContextMenuSelect.emit({\n originalEvent: event.originalEvent,\n node: node\n });\n }\n }\n }\n toggleNodeWithCheckbox(event) {\n // legacy selection support, will be removed in v18\n this.selection = this.selection || [];\n this.preventSelectionSetterPropagation = true;\n let node = event.rowNode.node;\n let selected = this.isSelected(node);\n if (selected) {\n this.propagateSelectionDown(node, false);\n if (event.rowNode.parent) {\n this.propagateSelectionUp(node.parent, false);\n }\n this.selectionChange.emit(this.selection);\n this.onNodeUnselect.emit({\n originalEvent: event,\n node: node\n });\n } else {\n this.propagateSelectionDown(node, true);\n if (event.rowNode.parent) {\n this.propagateSelectionUp(node.parent, true);\n }\n this.selectionChange.emit(this.selection);\n this.onNodeSelect.emit({\n originalEvent: event,\n node: node\n });\n }\n this.tableService.onSelectionChange();\n }\n toggleNodesWithCheckbox(event, check) {\n // legacy selection support, will be removed in v18\n let data = this.filteredNodes || this.value;\n this._selection = check && data ? data.slice() : [];\n this.toggleAll(check);\n if (!check) {\n this._selection = [];\n this.selectedKeys = {};\n }\n this.preventSelectionSetterPropagation = true;\n this.selectionChange.emit(this._selection);\n this.tableService.onSelectionChange();\n this.onHeaderCheckboxToggle.emit({\n originalEvent: event,\n checked: check\n });\n }\n toggleAll(checked) {\n let data = this.filteredNodes || this.value;\n if (!this.selectionKeys) {\n if (data && data.length) {\n for (let node of data) {\n this.propagateSelectionDown(node, checked);\n }\n }\n } else {\n // legacy selection support, will be removed in v18\n if (data && data.length) {\n for (let node of data) {\n this.propagateDown(node, checked);\n }\n this.selectionKeysChange.emit(this.selectionKeys);\n }\n }\n }\n propagateSelectionUp(node, select) {\n // legacy selection support, will be removed in v18\n if (node.children && node.children.length) {\n let selectedChildCount = 0;\n let childPartialSelected = false;\n let dataKeyValue = this.dataKey ? String(resolveFieldData(node.data, this.dataKey)) : null;\n for (let child of node.children) {\n if (this.isSelected(child)) selectedChildCount++;else if (child.partialSelected) childPartialSelected = true;\n }\n if (select && selectedChildCount == node.children.length) {\n this._selection = [...(this.selection || []), node];\n node.partialSelected = false;\n if (dataKeyValue) {\n this.selectedKeys[dataKeyValue] = 1;\n }\n } else {\n if (!select) {\n let index = this.findIndexInSelection(node);\n if (index >= 0) {\n this._selection = this.selection.filter((val, i) => i != index);\n if (dataKeyValue) {\n delete this.selectedKeys[dataKeyValue];\n }\n }\n }\n if (childPartialSelected || selectedChildCount > 0 && selectedChildCount != node.children.length) node.partialSelected = true;else node.partialSelected = false;\n }\n }\n let parent = node.parent;\n node.checked = select;\n if (parent) {\n this.propagateSelectionUp(parent, select);\n }\n }\n propagateSelectionDown(node, select) {\n // legacy selection support, will be removed in v18\n let index = this.findIndexInSelection(node);\n let dataKeyValue = this.dataKey ? String(resolveFieldData(node.data, this.dataKey)) : null;\n if (select && index == -1) {\n this._selection = [...(this.selection || []), node];\n if (dataKeyValue) {\n this.selectedKeys[dataKeyValue] = 1;\n }\n } else if (!select && index > -1) {\n this._selection = this.selection.filter((val, i) => i != index);\n if (dataKeyValue) {\n delete this.selectedKeys[dataKeyValue];\n }\n }\n node.partialSelected = false;\n node.checked = select;\n if (node.children && node.children.length) {\n for (let child of node.children) {\n this.propagateSelectionDown(child, select);\n }\n }\n }\n isSelected(node) {\n // legacy selection support, will be removed in v18\n if (node && this.selection) {\n if (this.dataKey) {\n if (node.hasOwnProperty('checked')) {\n return node['checked'];\n } else {\n return this.selectedKeys[resolveFieldData(node.data, this.dataKey)] !== undefined;\n }\n } else {\n if (Array.isArray(this.selection)) return this.findIndexInSelection(node) > -1;else return this.equals(node, this.selection);\n }\n }\n return false;\n }\n isNodeSelected(node) {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.nodeKey(node)]?.checked === true : false;\n }\n isNodePartialSelected(node) {\n return this.selectionMode && this.selectionKeys ? this.selectionKeys[this.nodeKey(node)]?.partialChecked === true : false;\n }\n nodeKey(node) {\n return resolveFieldData(node, this.dataKey) || resolveFieldData(node?.data, this.dataKey);\n }\n toggleCheckbox(event) {\n let {\n rowNode,\n check,\n originalEvent\n } = event;\n let node = rowNode.node;\n if (this.selectionKeys) {\n this.propagateDown(node, check);\n if (node.parent) {\n this.propagateUp(node.parent, check);\n }\n this.selectionKeysChange.emit(this.selectionKeys);\n } else {\n this.toggleNodeWithCheckbox({\n originalEvent,\n rowNode\n });\n }\n this.tableService.onSelectionChange();\n }\n propagateDown(node, check) {\n if (check) {\n this.selectionKeys[this.nodeKey(node)] = {\n checked: true,\n partialChecked: false\n };\n } else {\n delete this.selectionKeys[this.nodeKey(node)];\n }\n if (node.children && node.children.length) {\n for (let child of node.children) {\n this.propagateDown(child, check);\n }\n }\n }\n propagateUp(node, check) {\n let checkedChildCount = 0;\n let childPartialSelected = false;\n for (let child of node.children) {\n if (this.selectionKeys[this.nodeKey(child)] && this.selectionKeys[this.nodeKey(child)].checked) checkedChildCount++;else if (this.selectionKeys[this.nodeKey(child)] && this.selectionKeys[this.nodeKey(child)].partialChecked) childPartialSelected = true;\n }\n if (check && checkedChildCount === node.children.length) {\n this.selectionKeys[this.nodeKey(node)] = {\n checked: true,\n partialChecked: false\n };\n } else {\n if (!check) {\n delete this.selectionKeys[this.nodeKey(node)];\n }\n if (childPartialSelected || checkedChildCount > 0 && checkedChildCount !== node.children.length) this.selectionKeys[this.nodeKey(node)] = {\n checked: false,\n partialChecked: true\n };else this.selectionKeys[this.nodeKey(node)] = {\n checked: false,\n partialChecked: false\n };\n }\n let parent = node.parent;\n if (parent) {\n this.propagateUp(parent, check);\n }\n }\n findIndexInSelection(node) {\n let index = -1;\n if (this.selection && this.selection.length) {\n for (let i = 0; i < this.selection.length; i++) {\n if (this.equals(node, this.selection[i])) {\n index = i;\n break;\n }\n }\n }\n return index;\n }\n isSingleSelectionMode() {\n return this.selectionMode === 'single';\n }\n isMultipleSelectionMode() {\n return this.selectionMode === 'multiple';\n }\n equals(node1, node2) {\n return this.compareSelectionBy === 'equals' ? equals(node1, node2) : equals(node1.data, node2.data, this.dataKey);\n }\n filter(value, field, matchMode) {\n if (this.filterTimeout) {\n clearTimeout(this.filterTimeout);\n }\n if (!this.isFilterBlank(value)) {\n this.filters[field] = {\n value: value,\n matchMode: matchMode\n };\n } else if (this.filters[field]) {\n delete this.filters[field];\n }\n this.filterTimeout = setTimeout(() => {\n this._filter();\n this.filterTimeout = null;\n }, this.filterDelay);\n }\n filterGlobal(value, matchMode) {\n this.filter(value, 'global', matchMode);\n }\n isFilterBlank(filter) {\n if (filter !== null && filter !== undefined) {\n if (typeof filter === 'string' && filter.trim().length == 0 || Array.isArray(filter) && filter.length == 0) return true;else return false;\n }\n return true;\n }\n _filter() {\n if (this.lazy) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n } else {\n if (!this.value) {\n return;\n }\n if (!this.hasFilter()) {\n this.filteredNodes = null;\n if (this.paginator) {\n this.totalRecords = this.value ? this.value.length : 0;\n }\n } else {\n let globalFilterFieldsArray;\n if (this.filters['global']) {\n if (!this.columns && !this.globalFilterFields) throw new Error('Global filtering requires dynamic columns or globalFilterFields to be defined.');else globalFilterFieldsArray = this.globalFilterFields || this.columns;\n }\n this.filteredNodes = [];\n const isStrictMode = this.filterMode === 'strict';\n let isValueChanged = false;\n for (let node of this.value) {\n let copyNode = {\n ...node\n };\n let localMatch = true;\n let globalMatch = false;\n let paramsWithoutNode;\n for (let prop in this.filters) {\n if (this.filters.hasOwnProperty(prop) && prop !== 'global') {\n let filterMeta = this.filters[prop];\n let filterField = prop;\n let filterValue = filterMeta.value;\n let filterMatchMode = filterMeta.matchMode || 'startsWith';\n let filterConstraint = this.filterService.filters[filterMatchMode];\n paramsWithoutNode = {\n filterField,\n filterValue,\n filterConstraint,\n isStrictMode\n };\n if (isStrictMode && !(this.findFilteredNodes(copyNode, paramsWithoutNode) || this.isFilterMatched(copyNode, paramsWithoutNode)) || !isStrictMode && !(this.isFilterMatched(copyNode, paramsWithoutNode) || this.findFilteredNodes(copyNode, paramsWithoutNode))) {\n localMatch = false;\n }\n if (!localMatch) {\n break;\n }\n }\n }\n if (this.filters['global'] && !globalMatch && globalFilterFieldsArray) {\n let copyNodeForGlobal = {\n ...copyNode\n };\n let filterField = undefined;\n let filterValue = this.filters['global'].value;\n let filterConstraint = this.filterService.filters[this.filters['global'].matchMode];\n paramsWithoutNode = {\n filterField,\n filterValue,\n filterConstraint,\n isStrictMode,\n globalFilterFieldsArray\n };\n if (isStrictMode && (this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode) || this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode)) || !isStrictMode && (this.isFilterMatched(copyNodeForGlobal, paramsWithoutNode) || this.findFilteredNodes(copyNodeForGlobal, paramsWithoutNode))) {\n globalMatch = true;\n copyNode = copyNodeForGlobal;\n }\n }\n let matches = localMatch;\n if (this.filters['global']) {\n matches = localMatch && globalMatch;\n }\n if (matches) {\n this.filteredNodes.push(copyNode);\n }\n isValueChanged = isValueChanged || !localMatch || globalMatch || localMatch && this.filteredNodes.length > 0 || !globalMatch && this.filteredNodes.length === 0;\n }\n if (!isValueChanged) {\n this.filteredNodes = null;\n }\n if (this.paginator) {\n this.totalRecords = this.filteredNodes ? this.filteredNodes.length : this.value ? this.value.length : 0;\n }\n }\n this.cd.markForCheck();\n }\n this.first = 0;\n const filteredValue = this.filteredNodes || this.value;\n this.onFilter.emit({\n filters: this.filters,\n filteredValue: filteredValue\n });\n this.tableService.onUIUpdate(filteredValue);\n this.updateSerializedValue();\n if (this.scrollable) {\n this.resetScrollTop();\n }\n }\n findFilteredNodes(node, paramsWithoutNode) {\n if (node) {\n let matched = false;\n if (node.children) {\n let childNodes = [...node.children];\n node.children = [];\n for (let childNode of childNodes) {\n let copyChildNode = {\n ...childNode\n };\n if (this.isFilterMatched(copyChildNode, paramsWithoutNode)) {\n matched = true;\n node.children.push(copyChildNode);\n }\n }\n }\n if (matched) {\n return true;\n }\n }\n }\n isFilterMatched(node, filterOptions) {\n let {\n filterField,\n filterValue,\n filterConstraint,\n isStrictMode,\n globalFilterFieldsArray\n } = filterOptions;\n let matched = false;\n const isMatched = field => filterConstraint(resolveFieldData(node.data, field), filterValue, this.filterLocale);\n matched = globalFilterFieldsArray?.length ? globalFilterFieldsArray.some(globalFilterField => isMatched(globalFilterField.field || globalFilterField)) : isMatched(filterField);\n if (!matched || isStrictMode && !this.isNodeLeaf(node)) {\n matched = this.findFilteredNodes(node, {\n filterField,\n filterValue,\n filterConstraint,\n isStrictMode,\n globalFilterFieldsArray\n }) || matched;\n }\n return matched;\n }\n isNodeLeaf(node) {\n return node.leaf === false ? false : !(node.children && node.children.length);\n }\n hasFilter() {\n let empty = true;\n for (let prop in this.filters) {\n if (this.filters.hasOwnProperty(prop)) {\n empty = false;\n break;\n }\n }\n return !empty;\n }\n /**\n * Clears the sort and paginator state.\n * @group Method\n */\n reset() {\n this._sortField = null;\n this._sortOrder = 1;\n this._multiSortMeta = null;\n this.tableService.onSort(null);\n this.filteredNodes = null;\n this.filters = {};\n this.first = 0;\n if (this.lazy) {\n this.onLazyLoad.emit(this.createLazyLoadMetadata());\n } else {\n this.totalRecords = this._value ? this._value.length : 0;\n }\n }\n updateEditingCell(cell, data, field) {\n this.editingCell = cell;\n this.editingCellData = data;\n this.editingCellField = field;\n this.bindDocumentEditListener();\n }\n isEditingCellValid() {\n return this.editingCell && find(this.editingCell, '.ng-invalid.ng-dirty').length === 0;\n }\n bindDocumentEditListener() {\n if (!this.documentEditListener) {\n this.documentEditListener = this.renderer.listen(this.document, 'click', event => {\n if (this.editingCell && !this.editingCellClick && this.isEditingCellValid()) {\n removeClass(this.editingCell, 'p-cell-editing');\n this.editingCell = null;\n this.onEditComplete.emit({\n field: this.editingCellField,\n data: this.editingCellData\n });\n this.editingCellField = null;\n this.editingCellData = null;\n this.unbindDocumentEditListener();\n }\n this.editingCellClick = false;\n });\n }\n }\n unbindDocumentEditListener() {\n if (this.documentEditListener) {\n this.documentEditListener();\n this.documentEditListener = null;\n }\n }\n ngOnDestroy() {\n this.unbindDocumentEditListener();\n this.editingCell = null;\n this.editingCellField = null;\n this.editingCellData = null;\n this.initialized = null;\n super.ngOnDestroy();\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵTreeTable_BaseFactory;\n return function TreeTable_Factory(__ngFactoryType__) {\n return (ɵTreeTable_BaseFactory || (ɵTreeTable_BaseFactory = i0.ɵɵgetInheritedFactory(TreeTable)))(__ngFactoryType__ || TreeTable);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TreeTable,\n selectors: [[\"p-treeTable\"], [\"p-treetable\"], [\"p-tree-table\"]],\n contentQueries: function TreeTable_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, _c1, 4);\n i0.ɵɵcontentQuery(dirIndex, _c2, 4);\n i0.ɵɵcontentQuery(dirIndex, _c3, 4);\n i0.ɵɵcontentQuery(dirIndex, _c4, 4);\n i0.ɵɵcontentQuery(dirIndex, _c5, 4);\n i0.ɵɵcontentQuery(dirIndex, _c6, 4);\n i0.ɵɵcontentQuery(dirIndex, _c7, 4);\n i0.ɵɵcontentQuery(dirIndex, _c8, 4);\n i0.ɵɵcontentQuery(dirIndex, _c9, 4);\n i0.ɵɵcontentQuery(dirIndex, _c10, 4);\n i0.ɵɵcontentQuery(dirIndex, _c11, 4);\n i0.ɵɵcontentQuery(dirIndex, _c12, 4);\n i0.ɵɵcontentQuery(dirIndex, _c13, 4);\n i0.ɵɵcontentQuery(dirIndex, _c14, 4);\n i0.ɵɵcontentQuery(dirIndex, _c15, 4);\n i0.ɵɵcontentQuery(dirIndex, _c16, 4);\n i0.ɵɵcontentQuery(dirIndex, _c17, 4);\n i0.ɵɵcontentQuery(dirIndex, _c18, 4);\n i0.ɵɵcontentQuery(dirIndex, _c19, 4);\n i0.ɵɵcontentQuery(dirIndex, _c20, 4);\n i0.ɵɵcontentQuery(dirIndex, _c21, 4);\n i0.ɵɵcontentQuery(dirIndex, _c22, 4);\n i0.ɵɵcontentQuery(dirIndex, _c23, 4);\n i0.ɵɵcontentQuery(dirIndex, _c24, 4);\n i0.ɵɵcontentQuery(dirIndex, _c25, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._colGroupTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._captionTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._headerTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._bodyTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._footerTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._summaryTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._emptyMessageTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._paginatorLeftTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._paginatorRightTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._paginatorDropdownItemTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._frozenHeaderTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._frozenBodyTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._frozenFooterTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._frozenColGroupTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._loadingIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._reorderIndicatorUpIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._reorderIndicatorDownIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._sortIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._checkboxIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._headerCheckboxIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._togglerIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._paginatorFirstPageLinkIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._paginatorLastPageLinkIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._paginatorPreviousPageLinkIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._paginatorNextPageLinkIconTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx._loaderTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n viewQuery: function TreeTable_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c26, 5);\n i0.ɵɵviewQuery(_c27, 5);\n i0.ɵɵviewQuery(_c28, 5);\n i0.ɵɵviewQuery(_c29, 5);\n i0.ɵɵviewQuery(_c30, 5);\n i0.ɵɵviewQuery(_c31, 5);\n i0.ɵɵviewQuery(_c32, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.containerViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.resizeHelperViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.reorderIndicatorUpViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.reorderIndicatorDownViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tableViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollableViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollableFrozenViewChild = _t.first);\n }\n },\n inputs: {\n columns: \"columns\",\n style: \"style\",\n styleClass: \"styleClass\",\n tableStyle: \"tableStyle\",\n tableStyleClass: \"tableStyleClass\",\n autoLayout: [2, \"autoLayout\", \"autoLayout\", booleanAttribute],\n lazy: [2, \"lazy\", \"lazy\", booleanAttribute],\n lazyLoadOnInit: [2, \"lazyLoadOnInit\", \"lazyLoadOnInit\", booleanAttribute],\n paginator: [2, \"paginator\", \"paginator\", booleanAttribute],\n rows: [2, \"rows\", \"rows\", numberAttribute],\n first: [2, \"first\", \"first\", numberAttribute],\n pageLinks: [2, \"pageLinks\", \"pageLinks\", numberAttribute],\n rowsPerPageOptions: \"rowsPerPageOptions\",\n alwaysShowPaginator: [2, \"alwaysShowPaginator\", \"alwaysShowPaginator\", booleanAttribute],\n paginatorPosition: \"paginatorPosition\",\n paginatorStyleClass: \"paginatorStyleClass\",\n paginatorDropdownAppendTo: \"paginatorDropdownAppendTo\",\n currentPageReportTemplate: \"currentPageReportTemplate\",\n showCurrentPageReport: [2, \"showCurrentPageReport\", \"showCurrentPageReport\", booleanAttribute],\n showJumpToPageDropdown: [2, \"showJumpToPageDropdown\", \"showJumpToPageDropdown\", booleanAttribute],\n showFirstLastIcon: [2, \"showFirstLastIcon\", \"showFirstLastIcon\", booleanAttribute],\n showPageLinks: [2, \"showPageLinks\", \"showPageLinks\", booleanAttribute],\n defaultSortOrder: [2, \"defaultSortOrder\", \"defaultSortOrder\", numberAttribute],\n sortMode: \"sortMode\",\n resetPageOnSort: [2, \"resetPageOnSort\", \"resetPageOnSort\", booleanAttribute],\n customSort: [2, \"customSort\", \"customSort\", booleanAttribute],\n selectionMode: \"selectionMode\",\n contextMenuSelection: \"contextMenuSelection\",\n contextMenuSelectionMode: \"contextMenuSelectionMode\",\n dataKey: \"dataKey\",\n metaKeySelection: [2, \"metaKeySelection\", \"metaKeySelection\", booleanAttribute],\n compareSelectionBy: \"compareSelectionBy\",\n rowHover: [2, \"rowHover\", \"rowHover\", booleanAttribute],\n loading: [2, \"loading\", \"loading\", booleanAttribute],\n loadingIcon: \"loadingIcon\",\n showLoader: [2, \"showLoader\", \"showLoader\", booleanAttribute],\n scrollable: [2, \"scrollable\", \"scrollable\", booleanAttribute],\n scrollHeight: \"scrollHeight\",\n virtualScroll: [2, \"virtualScroll\", \"virtualScroll\", booleanAttribute],\n virtualScrollItemSize: [2, \"virtualScrollItemSize\", \"virtualScrollItemSize\", numberAttribute],\n virtualScrollOptions: \"virtualScrollOptions\",\n virtualScrollDelay: [2, \"virtualScrollDelay\", \"virtualScrollDelay\", numberAttribute],\n frozenWidth: \"frozenWidth\",\n frozenColumns: \"frozenColumns\",\n resizableColumns: [2, \"resizableColumns\", \"resizableColumns\", booleanAttribute],\n columnResizeMode: \"columnResizeMode\",\n reorderableColumns: [2, \"reorderableColumns\", \"reorderableColumns\", booleanAttribute],\n contextMenu: \"contextMenu\",\n rowTrackBy: \"rowTrackBy\",\n filters: \"filters\",\n globalFilterFields: \"globalFilterFields\",\n filterDelay: [2, \"filterDelay\", \"filterDelay\", numberAttribute],\n filterMode: \"filterMode\",\n filterLocale: \"filterLocale\",\n paginatorLocale: \"paginatorLocale\",\n totalRecords: \"totalRecords\",\n sortField: \"sortField\",\n sortOrder: \"sortOrder\",\n multiSortMeta: \"multiSortMeta\",\n selection: \"selection\",\n value: \"value\",\n virtualRowHeight: \"virtualRowHeight\",\n selectionKeys: \"selectionKeys\",\n showGridlines: [2, \"showGridlines\", \"showGridlines\", booleanAttribute]\n },\n outputs: {\n selectionChange: \"selectionChange\",\n contextMenuSelectionChange: \"contextMenuSelectionChange\",\n onFilter: \"onFilter\",\n onNodeExpand: \"onNodeExpand\",\n onNodeCollapse: \"onNodeCollapse\",\n onPage: \"onPage\",\n onSort: \"onSort\",\n onLazyLoad: \"onLazyLoad\",\n sortFunction: \"sortFunction\",\n onColResize: \"onColResize\",\n onColReorder: \"onColReorder\",\n onNodeSelect: \"onNodeSelect\",\n onNodeUnselect: \"onNodeUnselect\",\n onContextMenuSelect: \"onContextMenuSelect\",\n onHeaderCheckboxToggle: \"onHeaderCheckboxToggle\",\n onEditInit: \"onEditInit\",\n onEditComplete: \"onEditComplete\",\n onEditCancel: \"onEditCancel\",\n selectionKeysChange: \"selectionKeysChange\"\n },\n standalone: false,\n features: [i0.ɵɵProvidersFeature([TreeTableService, TreeTableStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵNgOnChangesFeature],\n decls: 12,\n vars: 21,\n consts: [[\"container\", \"\"], [\"table\", \"\"], [\"scrollableView\", \"\"], [\"scrollableFrozenView\", \"\"], [\"resizeHelper\", \"\"], [\"reorderIndicatorUp\", \"\"], [\"reorderIndicatorDown\", \"\"], [\"data-scrollselectors\", \".p-treetable-scrollable-body\", 3, \"ngStyle\", \"ngClass\"], [\"class\", \"p-treetable-loading\", 4, \"ngIf\"], [\"class\", \"p-treetable-header\", 4, \"ngIf\"], [\"styleClass\", \"p-paginator-top\", 3, \"rows\", \"first\", \"totalRecords\", \"pageLinkSize\", \"alwaysShow\", \"rowsPerPageOptions\", \"templateLeft\", \"templateRight\", \"dropdownAppendTo\", \"currentPageReportTemplate\", \"showFirstLastIcon\", \"dropdownItemTemplate\", \"showCurrentPageReport\", \"showJumpToPageDropdown\", \"showPageLinks\", \"styleClass\", \"locale\", \"onPageChange\", 4, \"ngIf\"], [\"class\", \"p-treetable-wrapper\", 4, \"ngIf\"], [\"class\", \"p-treetable-scrollable-wrapper\", 4, \"ngIf\"], [\"styleClass\", \"p-paginator-bottom\", 3, \"rows\", \"first\", \"totalRecords\", \"pageLinkSize\", \"alwaysShow\", \"rowsPerPageOptions\", \"templateLeft\", \"templateRight\", \"dropdownAppendTo\", \"currentPageReportTemplate\", \"showFirstLastIcon\", \"dropdownItemTemplate\", \"showCurrentPageReport\", \"showJumpToPageDropdown\", \"showPageLinks\", \"styleClass\", \"locale\", \"onPageChange\", 4, \"ngIf\"], [\"class\", \"p-treetable-footer\", 4, \"ngIf\"], [\"class\", \"p-column-resizer-helper\", \"style\", \"display:none\", 4, \"ngIf\"], [\"class\", \"p-treetable-reorder-indicator-up\", \"style\", \"display: none;\", 4, \"ngIf\"], [\"class\", \"p-treetable-reorder-indicator-down\", \"style\", \"display: none;\", 4, \"ngIf\"], [1, \"p-treetable-loading\"], [1, \"p-overlay-mask\", \"p-treetable-mask\"], [3, \"class\", 4, \"ngIf\"], [4, \"ngIf\"], [3, \"spin\", \"styleClass\", 4, \"ngIf\"], [\"class\", \"p-treetable-loading-icon\", 4, \"ngIf\"], [3, \"spin\", \"styleClass\"], [1, \"p-treetable-loading-icon\"], [4, \"ngTemplateOutlet\"], [1, \"p-treetable-header\"], [\"styleClass\", \"p-paginator-top\", 3, \"onPageChange\", \"rows\", \"first\", \"totalRecords\", \"pageLinkSize\", \"alwaysShow\", \"rowsPerPageOptions\", \"templateLeft\", \"templateRight\", \"dropdownAppendTo\", \"currentPageReportTemplate\", \"showFirstLastIcon\", \"dropdownItemTemplate\", \"showCurrentPageReport\", \"showJumpToPageDropdown\", \"showPageLinks\", \"styleClass\", \"locale\"], [\"pTemplate\", \"firstpagelinkicon\"], [\"pTemplate\", \"previouspagelinkicon\"], [\"pTemplate\", \"lastpagelinkicon\"], [\"pTemplate\", \"nextpagelinkicon\"], [1, \"p-treetable-wrapper\"], [\"role\", \"table\", 3, \"ngClass\", \"ngStyle\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"role\", \"rowgroup\", 1, \"p-treetable-thead\"], [\"role\", \"rowgroup\", 1, \"p-treetable-tbody\", 3, \"pTreeTableBody\", \"pTreeTableBodyTemplate\"], [\"role\", \"rowgroup\", 1, \"p-treetable-tfoot\"], [1, \"p-treetable-scrollable-wrapper\"], [\"class\", \"p-treetable-scrollable-view p-treetable-frozen-view\", 3, \"ttScrollableView\", \"frozen\", \"ngStyle\", \"scrollHeight\", 4, \"ngIf\"], [1, \"p-treetable-scrollable-view\", 3, \"ttScrollableView\", \"frozen\", \"scrollHeight\", \"ngStyle\"], [1, \"p-treetable-scrollable-view\", \"p-treetable-frozen-view\", 3, \"ttScrollableView\", \"frozen\", \"ngStyle\", \"scrollHeight\"], [\"styleClass\", \"p-paginator-bottom\", 3, \"onPageChange\", \"rows\", \"first\", \"totalRecords\", \"pageLinkSize\", \"alwaysShow\", \"rowsPerPageOptions\", \"templateLeft\", \"templateRight\", \"dropdownAppendTo\", \"currentPageReportTemplate\", \"showFirstLastIcon\", \"dropdownItemTemplate\", \"showCurrentPageReport\", \"showJumpToPageDropdown\", \"showPageLinks\", \"styleClass\", \"locale\"], [1, \"p-treetable-footer\"], [1, \"p-column-resizer-helper\", 2, \"display\", \"none\"], [1, \"p-treetable-reorder-indicator-up\", 2, \"display\", \"none\"], [1, \"p-treetable-reorder-indicator-down\", 2, \"display\", \"none\"]],\n template: function TreeTable_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 7, 0);\n i0.ɵɵtemplate(2, TreeTable_div_2_Template, 4, 2, \"div\", 8)(3, TreeTable_div_3_Template, 2, 1, \"div\", 9)(4, TreeTable_p_paginator_4_Template, 5, 21, \"p-paginator\", 10)(5, TreeTable_div_5_Template, 9, 16, \"div\", 11)(6, TreeTable_div_6_Template, 4, 8, \"div\", 12)(7, TreeTable_p_paginator_7_Template, 5, 21, \"p-paginator\", 13)(8, TreeTable_div_8_Template, 2, 1, \"div\", 14)(9, TreeTable_div_9_Template, 2, 0, \"div\", 15)(10, TreeTable_span_10_Template, 4, 2, \"span\", 16)(11, TreeTable_span_11_Template, 4, 2, \"span\", 17);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.styleClass);\n i0.ɵɵproperty(\"ngStyle\", ctx.style)(\"ngClass\", i0.ɵɵpureFunction6(14, _c33, ctx.showGridlines, ctx.rowHover || ctx.selectionMode === \"single\" || ctx.selectionMode === \"multiple\", ctx.autoLayout, ctx.resizableColumns, ctx.resizableColumns && ctx.columnResizeMode === \"fit\", ctx.scrollable && ctx.scrollHeight === \"flex\"));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngIf\", ctx.loading && ctx.showLoader);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.captionTemplate || ctx._captionTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.paginator && (ctx.paginatorPosition === \"top\" || ctx.paginatorPosition == \"both\"));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.scrollable);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.scrollable);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.paginator && (ctx.paginatorPosition === \"bottom\" || ctx.paginatorPosition == \"both\"));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.summaryTemplate || ctx._summaryTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.resizableColumns);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.reorderableColumns);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.reorderableColumns);\n }\n },\n dependencies: () => [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i2.Paginator, i3.PrimeTemplate, SpinnerIcon, ArrowDownIcon, ArrowUpIcon, TTScrollableView, TTBody],\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TreeTable, [{\n type: Component,\n args: [{\n selector: 'p-treeTable, p-treetable, p-tree-table',\n standalone: false,\n template: `\n <div\n #container\n [ngStyle]=\"style\"\n [class]=\"styleClass\"\n data-scrollselectors=\".p-treetable-scrollable-body\"\n [ngClass]=\"{\n 'p-treetable p-component': true,\n 'p-treetable-gridlines': showGridlines,\n 'p-treetable-hoverable-rows': rowHover || selectionMode === 'single' || selectionMode === 'multiple',\n 'p-treetable-auto-layout': autoLayout,\n 'p-treetable-resizable': resizableColumns,\n 'p-treetable-resizable-fit': resizableColumns && columnResizeMode === 'fit',\n 'p-treetable-flex-scrollable': scrollable && scrollHeight === 'flex'\n }\"\n >\n <div class=\"p-treetable-loading\" *ngIf=\"loading && showLoader\">\n <div class=\"p-overlay-mask p-treetable-mask\">\n <i *ngIf=\"loadingIcon\" [class]=\"'p-treetable-loading-icon pi-spin ' + loadingIcon\"></i>\n <ng-container *ngIf=\"!loadingIcon\">\n <SpinnerIcon *ngIf=\"!loadingIconTemplate && !_loadingIconTemplate\" [spin]=\"true\" [styleClass]=\"'p-treetable-loading-icon'\" />\n <span *ngIf=\"loadingIconTemplate || _loadingIconTemplate\" class=\"p-treetable-loading-icon\">\n <ng-template *ngTemplateOutlet=\"loadingIconTemplate || _loadingIconTemplate\"></ng-template>\n </span>\n </ng-container>\n </div>\n </div>\n <div *ngIf=\"captionTemplate || _captionTemplate\" class=\"p-treetable-header\">\n <ng-container *ngTemplateOutlet=\"captionTemplate || _captionTemplate\"></ng-container>\n </div>\n <p-paginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [pageLinkSize]=\"pageLinks\"\n styleClass=\"p-paginator-top\"\n [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n *ngIf=\"paginator && (paginatorPosition === 'top' || paginatorPosition == 'both')\"\n [templateLeft]=\"paginatorLeftTemplate ?? _paginatorLeftTemplate\"\n [templateRight]=\"paginatorRightTemplate ?? _paginatorRightTemplate\"\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\n [showFirstLastIcon]=\"showFirstLastIcon\"\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate ?? _paginatorDropdownItemTemplate\"\n [showCurrentPageReport]=\"showCurrentPageReport\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n [showPageLinks]=\"showPageLinks\"\n [styleClass]=\"paginatorStyleClass\"\n [locale]=\"paginatorLocale\"\n >\n <ng-template pTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate || _paginatorFirstPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate || _paginatorFirstPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template pTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate || _paginatorPreviousPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate || _paginatorPreviousPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template pTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate || _paginatorLastPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate || _paginatorLastPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template pTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate || _paginatorNextPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate || _paginatorNextPageLinkIconTemplate\"></ng-container>\n </ng-template>\n </p-paginator>\n\n <div class=\"p-treetable-wrapper\" *ngIf=\"!scrollable\">\n <table role=\"table\" #table [ngClass]=\"tableStyleClass\" [ngStyle]=\"tableStyle\">\n <ng-container *ngTemplateOutlet=\"colGroupTemplate || _colGroupTemplate; context: { $implicit: columns }\"></ng-container>\n <thead role=\"rowgroup\" class=\"p-treetable-thead\">\n <ng-container *ngTemplateOutlet=\"headerTemplate || _headerTemplate; context: { $implicit: columns }\"></ng-container>\n </thead>\n <tbody class=\"p-treetable-tbody\" role=\"rowgroup\" [pTreeTableBody]=\"columns\" [pTreeTableBodyTemplate]=\"bodyTemplate ?? _bodyTemplate\"></tbody>\n <tfoot class=\"p-treetable-tfoot\" role=\"rowgroup\">\n <ng-container *ngTemplateOutlet=\"footerTemplate || _footerTemplate; context: { $implicit: columns }\"></ng-container>\n </tfoot>\n </table>\n </div>\n\n <div class=\"p-treetable-scrollable-wrapper\" *ngIf=\"scrollable\">\n <div\n class=\"p-treetable-scrollable-view p-treetable-frozen-view\"\n *ngIf=\"frozenColumns || frozenBodyTemplate || _frozenBodyTemplate\"\n #scrollableFrozenView\n [ttScrollableView]=\"frozenColumns\"\n [frozen]=\"true\"\n [ngStyle]=\"{ width: frozenWidth }\"\n [scrollHeight]=\"scrollHeight\"\n ></div>\n <div class=\"p-treetable-scrollable-view\" #scrollableView [ttScrollableView]=\"columns\" [frozen]=\"false\" [scrollHeight]=\"scrollHeight\" [ngStyle]=\"{ left: frozenWidth, width: 'calc(100% - ' + frozenWidth + ')' }\"></div>\n </div>\n\n <p-paginator\n [rows]=\"rows\"\n [first]=\"first\"\n [totalRecords]=\"totalRecords\"\n [pageLinkSize]=\"pageLinks\"\n styleClass=\"p-paginator-bottom\"\n [alwaysShow]=\"alwaysShowPaginator\"\n (onPageChange)=\"onPageChange($event)\"\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\n *ngIf=\"paginator && (paginatorPosition === 'bottom' || paginatorPosition == 'both')\"\n [templateLeft]=\"paginatorLeftTemplate ?? _paginatorLeftTemplate\"\n [templateRight]=\"paginatorRightTemplate ?? _paginatorRightTemplate\"\n [dropdownAppendTo]=\"paginatorDropdownAppendTo\"\n [currentPageReportTemplate]=\"currentPageReportTemplate\"\n [showFirstLastIcon]=\"showFirstLastIcon\"\n [dropdownItemTemplate]=\"paginatorDropdownItemTemplate ?? _paginatorDropdownItemTemplate\"\n [showCurrentPageReport]=\"showCurrentPageReport\"\n [showJumpToPageDropdown]=\"showJumpToPageDropdown\"\n [showPageLinks]=\"showPageLinks\"\n [styleClass]=\"paginatorStyleClass\"\n [locale]=\"paginatorLocale\"\n >\n <ng-template pTemplate=\"firstpagelinkicon\" *ngIf=\"paginatorFirstPageLinkIconTemplate || _paginatorFirstPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorFirstPageLinkIconTemplate || _paginatorFirstPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template pTemplate=\"previouspagelinkicon\" *ngIf=\"paginatorPreviousPageLinkIconTemplate || _paginatorPreviousPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorPreviousPageLinkIconTemplate || _paginatorPreviousPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template pTemplate=\"lastpagelinkicon\" *ngIf=\"paginatorLastPageLinkIconTemplate || _paginatorLastPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorLastPageLinkIconTemplate || _paginatorLastPageLinkIconTemplate\"></ng-container>\n </ng-template>\n\n <ng-template pTemplate=\"nextpagelinkicon\" *ngIf=\"paginatorNextPageLinkIconTemplate || _paginatorNextPageLinkIconTemplate\">\n <ng-container *ngTemplateOutlet=\"paginatorNextPageLinkIconTemplate || _paginatorNextPageLinkIconTemplate\"></ng-container>\n </ng-template>\n </p-paginator>\n <div *ngIf=\"summaryTemplate || _summaryTemplate\" class=\"p-treetable-footer\">\n <ng-container *ngTemplateOutlet=\"summaryTemplate || _summaryTemplate\"></ng-container>\n </div>\n\n <div #resizeHelper class=\"p-column-resizer-helper\" style=\"display:none\" *ngIf=\"resizableColumns\"></div>\n <span #reorderIndicatorUp class=\"p-treetable-reorder-indicator-up\" style=\"display: none;\" *ngIf=\"reorderableColumns\">\n <ArrowDownIcon *ngIf=\"!reorderIndicatorUpIconTemplate && !_reorderIndicatorUpIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"reorderIndicatorUpIconTemplate || _reorderIndicatorUpIconTemplate\"></ng-template>\n </span>\n <span #reorderIndicatorDown class=\"p-treetable-reorder-indicator-down\" style=\"display: none;\" *ngIf=\"reorderableColumns\">\n <ArrowUpIcon *ngIf=\"!reorderIndicatorDownIconTemplate && !_reorderIndicatorDownIconTemplate\" />\n <ng-template *ngTemplateOutlet=\"reorderIndicatorDownIconTemplate || _reorderIndicatorDownIconTemplate\"></ng-template>\n </span>\n </div>\n `,\n providers: [TreeTableService, TreeTableStyle],\n encapsulation: ViewEncapsulation.None\n }]\n }], null, {\n columns: [{\n type: Input\n }],\n style: [{\n type: Input\n }],\n styleClass: [{\n type: Input\n }],\n tableStyle: [{\n type: Input\n }],\n tableStyleClass: [{\n type: Input\n }],\n autoLayout: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n lazy: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n lazyLoadOnInit: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n paginator: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n rows: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n first: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n pageLinks: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n rowsPerPageOptions: [{\n type: Input\n }],\n alwaysShowPaginator: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n paginatorPosition: [{\n type: Input\n }],\n paginatorStyleClass: [{\n type: Input\n }],\n paginatorDropdownAppendTo: [{\n type: Input\n }],\n currentPageReportTemplate: [{\n type: Input\n }],\n showCurrentPageReport: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n showJumpToPageDropdown: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n showFirstLastIcon: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n showPageLinks: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n defaultSortOrder: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n sortMode: [{\n type: Input\n }],\n resetPageOnSort: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n customSort: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n selectionMode: [{\n type: Input\n }],\n contextMenuSelection: [{\n type: Input\n }],\n contextMenuSelectionMode: [{\n type: Input\n }],\n dataKey: [{\n type: Input\n }],\n metaKeySelection: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n compareSelectionBy: [{\n type: Input\n }],\n rowHover: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n loading: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n loadingIcon: [{\n type: Input\n }],\n showLoader: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n scrollable: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n scrollHeight: [{\n type: Input\n }],\n virtualScroll: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n virtualScrollItemSize: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n virtualScrollOptions: [{\n type: Input\n }],\n virtualScrollDelay: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n frozenWidth: [{\n type: Input\n }],\n frozenColumns: [{\n type: Input\n }],\n resizableColumns: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n columnResizeMode: [{\n type: Input\n }],\n reorderableColumns: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n contextMenu: [{\n type: Input\n }],\n rowTrackBy: [{\n type: Input\n }],\n filters: [{\n type: Input\n }],\n globalFilterFields: [{\n type: Input\n }],\n filterDelay: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n filterMode: [{\n type: Input\n }],\n filterLocale: [{\n type: Input\n }],\n paginatorLocale: [{\n type: Input\n }],\n totalRecords: [{\n type: Input\n }],\n sortField: [{\n type: Input\n }],\n sortOrder: [{\n type: Input\n }],\n multiSortMeta: [{\n type: Input\n }],\n selection: [{\n type: Input\n }],\n value: [{\n type: Input\n }],\n virtualRowHeight: [{\n type: Input\n }],\n selectionKeys: [{\n type: Input\n }],\n showGridlines: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n selectionChange: [{\n type: Output\n }],\n contextMenuSelectionChange: [{\n type: Output\n }],\n onFilter: [{\n type: Output\n }],\n onNodeExpand: [{\n type: Output\n }],\n onNodeCollapse: [{\n type: Output\n }],\n onPage: [{\n type: Output\n }],\n onSort: [{\n type: Output\n }],\n onLazyLoad: [{\n type: Output\n }],\n sortFunction: [{\n type: Output\n }],\n onColResize: [{\n type: Output\n }],\n onColReorder: [{\n type: Output\n }],\n onNodeSelect: [{\n type: Output\n }],\n onNodeUnselect: [{\n type: Output\n }],\n onContextMenuSelect: [{\n type: Output\n }],\n onHeaderCheckboxToggle: [{\n type: Output\n }],\n onEditInit: [{\n type: Output\n }],\n onEditComplete: [{\n type: Output\n }],\n onEditCancel: [{\n type: Output\n }],\n selectionKeysChange: [{\n type: Output\n }],\n containerViewChild: [{\n type: ViewChild,\n args: ['container']\n }],\n resizeHelperViewChild: [{\n type: ViewChild,\n args: ['resizeHelper']\n }],\n reorderIndicatorUpViewChild: [{\n type: ViewChild,\n args: ['reorderIndicatorUp']\n }],\n reorderIndicatorDownViewChild: [{\n type: ViewChild,\n args: ['reorderIndicatorDown']\n }],\n tableViewChild: [{\n type: ViewChild,\n args: ['table']\n }],\n scrollableViewChild: [{\n type: ViewChild,\n args: ['scrollableView']\n }],\n scrollableFrozenViewChild: [{\n type: ViewChild,\n args: ['scrollableFrozenView']\n }],\n _colGroupTemplate: [{\n type: ContentChild,\n args: ['colgroup', {\n descendants: false\n }]\n }],\n _captionTemplate: [{\n type: ContentChild,\n args: ['caption', {\n descendants: false\n }]\n }],\n _headerTemplate: [{\n type: ContentChild,\n args: ['header', {\n descendants: false\n }]\n }],\n _bodyTemplate: [{\n type: ContentChild,\n args: ['body', {\n descendants: false\n }]\n }],\n _footerTemplate: [{\n type: ContentChild,\n args: ['footer', {\n descendants: false\n }]\n }],\n _summaryTemplate: [{\n type: ContentChild,\n args: ['summary', {\n descendants: false\n }]\n }],\n _emptyMessageTemplate: [{\n type: ContentChild,\n args: ['emptymessage', {\n descendants: false\n }]\n }],\n _paginatorLeftTemplate: [{\n type: ContentChild,\n args: ['paginatorleft', {\n descendants: false\n }]\n }],\n _paginatorRightTemplate: [{\n type: ContentChild,\n args: ['paginatorright', {\n descendants: false\n }]\n }],\n _paginatorDropdownItemTemplate: [{\n type: ContentChild,\n args: ['paginatordropdownitem', {\n descendants: false\n }]\n }],\n _frozenHeaderTemplate: [{\n type: ContentChild,\n args: ['frozenheader', {\n descendants: false\n }]\n }],\n _frozenBodyTemplate: [{\n type: ContentChild,\n args: ['frozenbody', {\n descendants: false\n }]\n }],\n _frozenFooterTemplate: [{\n type: ContentChild,\n args: ['frozenfooter', {\n descendants: false\n }]\n }],\n _frozenColGroupTemplate: [{\n type: ContentChild,\n args: ['frozencolgroup', {\n descendants: false\n }]\n }],\n _loadingIconTemplate: [{\n type: ContentChild,\n args: ['loadingicon', {\n descendants: false\n }]\n }],\n _reorderIndicatorUpIconTemplate: [{\n type: ContentChild,\n args: ['reorderindicatorupicon', {\n descendants: false\n }]\n }],\n _reorderIndicatorDownIconTemplate: [{\n type: ContentChild,\n args: ['reorderindicatordownicon', {\n descendants: false\n }]\n }],\n _sortIconTemplate: [{\n type: ContentChild,\n args: ['sorticon', {\n descendants: false\n }]\n }],\n _checkboxIconTemplate: [{\n type: ContentChild,\n args: ['checkboxicon', {\n descendants: false\n }]\n }],\n _headerCheckboxIconTemplate: [{\n type: ContentChild,\n args: ['headercheckboxicon', {\n descendants: false\n }]\n }],\n _togglerIconTemplate: [{\n type: ContentChild,\n args: ['togglericon', {\n descendants: false\n }]\n }],\n _paginatorFirstPageLinkIconTemplate: [{\n type: ContentChild,\n args: ['paginatorfirstpagelinkicon', {\n descendants: false\n }]\n }],\n _paginatorLastPageLinkIconTemplate: [{\n type: ContentChild,\n args: ['paginatorlastpagelinkicon', {\n descendants: false\n }]\n }],\n _paginatorPreviousPageLinkIconTemplate: [{\n type: ContentChild,\n args: ['paginatorpreviouspagelinkicon', {\n descendants: false\n }]\n }],\n _paginatorNextPageLinkIconTemplate: [{\n type: ContentChild,\n args: ['paginatornextpagelinkicon', {\n descendants: false\n }]\n }],\n _loaderTemplate: [{\n type: ContentChild,\n args: ['loader', {\n descendants: false\n }]\n }],\n templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }]\n });\n})();\nclass TTBody {\n tt;\n treeTableService;\n cd;\n columns;\n template;\n frozen;\n serializedNodes;\n scrollerOptions;\n subscription;\n constructor(tt, treeTableService, cd) {\n this.tt = tt;\n this.treeTableService = treeTableService;\n this.cd = cd;\n this.subscription = this.tt.tableService.uiUpdateSource$.subscribe(() => {\n if (this.tt.virtualScroll) {\n this.cd.detectChanges();\n }\n });\n }\n getScrollerOption(option, options) {\n if (this.tt.virtualScroll) {\n options = options || this.scrollerOptions;\n return options ? options[option] : null;\n }\n return null;\n }\n getRowIndex(rowIndex) {\n const getItemOptions = this.getScrollerOption('getItemOptions');\n return getItemOptions ? getItemOptions(rowIndex).index : rowIndex;\n }\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n static ɵfac = function TTBody_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTBody)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(TreeTableService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TTBody,\n selectors: [[\"\", \"pTreeTableBody\", \"\"]],\n inputs: {\n columns: [0, \"pTreeTableBody\", \"columns\"],\n template: [0, \"pTreeTableBodyTemplate\", \"template\"],\n frozen: [2, \"frozen\", \"frozen\", booleanAttribute],\n serializedNodes: \"serializedNodes\",\n scrollerOptions: \"scrollerOptions\"\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature],\n attrs: _c37,\n decls: 2,\n vars: 3,\n consts: [[\"ngFor\", \"\", 3, \"ngForOf\", \"ngForTrackBy\"], [4, \"ngIf\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function TTBody_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTBody_ng_template_0_Template, 1, 1, \"ng-template\", 0)(1, TTBody_ng_container_1_Template, 2, 5, \"ng-container\", 1);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngForOf\", ctx.serializedNodes || ctx.tt.serializedValue)(\"ngForTrackBy\", ctx.tt.rowTrackBy);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.tt.isEmpty());\n }\n },\n dependencies: [i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet],\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTBody, [{\n type: Component,\n args: [{\n selector: '[pTreeTableBody]',\n standalone: false,\n template: `\n <ng-template ngFor let-serializedNode let-rowIndex=\"index\" [ngForOf]=\"serializedNodes || tt.serializedValue\" [ngForTrackBy]=\"tt.rowTrackBy\">\n <ng-container *ngIf=\"serializedNode.visible\">\n <ng-container\n *ngTemplateOutlet=\"\n template;\n context: {\n $implicit: serializedNode,\n node: serializedNode.node,\n rowData: serializedNode.node.data,\n columns: columns\n }\n \"\n ></ng-container>\n </ng-container>\n </ng-template>\n <ng-container *ngIf=\"tt.isEmpty()\">\n <ng-container *ngTemplateOutlet=\"tt.emptyMessageTemplate; context: { $implicit: columns, frozen: frozen }\"></ng-container>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: TreeTableService\n }, {\n type: i0.ChangeDetectorRef\n }], {\n columns: [{\n type: Input,\n args: ['pTreeTableBody']\n }],\n template: [{\n type: Input,\n args: ['pTreeTableBodyTemplate']\n }],\n frozen: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n serializedNodes: [{\n type: Input\n }],\n scrollerOptions: [{\n type: Input\n }]\n });\n})();\nclass TTScrollableView {\n platformId;\n renderer;\n tt;\n el;\n zone;\n columns;\n frozen;\n scrollHeaderViewChild;\n scrollHeaderBoxViewChild;\n scrollBodyViewChild;\n scrollTableViewChild;\n scrollLoadingTableViewChild;\n scrollFooterViewChild;\n scrollFooterBoxViewChild;\n scrollableAlignerViewChild;\n scroller;\n headerScrollListener;\n bodyScrollListener;\n footerScrollListener;\n frozenSiblingBody;\n totalRecordsSubscription;\n _scrollHeight;\n preventBodyScrollPropagation;\n get scrollHeight() {\n return this._scrollHeight;\n }\n set scrollHeight(val) {\n this._scrollHeight = val;\n if (val != null && (val.includes('%') || val.includes('calc'))) {\n console.log('Percentage scroll height calculation is removed in favor of the more performant CSS based flex mode, use scrollHeight=\"flex\" instead.');\n }\n }\n constructor(platformId, renderer, tt, el, zone) {\n this.platformId = platformId;\n this.renderer = renderer;\n this.tt = tt;\n this.el = el;\n this.zone = zone;\n }\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (!this.frozen) {\n if (this.tt.frozenColumns || this.tt.frozenBodyTemplate || this.tt._frozenBodyTemplate) {\n addClass(this.el.nativeElement, 'p-treetable-unfrozen-view');\n }\n let frozenView = this.el.nativeElement.previousElementSibling;\n if (frozenView) {\n if (this.tt.virtualScroll) this.frozenSiblingBody = findSingle(frozenView, '.p-scroller-viewport');else this.frozenSiblingBody = findSingle(frozenView, '.p-treetable-scrollable-body');\n }\n if (this.scrollHeight) {\n let scrollBarWidth = calculateScrollbarWidth();\n this.scrollHeaderBoxViewChild.nativeElement.style.paddingRight = scrollBarWidth + 'px';\n if (this.scrollFooterBoxViewChild && this.scrollFooterBoxViewChild.nativeElement) {\n this.scrollFooterBoxViewChild.nativeElement.style.paddingRight = scrollBarWidth + 'px';\n }\n }\n } else {\n if (this.scrollableAlignerViewChild && this.scrollableAlignerViewChild.nativeElement) {\n this.scrollableAlignerViewChild.nativeElement.style.height = calculateScrollbarHeight() + 'px';\n }\n }\n this.bindEvents();\n }\n }\n bindEvents() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n if (this.scrollHeaderViewChild && this.scrollHeaderViewChild.nativeElement) {\n this.headerScrollListener = this.renderer.listen(this.scrollHeaderBoxViewChild?.nativeElement, 'scroll', this.onHeaderScroll.bind(this));\n }\n if (this.scrollFooterViewChild && this.scrollFooterViewChild.nativeElement) {\n this.footerScrollListener = this.renderer.listen(this.scrollFooterViewChild.nativeElement, 'scroll', this.onFooterScroll.bind(this));\n }\n if (!this.frozen) {\n if (this.tt.virtualScroll) {\n this.bodyScrollListener = this.renderer.listen((this.scroller?.getElementRef()).nativeElement, 'scroll', this.onBodyScroll.bind(this));\n } else {\n this.bodyScrollListener = this.renderer.listen(this.scrollBodyViewChild?.nativeElement, 'scroll', this.onBodyScroll.bind(this));\n }\n }\n });\n }\n }\n unbindEvents() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.scrollHeaderViewChild && this.scrollHeaderViewChild.nativeElement) {\n if (this.headerScrollListener) {\n this.headerScrollListener();\n this.headerScrollListener = null;\n }\n }\n if (this.scrollFooterViewChild && this.scrollFooterViewChild.nativeElement) {\n if (this.footerScrollListener) {\n this.footerScrollListener();\n this.footerScrollListener = null;\n }\n }\n if (this.scrollBodyViewChild && this.scrollBodyViewChild.nativeElement) {\n if (this.bodyScrollListener) {\n this.bodyScrollListener();\n this.bodyScrollListener = null;\n }\n }\n if (this.scroller && this.scroller.getElementRef()) {\n if (this.bodyScrollListener) {\n this.bodyScrollListener();\n this.bodyScrollListener = null;\n }\n }\n }\n }\n onHeaderScroll() {\n const scrollLeft = this.scrollHeaderViewChild?.nativeElement.scrollLeft;\n this.scrollBodyViewChild.nativeElement.scrollLeft = scrollLeft;\n if (this.scrollFooterViewChild && this.scrollFooterViewChild.nativeElement) {\n this.scrollFooterViewChild.nativeElement.scrollLeft = scrollLeft;\n }\n this.preventBodyScrollPropagation = true;\n }\n onFooterScroll() {\n const scrollLeft = this.scrollFooterViewChild?.nativeElement.scrollLeft;\n this.scrollBodyViewChild.nativeElement.scrollLeft = scrollLeft;\n if (this.scrollHeaderViewChild && this.scrollHeaderViewChild.nativeElement) {\n this.scrollHeaderViewChild.nativeElement.scrollLeft = scrollLeft;\n }\n this.preventBodyScrollPropagation = true;\n }\n onBodyScroll(event) {\n if (this.preventBodyScrollPropagation) {\n this.preventBodyScrollPropagation = false;\n return;\n }\n if (this.scrollHeaderViewChild && this.scrollHeaderViewChild.nativeElement) {\n this.scrollHeaderBoxViewChild.nativeElement.style.marginLeft = -1 * event.target.scrollLeft + 'px';\n }\n if (this.scrollFooterViewChild && this.scrollFooterViewChild.nativeElement) {\n this.scrollFooterBoxViewChild.nativeElement.style.marginLeft = -1 * event.target.scrollLeft + 'px';\n }\n if (this.frozenSiblingBody) {\n this.frozenSiblingBody.scrollTop = event.target.scrollTop;\n }\n }\n scrollToVirtualIndex(index) {\n if (this.scroller) {\n this.scroller.scrollToIndex(index);\n }\n }\n scrollTo(options) {\n if (this.scroller) {\n this.scroller.scrollTo(options);\n } else {\n if (this.scrollBodyViewChild?.nativeElement.scrollTo) {\n this.scrollBodyViewChild.nativeElement.scrollTo(options);\n } else {\n this.scrollBodyViewChild.nativeElement.scrollLeft = options.left;\n this.scrollBodyViewChild.nativeElement.scrollTop = options.top;\n }\n }\n }\n ngOnDestroy() {\n this.unbindEvents();\n this.frozenSiblingBody = null;\n }\n static ɵfac = function TTScrollableView_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTScrollableView)(i0.ɵɵdirectiveInject(PLATFORM_ID), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TTScrollableView,\n selectors: [[\"\", \"ttScrollableView\", \"\"]],\n viewQuery: function TTScrollableView_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c40, 5);\n i0.ɵɵviewQuery(_c41, 5);\n i0.ɵɵviewQuery(_c42, 5);\n i0.ɵɵviewQuery(_c43, 5);\n i0.ɵɵviewQuery(_c44, 5);\n i0.ɵɵviewQuery(_c45, 5);\n i0.ɵɵviewQuery(_c46, 5);\n i0.ɵɵviewQuery(_c47, 5);\n i0.ɵɵviewQuery(_c48, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollHeaderViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollHeaderBoxViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollBodyViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollTableViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollLoadingTableViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollFooterViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollFooterBoxViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scrollableAlignerViewChild = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.scroller = _t.first);\n }\n },\n inputs: {\n columns: [0, \"ttScrollableView\", \"columns\"],\n frozen: [2, \"frozen\", \"frozen\", booleanAttribute],\n scrollHeight: \"scrollHeight\"\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature],\n attrs: _c49,\n decls: 13,\n vars: 13,\n consts: [[\"scrollHeader\", \"\"], [\"scrollHeaderBox\", \"\"], [\"buildInItems\", \"\"], [\"scroller\", \"\"], [\"content\", \"\"], [\"loader\", \"\"], [\"scrollBody\", \"\"], [\"scrollTable\", \"\"], [\"scrollableAligner\", \"\"], [\"scrollFooter\", \"\"], [\"scrollFooterBox\", \"\"], [1, \"p-treetable-scrollable-header\"], [1, \"p-treetable-scrollable-header-box\"], [1, \"p-treetable-scrollable-header-table\", 3, \"ngClass\", \"ngStyle\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"], [\"role\", \"rowgroup\", 1, \"p-treetable-thead\"], [\"styleClass\", \"p-treetable-scrollable-body\", 3, \"items\", \"style\", \"scrollHeight\", \"itemSize\", \"lazy\", \"options\", \"onLazyLoad\", 4, \"ngIf\"], [4, \"ngIf\"], [\"class\", \"p-treetable-scrollable-footer\", 4, \"ngIf\"], [\"styleClass\", \"p-treetable-scrollable-body\", 3, \"onLazyLoad\", \"items\", \"scrollHeight\", \"itemSize\", \"lazy\", \"options\"], [1, \"p-treetable-scrollable-body\", 3, \"ngStyle\"], [\"role\", \"table\", 3, \"ngClass\", \"ngStyle\"], [\"role\", \"rowgroup\", 1, \"p-treetable-tbody\", 3, \"pTreeTableBody\", \"pTreeTableBodyTemplate\", \"serializedNodes\", \"frozen\"], [\"style\", \"background-color:transparent\", 4, \"ngIf\"], [2, \"background-color\", \"transparent\"], [1, \"p-treetable-scrollable-footer\"], [1, \"p-treetable-scrollable-footer-box\"], [1, \"p-treetable-scrollable-footer-table\", 3, \"ngClass\", \"ngStyle\"], [\"role\", \"rowgroup\", 1, \"p-treetable-tfoot\"]],\n template: function TTScrollableView_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"div\", 11, 0)(2, \"div\", 12, 1)(4, \"table\", 13);\n i0.ɵɵtemplate(5, TTScrollableView_ng_container_5_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelementStart(6, \"thead\", 15);\n i0.ɵɵtemplate(7, TTScrollableView_ng_container_7_Template, 1, 0, \"ng-container\", 14);\n i0.ɵɵelementEnd()()()();\n i0.ɵɵtemplate(8, TTScrollableView_p_scroller_8_Template, 5, 10, \"p-scroller\", 16)(9, TTScrollableView_ng_container_9_Template, 4, 10, \"ng-container\", 17)(10, TTScrollableView_ng_template_10_Template, 5, 15, \"ng-template\", null, 2, i0.ɵɵtemplateRefExtractor)(12, TTScrollableView_div_12_Template, 8, 10, \"div\", 18);\n }\n if (rf & 2) {\n i0.ɵɵadvance(4);\n i0.ɵɵproperty(\"ngClass\", ctx.tt.tableStyleClass)(\"ngStyle\", ctx.tt.tableStyle);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.frozen ? ctx.tt.frozenColGroupTemplate || ctx.tt._frozenColGroupTemplate || ctx.tt.colGroupTemplate || ctx.tt._colGroupTemplate : ctx.tt.colGroupTemplate || ctx.tt._colGroupTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(9, _c34, ctx.columns));\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.frozen ? ctx.tt.frozenHeaderTemplate || ctx.tt._frozenHeaderTemplate || ctx.tt.headerTemplate || ctx.tt._headerTemplate : ctx.tt.headerTemplate || ctx.tt._headerTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(11, _c34, ctx.columns));\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.tt.virtualScroll);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.tt.virtualScroll);\n i0.ɵɵadvance(3);\n i0.ɵɵproperty(\"ngIf\", ctx.tt.footerTemplate || ctx.tt._footerTemplate);\n }\n },\n dependencies: () => [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, Scroller, TTBody],\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTScrollableView, [{\n type: Component,\n args: [{\n selector: '[ttScrollableView]',\n standalone: false,\n template: `\n <div #scrollHeader class=\"p-treetable-scrollable-header\">\n <div #scrollHeaderBox class=\"p-treetable-scrollable-header-box\">\n <table class=\"p-treetable-scrollable-header-table\" [ngClass]=\"tt.tableStyleClass\" [ngStyle]=\"tt.tableStyle\">\n <ng-container\n *ngTemplateOutlet=\"frozen ? tt.frozenColGroupTemplate || tt._frozenColGroupTemplate || tt.colGroupTemplate || tt._colGroupTemplate : tt.colGroupTemplate || tt._colGroupTemplate; context: { $implicit: columns }\"\n ></ng-container>\n <thead role=\"rowgroup\" class=\"p-treetable-thead\">\n <ng-container\n *ngTemplateOutlet=\"frozen ? tt.frozenHeaderTemplate || tt._frozenHeaderTemplate || tt.headerTemplate || tt._headerTemplate : tt.headerTemplate || tt._headerTemplate; context: { $implicit: columns }\"\n ></ng-container>\n </thead>\n </table>\n </div>\n </div>\n\n <p-scroller\n *ngIf=\"tt.virtualScroll\"\n #scroller\n [items]=\"tt.serializedValue\"\n styleClass=\"p-treetable-scrollable-body\"\n [style]=\"{ height: tt.scrollHeight !== 'flex' ? tt.scrollHeight : undefined }\"\n [scrollHeight]=\"scrollHeight !== 'flex' ? undefined : '100%'\"\n [itemSize]=\"tt.virtualScrollItemSize || tt._virtualRowHeight\"\n [lazy]=\"tt.lazy\"\n (onLazyLoad)=\"tt.onLazyItemLoad($event)\"\n [options]=\"tt.virtualScrollOptions\"\n >\n <ng-template #content let-items let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: items, options: scrollerOptions }\"></ng-container>\n </ng-template>\n <ng-container *ngIf=\"tt.loaderTemplate || tt._loaderTemplate\">\n <ng-template #loader let-scrollerOptions=\"options\">\n <ng-container *ngTemplateOutlet=\"tt.loaderTemplate || tt._loaderTemplate; context: { options: scrollerOptions }\"></ng-container>\n </ng-template>\n </ng-container>\n </p-scroller>\n <ng-container *ngIf=\"!tt.virtualScroll\">\n <div\n #scrollBody\n class=\"p-treetable-scrollable-body\"\n [ngStyle]=\"{\n 'max-height': tt.scrollHeight !== 'flex' ? scrollHeight : undefined,\n 'overflow-y': !frozen && tt.scrollHeight ? 'scroll' : undefined\n }\"\n >\n <ng-container *ngTemplateOutlet=\"buildInItems; context: { $implicit: serializedValue, options: {} }\"></ng-container>\n </div>\n </ng-container>\n\n <ng-template #buildInItems let-items let-scrollerOptions=\"options\">\n <table role=\"table\" #scrollTable [class]=\"tt.tableStyleClass\" [ngClass]=\"scrollerOptions.contentStyleClass\" [ngStyle]=\"tt.tableStyle\" [style]=\"scrollerOptions.contentStyle\">\n <ng-container\n *ngTemplateOutlet=\"frozen ? tt.frozenColGroupTemplate || tt._frozenColGroupTemplate || tt.colGroupTemplate || tt._colGroupTemplate : tt.colGroupTemplate || tt._colGroupTemplate; context: { $implicit: columns }\"\n ></ng-container>\n <tbody\n role=\"rowgroup\"\n class=\"p-treetable-tbody\"\n [pTreeTableBody]=\"columns\"\n [pTreeTableBodyTemplate]=\"frozen ? tt.frozenBodyTemplate || tt._frozenBodyTemplate || tt.bodyTemplate || tt._bodyTemplate : tt.bodyTemplate || tt._bodyTemplate\"\n [serializedNodes]=\"items\"\n [frozen]=\"frozen\"\n ></tbody>\n </table>\n <div #scrollableAligner style=\"background-color:transparent\" *ngIf=\"frozen\"></div>\n </ng-template>\n\n <div #scrollFooter *ngIf=\"tt.footerTemplate || tt._footerTemplate\" class=\"p-treetable-scrollable-footer\">\n <div #scrollFooterBox class=\"p-treetable-scrollable-footer-box\">\n <table class=\"p-treetable-scrollable-footer-table\" [ngClass]=\"tt.tableStyleClass\" [ngStyle]=\"tt.tableStyle\">\n <ng-container\n *ngTemplateOutlet=\"frozen ? tt.frozenColGroupTemplate || tt._frozenColGroupTemplate || tt.colGroupTemplate || tt._colGroupTemplate : tt.colGroupTemplate || tt._colGroupTemplate; context: { $implicit: columns }\"\n ></ng-container>\n <tfoot role=\"rowgroup\" class=\"p-treetable-tfoot\">\n <ng-container\n *ngTemplateOutlet=\"frozen ? tt.frozenFooterTemplate || tt._frozenFooterTemplate || tt.footerTemplate || tt._footerTemplate : tt.footerTemplate || tt._footerTemplate; context: { $implicit: columns }\"\n ></ng-container>\n </tfoot>\n </table>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n }]\n }], () => [{\n type: undefined,\n decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }]\n }, {\n type: i0.Renderer2\n }, {\n type: TreeTable\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }], {\n columns: [{\n type: Input,\n args: ['ttScrollableView']\n }],\n frozen: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n scrollHeaderViewChild: [{\n type: ViewChild,\n args: ['scrollHeader']\n }],\n scrollHeaderBoxViewChild: [{\n type: ViewChild,\n args: ['scrollHeaderBox']\n }],\n scrollBodyViewChild: [{\n type: ViewChild,\n args: ['scrollBody']\n }],\n scrollTableViewChild: [{\n type: ViewChild,\n args: ['scrollTable']\n }],\n scrollLoadingTableViewChild: [{\n type: ViewChild,\n args: ['loadingTable']\n }],\n scrollFooterViewChild: [{\n type: ViewChild,\n args: ['scrollFooter']\n }],\n scrollFooterBoxViewChild: [{\n type: ViewChild,\n args: ['scrollFooterBox']\n }],\n scrollableAlignerViewChild: [{\n type: ViewChild,\n args: ['scrollableAligner']\n }],\n scroller: [{\n type: ViewChild,\n args: ['scroller']\n }],\n scrollHeight: [{\n type: Input\n }]\n });\n})();\nclass TTSortableColumn {\n tt;\n field;\n ttSortableColumnDisabled;\n sorted;\n subscription;\n get ariaSorted() {\n if (this.sorted && this.tt.sortOrder < 0) return 'descending';else if (this.sorted && this.tt.sortOrder > 0) return 'ascending';else return 'none';\n }\n constructor(tt) {\n this.tt = tt;\n if (this.isEnabled()) {\n this.subscription = this.tt.tableService.sortSource$.subscribe(sortMeta => {\n this.updateSortState();\n });\n }\n }\n ngOnInit() {\n if (this.isEnabled()) {\n this.updateSortState();\n }\n }\n updateSortState() {\n this.sorted = this.tt.isSorted(this.field);\n }\n onClick(event) {\n if (this.isEnabled()) {\n this.updateSortState();\n this.tt.sort({\n originalEvent: event,\n field: this.field\n });\n clearSelection();\n }\n }\n onEnterKey(event) {\n this.onClick(event);\n }\n isEnabled() {\n return this.ttSortableColumnDisabled !== true;\n }\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n static ɵfac = function TTSortableColumn_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTSortableColumn)(i0.ɵɵdirectiveInject(TreeTable));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TTSortableColumn,\n selectors: [[\"\", \"ttSortableColumn\", \"\"]],\n hostVars: 7,\n hostBindings: function TTSortableColumn_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TTSortableColumn_click_HostBindingHandler($event) {\n return ctx.onClick($event);\n })(\"keydown.enter\", function TTSortableColumn_keydown_enter_HostBindingHandler($event) {\n return ctx.onEnterKey($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"tabindex\", ctx.isEnabled() ? \"0\" : null)(\"role\", \"columnheader\")(\"aria-sort\", ctx.ariaSorted);\n i0.ɵɵclassProp(\"p-sortable-column\", ctx.isEnabled())(\"p-treetable-column-sorted\", ctx.sorted);\n }\n },\n inputs: {\n field: [0, \"ttSortableColumn\", \"field\"],\n ttSortableColumnDisabled: [2, \"ttSortableColumnDisabled\", \"ttSortableColumnDisabled\", booleanAttribute]\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTSortableColumn, [{\n type: Directive,\n args: [{\n selector: '[ttSortableColumn]',\n standalone: false,\n host: {\n '[class.p-sortable-column]': 'isEnabled()',\n '[class.p-treetable-column-sorted]': 'sorted',\n '[attr.tabindex]': 'isEnabled() ? \"0\" : null',\n '[attr.role]': '\"columnheader\"',\n '[attr.aria-sort]': 'ariaSorted'\n }\n }]\n }], () => [{\n type: TreeTable\n }], {\n field: [{\n type: Input,\n args: ['ttSortableColumn']\n }],\n ttSortableColumnDisabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }],\n onEnterKey: [{\n type: HostListener,\n args: ['keydown.enter', ['$event']]\n }]\n });\n})();\nclass TTSortIcon {\n tt;\n cd;\n field;\n ariaLabelDesc;\n ariaLabelAsc;\n subscription;\n sortOrder;\n constructor(tt, cd) {\n this.tt = tt;\n this.cd = cd;\n this.subscription = this.tt.tableService.sortSource$.subscribe(sortMeta => {\n this.updateSortState();\n this.cd.markForCheck();\n });\n }\n ngOnInit() {\n this.updateSortState();\n }\n onClick(event) {\n event.preventDefault();\n }\n updateSortState() {\n if (this.tt.sortMode === 'single') {\n this.sortOrder = this.tt.isSorted(this.field) ? this.tt.sortOrder : 0;\n } else if (this.tt.sortMode === 'multiple') {\n let sortMeta = this.tt.getSortMeta(this.field);\n this.sortOrder = sortMeta ? sortMeta.order : 0;\n }\n }\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n static ɵfac = function TTSortIcon_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTSortIcon)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TTSortIcon,\n selectors: [[\"p-treeTableSortIcon\"], [\"p-treetable-sort-icon\"], [\"p-tree-table-sort-icon\"]],\n inputs: {\n field: \"field\",\n ariaLabelDesc: \"ariaLabelDesc\",\n ariaLabelAsc: \"ariaLabelAsc\"\n },\n standalone: false,\n decls: 2,\n vars: 2,\n consts: [[4, \"ngIf\"], [\"class\", \"p-sortable-column-icon\", 4, \"ngIf\"], [3, \"styleClass\", 4, \"ngIf\"], [3, \"styleClass\"], [1, \"p-sortable-column-icon\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function TTSortIcon_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TTSortIcon_ng_container_0_Template, 4, 3, \"ng-container\", 0)(1, TTSortIcon_span_1_Template, 2, 4, \"span\", 1);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", !ctx.tt.sortIconTemplate && !ctx.tt._sortIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.tt.sortIconTemplate || ctx.tt._sortIconTemplate);\n }\n },\n dependencies: () => [i1.NgIf, i1.NgTemplateOutlet, SortAltIcon, SortAmountUpAltIcon, SortAmountDownIcon],\n encapsulation: 2,\n changeDetection: 0\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTSortIcon, [{\n type: Component,\n args: [{\n selector: 'p-treeTableSortIcon, p-treetable-sort-icon, p-tree-table-sort-icon',\n standalone: false,\n template: ` <ng-container *ngIf=\"!tt.sortIconTemplate && !tt._sortIconTemplate\">\n <SortAltIcon [styleClass]=\"'p-sortable-column-icon'\" *ngIf=\"sortOrder === 0\" />\n <SortAmountUpAltIcon [styleClass]=\"'p-sortable-column-icon'\" *ngIf=\"sortOrder === 1\" />\n <SortAmountDownIcon [styleClass]=\"'p-sortable-column-icon'\" *ngIf=\"sortOrder === -1\" />\n </ng-container>\n <span *ngIf=\"tt.sortIconTemplate || tt._sortIconTemplate\" class=\"p-sortable-column-icon\">\n <ng-template *ngTemplateOutlet=\"tt.sortIconTemplate || tt._sortIconTemplate; context: { $implicit: sortOrder }\"></ng-template>\n </span>`,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: i0.ChangeDetectorRef\n }], {\n field: [{\n type: Input\n }],\n ariaLabelDesc: [{\n type: Input\n }],\n ariaLabelAsc: [{\n type: Input\n }]\n });\n})();\nclass TTResizableColumn {\n document;\n platformId;\n renderer;\n tt;\n el;\n zone;\n ttResizableColumnDisabled;\n resizer;\n resizerMouseDownListener;\n documentMouseMoveListener;\n documentMouseUpListener;\n constructor(document, platformId, renderer, tt, el, zone) {\n this.document = document;\n this.platformId = platformId;\n this.renderer = renderer;\n this.tt = tt;\n this.el = el;\n this.zone = zone;\n }\n ngAfterViewInit() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.isEnabled()) {\n addClass(this.el.nativeElement, 'p-resizable-column');\n this.resizer = this.renderer.createElement('span');\n this.renderer.addClass(this.resizer, 'p-column-resizer');\n this.renderer.appendChild(this.el.nativeElement, this.resizer);\n this.zone.runOutsideAngular(() => {\n this.resizerMouseDownListener = this.renderer.listen(this.resizer, 'mousedown', this.onMouseDown.bind(this));\n });\n }\n }\n }\n bindDocumentEvents() {\n this.zone.runOutsideAngular(() => {\n this.documentMouseMoveListener = this.renderer.listen(this.document, 'mousemove', this.onDocumentMouseMove.bind(this));\n this.documentMouseUpListener = this.renderer.listen(this.document, 'mouseup', this.onDocumentMouseUp.bind(this));\n });\n }\n unbindDocumentEvents() {\n if (this.documentMouseMoveListener) {\n this.documentMouseMoveListener();\n this.documentMouseMoveListener = null;\n }\n if (this.documentMouseUpListener) {\n this.documentMouseUpListener();\n this.documentMouseUpListener = null;\n }\n }\n onMouseDown(event) {\n this.tt.onColumnResizeBegin(event);\n this.bindDocumentEvents();\n }\n onDocumentMouseMove(event) {\n this.tt.onColumnResize(event);\n }\n onDocumentMouseUp(event) {\n this.tt.onColumnResizeEnd(event, this.el.nativeElement);\n this.unbindDocumentEvents();\n }\n isEnabled() {\n return this.ttResizableColumnDisabled !== true;\n }\n ngOnDestroy() {\n if (this.resizerMouseDownListener) {\n this.resizerMouseDownListener();\n this.resizerMouseDownListener = null;\n }\n this.unbindDocumentEvents();\n }\n static ɵfac = function TTResizableColumn_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTResizableColumn)(i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(PLATFORM_ID), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TTResizableColumn,\n selectors: [[\"\", \"ttResizableColumn\", \"\"]],\n inputs: {\n ttResizableColumnDisabled: [2, \"ttResizableColumnDisabled\", \"ttResizableColumnDisabled\", booleanAttribute]\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTResizableColumn, [{\n type: Directive,\n args: [{\n selector: '[ttResizableColumn]',\n standalone: false\n }]\n }], () => [{\n type: Document,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }]\n }, {\n type: i0.Renderer2\n }, {\n type: TreeTable\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }], {\n ttResizableColumnDisabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }]\n });\n})();\nclass TTReorderableColumn {\n document;\n platformId;\n renderer;\n tt;\n el;\n zone;\n ttReorderableColumnDisabled;\n dragStartListener;\n dragOverListener;\n dragEnterListener;\n dragLeaveListener;\n mouseDownListener;\n constructor(document, platformId, renderer, tt, el, zone) {\n this.document = document;\n this.platformId = platformId;\n this.renderer = renderer;\n this.tt = tt;\n this.el = el;\n this.zone = zone;\n }\n ngAfterViewInit() {\n if (this.isEnabled()) {\n this.bindEvents();\n }\n }\n bindEvents() {\n if (isPlatformBrowser(this.platformId)) {\n this.zone.runOutsideAngular(() => {\n this.mouseDownListener = this.renderer.listen(this.el.nativeElement, 'mousedown', this.onMouseDown.bind(this));\n this.dragStartListener = this.renderer.listen(this.el.nativeElement, 'dragstart', this.onDragStart.bind(this));\n this.dragOverListener = this.renderer.listen(this.el.nativeElement, 'dragover', this.onDragEnter.bind(this));\n this.dragEnterListener = this.renderer.listen(this.el.nativeElement, 'dragenter', this.onDragEnter.bind(this));\n this.dragLeaveListener = this.renderer.listen(this.el.nativeElement, 'dragleave', this.onDragLeave.bind(this));\n });\n }\n }\n unbindEvents() {\n if (isPlatformBrowser(this.platformId)) {\n if (this.mouseDownListener) {\n this.mouseDownListener();\n this.mouseDownListener = null;\n }\n if (this.dragOverListener) {\n this.dragOverListener();\n this.dragOverListener = null;\n }\n if (this.dragEnterListener) {\n this.dragEnterListener();\n this.dragEnterListener = null;\n }\n if (this.dragLeaveListener) {\n this.dragLeaveListener();\n this.dragLeaveListener = null;\n }\n }\n }\n onMouseDown(event) {\n if (event.target.nodeName === 'INPUT' || event.target.nodeName === 'TEXTAREA' || hasClass(event.target, 'p-column-resizer')) this.el.nativeElement.draggable = false;else this.el.nativeElement.draggable = true;\n }\n onDragStart(event) {\n this.tt.onColumnDragStart(event, this.el.nativeElement);\n }\n onDragOver(event) {\n event.preventDefault();\n }\n onDragEnter(event) {\n this.tt.onColumnDragEnter(event, this.el.nativeElement);\n }\n onDragLeave(event) {\n this.tt.onColumnDragLeave(event);\n }\n onDrop(event) {\n if (this.isEnabled()) {\n this.tt.onColumnDrop(event, this.el.nativeElement);\n }\n }\n isEnabled() {\n return this.ttReorderableColumnDisabled !== true;\n }\n ngOnDestroy() {\n this.unbindEvents();\n }\n static ɵfac = function TTReorderableColumn_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTReorderableColumn)(i0.ɵɵdirectiveInject(DOCUMENT), i0.ɵɵdirectiveInject(PLATFORM_ID), i0.ɵɵdirectiveInject(i0.Renderer2), i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TTReorderableColumn,\n selectors: [[\"\", \"ttReorderableColumn\", \"\"]],\n hostBindings: function TTReorderableColumn_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"drop\", function TTReorderableColumn_drop_HostBindingHandler($event) {\n return ctx.onDrop($event);\n });\n }\n },\n inputs: {\n ttReorderableColumnDisabled: [2, \"ttReorderableColumnDisabled\", \"ttReorderableColumnDisabled\", booleanAttribute]\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTReorderableColumn, [{\n type: Directive,\n args: [{\n selector: '[ttReorderableColumn]',\n standalone: false\n }]\n }], () => [{\n type: Document,\n decorators: [{\n type: Inject,\n args: [DOCUMENT]\n }]\n }, {\n type: undefined,\n decorators: [{\n type: Inject,\n args: [PLATFORM_ID]\n }]\n }, {\n type: i0.Renderer2\n }, {\n type: TreeTable\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }], {\n ttReorderableColumnDisabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n onDrop: [{\n type: HostListener,\n args: ['drop', ['$event']]\n }]\n });\n})();\nclass TTSelectableRow {\n tt;\n tableService;\n rowNode;\n ttSelectableRowDisabled;\n selected;\n subscription;\n constructor(tt, tableService) {\n this.tt = tt;\n this.tableService = tableService;\n if (this.isEnabled()) {\n this.subscription = this.tt.tableService.selectionSource$.subscribe(() => {\n this.selected = this.tt.isSelected(this.rowNode.node);\n });\n }\n }\n ngOnInit() {\n if (this.isEnabled()) {\n this.selected = this.tt.isSelected(this.rowNode.node);\n }\n }\n onClick(event) {\n if (this.isEnabled()) {\n this.tt.handleRowClick({\n originalEvent: event,\n rowNode: this.rowNode\n });\n }\n }\n onKeyDown(event) {\n switch (event.code) {\n case 'Enter':\n case 'Space':\n this.onEnterKey(event);\n break;\n default:\n break;\n }\n }\n onTouchEnd(event) {\n if (this.isEnabled()) {\n this.tt.handleRowTouchEnd(event);\n }\n }\n onEnterKey(event) {\n if (this.tt.selectionMode === 'checkbox') {\n this.tt.toggleNodeWithCheckbox({\n originalEvent: event,\n rowNode: this.rowNode\n });\n } else {\n this.onClick(event);\n }\n event.preventDefault();\n }\n isEnabled() {\n return this.ttSelectableRowDisabled !== true;\n }\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n static ɵfac = function TTSelectableRow_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTSelectableRow)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(TreeTableService));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TTSelectableRow,\n selectors: [[\"\", \"ttSelectableRow\", \"\"]],\n hostVars: 3,\n hostBindings: function TTSelectableRow_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TTSelectableRow_click_HostBindingHandler($event) {\n return ctx.onClick($event);\n })(\"keydown\", function TTSelectableRow_keydown_HostBindingHandler($event) {\n return ctx.onKeyDown($event);\n })(\"touchend\", function TTSelectableRow_touchend_HostBindingHandler($event) {\n return ctx.onTouchEnd($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"aria-checked\", ctx.selected);\n i0.ɵɵclassProp(\"p-treetable-row-selected\", ctx.selected);\n }\n },\n inputs: {\n rowNode: [0, \"ttSelectableRow\", \"rowNode\"],\n ttSelectableRowDisabled: [2, \"ttSelectableRowDisabled\", \"ttSelectableRowDisabled\", booleanAttribute]\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTSelectableRow, [{\n type: Directive,\n args: [{\n selector: '[ttSelectableRow]',\n standalone: false,\n host: {\n '[class.p-treetable-row-selected]': 'selected',\n '[attr.aria-checked]': 'selected'\n }\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: TreeTableService\n }], {\n rowNode: [{\n type: Input,\n args: ['ttSelectableRow']\n }],\n ttSelectableRowDisabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }],\n onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }],\n onTouchEnd: [{\n type: HostListener,\n args: ['touchend', ['$event']]\n }]\n });\n})();\nclass TTSelectableRowDblClick {\n tt;\n tableService;\n rowNode;\n ttSelectableRowDisabled;\n selected;\n subscription;\n constructor(tt, tableService) {\n this.tt = tt;\n this.tableService = tableService;\n if (this.isEnabled()) {\n this.subscription = this.tt.tableService.selectionSource$.subscribe(() => {\n this.selected = this.tt.isSelected(this.rowNode.node);\n });\n }\n }\n ngOnInit() {\n if (this.isEnabled()) {\n this.selected = this.tt.isSelected(this.rowNode.node);\n }\n }\n onClick(event) {\n if (this.isEnabled()) {\n this.tt.handleRowClick({\n originalEvent: event,\n rowNode: this.rowNode\n });\n }\n }\n isEnabled() {\n return this.ttSelectableRowDisabled !== true;\n }\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n static ɵfac = function TTSelectableRowDblClick_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTSelectableRowDblClick)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(TreeTableService));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TTSelectableRowDblClick,\n selectors: [[\"\", \"ttSelectableRowDblClick\", \"\"]],\n hostVars: 2,\n hostBindings: function TTSelectableRowDblClick_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"dblclick\", function TTSelectableRowDblClick_dblclick_HostBindingHandler($event) {\n return ctx.onClick($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵclassProp(\"p-treetable-row-selected\", ctx.selected);\n }\n },\n inputs: {\n rowNode: [0, \"ttSelectableRowDblClick\", \"rowNode\"],\n ttSelectableRowDisabled: [2, \"ttSelectableRowDisabled\", \"ttSelectableRowDisabled\", booleanAttribute]\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTSelectableRowDblClick, [{\n type: Directive,\n args: [{\n selector: '[ttSelectableRowDblClick]',\n standalone: false,\n host: {\n '[class.p-treetable-row-selected]': 'selected'\n }\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: TreeTableService\n }], {\n rowNode: [{\n type: Input,\n args: ['ttSelectableRowDblClick']\n }],\n ttSelectableRowDisabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n onClick: [{\n type: HostListener,\n args: ['dblclick', ['$event']]\n }]\n });\n})();\nclass TTContextMenuRow {\n tt;\n tableService;\n el;\n rowNode;\n ttContextMenuRowDisabled;\n selected;\n subscription;\n constructor(tt, tableService, el) {\n this.tt = tt;\n this.tableService = tableService;\n this.el = el;\n if (this.isEnabled()) {\n this.subscription = this.tt.tableService.contextMenuSource$.subscribe(node => {\n this.selected = this.tt.equals(this.rowNode.node, node);\n });\n }\n }\n onContextMenu(event) {\n if (this.isEnabled()) {\n this.tt.handleRowRightClick({\n originalEvent: event,\n rowNode: this.rowNode\n });\n this.el.nativeElement.focus();\n event.preventDefault();\n }\n }\n isEnabled() {\n return this.ttContextMenuRowDisabled !== true;\n }\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n static ɵfac = function TTContextMenuRow_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTContextMenuRow)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(TreeTableService), i0.ɵɵdirectiveInject(i0.ElementRef));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TTContextMenuRow,\n selectors: [[\"\", \"ttContextMenuRow\", \"\"]],\n hostVars: 3,\n hostBindings: function TTContextMenuRow_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"contextmenu\", function TTContextMenuRow_contextmenu_HostBindingHandler($event) {\n return ctx.onContextMenu($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"tabindex\", ctx.isEnabled() ? 0 : undefined);\n i0.ɵɵclassProp(\"p-treetable-contextmenu-row-selected\", ctx.selected);\n }\n },\n inputs: {\n rowNode: [0, \"ttContextMenuRow\", \"rowNode\"],\n ttContextMenuRowDisabled: [2, \"ttContextMenuRowDisabled\", \"ttContextMenuRowDisabled\", booleanAttribute]\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTContextMenuRow, [{\n type: Directive,\n args: [{\n selector: '[ttContextMenuRow]',\n standalone: false,\n host: {\n '[class.p-treetable-contextmenu-row-selected]': 'selected',\n '[attr.tabindex]': 'isEnabled() ? 0 : undefined'\n }\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: TreeTableService\n }, {\n type: i0.ElementRef\n }], {\n rowNode: [{\n type: Input,\n args: ['ttContextMenuRow']\n }],\n ttContextMenuRowDisabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n onContextMenu: [{\n type: HostListener,\n args: ['contextmenu', ['$event']]\n }]\n });\n})();\nclass TTCheckbox {\n tt;\n tableService;\n cd;\n disabled;\n rowNode;\n checked;\n partialChecked;\n focused;\n subscription;\n constructor(tt, tableService, cd) {\n this.tt = tt;\n this.tableService = tableService;\n this.cd = cd;\n this.subscription = this.tt.tableService.selectionSource$.subscribe(() => {\n if (this.tt.selectionKeys) {\n this.checked = this.tt.isNodeSelected(this.rowNode.node);\n this.partialChecked = this.tt.isNodePartialSelected(this.rowNode.node);\n } else {\n this.checked = this.tt.isSelected(this.rowNode.node);\n this.partialChecked = this.rowNode.node.partialSelected;\n }\n this.cd.markForCheck();\n });\n }\n ngOnInit() {\n if (this.tt.selectionKeys) {\n this.checked = this.tt.isNodeSelected(this.rowNode.node);\n this.partialChecked = this.tt.isNodePartialSelected(this.rowNode.node);\n } else {\n // for backward compatibility\n this.checked = this.tt.isSelected(this.rowNode.node);\n this.partialChecked = this.rowNode.node.partialSelected;\n }\n }\n onClick(event) {\n if (!this.disabled) {\n if (this.tt.selectionKeys) {\n const _check = !this.checked;\n this.tt.toggleCheckbox({\n originalEvent: event,\n check: _check,\n rowNode: this.rowNode\n });\n } else {\n this.tt.toggleNodeWithCheckbox({\n originalEvent: event,\n rowNode: this.rowNode\n });\n }\n }\n clearSelection();\n }\n onFocus() {\n this.focused = true;\n }\n onBlur() {\n this.focused = false;\n }\n ngOnDestroy() {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n }\n static ɵfac = function TTCheckbox_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTCheckbox)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(TreeTableService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TTCheckbox,\n selectors: [[\"p-treeTableCheckbox\"], [\"p-treetable-checkbox\"], [\"p-tree-table-checkbox\"]],\n inputs: {\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n rowNode: [0, \"value\", \"rowNode\"]\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature],\n decls: 2,\n vars: 6,\n consts: [[\"styleClass\", \"p-treetable-node-checkbox\", 3, \"onChange\", \"ngModel\", \"binary\", \"disabled\", \"indeterminate\", \"tabIndex\"], [4, \"ngIf\"], [\"pTemplate\", \"icon\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function TTCheckbox_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"p-checkbox\", 0);\n i0.ɵɵlistener(\"onChange\", function TTCheckbox_Template_p_checkbox_onChange_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵtemplate(1, TTCheckbox_ng_container_1_Template, 2, 0, \"ng-container\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngModel\", ctx.checked)(\"binary\", true)(\"disabled\", ctx.disabled)(\"indeterminate\", ctx.partialChecked)(\"tabIndex\", -1);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.tt.checkboxIconTemplate || ctx.tt._checkboxIconTemplate);\n }\n },\n dependencies: () => [i1.NgIf, i1.NgTemplateOutlet, i3.PrimeTemplate, Checkbox, i4.NgControlStatus, i4.NgModel],\n encapsulation: 2,\n changeDetection: 0\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTCheckbox, [{\n type: Component,\n args: [{\n selector: 'p-treeTableCheckbox, p-treetable-checkbox, p-tree-table-checkbox',\n standalone: false,\n template: `\n <p-checkbox [ngModel]=\"checked\" (onChange)=\"onClick($event)\" [binary]=\"true\" [disabled]=\"disabled\" [indeterminate]=\"partialChecked\" styleClass=\"p-treetable-node-checkbox\" [tabIndex]=\"-1\">\n <ng-container *ngIf=\"tt.checkboxIconTemplate || tt._checkboxIconTemplate\">\n <ng-template pTemplate=\"icon\">\n <ng-template *ngTemplateOutlet=\"tt.checkboxIconTemplate || tt._checkboxIconTemplate; context: { $implicit: checked, partialSelected: partialChecked }\"></ng-template>\n </ng-template>\n </ng-container>\n </p-checkbox>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: TreeTableService\n }, {\n type: i0.ChangeDetectorRef\n }], {\n disabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n rowNode: [{\n type: Input,\n args: ['value']\n }]\n });\n})();\nclass TTHeaderCheckbox {\n tt;\n tableService;\n cd;\n checked;\n disabled;\n selectionChangeSubscription;\n valueChangeSubscription;\n constructor(tt, tableService, cd) {\n this.tt = tt;\n this.tableService = tableService;\n this.cd = cd;\n this.valueChangeSubscription = this.tt.tableService.uiUpdateSource$.subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n this.selectionChangeSubscription = this.tt.tableService.selectionSource$.subscribe(() => {\n this.checked = this.updateCheckedState();\n });\n }\n ngOnInit() {\n this.checked = this.updateCheckedState();\n }\n onClick(event) {\n if ((this.tt.value || this.tt.filteredNodes) && (this.tt.value.length > 0 || this.tt.filteredNodes.length > 0)) {\n this.tt.toggleNodesWithCheckbox(event, !this.checked);\n }\n clearSelection();\n }\n ngOnDestroy() {\n if (this.selectionChangeSubscription) {\n this.selectionChangeSubscription.unsubscribe();\n }\n if (this.valueChangeSubscription) {\n this.valueChangeSubscription.unsubscribe();\n }\n }\n updateCheckedState() {\n this.cd.markForCheck();\n let checked;\n const data = this.tt.filteredNodes || this.tt.value;\n if (data) {\n if (this.tt.selectionKeys) {\n for (let node of data) {\n if (this.tt.isNodeSelected(node)) {\n checked = true;\n } else {\n checked = false;\n break;\n }\n }\n }\n if (!this.tt.selectionKeys) {\n // legacy selection support, will be removed in v18\n for (let node of data) {\n if (this.tt.isSelected(node)) {\n checked = true;\n } else {\n checked = false;\n break;\n }\n }\n }\n } else {\n checked = false;\n }\n return checked;\n }\n static ɵfac = function TTHeaderCheckbox_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTHeaderCheckbox)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(TreeTableService), i0.ɵɵdirectiveInject(i0.ChangeDetectorRef));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TTHeaderCheckbox,\n selectors: [[\"p-treeTableHeaderCheckbox\"]],\n standalone: false,\n decls: 2,\n vars: 4,\n consts: [[3, \"onChange\", \"ngModel\", \"binary\", \"disabled\"], [4, \"ngIf\"], [\"pTemplate\", \"icon\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function TTHeaderCheckbox_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"p-checkbox\", 0);\n i0.ɵɵlistener(\"onChange\", function TTHeaderCheckbox_Template_p_checkbox_onChange_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵtemplate(1, TTHeaderCheckbox_ng_container_1_Template, 2, 0, \"ng-container\", 1);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngModel\", ctx.checked)(\"binary\", true)(\"disabled\", !ctx.tt.value || ctx.tt.value.length === 0);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", ctx.tt.headerCheckboxIconTemplate || ctx.tt._headerCheckboxIconTemplate);\n }\n },\n dependencies: () => [i1.NgIf, i1.NgTemplateOutlet, i3.PrimeTemplate, Checkbox, i4.NgControlStatus, i4.NgModel],\n encapsulation: 2,\n changeDetection: 0\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTHeaderCheckbox, [{\n type: Component,\n args: [{\n selector: 'p-treeTableHeaderCheckbox',\n standalone: false,\n template: `\n <p-checkbox [ngModel]=\"checked\" (onChange)=\"onClick($event)\" [binary]=\"true\" [disabled]=\"!tt.value || tt.value.length === 0\">\n <ng-container *ngIf=\"tt.headerCheckboxIconTemplate || tt._headerCheckboxIconTemplate\">\n <ng-template pTemplate=\"icon\">\n <ng-template *ngTemplateOutlet=\"tt.headerCheckboxIconTemplate || tt._headerCheckboxIconTemplate; context: { $implicit: checked }\"></ng-template>\n </ng-template>\n </ng-container>\n </p-checkbox>\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: TreeTableService\n }, {\n type: i0.ChangeDetectorRef\n }], null);\n})();\nclass TTEditableColumn {\n tt;\n el;\n zone;\n data;\n field;\n ttEditableColumnDisabled;\n constructor(tt, el, zone) {\n this.tt = tt;\n this.el = el;\n this.zone = zone;\n }\n ngAfterViewInit() {\n if (this.isEnabled()) {\n addClass(this.el.nativeElement, 'p-editable-column');\n }\n }\n onClick(event) {\n if (this.isEnabled()) {\n this.tt.editingCellClick = true;\n if (this.tt.editingCell) {\n if (this.tt.editingCell !== this.el.nativeElement) {\n if (!this.tt.isEditingCellValid()) {\n return;\n }\n removeClass(this.tt.editingCell, 'p-cell-editing');\n this.openCell();\n }\n } else {\n this.openCell();\n }\n }\n }\n openCell() {\n this.tt.updateEditingCell(this.el.nativeElement, this.data, this.field);\n addClass(this.el.nativeElement, 'p-cell-editing');\n this.tt.onEditInit.emit({\n field: this.field,\n data: this.data\n });\n this.tt.editingCellClick = true;\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n let focusable = findSingle(this.el.nativeElement, 'input, textarea');\n if (focusable) {\n focusable.focus();\n }\n }, 50);\n });\n }\n closeEditingCell() {\n removeClass(this.tt.editingCell, 'p-checkbox-icon');\n this.tt.editingCell = null;\n this.tt.unbindDocumentEditListener();\n }\n onKeyDown(event) {\n if (this.isEnabled()) {\n //enter\n if (event.keyCode == 13 && !event.shiftKey) {\n if (this.tt.isEditingCellValid()) {\n removeClass(this.tt.editingCell, 'p-cell-editing');\n this.closeEditingCell();\n this.tt.onEditComplete.emit({\n field: this.field,\n data: this.data\n });\n }\n event.preventDefault();\n }\n //escape\n else if (event.keyCode == 27) {\n if (this.tt.isEditingCellValid()) {\n removeClass(this.tt.editingCell, 'p-cell-editing');\n this.closeEditingCell();\n this.tt.onEditCancel.emit({\n field: this.field,\n data: this.data\n });\n }\n event.preventDefault();\n }\n //tab\n else if (event.keyCode == 9) {\n this.tt.onEditComplete.emit({\n field: this.field,\n data: this.data\n });\n if (event.shiftKey) this.moveToPreviousCell(event);else this.moveToNextCell(event);\n }\n }\n }\n findCell(element) {\n if (element) {\n let cell = element;\n while (cell && !hasClass(cell, 'p-cell-editing')) {\n cell = cell.parentElement;\n }\n return cell;\n } else {\n return null;\n }\n }\n moveToPreviousCell(event) {\n let currentCell = this.findCell(event.target);\n let row = currentCell.parentElement;\n let targetCell = this.findPreviousEditableColumn(currentCell);\n if (targetCell) {\n invokeElementMethod(targetCell, 'click', undefined);\n event.preventDefault();\n }\n }\n moveToNextCell(event) {\n let currentCell = this.findCell(event.target);\n let row = currentCell.parentElement;\n let targetCell = this.findNextEditableColumn(currentCell);\n if (targetCell) {\n invokeElementMethod(targetCell, 'click', undefined);\n event.preventDefault();\n }\n }\n findPreviousEditableColumn(cell) {\n let prevCell = cell.previousElementSibling;\n if (!prevCell) {\n let previousRow = cell.parentElement ? cell.parentElement.previousElementSibling : null;\n if (previousRow) {\n prevCell = previousRow.lastElementChild;\n }\n }\n if (prevCell) {\n if (hasClass(prevCell, 'p-editable-column')) return prevCell;else return this.findPreviousEditableColumn(prevCell);\n } else {\n return null;\n }\n }\n findNextEditableColumn(cell) {\n let nextCell = cell.nextElementSibling;\n if (!nextCell) {\n let nextRow = cell.parentElement ? cell.parentElement.nextElementSibling : null;\n if (nextRow) {\n nextCell = nextRow.firstElementChild;\n }\n }\n if (nextCell) {\n if (hasClass(nextCell, 'p-editable-column')) return nextCell;else return this.findNextEditableColumn(nextCell);\n } else {\n return null;\n }\n }\n isEnabled() {\n return this.ttEditableColumnDisabled !== true;\n }\n static ɵfac = function TTEditableColumn_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTEditableColumn)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TTEditableColumn,\n selectors: [[\"\", \"ttEditableColumn\", \"\"]],\n hostBindings: function TTEditableColumn_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"click\", function TTEditableColumn_click_HostBindingHandler($event) {\n return ctx.onClick($event);\n })(\"keydown\", function TTEditableColumn_keydown_HostBindingHandler($event) {\n return ctx.onKeyDown($event);\n });\n }\n },\n inputs: {\n data: [0, \"ttEditableColumn\", \"data\"],\n field: [0, \"ttEditableColumnField\", \"field\"],\n ttEditableColumnDisabled: [2, \"ttEditableColumnDisabled\", \"ttEditableColumnDisabled\", booleanAttribute]\n },\n standalone: false,\n features: [i0.ɵɵInputTransformsFeature]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTEditableColumn, [{\n type: Directive,\n args: [{\n selector: '[ttEditableColumn]',\n standalone: false\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }], {\n data: [{\n type: Input,\n args: ['ttEditableColumn']\n }],\n field: [{\n type: Input,\n args: ['ttEditableColumnField']\n }],\n ttEditableColumnDisabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n onClick: [{\n type: HostListener,\n args: ['click', ['$event']]\n }],\n onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }]\n });\n})();\nclass TreeTableCellEditor extends BaseComponent {\n tt;\n editableColumn;\n templates;\n inputTemplate;\n outputTemplate;\n constructor(tt, editableColumn) {\n super();\n this.tt = tt;\n this.editableColumn = editableColumn;\n }\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'input':\n this.inputTemplate = item.template;\n break;\n case 'output':\n this.outputTemplate = item.template;\n break;\n }\n });\n }\n static ɵfac = function TreeTableCellEditor_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TreeTableCellEditor)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(TTEditableColumn));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TreeTableCellEditor,\n selectors: [[\"p-treeTableCellEditor\"], [\"p-treetablecelleditor\"], [\"p-treetable-cell-editor\"]],\n contentQueries: function TreeTableCellEditor_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n standalone: false,\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 2,\n vars: 2,\n consts: [[4, \"ngIf\"], [4, \"ngTemplateOutlet\"]],\n template: function TreeTableCellEditor_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, TreeTableCellEditor_ng_container_0_Template, 2, 1, \"ng-container\", 0)(1, TreeTableCellEditor_ng_container_1_Template, 2, 1, \"ng-container\", 0);\n }\n if (rf & 2) {\n i0.ɵɵproperty(\"ngIf\", ctx.tt.editingCell === ctx.editableColumn.el.nativeElement);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.tt.editingCell || ctx.tt.editingCell !== ctx.editableColumn.el.nativeElement);\n }\n },\n dependencies: [i1.NgIf, i1.NgTemplateOutlet],\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TreeTableCellEditor, [{\n type: Component,\n args: [{\n selector: 'p-treeTableCellEditor, p-treetablecelleditor, p-treetable-cell-editor',\n standalone: false,\n template: `\n <ng-container *ngIf=\"tt.editingCell === editableColumn.el.nativeElement\">\n <ng-container *ngTemplateOutlet=\"inputTemplate\"></ng-container>\n </ng-container>\n <ng-container *ngIf=\"!tt.editingCell || tt.editingCell !== editableColumn.el.nativeElement\">\n <ng-container *ngTemplateOutlet=\"outputTemplate\"></ng-container>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: TTEditableColumn\n }], {\n templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }]\n });\n})();\nclass TTRow {\n tt;\n el;\n zone;\n get level() {\n return this.rowNode?.['level'] + 1;\n }\n get styleClass() {\n return this.rowNode?.node['styleClass'] || '';\n }\n get expanded() {\n return this.rowNode?.node['expanded'];\n }\n rowNode;\n constructor(tt, el, zone) {\n this.tt = tt;\n this.el = el;\n this.zone = zone;\n }\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n default:\n break;\n }\n }\n onArrowDownKey(event) {\n let nextRow = this.el?.nativeElement?.nextElementSibling;\n if (nextRow) {\n this.focusRowChange(event.currentTarget, nextRow);\n }\n event.preventDefault();\n }\n onArrowUpKey(event) {\n let prevRow = this.el?.nativeElement?.previousElementSibling;\n if (prevRow) {\n this.focusRowChange(event.currentTarget, prevRow);\n }\n event.preventDefault();\n }\n onArrowRightKey(event) {\n const currentTarget = event.currentTarget;\n const isHiddenIcon = findSingle(currentTarget, 'button').style.visibility === 'hidden';\n if (!isHiddenIcon && !this.expanded && this.rowNode.node['children']) {\n this.expand(event);\n currentTarget.tabIndex = -1;\n }\n event.preventDefault();\n }\n onArrowLeftKey(event) {\n const container = this.tt.containerViewChild?.nativeElement;\n const expandedRows = find(container, '[aria-expanded=\"true\"]');\n const lastExpandedRow = expandedRows[expandedRows.length - 1];\n if (this.expanded) {\n this.collapse(event);\n }\n if (lastExpandedRow) {\n this.tt.toggleRowIndex = getIndex(lastExpandedRow);\n }\n this.restoreFocus();\n event.preventDefault();\n }\n onHomeKey(event) {\n const firstElement = findSingle(this.tt.containerViewChild?.nativeElement, `tr[aria-level=\"${this.level}\"]`);\n firstElement && focus(firstElement);\n event.preventDefault();\n }\n onEndKey(event) {\n const nodes = find(this.tt.containerViewChild?.nativeElement, `tr[aria-level=\"${this.level}\"]`);\n const lastElement = nodes[nodes.length - 1];\n focus(lastElement);\n event.preventDefault();\n }\n onTabKey(event) {\n const rows = this.el.nativeElement ? [...find(this.el.nativeElement.parentNode, 'tr')] : undefined;\n if (rows && isNotEmpty(rows)) {\n const hasSelectedRow = rows.some(row => getAttribute(row, 'data-p-highlight') || row.getAttribute('aria-checked') === 'true');\n rows.forEach(row => {\n row.tabIndex = -1;\n });\n if (hasSelectedRow) {\n const selectedNodes = rows.filter(node => getAttribute(node, 'data-p-highlight') || node.getAttribute('aria-checked') === 'true');\n selectedNodes[0].tabIndex = 0;\n return;\n }\n rows[0].tabIndex = 0;\n }\n }\n expand(event) {\n this.tt.toggleRowIndex = getIndex(this.el.nativeElement);\n this.rowNode.node['expanded'] = true;\n this.tt.updateSerializedValue();\n this.tt.tableService.onUIUpdate(this.tt.value);\n this.rowNode.node['children'] ? this.restoreFocus(this.tt.toggleRowIndex + 1) : this.restoreFocus();\n this.tt.onNodeExpand.emit({\n originalEvent: event,\n node: this.rowNode.node\n });\n }\n collapse(event) {\n this.rowNode.node['expanded'] = false;\n this.tt.updateSerializedValue();\n this.tt.tableService.onUIUpdate(this.tt.value);\n this.tt.onNodeCollapse.emit({\n originalEvent: event,\n node: this.rowNode.node\n });\n }\n focusRowChange(firstFocusableRow, currentFocusedRow, lastVisibleDescendant) {\n firstFocusableRow.tabIndex = '-1';\n currentFocusedRow.tabIndex = '0';\n focus(currentFocusedRow);\n }\n restoreFocus(index) {\n this.zone.runOutsideAngular(() => {\n setTimeout(() => {\n const container = this.tt.containerViewChild?.nativeElement;\n const row = findSingle(container, '.p-treetable-tbody').children[index || this.tt.toggleRowIndex];\n const rows = [...find(container, 'tr')];\n rows && rows.forEach(r => {\n if (!row.isSameNode(r)) {\n r.tabIndex = -1;\n }\n });\n if (row) {\n row.tabIndex = 0;\n row.focus();\n }\n }, 25);\n });\n }\n static ɵfac = function TTRow_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TTRow)(i0.ɵɵdirectiveInject(TreeTable), i0.ɵɵdirectiveInject(i0.ElementRef), i0.ɵɵdirectiveInject(i0.NgZone));\n };\n static ɵdir = /* @__PURE__ */i0.ɵɵdefineDirective({\n type: TTRow,\n selectors: [[\"\", \"ttRow\", \"\"]],\n hostVars: 7,\n hostBindings: function TTRow_HostBindings(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵlistener(\"keydown\", function TTRow_keydown_HostBindingHandler($event) {\n return ctx.onKeyDown($event);\n });\n }\n if (rf & 2) {\n i0.ɵɵattribute(\"tabindex\", \"0\")(\"aria-expanded\", ctx.expanded)(\"aria-level\", ctx.level)(\"data-pc-section\", ctx.row)(\"role\", ctx.row);\n i0.ɵɵclassMap(\"p-element \" + ctx.styleClass);\n }\n },\n inputs: {\n rowNode: [0, \"ttRow\", \"rowNode\"]\n },\n standalone: false\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TTRow, [{\n type: Directive,\n args: [{\n selector: '[ttRow]',\n standalone: false,\n host: {\n '[class]': `'p-element ' + styleClass`,\n '[attr.tabindex]': \"'0'\",\n '[attr.aria-expanded]': 'expanded',\n '[attr.aria-level]': 'level',\n '[attr.data-pc-section]': 'row',\n '[attr.role]': 'row'\n }\n }]\n }], () => [{\n type: TreeTable\n }, {\n type: i0.ElementRef\n }, {\n type: i0.NgZone\n }], {\n rowNode: [{\n type: Input,\n args: ['ttRow']\n }],\n onKeyDown: [{\n type: HostListener,\n args: ['keydown', ['$event']]\n }]\n });\n})();\nclass TreeTableToggler extends BaseComponent {\n tt;\n rowNode;\n constructor(tt) {\n super();\n this.tt = tt;\n }\n get toggleButtonAriaLabel() {\n return this.config.translation ? this.rowNode.expanded ? this.config.translation.aria.collapseRow : this.config.translation.aria.expandRow : undefined;\n }\n onClick(event) {\n this.rowNode.node.expanded = !this.rowNode.node.expanded;\n if (this.rowNode.node.expanded) {\n this.tt.onNodeExpand.emit({\n originalEvent: event,\n node: this.rowNode.node\n });\n } else {\n this.tt.onNodeCollapse.emit({\n originalEvent: event,\n node: this.rowNode.node\n });\n }\n this.tt.updateSerializedValue();\n this.tt.tableService.onUIUpdate(this.tt.value);\n event.preventDefault();\n }\n static ɵfac = function TreeTableToggler_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TreeTableToggler)(i0.ɵɵdirectiveInject(TreeTable));\n };\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: TreeTableToggler,\n selectors: [[\"p-treeTableToggler\"], [\"p-treetabletoggler\"], [\"p-treetable-toggler\"]],\n inputs: {\n rowNode: \"rowNode\"\n },\n standalone: false,\n features: [i0.ɵɵInheritDefinitionFeature],\n decls: 3,\n vars: 12,\n consts: [[\"type\", \"button\", \"tabindex\", \"-1\", \"pRipple\", \"\", 1, \"p-treetable-toggler\", 3, \"click\"], [4, \"ngIf\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function TreeTableToggler_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementStart(0, \"button\", 0);\n i0.ɵɵlistener(\"click\", function TreeTableToggler_Template_button_click_0_listener($event) {\n return ctx.onClick($event);\n });\n i0.ɵɵtemplate(1, TreeTableToggler_ng_container_1_Template, 3, 2, \"ng-container\", 1)(2, TreeTableToggler_2_Template, 1, 0, null, 2);\n i0.ɵɵelementEnd();\n }\n if (rf & 2) {\n i0.ɵɵstyleProp(\"visibility\", ctx.rowNode.node.leaf === false || ctx.rowNode.node.children && ctx.rowNode.node.children.length ? \"visible\" : \"hidden\")(\"margin-inline-start\", ctx.rowNode.level * 16 + \"px\");\n i0.ɵɵattribute(\"data-pc-section\", \"rowtoggler\")(\"data-pc-group-section\", \"rowactionbutton\")(\"aria-label\", ctx.toggleButtonAriaLabel);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngIf\", !ctx.tt.togglerIconTemplate && !ctx.tt._togglerIconTemplate);\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx.tt.togglerIconTemplate || ctx.tt._togglerIconTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(10, _c34, ctx.rowNode.node.expanded));\n }\n },\n dependencies: () => [i1.NgIf, i1.NgTemplateOutlet, Ripple, ChevronDownIcon, ChevronRightIcon],\n encapsulation: 2\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TreeTableToggler, [{\n type: Component,\n args: [{\n selector: 'p-treeTableToggler, p-treetabletoggler, p-treetable-toggler',\n standalone: false,\n template: `\n <button\n type=\"button\"\n class=\"p-treetable-toggler\"\n (click)=\"onClick($event)\"\n tabindex=\"-1\"\n pRipple\n [style.visibility]=\"rowNode.node.leaf === false || (rowNode.node.children && rowNode.node.children.length) ? 'visible' : 'hidden'\"\n [style.marginInlineStart]=\"rowNode.level * 16 + 'px'\"\n [attr.data-pc-section]=\"'rowtoggler'\"\n [attr.data-pc-group-section]=\"'rowactionbutton'\"\n [attr.aria-label]=\"toggleButtonAriaLabel\"\n >\n <ng-container *ngIf=\"!tt.togglerIconTemplate && !tt._togglerIconTemplate\">\n <ChevronDownIcon *ngIf=\"rowNode.node.expanded\" [attr.aria-hidden]=\"true\" />\n <ChevronRightIcon *ngIf=\"!rowNode.node.expanded\" [attr.aria-hidden]=\"true\" />\n </ng-container>\n <ng-template *ngTemplateOutlet=\"tt.togglerIconTemplate || tt._togglerIconTemplate; context: { $implicit: rowNode.node.expanded }\"></ng-template>\n </button>\n `,\n encapsulation: ViewEncapsulation.None\n }]\n }], () => [{\n type: TreeTable\n }], {\n rowNode: [{\n type: Input\n }]\n });\n})();\nclass TreeTableModule {\n static ɵfac = function TreeTableModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || TreeTableModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: TreeTableModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [CommonModule, PaginatorModule, Scroller, SpinnerIcon, ArrowDownIcon, ArrowUpIcon, SortAltIcon, SortAmountUpAltIcon, SortAmountDownIcon, CheckIcon, MinusIcon, ChevronDownIcon, ChevronRightIcon, Checkbox, SharedModule, FormsModule, SharedModule]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(TreeTableModule, [{\n type: NgModule,\n args: [{\n imports: [CommonModule, PaginatorModule, Ripple, Scroller, SpinnerIcon, ArrowDownIcon, ArrowUpIcon, SortAltIcon, SortAmountUpAltIcon, SortAmountDownIcon, CheckIcon, MinusIcon, ChevronDownIcon, ChevronRightIcon, Checkbox, SharedModule, FormsModule],\n exports: [TreeTable, SharedModule, TreeTableToggler, TTSortableColumn, TTSortIcon, TTResizableColumn, TTRow, TTReorderableColumn, TTSelectableRow, TTSelectableRowDblClick, TTContextMenuRow, TTCheckbox, TTHeaderCheckbox, TTEditableColumn, TreeTableCellEditor, Scroller],\n declarations: [TreeTable, TreeTableToggler, TTScrollableView, TTBody, TTSortableColumn, TTSortIcon, TTResizableColumn, TTRow, TTReorderableColumn, TTSelectableRow, TTSelectableRowDblClick, TTContextMenuRow, TTCheckbox, TTHeaderCheckbox, TTEditableColumn, TreeTableCellEditor]\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TTBody, TTCheckbox, TTContextMenuRow, TTEditableColumn, TTHeaderCheckbox, TTReorderableColumn, TTResizableColumn, TTRow, TTScrollableView, TTSelectableRow, TTSelectableRowDblClick, TTSortIcon, TTSortableColumn, TreeTable, TreeTableCellEditor, TreeTableClasses, TreeTableModule, TreeTableService, TreeTableStyle, TreeTableToggler };\n","import * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, inject, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { SharedModule } from 'primeng/api';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst theme = ({\n dt\n}) => `\n.p-skeleton {\n overflow: hidden;\n background: ${dt('skeleton.background')};\n border-radius: ${dt('skeleton.border.radius')};\n}\n\n.p-skeleton::after {\n content: \"\";\n animation: p-skeleton-animation 1.2s infinite;\n height: 100%;\n left: 0;\n position: absolute;\n right: 0;\n top: 0;\n transform: translateX(-100%);\n z-index: 1;\n background: linear-gradient(90deg, rgba(255, 255, 255, 0), ${dt('skeleton.animation.background')}, rgba(255, 255, 255, 0));\n}\n\n[dir='rtl'] .p-skeleton::after {\n animation-name: p-skeleton-animation-rtl;\n}\n\n.p-skeleton-circle {\n border-radius: 50%;\n}\n\n.p-skeleton-animation-none::after {\n animation: none;\n}\n\n@keyframes p-skeleton-animation {\n from {\n transform: translateX(-100%);\n }\n to {\n transform: translateX(100%);\n }\n}\n\n@keyframes p-skeleton-animation-rtl {\n from {\n transform: translateX(100%);\n }\n to {\n transform: translateX(-100%);\n }\n}\n`;\nconst inlineStyles = {\n root: {\n position: 'relative'\n }\n};\nconst classes = {\n root: ({\n props\n }) => ['p-skeleton p-component', {\n 'p-skeleton-circle': props.shape === 'circle',\n 'p-skeleton-animation-none': props.animation === 'none'\n }]\n};\nclass SkeletonStyle extends BaseStyle {\n name = 'skeleton';\n theme = theme;\n classes = classes;\n inlineStyles = inlineStyles;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵSkeletonStyle_BaseFactory;\n return function SkeletonStyle_Factory(__ngFactoryType__) {\n return (ɵSkeletonStyle_BaseFactory || (ɵSkeletonStyle_BaseFactory = i0.ɵɵgetInheritedFactory(SkeletonStyle)))(__ngFactoryType__ || SkeletonStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: SkeletonStyle,\n factory: SkeletonStyle.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SkeletonStyle, [{\n type: Injectable\n }], null, null);\n})();\n/**\n *\n * Skeleton is a placeholder to display instead of the actual content.\n *\n * [Live Demo](https://www.primeng.org/skeleton/)\n *\n * @module skeletonstyle\n *\n */\nvar SkeletonClasses;\n(function (SkeletonClasses) {\n /**\n * Class name of the root element\n */\n SkeletonClasses[\"root\"] = \"p-skeleton\";\n})(SkeletonClasses || (SkeletonClasses = {}));\n\n/**\n * Skeleton is a placeholder to display instead of the actual content.\n * @group Components\n */\nclass Skeleton extends BaseComponent {\n /**\n * Class of the element.\n * @group Props\n */\n styleClass;\n /**\n * Inline style of the element.\n * @group Props\n */\n style;\n /**\n * Shape of the element.\n * @group Props\n */\n shape = 'rectangle';\n /**\n * Type of the animation.\n * @gruop Props\n */\n animation = 'wave';\n /**\n * Border radius of the element, defaults to value from theme.\n * @group Props\n */\n borderRadius;\n /**\n * Size of the skeleton.\n * @group Props\n */\n size;\n /**\n * Width of the element.\n * @group Props\n */\n width = '100%';\n /**\n * Height of the element.\n * @group Props\n */\n height = '1rem';\n _componentStyle = inject(SkeletonStyle);\n containerClass() {\n return {\n 'p-skeleton p-component': true,\n 'p-skeleton-circle': this.shape === 'circle',\n 'p-skeleton-animation-none': this.animation === 'none'\n };\n }\n get containerStyle() {\n const inlineStyles = this._componentStyle?.inlineStyles['root'];\n let style;\n if (this.size) style = {\n ...this.style,\n ...inlineStyles,\n width: this.size,\n height: this.size,\n borderRadius: this.borderRadius\n };else style = {\n ...inlineStyles,\n width: this.width,\n height: this.height,\n borderRadius: this.borderRadius,\n ...this.style\n };\n return style;\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵSkeleton_BaseFactory;\n return function Skeleton_Factory(__ngFactoryType__) {\n return (ɵSkeleton_BaseFactory || (ɵSkeleton_BaseFactory = i0.ɵɵgetInheritedFactory(Skeleton)))(__ngFactoryType__ || Skeleton);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: Skeleton,\n selectors: [[\"p-skeleton\"]],\n inputs: {\n styleClass: \"styleClass\",\n style: \"style\",\n shape: \"shape\",\n animation: \"animation\",\n borderRadius: \"borderRadius\",\n size: \"size\",\n width: \"width\",\n height: \"height\"\n },\n features: [i0.ɵɵProvidersFeature([SkeletonStyle]), i0.ɵɵInheritDefinitionFeature],\n decls: 1,\n vars: 7,\n consts: [[3, \"ngClass\", \"ngStyle\"]],\n template: function Skeleton_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelement(0, \"div\", 0);\n }\n if (rf & 2) {\n i0.ɵɵclassMap(ctx.styleClass);\n i0.ɵɵproperty(\"ngClass\", ctx.containerClass())(\"ngStyle\", ctx.containerStyle);\n i0.ɵɵattribute(\"data-pc-name\", \"skeleton\")(\"aria-hidden\", true)(\"data-pc-section\", \"root\");\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgStyle, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(Skeleton, [{\n type: Component,\n args: [{\n selector: 'p-skeleton',\n standalone: true,\n imports: [CommonModule, SharedModule],\n template: ` <div [ngClass]=\"containerClass()\" [class]=\"styleClass\" [ngStyle]=\"containerStyle\" [attr.data-pc-name]=\"'skeleton'\" [attr.aria-hidden]=\"true\" [attr.data-pc-section]=\"'root'\"></div> `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n providers: [SkeletonStyle]\n }]\n }], null, {\n styleClass: [{\n type: Input\n }],\n style: [{\n type: Input\n }],\n shape: [{\n type: Input\n }],\n animation: [{\n type: Input\n }],\n borderRadius: [{\n type: Input\n }],\n size: [{\n type: Input\n }],\n width: [{\n type: Input\n }],\n height: [{\n type: Input\n }]\n });\n})();\nclass SkeletonModule {\n static ɵfac = function SkeletonModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || SkeletonModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: SkeletonModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [Skeleton, SharedModule, SharedModule]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(SkeletonModule, [{\n type: NgModule,\n args: [{\n imports: [Skeleton, SharedModule],\n exports: [Skeleton, SharedModule]\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { Skeleton, SkeletonClasses, SkeletonModule, SkeletonStyle };\n","import {\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n Input,\r\n model,\r\n Output,\r\n ViewChild,\r\n} from '@angular/core';\r\nimport { TreeTable, TreeTableModule } from 'primeng/treetable';\r\nimport { NgClass, NgStyle } from '@angular/common';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport {\r\n TreeTableColumnReorderEvent,\r\n} from 'primeng/treetable/treetable.interface';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { TableHeaderColumn } from '@everymatrix-base-components/utils';\r\nimport { PopoverModule } from 'primeng/popover';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-dm-tree-table',\r\n imports: [\r\n TreeTableModule,\r\n NgStyle,\r\n TooltipModule,\r\n NgClass,\r\n SkeletonModule,\r\n PopoverModule,\r\n CheckboxModule,\r\n FormsModule,\r\n ],\r\n templateUrl: './dm-tree-table.component.html',\r\n styleUrl: './dm-tree-table.component.scss',\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n standalone: true,\r\n})\r\nexport class DmTreeTableComponent {\r\n @ViewChild('treeTable', { static: false }) treeTable!: TreeTable;\r\n\r\n @Output()\r\n loadMoreEmitter: EventEmitter<number> = new EventEmitter();\r\n @Output()\r\n sortingEmitter: EventEmitter<{\r\n field: string | null;\r\n value: 'asc' | 'desc' | null;\r\n }> = new EventEmitter();\r\n @Input()\r\n set rawTableData(value: any) {\r\n if (value && value.length) {\r\n this.mapRawTableData(value);\r\n } else if (value && !value.length) {\r\n this.tableData = value;\r\n }\r\n }\r\n @Input()\r\n set startIndex(data: number) {\r\n if (data === 0 && this.offset !== undefined) {\r\n this.treeTable.reset();\r\n }\r\n this.offset = data;\r\n }\r\n @Input()\r\n tableColumns!: TableHeaderColumn[];\r\n @Input()\r\n rowsPerPageOptions = [10, 20, 30, 50, 100, 250, 500];\r\n @Input()\r\n generalTotal!: string;\r\n limit = model(100);\r\n @Input()\r\n set scrollHeight(num: number) {\r\n if (num !== undefined && this.height !== num) {\r\n this.height = num;\r\n if (this.treeTable) {\r\n const el = this.treeTable.el.nativeElement.querySelector(\r\n '.p-treetable-scrollable-wrapper'\r\n );\r\n if(el) el.setAttribute('style', `min-height: ${num + 25}px !important;`);\r\n }\r\n } \r\n }\r\n height = 350;\r\n @Input()\r\n sorting = true;\r\n @Input()\r\n rowHover = true;\r\n @Input()\r\n reorderableColumns = true;\r\n @Input()\r\n resizableColumns = true;\r\n @Input()\r\n paginator = true;\r\n @Input()\r\n loading!: boolean;\r\n frozenWidth = 0;\r\n offset!: number;\r\n\r\n constructor(private cdr: ChangeDetectorRef) {}\r\n\r\n placeholderData = Array(9)\r\n .fill(null)\r\n .map(() => ({\r\n data: {},\r\n children: [],\r\n }));\r\n tableData!: any[];\r\n frozenColumns: TableHeaderColumn[] = [];\r\n\r\n private mapRawTableData(value: any[]) {\r\n const result = value.map((item) => ({\r\n data: item,\r\n children: [],\r\n }));\r\n\r\n this.tableData = [...result];\r\n this.cdr.detectChanges();\r\n }\r\n\r\n protected changeSorting(col: TableHeaderColumn, index: number): void {\r\n this.tableColumns.forEach((c, i) => {\r\n if (i !== index) {\r\n c.sortOrder = 0;\r\n }\r\n });\r\n\r\n this.offset = 0;\r\n this.treeTable.reset();\r\n\r\n if (col.sortOrder === 0 || !col.sortOrder) {\r\n col.sortOrder = 1;\r\n } else if (col.sortOrder === 1) {\r\n col.sortOrder = -1;\r\n } else {\r\n col.sortOrder = 0;\r\n }\r\n\r\n if (col.sortOrder !== 0) {\r\n this.sortingEmitter.emit({\r\n field: col.field,\r\n value: col.sortOrder === 1 ? 'asc' : 'desc',\r\n });\r\n } else {\r\n this.sortingEmitter.emit({\r\n field: null,\r\n value: null,\r\n });\r\n }\r\n }\r\n\r\n protected onColReorder(data: TreeTableColumnReorderEvent): void {\r\n const { dragIndex, dropIndex } = data;\r\n\r\n if (dragIndex && dropIndex) {\r\n const [draggedColumn] = this.tableColumns.splice(dragIndex, 1);\r\n\r\n let adjustedDropIndex = dropIndex;\r\n if (dragIndex < dropIndex) {\r\n adjustedDropIndex = dropIndex - 1;\r\n }\r\n\r\n this.tableColumns.splice(adjustedDropIndex, 0, draggedColumn);\r\n\r\n this.tableColumns.forEach((col, index) => {\r\n col.orderNumber = index;\r\n });\r\n }\r\n }\r\n\r\n protected toggleFrozenColumn(col: TableHeaderColumn): void {\r\n const frozenIndex = this.frozenColumns.findIndex(\r\n (fc) => fc.field === col.field\r\n );\r\n\r\n if (frozenIndex >= 0) {\r\n col.isPinned = false;\r\n this.frozenColumns.splice(frozenIndex, 1);\r\n this.tableColumns.splice(col.orderNumber, 0, col);\r\n this.frozenWidth = +this.frozenWidth - col.minWidth;\r\n } else {\r\n col.isPinned = true;\r\n this.frozenColumns.push(col);\r\n this.tableColumns = this.tableColumns.filter(\r\n (c) => c.field !== col.field\r\n );\r\n this.frozenWidth = +this.frozenWidth + col.minWidth;\r\n }\r\n\r\n if (!this.frozenColumns.length) {\r\n this.frozenWidth = 0;\r\n }\r\n }\r\n\r\n protected onPageChange(event: any) {\r\n if (event.rows !== this.limit()) {\r\n const pageIndex = Math.floor(this.offset / this.limit());\r\n this.offset= pageIndex * event.rows;\r\n this.limit.set(event.rows as number);\r\n } else {\r\n this.offset = event.first;\r\n }\r\n this.loadMoreEmitter.emit(this.offset);\r\n }\r\n\r\n get visibleColumns(): TableHeaderColumn[] {\r\n return this.tableColumns.filter((col) => col.visible);\r\n }\r\n}\r\n","<div\r\n style=\"position: relative\"\r\n [ngClass]=\"{ 'p-disabled': loading }\"\r\n class=\"tree-table-wrapper\"\r\n>\r\n <p-treetable\r\n #treeTable\r\n [value]=\"tableData && !loading ? tableData : placeholderData\"\r\n [rowHover]=\"rowHover\"\r\n [columns]=\"visibleColumns\"\r\n selectionMode=\"multiple\"\r\n columnResizeMode=\"expand\"\r\n [resizableColumns]=\"resizableColumns\"\r\n [reorderableColumns]=\"reorderableColumns\"\r\n [lazyLoadOnInit]=\"false\"\r\n [lazy]=\"true\"\r\n [totalRecords]=\"+generalTotal\"\r\n [rows]=\"limit()\"\r\n [first]=\"offset\"\r\n [scrollable]=\"true\"\r\n [scrollHeight]=\"height + 'px'\"\r\n [paginator]=\"paginator\"\r\n [rowsPerPageOptions]=\"rowsPerPageOptions\"\r\n [frozenColumns]=\"frozenColumns\"\r\n [frozenWidth]=\"frozenWidth + 'px'\"\r\n (onColReorder)=\"onColReorder($event)\"\r\n (onPage)=\"onPageChange($event)\"\r\n >\r\n <ng-template #colgroup let-columns>\r\n <colgroup>\r\n @for (col of columns; track col.field) {\r\n <col [ngStyle]=\"{ 'min-width.px': col.width || 200 }\" />\r\n }\r\n </colgroup>\r\n </ng-template>\r\n <ng-template #header let-columns>\r\n <tr>\r\n @for (col of columns; track col.field; let i = $index) {\r\n @if(col.visible) {\r\n <th\r\n ttReorderableColumn\r\n ttResizableColumn\r\n [pTooltip]=\"col.headerTooltip\"\r\n tooltipPosition=\"top\"\r\n >\r\n <div class=\"table-head-container\">\r\n <div class=\"table-head-left\">\r\n <span>{{ col.name }}</span>\r\n @if(col.sorting && tableData && tableData.length) {\r\n @if(!col.sortOrder || col.sortOrder === 1 ) {\r\n <span\r\n class=\"sort-icon\"\r\n (click)=\"changeSorting(col, i)\"\r\n [class.sorted]=\"col.sortOrder\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M7.52794 2.86201C7.78829 2.60166 8.2104 2.60166 8.47075 2.86201L13.1374 7.52868C13.3978 7.78903 13.3978 8.21114 13.1374 8.47149C12.8771 8.73184 12.455 8.73184 12.1946 8.47149L8.66602 4.94289V12.6667C8.66602 13.0349 8.36754 13.3334 7.99935 13.3334C7.63116 13.3334 7.33268 13.0349 7.33268 12.6667V4.94289L3.80409 8.47149C3.54374 8.73184 3.12163 8.73184 2.86128 8.47149C2.60093 8.21114 2.60093 7.78903 2.86128 7.52868L7.52794 2.86201Z\"\r\n fill=\"#5D6983\"\r\n />\r\n </svg>\r\n </span>\r\n } @else if(col.sortOrder === -1) {\r\n <span\r\n class=\"sort-icon\"\r\n (click)=\"changeSorting(col, i)\"\r\n [class.sorted]=\"col.sortOrder\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M7.99935 2.66675C8.36754 2.66675 8.66602 2.96522 8.66602 3.33341V11.0573L12.1946 7.52868C12.455 7.26833 12.8771 7.26833 13.1374 7.52868C13.3978 7.78903 13.3978 8.21114 13.1374 8.47149L8.47075 13.1382C8.2104 13.3985 7.78829 13.3985 7.52794 13.1382L2.86128 8.47149C2.60093 8.21114 2.60093 7.78903 2.86128 7.52868C3.12163 7.26833 3.54374 7.26833 3.80409 7.52868L7.33268 11.0573V3.33341C7.33268 2.96522 7.63116 2.66675 7.99935 2.66675Z\"\r\n fill=\"#5D6983\"\r\n />\r\n </svg>\r\n </span>\r\n } }\r\n </div>\r\n <div class=\"table-head-right\" (click)=\"toggleFrozenColumn(col)\">\r\n <svg\r\n [ngStyle]=\"{ visibility: col.isPinned ? 'visible' : 'hidden' }\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 16 16\"\r\n fill=\"none\"\r\n class=\"pin-icon\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M8.83187 1.03508C9.12501 0.842802 9.4822 0.774012 9.82579 0.843664C10.0852 0.896247 10.2834 1.03601 10.4311 1.15913C10.5722 1.27679 10.7303 1.43485 10.9003 1.60497L14.3587 5.06328C14.5288 5.23337 14.6868 5.3914 14.8045 5.53256C14.9276 5.68026 15.0674 5.87845 15.12 6.13785C15.1896 6.48143 15.1208 6.83862 14.9285 7.13177C14.7834 7.35309 14.58 7.4852 14.4109 7.57661C14.2492 7.66398 14.0437 7.75201 13.8226 7.84675L12.1392 8.56819C12.1014 8.58439 12.083 8.59232 12.0697 8.59838C12.0694 8.59853 12.0691 8.59866 12.0688 8.5988C12.0686 8.59902 12.0683 8.59925 12.0681 8.59948C12.0575 8.60958 12.0433 8.62374 12.0142 8.65281L10.976 9.69106C10.9306 9.73648 10.9083 9.75892 10.8925 9.77577C10.8921 9.77619 10.8918 9.77658 10.8914 9.77697C10.8913 9.77748 10.8912 9.77801 10.891 9.77856C10.8857 9.80098 10.8794 9.832 10.8668 9.89499L10.3737 12.3607C10.3152 12.6531 10.2627 12.9161 10.2013 13.1226C10.14 13.3292 10.039 13.596 9.81156 13.7979C9.52061 14.056 9.13123 14.1739 8.74593 14.1205C8.44471 14.0788 8.21269 13.9127 8.04703 13.7748C7.88149 13.6371 7.69187 13.4474 7.48099 13.2365L5.57438 11.3299L2.28199 14.6223C2.02222 14.8821 1.60107 14.8821 1.34131 14.6223C1.08154 14.3626 1.08154 13.9414 1.34131 13.6816L4.6337 10.3892L2.72713 8.48266C2.51622 8.27178 2.32657 8.08215 2.18881 7.91661C2.05096 7.75095 1.88489 7.51893 1.84313 7.2177C1.78971 6.83241 1.90761 6.44303 2.16577 6.15207C2.36761 5.92461 2.63449 5.82367 2.84108 5.7623C3.04753 5.70097 3.31052 5.64839 3.60299 5.58992L6.06865 5.09678C6.13165 5.08418 6.16266 5.07789 6.18508 5.07259C6.18563 5.07246 6.18616 5.07233 6.18667 5.07221C6.18706 5.07185 6.18746 5.07148 6.18787 5.07109C6.20472 5.05538 6.22716 5.03307 6.27259 4.98764L7.31083 3.9494C7.3399 3.92032 7.35406 3.90611 7.36416 3.89554C7.3644 3.89529 7.36462 3.89506 7.36484 3.89482C7.36498 3.89453 7.36511 3.89423 7.36526 3.89392C7.37132 3.88062 7.37926 3.8622 7.39545 3.8244L8.11689 2.14103C8.21164 1.91991 8.29966 1.71446 8.38703 1.55277C8.47844 1.38361 8.61055 1.18024 8.83187 1.03508ZM8.40132 12.2755C8.63905 12.5132 8.78513 12.6584 8.89796 12.7523C8.90523 12.7583 8.91203 12.7638 8.91836 12.7689C8.92082 12.7612 8.9234 12.7528 8.92609 12.7437C8.96789 12.603 9.00893 12.4012 9.07487 12.0716L9.56236 9.63409C9.56394 9.62617 9.56555 9.61803 9.56721 9.60969C9.58534 9.51806 9.60818 9.40265 9.65208 9.29073C9.69021 9.19352 9.73965 9.10114 9.79939 9.01549C9.86816 8.91689 9.95151 8.83386 10.0177 8.76795C10.0237 8.76195 10.0296 8.75609 10.0353 8.75037L11.0736 7.71213C11.0772 7.70849 11.0809 7.70474 11.0848 7.70091C11.1271 7.65849 11.1804 7.60506 11.2412 7.55676C11.294 7.51476 11.35 7.47685 11.4087 7.44335C11.4761 7.40483 11.5455 7.37518 11.6006 7.35166C11.6056 7.34953 11.6105 7.34745 11.6152 7.34543L13.2743 6.63436C13.5281 6.52562 13.6765 6.4613 13.7784 6.40622C13.7839 6.40327 13.789 6.40047 13.7937 6.39782C13.7903 6.39361 13.7866 6.38913 13.7826 6.38437C13.7085 6.29537 13.5945 6.18051 13.3993 5.98532L9.97831 2.5643C9.78312 2.36911 9.66827 2.25517 9.57927 2.18098C9.57451 2.17701 9.57002 2.17334 9.56581 2.16994C9.56317 2.17466 9.56037 2.17974 9.55742 2.18519C9.50234 2.28712 9.43801 2.43557 9.32928 2.68929L8.61821 4.34845C8.61618 4.35318 8.6141 4.35805 8.61198 4.36303C8.58845 4.41813 8.55881 4.48753 8.52029 4.55496C8.48679 4.61359 8.44888 4.66959 8.40688 4.72246C8.35858 4.78327 8.30515 4.83657 8.26273 4.87888C8.2589 4.8827 8.25515 4.88644 8.25151 4.89008L7.21327 5.92832C7.20755 5.93404 7.20169 5.93992 7.19569 5.94594C7.12978 6.01212 7.04676 6.09548 6.94815 6.16425C6.8625 6.22398 6.77012 6.27342 6.67291 6.31155C6.56099 6.35545 6.44558 6.37829 6.35396 6.39643C6.34562 6.39808 6.33748 6.39969 6.32955 6.40128L3.89209 6.88877C3.56241 6.95471 3.36062 6.99575 3.21992 7.03754C3.21085 7.04024 3.20247 7.04282 3.19475 7.04528C3.19981 7.05161 3.20535 7.05841 3.2114 7.06568C3.30529 7.17851 3.45042 7.32459 3.68815 7.56232L8.40132 12.2755Z\"\r\n fill=\"#5D6983\"\r\n />\r\n </svg>\r\n </div>\r\n </div>\r\n </th>\r\n } }\r\n </tr>\r\n </ng-template>\r\n <ng-template #body let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr [ttRow]=\"rowNode\" [ttSelectableRow]=\"rowNode\">\r\n @for (col of columns; track col.field; let index = $index) {\r\n <td [ngClass]=\"col.cellClass\">\r\n @if(loading || !tableData || !tableData.length) {\r\n <p-skeleton />\r\n } @else {\r\n <span>{{ rowData[col.field] }}</span>\r\n }\r\n </td>\r\n }\r\n </tr>\r\n </ng-template>\r\n <ng-template #paginatorleft>\r\n <div class=\"general-summary\">\r\n @if(loading) {\r\n <span>Loading total...</span>\r\n } @else { @if(generalTotal && tableData && tableData.length) {\r\n <span>{{\r\n 'Total: ' + generalTotal + ' (visible: ' + tableData.length + ')'\r\n }}</span>\r\n } }\r\n </div>\r\n </ng-template>\r\n </p-treetable>\r\n @if(tableData && !tableData.length && !loading) {\r\n <div class=\"empty-message-text\">\r\n <span> No Data Available</span>\r\n </div>\r\n }\r\n <p-popover #op>\r\n <div class=\"manage-columns\">\r\n <ul class=\"columns-list\">\r\n @for (column of tableColumns; track column.field; let index = $index) {\r\n <li>\r\n <p-checkbox [binary]=\"true\" [(ngModel)]=\"column.visible\" />\r\n <span>{{ column.name }}</span>\r\n </li>\r\n }\r\n </ul>\r\n </div>\r\n </p-popover>\r\n</div>\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n SimpleChanges,\r\n ChangeDetectorRef,\r\n OnInit,\r\n OnDestroy,\r\n ChangeDetectionStrategy,\r\n} from '@angular/core';\r\nimport { UiGridCommonService } from '@everymatrix-base-components/utils';\r\n\r\n@Component({\r\n selector: 'dm-ui-grid-lib',\r\n template: '',\r\n styleUrl: './dm-ui-grid-lib.component.scss',\r\n standalone: true,\r\n imports: [],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class DmUiGridLibComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() options: any; // Input property that will bind to the AngularJS grid options\r\n protected gridId: string;\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private uiGridCommonService: UiGridCommonService\r\n ) {\r\n this.gridId =\r\n this.uiGridCommonService.getUniqueIdForCouple('angular-component');\r\n }\r\n\r\n ngOnInit() {\r\n const couple = this.uiGridCommonService.getCoupleById(this.gridId);\r\n if (couple) {\r\n this.uiGridCommonService.setOptionsForId(this.gridId, this.options);\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (\r\n changes['options'] &&\r\n changes['options'].currentValue !== changes['options'].previousValue\r\n ) {\r\n const couple = this.uiGridCommonService.getCoupleById(this.gridId);\r\n if (couple) {\r\n this.uiGridCommonService.setOptionsForId(this.gridId, this.options);\r\n this.cdr.detectChanges();\r\n }\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.uiGridCommonService.removeCoupleById(this.gridId);\r\n }\r\n}\r\n","import {\r\n AfterViewInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n computed,\r\n DestroyRef,\r\n effect,\r\n EffectRef,\r\n ElementRef,\r\n inject,\r\n linkedSignal,\r\n OnInit,\r\n signal,\r\n ViewEncapsulation,\r\n} from '@angular/core';\r\nimport { PanelModule } from 'primeng/panel';\r\nimport { DmRangeDatePickerLibComponent } from '@everymatrix-base-components/dm-range-date-picker-lib';\r\nimport { DmInputTextLibComponent } from '@everymatrix-base-components/dm-input-text-lib';\r\nimport { DmSelectLibComponent } from '@everymatrix-base-components/dm-select-lib';\r\nimport { DmButtonLibComponent } from '@everymatrix-base-components/dm-button-lib';\r\nimport {\r\n FormControl,\r\n FormGroup,\r\n ReactiveFormsModule,\r\n Validators,\r\n FormsModule,\r\n} from '@angular/forms';\r\nimport { VerificationService } from './services/verification.service';\r\nimport { DmTreeTableComponent } from '@everymatrix-base-components/dm-tree-table';\r\nimport { DmUiGridLibComponent } from '@everymatrix-base-components/dm-ui-grid-lib';\r\nimport { catchError, combineLatest, filter, fromEvent, map, mergeMap, of, switchMap, take } from 'rxjs';\r\nimport { NgStyle } from '@angular/common';\r\nimport { ProgressSpinnerModule } from 'primeng/progressspinner';\r\nimport {\r\n downloadURL,\r\n DynamicFilters,\r\n Lookups,\r\n REPORTS,\r\n ReportTemplate,\r\n ShadowDomStyleInjectorService,\r\n TableHeaderColumn,\r\n TemplateService,\r\n SessionService,\r\n TracingInfoService\r\n} from '@everymatrix-base-components/utils';\r\nimport { Dialog } from 'primeng/dialog';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport moment from 'moment';\r\nimport {\r\n ToggleSwitchChangeEvent,\r\n ToggleSwitchModule,\r\n} from 'primeng/toggleswitch';\r\nimport {\r\n DomainsOverloadModalComponent,\r\n ReportConfigurationModalComponent,\r\n SaveTemplateModalComponent,\r\n TemplateSelectModalComponent,\r\n ToastMessageComponent,\r\n} from '@everymatrix-base-components/components';\r\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\r\nimport { Checkbox } from 'primeng/checkbox';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n standalone: true,\r\n imports: [\r\n PanelModule,\r\n DmRangeDatePickerLibComponent,\r\n DmInputTextLibComponent,\r\n DmSelectLibComponent,\r\n DmButtonLibComponent,\r\n ReactiveFormsModule,\r\n DmTreeTableComponent,\r\n ProgressSpinnerModule,\r\n NgStyle,\r\n Dialog,\r\n TooltipModule,\r\n ToastMessageComponent,\r\n DmUiGridLibComponent,\r\n ToggleSwitchModule,\r\n FormsModule,\r\n SaveTemplateModalComponent,\r\n ReportConfigurationModalComponent,\r\n TemplateSelectModalComponent,\r\n DomainsOverloadModalComponent,\r\n Checkbox,\r\n ],\r\n providers: [TemplateService],\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.ShadowDom,\r\n})\r\nexport class AppComponent implements OnInit, AfterViewInit {\r\n private templateService = inject(TemplateService);\r\n private verificationService = inject(VerificationService);\r\n private sessionService = inject(SessionService);\r\n private tracingInfoService = inject(TracingInfoService);\r\n private el = inject(ElementRef);\r\n private cdr = inject(ChangeDetectorRef);\r\n private shadowDomStyleInjectorService = inject(ShadowDomStyleInjectorService);\r\n attachedToShadowDom = signal(false);\r\n isTemplateSaved = signal(true);\r\n csvLoading = signal(false);\r\n templateCsvLoadingConfig = signal({ templateId: '', isLoading: false });\r\n configureReportModalVisible = signal(false);\r\n modalVisible = signal(false);\r\n domainsOverloadVisible = signal(false);\r\n lookupsSignal = signal<{ [key: string]: Lookups[] } | undefined>(undefined);\r\n domainLookupsSignal = signal<Lookups[] | undefined>(undefined);\r\n allFieldsSignal = signal<DynamicFilters[] | undefined>(undefined);\r\n templateSignal = this.templateService.template;\r\n ready = computed(() => {\r\n return (\r\n this.templateSignal() !== undefined &&\r\n this.lookupsSignal() !== undefined &&\r\n this.domainLookupsSignal() !== undefined &&\r\n this.allFieldsSignal() !== undefined\r\n );\r\n });\r\n destroyRef = inject(DestroyRef);\r\n visibleFieldsSignal: any = linkedSignal({\r\n source: () => this.allFieldsSignal(),\r\n computation: (all) => {\r\n if (all) {\r\n const selectedIds =\r\n this.templateSignal()?.input_params.visibleFields ??\r\n all?.filter((f) => f.is_default === 'true').map((f) => f.field_id);\r\n\r\n return all?.filter((f) => selectedIds.includes(f.field_id));\r\n }\r\n return undefined;\r\n },\r\n });\r\n allConfigurationFields!: DynamicFilters[];\r\n requiredFields = [\r\n 'merchant_name',\r\n 'verification_creation_date',\r\n 'verification_updated_date',\r\n ];\r\n tableColumns: TableHeaderColumn[] = [];\r\n filterForm: any;\r\n isPanelOpened = true;\r\n tableData: any[] = [];\r\n generalTotal = '';\r\n limit = signal(100);\r\n offset = 0;\r\n scrollHeight = 350;\r\n showReportTable = signal(false);\r\n tableLoading = false;\r\n runState = false;\r\n documentsModal = false;\r\n isOldTableStyle = false;\r\n domainsOverloadSaveMode = true;\r\n gridApi: any;\r\n orderBy: any;\r\n orderDirection: any;\r\n reportId = REPORTS.MM_VERIFICATION.reportId;\r\n effectRef: EffectRef;\r\n gridOptions: any = {\r\n infiniteScrollDown: false,\r\n enableSorting: true,\r\n showGridFooter: false,\r\n showColumnFooter: true,\r\n enableFiltering: false,\r\n enableColumnResizing: true,\r\n enableGridMenu: true,\r\n exporterMenuCsv: false,\r\n exporterMenuPdf: false,\r\n exporterMenuExcel: false,\r\n treeRowHeaderAlwaysVisible: true,\r\n columnDefs: [],\r\n data: [],\r\n enableHorizontalScrollbar: 2,\r\n gridFooterTemplate: `<div class=\"ui-grid-footer-info ui-grid-grid-footer\">\r\n <div ng-if=\"grid.loadingAggregationData\">Loading total...</div>\r\n <div ng-if=\"!grid.loadingAggregationData\">Total: {{grid.total}} (visible: {{grid.rows.length}})</div>\r\n </div>`,\r\n enableRowHeaderSelection: false,\r\n useExternalSorting: true,\r\n dataLoading: this.tableLoading,\r\n isVisible: false,\r\n paginationPageSize: this.limit(),\r\n paginationPageSizes: [10, 20, 30, 50, 100, 250, 500],\r\n useExternalPagination: true,\r\n totalItems: 0,\r\n paginationCurrentPage: 1,\r\n scrollHeight: 360,\r\n onRegisterApi: (gridApi: any) => {\r\n this.gridApi = gridApi;\r\n this.gridApi.core.on.sortChanged(null, (grid: any, sortColumn: any) => {\r\n if (sortColumn.length > 1) {\r\n let column = null;\r\n for (let j = 0; j < grid.columns.length; j++) {\r\n if (grid.columns[j].name === sortColumn[0].displayName) {\r\n column = grid.columns[j];\r\n break;\r\n }\r\n }\r\n if (column) {\r\n sortColumn[1].sort.priority = 1;\r\n column.unsort();\r\n }\r\n } else if (sortColumn && sortColumn[0]) {\r\n this.onSort({\r\n field: sortColumn.slice(-1)[0].field,\r\n value: sortColumn[0].sort.direction,\r\n });\r\n }\r\n });\r\n if (this.gridApi && this.gridApi.treeBase && this.gridApi.treeBase.expandAllRows) {\r\n this.gridApi.grid.registerDataChangeCallback(() =>\r\n this.gridApi.treeBase.expandAllRows()\r\n );\r\n }\r\n\r\n this.gridApi.pagination.on.paginationChanged(\r\n null,\r\n (newPage: number, pageSize: number) => {\r\n // do not trigger data loading if only need to set correct page\r\n if (\r\n this.limit() === pageSize &&\r\n (newPage - 1) * pageSize == this.offset\r\n )\r\n return;\r\n\r\n this.limit.set(pageSize);\r\n this.runReport((newPage - 1) * pageSize, true);\r\n }\r\n );\r\n },\r\n };\r\n\r\n constructor() {\r\n this.effectRef = effect(\r\n () => {\r\n if (!this.ready() || this.filterForm) {\r\n return;\r\n }\r\n const tpl = this.templateSignal();\r\n const all = this.allFieldsSignal();\r\n this.buildFilterForm(\r\n all as DynamicFilters[],\r\n tpl?.input_params.fieldValues\r\n );\r\n this.showReportTable.set(false);\r\n this.tableLoading = false;\r\n this.effectRef.destroy();\r\n },\r\n { manualCleanup: true }\r\n );\r\n window.addEventListener('message', this.reloadListener);\r\n }\r\n\r\n ngOnInit() {\r\n this.initializeApp();\r\n //Executed when the back/forward buttons are pressed\r\n fromEvent(window, 'popstate')\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe(() => this.handleRouteChange());\r\n\r\n this.templateService.templateChangedSubject\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe((template: ReportTemplate | null) => {\r\n if (template) {\r\n this.updateReport(template);\r\n }\r\n });\r\n\r\n this.templateService.savedTemplateSubject\r\n .pipe(\r\n takeUntilDestroyed(this.destroyRef),\r\n filter((data) => data !== null)\r\n )\r\n .subscribe((template: ReportTemplate | null) => {\r\n if (template) {\r\n this.updateReport(template, false);\r\n }\r\n this.templateService.savedTemplateSubject.next(null);\r\n });\r\n }\r\n\r\n private initializeApp() {\r\n this.sessionService.sessionData$\r\n .pipe(\r\n takeUntilDestroyed(this.destroyRef),\r\n filter((data) => data !== null),\r\n take(1),\r\n mergeMap(() =>\r\n combineLatest({\r\n lookups: this.verificationService.getLookups(),\r\n domainLookups: this.verificationService\r\n .getDomainLookups()\r\n .pipe(map((d) => d.domains_mm)),\r\n columns: this.verificationService.getReportFilters(),\r\n })\r\n )\r\n )\r\n .subscribe((data) => {\r\n if (data?.lookups) {\r\n if (!this.lookupsSignal()) {\r\n this.lookupsSignal.set(this.groupLookups(data.lookups));\r\n }\r\n }\r\n if (data?.domainLookups) {\r\n if (!this.domainLookupsSignal()) {\r\n this.domainLookupsSignal.set(data.domainLookups);\r\n }\r\n }\r\n\r\n if (data?.columns) {\r\n if (!this.allFieldsSignal()) {\r\n const result = this.sortRequiredFields(data.columns.result);\r\n result.forEach((col: DynamicFilters) => {\r\n if (this.requiredFields.includes(col.field_id)) {\r\n col.required = true;\r\n }\r\n });\r\n this.allFieldsSignal.set(result);\r\n this.allFieldsForConfiguration(result);\r\n }\r\n }\r\n this.processTemplateIdFromUrl();\r\n });\r\n }\r\n\r\n private handleRouteChange = () => {\r\n const params = new URLSearchParams(window.location.search);\r\n const templateId = params.get('templateId');\r\n\r\n if (templateId) {\r\n const currentTemplate = (\r\n this.templateService.templatesList() as ReportTemplate[]\r\n )?.find((item) => item.template_id === templateId);\r\n this.templateSignal.set(currentTemplate);\r\n this.templateService.templateChangedSubject.next(\r\n currentTemplate as ReportTemplate\r\n );\r\n } else {\r\n this.clearTemplate();\r\n }\r\n };\r\n\r\n ngAfterViewInit() {\r\n this.shadowDomStyleInjectorService.injectUiGridStyles(this.el);\r\n this.shadowDomStyleInjectorService\r\n .injectNgPrimeStyles(this.el)\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe({\r\n next: (injected) => this.attachedToShadowDom.set(injected),\r\n error: (err) => console.error(err),\r\n });\r\n }\r\n\r\n updateReport(template: ReportTemplate, isTemplateSaved = true) {\r\n this.filterForm.patchValue(template.input_params.fieldValues);\r\n this.runState = false;\r\n this.showReportTable.set(false);\r\n this.isTemplateSaved.set(isTemplateSaved);\r\n }\r\n\r\n private processTemplateIdFromUrl() {\r\n const queryParams = new URLSearchParams(window.location.search);\r\n const templateId = queryParams.get('templateId');\r\n\r\n if (templateId) {\r\n this.templateService\r\n .getTemplateById(this.reportId, templateId)\r\n .pipe(take(1))\r\n .subscribe((template) => {\r\n if (template) {\r\n this.templateService.template.set(template);\r\n if (this.filterForm) this.filterForm.patchValue(template.input_params.fieldValues);\r\n } else {\r\n this.clearTemplate();\r\n }\r\n });\r\n } else {\r\n this.clearTemplate();\r\n }\r\n }\r\n\r\n protected saveTemporaryTemplate() {\r\n const payload = {\r\n fieldValues: this.filterForm.value,\r\n visibleFields: this.visibleFieldsId,\r\n allFields: this.allFieldsSignal(),\r\n };\r\n if (!this.isTemplateSaved() || !this.templateSignal()) {\r\n this.templateService\r\n .saveTemplate(null, null, payload, this.reportId, null, true)\r\n .pipe(take(1))\r\n .subscribe((template) => {\r\n this.templateService.setUrlTemplateId(template.template_id);\r\n this.templateService.template.set(template);\r\n });\r\n }\r\n }\r\n\r\n private sortRequiredFields(columns: DynamicFilters[]) {\r\n const mandatoryLength = this.requiredFields.length;\r\n const getPriority = (fieldId: string) => {\r\n const index = this.requiredFields.indexOf(fieldId);\r\n return index !== -1 ? index : mandatoryLength;\r\n };\r\n\r\n columns.sort((a, b) => {\r\n return getPriority(a.field_id) - getPriority(b.field_id);\r\n });\r\n\r\n return columns;\r\n }\r\n\r\n private buildFilterForm(\r\n all: DynamicFilters[],\r\n values?: Record<string, unknown>\r\n ) {\r\n this.filterForm = new FormGroup({});\r\n all.forEach((field) => {\r\n let def = (values && values[field.field_id]) || null;\r\n\r\n const validators = [];\r\n\r\n if (field.field_id === 'merchant_name') {\r\n validators.push(Validators.required);\r\n if (!values) {\r\n def = (this.domainLookupsSignal() as Lookups[]).map(\r\n (l) => l.lookup_key\r\n );\r\n }\r\n }\r\n if (!values && field.field_id === 'verification_creation_date') {\r\n def = {\r\n alias: 'custom',\r\n start: moment().startOf('day').toDate(),\r\n end: moment().endOf('day').toDate(),\r\n };\r\n }\r\n\r\n this.filterForm.addControl(\r\n field.field_id,\r\n new FormControl(def, validators)\r\n );\r\n });\r\n\r\n this.filterForm.addControl('show_last_verification', new FormControl(true));\r\n\r\n if (values) {\r\n this.isTemplateSaved.set(true);\r\n }\r\n\r\n this.filterForm.valueChanges\r\n .pipe(takeUntilDestroyed(this.destroyRef))\r\n .subscribe(() => this.isTemplateSaved.set(false));\r\n }\r\n\r\n private buildOldTableColumns(rawColumns: DynamicFilters[]): void {\r\n this.gridOptions.columnDefs = rawColumns.map((item, index) => {\r\n return {\r\n name: item.field_name,\r\n displayName: item.field_name,\r\n field: item.field_id,\r\n cellTooltip: true,\r\n orderNumber: index + 1,\r\n enableSorting: item.field_id !== 'documents',\r\n width: '*',\r\n minWidth: 200,\r\n enableGrouping: false,\r\n cellClass:\r\n item['field_data_type'] === 'BIGNUMERIC' ||\r\n item['field_data_type'] === 'INT64'\r\n ? 'text-align-right'\r\n : 'text-align-left',\r\n };\r\n });\r\n\r\n const merchant_id = {\r\n name: 'Merchant ID',\r\n displayName: 'Merchant ID',\r\n field: 'merchant_id',\r\n cellTooltip: true,\r\n orderNumber: 0,\r\n width: '*',\r\n minWidth: 200,\r\n enableGrouping: false,\r\n cellClass: 'text-align-right',\r\n };\r\n const version = {\r\n name: 'Version',\r\n displayName: 'Version',\r\n field: 'version',\r\n cellTooltip: true,\r\n orderNumber: this.gridOptions.columnDefs.length,\r\n width: '*',\r\n minWidth: 200,\r\n enableGrouping: false,\r\n cellClass: 'text-align-right',\r\n };\r\n this.gridOptions.columnDefs.unshift(merchant_id);\r\n this.gridOptions.columnDefs.push(version);\r\n }\r\n\r\n private buildTableColumns(visible: DynamicFilters[]) {\r\n this.tableColumns = visible.map((f, i) => ({\r\n name: f.field_name,\r\n field: f.field_id,\r\n headerTooltip: '',\r\n visible: true,\r\n cellClass:\r\n f['field_data_type'] === 'BIGNUMERIC' ||\r\n f['field_data_type'] === 'INT64'\r\n ? 'text-align-right'\r\n : 'text-align-left',\r\n footerCellClass: '',\r\n minWidth: 200,\r\n sorting: f.field_id !== 'documents',\r\n orderNumber: i + 1,\r\n }));\r\n\r\n this.tableColumns.unshift({\r\n name: 'Merchant ID',\r\n field: 'merchant_id',\r\n headerTooltip: '',\r\n visible: true,\r\n cellClass: 'text-align-right',\r\n footerCellClass: '',\r\n minWidth: 200,\r\n sorting: true,\r\n orderNumber: 0,\r\n });\r\n this.tableColumns.push({\r\n name: 'Version',\r\n field: 'version',\r\n headerTooltip: '',\r\n visible: true,\r\n cellClass: 'text-align-right',\r\n footerCellClass: '',\r\n minWidth: 200,\r\n sorting: true,\r\n orderNumber: this.tableColumns.length + 1,\r\n });\r\n }\r\n\r\n protected runReport(offset: number, isLoadingMore = false) {\r\n this.showReportTable.set(true);\r\n\r\n this.buildTableColumns(this.visibleFieldsSignal() as DynamicFilters[]);\r\n this.buildOldTableColumns(this.visibleFieldsSignal() as DynamicFilters[]);\r\n\r\n this.offset = offset;\r\n this.tableLoading = true;\r\n this.gridOptions.dataLoading = true;\r\n this.cdr.detectChanges();\r\n this.runState = true;\r\n if (isLoadingMore) {\r\n this.gridOptions.paginationPageSize = this.limit();\r\n this.gridOptions.paginationCurrentPage = this.getPageFromOffset(this.offset, this.limit());\r\n } else {\r\n this.orderBy = null;\r\n this.orderDirection = null;\r\n }\r\n\r\n const params = {\r\n offset,\r\n limit: this.limit(),\r\n allFilters: this.allFieldsSignal() as DynamicFilters[],\r\n formData: this.filterForm.value,\r\n columns: this.visibleFieldsId,\r\n executionType: 'report',\r\n sorting: { field: this.orderBy, value: this.orderDirection },\r\n template:\r\n this.templateService.template() &&\r\n !this.templateService.template()?.is_temporary\r\n ? this.templateService.template()\r\n : null,\r\n };\r\n this.verificationService\r\n .runReport(params)\r\n .pipe(\r\n take(1),\r\n catchError(() => {\r\n return of([]);\r\n })\r\n )\r\n .subscribe((data: any) => {\r\n this.tableLoading = false;\r\n this.gridOptions.dataLoading = false;\r\n this.tableData = [...data];\r\n this.gridOptions.data = [...data];\r\n this.runState = false;\r\n this.cdr.detectChanges();\r\n });\r\n if (!isLoadingMore) {\r\n this.loadGrandTotal(offset);\r\n }\r\n }\r\n\r\n protected loadGrandTotal(offset: number) {\r\n if (!offset) {\r\n if (this.gridApi) {\r\n this.gridApi.grid.loadingAggregationData = true;\r\n }\r\n const params = {\r\n offset,\r\n limit: this.limit(),\r\n allFilters: this.allFieldsSignal() as DynamicFilters[],\r\n formData: this.filterForm.value,\r\n columns: this.visibleFieldsId,\r\n executionType: 'report',\r\n isGrandTotal: true,\r\n sorting: { field: this.orderBy, value: this.orderDirection },\r\n };\r\n this.verificationService\r\n .runReport({\r\n ...params,\r\n isGrandTotal: true,\r\n })\r\n .pipe(\r\n take(1),\r\n catchError(() => of([]))\r\n )\r\n .subscribe((data) => {\r\n this.generalTotal = data[0]?.rows_count;\r\n if (this.gridApi) {\r\n this.gridApi.grid.total =\r\n data && data[0] && data[0].rows_count ? data[0].rows_count : 0;\r\n this.gridOptions.totalItems =\r\n data && data[0] && data[0].rows_count ? data[0].rows_count : 0;\r\n this.gridApi.grid.loadingAggregationData = false;\r\n }\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n }\r\n\r\n protected onSort(sortingValue: {\r\n field: string | null;\r\n value: 'asc' | 'desc' | null;\r\n }): void {\r\n this.offset = 0;\r\n this.tableLoading = true;\r\n this.gridOptions.dataLoading = true;\r\n this.orderBy = sortingValue.field;\r\n this.orderDirection = sortingValue.value;\r\n this.gridOptions.paginationCurrentPage = this.getPageFromOffset(this.offset, this.limit());\r\n this.verificationService\r\n .runReport({\r\n offset: 0,\r\n limit: this.limit(),\r\n allFilters: this.allFieldsSignal() as DynamicFilters[],\r\n formData: this.filterForm.value,\r\n columns: this.visibleFieldsId,\r\n executionType: 'report',\r\n isGrandTotal: false,\r\n sorting: sortingValue,\r\n })\r\n .pipe(\r\n take(1),\r\n catchError(() => of([]))\r\n )\r\n .subscribe((data) => {\r\n this.tableData = [...data];\r\n this.gridOptions.data = [...data];\r\n this.tableLoading = false;\r\n this.gridOptions.dataLoading = false;\r\n this.cdr.detectChanges();\r\n });\r\n }\r\n\r\n protected downloadCsv(template?: ReportTemplate) {\r\n this.verificationService\r\n .runReport({\r\n offset: 0,\r\n limit: this.limit(),\r\n allFilters: template\r\n ? template.input_params.allFields\r\n : (this.allFieldsSignal() as DynamicFilters[]),\r\n formData: template\r\n ? template.input_params.fieldValues\r\n : this.filterForm.value,\r\n columns: template\r\n ? template.input_params.visibleFields\r\n : this.visibleFieldsId,\r\n executionType: 'csv_load',\r\n isGrandTotal: false,\r\n sorting: { field: null, value: null },\r\n })\r\n .pipe(\r\n take(1),\r\n switchMap((data) => this.verificationService.csvLoad(data[0].path)),\r\n catchError((e) => {\r\n this.csvLoading.set(false);\r\n if (template) {\r\n this.templateCsvLoadingConfig.set({\r\n templateId: template.template_id,\r\n isLoading: false,\r\n });\r\n }\r\n return e;\r\n })\r\n )\r\n .subscribe((res: any) => {\r\n const templateName = `Report_${\r\n template?.template_name ||\r\n (this.templateSignal() as ReportTemplate).template_name ||\r\n ''\r\n }_${moment().format('YYYY-MM-DD_HH:mm')}.csv`;\r\n downloadURL(res, templateName);\r\n this.csvLoading.set(false);\r\n if (template) {\r\n this.templateCsvLoadingConfig.set({\r\n templateId: template.template_id,\r\n isLoading: false,\r\n });\r\n }\r\n });\r\n }\r\n\r\n private groupLookups(data: Lookups[]): { [k: string]: Lookups[] } {\r\n return data.reduce((acc, cur) => {\r\n (acc[cur.param_key] = acc[cur.param_key] || []).push(cur);\r\n return acc;\r\n }, {} as Record<string, Lookups[]>);\r\n }\r\n\r\n protected getControl(fieldId: string): any {\r\n const control = this.filterForm.get(fieldId);\r\n return control instanceof FormControl ? control : null;\r\n }\r\n\r\n getFilledFieldNames() {\r\n return (this.allFieldsSignal() as DynamicFilters[])\r\n .filter(({ field_id }) => {\r\n const value = this.filterForm.value[field_id];\r\n if (value == null) {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0;\r\n }\r\n if (typeof value === 'string') {\r\n return value.length > 0;\r\n }\r\n return true;\r\n })\r\n .map(({ field_name }) => field_name)\r\n .join(', ');\r\n }\r\n\r\n protected clearFilters(): void {\r\n const defaults: Record<string, any> = {\r\n merchant_name: this.domainLookupsSignal()?.length\r\n ? this.domainLookupsSignal()!.map((l) => l.lookup_key)\r\n : [],\r\n verification_creation_date: {\r\n alias: 'custom',\r\n start: moment().startOf('day').toDate(),\r\n end: moment().endOf('day').toDate(),\r\n },\r\n show_last_verification: true,\r\n };\r\n this.filterForm.reset(defaults);\r\n }\r\n\r\n protected calculateHeightPosition(element: HTMLElement): void {\r\n const content = element.parentElement as HTMLElement;\r\n setTimeout(() => {\r\n content.scrollTop = content.scrollHeight;\r\n }, 100);\r\n }\r\n\r\n public onToggleChange(event: ToggleSwitchChangeEvent) {\r\n this.gridOptions.isVisible = event.checked;\r\n this.cdr.detectChanges();\r\n }\r\n\r\n public onDocumentsClear(): void {\r\n this.getControl('documents').reset();\r\n this.getControl('documents_type').reset();\r\n this.getControl('documents_status').reset();\r\n this.getControl('documents_expiry_date').reset();\r\n this.getControl('documents_created_date').reset();\r\n }\r\n\r\n get visibleFieldsId(): string[] {\r\n if (this.visibleFieldsSignal()) {\r\n return (this.visibleFieldsSignal() as DynamicFilters[]).map(\r\n (f) => f.field_id\r\n );\r\n } else {\r\n return [];\r\n }\r\n }\r\n\r\n protected openSaveTemplateModal() {\r\n this.domainsOverloadSaveMode = true;\r\n if (this.isAllDomainsSelected) {\r\n this.domainsOverloadVisible.set(true);\r\n } else {\r\n this.modalVisible.set(true);\r\n }\r\n }\r\n\r\n protected runOverloadCheck() {\r\n if (this.isAllDomainsSelected) {\r\n this.domainsOverloadSaveMode = false;\r\n this.domainsOverloadVisible.set(true);\r\n } else {\r\n this.saveTemporaryTemplate();\r\n this.runReport(0, false);\r\n }\r\n }\r\n\r\n protected domainsOverloadConfirm(isSaveMode: boolean): void {\r\n if (isSaveMode) {\r\n this.modalVisible.set(true);\r\n } else {\r\n this.saveTemporaryTemplate();\r\n this.runReport(0, false);\r\n }\r\n }\r\n\r\n get isAllDomainsSelected(): boolean {\r\n if (\r\n !this.domainLookupsSignal()?.length ||\r\n this.domainLookupsSignal()?.length == 1\r\n )\r\n return false;\r\n return (\r\n this.domainLookupsSignal()?.length ===\r\n this.filterForm.get('merchant_name').value.length\r\n );\r\n }\r\n\r\n get isTemplateSavingEnabled(): boolean {\r\n return !this.isTemplateSaved() && this.filterForm && this.filterForm.get('merchant_name') && this.filterForm.get('merchant_name').value && this.filterForm.get('merchant_name').value.length > 0\r\n }\r\n\r\n protected applyConfigurationFields(event: {\r\n fieldsToShow: DynamicFilters[];\r\n allFields: DynamicFilters[];\r\n }) {\r\n this.isTemplateSaved.set(false);\r\n this.visibleFieldsSignal.set(event.fieldsToShow);\r\n }\r\n\r\n protected applyDocumentField() {\r\n const fieldsMap: Record<string, string> = {\r\n documents_type: 'Type',\r\n documents_status: 'Status',\r\n documents_expiry_date: 'Expiry Date',\r\n documents_created_date: 'Updated Date',\r\n };\r\n\r\n const result = Object.entries(fieldsMap)\r\n .filter(([field]) => !!this.filterForm.get(field)?.value)\r\n .map(([, label]) => label)\r\n .join(', ');\r\n\r\n this.filterForm.get('documents')?.patchValue(result);\r\n }\r\n\r\n private allFieldsForConfiguration(data: DynamicFilters[]) {\r\n const fieldsToExclude = [\r\n 'documents_type',\r\n 'documents_status',\r\n 'documents_expiry_date',\r\n 'documents_created_date',\r\n ];\r\n this.allConfigurationFields = data.filter(\r\n (item) => !fieldsToExclude.includes(item.field_id)\r\n );\r\n }\r\n\r\n private getPageFromOffset(offset: number, limit: number) {\r\n return offset ? Math.floor(offset / limit) + 1 : 1;\r\n }\r\n\r\n private reloadListener = (e: any) => {\r\n if (e.data?.type === 'ReloadReportData') {\r\n this.setInitState();\r\n this.sessionService.setInitData(null);\r\n this.sessionService.getHeaders();\r\n this.tracingInfoService.setInitData(null);\r\n this.tracingInfoService.getTracingInfo();\r\n this.initializeApp();\r\n }\r\n };\r\n\r\n private setInitState() {\r\n this.isTemplateSaved.set(true);\r\n this.csvLoading.set(false);\r\n this.templateCsvLoadingConfig.set({ templateId: '', isLoading: false });\r\n this.configureReportModalVisible.set(false);\r\n this.modalVisible.set(false);\r\n this.domainsOverloadVisible.set(false);\r\n this.lookupsSignal.set(undefined);\r\n this.domainLookupsSignal.set(undefined);\r\n this.allFieldsSignal.set(undefined);\r\n this.tableColumns = [];\r\n if (this.filterForm) this.clearFilters();\r\n this.isPanelOpened = true;\r\n this.tableData = [];\r\n this.generalTotal = '';\r\n this.limit.set(100);\r\n this.offset = 0;\r\n this.showReportTable.set(false);\r\n this.tableLoading = false;\r\n this.runState = false;\r\n this.documentsModal = false;\r\n this.isOldTableStyle = false;\r\n this.domainsOverloadSaveMode = true;\r\n this.orderBy = null;\r\n this.orderDirection = null;\r\n this.templateSignal.set(null);\r\n this.templateService.templatesList.set([]);\r\n this.allConfigurationFields = [];\r\n this.scrollHeight = 350;\r\n if (this.gridOptions) {\r\n this.gridOptions.columnDefs = [];\r\n this.gridOptions.data = [];\r\n this.gridOptions.dataLoading = this.tableLoading;\r\n this.gridOptions.isVisible = false;\r\n this.gridOptions.paginationPageSize = this.limit();\r\n this.gridOptions.totalItems = 0;\r\n this.gridOptions.paginationCurrentPage = 1;\r\n this.gridOptions.scrollHeight = 360;\r\n }\r\n }\r\n\r\n private clearTemplate() {\r\n if (this.filterForm) this.clearFilters();\r\n this.templateSignal.set(null);\r\n this.templateService.template.set(null);\r\n this.removeTemplatefromQuery();\r\n }\r\n\r\n private removeTemplatefromQuery() {\r\n const url = new URL(window.location.href);\r\n url.searchParams.delete('templateId');\r\n window.history.pushState({}, '', url.toString());\r\n }\r\n\r\n protected applyTableHeight(isPanelOpened: boolean) {\r\n if (this.gridOptions) {\r\n this.gridOptions.scrollHeight = isPanelOpened ? 360 : 480;\r\n }\r\n this.scrollHeight = isPanelOpened ? 350 : 400;\r\n }\r\n}\r\n","<div class=\"everymatrix-mm-verification-report\">\r\n <div class=\"report-wrapper\">\r\n @let lookups = lookupsSignal(); @let domainLookups = domainLookupsSignal();\r\n @let visibleFields = visibleFieldsSignal();\r\n\r\n <div class=\"report-header-container\">\r\n <div class=\"report-titles-container\">\r\n <h1 class=\"report-title\">Verification Report</h1>\r\n <h2 class=\"template-title\">{{ templateSignal()?.template_name }}</h2>\r\n </div>\r\n @if (ready() && filterForm) {\r\n <lib-template-select-modal\r\n [reportId]=\"reportId\"\r\n [domainLookups]=\"domainLookups\"\r\n [(templateCsvLoadingConfig)]=\"templateCsvLoadingConfig\"\r\n (csvLoadEmitter)=\"downloadCsv($event)\"\r\n (runReportEmitter)=\"runReport(0, false)\"\r\n ></lib-template-select-modal>\r\n }\r\n </div>\r\n @if (attachedToShadowDom()) {\r\n <p-panel #panel [toggleable]=\"true\">\r\n <ng-template #header>\r\n <div\r\n class=\"panel-header-container\"\r\n [ngStyle]=\"{ width: isPanelOpened ? '100%' : '98%' }\"\r\n >\r\n <div class=\"panel-header-left\">\r\n <span class=\"panel-header-title\">Filters</span>\r\n @if (!isPanelOpened) {\r\n <span\r\n class=\"panel-header-title-sub\"\r\n [pTooltip]=\"getFilledFieldNames()\"\r\n tooltipPosition=\"top\"\r\n >{{ getFilledFieldNames() }}</span\r\n >\r\n }\r\n </div>\r\n @if (ready() && filterForm && isPanelOpened) {\r\n <div\r\n class=\"panel-header-right\"\r\n [ngStyle]=\"{ 'margin-right': '16px' }\"\r\n >\r\n <lib-dm-button-lib\r\n size=\"medium\"\r\n variant=\"secondary-outlined\"\r\n [disabled]=\"filterForm && !filterForm.dirty\"\r\n (outsideClickEmitter)=\"clearFilters()\"\r\n >\r\n <div\r\n class=\"dm-button-icon\"\r\n icon-right\r\n [ngStyle]=\"{ height: '20px' }\"\r\n >\r\n <svg\r\n pTooltip=\"Reset Filters\"\r\n tooltipPosition=\"top\"\r\n positionLeft=\"10\"\r\n positionTop=\"-5\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M0.833496 10C0.833496 5.39763 4.56446 1.66667 9.16683 1.66667C11.4688 1.66667 13.5541 2.60117 15.0614 4.10949C15.5945 4.64289 16.1653 5.30207 16.6668 5.91204V3.33334C16.6668 2.8731 17.0399 2.50001 17.5002 2.50001C17.9604 2.50001 18.3335 2.8731 18.3335 3.33334V8.33334C18.3335 8.79358 17.9604 9.16667 17.5002 9.16667H12.5002C12.0399 9.16667 11.6668 8.79358 11.6668 8.33334C11.6668 7.8731 12.0399 7.50001 12.5002 7.50001H15.8078C15.231 6.77607 14.5139 5.91947 13.8825 5.28759C12.675 4.07929 11.0088 3.33334 9.16683 3.33334C5.48493 3.33334 2.50016 6.31811 2.50016 10C2.50016 13.6819 5.48493 16.6667 9.16683 16.6667C12.2049 16.6667 14.7704 14.6337 15.573 11.8523C15.7006 11.4101 16.1625 11.1551 16.6047 11.2827C17.0469 11.4103 17.302 11.8722 17.1744 12.3144C16.1714 15.7901 12.9672 18.3333 9.16683 18.3333C4.56446 18.3333 0.833496 14.6024 0.833496 10Z\"\r\n fill=\"#5D6983\"\r\n />\r\n </svg>\r\n </div>\r\n </lib-dm-button-lib>\r\n <lib-dm-button-lib\r\n text=\"Configure Report\"\r\n size=\"medium\"\r\n variant=\"secondary-outlined\"\r\n (outsideClickEmitter)=\"configureReportModalVisible.set(true)\"\r\n >\r\n <div class=\"dm-button-icon\" icon-left>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"18\"\r\n height=\"14\"\r\n viewBox=\"0 0 18 14\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M1.5 3.66667H11.5M11.5 3.66667C11.5 5.04738 12.6192 6.16667 14 6.16667C15.3807 6.16667 16.5 5.04738 16.5 3.66667C16.5 2.28596 15.3807 1.16667 14 1.16667C12.6192 1.16667 11.5 2.28596 11.5 3.66667ZM6.5 10.3333H16.5M6.5 10.3333C6.5 11.7141 5.38071 12.8333 4 12.8333C2.61929 12.8333 1.5 11.7141 1.5 10.3333C1.5 8.95258 2.61929 7.83333 4 7.83333C5.38071 7.83333 6.5 8.95258 6.5 10.3333Z\"\r\n stroke=\"#5D6983\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </lib-dm-button-lib>\r\n </div>\r\n }\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"icons\">\r\n @if (visibleFields && visibleFields.length) { @if (isPanelOpened) {\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n (click)=\"isPanelOpened = false; panel.toggle($event); applyTableHeight(false);\"\r\n pTooltip=\"Collapse Filters\"\r\n tooltipPosition=\"top\"\r\n positionLeft=\"10\"\r\n positionTop=\"-5\"\r\n class=\"panel-icons\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M9.41009 6.91075C9.73553 6.58531 10.2632 6.58531 10.5886 6.91075L15.5886 11.9107C15.914 12.2362 15.914 12.7638 15.5886 13.0893C15.2632 13.4147 14.7355 13.4147 14.4101 13.0893L9.99935 8.67852L5.5886 13.0893C5.26317 13.4147 4.73553 13.4147 4.41009 13.0893C4.08466 12.7638 4.08466 12.2362 4.41009 11.9107L9.41009 6.91075Z\"\r\n fill=\"#5D6983\"\r\n />\r\n </svg>\r\n } @else {\r\n <svg\r\n pTooltip=\"Expand Filters\"\r\n tooltipPosition=\"top\"\r\n positionLeft=\"10\"\r\n positionTop=\"-5\"\r\n class=\"panel-icons\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n (click)=\"isPanelOpened = true; panel.toggle($event); applyTableHeight(true);\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M4.41107 6.91083C4.73651 6.58539 5.26414 6.58539 5.58958 6.91083L10.0003 11.3216L14.4111 6.91083C14.7365 6.58539 15.2641 6.58539 15.5896 6.91083C15.915 7.23626 15.915 7.7639 15.5896 8.08934L10.5896 13.0893C10.2641 13.4148 9.73651 13.4148 9.41107 13.0893L4.41107 8.08934C4.08563 7.7639 4.08563 7.23626 4.41107 6.91083Z\"\r\n fill=\"#5D6983\"\r\n />\r\n </svg>\r\n } }\r\n </ng-template>\r\n @if (ready() && filterForm) {\r\n <form [formGroup]=\"filterForm\">\r\n <div class=\"filters-content\">\r\n <div class=\"filter-options\">\r\n @for (field of visibleFields; track field['field_id']) { @if\r\n (field['field_data_type'] === 'LOOKUP') {\r\n <lib-dm-select-lib\r\n optionLabel=\"lookup_value\"\r\n optionValue=\"lookup_key\"\r\n [isMultiSelect]=\"true\"\r\n [label]=\"field['field_name']\"\r\n [placeholder]=\"field['field_name']\"\r\n [isRequired]=\"field['field_id'] === 'merchant_name'\"\r\n [options]=\"\r\n lookups\r\n ? field['field_id'] === 'merchant_name'\r\n ? domainLookups\r\n : lookups[field['field_id']]\r\n : []\r\n \"\r\n [formControlName]=\"field.field_id\"\r\n />\r\n } @else if (field['field_data_type'] === 'TIMESTAMP') {\r\n <lib-dm-range-date-picker-lib\r\n [tooltipMessage]=\"\r\n field['field_id'] === 'verification_updated_date' ||\r\n field['field_id'] === 'verification_creation_date'\r\n ? 'You must specify at least one field: Create Date or Last Update'\r\n : ''\r\n \"\r\n [infoIcon]=\"\r\n field['field_id'] === 'verification_updated_date' ||\r\n field['field_id'] === 'verification_creation_date'\r\n \"\r\n [label]=\"field['field_name']\"\r\n [formControlName]=\"field.field_id\"\r\n />\r\n } @else if (field['field_data_type'] === 'STRING' ||\r\n field['field_data_type'] === 'BIGNUMERIC' ||\r\n field['field_data_type'] === 'INT64') { @if (field['field_id'] ===\r\n 'documents') {\r\n <lib-dm-input-text-lib\r\n (clickEmitter)=\"documentsModal = true\"\r\n [showClear]=\"false\"\r\n [label]=\"field['field_name']\"\r\n [readonly]=\"true\"\r\n [placeholder]=\"field['field_name']\"\r\n [control]=\"getControl(field.field_id)\"\r\n >\r\n <div\r\n icon-right\r\n class=\"dm-input-icon icon-right clear-icon\"\r\n style=\"right: 33px\"\r\n >\r\n @if(getControl(field.field_id).value) {\r\n <svg\r\n (click)=\"onDocumentsClear()\"\r\n width=\"12\"\r\n height=\"14\"\r\n viewBox=\"0 0 14 14\"\r\n fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n aria-hidden=\"true\"\r\n >\r\n <path\r\n d=\"M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z\"\r\n fill=\"#5D6983\"\r\n ></path>\r\n </svg>\r\n }\r\n </div>\r\n <div\r\n (click)=\"documentsModal = true\"\r\n class=\"dm-input-icon icon-right\"\r\n icon-right\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"16\"\r\n height=\"16\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n >\r\n <path\r\n d=\"M2.5 6.66666H12.5M12.5 6.66666C12.5 8.04737 13.6192 9.16666 15 9.16666C16.3807 9.16666 17.5 8.04736 17.5 6.66666C17.5 5.28595 16.3807 4.16666 15 4.16666C13.6192 4.16666 12.5 5.28595 12.5 6.66666ZM7.5 13.3333H17.5M7.5 13.3333C7.5 14.7141 6.38071 15.8333 5 15.8333C3.61929 15.8333 2.5 14.7141 2.5 13.3333C2.5 11.9526 3.61929 10.8333 5 10.8333C6.38071 10.8333 7.5 11.9526 7.5 13.3333Z\"\r\n stroke=\"#5D6983\"\r\n stroke-width=\"2\"\r\n stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\"\r\n />\r\n </svg>\r\n </div>\r\n </lib-dm-input-text-lib>\r\n } @else {\r\n <lib-dm-input-text-lib\r\n [label]=\"field['field_name']\"\r\n [control]=\"getControl(field.field_id)\"\r\n [placeholder]=\"field['field_name']\"\r\n />\r\n } } }\r\n <div class=\"form-control-container last-updated-checkbox\">\r\n <p-checkbox\r\n inputId=\"lastUpdate\"\r\n formControlName=\"show_last_verification\"\r\n [binary]=\"true\"\r\n />\r\n <label for=\"lastUpdate\" class=\"form-control-label\"\r\n >Group Statuses by Last Update</label\r\n >\r\n </div>\r\n </div>\r\n <div class=\"filter-actions\">\r\n <lib-dm-button-lib\r\n text=\"Save Template\"\r\n size=\"medium\"\r\n variant=\"primary-outlined\"\r\n [disabled]=\"!isTemplateSavingEnabled\"\r\n (outsideClickEmitter)=\"openSaveTemplateModal()\"\r\n >\r\n <div class=\"dm-button-icon\" icon-left>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M12.8369 3.35637C12.7633 3.3387 12.6754 3.33335 12.2281 3.33335H6.66602V5.33335C6.66602 5.58045 6.66666 5.71566 6.6746 5.81282C6.67492 5.81669 6.67524 5.82035 6.67556 5.82381C6.67902 5.82413 6.68268 5.82444 6.68654 5.82476C6.7837 5.8327 6.91891 5.83335 7.16602 5.83335H12.8327C13.0798 5.83335 13.215 5.8327 13.3122 5.82476C13.316 5.82444 13.3197 5.82413 13.3231 5.82381C13.3235 5.82035 13.3238 5.81669 13.3241 5.81282C13.332 5.71566 13.3327 5.58045 13.3327 5.33335V3.68005C13.1758 3.52644 13.1264 3.48596 13.0777 3.45615C13.0032 3.41046 12.9219 3.37679 12.8369 3.35637ZM14.7552 2.74398L14.703 2.69181C14.6865 2.67531 14.6701 2.65893 14.6539 2.64269C14.4144 2.4027 14.2032 2.19111 13.9486 2.03508C13.7249 1.89801 13.481 1.797 13.2259 1.73576C12.9356 1.66604 12.6366 1.66632 12.2975 1.66664C12.2746 1.66666 12.2514 1.66668 12.2281 1.66668L6.46493 1.66668C6.25739 1.66668 6.06106 1.66667 5.87552 1.66776C5.86133 1.66704 5.84705 1.66668 5.83268 1.66668C5.81429 1.66668 5.79604 1.66728 5.77795 1.66845C5.40448 1.67155 5.07624 1.68008 4.78949 1.70351C4.32108 1.74178 3.89049 1.82392 3.48605 2.02999C2.85884 2.34957 2.34891 2.8595 2.02933 3.48671C1.82325 3.89116 1.74112 4.32174 1.70284 4.79016C1.666 5.24115 1.66601 5.79479 1.66602 6.4656V13.5344C1.66601 14.2052 1.666 14.7589 1.70284 15.2099C1.74112 15.6783 1.82325 16.1089 2.02933 16.5133C2.34891 17.1405 2.85884 17.6505 3.48605 17.97C3.89049 18.1761 4.32108 18.2582 4.78949 18.2965C5.07624 18.3199 5.40448 18.3285 5.77794 18.3316C5.79604 18.3328 5.81429 18.3333 5.83268 18.3333C5.84705 18.3333 5.86133 18.333 5.87552 18.3323C6.06105 18.3334 6.25737 18.3333 6.46491 18.3333H13.5338C13.7413 18.3333 13.9376 18.3334 14.1232 18.3323C14.1374 18.333 14.1516 18.3333 14.166 18.3333C14.1844 18.3333 14.2027 18.3328 14.2208 18.3316C14.5942 18.3285 14.9225 18.3199 15.2092 18.2965C15.6776 18.2582 16.1082 18.1761 16.5127 17.97C17.1399 17.6505 17.6498 17.1405 17.9694 16.5133C18.1754 16.1089 18.2576 15.6783 18.2959 15.2099C18.3327 14.7589 18.3327 14.2052 18.3327 13.5345V7.77125C18.3327 7.74792 18.3327 7.72477 18.3327 7.70182C18.333 7.36274 18.3333 7.06379 18.2636 6.77342C18.2024 6.51833 18.1014 6.27447 17.9643 6.05079C17.8083 5.79618 17.5967 5.58498 17.3567 5.34544C17.3404 5.32922 17.3241 5.31288 17.3076 5.29638L14.7552 2.74398C14.7552 2.74405 14.7551 2.74391 14.7552 2.74398ZM14.9994 5.34519V5.35991C14.9994 5.57024 14.9994 5.77507 14.9852 5.94854C14.9697 6.13903 14.9329 6.36381 14.8177 6.59C14.6579 6.9036 14.4029 7.15857 14.0893 7.31836C13.8631 7.43361 13.6384 7.47033 13.4479 7.48589C13.2744 7.50006 13.0696 7.50004 12.8593 7.50002L7.16602 7.50001C7.15715 7.50001 7.14829 7.50001 7.13944 7.50002C6.92912 7.50004 6.72429 7.50006 6.55082 7.48589C6.36033 7.47033 6.13555 7.43361 5.90937 7.31836C5.59576 7.15857 5.34079 6.9036 5.18101 6.59C5.06576 6.36381 5.02903 6.13903 5.01347 5.94854C4.9993 5.77507 4.99932 5.57025 4.99935 5.35993C4.99935 5.35108 4.99935 5.34222 4.99935 5.33335V3.35907C4.97416 3.3608 4.94946 3.36266 4.92521 3.36464C4.55987 3.39449 4.37303 3.44859 4.2427 3.515C3.9291 3.67479 3.67413 3.92976 3.51434 4.24336C3.44793 4.3737 3.39383 4.56053 3.36398 4.92588C3.33333 5.30095 3.33268 5.7862 3.33268 6.50001V13.5C3.33268 14.2138 3.33333 14.6991 3.36398 15.0741C3.39383 15.4395 3.44793 15.6263 3.51434 15.7567C3.67413 16.0703 3.9291 16.3252 4.2427 16.485C4.37303 16.5514 4.55987 16.6055 4.92521 16.6354C4.94946 16.6374 4.97416 16.6392 4.99935 16.641L4.99935 12.1401C4.99932 11.9298 4.9993 11.725 5.01347 11.5515C5.02903 11.361 5.06576 11.1362 5.18101 10.91C5.34079 10.5964 5.59576 10.3415 5.90937 10.1817C6.13555 10.0664 6.36033 10.0297 6.55082 10.0141C6.72429 9.99996 6.92912 9.99999 7.13945 10H12.8593C13.0696 9.99999 13.2744 9.99996 13.4479 10.0141C13.6384 10.0297 13.8631 10.0664 14.0893 10.1817C14.4029 10.3415 14.6579 10.5964 14.8177 10.91C14.9329 11.1362 14.9697 11.361 14.9852 11.5515C14.9994 11.725 14.9994 11.9298 14.9994 12.1401L14.9993 16.641C15.0245 16.6392 15.0492 16.6374 15.0735 16.6354C15.4388 16.6055 15.6257 16.5514 15.756 16.485C16.0696 16.3252 16.3246 16.0703 16.4844 15.7567C16.5508 15.6263 16.6049 15.4395 16.6347 15.0741C16.6654 14.6991 16.666 14.2138 16.666 13.5V7.77125C16.666 7.32393 16.6607 7.2361 16.643 7.1625C16.6226 7.07747 16.5889 6.99618 16.5432 6.92162C16.5037 6.85708 16.4453 6.79119 16.129 6.47489L14.9994 5.34519ZM13.3327 16.6667V12.1667C13.3327 11.9196 13.332 11.7844 13.3241 11.6872C13.3238 11.6833 13.3235 11.6797 13.3231 11.6762C13.3197 11.6759 13.316 11.6756 13.3122 11.6753C13.215 11.6673 13.0798 11.6667 12.8327 11.6667H7.16602C6.91891 11.6667 6.7837 11.6673 6.68654 11.6753C6.68268 11.6756 6.67902 11.6759 6.67556 11.6762C6.67524 11.6797 6.67492 11.6833 6.6746 11.6872C6.66666 11.7844 6.66602 11.9196 6.66602 12.1667V16.6667H13.3327Z\"\r\n fill=\"#0076DD\"\r\n />\r\n </svg>\r\n </div>\r\n </lib-dm-button-lib>\r\n <lib-dm-button-lib\r\n text=\"Run Report\"\r\n size=\"medium\"\r\n [disabled]=\"\r\n filterForm.invalid ||\r\n (!filterForm.value['verification_updated_date']?.start &&\r\n !filterForm.value['verification_creation_date']?.start)\r\n \"\r\n (outsideClickEmitter)=\"runOverloadCheck()\"\r\n >\r\n @if (!runState) {\r\n <div class=\"dm-button-icon\" icon-left>\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M10.8333 2.51654C10.6786 2.50244 10.4493 2.5 10.0098 2.5H7.33333C6.61952 2.5 6.13427 2.50065 5.7592 2.53129C5.39385 2.56114 5.20702 2.61525 5.07668 2.68166C4.76308 2.84145 4.50811 3.09641 4.34832 3.41002C4.28192 3.54035 4.22781 3.72719 4.19796 4.09253C4.16732 4.46761 4.16667 4.95285 4.16667 5.66667V14.3333C4.16667 15.0472 4.16732 15.5324 4.19796 15.9075C4.22781 16.2728 4.28192 16.4597 4.34832 16.59C4.50811 16.9036 4.76308 17.1586 5.07668 17.3183C5.20702 17.3848 5.39385 17.4389 5.7592 17.4687C6.13427 17.4994 6.61952 17.5 7.33333 17.5H12.6667C13.3805 17.5 13.8657 17.4994 14.2408 17.4687C14.6061 17.4389 14.793 17.3848 14.9233 17.3183C15.2369 17.1586 15.4919 16.9036 15.6517 16.59C15.7181 16.4597 15.7722 16.2728 15.802 15.9075C15.8327 15.5324 15.8333 15.0472 15.8333 14.3333V8.32352C15.8333 7.8841 15.8309 7.65481 15.8168 7.50006L12.9734 7.50006C12.7631 7.50009 12.5583 7.50011 12.3848 7.48594C12.1943 7.47038 11.9695 7.43365 11.7433 7.3184C11.4297 7.15862 11.1748 6.90365 11.015 6.59004C10.8997 6.36386 10.863 6.13908 10.8475 5.94859C10.8333 5.77512 10.8333 5.57029 10.8333 5.35996L10.8333 2.51654ZM11.9947 1.12497C11.8064 1.04059 11.6105 0.973736 11.4093 0.925435C11.0237 0.832866 10.6239 0.833056 10.0947 0.833308C10.0668 0.833322 10.0385 0.833335 10.0098 0.833335L7.29892 0.833335C6.62811 0.833324 6.07448 0.833315 5.62348 0.870163C5.15506 0.908434 4.72448 0.990571 4.32003 1.19665C3.69283 1.51622 3.18289 2.02616 2.86331 2.65337C2.65724 3.05781 2.5751 3.4884 2.53683 3.95681C2.49998 4.40781 2.49999 4.96144 2.5 5.63225V14.3678C2.49999 15.0386 2.49998 15.5922 2.53683 16.0432C2.5751 16.5116 2.65724 16.9422 2.86331 17.3466C3.18289 17.9738 3.69283 18.4838 4.32003 18.8034C4.72448 19.0094 5.15506 19.0916 5.62348 19.1298C6.07447 19.1667 6.6281 19.1667 7.2989 19.1667H12.7011C13.3719 19.1667 13.9255 19.1667 14.3765 19.1298C14.8449 19.0916 15.2755 19.0094 15.68 18.8034C16.3072 18.4838 16.8171 17.9738 17.1367 17.3466C17.3428 16.9422 17.4249 16.5116 17.4632 16.0432C17.5 15.5922 17.5 15.0386 17.5 14.3678V8.32352C17.5 8.29485 17.5 8.26656 17.5 8.23863C17.5003 7.70946 17.5005 7.30963 17.4079 6.92405C17.3597 6.72344 17.2931 6.52805 17.2091 6.34031C17.2039 6.32807 17.1984 6.31599 17.1926 6.30407C17.1382 6.18624 17.0768 6.07153 17.0088 5.96054C16.8016 5.62244 16.5188 5.33985 16.1444 4.96584C16.1246 4.9461 16.1046 4.92611 16.0843 4.90584L13.4275 2.24899C13.4072 2.22871 13.3872 2.2087 13.3675 2.18893C12.9935 1.81458 12.7109 1.53172 12.3728 1.32453C12.2614 1.25625 12.1462 1.19467 12.0278 1.14006C12.0169 1.1348 12.0058 1.12977 11.9947 1.12497ZM12.5 3.67851V5.3334C12.5 5.5805 12.5006 5.71571 12.5086 5.81287C12.5089 5.81673 12.5092 5.82039 12.5095 5.82385C12.513 5.82417 12.5167 5.82449 12.5205 5.82481C12.6177 5.83275 12.7529 5.83339 13 5.83339H14.6549L12.5 3.67851ZM5.83333 10.8333C5.83333 10.3731 6.20643 10 6.66667 10H13.3333C13.7936 10 14.1667 10.3731 14.1667 10.8333C14.1667 11.2936 13.7936 11.6667 13.3333 11.6667H6.66667C6.20643 11.6667 5.83333 11.2936 5.83333 10.8333ZM5.83333 14.1667C5.83333 13.7064 6.20643 13.3333 6.66667 13.3333H11.6667C12.1269 13.3333 12.5 13.7064 12.5 14.1667C12.5 14.6269 12.1269 15 11.6667 15H6.66667C6.20643 15 5.83333 14.6269 5.83333 14.1667Z\"\r\n fill=\"white\"\r\n />\r\n </svg>\r\n </div>\r\n } @else {\r\n <div class=\"dm-button-icon\" icon-left>\r\n <p-progress-spinner\r\n strokeWidth=\"6\"\r\n [style]=\"{ width: '20px', height: '20px' }\"\r\n />\r\n </div>\r\n }\r\n </lib-dm-button-lib>\r\n </div>\r\n </div>\r\n </form>\r\n } @else {\r\n <div class=\"spinner-wrapper\">\r\n <p-progress-spinner\r\n strokeWidth=\"6\"\r\n [style]=\"{ width: '60px', height: '60px' }\"\r\n />\r\n </div>\r\n }\r\n </p-panel>\r\n }\r\n <div\r\n class=\"table-panel-container\"\r\n [ngStyle]=\"{ display: showReportTable() ? 'block' : 'none' }\"\r\n >\r\n <p-panel [toggleable]=\"false\" #tablePanel>\r\n <ng-template #header>\r\n <div class=\"panel-header-container\">\r\n <div class=\"panel-header-left\">\r\n <div class=\"table-toggle-container\">\r\n <span class=\"table-toggle-label\">Old Table Style</span>\r\n <p-toggleswitch\r\n class=\"table-toggle\"\r\n [(ngModel)]=\"isOldTableStyle\"\r\n [ngModelOptions]=\"{ standalone: true }\"\r\n (onChange)=\"onToggleChange($event)\"\r\n pTooltip=\"Switch between old and new table views\"\r\n tooltipPosition=\"top\"\r\n showDelay=\"600\"\r\n hideDelay=\"300\"\r\n ></p-toggleswitch>\r\n </div>\r\n </div>\r\n <div class=\"panel-header-right\">\r\n <lib-dm-button-lib\r\n text=\"Download .CSV\"\r\n size=\"medium\"\r\n variant=\"primary-outlined\"\r\n (outsideClickEmitter)=\"csvLoading.set(true); downloadCsv()\"\r\n >\r\n @if(csvLoading()) {\r\n <div class=\"dm-button-icon\" icon-left>\r\n <p-progress-spinner\r\n styleClass=\"outlined-color\"\r\n strokeWidth=\"6\"\r\n [style]=\"{ width: '16px', height: '16px' }\"\r\n />\r\n </div>\r\n } @else {\r\n <div\r\n class=\"dm-button-icon\"\r\n icon-left\r\n [ngStyle]=\"{ height: '20px' }\"\r\n >\r\n <svg\r\n xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"20\"\r\n height=\"20\"\r\n viewBox=\"0 0 20 20\"\r\n fill=\"none\"\r\n >\r\n <path\r\n fill-rule=\"evenodd\"\r\n clip-rule=\"evenodd\"\r\n d=\"M9.99935 1.66663C10.4596 1.66663 10.8327 2.03972 10.8327 2.49996V10.4881L13.5768 7.74404C13.9022 7.4186 14.4298 7.4186 14.7553 7.74404C15.0807 8.06947 15.0807 8.59711 14.7553 8.92255L10.5886 13.0892C10.2632 13.4147 9.73553 13.4147 9.41009 13.0892L5.24343 8.92255C4.91799 8.59711 4.91799 8.06947 5.24343 7.74404C5.56886 7.4186 6.0965 7.4186 6.42194 7.74404L9.16602 10.4881V2.49996C9.16602 2.03972 9.53911 1.66663 9.99935 1.66663ZM2.49935 11.6666C2.95959 11.6666 3.33268 12.0397 3.33268 12.5V13.5C3.33268 14.2138 3.33333 14.699 3.36398 15.0741C3.39383 15.4394 3.44793 15.6263 3.51434 15.7566C3.67413 16.0702 3.9291 16.3252 4.2427 16.485C4.37303 16.5514 4.55987 16.6055 4.92521 16.6353C5.30029 16.666 5.78553 16.6666 6.49935 16.6666H13.4993C14.2132 16.6666 14.6984 16.666 15.0735 16.6353C15.4388 16.6055 15.6257 16.5514 15.756 16.485C16.0696 16.3252 16.3246 16.0702 16.4844 15.7566C16.5508 15.6263 16.6049 15.4394 16.6347 15.0741C16.6654 14.699 16.666 14.2138 16.666 13.5V12.5C16.666 12.0397 17.0391 11.6666 17.4993 11.6666C17.9596 11.6666 18.3327 12.0397 18.3327 12.5V13.5344C18.3327 14.2052 18.3327 14.7588 18.2959 15.2098C18.2576 15.6782 18.1754 16.1088 17.9694 16.5133C17.6498 17.1405 17.1399 17.6504 16.5126 17.97C16.1082 18.1761 15.6776 18.2582 15.2092 18.2965C14.7582 18.3333 14.2046 18.3333 13.5338 18.3333H6.46491C5.79411 18.3333 5.24049 18.3333 4.78949 18.2965C4.32108 18.2582 3.89049 18.1761 3.48605 17.97C2.85884 17.6504 2.34891 17.1405 2.02933 16.5133C1.82325 16.1088 1.74112 15.6782 1.70284 15.2098C1.666 14.7588 1.66601 14.2052 1.66602 13.5344L1.66602 12.5C1.66602 12.0397 2.03911 11.6666 2.49935 11.6666Z\"\r\n fill=\"#0076DD\"\r\n />\r\n </svg>\r\n </div>\r\n }\r\n </lib-dm-button-lib>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <lib-dm-tree-table\r\n [ngStyle]=\"{ display: !isOldTableStyle ? 'block' : 'none' }\"\r\n [(limit)]=\"limit\"\r\n [startIndex]=\"offset\"\r\n [loading]=\"tableLoading\"\r\n [tableColumns]=\"tableColumns\"\r\n [rawTableData]=\"tableData\"\r\n [generalTotal]=\"generalTotal\"\r\n (loadMoreEmitter)=\"runReport($event, true)\"\r\n (sortingEmitter)=\"onSort($event)\"\r\n [scrollHeight]=\"scrollHeight\"\r\n ></lib-dm-tree-table>\r\n\r\n <dm-ui-grid-lib [options]=\"gridOptions\"></dm-ui-grid-lib>\r\n </p-panel>\r\n </div>\r\n <!-- Documents Dialog-->\r\n @defer (when documentsModal) {\r\n <p-dialog\r\n #dialog\r\n header=\"Documents Settings\"\r\n [modal]=\"true\"\r\n [(visible)]=\"documentsModal\"\r\n [style]=\"{ width: '480px' }\"\r\n >\r\n @if (ready() && filterForm) {\r\n <form class=\"dialog-content\" [formGroup]=\"filterForm\" #contentWrapper>\r\n <lib-dm-select-lib\r\n optionLabel=\"lookup_value\"\r\n optionValue=\"lookup_key\"\r\n label=\"Document Type\"\r\n formControlName=\"documents_type\"\r\n [isMultiSelect]=\"true\"\r\n [options]=\"lookups && lookups['documents_type']\"\r\n />\r\n <lib-dm-select-lib\r\n optionLabel=\"lookup_value\"\r\n optionValue=\"lookup_key\"\r\n label=\"Document Status\"\r\n formControlName=\"documents_status\"\r\n [isMultiSelect]=\"true\"\r\n [options]=\"lookups && lookups['documents_status']\"\r\n [appendToBody]=\"true\"\r\n />\r\n <lib-dm-range-date-picker-lib\r\n label=\"Expiry Date\"\r\n formControlName=\"documents_expiry_date\"\r\n (openState)=\"calculateHeightPosition(contentWrapper)\"\r\n />\r\n <lib-dm-range-date-picker-lib\r\n label=\"Last Update\"\r\n formControlName=\"documents_created_date\"\r\n (openState)=\"calculateHeightPosition(contentWrapper)\"\r\n />\r\n </form>\r\n <div class=\"dialog-footer\">\r\n <lib-dm-button-lib\r\n text=\"Cancel\"\r\n size=\"medium\"\r\n variant=\"secondary-outlined\"\r\n (outsideClickEmitter)=\"documentsModal = false\"\r\n >\r\n </lib-dm-button-lib>\r\n <lib-dm-button-lib\r\n text=\"Apply\"\r\n size=\"medium\"\r\n variant=\"primary-filled\"\r\n (outsideClickEmitter)=\"applyDocumentField(); documentsModal = false\"\r\n >\r\n </lib-dm-button-lib>\r\n </div>\r\n }\r\n </p-dialog>\r\n }\r\n </div>\r\n @if (visibleFieldsId && visibleFieldsId.length && filterForm) { @defer (when\r\n domainsOverloadVisible()) {\r\n <lib-domains-overload-modal\r\n [(visible)]=\"domainsOverloadVisible\"\r\n [isSaveMode]=\"domainsOverloadSaveMode\"\r\n (confirm)=\"domainsOverloadConfirm($event)\"\r\n ></lib-domains-overload-modal>\r\n } @defer (when modalVisible()) {\r\n <lib-save-template-modal\r\n [(visible)]=\"modalVisible\"\r\n (saveEmitter)=\"isTemplateSaved.set(true)\"\r\n [params]=\"{\r\n fieldValues: filterForm.value,\r\n visibleFields: visibleFieldsId,\r\n allFields: allFieldsSignal()\r\n }\"\r\n [reportId]=\"reportId\"\r\n ></lib-save-template-modal>\r\n } @defer (when configureReportModalVisible()) {\r\n <lib-report-configuration-modal\r\n [(visible)]=\"configureReportModalVisible\"\r\n [allAvailableFields]=\"allConfigurationFields\"\r\n [selectedList]=\"visibleFieldsSignal()\"\r\n (fieldsEmitter)=\"applyConfigurationFields($event)\"\r\n ></lib-report-configuration-modal>\r\n } }\r\n</div>\r\n<lib-toast-message></lib-toast-message>\r\n","import * as i1 from '@angular/common';\nimport { CommonModule } from '@angular/common';\nimport * as i0 from '@angular/core';\nimport { Injectable, forwardRef, EventEmitter, inject, booleanAttribute, numberAttribute, ContentChildren, ContentChild, ViewChild, Output, Input, ViewEncapsulation, ChangeDetectionStrategy, Component, NgModule } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { SharedModule, PrimeTemplate } from 'primeng/api';\nimport { AutoFocus } from 'primeng/autofocus';\nimport { BaseComponent } from 'primeng/basecomponent';\nimport { BaseStyle } from 'primeng/base';\nconst _c0 = [\"handle\"];\nconst _c1 = [\"input\"];\nconst _c2 = a0 => ({\n checked: a0\n});\nfunction ToggleSwitch_Conditional_5_ng_container_0_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵelementContainer(0);\n }\n}\nfunction ToggleSwitch_Conditional_5_Template(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵtemplate(0, ToggleSwitch_Conditional_5_ng_container_0_Template, 1, 0, \"ng-container\", 4);\n }\n if (rf & 2) {\n const ctx_r1 = i0.ɵɵnextContext();\n i0.ɵɵproperty(\"ngTemplateOutlet\", ctx_r1.handleTemplate || ctx_r1._handleTemplate)(\"ngTemplateOutletContext\", i0.ɵɵpureFunction1(2, _c2, ctx_r1.checked()));\n }\n}\nconst theme = ({\n dt\n}) => `\n.p-toggleswitch {\n display: inline-block;\n width: ${dt('toggleswitch.width')};\n height: ${dt('toggleswitch.height')};\n}\n\n.p-toggleswitch-input {\n cursor: pointer;\n appearance: none;\n position: absolute;\n top: 0;\n inset-inline-start: 0;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n opacity: 0;\n z-index: 1;\n outline: 0 none;\n border-radius: ${dt('toggleswitch.border.radius')};\n}\n\n.p-toggleswitch-slider {\n display: inline-block;\n cursor: pointer;\n width: 100%;\n height: 100%;\n border-width: ${dt('toggleswitch.border.width')};\n border-style: solid;\n border-color: ${dt('toggleswitch.border.color')};\n background: ${dt('toggleswitch.background')};\n transition: background ${dt('toggleswitch.transition.duration')}, color ${dt('toggleswitch.transition.duration')}, border-color ${dt('toggleswitch.transition.duration')}, outline-color ${dt('toggleswitch.transition.duration')}, box-shadow ${dt('toggleswitch.transition.duration')};\n border-radius: ${dt('toggleswitch.border.radius')};\n outline-color: transparent;\n box-shadow: ${dt('toggleswitch.shadow')};\n}\n\n.p-toggleswitch-handle {\n position: absolute;\n top: 50%;\n display: flex;\n justify-content: center;\n align-items: center;\n background: ${dt('toggleswitch.handle.background')};\n color: ${dt('toggleswitch.handle.color')};\n width: ${dt('toggleswitch.handle.size')};\n height: ${dt('toggleswitch.handle.size')};\n inset-inline-start: ${dt('toggleswitch.gap')};\n margin-block-start: calc(-1 * calc(${dt('toggleswitch.handle.size')} / 2));\n border-radius: ${dt('toggleswitch.handle.border.radius')};\n transition: background ${dt('toggleswitch.transition.duration')}, color ${dt('toggleswitch.transition.duration')}, inset-inline-start ${dt('toggleswitch.slide.duration')}, box-shadow ${dt('toggleswitch.slide.duration')};\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {\n background: ${dt('toggleswitch.checked.background')};\n border-color: ${dt('toggleswitch.checked.border.color')};\n}\n\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.checked.background')};\n color: ${dt('toggleswitch.handle.checked.color')};\n inset-inline-start: calc(${dt('toggleswitch.width')} - calc(${dt('toggleswitch.handle.size')} + ${dt('toggleswitch.gap')}));\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {\n background: ${dt('toggleswitch.hover.background')};\n border-color: ${dt('toggleswitch.hover.border.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.hover.background')};\n color: ${dt('toggleswitch.handle.hover.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {\n background: ${dt('toggleswitch.checked.hover.background')};\n border-color: ${dt('toggleswitch.checked.hover.border.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.checked.hover.background')};\n color: ${dt('toggleswitch.handle.checked.hover.color')};\n}\n\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {\n box-shadow: ${dt('toggleswitch.focus.ring.shadow')};\n outline: ${dt('toggleswitch.focus.ring.width')} ${dt('toggleswitch.focus.ring.style')} ${dt('toggleswitch.focus.ring.color')};\n outline-offset: ${dt('toggleswitch.focus.ring.offset')};\n}\n\n.p-toggleswitch.p-invalid > .p-toggleswitch-slider {\n border-color: ${dt('toggleswitch.invalid.border.color')};\n}\n\n.p-toggleswitch.p-disabled {\n opacity: 1;\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-slider {\n background: ${dt('toggleswitch.disabled.background')};\n}\n\n.p-toggleswitch.p-disabled .p-toggleswitch-handle {\n background: ${dt('toggleswitch.handle.disabled.background')};\n}\n\n/* For PrimeNG */\n\np-toggleSwitch.ng-invalid.ng-dirty > .p-toggleswitch > .p-toggleswitch-slider,\np-toggle-switch.ng-invalid.ng-dirty > .p-toggleswitch > .p-toggleswitch-slider,\np-toggleswitch.ng-invalid.ng-dirty > .p-toggleswitch > .p-toggleswitch-slider {\n border-color: ${dt('toggleswitch.invalid.border.color')};\n}`;\nconst inlineStyles = {\n root: {\n position: 'relative'\n }\n};\nconst classes = {\n root: ({\n instance\n }) => ({\n 'p-toggleswitch p-component': true,\n 'p-toggleswitch-checked': instance.checked(),\n 'p-disabled': instance.disabled,\n 'p-invalid': instance.invalid\n }),\n input: 'p-toggleswitch-input',\n slider: 'p-toggleswitch-slider',\n handle: 'p-toggleswitch-handle'\n};\nclass ToggleSwitchStyle extends BaseStyle {\n name = 'toggleswitch';\n theme = theme;\n classes = classes;\n inlineStyles = inlineStyles;\n static ɵfac = /* @__PURE__ */(() => {\n let ɵToggleSwitchStyle_BaseFactory;\n return function ToggleSwitchStyle_Factory(__ngFactoryType__) {\n return (ɵToggleSwitchStyle_BaseFactory || (ɵToggleSwitchStyle_BaseFactory = i0.ɵɵgetInheritedFactory(ToggleSwitchStyle)))(__ngFactoryType__ || ToggleSwitchStyle);\n };\n })();\n static ɵprov = /* @__PURE__ */i0.ɵɵdefineInjectable({\n token: ToggleSwitchStyle,\n factory: ToggleSwitchStyle.ɵfac\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ToggleSwitchStyle, [{\n type: Injectable\n }], null, null);\n})();\n/**\n *\n * ToggleSwitch is used to select a boolean value.\n *\n * [Live Demo](https://www.primeng.org/toggleswitch/)\n *\n * @module toggleswitchstyle\n *\n */\nvar ToggleSwitchClasses;\n(function (ToggleSwitchClasses) {\n /**\n * Class name of the root element\n */\n ToggleSwitchClasses[\"root\"] = \"p-toggleswitch\";\n /**\n * Class name of the input element\n */\n ToggleSwitchClasses[\"input\"] = \"p-toggleswitch-input\";\n /**\n * Class name of the slider element\n */\n ToggleSwitchClasses[\"slider\"] = \"p-toggleswitch-slider\";\n})(ToggleSwitchClasses || (ToggleSwitchClasses = {}));\nconst TOGGLESWITCH_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => ToggleSwitch),\n multi: true\n};\n/**\n * ToggleSwitch is used to select a boolean value.\n * @group Components\n */\nclass ToggleSwitch extends BaseComponent {\n /**\n * Inline style of the component.\n * @group Props\n */\n style;\n /**\n * Style class of the component.\n * @group Props\n */\n styleClass;\n /**\n * Index of the element in tabbing order.\n * @group Props\n */\n tabindex;\n /**\n * Identifier of the input element.\n * @group Props\n */\n inputId;\n /**\n * Name of the input element.\n * @group Props\n */\n name;\n /**\n * When present, it specifies that the element should be disabled.\n * @group Props\n */\n disabled;\n /**\n * When present, it specifies that the component cannot be edited.\n * @group Props\n */\n readonly;\n /**\n * Value in checked state.\n * @group Props\n */\n trueValue = true;\n /**\n * Value in unchecked state.\n * @group Props\n */\n falseValue = false;\n /**\n * Used to define a string that autocomplete attribute the current element.\n * @group Props\n */\n ariaLabel;\n /**\n * Establishes relationships between the component and label(s) where its value should be one or more element IDs.\n * @group Props\n */\n ariaLabelledBy;\n /**\n * When present, it specifies that the component should automatically get focus on load.\n * @group Props\n */\n autofocus;\n /**\n * Callback to invoke when the on value change.\n * @param {ToggleSwitchChangeEvent} event - Custom change event.\n * @group Emits\n */\n onChange = new EventEmitter();\n input;\n /**\n * Callback to invoke when the on value change.\n * @type {TemplateRef<ToggleSwitchHandleTemplateContext>} context - Context of the template\n * @example\n * ```html\n * <ng-template #handle let-checked=\"checked\"> </ng-template>\n * ```\n * @see {@link ToggleSwitchHandleTemplateContext}\n * @group Templates\n */\n handleTemplate;\n _handleTemplate;\n modelValue = false;\n focused = false;\n onModelChange = () => {};\n onModelTouched = () => {};\n _componentStyle = inject(ToggleSwitchStyle);\n templates;\n ngAfterContentInit() {\n this.templates.forEach(item => {\n switch (item.getType()) {\n case 'handle':\n this._handleTemplate = item.template;\n break;\n default:\n this._handleTemplate = item.template;\n break;\n }\n });\n }\n onClick(event) {\n if (!this.disabled && !this.readonly) {\n this.modelValue = this.checked() ? this.falseValue : this.trueValue;\n this.onModelChange(this.modelValue);\n this.onChange.emit({\n originalEvent: event,\n checked: this.modelValue\n });\n this.input.nativeElement.focus();\n }\n }\n onFocus() {\n this.focused = true;\n }\n onBlur() {\n this.focused = false;\n this.onModelTouched();\n }\n writeValue(value) {\n this.modelValue = value;\n this.cd.markForCheck();\n }\n registerOnChange(fn) {\n this.onModelChange = fn;\n }\n registerOnTouched(fn) {\n this.onModelTouched = fn;\n }\n setDisabledState(val) {\n this.disabled = val;\n this.cd.markForCheck();\n }\n checked() {\n return this.modelValue === this.trueValue;\n }\n static ɵfac = /* @__PURE__ */(() => {\n let ɵToggleSwitch_BaseFactory;\n return function ToggleSwitch_Factory(__ngFactoryType__) {\n return (ɵToggleSwitch_BaseFactory || (ɵToggleSwitch_BaseFactory = i0.ɵɵgetInheritedFactory(ToggleSwitch)))(__ngFactoryType__ || ToggleSwitch);\n };\n })();\n static ɵcmp = /* @__PURE__ */i0.ɵɵdefineComponent({\n type: ToggleSwitch,\n selectors: [[\"p-toggleswitch\"], [\"p-toggleSwitch\"], [\"p-toggle-switch\"]],\n contentQueries: function ToggleSwitch_ContentQueries(rf, ctx, dirIndex) {\n if (rf & 1) {\n i0.ɵɵcontentQuery(dirIndex, _c0, 4);\n i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.handleTemplate = _t.first);\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);\n }\n },\n viewQuery: function ToggleSwitch_Query(rf, ctx) {\n if (rf & 1) {\n i0.ɵɵviewQuery(_c1, 5);\n }\n if (rf & 2) {\n let _t;\n i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.input = _t.first);\n }\n },\n inputs: {\n style: \"style\",\n styleClass: \"styleClass\",\n tabindex: [2, \"tabindex\", \"tabindex\", numberAttribute],\n inputId: \"inputId\",\n name: \"name\",\n disabled: [2, \"disabled\", \"disabled\", booleanAttribute],\n readonly: [2, \"readonly\", \"readonly\", booleanAttribute],\n trueValue: \"trueValue\",\n falseValue: \"falseValue\",\n ariaLabel: \"ariaLabel\",\n ariaLabelledBy: \"ariaLabelledBy\",\n autofocus: [2, \"autofocus\", \"autofocus\", booleanAttribute]\n },\n outputs: {\n onChange: \"onChange\"\n },\n features: [i0.ɵɵProvidersFeature([TOGGLESWITCH_VALUE_ACCESSOR, ToggleSwitchStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature],\n decls: 6,\n vars: 23,\n consts: [[\"input\", \"\"], [3, \"click\", \"ngClass\", \"ngStyle\"], [\"type\", \"checkbox\", \"role\", \"switch\", 3, \"focus\", \"blur\", \"ngClass\", \"checked\", \"disabled\", \"pAutoFocus\"], [3, \"ngClass\"], [4, \"ngTemplateOutlet\", \"ngTemplateOutletContext\"]],\n template: function ToggleSwitch_Template(rf, ctx) {\n if (rf & 1) {\n const _r1 = i0.ɵɵgetCurrentView();\n i0.ɵɵelementStart(0, \"div\", 1);\n i0.ɵɵlistener(\"click\", function ToggleSwitch_Template_div_click_0_listener($event) {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onClick($event));\n });\n i0.ɵɵelementStart(1, \"input\", 2, 0);\n i0.ɵɵlistener(\"focus\", function ToggleSwitch_Template_input_focus_1_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onFocus());\n })(\"blur\", function ToggleSwitch_Template_input_blur_1_listener() {\n i0.ɵɵrestoreView(_r1);\n return i0.ɵɵresetView(ctx.onBlur());\n });\n i0.ɵɵelementEnd();\n i0.ɵɵelementStart(3, \"span\", 3)(4, \"div\", 3);\n i0.ɵɵtemplate(5, ToggleSwitch_Conditional_5_Template, 1, 4, \"ng-container\");\n i0.ɵɵelementEnd()()();\n }\n if (rf & 2) {\n i0.ɵɵstyleMap(ctx.sx(\"root\"));\n i0.ɵɵclassMap(ctx.styleClass);\n i0.ɵɵproperty(\"ngClass\", ctx.cx(\"root\"))(\"ngStyle\", ctx.style);\n i0.ɵɵattribute(\"data-pc-name\", \"toggleswitch\")(\"data-pc-section\", \"root\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngClass\", ctx.cx(\"input\"))(\"checked\", ctx.checked())(\"disabled\", ctx.disabled)(\"pAutoFocus\", ctx.autofocus);\n i0.ɵɵattribute(\"id\", ctx.inputId)(\"aria-checked\", ctx.checked())(\"aria-labelledby\", ctx.ariaLabelledBy)(\"aria-label\", ctx.ariaLabel)(\"name\", ctx.name)(\"tabindex\", ctx.tabindex)(\"data-pc-section\", \"hiddenInput\");\n i0.ɵɵadvance(2);\n i0.ɵɵproperty(\"ngClass\", ctx.cx(\"slider\"));\n i0.ɵɵattribute(\"data-pc-section\", \"slider\");\n i0.ɵɵadvance();\n i0.ɵɵproperty(\"ngClass\", ctx.cx(\"handle\"));\n i0.ɵɵadvance();\n i0.ɵɵconditional(ctx.handleTemplate || ctx._handleTemplate ? 5 : -1);\n }\n },\n dependencies: [CommonModule, i1.NgClass, i1.NgTemplateOutlet, i1.NgStyle, AutoFocus, SharedModule],\n encapsulation: 2,\n changeDetection: 0\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ToggleSwitch, [{\n type: Component,\n args: [{\n selector: 'p-toggleswitch, p-toggleSwitch, p-toggle-switch',\n standalone: true,\n imports: [CommonModule, AutoFocus, SharedModule],\n template: `\n <div [ngClass]=\"cx('root')\" [style]=\"sx('root')\" [ngStyle]=\"style\" [class]=\"styleClass\" (click)=\"onClick($event)\" [attr.data-pc-name]=\"'toggleswitch'\" [attr.data-pc-section]=\"'root'\">\n <input\n #input\n [attr.id]=\"inputId\"\n type=\"checkbox\"\n role=\"switch\"\n [ngClass]=\"cx('input')\"\n [checked]=\"checked()\"\n [disabled]=\"disabled\"\n [attr.aria-checked]=\"checked()\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.name]=\"name\"\n [attr.tabindex]=\"tabindex\"\n (focus)=\"onFocus()\"\n (blur)=\"onBlur()\"\n [attr.data-pc-section]=\"'hiddenInput'\"\n [pAutoFocus]=\"autofocus\"\n />\n <span [ngClass]=\"cx('slider')\" [attr.data-pc-section]=\"'slider'\">\n <div [ngClass]=\"cx('handle')\">\n @if (handleTemplate || _handleTemplate) {\n <ng-container *ngTemplateOutlet=\"handleTemplate || _handleTemplate; context: { checked: checked() }\" />\n }\n </div>\n </span>\n </div>\n `,\n providers: [TOGGLESWITCH_VALUE_ACCESSOR, ToggleSwitchStyle],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None\n }]\n }], null, {\n style: [{\n type: Input\n }],\n styleClass: [{\n type: Input\n }],\n tabindex: [{\n type: Input,\n args: [{\n transform: numberAttribute\n }]\n }],\n inputId: [{\n type: Input\n }],\n name: [{\n type: Input\n }],\n disabled: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n readonly: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n trueValue: [{\n type: Input\n }],\n falseValue: [{\n type: Input\n }],\n ariaLabel: [{\n type: Input\n }],\n ariaLabelledBy: [{\n type: Input\n }],\n autofocus: [{\n type: Input,\n args: [{\n transform: booleanAttribute\n }]\n }],\n onChange: [{\n type: Output\n }],\n input: [{\n type: ViewChild,\n args: ['input']\n }],\n handleTemplate: [{\n type: ContentChild,\n args: ['handle', {\n descendants: false\n }]\n }],\n templates: [{\n type: ContentChildren,\n args: [PrimeTemplate]\n }]\n });\n})();\nclass ToggleSwitchModule {\n static ɵfac = function ToggleSwitchModule_Factory(__ngFactoryType__) {\n return new (__ngFactoryType__ || ToggleSwitchModule)();\n };\n static ɵmod = /* @__PURE__ */i0.ɵɵdefineNgModule({\n type: ToggleSwitchModule\n });\n static ɵinj = /* @__PURE__ */i0.ɵɵdefineInjector({\n imports: [ToggleSwitch, SharedModule, SharedModule]\n });\n}\n(() => {\n (typeof ngDevMode === \"undefined\" || ngDevMode) && i0.ɵsetClassMetadata(ToggleSwitchModule, [{\n type: NgModule,\n args: [{\n imports: [ToggleSwitch, SharedModule],\n exports: [ToggleSwitch, SharedModule]\n }]\n }], null, null);\n})();\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { TOGGLESWITCH_VALUE_ACCESSOR, ToggleSwitch, ToggleSwitchClasses, ToggleSwitchModule, ToggleSwitchStyle };\n","/**\n * @license Angular v19.0.7\n * (c) 2010-2024 Google LLC. https://angular.io/\n * License: MIT\n */\n\nimport { ComponentFactoryResolver, NgZone, ApplicationRef, ɵChangeDetectionScheduler, Injector, Version } from '@angular/core';\nimport { ReplaySubject, merge, Observable } from 'rxjs';\nimport { switchMap } from 'rxjs/operators';\n\n/**\n * Provide methods for scheduling the execution of a callback.\n */\nconst scheduler = {\n /**\n * Schedule a callback to be called after some delay.\n *\n * Returns a function that when executed will cancel the scheduled function.\n */\n schedule(taskFn, delay) {\n const id = setTimeout(taskFn, delay);\n return () => clearTimeout(id);\n }\n};\n/**\n * Convert a camelCased string to kebab-cased.\n */\nfunction camelToDashCase(input) {\n return input.replace(/[A-Z]/g, char => `-${char.toLowerCase()}`);\n}\n/**\n * Check whether the input is an `Element`.\n */\nfunction isElement(node) {\n return !!node && node.nodeType === Node.ELEMENT_NODE;\n}\n/**\n * Check whether the input is a function.\n */\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Convert a kebab-cased string to camelCased.\n */\nfunction kebabToCamelCase(input) {\n return input.replace(/-([a-z\\d])/g, (_, char) => char.toUpperCase());\n}\nlet _matches;\n/**\n * Check whether an `Element` matches a CSS selector.\n * NOTE: this is duplicated from @angular/upgrade, and can\n * be consolidated in the future\n */\nfunction matchesSelector(el, selector) {\n if (!_matches) {\n const elProto = Element.prototype;\n _matches = elProto.matches || elProto.matchesSelector || elProto.mozMatchesSelector || elProto.msMatchesSelector || elProto.oMatchesSelector || elProto.webkitMatchesSelector;\n }\n return el.nodeType === Node.ELEMENT_NODE ? _matches.call(el, selector) : false;\n}\n/**\n * Test two values for strict equality, accounting for the fact that `NaN !== NaN`.\n */\nfunction strictEquals(value1, value2) {\n return value1 === value2 || value1 !== value1 && value2 !== value2;\n}\n/** Gets a map of default set of attributes to observe and the properties they affect. */\nfunction getDefaultAttributeToPropertyInputs(inputs) {\n const attributeToPropertyInputs = {};\n inputs.forEach(({\n propName,\n templateName,\n transform\n }) => {\n attributeToPropertyInputs[camelToDashCase(templateName)] = [propName, transform];\n });\n return attributeToPropertyInputs;\n}\n/**\n * Gets a component's set of inputs. Uses the injector to get the component factory where the inputs\n * are defined.\n */\nfunction getComponentInputs(component, injector) {\n const componentFactoryResolver = injector.get(ComponentFactoryResolver);\n const componentFactory = componentFactoryResolver.resolveComponentFactory(component);\n return componentFactory.inputs;\n}\n\n// NOTE: This is a (slightly improved) version of what is used in ngUpgrade's\nfunction extractProjectableNodes(host, ngContentSelectors) {\n const nodes = host.childNodes;\n const projectableNodes = ngContentSelectors.map(() => []);\n let wildcardIndex = -1;\n ngContentSelectors.some((selector, i) => {\n if (selector === '*') {\n wildcardIndex = i;\n return true;\n }\n return false;\n });\n for (let i = 0, ii = nodes.length; i < ii; ++i) {\n const node = nodes[i];\n const ngContentIndex = findMatchingIndex(node, ngContentSelectors, wildcardIndex);\n if (ngContentIndex !== -1) {\n projectableNodes[ngContentIndex].push(node);\n }\n }\n return projectableNodes;\n}\nfunction findMatchingIndex(node, selectors, defaultIndex) {\n let matchingIndex = defaultIndex;\n if (isElement(node)) {\n selectors.some((selector, i) => {\n if (selector !== '*' && matchesSelector(node, selector)) {\n matchingIndex = i;\n return true;\n }\n return false;\n });\n }\n return matchingIndex;\n}\n\n/** Time in milliseconds to wait before destroying the component ref when disconnected. */\nconst DESTROY_DELAY = 10;\n/**\n * Factory that creates new ComponentNgElementStrategy instance. Gets the component factory with the\n * constructor's injector's factory resolver and passes that factory to each strategy.\n */\nclass ComponentNgElementStrategyFactory {\n componentFactory;\n inputMap = new Map();\n constructor(component, injector) {\n this.componentFactory = injector.get(ComponentFactoryResolver).resolveComponentFactory(component);\n for (const input of this.componentFactory.inputs) {\n this.inputMap.set(input.propName, input.templateName);\n }\n }\n create(injector) {\n return new ComponentNgElementStrategy(this.componentFactory, injector, this.inputMap);\n }\n}\n/**\n * Creates and destroys a component ref using a component factory and handles change detection\n * in response to input changes.\n */\nclass ComponentNgElementStrategy {\n componentFactory;\n injector;\n inputMap;\n // Subject of `NgElementStrategyEvent` observables corresponding to the component's outputs.\n eventEmitters = new ReplaySubject(1);\n /** Merged stream of the component's output events. */\n events = this.eventEmitters.pipe(switchMap(emitters => merge(...emitters)));\n /** Reference to the component that was created on connect. */\n componentRef = null;\n /** Callback function that when called will cancel a scheduled destruction on the component. */\n scheduledDestroyFn = null;\n /** Initial input values that were set before the component was created. */\n initialInputValues = new Map();\n /** Service for setting zone context. */\n ngZone;\n /** The zone the element was created in or `null` if Zone.js is not loaded. */\n elementZone;\n /**\n * The `ApplicationRef` shared by all instances of this custom element (and potentially others).\n */\n appRef;\n /**\n * Angular's change detection scheduler, which works independently of zone.js.\n */\n cdScheduler;\n constructor(componentFactory, injector, inputMap) {\n this.componentFactory = componentFactory;\n this.injector = injector;\n this.inputMap = inputMap;\n this.ngZone = this.injector.get(NgZone);\n this.appRef = this.injector.get(ApplicationRef);\n this.cdScheduler = injector.get(ɵChangeDetectionScheduler);\n this.elementZone = typeof Zone === 'undefined' ? null : this.ngZone.run(() => Zone.current);\n }\n /**\n * Initializes a new component if one has not yet been created and cancels any scheduled\n * destruction.\n */\n connect(element) {\n this.runInZone(() => {\n // If the element is marked to be destroyed, cancel the task since the component was\n // reconnected\n if (this.scheduledDestroyFn !== null) {\n this.scheduledDestroyFn();\n this.scheduledDestroyFn = null;\n return;\n }\n if (this.componentRef === null) {\n this.initializeComponent(element);\n }\n });\n }\n /**\n * Schedules the component to be destroyed after some small delay in case the element is just\n * being moved across the DOM.\n */\n disconnect() {\n this.runInZone(() => {\n // Return if there is no componentRef or the component is already scheduled for destruction\n if (this.componentRef === null || this.scheduledDestroyFn !== null) {\n return;\n }\n // Schedule the component to be destroyed after a small timeout in case it is being\n // moved elsewhere in the DOM\n this.scheduledDestroyFn = scheduler.schedule(() => {\n if (this.componentRef !== null) {\n this.componentRef.destroy();\n this.componentRef = null;\n }\n }, DESTROY_DELAY);\n });\n }\n /**\n * Returns the component property value. If the component has not yet been created, the value is\n * retrieved from the cached initialization values.\n */\n getInputValue(property) {\n return this.runInZone(() => {\n if (this.componentRef === null) {\n return this.initialInputValues.get(property);\n }\n return this.componentRef.instance[property];\n });\n }\n /**\n * Sets the input value for the property. If the component has not yet been created, the value is\n * cached and set when the component is created.\n */\n setInputValue(property, value) {\n if (this.componentRef === null) {\n this.initialInputValues.set(property, value);\n return;\n }\n this.runInZone(() => {\n this.componentRef.setInput(this.inputMap.get(property) ?? property, value);\n // `setInput` won't mark the view dirty if the input didn't change from its previous value.\n if (this.componentRef.hostView.dirty) {\n // `setInput` will have marked the view dirty already, but also mark it for refresh. This\n // guarantees the view will be checked even if the input is being set from within change\n // detection. This provides backwards compatibility, since we used to unconditionally\n // schedule change detection in addition to the current zone run.\n this.componentRef.changeDetectorRef.markForRefresh();\n // Notifying the scheduler with `NotificationSource.CustomElement` causes a `tick()` to be\n // scheduled unconditionally, even if the scheduler is otherwise disabled.\n this.cdScheduler.notify(6 /* NotificationSource.CustomElement */);\n }\n });\n }\n /**\n * Creates a new component through the component factory with the provided element host and\n * sets up its initial inputs, listens for outputs changes, and runs an initial change detection.\n */\n initializeComponent(element) {\n const childInjector = Injector.create({\n providers: [],\n parent: this.injector\n });\n const projectableNodes = extractProjectableNodes(element, this.componentFactory.ngContentSelectors);\n this.componentRef = this.componentFactory.create(childInjector, projectableNodes, element);\n this.initializeInputs();\n this.initializeOutputs(this.componentRef);\n this.appRef.attachView(this.componentRef.hostView);\n this.componentRef.hostView.detectChanges();\n }\n /** Set any stored initial inputs on the component's properties. */\n initializeInputs() {\n for (const [propName, value] of this.initialInputValues) {\n this.setInputValue(propName, value);\n }\n this.initialInputValues.clear();\n }\n /** Sets up listeners for the component's outputs so that the events stream emits the events. */\n initializeOutputs(componentRef) {\n const eventEmitters = this.componentFactory.outputs.map(({\n propName,\n templateName\n }) => {\n const emitter = componentRef.instance[propName];\n return new Observable(observer => {\n const sub = emitter.subscribe(value => observer.next({\n name: templateName,\n value\n }));\n return () => sub.unsubscribe();\n });\n });\n this.eventEmitters.next(eventEmitters);\n }\n /** Runs in the angular zone, if present. */\n runInZone(fn) {\n return this.elementZone && Zone.current !== this.elementZone ? this.ngZone.run(fn) : fn();\n }\n}\n\n/**\n * Implements the functionality needed for a custom element.\n *\n * @publicApi\n */\nclass NgElement extends HTMLElement {\n /**\n * A subscription to change, connect, and disconnect events in the custom element.\n */\n ngElementEventsSubscription = null;\n}\n/**\n * @description Creates a custom element class based on an Angular component.\n *\n * Builds a class that encapsulates the functionality of the provided component and\n * uses the configuration information to provide more context to the class.\n * Takes the component factory's inputs and outputs to convert them to the proper\n * custom element API and add hooks to input changes.\n *\n * The configuration's injector is the initial injector set on the class,\n * and used by default for each created instance.This behavior can be overridden with the\n * static property to affect all newly created instances, or as a constructor argument for\n * one-off creations.\n *\n * @see [Angular Elements Overview](guide/elements \"Turning Angular components into custom elements\")\n *\n * @param component The component to transform.\n * @param config A configuration that provides initialization information to the created class.\n * @returns The custom-element construction class, which can be registered with\n * a browser's `CustomElementRegistry`.\n *\n * @publicApi\n */\nfunction createCustomElement(component, config) {\n const inputs = getComponentInputs(component, config.injector);\n const strategyFactory = config.strategyFactory || new ComponentNgElementStrategyFactory(component, config.injector);\n const attributeToPropertyInputs = getDefaultAttributeToPropertyInputs(inputs);\n class NgElementImpl extends NgElement {\n injector;\n // Work around a bug in closure typed optimizations(b/79557487) where it is not honoring static\n // field externs. So using quoted access to explicitly prevent renaming.\n static ['observedAttributes'] = Object.keys(attributeToPropertyInputs);\n get ngElementStrategy() {\n // TODO(andrewseguin): Add e2e tests that cover cases where the constructor isn't called. For\n // now this is tested using a Google internal test suite.\n if (!this._ngElementStrategy) {\n const strategy = this._ngElementStrategy = strategyFactory.create(this.injector || config.injector);\n // Re-apply pre-existing input values (set as properties on the element) through the\n // strategy.\n // TODO(alxhub): why are we doing this? this makes no sense.\n inputs.forEach(({\n propName,\n transform,\n isSignal\n }) => {\n if (!this.hasOwnProperty(propName) || isSignal) {\n // No pre-existing value for `propName`, or a signal input.\n return;\n }\n // Delete the property from the instance and re-apply it through the strategy.\n const value = this[propName];\n delete this[propName];\n strategy.setInputValue(propName, value, transform);\n });\n }\n return this._ngElementStrategy;\n }\n _ngElementStrategy;\n constructor(injector) {\n super();\n this.injector = injector;\n }\n attributeChangedCallback(attrName, oldValue, newValue, namespace) {\n const [propName, transform] = attributeToPropertyInputs[attrName];\n this.ngElementStrategy.setInputValue(propName, newValue, transform);\n }\n connectedCallback() {\n // For historical reasons, some strategies may not have initialized the `events` property\n // until after `connect()` is run. Subscribe to `events` if it is available before running\n // `connect()` (in order to capture events emitted during initialization), otherwise subscribe\n // afterwards.\n //\n // TODO: Consider deprecating/removing the post-connect subscription in a future major version\n // (e.g. v11).\n let subscribedToEvents = false;\n if (this.ngElementStrategy.events) {\n // `events` are already available: Subscribe to it asap.\n this.subscribeToEvents();\n subscribedToEvents = true;\n }\n this.ngElementStrategy.connect(this);\n if (!subscribedToEvents) {\n // `events` were not initialized before running `connect()`: Subscribe to them now.\n // The events emitted during the component initialization have been missed, but at least\n // future events will be captured.\n this.subscribeToEvents();\n }\n }\n disconnectedCallback() {\n // Not using `this.ngElementStrategy` to avoid unnecessarily creating the `NgElementStrategy`.\n if (this._ngElementStrategy) {\n this._ngElementStrategy.disconnect();\n }\n if (this.ngElementEventsSubscription) {\n this.ngElementEventsSubscription.unsubscribe();\n this.ngElementEventsSubscription = null;\n }\n }\n subscribeToEvents() {\n // Listen for events from the strategy and dispatch them as custom events.\n this.ngElementEventsSubscription = this.ngElementStrategy.events.subscribe(e => {\n const customEvent = new CustomEvent(e.name, {\n detail: e.value\n });\n this.dispatchEvent(customEvent);\n });\n }\n }\n // Add getters and setters to the prototype for each property input.\n inputs.forEach(({\n propName,\n transform\n }) => {\n Object.defineProperty(NgElementImpl.prototype, propName, {\n get() {\n return this.ngElementStrategy.getInputValue(propName);\n },\n set(newValue) {\n this.ngElementStrategy.setInputValue(propName, newValue, transform);\n },\n configurable: true,\n enumerable: true\n });\n });\n return NgElementImpl;\n}\n\n/**\n * @publicApi\n */\nconst VERSION = new Version('19.0.7');\n\n/**\n * @module\n * @description\n * Entry point for all public APIs of the `elements` package.\n */\n// This file only reexports content of the `src` folder. Keep it that way.\n\n// This file is not used to build this module. It is only used during editing\n\n/**\n * Generated bundle index. Do not edit.\n */\n\nexport { NgElement, VERSION, createCustomElement };\n","import { NgModule, DoBootstrap, Injector } from '@angular/core';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { AppComponent } from './app.component';\r\nimport {\r\n appConfig,\r\n errorInterceptor,\r\n headerInterceptorFn,\r\n patchDomHandlerGetScrollableParents,\r\n} from '@everymatrix-base-components/utils';\r\nimport { provideHttpClient, withInterceptors } from '@angular/common/http';\r\nimport { MessageService } from 'primeng/api';\r\nimport { createCustomElement } from '@angular/elements';\r\n\r\n@NgModule({\r\n imports: [BrowserModule, AppComponent],\r\n providers: [\r\n MessageService,\r\n ...appConfig.providers,\r\n provideHttpClient(\r\n withInterceptors([headerInterceptorFn, errorInterceptor])\r\n )\r\n ],\r\n})\r\nexport class AppModule implements DoBootstrap {\r\n constructor(private injector: Injector) {\r\n const element = createCustomElement(AppComponent, {\r\n injector: this.injector,\r\n });\r\n if (!customElements.get('everymatrix-mm-verification-report')) {\r\n customElements.define('everymatrix-mm-verification-report', element);\r\n }\r\n\r\n patchDomHandlerGetScrollableParents();\r\n }\r\n\r\n // eslint-disable-next-line @angular-eslint/no-empty-lifecycle-method,@typescript-eslint/no-empty-function\r\n ngDoBootstrap(): void {}\r\n}\r\n","import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\nimport { AppModule } from './app/app.module';\r\nimport {\r\n UiGridCommonService,\r\n ScriptLoaderService,\r\n} from '@everymatrix-base-components/utils';\r\n\r\nconst scriptLoader = new ScriptLoaderService('modules');\r\nconst module = 'ui-grid-bridge';\r\nconst report = 'everymatrix-mm-verification-report';\r\n\r\nscriptLoader\r\n .loadAngularJsAndUiGridIfNeeded()\r\n .then(() => {\r\n platformBrowserDynamic()\r\n .bootstrapModule(AppModule)\r\n .then(() => {\r\n const element = document.querySelector(report)!;\r\n const shadowRoot = element.shadowRoot!;\r\n const target = shadowRoot.querySelector(`.${report}`)!;\r\n\r\n if (!UiGridCommonService.getAngularJsMainModuleName()) {\r\n if (!UiGridCommonService.isAngularjsModuleDefined(module)) {\r\n UiGridCommonService.initAngularjsApp(module);\r\n }\r\n\r\n if (!UiGridCommonService.isElementBootstrapped(target)) {\r\n UiGridCommonService.bootstrapAngularjsApp(target, module);\r\n }\r\n } else {\r\n UiGridCommonService.compileAngularjsApp(target);\r\n }\r\n });\r\n })\r\n .catch((err) => console.error(err));\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,IAAM,sBAAN,MAAM,6BAA4B,SAAS;AAAA,EACzC,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,4BAA4B,mBAAmB;AAC7D,cAAQ,0CAAqC,wCAAsC,gCAAsB,oBAAmB,IAAI,qBAAqB,oBAAmB;AAAA,IAC1K;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,qBAAqB,CAAC;AAAA,IACnC,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,aAAa,WAAW,aAAa,WAAW,KAAK,snCAAsnC,QAAQ,cAAc,CAAC;AAAA,IAC5zC,UAAU,SAAS,6BAA6B,IAAI,KAAK;AACvD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAAA,MAC7F;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,qBAAqB,CAAC;AAAA,IAC5F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC/CH,IAAM,uBAAN,MAAM,8BAA6B,SAAS;AAAA,EAC1C,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,6BAA6B,mBAAmB;AAC9D,cAAQ,2CAAsC,yCAAuC,gCAAsB,qBAAoB,IAAI,qBAAqB,qBAAoB;AAAA,IAC9K;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,sBAAsB,CAAC;AAAA,IACpC,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,aAAa,WAAW,aAAa,WAAW,KAAK,6qCAA6qC,QAAQ,cAAc,CAAC;AAAA,IACn3C,UAAU,SAAS,8BAA8B,IAAI,KAAK;AACxD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAAA,MAC7F;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,sBAAsB,CAAC;AAAA,IAC7F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAUZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC/CH,IAAM,gBAAN,MAAM,uBAAsB,SAAS;AAAA,EACnC,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,sBAAsB,mBAAmB;AACvD,cAAQ,oCAA+B,kCAAgC,gCAAsB,cAAa,IAAI,qBAAqB,cAAa;AAAA,IAClJ;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,eAAe,CAAC;AAAA,IAC7B,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,KAAK,soBAAsoB,QAAQ,cAAc,CAAC;AAAA,IAC5xB,UAAU,SAAS,uBAAuB,IAAI,KAAK;AACjD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAAA,MAC7F;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,eAAe,CAAC;AAAA,IACtF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC7CH,IAAM,gBAAN,MAAM,uBAAsB,SAAS;AAAA,EACnC,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,sBAAsB,mBAAmB;AACvD,cAAQ,oCAA+B,kCAAgC,gCAAsB,cAAa,IAAI,qBAAqB,cAAa;AAAA,IAClJ;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,eAAe,CAAC;AAAA,IAC7B,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,KAAK,6jBAA6jB,QAAQ,cAAc,CAAC;AAAA,IACntB,UAAU,SAAS,uBAAuB,IAAI,KAAK;AACjD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAAA,MAC7F;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,eAAe,CAAC;AAAA,IACtF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC7CH,IAAM,iBAAN,MAAM,wBAAuB,SAAS;AAAA,EACpC,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,uBAAuB,mBAAmB;AACxD,cAAQ,qCAAgC,mCAAiC,gCAAsB,eAAc,IAAI,qBAAqB,eAAc;AAAA,IACtJ;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,gBAAgB,CAAC;AAAA,IAC9B,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,KAAK,onBAAonB,QAAQ,cAAc,CAAC;AAAA,IAC1wB,UAAU,SAAS,wBAAwB,IAAI,KAAK;AAClD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAAA,MAC7F;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,gBAAgB,CAAC;AAAA,IACvF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC7CH,IAAM,cAAN,MAAM,qBAAoB,SAAS;AAAA,EACjC,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,oBAAoB,mBAAmB;AACrD,cAAQ,kCAA6B,gCAA8B,gCAAsB,YAAW,IAAI,qBAAqB,YAAW;AAAA,IAC1I;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,aAAa,CAAC;AAAA,IAC3B,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,KAAK,gpBAAgpB,QAAQ,cAAc,CAAC;AAAA,IACtyB,UAAU,SAAS,qBAAqB,IAAI,KAAK;AAC/C,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAAA,MAC7F;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,aAAa,CAAC;AAAA,IACpF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC5CH,IAAM,gBAAN,MAAM,uBAAsB,SAAS;AAAA,EACnC;AAAA,EACA,WAAW;AACT,SAAK,SAAS,UAAU,KAAK,IAAI;AAAA,EACnC;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,sBAAsB,mBAAmB;AACvD,cAAQ,oCAA+B,kCAAgC,gCAAsB,cAAa,IAAI,qBAAqB,cAAa;AAAA,IAClJ;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,eAAe,CAAC;AAAA,IAC7B,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,aAAa,WAAW,aAAa,WAAW,KAAK,84BAA84B,QAAQ,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,MAAM,UAAU,MAAM,QAAQ,OAAO,CAAC;AAAA,IACjpC,UAAU,SAAS,uBAAuB,IAAI,KAAK;AACjD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC,EAAE,GAAG,GAAG;AACrC,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAChB,QAAG,yBAAe,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC;AAC7C,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa,EAAE,EAAE;AAAA,MACtB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAC3F,QAAG,oBAAU;AACb,QAAG,sBAAY,aAAa,IAAI,MAAM;AACtC,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,MAAM,IAAI,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,eAAe,CAAC;AAAA,IACtF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;ACjEH,IAAM,cAAN,MAAM,qBAAoB,SAAS;AAAA,EACjC;AAAA,EACA,WAAW;AACT,SAAK,SAAS,UAAU,KAAK,IAAI;AAAA,EACnC;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,oBAAoB,mBAAmB;AACrD,cAAQ,kCAA6B,gCAA8B,gCAAsB,YAAW,IAAI,qBAAqB,YAAW;AAAA,IAC1I;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,aAAa,CAAC;AAAA,IAC3B,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,aAAa,WAAW,aAAa,WAAW,KAAK,i7BAAi7B,QAAQ,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,MAAM,UAAU,MAAM,QAAQ,OAAO,CAAC;AAAA,IACprC,UAAU,SAAS,qBAAqB,IAAI,KAAK;AAC/C,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC,EAAE,GAAG,GAAG;AACrC,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAChB,QAAG,yBAAe,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC;AAC7C,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa,EAAE,EAAE;AAAA,MACtB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAC3F,QAAG,oBAAU;AACb,QAAG,sBAAY,aAAa,IAAI,MAAM;AACtC,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,MAAM,IAAI,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,aAAa,CAAC;AAAA,IACpF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAiBZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;ACjEH,IAAM,WAAN,MAAM,kBAAiB,SAAS;AAAA,EAC9B;AAAA,EACA,WAAW;AACT,SAAK,SAAS,UAAU,KAAK,IAAI;AAAA,EACnC;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,iBAAiB,mBAAmB;AAClD,cAAQ,+BAA0B,6BAA2B,gCAAsB,SAAQ,IAAI,qBAAqB,SAAQ;AAAA,IAC9H;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,UAAU,CAAC;AAAA,IACxB,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,KAAK,2xBAA2xB,QAAQ,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,MAAM,UAAU,MAAM,QAAQ,OAAO,CAAC;AAAA,IAC9+B,UAAU,SAAS,kBAAkB,IAAI,KAAK;AAC5C,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC,EAAE,GAAG,GAAG;AACrC,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAChB,QAAG,yBAAe,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC;AAC7C,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa,EAAE,EAAE;AAAA,MACtB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAC3F,QAAG,oBAAU;AACb,QAAG,sBAAY,aAAa,IAAI,MAAM;AACtC,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,MAAM,IAAI,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,UAAU,CAAC;AAAA,IACjF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC/DH,IAAM,cAAN,MAAM,qBAAoB,SAAS;AAAA,EACjC;AAAA,EACA,WAAW;AACT,SAAK,SAAS,UAAU,KAAK,IAAI;AAAA,EACnC;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,oBAAoB,mBAAmB;AACrD,cAAQ,kCAA6B,gCAA8B,gCAAsB,YAAW,IAAI,qBAAqB,YAAW;AAAA,IAC1I;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,aAAa,CAAC;AAAA,IAC3B,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,KAAK,8XAA8X,QAAQ,cAAc,GAAG,CAAC,KAAK,mMAAmM,QAAQ,cAAc,GAAG,CAAC,KAAK,gWAAgW,QAAQ,cAAc,GAAG,CAAC,KAAK,mMAAmM,QAAQ,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,MAAM,UAAU,MAAM,QAAQ,OAAO,CAAC;AAAA,IACp5C,UAAU,SAAS,qBAAqB,IAAI,KAAK;AAC/C,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC,EAAE,GAAG,GAAG;AACrC,QAAG,oBAAU,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC,EAAE,GAAG,QAAQ,CAAC;AACnE,QAAG,uBAAa;AAChB,QAAG,yBAAe,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC;AAC7C,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa,EAAE,EAAE;AAAA,MACtB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAC3F,QAAG,oBAAU;AACb,QAAG,sBAAY,aAAa,IAAI,MAAM;AACtC,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,MAAM,IAAI,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,aAAa,CAAC;AAAA,IACpF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAqBZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;ACrEH,IAAM,qBAAN,MAAM,4BAA2B,SAAS;AAAA,EACxC;AAAA,EACA,WAAW;AACT,SAAK,SAAS,UAAU,KAAK,IAAI;AAAA,EACnC;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,2BAA2B,mBAAmB;AAC5D,cAAQ,yCAAoC,uCAAqC,gCAAsB,mBAAkB,IAAI,qBAAqB,mBAAkB;AAAA,IACtK;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,oBAAoB,CAAC;AAAA,IAClC,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,KAAK,i5CAAi5C,QAAQ,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,MAAM,UAAU,MAAM,QAAQ,OAAO,CAAC;AAAA,IACpmD,UAAU,SAAS,4BAA4B,IAAI,KAAK;AACtD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC,EAAE,GAAG,GAAG;AACrC,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAChB,QAAG,yBAAe,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC;AAC7C,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa,EAAE,EAAE;AAAA,MACtB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAC3F,QAAG,oBAAU;AACb,QAAG,sBAAY,aAAa,IAAI,MAAM;AACtC,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,MAAM,IAAI,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,oBAAoB,CAAC;AAAA,IAC3F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC/DH,IAAM,sBAAN,MAAM,6BAA4B,SAAS;AAAA,EACzC;AAAA,EACA,WAAW;AACT,SAAK,SAAS,UAAU,KAAK,IAAI;AAAA,EACnC;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,4BAA4B,mBAAmB;AAC7D,cAAQ,0CAAqC,wCAAsC,gCAAsB,oBAAmB,IAAI,qBAAqB,oBAAmB;AAAA,IAC1K;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,qBAAqB,CAAC;AAAA,IACnC,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,MAAM,UAAU,MAAM,WAAW,aAAa,QAAQ,QAAQ,SAAS,4BAA4B,GAAG,CAAC,KAAK,27CAA27C,QAAQ,cAAc,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,SAAS,MAAM,UAAU,MAAM,QAAQ,OAAO,CAAC;AAAA,IAC9oD,UAAU,SAAS,6BAA6B,IAAI,KAAK;AACvD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe;AAClB,QAAG,yBAAe,GAAG,OAAO,CAAC,EAAE,GAAG,GAAG;AACrC,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa;AAChB,QAAG,yBAAe,GAAG,MAAM,EAAE,GAAG,YAAY,CAAC;AAC7C,QAAG,oBAAU,GAAG,QAAQ,CAAC;AACzB,QAAG,uBAAa,EAAE,EAAE;AAAA,MACtB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,cAAc,CAAC;AACjC,QAAG,sBAAY,cAAc,IAAI,SAAS,EAAE,eAAe,IAAI,UAAU,EAAE,QAAQ,IAAI,IAAI;AAC3F,QAAG,oBAAU;AACb,QAAG,sBAAY,aAAa,IAAI,MAAM;AACtC,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,MAAM,IAAI,MAAM;AAAA,MAChC;AAAA,IACF;AAAA,IACA,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,qBAAqB,CAAC;AAAA,IAC5F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAeZ,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;ACvDH,IAAM,MAAM,CAAC,QAAQ;AACrB,IAAM,MAAM,CAAC,OAAO;AACpB,IAAM,MAAM,CAAC,SAAS;AACtB,IAAM,MAAM,CAAC,QAAQ;AACrB,IAAM,MAAM,CAAC,aAAa;AAC1B,IAAM,MAAM,CAAC,gBAAgB;AAC7B,IAAM,MAAM,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC;AAChD,IAAM,MAAM,CAAC,KAAK,YAAY,UAAU;AACxC,IAAM,MAAM,CAAC,IAAI,QAAQ;AAAA,EACvB,uBAAuB;AAAA,EACvB,sBAAsB;AAAA,EACtB,oBAAoB;AACtB;AACA,IAAM,MAAM,SAAO;AAAA,EACjB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,SAAS;AACX;AACA,IAAM,OAAO,SAAO;AAAA,EAClB,OAAO;AAAA,EACP,QAAQ;AACV;AACA,IAAM,OAAO,SAAO;AAAA,EAClB,kBAAkB;AAAA,EAClB,QAAQ;AAAA,EACR,SAAS;AACX;AACA,IAAM,OAAO,SAAO;AAAA,EAClB,OAAO;AAAA,EACP,QAAQ;AACV;AACA,IAAM,OAAO,CAAC,IAAI,IAAI,QAAQ;AAAA,EAC5B,uBAAuB;AAAA,EACvB,qBAAqB;AAAA,EACrB,wBAAwB;AAC1B;AACA,IAAM,OAAO,SAAO;AAAA,EAClB,WAAW;AACb;AACA,SAAS,4BAA4B,IAAI,KAAK;AAC5C,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,EAAE;AAC/B,IAAG,iBAAO,CAAC;AACX,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,sBAAY,MAAM,OAAO,KAAK,SAAS;AAC1C,IAAG,oBAAU;AACb,IAAG,4BAAkB,OAAO,OAAO;AAAA,EACrC;AACF;AACA,SAAS,oCAAoC,IAAI,KAAK;AACpD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,qCAAqC,IAAI,KAAK;AAAC;AACxD,SAAS,uBAAuB,IAAI,KAAK;AACvC,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,sCAAsC,GAAG,GAAG,aAAa;AAAA,EAC5E;AACF;AACA,SAAS,mFAAmF,IAAI,KAAK;AACnG,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,MAAM;AAAA,EACxB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,OAAO,UAAU;AAAA,EACjC;AACF;AACA,SAAS,wFAAwF,IAAI,KAAK;AACxG,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,WAAW;AAAA,EAC7B;AACF;AACA,SAAS,4EAA4E,IAAI,KAAK;AAC5F,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,oFAAoF,GAAG,GAAG,QAAQ,EAAE,EAAE,GAAG,yFAAyF,GAAG,GAAG,aAAa,EAAE;AACxO,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,UAAU;AACvC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,UAAU;AAAA,EAC1C;AACF;AACA,SAAS,mFAAmF,IAAI,KAAK;AACnG,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,MAAM;AAAA,EACxB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,OAAO,YAAY;AAAA,EACnC;AACF;AACA,SAAS,uFAAuF,IAAI,KAAK;AACvG,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,UAAU;AAAA,EAC5B;AACF;AACA,SAAS,4EAA4E,IAAI,KAAK;AAC5F,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,oFAAoF,GAAG,GAAG,QAAQ,EAAE,EAAE,GAAG,wFAAwF,GAAG,GAAG,YAAY,EAAE;AACtO,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,YAAY;AACzC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,YAAY;AAAA,EAC5C;AACF;AACA,SAAS,6DAA6D,IAAI,KAAK;AAC7E,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,6EAA6E,GAAG,GAAG,gBAAgB,EAAE,EAAE,GAAG,6EAA6E,GAAG,GAAG,gBAAgB,EAAE;AAChO,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,SAAS;AACvC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,SAAS;AAAA,EACxC;AACF;AACA,SAAS,8DAA8D,IAAI,KAAK;AAAC;AACjF,SAAS,gDAAgD,IAAI,KAAK;AAChE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,+DAA+D,GAAG,GAAG,aAAa;AAAA,EACrG;AACF;AACA,SAAS,8CAA8C,IAAI,KAAK;AAC9D,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,8DAA8D,GAAG,GAAG,gBAAgB,EAAE,EAAE,GAAG,iDAAiD,GAAG,GAAG,MAAM,EAAE;AAAA,EAC7K;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,QAAQ,CAAC,OAAO,uBAAuB,CAAC,OAAO,wBAAwB,EAAE,OAAO,qBAAqB,OAAO,OAAO,OAAO,kBAAkB,KAAK;AAC/J,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,uBAAuB,OAAO,oBAAoB,EAAE,2BAA8B,0BAAgB,GAAG,MAAM,OAAO,SAAS,CAAC;AAAA,EACvK;AACF;AACA,SAAS,gCAAgC,IAAI,KAAK;AAChD,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,YAAY,EAAE;AACnC,IAAG,qBAAW,SAAS,SAAS,0DAA0D,QAAQ;AAChG,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,YAAY,MAAM,CAAC;AAAA,IAClD,CAAC,EAAE,WAAW,SAAS,4DAA4D,QAAQ;AACzF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,UAAU,MAAM,CAAC;AAAA,IAChD,CAAC;AACD,IAAG,qBAAW,GAAG,+CAA+C,GAAG,GAAG,eAAe,MAAM,GAAM,gCAAsB;AACvH,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,QAAQ,IAAI,EAAE,WAAW,IAAI,EAAE,eAAe,OAAO,iBAAiB;AACpF,IAAG,sBAAY,MAAM,OAAO,KAAK,SAAS,EAAE,cAAc,OAAO,eAAe,EAAE,iBAAiB,OAAO,KAAK,UAAU,EAAE,iBAAiB,CAAC,OAAO,SAAS;AAAA,EAC/J;AACF;AACA,SAAS,qBAAqB,IAAI,KAAK;AACrC,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,IAAG,qBAAW,SAAS,SAAS,0CAA0C,QAAQ;AAChF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,cAAc,MAAM,CAAC;AAAA,IACpD,CAAC;AACD,IAAG,qBAAW,GAAG,6BAA6B,GAAG,GAAG,QAAQ,CAAC;AAC7D,IAAG,uBAAa,GAAG,CAAC;AACpB,IAAG,qBAAW,GAAG,qCAAqC,GAAG,GAAG,gBAAgB,CAAC;AAC7E,IAAG,yBAAe,GAAG,OAAO,EAAE;AAC9B,IAAG,qBAAW,GAAG,wBAAwB,GAAG,GAAG,MAAM,CAAC,EAAE,GAAG,iCAAiC,GAAG,GAAG,YAAY,EAAE;AAChH,IAAG,uBAAa,EAAE;AAAA,EACpB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,sBAAY,MAAM,OAAO,KAAK,WAAW;AAC5C,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,OAAO;AACpC,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,oBAAoB,OAAO,kBAAkB,OAAO,eAAe;AACjF,IAAG,oBAAU;AACb,IAAG,qBAAW,WAAc,0BAAgB,GAAG,MAAM,OAAO,YAAY,SAAS,OAAO,YAAY,OAAO,OAAO,YAAY,QAAQ,CAAC;AACvI,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,gBAAgB,OAAO,aAAa;AAC7E,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,UAAU;AAAA,EACzC;AACF;AACA,SAAS,8BAA8B,IAAI,KAAK;AAC9C,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,oCAAoC,IAAI,KAAK;AACpD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,qBAAqB,IAAI,KAAK;AACrC,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,EAAE;AAC9B,IAAG,uBAAa,GAAG,CAAC;AACpB,IAAG,qBAAW,GAAG,qCAAqC,GAAG,GAAG,gBAAgB,CAAC;AAC7E,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,oBAAoB,OAAO,kBAAkB,OAAO,eAAe;AAAA,EACnF;AACF;AACA,IAAM,QAAQ,CAAC;AAAA,EACb;AACF,MAAM;AAAA;AAAA,wBAEkB,GAAG,oBAAoB,CAAC;AAAA,qBAC3B,GAAG,qBAAqB,CAAC;AAAA,kBAC5B,GAAG,kBAAkB,CAAC;AAAA,aAC3B,GAAG,aAAa,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAOf,GAAG,sBAAsB,CAAC;AAAA,kBACvB,GAAG,yBAAyB,CAAC;AAAA,aAClC,GAAG,oBAAoB,CAAC;AAAA;AAAA,oBAEjB,GAAG,2BAA2B,CAAC;AAAA,oBAC/B,GAAG,2BAA2B,CAAC;AAAA,qBAC9B,GAAG,4BAA4B,CAAC;AAAA;AAAA;AAAA;AAAA,eAItC,GAAG,iCAAiC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,mBAKjC,GAAG,yBAAyB,CAAC;AAAA;AAAA;AAAA;AAAA,eAIjC,GAAG,uBAAuB,CAAC;AAAA;AAAA;AAAA;AAAA,eAI3B,GAAG,sBAAsB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAYzC,IAAM,UAAU;AAAA,EACd,MAAM,CAAC;AAAA,IACL;AAAA,EACF,MAAM,CAAC,uBAAuB;AAAA,IAC5B,sBAAsB,MAAM;AAAA,EAC9B,CAAC;AAAA,EACD,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,eAAe;AAAA,EACf,gBAAgB;AAAA,EAChB,kBAAkB;AAAA,EAClB,SAAS;AAAA,EACT,QAAQ;AACV;AACA,IAAM,aAAN,MAAM,oBAAmB,UAAU;AAAA,EACjC,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,mBAAmB,mBAAmB;AACpD,cAAQ,iCAA4B,+BAA6B,gCAAsB,WAAU,IAAI,qBAAqB,WAAU;AAAA,IACtI;AAAA,EACF,GAAG;AAAA,EACH,OAAO,aAAuB,gBAAG,6BAAmB;AAAA,IAClD,OAAO;AAAA,IACP,SAAS,YAAW;AAAA,EACtB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,YAAY,CAAC;AAAA,IACnF,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;AAUH,IAAI;AAAA,CACH,SAAUA,eAAc;AAIvB,EAAAA,cAAa,MAAM,IAAI;AAIvB,EAAAA,cAAa,QAAQ,IAAI;AAIzB,EAAAA,cAAa,OAAO,IAAI;AAIxB,EAAAA,cAAa,eAAe,IAAI;AAIhC,EAAAA,cAAa,gBAAgB,IAAI;AAIjC,EAAAA,cAAa,kBAAkB,IAAI;AAInC,EAAAA,cAAa,SAAS,IAAI;AAI1B,EAAAA,cAAa,QAAQ,IAAI;AAC3B,GAAG,iBAAiB,eAAe,CAAC,EAAE;AAMtC,IAAM,QAAN,MAAM,eAAc,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA,EAKV,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,kBAAkB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnC,iBAAiB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,gBAAgB,IAAI,aAAa;AAAA,EACjC;AAAA,EACA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EASA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,KAAK,KAAK,QAAQ;AAAA,EAClB,IAAI,kBAAkB;AACpB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,kBAAkB,OAAO,UAAU;AAAA,EACnC,cAAc,OAAO;AACnB,QAAI,KAAK,YAAY,UAAU;AAC7B,WAAK,OAAO,KAAK;AAAA,IACnB;AAAA,EACF;AAAA,EACA,YAAY,OAAO;AACjB,QAAI,KAAK,YAAY,QAAQ;AAC3B,WAAK,OAAO,KAAK;AAAA,IACnB;AAAA,EACF;AAAA,EACA,OAAO,OAAO;AACZ,QAAI,KAAK,WAAW;AAClB,aAAO;AAAA,IACT;AACA,SAAK,YAAY;AACjB,SAAK,eAAe,KAAK;AAAA,MACvB,eAAe;AAAA,MACf,WAAW,KAAK;AAAA,IAClB,CAAC;AACD,QAAI,KAAK,YAAY;AACnB,UAAI,KAAK,UAAW,MAAK,OAAO;AAAA,UAAO,MAAK,SAAS;AAAA,IACvD;AACA,SAAK,GAAG,aAAa;AACrB,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,SAAS;AACP,SAAK,YAAY;AACjB,SAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,SAAK,eAAe;AAAA,EACtB;AAAA,EACA,WAAW;AACT,SAAK,YAAY;AACjB,SAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,SAAK,eAAe;AAAA,EACtB;AAAA,EACA,sBAAsB;AACpB,WAAO,KAAK,GAAG,cAAc,SAAS,CAAC;AAAA,EACzC;AAAA,EACA,iBAAiB;AACf,QAAI,KAAK,yBAAyB;AAChC,YAAM,oBAAoB,KAAK,wBAAwB,cAAc,iBAAiB,qEAAqE;AAC3J,wBAAkB,QAAQ,aAAW;AACnC,YAAI,KAAK,WAAW;AAClB,kBAAQ,aAAa,YAAY,IAAI;AAAA,QACvC,OAAO;AACL,kBAAQ,gBAAgB,UAAU;AAAA,QACpC;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,UAAU,OAAO;AACf,QAAI,MAAM,SAAS,WAAW,MAAM,SAAS,SAAS;AACpD,WAAK,OAAO,KAAK;AACjB,YAAM,eAAe;AAAA,IACvB;AAAA,EACF;AAAA,EACA,aAAa,OAAO;AAClB,SAAK,YAAY;AACjB,SAAK,cAAc,KAAK;AAAA,MACtB,eAAe;AAAA,MACf,WAAW,KAAK;AAAA,IAClB,CAAC;AAAA,EACH;AAAA,EACA;AAAA,EACA,qBAAqB;AACnB,SAAK,UAAU,QAAQ,UAAQ;AAC7B,cAAQ,KAAK,QAAQ,GAAG;AAAA,QACtB,KAAK;AACH,eAAK,kBAAkB,KAAK;AAC5B;AAAA,QACF,KAAK;AACH,eAAK,mBAAmB,KAAK;AAC7B;AAAA,QACF,KAAK;AACH,eAAK,kBAAkB,KAAK;AAC5B;AAAA,QACF,KAAK;AACH,eAAK,gBAAgB,KAAK;AAC1B;AAAA,QACF,KAAK;AACH,eAAK,uBAAuB,KAAK;AACjC;AAAA,QACF;AACE,eAAK,mBAAmB,KAAK;AAC7B;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,cAAc,mBAAmB;AAC/C,cAAQ,4BAAuB,0BAAwB,gCAAsB,MAAK,IAAI,qBAAqB,MAAK;AAAA,IAClH;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,SAAS,CAAC;AAAA,IACvB,gBAAgB,SAAS,qBAAqB,IAAI,KAAK,UAAU;AAC/D,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,UAAU,QAAQ,CAAC;AACrC,QAAG,yBAAe,UAAU,KAAK,CAAC;AAClC,QAAG,yBAAe,UAAU,KAAK,CAAC;AAClC,QAAG,yBAAe,UAAU,KAAK,CAAC;AAClC,QAAG,yBAAe,UAAU,KAAK,CAAC;AAClC,QAAG,yBAAe,UAAU,KAAK,CAAC;AAClC,QAAG,yBAAe,UAAU,eAAe,CAAC;AAAA,MAC9C;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,cAAc,GAAG;AAClE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,iBAAiB,GAAG;AACrE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,eAAe,GAAG;AACnE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,kBAAkB,GAAG;AACtE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,iBAAiB,GAAG;AACrE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,sBAAsB,GAAG;AAC1E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,YAAY;AAAA,MAC/D;AAAA,IACF;AAAA,IACA,WAAW,SAAS,YAAY,IAAI,KAAK;AACvC,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,KAAK,CAAC;AAAA,MACvB;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,0BAA0B,GAAG;AAAA,MAChF;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,YAAY,CAAC,GAAG,cAAc,cAAc,gBAAgB;AAAA,MAC5D,SAAS,CAAC,GAAG,UAAU,SAAS;AAAA,MAChC,WAAW,CAAC,GAAG,aAAa,aAAa,gBAAgB;AAAA,MACzD,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,YAAY,CAAC,GAAG,cAAc,cAAc,gBAAgB;AAAA,MAC5D,SAAS;AAAA,MACT,mBAAmB;AAAA,MACnB,mBAAmB;AAAA,IACrB;AAAA,IACA,SAAS;AAAA,MACP,iBAAiB;AAAA,MACjB,gBAAgB;AAAA,MAChB,eAAe;AAAA,IACjB;AAAA,IACA,UAAU,CAAI,6BAAmB,CAAC,UAAU,CAAC,GAAM,oCAA6B,oCAA0B;AAAA,IAC1G,oBAAoB;AAAA,IACpB,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,kBAAkB,EAAE,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,GAAG,WAAW,SAAS,GAAG,CAAC,SAAS,kBAAkB,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,UAAU,GAAG,6BAA6B,GAAG,IAAI,GAAG,CAAC,GAAG,iBAAiB,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,SAAS,kBAAkB,GAAG,MAAM,GAAG,CAAC,GAAG,kBAAkB,GAAG,OAAO,GAAG,CAAC,SAAS,iBAAiB,GAAG,MAAM,GAAG,CAAC,GAAG,iBAAiB,GAAG,SAAS,GAAG,CAAC,YAAY,aAAa,QAAQ,UAAU,QAAQ,UAAU,cAAc,8CAA8C,GAAG,QAAQ,WAAW,eAAe,SAAS,WAAW,GAAG,MAAM,GAAG,CAAC,GAAG,eAAe,GAAG,CAAC,YAAY,aAAa,QAAQ,UAAU,QAAQ,UAAU,cAAc,8CAA8C,GAAG,SAAS,WAAW,QAAQ,WAAW,aAAa,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,GAAG,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,gBAAgB,CAAC;AAAA,IAC13B,UAAU,SAAS,eAAe,IAAI,KAAK;AACzC,UAAI,KAAK,GAAG;AACV,cAAM,MAAS,2BAAiB;AAChC,QAAG,0BAAgB,GAAG;AACtB,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,qBAAW,GAAG,sBAAsB,GAAG,IAAI,OAAO,CAAC;AACtD,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,qBAAW,sBAAsB,SAAS,0DAA0D,QAAQ;AAC7G,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,aAAa,MAAM,CAAC;AAAA,QAChD,CAAC;AACD,QAAG,yBAAe,GAAG,OAAO,GAAG,CAAC;AAChC,QAAG,uBAAa,CAAC;AACjB,QAAG,qBAAW,GAAG,+BAA+B,GAAG,GAAG,gBAAgB,CAAC;AACvE,QAAG,uBAAa;AAChB,QAAG,qBAAW,GAAG,sBAAsB,GAAG,GAAG,OAAO,CAAC;AACrD,QAAG,uBAAa,EAAE;AAAA,MACpB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,UAAU;AAC5B,QAAG,qBAAW,WAAc,0BAAgB,IAAI,KAAK,IAAI,YAAY,CAAC,IAAI,aAAa,IAAI,UAAU,CAAC,EAAE,WAAW,IAAI,KAAK;AAC5H,QAAG,sBAAY,MAAM,IAAI,EAAE,EAAE,gBAAgB,OAAO;AACpD,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,UAAU;AACpC,QAAG,oBAAU;AACb,QAAG,qBAAW,MAAM,IAAI,KAAK,UAAU,EAAE,iBAAiB,IAAI,YAAe,0BAAgB,IAAI,MAAS,0BAAgB,IAAI,KAAK,IAAI,YAAY,IAAI,oBAAoB,KAAK,CAAC,IAAO,0BAAgB,IAAI,MAAS,0BAAgB,IAAI,MAAM,IAAI,YAAY,IAAI,oBAAoB,KAAK,CAAC,CAAC;AAC9R,QAAG,sBAAY,mBAAmB,IAAI,KAAK,SAAS,EAAE,eAAe,IAAI,SAAS,EAAE,YAAY,IAAI,YAAY,OAAO,MAAS;AAChI,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,oBAAoB,IAAI,mBAAmB,IAAI,gBAAgB;AAC7E,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,eAAe,IAAI,kBAAkB,IAAI,eAAe;AAAA,MACpF;AAAA,IACF;AAAA,IACA,cAAc,CAAC,cAAiB,SAAY,MAAS,kBAAqB,SAAS,UAAU,WAAW,cAAiB,QAAQ,YAAY;AAAA,IAC7I,eAAe;AAAA,IACf,MAAM;AAAA,MACJ,WAAW,CAAC,QAAQ,gBAAgB,CAAC,MAAM,UAAU,MAAM;AAAA,QACzD,QAAQ;AAAA,MACV,CAAC,CAAC,GAAG,MAAM,QAAQ,MAAM;AAAA,QACvB,QAAQ;AAAA,MACV,CAAC,GAAG;AAAA,QACF,QAAQ;AAAA,UACN,QAAQ;AAAA,QACV;AAAA,MACF,CAAC,GAAG,MAAM,WAAW,MAAM;AAAA,QACzB,QAAQ;AAAA,MACV,CAAC,CAAC,GAAG,WAAW,sBAAsB,CAAC,QAAQ,sBAAsB,CAAC,CAAC,GAAG,WAAW,kBAAkB,QAAQ,sBAAsB,CAAC,GAAG,WAAW,mBAAmB,QAAQ,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAAA,IAC3M;AAAA,IACA,iBAAiB;AAAA,EACnB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,OAAO,CAAC;AAAA,IAC9E,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,SAAS,CAAC,cAAc,UAAU,WAAW,cAAc,YAAY;AAAA,MACvE,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAmGV,YAAY,CAAC,QAAQ,gBAAgB,CAAC,MAAM,UAAU,MAAM;AAAA,QAC1D,QAAQ;AAAA,MACV,CAAC,CAAC,GAAG,MAAM,QAAQ,MAAM;AAAA,QACvB,QAAQ;AAAA,MACV,CAAC,GAAG;AAAA,QACF,QAAQ;AAAA,UACN,QAAQ;AAAA,QACV;AAAA,MACF,CAAC,GAAG,MAAM,WAAW,MAAM;AAAA,QACzB,QAAQ;AAAA,MACV,CAAC,CAAC,GAAG,WAAW,sBAAsB,CAAC,QAAQ,sBAAsB,CAAC,CAAC,GAAG,WAAW,kBAAkB,QAAQ,sBAAsB,CAAC,GAAG,WAAW,mBAAmB,QAAQ,sBAAsB,CAAC,CAAC,CAAC,CAAC;AAAA,MACzM,iBAAiB,wBAAwB;AAAA,MACzC,eAAe,kBAAkB;AAAA,MACjC,WAAW,CAAC,UAAU;AAAA,IACxB,CAAC;AAAA,EACH,CAAC,GAAG,MAAM;AAAA,IACR,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,IACjB,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,IACD,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,MACN,MAAM,CAAC,MAAM;AAAA,IACf,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,QACf,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC,SAAS;AAAA,QACd,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,QAChB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,QACf,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,MACN,MAAM,CAAC,eAAe;AAAA,QACpB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,yBAAyB,CAAC;AAAA,MACxB,MAAM;AAAA,MACN,MAAM,CAAC,gBAAgB;AAAA,IACzB,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,cAAN,MAAM,aAAY;AAAA,EAChB,OAAO,YAAO,SAAS,oBAAoB,mBAAmB;AAC5D,WAAO,KAAK,qBAAqB,cAAa;AAAA,EAChD;AAAA,EACA,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,MAAM;AAAA,EACR,CAAC;AAAA,EACD,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,SAAS,CAAC,OAAO,cAAc,YAAY;AAAA,EAC7C,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,aAAa,CAAC;AAAA,IACpF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,OAAO,YAAY;AAAA,MAC7B,SAAS,CAAC,OAAO,YAAY;AAAA,IAC/B,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;ACp5BH,oBAAmB;;;;;;;;;AC1Bf,IAAA,yBAAA,GAAA,QAAA,CAAA;;AAQE,IAAA,yBAAA,GAAA,OAAA,EAAA,EAMC,GAAA,KAAA,EAAA;AAEG,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA;AACA,IAAA,yBAAA,GAAA,MAAA,EAAM,GAAA,YAAA,EAAA;AAEF,IAAA,oBAAA,GAAA,QAAA,EAAA;AACF,IAAA,uBAAA,EAAW,EACN,EACH;;;;;AA3BN,IAAA,qBAAA,WAAA,0BAAA,GAAAC,IAAA,CAAA,EAAyD,YAAA,OAAA,cAAA,EAC9B,YAAA,iBAAA;;;;;;;AA2D7B,IAAA,yBAAA,GAAA,OAAA,EAAA;AACE,IAAA,qBAAA,SAAA,SAAA,6EAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,aAAA,sBAAS,OAAA,QAAA,CAAS;IAAA,CAAA;AASlB,IAAA,oBAAA,GAAA,QAAA,EAAA;AAIF,IAAA,uBAAA;;;;;AAIF,IAAA,yBAAA,GAAA,OAAA,EAAA;AAAwC,IAAA,iBAAA,GAAA,sBAAA;AAAoB,IAAA,uBAAA;;;;;;AAsBpD,IAAA,yBAAA,GAAA,MAAA,EAAA;AAKE,IAAA,qBAAA,SAAA,SAAA,oEAAA;AAAA,YAAA,UAAA,wBAAA,GAAA,EAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,aAAA,sBAAS,OAAA,aAAA,QAAA,GAAA,CAAsB;IAAA,CAAA;AAE/B,IAAA,yBAAA,GAAA,MAAA;AAAM,IAAA,iBAAA,CAAA;AAAgB,IAAA,uBAAA,EAAO;;;;;AAN7B,IAAA,qBAAA,WAAA,0BAAA,GAAAC,MAAA,OAAA,iBAAA,QAAA,OAAA,OAAA,iBAAA,QAAA,CAAA;AAMM,IAAA,oBAAA,CAAA;AAAA,IAAA,4BAAA,QAAA,KAAA;;;AD7ElB,IAAY;CAAZ,SAAYC,aAAU;AACpB,EAAAA,YAAA,OAAA,IAAA;AACA,EAAAA,YAAA,WAAA,IAAA;AACA,EAAAA,YAAA,aAAA,IAAA;AACA,EAAAA,YAAA,cAAA,IAAA;AACA,EAAAA,YAAA,WAAA,IAAA;AACA,EAAAA,YAAA,YAAA,IAAA;AACA,EAAAA,YAAA,aAAA,IAAA;AACA,EAAAA,YAAA,QAAA,IAAA;AACF,GATY,eAAA,aAAU,CAAA,EAAA;AA0Bf,IAAM,aAAyB;EACpC;IACE,MAAM;IACN,WAAW,WAAW;IACtB,UAAU;MACR,WAAO,cAAAC,SAAM,EAAG,QAAQ,KAAK,EAAE,OAAM;MACrC,SAAK,cAAAA,SAAM,EAAG,MAAM,KAAK,EAAE,OAAM;;;EAGrC;IACE,MAAM;IACN,WAAW,WAAW;IACtB,UAAU;MACR,WAAO,cAAAA,SAAM,EAAG,SAAS,GAAG,MAAM,EAAE,QAAQ,KAAK,EAAE,OAAM;MACzD,SAAK,cAAAA,SAAM,EAAG,SAAS,GAAG,MAAM,EAAE,MAAM,KAAK,EAAE,OAAM;;;EAGzD;IACE,MAAM;IACN,WAAW,WAAW;IACtB,UAAU;MACR,WAAO,cAAAA,SAAM,EAAG,QAAQ,SAAS,EAAE,QAAQ,KAAK,EAAE,OAAM;MACxD,SAAK,cAAAA,SAAM,EAAG,MAAM,KAAK,EAAE,OAAM;;;EAGrC;IACE,MAAM;IACN,WAAW,WAAW;IACtB,UAAU;MACR,WAAO,cAAAA,SAAM,EAAG,QAAQ,OAAO,EAAE,QAAQ,KAAK,EAAE,OAAM;MACtD,SAAK,cAAAA,SAAM,EAAG,MAAM,KAAK,EAAE,OAAM;;;EAGrC;IACE,MAAM;IACN,WAAW,WAAW;IACtB,UAAU;MACR,WAAO,cAAAA,SAAM,EACV,SAAS,GAAG,QAAQ,EACpB,QAAQ,OAAO,EACf,QAAQ,KAAK,EACb,OAAM;MACT,SAAK,cAAAA,SAAM,EAAG,SAAS,GAAG,QAAQ,EAAE,MAAM,OAAO,EAAE,MAAM,KAAK,EAAE,OAAM;;;EAG1E;IACE,MAAM;IACN,WAAW,WAAW;IACtB,UAAU;MACR,WAAO,cAAAA,SAAM,EAAG,SAAS,IAAI,MAAM,EAAE,QAAQ,KAAK,EAAE,OAAM;MAC1D,SAAK,cAAAA,SAAM,EAAG,SAAS,GAAG,KAAK,EAAE,MAAM,KAAK,EAAE,OAAM;;;EAGxD;IACE,MAAM;IACN,WAAW,WAAW;IACtB,UAAU;MACR,WAAO,cAAAA,SAAM,EAAG,QAAQ,MAAM,EAAE,QAAQ,KAAK,EAAE,OAAM;MACrD,SAAK,cAAAA,SAAM,EAAG,MAAM,KAAK,EAAE,OAAM;;;;AAKhC,IAAM,kBAA+B,CAC1C,YAC2B;AAC3B,QAAM,QAAgB,QAAQ;AAC9B,MAAI,SAAS,MAAM,UAAU,CAAC,MAAM,CAAC,GAAG;AACtC,WAAO,EAAE,iBAAiB,KAAI;EAChC;AACA,SAAO;AACT;AAgCM,IAAO,gCAAP,MAAO,+BAA6B;EAkM9B;EACA;EAhMV,mBAAmB;EACV,iBAAiB;;;;EAKhB,YAAgC,IAAI,aAAY;;;;EAIjD,QAAQ;;;;EAKR,iBAAiB;;;;EAIjB,cAAc;;;;EAKiB,WAAW;;;;EAKX,aAAa;;;;EAKb,WAAW;;;;;EAMX,iBAAiB;;;;;EAMjD,gBAAmC;EAC3C,IACI,aAAa,OAAiC;AAChD,QAAI,OAAO;AACT,UAAI,OAAO,UAAU,UAAU;AAC7B,YAAI;AACF,kBAAQ,KAAK,MAAM,KAAK;QAC1B,QAAQ;AACN,kBAAQ;QACV;MACF;AAEA,UAAI,SAAS,OAAO,UAAU,YAAY,WAAW,OAAO;AAC1D,aAAK,gBAAgB;AAErB,YAAI,KAAK,cAAc,UAAU,UAAU;AACzC,eAAK,aAAa,KAAK,cAAc,KAAmB;QAC1D,OAAO;AACL,eAAK,YAAY,SAAS;YACxB,IAAI,KAAK,KAAK,cAAc,KAAK;YACjC,IAAI,KAAK,KAAK,cAAc,GAAG;WAChC;QACH;MACF;IACF;EACF;EACA,IAAI,eAAY;AACd,WAAO,KAAK;EACd;;;;;EAMQ;EACR,IACI,QAAQ,OAAoB;AAC9B,QAAI,OAAO;AACT,WAAK,WAAW,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAAI;IAChE;EACF;EACA,IAAI,UAAO;AACT,WAAO,KAAK;EACd;;;;;EAMQ,WAAW,oBAAI,KAAI;EAC3B,IACI,QAAQ,OAAoB;AAC9B,QAAI,OAAO;AACT,WAAK,WAAW,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAAI;IAChE;EACF;EACA,IAAI,UAAO;AACT,WAAO,KAAK;EACd;;;;;;EAOQ,iBAA8B;EACtC,IACI,cAAc,OAA2B;AAC3C,QAAI,UAAU,QAAQ,UAAU,UAAa,UAAU,IAAI;AACzD,WAAK,iBAAiB;IACxB,OAAO;AACL,WAAK,iBAAiB,OAAO,UAAU,WAAW,IAAI,KAAK,KAAK,IAAI;IACtE;EACF;EACA,IAAI,gBAAa;AACf,WAAO,KAAK;EACd;;;;;EAMQ,gBAAiC;EACzC,IACI,aAAa,OAA+B;AAC9C,QAAI,OAAO,UAAU,UAAU;AAC7B,UAAI;AACF,aAAK,gBAAgB,KAAK,MAAM,KAAK;MACvC,QAAQ;AACN,aAAK,gBAAgB;MACvB;IACF,OAAO;AACL,WAAK,gBAAgB;IACvB;EACF;EACA,IAAI,eAAY;AACd,WAAO,KAAK;EACd;;;;EAKS,aAAa;;;;EAKkB,iBAAiB;;;;EAKjB,YAAY;EAEjB;EAEnC;EACA,aAAa;EACb,cAAoD;IAClD,EAAE,KAAK,WAAW,OAAO,OAAO,QAAO;IACvC,EAAE,KAAK,WAAW,WAAW,OAAO,YAAW;IAC/C,EAAE,KAAK,WAAW,aAAa,OAAO,eAAc;IACpD,EAAE,KAAK,WAAW,cAAc,OAAO,gBAAe;IACtD,EAAE,KAAK,WAAW,WAAW,OAAO,aAAY;IAChD,EAAE,KAAK,WAAW,YAAY,OAAO,eAAc;IACnD,EAAE,KAAK,WAAW,aAAa,OAAO,eAAc;;EAGtD,cAA0C,IAAI,YAC5C,IAAI;EAEN,sBAAsB,OAAO,KAAK;EAClC,gBAAgB;;;EAKhB,gBAAgB,OAAiB;AAC/B,UAAM,OAAO,MAAM,eAAe,MAAM,aAAY,IAAK,CAAA;AACzD,QAAI,CAAC,KAAK,SAAS,KAAK,WAAW,aAAa,GAAG;AACjD,WAAK,eAAc;IACrB;EACF;EAEA,YACU,YACA,+BAA4D;AAD5D,SAAA,aAAA;AACA,SAAA,gCAAA;AAER,SAAK,YAAY,aAAa,UAAU,CAAC,UAAwB;AAC/D,UAAI,KAAK,kBAAkB;AACzB,aAAK,eAAe,WAAW;MACjC;AACA,YAAM,aAAyB;QAC7B,OAAO,KAAK,gBAAgB;QAC5B,OAAO,QAAQ,CAAC,KAAK;QACrB,KAAK,QAAQ,CAAC,KAAK;;AAGrB,WAAK,aAAa,KAAK,gBAAgB,SAAS,CAAA,CAAE;AAClD,WAAK,WAAW,UAAU;AAC1B,WAAK,WAAW,cAAc,cAC5B,IAAI,YAAY,gCAAgC;QAC9C,QAAQ;QACR,SAAS;QACT,UAAU;OACX,CAAC;IAEN,CAAC;EACH;EAEQ,aAA0C,MAAK;EAAE;EACjD,cAA0B,MAAK;EAAE;EACjC;EAER,WAAQ;AACN,QAAI,KAAK,kBAAkB,KAAK,eAAe;AAC7C,UAAI,KAAK,cAAc,UAAU,UAAU;AACzC,aAAK,aAAa,KAAK,cAAc,KAAmB;MAC1D,OAAO;AACL,aAAK,YAAY,SAAS;UACxB,IAAI,KAAK,KAAK,cAAc,KAAK;UACjC,IAAI,KAAK,KAAK,cAAc,GAAG;SAChC;MACH;IACF;AACA,QAAI,KAAK,gBAAgB;AACvB,WAAK,YAAY,cAAc,eAAe;AAC9C,WAAK,YAAY,uBAAsB;IACzC;EACF;EAEA,kBAAe;AACb,SAAK,8BACF,oBAAoB,KAAK,UAAU,EACnC,UAAU,CAAC,SAAS,KAAK,oBAAoB,IAAI,IAAI,CAAC;EAC3D;EAEA,YAAY,SAAsB;AAChC,QAAI,QAAQ,gBAAgB,GAAG;AAC7B,WAAK,qBAAoB;IAC3B;EACF;EAEA,eAAe,OAAc,SAAgB;AAC3C,eAAW,MAAK;AACd,WAAK,UAAU,KAAI;AACnB,cAAQ,OAAO,KAAK;IACtB,CAAC;EACH;EAEA,0BAA2B,IAAc;AACvC,SAAK,qBAAqB;EAC5B;EAEA,SAAS,SAAwB;AAC/B,WAAO,KAAK,iBAAiB,gBAAgB,OAAO,IAAI;EAC1D;EAEA,WAAW,OAAwB;AACjC,QAAI,CAAC,SAAS,OAAO,UAAU,YAAY,EAAE,WAAW,QAAQ;AAC9D,WAAK,aAAa;AAClB,WAAK,gBAAgB;AACrB,WAAK,YAAY,SAAS,MAAM,EAAE,WAAW,MAAK,CAAE;AACpD;IACF;AAEA,SAAK,gBAAgB;AAErB,QAAI,MAAM,UAAU,UAAU;AAC5B,WAAK,aAAa,MAAM,KAAmB;IAC7C,OAAO;AACL,WAAK,eAAe,WAAW;AAC/B,YAAM,SAAiB,CAAC,IAAI,KAAK,MAAM,KAAK,GAAG,IAAI,KAAK,MAAM,GAAG,CAAC;AAClE,WAAK,YAAY,SAAS,QAAQ,EAAE,WAAW,MAAK,CAAE;AACtD,WAAK,aAAa,KAAK,gBAAgB,MAAM;IAC/C;EACF;EAEA,iBAAiB,IAA+B;AAC9C,SAAK,aAAa;EACpB;EAEA,kBAAkB,IAAc;AAC9B,SAAK,cAAc;EACrB;EAEA,gBAAa;AACX,SAAK,mBAAmB;AACxB,SAAK,aAAa,KAAK,gBAAgB,KAAK,YAAY,KAAe;EACzE;EAEA,aAAa,KAAe;AAC1B,SAAK,eAAe;AACpB,UAAM,QAAQ,WAAW,KAAK,CAAC,SAAS,KAAK,cAAc,GAAG;AAC9D,QAAI,OAAO;AACT,YAAM,QAAgB,CAAC,MAAM,SAAS,OAAO,MAAM,SAAS,GAAG;AAC/D,WAAK,YAAY,SAAS,KAAK;AAC/B,WAAK,gBAAgB;QACnB,OAAO;QACP,OAAO,MAAM,SAAS;QACtB,KAAK,MAAM,SAAS;;IAExB;EACF;EAEQ,WAAW,MAA6B;AAC9C,QAAI,CAAC,QAAQ,KAAC,cAAAA,SAAO,IAAI,EAAE,QAAO,GAAI;AACpC,aAAO;IACT;AACA,eAAO,cAAAA,SAAO,IAAI,EAAE,OAAO,YAAY;EACzC;EAEQ,gBAAgB,OAAa;AACnC,UAAM,CAAC,OAAO,KAAK,IAAI,SAAS,CAAA;AAChC,UAAM,eAAe,KAAK,WAAW,KAAK;AAC1C,UAAM,gBAAgB,KAAK,WAAW,KAAK;AAC3C,QAAI,gBAAgB,eAAe;AACjC,aAAO,GAAG,YAAY,MAAM,aAAa;IAC3C,WAAW,cAAc;AACvB,aAAO,eAAe;IACxB,OAAO;AACL,aAAO;IACT;EACF;EAEU,gBAAa;AACrB,UAAM,QAAQ,KAAK,QAAQ;AAC3B,SAAK,gBAAgB;AACrB,QAAI,OAAO;AACT,YAAM,MAAM,OAAO;AACnB,YAAM,MAAM,MAAM;IACpB;EACF;EAEU,iBAAc;AACtB,QAAI,KAAK,SAAS;AAChB,WAAK,QAAQ,KAAI;IACnB;AACA,SAAK,gBAAgB;EACvB;EAEU,UAAO;AACf,SAAK,YAAY,MAAK;AACtB,SAAK,aAAa;EACpB;;qCAjWW,gCAA6B,4BAAA,UAAA,GAAA,4BAAA,6BAAA,CAAA;EAAA;yEAA7B,gCAA6B,WAAA,CAAA,CAAA,8BAAA,CAAA,GAAA,WAAA,SAAA,oCAAA,IAAA,KAAA;AAAA,QAAA,KAAA,GAAA;;;;;;;;;AAA7B,MAAA,qBAAA,SAAA,SAAA,uDAAA,QAAA;AAAA,eAAA,IAAA,gBAAA,MAAA;MAAuB,GAAA,OAAA,2BAAA;;qKA2Bd,gBAAgB,GAAA,YAAA,CAAA,GAAA,cAAA,cAKhB,gBAAgB,GAAA,UAAA,CAAA,GAAA,YAAA,YAKhB,gBAAgB,GAAA,gBAAA,CAAA,GAAA,kBAAA,kBAMhB,gBAAgB,GAAA,cAAA,gBAAA,SAAA,WAAA,SAAA,WAAA,eAAA,iBAAA,cAAA,gBAAA,YAAA,cAAA,gBAAA,CAAA,GAAA,kBAAA,kBAiHhB,gBAAgB,GAAA,WAAA,CAAA,GAAA,aAAA,aAKhB,gBAAgB,EAAA,GAAA,SAAA,EAAA,WAAA,YAAA,GAAA,UAAA,CAAA,6BAjLzB;IACT;MACE,SAAS;MACT,aAAa,WAAW,MAAM,8BAA6B;MAC3D,OAAO;;IAET;MACE,SAAS;MACT,aAAa,WAAW,MAAM,8BAA6B;MAC3D,OAAO;;GAEV,GAAA,oCAAA,8BAAA,GAAA,OAAA,IAAA,MAAA,IAAA,QAAA,CAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,qBAAA,EAAA,GAAA,CAAA,MAAA,EAAA,GAAA,CAAA,GAAA,0BAAA,GAAA,SAAA,GAAA,CAAA,OAAA,oBAAA,GAAA,oBAAA,GAAA,CAAA,gBAAA,MAAA,eAAA,MAAA,mBAAA,OAAA,GAAA,WAAA,YAAA,UAAA,GAAA,CAAA,GAAA,oBAAA,GAAA,CAAA,MAAA,oBAAA,cAAA,IAAA,GAAA,sBAAA,GAAA,iBAAA,SAAA,WAAA,eAAA,WAAA,UAAA,GAAA,CAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,SAAA,8BAAA,eAAA,QAAA,GAAA,iBAAA,GAAA,CAAA,KAAA,4sDAAA,QAAA,cAAA,GAAA,CAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,SAAA,8BAAA,eAAA,QAAA,GAAA,YAAA,GAAA,CAAA,GAAA,4BAAA,GAAA,CAAA,GAAA,YAAA,UAAA,GAAA,CAAA,GAAA,UAAA,UAAA,YAAA,aAAA,GAAA,CAAA,GAAA,iBAAA,GAAA,CAAA,GAAA,sBAAA,GAAA,CAAA,GAAA,aAAA,GAAA,CAAA,GAAA,SAAA,GAAA,CAAA,GAAA,uBAAA,GAAA,CAAA,iBAAA,SAAA,GAAA,YAAA,kBAAA,eAAA,UAAA,WAAA,WAAA,UAAA,GAAA,CAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,MAAA,GAAA,CAAA,aAAA,sBAAA,GAAA,CAAA,aAAA,WAAA,aAAA,WAAA,KAAA,s+CAAA,QAAA,SAAA,GAAA,CAAA,MAAA,gBAAA,GAAA,CAAA,SAAA,MAAA,UAAA,MAAA,QAAA,OAAA,GAAA,CAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,SAAA,8BAAA,eAAA,QAAA,GAAA,cAAA,GAAA,OAAA,GAAA,CAAA,KAAA,shCAAA,QAAA,SAAA,GAAA,CAAA,GAAA,SAAA,SAAA,CAAA,GAAA,UAAA,SAAA,uCAAA,IAAA,KAAA;AAAA,QAAA,KAAA,GAAA;;AClKH,MAAA,yBAAA,GAAA,OAAA,CAAA,EAGC,GAAA,SAAA,GAAA,CAAA,EAC0E,GAAA,MAAA;AACjE,MAAA,iBAAA,CAAA;AAAuC,MAAA,uBAAA;AAC7C,MAAA,qBAAA,GAAA,sDAAA,GAAA,GAAA,QAAA,CAAA;AAgCF,MAAA,uBAAA;AACA,MAAA,yBAAA,GAAA,OAAA,CAAA,EAAgC,GAAA,SAAA,CAAA;AAQ5B,MAAA,2BAAA,iBAAA,SAAA,sEAAA,QAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,QAAA,6BAAA,IAAA,YAAA,MAAA,MAAA,IAAA,aAAA;AAAA,eAAA,sBAAA,MAAA;MAAA,CAAA;AAEA,MAAA,qBAAA,SAAA,SAAA,8DAAA,QAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,cAAA,QAAA,sBAAA,EAAA;AAAA,eAAA,sBAAS,IAAA,eAAA,QAAA,KAAA,CAA0B;MAAA,CAAA;AATrC,MAAA,uBAAA;;AAaA,MAAA,yBAAA,GAAA,OAAA,CAAA;AASE,MAAA,oBAAA,GAAA,QAAA,CAAA;AAIF,MAAA,uBAAA;AACA,MAAA,qBAAA,IAAA,uDAAA,GAAA,GAAA,YAAA,EAAA;AAiBF,MAAA,uBAAA;AACA,MAAA,qBAAA,IAAA,uDAAA,GAAA,GAAA,OAAA,EAAA;;AAGA,MAAA,oBAAA,IAAA,OAAA,IAAA,CAAA;AACA,MAAA,yBAAA,IAAA,aAAA,IAAA,CAAA;AAIE,MAAA,qBAAA,UAAA,SAAA,sEAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,eAAA,sBAAU,IAAA,cAAA,CAAe;MAAA,CAAA,EAAC,UAAA,SAAA,sEAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,eAAA,sBAChB,IAAA,eAAA,CAAgB;MAAA,CAAA;AAE1B,MAAA,yBAAA,IAAA,OAAA,EAAA,EAA6B,IAAA,OAAA,EAAA,EACO,IAAA,MAAA,EAAA;AAE9B,MAAA,2BAAA,IAAA,+CAAA,GAAA,GAAA,MAAA,IAAA,UAAA;AAmBF,MAAA,uBAAA,EAAK;AAEP,MAAA,yBAAA,IAAA,OAAA,EAAA,EAAmC,IAAA,gBAAA,EAAA;AAS/B,MAAA,qBAAA,YAAA,SAAA,2EAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,eAAA,sBAAY,IAAA,cAAA,CAAe;MAAA,CAAA;AAC5B,MAAA,uBAAA,EAAe,EACZ,EACF,EACI;;;;AAnIZ,MAAA,qBAAA,WAAA,0BAAA,IAAAC,MAAA,CAAA,IAAA,oBAAA,IAAA,WAAA,SAAA,CAAA;AAGQ,MAAA,oBAAA,CAAA;AAAA,MAAA,4BAAA,IAAA,aAAA,IAAA,QAAA,OAAA,IAAA,KAAA;AACN,MAAA,oBAAA;AAAA,MAAA,wBAAA,IAAA,WAAA,IAAA,EAAA;AAoCE,MAAA,oBAAA,CAAA;AAAA,MAAA,qBAAA,WAAA,0BAAA,IAAAC,MAAA,IAAA,YAAA,SAAA,iBAAA,KAAA,CAAA,IAAA,aAAA,CAAA,EAGE,eAAA,IAAA,WAAA;AAEF,MAAA,2BAAA,WAAA,IAAA,UAAA;AACA,MAAA,qBAAA,YAAA,IAAA;AAmBF,MAAA,oBAAA,CAAA;AAAA,MAAA,wBAAA,IAAA,aAAA,IAAA,aAAA,KAAA,EAAA;AAkBF,MAAA,oBAAA;AAAA,MAAA,wBAAA,IAAA,YAAA,SAAA,iBAAA,KAAA,CAAA,IAAA,gBAAA,KAAA,EAAA;AAME,MAAA,oBAAA,CAAA;AAAA,MAAA,qBAAA,YAAA,oBAAA,EAA8B,eAAA,IAAA;AAQxB,MAAA,oBAAA,CAAA;AAAA,MAAA,qBAAA,IAAA,WAAA;AAwBA,MAAA,oBAAA,CAAA;AAAA,MAAA,qBAAA,kBAAA,CAAA,EAAoB,eAAA,IAAA,WAAA,EACO,UAAA,IAAA,EACZ,WAAA,IAAA,OAAA,EACU,WAAA,IAAA,OAAA,EACA,YAAA,IAAA,cAAA;;;IDe/B;IACA;IAAe;IACf;IAAmB;IAAA;IAAA;IACnB;IAAa;IACb;IAAW;IACX;IAAY;IAAA;IACZ;IACA;IAAa;EAAA,GAAA,QAAA,CAAA,+lJAAA,GAAA,eAAA,GAAA,iBAAA,EAAA,CAAA;;;sEAkBJ,+BAA6B,CAAA;UA9BzC;uBACW,gCAA8B,SAG/B;MACP;MACA;MACA;MACA;MACA;MACA;MACA;MACA;OACD,WACU;MACT;QACE,SAAS;QACT,aAAa,WAAW,MAAK,6BAA8B;QAC3D,OAAO;;MAET;QACE,SAAS;QACT,aAAa,WAAW,MAAK,6BAA8B;QAC3D,OAAO;;OAEV,YACW,MAAI,iBACC,wBAAwB,QAAM,eAChC,kBAAkB,WAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,QAAA,CAAA,+lJAAA,EAAA,CAAA;+EAMjC,gBAAc,CAAA;UAAtB;MAKS,WAAS,CAAA;UAAlB;MAIQ,OAAK,CAAA;UAAb;MAKQ,gBAAc,CAAA;UAAtB;MAIQ,aAAW,CAAA;UAAnB;MAKuC,UAAQ,CAAA;UAA/C;WAAM,EAAE,WAAW,iBAAgB,CAAE;MAKE,YAAU,CAAA;UAAjD;WAAM,EAAE,WAAW,iBAAgB,CAAE;MAKE,UAAQ,CAAA;UAA/C;WAAM,EAAE,WAAW,iBAAgB,CAAE;MAME,gBAAc,CAAA;UAArD;WAAM,EAAE,WAAW,iBAAgB,CAAE;MAQlC,cAAY,CAAA;UADf;MAmCG,SAAO,CAAA;UADV;MAgBG,SAAO,CAAA;UADV;MAiBG,eAAa,CAAA;UADhB;MAkBG,cAAY,CAAA;UADf;MAmBQ,YAAU,CAAA;UAAlB;MAKuC,gBAAc,CAAA;UAArD;WAAM,EAAE,WAAW,iBAAgB,CAAE;MAKE,WAAS,CAAA;UAAhD;WAAM,EAAE,WAAW,iBAAgB,CAAE;MAEH,SAAO,CAAA;UAAzC;WAAU,MAAM,EAAE,QAAQ,KAAI,CAAE;MAuBjC,iBAAe,CAAA;UADd;WAAa,kBAAkB,CAAC,QAAQ,CAAC;;;;6EAzL/B,+BAA6B,EAAA,WAAA,iCAAA,UAAA,mHAAA,YAAA,IAAA,CAAA;AAAA,GAAA;;;AE5HpC,IAAO,sBAAP,MAAO,qBAAmB;EAKpB;EACA;EACA;EACA;EACA;EARV;EACA,aAAa,OAAO,UAAU;EAE9B,YACU,mBACA,gBACA,gBACA,iCACA,YAAsB;AAJtB,SAAA,oBAAA;AACA,SAAA,iBAAA;AACA,SAAA,iBAAA;AACA,SAAA,kCAAA;AACA,SAAA,aAAA;AAER,SAAK,cAAc,KAAK,eAAe;EACzC;EAEA,UAAU,QAAoB;AAC5B,UAAM,MAAM,KAAK,kBAAkB,cAAc,wBAAwB;AAEzE,WAAO,KAAK,KAAK,eAAc,CAAE,EAAE,KAAK,UAAU,CAAC,gBACjD,KAAK,kBACJ,KAAe,KAAK,EAAE,iBAAiB,KAAK,gCAAgC,iBAAiB,QAAQ,WAAW,EAAC,CAAE,EACnH,KACC,IAAI,CAAC,SAAQ;AACX,UAAI,CAAC,MAAM;AACT,cAAM,IAAI,MAAM,gCAAgC;MAClD;AACA,WACI,KAAK,aAAa,KAAK,OAAO,UAAU,KAAK,WAC9C,MAAM,QAAQ,IAAI,KAAK,KAAK,CAAC,GAAG,WACjC;AACA,cAAM,IAAI,MAAM,KAAK,WAAW,iCAAiC;MACnE;AACA,aAAO,KAAK;IACd,CAAC,CAAC,CACH,CAAC;EAEN;EAEM,iBAAc;;AAClB,UAAI;AACF,eAAO,eAAe,KAAK,eAAe,iBAAiB,KACzD,mBAAmB,KAAK,UAAU,GAClC,OAAO,CAAC,SAAS,SAAS,IAAI,GAC9B,KAAK,CAAC,CAAC,CACN;MAEL,SAAS,GAAG;AACV,eAAO,CAAA;MACT;IACF;;EAEA,aAAU;AACR,UAAM,MAAM,KAAK,kBAAkB,cACjC,kCACA,IAAI;AAEN,UAAM,OAAO;MACX,iBAAiB;QACf,WAAW;UACT,KAAK,eAAe,eAClB,KAAK,eAAe,YAAY,SAAS;;QAE7C,cACE;QACF,WAAW,CAAA;QACX,eACE,KAAK,eAAe,eACpB,KAAK,eAAe,YAAY,aAAa;;;AAGnD,WAAO,KAAK,kBAAkB,KAG5B,KAAK,IAAI;EACb;EAEA,mBAAgB;AAOd,UAAM,MAAM,KAAK,kBAAkB,cAAc,kBAAkB,IAAI;AACvE,UAAM,OAAO;MACX,iBAAiB;QACf,WAAW,CAAC,KAAK,eAAe,aAAa,OAAO;QACpD,SAAS;QACT,cAAc,CAAC,YAAY;QAC3B,eAAe,KAAK,eAAe,aAAa;QAChD,uBAAuB;QACvB,eAAe,KAAK,eAAe,aAAa;QAChD,WAAW,KAAK,eAAe,aAAa;;;AAGhD,WAAO,KAAK,kBAAkB,KAS5B,KAAK,IAAI;EACb;EAEA,mBAAgB;AACd,UAAM,MAAM,KAAK,kBAAkB,cAAc,qBAAqB;AACtE,UAAM,OAAO;MACX,iBAAiB;QACf,WAAW;UACT,KAAK,eAAe,eAClB,KAAK,eAAe,YAAY,SAAS;;QAE7C,aAAa;;;AAIjB,WAAO,KAAK,kBAAkB,KAAsC,KAAK,IAAI;EAC/E;EAEA,QAAQ,UAAa;AACnB,UAAM,QAAQ,SAAS,MAAM,mBAAmB;AAChD,UAAM,SAAS,QAAQ,MAAM,CAAC,EAAE,QAAQ,UAAU,EAAE,IAAI;AACxD,UAAM,MAAM,GAAG,YAAY,YAAY,yHAAyH,MAAM;AACtK,WAAO,KAAK,WAAW,KACrB,KACA;MACE,iBAAiB;QACf,iBAAiB;UACf,WAAW,CAAC,KAAK,eAAe,aAAa,OAAO;;;OAI1D,EAAE,cAAc,OAAM,CAAE;EAE5B;;qCAxIW,sBAAmB,mBAAA,iBAAA,GAAA,mBAAA,cAAA,GAAA,mBAAA,kBAAA,GAAA,mBAAA,+BAAA,GAAA,mBAAA,UAAA,CAAA;EAAA;4EAAnB,sBAAmB,SAAnB,qBAAmB,WAAA,YAFlB,OAAM,CAAA;;;sEAEP,qBAAmB,CAAA;UAH/B;WAAW;MACV,YAAY;KACb;;;;;AC9BD,IAAMC,OAAM,CAAC,WAAW;AACxB,IAAMC,OAAM,CAAC,qBAAqB;AAClC,IAAMC,OAAM,CAAC,qBAAqB;AAClC,IAAMC,OAAM,CAAC,OAAO;AACpB,SAAS,gDAAgD,IAAI,KAAK;AAChE,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,aAAa,CAAC;AACnC,IAAG,qBAAW,SAAS,SAAS,6EAA6E;AAC3G,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,MAAM,CAAC;AAAA,IACtC,CAAC;AACD,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,WAAW,0BAA0B;AACnD,IAAG,sBAAY,mBAAmB,WAAW;AAAA,EAC/C;AACF;AACA,SAAS,2DAA2D,IAAI,KAAK;AAAC;AAC9E,SAAS,6CAA6C,IAAI,KAAK;AAC7D,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,4DAA4D,GAAG,GAAG,aAAa;AAAA,EAClG;AACF;AACA,SAAS,2CAA2C,IAAI,KAAK;AAC3D,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,QAAQ,CAAC;AAC9B,IAAG,qBAAW,SAAS,SAAS,mEAAmE;AACjG,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,MAAM,CAAC;AAAA,IACtC,CAAC;AACD,IAAG,qBAAW,GAAG,8CAA8C,GAAG,GAAG,MAAM,CAAC;AAC5E,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,sBAAY,mBAAmB,WAAW;AAC7C,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,qBAAqB,OAAO,kBAAkB;AAAA,EACzF;AACF;AACA,SAAS,oCAAoC,IAAI,KAAK;AACpD,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,iDAAiD,GAAG,GAAG,aAAa,CAAC,EAAE,GAAG,4CAA4C,GAAG,GAAG,QAAQ,CAAC;AACtJ,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,qBAAqB,CAAC,OAAO,kBAAkB;AAC7E,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,qBAAqB,OAAO,kBAAkB;AAAA,EAC7E;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,QAAQ,EAAE;AAAA,EAC5B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,WAAW,OAAO,mBAAmB;AACnD,IAAG,sBAAY,mBAAmB,qBAAqB;AAAA,EACzD;AACF;AACA,SAAS,yDAAyD,IAAI,KAAK;AACzE,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,aAAa;AAAA,EAC/B;AACA,MAAI,KAAK,GAAG;AACV,IAAG,sBAAY,mBAAmB,qBAAqB;AAAA,EACzD;AACF;AACA,SAAS,2DAA2D,IAAI,KAAK;AAAC;AAC9E,SAAS,6CAA6C,IAAI,KAAK;AAC7D,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,4DAA4D,GAAG,GAAG,aAAa;AAAA,EAClG;AACF;AACA,SAAS,2CAA2C,IAAI,KAAK;AAC3D,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,0DAA0D,GAAG,GAAG,eAAe,CAAC,EAAE,GAAG,8CAA8C,GAAG,GAAG,MAAM,CAAC;AACjK,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,+BAA+B,CAAC,OAAO,4BAA4B;AACjG,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,+BAA+B,OAAO,4BAA4B;AAAA,EAC7G;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,QAAQ,EAAE;AAAA,EAC5B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,WAAW,OAAO,mBAAmB;AACnD,IAAG,sBAAY,mBAAmB,qBAAqB;AAAA,EACzD;AACF;AACA,SAAS,2DAA2D,IAAI,KAAK;AAC3E,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,eAAe;AAAA,EACjC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,sBAAY,mBAAmB,qBAAqB;AAAA,EACzD;AACF;AACA,SAAS,2DAA2D,IAAI,KAAK;AAAC;AAC9E,SAAS,6CAA6C,IAAI,KAAK;AAC7D,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,4DAA4D,GAAG,GAAG,aAAa;AAAA,EAClG;AACF;AACA,SAAS,2CAA2C,IAAI,KAAK;AAC3D,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,4DAA4D,GAAG,GAAG,iBAAiB,CAAC,EAAE,GAAG,8CAA8C,GAAG,GAAG,MAAM,CAAC;AACrK,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,+BAA+B,CAAC,OAAO,4BAA4B;AACjG,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,+BAA+B,OAAO,4BAA4B;AAAA,EAC7G;AACF;AACA,SAAS,4BAA4B,IAAI,KAAK;AAC5C,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,QAAQ,EAAE,EAAE,GAAG,UAAU,EAAE;AAChD,IAAG,qBAAW,aAAa,SAAS,wDAAwD,QAAQ;AAClG,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,oBAAoB,MAAM,CAAC;AAAA,IAC1D,CAAC,EAAE,WAAW,SAAS,wDAAwD;AAC7E,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,kBAAkB,CAAC;AAAA,IAClD,CAAC,EAAE,cAAc,SAAS,2DAA2D;AACnF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,qBAAqB,CAAC;AAAA,IACrD,CAAC,EAAE,WAAW,SAAS,sDAAsD,QAAQ;AACnF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,kBAAkB,MAAM,CAAC;AAAA,IACxD,CAAC,EAAE,SAAS,SAAS,sDAAsD;AACzE,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,gBAAgB,CAAC;AAAA,IAChD,CAAC;AACD,IAAG,qBAAW,GAAG,oCAAoC,GAAG,GAAG,QAAQ,EAAE,EAAE,GAAG,4CAA4C,GAAG,GAAG,gBAAgB,CAAC;AAC7I,IAAG,uBAAa;AAChB,IAAG,yBAAe,GAAG,UAAU,EAAE;AACjC,IAAG,qBAAW,aAAa,SAAS,wDAAwD,QAAQ;AAClG,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,sBAAsB,MAAM,CAAC;AAAA,IAC5D,CAAC,EAAE,WAAW,SAAS,wDAAwD;AAC7E,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,oBAAoB,CAAC;AAAA,IACpD,CAAC,EAAE,cAAc,SAAS,2DAA2D;AACnF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,uBAAuB,CAAC;AAAA,IACvD,CAAC,EAAE,WAAW,SAAS,sDAAsD,QAAQ;AACnF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,oBAAoB,MAAM,CAAC;AAAA,IAC1D,CAAC,EAAE,SAAS,SAAS,sDAAsD;AACzE,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,kBAAkB,CAAC;AAAA,IAClD,CAAC;AACD,IAAG,qBAAW,GAAG,oCAAoC,GAAG,GAAG,QAAQ,EAAE,EAAE,GAAG,4CAA4C,GAAG,GAAG,gBAAgB,CAAC;AAC7I,IAAG,uBAAa,EAAE;AAAA,EACpB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,sBAAY,mBAAmB,aAAa;AAC/C,IAAG,oBAAU;AACb,IAAG,qBAAW,OAAO,oBAAoB;AACzC,IAAG,qBAAW,WAAW,OAAO,qBAAqB,EAAE,YAAY,OAAO,QAAQ;AAClF,IAAG,sBAAY,eAAe,IAAI,EAAE,mBAAmB,iBAAiB;AACxE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,mBAAmB;AAChD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,mBAAmB;AACjD,IAAG,oBAAU;AACb,IAAG,qBAAW,OAAO,oBAAoB;AACzC,IAAG,qBAAW,WAAW,OAAO,qBAAqB,EAAE,YAAY,OAAO,QAAQ;AAClF,IAAG,sBAAY,eAAe,IAAI,EAAE,mBAAmB,iBAAiB;AACxE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,mBAAmB;AAChD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,mBAAmB;AAAA,EACnD;AACF;AACA,SAAS,qCAAqC,IAAI,KAAK;AACrD,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,QAAQ,EAAE;AAAA,EAC5B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,WAAW,OAAO,mBAAmB;AACnD,IAAG,sBAAY,mBAAmB,qBAAqB;AAAA,EACzD;AACF;AACA,SAAS,2DAA2D,IAAI,KAAK;AAC3E,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,aAAa;AAAA,EAC/B;AACA,MAAI,KAAK,GAAG;AACV,IAAG,sBAAY,mBAAmB,qBAAqB;AAAA,EACzD;AACF;AACA,SAAS,6DAA6D,IAAI,KAAK;AAAC;AAChF,SAAS,+CAA+C,IAAI,KAAK;AAC/D,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,8DAA8D,GAAG,GAAG,aAAa;AAAA,EACpG;AACF;AACA,SAAS,6CAA6C,IAAI,KAAK;AAC7D,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,4DAA4D,GAAG,GAAG,eAAe,CAAC,EAAE,GAAG,gDAAgD,GAAG,GAAG,MAAM,CAAC;AACrK,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,+BAA+B,CAAC,OAAO,4BAA4B;AACjG,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,+BAA+B,OAAO,4BAA4B;AAAA,EAC7G;AACF;AACA,SAAS,8BAA8B,IAAI,KAAK;AAC9C,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,UAAU,EAAE;AACjC,IAAG,qBAAW,aAAa,SAAS,0DAA0D,QAAQ;AACpG,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,oBAAoB,MAAM,CAAC;AAAA,IAC1D,CAAC,EAAE,WAAW,SAAS,0DAA0D;AAC/E,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,kBAAkB,CAAC;AAAA,IAClD,CAAC,EAAE,cAAc,SAAS,6DAA6D;AACrF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,qBAAqB,CAAC;AAAA,IACrD,CAAC,EAAE,WAAW,SAAS,wDAAwD,QAAQ;AACrF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,kBAAkB,MAAM,CAAC;AAAA,IACxD,CAAC,EAAE,SAAS,SAAS,wDAAwD;AAC3E,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,gBAAgB,CAAC;AAAA,IAChD,CAAC;AACD,IAAG,qBAAW,GAAG,sCAAsC,GAAG,GAAG,QAAQ,EAAE,EAAE,GAAG,8CAA8C,GAAG,GAAG,gBAAgB,CAAC;AACjJ,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,qBAAW,OAAO,oBAAoB;AACzC,IAAG,qBAAW,WAAW,OAAO,qBAAqB,EAAE,YAAY,OAAO,QAAQ;AAClF,IAAG,sBAAY,eAAe,IAAI,EAAE,mBAAmB,iBAAiB;AACxE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,mBAAmB;AAChD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,mBAAmB;AAAA,EACnD;AACF;AACA,SAAS,qCAAqC,IAAI,KAAK;AACrD,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,QAAQ,EAAE;AAAA,EAC5B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,WAAW,OAAO,mBAAmB;AACnD,IAAG,sBAAY,mBAAmB,qBAAqB;AAAA,EACzD;AACF;AACA,SAAS,6DAA6D,IAAI,KAAK;AAC7E,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,eAAe;AAAA,EACjC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,sBAAY,mBAAmB,qBAAqB;AAAA,EACzD;AACF;AACA,SAAS,6DAA6D,IAAI,KAAK;AAAC;AAChF,SAAS,+CAA+C,IAAI,KAAK;AAC/D,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,8DAA8D,GAAG,GAAG,aAAa;AAAA,EACpG;AACF;AACA,SAAS,6CAA6C,IAAI,KAAK;AAC7D,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,8DAA8D,GAAG,GAAG,iBAAiB,CAAC,EAAE,GAAG,gDAAgD,GAAG,GAAG,MAAM,CAAC;AACzK,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,+BAA+B,CAAC,OAAO,4BAA4B;AACjG,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,+BAA+B,OAAO,4BAA4B;AAAA,EAC7G;AACF;AACA,SAAS,8BAA8B,IAAI,KAAK;AAC9C,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,UAAU,EAAE;AACjC,IAAG,qBAAW,aAAa,SAAS,0DAA0D,QAAQ;AACpG,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,sBAAsB,MAAM,CAAC;AAAA,IAC5D,CAAC,EAAE,WAAW,SAAS,0DAA0D;AAC/E,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,oBAAoB,CAAC;AAAA,IACpD,CAAC,EAAE,cAAc,SAAS,6DAA6D;AACrF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,uBAAuB,CAAC;AAAA,IACvD,CAAC,EAAE,WAAW,SAAS,wDAAwD,QAAQ;AACrF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,oBAAoB,MAAM,CAAC;AAAA,IAC1D,CAAC,EAAE,SAAS,SAAS,wDAAwD;AAC3E,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,kBAAkB,CAAC;AAAA,IAClD,CAAC;AACD,IAAG,qBAAW,GAAG,sCAAsC,GAAG,GAAG,QAAQ,EAAE,EAAE,GAAG,8CAA8C,GAAG,GAAG,gBAAgB,CAAC;AACjJ,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,qBAAW,OAAO,oBAAoB;AACzC,IAAG,qBAAW,WAAW,OAAO,qBAAqB,EAAE,YAAY,OAAO,QAAQ;AAClF,IAAG,sBAAY,eAAe,IAAI,EAAE,mBAAmB,iBAAiB;AACxE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,mBAAmB;AAChD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,mBAAmB;AAAA,EACnD;AACF;AACA,IAAMC,SAAQ,CAAC;AAAA,EACb;AACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAYY,GAAG,+BAA+B,CAAC;AAAA,aACxC,GAAG,0BAA0B,CAAC;AAAA,aAC9B,GAAG,0BAA0B,CAAC;AAAA,6BACd,GAAG,iCAAiC,CAAC,WAAW,GAAG,iCAAiC,CAAC,kBAAkB,GAAG,iCAAiC,CAAC,mBAAmB,GAAG,iCAAiC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aASpN,GAAG,0BAA0B,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIzB,GAAG,qCAAqC,CAAC;AAAA,aAC9C,GAAG,gCAAgC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAI/B,GAAG,sCAAsC,CAAC;AAAA,aAC/C,GAAG,iCAAiC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oCAoBd,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kCAKxC,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAShD,GAAG,iCAAiC,CAAC;AAAA;AAAA;AAAA;AAAA,oBAIzC,GAAG,uCAAuC,CAAC;AAAA;AAAA;AAAA;AAAA,oBAI3C,GAAG,wCAAwC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,+BAKjC,GAAG,kCAAkC,CAAC;AAAA,6BACxC,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iCAWlC,GAAG,kCAAkC,CAAC;AAAA,+BACxC,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,2BAK1C,GAAG,0BAA0B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAQjC,GAAG,iCAAiC,CAAC;AAAA,qBACxC,GAAG,qCAAqC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,oBAK1C,GAAG,uCAAuC,CAAC;AAAA;AAAA;AAAA;AAAA,oBAI3C,GAAG,wCAAwC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,iCAK/B,GAAG,kCAAkC,CAAC;AAAA,+BACxC,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAatC,GAAG,kCAAkC,CAAC;AAAA,6BACxC,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAsBlD,GAAG,yBAAyB,CAAC;AAAA,aACjC,GAAG,yBAAyB,CAAC;AAAA,cAC5B,GAAG,yBAAyB,CAAC;AAAA;AAAA;AAAA;AAAA,iBAI1B,GAAG,yBAAyB,CAAC;AAAA,aACjC,GAAG,yBAAyB,CAAC;AAAA,cAC5B,GAAG,yBAAyB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMvB,GAAG,gCAAgC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAMpC,GAAG,8BAA8B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMzC,GAAG,qCAAqC,CAAC;AAAA;AAAA;AAGtD,IAAMC,WAAU;AAAA,EACd,MAAM,CAAC;AAAA,IACL;AAAA,EACF,OAAO;AAAA,IACL,4CAA4C;AAAA,IAC5C,yBAAyB,SAAS,UAAU,SAAS,eAAe;AAAA,IACpE,wBAAwB,SAAS;AAAA,IACjC,yBAAyB,SAAS,eAAe,SAAS,iBAAiB;AAAA,IAC3E,4BAA4B,SAAS,eAAe,SAAS,iBAAiB;AAAA,IAC9E,0BAA0B,SAAS,eAAe,SAAS,iBAAiB;AAAA,IAC5E,uBAAuB,SAAS;AAAA,EAClC;AAAA,EACA,SAAS;AAAA,EACT,aAAa;AAAA,EACb,iBAAiB,CAAC;AAAA,IAChB;AAAA,EACF,OAAO;AAAA,IACL,uDAAuD;AAAA,IACvD,cAAc,SAAS,eAAe,SAAS,QAAQ,QAAQ,SAAS;AAAA,EAC1E;AAAA,EACA,iBAAiB,CAAC;AAAA,IAChB;AAAA,EACF,OAAO;AAAA,IACL,uDAAuD;AAAA,IACvD,cAAc,SAAS,eAAe,SAAS,QAAQ,QAAQ,SAAS;AAAA,EAC1E;AACF;AACA,IAAM,mBAAN,MAAM,0BAAyB,UAAU;AAAA,EACvC,OAAO;AAAA,EACP,QAAQD;AAAA,EACR,UAAUC;AAAA,EACV,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,yBAAyB,mBAAmB;AAC1D,cAAQ,uCAAkC,qCAAmC,gCAAsB,iBAAgB,IAAI,qBAAqB,iBAAgB;AAAA,IAC9J;AAAA,EACF,GAAG;AAAA,EACH,OAAO,aAAuB,gBAAG,6BAAmB;AAAA,IAClD,OAAO;AAAA,IACP,SAAS,kBAAiB;AAAA,EAC5B,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,kBAAkB,CAAC;AAAA,IACzF,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;AAUH,IAAI;AAAA,CACH,SAAUC,qBAAoB;AAI7B,EAAAA,oBAAmB,MAAM,IAAI;AAI7B,EAAAA,oBAAmB,SAAS,IAAI;AAIhC,EAAAA,oBAAmB,aAAa,IAAI;AAIpC,EAAAA,oBAAmB,iBAAiB,IAAI;AAIxC,EAAAA,oBAAmB,iBAAiB,IAAI;AAC1C,GAAG,uBAAuB,qBAAqB,CAAC,EAAE;AAClD,IAAM,6BAA6B;AAAA,EACjC,SAAS;AAAA,EACT,aAAa,WAAW,MAAM,WAAW;AAAA,EACzC,OAAO;AACT;AAKA,IAAM,cAAN,MAAM,qBAAoB,cAAc;AAAA,EACtC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKd,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAKT,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKX,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKP,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKP;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKd;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKZ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,WAAW;AACb,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,SAAS,UAAU;AACrB,QAAI,SAAU,MAAK,UAAU;AAC7B,SAAK,YAAY;AACjB,QAAI,KAAK,MAAO,MAAK,WAAW;AAAA,EAClC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMR,UAAU,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3B,UAAU,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM3B,SAAS,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1B,YAAY,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAK7B,UAAU,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAK3B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,iBAAiB,MAAM;AAAA,EAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA,YAAY;AAAA,EACZ,aAAa;AAAA,EACb,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB,OAAO,gBAAgB;AAAA,EACzC,YAAY;AAAA,EACZ,IAAI,aAAa;AACf,WAAO,KAAK,gBAAgB,QAAQ,KAAK;AAAA,MACvC,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EACA,IAAI,WAAW;AACb,UAAM,gBAAgB,KAAK,GAAG;AAC9B,UAAM,iBAAiB,cAAc,QAAQ,SAAS;AACtD,WAAO,KAAK,SAAS,CAAC,CAAC;AAAA,EACzB;AAAA,EACA,IAAI,wBAAwB;AAC1B,WAAO,KAAK,gBAAgB,QAAQ,gBAAgB;AAAA,MAClD,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EACA,IAAI,wBAAwB;AAC1B,WAAO,KAAK,gBAAgB,QAAQ,gBAAgB;AAAA,MAClD,UAAU;AAAA,IACZ,CAAC;AAAA,EACH;AAAA,EACA,YAAY,UAAU;AACpB,UAAM;AACN,SAAK,WAAW;AAAA,EAClB;AAAA,EACA,YAAY,cAAc;AACxB,UAAM,YAAY,YAAY;AAC9B,UAAM,QAAQ,CAAC,UAAU,iBAAiB,QAAQ,YAAY,mBAAmB,eAAe,qBAAqB,qBAAqB,UAAU,QAAQ;AAC5J,QAAI,MAAM,KAAK,OAAK,CAAC,CAAC,aAAa,CAAC,CAAC,GAAG;AACtC,WAAK,sBAAsB;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,IAAI,YAAY;AACd,WAAO,CAAC,4CAA4C,KAAK,YAAY,KAAK,UAAU,KAAK,eAAe,QAAQ,0BAA0B,IAAI,KAAK,UAAU,yBAAyB,IAAI,KAAK,eAAe,KAAK,iBAAiB,YAAY,0BAA0B,IAAI,KAAK,eAAe,KAAK,iBAAiB,eAAe,6BAA6B,IAAI,KAAK,eAAe,KAAK,iBAAiB,aAAa,2BAA2B,IAAI,KAAK,WAAW,wBAAwB,EAAE,EAAE,OAAO,SAAO,CAAC,CAAC,GAAG,EAAE,KAAK,GAAG;AAAA,EACzgB;AAAA,EACA,IAAI,YAAY;AACd,WAAO,KAAK;AAAA,EACd;AAAA,EACA,WAAW;AACT,UAAM,SAAS;AACf,SAAK,YAAY,KAAK,SAAS,IAAI,WAAW,MAAM;AAAA,MAClD,UAAU;AAAA,IACZ,CAAC;AACD,SAAK,gBAAgB;AACrB,SAAK,cAAc;AAAA,EACrB;AAAA,EACA,qBAAqB;AACnB,SAAK,UAAU,QAAQ,UAAQ;AAC7B,cAAQ,KAAK,QAAQ,GAAG;AAAA,QACtB,KAAK;AACH,eAAK,qBAAqB,KAAK;AAC/B;AAAA,QACF,KAAK;AACH,eAAK,+BAA+B,KAAK;AACzC;AAAA,QACF,KAAK;AACH,eAAK,+BAA+B,KAAK;AACzC;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,aAAa;AACX,WAAO;AAAA,MACL,eAAe,KAAK;AAAA,MACpB,OAAO,KAAK;AAAA,MACZ,UAAU,KAAK;AAAA,MACf,iBAAiB,KAAK;AAAA,MACtB,aAAa,KAAK;AAAA,MAClB,uBAAuB,KAAK,qBAAqB;AAAA,MACjD,uBAAuB,KAAK,qBAAqB;AAAA,IACnD;AAAA,EACF;AAAA,EACA,kBAAkB;AAChB,SAAK,eAAe,IAAI,KAAK,aAAa,KAAK,QAAQ,KAAK,WAAW,CAAC;AACxE,UAAM,WAAW,CAAC,GAAG,IAAI,KAAK,aAAa,KAAK,QAAQ;AAAA,MACtD,aAAa;AAAA,IACf,CAAC,EAAE,OAAO,UAAU,CAAC,EAAE,QAAQ;AAC/B,UAAM,QAAQ,IAAI,IAAI,SAAS,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,SAAK,WAAW,IAAI,OAAO,IAAI,SAAS,KAAK,EAAE,CAAC,KAAK,GAAG;AACxD,SAAK,SAAS,KAAK,sBAAsB;AACzC,SAAK,aAAa,KAAK,uBAAuB;AAC9C,SAAK,YAAY,KAAK,sBAAsB;AAC5C,SAAK,WAAW,KAAK,qBAAqB;AAC1C,SAAK,eAAe,KAAK,eAAe;AACxC,SAAK,UAAU,KAAK,oBAAoB;AACxC,SAAK,UAAU,KAAK,oBAAoB;AACxC,SAAK,SAAS,OAAK,MAAM,IAAI,CAAC;AAAA,EAChC;AAAA,EACA,wBAAwB;AACtB,QAAI,KAAK,aAAa;AACpB,WAAK,gBAAgB;AAAA,IACvB;AAAA,EACF;AAAA,EACA,aAAa,MAAM;AACjB,WAAO,KAAK,QAAQ,4BAA4B,MAAM;AAAA,EACxD;AAAA,EACA,uBAAuB;AACrB,UAAM,cAAc,KAAK,eAAe;AACxC,WAAO,IAAI,OAAO,IAAI,WAAW,KAAK,GAAG;AAAA,EAC3C;AAAA,EACA,iBAAiB;AACf,UAAM,YAAY,IAAI,KAAK,aAAa,KAAK,QAAQ,iCAChD,KAAK,WAAW,IADgC;AAAA,MAEnD,aAAa;AAAA,IACf,EAAC;AACD,WAAO,UAAU,OAAO,GAAG,EAAE,QAAQ,KAAK,WAAW,EAAE,EAAE,KAAK,EAAE,QAAQ,KAAK,UAAU,EAAE;AAAA,EAC3F;AAAA,EACA,wBAAwB;AACtB,UAAM,YAAY,IAAI,KAAK,aAAa,KAAK,QAAQ;AAAA,MACnD,aAAa;AAAA,IACf,CAAC;AACD,SAAK,YAAY,UAAU,OAAO,GAAO,EAAE,KAAK,EAAE,QAAQ,KAAK,UAAU,EAAE,EAAE,OAAO,CAAC;AACrF,WAAO,IAAI,OAAO,IAAI,KAAK,SAAS,KAAK,GAAG;AAAA,EAC9C;AAAA,EACA,yBAAyB;AACvB,UAAM,YAAY,IAAI,KAAK,aAAa,KAAK,QAAQ;AAAA,MACnD,aAAa;AAAA,IACf,CAAC;AACD,WAAO,IAAI,OAAO,IAAI,UAAU,OAAO,EAAE,EAAE,KAAK,EAAE,QAAQ,KAAK,UAAU,EAAE,CAAC,KAAK,GAAG;AAAA,EACtF;AAAA,EACA,wBAAwB;AACtB,QAAI,KAAK,UAAU;AACjB,YAAM,YAAY,IAAI,KAAK,aAAa,KAAK,QAAQ;AAAA,QACnD,OAAO;AAAA,QACP,UAAU,KAAK;AAAA,QACf,iBAAiB,KAAK;AAAA,QACtB,uBAAuB;AAAA,QACvB,uBAAuB;AAAA,MACzB,CAAC;AACD,aAAO,IAAI,OAAO,IAAI,UAAU,OAAO,CAAC,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ,KAAK,UAAU,EAAE,EAAE,QAAQ,KAAK,QAAQ,EAAE,CAAC,KAAK,GAAG;AAAA,IAC1H;AACA,WAAO,IAAI,OAAO,MAAM,GAAG;AAAA,EAC7B;AAAA,EACA,sBAAsB;AACpB,QAAI,KAAK,QAAQ;AACf,WAAK,aAAa,KAAK;AAAA,IACzB,OAAO;AACL,YAAM,YAAY,IAAI,KAAK,aAAa,KAAK,QAAQ;AAAA,QACnD,OAAO,KAAK;AAAA,QACZ,UAAU,KAAK;AAAA,QACf,iBAAiB,KAAK;AAAA,MACxB,CAAC;AACD,WAAK,aAAa,UAAU,OAAO,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,IACpD;AACA,WAAO,IAAI,OAAO,GAAG,KAAK,aAAa,KAAK,cAAc,EAAE,CAAC,IAAI,GAAG;AAAA,EACtE;AAAA,EACA,sBAAsB;AACpB,QAAI,KAAK,QAAQ;AACf,WAAK,aAAa,KAAK;AAAA,IACzB,OAAO;AACL,YAAM,YAAY,IAAI,KAAK,aAAa,KAAK,QAAQ;AAAA,QACnD,OAAO,KAAK;AAAA,QACZ,UAAU,KAAK;AAAA,QACf,iBAAiB,KAAK;AAAA,QACtB,uBAAuB;AAAA,QACvB,uBAAuB;AAAA,MACzB,CAAC;AACD,WAAK,aAAa,UAAU,OAAO,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AAAA,IACpD;AACA,WAAO,IAAI,OAAO,GAAG,KAAK,aAAa,KAAK,cAAc,EAAE,CAAC,IAAI,GAAG;AAAA,EACtE;AAAA,EACA,YAAY,OAAO;AACjB,QAAI,SAAS,MAAM;AACjB,UAAI,UAAU,KAAK;AAEjB,eAAO;AAAA,MACT;AACA,UAAI,KAAK,QAAQ;AACf,YAAI,YAAY,IAAI,KAAK,aAAa,KAAK,QAAQ,KAAK,WAAW,CAAC;AACpE,YAAI,iBAAiB,UAAU,OAAO,KAAK;AAC3C,YAAI,KAAK,UAAU,SAAS,KAAK,QAAQ;AACvC,2BAAiB,KAAK,SAAS;AAAA,QACjC;AACA,YAAI,KAAK,UAAU,SAAS,KAAK,QAAQ;AACvC,2BAAiB,iBAAiB,KAAK;AAAA,QACzC;AACA,eAAO;AAAA,MACT;AACA,aAAO,MAAM,SAAS;AAAA,IACxB;AACA,WAAO;AAAA,EACT;AAAA,EACA,WAAW,MAAM;AACf,UAAM,cAAc,IAAI,OAAO,KAAK,SAAS,EAAE;AAC/C,UAAM,cAAc,IAAI,OAAO,KAAK,SAAS,EAAE;AAC/C,UAAM,gBAAgB,IAAI,OAAO,KAAK,WAAW,EAAE;AACnD,QAAI,eAAe,KAAK,QAAQ,aAAa,EAAE,EAAE,QAAQ,aAAa,EAAE,EAAE,KAAK,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ,eAAe,EAAE,EAAE,QAAQ,KAAK,QAAQ,EAAE,EAAE,QAAQ,KAAK,YAAY,GAAG,EAAE,QAAQ,KAAK,UAAU,GAAG,EAAE,QAAQ,KAAK,UAAU,KAAK,MAAM;AACpP,QAAI,cAAc;AAChB,UAAI,iBAAiB;AAEnB,eAAO;AACT,UAAI,cAAc,CAAC;AACnB,aAAO,MAAM,WAAW,IAAI,OAAO;AAAA,IACrC;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO,OAAO,UAAU,KAAK;AAC3B,QAAI,KAAK,UAAU;AACjB;AAAA,IACF;AACA,QAAI,IAAI,YAAY;AACpB,SAAK,WAAW;AAChB,SAAK,QAAQ,WAAW,MAAM;AAC5B,WAAK,OAAO,OAAO,IAAI,GAAG;AAAA,IAC5B,GAAG,CAAC;AACJ,SAAK,KAAK,OAAO,GAAG;AAAA,EACtB;AAAA,EACA,KAAK,OAAO,KAAK;AACf,QAAI,OAAO,KAAK,OAAO;AACvB,QAAI,eAAe,KAAK,WAAW,KAAK,OAAO,cAAc,KAAK,KAAK;AACvE,QAAI,WAAW,KAAK,cAAc,eAAe,IAAI;AACrD,QAAI,KAAK,aAAa,KAAK,YAAY,KAAK,YAAY,QAAQ,EAAE,QAAQ;AACxE;AAAA,IACF;AACA,SAAK,YAAY,UAAU,MAAM,QAAQ,IAAI;AAC7C,SAAK,YAAY,OAAO,QAAQ;AAChC,SAAK,cAAc,OAAO,cAAc,QAAQ;AAAA,EAClD;AAAA,EACA,QAAQ;AACN,SAAK,QAAQ;AACb,SAAK,cAAc,KAAK,KAAK;AAC7B,SAAK,QAAQ,KAAK;AAAA,EACpB;AAAA,EACA,oBAAoB,OAAO;AACzB,QAAI,MAAM,WAAW,GAAG;AACtB,WAAK,WAAW;AAChB;AAAA,IACF;AACA,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,OAAO,cAAc,MAAM;AAChC,WAAK,OAAO,OAAO,MAAM,CAAC;AAC1B,YAAM,eAAe;AAAA,IACvB;AAAA,EACF;AAAA,EACA,oBAAoB;AAClB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,uBAAuB;AACrB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,kBAAkB,OAAO;AACvB,QAAI,MAAM,YAAY,MAAM,MAAM,YAAY,IAAI;AAChD,WAAK,OAAO,OAAO,MAAM,CAAC;AAAA,IAC5B;AAAA,EACF;AAAA,EACA,kBAAkB;AAChB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,sBAAsB,OAAO;AAC3B,QAAI,MAAM,WAAW,GAAG;AACtB,WAAK,WAAW;AAChB;AAAA,IACF;AACA,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,OAAO,cAAc,MAAM;AAChC,WAAK,OAAO,OAAO,MAAM,EAAE;AAC3B,YAAM,eAAe;AAAA,IACvB;AAAA,EACF;AAAA,EACA,sBAAsB;AACpB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,yBAAyB;AACvB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,oBAAoB;AAClB,QAAI,CAAC,KAAK,UAAU;AAClB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,oBAAoB,OAAO;AACzB,QAAI,MAAM,YAAY,MAAM,MAAM,YAAY,IAAI;AAChD,WAAK,OAAO,OAAO,MAAM,EAAE;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,YAAY,OAAO;AACjB,QAAI,KAAK,UAAU;AACjB;AAAA,IACF;AACA,QAAI,KAAK,eAAe;AACtB,YAAM,OAAO,QAAQ,KAAK;AAAA,IAC5B;AACA,SAAK,gBAAgB;AAAA,EACvB;AAAA,EACA,eAAe,OAAO;AACpB,QAAI,KAAK,UAAU;AACjB;AAAA,IACF;AACA,SAAK,YAAY,MAAM,OAAO;AAC9B,QAAI,MAAM,YAAY,MAAM,QAAQ;AAClC,WAAK,gBAAgB;AACrB;AAAA,IACF;AACA,QAAI,iBAAiB,MAAM,OAAO;AAClC,QAAI,eAAe,MAAM,OAAO;AAChC,QAAI,aAAa,MAAM,OAAO;AAC9B,QAAI,cAAc;AAClB,QAAI,MAAM,QAAQ;AAChB,YAAM,eAAe;AAAA,IACvB;AACA,YAAQ,MAAM,KAAK;AAAA,MACjB,KAAK;AACH,aAAK,KAAK,OAAO,CAAC;AAClB,cAAM,eAAe;AACrB;AAAA,MACF,KAAK;AACH,aAAK,KAAK,OAAO,EAAE;AACnB,cAAM,eAAe;AACrB;AAAA,MACF,KAAK;AACH,iBAAS,QAAQ,gBAAgB,SAAS,WAAW,QAAQ,SAAS;AACpE,gBAAM,oBAAoB,UAAU,IAAI,IAAI,QAAQ;AACpD,cAAI,KAAK,cAAc,WAAW,OAAO,iBAAiB,CAAC,GAAG;AAC5D,iBAAK,MAAM,cAAc,kBAAkB,OAAO,KAAK;AACvD;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF,KAAK;AACH,iBAAS,QAAQ,cAAc,SAAS,GAAG,SAAS;AAClD,cAAI,KAAK,cAAc,WAAW,OAAO,KAAK,CAAC,GAAG;AAChD,iBAAK,MAAM,cAAc,kBAAkB,OAAO,KAAK;AACvD;AAAA,UACF;AAAA,QACF;AACA;AAAA,MACF,KAAK;AAAA,MACL,KAAK;AACH,sBAAc,KAAK,cAAc,KAAK,WAAW,KAAK,MAAM,cAAc,KAAK,CAAC;AAChF,aAAK,MAAM,cAAc,QAAQ,KAAK,YAAY,WAAW;AAC7D,aAAK,MAAM,cAAc,aAAa,iBAAiB,WAAW;AAClE,aAAK,YAAY,OAAO,WAAW;AACnC;AAAA,MACF,KAAK,aACH;AACE,cAAM,eAAe;AACrB,YAAI,mBAAmB,cAAc;AACnC,cAAI,kBAAkB,KAAK,KAAK,UAAU,kBAAkB,WAAW,UAAU,KAAK,QAAQ;AAC5F;AAAA,UACF;AACA,gBAAM,aAAa,WAAW,OAAO,iBAAiB,CAAC;AACvD,gBAAM;AAAA,YACJ;AAAA,YACA;AAAA,UACF,IAAI,KAAK,sBAAsB,UAAU;AACzC,cAAI,KAAK,cAAc,UAAU,GAAG;AAClC,kBAAM,gBAAgB,KAAK,iBAAiB,UAAU;AACtD,gBAAI,KAAK,OAAO,KAAK,UAAU,GAAG;AAChC,mBAAK,OAAO,YAAY;AACxB,4BAAc,WAAW,MAAM,GAAG,iBAAiB,CAAC,IAAI,WAAW,MAAM,iBAAiB,CAAC;AAAA,YAC7F,WAAW,KAAK,SAAS,KAAK,UAAU,GAAG;AACzC,mBAAK,SAAS,YAAY;AAC1B,kBAAI,eAAe;AACjB,qBAAK,OAAO,cAAc,kBAAkB,iBAAiB,GAAG,iBAAiB,CAAC;AAAA,cACpF,OAAO;AACL,8BAAc,WAAW,MAAM,GAAG,iBAAiB,CAAC,IAAI,WAAW,MAAM,cAAc;AAAA,cACzF;AAAA,YACF,WAAW,mBAAmB,KAAK,iBAAiB,kBAAkB;AACpE,oBAAM,eAAe,KAAK,cAAc,MAAM,KAAK,qBAAqB,KAAK,gBAAgB,KAAK;AAClG,4BAAc,WAAW,MAAM,GAAG,iBAAiB,CAAC,IAAI,eAAe,WAAW,MAAM,cAAc;AAAA,YACxG,WAAW,kCAAkC,GAAG;AAC9C,4BAAc,WAAW,MAAM,GAAG,iBAAiB,CAAC,IAAI,MAAM,WAAW,MAAM,cAAc;AAC7F,4BAAc,KAAK,WAAW,WAAW,IAAI,IAAI,cAAc;AAAA,YACjE,OAAO;AACL,4BAAc,WAAW,MAAM,GAAG,iBAAiB,CAAC,IAAI,WAAW,MAAM,cAAc;AAAA,YACzF;AAAA,UACF,WAAW,KAAK,SAAS,cAAc,WAAW,OAAO,KAAK,SAAS,KAAK,IAAI;AAC9E,0BAAc,WAAW,MAAM,CAAC;AAAA,UAClC;AACA,eAAK,YAAY,OAAO,aAAa,MAAM,eAAe;AAAA,QAC5D,OAAO;AACL,wBAAc,KAAK,YAAY,YAAY,gBAAgB,YAAY;AACvE,eAAK,YAAY,OAAO,aAAa,MAAM,cAAc;AAAA,QAC3D;AACA;AAAA,MACF;AAAA,MACF,KAAK;AACH,cAAM,eAAe;AACrB,YAAI,mBAAmB,cAAc;AACnC,cAAI,kBAAkB,KAAK,KAAK,UAAU,kBAAkB,WAAW,SAAS,KAAK,KAAK,QAAQ;AAChG;AAAA,UACF;AACA,gBAAM,aAAa,WAAW,OAAO,cAAc;AACnD,gBAAM;AAAA,YACJ;AAAA,YACA;AAAA,UACF,IAAI,KAAK,sBAAsB,UAAU;AACzC,cAAI,KAAK,cAAc,UAAU,GAAG;AAClC,kBAAM,gBAAgB,KAAK,iBAAiB,UAAU;AACtD,gBAAI,KAAK,OAAO,KAAK,UAAU,GAAG;AAChC,mBAAK,OAAO,YAAY;AACxB,4BAAc,WAAW,MAAM,GAAG,cAAc,IAAI,WAAW,MAAM,iBAAiB,CAAC;AAAA,YACzF,WAAW,KAAK,SAAS,KAAK,UAAU,GAAG;AACzC,mBAAK,SAAS,YAAY;AAC1B,kBAAI,eAAe;AACjB,qBAAK,OAAO,cAAc,kBAAkB,iBAAiB,GAAG,iBAAiB,CAAC;AAAA,cACpF,OAAO;AACL,8BAAc,WAAW,MAAM,GAAG,cAAc,IAAI,WAAW,MAAM,iBAAiB,CAAC;AAAA,cACzF;AAAA,YACF,WAAW,mBAAmB,KAAK,iBAAiB,kBAAkB;AACpE,oBAAM,eAAe,KAAK,cAAc,MAAM,KAAK,qBAAqB,KAAK,gBAAgB,KAAK;AAClG,4BAAc,WAAW,MAAM,GAAG,cAAc,IAAI,eAAe,WAAW,MAAM,iBAAiB,CAAC;AAAA,YACxG,WAAW,kCAAkC,GAAG;AAC9C,4BAAc,WAAW,MAAM,GAAG,cAAc,IAAI,MAAM,WAAW,MAAM,iBAAiB,CAAC;AAC7F,4BAAc,KAAK,WAAW,WAAW,IAAI,IAAI,cAAc;AAAA,YACjE,OAAO;AACL,4BAAc,WAAW,MAAM,GAAG,cAAc,IAAI,WAAW,MAAM,iBAAiB,CAAC;AAAA,YACzF;AAAA,UACF;AACA,eAAK,YAAY,OAAO,aAAa,MAAM,oBAAoB;AAAA,QACjE,OAAO;AACL,wBAAc,KAAK,YAAY,YAAY,gBAAgB,YAAY;AACvE,eAAK,YAAY,OAAO,aAAa,MAAM,cAAc;AAAA,QAC3D;AACA;AAAA,MACF,KAAK;AACH,YAAI,KAAK,KAAK;AACZ,eAAK,YAAY,OAAO,KAAK,GAAG;AAChC,gBAAM,eAAe;AAAA,QACvB;AACA;AAAA,MACF,KAAK;AACH,YAAI,KAAK,KAAK;AACZ,eAAK,YAAY,OAAO,KAAK,GAAG;AAChC,gBAAM,eAAe;AAAA,QACvB;AACA;AAAA,MACF;AACE;AAAA,IACJ;AACA,SAAK,UAAU,KAAK,KAAK;AAAA,EAC3B;AAAA,EACA,gBAAgB,OAAO;AACrB,QAAI,KAAK,UAAU;AACjB;AAAA,IACF;AACA,QAAI,OAAO,MAAM,SAAS,MAAM;AAChC,QAAI,OAAO,OAAO,aAAa,IAAI;AACnC,QAAI,gBAAgB,KAAK,cAAc,IAAI;AAC3C,UAAM,cAAc,KAAK,YAAY,IAAI;AACzC,QAAI,QAAQ,IAAI;AACd,YAAM,eAAe;AAAA,IACvB;AACA,QAAI,CAAC,iBAAiB,MAAM,SAAS,iBAAiB;AACpD,sBAAgB;AAChB,aAAO,KAAK;AACZ,aAAO,KAAK,WAAW,CAAC;AAAA,IAC1B;AACA,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,KAAK,MAAM;AACf,UAAM,WAAW,KAAK,WAAW,QAAQ,IAAI;AAC7C,UAAM,cAAc,YAAY,OAAO,SAAS,SAAS,IAAI;AAC7D,UAAM,gBAAgB,MAAM,UAAU,gBAAgB,YAAY;AAClE,UAAM,sBAAsB,KAAK,WAAW,aAAa;AACzD,UAAM,mBAAmB,uBAAuB,OAAO,oBAAoB,SAAS,IAAI;AACxF,QAAI,mBAAmB,gBAAgB,iBAAiB,SAAS,GAAG;AAClE,WAAK,OAAO,OAAO,MAAM;AAAA,QACvB;AAAA,QACA;AAAA,MACF,CAAC;AACD;AAAA,IACF;AACA,QAAI,KAAK,aAAa,YAAY,SAAS,KAAK,WAAW;AACzD;AAAA,IACF;AACA,QAAI,MAAM,QAAQ,QAAQ,MAAM,eAAe,eAAe;AAC5D,WAAK,OAAO,OAAO,MAAM;AAAA,QACvB;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,QAAQ,OAAO;AACb,QAAI,CAAC,KAAK,YAAY,CAAC,KAAK,UAAU;AACpC,YAAM,eAAe;AACrB,UAAI,QAAQ,MAAM,iBAAiB,KAAK,SAAS,YAAY,eAAe,GAAG,QAAQ,MAAM;AAC7F,UAAI,MAAM;AACR,YAAI,KAAK,WAAW;AAClB,iBAAO,KAAK,SAAS,EAAE,UAAU,GAAG,KAAK,SAAS;AAAA,QACpD;AACA,YAAI,eAAe,KAAK,WAAW,IAAI;AACvC,YAAI,gBAAgB,MAAM;AACxB,eAAK,OAAO,OAAO,aAAa,SAAS,CAAC;AAAA,QAC5C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AACf,WAAO,KAAK,OAAO,QAAQ,KAAK,MAAM;AAAA,EACxC;AAAA,EACA,YAAY,MAAM;AAChB,QAAI,KAAK,WAAW,KAAK,IAAI,KAAK,SAAS,KAAK;AAC9C,WAAK,WAAW,YAAY;AAC5B,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EACA,cAAc,MAAM;AAClB,QAAI,KAAK,SAAS,KAAK,IAAI,GAAG;AAC5B,WAAK,SAAS,YAAY;AAC1B,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EACA,gBAAgB;AACd,WAAO,KAAK,SAAS;AAAA,EACvB;AAAA,EACA,sBAAsB,KAAK;AACzB,QAAI,mBAAmB,IAAI,OAAO,KAAK,QAAQ;AAC/C,SAAK,SAAS,YAAY;AAC1B,UAAM,cAAc,IAAI,QAAQ,KAAK,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ,KAAK,WAAW,EAAE;AACtG,UAAM,gCAAgC,YAAY,OAAO,KAAK,QAAQ;AACtE,SAAK,SAAS,YAAY;AAC1B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,eAAe,KAAK;AAClB,UAAM,mBAAmB,IAAI,OAAO,KAAK,QAAQ;AACjD,SAAK,SAAS,YAAY;AAC1B,UAAM,iBAAiB,IAAI,OAAO,KAAK,UAAU;AACjD,SAAK,WAAW,YAAY;AAC5B,UAAM,kBAAkB,IAAI,OAAO,KAAK,OAAO;AAC/C,SAAK,QAAQ,YAAY;AACzB,UAAM,oBAAoB,IAAI,OAAO,KAAK,SAAS;AACnD,SAAK,UAAU,YAAY;AAC3B,WAAO;AAAA,MACL;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO,OAAO,MAAM,OAAO;AAAA,IACzB,eAAe;AAAA,IACf,aAAa;AAAA,EACf,GAAG;AACD,UAAM,uBAAuB,KAAK,OAAO,KAAK,UAAU;AACxD,SAAK,WAAW,YAAY;AAC5B,QAAI,CAAC,KAAK,eAAe,KAAK,yBAAyB,IAAI;AACzD;AAAA,IACF;AACA,QAAI,iBAAiB,KAAK,OAAO,cAAc;AAC/C,QAAI,eAAe,KAAK,OAAO,cAAc;AAC7C,QAAI,aAAa,KAAK,OAAO,cAAc,MAAM,KAAK;AACtD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,KAAK,eAAe,UAAU;AAClC,QAAI;AACJ,QAAI,KAAK,aAAa;AACpB,UAAI,mBAAmB,GAAG;AACxB,sBAAc;AACd,YAAI,mBAAmB,MAAM,iBAAiB,GAAG;AAC/C,wBAAc,KAAK,WAAW,YAAY,MAAM,GAAG,YAAY;AAAA,QACjE;AACA,aAAK,YAAY,OAAO,aAAa,MAAM,QAAQ;AAAA,MACrD;AAAA,IACF,WAAW,KAAK,eAAe;AAC7B,UAAI,mBAAmB,KAAK,mBAAmB,kBAAkB;AAC/D,aAAK,YAAY,OAAO,YAAY,MAAM,QAAQ;AAAA,MACpD,WAAW,mBAAmB,kBAAkB,mBAAmB,cAAc;AAC/E,sBAAc,KAAK,WAAW,YAAY,MAAM,gBAAgB,YAAY;AAC5E,aAAK,YAAY,OAAO,aAAa,MAAM,QAAQ;AAAA,MACrD,WAAW,qBAAqB,MAAM,KAAK,mBAAmB;AAC5D,sBAAc,KAAK,WAAW,YAAY,MAAM,gBAAgB,YAAY;AAC5E,aAAK,YAAY,OAAO,aAAa,MAAM,QAAQ;AAAA,MACrD;AAAA,IACF,OAAO;AACL,YAAM,oBAAoB,KAAK,aAAa,gBAAgB,EAAE;AAC9D,YAAM,YAAY,mBAAmB,eAAe,iBAAiB;AACrE,UAAI,mBAAmB,KAAK,iBAAiB,kBAAkB;AAC7D,YAAI,iBAAiB,KAAK,UAAU,mBAAmB,MAAM,mBAAmB;AAC9E,gBAAM,YAAY,qBAAqB,iBAAiB,oBAAoB,IAAI,mBAAmB,iBAAiB,kBAAkB,WAAW;AACjJ,wBAAc,WAAW,MAAM,GAAG,cAAc,IAAI,OAAO,WAAW,MAAM,iBAAiB,KAAK,QAAQ,SAAS,IAAI,WAAW,MAAM,SAAS;AACjJ,eAAK,YAAY,OAAO,aAAa,MAAM,SAAS;AAAA,QACtD;AAAA,MACF,OAAO;AACL,sBAAc,KAAK,WAAW,YAAY,MAAM,gBAAgB,YAAY;AAC5E,aAAK,YAAY,OAAO,aAAa,MAAM,SAAS;AAAA,MACtD;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW,OAAO,MAAM,OAAO,KAAK;AAClC,QAAI,YAAY,SAAS,MAAM,OAAO,KAAK,MAAM,GAAG;AACpD,QAAI,UAAU,WAAW,GAAG;AAC1B,YAAM,mBAAmB,MAAM,MAAM,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ;AACrE,WAAK,SAAS,YAAY;AAC1B,aAAO,mBAAmB,IAAI,MAAM,MAAM,GAAG,KAAK,IAAI,KAAK,YAAY,IAAI,IAAI,MAAM,MAAM,GAAG,IAAI,SAAS,KAAK,YAAY,IAAI;AAAA,IAClI,WAAW,MAAM,UAAU,MAAM,QAAQ;AACvC,aAAO,KAAK,YAAY,IAAI;AAAA,IAC9B,WAAW,UAAU,GAAG;AACtB,aAAO,OAAO,MAAM,MAAM,GAAG;AAAA,IAC/B,WAAW,QAAQ,MAAM,QAAQ;AAC/B,aAAO,MAAM,MAAM,GAAG,KAAK,IAAI;AAAA,IACjC,OAAO;AACL,aAAO,MAAM,MAAM,GAAG,KAAK,IAAI,OAAO,MAAM,MAAM,GAAG;AAAA,IACvD;AAAA,EACF;AAAA,EACA,YAAY,OAAO,OAAO,KAAK;AAC7B,QAAI;AACJ,QAAI,MAAM,UAAU,MAAM,OAAQ,eAAc;AAAA,aAAY,UAAU,EAAG,eAAc,MAAM,MAAM,GAAG;AAAA,aAAW,QAAQ,MAAM,OAAQ,eAAc,MAAM,MAAM,GAAG,KAAK;AAAA,QAAO,eAAc,MAAM,MAAM,GAAG,KAAK,IAAI,MAAM,MAAM,GAAG;AACrO,WAAO;AAAA,EACT;AAAA,EACA,aAAa;AACX,QAAI,iBAAiB,KAAK,OAAO,cAAc;AAC/C,QAAI,eAAe,KAAK,OAAO,cAAc;AAC7C,QAAI,aAAa,KAAK,OAAO,cAAc;AAC3C,QAAI,cAAc,WAAW;AAC7B,QAAI,QAAQ;AAEZ,QAAI,gBAAgB,KAAK,cAAc,IAAI;AAC3C,iBAAa,WAAW,QAAQ,KAAK,SAAS,EAAE;AAGhD,QAAI,mBAAmB,gBAAgB,mBAAmB,KAAK,eAAe,cAAc;AAC1F,wBAAkB;AAAA,IACpB;AACA,QAAI,OAAO,WAAW,OAAO,cAAc;AAC3C,QAAI,KAAK,cAAc,IAAI,GAAG;AAC5B,aAAO,iBAAiB;AAAA,IAC1B;AAEA,QAAI,IAAI,iBAAiB;AACzB,WAAO,KAAK,GAAG;AACb,aAAO,WAAW,OAAO,CAAC;AAC1B,UAAI,KAAK,cAAc,IAAI,GAAG;AAC5B,gBAAQ,IAAI;AACZ;AAAA,MACF,OAAO;AACL;AAAA,MACF;AAAA,IACF;AACA,QAAI,UAAU,MAAM;AAClB,WAAK,OAAO,cAAc,kBAAkB,QAAQ,GAAG,QAAQ,CAAC;AAAA,IAClE,OAAO;AACL,UAAI;AACJ,aAAO,IAAI,aAAa;AACtB,eAAO,WAAW,OAAO,CAAC;AAC1B,YAAI,KAAK,cAAc,IAAI,GAAG;AAC5B,kBAAQ,IAAI;AACZ;AAAA,QACF,OAAO;AACL;AAAA,QACF;AAAA,MACF;AACA,UAAI,UAAU,MAAM;AAClB,aAAK,OAAO,cAAc,kBAAkB,OAAO,KAAK;AAAA,MAC1D;AAAA,IACF;AACA,WAAO,SAAS;AAAA,EAClB;AAAA,EACA,eAAe;AACb,UAAM,eAAe,KAAK,OAAO,cAAc;AAC/C,QAAI,CAAC,KAAK,YAAY,iBAAiB,aAAa,GAAG;AACrD,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,cAAc,MAAM;AAClB,QAAI,KAAK,WAAW,MAAM,KAAK,SAAS,KAAK,IAAI,KAAK,KAAK,SAAS,KAAK,IAAI,KAAK,KAAK,OAAO,KAAK,IAAI,KAAK,KAAK,WAAW,KAAK,IAAI,IAAI;AACvI,WAAK,WAAW;AAChB,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT;AAAA,EACA,aAAa;AACX,SAAK,SAAS,YAAY;AAC1B,SAAK,SAAS,YAAY;AAC1B,SAAK,OAAO,YAAY;AACxB,SAAK,WAAW,YAAY;AAAA,EAC9B;AAAA,EACA,YAAY,OAAO,UAAU,kBAAkB,WAAW;AACxD,QAAI,eAAe,KAAK,OAAO,cAAc;AAC7C,QAAI,WAAW;AACf,QAAI,YAAY,MAAM;AACpB,iBAAW,KAAK,WAAW,QAAQ;AACnC,iBAAW,CAAC,YAAY,CAAC,KAAK,aAAa,IAAI;AAC/C,WAAK,YAAY,UAAU,kBAAkB,WAAW,QAAQ;AAChE,WAAK,cAAc,OAAO,cAAc,QAAQ;AAAA,IAClD;AAAA,EACF;AAAA,EACA,cAAc,OAAO,cAAc,UAAU;AAC3C,QAAI,KAAK,eAAe,cAAc,QAAQ,GAAG;AAC/C,WAAK,MAAM,cAAc,QAAQ,KAAK,YAAY,QAAQ;AAC1D,WAAK,OAAO,cAAc,aAAa,iBAAiB,QAAQ;AAChE,WAAK,YAAY,OAAO,QAAQ;AAChC,WAAK,QAAQ,KAAK;AAAA,QAChB,eAAe;AAAA,QACf,OAAO;AAAA,QACP,gBAAgB;AAAA,MAClB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,eAAe,cAAc,UAAU;AACrC,QAAI,aAAa,QAAQ,iBAAiB,MAAM;AAC9C,aAAO;AAAA,IACT;AACA,QAAI,YAAY,MAAM;AACpB,UAAI,qBAAqB,OAAO,iBAAiB,WAAW,KAAK,WAAW,YAAY,IAAI;AAC5F,aAAO,aAAa;AAAA,IACtB;AACA,WAAO;AAAA,EACT;AAAA,EACA,cAAc,OAAO;AACnB,QAAI,UAAU,OAAO,SAAS,MAAM;AAClC,aAAO;AAAA,IACT;AACA,QAAI,KAAK,OAAO,QAAQ,QAAQ,KAAK,KAAK;AACxC,aAAO,KAAK;AAAA,IACd;AACA,QAAI,KAAK,OAAO,QAAQ,QAAQ,KAAK,KAAK;AACxC,aAAO,KAAK;AAAA,IACd;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,OAAO,kBAAkB,WAAW,UAAU;AACxD,uBAAmB,oBAAoB;AACvC,QAAI,aAAa,KAAK,OAAO,cAAc;AAC3C,QAAI,WAAW,KAAK,YAAY,KAAK;AACrC,QAAI,gBAAgB,WAAW;AAC/B,QAAI,aAAa,UAAU;AACzB,iBAAW,KAAK,aAAa,UAAU,QAAQ;AAAA,IACjD;AACA,QAAI,kBAAkB,GAAG;AACvB,WAAK,MAAM,cAAc,QAAQ;AACjC,WAAK,MAAM,cAAc,kBAAkB,GAAG,CAAC;AAC/C,YAAM,QAAQ,KAAK,WAAW;AAC9B,YAAM,eAAe,QAAQ,iBAAiB;AAC9C,WAAK,MAAM,cAAc,kBAAkB,cAAc,YAAY;AAAA,IACvE,OAAO;AACL,UAAI,iBAAiB,KAAK,MAAM,cAAc;AAC9C,UAAI,eAAe,KAAK,MAAM,cAAc;AAC5C,UAAI,KAAK,aAAa,SAAS,SAAS,KAAK,WAAW;AACtD,mBAAW,SAAS,MAAM,GAAG,KAAK,SAAS;AAC3C,yBAAiB,KAAK,IAAI,gBAAgB,KAAK,SAAS;AACxD,uBAAe,KAAK,IAAI,cAAc,KAAK,SAAS;AAAA,MACtD;AACA,UAAI,KAAK,aAAa,KAAK,YAAY,SAAS,QAAQ;AACtD;AAAA,MACF;AACA,WAAK,MAAM,cAAc,QAAQ;AACjC,UAAI,YAAY,SAAS;AACzB,UAAI,cAAc,gBAAgB;AAChC,cAAM,aAAa,KAAK,YAAY,cAAc,IAAI,MAAM,GAAG,cAAc,CAAC;AAC9E,cAAM,gBAAgB,eAAe,OAAO,WAAW,SAAS,IAAI;AACpE,cAAM,YAAY,cAAc,MAAM,EAAE,EAAE,KAAK,IAAI,KAAK,SAAS,IAAI;AACrE,cAAM,SAAS,IAAI,OAAO,WAAW,GAAG;AACxC,eAAO,KAAK,QAAQ;AACpB,cAAM,QAAQ,iBAAiB,MAAM,EAAE,EAAE,KAAK,IAAI,KAAK,SAAS,IAAI;AACpE,cAAM,SAAS,IAAI,OAAO,OAAO,GAAG;AACpC,eAAO,KAAK,SAAS,MAAM,OAAO,SAAS,CAAC;AAC5C,uBAAe,OAAO,YAAY,OAAO;AACzC,aAAK,MAAM,cAAc,kBAAkB,cAAc,YAAY;AAAA,MACvE,WAAW,cAAc,eAAe;AACtC,YAAI,cAAc,YAAY,cAAc,qBAAsB,MAAK,MAAM,cAAc,kBAAkB,eAAe,GAAG,eAAe,CAAC;AAAA,iBAAW,cAAc,gBAAiB,MAAK,MAAM,cAAc,kBAAkB,eAAe,GAAG,eAAe,CAAC;AAAA,iBAAW,cAAc,kBAAkB,cAAc,OAAQ,MAAK,MAAM,cAAc,kBAAkB,cAAc,YAAY;AAAA,MAC9Y,WAAW,cAAc,sBAAsB;AAC7C,YAAI,WAAW,WAAW,OAAO,eAAe,CAAC;AACjD,YAAI,WAAW,WAAW,OAAO,YAAY;AAC7C,YAAI,OAAO,gBAAgB;AAC3B,YAAI,cAAc,KAAK,OAAO,KAAK,QAAQ;AAC3C,YAAI,eAAe,SAAS,GAAG;AAC7B,0BAAgB;AAAA,QAClB,WAAW,CAAC,eAAe,KAAK,cAAc,QAAQ,GAAG;AACvD,0BAAgB,KAAK,OAAO;AAAA,QAC9B;AACA,aAAK,OAAO,YAAY;AACxB,aAAK,MAAM,cAAc,kBAAkB,cAAc,YAAY;AAAA,MACvE,WAAW,eAAe,OAAO,cAAc,UAAU;AACvD,aAAK,MAAM,cAAc,kBAAkB,GAAG,CAAC;AAC/C,cAAM,QAAQ,KAAK,WAAW;AAC9B,cAAMC,gBAAe,QAAQ,iBAAiB,SAAS;AACvD,aAAK,MAAM,cAAc,kBAAkBA,eAAcA,aAAY;AAAA,MACvE,OAAO;AACL,uBAAe,gBAAgB,YAAY;AAC3C,aAAK,MAAM,cAAc,kBAAkB,cAAc,YAAY;AAAA,MACvE;AAAA,IACF;AACA,SAAK,MAAM,cAAc,aAAa,iBAAiB,KAAK;AAAA,EAC9D;AAAA,EACA,aAAa,MAAM,MAAM;AACvB,QAAI,QAAQ,MAAM;AAChB,UAAI,mBAAmB,KAAK,OAAO,KAAK,QAAQ;AAChD,WAAK,SAAS,YAAY;AAC1B,UAAI,KAAK,YAAY;AACnB,eAAO,qBAAqB,KAAK,KAAK,QAAQ,KAAK,YAAY,EAAE,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC,IAAI,KAAK,QAAQ,KAAK,YAAY,EAAE,EAAE,MAAM,gBAAgB,IAAI,KAAK,aAAa;AAAA,MAC7K,OAAO;AACL,eAAO,qBAAqB,KAAK,KAAK,MAAM,KAAK,QAAQ,EAAE,CAAC,IAAI,KAAK,MAAM,gBAAgB,IAAI;AAAA,MACjG;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,iBAAiB,OAAO;AACtB,QAAI,OAAO;AACT,YAAM,aAAa,MAAM,MAAM,KAAK,QAAQ;AAC5C,UAAI,WAAW,WAAW,GAAG;AAC3B,eAAO,WAAW,CAAC,EAAE,QAAQ,KAAK,SAAS,EAAE,EAAE,KAAK,EAAE,QAAQ,OAAO,EAAE,EAAE,QAAQ,KAAK,WAAW,EAAE,EAAE;AAAA,MACvG;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,aAAa,OAAO;AAClB,SAAK,UAAU;AACf,SAAK,QAAQ,KAAK,KAAK;AAAA,EACzB;AAAA,EACA,YAAY,OAAO;AACjB,SAAK,UAAU;AACf,UAAM,iBAAiB,KAAK,cAAc,KAAK,WAAW,KAAK,MAAM,cAAc,KAAK,CAAC;AACzF,UAAM,iBAAiB,gBAAgB,SAAS;AAChD,SAAK,MAAM,cAAc,QAAQ,KAAK,YAAY,cAAc;AAChE,SAAK,MAAM,cAAc,aAAa,iBAAiB,cAAc;AACrE,SAAK,YAAY,OAAO,cAAc;AACtC,SAAK,eAAe;AACpB,SAAK,OAAO,KAAK,KAAK;AAAA,EACxB;AAAA,EACA,iBAAiB;AACf,UAAM,MAAM,CAAC,KAAK,SAAS,CAAC,KAAK,aAAa,IAAI,KAAK;AACvD,WAAO,KAAK,YAAY,GAAG;AAAA,EAC7B;AAAA,EACA,YAAY,OAAO,OAAO;AACxB,UAAM,qBAAqB,KAAK,WAAW,SAAS,aAAa;AACjE,QAAI,KAAK,UAAU,OAAO;AACxB,WAAK,QAAQ;AACb,UAAI,EAAE,sBAAsB,KAAK,UAAU;AACzC,aAAK,cAAc,KAAK;AAAA,MAC1B;AAAA,IACF,WAAW,oBAAoB;AAC7B,WAAK,cAAc,KAAK;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,WAAW,OAAO;AAChB,SAAK,QAAQ,QAAQ,OAAO,KAAK,IAAI;AACrC,SAAK,GAAG,aAAa;AAAA,EACvB;AAAA,EACA,iBAAiB,IAAI;AACnB,SAAK,gBAAgB;AAAA,EACvB;AAAA,EACA,kBAAkB,IAAI;AACpB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EACA,iBAAiB,KAAK;AACpB,SAAK,WAAW;AAChB,SAAK,GAAG,aAAa;AAAA,EACvB;AAAA,EACA,IAAI,SAAS;AACX,WAAO,KAAK,SAAS,QAAQ,KAAK,MAAM,SAAS,EAAE,SAAS;AAAA,EAC9D;AAAA,EACA,aAAa;AACX,QAAI,KAAK,OAAO;AACd,oBAAc,KAAK,KAAK;AAAA,IAC1B;AAAA,EACF;AAAA,EACA,OAAO,YAAO,SAAS,oBAAoB,mBAAmB;AAC5D,WAAO,KAAK,qBAAqB,cAAgB,4BAAqB,QAAQ,CAAC;AAAA,EACjF;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,eAAe,GAAG,CAAC,eAAe,GAAG,CAAC,gBAAgB,CAAC;AAAA,IACpE,gBAAgB,SAAS,2BAA2B,IAAI,KAAK,UAAU;AACrE,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,UAAUP,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAU,eAAe,CAAC;AAAA,MAC9C;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,oBAAoB,GAAG;AACxE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,8BAA8B,GAAG;AAClF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,8BAA8B,GAAG;AAClF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,YAAY;AAAA,MAC/D;AAAA,IACF;AAAA,IACA,WAAW,SAAS,kBAAkB,IAAI,KAAK;AAC7C,UAAI,KAAK,GAAG;AACV,QAAG,sBAAYC,MAAK,CAAC;AAAA,MACvB;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,QAAQ,GAAG;AAAA,MAC9D;AAAA,IACF;AAAA,IACA,UAAU;AAAA,IACV,cAAc,SAAS,yBAAyB,IAAI,KAAK;AACvD,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,gBAAgB,aAAa,EAAE,mBAAmB,MAAM;AACvE,QAAG,qBAAW,IAAI,SAAS;AAC3B,QAAG,qBAAW,IAAI,SAAS;AAAA,MAC7B;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,aAAa,CAAC,GAAG,eAAe,eAAe,gBAAgB;AAAA,MAC/D,QAAQ,CAAC,GAAG,UAAU,UAAU,gBAAgB;AAAA,MAChD,cAAc;AAAA,MACd,SAAS;AAAA,MACT,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,aAAa;AAAA,MACb,MAAM;AAAA,MACN,WAAW,CAAC,GAAG,aAAa,aAAa,eAAe;AAAA,MACxD,UAAU,CAAC,GAAG,YAAY,YAAY,eAAe;AAAA,MACrD,OAAO;AAAA,MACP,gBAAgB;AAAA,MAChB,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,cAAc,CAAC,GAAG,gBAAgB,gBAAgB,gBAAgB;AAAA,MAClE,MAAM;AAAA,MACN,UAAU,CAAC,GAAG,YAAY,YAAY,gBAAgB;AAAA,MACtD,cAAc;AAAA,MACd,KAAK,CAAC,GAAG,OAAO,OAAO,eAAe;AAAA,MACtC,KAAK,CAAC,GAAG,OAAO,OAAO,eAAe;AAAA,MACtC,sBAAsB;AAAA,MACtB,sBAAsB;AAAA,MACtB,qBAAqB;AAAA,MACrB,qBAAqB;AAAA,MACrB,UAAU,CAAC,GAAG,YAAY,YAAY,gBAAgB;AAAA,MACtD,MAAM,CAAC,GAAG,QAAQ,QAAQ,eAAe;AAAA,MACzC,YAAY,CAAC,GAAG,cAAc,cAAc,gBAAgB;AAAA,MAC5D,QAAQ;AAAA,MACR,eAAe;AAAA,MACf,MAAM;AAAA,MACN,UAAU;AAAA,MACV,iBAAiB;AAAA,MACjB,aAAa,CAAC,GAAG,eAAe,eAAe,gBAAgB;AAAA,MAC/D,SAAS;AAAA,MACT,mBAAmB,CAAC,GAAG,qBAAqB,qBAAqB,WAAS,gBAAgB,OAAO,IAAI,CAAC;AAAA,MACtG,mBAAmB,CAAC,GAAG,qBAAqB,qBAAqB,WAAS,gBAAgB,OAAO,IAAI,CAAC;AAAA,MACtG,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,WAAW,CAAC,GAAG,aAAa,aAAa,gBAAgB;AAAA,MACzD,WAAW,CAAC,GAAG,aAAa,aAAa,gBAAgB;AAAA,MACzD,UAAU;AAAA,MACV,OAAO,CAAC,GAAG,SAAS,SAAS,gBAAgB;AAAA,IAC/C;AAAA,IACA,SAAS;AAAA,MACP,SAAS;AAAA,MACT,SAAS;AAAA,MACT,QAAQ;AAAA,MACR,WAAW;AAAA,MACX,SAAS;AAAA,IACX;AAAA,IACA,UAAU,CAAI,6BAAmB,CAAC,4BAA4B,gBAAgB,CAAC,GAAM,oCAA6B,sCAA+B,8BAAoB;AAAA,IACrK,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,cAAc,IAAI,QAAQ,cAAc,aAAa,WAAW,GAAG,SAAS,WAAW,YAAY,SAAS,SAAS,SAAS,QAAQ,WAAW,WAAW,SAAS,WAAW,YAAY,YAAY,SAAS,cAAc,OAAO,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,SAAS,8BAA8B,GAAG,MAAM,GAAG,CAAC,QAAQ,UAAU,YAAY,MAAM,GAAG,WAAW,SAAS,YAAY,aAAa,WAAW,cAAc,WAAW,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,WAAW,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,4BAA4B,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,SAAS,SAAS,GAAG,CAAC,GAAG,4BAA4B,GAAG,OAAO,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,GAAG,4BAA4B,GAAG,CAAC,QAAQ,UAAU,YAAY,MAAM,GAAG,aAAa,WAAW,cAAc,WAAW,SAAS,WAAW,UAAU,GAAG,CAAC,GAAG,WAAW,GAAG,MAAM,GAAG,CAAC,GAAG,SAAS,CAAC;AAAA,IACx1B,UAAU,SAAS,qBAAqB,IAAI,KAAK;AAC/C,UAAI,KAAK,GAAG;AACV,cAAM,MAAS,2BAAiB;AAChC,QAAG,yBAAe,GAAG,SAAS,GAAG,CAAC;AAClC,QAAG,qBAAW,SAAS,SAAS,4CAA4C,QAAQ;AAClF,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,YAAY,MAAM,CAAC;AAAA,QAC/C,CAAC,EAAE,WAAW,SAAS,8CAA8C,QAAQ;AAC3E,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,eAAe,MAAM,CAAC;AAAA,QAClD,CAAC,EAAE,YAAY,SAAS,+CAA+C,QAAQ;AAC7E,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,gBAAgB,MAAM,CAAC;AAAA,QACnD,CAAC,EAAE,SAAS,SAAS,4CAA4C,QAAQ;AACvE,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,QAAQ,MAAM,CAAC;AAAA,QAC3C,CAAC,EAAE,SAAS,SAAS,8CAA8C;AACjE,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,aAAa,CAAC;AAAA,QAC1C,CAAC,EAAE,SAAS,SAAS,4CAA4C,QAAQ;AACvE,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,aAAa,MAAM,CAAC;AAAA,QAChD,CAAC,EAAE,QAAQ,SAAS,2CAA2C,QAAQ;AACrE,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,YAAY,MAAM,CAAC;AAAA,QAC/C,CAAC;AACD,QAAG,uBAAa;AAChB,QAAG,qBAAW,GAAG,qCAAqC,GAAG,GAAG,gBAAgB,CAAC,EAAE,GAAG,6BAA6B,GAAG,IAAI,QAAQ,CAAC,EAAE,GAAG,+BAA+B,GAAG,GAAG,UAAU,CAAC,EAAE,GAAG,+BAA+B,GAAG,GAAG,UAAU,CAAC;AAAA,MAC3O;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,eAAe;AACjC,QAAG,qBAAW,WAAW,qBAAqB,EAAE,WAAW,IAAI,UAAU,EAAE,SAAS,IAAI,eAAe,CAAC,EAAE,WAAW,IAAI,OAAO,EAAE,YAAY,IAAI,QAAQ,EAAE,YAAY,IAAI,QAAQ,EAAE,SAAS,IAAI,IAAI,EAAE,cAAc,IAAI,SAAS,EAAE,SAAS,IAAI,QAAQ;AAC3P,QAAG,sBAAY,MAAM,IAAI,OAAO,EAAE,iBAAiB,IAAI,GAAG,EAAE,iBAAiB,IAAI,GAAG,EAAE,iBAAiB,IAAI,KAAK,EAAE,eAAe,IAAI,WAAW,EAAE,cAAc,IAAI,SAAS,EAAE,mBAAmB,IAAI,cAAc,EAAE,oBAAoB,IAAI,eAAe,EAAE,SAAS,IAAI,KAAK,EAAE,QAAQ,IAAI,IAAI,EAAE,gBAAgB,IAAI,YAAY,EAAE,aAAa,IAAI,SAAS,EAAE,YAAY,IAAI,QAAQ,EAAE,iBAAiB,IAAI,YAAY,EAAE,YAAY,IAAI,QAAQ,EAAE,OAAO,IAAI,GAAG,EAAE,OAAO,IAAI,GAAG,EAAE,mBAAmB,OAAO;AACpf,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,QAAQ,IAAI,gBAAgB,cAAc,IAAI,aAAa,IAAI,KAAK;AAClF,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,eAAe,IAAI,iBAAiB,SAAS;AACvE,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,eAAe,IAAI,iBAAiB,SAAS;AACvE,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,eAAe,IAAI,iBAAiB,SAAS;AAAA,MACzE;AAAA,IACF;AAAA,IACA,cAAc,CAAC,cAAiB,SAAY,MAAS,kBAAqB,SAAS,WAAW,WAAW,WAAW,aAAa,eAAe,YAAY;AAAA,IAC5J,eAAe;AAAA,IACf,iBAAiB;AAAA,EACnB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,aAAa,CAAC;AAAA,IACpF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,SAAS,CAAC,cAAc,WAAW,WAAW,WAAW,aAAa,eAAe,YAAY;AAAA,MACjG,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAsIV,iBAAiB,wBAAwB;AAAA,MACzC,WAAW,CAAC,4BAA4B,gBAAgB;AAAA,MACxD,eAAe,kBAAkB;AAAA,MACjC,MAAM;AAAA,QACJ,uBAAuB;AAAA,QACvB,0BAA0B;AAAA,QAC1B,WAAW;AAAA,MACb;AAAA,IACF,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,IACR,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,IACR,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,KAAK,CAAC;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,KAAK,CAAC;AAAA,MACJ,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW,WAAS,gBAAgB,OAAO,IAAI;AAAA,MACjD,CAAC;AAAA,IACH,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW,WAAS,gBAAgB,OAAO,IAAI;AAAA,MACjD,CAAC;AAAA,IACH,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,QAClB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,6BAA6B,CAAC;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM,CAAC,uBAAuB;AAAA,QAC5B,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,6BAA6B,CAAC;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM,CAAC,uBAAuB;AAAA,QAC5B,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,OAAO;AAAA,IAChB,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,OAAO;AAAA,IAChB,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,oBAAN,MAAM,mBAAkB;AAAA,EACtB,OAAO,YAAO,SAAS,0BAA0B,mBAAmB;AAClE,WAAO,KAAK,qBAAqB,oBAAmB;AAAA,EACtD;AAAA,EACA,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,MAAM;AAAA,EACR,CAAC;AAAA,EACD,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,SAAS,CAAC,aAAa,cAAc,YAAY;AAAA,EACnD,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,mBAAmB,CAAC;AAAA,IAC1F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,aAAa,YAAY;AAAA,MACnC,SAAS,CAAC,aAAa,YAAY;AAAA,IACrC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC/yEH,IAAMK,OAAM,CAAC,cAAc;AAC3B,IAAMC,OAAM,CAAC,mBAAmB;AAChC,IAAMC,OAAM,CAAC,sBAAsB;AACnC,IAAMC,OAAM,CAAC,kBAAkB;AAC/B,IAAMC,OAAM,CAAC,kBAAkB;AAC/B,IAAMC,OAAM,SAAO;AAAA,EACjB,cAAc;AAChB;AACA,IAAMC,OAAM,SAAO;AAAA,EACjB,WAAW;AACb;AACA,IAAMC,OAAM,SAAO;AAAA,EACjB,6BAA6B;AAC/B;AACA,SAAS,8CAA8C,IAAI,KAAK;AAC9D,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,+BAA+B,IAAI,KAAK;AAC/C,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,EAAE;AAC9B,IAAG,qBAAW,GAAG,+CAA+C,GAAG,GAAG,gBAAgB,EAAE;AACxF,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,sBAAY,mBAAmB,OAAO;AACzC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,YAAY,EAAE,2BAA8B,0BAAgB,GAAGD,MAAK,OAAO,cAAc,CAAC;AAAA,EACrI;AACF;AACA,SAAS,gCAAgC,IAAI,KAAK;AAChD,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,EAAE;AAC/B,IAAG,iBAAO,CAAC;AACX,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,4BAAkB,OAAO,iBAAiB;AAAA,EAC/C;AACF;AACA,SAAS,wDAAwD,IAAI,KAAK;AACxE,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,uBAAuB,EAAE;AAAA,EAC3C;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,cAAc,wBAAwB;AAAA,EACtD;AACF;AACA,SAAS,yDAAyD,IAAI,KAAK;AAAC;AAC5E,SAAS,2CAA2C,IAAI,KAAK;AAC3D,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,0DAA0D,GAAG,GAAG,aAAa;AAAA,EAChG;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,EAAE;AAC/B,IAAG,qBAAW,GAAG,4CAA4C,GAAG,GAAG,MAAM,EAAE;AAC3E,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,6BAA6B,OAAO,0BAA0B;AAAA,EACzG;AACF;AACA,SAAS,kCAAkC,IAAI,KAAK;AAClD,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,UAAU,EAAE;AACjC,IAAG,qBAAW,SAAS,SAAS,0DAA0D,QAAQ;AAChG,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,kBAAkB,MAAM,CAAC;AAAA,IACxD,CAAC;AACD,IAAG,qBAAW,GAAG,yDAAyD,GAAG,GAAG,uBAAuB,CAAC,EAAE,GAAG,0CAA0C,GAAG,GAAG,QAAQ,EAAE;AACvK,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,YAAY,OAAO,YAAY,KAAK,OAAO,MAAM,CAAC,EAAE,WAAc,0BAAgB,GAAGD,MAAK,OAAO,YAAY,KAAK,OAAO,MAAM,CAAC,CAAC;AAC/I,IAAG,sBAAY,cAAc,OAAO,aAAa,gBAAgB,CAAC;AAClE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,6BAA6B,CAAC,OAAO,0BAA0B;AAC7F,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,6BAA6B,OAAO,0BAA0B;AAAA,EAC7F;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,iBAAiB,EAAE;AAAA,EACrC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,cAAc,uBAAuB;AAAA,EACrD;AACF;AACA,SAAS,gDAAgD,IAAI,KAAK;AAAC;AACnE,SAAS,kCAAkC,IAAI,KAAK;AAClD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iDAAiD,GAAG,GAAG,aAAa;AAAA,EACvF;AACF;AACA,SAAS,gCAAgC,IAAI,KAAK;AAChD,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,EAAE;AAC/B,IAAG,qBAAW,GAAG,mCAAmC,GAAG,GAAG,MAAM,EAAE;AAClE,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,gCAAgC,OAAO,6BAA6B;AAAA,EAC/G;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,UAAU,EAAE;AACjC,IAAG,qBAAW,SAAS,SAAS,iEAAiE,QAAQ;AACvG,YAAM,cAAiB,wBAAc,GAAG,EAAE;AAC1C,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,gBAAgB,QAAQ,cAAc,CAAC,CAAC;AAAA,IACvE,CAAC;AACD,IAAG,iBAAO,CAAC;AACX,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,cAAc,IAAI;AACxB,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,WAAc,0BAAgB,GAAGE,MAAK,cAAc,KAAK,OAAO,QAAQ,CAAC,CAAC;AACxF,IAAG,sBAAY,cAAc,OAAO,iBAAiB,WAAW,CAAC,EAAE,gBAAgB,cAAc,KAAK,OAAO,QAAQ,IAAI,SAAS,MAAS;AAC3I,IAAG,oBAAU;AACb,IAAG,6BAAmB,KAAK,OAAO,gBAAgB,WAAW,GAAG,GAAG;AAAA,EACrE;AACF;AACA,SAAS,gCAAgC,IAAI,KAAK;AAChD,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,EAAE;AAC/B,IAAG,qBAAW,GAAG,0CAA0C,GAAG,GAAG,UAAU,EAAE;AAC7E,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,WAAW,OAAO,SAAS;AAAA,EAC3C;AACF;AACA,SAAS,kDAAkD,IAAI,KAAK;AAClE,MAAI,KAAK,GAAG;AACV,IAAG,iBAAO,CAAC;AAAA,EACb;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,4BAAkB,OAAO,iBAAiB;AAAA,EAC/C;AACF;AACA,SAAS,gFAAgF,IAAI,KAAK;AAChG,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iEAAiE,IAAI,KAAK;AACjF,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iFAAiF,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5H;AACA,MAAI,KAAK,GAAG;AACV,UAAM,UAAU,IAAI;AACpB,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,sBAAsB,EAAE,2BAA8B,0BAAgB,GAAGD,MAAK,OAAO,CAAC;AAAA,EACjI;AACF;AACA,SAAS,mDAAmD,IAAI,KAAK;AACnE,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,kEAAkE,GAAG,GAAG,eAAe,EAAE;AAC1G,IAAG,gCAAsB;AAAA,EAC3B;AACF;AACA,SAAS,mEAAmE,IAAI,KAAK;AACnF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,oDAAoD,IAAI,KAAK;AACpE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,oEAAoE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC/G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,wBAAwB,OAAO,qBAAqB;AAAA,EAC/F;AACF;AACA,SAAS,sCAAsC,IAAI,KAAK;AACtD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,qDAAqD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC/F;AACF;AACA,SAAS,oCAAoC,IAAI,KAAK;AACpD,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,YAAY,EAAE;AACnC,IAAG,qBAAW,YAAY,SAAS,iEAAiE,QAAQ;AAC1G,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,qBAAqB,MAAM,CAAC;AAAA,IAC3D,CAAC;AACD,IAAG,qBAAW,GAAG,mDAAmD,GAAG,GAAG,eAAe,EAAE,EAAE,GAAG,oDAAoD,GAAG,GAAG,gBAAgB,EAAE,EAAE,GAAG,uCAAuC,GAAG,GAAG,MAAM,EAAE;AACtO,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,WAAW,OAAO,SAAS,EAAE,WAAW,OAAO,QAAQ,CAAC,EAAE,YAAY,OAAO,MAAM,CAAC,EAAE,YAAY,OAAO,gBAAgB,EAAE,gBAAgB,OAAO,oBAAoB;AACpL,IAAG,sBAAY,cAAc,OAAO,aAAa,yBAAyB,CAAC;AAC3E,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,QAAQ,OAAO,sBAAsB;AACnD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,wBAAwB,OAAO,qBAAqB;AAAA,EACnF;AACF;AACA,SAAS,2CAA2C,IAAI,KAAK;AAC3D,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,kBAAkB,EAAE;AAAA,EACtC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,cAAc,uBAAuB;AAAA,EACrD;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AAAC;AACpE,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,aAAa;AAAA,EACxF;AACF;AACA,SAAS,iCAAiC,IAAI,KAAK;AACjD,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,EAAE;AAC/B,IAAG,qBAAW,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE;AACnE,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,4BAA4B,OAAO,yBAAyB;AAAA,EACvG;AACF;AACA,SAAS,0DAA0D,IAAI,KAAK;AAC1E,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,wBAAwB,EAAE;AAAA,EAC5C;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,cAAc,uBAAuB;AAAA,EACrD;AACF;AACA,SAAS,0DAA0D,IAAI,KAAK;AAAC;AAC7E,SAAS,4CAA4C,IAAI,KAAK;AAC5D,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,2DAA2D,GAAG,GAAG,aAAa;AAAA,EACjG;AACF;AACA,SAAS,0CAA0C,IAAI,KAAK;AAC1D,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,EAAE;AAC/B,IAAG,qBAAW,GAAG,6CAA6C,GAAG,GAAG,MAAM,EAAE;AAC5E,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,4BAA4B,OAAO,yBAAyB;AAAA,EACvG;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,UAAU,EAAE;AACjC,IAAG,qBAAW,SAAS,SAAS,2DAA2D,QAAQ;AACjG,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,iBAAiB,MAAM,CAAC;AAAA,IACvD,CAAC;AACD,IAAG,qBAAW,GAAG,2DAA2D,GAAG,GAAG,wBAAwB,CAAC,EAAE,GAAG,2CAA2C,GAAG,GAAG,QAAQ,EAAE;AAC3K,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,YAAY,OAAO,WAAW,KAAK,OAAO,MAAM,CAAC,EAAE,WAAc,0BAAgB,GAAGD,MAAK,OAAO,WAAW,KAAK,OAAO,MAAM,CAAC,CAAC;AAC7I,IAAG,sBAAY,cAAc,OAAO,aAAa,eAAe,CAAC;AACjE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,4BAA4B,CAAC,OAAO,yBAAyB;AAC3F,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,4BAA4B,OAAO,yBAAyB;AAAA,EAC3F;AACF;AACA,SAAS,0CAA0C,IAAI,KAAK;AAC1D,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,iBAAiB,EAAE;AACxC,IAAG,qBAAW,iBAAiB,SAAS,iFAAiF,QAAQ;AAC/H,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,WAAW,SAAS,CAAC,CAAC;AAAA,IACrD,CAAC;AACD,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,WAAW,OAAO,YAAY,CAAC,EAAE,YAAY,OAAO,MAAM,CAAC;AAAA,EAC3E;AACF;AACA,SAAS,iFAAiF,IAAI,KAAK;AACjG,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,kEAAkE,IAAI,KAAK;AAClF,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kFAAkF,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC7H;AACA,MAAI,KAAK,GAAG;AACV,UAAM,WAAW,IAAI;AACrB,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,oBAAoB,EAAE,2BAA8B,0BAAgB,GAAGC,MAAK,QAAQ,CAAC;AAAA,EAChI;AACF;AACA,SAAS,oDAAoD,IAAI,KAAK;AACpE,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,mEAAmE,GAAG,GAAG,eAAe,EAAE;AAC3G,IAAG,gCAAsB;AAAA,EAC3B;AACF;AACA,SAAS,oEAAoE,IAAI,KAAK;AACpF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,qDAAqD,IAAI,KAAK;AACrE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,qEAAqE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAChH;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,wBAAwB,OAAO,qBAAqB;AAAA,EAC/F;AACF;AACA,SAAS,uCAAuC,IAAI,KAAK;AACvD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,sDAAsD,GAAG,GAAG,eAAe,EAAE;AAAA,EAChG;AACF;AACA,SAAS,qCAAqC,IAAI,KAAK;AACrD,MAAI,KAAK,GAAG;AACV,UAAM,OAAU,2BAAiB;AACjC,IAAG,yBAAe,GAAG,YAAY,EAAE;AACnC,IAAG,2BAAiB,iBAAiB,SAAS,uEAAuE,QAAQ;AAC3H,MAAG,wBAAc,IAAI;AACrB,YAAM,SAAY,wBAAc,CAAC;AACjC,MAAG,6BAAmB,OAAO,MAAM,MAAM,MAAM,OAAO,OAAO;AAC7D,aAAU,sBAAY,MAAM;AAAA,IAC9B,CAAC;AACD,IAAG,qBAAW,YAAY,SAAS,kEAAkE,QAAQ;AAC3G,MAAG,wBAAc,IAAI;AACrB,YAAM,SAAY,wBAAc,CAAC;AACjC,aAAU,sBAAY,OAAO,YAAY,MAAM,CAAC;AAAA,IAClD,CAAC;AACD,IAAG,qBAAW,GAAG,qDAAqD,GAAG,GAAG,gBAAgB,EAAE,EAAE,GAAG,wCAAwC,GAAG,GAAG,MAAM,EAAE;AACzJ,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,WAAW,OAAO,gBAAgB;AAChD,IAAG,2BAAiB,WAAW,OAAO,IAAI;AAC1C,IAAG,qBAAW,YAAY,OAAO,MAAM,CAAC,EAAE,YAAY,OAAO,gBAAgB,EAAE,gBAAgB,OAAO,oBAAoB,EAAE,aAAa,OAAO,aAAa,kBAAkB,CAAC;AAChL,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,oBAAoB;AACjD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,wBAAwB,OAAO,qBAAqB;AAAA,EACnF;AACF;AACA,SAAS,+CAA+C,IAAI,KAAK;AAC/D,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,gCAAgC,IAAI,KAAK;AAChD,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,EAAE;AAC9B,IAAG,qBAAW,GAAG,gDAAgD,GAAG,GAAG,gBAAgB,EAAE;AACzF,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,sBAAY,mBAAmB,KAAK;AACvC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,aAAa,EAAE,2BAA8B,0BAAgB,GAAGA,MAAK,OAAO,cAAc,CAAC;AAAA,EACtI;AACF;AACA,SAAS,yBAAyB,IAAI,KAAK;AACzC,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,IAAG,qBAAW,GAAG,gCAAgC,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,iCAAiC,GAAG,GAAG,QAAQ,CAAC,EAAE,GAAG,mCAAmC,GAAG,GAAG,UAAU,CAAC;AAC7K,IAAG,yBAAe,GAAG,UAAU,CAAC;AAChC,IAAG,qBAAW,SAAS,SAAS,iDAAiD,QAAQ;AACvF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,iBAAiB,MAAM,CAAC;AAAA,IACvD,CAAC;AACD,IAAG,qBAAW,GAAG,0CAA0C,GAAG,GAAG,iBAAiB,CAAC,EAAE,GAAG,iCAAiC,GAAG,GAAG,QAAQ,CAAC;AACxI,IAAG,uBAAa;AAChB,IAAG,qBAAW,GAAG,iCAAiC,GAAG,GAAG,QAAQ,CAAC,EAAE,GAAG,qCAAqC,GAAG,GAAG,YAAY,CAAC;AAC9H,IAAG,yBAAe,GAAG,UAAU,EAAE;AACjC,IAAG,qBAAW,SAAS,SAAS,iDAAiD,QAAQ;AACvF,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,iBAAiB,MAAM,CAAC;AAAA,IACvD,CAAC;AACD,IAAG,qBAAW,IAAI,4CAA4C,GAAG,GAAG,kBAAkB,CAAC,EAAE,IAAI,kCAAkC,GAAG,GAAG,QAAQ,EAAE;AAC/I,IAAG,uBAAa;AAChB,IAAG,qBAAW,IAAI,oCAAoC,GAAG,GAAG,UAAU,EAAE,EAAE,IAAI,2CAA2C,GAAG,GAAG,iBAAiB,EAAE,EAAE,IAAI,sCAAsC,GAAG,GAAG,YAAY,EAAE,EAAE,IAAI,iCAAiC,GAAG,GAAG,OAAO,EAAE;AACxQ,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,qBAAW,OAAO,UAAU;AAC/B,IAAG,qBAAW,WAAW,OAAO,KAAK,EAAE,WAAW,yBAAyB;AAC3E,IAAG,sBAAY,mBAAmB,WAAW,EAAE,mBAAmB,MAAM;AACxE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,YAAY;AACzC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,qBAAqB;AAClD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,iBAAiB;AAC9C,IAAG,oBAAU;AACb,IAAG,qBAAW,YAAY,OAAO,YAAY,KAAK,OAAO,MAAM,CAAC,EAAE,WAAc,0BAAgB,IAAID,MAAK,OAAO,YAAY,KAAK,OAAO,MAAM,CAAC,CAAC;AAChJ,IAAG,sBAAY,cAAc,OAAO,aAAa,eAAe,CAAC;AACjE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,gCAAgC,CAAC,OAAO,6BAA6B;AACnG,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,gCAAgC,OAAO,6BAA6B;AACjG,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,aAAa;AAC1C,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,sBAAsB;AACnD,IAAG,oBAAU;AACb,IAAG,qBAAW,YAAY,OAAO,WAAW,KAAK,OAAO,MAAM,CAAC,EAAE,WAAc,0BAAgB,IAAIA,MAAK,OAAO,WAAW,KAAK,OAAO,MAAM,CAAC,CAAC;AAC9I,IAAG,sBAAY,cAAc,OAAO,aAAa,eAAe,CAAC;AACjE,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,4BAA4B,CAAC,OAAO,yBAAyB;AAC3F,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,4BAA4B,OAAO,yBAAyB;AACzF,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,iBAAiB;AAC9C,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,mBAAmB;AAChD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,kBAAkB;AAC/C,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,aAAa;AAAA,EAC5C;AACF;AACA,IAAMG,SAAQ,CAAC;AAAA,EACb;AACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAMY,GAAG,sBAAsB,CAAC;AAAA,aAC/B,GAAG,iBAAiB,CAAC;AAAA,eACnB,GAAG,mBAAmB,CAAC;AAAA,qBACjB,GAAG,yBAAyB,CAAC;AAAA,WACvC,GAAG,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAQnB,GAAG,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAwBZ,GAAG,iCAAiC,CAAC;AAAA;AAAA,aAE1C,GAAG,4BAA4B,CAAC;AAAA,iBAC5B,GAAG,4BAA4B,CAAC;AAAA,cACnC,GAAG,6BAA6B,CAAC;AAAA,6BAClB,GAAG,+BAA+B,CAAC,WAAW,GAAG,+BAA+B,CAAC,mBAAmB,GAAG,+BAA+B,CAAC,gBAAgB,GAAG,+BAA+B,CAAC;AAAA,qBAClM,GAAG,oCAAoC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAU3C,GAAG,wCAAwC,CAAC;AAAA,eAC/C,GAAG,uCAAuC,CAAC,IAAI,GAAG,uCAAuC,CAAC,IAAI,GAAG,uCAAuC,CAAC;AAAA,sBAClI,GAAG,wCAAwC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAQhD,GAAG,uCAAuC,CAAC;AAAA,aAChD,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAWjC,GAAG,0CAA0C,CAAC;AAAA,aACnD,GAAG,qCAAqC,CAAC;AAAA;AAAA;AAAA;AAAA,aAIzC,GAAG,qCAAqC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAM3C,GAAG,eAAe,CAAC;AAAA;AAAA;AAAA;AAAA,iBAIb,GAAG,wCAAwC,CAAC;AAAA;AAAA;AAG7D,IAAMC,WAAU;AAAA,EACd,WAAW,CAAC;AAAA,IACV;AAAA,IACA;AAAA,EACF,MAAM,CAAC,2BAA2B;AAAA,IAChC,uBAAuB,CAAC,SAAS,eAAe;AAAA,IAChD,CAAC,eAAe,GAAG,EAAE,GAAG,SAAS,eAAe;AAAA,EAClD,CAAC;AAAA,EACD,SAAS;AAAA,EACT,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,OAAO,CAAC;AAAA,IACN;AAAA,EACF,MAAM,CAAC,qBAAqB;AAAA,IAC1B,cAAc,SAAS,OAAO;AAAA,EAChC,CAAC;AAAA,EACD,WAAW;AAAA,EACX,MAAM,CAAC;AAAA,IACL;AAAA,EACF,MAAM,CAAC,oBAAoB;AAAA,IACzB,cAAc,SAAS,OAAO;AAAA,EAChC,CAAC;AAAA,EACD,UAAU;AAAA,EACV,MAAM,CAAC;AAAA,IACL;AAAA,EACF,MAAM,CAAC,oBAAoB;AAAA,IACzB,cAAc,SAAS,OAAO;AAAA,EAChC,CAAC;AAAA,EACD,UAAU;AAAA,EACV,MAAM,CAAC;AAAA,IACL;AAAA,EACF,MAAM,CAAC,oBAAoB;AAAA,IACzB,cAAc,SAAS,OAAO;AAAA,EAChC,CAAC;AAAA,EACD,UAAU;AAAA,EACV,OAAO;AAAA,EACP,MAAM,CAAC;AAAA,IACL;AAAA,IACA;AAAA,EACF,MAAM,CAAC,oBAAoB;AAAA,IACzB,6BAA6B,WAAW,MAAM,MAAM;AAAA,EACtD,CAAC;AAAA,EACD,SAAS;AAAA,EACT,sBAAsB;AAAA,EACtB,sBAAsB;AAAA,EACtB,mBAAmB;AACrB;AACA,IAAM,iBAAN,MAAM,wBAAuB,UAAU;AAAA,EACrC,OAAO;AAAA,EACP,QAAQD;AAAA,EACR,UAAUC;AAAA,EACV,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,uBAAuB,mBAAmB;AACxD,cAAQ,qCAAgC,mCAAiC,gCAAsB,eAAc,IAAI,qBAAqB,eAAc;AAAA,IACtJ;AAAA,EACF,GAAG;AAAA,EACH,OAAO,aAAuB,gBAAG,6BAAmB;AAAA,IAClD,OAAO;AAAA,IACP,SAAS,gBAAe;AAAA,EAC1B,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,gBAAgB,CAAC;AAAA,IACvF,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;AAUH,IAAI;AAAA,CACH,SAAUC,mBAAkB;AAI3B,EAAAA,kBAAiB,WAAW,IAAI;AAIhC,EAAAA,kBAAiB,cAAc,IAAI;AAInC,EAAAA,kBAAiB,YAAY,IAAI;AAIjC,EAAAA,kBAAiB,OAAO,IAAI;AAI5B,EAAAA,kBAAiB,WAAW,IAAI;AAIhC,EAAAA,kBAAiB,MAAM,IAAI;AAI3B,EAAAA,kBAAiB,UAAU,IAAI;AAI/B,EAAAA,kBAAiB,MAAM,IAAI;AAI3B,EAAAA,kBAAiB,UAAU,IAAI;AAI/B,EAAAA,kBAAiB,MAAM,IAAI;AAI3B,EAAAA,kBAAiB,UAAU,IAAI;AAI/B,EAAAA,kBAAiB,OAAO,IAAI;AAI5B,EAAAA,kBAAiB,MAAM,IAAI;AAI3B,EAAAA,kBAAiB,SAAS,IAAI;AAI9B,EAAAA,kBAAiB,sBAAsB,IAAI;AAI3C,EAAAA,kBAAiB,sBAAsB,IAAI;AAI3C,EAAAA,kBAAiB,mBAAmB,IAAI;AAC1C,GAAG,qBAAqB,mBAAmB,CAAC,EAAE;AAM9C,IAAM,YAAN,MAAM,mBAAkB,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpC,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,uBAAuB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvB,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA,EAK5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpB,eAAe;AAAA;AAAA;AAAA;AAAA;AAAA,EAKf,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKP;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,QAAQ;AACV,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,MAAM,KAAK;AACb,SAAK,SAAS;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,eAAe,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,kBAAkB,OAAO,cAAc;AAAA,EACvC,cAAc;AACZ,UAAM;AAAA,EACR;AAAA,EACA,WAAW;AACT,UAAM,SAAS;AACf,SAAK,qBAAqB;AAAA,EAC5B;AAAA,EACA,qBAAqB;AACnB,SAAK,UAAU,QAAQ,UAAQ;AAC7B,cAAQ,KAAK,QAAQ,GAAG;AAAA,QACtB,KAAK;AACH,eAAK,wBAAwB,KAAK;AAClC;AAAA,QACF,KAAK;AACH,eAAK,6BAA6B,KAAK;AACvC;AAAA,QACF,KAAK;AACH,eAAK,gCAAgC,KAAK;AAC1C;AAAA,QACF,KAAK;AACH,eAAK,4BAA4B,KAAK;AACtC;AAAA,QACF,KAAK;AACH,eAAK,4BAA4B,KAAK;AACtC;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,aAAa,WAAW;AACtB,WAAO,KAAK,OAAO,YAAY,OAAO,KAAK,OAAO,YAAY,KAAK,SAAS,IAAI;AAAA,EAClF;AAAA,EACA,iBAAiB,OAAO;AACtB,WAAO,KAAK,OAAO,YAAY,OAAO,KAAK,OAAO,YAAY,KAAK,UAAU,QAAQ,WAAW,GAAG,KAAK,EAAE,IAAI;AAAA,EAChH;AAAA,EACA,gBAAgB,OAAO;AACrB,UAAM,WAAW,CAAC,GAAG,IAAI,KAAK,aAAa,KAAK,QAAQ;AAAA,MACtD,aAAa;AAAA,IACf,CAAC,EAAE,OAAO,UAAU,CAAC,EAAE,QAAQ;AAC/B,UAAM,QAAQ,IAAI,IAAI,SAAS,IAAI,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;AACpD,QAAI,QAAQ,GAAG;AACb,YAAM,UAAU,OAAO,KAAK,EAAE,MAAM,EAAE;AACtC,aAAO,QAAQ,IAAI,YAAU,MAAM,IAAI,OAAO,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE;AAAA,IACjE,OAAO;AACL,aAAO,MAAM,IAAI,KAAK;AAAA,IACxB;AAAA,EACF;AAAA,EACA,YAAY,cAAc;AACxB,UAAM,YAAY,YAAY;AAC9B,QAAI,aAAa,cAAc;AAC7B,WAAK,gBAAgB;AACrB,WAAK,qBAAqB;AAC1B,WAAK,YAAY;AACjB,WAAK,yBAAyB;AAAA,IAChC;AACA,QAAI,aAAa,OAAO;AACtB,WAAK,SAAS,aAAa,MAAM;AACjC,WAAK,gBAAgB;AACrB,WAAK,qBAAqB;AAAA,IAC5B;AACA,QAAI,aAAa,MAAM;AACrB,WAAK,gBAAgB;AACrB,WAAK,qBAAqB;AAAA,IAC5B;AACA,QAAI,aAAa,oBAAoB;AACnC,WAAK,yBAAyB;AAAA,IAChC;AACA,QAAI,aAAa,cAAc;AAC7B,WAAK,gBAAgB;AAAA,IACvB;AAAA,EACF;AAAA,EACA,2BAA2B;AACzB,QAAI,KAAK,oBAAoB;AAC3B,WAAK,mBAAmB,CAAC;AACzB,UAAI,cAAc;AAClB,eAAS,OAAO,KAAK,oBAAoB;AACvC,YAAI,OAAO,OAAO,YAAY,IAAI,SAAS,GAAG;AAC5C,wBAAc;AAAA,YACZ,OAAO,IAAI,SAAS;AAAA,YACpB,OAAO,KAAK;AAAA,UACd;AAAA,QACF,OAAO;AACL,eAAK,iBAAiB,KAAK;AAAA,YACzB,OAAO,OAAO,KAAK,gBAAgB,GAAG,CAAC;AAAA,YACvC,OAAO;AAAA,UACT,CAAC;AAAA,QACH;AAAA,MACF;AACA,UAAI,aAAa;AACf,aAAK,iBAAiB,KAAK,WAAW;AAAA,MACxC;AAAA,IACF;AAAA,EACF;AAAA,EACA,cAAc;AACZ,WAAO,KAAK,QAAQ,MAAM;AAAA,EAC5B;AAAA,EACA,aAAa;AACX,WAAO,KAAK,QAAQ,MAAM,KAAK,aAAa,IAAI;AAAA,EAClD;AAAA,EACA,eAAe;AACb,WAAO,KAAK,KAAK,KAAK,eAAe,KAAK,IAAI;AAAA,EAChD;AAAA,EACA,8BAA8B;AAC5B,QAAI,gBAAgB,KAAK,aAAa,GACpC,eAAe,KAAK,IAAI,KAAK,cAAc,aAAa;AAE1D,QAAI,QAAQ,KAAK,IAAI,GAAG,KAAK,KAAK,KAAK,QAAQ,IAAI,eAAe,CAAC,CAAC,GAClE,MAAM,KAAK,IAAI,gBAAgB,GAAG,QAAQ,eAAe,CAAC;AAE5D,QAAI,QAAQ,KAAK,gBAAgB,MAAM,QAAQ;AAC/C,YAAQ,KAAK,IAAI,GAAG,QAAQ,KAAK;AACjC,WAAO,CAAC,OAAO,GAAG;AAAA,EACpB;AAAA,EACA,kBAAkB;AAChB,SAAK,YAAY,CAAC;AAClB,QAAI,aAAa,KAAK,4BAA4B,GAChD,QAAQ,WAAW,CAAC,GACpB,MAAM,WAAW,CAAC;AACpB,aAAS,IAAI,OAAO,KAAK,KAAK,KAAK;AACjC,WAAK,UAAU,KAAK,IAAI,CAAC;AAAA,IAC3B;AACA,QAAI,KAAK,wBAAwB;AAC/B,WAAK,YAAY,CAAC;AAClB,eAAS,IAAI,GAAG,IAAI,KAAK,aAAa,GAAG,KAAK;AAC5C,aAAK,UAAU,KAAK;AAAA,UAClB,OAAO,OAAO,IAAI,CAAC;AAAA,UACnB,OAAO;AAAA,QACT,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW,GAAG;AACZ,QAAI,KAAK,KAAK,aAAa;AAC3B,QAAI,KAAK,KAAK,IAAI,IAAI;AACpB,WAAK,SAAS,KAAK,OAAO;AAC1B,UAAIC,SAAQ;AAAA,QACV,MAAM;AAAA,QACN,OAAO,KAAK;AAAA,QACZ,MAAM,KAAK;AAAA,QACX,WAAW;AAAA,MACb;AACA,WAAK,gBAAgB;AACrB,WAAK,aAAa,KAAKA,MAAK;AAC5B,WAAK,qBAAqB;AAAA,IAC5B;AAAA,EACF;AAAA,EACA,cAAc;AACZ,UAAM,OAAO,KAAK,QAAQ;AAC1B,QAAI,OAAO,KAAK,KAAK,gBAAgB,KAAK,SAAS,KAAK,cAAc;AACpE,cAAQ,QAAQ,IAAI,EAAE,KAAK,MAAM,KAAK,WAAW,OAAO,CAAC,CAAC;AAAA,IAC5D;AAAA,EACF;AAAA,EACA,UAAU;AACR,WAAO,KAAK,MAAM,KAAK,QAAQ,KAAK,IAAI;AAAA,EAC1C;AAAA,EACA,kBAAkB,OAAO;AACvB,QAAI,CAAC,KAAK,YAAY,GAAG;AACvB,WAAK,WAAW,CAAC;AAAA,IACnB;AACA,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,iBAAiB,OAAO;AACtB,SAAK,WAAW,KAAK,QAAQ,IAAI,CAAC;AAClC,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,iBAAiB,OAAO;AACtB,SAAK,WAAW,KAAK,QAAQ,IAAI,CAAC;AAClC,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,iBAAiB,OAAO;AACtB,QAAI,CAAC,KAAK,WAAW,GAAG;AACtB,WAAK,WAAW,KAAK,aAAa,IAAI,CAAC;AAAA,IACzC;AACA,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,gBAAgB,OAAO,MAAM;AAC3B,SAAK,WAAW,IAAI;AACpB,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,YAAY,OAAO;AACjB,SAAK,WAAW,KAAK,QAAQ,CAAC;AAAA,EAChC;AAAA,EACA,qBAAqB,OAAO;AAC1B,SAAK,WAAW,MAAM,KAAK;AAAA,EAC7B;AAAA,EACA,uBAAuB;AACrB,SAAK,iBAAiB;AAAA,MACpB,MAAM,KAAK,QAAQ;AAAA,MACnB,WAAW,KAAK,aAAa;AAAA,MAC7B,MAAM,KAAK;AAAA,MACX,OAAO,KAAK;AAAA,MACZ,cAAc,KAAK;AAAA,IACrB;AAAA,EACF;AAAA,EACA,QAAQ;AACN,WAAO,KAAK,aAAa,MAAM;AAAA,EACjC;AAAA,EACA,cAAc;AACZ,WAAO,KAAK,aAAa,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI;AAAA,EACxD;AAAA,EACA,IAAI,oBAAoB;AACtB,WAAO,KAAK,0BAA0B,QAAQ,iBAAiB,OAAO,KAAK,YAAY,CAAC,CAAC,EAAE,QAAQ,gBAAgB,OAAO,KAAK,aAAa,CAAC,CAAC,EAAE,QAAQ,WAAW,OAAO,KAAK,eAAe,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,EAAE,QAAQ,UAAU,OAAO,KAAK,IAAI,KAAK,SAAS,KAAK,MAAM,KAAK,YAAY,CAAC,CAAC,EAAE,QAAQ,UAAU,OAAO,KAAK,IAAI,CAAC,EAAE,QAAQ,kBAAkB,OAAO,KAAK,YAAY,CAAC;AAAA,EAClY;AAAA,EACA,OAAO,YAAO,SAAS,kBAAkB,mBAAmB;AAC1D,WAAO,KAAK,qBAAqB,YAAW;AAAA,EAC9C;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,aAAa,CAAC;AAAA,IAC3B,gBAAgB,SAAS,yBAAyB,IAAI,KAAK,UAAU;AACnE,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,UAAUX,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAU,eAAe,CAAC;AAAA,MAC9C;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,uBAAuB,GAAG;AAC3E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,4BAA4B,GAAG;AAChF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,+BAA+B,GAAG;AACnF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,2BAA2B,GAAG;AAC/E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,2BAA2B,GAAG;AAC/E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,YAAY;AAAA,MAC/D;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,cAAc,CAAC,GAAG,gBAAgB,gBAAgB,eAAe;AAAA,MACjE,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,YAAY,CAAC,GAAG,cAAc,cAAc,gBAAgB;AAAA,MAC5D,kBAAkB;AAAA,MAClB,cAAc;AAAA,MACd,eAAe;AAAA,MACf,UAAU;AAAA,MACV,sBAAsB;AAAA,MACtB,2BAA2B;AAAA,MAC3B,uBAAuB,CAAC,GAAG,yBAAyB,yBAAyB,gBAAgB;AAAA,MAC7F,mBAAmB,CAAC,GAAG,qBAAqB,qBAAqB,gBAAgB;AAAA,MACjF,cAAc,CAAC,GAAG,gBAAgB,gBAAgB,eAAe;AAAA,MACjE,MAAM,CAAC,GAAG,QAAQ,QAAQ,eAAe;AAAA,MACzC,oBAAoB;AAAA,MACpB,wBAAwB,CAAC,GAAG,0BAA0B,0BAA0B,gBAAgB;AAAA,MAChG,qBAAqB,CAAC,GAAG,uBAAuB,uBAAuB,gBAAgB;AAAA,MACvF,wBAAwB;AAAA,MACxB,eAAe,CAAC,GAAG,iBAAiB,iBAAiB,gBAAgB;AAAA,MACrE,QAAQ;AAAA,MACR,sBAAsB;AAAA,MACtB,OAAO;AAAA,IACT;AAAA,IACA,SAAS;AAAA,MACP,cAAc;AAAA,IAChB;AAAA,IACA,UAAU,CAAI,6BAAmB,CAAC,cAAc,CAAC,GAAM,oCAA6B,sCAA+B,8BAAoB;AAAA,IACvI,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,GAAG,SAAS,WAAW,WAAW,GAAG,MAAM,GAAG,CAAC,GAAG,WAAW,SAAS,GAAG,CAAC,SAAS,6BAA6B,GAAG,MAAM,GAAG,CAAC,SAAS,uBAAuB,GAAG,MAAM,GAAG,CAAC,QAAQ,UAAU,WAAW,IAAI,SAAS,qBAAqB,GAAG,YAAY,WAAW,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,UAAU,WAAW,IAAI,GAAG,oBAAoB,GAAG,SAAS,YAAY,SAAS,GAAG,CAAC,GAAG,cAAc,GAAG,MAAM,GAAG,CAAC,SAAS,yBAAyB,GAAG,MAAM,GAAG,CAAC,SAAS,qBAAqB,GAAG,MAAM,GAAG,CAAC,cAAc,4BAA4B,GAAG,WAAW,WAAW,YAAY,YAAY,gBAAgB,YAAY,GAAG,MAAM,GAAG,CAAC,QAAQ,UAAU,WAAW,IAAI,GAAG,oBAAoB,GAAG,SAAS,YAAY,SAAS,GAAG,CAAC,SAAS,yBAAyB,GAAG,MAAM,GAAG,CAAC,QAAQ,UAAU,WAAW,IAAI,SAAS,oBAAoB,GAAG,YAAY,WAAW,SAAS,GAAG,MAAM,GAAG,CAAC,SAAS,yBAAyB,GAAG,WAAW,YAAY,iBAAiB,GAAG,MAAM,GAAG,CAAC,cAAc,4BAA4B,GAAG,WAAW,WAAW,YAAY,YAAY,gBAAgB,aAAa,iBAAiB,YAAY,GAAG,MAAM,GAAG,CAAC,SAAS,2BAA2B,GAAG,MAAM,GAAG,CAAC,GAAG,2BAA2B,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,GAAG,CAAC,GAAG,qBAAqB,GAAG,CAAC,QAAQ,UAAU,WAAW,IAAI,GAAG,qBAAqB,GAAG,SAAS,YAAY,SAAS,GAAG,CAAC,SAAS,0BAA0B,GAAG,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,wBAAwB,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,GAAG,uBAAuB,GAAG,CAAC,GAAG,mBAAmB,GAAG,CAAC,QAAQ,UAAU,SAAS,oBAAoB,WAAW,IAAI,GAAG,WAAW,SAAS,GAAG,SAAS,SAAS,GAAG,CAAC,QAAQ,UAAU,WAAW,IAAI,GAAG,oBAAoB,GAAG,SAAS,SAAS,GAAG,CAAC,cAAc,4BAA4B,GAAG,YAAY,WAAW,WAAW,YAAY,YAAY,cAAc,GAAG,CAAC,aAAa,cAAc,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,aAAa,MAAM,GAAG,CAAC,aAAa,cAAc,GAAG,CAAC,GAAG,uBAAuB,GAAG,CAAC,QAAQ,UAAU,WAAW,IAAI,GAAG,oBAAoB,GAAG,SAAS,YAAY,SAAS,GAAG,CAAC,SAAS,yBAAyB,GAAG,MAAM,GAAG,CAAC,GAAG,uBAAuB,GAAG,CAAC,GAAG,yBAAyB,GAAG,iBAAiB,WAAW,UAAU,GAAG,CAAC,cAAc,4BAA4B,GAAG,iBAAiB,YAAY,WAAW,WAAW,YAAY,YAAY,gBAAgB,WAAW,GAAG,CAAC,GAAG,yBAAyB,CAAC;AAAA,IACr4E,UAAU,SAAS,mBAAmB,IAAI,KAAK;AAC7C,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,GAAG,0BAA0B,IAAI,IAAI,OAAO,CAAC;AAAA,MAC7D;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,QAAQ,IAAI,aAAa,OAAO,IAAI,aAAa,IAAI,UAAU,SAAS,CAAC;AAAA,MACzF;AAAA,IACF;AAAA,IACA,cAAc,CAAC,cAAiB,SAAY,SAAY,MAAS,kBAAqB,SAAS,QAAQ,aAAa,aAAgB,iBAAoB,SAAS,QAAQ,qBAAqB,sBAAsB,eAAe,gBAAgB,cAAiB,aAAa;AAAA,IACjR,eAAe;AAAA,IACf,iBAAiB;AAAA,EACnB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,WAAW,CAAC;AAAA,IAClF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,SAAS,CAAC,cAAc,QAAQ,aAAa,aAAa,QAAQ,qBAAqB,sBAAsB,eAAe,gBAAgB,YAAY;AAAA,MACxJ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MA6GV,iBAAiB,wBAAwB;AAAA,MACzC,eAAe,kBAAkB;AAAA,MACjC,WAAW,CAAC,cAAc;AAAA,IAC5B,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC,GAAG;AAAA,IACZ,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,kBAAkB,CAAC;AAAA,MACjB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,2BAA2B,CAAC;AAAA,MAC1B,MAAM;AAAA,IACR,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,oBAAoB,CAAC;AAAA,MACnB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,wBAAwB,CAAC;AAAA,MACvB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,wBAAwB,CAAC;AAAA,MACvB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,MACN,MAAM,CAAC,gBAAgB;AAAA,QACrB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,2BAA2B,CAAC;AAAA,MAC1B,MAAM;AAAA,MACN,MAAM,CAAC,qBAAqB;AAAA,QAC1B,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,8BAA8B,CAAC;AAAA,MAC7B,MAAM;AAAA,MACN,MAAM,CAAC,wBAAwB;AAAA,QAC7B,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,0BAA0B,CAAC;AAAA,MACzB,MAAM;AAAA,MACN,MAAM,CAAC,oBAAoB;AAAA,QACzB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,0BAA0B,CAAC;AAAA,MACzB,MAAM;AAAA,MACN,MAAM,CAAC,oBAAoB;AAAA,QACzB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,kBAAN,MAAM,iBAAgB;AAAA,EACpB,OAAO,YAAO,SAAS,wBAAwB,mBAAmB;AAChE,WAAO,KAAK,qBAAqB,kBAAiB;AAAA,EACpD;AAAA,EACA,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,MAAM;AAAA,EACR,CAAC;AAAA,EACD,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,SAAS,CAAC,WAAW,cAAc,YAAY;AAAA,EACjD,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,iBAAiB,CAAC;AAAA,IACxF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,WAAW,YAAY;AAAA,MACjC,SAAS,CAAC,WAAW,YAAY;AAAA,IACnC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;AC34CH,IAAMQ,OAAM,CAAC,UAAU;AACvB,IAAMC,OAAM,CAAC,SAAS;AACtB,IAAMC,OAAM,CAAC,QAAQ;AACrB,IAAMC,OAAM,CAAC,MAAM;AACnB,IAAMC,OAAM,CAAC,QAAQ;AACrB,IAAMC,OAAM,CAAC,SAAS;AACtB,IAAMC,OAAM,CAAC,cAAc;AAC3B,IAAMC,OAAM,CAAC,eAAe;AAC5B,IAAMC,OAAM,CAAC,gBAAgB;AAC7B,IAAMC,OAAM,CAAC,uBAAuB;AACpC,IAAMC,QAAO,CAAC,cAAc;AAC5B,IAAMC,QAAO,CAAC,YAAY;AAC1B,IAAMC,QAAO,CAAC,cAAc;AAC5B,IAAMC,QAAO,CAAC,gBAAgB;AAC9B,IAAMC,QAAO,CAAC,aAAa;AAC3B,IAAMC,QAAO,CAAC,wBAAwB;AACtC,IAAMC,QAAO,CAAC,0BAA0B;AACxC,IAAMC,QAAO,CAAC,UAAU;AACxB,IAAMC,QAAO,CAAC,cAAc;AAC5B,IAAM,OAAO,CAAC,oBAAoB;AAClC,IAAM,OAAO,CAAC,aAAa;AAC3B,IAAM,OAAO,CAAC,4BAA4B;AAC1C,IAAMC,QAAO,CAAC,2BAA2B;AACzC,IAAMC,QAAO,CAAC,+BAA+B;AAC7C,IAAMC,QAAO,CAAC,2BAA2B;AACzC,IAAMC,QAAO,CAAC,QAAQ;AACtB,IAAM,OAAO,CAAC,WAAW;AACzB,IAAM,OAAO,CAAC,cAAc;AAC5B,IAAM,OAAO,CAAC,oBAAoB;AAClC,IAAM,OAAO,CAAC,sBAAsB;AACpC,IAAM,OAAO,CAAC,OAAO;AACrB,IAAM,OAAO,CAAC,gBAAgB;AAC9B,IAAMC,QAAO,CAAC,sBAAsB;AACpC,IAAMC,QAAO,CAAC,IAAI,IAAI,IAAI,IAAI,IAAI,QAAQ;AAAA,EACxC,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,8BAA8B;AAAA,EAC9B,2BAA2B;AAAA,EAC3B,yBAAyB;AAAA,EACzB,6BAA6B;AAAA,EAC7B,+BAA+B;AACjC;AACA,IAAMC,QAAO,SAAO;AAAA,EAClB,WAAW;AACb;AACA,IAAMC,QAAO,CAAC,IAAI,QAAQ;AAAA,EACxB,MAAM;AAAA,EACN,OAAO;AACT;AACA,IAAM,OAAO,SAAO;AAAA,EAClB,OAAO;AACT;AACA,SAAS,6BAA6B,IAAI,KAAK;AAC7C,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,GAAG;AAAA,EACrB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,sCAAsC,OAAO,WAAW;AAAA,EACxE;AACF;AACA,SAAS,sDAAsD,IAAI,KAAK;AACtE,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,eAAe,EAAE;AAAA,EACnC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,QAAQ,IAAI,EAAE,cAAc,0BAA0B;AAAA,EACtE;AACF;AACA,SAAS,+DAA+D,IAAI,KAAK;AAAC;AAClF,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,gEAAgE,GAAG,GAAG,aAAa;AAAA,EACtG;AACF;AACA,SAAS,+CAA+C,IAAI,KAAK;AAC/D,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,EAAE;AAC/B,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,MAAM,EAAE;AACjF,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,uBAAuB,OAAO,oBAAoB;AAAA,EAC7F;AACF;AACA,SAAS,wCAAwC,IAAI,KAAK;AACxD,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,uDAAuD,GAAG,GAAG,eAAe,EAAE,EAAE,GAAG,gDAAgD,GAAG,GAAG,QAAQ,EAAE;AACpK,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,uBAAuB,CAAC,OAAO,oBAAoB;AACjF,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,uBAAuB,OAAO,oBAAoB;AAAA,EACjF;AACF;AACA,SAAS,yBAAyB,IAAI,KAAK;AACzC,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE;AAC5C,IAAG,qBAAW,GAAG,8BAA8B,GAAG,GAAG,KAAK,EAAE,EAAE,GAAG,yCAAyC,GAAG,GAAG,gBAAgB,EAAE;AAClI,IAAG,uBAAa,EAAE;AAAA,EACpB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,QAAQ,OAAO,WAAW;AACxC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,WAAW;AAAA,EAC3C;AACF;AACA,SAAS,wCAAwC,IAAI,KAAK;AACxD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,yBAAyB,IAAI,KAAK;AACzC,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,EAAE;AAC9B,IAAG,qBAAW,GAAG,yCAAyC,GAAG,GAAG,gBAAgB,EAAE;AAClF,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,mBAAmB,OAAO,gBAAgB;AAAA,EACrF;AACF;AACA,SAAS,gEAAgE,IAAI,KAAK;AAChF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iEAAiE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,sCAAsC,OAAO,mCAAmC;AAAA,EAC3H;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC5F;AACF;AACA,SAAS,gEAAgE,IAAI,KAAK;AAChF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iEAAiE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,yCAAyC,OAAO,sCAAsC;AAAA,EACjI;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC5F;AACF;AACA,SAAS,gEAAgE,IAAI,KAAK;AAChF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iEAAiE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,qCAAqC,OAAO,kCAAkC;AAAA,EACzH;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC5F;AACF;AACA,SAAS,gEAAgE,IAAI,KAAK;AAChF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iEAAiE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,qCAAqC,OAAO,kCAAkC;AAAA,EACzH;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC5F;AACF;AACA,SAAS,iCAAiC,IAAI,KAAK;AACjD,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,eAAe,EAAE;AACtC,IAAG,qBAAW,gBAAgB,SAAS,qEAAqE,QAAQ;AAClH,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,aAAa,MAAM,CAAC;AAAA,IACnD,CAAC;AACD,IAAG,qBAAW,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE,EAAE,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE,EAAE,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE,EAAE,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE;AACxO,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,UAAM,SAAY,wBAAc;AAChC,IAAG,qBAAW,QAAQ,OAAO,IAAI,EAAE,SAAS,OAAO,KAAK,EAAE,gBAAgB,OAAO,YAAY,EAAE,gBAAgB,OAAO,SAAS,EAAE,cAAc,OAAO,mBAAmB,EAAE,sBAAsB,OAAO,kBAAkB,EAAE,iBAAiB,UAAU,OAAO,2BAA2B,QAAQ,YAAY,SAAY,UAAU,OAAO,sBAAsB,EAAE,kBAAkB,UAAU,OAAO,4BAA4B,QAAQ,YAAY,SAAY,UAAU,OAAO,uBAAuB,EAAE,oBAAoB,OAAO,yBAAyB,EAAE,6BAA6B,OAAO,yBAAyB,EAAE,qBAAqB,OAAO,iBAAiB,EAAE,yBAAyB,WAAW,OAAO,mCAAmC,QAAQ,aAAa,SAAY,WAAW,OAAO,8BAA8B,EAAE,yBAAyB,OAAO,qBAAqB,EAAE,0BAA0B,OAAO,sBAAsB,EAAE,iBAAiB,OAAO,aAAa,EAAE,cAAc,OAAO,mBAAmB,EAAE,UAAU,OAAO,eAAe;AACjhC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,sCAAsC,OAAO,mCAAmC;AAC7G,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,yCAAyC,OAAO,sCAAsC;AACnH,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,qCAAqC,OAAO,kCAAkC;AAC3G,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,qCAAqC,OAAO,kCAAkC;AAAA,EAC7G;AACF;AACA,SAAS,wCAAwC,IAAI,KAAK;AACxD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,wCAAwC,IAAI,KAAK;AACxD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,wCAAwC,IAAI,KAAK;AACxD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,yBAAyB,IAAI,KAAK;AACzC,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,EAAE,EAAE,GAAG,SAAS,IAAI,CAAC;AACjD,IAAG,qBAAW,GAAG,yCAAyC,GAAG,GAAG,gBAAgB,EAAE;AAClF,IAAG,yBAAe,GAAG,SAAS,EAAE;AAChC,IAAG,qBAAW,GAAG,yCAAyC,GAAG,GAAG,gBAAgB,EAAE;AAClF,IAAG,uBAAa;AAChB,IAAG,oBAAU,GAAG,SAAS,EAAE;AAC3B,IAAG,yBAAe,GAAG,SAAS,EAAE;AAChC,IAAG,qBAAW,GAAG,yCAAyC,GAAG,GAAG,gBAAgB,EAAE;AAClF,IAAG,uBAAa,EAAE,EAAE;AAAA,EACtB;AACA,MAAI,KAAK,GAAG;AACV,QAAI;AACJ,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,WAAW,OAAO,eAAe,EAAE,WAAW,OAAO,UAAU;AAC7E,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,oBAAoB,OAAO,oBAAoB,OAAO,iBAAiB,EAAE,2BAA8B,0BAAgB,IAAID,OAAM,OAAO,OAAO,CAAC;AAC9J,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,oBAAoB,OAAO,kBAAkB,OAAO,eAAe,EAAE,2BAA8B,0BAAgB,IAAIA,OAAM,OAAO,OAAO,CAAC;AAC1J,IAAG,oBAAU;AACb,IAAG,qBAAW,kBAAkB,OAAO,OAAO,EAAE,2BAA2B,WAAW,OAAO,kBAAkB,QAAQ,aAAa,SAAY,WAAW,OAAO,aAAa;AAC/K,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,oBAAoB,OAAO,kBAAkB,OAAO,eAAe,EAAE,2BAA8B,0BAAgB,IAAIA,OAAM,OAAO,OAAO,CAAC;AAAA,EAC5J;AACF;AACA,SAAS,+BAA+B,IAAI,KAAK;AAC/C,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,OAAO,IAAI,CAAC;AAAA,EAC9B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,aAAa,EAAE,UAAU,IAAI,EAAE,WAAc,0BAAgB,GAAG,MAAM,OAAO,WAAW,CAAC,EAAE,gBAAgB,OAAO,YAAY;AAAA,EACzK;AACF;AACA,SAAS,yBAAyB,IAAI,KAAK;AACzC,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,EAAE;AAC9B,IAAG,qBAAW,GAAG,gCAAgC,GAAG,GAAG,OAAO,EAAE;AAChE,IAAG,oBAAU,GAAG,OAAO,IAAI,CAAC;AAC5B,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,iBAAiB,OAAO,sBAAsB,OAAO,mBAAmB;AACrG,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,OAAO,EAAE,UAAU,KAAK,EAAE,gBAAgB,OAAO,YAAY,EAAE,WAAc,0BAAgB,GAAGC,OAAM,OAAO,aAAa,iBAAiB,OAAO,cAAc,GAAG,CAAC;AAAA,EAC/M;AACF;AACA,SAAS,gEAAgE,IAAI,KAAK;AAChF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iEAAiE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,sCAAsC,OAAO,mCAAmC;AAAA,EAC3H;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC5F;AACF;AACA,SAAS,gEAAgE,IAAI,KAAK;AAChF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iEAAiE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,yCAAyC,OAAO,sCAAsC;AAAA,EACjI;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC5F;AACF;AACA,SAAS,gEAAgE,IAAI,KAAK;AAChF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iEAAiE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,qCAAqC,OAAO,kCAAkC;AAAA,EACzH;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC5F;AACF;AACA,SAAS,gEAAgE,IAAI,KAAK;AAChF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,iEAAiE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC5G;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,qCAAqC,OAAO,kCAAkC;AAAA,EACzH;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,EAAE;AAAA,EAC5F;AACF;AACA,SAAS,iCAAiC,IAAI,KAAK;AACjD,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,eAAe,EAAE;AACtC,IAAG,qBAAW,gBAAgB,SAAS,qEAAqE,QAAQ;AAClH,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,aAAa,MAAM,CAAC;AAAA,IACnD,CAAC;AACD,IAAG,qBAAW,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE,EAAE,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE,EAAE,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE,EAAE,GAAG,oCAAoC,GAAG,GAAG,MAAM,EAAE;AACxO,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,QAAI;AACJ,QAAI;AACJ,QAAI;AACJ,UAAM,SAAY,wBAAc;AAChC,IAAG,qBAAW,QAAQ,OAAO,IAAI,EAAE,SAAS,OAAO,KAAK,EAAE,gBAAgB,OAAO,YAAY,EAAE,gBAAgB,OAAO,SAAS,EAAE,cAAc,OAAO,mBAAmB,EAAE,sBAAsB,OAAO,kBAAkB,EAAE,iBAAiB,UAAU,OAAO,2BAA2B,QAAQ,YAAY,SAAY,UAAU,OAAO,sBAAsB,EAAE,kBAAkB,UAAU,OAAO,4BAA4B,QAAQ,YAAY,SAAY,UAAU,OAAO,uBAAuB,EAAE,oBAAoB,OAAO,yBAAyB,EAAE,6BAA6B,OAAO,yBAAyB,EAAE,qBAAqB,OAAO,iBAAiB,EAAE,yBAAyB,WAAW,OAAO,mCAAmC,QAAQ,aAAa,SAAY,WAAW,OAAO,8BAA8B,EAAE,yBAAyB,OAAO,qBAAqB,EAAE,0BAA0B,OAAO,sBAAsB,EAAE,iBAAiB,OAAO,aAAa,EAAE,cAAc,OAAO,mBAAmB,EAAE,UAAU,OAAO,eAAe;AACjhC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,sCAAsC,OAAO,mCAAmC;AAC7G,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,yCAAyC,OAAO,sCAAsC;AACnH,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,qCAAqC,OAAO,kCAAkC;AAC3G,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,qCAAqC,OAAO,kCAAkC;AAAA,EAC7G;AACF;AACA,SAAS,wCAAwC,IAAI,KAAK;AACxD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,yBAAyB,IAAI,KAAK;AACzC,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,EAAE;AAC9B,IAAG,qBAAW,GAAG,yCAAyC,GAAG,GAAG,gBAAgB,EAAE;AAClF,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,mBAAmB,OAAO,gBAAgB;AAAA,EACrF;AACF;AACA,SAAS,yBAAyB,IAAI,KAAK;AACzC,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,OAAO,IAAI,CAAC;AAAA,EAC9B;AACF;AACA,SAAS,2CAA2C,IAAI,KAAK;AAC3D,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,eAAe;AAAA,EACjC;AACF;AACA,SAAS,2CAA2C,IAAI,KAAK;AAAC;AAC9D,SAAS,6BAA6B,IAAI,KAAK;AAC7C,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,4CAA4C,GAAG,GAAG,aAAa;AAAA,EAClF;AACF;AACA,SAAS,2BAA2B,IAAI,KAAK;AAC3C,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,IAAI,CAAC;AAClC,IAAG,qBAAW,GAAG,4CAA4C,GAAG,GAAG,iBAAiB,EAAE,EAAE,GAAG,8BAA8B,GAAG,GAAG,MAAM,EAAE;AACvI,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,QAAQ,CAAC,OAAO,kCAAkC,CAAC,OAAO,+BAA+B;AACvG,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,kCAAkC,OAAO,+BAA+B;AAAA,EACnH;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,aAAa;AAAA,EAC/B;AACF;AACA,SAAS,2CAA2C,IAAI,KAAK;AAAC;AAC9D,SAAS,6BAA6B,IAAI,KAAK;AAC7C,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,4CAA4C,GAAG,GAAG,aAAa;AAAA,EAClF;AACF;AACA,SAAS,2BAA2B,IAAI,KAAK;AAC3C,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,IAAI,CAAC;AAClC,IAAG,qBAAW,GAAG,0CAA0C,GAAG,GAAG,eAAe,EAAE,EAAE,GAAG,8BAA8B,GAAG,GAAG,MAAM,EAAE;AACnI,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,QAAQ,CAAC,OAAO,oCAAoC,CAAC,OAAO,iCAAiC;AAC3G,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,oCAAoC,OAAO,iCAAiC;AAAA,EACvH;AACF;AACA,IAAM,OAAO,CAAC,kBAAkB,EAAE;AAClC,IAAM,OAAO,CAAC,IAAI,IAAI,IAAI,QAAQ;AAAA,EAChC,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AACX;AACA,IAAM,OAAO,CAAC,IAAI,QAAQ;AAAA,EACxB,WAAW;AAAA,EACX,QAAQ;AACV;AACA,SAAS,4DAA4D,IAAI,KAAK;AAC5E,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,6CAA6C,IAAI,KAAK;AAC7D,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,6DAA6D,GAAG,GAAG,gBAAgB,CAAC;AACrG,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,oBAAuB,wBAAc,EAAE;AAC7C,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,QAAQ,EAAE,2BAA8B,0BAAgB,GAAG,MAAM,mBAAmB,kBAAkB,MAAM,kBAAkB,KAAK,MAAM,OAAO,OAAO,CAAC;AAAA,EACnM;AACF;AACA,SAAS,8BAA8B,IAAI,KAAK;AAC9C,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,8CAA8C,GAAG,GAAG,gBAAgB,CAAC;AAAA,EACxF;AACA,MAAI,KAAK,GAAG;AACV,UAAM,oBAAoB,IAAI;AAC9B,IAAG,qBAAW,QAAQ,kBAAkB,OAAO;AAAA,EACjD;AACF;AACA,SAAS,8CAA8C,IAAI,KAAK;AAC9D,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,+BAA+B,IAAI,KAAK;AAC/C,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,+CAA+C,GAAG,GAAG,gBAAgB,CAAC;AACvF,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,GAAG,oBAAoB,EAAE,2BAA8B,0BAAgB,GAAG,MAAM,OAAO,SAAS,OAAO,MAAM,CAAC;AAAA,EACzJ;AACF;AACA,IAAM,OAAO,CAAC,cAAc;AAC5B,IAAM,OAAO,CAAC,iBAAiB;AAC/B,IAAMC,QAAO,CAAC,YAAY;AAC1B,IAAMC,QAAO,CAAC,aAAa;AAC3B,IAAMC,QAAO,CAAC,cAAc;AAC5B,IAAM,OAAO,CAAC,cAAc;AAC5B,IAAM,OAAO,CAAC,iBAAiB;AAC/B,IAAM,OAAO,CAAC,mBAAmB;AACjC,IAAM,OAAO,CAAC,UAAU;AACxB,IAAM,OAAO,CAAC,oBAAoB,EAAE;AACpC,IAAM,OAAO,SAAO;AAAA,EAClB,QAAQ;AACV;AACA,IAAM,OAAO,CAAC,IAAI,QAAQ;AAAA,EACxB,WAAW;AAAA,EACX,SAAS;AACX;AACA,IAAMC,QAAO,SAAO;AAAA,EAClB,SAAS;AACX;AACA,IAAMC,QAAO,CAAC,IAAI,QAAQ;AAAA,EACxB,cAAc;AAAA,EACd,cAAc;AAChB;AACA,IAAM,OAAO,OAAO,CAAC;AACrB,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,oEAAoE,IAAI,KAAK;AACpF,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,qDAAqD,IAAI,KAAK;AACrE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,qEAAqE,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAChH;AACA,MAAI,KAAK,GAAG;AACV,UAAM,WAAW,IAAI;AACrB,UAAM,qBAAqB,IAAI;AAC/B,IAAG,wBAAc,CAAC;AAClB,UAAM,kBAAqB,sBAAY,EAAE;AACzC,IAAG,qBAAW,oBAAoB,eAAe,EAAE,2BAA8B,0BAAgB,GAAG,MAAM,UAAU,kBAAkB,CAAC;AAAA,EACzI;AACF;AACA,SAAS,mFAAmF,IAAI,KAAK;AACnG,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,oEAAoE,IAAI,KAAK;AACpF,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,oFAAoF,GAAG,GAAG,gBAAgB,EAAE;AAAA,EAC/H;AACA,MAAI,KAAK,GAAG;AACV,UAAM,qBAAqB,IAAI;AAC/B,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,GAAG,kBAAkB,OAAO,GAAG,eAAe,EAAE,2BAA8B,0BAAgB,GAAGD,OAAM,kBAAkB,CAAC;AAAA,EACrK;AACF;AACA,SAAS,sDAAsD,IAAI,KAAK;AACtE,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,qEAAqE,GAAG,GAAG,eAAe,MAAM,GAAM,gCAAsB;AAC7I,IAAG,gCAAsB;AAAA,EAC3B;AACF;AACA,SAAS,uCAAuC,IAAI,KAAK;AACvD,MAAI,KAAK,GAAG;AACV,UAAM,MAAS,2BAAiB;AAChC,IAAG,yBAAe,GAAG,cAAc,IAAI,CAAC;AACxC,IAAG,qBAAW,cAAc,SAAS,wEAAwE,QAAQ;AACnH,MAAG,wBAAc,GAAG;AACpB,YAAM,SAAY,wBAAc;AAChC,aAAU,sBAAY,OAAO,GAAG,eAAe,MAAM,CAAC;AAAA,IACxD,CAAC;AACD,IAAG,qBAAW,GAAG,sDAAsD,GAAG,GAAG,eAAe,MAAM,GAAM,gCAAsB,EAAE,GAAG,uDAAuD,GAAG,GAAG,gBAAgB,EAAE;AAClN,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,qBAAc,0BAAgB,GAAG,MAAM,OAAO,GAAG,iBAAiB,SAAS,OAAO,GAAG,eAAe,MAAS,CAAC;AACjH,IAAG,qBAAW,SAAS,OAAO,GAAG,eAAe,EAAE,gBAAgB,OAAO,iBAAiB,SAAS,SAAY,MAAM,EAAE,YAAY,OAAO,GAAG,yBAAyB,OAAO,GAAG,iBAAiB,EAAE,QAAQ,OAAO,GAAG,IAAI,EAAE,WAAW,OAAO,GAAG,oBAAoB;AACpQ,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,QAAQ,OAAO,GAAG,kBAAkB,OAAO,GAAG,eAAe;AAAA,EAC7E;AACF;AACA,SAAS,wDAAwD,IAAI,KAAK;AACxE,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,yBAAe,GAAG,OAAO,IAAI,CAAC;AACjC,IAAG,qBAAW,GAAG,yDAAyD,GAAG,GAAG,gBAAgB,EAAE;AAClG,IAAG,uBAAa;AAChB,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,UAAM,kBAAqB,sBAAY,EAAE;AACzC,IAAG,oBAAU;AACb,IAAG,qBAAW,WAAc,0BAAgB,GAAGC,OAAM,OAAO,GAAG,iBAAiB,SAAS,OAAO,eAAe,QAAW,CAAC,OAAO,UAAU,OAAO,GAAG,eAAe,WAAW,MAAS,CAAC;AAC1L,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,oBAAoB,eAAe,EAAE,2BAA8B,0BAAgB,GAAG,MAAM,OAAO,iBAAoB,0BAAgB,GAAG,IAAI,CAAC,CAAC;AAAA,EAChK;AACF;AACA,SAAS,wDAAwD,IAAI,KAAK;AACxE,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,+CAA+C,IAAI,KAAK;AAC/D,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,OAAO,IAAI,CAAC;AAAA,EAC9B;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,SAAS,IAAI,CAAC;AACnC,IAAG,qBAAW,GAAG,yDAAyD,GAAG,GAAG,gBAAgB,EAAE;AAClG,IAAG,oBAAU,GAAG,SAAS,EAAE;AAC3B,IAAG,uBAAa;AAChB,IAAG,qBAAW,GAAG,gDAAgD,GAAG,GAAG,OAAO,EAAE;AAAA,EAClF;AACA,MAAI,KAAK,GAAG;AACV,UAAM,WAAW,IAAI;AACrB,UAAM,qBAAqB,IAAI;AAC/B,UAAM,SAAY,wBAAc;AAChC,IAAG,qBAAW,mBAAmB,YAAY;AAC7C,IAAG,qBAAW,OAAO,GAAG,eAAe;AACvC,IAAG,qBAAW,WAAW,mBAAmB,iBAAiB,EAAE,WAAW,OAAO,GAAG,UAAU;AAC9F,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,oBAAoB,OAAO,SAAS,OAAO,GAAG,0BAA0B,OAAO,GAAG,2BAA2B,OAAO,GAAG,oBAAoB,OAAO,GAAG,oBAAoB,OAAO,GAAG,oBAAoB,OAAO,GAAG,iBAAiB,EAAE,2BAA8B,0BAAgB,IAAIN,OAAM,OAAO,OAAO,CAAC;AACzT,IAAG,oBAAU;AACb,IAAG,qBAAW,kBAAkB,OAAO,OAAO,EAAE,0BAA0B,OAAO,SAAS,OAAO,GAAG,sBAAsB,OAAO,GAAG,uBAAuB,OAAO,GAAG,gBAAgB,OAAO,GAAG,gBAAgB,OAAO,GAAG,gBAAgB,OAAO,GAAG,aAAa,EAAE,mBAAmB,QAAQ,EAAE,UAAU,OAAO,MAAM;AACtT,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,MAAM;AAAA,EACrC;AACF;AACA,SAAS,gDAAgD,IAAI,KAAK;AAChE,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,gDAAgD,IAAI,KAAK;AAChE,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,iCAAiC,IAAI,KAAK;AACjD,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,OAAO,IAAI,CAAC,EAAE,GAAG,OAAO,IAAI,EAAE,EAAE,GAAG,SAAS,EAAE;AACnE,IAAG,qBAAW,GAAG,iDAAiD,GAAG,GAAG,gBAAgB,EAAE;AAC1F,IAAG,yBAAe,GAAG,SAAS,EAAE;AAChC,IAAG,qBAAW,GAAG,iDAAiD,GAAG,GAAG,gBAAgB,EAAE;AAC1F,IAAG,uBAAa,EAAE,EAAE,EAAE;AAAA,EACxB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,WAAW,OAAO,GAAG,eAAe,EAAE,WAAW,OAAO,GAAG,UAAU;AACnF,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,SAAS,OAAO,GAAG,0BAA0B,OAAO,GAAG,2BAA2B,OAAO,GAAG,oBAAoB,OAAO,GAAG,oBAAoB,OAAO,GAAG,oBAAoB,OAAO,GAAG,iBAAiB,EAAE,2BAA8B,0BAAgB,GAAGA,OAAM,OAAO,OAAO,CAAC;AACxT,IAAG,oBAAU,CAAC;AACd,IAAG,qBAAW,oBAAoB,OAAO,SAAS,OAAO,GAAG,wBAAwB,OAAO,GAAG,yBAAyB,OAAO,GAAG,kBAAkB,OAAO,GAAG,kBAAkB,OAAO,GAAG,kBAAkB,OAAO,GAAG,eAAe,EAAE,2BAA8B,0BAAgB,GAAGA,OAAM,OAAO,OAAO,CAAC;AAAA,EAC9S;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,eAAe,CAAC;AAAA,EAClC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,cAAc,wBAAwB;AAAA,EACtD;AACF;AACA,SAAS,yDAAyD,IAAI,KAAK;AACzE,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,uBAAuB,CAAC;AAAA,EAC1C;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,cAAc,wBAAwB;AAAA,EACtD;AACF;AACA,SAAS,wDAAwD,IAAI,KAAK;AACxE,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,sBAAsB,CAAC;AAAA,EACzC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,cAAc,wBAAwB;AAAA,EACtD;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,CAAC,EAAE,GAAG,0DAA0D,GAAG,GAAG,uBAAuB,CAAC,EAAE,GAAG,yDAAyD,GAAG,GAAG,sBAAsB,CAAC;AACjR,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,cAAc,CAAC;AAC5C,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,cAAc,CAAC;AAC5C,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,cAAc,EAAE;AAAA,EAC/C;AACF;AACA,SAAS,2CAA2C,IAAI,KAAK;AAAC;AAC9D,SAAS,6BAA6B,IAAI,KAAK;AAC7C,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,4CAA4C,GAAG,GAAG,aAAa;AAAA,EAClF;AACF;AACA,SAAS,2BAA2B,IAAI,KAAK;AAC3C,MAAI,KAAK,GAAG;AACV,IAAG,yBAAe,GAAG,QAAQ,CAAC;AAC9B,IAAG,qBAAW,GAAG,8BAA8B,GAAG,GAAG,MAAM,CAAC;AAC5D,IAAG,uBAAa;AAAA,EAClB;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,GAAG,oBAAoB,OAAO,GAAG,iBAAiB,EAAE,2BAA8B,0BAAgB,GAAGA,OAAM,OAAO,SAAS,CAAC;AAAA,EACvK;AACF;AACA,IAAM,OAAO,CAAC,IAAI,QAAQ;AAAA,EACxB,WAAW;AAAA,EACX,iBAAiB;AACnB;AACA,SAAS,iEAAiE,IAAI,KAAK;AAAC;AACpF,SAAS,mDAAmD,IAAI,KAAK;AACnE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,kEAAkE,GAAG,GAAG,aAAa;AAAA,EACxG;AACF;AACA,SAAS,iDAAiD,IAAI,KAAK;AACjE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,oDAAoD,GAAG,GAAG,MAAM,CAAC;AAAA,EACpF;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,GAAG,wBAAwB,OAAO,GAAG,qBAAqB,EAAE,2BAA8B,0BAAgB,GAAG,MAAM,OAAO,SAAS,OAAO,cAAc,CAAC;AAAA,EACpM;AACF;AACA,SAAS,mCAAmC,IAAI,KAAK;AACnD,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,kDAAkD,GAAG,GAAG,eAAe,CAAC;AACzF,IAAG,gCAAsB;AAAA,EAC3B;AACF;AACA,SAAS,uEAAuE,IAAI,KAAK;AAAC;AAC1F,SAAS,yDAAyD,IAAI,KAAK;AACzE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,wEAAwE,GAAG,GAAG,aAAa;AAAA,EAC9G;AACF;AACA,SAAS,uDAAuD,IAAI,KAAK;AACvE,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,0DAA0D,GAAG,GAAG,MAAM,CAAC;AAAA,EAC1F;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc,CAAC;AACjC,IAAG,qBAAW,oBAAoB,OAAO,GAAG,8BAA8B,OAAO,GAAG,2BAA2B,EAAE,2BAA8B,0BAAgB,GAAGA,OAAM,OAAO,OAAO,CAAC;AAAA,EACzL;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,wDAAwD,GAAG,GAAG,eAAe,CAAC;AAC/F,IAAG,gCAAsB;AAAA,EAC3B;AACF;AACA,SAAS,2DAA2D,IAAI,KAAK;AAC3E,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,4CAA4C,IAAI,KAAK;AAC5D,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,4DAA4D,GAAG,GAAG,gBAAgB,CAAC;AACpG,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,aAAa;AAAA,EACxD;AACF;AACA,SAAS,2DAA2D,IAAI,KAAK;AAC3E,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,4CAA4C,IAAI,KAAK;AAC5D,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,4DAA4D,GAAG,GAAG,gBAAgB,CAAC;AACpG,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,oBAAoB,OAAO,cAAc;AAAA,EACzD;AACF;AACA,SAAS,2DAA2D,IAAI,KAAK;AAC3E,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,iBAAiB;AAAA,EACnC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,sBAAY,eAAe,IAAI;AAAA,EACpC;AACF;AACA,SAAS,4DAA4D,IAAI,KAAK;AAC5E,MAAI,KAAK,GAAG;AACV,IAAG,oBAAU,GAAG,kBAAkB;AAAA,EACpC;AACA,MAAI,KAAK,GAAG;AACV,IAAG,sBAAY,eAAe,IAAI;AAAA,EACpC;AACF;AACA,SAAS,yCAAyC,IAAI,KAAK;AACzD,MAAI,KAAK,GAAG;AACV,IAAG,kCAAwB,CAAC;AAC5B,IAAG,qBAAW,GAAG,4DAA4D,GAAG,GAAG,mBAAmB,CAAC,EAAE,GAAG,6DAA6D,GAAG,GAAG,oBAAoB,CAAC;AACpM,IAAG,gCAAsB;AAAA,EAC3B;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,OAAO,QAAQ,KAAK,QAAQ;AAClD,IAAG,oBAAU;AACb,IAAG,qBAAW,QAAQ,CAAC,OAAO,QAAQ,KAAK,QAAQ;AAAA,EACrD;AACF;AACA,SAAS,0CAA0C,IAAI,KAAK;AAAC;AAC7D,SAAS,4BAA4B,IAAI,KAAK;AAC5C,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,2CAA2C,GAAG,GAAG,aAAa;AAAA,EACjF;AACF;AACA,IAAMO,SAAQ,CAAC;AAAA,EACb;AACF,MAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAqIO,GAAG,gCAAgC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAQpC,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIjC,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAmCvC,GAAG,6BAA6B,CAAC;AAAA,aACrC,GAAG,6BAA6B,CAAC;AAAA,cAChC,GAAG,6BAA6B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAa3B,GAAG,sCAAsC,CAAC;AAAA;AAAA,oBAE1C,GAAG,sCAAsC,CAAC;AAAA;AAAA;AAAA;AAAA,oBAI1C,GAAG,yCAAyC,CAAC;AAAA;AAAA,oBAE7C,GAAG,yCAAyC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAI/C,GAAG,6BAA6B,CAAC;AAAA,aACtC,GAAG,wBAAwB,CAAC;AAAA,oBACrB,GAAG,+BAA+B,CAAC;AAAA;AAAA,oBAEnC,GAAG,+BAA+B,CAAC;AAAA,eACxC,GAAG,0BAA0B,CAAC;AAAA,mBAC1B,GAAG,oCAAoC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIzC,GAAG,6BAA6B,CAAC;AAAA,aACtC,GAAG,wBAAwB,CAAC;AAAA,oBACrB,GAAG,+BAA+B,CAAC;AAAA;AAAA,oBAEnC,GAAG,+BAA+B,CAAC;AAAA,eACxC,GAAG,0BAA0B,CAAC;AAAA,mBAC1B,GAAG,qCAAqC,CAAC;AAAA;AAAA;AAAA;AAAA,eAI7C,GAAG,+BAA+B,CAAC;AAAA,kBAChC,GAAG,kCAAkC,CAAC;AAAA,oBACpC,GAAG,oCAAoC,CAAC;AAAA;AAAA;AAAA,aAG/C,GAAG,6BAA6B,CAAC;AAAA,mBAC3B,GAAG,oCAAoC,CAAC;AAAA;AAAA,6BAE9B,GAAG,+BAA+B,CAAC,WAAW,GAAG,+BAA+B,CAAC,kBAAkB,GAAG,+BAA+B,CAAC;AAAA,4BACvI,GAAG,+BAA+B,CAAC,gBAAgB,GAAG,+BAA+B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,eAKnG,GAAG,+BAA+B,CAAC;AAAA,oBAC9B,GAAG,oCAAoC,CAAC;AAAA;AAAA;AAAA,aAG/C,GAAG,6BAA6B,CAAC;AAAA,kBAC5B,GAAG,kCAAkC,CAAC;AAAA,mBACrC,GAAG,qCAAqC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAW/C,GAAG,2BAA2B,CAAC;AAAA,wBACpB,GAAG,+BAA+B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKzC,GAAG,wCAAwC,CAAC;AAAA,aACjD,GAAG,mCAAmC,CAAC;AAAA;AAAA;AAAA;AAAA,aAIvC,GAAG,iCAAiC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIhC,GAAG,2CAA2C,CAAC;AAAA,aACpD,GAAG,sCAAsC,CAAC;AAAA;AAAA;AAAA;AAAA,aAI1C,GAAG,sCAAsC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIrC,GAAG,yCAAyC,CAAC;AAAA,eAChD,GAAG,wCAAwC,CAAC,IAAI,GAAG,wCAAwC,CAAC,IAAI,GAAG,wCAAwC,CAAC;AAAA,sBACrI,GAAG,yCAAyC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBASjD,GAAG,0BAA0B,CAAC;AAAA,aACnC,GAAG,qBAAqB,CAAC;AAAA,6BACT,GAAG,+BAA+B,CAAC,WAAW,GAAG,+BAA+B,CAAC,kBAAkB,GAAG,+BAA+B,CAAC;AAAA,4BACvI,GAAG,+BAA+B,CAAC,gBAAgB,GAAG,+BAA+B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,oBAK9F,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA,eAG3C,GAAG,6BAA6B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aASnC,GAAG,mCAAmC,CAAC;AAAA,cACtC,GAAG,mCAAmC,CAAC;AAAA,aACxC,GAAG,oCAAoC,CAAC;AAAA;AAAA;AAAA;AAAA,qBAIhC,GAAG,4CAA4C,CAAC;AAAA,6BACxC,GAAG,+BAA+B,CAAC,WAAW,GAAG,+BAA+B,CAAC,kBAAkB,GAAG,+BAA+B,CAAC;AAAA,4BACvI,GAAG,+BAA+B,CAAC,gBAAgB,GAAG,+BAA+B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAMrG,GAAG,0CAA0C,CAAC;AAAA,kBACzC,GAAG,+CAA+C,CAAC;AAAA;AAAA;AAAA;AAAA,kBAInD,GAAG,wDAAwD,CAAC;AAAA,aACjE,GAAG,mDAAmD,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIlD,GAAG,gDAAgD,CAAC;AAAA,eACvD,GAAG,+CAA+C,CAAC,IAAI,GAAG,+CAA+C,CAAC,IAAI,GAAG,+CAA+C,CAAC;AAAA,sBAC1J,GAAG,gDAAgD,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKxD,GAAG,mCAAmC,CAAC;AAAA,aAC5C,GAAG,8BAA8B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,kBAK7B,GAAG,iCAAiC,CAAC;AAAA,eACxC,GAAG,gCAAgC,CAAC,IAAI,GAAG,gCAAgC,CAAC,IAAI,GAAG,gCAAgC,CAAC;AAAA,sBAC7G,GAAG,iCAAiC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAQzC,GAAG,wDAAwD,CAAC;AAAA,aACjE,GAAG,mDAAmD,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIlD,GAAG,gCAAgC,CAAC;AAAA,aACzC,GAAG,2BAA2B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmF5C,IAAMC,WAAU;AAAA,EACd,MAAM,CAAC;AAAA,IACL;AAAA,EACF,OAAO;AAAA,IACL,2BAA2B;AAAA,IAC3B,yBAAyB,SAAS,YAAY,SAAS;AAAA,IACvD,yBAAyB,SAAS;AAAA,IAClC,6BAA6B,SAAS,oBAAoB,SAAS,qBAAqB;AAAA,IACxF,0BAA0B,SAAS;AAAA,IACnC,+BAA+B,SAAS,cAAc,SAAS,iBAAiB;AAAA,IAChF,yBAAyB,SAAS;AAAA,IAClC,kBAAkB,SAAS,SAAS;AAAA,IACpC,kBAAkB,SAAS,SAAS;AAAA,EACtC;AAAA,EACA,SAAS;AAAA;AAAA,EAET,MAAM;AAAA,EACN,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,WAAW,CAAC;AAAA,IACV;AAAA,EACF,MAAM,2BAA2B,SAAS;AAAA,EAC1C,gBAAgB;AAAA,EAChB,OAAO,CAAC;AAAA,IACN;AAAA,EACF,OAAO;AAAA,IACL,qBAAqB;AAAA,IACrB,gCAAgC,SAAS;AAAA,IACzC,+BAA+B,SAAS;AAAA,IACxC,mCAAmC,SAAS,oBAAoB,SAAS,qBAAqB;AAAA,EAChG;AAAA,EACA,OAAO;AAAA,EACP,YAAY,CAAC;AAAA,IACX;AAAA,EACF,OAAO;AAAA,IACL,2BAA2B;AAAA,IAC3B,+BAA+B,SAAS;AAAA,IACxC,gCAAgC,SAAS;AAAA,IACzC,6BAA6B,UAAU;AAAA,IACvC,6BAA6B,SAAS,WAAW,QAAQ;AAAA,EAC3D;AAAA,EACA,eAAe;AAAA,EACf,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,UAAU;AAAA,EACV,aAAa;AAAA,EACb,OAAO;AAAA,EACP,KAAK,CAAC;AAAA,IACJ;AAAA,EACF,OAAO;AAAA,IACL,4BAA4B,SAAS;AAAA,EACvC;AAAA,EACA,UAAU,CAAC;AAAA,IACT;AAAA,EACF,OAAO;AAAA,IACL,6BAA6B,SAAS,WAAW,QAAQ;AAAA,EAC3D;AAAA,EACA,iBAAiB,CAAC;AAAA,IAChB;AAAA,EACF,OAAO;AAAA,IACL,iCAAiC;AAAA,IACjC,0CAA0C,SAAS,WAAW,UAAU;AAAA,EAC1E;AAAA,EACA,SAAS;AAAA,EACT,kBAAkB;AAAA,EAClB,gBAAgB;AAAA,EAChB,gBAAgB;AAAA,EAChB,cAAc;AAAA,EACd,OAAO;AAAA,EACP,YAAY,CAAC;AAAA,IACX;AAAA,EACF,OAAO;AAAA,IACL,6BAA6B,SAAS,WAAW,QAAQ;AAAA,EAC3D;AAAA,EACA,QAAQ;AAAA,EACR,uBAAuB;AACzB;AACA,IAAM,eAAe;AAAA,EACnB,gBAAgB;AAAA,IACd,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,EACZ;AAAA,EACA,OAAO;AAAA,IACL,UAAU;AAAA,EACZ;AACF;AACA,IAAM,iBAAN,MAAM,wBAAuB,UAAU;AAAA,EACrC,OAAO;AAAA,EACP,QAAQD;AAAA,EACR,UAAUC;AAAA,EACV,eAAe;AAAA,EACf,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,uBAAuB,mBAAmB;AACxD,cAAQ,qCAAgC,mCAAiC,gCAAsB,eAAc,IAAI,qBAAqB,eAAc;AAAA,IACtJ;AAAA,EACF,GAAG;AAAA,EACH,OAAO,aAAuB,gBAAG,6BAAmB;AAAA,IAClD,OAAO;AAAA,IACP,SAAS,gBAAe;AAAA,EAC1B,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,gBAAgB,CAAC;AAAA,IACvF,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;AAUH,IAAI;AAAA,CACH,SAAUC,mBAAkB;AAI3B,EAAAA,kBAAiB,MAAM,IAAI;AAI3B,EAAAA,kBAAiB,SAAS,IAAI;AAI9B,EAAAA,kBAAiB,MAAM,IAAI;AAI3B,EAAAA,kBAAiB,aAAa,IAAI;AAIlC,EAAAA,kBAAiB,QAAQ,IAAI;AAI7B,EAAAA,kBAAiB,WAAW,IAAI;AAIhC,EAAAA,kBAAiB,gBAAgB,IAAI;AAIrC,EAAAA,kBAAiB,OAAO,IAAI;AAI5B,EAAAA,kBAAiB,OAAO,IAAI;AAI5B,EAAAA,kBAAiB,eAAe,IAAI;AAIpC,EAAAA,kBAAiB,aAAa,IAAI;AAIlC,EAAAA,kBAAiB,UAAU,IAAI;AAI/B,EAAAA,kBAAiB,aAAa,IAAI;AAIlC,EAAAA,kBAAiB,OAAO,IAAI;AAI5B,EAAAA,kBAAiB,kBAAkB,IAAI;AAIvC,EAAAA,kBAAiB,gBAAgB,IAAI;AAIrC,EAAAA,kBAAiB,gBAAgB,IAAI;AAIrC,EAAAA,kBAAiB,cAAc,IAAI;AAInC,EAAAA,kBAAiB,OAAO,IAAI;AAI5B,EAAAA,kBAAiB,QAAQ,IAAI;AAI7B,EAAAA,kBAAiB,uBAAuB,IAAI;AAC9C,GAAG,qBAAqB,mBAAmB,CAAC,EAAE;AAC9C,IAAM,mBAAN,MAAM,kBAAiB;AAAA,EACrB,aAAa,IAAI,QAAQ;AAAA,EACzB,kBAAkB,IAAI,QAAQ;AAAA,EAC9B,oBAAoB,IAAI,QAAQ;AAAA,EAChC,iBAAiB,IAAI,QAAQ;AAAA,EAC7B,qBAAqB,IAAI,QAAQ;AAAA,EACjC,cAAc,KAAK,WAAW,aAAa;AAAA,EAC3C,mBAAmB,KAAK,gBAAgB,aAAa;AAAA,EACrD,qBAAqB,KAAK,kBAAkB,aAAa;AAAA,EACzD,kBAAkB,KAAK,eAAe,aAAa;AAAA,EACnD,sBAAsB,KAAK,mBAAmB,aAAa;AAAA,EAC3D,OAAO,UAAU;AACf,SAAK,WAAW,KAAK,QAAQ;AAAA,EAC/B;AAAA,EACA,oBAAoB;AAClB,SAAK,gBAAgB,KAAK,IAAI;AAAA,EAChC;AAAA,EACA,cAAc,MAAM;AAClB,SAAK,kBAAkB,KAAK,IAAI;AAAA,EAClC;AAAA,EACA,WAAW,OAAO;AAChB,SAAK,eAAe,KAAK,KAAK;AAAA,EAChC;AAAA,EACA,qBAAqB,OAAO;AAC1B,SAAK,mBAAmB,KAAK,KAAK;AAAA,EACpC;AAAA,EACA,OAAO,YAAO,SAAS,yBAAyB,mBAAmB;AACjE,WAAO,KAAK,qBAAqB,mBAAkB;AAAA,EACrD;AAAA,EACA,OAAO,aAAuB,gBAAG,6BAAmB;AAAA,IAClD,OAAO;AAAA,IACP,SAAS,kBAAiB;AAAA,EAC5B,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,kBAAkB,CAAC;AAAA,IACzF,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;AAKH,IAAM,YAAN,MAAM,mBAAkB,cAAc;AAAA,EACpC,kBAAkB,OAAO,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKP,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKjB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKR,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKZ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,sBAAsB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKtB,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,4BAA4B;AAAA;AAAA;AAAA;AAAA;AAAA,EAK5B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKpB,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKhB,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnB,WAAW;AAAA;AAAA;AAAA;AAAA;AAAA,EAKX,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKlB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,2BAA2B;AAAA;AAAA;AAAA;AAAA;AAAA,EAK3B;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnB,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKrB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,qBAAqB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKrB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnB;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa,CAAC,OAAO,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAK9B,UAAU,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKX;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKd,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,eAAe;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,aAAa,KAAK;AACpB,SAAK,gBAAgB;AACrB,SAAK,aAAa,qBAAqB,KAAK,aAAa;AAAA,EAC3D;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,YAAY;AACd,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,UAAU,KAAK;AACjB,SAAK,aAAa;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,YAAY;AACd,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,UAAU,KAAK;AACjB,SAAK,aAAa;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,gBAAgB;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,cAAc,KAAK;AACrB,SAAK,iBAAiB;AAAA,EACxB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,YAAY;AACd,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,UAAU,KAAK;AACjB,SAAK,aAAa;AAAA,EACpB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,IAAI,QAAQ;AACV,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,MAAM,KAAK;AACb,SAAK,SAAS;AAAA,EAChB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,IAAI,mBAAmB;AACrB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,iBAAiB,KAAK;AACxB,SAAK,oBAAoB;AACzB,YAAQ,IAAI,0FAA0F;AAAA,EACxG;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,gBAAgB;AAClB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,cAAc,OAAO;AACvB,SAAK,iBAAiB;AACtB,SAAK,oBAAoB,KAAK,KAAK,cAAc;AAAA,EACnD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,gBAAgB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhB,kBAAkB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnC,6BAA6B,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9C,WAAW,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM5B,eAAe,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,iBAAiB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,SAAS,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1B,SAAS,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1B,aAAa,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9B,eAAe,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,cAAc,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM/B,eAAe,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,eAAe,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,iBAAiB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,sBAAsB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMvC,yBAAyB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM1C,aAAa,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAM9B,iBAAiB,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMlC,eAAe,IAAI,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhC,sBAAsB,IAAI,aAAa;AAAA,EACvC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS,CAAC;AAAA,EACV,oBAAoB;AAAA,EACpB;AAAA,EACA;AAAA,EACA,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe,CAAC;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AACT,UAAM,SAAS;AACf,QAAI,KAAK,QAAQ,KAAK,kBAAkB,CAAC,KAAK,eAAe;AAC3D,WAAK,WAAW,KAAK,KAAK,uBAAuB,CAAC;AAAA,IACpD;AACA,SAAK,cAAc;AAAA,EACrB;AAAA,EACA;AAAA,EACA,qBAAqB;AACnB,SAAK,UAAU,QAAQ,UAAQ;AAC7B,cAAQ,KAAK,QAAQ,GAAG;AAAA,QACtB,KAAK;AACH,eAAK,kBAAkB,KAAK;AAC5B;AAAA,QACF,KAAK;AACH,eAAK,iBAAiB,KAAK;AAC3B;AAAA,QACF,KAAK;AACH,eAAK,eAAe,KAAK;AACzB;AAAA,QACF,KAAK;AACH,eAAK,iBAAiB,KAAK;AAC3B;AAAA,QACF,KAAK;AACH,eAAK,kBAAkB,KAAK;AAC5B;AAAA,QACF,KAAK;AACH,eAAK,mBAAmB,KAAK;AAC7B;AAAA,QACF,KAAK;AACH,eAAK,uBAAuB,KAAK;AACjC;AAAA,QACF,KAAK;AACH,eAAK,wBAAwB,KAAK;AAClC;AAAA,QACF,KAAK;AACH,eAAK,yBAAyB,KAAK;AACnC;AAAA,QACF,KAAK;AACH,eAAK,gCAAgC,KAAK;AAC1C;AAAA,QACF,KAAK;AACH,eAAK,uBAAuB,KAAK;AACjC;AAAA,QACF,KAAK;AACH,eAAK,qBAAqB,KAAK;AAC/B;AAAA,QACF,KAAK;AACH,eAAK,uBAAuB,KAAK;AACjC;AAAA,QACF,KAAK;AACH,eAAK,yBAAyB,KAAK;AACnC;AAAA,QACF,KAAK;AACH,eAAK,sBAAsB,KAAK;AAChC;AAAA,QACF,KAAK;AACH,eAAK,iCAAiC,KAAK;AAC3C;AAAA,QACF,KAAK;AACH,eAAK,mCAAmC,KAAK;AAC7C;AAAA,QACF,KAAK;AACH,eAAK,mBAAmB,KAAK;AAC7B;AAAA,QACF,KAAK;AACH,eAAK,uBAAuB,KAAK;AACjC;AAAA,QACF,KAAK;AACH,eAAK,6BAA6B,KAAK;AACvC;AAAA,QACF,KAAK;AACH,eAAK,sBAAsB,KAAK;AAChC;AAAA,QACF,KAAK;AACH,eAAK,qCAAqC,KAAK;AAC/C;AAAA,QACF,KAAK;AACH,eAAK,oCAAoC,KAAK;AAC9C;AAAA,QACF,KAAK;AACH,eAAK,wCAAwC,KAAK;AAClD;AAAA,QACF,KAAK;AACH,eAAK,oCAAoC,KAAK;AAC9C;AAAA,QACF,KAAK;AACH,eAAK,iBAAiB,KAAK;AAC3B;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,gBAAgB,OAAO,aAAa;AAAA,EACpC,eAAe,OAAO,gBAAgB;AAAA,EACtC,OAAO,OAAO,MAAM;AAAA,EACpB,YAAY,cAAc;AACxB,UAAM,YAAY,YAAY;AAC9B,QAAI,aAAa,OAAO;AACtB,WAAK,SAAS,aAAa,MAAM;AACjC,UAAI,CAAC,KAAK,MAAM;AACd,aAAK,eAAe,KAAK,SAAS,KAAK,OAAO,SAAS;AACvD,YAAI,KAAK,YAAY,YAAY,KAAK,UAAW,MAAK,WAAW;AAAA,iBAAW,KAAK,YAAY,cAAc,KAAK,cAAe,MAAK,aAAa;AAAA,iBAAW,KAAK,UAAU;AAEzK,eAAK,QAAQ;AAAA,MACjB;AACA,WAAK,sBAAsB;AAC3B,WAAK,aAAa,WAAW,KAAK,KAAK;AAAA,IACzC;AACA,QAAI,aAAa,WAAW;AAC1B,WAAK,aAAa,aAAa,UAAU;AAEzC,UAAI,CAAC,KAAK,QAAQ,KAAK,aAAa;AAClC,YAAI,KAAK,aAAa,UAAU;AAC9B,eAAK,WAAW;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AACA,QAAI,aAAa,WAAW;AAC1B,WAAK,aAAa,aAAa,UAAU;AAEzC,UAAI,CAAC,KAAK,QAAQ,KAAK,aAAa;AAClC,YAAI,KAAK,aAAa,UAAU;AAC9B,eAAK,WAAW;AAAA,QAClB;AAAA,MACF;AAAA,IACF;AACA,QAAI,aAAa,eAAe;AAC9B,WAAK,iBAAiB,aAAa,cAAc;AACjD,UAAI,KAAK,aAAa,YAAY;AAChC,aAAK,aAAa;AAAA,MACpB;AAAA,IACF;AACA,QAAI,aAAa,WAAW;AAC1B,WAAK,aAAa,aAAa,UAAU;AACzC,UAAI,CAAC,KAAK,mCAAmC;AAC3C,aAAK,mBAAmB;AACxB,aAAK,aAAa,kBAAkB;AAAA,MACtC;AACA,WAAK,oCAAoC;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,wBAAwB;AACtB,SAAK,kBAAkB,CAAC;AACxB,QAAI,KAAK,UAAW,MAAK,mBAAmB;AAAA,QAAO,MAAK,eAAe,MAAM,KAAK,iBAAiB,KAAK,OAAO,GAAG,IAAI;AAAA,EACxH;AAAA,EACA,eAAe,QAAQ,OAAO,OAAO,SAAS;AAC5C,QAAI,SAAS,MAAM,QAAQ;AACzB,eAAS,QAAQ,OAAO;AACtB,aAAK,SAAS;AACd,cAAM,UAAU;AAAA,UACd;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS,YAAY,SAAS,OAAO,WAAW;AAAA,QAClD;AACA,aAAK,gBAAgB,KAAK,OAAO;AACjC,YAAI,QAAQ,WAAW,KAAK,UAAU;AACpC,eAAK,eAAe,MAAM,KAAK,UAAU,QAAQ,GAAG,QAAQ,OAAO;AAAA,QACrE;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,qBAAqB;AACnB,QAAI,OAAO,KAAK,iBAAiB,KAAK;AACtC,SAAK,kBAAkB,CAAC;AACxB,QAAI,QAAQ,KAAK,QAAQ;AACvB,YAAM,QAAQ,KAAK,OAAO,IAAI,KAAK;AACnC,eAAS,IAAI,OAAO,IAAI,QAAQ,KAAK,MAAM,KAAK;AAC9C,YAAI,OAAO,KAAK,CAAC;AACjB,YAAI,MAAM;AACR,eAAK,gBAAgB,KAAK;AAAA,YACxB;AAAA,YACA,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,SAAS;AAAA,UACX,CAAC;AACD,eAAK,eAAe,MAAM,KAAK,UAAU,GAAG,IAAI;AAAA,QAClD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,qBAAqB;AACnB,QAAI,KAAK,WAAW,KAAK,YAAY;AACnC,WAAK,eAAe,CAAC;AACrB,UAAI,MAAM,QAAQ,KAAK,UAAU,GAAG;AAClC,iBAAS,QAAQ,KAAK,YAAY;AAChC,eAAK,aAAa,OAAO,iBAAiB,KAAK,MAAM,KAAK,OAAO,CAAC,CAAC,IAAI;AAAA,QACzE;AAAA,MACF,OAAO;AACL,aAAK,aAAa,OAAO,iBAAiB,KAAK,WAAW,MAAM,KAAK,OAAO,CAAC,CAAC,IAAI;AAAA,MACpF;AAAA,IACF;AAAA,EACF;AAAA,EACA,aAAa,OAAO;AAClB,SAAK,QAAQ,MAAM;AACnB,SAAK,OAAO,MAAM;AAClB,QAAI,KAAK,KAAM,MAAK,WAAW,KAAK,KAAK,uBAAuB,CAAC;AAAA,QAAO,MAAK,mBAAmB;AAChG,SAAK,OAAO,KAAK;AAAA,MACf,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,IACb,CAAC;AACD,SAAK,aAAa,WAAW,KAAK,KAAK;AACvC,QAAI,KAAK,YAAY;AACnB,WAAK,eAAe;AAAA,IACtB;AAAA,EACF;AAAA,EACA,KAAK,OAAO;AACV,QAAI,gBAAgB,MAAM;AAC1B,QAAI,KAAK,aAAa,UAAU;AAC9B,WAAK,aAAa,KAAK,cAAc,MAAM,QAAQ,KAAK,YAAY,KAAK,KAAK;AAC9E,WAAK,aAAa,MAAM;AACxB,WAAK,WAAW;AAChB,UAAI,KAAK,mBAAmB,KAAK,YAAY;AAC3C,aAAK,eAAe;AAAA,MACtB;AAAA,IACF;AACA,QAAI,KAAK,aAAa,YAAY;AAChC,UAAI,UAAU,cAAc,WAAW,cAAc;AACrD,UAAI,WAAW,KAAK,YAAY,MAAM,KAAK;AAC3C,UAAI,UAAU;AACZ,YAAI,CAAC,SAAS;AACZ,eAAK,iBAAiB,CAAC;AAAA,YACrB,OAAO,MAAM;AAAA,YACb,OAAO,SAAS,QAAQ;AAAA,UAC1B,CAAC;AACD,cAAI,KAAK,mBAAmB,KAAK,YAAY;AAC3C,iBAAK,eAAe;AAAA,UACtB;AAAA,QACF,OAAO;AACL,mBAAS,QAAQ,SAAS,QAAQ;AAAA,QACpC;AAAA,MACF,OAAO;AACL,YAAI,CAAC,WAAW,CAAC,KAAK,eAAe;AACnC,eAAK,iBAAiB,CAAC;AACvB,cAAI,KAAK,mBAAmB,KAAK,YAAY;AAC3C,iBAAK,eAAe;AAAA,UACtB;AAAA,QACF;AACA,aAAK,cAAc,KAAK;AAAA,UACtB,OAAO,MAAM;AAAA,UACb,OAAO,KAAK;AAAA,QACd,CAAC;AAAA,MACH;AACA,WAAK,aAAa;AAAA,IACpB;AAAA,EACF;AAAA,EACA,aAAa;AACX,QAAI,KAAK,aAAa,KAAK,WAAW;AACpC,UAAI,KAAK,MAAM;AACb,aAAK,WAAW,KAAK,KAAK,uBAAuB,CAAC;AAAA,MACpD,WAAW,KAAK,OAAO;AACrB,aAAK,UAAU,KAAK,KAAK;AACzB,YAAI,KAAK,UAAU,GAAG;AACpB,eAAK,QAAQ;AAAA,QACf;AAAA,MACF;AACA,UAAI,WAAW;AAAA,QACb,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,MACd;AACA,WAAK,OAAO,KAAK,QAAQ;AACzB,WAAK,aAAa,OAAO,QAAQ;AACjC,WAAK,sBAAsB;AAAA,IAC7B;AAAA,EACF;AAAA,EACA,UAAU,OAAO;AACf,QAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC;AAAA,IACF;AACA,QAAI,KAAK,YAAY;AACnB,WAAK,aAAa,KAAK;AAAA,QACrB,MAAM;AAAA,QACN,MAAM,KAAK;AAAA,QACX,OAAO,KAAK;AAAA,QACZ,OAAO,KAAK;AAAA,MACd,CAAC;AAAA,IACH,OAAO;AACL,YAAM,KAAK,CAAC,OAAO,UAAU;AAC3B,YAAI,SAAS,iBAAiB,MAAM,MAAM,KAAK,SAAS;AACxD,YAAI,SAAS,iBAAiB,MAAM,MAAM,KAAK,SAAS;AACxD,YAAI,SAAS;AACb,YAAI,UAAU,QAAQ,UAAU,KAAM,UAAS;AAAA,iBAAY,UAAU,QAAQ,UAAU,KAAM,UAAS;AAAA,iBAAW,UAAU,QAAQ,UAAU,KAAM,UAAS;AAAA,iBAAW,OAAO,WAAW,YAAY,OAAO,WAAW,SAAU,UAAS,OAAO,cAAc,QAAQ,QAAW;AAAA,UAChR,SAAS;AAAA,QACX,CAAC;AAAA,YAAO,UAAS,SAAS,SAAS,KAAK,SAAS,SAAS,IAAI;AAC9D,eAAO,KAAK,YAAY;AAAA,MAC1B,CAAC;AAAA,IACH;AACA,aAAS,QAAQ,OAAO;AACtB,WAAK,UAAU,KAAK,QAAQ;AAAA,IAC9B;AAAA,EACF;AAAA,EACA,eAAe;AACb,QAAI,KAAK,eAAe;AACtB,UAAI,KAAK,MAAM;AACb,aAAK,WAAW,KAAK,KAAK,uBAAuB,CAAC;AAAA,MACpD,WAAW,KAAK,OAAO;AACrB,aAAK,kBAAkB,KAAK,KAAK;AACjC,YAAI,KAAK,UAAU,GAAG;AACpB,eAAK,QAAQ;AAAA,QACf;AAAA,MACF;AACA,WAAK,OAAO,KAAK;AAAA,QACf,eAAe,KAAK;AAAA,MACtB,CAAC;AACD,WAAK,sBAAsB;AAC3B,WAAK,aAAa,OAAO,KAAK,aAAa;AAAA,IAC7C;AAAA,EACF;AAAA,EACA,kBAAkB,OAAO;AACvB,QAAI,CAAC,SAAS,MAAM,WAAW,GAAG;AAChC;AAAA,IACF;AACA,QAAI,KAAK,YAAY;AACnB,WAAK,aAAa,KAAK;AAAA,QACrB,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,QACX,eAAe,KAAK;AAAA,MACtB,CAAC;AAAA,IACH,OAAO;AACL,YAAM,KAAK,CAAC,OAAO,UAAU;AAC3B,eAAO,KAAK,eAAe,OAAO,OAAO,KAAK,eAAe,CAAC;AAAA,MAChE,CAAC;AAAA,IACH;AACA,aAAS,QAAQ,OAAO;AACtB,WAAK,kBAAkB,KAAK,QAAQ;AAAA,IACtC;AAAA,EACF;AAAA,EACA,eAAe,OAAO,OAAO,eAAe,OAAO;AACjD,QAAI,QAAQ,KAAK,aAAa,KAAK,QAAQ,cAAc,KAAK,CAAC,GAAG;AAChE,aAAO;AAAA,IACT;AACA,QAAI,SAAS,iBAAiB,MAAM,MAAM,cAAc,KAAK,EAAE,KAAK;AACpE,QAAI,SAAS,iBAAiB,MAAM,MAAM,cAAc,KAAK,EAAE,KAAK;AACpE,QAAI,SAAS;AACb,QAAI,UAAU,QAAQ,UAAU,KAAM,UAAS;AAAA,aAAY,UAAU,QAAQ,UAAU,KAAM,UAAS;AAAA,aAAW,UAAU,QAAQ,UAAU,KAAM,UAAS;AAC5J,QAAI,OAAO,UAAU,YAAY,kBAAkB,QAAQ;AACzD,UAAI,OAAO,iBAAiB,UAAU,QAAQ;AAC5C,eAAO,cAAc,KAAK,EAAE,QAAQ,OAAO,cAAc,QAAQ,QAAW;AAAA,UAC1E,SAAS;AAAA,QACX,CAAC;AAAA,MACH;AAAA,IACF,OAAO;AACL,eAAS,SAAS,SAAS,KAAK;AAAA,IAClC;AACA,QAAI,UAAU,QAAQ;AACpB,aAAO,cAAc,SAAS,IAAI,QAAQ,KAAK,eAAe,OAAO,OAAO,eAAe,QAAQ,CAAC,IAAI;AAAA,IAC1G;AACA,WAAO,cAAc,KAAK,EAAE,QAAQ;AAAA,EACtC;AAAA,EACA,YAAY,OAAO;AACjB,QAAI,KAAK,iBAAiB,KAAK,cAAc,QAAQ;AACnD,eAAS,IAAI,GAAG,IAAI,KAAK,cAAc,QAAQ,KAAK;AAClD,YAAI,KAAK,cAAc,CAAC,EAAE,UAAU,OAAO;AACzC,iBAAO,KAAK,cAAc,CAAC;AAAA,QAC7B;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,SAAS,OAAO;AACd,QAAI,KAAK,aAAa,UAAU;AAC9B,aAAO,KAAK,aAAa,KAAK,cAAc;AAAA,IAC9C,WAAW,KAAK,aAAa,YAAY;AACvC,UAAI,SAAS;AACb,UAAI,KAAK,eAAe;AACtB,iBAAS,IAAI,GAAG,IAAI,KAAK,cAAc,QAAQ,KAAK;AAClD,cAAI,KAAK,cAAc,CAAC,EAAE,SAAS,OAAO;AACxC,qBAAS;AACT;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,yBAAyB;AACvB,WAAO;AAAA,MACL,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,MACX,WAAW,KAAK;AAAA,MAChB,WAAW,KAAK;AAAA,MAChB,SAAS,KAAK;AAAA,MACd,cAAc,KAAK,WAAW,KAAK,QAAQ,QAAQ,IAAI,KAAK,QAAQ,QAAQ,EAAE,QAAQ;AAAA,MACtF,eAAe,KAAK;AAAA,MACpB,aAAa,MAAM,KAAK,GAAG,cAAc;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,eAAe,OAAO;AACpB,SAAK,WAAW,KAAK,gDAChB,KAAK,uBAAuB,IAC5B,QAFgB;AAAA,MAGnB,MAAM,MAAM,OAAO,MAAM;AAAA,IAC3B,EAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,iBAAiB;AACf,QAAI,KAAK,cAAe,MAAK,qBAAqB,CAAC;AAAA,QAAO,MAAK,SAAS;AAAA,MACtE,KAAK;AAAA,IACP,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,qBAAqB,OAAO;AAC1B,QAAI,KAAK,qBAAqB;AAC5B,WAAK,oBAAoB,qBAAqB,KAAK;AAAA,IACrD;AACA,QAAI,KAAK,2BAA2B;AAClC,WAAK,oBAAoB,qBAAqB,KAAK;AAAA,IACrD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,SAAS;AAChB,QAAI,KAAK,qBAAqB;AAC5B,WAAK,oBAAoB,SAAS,OAAO;AAAA,IAC3C;AACA,QAAI,KAAK,2BAA2B;AAClC,WAAK,oBAAoB,SAAS,OAAO;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,UAAU;AACR,QAAI,OAAO,KAAK,iBAAiB,KAAK;AACtC,WAAO,QAAQ,QAAQ,KAAK,UAAU;AAAA,EACxC;AAAA,EACA,sBAAsB;AACpB,WAAO,KAAK,GAAG,cAAc,SAAS,CAAC;AAAA,EACzC;AAAA,EACA,oBAAoB,OAAO;AACzB,QAAI,gBAAgB,UAAU,KAAK,oBAAoB,aAAa,EAAE;AACtE,SAAK,qBAAqB,MAAM,QAAQ,gBAAgB,KAAK,oBAAoB,cAAc;AAC/F,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,eAAe,OAAO;AACpB,QAAI,gBAAgB,UAAU,KAAK,oBAAoB,aAAa,EAAE;AACtE,aAAS,KAAK,oBAAoB,eAAe,qBAAqB;AACtE,SAAK,sBAAsB,cAAc,MAAM,SAAS,KAAK,oBAAoB,cAAc,eAAe;AAC9G,SAAK,sBAAsB,cAAc,MAAM,MAAM;AACrD,SAAK,sBAAsB,cAAc,MAAM,OAAO,MAAM,QAAQ,gBAAgB,KAAK,oBAAoB,cAAc,aAAa;AACxI,SAAK,sBAAsB,cAAc,MAAM,UAAU;AAAA,EAC3D;AAAA,EACA,kBAAkB,OAAO,QAAQ;AAC/B,QAAI,QAAQ,KAAK,sBAAsB,cAAc,aAAa,KAAK;AACvE,QAAI,cAAc,OAAO;AACzB,QAAI,iBAAiB,cAAc;AACnC,QAAI,WAAW,OAAO,MAAM,YAAY;AACxC,QAAI,cAAc,QAAQ,SAAS,QAAQ,GAAG;AAC5C,UAAI,KAAK,qBAAqB,OAAO;AACnC,YAAI,aAAa,OAAO;AACxB,eAAO,CAAC,WAAW,cAAc;AAC/B,uBAAa,WAAW;AAAA,QAC1B;AACA,YAAI,YAAY;AACd,cAAI,kBAAkB,WAAW,cAAc;AAC/C,cAAI,qBAAqB,WAAW,MAAM,YAAY;AACtD,cAAI,iBAAiB,MAAM,kBAAkB,SAAS,kBAAkB,GAAG;AACzE,gBAAI,KAAK,YAAY;AACnB,kBAAI,iBAAiB,KAAK,yBAAyB,MAAM;AACzD,kBAAI,sBAAsB,WAAW,gBAAgB,oCAAoC,KAAK,WAAW,gBAAgB,4BAA4B;AACrJ,kBAAI,wBAAwB,WAAW,gBAAgB,2CAA2C;AAClG,kBAAI,wBAAwB,WAAW,gBAAgB,2CAA2C;AAClG,kBAAI,oBAAoB,SAAS,MAAM;AACvC,mBAAK,eAAe,uBAAuB,mBAAmB,gBAAgB,eAAe;AAC7F,mBAAK,eAAe,qBAAqB,mBAAmB,gBAAgB,eAAe;AAC3F,mBAAK,eAAe,uBAAuB,mBAAmB,gBAAgB,eAAe;AAAA,YAC/F,OAAO;AACL,qBAAO,MAAM,QAAQ,iBAAiB;AACtC,kBAAI,YAAY;AACd,2BAAW,MAAM,QAAQ,kBAAkB;AAAA,cAC7C;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF,WAAW,KAAK,qBAAqB,UAAU;AAC7C,YAAI,KAAK,YAAY;AACnB,cAAI,iBAAiB,KAAK,yBAAyB,MAAM;AACzD,cAAI,iBAAiB,WAAW,gBAAgB,8BAA8B,KAAK,WAAW,gBAAgB,sBAAsB;AACpI,cAAI,mBAAmB,WAAW,gBAAgB,gCAAgC;AAClF,cAAI,mBAAmB,WAAW,gBAAgB,gCAAgC;AAClF,cAAI,sBAAsB,WAAW,gBAAgB,oCAAoC,KAAK,WAAW,gBAAgB,4BAA4B;AACrJ,cAAI,wBAAwB,WAAW,gBAAgB,2CAA2C;AAClG,cAAI,wBAAwB,WAAW,gBAAgB,2CAA2C;AAClG,8BAAoB,MAAM,QAAQ,oBAAoB,cAAc,QAAQ;AAC5E,gCAAsB,MAAM,QAAQ,sBAAsB,cAAc,QAAQ;AAChF,cAAI,uBAAuB;AACzB,kCAAsB,MAAM,QAAQ,sBAAsB,cAAc,QAAQ;AAAA,UAClF;AACA,cAAI,oBAAoB,SAAS,MAAM;AACvC,gBAAM,2BAA2B,SAAS,oBAAoB,cAAc,QAAQ;AACpF,gBAAM,6BAA6B,SAAS,sBAAsB,cAAc,QAAQ;AACxF,gBAAM,wBAAwB,KAAK,oBAAoB,cAAc,eAAe;AACpF,cAAI,WAAW,CAAC,WAAW,OAAO,OAAOC,2BAA0B;AACjE,gBAAI,aAAa,OAAO;AACtB,wBAAU,MAAM,QAAQA,yBAAwB,QAAQ,wBAAwB,cAAc,IAAI,OAAO;AACzG,oBAAM,MAAM,QAAQ,QAAQ;AAAA,YAC9B;AAAA,UACF;AACA,mBAAS,gBAAgB,qBAAqB,0BAA0B,qBAAqB;AAC7F,mBAAS,kBAAkB,uBAAuB,4BAA4B,qBAAqB;AACnG,mBAAS,kBAAkB,uBAAuB,4BAA4B,qBAAqB;AACnG,eAAK,eAAe,uBAAuB,mBAAmB,gBAAgB,IAAI;AAClF,eAAK,eAAe,qBAAqB,mBAAmB,gBAAgB,IAAI;AAChF,eAAK,eAAe,uBAAuB,mBAAmB,gBAAgB,IAAI;AAAA,QACpF,OAAO;AACL,eAAK,eAAe,cAAc,MAAM,QAAQ,KAAK,gBAAgB,cAAc,cAAc,QAAQ;AACzG,iBAAO,MAAM,QAAQ,iBAAiB;AACtC,cAAI,iBAAiB,KAAK,gBAAgB,cAAc,MAAM;AAC9D,eAAK,mBAAmB,cAAc,MAAM,QAAQ,iBAAiB;AAAA,QACvE;AAAA,MACF;AACA,WAAK,YAAY,KAAK;AAAA,QACpB,SAAS;AAAA,QACT;AAAA,MACF,CAAC;AAAA,IACH;AACA,SAAK,sBAAsB,cAAc,MAAM,UAAU;AACzD,gBAAY,KAAK,oBAAoB,eAAe,qBAAqB;AAAA,EAC3E;AAAA,EACA,yBAAyB,QAAQ;AAC/B,QAAI,QAAQ;AACV,UAAI,SAAS,OAAO;AACpB,aAAO,UAAU,CAAC,SAAS,QAAQ,6BAA6B,GAAG;AACjE,iBAAS,OAAO;AAAA,MAClB;AACA,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,eAAe,OAAO,mBAAmB,gBAAgB,iBAAiB;AACxE,QAAI,OAAO;AACT,UAAI,WAAW,MAAM,SAAS,CAAC,EAAE,aAAa,aAAa,MAAM,SAAS,CAAC,IAAI;AAC/E,UAAI,UAAU;AACZ,YAAI,MAAM,SAAS,SAAS,iBAAiB;AAC7C,YAAI,UAAU,IAAI;AAClB,YAAI,MAAM,QAAQ,iBAAiB;AACnC,YAAI,WAAW,iBAAiB;AAC9B,kBAAQ,MAAM,QAAQ,kBAAkB;AAAA,QAC1C;AAAA,MACF,OAAO;AACL,cAAM;AAAA,MACR;AAAA,IACF;AAAA,EACF;AAAA,EACA,kBAAkB,OAAO,eAAe;AACtC,SAAK,mBAAmB,2BAA2B,KAAK,6BAA6B,aAAa;AAClG,SAAK,oBAAoB,4BAA4B,KAAK,+BAA+B,aAAa;AACtG,SAAK,gBAAgB;AACrB,UAAM,aAAa,QAAQ,QAAQ,GAAG;AAAA,EACxC;AAAA,EACA,kBAAkB,OAAO,YAAY;AACnC,QAAI,KAAK,sBAAsB,KAAK,iBAAiB,YAAY;AAC/D,YAAM,eAAe;AACrB,UAAI,kBAAkB,UAAU,KAAK,oBAAoB,aAAa;AACtE,UAAI,mBAAmB,UAAU,UAAU;AAC3C,UAAI,KAAK,iBAAiB,YAAY;AACpC,YAAI,aAAa,iBAAiB,OAAO,gBAAgB;AACzD,YAAI,YAAY,gBAAgB,MAAM,iBAAiB;AACvD,YAAI,eAAe,iBAAiB,OAAO,WAAW,cAAc;AACpE,aAAK,4BAA4B,cAAc,MAAM,MAAM,iBAAiB,MAAM,gBAAgB,OAAO,KAAK,oBAAoB,KAAK;AACvI,aAAK,8BAA8B,cAAc,MAAM,MAAM,iBAAiB,MAAM,gBAAgB,MAAM,WAAW,eAAe;AACpI,YAAI,MAAM,QAAQ,cAAc;AAC9B,eAAK,4BAA4B,cAAc,MAAM,OAAO,aAAa,WAAW,cAAc,KAAK,KAAK,KAAK,mBAAmB,CAAC,IAAI;AACzI,eAAK,8BAA8B,cAAc,MAAM,OAAO,aAAa,WAAW,cAAc,KAAK,KAAK,KAAK,mBAAmB,CAAC,IAAI;AAC3I,eAAK,eAAe;AAAA,QACtB,OAAO;AACL,eAAK,4BAA4B,cAAc,MAAM,OAAO,aAAa,KAAK,KAAK,KAAK,mBAAmB,CAAC,IAAI;AAChH,eAAK,8BAA8B,cAAc,MAAM,OAAO,aAAa,KAAK,KAAK,KAAK,mBAAmB,CAAC,IAAI;AAClH,eAAK,eAAe;AAAA,QACtB;AACA,aAAK,4BAA4B,cAAc,MAAM,UAAU;AAC/D,aAAK,8BAA8B,cAAc,MAAM,UAAU;AAAA,MACnE,OAAO;AACL,cAAM,aAAa,aAAa;AAAA,MAClC;AAAA,IACF;AAAA,EACF;AAAA,EACA,kBAAkB,OAAO;AACvB,QAAI,KAAK,sBAAsB,KAAK,eAAe;AACjD,YAAM,eAAe;AACrB,WAAK,4BAA4B,cAAc,MAAM,UAAU;AAC/D,WAAK,8BAA8B,cAAc,MAAM,UAAU;AAAA,IACnE;AAAA,EACF;AAAA,EACA,aAAa,OAAO,YAAY;AAC9B,UAAM,eAAe;AACrB,QAAI,KAAK,eAAe;AACtB,UAAI,YAAY,WAAW,iBAAiB,KAAK,eAAe,qBAAqB;AACrF,UAAI,YAAY,WAAW,iBAAiB,YAAY,qBAAqB;AAC7E,UAAI,YAAY,aAAa;AAC7B,UAAI,cAAc,YAAY,aAAa,KAAK,KAAK,iBAAiB,MAAM,YAAY,aAAa,KAAK,KAAK,iBAAiB,IAAI;AAClI,oBAAY;AAAA,MACd;AACA,UAAI,aAAa,YAAY,aAAa,KAAK,iBAAiB,GAAG;AACjE,oBAAY,YAAY;AAAA,MAC1B;AACA,UAAI,aAAa,YAAY,aAAa,KAAK,iBAAiB,IAAI;AAClE,oBAAY,YAAY;AAAA,MAC1B;AACA,UAAI,WAAW;AACb,qBAAa,KAAK,SAAS,WAAW,SAAS;AAC/C,aAAK,aAAa,KAAK;AAAA,UACrB;AAAA,UACA;AAAA,UACA,SAAS,KAAK;AAAA,QAChB,CAAC;AAAA,MACH;AACA,WAAK,4BAA4B,cAAc,MAAM,UAAU;AAC/D,WAAK,8BAA8B,cAAc,MAAM,UAAU;AACjE,WAAK,cAAc,YAAY;AAC/B,WAAK,gBAAgB;AACrB,WAAK,eAAe;AAAA,IACtB;AAAA,EACF;AAAA,EACA,eAAe,OAAO;AACpB,QAAI,aAAa,MAAM,cAAc,OAAO;AAC5C,QAAI,cAAc,WAAW,cAAc,YAAY,cAAc,OAAO,SAAS,MAAM,cAAc,QAAQ,aAAa,GAAG;AAC/H;AAAA,IACF;AACA,QAAI,KAAK,eAAe;AACtB,WAAK,oCAAoC;AACzC,UAAI,UAAU,MAAM;AACpB,UAAI,WAAW,KAAK,WAAW,QAAQ,IAAI;AAC3C,UAAI,gBAAgB,KAAK,aAAa,QAAQ,KAAK;AACnD,UAAI,eAAe,KAAK,UAAU,OAAO,iBAAiB,QAAQ,KAAK,MAAM,KAAK,OAAO,CAAC,IAAI;AAC9F,UAAI,eAAe;AACjB,YAAI,gBAAgB,MAAM;AAC1B,YAAI,UAAU,cAAc,WAAW,cAAc;AACrD,YAAI,YAAY,SAAS;AACvB,cAAI,KAAK,sBAAsB,GAAG;AAChC,iBAAK,aAAa;AAClB,iBAAK,eAAe,CAAC;AACrB,iBAAK,gBAAgB,KAAK,IAAI;AAAA,UAChC,OAAO;AACL,gBAAI,iBAAiB,KAAK,qBAAqB,QAAQ,IAAI;AAC3D,iBAAK,aAAa,KAAK,UAAU,OAAO,CAAC,KAAK,MAAM,KAAK,cAAc;AACvE,iBAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,gBAAI,cAAc;AAChB,qBAAO,KAAK,aAAa,YAAY;AAAA,YACvC;AAAA,UACF;AACA,eAAK,eAAe,KAAK;AAAA,YACvB,eAAe,MAAM;AAAA,YACrB,MAAM,QAAQ;AAAA,YACd,MAAM;AAAA,UACR,CAAC;AAAA,QACH,OAAO;AACL,cAAI,KAAK,sBAAsB,GAAG;AAChC,iBAAK,aAAa,QAAQ;AAC1B,iBAAK,gBAAgB,KAAK,QAAQ,IAAI;AACtC,gBAAI,cAAc;AAChB,mBAAK,eAAe,CAAC;AACrB,mBAAK,aAAa,YAAY,IAAI;AAAA,YACpC;AAAA,UACF,WAAW,KAAK,wBAAwB,GAAG;AACzC,gBAAI,SAAS;AACX,mBAAK,aAAa,KAAK,aAAa,CAAC;AAAA,YACvC,OAAO;AACL,mBAAK,aAAa,CAAC;AACnB,mBAAK,eAAe,CAAC;AAAA,YACvB;AACA,iBAAK,aAAa,CAAC,GAAG,KAAK,WAAW,QAAQ,IAAI;AAClD,iBAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,gBAAI,cAAc;AAChB,mBAAK,aAAa,YAAY,IAAI;AAAA,YACpC;AAAA,UACF;AACA,eAAK,aAAa,KAAK;AAAA,YACrB,eAAe,MAAM;AAAA,YACrB,MAAM,QAAQ;AAAA,YACd,MAAM;AAAA,YACN,OAAO,MAAM;AAAA,UACf,CAAC;AAAA,QACH;AAAA,MACF,OAAO;AACL,YAAI,KAAK,kBAAkB,UAAU;AACnC,cAAI,UAAU;AACZ,iBAAK,aAAa;AAClB,iBAAK,eAAe,CAAC;AACrB,iBAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,iBAAK,eAAe,KAAK;AAAA,cACvB,eAAe,MAAM;AAAA,cACrB,MAAM,QAAQ;AAAA,cACd,MAAM;AAAA,YACR,CAAC;AAAA,UACH,OAAO;AACL,iBAAK,aAAa,QAAQ;AAC1B,iBAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,iBAAK,aAAa,KAAK;AAAA,cACrB,eAAe,MAAM;AAAA,cACrB,MAAM,QAAQ;AAAA,cACd,MAAM;AAAA,cACN,OAAO,MAAM;AAAA,YACf,CAAC;AACD,gBAAI,cAAc;AAChB,mBAAK,eAAe,CAAC;AACrB,mBAAK,aAAa,YAAY,IAAI;AAAA,YACpC;AAAA,UACF;AAAA,QACF,WAAW,KAAK,kBAAkB,YAAY;AAC5C,cAAI,UAAU;AACZ,gBAAI,iBAAiB,KAAK,qBAAqB,QAAQ,IAAI;AAC3D,iBAAK,aAAa,KAAK,UAAU,OAAO,CAAC,KAAK,MAAM,KAAK,cAAc;AACvE,iBAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,iBAAK,eAAe,KAAK;AAAA,cACvB,eAAe,MAAM;AAAA,cACrB,MAAM,QAAQ;AAAA,cACd,MAAM;AAAA,YACR,CAAC;AACD,gBAAI,cAAc;AAChB,qBAAO,KAAK,aAAa,YAAY;AAAA,YACvC;AAAA,UACF,OAAO;AACL,iBAAK,aAAa,KAAK,YAAY,CAAC,GAAG,KAAK,WAAW,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI;AACpF,iBAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,iBAAK,aAAa,KAAK;AAAA,cACrB,eAAe,MAAM;AAAA,cACrB,MAAM,QAAQ;AAAA,cACd,MAAM;AAAA,cACN,OAAO,MAAM;AAAA,YACf,CAAC;AACD,gBAAI,cAAc;AAChB,mBAAK,aAAa,YAAY,IAAI;AAAA,YACpC;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,WAAK,aAAa,kBAAkB;AAAA,IACtC;AACA,SAAK,aAAa;AAAA,EACpB;AAAA,EACA,kBAAkB,OAAO;AACvB,SAAK,aAAa;AAAA,EACpB;AAAA,EACA,oBAAoB,OAAO;AACzB,QAAI,KAAK,aAAa;AACpB,YAAM,OAAO,MAAM,QAAQ;AAC3B,UAAI,KAAK,6BAA6B,YAAY;AAChD,aAAK,uBAAuB;AAC5B,aAAK,2BAA2B,KAAK,IAAI;AACzC,aAAK,oBAAoB,KAAK;AAAA,UAC5B,eAAe,MAAM;AAAA,UACrB;AAAA,QACF,CAAC;AACD,aAAK,YAAY,KAAK,MAAM,aAAa;AACzC,aAAK,aAAa,cAAc,IAAI;AAAA,MACtC,WAAW,KAAK,6BAA6B,SAAS;AACpD,aAAK,oCAAoC;AACzC,YAAI,WAAW,KAAK,WAAW,IAAI;AACnC,YAAI,eAAe,KAAK,UAAU,OAAO,iBAAiB,KAAK,MAAM,KAAK,OAAO,CAAC,IAAI;AACtF,YAAI,CAAC,UAAU;AACb,cAAI,KAAK,sBAAsB,GAAG;AAChC,iBAAK,YAAY;AACjB,iBAAK,gBAAgB,KAAK,IAAI;AAAA,UAChC,WAAW,KAAK,wBAAwB,GAAG;AACzC,iBAAK,YAAY,CAAC,IAAI;AACtB,iBAAK,gBAAgB,KAAK,KAAK,SAAS;AAAA,UAC1C;AACA,cAAI,cAAc;AAChB,iBAAK,aAAa,YAAY,IAAI;AAAA,UACpC;AAAA,QACF;AACA,aAAK,YAAY,KAAK,MAAM,aAAa;AACzC,aAAK,oBAAoB,KAAK;AAAA,UAC5B,eAAe,MAAM;AAAA,UACrB;AAAA,QACF,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA,EACA,uBAAuB,OAAO;AAE5B,SAAK,YAAY,KAAK,aAAa,CAAC;AACpC,SAAK,oCAAoC;AACzC,QAAI,OAAO,MAAM,QAAQ;AACzB,QAAI,WAAW,KAAK,WAAW,IAAI;AACnC,QAAI,UAAU;AACZ,WAAK,uBAAuB,MAAM,KAAK;AACvC,UAAI,MAAM,QAAQ,QAAQ;AACxB,aAAK,qBAAqB,KAAK,QAAQ,KAAK;AAAA,MAC9C;AACA,WAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,WAAK,eAAe,KAAK;AAAA,QACvB,eAAe;AAAA,QACf;AAAA,MACF,CAAC;AAAA,IACH,OAAO;AACL,WAAK,uBAAuB,MAAM,IAAI;AACtC,UAAI,MAAM,QAAQ,QAAQ;AACxB,aAAK,qBAAqB,KAAK,QAAQ,IAAI;AAAA,MAC7C;AACA,WAAK,gBAAgB,KAAK,KAAK,SAAS;AACxC,WAAK,aAAa,KAAK;AAAA,QACrB,eAAe;AAAA,QACf;AAAA,MACF,CAAC;AAAA,IACH;AACA,SAAK,aAAa,kBAAkB;AAAA,EACtC;AAAA,EACA,wBAAwB,OAAO,OAAO;AAEpC,QAAI,OAAO,KAAK,iBAAiB,KAAK;AACtC,SAAK,aAAa,SAAS,OAAO,KAAK,MAAM,IAAI,CAAC;AAClD,SAAK,UAAU,KAAK;AACpB,QAAI,CAAC,OAAO;AACV,WAAK,aAAa,CAAC;AACnB,WAAK,eAAe,CAAC;AAAA,IACvB;AACA,SAAK,oCAAoC;AACzC,SAAK,gBAAgB,KAAK,KAAK,UAAU;AACzC,SAAK,aAAa,kBAAkB;AACpC,SAAK,uBAAuB,KAAK;AAAA,MAC/B,eAAe;AAAA,MACf,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AAAA,EACA,UAAU,SAAS;AACjB,QAAI,OAAO,KAAK,iBAAiB,KAAK;AACtC,QAAI,CAAC,KAAK,eAAe;AACvB,UAAI,QAAQ,KAAK,QAAQ;AACvB,iBAAS,QAAQ,MAAM;AACrB,eAAK,uBAAuB,MAAM,OAAO;AAAA,QAC3C;AAAA,MACF;AAAA,IACF,OAAO;AAEL,UAAI,QAAQ,KAAK,QAAQ;AACvB,iBAAS,QAAQ,MAAM;AACrB,eAAK,cAAc,MAAM,OAAO;AAAA,QAClC;AACA,aAAK,oBAAoB,KAAK,KAAK,aAAa;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AAAA,EACA,qBAAqB,MAAM,QAAQ;AAEjC,QAAI,KAAK,YAAY,KAAK,SAAS,QAAQ;AACzC,UAAI,qBAAqB;AACzB,UAAI,uBAAuB;AAC3B,UAAI,eAAe,KAAK,UAAU,OAAO,iBAAiB,KAAK,MAAM,KAAK,OAAO,CAAC,IAAI;AACtF,eAAS,SAAS,KAAK,UAAU;AAC/B,YAAI,KAAK,WAAW,KAAK,EAAG;AAAA,iBAA8B,MAAM,gBAAiB,wBAAuB;AAAA,MAC1G;AACA,UAAI,UAAU,sBAAsB,KAAK,SAAS,QAAQ;AACxD,aAAK,aAAa,CAAC,GAAI,KAAK,aAAa,CAAC,GAAI,IAAI;AAClD,aAAK,kBAAkB;AACvB,YAAI,cAAc;AAChB,eAAK,aAAa,YAAY,IAAI;AAAA,QACpC;AAAA,MACF,OAAO;AACL,YAAI,CAAC,QAAQ;AACX,cAAI,QAAQ,KAAK,qBAAqB,IAAI;AAC1C,cAAI,SAAS,GAAG;AACd,iBAAK,aAAa,KAAK,UAAU,OAAO,CAAC,KAAK,MAAM,KAAK,KAAK;AAC9D,gBAAI,cAAc;AAChB,qBAAO,KAAK,aAAa,YAAY;AAAA,YACvC;AAAA,UACF;AAAA,QACF;AACA,YAAI,wBAAwB,qBAAqB,KAAK,sBAAsB,KAAK,SAAS,OAAQ,MAAK,kBAAkB;AAAA,YAAU,MAAK,kBAAkB;AAAA,MAC5J;AAAA,IACF;AACA,QAAI,SAAS,KAAK;AAClB,SAAK,UAAU;AACf,QAAI,QAAQ;AACV,WAAK,qBAAqB,QAAQ,MAAM;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,uBAAuB,MAAM,QAAQ;AAEnC,QAAI,QAAQ,KAAK,qBAAqB,IAAI;AAC1C,QAAI,eAAe,KAAK,UAAU,OAAO,iBAAiB,KAAK,MAAM,KAAK,OAAO,CAAC,IAAI;AACtF,QAAI,UAAU,SAAS,IAAI;AACzB,WAAK,aAAa,CAAC,GAAI,KAAK,aAAa,CAAC,GAAI,IAAI;AAClD,UAAI,cAAc;AAChB,aAAK,aAAa,YAAY,IAAI;AAAA,MACpC;AAAA,IACF,WAAW,CAAC,UAAU,QAAQ,IAAI;AAChC,WAAK,aAAa,KAAK,UAAU,OAAO,CAAC,KAAK,MAAM,KAAK,KAAK;AAC9D,UAAI,cAAc;AAChB,eAAO,KAAK,aAAa,YAAY;AAAA,MACvC;AAAA,IACF;AACA,SAAK,kBAAkB;AACvB,SAAK,UAAU;AACf,QAAI,KAAK,YAAY,KAAK,SAAS,QAAQ;AACzC,eAAS,SAAS,KAAK,UAAU;AAC/B,aAAK,uBAAuB,OAAO,MAAM;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW,MAAM;AAEf,QAAI,QAAQ,KAAK,WAAW;AAC1B,UAAI,KAAK,SAAS;AAChB,YAAI,KAAK,eAAe,SAAS,GAAG;AAClC,iBAAO,KAAK,SAAS;AAAA,QACvB,OAAO;AACL,iBAAO,KAAK,aAAa,iBAAiB,KAAK,MAAM,KAAK,OAAO,CAAC,MAAM;AAAA,QAC1E;AAAA,MACF,OAAO;AACL,YAAI,MAAM,QAAQ,KAAK,SAAS,EAAG,QAAO,KAAK,qBAAqB,IAAI,IAAI;AAAA,YAAQ,QAAO,KAAK,OAAO,MAAM,KAAK,SAAS;AAAA,MAC7H;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,eAAe,MAAM;AACnB,WAAO,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,cAAc,KAAK,QAAQ,IAAI,CAAC,GAAG,YAAY,OAAO;AAAA,EAC/G;AAAA,EACA,sBAAsB,MAAM;AAC1B,WAAO,KAAK,iBAAiB,KAAK,gBAAgB,KAAK,cAAc,KAAK,QAAQ,IAAI,CAAC,GAAG,mBAAmB,OAAO;AAAA,EACtH;AAAA,EACA,QAAQ,MAAM;AACZ,WAAO,iBAAiB,MAAM,KAAK,OAAO,KAAK,iBAAiB,MAAM,MAAM,KAAK,OAAO;AAAA,EAC1F;AAAA,EACA,eAAe,OAAO;AACpB,QAAI;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AACJ,QAAI,OAAO,QAAQ;AACnB,QAAI,KAAK,eAAe;AACtB,WAAK,cAAc,MAAM,KAAK;AAC9B,UAAI,KAAK,QAAQ;AACf,aAAK,YAAY,KAAK,QAAQ,KAAK;AAAA,MACrC;AACA,WAAK,oBAAoB,KAAK,KAAK,aAAa;AAAA,IAClD,OAAO;AACL,WAAK,uBAAuB;AAAA,QAC1B;AAAA,QACA;AAAA,MACF,CAAC;AAAA,IACH;AACA,SAAK,aAAa,kBAAkB;AAAA,EACtC;AAAA,EACA,cAAc,MAAM,OAAO;AACzB,QAAI,OAAO;AACT,WAAK,cAAc,KAAK,QAAQ,IAAI,CAAC,IAAI;AAAA,QACvC,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,IACF,OAAO;AACL,aAAO,KAAK,cAAc,KAAK,QAAQ,IAAI,CAAC;AAAA,IAC9C;AACA,QAAI,KAAK,YAAY,KAAK,SAAS,QAAQ;AACzC,eAAS,SAAS,KAAK,UAAU;AAC/B,aAAK,cAAc,OAAO,KAAK;AAAA,MACjC;AAAA,IACF;AAAA,EACF;AAAA,EACA,YAAY,MAAM,OAAO;AACvB,QAAI,oBAAoB;AACxB,QAAI,uBAAuB;AAC3B,aAAS,SAAS,KAAK,UAAU;AAC/B,UAAI,KAAK,cAAc,KAAK,QAAQ,KAAK,CAAC,KAAK,KAAK,cAAc,KAAK,QAAQ,KAAK,CAAC,EAAE,QAAS;AAAA,eAA6B,KAAK,cAAc,KAAK,QAAQ,KAAK,CAAC,KAAK,KAAK,cAAc,KAAK,QAAQ,KAAK,CAAC,EAAE,eAAgB,wBAAuB;AAAA,IACzP;AACA,QAAI,SAAS,sBAAsB,KAAK,SAAS,QAAQ;AACvD,WAAK,cAAc,KAAK,QAAQ,IAAI,CAAC,IAAI;AAAA,QACvC,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,IACF,OAAO;AACL,UAAI,CAAC,OAAO;AACV,eAAO,KAAK,cAAc,KAAK,QAAQ,IAAI,CAAC;AAAA,MAC9C;AACA,UAAI,wBAAwB,oBAAoB,KAAK,sBAAsB,KAAK,SAAS,OAAQ,MAAK,cAAc,KAAK,QAAQ,IAAI,CAAC,IAAI;AAAA,QACxI,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,UAAO,MAAK,cAAc,KAAK,QAAQ,IAAI,CAAC,IAAI;AAAA,QAC9C,SAAS;AAAA,QACT,gBAAgB;AAAA,MAClB;AAAA,IACF;AACA,QAAI,SAAS,KAAK;AAClB,QAAI,QAAQ;AACV,WAAK,YAAY,QAAQ,KAAK;AAAA,IAChC;AAAA,EACF;AAAA,EACA,qBAAqB,MAAM;AACzB,QAAI,QAAQ;AACZ,QAAI,KAAK,aAAa,KAAK,UAAU,QAAQ;AAC3C,eAAS,IAAI,GAAG,IAAI,KAAK,UAAU,QAAQ,KAAK;AAC9C,YAAI,KAAK,OAAO,MAAM,KAAK,UAAU,CAAC,CAAC,GAAG;AACxC,kBAAQ;AACR;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,WAAO;AAAA,EACT;AAAA,EACA,wBAAwB;AACtB,WAAO,KAAK,kBAAkB;AAAA,EAChC;AAAA,EACA,0BAA0B;AACxB,WAAO,KAAK,kBAAkB;AAAA,EAChC;AAAA,EACA,OAAO,OAAO,OAAO;AACnB,WAAO,KAAK,uBAAuB,WAAW,OAAO,OAAO,KAAK,IAAI,OAAO,MAAM,MAAM,MAAM,MAAM,KAAK,OAAO;AAAA,EAClH;AAAA,EACA,OAAO,OAAO,OAAO,WAAW;AAC9B,QAAI,KAAK,eAAe;AACtB,mBAAa,KAAK,aAAa;AAAA,IACjC;AACA,QAAI,CAAC,KAAK,cAAc,KAAK,GAAG;AAC9B,WAAK,QAAQ,KAAK,IAAI;AAAA,QACpB;AAAA,QACA;AAAA,MACF;AAAA,IACF,WAAW,KAAK,QAAQ,KAAK,GAAG;AAC9B,aAAO,KAAK,QAAQ,KAAK;AAAA,IAC3B;AACA,SAAK,gBAAgB,WAAW,MAAM;AACpC,WAAK,QAAQ;AACb,WAAK,gBAAgB;AAAA,IACvB,GAAG,KAAK,WAAW;AAAA,EACrB;AAAA,EACA,aAAa,OAAO,WAAW;AAC7B,SAAK,OAAO,OAAO,UAAU,SAAS;AAAA,EACxC;AAAA,EACA,cAAcC,SAAQ;AACpB,QAAIA,YAAW,QAAQA,YAAW,QAAW;AAC3C,UAAI,OAAOA,YAAW,YAAYA,QAAO,KAAK,EAAE,UAAU,KAAK,MAAM,QAAQA,OAAM,KAAKA,QAAO,UAAU,EAAG,QAAO;AAAA,UAAU,QAAO;AAAA,IACtI;AACA,WAAO;AAAA,EACT;AAAA,EACA,UAAU;AACR,QAAI,KAAK,MAAM;AACb,WAAK,WAAW,KAAK,KAAK,uBAAuB,CAAC;AAAA,IACpD,OAAO;AACL,UAAI,CAAC,KAAK,OAAO;AACf;AAAA,MACF;AACA,UAAI,CAAC,KAAK,UAAU,GAAG;AACrB,aAAK,gBAAgB;AACrB,YAAI,KAAK,WAAW;AAClB,eAAK,eAAe,KAAK,QAAQ,KAAK,MAAM,SAAS;AAAA,QACvD;AAAA,MACF,OAAO;AACL,YAAI;AACJ,YAAI,KAAK,QAAQ,QAAQ,GAAG;AAC1B,cAAI,CAAC,KAAK,WAAW,CAAC,KAAK,mBAAoB,OAAM,IAAI,MAAM,gFAAgF;AAAA,cAAO,2BAA0B,KAAK,sBAAsB,KAAK;AAAA,QAClN;AACA,aAAK,gBAAgB,CAAC;AACtB,cAAM,eAAe,KAAK,eAAe;AACzC,YAAI,iBAAiB;AACrB,iBAAS,QAAQ,KAAK,OAAO;AAC3B,cAAI,WAAW,mBACV;AAEL,cAAI,aAAa;AACjB,cAAI,cAAc;AAClB,cAAI;AACJ,mBAAS,QAAQ,KAAK,SAAS;AAC7B,gBAAI,KAAK,QAAQ,eAAe,IAAI,KAAK,SAAS,UAAU;AAC1D,kBAAI,aAAa,KAAK,QAAQ,IAAI;AAClC,kBAAI,cAAc;AAClB,kBAAI,cAAc,WAAW;AAC7B,kBAAI,kBAAkB,WAAW,aAAa;AAC9C,kBAAI,mBAAmB,KAAK,cAAc,QAAQ,eAAe;AACjE,kCAAoB;AAAA,gBAClB;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF;AACA,kBAAI,gBAAgB,EAAE,KAAK,kBAAkB,UAAU,iBAAiB,KAAK,KAAK,gBAAgB,UAAU,iBAAiB,MAAM,CAAC,gBAAgB,EAAE,KAAK,gBAAgB,UAAU,iBAAiB,KAAK,KAAK,kBAAkB,UAAU,iBAAiB,IAAI;AAC/P,6BAAa;AAAA,cACf;AACA,kBAAI,CAAC,YAAY;AACf;AAAA,cACF;AAAA,YACF;AAAA,UACF;AACA,cAAI,KAAK,QAAQ,QAAQ,KAAK,CAAC,eAAe,yBAAyB;AACrE,gBAAI,oBAAoB,mBACnB;AAEL,gBAAI,cAAc;AAClB,gBAAI,cAAc,KAAK,QAAQ,QAAQ,EAAE;AACzC,gBAAI,mBAAmB,KAAK,cAAc,QAAQ,KAAK,QAAQ,QAAQ,EAAE,SAAS;AAClF,gCAAoB;AAAA,cAClB;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YACF;AACA,gBAAI,iBAAiB,KAAK,kBAAkB,mBAAmB,iBAAiB,KAAK,KAAK,gBAAgB,mBAAmB,iBAAiB,MAAM,CAAC,iBAAiB,KAAK,gBAAgB,mBAAmB,iBAAiB,KAAK,KAAK,kBAAkB,mBAAmB,iBAAiB,IAAI;AACjS,4BAAc;AACd,yBAAW;AAAA,YACb;AAAA,UACF;AACA,cAAI,UAAU;AACd,cAAI,KAAK,QAAQ,QAAQ,GAAG;AAC1B,sBAAU,cAAc;AAAA,UAC1B;AACA,cAAI,SAAS;AACX,iBAAK,cAAc,KAAK,QAAQ;AAAA,UAClC;AACA,2BAAiB,kBAAkB,CAAC,cAAc,eAAe,cAAc,KAAK,cAAc,SAAS,KAAK,CAAC,eAAe,KAAK,cAAc,WAAW;AAAA,QAChK;AACA,YAAI,CAAC,gBAAgB;AACnB,eAAK,gBAAgB;AAAA,QACvB;AACA,YAAI,KAAK,WAAW;AAClB,eAAK,eAAe,KAAK,gBAAgB,KAAK,cAAc,SAAS,KAAK,QAAQ,KAAK,MAAM,SAAS;AAAA,QACxG;AAAA,MACF;AACA,WAAK,GAAG,aAAa;AAAA,IACvB;AACA,SAAK,QAAQ;AACb,UAAM,gBAAgB,KAAK,iBAAiB,KAAK;AACjD,SAAK,SAAS,KAAK;AAAA,MACjB,SAAS,KAAK;AAAA,MACd;AAAA,IACF,CAAC;AACD,SAAK,aAAa,WAAW,aAAa;AAC1C,SAAK,sBAAsB;AAC3B,QAAI,KAAK,YAAY;AACnB,WAAK,eAAe;AAAA,IACtB;AAAA,EACF;AAAA,EACA,kBAAkB,MAAM,mBAAmB;AACzC,QAAI,MAAM;AACR,UAAI,UAAU;AACd,UAAI,KAAK,UAAU;AACjB,YAAI,aAAa,CAAC,GAAG,KAAK,QAAQ;AAClC,aAAK,WAAW,CAAC;AACjB,iBAAS,aAAa,YAAY;AAChC,cAAI,gBAAgB,mBACf;AAEL,cAAI,KAAK,gBAAgB,eAAe,iBAAiB,GAAG;AAC1D,sBAAU;AACV,iBAAK,SAAS,KAAK,aAAa;AAAA,UAClC;AAAA,QACF;AAAA,MACF;AACA,UAAI,SAAS;AACX,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AAAA,EACA,gBAAgB,MAAM,eAAe;AACnC,QAAI;AAAA,MACF;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI;AACJ,QAAI,UAAU;AACd,UAAM,YAAY,WAAS,iBAAiB,iBAAiB,KAAK,MAAM,KAAK,GAAG,aAAa,KAAK,YAAY;AAC9G,cAAU,yBAAyB,SAAS,wBAAwB,KAAK,uBAAqB,UAAU,kBAAkB,SAAS,iBAAiB,CAAC,IAAI,UAAU,WAAW;AAC9K,QAAI,CAAC,WAAW,gBAAgB,CAAC,KAAK,WAAW,IAAI,GAAG;AACtD,gBAAU,KAAK,kBAAkB,MAAM;AAAA,QACrC;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,KAAK;AAAA,IACR;AACA,WAAO;AAAA,EACT;AAAA,EACA,WAAW,MAAM;AACf,WAAO,KAAK,SAAS,QAAQ,QAAQ,EAAE,KAAK,YAAY,KAAK,SAAS;AAAA,EACxE;AAAA,EACA,YAAY;AACV,QAAI,QAAQ;AACZ,aAAS,QAAQ,KAAK,SAAS;AAC7B,UAAI,KAAK,QAAQ,eAAe,IAAI,GAAG;AACrC,gBAAQ;AACR;AAAA,MACF;AAAA,IACF;AACA,WAAO,CAAC;AAAA,EACV;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AACN,SAAK,aAAa;AAClB,SAAK,aAAa;AAClB,SAAK,iBAAiB;AACtB,SAAK,aAAa,OAAO,IAAI;AAC7B,SAAK,gBAAgB;AACrB,SAAK,UAAU,CAAC;AAChB,SAAK,QAAQ;AACb,QAAI,KAAK,MAAM;AACb,WAAK,WAAW,KAAK,KAAK,uBAAuB,CAAC;AAAA,IACpD,OAAO;AACL,WAAK,eAAe,KAAK,SAAS,KAAK,OAAO,SAAS;AAAA,IACzD;AAAA,EACF;AAAA,EACA,kBAAkB,MAAM,MAAM,OAAO;AACnC,SAAK,cAAc;AACnB,SAAK,kBAAkB;AACvB,SAAK,mBAAmB;AACxB,SAAK,yBAAyB;AAAA,EAChC;AAAA,EACA,qBAAqB;AACnB,WAAO,KAAK,eAAe,KAAK,KAAK,aAAa,sBAAsB,EAAE,WAAW;AAAA,EACvF;AAAA,EACA,2BAA2B;AACzB,QAAI,CAAC,KAAK,sBAAsB;AAC9B,WAAK,uBAAuB,KAAK,SAAS,OAAO,KAAK,UAAU,SAAS,WAAS;AAChF,YAAI,KAAK,eAAe,CAAC,KAAK,oBAAoB,KAAK,mBAAmB,GAAG;AAC3E,sBAAY,KAAK,aAAa,gBAAgB;AAC9C,eAAK,cAAc;AACnB,eAAK,eAAe,KAAK;AAAA,YACvB,OAAO,KAAK;AAAA,YACZ,MAAM,KAAK;AAAA,UACb,CAAC;AACD,eAAK,mBAAmB;AACxB,eAAK,kBAAkB;AACvB,eAAK,2BAA2B;AAAA,QAClC;AACA,aAAK,mBAAmB;AAAA,MAC1B,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,6BAA6B;AAC3B,QAAI,KAAK,sBAAsB;AAC7B,WAAK,qBAAqB;AAC1B,WAAK,uBAAuB;AAAA,IAC9B;AAAA,EACF;AAAA,EACA,cAAc;AACZ,SAAK,2BAA2B;AAChC,SAAK,cAAc;AACnB,SAAK,mBAAmB;AACxB,SAAK,kBAAkB;AACvB,SAAK,cAAc;AACnB,UAAM,YAAY;AAAA,EACpB;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,kBAAkB,mBAAmB;AACnD,cAAQ,gCAA2B,8BAA4B,gCAAsB,UAAS,IAAI,qBAAqB,UAAS;AAAA,IAClI;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,aAAa,GAAG,CAAC,aAAa,GAAG,CAAC,cAAc,CAAC;AAAA,IAC9D,gBAAgB,SAAS,yBAAyB,IAAI,KAAK,UAAU;AACnE,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,UAAUpC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAU,MAAM,CAAC;AACnC,QAAG,yBAAe,UAAU,MAAM,CAAC;AACnC,QAAG,yBAAe,UAAU,MAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAUC,OAAM,CAAC;AACnC,QAAG,yBAAe,UAAU,eAAe,CAAC;AAAA,MAC9C;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,oBAAoB,GAAG;AACxE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,mBAAmB,GAAG;AACvE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,kBAAkB,GAAG;AACtE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,gBAAgB,GAAG;AACpE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,kBAAkB,GAAG;AACtE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,mBAAmB,GAAG;AACvE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,wBAAwB,GAAG;AAC5E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,yBAAyB,GAAG;AAC7E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,0BAA0B,GAAG;AAC9E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,iCAAiC,GAAG;AACrF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,wBAAwB,GAAG;AAC5E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,sBAAsB,GAAG;AAC1E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,wBAAwB,GAAG;AAC5E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,0BAA0B,GAAG;AAC9E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,uBAAuB,GAAG;AAC3E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,kCAAkC,GAAG;AACtF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,oCAAoC,GAAG;AACxF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,oBAAoB,GAAG;AACxE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,wBAAwB,GAAG;AAC5E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,8BAA8B,GAAG;AAClF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,uBAAuB,GAAG;AAC3E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,sCAAsC,GAAG;AAC1F,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,qCAAqC,GAAG;AACzF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,yCAAyC,GAAG;AAC7F,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,qCAAqC,GAAG;AACzF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,kBAAkB,GAAG;AACtE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,YAAY;AAAA,MAC/D;AAAA,IACF;AAAA,IACA,WAAW,SAAS,gBAAgB,IAAI,KAAK;AAC3C,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAYC,OAAM,CAAC;AAAA,MACxB;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,qBAAqB,GAAG;AACzE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,wBAAwB,GAAG;AAC5E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,8BAA8B,GAAG;AAClF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,gCAAgC,GAAG;AACpF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,iBAAiB,GAAG;AACrE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,sBAAsB,GAAG;AAC1E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,4BAA4B,GAAG;AAAA,MAClF;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,SAAS;AAAA,MACT,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,YAAY,CAAC,GAAG,cAAc,cAAc,gBAAgB;AAAA,MAC5D,MAAM,CAAC,GAAG,QAAQ,QAAQ,gBAAgB;AAAA,MAC1C,gBAAgB,CAAC,GAAG,kBAAkB,kBAAkB,gBAAgB;AAAA,MACxE,WAAW,CAAC,GAAG,aAAa,aAAa,gBAAgB;AAAA,MACzD,MAAM,CAAC,GAAG,QAAQ,QAAQ,eAAe;AAAA,MACzC,OAAO,CAAC,GAAG,SAAS,SAAS,eAAe;AAAA,MAC5C,WAAW,CAAC,GAAG,aAAa,aAAa,eAAe;AAAA,MACxD,oBAAoB;AAAA,MACpB,qBAAqB,CAAC,GAAG,uBAAuB,uBAAuB,gBAAgB;AAAA,MACvF,mBAAmB;AAAA,MACnB,qBAAqB;AAAA,MACrB,2BAA2B;AAAA,MAC3B,2BAA2B;AAAA,MAC3B,uBAAuB,CAAC,GAAG,yBAAyB,yBAAyB,gBAAgB;AAAA,MAC7F,wBAAwB,CAAC,GAAG,0BAA0B,0BAA0B,gBAAgB;AAAA,MAChG,mBAAmB,CAAC,GAAG,qBAAqB,qBAAqB,gBAAgB;AAAA,MACjF,eAAe,CAAC,GAAG,iBAAiB,iBAAiB,gBAAgB;AAAA,MACrE,kBAAkB,CAAC,GAAG,oBAAoB,oBAAoB,eAAe;AAAA,MAC7E,UAAU;AAAA,MACV,iBAAiB,CAAC,GAAG,mBAAmB,mBAAmB,gBAAgB;AAAA,MAC3E,YAAY,CAAC,GAAG,cAAc,cAAc,gBAAgB;AAAA,MAC5D,eAAe;AAAA,MACf,sBAAsB;AAAA,MACtB,0BAA0B;AAAA,MAC1B,SAAS;AAAA,MACT,kBAAkB,CAAC,GAAG,oBAAoB,oBAAoB,gBAAgB;AAAA,MAC9E,oBAAoB;AAAA,MACpB,UAAU,CAAC,GAAG,YAAY,YAAY,gBAAgB;AAAA,MACtD,SAAS,CAAC,GAAG,WAAW,WAAW,gBAAgB;AAAA,MACnD,aAAa;AAAA,MACb,YAAY,CAAC,GAAG,cAAc,cAAc,gBAAgB;AAAA,MAC5D,YAAY,CAAC,GAAG,cAAc,cAAc,gBAAgB;AAAA,MAC5D,cAAc;AAAA,MACd,eAAe,CAAC,GAAG,iBAAiB,iBAAiB,gBAAgB;AAAA,MACrE,uBAAuB,CAAC,GAAG,yBAAyB,yBAAyB,eAAe;AAAA,MAC5F,sBAAsB;AAAA,MACtB,oBAAoB,CAAC,GAAG,sBAAsB,sBAAsB,eAAe;AAAA,MACnF,aAAa;AAAA,MACb,eAAe;AAAA,MACf,kBAAkB,CAAC,GAAG,oBAAoB,oBAAoB,gBAAgB;AAAA,MAC9E,kBAAkB;AAAA,MAClB,oBAAoB,CAAC,GAAG,sBAAsB,sBAAsB,gBAAgB;AAAA,MACpF,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,SAAS;AAAA,MACT,oBAAoB;AAAA,MACpB,aAAa,CAAC,GAAG,eAAe,eAAe,eAAe;AAAA,MAC9D,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,iBAAiB;AAAA,MACjB,cAAc;AAAA,MACd,WAAW;AAAA,MACX,WAAW;AAAA,MACX,eAAe;AAAA,MACf,WAAW;AAAA,MACX,OAAO;AAAA,MACP,kBAAkB;AAAA,MAClB,eAAe;AAAA,MACf,eAAe,CAAC,GAAG,iBAAiB,iBAAiB,gBAAgB;AAAA,IACvE;AAAA,IACA,SAAS;AAAA,MACP,iBAAiB;AAAA,MACjB,4BAA4B;AAAA,MAC5B,UAAU;AAAA,MACV,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,QAAQ;AAAA,MACR,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,cAAc;AAAA,MACd,aAAa;AAAA,MACb,cAAc;AAAA,MACd,cAAc;AAAA,MACd,gBAAgB;AAAA,MAChB,qBAAqB;AAAA,MACrB,wBAAwB;AAAA,MACxB,YAAY;AAAA,MACZ,gBAAgB;AAAA,MAChB,cAAc;AAAA,MACd,qBAAqB;AAAA,IACvB;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,6BAAmB,CAAC,kBAAkB,cAAc,CAAC,GAAM,oCAA6B,sCAA+B,8BAAoB;AAAA,IACzJ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,aAAa,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,sBAAsB,EAAE,GAAG,CAAC,wBAAwB,EAAE,GAAG,CAAC,wBAAwB,gCAAgC,GAAG,WAAW,SAAS,GAAG,CAAC,SAAS,uBAAuB,GAAG,MAAM,GAAG,CAAC,SAAS,sBAAsB,GAAG,MAAM,GAAG,CAAC,cAAc,mBAAmB,GAAG,QAAQ,SAAS,gBAAgB,gBAAgB,cAAc,sBAAsB,gBAAgB,iBAAiB,oBAAoB,6BAA6B,qBAAqB,wBAAwB,yBAAyB,0BAA0B,iBAAiB,cAAc,UAAU,gBAAgB,GAAG,MAAM,GAAG,CAAC,SAAS,uBAAuB,GAAG,MAAM,GAAG,CAAC,SAAS,kCAAkC,GAAG,MAAM,GAAG,CAAC,cAAc,sBAAsB,GAAG,QAAQ,SAAS,gBAAgB,gBAAgB,cAAc,sBAAsB,gBAAgB,iBAAiB,oBAAoB,6BAA6B,qBAAqB,wBAAwB,yBAAyB,0BAA0B,iBAAiB,cAAc,UAAU,gBAAgB,GAAG,MAAM,GAAG,CAAC,SAAS,sBAAsB,GAAG,MAAM,GAAG,CAAC,SAAS,2BAA2B,SAAS,gBAAgB,GAAG,MAAM,GAAG,CAAC,SAAS,oCAAoC,SAAS,kBAAkB,GAAG,MAAM,GAAG,CAAC,SAAS,sCAAsC,SAAS,kBAAkB,GAAG,MAAM,GAAG,CAAC,GAAG,qBAAqB,GAAG,CAAC,GAAG,kBAAkB,kBAAkB,GAAG,CAAC,GAAG,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,QAAQ,cAAc,GAAG,MAAM,GAAG,CAAC,SAAS,4BAA4B,GAAG,MAAM,GAAG,CAAC,GAAG,QAAQ,YAAY,GAAG,CAAC,GAAG,0BAA0B,GAAG,CAAC,GAAG,kBAAkB,GAAG,CAAC,GAAG,oBAAoB,GAAG,CAAC,cAAc,mBAAmB,GAAG,gBAAgB,QAAQ,SAAS,gBAAgB,gBAAgB,cAAc,sBAAsB,gBAAgB,iBAAiB,oBAAoB,6BAA6B,qBAAqB,wBAAwB,yBAAyB,0BAA0B,iBAAiB,cAAc,QAAQ,GAAG,CAAC,aAAa,mBAAmB,GAAG,CAAC,aAAa,sBAAsB,GAAG,CAAC,aAAa,kBAAkB,GAAG,CAAC,aAAa,kBAAkB,GAAG,CAAC,GAAG,qBAAqB,GAAG,CAAC,QAAQ,SAAS,GAAG,WAAW,SAAS,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,GAAG,CAAC,QAAQ,YAAY,GAAG,mBAAmB,GAAG,CAAC,QAAQ,YAAY,GAAG,qBAAqB,GAAG,kBAAkB,wBAAwB,GAAG,CAAC,QAAQ,YAAY,GAAG,mBAAmB,GAAG,CAAC,GAAG,gCAAgC,GAAG,CAAC,SAAS,uDAAuD,GAAG,oBAAoB,UAAU,WAAW,gBAAgB,GAAG,MAAM,GAAG,CAAC,GAAG,+BAA+B,GAAG,oBAAoB,UAAU,gBAAgB,SAAS,GAAG,CAAC,GAAG,+BAA+B,2BAA2B,GAAG,oBAAoB,UAAU,WAAW,cAAc,GAAG,CAAC,cAAc,sBAAsB,GAAG,gBAAgB,QAAQ,SAAS,gBAAgB,gBAAgB,cAAc,sBAAsB,gBAAgB,iBAAiB,oBAAoB,6BAA6B,qBAAqB,wBAAwB,yBAAyB,0BAA0B,iBAAiB,cAAc,QAAQ,GAAG,CAAC,GAAG,oBAAoB,GAAG,CAAC,GAAG,2BAA2B,GAAG,WAAW,MAAM,GAAG,CAAC,GAAG,oCAAoC,GAAG,WAAW,MAAM,GAAG,CAAC,GAAG,sCAAsC,GAAG,WAAW,MAAM,CAAC;AAAA,IAC7+G,UAAU,SAAS,mBAAmB,IAAI,KAAK;AAC7C,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,GAAG,OAAO,GAAG,CAAC;AAChC,QAAG,qBAAW,GAAG,0BAA0B,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,0BAA0B,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,kCAAkC,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,0BAA0B,GAAG,IAAI,OAAO,EAAE,EAAE,GAAG,0BAA0B,GAAG,GAAG,OAAO,EAAE,EAAE,GAAG,kCAAkC,GAAG,IAAI,eAAe,EAAE,EAAE,GAAG,0BAA0B,GAAG,GAAG,OAAO,EAAE,EAAE,GAAG,0BAA0B,GAAG,GAAG,OAAO,EAAE,EAAE,IAAI,4BAA4B,GAAG,GAAG,QAAQ,EAAE,EAAE,IAAI,4BAA4B,GAAG,GAAG,QAAQ,EAAE;AACjgB,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,UAAU;AAC5B,QAAG,qBAAW,WAAW,IAAI,KAAK,EAAE,WAAc,0BAAgB,IAAIC,OAAM,IAAI,eAAe,IAAI,YAAY,IAAI,kBAAkB,YAAY,IAAI,kBAAkB,YAAY,IAAI,YAAY,IAAI,kBAAkB,IAAI,oBAAoB,IAAI,qBAAqB,OAAO,IAAI,cAAc,IAAI,iBAAiB,MAAM,CAAC;AAC/T,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,QAAQ,IAAI,WAAW,IAAI,UAAU;AACnD,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,mBAAmB,IAAI,gBAAgB;AACjE,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,cAAc,IAAI,sBAAsB,SAAS,IAAI,qBAAqB,OAAO;AAC3G,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,CAAC,IAAI,UAAU;AACrC,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,UAAU;AACpC,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,cAAc,IAAI,sBAAsB,YAAY,IAAI,qBAAqB,OAAO;AAC9G,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,mBAAmB,IAAI,gBAAgB;AACjE,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,gBAAgB;AAC1C,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,kBAAkB;AAC5C,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,kBAAkB;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,cAAc,MAAM,CAAI,SAAY,MAAS,kBAAqB,SAAY,WAAc,eAAe,aAAa,eAAe,aAAa,kBAAkB,MAAM;AAAA,IAC5K,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,WAAW,CAAC;AAAA,IAClF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAoJV,WAAW,CAAC,kBAAkB,cAAc;AAAA,MAC5C,eAAe,kBAAkB;AAAA,IACnC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM;AAAA,IACR,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,oBAAoB,CAAC;AAAA,MACnB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,2BAA2B,CAAC;AAAA,MAC1B,MAAM;AAAA,IACR,CAAC;AAAA,IACD,2BAA2B,CAAC;AAAA,MAC1B,MAAM;AAAA,IACR,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,wBAAwB,CAAC;AAAA,MACvB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,kBAAkB,CAAC;AAAA,MACjB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,0BAA0B,CAAC;AAAA,MACzB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,kBAAkB,CAAC;AAAA,MACjB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,oBAAoB,CAAC;AAAA,MACnB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,oBAAoB,CAAC;AAAA,MACnB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,IACD,kBAAkB,CAAC;AAAA,MACjB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,kBAAkB,CAAC;AAAA,MACjB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,oBAAoB,CAAC;AAAA,MACnB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,oBAAoB,CAAC;AAAA,MACnB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,kBAAkB,CAAC;AAAA,MACjB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,4BAA4B,CAAC;AAAA,MAC3B,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,IACR,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,aAAa,CAAC;AAAA,MACZ,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,IACR,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,wBAAwB,CAAC;AAAA,MACvB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,oBAAoB,CAAC;AAAA,MACnB,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,IACpB,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,IACvB,CAAC;AAAA,IACD,6BAA6B,CAAC;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM,CAAC,oBAAoB;AAAA,IAC7B,CAAC;AAAA,IACD,+BAA+B,CAAC;AAAA,MAC9B,MAAM;AAAA,MACN,MAAM,CAAC,sBAAsB;AAAA,IAC/B,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,OAAO;AAAA,IAChB,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,MACN,MAAM,CAAC,gBAAgB;AAAA,IACzB,CAAC;AAAA,IACD,2BAA2B,CAAC;AAAA,MAC1B,MAAM;AAAA,MACN,MAAM,CAAC,sBAAsB;AAAA,IAC/B,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC,YAAY;AAAA,QACjB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,kBAAkB,CAAC;AAAA,MACjB,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,QAChB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,QACf,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,QACb,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,QACf,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,kBAAkB,CAAC;AAAA,MACjB,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,QAChB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC,gBAAgB;AAAA,QACrB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,wBAAwB,CAAC;AAAA,MACvB,MAAM;AAAA,MACN,MAAM,CAAC,iBAAiB;AAAA,QACtB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,yBAAyB,CAAC;AAAA,MACxB,MAAM;AAAA,MACN,MAAM,CAAC,kBAAkB;AAAA,QACvB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,gCAAgC,CAAC;AAAA,MAC/B,MAAM;AAAA,MACN,MAAM,CAAC,yBAAyB;AAAA,QAC9B,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC,gBAAgB;AAAA,QACrB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,QACnB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC,gBAAgB;AAAA,QACrB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,yBAAyB,CAAC;AAAA,MACxB,MAAM;AAAA,MACN,MAAM,CAAC,kBAAkB;AAAA,QACvB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,MACN,MAAM,CAAC,eAAe;AAAA,QACpB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,iCAAiC,CAAC;AAAA,MAChC,MAAM;AAAA,MACN,MAAM,CAAC,0BAA0B;AAAA,QAC/B,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,mCAAmC,CAAC;AAAA,MAClC,MAAM;AAAA,MACN,MAAM,CAAC,4BAA4B;AAAA,QACjC,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,mBAAmB,CAAC;AAAA,MAClB,MAAM;AAAA,MACN,MAAM,CAAC,YAAY;AAAA,QACjB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC,gBAAgB;AAAA,QACrB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,6BAA6B,CAAC;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM,CAAC,sBAAsB;AAAA,QAC3B,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,MACN,MAAM,CAAC,eAAe;AAAA,QACpB,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,qCAAqC,CAAC;AAAA,MACpC,MAAM;AAAA,MACN,MAAM,CAAC,8BAA8B;AAAA,QACnC,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,oCAAoC,CAAC;AAAA,MACnC,MAAM;AAAA,MACN,MAAM,CAAC,6BAA6B;AAAA,QAClC,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,wCAAwC,CAAC;AAAA,MACvC,MAAM;AAAA,MACN,MAAM,CAAC,iCAAiC;AAAA,QACtC,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,oCAAoC,CAAC;AAAA,MACnC,MAAM;AAAA,MACN,MAAM,CAAC,6BAA6B;AAAA,QAClC,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,QACf,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,SAAN,MAAM,QAAO;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,kBAAkB,IAAI;AACpC,SAAK,KAAK;AACV,SAAK,mBAAmB;AACxB,SAAK,KAAK;AACV,SAAK,eAAe,KAAK,GAAG,aAAa,gBAAgB,UAAU,MAAM;AACvE,UAAI,KAAK,GAAG,eAAe;AACzB,aAAK,GAAG,cAAc;AAAA,MACxB;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,kBAAkB,QAAQ,SAAS;AACjC,QAAI,KAAK,GAAG,eAAe;AACzB,gBAAU,WAAW,KAAK;AAC1B,aAAO,UAAU,QAAQ,MAAM,IAAI;AAAA,IACrC;AACA,WAAO;AAAA,EACT;AAAA,EACA,YAAY,UAAU;AACpB,UAAM,iBAAiB,KAAK,kBAAkB,gBAAgB;AAC9D,WAAO,iBAAiB,eAAe,QAAQ,EAAE,QAAQ;AAAA,EAC3D;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,YAAY;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,YAAO,SAAS,eAAe,mBAAmB;AACvD,WAAO,KAAK,qBAAqB,SAAW,4BAAkB,SAAS,GAAM,4BAAkB,gBAAgB,GAAM,4BAAqB,iBAAiB,CAAC;AAAA,EAC9J;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,kBAAkB,EAAE,CAAC;AAAA,IACtC,QAAQ;AAAA,MACN,SAAS,CAAC,GAAG,kBAAkB,SAAS;AAAA,MACxC,UAAU,CAAC,GAAG,0BAA0B,UAAU;AAAA,MAClD,QAAQ,CAAC,GAAG,UAAU,UAAU,gBAAgB;AAAA,MAChD,iBAAiB;AAAA,MACjB,iBAAiB;AAAA,IACnB;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,IACtC,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,IAAI,GAAG,WAAW,cAAc,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,CAAC;AAAA,IACrH,UAAU,SAAS,gBAAgB,IAAI,KAAK;AAC1C,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,GAAG,+BAA+B,GAAG,GAAG,eAAe,CAAC,EAAE,GAAG,gCAAgC,GAAG,GAAG,gBAAgB,CAAC;AAAA,MACpI;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,WAAW,IAAI,mBAAmB,IAAI,GAAG,eAAe,EAAE,gBAAgB,IAAI,GAAG,UAAU;AACzG,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,GAAG,QAAQ,CAAC;AAAA,MACxC;AAAA,IACF;AAAA,IACA,cAAc,CAAI,SAAY,MAAS,gBAAgB;AAAA,IACvD,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,QAAQ,CAAC;AAAA,IAC/E,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAoBV,eAAe,kBAAkB;AAAA,IACnC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,gBAAgB;AAAA,IACzB,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC,wBAAwB;AAAA,IACjC,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,IACD,iBAAiB,CAAC;AAAA,MAChB,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,mBAAN,MAAM,kBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,eAAe;AACjB,WAAO,KAAK;AAAA,EACd;AAAA,EACA,IAAI,aAAa,KAAK;AACpB,SAAK,gBAAgB;AACrB,QAAI,OAAO,SAAS,IAAI,SAAS,GAAG,KAAK,IAAI,SAAS,MAAM,IAAI;AAC9D,cAAQ,IAAI,uIAAuI;AAAA,IACrJ;AAAA,EACF;AAAA,EACA,YAAY,YAAY,UAAU,IAAI,IAAI,MAAM;AAC9C,SAAK,aAAa;AAClB,SAAK,WAAW;AAChB,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,OAAO;AAAA,EACd;AAAA,EACA,kBAAkB;AAChB,QAAI,kBAAkB,KAAK,UAAU,GAAG;AACtC,UAAI,CAAC,KAAK,QAAQ;AAChB,YAAI,KAAK,GAAG,iBAAiB,KAAK,GAAG,sBAAsB,KAAK,GAAG,qBAAqB;AACtF,mBAAS,KAAK,GAAG,eAAe,2BAA2B;AAAA,QAC7D;AACA,YAAI,aAAa,KAAK,GAAG,cAAc;AACvC,YAAI,YAAY;AACd,cAAI,KAAK,GAAG,cAAe,MAAK,oBAAoB,WAAW,YAAY,sBAAsB;AAAA,cAAO,MAAK,oBAAoB,WAAW,YAAY,8BAA8B;AAAA,QACxL;AACA,YAAI,KAAK,cAAc;AACrB,cAAI,iBAAiB,wBAAwB;AAC7C,eAAK,yBAAyB,cAAc,MAAM,eAAe,iBAAiB;AAClF,cAAI,KAAK,4BAA4B,KAAK,yBAAyB,eAAe;AAChF,iBAAK,yBAAyB,cAAc,MAAM,eAAe,iBAAiB;AAAA,UACpF;AAAA,QACF;AAAA,MACF,OAAO;AACL,YAAI,KAAK,8BAA8B,KAAK,2BAA2B,eAAe;AACpF,eAAK,2BAA2B,cAAc,MAAM,SAAS,yBAAyB,IAAI;AAAA,QAC5F;AAAA,MACF;AACA,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,aAAa;AACX,QAAI,kBAAkB,KAAK,UAAU,GAAG;AACtC,WAAK,KAAK,kBAAkB,MAAM;AAChC,YAAI,KAAK,yBAAyB,KAAK,sBAAsB,eAAe;AAC1E,eAAK,uBAAuB,KAAK,SAAS,OAAO,KAAK,0BAA0B,eAAe,UAAU,KAAK,eAAe,KAAK,IAAI,CAAC;AAAA,QACzI;AACA,YAAI,KAAK,yBAAyB,KAAK,sBAAsB,eAAe;AAC1E,eAAK,uBAAuB,KAAK,SAAS,OAAO,KAAK,sBAAsB,eAAe,UAAU,KAAK,eAAe,KAAK,IAAI,CAAC;AAAA,QACrI;AACA,YAAI,CAAC,KAAK,QAAQ;AAChB,cAAI,KAAK,GAAG,eAAe;AACzB,iBAAK,qBAAqB,KAAK,SAAS,QAAQ,KAAK,UAAU,cAAc,GAAG,eAAe,UAAU,KAAK,aAAa,KAAK,IAAI,CAAC;AAAA,UACvI,OAAO;AACL,iBAAK,qBAAqB,KAAK,SAAS,OAAO,KAAK,qBAAqB,eAAe,UAAU,KAAK,aAAa,KAAK,IAAI,CAAC;AAAA,UAChI;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,eAAe;AACb,QAAI,kBAAkB,KAAK,UAAU,GAAG;AACtC,UAAI,KAAK,yBAAyB,KAAK,sBAAsB,eAAe;AAC1E,YAAI,KAAK,sBAAsB;AAC7B,eAAK,qBAAqB;AAC1B,eAAK,uBAAuB;AAAA,QAC9B;AAAA,MACF;AACA,UAAI,KAAK,yBAAyB,KAAK,sBAAsB,eAAe;AAC1E,YAAI,KAAK,sBAAsB;AAC7B,eAAK,qBAAqB;AAC1B,eAAK,uBAAuB;AAAA,QAC9B;AAAA,MACF;AACA,UAAI,KAAK,uBAAuB,KAAK,oBAAoB,eAAe;AACtE,YAAI,KAAK,oBAAoB;AAC3B,eAAK,mBAAmB;AACxB,eAAK,qBAAqB;AAAA,QAC5B;AAAA,MACF;AACA,UAAI,KAAK,YAAY,KAAK,SAAS,cAAc,GAAG;AAClD,YAAI,KAAK,oBAAoB;AAC3B,eAAK,mBAAmB;AACxB,eAAK,qBAAqB;AAAA,QAC5B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,iBAAiB;AACf,UAAM,aAAa,KAAK,uBAAuB,cAAc;AAC7D,SAAK,oBAAoB,cAAc,aAAa;AACpD,QAAI,KAAK,yBAAyB,KAAK,sBAAsB,eAAe;AAC1E,WAAK,sBAAsB,cAAc,aAAa;AAAA,IACxD;AACA,SAAK,+BAA+B;AAAA,EACtC;AAAA,EACA,iBAAiB;AACf,UAAM,aAAa,KAAK,uBAAuB,cAAc;AAC7D,SAAK,oBAAoB,cAAc,aAAa;AACpD,QAAI,KAAK,yBAAyB,KAAK,sBAAsB,eAAe;AAC1E,WAAK,sBAAsB,cAAc,aAAa;AAAA,IACxD;AACA,SAAK,+BAA+B;AAAA,EACtC;AAAA,EACA,aAAa,OAAO;AAClB,QAAI,KAAK,8BAA8B;AACrC,WAAK,+BAA+B;AACpC;AAAA,IACF;AACA,QAAI,KAAK,yBAAyB,KAAK,sBAAsB,eAAe;AAC1E,WAAK,yBAAyB,cAAc,MAAM,aAAa,KAAK,MAAM,OAAO,aAAa;AAAA,IAChG;AACA,QAAI,KAAK,yBAAyB,KAAK,sBAAsB,eAAe;AAC1E,WAAK,yBAAyB,cAAc,MAAM,aAAa,KAAK,MAAM,OAAO,aAAa;AAAA,IAChG;AACA,QAAI,KAAK,mBAAmB;AAC1B,WAAK,kBAAkB,YAAY,MAAM,OAAO;AAAA,IAClD;AAAA,EACF;AAAA,EACA,qBAAqB,OAAO;AAC1B,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,cAAc,KAAK;AAAA,IACnC;AAAA,EACF;AAAA,EACA,SAAS,SAAS;AAChB,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,SAAS,OAAO;AAAA,IAChC,OAAO;AACL,UAAI,KAAK,qBAAqB,cAAc,UAAU;AACpD,aAAK,oBAAoB,cAAc,SAAS,OAAO;AAAA,MACzD,OAAO;AACL,aAAK,oBAAoB,cAAc,aAAa,QAAQ;AAC5D,aAAK,oBAAoB,cAAc,YAAY,QAAQ;AAAA,MAC7D;AAAA,IACF;AAAA,EACF;AAAA,EACA,cAAc;AACZ,SAAK,aAAa;AAClB,SAAK,oBAAoB;AAAA,EAC3B;AAAA,EACA,OAAO,YAAO,SAAS,yBAAyB,mBAAmB;AACjE,WAAO,KAAK,qBAAqB,mBAAqB,4BAAkB,WAAW,GAAM,4BAAqB,SAAS,GAAM,4BAAkB,SAAS,GAAM,4BAAqB,UAAU,GAAM,4BAAqB,MAAM,CAAC;AAAA,EACjO;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;AAAA,IACxC,WAAW,SAAS,uBAAuB,IAAI,KAAK;AAClD,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAYG,OAAM,CAAC;AACtB,QAAG,sBAAYC,OAAM,CAAC;AACtB,QAAG,sBAAYC,OAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AACtB,QAAG,sBAAY,MAAM,CAAC;AAAA,MACxB;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,wBAAwB,GAAG;AAC5E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,2BAA2B,GAAG;AAC/E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,sBAAsB,GAAG;AAC1E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,uBAAuB,GAAG;AAC3E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,8BAA8B,GAAG;AAClF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,wBAAwB,GAAG;AAC5E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,2BAA2B,GAAG;AAC/E,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,6BAA6B,GAAG;AACjF,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,WAAW,GAAG;AAAA,MACjE;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,SAAS,CAAC,GAAG,oBAAoB,SAAS;AAAA,MAC1C,QAAQ,CAAC,GAAG,UAAU,UAAU,gBAAgB;AAAA,MAChD,cAAc;AAAA,IAChB;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,IACtC,OAAO;AAAA,IACP,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,gBAAgB,EAAE,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,qBAAqB,EAAE,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,mBAAmB,EAAE,GAAG,CAAC,GAAG,+BAA+B,GAAG,CAAC,GAAG,mCAAmC,GAAG,CAAC,GAAG,uCAAuC,GAAG,WAAW,SAAS,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,GAAG,CAAC,QAAQ,YAAY,GAAG,mBAAmB,GAAG,CAAC,cAAc,+BAA+B,GAAG,SAAS,SAAS,gBAAgB,YAAY,QAAQ,WAAW,cAAc,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,SAAS,iCAAiC,GAAG,MAAM,GAAG,CAAC,cAAc,+BAA+B,GAAG,cAAc,SAAS,gBAAgB,YAAY,QAAQ,SAAS,GAAG,CAAC,GAAG,+BAA+B,GAAG,SAAS,GAAG,CAAC,QAAQ,SAAS,GAAG,WAAW,SAAS,GAAG,CAAC,QAAQ,YAAY,GAAG,qBAAqB,GAAG,kBAAkB,0BAA0B,mBAAmB,QAAQ,GAAG,CAAC,SAAS,gCAAgC,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,aAAa,GAAG,CAAC,GAAG,+BAA+B,GAAG,CAAC,GAAG,mCAAmC,GAAG,CAAC,GAAG,uCAAuC,GAAG,WAAW,SAAS,GAAG,CAAC,QAAQ,YAAY,GAAG,mBAAmB,CAAC;AAAA,IAC1yC,UAAU,SAAS,0BAA0B,IAAI,KAAK;AACpD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,GAAG,OAAO,IAAI,CAAC,EAAE,GAAG,OAAO,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE;AAClE,QAAG,qBAAW,GAAG,0CAA0C,GAAG,GAAG,gBAAgB,EAAE;AACnF,QAAG,yBAAe,GAAG,SAAS,EAAE;AAChC,QAAG,qBAAW,GAAG,0CAA0C,GAAG,GAAG,gBAAgB,EAAE;AACnF,QAAG,uBAAa,EAAE,EAAE,EAAE;AACtB,QAAG,qBAAW,GAAG,wCAAwC,GAAG,IAAI,cAAc,EAAE,EAAE,GAAG,0CAA0C,GAAG,IAAI,gBAAgB,EAAE,EAAE,IAAI,0CAA0C,GAAG,IAAI,eAAe,MAAM,GAAM,gCAAsB,EAAE,IAAI,kCAAkC,GAAG,IAAI,OAAO,EAAE;AAAA,MAC1T;AACA,UAAI,KAAK,GAAG;AACV,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,WAAW,IAAI,GAAG,eAAe,EAAE,WAAW,IAAI,GAAG,UAAU;AAC7E,QAAG,oBAAU;AACb,QAAG,qBAAW,oBAAoB,IAAI,SAAS,IAAI,GAAG,0BAA0B,IAAI,GAAG,2BAA2B,IAAI,GAAG,oBAAoB,IAAI,GAAG,oBAAoB,IAAI,GAAG,oBAAoB,IAAI,GAAG,iBAAiB,EAAE,2BAA8B,0BAAgB,GAAGJ,OAAM,IAAI,OAAO,CAAC;AAChS,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,oBAAoB,IAAI,SAAS,IAAI,GAAG,wBAAwB,IAAI,GAAG,yBAAyB,IAAI,GAAG,kBAAkB,IAAI,GAAG,kBAAkB,IAAI,GAAG,kBAAkB,IAAI,GAAG,eAAe,EAAE,2BAA8B,0BAAgB,IAAIA,OAAM,IAAI,OAAO,CAAC;AACrR,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,GAAG,aAAa;AAC1C,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,CAAC,IAAI,GAAG,aAAa;AAC3C,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,QAAQ,IAAI,GAAG,kBAAkB,IAAI,GAAG,eAAe;AAAA,MACvE;AAAA,IACF;AAAA,IACA,cAAc,MAAM,CAAI,SAAY,MAAS,kBAAqB,SAAS,UAAU,MAAM;AAAA,IAC3F,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,kBAAkB,CAAC;AAAA,IACzF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAkFV,eAAe,kBAAkB;AAAA,IACnC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,IACpB,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,kBAAkB;AAAA,IAC3B,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,IACvB,CAAC;AAAA,IACD,0BAA0B,CAAC;AAAA,MACzB,MAAM;AAAA,MACN,MAAM,CAAC,iBAAiB;AAAA,IAC1B,CAAC;AAAA,IACD,qBAAqB,CAAC;AAAA,MACpB,MAAM;AAAA,MACN,MAAM,CAAC,YAAY;AAAA,IACrB,CAAC;AAAA,IACD,sBAAsB,CAAC;AAAA,MACrB,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB,CAAC;AAAA,IACD,6BAA6B,CAAC;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,IACvB,CAAC;AAAA,IACD,uBAAuB,CAAC;AAAA,MACtB,MAAM;AAAA,MACN,MAAM,CAAC,cAAc;AAAA,IACvB,CAAC;AAAA,IACD,0BAA0B,CAAC;AAAA,MACzB,MAAM;AAAA,MACN,MAAM,CAAC,iBAAiB;AAAA,IAC1B,CAAC;AAAA,IACD,4BAA4B,CAAC;AAAA,MAC3B,MAAM;AAAA,MACN,MAAM,CAAC,mBAAmB;AAAA,IAC5B,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,IACnB,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,mBAAN,MAAM,kBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,aAAa;AACf,QAAI,KAAK,UAAU,KAAK,GAAG,YAAY,EAAG,QAAO;AAAA,aAAsB,KAAK,UAAU,KAAK,GAAG,YAAY,EAAG,QAAO;AAAA,QAAiB,QAAO;AAAA,EAC9I;AAAA,EACA,YAAY,IAAI;AACd,SAAK,KAAK;AACV,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,eAAe,KAAK,GAAG,aAAa,YAAY,UAAU,cAAY;AACzE,aAAK,gBAAgB;AAAA,MACvB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,WAAW;AACT,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,gBAAgB;AAAA,IACvB;AAAA,EACF;AAAA,EACA,kBAAkB;AAChB,SAAK,SAAS,KAAK,GAAG,SAAS,KAAK,KAAK;AAAA,EAC3C;AAAA,EACA,QAAQ,OAAO;AACb,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,gBAAgB;AACrB,WAAK,GAAG,KAAK;AAAA,QACX,eAAe;AAAA,QACf,OAAO,KAAK;AAAA,MACd,CAAC;AACD,qBAAe;AAAA,IACjB;AAAA,EACF;AAAA,EACA,WAAW,OAAO;AAChB,SAAK,QAAQ,KAAK;AAAA,EACpB;AAAA,EACA,YAAY;AACV,WAAO,KAAK,6BAA6B;AAAA,EAC3C;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,YAAY;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,YAAO,SAAS,yBAAyB,mBAAmB;AACjE,WAAO,KAAK,qBAAqB,mBAAqB,4BAAkB,SAAS,CAAC;AAAA,EACpF;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;AAAA,IACxC,UAAU;AAAA,IACV,cAAc,SAAS,8BAA8B,IAAI,KAAK;AAC5D,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,SAAS,SAAS,0CAA0C,QAAQ;AAChF,iBAAO,IAAI,QAAQ,MAAM;AAAA,QAC3B,CAAC,EAAE,iBAAiB,SAAS,kDAAkD,QAAQ;AACrF,iBAAO,IAAI,WAAW,MAAM;AAAA,QAC9B,CAAC;AAAA,MACH;AACA,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,YAAY,IAAI,UAAU,IAAI,MAAM,IAAI,EAAE,QAAQ,cAAc,EAAE,aAAa,IAAI,UAAU;AAC5G,QAAG,sBAAY,qBAAqB,IAAI,UAAU,CAAC,EAAE,6BAA6B,IAAI,MAAM;AAAA,MAC9F;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,OAAO,CAAC,GAAG,oBAAoB,OAAO;AAAA,MACtC,0BAA0B,CAAC,GAAG,4BAA4B,4BAA4B,gBAAgB;AAAA,IACxG;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,EACxC,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,kBAAkB,CAAC;AAAA,IACzF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM;AAAA,QACJ,6BAA6B;AAAA,QAC7B,qCAAqC;AAAA,QACrC,mBAAmB;AAAA,QACnB,eAAe;AAAA,QACf,oBAAoB;AAAA,MACtB;AAAA,IACF,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,CAAC,GAAG;AAAA,IACF,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,kBAAkB;AAAA,IAC3B,CAAC;AAAA,IACD,0BAA0B,CAAC;AAAA,MACzB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAAA,IAC5B,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,iBAAiB,CAAC,QAAQ,CAAC;AAAA,IACpC,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,aAAN,MAAM,YAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,IAAI;AAClB,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,eAAe,KAAK,GAAG,aAAa,YAAY,UAAU,cAAY;AACzE,WAAK,gBAAgB;AACrB,WAAK,GAAG,aAAa;AAAA,IACvB,CAAC;AAAA,EACH;AAAA,EACA,WAAW;AACT,SAAK,gBAAgB;AAAA,EACvB;AAAA,EACA,QAAQ,OAAO;AACb,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,kBAAkB;AAChB,QAAI,KAAK,GAAG,aAAa,UAAU;AACjC,WAAK,YAAY,KAAK,GAAG,SAAS,KAAK,KAAK,IAAI,KAAK,GAAG,YAAY;AAAA,IACtE,WAAW,KAAK,GAAG,aAAa,YAAY;AAC1C,UAAI,WAAW,KAAK,GAAG,YAAY,KAAK,KAAK;AAC7C,WAAK,YAAY,WAAW,SAAS,QAAQ;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,YAAY;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,YAAO,SAAS,mBAAmB,mBAAmB;AAC3D,WAAO,KAAK,qBAAqB,aAAe,4BAAkB,SAAS,GAAM,4BAAqB,iBAAiB,CAAC;AAAA,EAC1H;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,qBAAqB,GAAG,CAAC,uBAAuB,GAAG,CAAC,wBAAwB,CAAC;AAAA,IAC1F,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,eAAe;AAAA,MACf,cAAc;AAAA,IAChB;AAAA,IACA,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,SAAS,0BAA0B,GAAG,MAAM,GAAG,CAAC,GAAG,cAAc,GAAG,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,CAAC,GAAG,wBAAwB,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,CAAC;AAAA,IACxM,UAAU,SAAS,oBAAoB,IAAI,KAAK;AAC9C,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,GAAG,oCAAoC,GAAG,GAAG,gBAAgB,CAAC,EAAE,GAAG,4BAA4B,GAAG,GAAG,QAAQ,CAAC;AAAA,MAC9H;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,QAAQ,CAAC,IAAI,GAAG,oBAAoB,CAAC,IAAI,GAAG,iBAAiB;AAC3E,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,GAAG,oBAAoB,IAAI,GAAG,iBAAiB;AAAA,MAC3E;AAAA,IACF;AAAA,IACA,cAAc,MAAM,CAAI,MAAS,kBAAkB,aAAa,qBAAqB,kBAAkB;AAAA,IACvG,eAAe;AAAA,IACf,iBAAiB;AAAA,EACnB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,YAAY,CAAC;AAAA,IACnF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQV,eAAe,kBAAkB;AAAA,MACjC,iBAAiB,wBAAwB;AAAA,IAC3C,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,oBAAN,MAAM,mBAAkB;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAYY,WAAU,YAAY,UAAU,IAAI,IAAI,MAAM;AACxD,SAAK,WAAWA;AAChB,SAAK,aAAa;AAClB,SAAK,WAAW;AAChB,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,OAAO;AAAA,EACd;AAAA,EACA,kBAAkB;AAChB,QAAI,kBAAkB,KAAK,UAAU,GAAG;AACtC,UAAI,KAAK,UAAU,GAAG;AACpB,iBAAS,KAAK,GAAG,eAAe,oBAAoB;AACpD,aAAK,UAAU,KAAK,SAAS,cAAc,MAAM;AACjD,aAAK,SAAS,SAAS,KAAK,SAAS,kBAAkB;AACvD,aAAK,SAAS,YAAY,KAAK,GAAG,eAAe,KAAK,OAAO;AAC7D,aAAK,KAAK,kBAAkB,MAAM;AAChC,eAAK,2BAA2B,KAAK,SAAS,OAAO,KAAK,SAAS,aAAa,KAAK,YAAY,KAAK,IAAI,CAAC;AAAA,QAC7G,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF;AAAA,EACA,qBAAqB;AACnB,SAAK,KAAK,kBAAkB,MAAM;AAChC,WAAK,4BAA4B,KAAK,SAAS,OAAO,KAAK,UAAU,aAAa,KAAK,oBAAoB,KAAK,IAAI,CAAC;AACrH,WAAK,0BAA0B,KAAK,SAAS,OAAO,KAAK,UAAU,WAAW,KAAK,kBAAkB,KAAK,IAAI,CAAC;AAAA,IACjH,CAAC;AAAA,EACH;AAAA,EACA,uBAAuB;AACrB,QAAI,KAAK,2BAA2B;AAClC,WAAK,0BAA0B;AAC/B,WAAK,4BAA4B;AAAA,IACnC;AACA,QAAI,KAAK,yBAAyB;AAChC,WAAK,wBAAwB;AAC7B,WAAK,0BAA0B;AAAA,IACjC;AAAA,EACF;AAAA,EACA,YAAY,OAAO;AACjB,SAAK,GAAG,oBAAoB,KAAK;AACjC,SAAK,mBAAmB;AAAA,EAC1B;AAAA,EACA,oBAAoB,OAAO;AACzB,SAAK,GAAG,eAAe,KAAK;AAAA,EAC9B;AAAA,EACA,kBAAkB,OAAO;AACvB,SAAK,GAAG,kBAAkB,OAAO,KAAK,GAAG,aAAa;AACtD,SAAK,qBAAqB;AAAA,EAC5B;AAAA,EACA,YAAY;AACV,WAAO,KAAK,8BAA8B;AAAA,EAC5C;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,0BAA0B;AACjC,WAAK,yBAAyB;AAC9B,WAAK,2BAA2B;AAAA,IAClC;AACA,SAAK,qBAAqB;AAAA,EAC5B;AAAA,EACA,OAAO,YAAO,SAAS,0BAA0B,mBAAmB;AAClE,WAAO,KAAK,qBAAqB,oBAAsB,4BAAkB,QAAQ,GAAM,4BAAkB,WAAW,GAAM,4BAAqB,SAAS,GAAM,4BAAkB,SAAS,GAAM,4BAAqB,UAAU,GAAM,4BAAqB,MAAM,CAAC;AAAA,EAClQ;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,qBAAqB,EAAE,CAAC;AAAA,IACzC,QAAQ;AAAA,MACN,2BAA2B,CAAC,GAAG,6BAA6B,6BAA6B,gBAAgB;AAAA,IAC3G;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,EACxC,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,mBAAmB,CAAC;AAAA,IAC1F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,IACjB,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,IACpB,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,2BAA2B,CAAC;AAAA,MAC1B,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,sBAAN,MAAM,qBAAoB;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAYA,WAAU,YAAY,UAAU,IAAI,IAAI,MAAM;AACxD,SAAK,WAAWA;AAChB,SAAK,aAAa;AAClB,SAAK,WAAW;AAChB,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,OAAO;AAAA,EACd;AAAA,EACA,kBAAkB;AAChB,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,WAAW;AAAA,IAClB;AAAA,EACF;AAAA,EACA,aAAa;AACX,QAAI,kBAAkB,KAAK,UAAU,GAAG;AACtC,WAAK,KAAK,kBAAkB,MAAM;AAChC,aAAK,oBAAoB,KAAK,SAAS,OAAO,KAAK,GAAG,eAAe,aAAa,KAAK,YAAY,KAAK,IAAI,CAAC;AAC7G,aAAK,oBAAoB,KAAK,SAAS,OAAO,KAAK,GAAG,eAAe,aAAa,KAAK,YAAY,KAAK,IAAI,CAAC;AAC7G,aAAK,mBAAmB,KAAK,SAAS,OAAO,KAAK,GAAG,eAAe,YAAY,KAAK,YAAY,KAAK,IAAI,CAAC;AAC3G,aAAK,oBAAoB,KAAK,SAAS,OAAO,KAAK,GAAG,eAAe,aAAa,KAAK,YAAY,KAAK,IAAI,CAAC;AAC7G,aAAK,oBAAoB,KAAK,SAAS,OAAO,KAAK,GAAG,eAAe,aAAa,KAAK,YAAY,KAAK,IAAI,CAAC;AAAA,MAC/G,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,eAAe;AACb,QAAI,kBAAkB,KAAK,UAAU,GAAG;AACtC,UAAI,KAAK,mBAAmB;AAC1B,aAAK,kBAAkB;AACvB,aAAK,oBAAoB;AAAA,MAC3B;AACA,UAAI,KAAK,kBAAkB;AACzB,aAAK,iBAAiB;AACtB,aAAK,mBAAmB;AAAA,MAC1B;AACA,UAAI,KAAK,mBAAmB;AAC1B,aAAK,kBAAkB;AACvB,aAAK,oBAAoB;AAAA,MAC3B;AACA,UAAI,KAAK,mBAAmB;AAC1B,aAAK,kBAAkB;AACvB,aAAK,oBAAoB;AAAA,MAC3B;AAAA,IACF;AAAA,EACF;AAAA,EACA,YAAY,OAAO;AACjB,QAAI,MAAM,OAAO,aAAa,WAAW,MAAM,OAAO,aAAa,cAAc,SAAS,MAAM,QAAQ,kBAAkB,EAAG,MAAK,GAAG,cAAc,YAAY;AAAA,QAAW,MAAK,GAAG,cAAc,YAAY;AAAA,EAC9M;AAAA,EACA,YAAY,OAAO;AACjB,SAAK,GAAG,kBAAkB,OAAO,KAAK,GAAG,aAAa;AAAA,EACxD;AAAA,EACA,WAAW,OAAO;AAChB,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,YAAY,OAAO;AACjB,SAAK,GAAG,kBAAkB,OAAO,KAAK,GAAG,aAAa;AAAA,EACxD;AAAA,EACA,YAAY,OAAO;AACjB,SAAK,GAAG,kBAAkB,KAAK;AAAA,EACjC;AAAA,EACA,OAAO,OAAO;AACZ,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,GAAG,aAAa,OAAO,KAAK,GAAG,aAAa;AAAA,IACnD;AAAA,EACF;AAAA,EACA,YAAY;AACV,WAAO,KAAK,gCAAgC;AAAA,EAC9C;AAAA,EACA,cAAc;AACZ,SAAK,aAAa;AAAA,EACpB;AAAA,EACA,OAAO,YAAO,SAAS,4BAA4B,mBAAmB;AACpE,WAAO,KAAK,qBAAqB,sBAAwB,4BAAkB,QAAQ,GAAM,4BAAkB,WAAW,GAAM,4BAAqB,SAAS,GAAM,4BAAkB,SAAS,GAAM,4BAAqB,UAAU,GAAM,4BAAqB,MAAM,CAAC;AAAA,EACpQ;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,uBAAuB,EAAE,CAAC;AAAA,IAC3C,cAAc,SAAS,iCAAiC,IAAI,KAAK;AAC/D,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,QAAQ,SAAS,4CAA4C,QAAQ;AACjF,iBAAO,IAAI,OAAO,MAAM;AAAA,QAC1B,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,6BAA6B,CAAC,GAAG,+BAA+B,+BAA+B,gBAAgB;AAAA,IACjH;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,EACxC,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,qBAAqB,CAAC;AAAA,IAC5F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ;AAAA,IACjB,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAM;AAAA,IACN,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,WAAW;AAAA,IACpB,CAAC;AAAA,EACH,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,6BAA6B,CAAC;AAAA,MAC5B,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,MACN,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AAAA,IAC3B,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,kBAAN,MAAM,iBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,cAAc;AAC5B,SAAK,KAAK;AACV,SAAK,eAAe;AACpB,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,eAAe,KAAK,GAAG,aAAa,iBAAiB,UAAU,MAAM;AACxE,aAAK,WAAW,KAAK,GAAG,WAAW,KAAK,QAAQ,IAAI;AAAA,MACtD,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,WAAW;AACT,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,WAAW,KAAK,GAAG,WAAW,KAAK,QAAQ,IAAI;AAAA,IACtD;AAAA,EACF;AAAA,EACA,QAAQ,OAAO;AACb,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,GAAG,eAAe;AAAA,QACrB,eAAe;AAAA,QACf,SAAS,KAAK;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,UAAU,OAAO;AACf,YAAQ,MAAM,MAAM;AAAA,MAClB,KAAK;AAAA,MACL,KAAK;AACH,aAAK,WAAW,KAAK;AACrB;AAAA,MACF;AACE;AAAA,IACJ;AAAA,EACF;AAAA,EACA,WAAW,OAAO;AAChB,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,GAAG,kBAAkB,KAAK;AAAA,IACjC;AAAA,EACF;AAAA,EACA,WAAW,OAAO;AAChB,QAAI,KAAK,GAAG,kBAAkB,YAAY;AACxC,WAAK,GAAG,uBAAuB;AAAA,QAC7B,eAAe;AAAA,QACf,SAAS,KAAK;AAAA,MAChB,CAAC;AAAA,IACH,OAAO;AACL,WAAK,QAAQ,KAAK;AAAA,IACpB;AACA,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,YAAY;AACV,WAAO,KAAK,4BAA4B;AAAA,EAC1C;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,YAAY;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,YAAO,SAAS,wBAAwB,mBAAmB;AAChE,WAAO,KAAK,qBAAqB,kBAAoB,4BAAkB,SAAS,GAAM,4BAAkB,gBAAgB,CAAC;AAAA,EAC3H;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,mBAAmB,EAAE,CAAC;AAAA,IACvC,UAAU;AAAA,IACV,cAAc,SAAS,6BAA6B,IAAI,KAAK;AAC3D,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,SAAS,SAAS,yCAAyC,QAAQ;AAC/E,iBAAO,IAAI,QAAQ,MAAM;AAAA,QAC3B,CAAC,EAAE,WAAW,SAAS,2CAA2C,QAAQ;AACxE,iBAAO,IAAI,UAAU,MAAM;AAAA,QAC7B,CAAC,EAAE,YAAY,SAAS,4CAA4C,QAAQ;AAC1E,iBAAO,IAAI,WAAW,MAAM;AAAA,QAC9B,CAAC;AAAA,MACH;AACA,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,gBAAgB,IAAI,QAAQ;AAC3C,QAAG,sBAAY,4BAA4B,IAAI,QAAQ;AAAA,MACzD;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,SAAS,CAAC,GAAG,mBAAmB,SAAS;AAAA,MACzC,yBAAyB,CAAC,GAAG,2BAA2B,2BAA2B,gBAAgB;AAAA,IACrG;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,EACxC,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,iBAAiB,CAAC;AAAA,IACxF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM;AAAA,QACJ,oCAAoC;AAAA,QACpC,uBAAuB;AAAA,MACzB;AAAA,IACF,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAM;AAAA,EACR,CAAC,GAAG;AAAA,IACF,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,iBAAiB;AAAA,IAC1B,CAAC;AAAA,IACD,yBAAyB,CAAC;AAAA,MACxB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAAA,IAC5B,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;AAAA,IAC9B,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,MACN,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;AAAA,IAC/B,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,0BAAN,MAAM,yBAAwB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,cAAc;AAC5B,SAAK,KAAK;AACV,SAAK,eAAe;AACpB,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,eAAe,KAAK,GAAG,aAAa,iBAAiB,UAAU,MAAM;AACxE,aAAK,WAAW,KAAK,GAAG,WAAW,KAAK,QAAQ,IAAI;AAAA,MACtD,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,WAAW;AACT,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,WAAW,KAAK,GAAG,WAAW,KAAK,QAAQ,IAAI;AAAA,IACtD;AAAA,EACF;AAAA,EACA,QAAQ,OAAO;AACb,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,GAAG,eAAe;AAAA,QACrB,eAAe;AAAA,QACf,SAAS,KAAK;AAAA,MAChB,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,YAAY;AACV,WAAO,KAAK,4BAA4B;AAAA,EAC1C;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,YAAY;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,YAAO,SAAS,gCAAgC,mBAAmB;AACxE,WAAO,KAAK,qBAAqB,0BAA4B,4BAAkB,SAAS,GAAM,4BAAkB,gBAAgB,CAAC;AAAA,EACnI;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,2BAA2B,EAAE,CAAC;AAAA,IAC/C,UAAU;AAAA,IACV,cAAc,SAAS,qCAAqC,IAAI,KAAK;AACnE,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,YAAY,SAAS,oDAAoD,QAAQ;AAC7F,iBAAO,IAAI,QAAQ,MAAM;AAAA,QAC3B,CAAC;AAAA,MACH;AACA,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,4BAA4B,IAAI,QAAQ;AAAA,MACzD;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,SAAS,CAAC,GAAG,2BAA2B,SAAS;AAAA,MACjD,yBAAyB,CAAC,GAAG,2BAA2B,2BAA2B,gBAAgB;AAAA,IACrG;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,EACxC,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,yBAAyB,CAAC;AAAA,IAChG,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM;AAAA,QACJ,oCAAoC;AAAA,MACtC;AAAA,IACF,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAM;AAAA,EACR,CAAC,GAAG;AAAA,IACF,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,yBAAyB;AAAA,IAClC,CAAC;AAAA,IACD,yBAAyB,CAAC;AAAA,MACxB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC;AAAA,IAC/B,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,mBAAN,MAAM,kBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,cAAc,IAAI;AAChC,SAAK,KAAK;AACV,SAAK,eAAe;AACpB,SAAK,KAAK;AACV,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,eAAe,KAAK,GAAG,aAAa,mBAAmB,UAAU,UAAQ;AAC5E,aAAK,WAAW,KAAK,GAAG,OAAO,KAAK,QAAQ,MAAM,IAAI;AAAA,MACxD,CAAC;AAAA,IACH;AAAA,EACF;AAAA,EACA,cAAc,OAAO;AACnB,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,GAAG,oBAAoB;AAAA,QAC1B,eAAe;AAAA,QACf,SAAS,KAAK;AAAA,MAChB,CAAC;AACD,WAAK,GAAG,cAAc,MAAM;AAC5B,YAAM,eAAe;AAAA,IACvB;AAAA,EACF;AAAA,EACA,YAAY;AACV,WAAO,KAAK,6BAA6B;AAAA,EAC3C;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,YAAY;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,YAAO,SAAS,yBAAyB,mBAAmB;AACjE,WAAO,KAAK,qBAAqB,mBAAqB,4BAAkB,SAAS,GAAM,4BAAkB,gBAAgB,GAAM,4BAAqB,UAAU,CAAC;AAAA,EACjK;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;AAAA,IACxC,UAAU;AAAA,IACV,cAAc,SAAS,8BAA8B,IAAI,KAAK;AAC5D,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,eAAe,SAAS,gDAAgD,QAAQ;AAC5F,iBAAO,IAAI,cAAc,MAAM;AAAA,QACjC,CAAC;AAAA,MACH;AACA,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,YAAY,IAAI,UAAU,IAAI,IAAI,MAAS;AAC1D,QAAG,sBAAY,wCAAwC,IAAI,QAAQ;AAAA,MACrE;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,SAAS,CAAC,GAAG,oBAAoB,SAAS;AAAA,MAC1C,0BAA0B,CAAC,GAAG,4BAA4B,4BAA4B,gBAAgB;AAAA,IACxG;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,EACxC,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,kBAAkB,CAAC;AAAA,IACzF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM;AAAA,QACJ,gDAAgD;AAAA,QAChD,mBAAmB;AAAA,MACrB;AAAA,IACF,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,kBAAkB;AAAA,IAC3B,CAAC;AAAA,IACD,0BAA0B,CAAC;AAAA,MACzB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,eAAe,CAAC;AAAA,MACd,MAAM;AAAA,MACN,MAAM,CAAC,eAAe,CAAC,QAAQ,CAAC;AAAA,IAClC,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,aAAN,MAAM,YAAW;AAAA,EACf;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,cAAc,IAAI;AAChC,SAAK,KAAK;AACV,SAAK,eAAe;AACpB,SAAK,KAAK;AACV,SAAK,eAAe,KAAK,GAAG,aAAa,iBAAiB,UAAU,MAAM;AACxE,UAAI,KAAK,GAAG,eAAe;AACzB,aAAK,UAAU,KAAK,GAAG,eAAe,KAAK,QAAQ,IAAI;AACvD,aAAK,iBAAiB,KAAK,GAAG,sBAAsB,KAAK,QAAQ,IAAI;AAAA,MACvE,OAAO;AACL,aAAK,UAAU,KAAK,GAAG,WAAW,KAAK,QAAQ,IAAI;AACnD,aAAK,iBAAiB,KAAK,QAAQ,KAAK;AAAA,MAC1C;AACA,WAAK,GAAG,aAAa;AAAA,IACvB,CAAC;AAAA,EACH;AAAA,EACA,WAAW;AACT,QAAI,KAAK,GAAG,eAAe;AACzB,WAAK,UAAU,KAAK,GAAG,eAAe,KAAK,QAAQ,IAAI;AACvD,WAAK,iBAAiB,KAAK,GAAG,sBAAsB,KAAK,QAAQ,IAAI;AAAA,IACvE,OAAO;AAEL,WAAK,UAAU,KAAK,GAAG,WAAW,KAAK,QAAQ,IAAI;AACnD,WAAK,iBAAiB,KAAK,QAAQ,KAAK;AAAA,IAC1C;AAAA,EACF;AAAA,EACA,QAAQ,OAAO;AACb,QAAI,CAAC,KAAK,UAAU;AAClB,UAAI,KAAK,GAAG,eAAe;AACzB,cAAM,SAAS,CAAC,KAAK;AACrB,aAAK,GAAG,eAAe;AAAA,UACrB,eAAe;AAAA,UACf,OAAO;AAAA,UACP,SAAS,KAAK;AAAA,QAChB,CAAC;AAAA,MACH,OAAO;AACL,aAAK,GAAG,uBAAuB;AAAA,UAC7B,eAAe;AAAA,UACf,SAAS,KAAK;AAAA,QAChB,CAAC;AAAA,MACH;AAAA,IACF;AACA,mBAAe;AAAA,EACjB;AAAA,EACA,UAAU;AACR,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,SAAS;AACP,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,cAAc;AACrB,WAAK,aAAa,YAAY;AAAA,IAChC;AAAA,EACF;AAAA,EACA,OAAO,YAAO,SAAS,mBAAmB,mBAAmB;AAC3D,WAAO,KAAK,qBAAqB,aAAe,4BAAkB,SAAS,GAAM,4BAAkB,gBAAgB,GAAM,4BAAqB,iBAAiB,CAAC;AAAA,EAClK;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,qBAAqB,GAAG,CAAC,sBAAsB,GAAG,CAAC,uBAAuB,CAAC;AAAA,IACxF,QAAQ;AAAA,MACN,UAAU,CAAC,GAAG,YAAY,YAAY,gBAAgB;AAAA,MACtD,SAAS,CAAC,GAAG,SAAS,SAAS;AAAA,IACjC;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,IACtC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,cAAc,6BAA6B,GAAG,YAAY,WAAW,UAAU,YAAY,iBAAiB,UAAU,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,aAAa,MAAM,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,CAAC;AAAA,IACzN,UAAU,SAAS,oBAAoB,IAAI,KAAK;AAC9C,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,GAAG,cAAc,CAAC;AACpC,QAAG,qBAAW,YAAY,SAAS,mDAAmD,QAAQ;AAC5F,iBAAO,IAAI,QAAQ,MAAM;AAAA,QAC3B,CAAC;AACD,QAAG,qBAAW,GAAG,oCAAoC,GAAG,GAAG,gBAAgB,CAAC;AAC5E,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,WAAW,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,YAAY,IAAI,QAAQ,EAAE,iBAAiB,IAAI,cAAc,EAAE,YAAY,EAAE;AACnI,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,GAAG,wBAAwB,IAAI,GAAG,qBAAqB;AAAA,MACnF;AAAA,IACF;AAAA,IACA,cAAc,MAAM,CAAI,MAAS,kBAAqB,eAAe,UAAa,iBAAoB,OAAO;AAAA,IAC7G,eAAe;AAAA,IACf,iBAAiB;AAAA,EACnB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,YAAY,CAAC;AAAA,IACnF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASV,eAAe,kBAAkB;AAAA,MACjC,iBAAiB,wBAAwB;AAAA,IAC3C,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,OAAO;AAAA,IAChB,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,mBAAN,MAAM,kBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,cAAc,IAAI;AAChC,SAAK,KAAK;AACV,SAAK,eAAe;AACpB,SAAK,KAAK;AACV,SAAK,0BAA0B,KAAK,GAAG,aAAa,gBAAgB,UAAU,MAAM;AAClF,WAAK,UAAU,KAAK,mBAAmB;AAAA,IACzC,CAAC;AACD,SAAK,8BAA8B,KAAK,GAAG,aAAa,iBAAiB,UAAU,MAAM;AACvF,WAAK,UAAU,KAAK,mBAAmB;AAAA,IACzC,CAAC;AAAA,EACH;AAAA,EACA,WAAW;AACT,SAAK,UAAU,KAAK,mBAAmB;AAAA,EACzC;AAAA,EACA,QAAQ,OAAO;AACb,SAAK,KAAK,GAAG,SAAS,KAAK,GAAG,mBAAmB,KAAK,GAAG,MAAM,SAAS,KAAK,KAAK,GAAG,cAAc,SAAS,IAAI;AAC9G,WAAK,GAAG,wBAAwB,OAAO,CAAC,KAAK,OAAO;AAAA,IACtD;AACA,mBAAe;AAAA,EACjB;AAAA,EACA,cAAc;AACZ,QAAI,KAAK,6BAA6B;AACpC,WAAK,4BAA4B,YAAY;AAAA,IAC/C;AACA,QAAI,KAAK,yBAAyB;AAChC,WAAK,wBAAwB,YAAY;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,qBAAqB;AACnB,SAAK,GAAG,aAAa;AACrB,QAAI;AACJ,UAAM,OAAO,KAAK,GAAG,iBAAiB,KAAK,GAAG;AAC9C,QAAI,MAAM;AACR,UAAI,KAAK,GAAG,eAAe;AACzB,iBAAS,QAAQ,MAAM;AACrB,cAAI,KAAK,GAAG,eAAe,IAAI,GAAG;AAChC,sBAAU;AAAA,UACZ,OAAO;AACL,sBAAU;AACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AACA,UAAI,CAAC,KAAK,GAAG,eAAe;AAE1B,iBAAS,QAAQ,MAAM;AACrB,cAAI,KAAK,GAAG,WAAW,IAAI,GAAG;AAC5B,sBAAU;AAAA,UACZ,OAAO;AACL,sBAAU;AACV;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF,OAAO;AACL,gBAAU;AAAA,IACZ;AACA,WAAO;AAAA,EACT;AAAA,EACA,OAAO,YAAO,SAAS,yBAAyB,mBAAmB;AACjE,WAAO,KAAK,qBAAqB,mBAAqB,4BAAkB,SAAS,GAAM,4BAAkB,gBAAgB,GAAM,4BAAqB,iBAAiB,CAAC;AAAA,EACxK;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,2BAA2B,CAAC;AAAA,IACzC,YAAY;AAAA,IACZ,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,GAAG,YAAY,WAAW,UAAU,UAAU,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,aAAa,MAAM,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,CAAC;AAAA,IACjJ,UAAU,SAAS,0BAA0B,IAAI,KAAK;AACpD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,GAAG,cAAc,CAAC;AACpC,QAAG,qBAAW,YAAY,SAAS,yDAAyD,QAAQ;AAClG,iBAAO,IAAI,QAAQ,MAAM;AAAA,QAC3B,CAAC;AACD,QAAG,qBAAW,GAAG,0CAA0C,GAAG,GAAG,gBAAgB,CAAC;AAClF,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,WAAW,IAAI,OAAO,EAAE,UAAU,IAAI,EAAE,YAAY,CAAC,IAAI,GAAG,SAAS,IAAI,GAAG,MAAM,WAAW,CAAC;AAC5G,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,IAAI,GAAG,8BAA8B,IAAI,GAAG,2BAA2B;AAAA,MAC/F;AAAA,IACF;AAAA,IACA,cAAc,MAAM,CAAI,MAAS,kBAAqB,eAAe,UAAa,iBAAoB,OAAO;AAAA,IAC7G,eAAe;AAAA,IACf,iBAAiB;AAAA,EACnB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,kBAAkB,CAAC;AAAA,IACzF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MASV,eAAe,kBAAkB;AAAA,MACjC,iBAAiB,wBAAwB;AAAA,IAC3C,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG,IAAI;AACV,GAAG;AACH,IAAM,mBAAN,MAAM,kBAAiB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,IAAI,MAAM;AACxB,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,OAAO;AAAA,EACd;AAAA,EACA,kBAAkB;AAChB,QAAI,KAAK,UAAU,GAAG;AACpB,eAAS,KAAK,GAAG,eAAe,mBAAmB;AAAA,IACrD;AAAA,EACF;AAAA,EACA,QAAQ,OAAO;AACb,QAAI,KAAK,UAAU,GAAG;AACpB,WAAK,GAAG,mBAAmB;AAC3B,UAAI,KAAK,GAAG,aAAa;AACvB,YAAI,KAAK,GAAG,gBAAgB,KAAK,GAAG,eAAe;AACjD,cAAI,CAAC,KAAK,GAAG,mBAAmB,GAAG;AACjC;AAAA,UACF;AACA,sBAAY,KAAK,GAAG,aAAa,gBAAgB;AACjD,eAAK,SAAS;AAAA,QAChB;AAAA,MACF,OAAO;AACL,aAAK,SAAS;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW;AACT,SAAK,GAAG,kBAAkB,KAAK,GAAG,eAAe,KAAK,MAAM,KAAK,KAAK;AACtE,aAAS,KAAK,GAAG,eAAe,gBAAgB;AAChD,SAAK,GAAG,WAAW,KAAK;AAAA,MACtB,OAAO,KAAK;AAAA,MACZ,MAAM,KAAK;AAAA,IACb,CAAC;AACD,SAAK,GAAG,mBAAmB;AAC3B,SAAK,KAAK,kBAAkB,MAAM;AAChC,iBAAW,MAAM;AACf,YAAI,YAAY,WAAW,KAAK,GAAG,eAAe,iBAAiB;AACnE,YAAI,WAAW;AACb,oBAAU,MAAM;AAAA,QAClB;AAAA,MACF,GAAG,EAAE;AAAA,IACP,CAAC;AAAA,EACH;AAAA,EACA,mBAAmB;AACjB,gBAAY,KAAK,GAAG,aAAa,iBAAiB;AAClD,SAAK,GAAG,cAAc;AACtB,SAAK,GAAG,2BAA2B;AAAA,EACrC;AAAA,EACA,UAAU,OAAO;AACf,QAAI,KAAK,UAAU,GAAG;AAEpB,UAAI,MAAM,WAAW,MAAM,CAAC,MAAM,UAAU;AAC1C,YAAI,KAAK,GAAG,mBAAmB,GAAG;AAChC,sBAAY,KAAK,GAAG,aAAa,gBAAgB;AACjD,eAAK,iBAAiB;AACtB,eAAK,GAAG,eAAe,KAAK;AAAA,YAC1B,OAAO,KAAK;AAAA,YACZ,MAAM,KAAK;AAAA,UACb,CAAC;AAAA,QACH;AACA,cAAM,eAAe;AAAA,MACvB,WAES,MAAM,WAAW,IAAI;AAC5B,YAAI,KAAK,GAAG,mBAAmB,GAAG;AAChC,sBAAY,KAAK,GAAG,aAAa,gBAAgB;AACjD,eAAK,iBAAiB;AACtB,eAAK,GAAG,aAAa,KAAK;AAAA,YACxB,OAAO,KAAK;AAAA,YACZ,MAAM,KAAK;AAAA,UACb,CAAC;AAAA,QACH;AACA,cAAM,eAAe;AAAA,MACvB,WAES,MAAM,WAAW,GAAG;AAC3B,aAAK,GAAG,eAAe,KAAK;AAAA,UAC1B,OAAO,KAAK;AAAA,UACZ,MAAM,KAAK;AAAA,QACb,CAAC;AACD,YAAI,MAAM,SAAU,MAAK,mBAAmB,KAAK;AAAA,YAAO,MAAK,eAAe,KAAK;AAAA,MACnF;AAAA,IACF;AAAA,EACF;AAAA,EACA,SAAS,SAAS;AAChB,QAAI,SAAS;AACX,UAAI,OAAO;AACX,aAAO,QAAQ,CAAC,SAAS,MAAM,gBAAgB,GAAG;AAChD,eAAO,KAAK;AAAA,MACd;AACA,aAAO;AAAA,IACT,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,mBAAmB,OAAO;AACxB,QAAI,cAAc,KAAK,SAAS,MAAM,MAAM;AAC5C,QAAI,MAAM,YAAY;AACtB,QAAI,aAAa,KAAK,2BAA2B,WAAW;AAC5D,QAAI,YAAY;AACd,0BAAoB,YAAY,SAAS,MAAS;AAClD,YAAM,eAAe;AAAA,IACvB;AAAA,EACF;AAAA,EACA,eAAe,OAAO;AACpB,QAAI,cAAc,KAAK,SAAS,MAAM,MAAM;AAC5C,QAAI,MAAM,YAAY;AACtB,QAAI,aAAa,KAAK,uBAAuB,WAAW;AACxD,QAAI,YAAY;AACd,0BAAoB,YAAY,SAAS,MAAS;AAClD,YAAM,eAAe;AAAA,IACvB;AAAA,EACF;AAAA,EACA,2BAA2B,MAAM;AAC/B,QAAI,WAAW,KAAK;AACpB,QAAI,CAAC,UAAU;AACb,UAAI,cAAc,KAAK,gBAAgB,KAAK,cAAc,yBAAyB;AACnF,UAAI,aAAa;AACf,mBAAW,YAAY;AAAA,MACzB;AAAA,IACF;AACA,QAAI,UAAU;AACZ,UAAI,SAAS,UAAU,mBAAmB,EAAG,QAAO;AAAA,UAAc,QAAO,KAAK,2BAA2B,QAAQ;AAAA,IACnH,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,uBAAuB,MAAM;AAC3B,QAAI,WAAW,KAAK;AACpB,QAAI,CAAC,UAAU;AACb,UAAI,UAAU,KAAK,gBAAgB,KAAK,cAAc,qBAAqB;AAC3E,UAAI,SAAS;AACX,mBAAW,QAAQ;AAAA,MACrB;AAAA,IACF;AACA,QAAI,UAAU;AACZ,UAAI,SAAS,UAAU,mBAAmB,EAAG,QAAO;AAAA,UAAc,QAAO,KAAK,uBAAuB,QAAQ;AAAA,IAC/G,OAAO;AACL,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,YAAY;AACV,WAAO,KAAK,6BAA6B;AAAA,EAC3C;AAAA,EACA,OAAO,YAAO,SAAS,yBAAyB,mBAAmB;AACjE,WAAO,KAAK,qBAAqB,mBAAqB,4BAAkB,SAAS,GAAM,4BAAqB,UAAU,GAAM,4BAAqB,MAAM,CAAC;AAAA,EAC1J;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;AAAA,IACxC,cAAc,SAAS,8BAA8B,IAAI,KAAK;AAC5D,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,SAAS,SAAS,0CAA0C,QAAQ;AAChF,iBAAO,IAAI,QAAQ,MAAM;AAAA,QAC3B,CAAC,EAAE,WAAW,SAAS,4CAA4C,QAAQ;AACzE,iBAAO,IAAI,UAAU,MAAM;AAAA,QAC7B,CAAC;AAAA,MACH;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,MAAM,CAAC,GAAG,oBAAoB,MAAM;AAAA,MACpC,OAAO,CAAC,GAAG,yBAAyB,OAAO;AAAA,MAC3C,0BAA0B,CAAC,GAAG,4BAA4B,4BAA4B,gBAAgB;AAAA,IACxG;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,kCAAwB;AAAA,EACxC,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,kBAAkB,CAAC;AAAA,IACzF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,MACN,MAAM,CAAC,kBAAkB;AAAA,IAC3B,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,uBAAuB;AAAA,IAChC,CAAC;AAAA,IACD,0BAA0B,CAAC;AAAA,MACzB,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;AAAA,IAC5B,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;AAAA,IAC9B,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,sBAAN,MAAM,6BAA4B,cAAc;AAAA,EAC9C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,YAAY,IAAI,gBAAgB;AAC9B,UAAM;AACN,SAAK,KAAK;AACV,SAAK,iBAAiB;AAAA,EACxB;AAAA,EACA,qBAAqB;AACnB,SAAK,UAAU,QAAQ,UAAQ;AAC7B,cAAQ,KAAK,QAAQ,GAAG;AAAA,QACtB,KAAK;AACH,eAAK,gBAAgB,KAAK;AAC1B;AAAA,QACF,KAAK;AACH,eAAK,iBAAiB,KAAK;AAC3B;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,OAAO,YAAO,SAAS,4BAA4B,mBAAmB;AACpE,WAAO,KAAK,qBAAqB,sBAAwB,4BAAkB,SAAS,GAAM,4BAAkB,gBAAgB,CAAC;AAAA,EAC/H;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,uBAAuB,GAAG,CAAC,uBAAuB,GAAG,CAAC,yBAAyB,CAAC;AAAA,IAC7F,gBAAgB,SAAS,mCAAmC,IAAI,KAAK,UAAU;AAC7E,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,UAAU,eAAe,CAAC;AAAA,MAC9C;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,YAAY;AAAA,MAC/D;AAAA,IACF;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,kBAAkB,CAAC;AAAA,IAC7C,UAAU,SAAS,6BAA6B,IAAI,KAAK;AACvD,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,GAAG,6CAA6C,GAAG,GAAG,gBAAgB,CAAC,EAAE,GAAG,6CAA6C,GAAG,GAAG,gBAAgB,CAAC;AAAA,MAChK;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,QAAQ,IAAI,GAAG,gBAAgB,IAAI,eAAe,GAAG,aAAa;AAChF,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,CAAC,IAAI,GAAG,eAAe,IAAI,GAAG,gBAAgB,IAAI,eAAe,GAAG,aAAa;AAAA,MACzG;AAAA,IACF;AAAA,IACA,cAAc,CAAI,MAAS,gBAAgB;AAAA,IAC3C,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,qBAAqB,CAAC;AAAA,IAC5F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAQV,eAAe,kBAAkB;AAAA,IACnC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAM;AAAA,EACR,CAAC,GAAG;AAAA,IACF,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,QAAN,MAAM,OAAM;AAAA,EACV;AAAA,EACA;AAAA,EACA;AAAA,EACA,IAAI,QAAQ;AACV,WAAO,KAAK,UAAU,OAAO,IAAI;AAAA,EACnC;AAAA,EACA,IAAI,aAAa;AACf,WAAO,KAAK,SAAS,KAAK,YAAY,KAAK;AAAA,EAC7C;AAAA,EACA,IAAI,WAAW;AACb,WAAO,KAAK,SAAS,KAAK,UAAU;AAAA,EACtC;AAAA,EACA;AAAA,EACA,YAAY,IAAI,IAAI,MAAM;AACxB,SAAK,KAAK;AACV,SAAK,KAAK;AACV,SAAK,OAAO;AAAA,EACd;AAAA,EACA,UAAU,OAAO;AACf,YAAQ,MAAM,MAAM;AAAA,MAClB,KAAK;AACH,aAAK,eAAe,KAAK;AACzB;AAAA,MACF,KAAK;AACH,aAAK,aAAa,KAAK;AACvB;AAAA,MACF,KAAK;AACH,aAAK,gBAAgB,KAAK;AAC1B;AAAA,MACF,KAAK;AACH,aAAK,eAAe,KAAK;AACzB;AAAA,MACF,KAAK;AACH,aAAK,SAAS,KAAK;AACnB;AAAA,MACF,KAAK;AACH,aAAK,UAAU,KAAK;AACpB;AAAA,MACF,KAAK;AACH,aAAK,SAAS,KAAK;AACnB;AAAA,MACF;AACE;AAAA,IACJ;AAAA,EACF;AAAA,EACA,eAAe,OAAO;AACpB,QAAI,UAAU,KAAK,IAAI,eAAe;AACtC,QAAI,SAAS;AACX,WAAK,eAAe,MAAM,eAAe,OAAO;AAAA,IAClD;AACA,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,aAAa,OAAO;AAClB,QAAI,UAAU,KAAK,IAAI,eAAe;AACtC,QAAI,SAAS;AACX,WAAK,eAAe,MAAM,eAAe,OAAO;AAAA,IAClD;AACA,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,gBAAgB,OAAO;AACrB,UAAM,gBAAgB,MAAM;AAC5B,UAAM,eAAe,WAAW,eAAe,QAAQ,EAAE,MAAM,eAAe;AAC9E,QAAI,CAAC,gBAAgB,CAAC,KAAK,YAAY,KAAK,QAAQ,KAAK,UAAU,GAAG;AACpE,WAAK,OAAO,KAAK;AACjB,oBAAc,WAAW;AAAA,IAC3B;AACA,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,eAAe,OAAO;AACpB,UAAM,YAAY,KAAK,GAAG,oBAAoB;AAC9C,UAAM,eAAe,KAAK,WAAW,wBAAwB;AAC7D,UAAM,kBAAkB,aAAa,aAAa,SAAS,CAAC;AAC5D,QAAI,KAAK,UAAU;AACjB,WAAK,SAAS,KAAK;AAAA,IACrB;AACA,QAAI,iBAAiB;AACnB,WAAK,GAAG,iBAAiB,SAAS,eAAe;AAAA,IACnD;AACA,SAAK,aAAa;AAClB,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,UAAU,OAAO;AACf,UAAM,eAAe,WAAW,KAAK,GAAG,oBAAoB,eAAe,kBAAkB,KAAK,KAAK,IAAI;AAC3G,oBAAgB,MAAM,YAAY;AAClC,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,SAAS,OAAO;AACd,UAAM,QAAQ,KAAK,KAAK,GAAG,oBAAoB,eAAe,kBAAkB,KAAK,KAAK,IAAI;AAC9F,UAAM,cAAc,MAAM,MAAM,SAAS,CAAC;AAC1C,UAAM,WAAW;AACjB,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,SAAS,OAAO;AACd,UAAM,OAAO,KAAK,GAAG,gBAAgB,CAAC,GAAG,KAAK,KAAK,GAAG,cAAc,YAAY,IAAI,CAAC,IAAI;AACzF,QAAI,QAAQ,WAAW,IAAI,GAAG;AAC5B,YAAM,iBAAiB,KAAK,KAAK,SAAO,aAAa,KAAK,kBAAkB,KAAK,IAAI,aAAa,cAAc,MAAM,MAAM;AAC5H,WAAK,QAAQ,SAAO;AAClB,YAAI,WAAW;AAAA,MACjB,CAAC;AACD,UAAI,gBAAgB;AAClB,cAAM,gBAAgB,KAAK,OAAO,UAAQ,aAAa,MAAM,kBAAkB,KAAK,KAAK,aAAa,cAAc,MAAM,MAAM;AAChI,sBAAc,CAAC,EAAE,WAAW;AAC5B;AAAA,MACF;AACA,WAAK,CAAC,EAAE,WAAW;AAAA,IACrB;AAAA,EACF;AAAA,EACA,OAAO,OAAO;AACZ,SAAK,GAAG,iBAAiB,SAAS,KAAK,GAAG,aAAa;AACvD,SAAK,QAAQ,KAAK,UAAU,IAAI;AAChC,SAAK,GAAG,sBAAsB;AAC9B,SAAK,GAAG,aAAa,WAAW,KAAK,GAAG,KAAK;AAC7C,SAAK,QAAQ,KAAK,UAAU,IAAI,KAAK,aAAa,KAAK,GAAG,iBAAiB,CAAC,IAAI,KAAK,aAAa;AAClG,SAAK,GAAG,aAAa,KAAK;AAAA,MACxB,eAAe;AAAA,MACf,MAAM,KAAK,QAAQ;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EACA,SAAS,OAAO;AACd,SAAK,QAAQ,KAAK,UAAU,IAAI;AAChC,SAAK,GAAG,sBAAsB;AAC9B,SAAK,GAAG,aAAa,WAAW,KAAK,GAAG,KAAK;AAC7C,SAAK,GAAG,eAAe,KAAK;AAAA,MAC1B,eAAe;AAAA,MACf,MAAM,KAAK,QAAQ;AAAA,IACrB,CAAC;AAAA,EACH;AAAA,EACA,eAAe,mBAAmB,mBAAmB,uBAAuB;AAC1E,sBAAkB,WAAW;AAC7B,sBAAkB,WAAW;AAC7B,UAAM,iBAAiB;AAAA,EACzB;AAAA,EACA,aAAa,OAAO;AAClB,SAAK,KAAK,kBAAkB,MAAM;AAChC,iBAAW,MAAM;AACf,cAAM,YAAY,KAAK,GAAG,oBAAoB;AAC9C,cAAM,MAAM,WAAW,WAAW,oBAAoB,EAAE,SAAS,SAAS,KAAK,GAAG,cAAc;AAChG,cAAM,OAAO,CAAC,GAAG,KAAK,WAAW,IAAI,CAAC;AACtC,gBAAQ,KAAK,QAAQ,OAAK;AACxB,cAAI,CAAC,IAAI,WAAW,CAAC,GAAG;AACtB,cAAE,WAAW;AAAA,UACf;AAAA,QACF,CAAC;AACD,YAAI,KAAK;AACP,cAAI,WAAW;AACf,cAAI,MAAM;AAAA,QACZ;AAAA,MACF,GAAG,EAAE;AAAA,IACP,CAAC;AAAA,EACH;AAAA,EACA,OAAO,YAAO,SAAS,cAAc,mBAAmB;AACtD,WAAO,KAAK,qBAAqB,QAAU,4BAAkB,SAAS,GAAM,4BAAqB,UAAU,GAAM,4BAAqB,MAAM,CAAC;AAAA,EAC/I;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC;AAAA,IAC7B,UAAU;AAAA,IACV,cAAc,SAAS,mBAAmB,IAAI,KAAK;AACjD,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,WAAW,SAAS,iCAAiC,QAAQ;AACzE,iBAAO,IAAI,UAAU,MAAM;AAAA,QAC7B,CAAC;AAAA,MACH;AACA,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,YAAY,GAAG,EAAE,iBAAiB,IAAI,QAAQ,EAAE,cAAc,IAAI,KAAK,EAAE,mBAAmB,IAAI,GAAG,EAAE,QAAQ,IAAI,GAAG;AACnI,QAAG,qBAAW,eAAe,IAAI,UAAU;AAAA,MAC7C;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,SAAS,CAAC,GAAG,SAAS,SAAS;AAAA,IACjC;AAAA,IACA,YAAY;AAAA,EACd,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,OAAO,CAAC;AAAA,IAC9E,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,MAAM;AAAA,QACJ,WAAW;AAAA,QACX,mBAAmB;AAAA,QACnB,wBAAwB;AAAA,QACxB,qBAAqB;AAAA,QACrB,0BAA0B;AAAA,QAC1B,eAAe;AAAA,MACjB;AAAA,IACF,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,GAAG;AAAA,IACD,MAAS;AAAA,EACX,GAAG;AAAA,IACD,MAAS;AAAA,EACX,CAAC,GAAG;AAAA,IACF,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,MACN,MAAM,CAAC,OAAO;AAAA,IAChB,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC;AAAA,IAC9B,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,mBAAN,MAAM,0BAAyB,cAAc;AAAA,EAC3C;AAAA,EACA;AAAA,EACA,YAAY,IAAI;AACd,UAAM;AACN,SAAK,KAAK;AAAA,EACZ;AAAA,EACA,IAAI,wBAAwB;AAC1B,WAAO,KAAK,OAAO,cAAc,KAAK,QAAQ,WAAW,KAAK,OAAO,YAAY,KAAK,cAAc,KAAK,OAAO,YAAY,KAAK,YAAY;AAAA,EAC/I;AAAA,EACA,QAAQ,OAAO;AACb,SAAK,QAAQ,KAAK,WAAW,CAAC,KAAK,QAAQ,KAAK;AAChD,QAAI,KAAK,QAAQ,KAAK,UAAU;AAC9B,WAAK,GAAG,aAAa,KAAK;AAAA,QACxB,eAAe;AAAA,QACf,MAAM,KAAK,QAAQ;AAAA,MACrB,CAAC;AAAA,IACH,OAAO;AACL,WAAK,GAAG,eAAe,KAAK;AAAA,QAC1B,eAAe;AAAA,QACf,MAAM,KAAK,QAAQ;AAAA,MACrB,CAAC;AAAA,IACH;AACA,SAAK,GAAG,sBAAsB;AAC9B,SAAK,GAAG,aAAa,WAAW,KAAK,GAAG,KAAK;AAC7C,UAAM,eAAe;AAAA,EACvB;AAAA,EACA,OAAO,YAAO,SAAS,yBAAyB,mBAAmB;AACjE,WAAO,KAAK,qBAAqB,mBAAqB,4BAAkB,SAAS,CAAC;AAAA,EACpF;AAAA,EACA,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,oBAAoB,GAAG,CAAC,oBAAoB,GAAG,CAAC,qBAAqB,CAAC;AAAA,IACnF,QAAQ;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IACA,YAAY;AAAA,IACZ,UAAU,CAAI,oCAA0B;AAAA,IACxC,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,QAAQ,UAAU,YAAY,MAAM,WAAW,IAAI,GAAG,uBAAuB,GAAG,OAAO,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,CAAC;AAAA,IACnK,UAAU,SAAS,0BAA0B,IAAI,KAAK;AACpD,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,GAAG,UAAU,CAAC;AAChC,QAAG,qBAAW,SAAS,SAAS,kDAAkD,QAAQ;AACxF,iBAAO,IAAI,QAAQ,MAAM;AAAA,QAC3B,CAAC;AACD,QAAG,qBAAW,GAAG,0CAA0C,GAAG,GAAG,gBAAgB,CAAC,EAAE,GAAG,6BAA6B,GAAG,GAAG,MAAM,CAAC;AACjI,QAAG,uBAAa;AAAA,MAClB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,sBAAY,cAAc,IAAI,QAAQ,KAAK,SAAS,SAAS,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,SAAS,SAAS,YAAY,QAAQ,EAAE,uBAAuB,IAAI,QAAQ,QAAQ,KAAK,IAAI;AAC1M,QAAG,sBAAY,mBAAmB,YAAY,EAAE,yBAAyB,iBAAiB,EAAE,cAAc,IAAI,qBAAqB;AACnI,QAAG,oBAAU;AACb,QAAG,qBAAW,QAAQ,CAAC,IAAI,GAAG,uBAAuB,CAAC,IAAI,GAAG,oBAAoB;AACjF,QAAG,oBAAU;AACb,QAAG,qBAAW,oBAAoB,IAAI,GAAG,uBAAuB,IAAI,GAAG,oBAAoB,EAAE,2BAA8B,0BAAgB,IAAIZ,OAAM,IAAI,QAAQ,KAAK,QAAQ,CAAC;AAAA,MACjL;AAAA,IACF;AAAA,IACA,cAAc,MAAM,CAAI,MAAS,kBAAkB,QAAQ,iBAAiB,gBAAgB;AAAA,IAC5F,eAAe;AAAA,EACjB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,kBAAkB,CAAC;AAAA,IACzF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAoBV,eAAe,kBAAkB;AAAA,IACnC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,CAAC;AAAA,IACT,MAAM;AAAA,EACR,CAAC,GAAG;AAAA,IACF,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,kBAAN,MAAM,iBAAgB;AAAA,EACpB,OAAO,YAAO,SAAS,wBAAwB,mBAAmB;AAChE,WAAO,KAAK,qBAAqB,kBAAiB;AAAA,EACpD;AAAA,EACA,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,MAAM;AAAA,EACR,CAAC;AAAA,EACD,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,SAAS,CAAC,cAAc,iBAAiB,UAAU,aAAa,eAAe,aAAa,aAAa,qBAAqB,oBAAoB,WAAW,WAAW,iBAAiB,kBAAkB,UAAU,cAAc,aAAa,YAAY;AAAA,EAC9P,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,iBAAiB,CAAC;AAAA,IACxF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,cAAc,iBAAiB,QAAQ,UAAU,aAAa,eAAe,aAAa,aAAa,qBAAqB,oBAAoB,WAAW,WAAW,iBAAiB,kBAAkB,UAAU,cAAc,WAAW;AAAA,MACtP,SAAS,CAAC,WAAW,cAAc,kBAAkB,kBAAkB,YAAY,mBAAmB,OAAO,qBAAqB,iBAAiB,yBAAyB,kBAAkB,YAAY,kBAAkB,kBAAkB,qBAAqB,QAAQ;AAAA,MAC3Q,cAAc,CAAC,WAAW,kBAAkB,kBAAkB,QAAQ,kBAAkB,YAAY,mBAAmB,OAAO,qBAAqB,iBAAiB,yBAAyB,kBAAkB,YAAY,kBAAkB,kBAAkB,mBAAmB;AAAA,IACpR,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;ACr2MH,IAAMa,SAAQ,CAAC;AAAA,EACb;AACF,MAAM;AAAA;AAAA;AAAA,kBAGY,GAAG,qBAAqB,CAAC;AAAA,qBACtB,GAAG,wBAAwB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iEAagB,GAAG,+BAA+B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCpG,IAAMC,gBAAe;AAAA,EACnB,MAAM;AAAA,IACJ,UAAU;AAAA,EACZ;AACF;AACA,IAAMC,WAAU;AAAA,EACd,MAAM,CAAC;AAAA,IACL;AAAA,EACF,MAAM,CAAC,0BAA0B;AAAA,IAC/B,qBAAqB,MAAM,UAAU;AAAA,IACrC,6BAA6B,MAAM,cAAc;AAAA,EACnD,CAAC;AACH;AACA,IAAM,gBAAN,MAAM,uBAAsB,UAAU;AAAA,EACpC,OAAO;AAAA,EACP,QAAQF;AAAA,EACR,UAAUE;AAAA,EACV,eAAeD;AAAA,EACf,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,sBAAsB,mBAAmB;AACvD,cAAQ,oCAA+B,kCAAgC,gCAAsB,cAAa,IAAI,qBAAqB,cAAa;AAAA,IAClJ;AAAA,EACF,GAAG;AAAA,EACH,OAAO,aAAuB,gBAAG,6BAAmB;AAAA,IAClD,OAAO;AAAA,IACP,SAAS,eAAc;AAAA,EACzB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,eAAe,CAAC;AAAA,IACtF,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;AAUH,IAAI;AAAA,CACH,SAAUE,kBAAiB;AAI1B,EAAAA,iBAAgB,MAAM,IAAI;AAC5B,GAAG,oBAAoB,kBAAkB,CAAC,EAAE;AAM5C,IAAM,WAAN,MAAM,kBAAiB,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKR,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKZ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ;AAAA;AAAA;AAAA;AAAA;AAAA,EAKR,SAAS;AAAA,EACT,kBAAkB,OAAO,aAAa;AAAA,EACtC,iBAAiB;AACf,WAAO;AAAA,MACL,0BAA0B;AAAA,MAC1B,qBAAqB,KAAK,UAAU;AAAA,MACpC,6BAA6B,KAAK,cAAc;AAAA,IAClD;AAAA,EACF;AAAA,EACA,IAAI,iBAAiB;AACnB,UAAMF,gBAAe,KAAK,iBAAiB,aAAa,MAAM;AAC9D,QAAIG;AACJ,QAAI,KAAK,KAAM,CAAAA,SAAQ,gDAClB,KAAK,QACLH,gBAFkB;AAAA,MAGrB,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,cAAc,KAAK;AAAA,IACrB;AAAA,QAAO,CAAAG,SAAQ,gDACVH,gBADU;AAAA,MAEb,OAAO,KAAK;AAAA,MACZ,QAAQ,KAAK;AAAA,MACb,cAAc,KAAK;AAAA,QAChB,KAAK;AAEV,WAAOG;AAAA,EACT;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,iBAAiB,mBAAmB;AAClD,cAAQ,+BAA0B,6BAA2B,gCAAsB,SAAQ,IAAI,qBAAqB,SAAQ;AAAA,IAC9H;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,YAAY,CAAC;AAAA,IAC1B,QAAQ;AAAA,MACN,YAAY;AAAA,MACZ,OAAO;AAAA,MACP,OAAO;AAAA,MACP,WAAW;AAAA,MACX,cAAc;AAAA,MACd,MAAM;AAAA,MACN,OAAO;AAAA,MACP,QAAQ;AAAA,IACV;AAAA,IACA,UAAU,CAAI,6BAAmB,CAAC,aAAa,CAAC,GAAM,oCAA0B;AAAA,IAChF,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,GAAG,WAAW,SAAS,CAAC;AAAA,IAClC,UAAU,SAAS,kBAAkB,IAAI,KAAK;AAC5C,UAAI,KAAK,GAAG;AACV,QAAG,oBAAU,GAAG,OAAO,CAAC;AAAA,MAC1B;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,UAAU;AAC5B,QAAG,qBAAW,WAAW,IAAI,eAAe,CAAC,EAAE,WAAW,IAAI,cAAc;AAC5E,QAAG,sBAAY,gBAAgB,UAAU,EAAE,eAAe,IAAI,EAAE,mBAAmB,MAAM;AAAA,MAC3F;AAAA,IACF;AAAA,IACA,cAAc,CAAC,cAAiB,SAAY,SAAS,YAAY;AAAA,IACjE,eAAe;AAAA,IACf,iBAAiB;AAAA,EACnB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,UAAU,CAAC;AAAA,IACjF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,SAAS,CAAC,cAAc,YAAY;AAAA,MACpC,UAAU;AAAA,MACV,iBAAiB,wBAAwB;AAAA,MACzC,eAAe,kBAAkB;AAAA,MACjC,WAAW,CAAC,aAAa;AAAA,IAC3B,CAAC;AAAA,EACH,CAAC,GAAG,MAAM;AAAA,IACR,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,IACD,cAAc,CAAC;AAAA,MACb,MAAM;AAAA,IACR,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,QAAQ,CAAC;AAAA,MACP,MAAM;AAAA,IACR,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,iBAAN,MAAM,gBAAe;AAAA,EACnB,OAAO,YAAO,SAAS,uBAAuB,mBAAmB;AAC/D,WAAO,KAAK,qBAAqB,iBAAgB;AAAA,EACnD;AAAA,EACA,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,MAAM;AAAA,EACR,CAAC;AAAA,EACD,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,SAAS,CAAC,UAAU,cAAc,YAAY;AAAA,EAChD,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,gBAAgB,CAAC;AAAA,IACvF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,UAAU,YAAY;AAAA,MAChC,SAAS,CAAC,UAAU,YAAY;AAAA,IAClC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;;;;;;;;AEtPK,IAAA,oBAAA,GAAA,OAAA,EAAA;;;;AAAK,IAAA,qBAAA,WAAA,0BAAA,GAAAC,OAAA,OAAA,SAAA,GAAA,CAAA;;;;;AAFP,IAAA,yBAAA,GAAA,UAAA;AACE,IAAA,2BAAA,GAAA,mDAAA,GAAA,GAAA,OAAA,IAAAC,WAAA;AAGF,IAAA,uBAAA;;;;AAHE,IAAA,oBAAA;AAAA,IAAA,qBAAA,UAAA;;;;;;AAoBM,IAAA,yBAAA,GAAA,QAAA,EAAA;AAEE,IAAA,qBAAA,SAAA,SAAA,oHAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,YAAA,SAAA,OAAA;AAAA,YAAA,qBAAA,OAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAS,OAAA,cAAA,QAAA,kBAAA,CAAqB;IAAA,CAAA;;AAG9B,IAAA,yBAAA,GAAA,OAAA,EAAA;AAOE,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA,EAAM;;;;AAfN,IAAA,sBAAA,UAAA,OAAA,SAAA;;;;;;AAkBF,IAAA,yBAAA,GAAA,QAAA,EAAA;AAEE,IAAA,qBAAA,SAAA,SAAA,oHAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,YAAA,SAAA,OAAA;AAAA,YAAA,qBAAA,OAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAS,OAAA,cAAA,QAAA,kBAAA,CAAqB;IAAA,CAAA;;AAG9B,IAAA,yBAAA,GAAA,OAAA,EAAA;AAOE,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA,EAAM;;;;AAfN,IAAA,sBAAA,UAAA,OAAA,SAAA;;;;;AAzBF,IAAA,qBAAA,GAAA,6FAAA,GAAA,GAAA,QAAA,EAAA,EAA6C,GAAA,6FAAA,GAAA,GAAA,QAAA,EAAA;;;;AAA7C,IAAA,wBAAA,CAAA,OAAA,aAAA,OAAA,cAAA,IAAA,IAAA,OAAA,cAAA,KAAA,IAAA,EAAA;;;;;;AAVN,IAAA,yBAAA,GAAA,MAAA,EAAA,EAKC,GAAA,OAAA,EAAA,EACmC,GAAA,OAAA,EAAA,EACH,GAAA,MAAA;AACrB,IAAA,iBAAA,CAAA;AAAc,IAAA,uBAAA;AACpB,IAAA,qBAAA,GAAA,+EAAA,GAAA,CAAA;AA4CF,IAAA,uBAAA;AACA,IAAA,yBAAA,GAAA,OAAA,EAAA;AAA8B,IAAA,qBAAA,SAAA,SAAA,uFAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,YAAA,SAAA,wBAAA,EAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAS,OAAA,mBAAA,MAAA,CAAuB;IAAA,CAAA;;AAC5D,IAAA,yBAAA,GAAA,OAAA,EAAA;AASE,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA,EAAM,EACF,EACF;;;;;AArEN,IAAA,qBAAA,YAAA,OAAA,aAAA;AAKU,IAAA,oBAAA,CAAA;AAAA,IAAA,4BAAA,OAAA,IAAA;AACN,IAAA,oBAAA;AAAA,IAAA,wBAAA,OAAA,WAAA,OAAA,aAAA,OAAA,UAAA,SAAA,IAAA,EAAA;AA+CE,IAAA,oBAAA,CAAA;AAAA,IAAA,qBAAA,WAAA,0BAAA,GAAAC,OAAA,OAAA,WAAA,YAAA,QAAA,CAAA;;;;;AAzDR,IAAA,qBAAA,GAAA,iEAAA,GAAA,GAAA,MAAA,EAAA;;;;AAAA,IAAA,wBAAA,OAAA,UAAA,IAAA,EAAA;;;;;AAFF,IAAA,yBAAA,GAAA,IAAA;AACE,IAAA,2BAAA,GAAA,mDAAA,GAAA,GAAA,MAAA,MAAAD,WAAA;AA6EF,IAAA,uBAAA;;;;AA7EE,IAAA,oBAAA;AAAA,IAAA,qBAAA,WAAA;;;;;AAoFE,IAAA,oBAAA,GAAA,YAAA;;;;;AAEA,IAAA,yBAAA,GAAA,MAAA;AAAM,IAAA,iBAAA,CAAA;AAAwB,IAAA,uBAAA;;;;;AAAxB,IAAA,oBAAA;AAAA,IAAA,4BAAA,YAAA,QAAA,KAAA,CAAA;;;;;AAJR,IAAA,yBAAA,GAAA,MAAA,EAAA;AACE,IAAA,qBAAA,GAAA,iEAAA,GAAA,GAAA,YAAA,EAAiD,GAAA,iEAAA,GAAA,GAAA,MAAA;AAKnD,IAAA,uBAAA;;;;;AANI,IAAA,qBAAA,WAAA,QAAA,SAAA;AACF,IAAA,oBAAA;AAAA,IAAA,wBAAA,OAAA,WAAA,CAAA,OAAA,aAAA,CAAA,OAAA,UAAA,SAAA,IAAA,CAAA;;;;;AAHJ,IAAA,yBAAA,GAAA,MAAA,EAAA;AACE,IAAA,2BAAA,GAAA,mDAAA,GAAA,GAAA,MAAA,IAAAA,WAAA;AASF,IAAA,uBAAA;;;;;AAVI,IAAA,qBAAA,SAAA,WAAA,EAAiB,mBAAA,WAAA;AACnB,IAAA,oBAAA;AAAA,IAAA,qBAAA,WAAA;;;;;AAcA,IAAA,yBAAA,GAAA,MAAA;AAAM,IAAA,iBAAA,GAAA,kBAAA;AAAgB,IAAA,uBAAA;;;;;AAEtB,IAAA,yBAAA,GAAA,MAAA;AAAM,IAAA,iBAAA,CAAA;AAEJ,IAAA,uBAAA;;;;AAFI,IAAA,oBAAA;AAAA,IAAA,4BAAA,YAAA,OAAA,eAAA,gBAAA,OAAA,UAAA,SAAA,GAAA;;;;;AADI,IAAA,qBAAA,GAAA,yEAAA,GAAA,GAAA,MAAA;;;;AAAA,IAAA,wBAAA,OAAA,gBAAA,OAAA,aAAA,OAAA,UAAA,SAAA,IAAA,EAAA;;;;;AAHZ,IAAA,yBAAA,GAAA,OAAA,EAAA;AACE,IAAA,qBAAA,GAAA,2DAAA,GAAA,GAAA,MAAA,EAAc,GAAA,2DAAA,GAAA,CAAA;AAOhB,IAAA,uBAAA;;;;AAPE,IAAA,oBAAA;AAAA,IAAA,wBAAA,OAAA,UAAA,IAAA,CAAA;;;;;AAWN,IAAA,yBAAA,GAAA,OAAA,CAAA,EAAgC,GAAA,MAAA;AACvB,IAAA,iBAAA,GAAA,oBAAA;AAAiB,IAAA,uBAAA,EAAO;;;;;;AAO3B,IAAA,yBAAA,GAAA,IAAA,EAAI,GAAA,cAAA,EAAA;AAC0B,IAAA,2BAAA,iBAAA,SAAA,yEAAA,QAAA;AAAA,YAAA,aAAA,wBAAA,IAAA,EAAA;AAAA,MAAA,6BAAA,WAAA,SAAA,MAAA,MAAA,WAAA,UAAA;AAAA,aAAA,sBAAA,MAAA;IAAA,CAAA;AAA5B,IAAA,uBAAA;AACA,IAAA,yBAAA,GAAA,MAAA;AAAM,IAAA,iBAAA,CAAA;AAAiB,IAAA,uBAAA,EAAO;;;;AADlB,IAAA,oBAAA;AAAA,IAAA,qBAAA,UAAA,IAAA;AAAgB,IAAA,2BAAA,WAAA,WAAA,OAAA;AACtB,IAAA,oBAAA,CAAA;AAAA,IAAA,4BAAA,WAAA,IAAA;;;ADjHV,IAAO,uBAAP,MAAO,sBAAoB;EA4DX;EA3DuB;EAG3C,kBAAwC,IAAI,aAAY;EAExD,iBAGK,IAAI,aAAY;EACrB,IACI,aAAa,OAAU;AACzB,QAAI,SAAS,MAAM,QAAQ;AACzB,WAAK,gBAAgB,KAAK;IAC5B,WAAW,SAAS,CAAC,MAAM,QAAQ;AACjC,WAAK,YAAY;IACnB;EACF;EACA,IACI,WAAW,MAAY;AACzB,QAAI,SAAS,KAAK,KAAK,WAAW,QAAW;AAC3C,WAAK,UAAU,MAAK;IACtB;AACA,SAAK,SAAS;EAChB;EAEA;EAEA,qBAAqB,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG;EAEnD;EACA,QAAQ,MAAM,GAAG;EACjB,IACI,aAAa,KAAW;AAC1B,QAAI,QAAQ,UAAa,KAAK,WAAW,KAAK;AAC5C,WAAK,SAAS;AACd,UAAI,KAAK,WAAW;AAClB,cAAM,KAAK,KAAK,UAAU,GAAG,cAAc,cACzC,iCAAiC;AAEnC,YAAG;AAAI,aAAG,aAAa,SAAS,eAAe,MAAM,EAAE,gBAAgB;MACzE;IACF;EACF;EACA,SAAS;EAET,UAAU;EAEV,WAAW;EAEX,qBAAqB;EAErB,mBAAmB;EAEnB,YAAY;EAEZ;EACA,cAAc;EACd;EAEA,YAAoB,KAAsB;AAAtB,SAAA,MAAA;EAAyB;EAE7C,kBAAkB,MAAM,CAAC,EACtB,KAAK,IAAI,EACT,IAAI,OAAO;IACV,MAAM,CAAA;IACN,UAAU,CAAA;IACV;EACJ;EACA,gBAAqC,CAAA;EAE7B,gBAAgB,OAAY;AAClC,UAAM,SAAS,MAAM,IAAI,CAAC,UAAU;MAClC,MAAM;MACN,UAAU,CAAA;MACV;AAEF,SAAK,YAAY,CAAC,GAAG,MAAM;AAC3B,SAAK,IAAI,cAAa;EACxB;EAEU,cAAc,KAAwB,OAAa;AAC3D,SAAK,aAAa,QAAQ,CAAC,GAAG,MAAK;AACjC,UAAI,MAAM,OAAO;AACf,UAAE,YAAY;MAChB;IACF,CAAC;AAED,SAAK,SAAS;AACd,SAAK,UAAU,MAAK;AAEpB,QAAI,IAAI,cAAc,KAAK,CAAC,IAAI,WAAW;AACzC,UAAI,YAAY;IAClB,WAAW,IAAI,cAAc,GAAG;AAC9B,UAAI,YAAY;IAClB,OAAO;AACL,UAAI,YAAY;IAClB;AAEA,QAAI,IAAI,cAAc,GAAG;AACvB,WAAK,eAAe,KAAK;QACvB,OAAO,IAAI;QACX,OAAO,IAAI,cAAc,IAAI,QAAQ;OACtC;IACH,OAAO;AACL,WAAK,eAAe,KAAK;QACvB,OAAO;QACP,OAAO;OACR;IACH;EACF;EAEU,aAAa,MAAiC;AACtD,UAAM,EAAE,WAAW,UAAS,IAAK;AAEjC,QAAI,aAAa,WAAW;AAC1B,YAAM,CAAC,aAAa,IAAI,KAAK,aAAa,OAAO,WAAW,CAAC;AAE7D,UAAI,oBAAoB;AACxB,UAAI,YAAY,WAAW;AACzB,4BAAoB,YAAY;MAClC;AAEA,WAAK,aAAa,OAAO,mBAAmB,GAAG,aAAa;AAE5D,WAAK,aAAa,QAAQ,CAAC,KAAK,UAAS;AACvC,YAAI,cAAc;MACpB,CAAC;IACH;EACF;EAEU,mBAAmB,KAAsB;AACjD,UAAM,cAAc,KAAK,cAAc,UACrC,CAAC,OAAO,GAAG,UAAU,IAAI,KAAK;AAGhC,QAAI,eAAe,GAAG;AACpB,UAAI,WAAW;AACf,WAAK,cAAc,OAAO,aAAa,CAAC;AACxC,WAAK,aAAa,OAAO,IAAI,aAAa,GAAG,GAAG;AAChD,WAAK,cAAc,CAAC,KAAK,cAAc,IAAI;IAC7C,OAAO;AACL,UAAI,WAAW;AACf,WAAK,cAAc,KAAK,GAAG;AAC3B,WAAK,eAAe,KAAK,aAAa,OACpC,CAAC,MAAM,EAAE,UAAU,IAAI,KAAK;AAE9B,WAAK,cAAc,CAAC,KAAK,cAAc,IAAI;IAC7C;AAEA,QAAI,CAAC,KAAK,cAAc,QAAQ;AAC9B,WAAK,cAAc;IACrB;EACF;EAEU,aAAa,OAAU;AAC/B,QAAI,MAAM,SAAS,KAAK,MAAK,GAAI;AAC/B,YAAM,YAAY,KAAK,MAAM,KAAK,SAAS,KAAK,MAAK,CAAE;AACvD,WAAK,SAAQ,YAAY,MAAM;AAC/B,WAAK,MAAM,IAAI,MAAM,IAAc;IACrC,OAAO;AACL,WAAK,SAAS,MAAM;IACtB;AACA,SAAK,gBAAgB,KAAK,KAAK,MAAM;EACvC;EAEA,IAAI,iBAAc;AAChB,WAAO,KAAK,aAAa,OAAO,CAAC,QAAQ,IAAI,OAAO;EACtD;;qCAxKW,uBAAoB,4BAAA,iBAAA,CAAA;EAAA;yEAApB,uBAAoB,WAAA,CAAA,CAAA,mBAAA,CAAA,GAAA,WAAA,SAAA,2BAAA,IAAA,KAAA;AAAA,QAAA,KAAA,GAAA;;;;;;;;;;ACvCjC,MAAA,yBAAA,GAAA,OAAA,CAAA,EAIC,GAAA,eAAA,GAAA,CAAA;AAqBG,MAAA,qBAAA,gBAAA,SAAA,kEAAA,QAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,eAAA,sBAAgB,IAAA,aAAA,MAAA,CAAoB;MAAA,CAAA,EAAC,UAAA,SAAA,4DAAA,QAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,eAAA,sBAC3B,IAAA,aAAA,MAAA,CAAoB;MAAA,CAAA;AAE9B,MAAA,qBAAA,GAAA,6CAAA,GAAA,GAAA,eAAA,MAAA,GAAA,gCAAA,EAAmC,GAAA,6CAAA,GAAA,GAAA,eAAA,MAAA,GAAA,gCAAA,EAOF,GAAA,6CAAA,GAAA,GAAA,eAAA,MAAA,GAAA,gCAAA,EAiF0C,GAAA,6CAAA,GAAA,GAAA,eAAA,MAAA,GAAA,gCAAA;AAwB7E,MAAA,uBAAA;AACA,MAAA,qBAAA,IAAA,8CAAA,GAAA,GAAA,OAAA,CAAA;AAKA,MAAA,yBAAA,IAAA,aAAA,MAAA,CAAA,EAAe,IAAA,OAAA,CAAA,EACe,IAAA,MAAA,EAAA;AAExB,MAAA,2BAAA,IAAA,sCAAA,GAAA,GAAA,MAAA,MAAAA,WAAA;AAMF,MAAA,uBAAA,EAAK,EACD,EACI;;;AA3JZ,MAAA,qBAAA,WAAA,0BAAA,IAAAE,OAAA,IAAA,OAAA,CAAA;AAKE,MAAA,oBAAA;AAAA,MAAA,qBAAA,SAAA,IAAA,aAAA,CAAA,IAAA,UAAA,IAAA,YAAA,IAAA,eAAA,EAA6D,YAAA,IAAA,QAAA,EACxC,WAAA,IAAA,cAAA,EACK,oBAAA,IAAA,gBAAA,EAGW,sBAAA,IAAA,kBAAA,EACI,kBAAA,KAAA,EACjB,QAAA,IAAA,EACX,gBAAA,CAAA,IAAA,YAAA,EACiB,QAAA,IAAA,MAAA,CAAA,EACd,SAAA,IAAA,MAAA,EACA,cAAA,IAAA,EACG,gBAAA,IAAA,SAAA,IAAA,EACW,aAAA,IAAA,SAAA,EACP,sBAAA,IAAA,kBAAA,EACkB,iBAAA,IAAA,aAAA,EACV,eAAA,IAAA,cAAA,IAAA;AAsHjC,MAAA,oBAAA,EAAA;AAAA,MAAA,wBAAA,IAAA,aAAA,CAAA,IAAA,UAAA,UAAA,CAAA,IAAA,UAAA,KAAA,EAAA;AAQM,MAAA,oBAAA,CAAA;AAAA,MAAA,qBAAA,IAAA,YAAA;;;ID5HJ;IAAe;IAAA;IAAA;IAAA;IAAA;IACf;IACA;IAAa;IACb;IACA;IAAc;IACd;IAAa;IACb;IAAc;IACd;IAAW;IAAA;EAAA,GAAA,QAAA,CAAA,6pGAAA,GAAA,iBAAA,EAAA,CAAA;;;sEAOF,sBAAoB,CAAA;UAjBhC;uBACW,qBAAmB,SACpB;MACP;MACA;MACA;MACA;MACA;MACA;MACA;MACA;OACD,iBAGgB,wBAAwB,QAAM,YACnC,MAAI,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,QAAA,CAAA,m9EAAA,EAAA,CAAA;6CAG2B,WAAS,CAAA;UAAnD;WAAU,aAAa,EAAE,QAAQ,MAAK,CAAE;MAGzC,iBAAe,CAAA;UADd;MAGD,gBAAc,CAAA;UADb;MAMG,cAAY,CAAA;UADf;MASG,YAAU,CAAA;UADb;MAQD,cAAY,CAAA;UADX;MAGD,oBAAkB,CAAA;UADjB;MAGD,cAAY,CAAA;UADX;MAIG,cAAY,CAAA;UADf;MAcD,SAAO,CAAA;UADN;MAGD,UAAQ,CAAA;UADP;MAGD,oBAAkB,CAAA;UADjB;MAGD,kBAAgB,CAAA;UADf;MAGD,WAAS,CAAA;UADR;MAGD,SAAO,CAAA;UADN;;;;6EAvDU,sBAAoB,EAAA,WAAA,wBAAA,UAAA,kFAAA,YAAA,GAAA,CAAA;AAAA,GAAA;;;AEnB3B,IAAO,uBAAP,MAAO,sBAAoB;EAIrB;EACA;EAJD;;EACC;EACV,YACU,KACA,qBAAwC;AADxC,SAAA,MAAA;AACA,SAAA,sBAAA;AAER,SAAK,SACH,KAAK,oBAAoB,qBAAqB,mBAAmB;EACrE;EAEA,WAAQ;AACN,UAAM,SAAS,KAAK,oBAAoB,cAAc,KAAK,MAAM;AACjE,QAAI,QAAQ;AACV,WAAK,oBAAoB,gBAAgB,KAAK,QAAQ,KAAK,OAAO;AAClE,WAAK,IAAI,cAAa;IACxB;EACF;EAEA,YAAY,SAAsB;AAChC,QACE,QAAQ,SAAS,KACjB,QAAQ,SAAS,EAAE,iBAAiB,QAAQ,SAAS,EAAE,eACvD;AACA,YAAM,SAAS,KAAK,oBAAoB,cAAc,KAAK,MAAM;AACjE,UAAI,QAAQ;AACV,aAAK,oBAAoB,gBAAgB,KAAK,QAAQ,KAAK,OAAO;AAClE,aAAK,IAAI,cAAa;MACxB;IACF;EACF;EAEA,cAAW;AACT,SAAK,oBAAoB,iBAAiB,KAAK,MAAM;EACvD;;qCAlCW,uBAAoB,4BAAA,iBAAA,GAAA,4BAAA,mBAAA,CAAA;EAAA;yEAApB,uBAAoB,WAAA,CAAA,CAAA,gBAAA,CAAA,GAAA,QAAA,EAAA,SAAA,UAAA,GAAA,UAAA,CAAA,8BAAA,GAAA,OAAA,GAAA,MAAA,GAAA,UAAA,SAAA,8BAAA,IAAA,KAAA;EAAA,GAAA,QAAA,CAAA,o4HAAA,GAAA,iBAAA,EAAA,CAAA;;;sEAApB,sBAAoB,CAAA;UARhC;uBACW,kBAAgB,UAChB,IAAE,YAEA,MAAI,SACP,CAAA,GAAE,iBACM,wBAAwB,QAAM,QAAA,CAAA,8lGAAA,EAAA,CAAA;4EAGtC,SAAO,CAAA;UAAf;;;;6EADU,sBAAoB,EAAA,WAAA,wBAAA,UAAA,qFAAA,YAAA,GAAA,CAAA;AAAA,GAAA;;;AC4BjC,IAAAC,iBAAmB;;;AEvCnB,IAAMC,OAAM,CAAC,QAAQ;AACrB,IAAMC,QAAM,CAAC,OAAO;AACpB,IAAMC,QAAM,SAAO;AAAA,EACjB,SAAS;AACX;AACA,SAAS,mDAAmD,IAAI,KAAK;AACnE,MAAI,KAAK,GAAG;AACV,IAAG,6BAAmB,CAAC;AAAA,EACzB;AACF;AACA,SAAS,oCAAoC,IAAI,KAAK;AACpD,MAAI,KAAK,GAAG;AACV,IAAG,qBAAW,GAAG,oDAAoD,GAAG,GAAG,gBAAgB,CAAC;AAAA,EAC9F;AACA,MAAI,KAAK,GAAG;AACV,UAAM,SAAY,wBAAc;AAChC,IAAG,qBAAW,oBAAoB,OAAO,kBAAkB,OAAO,eAAe,EAAE,2BAA8B,0BAAgB,GAAGA,OAAK,OAAO,QAAQ,CAAC,CAAC;AAAA,EAC5J;AACF;AACA,IAAMC,SAAQ,CAAC;AAAA,EACb;AACF,MAAM;AAAA;AAAA;AAAA,aAGO,GAAG,oBAAoB,CAAC;AAAA,cACvB,GAAG,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAgBlB,GAAG,4BAA4B,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQjC,GAAG,2BAA2B,CAAC;AAAA;AAAA,oBAE/B,GAAG,2BAA2B,CAAC;AAAA,kBACjC,GAAG,yBAAyB,CAAC;AAAA,6BAClB,GAAG,kCAAkC,CAAC,WAAW,GAAG,kCAAkC,CAAC,kBAAkB,GAAG,kCAAkC,CAAC,mBAAmB,GAAG,kCAAkC,CAAC,gBAAgB,GAAG,kCAAkC,CAAC;AAAA,qBACtQ,GAAG,4BAA4B,CAAC;AAAA;AAAA,kBAEnC,GAAG,qBAAqB,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBASzB,GAAG,gCAAgC,CAAC;AAAA,aACzC,GAAG,2BAA2B,CAAC;AAAA,aAC/B,GAAG,0BAA0B,CAAC;AAAA,cAC7B,GAAG,0BAA0B,CAAC;AAAA,0BAClB,GAAG,kBAAkB,CAAC;AAAA,yCACP,GAAG,0BAA0B,CAAC;AAAA,qBAClD,GAAG,mCAAmC,CAAC;AAAA,6BAC/B,GAAG,kCAAkC,CAAC,WAAW,GAAG,kCAAkC,CAAC,wBAAwB,GAAG,6BAA6B,CAAC,gBAAgB,GAAG,6BAA6B,CAAC;AAAA;AAAA;AAAA;AAAA,kBAI5M,GAAG,iCAAiC,CAAC;AAAA,oBACnC,GAAG,mCAAmC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIzC,GAAG,wCAAwC,CAAC;AAAA,aACjD,GAAG,mCAAmC,CAAC;AAAA,+BACrB,GAAG,oBAAoB,CAAC,WAAW,GAAG,0BAA0B,CAAC,MAAM,GAAG,kBAAkB,CAAC;AAAA;AAAA;AAAA;AAAA,kBAI1G,GAAG,+BAA+B,CAAC;AAAA,oBACjC,GAAG,iCAAiC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIvC,GAAG,sCAAsC,CAAC;AAAA,aAC/C,GAAG,iCAAiC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIhC,GAAG,uCAAuC,CAAC;AAAA,oBACzC,GAAG,yCAAyC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAI/C,GAAG,8CAA8C,CAAC;AAAA,aACvD,GAAG,yCAAyC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAIxC,GAAG,gCAAgC,CAAC;AAAA,eACvC,GAAG,+BAA+B,CAAC,IAAI,GAAG,+BAA+B,CAAC,IAAI,GAAG,+BAA+B,CAAC;AAAA,sBAC1G,GAAG,gCAAgC,CAAC;AAAA;AAAA;AAAA;AAAA,oBAItC,GAAG,mCAAmC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAQzC,GAAG,kCAAkC,CAAC;AAAA;AAAA;AAAA;AAAA,kBAItC,GAAG,yCAAyC,CAAC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAQ3C,GAAG,mCAAmC,CAAC;AAAA;AAE3D,IAAMC,gBAAe;AAAA,EACnB,MAAM;AAAA,IACJ,UAAU;AAAA,EACZ;AACF;AACA,IAAMC,WAAU;AAAA,EACd,MAAM,CAAC;AAAA,IACL;AAAA,EACF,OAAO;AAAA,IACL,8BAA8B;AAAA,IAC9B,0BAA0B,SAAS,QAAQ;AAAA,IAC3C,cAAc,SAAS;AAAA,IACvB,aAAa,SAAS;AAAA,EACxB;AAAA,EACA,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,QAAQ;AACV;AACA,IAAM,oBAAN,MAAM,2BAA0B,UAAU;AAAA,EACxC,OAAO;AAAA,EACP,QAAQF;AAAA,EACR,UAAUE;AAAA,EACV,eAAeD;AAAA,EACf,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,0BAA0B,mBAAmB;AAC3D,cAAQ,wCAAmC,sCAAoC,gCAAsB,kBAAiB,IAAI,qBAAqB,kBAAiB;AAAA,IAClK;AAAA,EACF,GAAG;AAAA,EACH,OAAO,aAAuB,gBAAG,6BAAmB;AAAA,IAClD,OAAO;AAAA,IACP,SAAS,mBAAkB;AAAA,EAC7B,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,mBAAmB,CAAC;AAAA,IAC1F,MAAM;AAAA,EACR,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;AAUH,IAAI;AAAA,CACH,SAAUE,sBAAqB;AAI9B,EAAAA,qBAAoB,MAAM,IAAI;AAI9B,EAAAA,qBAAoB,OAAO,IAAI;AAI/B,EAAAA,qBAAoB,QAAQ,IAAI;AAClC,GAAG,wBAAwB,sBAAsB,CAAC,EAAE;AACpD,IAAM,8BAA8B;AAAA,EAClC,SAAS;AAAA,EACT,aAAa,WAAW,MAAM,YAAY;AAAA,EAC1C,OAAO;AACT;AAKA,IAAM,eAAN,MAAM,sBAAqB,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA,EAKvC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA,EAKZ,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,EAKb;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,WAAW,IAAI,aAAa;AAAA,EAC5B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAWA;AAAA,EACA;AAAA,EACA,aAAa;AAAA,EACb,UAAU;AAAA,EACV,gBAAgB,MAAM;AAAA,EAAC;AAAA,EACvB,iBAAiB,MAAM;AAAA,EAAC;AAAA,EACxB,kBAAkB,OAAO,iBAAiB;AAAA,EAC1C;AAAA,EACA,qBAAqB;AACnB,SAAK,UAAU,QAAQ,UAAQ;AAC7B,cAAQ,KAAK,QAAQ,GAAG;AAAA,QACtB,KAAK;AACH,eAAK,kBAAkB,KAAK;AAC5B;AAAA,QACF;AACE,eAAK,kBAAkB,KAAK;AAC5B;AAAA,MACJ;AAAA,IACF,CAAC;AAAA,EACH;AAAA,EACA,QAAQ,OAAO;AACb,QAAI,CAAC,KAAK,YAAY,CAAC,KAAK,UAAU;AACpC,WAAK,aAAa,KAAK,QAAQ,IAAI,KAAK,aAAa,KAAK;AAC1D,WAAK,cAAc,KAAK,UAAU;AAClC,WAAK,SAAS,KAAK;AAAA,QACjB,eAAe;AAAA,QACf,SAAS,KAAK;AAAA,MAChB,CAAC;AACD,WAAK,MAAM,cAAc,MAAM;AAAA,IACjC;AAAA,EACF;AAAA,EACA,UAAU;AACR,SAAK,UAAU;AAAA,EACjB;AAAA,EACA,SAAS;AACP,SAAK,UAAU;AACf,SAAK,eAAe;AAAA,EACtB;AAAA,EACA,WAAW,OAAO;AAChB,SAAK,aAAa;AAClB,SAAK,GAAG,aAAa;AAAA,EACvB;AAAA,EACA,iBAAiB,IAAI;AACnB,SAAK,gBAAgB;AAAA,EACvB;AAAA,EACA,kBAAkB,IAAI;AACpB,SAAK,iBAAiB;AAAA,EACxB;AAAA,EACA,iBAAiB,KAAK;AACpB,SAAK,WAAW;AAChB,SAAK,GAAG,aAAa;AAAA,EACvB;AAAA,EACA,UAAU;AACR,WAAO,KAAK,eAAe,KAAK;AAAA,EAClC;AAAA,EACA,OAAO,YAAuB,uBAAM;AAClC,QAAI;AACJ,WAAO,SAAS,qBAAqB,mBAAmB;AACtD,cAAQ,mCAA8B,iCAA+B,gCAAsB,aAAY,IAAI,qBAAqB,aAAY;AAAA,IAC9I;AAAA,EACF,GAAG;AAAA,EACH,OAAO,YAAsB,gBAAG,4BAAkB;AAAA,IAChD,MAAM;AAAA,IACN,WAAW,CAAC,CAAC,gBAAgB,GAAG,CAAC,gBAAgB,GAAG,CAAC,iBAAiB,CAAC;AAAA,IACvE,gBAAgB,SAAS,4BAA4B,IAAI,KAAK,UAAU;AACtE,UAAI,KAAK,GAAG;AACV,QAAG,yBAAe,UAAUN,MAAK,CAAC;AAClC,QAAG,yBAAe,UAAU,eAAe,CAAC;AAAA,MAC9C;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,iBAAiB,GAAG;AACrE,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,YAAY;AAAA,MAC/D;AAAA,IACF;AAAA,IACA,WAAW,SAAS,mBAAmB,IAAI,KAAK;AAC9C,UAAI,KAAK,GAAG;AACV,QAAG,sBAAYC,OAAK,CAAC;AAAA,MACvB;AACA,UAAI,KAAK,GAAG;AACV,YAAI;AACJ,QAAG,yBAAe,KAAQ,sBAAY,CAAC,MAAM,IAAI,QAAQ,GAAG;AAAA,MAC9D;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,OAAO;AAAA,MACP,YAAY;AAAA,MACZ,UAAU,CAAC,GAAG,YAAY,YAAY,eAAe;AAAA,MACrD,SAAS;AAAA,MACT,MAAM;AAAA,MACN,UAAU,CAAC,GAAG,YAAY,YAAY,gBAAgB;AAAA,MACtD,UAAU,CAAC,GAAG,YAAY,YAAY,gBAAgB;AAAA,MACtD,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,gBAAgB;AAAA,MAChB,WAAW,CAAC,GAAG,aAAa,aAAa,gBAAgB;AAAA,IAC3D;AAAA,IACA,SAAS;AAAA,MACP,UAAU;AAAA,IACZ;AAAA,IACA,UAAU,CAAI,6BAAmB,CAAC,6BAA6B,iBAAiB,CAAC,GAAM,oCAA6B,oCAA0B;AAAA,IAC9I,OAAO;AAAA,IACP,MAAM;AAAA,IACN,QAAQ,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,GAAG,SAAS,WAAW,SAAS,GAAG,CAAC,QAAQ,YAAY,QAAQ,UAAU,GAAG,SAAS,QAAQ,WAAW,WAAW,YAAY,YAAY,GAAG,CAAC,GAAG,SAAS,GAAG,CAAC,GAAG,oBAAoB,yBAAyB,CAAC;AAAA,IAC1O,UAAU,SAAS,sBAAsB,IAAI,KAAK;AAChD,UAAI,KAAK,GAAG;AACV,cAAM,MAAS,2BAAiB;AAChC,QAAG,yBAAe,GAAG,OAAO,CAAC;AAC7B,QAAG,qBAAW,SAAS,SAAS,2CAA2C,QAAQ;AACjF,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,QAAQ,MAAM,CAAC;AAAA,QAC3C,CAAC;AACD,QAAG,yBAAe,GAAG,SAAS,GAAG,CAAC;AAClC,QAAG,qBAAW,SAAS,SAAS,+CAA+C;AAC7E,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,QAAQ,CAAC;AAAA,QACrC,CAAC,EAAE,QAAQ,SAAS,8CAA8C;AAChE,UAAG,wBAAc,GAAG;AACpB,iBAAU,sBAAY,IAAI,OAAO,CAAC;AAAA,QACpC,CAAC;AACD,QAAG,uBAAa;AAChB,QAAG,yBAAe,GAAG,QAAQ,CAAC,EAAE,GAAG,OAAO,CAAC;AAC3C,QAAG,qBAAW,GAAG,qCAAqC,GAAG,GAAG,cAAc;AAC1E,QAAG,uBAAa,EAAE,EAAE;AAAA,MACtB;AACA,UAAI,KAAK,GAAG;AACV,QAAG,qBAAW,IAAI,GAAG,MAAM,CAAC;AAC5B,QAAG,qBAAW,IAAI,UAAU;AAC5B,QAAG,qBAAW,WAAW,IAAI,GAAG,MAAM,CAAC,EAAE,WAAW,IAAI,KAAK;AAC7D,QAAG,sBAAY,gBAAgB,cAAc,EAAE,mBAAmB,MAAM;AACxE,QAAG,oBAAU;AACb,QAAG,qBAAW,WAAW,IAAI,GAAG,OAAO,CAAC,EAAE,WAAW,IAAI,QAAQ,CAAC,EAAE,YAAY,IAAI,QAAQ,EAAE,cAAc,IAAI,SAAS;AACzH,QAAG,sBAAY,MAAM,IAAI,OAAO,EAAE,gBAAgB,IAAI,QAAQ,CAAC,EAAE,mBAAmB,IAAI,cAAc,EAAE,cAAc,IAAI,SAAS,EAAE,QAAQ,IAAI,IAAI,EAAE,YAAY,IAAI,QAAQ,EAAE,mBAAmB,aAAa;AACjN,QAAG,oBAAU,CAAC;AACd,QAAG,qBAAW,WAAW,IAAI,GAAG,QAAQ,CAAC;AACzC,QAAG,sBAAY,mBAAmB,QAAQ;AAC1C,QAAG,oBAAU;AACb,QAAG,qBAAW,WAAW,IAAI,GAAG,QAAQ,CAAC;AACzC,QAAG,oBAAU;AACb,QAAG,wBAAc,IAAI,kBAAkB,IAAI,kBAAkB,IAAI,EAAE;AAAA,MACrE;AAAA,IACF;AAAA,IACA,cAAc,CAAC,cAAiB,SAAY,kBAAqB,SAAS,WAAW,YAAY;AAAA,IACjG,eAAe;AAAA,IACf,iBAAiB;AAAA,EACnB,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,cAAc,CAAC;AAAA,IACrF,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,UAAU;AAAA,MACV,YAAY;AAAA,MACZ,SAAS,CAAC,cAAc,WAAW,YAAY;AAAA,MAC/C,UAAU;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MA6BV,WAAW,CAAC,6BAA6B,iBAAiB;AAAA,MAC1D,iBAAiB,wBAAwB;AAAA,MACzC,eAAe,kBAAkB;AAAA,IACnC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM;AAAA,IACR,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,SAAS,CAAC;AAAA,MACR,MAAM;AAAA,IACR,CAAC;AAAA,IACD,MAAM,CAAC;AAAA,MACL,MAAM;AAAA,IACR,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,IACD,YAAY,CAAC;AAAA,MACX,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,IACR,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,IACR,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC;AAAA,QACL,WAAW;AAAA,MACb,CAAC;AAAA,IACH,CAAC;AAAA,IACD,UAAU,CAAC;AAAA,MACT,MAAM;AAAA,IACR,CAAC;AAAA,IACD,OAAO,CAAC;AAAA,MACN,MAAM;AAAA,MACN,MAAM,CAAC,OAAO;AAAA,IAChB,CAAC;AAAA,IACD,gBAAgB,CAAC;AAAA,MACf,MAAM;AAAA,MACN,MAAM,CAAC,UAAU;AAAA,QACf,aAAa;AAAA,MACf,CAAC;AAAA,IACH,CAAC;AAAA,IACD,WAAW,CAAC;AAAA,MACV,MAAM;AAAA,MACN,MAAM,CAAC,aAAa;AAAA,IACtB,CAAC;AAAA,EACH,CAAC;AACH,GAAG;AACH,IAAM,qBAAN,MAAM,oBAAmB;AAAA,EACvB,OAAO,YAAO,SAAS,2BAA2B,mBAAmB;AACnE,WAAO,KAAK,qBAAqB,qBAAoB;AAAA,EACvD;AAAA,EACA,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,MAAM;AAAA,EACR,CAAC;AAAA,EACD,OAAO,YAAsB,gBAAG,2BAAiB;AAAA,IAC/C,SAAS,CAAC,cAAc,cAAc,YAAY;AAAA,EACpD,CAAC;AACH;AAAA,CACC,MAAM;AACL,GAAC,OAAO,cAAc,eAAe,cAAiB,iBAAkB,oBAAoB,CAAC;AAAA,IAC3F,MAAM;AAAA,IACN,MAAM,CAAC;AAAA,MACL,SAAS,CAAC,cAAc,YAAY;AAAA,MACpC,SAAS,CAAC,cAAc,YAAY;AAAA,IACtC,CAAC;AAAA,EACH,CAAC,GAAG,MAAM,IAAI;AAChB,GAAG;;;2CDjae,UAAU;;EDpFxB;EAEA;EACA;EAAoB;EAAA;EAAA;EAAA;EAAA;EAAA,OAAA,qBAAA,EAAA,KAAA,OAAA,EAAA,MAAA;AAAA;wDAcpB,6BAA6B;wDAH7B,0BAA0B;wDAC1B,iCAAiC;;;;;;;;;;;;;;;ACxE/B,IAAA,yBAAA,GAAA,6BAAA,EAAA;AAGE,IAAA,2BAAA,kCAAA,SAAA,yGAAA,QAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,MAAA,6BAAA,OAAA,0BAAA,MAAA,MAAA,OAAA,2BAAA;AAAA,aAAA,sBAAA,MAAA;IAAA,CAAA;AACA,IAAA,qBAAA,kBAAA,SAAA,yFAAA,QAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,aAAA,sBAAkB,OAAA,YAAA,MAAA,CAAmB;IAAA,CAAA,EAAC,oBAAA,SAAA,6FAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,aAAA,sBAClB,OAAA,UAAU,GAAG,KAAK,CAAC;IAAA,CAAA;AACxC,IAAA,uBAAA;;;;;AALC,IAAA,qBAAA,YAAA,OAAA,QAAA,EAAqB,iBAAA,gBAAA;AAErB,IAAA,2BAAA,4BAAA,OAAA,wBAAA;;;;;AAgBI,IAAA,yBAAA,GAAA,QAAA,EAAA;AAIG,IAAA,iBAAA,CAAA;AAA2B,IAAA,uBAAA;;;;AAF5B,IAAA,qBAAA,YAAA,OAAA,oBAAA,CAAA;AAEC,IAAA,oBAAA;AAAA,IAAA,4BAAA,OAAA,oBAAA,CAAA;;;;;;AAKL,IAAA,yBAAA,GAAA,OAAA,EAAA,EAGC,GAAA,qBAAA,EAAA;AAKG,IAAA,qBAAA,uBAAA,SAAA,oHAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAuB,OAAA,aAAA,CAAc;IAAA,CAAA;AAErC,IAAA,yBAAA,GAAA,OAAA,EAAA;;AAKE,IAAA,yBAAA,GAAA,OAAA,EAAA;AAWE,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA,EAAM,EACF;;AAER,IAAA,yBAAA,GAAA,qBAAA,EAAA;AAIE,IAAA,qBAAA,uBAAA,SAAA,oHAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAuB,OAAA,4BAAA,IAAgC,IAAI,CAAC;IAAA,CAAA;AAE5D,IAAA,yBAAA,GAAA,OAAA,EAAA;;AACE,IAAA,yBAAA,GAAA,OAAA,EAAA;AAOE,IAAA,oBAAA,GAAA,QAAA,EAAA;AAOF,IAAA,uBAAA,EAAM,EACF,EACY;;;;AAxDpB,IAAA,qBAAA,WAAA,0BAAA,GAAAM,KAAA,CAAA;AAKE,IAAA,oBAAA;AAAA,IAAA,qBAAA,YAAA,OAAA,cAAA,CAAA,OAAA,WAAA,KAAA;AAME,IAAA,oBAAA;AAAA,IAAA,qBAAA,WAAA,0BAAA,GAAAC,KAAA,CAAA;;;;;AA7BR,IAAA,yBAAA,GAAA,OAAA,EAAA,EAGC,GAAA,OAAA,EAAA,EACgC,GAAA,QAAA,EAAA;AACI,IAAA,iBAAA,GAAA,SAAA;AAAO,IAAA,uBAAA;AACxC,IAAA,qBAAA,GAAA,kEAAA,GAAA,GAAA,QAAA,EAAA;AAQF,IAAA,uBAAA;AACA,IAAA,qBAAA,GAAA,kEAAA,GAAA,GAAA,OAAA,EAAA;AA8DF,IAAA,uBAAA;;;;AA3EE,IAAA,qBAAA,WAAA,0BAAA,GAAAC,OAAA,OAAA,gBAAA,SAAA,KAAA,CAAA;AAIE,IAAA,oBAAA,CAAA;AAAA,IAAA,wBAAA,CAAA,OAAA,gBAAA,IAAA,EAAA;AASF,IAAA,oBAAA;AAAA,IAAA,wBAAA,OAAA,MAAA,KAAA,OAAA,cAAA,OAAA,gBAAA,IAAA,EAAA;;;;;;;AAmEF,IAAA,yBAAA,GAAA,OAAA,EAAA;AAME,IAAA,qBAAA,SAAA,SAAA,oGAAA,QAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,MAAA,wBAAA,CAAA;AAAA,YAAA,WAAA,sBAAA,CAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,aAAA,gBAAyB;AAAO,eAAA,OAAA,MAAA;AAAoB,aAAA,sBAAE,OAAA,iBAAiB,KAAK,CAAC;IAAA,CAAA;AAO7E,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA;;;;;;;AAEA,IAAA,yBAAA,GAAA,OAAA,EAAA;AAWE,IAAA,qBAAA,SAAA,SAAA,oGAAA,QAAA;AAAA,MAAA,wBAAA,GAAA;AAAA,MAAA,wBAAA,CAAA;AAAA,YAAA,WAAA,sBAAA,CAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,aAAA,gBAAyB;AAAM,eAAA,OAAA,MAAA;AAAoB,aAAA,sBAAE,OAAA,iBAAiB,IAAI,CAAC;IAAA,CAAA;AAE3E,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA;;;;;AAzC8C,IAAA,qBAAA,GAAA,gFAAA,GAAA,GAAA,YAAA,EAAA,EAAqB,GAAA,gFAAA,GAAA,GAAA,YAAA,EAAA;;;;AAArB,IAAA,wBAAA,OAAA,gBAAA,IAAA,CAAA;;;;;AAA9C,IAAA,qBAAA,GAAA,kEAAA,GAAA,CAAA;;;;;AAAA,IAAA,wBAAA,oBAAA,iBAAA,SAAA,IAAA,EAAA;;;;;AAkDI,IAAA,oBAAA,GAAA,qBAAA,EAAA;;;;;;;AAGE,IAAA,qBAAA,iBAAA,IAAA,EAAsB,SAAA,UAAA,YAAA,CAAA,EACO,eAAA,UAAA,YAAA,CAAA,EACM,cAAA,UAAA,UAAA,MAAA,eAAA,EACiB,WAAA,cAAA,UAAA,UAAA,MAAA,kBAAA,mBAAA,YAAA,UAAA,UAAA,CAAA,IAAA,0BAAA,GAAAC,KAAA,CAAA,EAOnD,mBAAA,UAAA,QAAA;;;;;AAIH,IAAA,oBAAA,GAAA,gCAAA,EAAA;;;;AACE,IAAA,qBAAA,kBAAA,UAAA,UAAA,MAAA,+BAAA,UAAA,UAAA,MAAA,+BAAA,oEAAA,EAAA,EAKC,YAAA,UAAA,UAAA,MAAA,+BAAA,UAAA,UAAA,MAAA,4BAAA,EAIA,SAAA,UAAA,YAAA,CAAA,EAC4B,mBAAA,UAAA,QAAA;;;;;;;AAqB3B,IAAA,yBAAA,GAAA,OAAA,EAAA;AACE,IAAA,qBAAA,SAAA,SAAA,0HAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAS,OAAA,iBAAA,CAAkB;IAAA,CAAA;AAQ3B,IAAA,oBAAA,GAAA,QAAA,EAAA;AAIF,IAAA,uBAAA;;;;;;AA3BJ,IAAA,yBAAA,GAAA,yBAAA,EAAA;AACE,IAAA,qBAAA,gBAAA,SAAA,qIAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAA,OAAA,iBAAiC,IAAI;IAAA,CAAA;AAOrC,IAAA,yBAAA,GAAA,OAAA,EAAA;AAKE,IAAA,qBAAA,GAAA,oGAAA,GAAA,GAAA,YAAA,EAAA;AAgBF,IAAA,uBAAA;AACA,IAAA,yBAAA,GAAA,OAAA,EAAA;AACE,IAAA,qBAAA,SAAA,SAAA,4GAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAA,OAAA,iBAA0B,IAAI;IAAA,CAAA;;AAI9B,IAAA,yBAAA,GAAA,OAAA,EAAA;AAOE,IAAA,oBAAA,GAAA,QAAA,EAAA;AAOF,IAAA,uBAAA,EAAM,EACF;;;;;AAhDN,IAAA,qBAAA,aAAA,KAAA,EAAmB,SAAA,UAAA,YAAA,CAAA,EACU,YAAA,IAAA,EACZ,eAAA,UAAA,YAAA,CAAA,EACkB,WAAA,OAAA,WAAA,UAAA,QAAA,CAAA;AAQjC,IAAA,oBAAA,CAAA;AAAA,IAAA,wBAAA,OAAA,WAAA,UAAA,QAAA,EAAA,QAAA,IAAA,EAAA;;;;;AAwCJ,IAAA,oBAAA,GAAA,yBAAA,EAAA;;;;;AACE,IAAA,qBAAA,SAAA,UAAA,YAAA,CAAA,EAA6B,WAAA,OAAA,WAAA,UAAA,QAAA,CAAA,EACS,eAAA,UAAA,YAAA,CAAA;;;;;AAzDA,IAAA,qBAAA,GAAA,sFAAA,GAAA,GAAA,yBAAA,EAAA,EAC1B,GAAA,sFAAA,GAAA,GAAA,yBAAA,EAAA;;;;AAD0B,IAAA,wBAAA,UAAA,UAAA,MAAA,cAAA,IAAA,CAAA;;;;;AAnCiB,IAAA,qBAAA,GAAA,wEAAA,GAAA,GAAA,qBAAA,EAAA,EAChB,GAAA,wEAAA,GAAA,GAAA,gCAAA,EAAA,EAiBc,GAAA,wEAAA,GAAA,CAAA;;;;AAlBE,IAAA,wBAAA,UAAA,iBAAA,MAAA,WAAA,IAAA,UAAA,iBAAA,MAAA,cAAA,IAAA,UAAA,iBAAA,MAAA,YAAA,UAAA,iBAAA,MAAA,gBAAA,UAAA,iBAAA,MAAA,UAAA,IAAA,EAAA;;;;;AA+IvD,IAAA,yBAAA,GAAA,OAAA,EAAA;;AACE,IAAA,yBAAA,GAAA,OAAA,EAAA;AAOE,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA,EAAM;;;;;AAGR,IAAA,yBAAA,GAAA,OAAA,EAAA;AACE,IAAA,oBAAA,GAAA,sBAAA,EAAA;AAIF,IAAA,uBAAA;;;AAFI,IAAA,oBAAA;AAAA,IAAA,qBAAA,0BAAA,GAAAC,IAAA,CAAA;;;;;;AAtKZ,IAAA,yBAAA,GAAA,QAAA,EAAA,EAA+B,GAAA,OAAA,EAAA,EACA,GAAA,OAAA,EAAA;AAEzB,IAAA,2BAAA,GAAA,0DAAA,GAAA,GAAA,MAAA,MAAAC,WAAA;AAgGA,IAAA,yBAAA,GAAA,OAAA,EAAA;AACE,IAAA,oBAAA,GAAA,cAAA,EAAA;AAKA,IAAA,yBAAA,GAAA,SAAA,EAAA;AACG,IAAA,iBAAA,GAAA,+BAAA;AAA6B,IAAA,uBAAA,EAC/B,EACG;AAER,IAAA,yBAAA,GAAA,OAAA,EAAA,EAA4B,IAAA,qBAAA,EAAA;AAMxB,IAAA,qBAAA,uBAAA,SAAA,uGAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAuB,OAAA,sBAAA,CAAuB;IAAA,CAAA;AAE9C,IAAA,yBAAA,IAAA,OAAA,EAAA;;AACE,IAAA,yBAAA,IAAA,OAAA,EAAA;AAOE,IAAA,oBAAA,IAAA,QAAA,EAAA;AAMF,IAAA,uBAAA,EAAM,EACF;;AAER,IAAA,yBAAA,IAAA,qBAAA,EAAA;AAQE,IAAA,qBAAA,uBAAA,SAAA,uGAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAuB,OAAA,iBAAA,CAAkB;IAAA,CAAA;AAEzC,IAAA,qBAAA,IAAA,mEAAA,GAAA,GAAA,OAAA,EAAA,EAAiB,IAAA,mEAAA,GAAA,GAAA,OAAA,EAAA;AAyBnB,IAAA,uBAAA,EAAoB,EAChB,EACF;;;;;AA5KF,IAAA,qBAAA,aAAA,OAAA,UAAA;AAGA,IAAA,oBAAA,CAAA;AAAA,IAAA,qBAAA,gBAAA;AAoGI,IAAA,oBAAA,CAAA;AAAA,IAAA,qBAAA,UAAA,IAAA;AAYF,IAAA,oBAAA,CAAA;AAAA,IAAA,qBAAA,YAAA,CAAA,OAAA,uBAAA;AAuBA,IAAA,oBAAA,CAAA;AAAA,IAAA,qBAAA,YAAA,OAAA,WAAA,WAAA,EAAA,OAAA,WAAA,MAAA,2BAAA,KAAA,OAAA,OAAA,OAAA,WAAA,MAAA,2BAAA,EAAA,UAAA,EAAA,OAAA,WAAA,MAAA,4BAAA,KAAA,OAAA,OAAA,OAAA,WAAA,MAAA,4BAAA,EAAA,MAAA;AAOA,IAAA,oBAAA;AAAA,IAAA,wBAAA,CAAA,OAAA,WAAA,KAAA,EAAA;;;;;AA8BR,IAAA,yBAAA,GAAA,OAAA,EAAA;AACE,IAAA,oBAAA,GAAA,sBAAA,EAAA;AAIF,IAAA,uBAAA;;;AAFI,IAAA,oBAAA;AAAA,IAAA,qBAAA,0BAAA,GAAAC,IAAA,CAAA;;;;;AAlTN,IAAA,yBAAA,GAAA,WAAA,IAAA,CAAA;AACE,IAAA,qBAAA,GAAA,oDAAA,GAAA,GAAA,eAAA,MAAA,GAAA,gCAAA,EAAqB,GAAA,oDAAA,GAAA,GAAA,eAAA,EAAA,EAiFU,GAAA,oDAAA,IAAA,GAAA,QAAA,EAAA,EA6CF,GAAA,oDAAA,GAAA,GAAA,OAAA,EAAA;AAuL/B,IAAA,uBAAA;;;;AAtTgB,IAAA,qBAAA,cAAA,IAAA;AA+Hd,IAAA,oBAAA,CAAA;AAAA,IAAA,wBAAA,OAAA,MAAA,KAAA,OAAA,aAAA,IAAA,CAAA;;;;;AAuNY,IAAA,yBAAA,GAAA,OAAA,EAAA;AACE,IAAA,oBAAA,GAAA,sBAAA,EAAA;AAKF,IAAA,uBAAA;;;AAFI,IAAA,oBAAA;AAAA,IAAA,qBAAA,0BAAA,GAAAC,IAAA,CAAA;;;;;AAIJ,IAAA,yBAAA,GAAA,OAAA,EAAA;;AAKE,IAAA,yBAAA,GAAA,OAAA,EAAA;AAOE,IAAA,oBAAA,GAAA,QAAA,EAAA;AAMF,IAAA,uBAAA,EAAM;;;AAfN,IAAA,qBAAA,WAAA,0BAAA,GAAAN,KAAA,CAAA;;;;;;AAnCV,IAAA,yBAAA,GAAA,OAAA,EAAA,EAAoC,GAAA,OAAA,EAAA,EACH,GAAA,OAAA,EAAA,EACO,GAAA,QAAA,EAAA;AACD,IAAA,iBAAA,GAAA,iBAAA;AAAe,IAAA,uBAAA;AAChD,IAAA,yBAAA,GAAA,kBAAA,EAAA;AAEE,IAAA,2BAAA,iBAAA,SAAA,6EAAA,QAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,MAAA,6BAAA,OAAA,iBAAA,MAAA,MAAA,OAAA,kBAAA;AAAA,aAAA,sBAAA,MAAA;IAAA,CAAA;AAEA,IAAA,qBAAA,YAAA,SAAA,wEAAA,QAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,aAAA,sBAAY,OAAA,eAAA,MAAA,CAAsB;IAAA,CAAA;AAKnC,IAAA,uBAAA,EAAiB,EACd;AAER,IAAA,yBAAA,GAAA,OAAA,EAAA,EAAgC,GAAA,qBAAA,EAAA;AAK5B,IAAA,qBAAA,uBAAA,SAAA,wFAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA;AAAuB,aAAA,WAAA,IAAe,IAAI;AAAC,aAAA,sBAAE,OAAA,YAAA,CAAa;IAAA,CAAA;AAE1D,IAAA,qBAAA,GAAA,oDAAA,GAAA,GAAA,OAAA,EAAA,EAAmB,GAAA,oDAAA,GAAA,GAAA,OAAA,EAAA;AA8BrB,IAAA,uBAAA,EAAoB,EAChB;;;;AAhDA,IAAA,oBAAA,CAAA;AAAA,IAAA,2BAAA,WAAA,OAAA,eAAA;AACA,IAAA,qBAAA,kBAAA,0BAAA,GAAAO,IAAA,CAAA;AAgBF,IAAA,oBAAA,CAAA;AAAA,IAAA,wBAAA,OAAA,WAAA,IAAA,IAAA,CAAA;;;;;;AA6DV,IAAA,yBAAA,GAAA,QAAA,IAAA,CAAA;AACE,IAAA,oBAAA,GAAA,qBAAA,EAAA,EAOE,GAAA,qBAAA,EAAA;AAUF,IAAA,yBAAA,GAAA,gCAAA,EAAA;AAGE,IAAA,qBAAA,aAAA,SAAA,iGAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,qBAAA,sBAAA,CAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAa,OAAA,wBAAA,kBAAA,CAAuC;IAAA,CAAA;AAHtD,IAAA,uBAAA;AAKA,IAAA,yBAAA,GAAA,gCAAA,EAAA;AAGE,IAAA,qBAAA,aAAA,SAAA,iGAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,qBAAA,sBAAA,CAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAa,OAAA,wBAAA,kBAAA,CAAuC;IAAA,CAAA;AAHtD,IAAA,uBAAA,EAIE;AAEJ,IAAA,yBAAA,GAAA,OAAA,EAAA,EAA2B,GAAA,qBAAA,EAAA;AAKvB,IAAA,qBAAA,uBAAA,SAAA,gGAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAA,OAAA,iBAAwC,KAAK;IAAA,CAAA;AAE/C,IAAA,uBAAA;AACA,IAAA,yBAAA,GAAA,qBAAA,EAAA;AAIE,IAAA,qBAAA,uBAAA,SAAA,gGAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAuB,aAAA,mBAAA;AAAoB,aAAA,sBAAA,OAAA,iBAAmB,KAAK;IAAA,CAAA;AAErE,IAAA,uBAAA,EAAoB;;;;;AA3CO,IAAA,qBAAA,aAAA,OAAA,UAAA;AAMzB,IAAA,oBAAA,CAAA;AAAA,IAAA,qBAAA,iBAAA,IAAA,EAAsB,WAAA,eAAA,YAAA,gBAAA,CAAA;AAQtB,IAAA,oBAAA;AAAA,IAAA,qBAAA,iBAAA,IAAA,EAAsB,WAAA,eAAA,YAAA,kBAAA,CAAA,EAC4B,gBAAA,IAAA;;;;;;AAvBxD,IAAA,yBAAA,GAAA,YAAA,IAAA,CAAA;AAIE,IAAA,2BAAA,iBAAA,SAAA,iEAAA,QAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA;AAAA,MAAA,6BAAA,OAAA,gBAAA,MAAA,MAAA,OAAA,iBAAA;AAAA,aAAA,sBAAA,MAAA;IAAA,CAAA;AAGA,IAAA,qBAAA,GAAA,8CAAA,GAAA,CAAA;AA+CF,IAAA,uBAAA;;;;AAjDE,IAAA,qBAAA,0BAAA,GAAAC,IAAA,CAAA;AAFA,IAAA,qBAAA,SAAA,IAAA;AACA,IAAA,2BAAA,WAAA,OAAA,cAAA;AAGA,IAAA,oBAAA,CAAA;AAAA,IAAA,wBAAA,OAAA,MAAA,KAAA,OAAA,aAAA,IAAA,EAAA;;;;;;AAoDJ,IAAA,yBAAA,GAAA,8BAAA,EAAA;AACE,IAAA,2BAAA,iBAAA,SAAA,iGAAA,QAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,MAAA,6BAAA,OAAA,wBAAA,MAAA,MAAA,OAAA,yBAAA;AAAA,aAAA,sBAAA,MAAA;IAAA,CAAA;AAEA,IAAA,qBAAA,WAAA,SAAA,2FAAA,QAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAW,OAAA,uBAAA,MAAA,CAA8B;IAAA,CAAA;AAC1C,IAAA,uBAAA;;;;AAHC,IAAA,2BAAA,WAAA,OAAA,sBAAA;AACA,IAAA,qBAAA,cAAA,OAAA,uBAAA;;;;;;AAIF,IAAA,yBAAA,GAAA,2BAAA,EAAA;AACE,IAAA,2BAAA,iBAAA,SAAA,8FAAA,QAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,MAAA,6BAAA,OAAA,cAAA,MAAA,MAAA,OAAA,eAAA;AAAA,aAAA,sBAAA,MAAA;IAAA,CAAA;AACA,IAAA,qBAAA,eAAA,SAAA,8FAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAe,OAAA,gBAAA,IAAoB,IAAI,CAAC;IAAA,CAAA;AAOzC,IAAA,uBAAA;;;;AARC,IAAA,2BAAA,WAAA,OAAA,YAAA;AAEA,IAAA,qBAAA,UAAA,0BAAA,GAAAC,OAAA,OAAA,WAAA,OAAA,OAAA,iBAAA,OAAA,gBAAA,CAAA,CAAA,EAIE,YAAA,OAAA,QAAA;;;;;;AAIJ,IAAA,yBAAA,GAAA,kCAAA,EAAA;AACE,IAAA,2BAAA,iBAAA,SAAA,qGAAA,QAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,MAAA,6BAAA,OAAA,6BAAA,MAAA,MAAA,OAAA,8BAAA;AAAA,aAAA,sBAAA,MAAA;IAAA,CAAA;AAGA,IAAA,qBAAA,iBAAA,SAAA,qGAAA,QAAA;AAAA,MAAA,wBAAA,IAAA;AAAA,YAAA,SAAA,wBAAA,CAAA;AAAA,aAAA,sBAAiB,OAAA,yBAAA,MAAA,CAAgC;IAAA,CAAA;AAClD,IAAA,uBAAA;;;;AAJC,IAAA,2BAAA,WAAA,OAAA,2BAAA;AACA,IAAA,qBAAA,sBAAA,OAAA,sBAAA,EAA6C,gBAAA,OAAA,oBAAA,CAAA;;;;;AArBiB,IAAA,qBAAA,GAAA,8CAAA,GAAA,CAAA;AAAA,IAAA,kBAAA,GAAA,GAAA,0CAAA;AAO9D,IAAA,qBAAA,GAAA,8CAAA,GAAA,CAAA;AAAA,IAAA,kBAAA,GAAA,GAAA,0CAAA;AAWA,IAAA,qBAAA,GAAA,8CAAA,GAAA,CAAA;AAAA,IAAA,kBAAA,GAAA,GAAA,0CAAA;;;;AAlBsE,IAAA,oBAAA;AAAA,IAAA,sBAAA,OAAA,uBAAA,CACxD;AAMN,IAAA,oBAAA,CAAA;AAAA,IAAA,sBAAA,OAAA,aAAA,CAAc;AAWd,IAAA,oBAAA,CAAA;AAAA,IAAA,sBAAA,OAAA,4BAAA,CAA6B;;;AD5YnC,IAAO,eAAP,MAAO,cAAY;EACf,kBAAkB,OAAO,eAAe;EACxC,sBAAsB,OAAO,mBAAmB;EAChD,iBAAiB,OAAO,cAAc;EACtC,qBAAqB,OAAO,kBAAkB;EAC9C,KAAK,OAAO,UAAU;EACtB,MAAM,OAAO,iBAAiB;EAC9B,gCAAgC,OAAO,6BAA6B;EAC5E,sBAAsB,OAAO,KAAK;EAClC,kBAAkB,OAAO,IAAI;EAC7B,aAAa,OAAO,KAAK;EACzB,2BAA2B,OAAO,EAAE,YAAY,IAAI,WAAW,MAAK,CAAE;EACtE,8BAA8B,OAAO,KAAK;EAC1C,eAAe,OAAO,KAAK;EAC3B,yBAAyB,OAAO,KAAK;EACrC,gBAAgB,OAAiD,MAAS;EAC1E,sBAAsB,OAA8B,MAAS;EAC7D,kBAAkB,OAAqC,MAAS;EAChE,iBAAiB,KAAK,gBAAgB;EACtC,QAAQ,SAAS,MAAK;AACpB,WACE,KAAK,eAAc,MAAO,UAC1B,KAAK,cAAa,MAAO,UACzB,KAAK,oBAAmB,MAAO,UAC/B,KAAK,gBAAe,MAAO;EAE/B,CAAC;EACD,aAAa,OAAO,UAAU;EAC9B,sBAA2B,aAAa;IACtC,QAAQ,MAAM,KAAK,gBAAe;IAClC,aAAa,CAAC,QAAO;AACnB,UAAI,KAAK;AACP,cAAM,cACJ,KAAK,eAAc,GAAI,aAAa,iBACpC,KAAK,OAAO,CAAC,MAAM,EAAE,eAAe,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ;AAEnE,eAAO,KAAK,OAAO,CAAC,MAAM,YAAY,SAAS,EAAE,QAAQ,CAAC;MAC5D;AACA,aAAO;IACT;GACD;EACD;EACA,iBAAiB;IACf;IACA;IACA;;EAEF,eAAoC,CAAA;EACpC;EACA,gBAAgB;EAChB,YAAmB,CAAA;EACnB,eAAe;EACf,QAAQ,OAAO,GAAG;EAClB,SAAS;EACT,eAAe;EACf,kBAAkB,OAAO,KAAK;EAC9B,eAAe;EACf,WAAW;EACX,iBAAiB;EACjB,kBAAkB;EAClB,0BAA0B;EAC1B;EACA;EACA;EACA,WAAW,QAAQ,gBAAgB;EACnC;EACA,cAAmB;IACjB,oBAAoB;IACpB,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,sBAAsB;IACtB,gBAAgB;IAChB,iBAAiB;IACjB,iBAAiB;IACjB,mBAAmB;IACnB,4BAA4B;IAC5B,YAAY,CAAA;IACZ,MAAM,CAAA;IACN,2BAA2B;IAC3B,oBAAoB;;;;IAIpB,0BAA0B;IAC1B,oBAAoB;IACpB,aAAa,KAAK;IAClB,WAAW;IACX,oBAAoB,KAAK,MAAK;IAC9B,qBAAqB,CAAC,IAAI,IAAI,IAAI,IAAI,KAAK,KAAK,GAAG;IACnD,uBAAuB;IACvB,YAAY;IACZ,uBAAuB;IACvB,cAAc;IACd,eAAe,CAAC,YAAgB;AAC9B,WAAK,UAAU;AACf,WAAK,QAAQ,KAAK,GAAG,YAAY,MAAM,CAAC,MAAW,eAAmB;AACpE,YAAI,WAAW,SAAS,GAAG;AACzB,cAAI,SAAS;AACb,mBAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC5C,gBAAI,KAAK,QAAQ,CAAC,EAAE,SAAS,WAAW,CAAC,EAAE,aAAa;AACtD,uBAAS,KAAK,QAAQ,CAAC;AACvB;YACF;UACF;AACA,cAAI,QAAQ;AACV,uBAAW,CAAC,EAAE,KAAK,WAAW;AAC9B,mBAAO,OAAM;UACf;QACF,WAAW,cAAc,WAAW,CAAC,GAAG;AACtC,eAAK,OAAO;YACV,OAAO,WAAW,MAAM,EAAE,EAAE,CAAC,EAAE;YAC/B,OAAO,WAAW,CAAC,EAAE,KAAK;WAC3B;QACH;MACF,CAAC;AACD,UAAI,KAAK,WAAW,KAAK,QAAQ,YAAY,KAAK,QAAQ,SAAS,eAAe;AAChF,aAAK,QAAQ,KAAK,2BAA2B,MAC3C,KAAK,QAAQ,SAAS,cAAa,CAAE;MAEzC;AAEA,WAAK,QAAQ,WAAW,GAAG,kBACzB,MACA,CAAC,SAAiB,aAAoB;AAEpC,YACE,KAAK,MAAK,MAAO,aAChB,UAAU,KAAK,YAAY,KAAK;AAEjC;AAEF,aAAK,MAAM,IAAI,QAAQ;AACvB,aAAK,WAAW,UAAU,KAAK,UAAU,IAAI;MAC/C,CAAC;IAEL;;EAGF,cAAA;AACE,SAAK,YAAY,OACf,MAAK;AACH,UAAI,CAAC,KAAK,MAAK,KAAM,KAAK,YAAY;AACpC;MACF;AACA,YAAM,MAAM,KAAK,eAAc;AAC/B,YAAM,MAAM,KAAK,gBAAe;AAChC,WAAK,gBACH,KACA,KAAK,aAAa,WAAW;AAE/B,WAAK,gBAAgB,IAAI,KAAK;AAC9B,WAAK,eAAe;AACpB,WAAK,UAAU,QAAO;IACxB,GACA,EAAE,eAAe,KAAI,CAAE;AAEzB,WAAO,iBAAiB,WAAW,KAAK,cAAc;EACxD;EAEA,WAAQ;AACN,SAAK,cAAa;AAElB,cAAU,QAAQ,UAAU,EACzB,KAAK,mBAAmB,KAAK,UAAU,CAAC,EACxC,UAAU,MAAM,KAAK,kBAAiB,CAAE;AAE3C,SAAK,gBAAgB,uBAClB,KAAK,mBAAmB,KAAK,UAAU,CAAC,EACxC,UAAU,CAAC,aAAmC;AAC7C,UAAI,UAAU;AACZ,aAAK,aAAa,QAAQ;MAC5B;IACF,CAAC;AAED,SAAK,gBAAgB,qBAClB,KACC,mBAAmB,KAAK,UAAU,GAClC,OAAO,CAAC,SAAS,SAAS,IAAI,CAAC,EAEhC,UAAU,CAAC,aAAmC;AAC7C,UAAI,UAAU;AACZ,aAAK,aAAa,UAAU,KAAK;MACnC;AACA,WAAK,gBAAgB,qBAAqB,KAAK,IAAI;IACrD,CAAC;EACP;EAEQ,gBAAa;AACnB,SAAK,eAAe,aACjB,KACC,mBAAmB,KAAK,UAAU,GAClC,OAAO,CAAC,SAAS,SAAS,IAAI,GAC9B,KAAK,CAAC,GACN,SAAS,MACP,cAAc;MACZ,SAAS,KAAK,oBAAoB,WAAU;MAC5C,eAAe,KAAK,oBACjB,iBAAgB,EAChB,KAAK,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC;MAChC,SAAS,KAAK,oBAAoB,iBAAgB;KACnD,CAAC,CACH,EAEF,UAAU,CAAC,SAAQ;AAClB,UAAI,MAAM,SAAS;AACjB,YAAI,CAAC,KAAK,cAAa,GAAI;AACzB,eAAK,cAAc,IAAI,KAAK,aAAa,KAAK,OAAO,CAAC;QACxD;MACF;AACA,UAAI,MAAM,eAAe;AACvB,YAAI,CAAC,KAAK,oBAAmB,GAAI;AAC/B,eAAK,oBAAoB,IAAI,KAAK,aAAa;QACjD;MACF;AAEA,UAAI,MAAM,SAAS;AACjB,YAAI,CAAC,KAAK,gBAAe,GAAI;AAC3B,gBAAM,SAAS,KAAK,mBAAmB,KAAK,QAAQ,MAAM;AAC1D,iBAAO,QAAQ,CAAC,QAAuB;AACrC,gBAAI,KAAK,eAAe,SAAS,IAAI,QAAQ,GAAG;AAC9C,kBAAI,WAAW;YACjB;UACF,CAAC;AACD,eAAK,gBAAgB,IAAI,MAAM;AAC/B,eAAK,0BAA0B,MAAM;QACvC;MACF;AACA,WAAK,yBAAwB;IAC/B,CAAC;EACL;EAEQ,oBAAoB,MAAK;AAC/B,UAAM,SAAS,IAAI,gBAAgB,OAAO,SAAS,MAAM;AACzD,UAAM,aAAa,OAAO,IAAI,YAAY;AAE1C,QAAI,YAAY;AACd,YAAM,kBACJ,KAAK,gBAAgB,cAAa,GACjC,KAAK,CAAC,SAAS,KAAK,gBAAgB,UAAU;AACjD,WAAK,eAAe,IAAI,eAAe;AACvC,WAAK,gBAAgB,uBAAuB,KAC1C,eAAiC;IAErC,OAAO;AACL,WAAK,cAAa;IACpB;EACF;EAEA,kBAAe;AACb,SAAK,8BAA8B,mBAAmB,KAAK,EAAE;AAC7D,SAAK,8BACF,oBAAoB,KAAK,EAAE,EAC3B,KAAK,mBAAmB,KAAK,UAAU,CAAC,EACxC,UAAU;MACT,MAAM,CAAC,aAAa,KAAK,oBAAoB,IAAI,QAAQ;MACzD,OAAO,CAAC,QAAQ,QAAQ,MAAM,GAAG;KAClC;EACL;EAEA,aAAa,UAA0B,kBAAkB,MAAI;AAC3D,SAAK,WAAW,WAAW,SAAS,aAAa,WAAW;AAC5D,SAAK,WAAW;AAChB,SAAK,gBAAgB,IAAI,KAAK;AAC9B,SAAK,gBAAgB,IAAI,eAAe;EAC1C;EAEQ,2BAAwB;AAC9B,UAAM,cAAc,IAAI,gBAAgB,OAAO,SAAS,MAAM;AAC9D,UAAM,aAAa,YAAY,IAAI,YAAY;AAE/C,QAAI,YAAY;AACd,WAAK,gBACF,gBAAgB,KAAK,UAAU,UAAU,EACzC,KAAK,KAAK,CAAC,CAAC,EACZ,UAAU,CAAC,aAAY;AACtB,YAAI,UAAU;AACZ,eAAK,gBAAgB,SAAS,IAAI,QAAQ;AAC1C,cAAI,KAAK;AAAY,iBAAK,WAAW,WAAW,SAAS,aAAa,WAAW;QACnF,OAAO;AACL,eAAK,cAAa;QACpB;MACF,CAAC;IACL,OAAO;AACL,WAAK,cAAa;IACpB;EACF;EAEU,wBAAqB;AAC7B,UAAM,UAAU;MACd,aAAa,KAAK,WAAW;MAC7B,eAAe,KAAK;MACpB,WAAW,KAAK,gBAAe;;AAEjC,QAAI,CAAC,KAAK,gBAAe,KAAM,CAAC,KAAK,eAAc,GAAI;AACrD,WAAK,gBACF,aAAa,MAAM,MAAM,SAAS,KAAK,UAAU,MAAM,IAAI,EAC3D,KAAK,KAAK,CAAC,CAAC,EACZ,UAAU,CAAC,aAAY;AACtB,aAAK,gBAAgB,iBAAiB,SAAS,WAAW;AAC1D,aAAK,gBAAgB,SAAS,IAAI,QAAQ;MAC5C,CAAC;IACL;EACF;EAEQ,mBAAmB,SAAyB;AAClD,UAAM,kBAAkB,KAAK,eAAe;AAC5C,UAAM,cAAc,CAAC,YAAmB;AACtC,YAAM,QAAQ,KAAK,eAAe,QAAQ,OAAO;AACjD,aAAO,UAAU,KAAK,QAAQ;IAChC;AAEA,YAAQ,KAAK,CAAC,GAAG,MAAK;AACpB,aAAO,YAAY,EAAE,QAAQ,IAAI,YAAY,EAAE,QAAQ;IACzD,CAAC;AAED,WAAO;EACT;EAEQ,gBACN,KACA,QAAgC;AAEhC,SAAK,aAAa,IAAI,UAAU,CAAA,CAAE;AAClC,QAAI,QAAQ,CAAC,UAAS;AACpB,UAAI,MAAO,UAAU,OAAO,MAAM,QAAQ,KAAM;AAEhD,YAAM,aAAa,CAAA;AAEnB,UAAI,MAAM,aAAa,iBAAiB;AACtC,mBAAW,KAAK,WAAW,QAAQ;AACnC,YAAI,CAAC,QAAQ;AACX,gBAAO,KAAK,oBAAmB,EAAiB,IAC9C,CAAC,MAAM,EAAE,UAAU;QAEvB;MACF;AACA,UAAI,CAAC,UAAU,MAAM,aAAa,8BAA8B;AAC9D,cAAM;UACJ,OAAO;UACP,WAAO,eAAAC,SAAM,EAAG,QAAQ,KAAK,EAAE,OAAM;UACrC,SAAK,eAAAA,SAAM,EAAG,MAAM,KAAK,EAAE,OAAM;;MAErC;AAEA,WAAK,WAAW,WACd,MAAM,UACN,IAAI,YAAY,KAAK,UAAU,CAAC;IAEpC,CAAC;AAED,SAAK,WAAW,WAAW,0BAA0B,IAAI,YAAY,IAAI,CAAC;AAE1E,QAAI,QAAQ;AACV,WAAK,gBAAgB,IAAI,IAAI;IAC/B;AAEA,SAAK,WAAW,aACb,KAAK,mBAAmB,KAAK,UAAU,CAAC,EACxC,UAAU,MAAM,KAAK,gBAAgB,IAAI,KAAK,CAAC;EACpD;EAEQ,qBAAqB,YAA4B;AACvD,SAAK,YAAY,aAAa,WAAW,IAAI,CAAC,MAAM,UAAS;AAC3D,aAAO;QACL,MAAM,KAAK;QACX,aAAa,KAAK;QAClB,OAAO,KAAK;QACZ,aAAa;QACb,aAAa,QAAQ;QACrB,eAAe,KAAK,aAAa;QACjC,OAAO;QACP,UAAU;QACV,gBAAgB;QAChB,WACE,KAAK,iBAAiB,MAAM,gBAC5B,KAAK,iBAAiB,MAAM,UACxB,qBACA;;IAEV,CAAC;AAED,UAAM,cAAc;MAClB,MAAM;MACN,aAAa;MACb,OAAO;MACP,aAAa;MACb,aAAa;MACb,OAAO;MACP,UAAU;MACV,gBAAgB;MAChB,WAAW;;AAEb,UAAM,UAAU;MACd,MAAM;MACN,aAAa;MACb,OAAO;MACP,aAAa;MACb,aAAa,KAAK,YAAY,WAAW;MACzC,OAAO;MACP,UAAU;MACV,gBAAgB;MAChB,WAAW;;AAEb,SAAK,YAAY,WAAW,QAAQ,WAAW;AAC/C,SAAK,YAAY,WAAW,KAAK,OAAO;EAC1C;EAEQ,kBAAkB,SAAyB;AACjD,SAAK,eAAe,QAAQ,IAAI,CAAC,GAAG,OAAO;MACzC,MAAM,EAAE;MACR,OAAO,EAAE;MACT,eAAe;MACf,SAAS;MACT,WACE,EAAE,iBAAiB,MAAM,gBACzB,EAAE,iBAAiB,MAAM,UACrB,qBACA;MACN,iBAAiB;MACjB,UAAU;MACV,SAAS,EAAE,aAAa;MACxB,aAAa,IAAI;MACjB;AAEF,SAAK,aAAa,QAAQ;MACxB,MAAM;MACN,OAAO;MACP,eAAe;MACf,SAAS;MACT,WAAW;MACX,iBAAiB;MACjB,UAAU;MACV,SAAS;MACT,aAAa;KACd;AACD,SAAK,aAAa,KAAK;MACrB,MAAM;MACN,OAAO;MACP,eAAe;MACf,SAAS;MACT,WAAW;MACX,iBAAiB;MACjB,UAAU;MACV,SAAS;MACT,aAAa,KAAK,aAAa,SAAS;KACzC;EACH;EAEU,UAAU,QAAgB,gBAAgB,OAAK;AACvD,SAAK,gBAAgB,IAAI,IAAI;AAE7B,SAAK,kBAAkB,KAAK,oBAAmB,CAAsB;AACrE,SAAK,qBAAqB,KAAK,oBAAmB,CAAsB;AAExE,SAAK,SAAS;AACd,SAAK,eAAe;AACpB,SAAK,YAAY,cAAc;AAC/B,SAAK,IAAI,cAAa;AACtB,SAAK,WAAW;AAChB,QAAI,eAAe;AACjB,WAAK,YAAY,qBAAqB,KAAK,MAAK;AAChD,WAAK,YAAY,wBAAwB,KAAK,kBAAkB,KAAK,QAAQ,KAAK,MAAK,CAAE;IAC3F,OAAO;AACL,WAAK,UAAU;AACf,WAAK,iBAAiB;IACxB;AAEA,UAAM,SAAS;MACb;MACA,OAAO,KAAK,MAAK;MACjB,YAAY,KAAK,gBAAe;MAChC,UAAU,KAAK,WAAW;MAC1B,SAAS,KAAK;MACd,eAAe;MACf,SAAS,EAAE,OAAO,KAAK,SAAS,OAAO,KAAK,eAAc;MAC1D,UACE,KAAK,gBAAgB,SAAQ,KAC7B,CAAC,KAAK,gBAAgB,SAAQ,GAAI,eAC9B,KAAK,gBAAgB,SAAQ,IAC7B;;AAER,SAAK,oBACF,UAAU,MAAM,EAChB,KACC,KAAK,CAAC,GACN,WAAW,MAAK;AACd,aAAO,GAAG,CAAA,CAAE;IACd,CAAC,CAAC,EAEH,UAAU,CAAC,SAAa;AACvB,WAAK,eAAe;AACpB,WAAK,YAAY,cAAc;AAC/B,WAAK,YAAY,CAAC,GAAG,IAAI;AACzB,WAAK,YAAY,OAAO,CAAC,GAAG,IAAI;AAChC,WAAK,WAAW;AAChB,WAAK,IAAI,cAAa;IACxB,CAAC;AACH,QAAI,CAAC,eAAe;AAClB,WAAK,eAAe,MAAM;IAC5B;EACF;EAEU,eAAe,QAAc;AACrC,QAAI,CAAC,QAAQ;AACX,UAAI,KAAK,SAAS;AAChB,aAAK,QAAQ,KAAK,yBAAyB;MAC7C;AACA,YAAM,SAAS;QACb;QACA,OAAO,KAAK,MAAK;QACjB,YAAY,KAAK,gBAAe;QAChC,UAAU,KAAK,WAAW;QAC1B,SAAS,KAAK;QACd,eAAe;QACf,cAAc;QACd,SAAS,EAAE,OAAO,KAAK,SAAS,OAAO,KAAK,eAAc;;AAE5D,WAAK,oBACF,UAAU,iCACN,SADM;QAET,cAAc;QACf,EACA,KACC,KAAK,CAAC,GACN,WAAW,MAAM,GAAG,CAAA,CAAE,CAAC,CAAC,EAEzB,UAAU,CAAC,SAAQ;AAClB,aAAK,eAAe,KAAK,CAAC,GAAG;AAC7B,YAAI,KAAK,SAAS;AAChB,eAAK,QAAQ,KAAK,QAChB,QAAQ,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,aAAa,KAAK,CAAC,EAAE,aAAa;AAC/D,eAAK,YAAY,aACf,QAAQ,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,aAAa,KAAK,CAAC,EAAE,aAAa;AAC/D,eAAK,QAAQ,KAAK,yBAAyB;QAC7C;AACA,aAAK,IAAI,cAAa;MACxB,CAAC;IACL;EACF;EAEU,OAAO,cAGhB;AACC,SAAK,SAAS;AACd,SAAK,eAAe;AACpB,SAAK,YAAY,cAAc;AAC/B,SAAK,UAAU,aAAa;AAC5B,SAAK,iBAAiB,aAAa;AACnC,SAAK,YAAY,wBAAwB,KAAK,kBAAkB,KAAK,QAAQ,KAAK,MAAK,CAAE;AACzF,SAAK,oBACF,UAAU;MACT,QAAQ;MACR,OAAO,KAAK,MAAK;MACjB,YAAY,KAAK,gBAAe;MAChC,UAAU,KAAK,WAAW;MAC1B,SAAS,KAAK;MACd,eAAe;MACf,cAAc;MACd,SAAS;KACV,EACA,KACC,KAAK,CAAC,GACN,WAAW,MAAM,GAAG,CAAA,CAAE,CAAC,CAAC,EAEzB,UAAU,CAAC,SAAQ;AAClB,WAAK,YAAY,CAAC,GAAG,IAAI;AACzB,WAAK,YAAY,OAAO,CAAC,GAAG,IAAI;AAChC,WAAK,eAAe;AACpB,WAAK,YAAY,cAAc;AAC/B,WAAK,IAAI,cAAa;IACxB,CAAC;EACL;EAEU,YAAY,UAAyB;AAC7C,SAAK,oBACF,UAAU;MACT,QAAQ;MACR,OAAO,KAAK,MAAK;MACjB,YAAY,WACR,SAAS,aAAa,YACrB,KAAK,gBAAe;MACzB,UAAU,WACN,SAAS,aAAa,cACtB,KAAK,WAAW;MACpB,SAAS,WACL,SAAS,aAAa,gBACtB,KAAK;MACT,eAAe;MACf,cAAc;MACd,SAAS,EAAE,OAAO,MAAM,OAAO,KAAI;KACpC,EACA,KACC,KAAK,CAAC,GACN,UAAU,CAAC,SAAS,KAAK,oBAAoB,QAAQ,KAAK,CAAC,EAAE,IAAI,CAAC,GAClE,WAAW,CAAC,MAAK;AACf,WAAK,WAAW,IAAI,KAAK;AACzB,UAAI,UAAU;AACZ,aAAK,yBAAyB,IAAI;UAChC,YAAY,SAAS;UACrB,WAAW;SACZ;MACH;AACA,aAAO;IACT,CAAC,CAAC,EAEH,UAAU,CAAC,QAAY;AACtB,YAAM,eAAe,UACnB,UAAU,iBACT,KAAK,eAAc,EAAsB,iBAC1C,EACF,QAAI,eAAAA,SAAM,EAAG,OAAO,kBAAkB,CAAC;AACvC,kBAAY,KAAK,YAAY;AAC7B,WAAK,WAAW,IAAI,KAAK;AACzB,UAAI,UAAU;AACZ,aAAK,yBAAyB,IAAI;UAChC,YAAY,SAAS;UACrB,WAAW;SACZ;MACH;IACF,CAAC;EACL;EAEQ,aAAa,MAAe;AAClC,WAAO,KAAK,OAAO,CAAC,KAAK,QAAO;AAC9B,OAAC,IAAI,IAAI,SAAS,IAAI,IAAI,IAAI,SAAS,KAAK,CAAA,GAAI,KAAK,GAAG;AACxD,aAAO;IACT,GAAG,CAAA,CAA+B;EACpC;EAEU,WAAW,SAAe;AAClC,UAAM,UAAU,KAAK,WAAW,IAAI,OAAO;AAC3C,WAAO,mBAAmB,cAAc,UAAU;EACpD;EAEA,sBAAmB;AACjB,WAAQ,KAAK,gBAAe,EACzB,OAAO,CAAC,EAAE,SAAQ,MAAM;AACvB,YAAM,QAAQ,KAAK,WAAW,MAAM,QAAQ;AAC5C,UAAI,SAAS,MAAM;AACjB,eAAO;MACT;AACA,UAAI,MAAM,QAAQ,KAAK,GAAG;AACxB,eAAO,MAAM,SAAS;MACxB;AACA,UAAI,OAAO,UAAU,UAAU;AAC7B,eAAO,MAAM,SAAS;MACxB;AACA,aAAO;IACT,CAAC,EACA,IAAI,CAAC,EAAE,WAAU,MAAO,UAAU,EAClC,KAAK,IAAI;EACd;EAEU,eAAY;AACpB,UAAM,WAAgC;MACpC,eAAe,KAAK,oBAAmB,GAAI,SACvC,KAAK,oBAAmB,EAAI,IAAI,CAAC,MAAM,EAAE,UAAU,IACnD,CAAA;MACJ,4BAA4B;QAC1B,OAAO;QACP,WAAO,eAAAA,SAAM,EAAG,QAAQ,KAAK,EAAE,OAAM;QACrC,SAAK,eAAAA,SAAM,EAAG,MAAM,KAAK,EAAE,OAAM;;MAEnC,wBAAwB;;AAE1B,SAAK,WAAW,MAAM,QAAQ;EAChC;EAEU,wBAAwB,SAAoB;AACpD,UAAM,UAAU,QAAQ;AACxB,eAAW,MAAK;AACd,cAAQ,YAAY,QAAQ;IAC9B,GAAG,GAAG;EACR;EAEO,eAAe,OAA8B;AAClD,SAAK,YAAY,YAAY,MAAM;AACnC,SAAK,IAAI,cAAa;EACxB;EAEO,mBAAgB;AACrB,SAAK,WAAW,WAAW,EAAE,MAAK;AAClC,SAAK,WAAW,gBAAgB,EAAE,MAAK;AACvC,SAAK,WAAW,kBAAkB,EAAE,MAAK;AACzC,SAAK,WAAW,uBAAuB,EAAE,MAAK;AAC9C,SAAK,WAAW,wBAAwB,EAAE,MAAK;EACjD;EAEA,IAAI,kBAAe;AACjB,QAAI,KAAK,oBAAmB,GAAI;AAC9B,aAAQ,KAAK,oBAAmB,EAAwB,IACtD,CAAC,MAAM,EAAE,QAAQ;IAErB,OAAO;AACL,aAAO,CAAA;IACT;EACF;EAEU,wBAAqB;AAC7B,SAAK,0BAA0B;AAC/B,QAAI,KAAK,sBAAsB;AAC7B,WAAK,uBAAuB,IAAI,IAAI;IACtC,OAAO;AACL,WAAK,aAAa,IAAI,IAAI;IAC5B;EACF;EAEU,mBAAgB;AACxB,QAAI,KAAK,sBAAsB;AAC7B,WAAK,0BAA0B;AAC/B,WAAK,uBAAuB,IAAI,IAAI;IACtC,OAAO;AACL,WAAK,sBAAqB;AAC1B,WAAK,UAAU,GAAG,KAAK;IACzB;EACF;EAEU,uBAAuB,YAAmB;AAClD,QAAI,YAAY;AACd,WAAK,aAAa,IAAI,IAAI;IAC5B,OAAO;AACL,WAAK,sBAAqB;AAC1B,WAAK,UAAU,GAAG,KAAK;IACzB;EACF;EAEA,IAAI,uBAAoB;AACtB,QACE,CAAC,KAAK,oBAAmB,GAAI,UAC7B,KAAK,oBAAmB,GAAI,UAAU;AAEtC,aAAO;AACT,WACE,KAAK,oBAAmB,GAAI,WAC5B,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM;EAE/C;EAEA,IAAI,0BAAuB;AACzB,WAAO,CAAC,KAAK,gBAAe,KAAM,KAAK,cAAc,KAAK,WAAW,IAAI,eAAe,KAAK,KAAK,WAAW,IAAI,eAAe,EAAE,SAAS,KAAK,WAAW,IAAI,eAAe,EAAE,MAAM,SAAS;EACjM;EAEU,yBAAyB,OAGlC;AACC,SAAK,gBAAgB,IAAI,KAAK;AAC9B,SAAK,oBAAoB,IAAI,MAAM,YAAY;EACjD;EAEU,qBAAkB;AAC1B,UAAM,YAAoC;MACxC,gBAAgB;MAChB,kBAAkB;MAClB,uBAAuB;MACvB,wBAAwB;;AAG1B,UAAM,SAAS,OAAO,QAAQ,SAAS,EACpC,OAAO,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,KAAK,WAAW,IAAI,KAAK,GAAG,KAAK,EACvD,IAAI,CAAC,CAAC,EAAE,KAAK,MAAM,KAAK,EACxB,KAAK,IAAI;AAEZ,SAAK,WAAW,IAAI,WAAW,GAAG,WAAW,MAAM;EACrD;EAEQ,0BAA0B,MAAsB;AACtD,UAAM,kBAAkB;MACtB;MACA;MACA;MACA;;AAEF,SAAK,yBAAyB,KAAK,OACjC,CAAC,SAAS,CAAC,gBAAgB,SAAS,KAAK,QAAQ,CAAC;EAEtD;EAEQ,kBAAkB,QAAgB,OAAa;AACrD,WAAO,SAAS,KAAK,MAAM,SAAS,KAAK,IAAI,IAAI;EACnD;EAEQ,iBAAiB,CAAC,MAAU;AAClC,QAAI,EAAE,MAAM,SAAS,oBAAoB;AACvC,WAAK,aAAY;AACjB,WAAK,eAAe,YAAY,IAAI;AACpC,WAAK,eAAe,WAAU;AAC9B,WAAK,mBAAmB,YAAY,IAAI;AACxC,WAAK,mBAAmB,eAAc;AACtC,WAAK,cAAa;IACpB;EACF;EAEQ,eAAY;AAClB,SAAK,gBAAgB,IAAI,IAAI;AAC7B,SAAK,WAAW,IAAI,KAAK;AACzB,SAAK,yBAAyB,IAAI,EAAE,YAAY,IAAI,WAAW,MAAK,CAAE;AACtE,SAAK,4BAA4B,IAAI,KAAK;AAC1C,SAAK,aAAa,IAAI,KAAK;AAC3B,SAAK,uBAAuB,IAAI,KAAK;AACrC,SAAK,cAAc,IAAI,MAAS;AAChC,SAAK,oBAAoB,IAAI,MAAS;AACtC,SAAK,gBAAgB,IAAI,MAAS;AAClC,SAAK,eAAe,CAAA;AACpB,QAAI,KAAK;AAAY,WAAK,aAAY;AACtC,SAAK,gBAAgB;AACrB,SAAK,YAAY,CAAA;AACjB,SAAK,eAAe;AACpB,SAAK,MAAM,IAAI,GAAG;AAClB,SAAK,SAAS;AACd,SAAK,gBAAgB,IAAI,KAAK;AAC9B,SAAK,eAAe;AACpB,SAAK,WAAW;AAChB,SAAK,iBAAiB;AACtB,SAAK,kBAAkB;AACvB,SAAK,0BAA0B;AAC/B,SAAK,UAAU;AACf,SAAK,iBAAiB;AACtB,SAAK,eAAe,IAAI,IAAI;AAC5B,SAAK,gBAAgB,cAAc,IAAI,CAAA,CAAE;AACzC,SAAK,yBAAyB,CAAA;AAC9B,SAAK,eAAe;AACpB,QAAI,KAAK,aAAa;AACpB,WAAK,YAAY,aAAa,CAAA;AAC9B,WAAK,YAAY,OAAO,CAAA;AACxB,WAAK,YAAY,cAAc,KAAK;AACpC,WAAK,YAAY,YAAY;AAC7B,WAAK,YAAY,qBAAqB,KAAK,MAAK;AAChD,WAAK,YAAY,aAAa;AAC9B,WAAK,YAAY,wBAAwB;AACzC,WAAK,YAAY,eAAe;IAClC;EACF;EAEQ,gBAAa;AACnB,QAAI,KAAK;AAAY,WAAK,aAAY;AACtC,SAAK,eAAe,IAAI,IAAI;AAC5B,SAAK,gBAAgB,SAAS,IAAI,IAAI;AACtC,SAAK,wBAAuB;EAC9B;EAEQ,0BAAuB;AAC7B,UAAM,MAAM,IAAI,IAAI,OAAO,SAAS,IAAI;AACxC,QAAI,aAAa,OAAO,YAAY;AACpC,WAAO,QAAQ,UAAU,CAAA,GAAI,IAAI,IAAI,SAAQ,CAAE;EACjD;EAEU,iBAAiB,eAAsB;AAC/C,QAAI,KAAK,aAAa;AACpB,WAAK,YAAY,eAAe,gBAAgB,MAAM;IACxD;AACA,SAAK,eAAe,gBAAgB,MAAM;EAC5C;;qCAv1BW,eAAY;EAAA;yEAAZ,eAAY,WAAA,CAAA,CAAA,UAAA,CAAA,GAAA,UAAA,CAAA,6BANZ,CAAC,eAAe,CAAC,CAAA,GAAA,OAAA,IAAA,MAAA,IAAA,QAAA,CAAA,CAAA,cAAA,EAAA,GAAA,CAAA,UAAA,EAAA,GAAA,CAAA,SAAA,EAAA,GAAA,CAAA,UAAA,EAAA,GAAA,CAAA,kBAAA,EAAA,GAAA,CAAA,GAAA,oCAAA,GAAA,CAAA,GAAA,gBAAA,GAAA,CAAA,GAAA,yBAAA,GAAA,CAAA,GAAA,yBAAA,GAAA,CAAA,GAAA,cAAA,GAAA,CAAA,GAAA,gBAAA,GAAA,CAAA,GAAA,YAAA,iBAAA,0BAAA,GAAA,CAAA,GAAA,YAAA,GAAA,CAAA,GAAA,yBAAA,GAAA,SAAA,GAAA,CAAA,GAAA,eAAA,mBAAA,kBAAA,WAAA,SAAA,cAAA,WAAA,gBAAA,gBAAA,gBAAA,cAAA,GAAA,CAAA,GAAA,SAAA,GAAA,CAAA,GAAA,kCAAA,kBAAA,oBAAA,YAAA,iBAAA,0BAAA,GAAA,CAAA,aAAA,OAAA,GAAA,CAAA,GAAA,WAAA,GAAA,CAAA,GAAA,iBAAA,GAAA,CAAA,GAAA,0BAAA,GAAA,SAAA,GAAA,CAAA,GAAA,mBAAA,GAAA,CAAA,GAAA,oBAAA,GAAA,CAAA,mBAAA,OAAA,GAAA,0BAAA,GAAA,UAAA,GAAA,CAAA,GAAA,sBAAA,GAAA,SAAA,GAAA,CAAA,QAAA,UAAA,WAAA,sBAAA,GAAA,uBAAA,UAAA,GAAA,CAAA,cAAA,IAAA,GAAA,kBAAA,GAAA,SAAA,GAAA,CAAA,YAAA,iBAAA,mBAAA,OAAA,gBAAA,MAAA,eAAA,MAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,MAAA,GAAA,CAAA,aAAA,WAAA,aAAA,WAAA,KAAA,m1BAAA,QAAA,SAAA,GAAA,CAAA,QAAA,oBAAA,QAAA,UAAA,WAAA,sBAAA,GAAA,qBAAA,GAAA,CAAA,aAAA,IAAA,GAAA,gBAAA,GAAA,CAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,MAAA,GAAA,CAAA,KAAA,iYAAA,UAAA,WAAA,gBAAA,KAAA,kBAAA,SAAA,mBAAA,OAAA,GAAA,CAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,YAAA,oBAAA,mBAAA,OAAA,gBAAA,MAAA,eAAA,MAAA,GAAA,aAAA,GAAA,CAAA,YAAA,kBAAA,mBAAA,OAAA,gBAAA,MAAA,eAAA,MAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,GAAA,aAAA,GAAA,CAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,YAAA,oBAAA,mBAAA,OAAA,gBAAA,MAAA,eAAA,MAAA,GAAA,eAAA,GAAA,OAAA,GAAA,CAAA,aAAA,WAAA,aAAA,WAAA,KAAA,kUAAA,QAAA,SAAA,GAAA,CAAA,YAAA,kBAAA,mBAAA,OAAA,gBAAA,MAAA,eAAA,MAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,GAAA,eAAA,GAAA,OAAA,GAAA,CAAA,aAAA,WAAA,aAAA,WAAA,KAAA,iUAAA,QAAA,SAAA,GAAA,CAAA,GAAA,iBAAA,GAAA,CAAA,GAAA,gBAAA,GAAA,CAAA,GAAA,0BAAA,uBAAA,GAAA,CAAA,WAAA,cAAA,mBAAA,0BAAA,GAAA,QAAA,GAAA,CAAA,OAAA,cAAA,GAAA,oBAAA,GAAA,CAAA,GAAA,gBAAA,GAAA,CAAA,QAAA,iBAAA,QAAA,UAAA,WAAA,oBAAA,GAAA,uBAAA,UAAA,GAAA,CAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,MAAA,GAAA,CAAA,aAAA,WAAA,aAAA,WAAA,KAAA,soJAAA,QAAA,SAAA,GAAA,CAAA,QAAA,cAAA,QAAA,UAAA,GAAA,uBAAA,UAAA,GAAA,CAAA,eAAA,gBAAA,eAAA,cAAA,GAAA,iBAAA,SAAA,eAAA,cAAA,WAAA,iBAAA,GAAA,CAAA,GAAA,kBAAA,YAAA,SAAA,iBAAA,GAAA,CAAA,GAAA,aAAA,SAAA,YAAA,eAAA,SAAA,GAAA,CAAA,GAAA,SAAA,WAAA,aAAA,GAAA,CAAA,GAAA,gBAAA,aAAA,SAAA,YAAA,eAAA,SAAA,GAAA,CAAA,cAAA,IAAA,GAAA,iBAAA,cAAA,cAAA,GAAA,SAAA,MAAA,GAAA,CAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,SAAA,8BAAA,eAAA,MAAA,GAAA,CAAA,cAAA,IAAA,GAAA,iBAAA,cAAA,GAAA,OAAA,GAAA,CAAA,SAAA,8BAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,MAAA,GAAA,CAAA,KAAA,iYAAA,UAAA,WAAA,gBAAA,KAAA,kBAAA,SAAA,mBAAA,OAAA,GAAA,CAAA,SAAA,MAAA,UAAA,MAAA,WAAA,aAAA,QAAA,QAAA,SAAA,8BAAA,eAAA,QAAA,GAAA,OAAA,GAAA,CAAA,KAAA,shCAAA,QAAA,SAAA,GAAA,CAAA,aAAA,WAAA,aAAA,WAAA,KAAA,snGAAA,QAAA,OAAA,GAAA,CAAA,eAAA,GAAA,GAAA,CAAA,GAAA,wBAAA,GAAA,CAAA,GAAA,wBAAA,GAAA,CAAA,GAAA,oBAAA,GAAA,CAAA,YAAA,0CAAA,mBAAA,OAAA,aAAA,OAAA,aAAA,OAAA,GAAA,gBAAA,GAAA,iBAAA,YAAA,WAAA,gBAAA,GAAA,CAAA,GAAA,oBAAA,GAAA,CAAA,QAAA,iBAAA,QAAA,UAAA,WAAA,oBAAA,GAAA,qBAAA,GAAA,CAAA,aAAA,IAAA,GAAA,kBAAA,GAAA,SAAA,GAAA,CAAA,cAAA,kBAAA,eAAA,GAAA,GAAA,CAAA,aAAA,WAAA,aAAA,WAAA,KAAA,qlDAAA,QAAA,SAAA,GAAA,CAAA,UAAA,sBAAA,GAAA,iBAAA,SAAA,SAAA,GAAA,CAAA,GAAA,kBAAA,GAAA,WAAA,GAAA,CAAA,eAAA,gBAAA,eAAA,cAAA,SAAA,iBAAA,mBAAA,kBAAA,GAAA,iBAAA,SAAA,GAAA,CAAA,eAAA,gBAAA,eAAA,cAAA,SAAA,mBAAA,mBAAA,oBAAA,GAAA,iBAAA,WAAA,cAAA,GAAA,CAAA,SAAA,eAAA,mBAAA,yBAAA,GAAA,WAAA,GAAA,CAAA,SAAA,eAAA,mBAAA,0BAAA,GAAA,WAAA,GAAA,CAAA,GAAA,eAAA,GAAA,CAAA,QAAA,UAAA,QAAA,UAAA,WAAA,sBAAA,GAAA,qBAAA,GAAA,CAAA,QAAA,SAAA,QAAA,UAAA,WAAA,kBAAA,GAAA,qBAAA,GAAA,CAAA,GAAA,iBAAA,WAAA,WAAA,YAAA,GAAA,CAAA,GAAA,iBAAA,eAAA,WAAA,UAAA,UAAA,GAAA,CAAA,GAAA,iBAAA,iBAAA,WAAA,sBAAA,cAAA,CAAA,GAAA,UAAA,SAAA,sBAAA,IAAA,KAAA;AAAA,QAAA,KAAA,GAAA;;ACxF9B,MAAA,yBAAA,GAAA,OAAA,CAAA,EAAgD,GAAA,OAAA,CAAA;AAE5C,MAAA,uBAAA,CAAA,EAA8B,CAAA,EAA4C,CAAA;AAG1E,MAAA,yBAAA,GAAA,OAAA,CAAA,EAAqC,GAAA,OAAA,CAAA,EACE,GAAA,MAAA,CAAA;AACV,MAAA,iBAAA,GAAA,qBAAA;AAAmB,MAAA,uBAAA;AAC5C,MAAA,yBAAA,GAAA,MAAA,EAAA;AAA2B,MAAA,iBAAA,EAAA;AAAqC,MAAA,uBAAA,EAAK;AAEvE,MAAA,qBAAA,IAAA,sCAAA,GAAA,GAAA,6BAAA,EAAA;AASF,MAAA,uBAAA;AACA,MAAA,qBAAA,IAAA,sCAAA,GAAA,GAAA,WAAA,EAAA;AAyTA,MAAA,yBAAA,IAAA,OAAA,EAAA,EAGC,IAAA,WAAA,IAAA,CAAA;AAEG,MAAA,qBAAA,IAAA,sCAAA,IAAA,GAAA,eAAA,MAAA,GAAA,gCAAA;AA2DA,MAAA,yBAAA,IAAA,qBAAA,EAAA;AAEE,MAAA,2BAAA,eAAA,SAAA,gEAAA,QAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,QAAA,6BAAA,IAAA,OAAA,MAAA,MAAA,IAAA,QAAA;AAAA,eAAA,sBAAA,MAAA;MAAA,CAAA;AAMA,MAAA,qBAAA,mBAAA,SAAA,oEAAA,QAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,eAAA,sBAAmB,IAAA,UAAA,QAAkB,IAAI,CAAC;MAAA,CAAA,EAAC,kBAAA,SAAA,mEAAA,QAAA;AAAA,QAAA,wBAAA,GAAA;AAAA,eAAA,sBACzB,IAAA,OAAA,MAAA,CAAc;MAAA,CAAA;AAEjC,MAAA,uBAAA;AAED,MAAA,oBAAA,IAAA,kBAAA,EAAA;AACF,MAAA,uBAAA,EAAU;AAGZ,MAAA,qBAAA,IAAA,gCAAA,GAAA,CAAA;AAAA,MAAA,kBAAA,IAAA,IAAA,4BAAA;AAyDF,MAAA,uBAAA;AACA,MAAA,qBAAA,IAAA,sCAAA,GAAA,CAAA;AA0BF,MAAA,uBAAA;AACA,MAAA,oBAAA,IAAA,mBAAA;;;;AAjfI,MAAA,oBAAA,CAAA;AAAA,MAAA,qBAAe,IAAA,cAAA,CAAe;AAAE,MAAA,oBAAA;AAAA,MAAA,qBAAqB,IAAA,oBAAA,CAAqB;AAC1E,MAAA,oBAAA;AAAA,MAAA,qBAAqB,IAAA,oBAAA,CAAqB;AAKX,MAAA,oBAAA,CAAA;AAAA,MAAA,6BAAA,UAAA,IAAA,eAAA,MAAA,OAAA,OAAA,QAAA,aAAA;AAE7B,MAAA,oBAAA;AAAA,MAAA,wBAAA,IAAA,MAAA,KAAA,IAAA,aAAA,KAAA,EAAA;AAUF,MAAA,oBAAA;AAAA,MAAA,wBAAA,IAAA,oBAAA,IAAA,KAAA,EAAA;AA2TE,MAAA,oBAAA;AAAA,MAAA,qBAAA,WAAA,0BAAA,IAAAC,MAAA,IAAA,gBAAA,IAAA,UAAA,MAAA,CAAA;AAES,MAAA,oBAAA;AAAA,MAAA,qBAAA,cAAA,KAAA;AA6DL,MAAA,oBAAA,CAAA;AAAA,MAAA,qBAAA,WAAA,0BAAA,IAAAA,MAAA,CAAA,IAAA,kBAAA,UAAA,MAAA,CAAA;AACA,MAAA,2BAAA,SAAA,IAAA,KAAA;AACA,MAAA,qBAAA,cAAA,IAAA,MAAA,EAAqB,WAAA,IAAA,YAAA,EACG,gBAAA,IAAA,YAAA,EACK,gBAAA,IAAA,SAAA,EACH,gBAAA,IAAA,YAAA,EACG,gBAAA,IAAA,YAAA;AAMf,MAAA,oBAAA;AAAA,MAAA,qBAAA,WAAA,IAAA,WAAA;AAIZ,MAAA,oBAAA,CAAA;AAAA,MAAA,sBAAA,IAAA,cAAA;AA0DV,MAAA,oBAAA,CAAA;AAAA,MAAA,wBAAA,IAAA,mBAAA,IAAA,gBAAA,UAAA,IAAA,aAAA,KAAA,EAAA;;;IDrZE;IAAW;IAAA;IACX;IACA;IACA;IACA;IACA;IAAmB;IAAA;IAAA;IAAA;IAAA;IACnB;IACA;IAAqB;IACrB;IAEA;IAAa;IACb;IACA;IACA;IAAkB;IAClB;IAAW;IAGX;IAEA;EAAQ,GAAA,QAAA,CAAA,uuLAAA,GAAA,eAAA,GAAA,iBAAA,EAAA,CAAA;;;2EAQC,cAAY,MAAA,CAAA,OAAA,qBAAA,EAAA,KAAA,OAAA,EAAA,MAAA,CAAA,GAAA,YAAA;AAAA,IAAA,iBAAZ,cAAY,CAAA;YA/BxB;yBACW,YAAU,YACR,MAAI,SACP;QACP;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;;QAEA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;QACA;SACD,WACU,CAAC,eAAe,GAAC,iBAGX,wBAAwB,QAAM,eAChC,kBAAkB,WAAS,UAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAA,QAAA,CAAA,uuLAAA,EAAA,CAAA;;;;;6EAE/B,cAAY,EAAA,WAAA,gBAAA,UAAA,kEAAA,YAAA,GAAA,CAAA;AAAA,GAAA;;;AGjFzB,IAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMhB,SAAS,QAAQ,OAAO;AACtB,UAAM,KAAK,WAAW,QAAQ,KAAK;AACnC,WAAO,MAAM,aAAa,EAAE;AAAA,EAC9B;AACF;AAIA,SAAS,gBAAgB,OAAO;AAC9B,SAAO,MAAM,QAAQ,UAAU,UAAQ,IAAI,KAAK,YAAY,CAAC,EAAE;AACjE;AAIA,SAAS,UAAU,MAAM;AACvB,SAAO,CAAC,CAAC,QAAQ,KAAK,aAAa,KAAK;AAC1C;AAaA,IAAI;AAMJ,SAAS,gBAAgB,IAAI,UAAU;AACrC,MAAI,CAAC,UAAU;AACb,UAAM,UAAU,QAAQ;AACxB,eAAW,QAAQ,WAAW,QAAQ,mBAAmB,QAAQ,sBAAsB,QAAQ,qBAAqB,QAAQ,oBAAoB,QAAQ;AAAA,EAC1J;AACA,SAAO,GAAG,aAAa,KAAK,eAAe,SAAS,KAAK,IAAI,QAAQ,IAAI;AAC3E;AAQA,SAAS,oCAAoC,QAAQ;AACnD,QAAM,4BAA4B,CAAC;AACnC,SAAO,QAAQ,CAAC;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAAM;AACJ,8BAA0B,gBAAgB,YAAY,CAAC,IAAI,CAAC,UAAU,SAAS;AAAA,EACjF,CAAC;AACD,SAAO;AACT;AAKA,SAAS,mBAAmB,WAAW,UAAU;AAC/C,QAAM,2BAA2B,SAAS,IAAI,0BAAwB;AACtE,QAAM,mBAAmB,yBAAyB,wBAAwB,SAAS;AACnF,SAAO,iBAAiB;AAC1B;AAGA,SAAS,wBAAwB,MAAM,oBAAoB;AACzD,QAAM,QAAQ,KAAK;AACnB,QAAM,mBAAmB,mBAAmB,IAAI,MAAM,CAAC,CAAC;AACxD,MAAI,gBAAgB;AACpB,qBAAmB,KAAK,CAAC,UAAU,MAAM;AACvC,QAAI,aAAa,KAAK;AACpB,sBAAgB;AAChB,aAAO;AAAA,IACT;AACA,WAAO;AAAA,EACT,CAAC;AACD,WAAS,IAAI,GAAG,KAAK,MAAM,QAAQ,IAAI,IAAI,EAAE,GAAG;AAC9C,UAAM,OAAO,MAAM,CAAC;AACpB,UAAM,iBAAiB,kBAAkB,MAAM,oBAAoB,aAAa;AAChF,QAAI,mBAAmB,IAAI;AACzB,uBAAiB,cAAc,EAAE,KAAK,IAAI;AAAA,IAC5C;AAAA,EACF;AACA,SAAO;AACT;AACA,SAAS,kBAAkB,MAAM,WAAW,cAAc;AACxD,MAAI,gBAAgB;AACpB,MAAI,UAAU,IAAI,GAAG;AACnB,cAAU,KAAK,CAAC,UAAU,MAAM;AAC9B,UAAI,aAAa,OAAO,gBAAgB,MAAM,QAAQ,GAAG;AACvD,wBAAgB;AAChB,eAAO;AAAA,MACT;AACA,aAAO;AAAA,IACT,CAAC;AAAA,EACH;AACA,SAAO;AACT;AAGA,IAAM,gBAAgB;AAKtB,IAAM,oCAAN,MAAwC;AAAA,EACtC;AAAA,EACA,WAAW,oBAAI,IAAI;AAAA,EACnB,YAAY,WAAW,UAAU;AAC/B,SAAK,mBAAmB,SAAS,IAAI,0BAAwB,EAAE,wBAAwB,SAAS;AAChG,eAAW,SAAS,KAAK,iBAAiB,QAAQ;AAChD,WAAK,SAAS,IAAI,MAAM,UAAU,MAAM,YAAY;AAAA,IACtD;AAAA,EACF;AAAA,EACA,OAAO,UAAU;AACf,WAAO,IAAI,2BAA2B,KAAK,kBAAkB,UAAU,KAAK,QAAQ;AAAA,EACtF;AACF;AAKA,IAAM,6BAAN,MAAiC;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAEA,gBAAgB,IAAI,cAAc,CAAC;AAAA;AAAA,EAEnC,SAAS,KAAK,cAAc,KAAK,UAAU,cAAY,MAAM,GAAG,QAAQ,CAAC,CAAC;AAAA;AAAA,EAE1E,eAAe;AAAA;AAAA,EAEf,qBAAqB;AAAA;AAAA,EAErB,qBAAqB,oBAAI,IAAI;AAAA;AAAA,EAE7B;AAAA;AAAA,EAEA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,EACA,YAAY,kBAAkB,UAAU,UAAU;AAChD,SAAK,mBAAmB;AACxB,SAAK,WAAW;AAChB,SAAK,WAAW;AAChB,SAAK,SAAS,KAAK,SAAS,IAAI,MAAM;AACtC,SAAK,SAAS,KAAK,SAAS,IAAI,cAAc;AAC9C,SAAK,cAAc,SAAS,IAAI,wBAAyB;AACzD,SAAK,cAAc,OAAO,SAAS,cAAc,OAAO,KAAK,OAAO,IAAI,MAAM,KAAK,OAAO;AAAA,EAC5F;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,QAAQ,SAAS;AACf,SAAK,UAAU,MAAM;AAGnB,UAAI,KAAK,uBAAuB,MAAM;AACpC,aAAK,mBAAmB;AACxB,aAAK,qBAAqB;AAC1B;AAAA,MACF;AACA,UAAI,KAAK,iBAAiB,MAAM;AAC9B,aAAK,oBAAoB,OAAO;AAAA,MAClC;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,aAAa;AACX,SAAK,UAAU,MAAM;AAEnB,UAAI,KAAK,iBAAiB,QAAQ,KAAK,uBAAuB,MAAM;AAClE;AAAA,MACF;AAGA,WAAK,qBAAqB,UAAU,SAAS,MAAM;AACjD,YAAI,KAAK,iBAAiB,MAAM;AAC9B,eAAK,aAAa,QAAQ;AAC1B,eAAK,eAAe;AAAA,QACtB;AAAA,MACF,GAAG,aAAa;AAAA,IAClB,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,UAAU;AACtB,WAAO,KAAK,UAAU,MAAM;AAC1B,UAAI,KAAK,iBAAiB,MAAM;AAC9B,eAAO,KAAK,mBAAmB,IAAI,QAAQ;AAAA,MAC7C;AACA,aAAO,KAAK,aAAa,SAAS,QAAQ;AAAA,IAC5C,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,cAAc,UAAU,OAAO;AAC7B,QAAI,KAAK,iBAAiB,MAAM;AAC9B,WAAK,mBAAmB,IAAI,UAAU,KAAK;AAC3C;AAAA,IACF;AACA,SAAK,UAAU,MAAM;AACnB,WAAK,aAAa,SAAS,KAAK,SAAS,IAAI,QAAQ,KAAK,UAAU,KAAK;AAEzE,UAAI,KAAK,aAAa,SAAS,OAAO;AAKpC,aAAK,aAAa,kBAAkB,eAAe;AAGnD,aAAK,YAAY;AAAA,UAAO;AAAA;AAAA,QAAwC;AAAA,MAClE;AAAA,IACF,CAAC;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA,EAKA,oBAAoB,SAAS;AAC3B,UAAM,gBAAgB,SAAS,OAAO;AAAA,MACpC,WAAW,CAAC;AAAA,MACZ,QAAQ,KAAK;AAAA,IACf,CAAC;AACD,UAAM,mBAAmB,wBAAwB,SAAS,KAAK,iBAAiB,kBAAkB;AAClG,SAAK,eAAe,KAAK,iBAAiB,OAAO,eAAe,kBAAkB,OAAO;AACzF,SAAK,iBAAiB;AACtB,SAAK,kBAAkB,KAAK,YAAY;AACxC,SAAK,OAAO,WAAW,KAAK,aAAa,QAAQ;AACjD,SAAK,aAAa,SAAS,cAAc;AAAA,EAC3C;AAAA;AAAA,EAEA,mBAAmB;AACjB,eAAW,CAAC,UAAU,KAAK,KAAK,KAAK,oBAAoB;AACvD,WAAK,cAAc,UAAU,KAAK;AAAA,IACpC;AACA,SAAK,mBAAmB,MAAM;AAAA,EAChC;AAAA;AAAA,EAEA,kBAAkB,cAAc;AAC9B,UAAM,gBAAgB,KAAK,iBAAiB,QAAQ,IAAI,CAAC;AAAA,MACvD;AAAA,MACA;AAAA,IACF,MAAM;AACJ,YAAM,UAAU,aAAa,SAAS,QAAQ;AAC9C,aAAO,IAAI,WAAW,cAAY;AAChC,cAAM,MAAM,QAAQ,UAAU,WAAS,SAAS,KAAK;AAAA,UACnD,MAAM;AAAA,UACN;AAAA,QACF,CAAC,CAAC;AACF,eAAO,MAAM,IAAI,YAAY;AAAA,MAC/B,CAAC;AAAA,IACH,CAAC;AACD,SAAK,cAAc,KAAK,aAAa;AAAA,EACvC;AAAA;AAAA,EAEA,UAAU,IAAI;AACZ,WAAO,KAAK,eAAe,KAAK,YAAY,KAAK,cAAc,KAAK,OAAO,IAAI,EAAE,IAAI,GAAG;AAAA,EAC1F;AACF;AAOA,IAAM,YAAN,cAAwB,YAAY;AAAA;AAAA;AAAA;AAAA,EAIlC,8BAA8B;AAChC;AAuBA,SAAS,oBAAoB,WAAW,QAAQ;AAC9C,QAAM,SAAS,mBAAmB,WAAW,OAAO,QAAQ;AAC5D,QAAM,kBAAkB,OAAO,mBAAmB,IAAI,kCAAkC,WAAW,OAAO,QAAQ;AAClH,QAAM,4BAA4B,oCAAoC,MAAM;AAAA,EAC5E,MAAM,sBAAsB,UAAU;AAAA,IACpC;AAAA;AAAA;AAAA,IAGA,QAAQ,oBAAoB,IAAI,OAAO,KAAK,yBAAyB;AAAA,IACrE,IAAI,oBAAoB;AAGtB,UAAI,CAAC,KAAK,oBAAoB;AAC5B,cAAM,WAAW,KAAK,qBAAqB,gBAAgB,OAAO,KAAK,YAAY,OAAO,QAAQ;AAIlG,eAAO,QAAQ,CAAC;AAAA,UACd;AAAA,UACA;AAAA,UACA;AAAA,QACF,MAAM;AACJ,cAAI,CAAC,KAAK,eAAe,QAAQ,KAAK,UAAU;AAE9C;AAAA,UACF;AAEA,gBAAM,QAAQ,KAAK,QAAQ;AAC3B,iBAAO,KAAK,QAAQ;AACpB,mBAAS,cAAc,UAAU,OAAO,SAAS;AAAA,QACnD,CAAC;AAAA,MACH;AACA,aAAO,KAAK;AAAA,IACd;AAAA,IACA;AAAA,IACA,YAAY,UAAU;AACpB,YAAM;AACN,WAAK,WAAW;AAAA,IAClB;AAAA,IACA,yBAAyB,UAAU,UAAU,UAAU,WAAW;AAChE,YAAM,CAAC,UAAU,SAAS,IAAI,0BAA0B,QAAQ;AAChE,WAAK,kBAAkB,cAAc,UAAU,UAAU,SAAS;AAAA,IACpE;AAAA,IACA,oBAAoB;AAQlB,UAAI,qBAAqB;AACzB,UAAI,KAAK,kBAAkB,QAAQ;AAEjC,aAAK,kBAAkB;AACvB,6BAAqB;AAAA,MACvB;AACA,WAAK,kBAAkB,QAAQ,IAAI;AACnC,UAAI,CAAC,oBAAoB;AAIvB,aAAK,kBAAkB;AAAA,MACzB;AAAA,IACF;AAAA,IACA,uBAAuB;AAErB,UAAI,KAAK,oBAAoB;AAC3B,aAAK,mBAAmB,WAAW;AAAA,MACrC;AACA,UAAI,KAAK,6BAA6B;AACpC,aAAK,4BAA4B,YAAY;AAC7C,aAAK,8BAA8B;AAAA,MACrC;AAAA,IACF;AAAA,IACA,oBAAoB;AAElB,WAAK,8BAA8B,KAAK,kBAAkB,OAAO,UAAU,OAAK;AAC9E,cAAM,cAAc,IAAI,YAAY,EAAE,MAAM;AAAA,UAC1C,QAAQ,EAAE;AAAA,QACZ,CAAC;AACD,aAAK,cAAc,WAAW;AAAA,MAChC,CAAC;AAAA,IACH;AAAA,EACF;AAEA,SAAO,QAAQ,CAAC;AAAA,IACd;AAAA,IACA;AAAA,EACF,MAAM;AACJ,WAAO,eAAe,cAAc,WAAW,UAAU;AAAA,MACvD,MAAM;AACJ,eAAO,KAAK,kBAAkB,cAAc,QAAQ;AAAA,MACtD;AAAA,MACA,IAAI,UAAU;AACZ,aAAK,kBAAkB,cAAc,UAAU,UAAU,SAAS;AAAA,MACpE;AAAA,MACA,cAAc;AAAA,MACd,YAAY;AAAA,IACd,CAAC;AAAA,EACH,CAAC;AACD,SAAO;AACT;AAKA,IAAM,UAAU,IAAI,QAAQ,QAAQ;;;ACna9B,IAAO,YAAP,MAAO,WAAS;EACA;EAApB,YAAoB,UAAkB;AAAlB,SAAA,WAAA;AAClB,UAAM,UAAU,oBAAoB,cAAc;MAChD,UAAU,KAAK;KAChB;AACD,QAAI,CAAC,eAAe,IAAI,oCAAoC,GAAG;AAC7D,qBAAe,OAAO,sCAAsC,OAAO;IACrE;AAEA,wCAAmC;EACrC;;EAGA,gBAAa;EAAU;;qCAbZ,YAAS,mBAAA,QAAA,CAAA;EAAA;wEAAT,WAAS,CAAA;6EART;IACT;IACA,GAAG,UAAU;IACb,kBACE,iBAAiB,CAAC,qBAAqB,gBAAgB,CAAC,CAAC;KAE5D,SAAA,CAPS,eAAe,YAAY,EAAA,CAAA;;;sEAS1B,WAAS,CAAA;UAVrB;WAAS;MACR,SAAS,CAAC,eAAe,YAAY;MACrC,WAAW;QACT;QACA,GAAG,UAAU;QACb,kBACE,iBAAiB,CAAC,qBAAqB,gBAAgB,CAAC,CAAC;;KAG9D;;;;;ACfD,IAAM,eAAe,IAAI,oBAAoB,SAAS;AACtD,IAAM,SAAS;AACf,IAAM,SAAS;AAEf,aACG,+BAA8B,EAC9B,KAAK,MAAK;AACT,EAAA,gBAAA,EACG,gBAAgB,SAAS,EACzB,KAAK,MAAK;AACT,UAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,UAAM,aAAa,QAAQ;AAC3B,UAAM,SAAS,WAAW,cAAc,IAAI,MAAM,EAAE;AAEpD,QAAI,CAAC,oBAAoB,2BAA0B,GAAI;AACrD,UAAI,CAAC,oBAAoB,yBAAyB,MAAM,GAAG;AACzD,4BAAoB,iBAAiB,MAAM;MAC7C;AAEA,UAAI,CAAC,oBAAoB,sBAAsB,MAAM,GAAG;AACtD,4BAAoB,sBAAsB,QAAQ,MAAM;MAC1D;IACF,OAAO;AACL,0BAAoB,oBAAoB,MAAM;IAChD;EACF,CAAC;AACL,CAAC,EACA,MAAM,CAAC,QAAQ,QAAQ,MAAM,GAAG,CAAC;","names":["PanelClasses","_c3","_c4","TimePeriod","moment","_c1","_c2","_c0","_c1","_c2","_c3","theme","classes","InputNumberClasses","selectionEnd","_c0","_c1","_c2","_c3","_c4","_c5","_c6","_c7","theme","classes","PaginatorClasses","state","_c0","_c1","_c2","_c3","_c4","_c5","_c6","_c7","_c8","_c9","_c10","_c11","_c12","_c13","_c14","_c15","_c16","_c17","_c18","_c22","_c23","_c24","_c25","_c32","_c33","_c34","_c35","_c42","_c43","_c44","_c52","_c53","theme","classes","TreeTableClasses","isContainerInViewport","filter","document","theme","inlineStyles","classes","SkeletonClasses","style","_c2","_forTrack0","_c3","_c1","import_moment","_c0","_c1","_c2","theme","inlineStyles","classes","ToggleSwitchClasses","_c2","_c3","_c1","_c4","_c5","_forTrack0","_c6","_c8","_c7","_c9","_c10","moment","_c0"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,16,17,18,19,25,26]}
|