@colijnit/sharedcomponents 1.0.61 → 1.0.62
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/README.md +24 -24
- package/bundles/colijnit-sharedcomponents.umd.js +9848 -9843
- package/bundles/colijnit-sharedcomponents.umd.js.map +1 -1
- package/colijnit-sharedcomponents.d.ts +91 -91
- package/colijnit-sharedcomponents.metadata.json +1 -1
- package/esm2015/colijnit-sharedcomponents.js +91 -91
- package/esm2015/lib/assets/dictionary/text.properties.js +11 -11
- package/esm2015/lib/businessobject/build-images-and-documentation-result.js +2 -2
- package/esm2015/lib/businessobject/co-document-right.bo.js +3 -3
- package/esm2015/lib/businessobject/drag-drop-container-element.js +2 -2
- package/esm2015/lib/businessobject/drag-drop-container.js +7 -7
- package/esm2015/lib/components/activity-list/activity-list.component.js +130 -130
- package/esm2015/lib/components/activity-list/activity-list.module.js +24 -24
- package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.component.js +47 -47
- package/esm2015/lib/components/app-file-dropzone/app-file-dropzone.module.js +20 -20
- package/esm2015/lib/components/date-planning/component/agenda/agenda-base-view.component.js +61 -61
- package/esm2015/lib/components/date-planning/component/agenda/agenda-day-view.component.js +36 -36
- package/esm2015/lib/components/date-planning/component/agenda/agenda-event.component.js +56 -56
- package/esm2015/lib/components/date-planning/component/agenda/agenda-events.component.js +47 -47
- package/esm2015/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.js +68 -68
- package/esm2015/lib/components/date-planning/component/agenda/agenda-header.component.js +243 -243
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-cell.component.js +36 -36
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.js +50 -50
- package/esm2015/lib/components/date-planning/component/agenda/agenda-hour-view.component.js +46 -46
- package/esm2015/lib/components/date-planning/component/agenda/agenda-month-view.component.js +61 -61
- package/esm2015/lib/components/date-planning/component/agenda/agenda-select-event.component.js +39 -39
- package/esm2015/lib/components/date-planning/component/agenda/agenda-view.component.js +35 -35
- package/esm2015/lib/components/date-planning/component/agenda/agenda-week-select-view.component.js +64 -64
- package/esm2015/lib/components/date-planning/component/agenda/agenda-week-view.component.js +48 -48
- package/esm2015/lib/components/date-planning/component/agenda/view-select.component.js +42 -42
- package/esm2015/lib/components/date-planning/component/calendar/calendar-all-months.component.js +34 -34
- package/esm2015/lib/components/date-planning/component/calendar/calendar-all-years.component.js +48 -48
- package/esm2015/lib/components/date-planning/component/calendar/calendar-header.component.js +107 -107
- package/esm2015/lib/components/date-planning/component/calendar/calendar-view.component.js +178 -178
- package/esm2015/lib/components/date-planning/component/calendar/calendar.component.js +34 -34
- package/esm2015/lib/components/date-planning/date-planning.component.js +113 -113
- package/esm2015/lib/components/date-planning/date-planning.module.js +63 -63
- package/esm2015/lib/components/docsign/component/signature/signature.component.js +75 -75
- package/esm2015/lib/components/docsign/component/signatures/signatures.component.js +44 -44
- package/esm2015/lib/components/docsign/docsign.component.js +242 -242
- package/esm2015/lib/components/docsign/docsign.module.js +23 -23
- package/esm2015/lib/components/file-upload/file-upload.component.js +189 -189
- package/esm2015/lib/components/file-upload/file-upload.module.js +25 -25
- package/esm2015/lib/components/file-upload-popup/file-upload-popup.component.js +397 -397
- package/esm2015/lib/components/file-upload-popup/file-upload-popup.module.js +30 -30
- package/esm2015/lib/components/files-upload/components/base-file-upload.component.js +469 -469
- package/esm2015/lib/components/files-upload/components/drag-drop-container.component.js +115 -115
- package/esm2015/lib/components/files-upload/files-upload.component.js +131 -131
- package/esm2015/lib/components/files-upload/files-upload.module.js +47 -47
- package/esm2015/lib/components/image-display/image-display.component.js +36 -36
- package/esm2015/lib/components/image-display/image-display.module.js +23 -23
- package/esm2015/lib/components/key-pad/key-pad.component.js +200 -200
- package/esm2015/lib/components/key-pad/key-pad.module.js +22 -22
- package/esm2015/lib/components/layout-switcher/layout-switcher.component.js +74 -74
- package/esm2015/lib/components/layout-switcher/layout-switcher.module.js +21 -21
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.component.js +59 -59
- package/esm2015/lib/components/linear-gauge/co-linear-gauge.module.js +19 -19
- package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.component.js +89 -89
- package/esm2015/lib/components/multi-property-toggler/multiple-property-toggler.module.js +21 -21
- package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.js +79 -79
- package/esm2015/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.js +21 -21
- package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.js +85 -85
- package/esm2015/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.js +21 -21
- package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.js +64 -64
- package/esm2015/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.js +26 -26
- package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.js +40 -40
- package/esm2015/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.js +23 -23
- package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.js +61 -61
- package/esm2015/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.js +28 -28
- package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.component.js +38 -38
- package/esm2015/lib/components/send-method-dialog/components/signature-button/signature-button.module.js +21 -21
- package/esm2015/lib/components/send-method-dialog/model/email-address-viewmodel.js +7 -7
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.component.js +258 -258
- package/esm2015/lib/components/send-method-dialog/send-method-dialog.module.js +35 -35
- package/esm2015/lib/components/send-method-dialog/send-method-params.interface.js +2 -2
- package/esm2015/lib/components/send-method-dialog/service/send-method.service.js +59 -59
- package/esm2015/lib/components/simple-tags/simple-tags.component.js +229 -229
- package/esm2015/lib/components/simple-tags/simple-tags.module.js +26 -26
- package/esm2015/lib/components/statusbar/statusbar-popup.component.js +97 -97
- package/esm2015/lib/components/statusbar/statusbar.component.js +81 -81
- package/esm2015/lib/components/statusbar/statusbar.module.js +27 -27
- package/esm2015/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-stock-history/order-stock-history.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-stock-tab/order-stock-tab.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.js +47 -47
- package/esm2015/lib/components/stock/components/order-tab/order-tab.component.js +67 -67
- package/esm2015/lib/components/stock/components/stock-history/stock-history.component.js +53 -53
- package/esm2015/lib/components/stock/components/stock-location/stock-location.component.js +240 -240
- package/esm2015/lib/components/stock/components/stock-prognose/stock-prognose.component.js +52 -52
- package/esm2015/lib/components/stock/components/stock-tab/stock-tab.component.js +39 -41
- package/esm2015/lib/components/stock/localization/translation.js +63 -63
- package/esm2015/lib/components/stock/stock-history-tabs/stock-history-tabs.component.js +33 -33
- package/esm2015/lib/components/stock/stock-information/stock-information.component.js +49 -48
- package/esm2015/lib/components/stock/stock-information-grid/stock-information-grid.component.js +457 -457
- package/esm2015/lib/components/stock/stock-tabs/stock-tabs.component.js +243 -241
- package/esm2015/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.js +2 -2
- package/esm2015/lib/components/stock/stock-transfer/stock-change-amount.component.js +72 -72
- package/esm2015/lib/components/stock/stock-transfer/stock-transfer.component.js +149 -149
- package/esm2015/lib/components/stock/stock.component.js +197 -193
- package/esm2015/lib/components/stock/stock.module.js +80 -80
- package/esm2015/lib/components/stock-statusbar/stock-statusbar.component.js +23 -23
- package/esm2015/lib/components/stock-statusbar/stock-statusbar.module.js +19 -19
- package/esm2015/lib/components/tab-bar/tab-bar.component.js +90 -88
- package/esm2015/lib/components/tab-bar/tab-bar.module.js +21 -21
- package/esm2015/lib/components/tab-bar/tab.interface.js +2 -2
- package/esm2015/lib/components/tile-renderer/tile-render.component.js +80 -80
- package/esm2015/lib/components/tile-renderer/tile-render.module.js +26 -26
- package/esm2015/lib/decorator/input-boolean.decorator.js +34 -34
- package/esm2015/lib/enum/calendar-view.enum.js +9 -9
- package/esm2015/lib/enum/document-email-report.enum.js +18 -18
- package/esm2015/lib/enum/domain-multiple-name.enum.js +13 -13
- package/esm2015/lib/enum/file-type.js +14 -14
- package/esm2015/lib/enum/files-upload-config-objects.js +3 -3
- package/esm2015/lib/enum/gauge-color.enum.js +10 -10
- package/esm2015/lib/enum/icon.enum.js +44 -44
- package/esm2015/lib/enum/internal-param.enum.js +38 -38
- package/esm2015/lib/enum/keyboard-code.enum.js +32 -32
- package/esm2015/lib/enum/language-code.enum.js +8 -8
- package/esm2015/lib/enum/month.enum.js +17 -17
- package/esm2015/lib/enum/read-write-access-config-names.enum.js +2 -2
- package/esm2015/lib/enum/table-name.enum.js +86 -86
- package/esm2015/lib/enum/tag-category.enum.js +22 -22
- package/esm2015/lib/enum/tags-component-config-names.js +2 -2
- package/esm2015/lib/enum/thumb-three-way-state.js +19 -19
- package/esm2015/lib/enum/tile-size-type.js +7 -7
- package/esm2015/lib/enum/time-period.enum.js +11 -11
- package/esm2015/lib/event/co-drag-event.js +2 -2
- package/esm2015/lib/event/co-drop-event.js +2 -2
- package/esm2015/lib/interface/key-value-pair.js +2 -2
- package/esm2015/lib/interface/operation-callback-simple-function.js +4 -4
- package/esm2015/lib/localization/localization.module.js +19 -19
- package/esm2015/lib/localization/localize.pipe.js +26 -26
- package/esm2015/lib/localization/localize.service.js +30 -30
- package/esm2015/lib/localization/translation.js +3 -3
- package/esm2015/lib/model/agenda-event-per-day.model.js +6 -6
- package/esm2015/lib/model/agenda-event.model.js +8 -8
- package/esm2015/lib/model/agenda-null-objects.js +11 -11
- package/esm2015/lib/model/constant/all-months.js +17 -17
- package/esm2015/lib/model/date-range.js +5 -5
- package/esm2015/lib/model/day.model.js +7 -7
- package/esm2015/lib/model/icon-svg.js +43 -43
- package/esm2015/lib/model/month.model.js +11 -11
- package/esm2015/lib/model/send-method.js +8 -8
- package/esm2015/lib/model/settings.js +4 -4
- package/esm2015/lib/model/tag-tree-item.bo.js +16 -16
- package/esm2015/lib/model/time-window.bo.js +26 -26
- package/esm2015/lib/model/tree-object.js +15 -15
- package/esm2015/lib/model/week.model.js +6 -6
- package/esm2015/lib/model/weekday.model.js +10 -10
- package/esm2015/lib/pipe/array-number.pipe.js +15 -15
- package/esm2015/lib/pipe/file-type-image.pipe.js +51 -51
- package/esm2015/lib/pipe/master-pipes.js +9 -9
- package/esm2015/lib/pipe/ucfirst.pipe.js +16 -16
- package/esm2015/lib/service/dictionary.service.js +76 -76
- package/esm2015/lib/service/drag-drop.service.js +365 -365
- package/esm2015/lib/service/icon-cache.service.js +51 -51
- package/esm2015/lib/service/options.service.js +48 -48
- package/esm2015/lib/service/shared-connector.service.js +433 -433
- package/esm2015/lib/service/shared.service.js +60 -60
- package/esm2015/lib/service/stock.service.js +110 -110
- package/esm2015/lib/utils/array-utils.js +202 -202
- package/esm2015/lib/utils/calendar.utils.js +68 -68
- package/esm2015/lib/utils/check-precision-and-scale-result.js +2 -2
- package/esm2015/lib/utils/check-within-stepped-bounds-result.js +2 -2
- package/esm2015/lib/utils/co-document-shared-field-logic.js +50 -50
- package/esm2015/lib/utils/date-utils.js +264 -264
- package/esm2015/lib/utils/enum-utils.js +128 -128
- package/esm2015/lib/utils/function/not-nill.function.js +5 -5
- package/esm2015/lib/utils/is-nill.function.js +5 -5
- package/esm2015/lib/utils/map-utils.js +41 -41
- package/esm2015/lib/utils/number-utils.js +390 -390
- package/esm2015/lib/utils/object-utils.js +278 -278
- package/esm2015/lib/utils/ref-code-utils.js +49 -49
- package/esm2015/lib/utils/string-utils.js +93 -93
- package/esm2015/public-api.js +31 -31
- package/fesm2015/colijnit-sharedcomponents.js +10332 -10326
- package/fesm2015/colijnit-sharedcomponents.js.map +1 -1
- package/lib/assets/dictionary/text.properties.d.ts +3 -3
- package/lib/businessobject/build-images-and-documentation-result.d.ts +5 -5
- package/lib/businessobject/co-document-right.bo.d.ts +6 -6
- package/lib/businessobject/drag-drop-container-element.d.ts +6 -6
- package/lib/businessobject/drag-drop-container.d.ts +6 -6
- package/lib/components/access/read-write-access.scss +25 -25
- package/lib/components/access/style/_layout.scss +23 -23
- package/lib/components/access/style/_material-definition.scss +12 -12
- package/lib/components/access/style/_theme.scss +4 -4
- package/lib/components/access/style/material.scss +4 -4
- package/lib/components/activity-list/activity-list.component.d.ts +33 -33
- package/lib/components/activity-list/activity-list.module.d.ts +2 -2
- package/lib/components/activity-list/style/_layout.scss +68 -68
- package/lib/components/activity-list/style/_theme.scss +4 -4
- package/lib/components/activity-list/style/material.scss +4 -4
- package/lib/components/app-file-dropzone/app-file-dropzone.component.d.ts +14 -14
- package/lib/components/app-file-dropzone/app-file-dropzone.module.d.ts +2 -2
- package/lib/components/app-file-dropzone/style/_layout.scss +61 -61
- package/lib/components/app-file-dropzone/style/_theme.scss +4 -4
- package/lib/components/app-file-dropzone/style/material.scss +4 -4
- package/lib/components/date-planning/component/agenda/agenda-base-view.component.d.ts +21 -21
- package/lib/components/date-planning/component/agenda/agenda-day-view.component.d.ts +7 -7
- package/lib/components/date-planning/component/agenda/agenda-event.component.d.ts +18 -18
- package/lib/components/date-planning/component/agenda/agenda-events.component.d.ts +13 -13
- package/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.d.ts +18 -18
- package/lib/components/date-planning/component/agenda/agenda-header.component.d.ts +48 -48
- package/lib/components/date-planning/component/agenda/agenda-hour-cell.component.d.ts +9 -9
- package/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.d.ts +8 -8
- package/lib/components/date-planning/component/agenda/agenda-hour-view.component.d.ts +7 -7
- package/lib/components/date-planning/component/agenda/agenda-month-view.component.d.ts +10 -10
- package/lib/components/date-planning/component/agenda/agenda-select-event.component.d.ts +12 -12
- package/lib/components/date-planning/component/agenda/agenda-view.component.d.ts +12 -12
- package/lib/components/date-planning/component/agenda/agenda-week-select-view.component.d.ts +10 -10
- package/lib/components/date-planning/component/agenda/agenda-week-view.component.d.ts +9 -9
- package/lib/components/date-planning/component/agenda/style/_layout.scss +443 -443
- package/lib/components/date-planning/component/agenda/style/_material-definition.scss +12 -12
- package/lib/components/date-planning/component/agenda/style/_theme.scss +7 -7
- package/lib/components/date-planning/component/agenda/style/material.scss +5 -5
- package/lib/components/date-planning/component/agenda/view-select.component.d.ts +11 -11
- package/lib/components/date-planning/component/calendar/calendar-all-months.component.d.ts +9 -9
- package/lib/components/date-planning/component/calendar/calendar-all-years.component.d.ts +9 -9
- package/lib/components/date-planning/component/calendar/calendar-header.component.d.ts +23 -23
- package/lib/components/date-planning/component/calendar/calendar-view.component.d.ts +31 -31
- package/lib/components/date-planning/component/calendar/calendar.component.d.ts +10 -10
- package/lib/components/date-planning/component/calendar/style/_layout.scss +167 -167
- package/lib/components/date-planning/component/calendar/style/_material-definition.scss +7 -7
- package/lib/components/date-planning/component/calendar/style/_theme.scss +7 -7
- package/lib/components/date-planning/component/calendar/style/material.scss +5 -5
- package/lib/components/date-planning/date-planning.component.d.ts +28 -28
- package/lib/components/date-planning/date-planning.module.d.ts +2 -2
- package/lib/components/date-planning/style/_layout.scss +45 -45
- package/lib/components/date-planning/style/_theme.scss +5 -5
- package/lib/components/date-planning/style/material.scss +7 -7
- package/lib/components/docsign/component/signature/signature.component.d.ts +16 -16
- package/lib/components/docsign/component/signature/style/_layout.scss +40 -40
- package/lib/components/docsign/component/signature/style/_material-definition.scss +11 -11
- package/lib/components/docsign/component/signature/style/_theme.scss +13 -13
- package/lib/components/docsign/component/signature/style/material.scss +4 -4
- package/lib/components/docsign/component/signatures/signatures.component.d.ts +12 -12
- package/lib/components/docsign/component/signatures/style/_layout.scss +13 -13
- package/lib/components/docsign/component/signatures/style/_material-definition.scss +1 -1
- package/lib/components/docsign/component/signatures/style/_theme.scss +4 -4
- package/lib/components/docsign/component/signatures/style/material.scss +5 -5
- package/lib/components/docsign/docsign.component.d.ts +94 -94
- package/lib/components/docsign/docsign.module.d.ts +2 -2
- package/lib/components/docsign/style/_layout.scss +40 -40
- package/lib/components/docsign/style/_material-definition.scss +12 -12
- package/lib/components/docsign/style/_theme.scss +12 -12
- package/lib/components/docsign/style/material.scss +15 -15
- package/lib/components/file-upload/file-upload.component.d.ts +42 -42
- package/lib/components/file-upload/file-upload.module.d.ts +2 -2
- package/lib/components/file-upload/style/_layout.scss +59 -59
- package/lib/components/file-upload/style/_material-definition.scss +2 -2
- package/lib/components/file-upload/style/_theme.scss +4 -4
- package/lib/components/file-upload/style/material.scss +4 -4
- package/lib/components/file-upload-popup/file-upload-popup.component.d.ts +75 -75
- package/lib/components/file-upload-popup/file-upload-popup.module.d.ts +2 -2
- package/lib/components/file-upload-popup/style/_layout.scss +48 -48
- package/lib/components/file-upload-popup/style/_material-definition.scss +2 -2
- package/lib/components/file-upload-popup/style/_theme.scss +5 -5
- package/lib/components/file-upload-popup/style/material.scss +4 -4
- package/lib/components/files-upload/components/base-file-upload.component.d.ts +98 -98
- package/lib/components/files-upload/components/drag-drop-container.component.d.ts +34 -34
- package/lib/components/files-upload/files-upload.component.d.ts +32 -32
- package/lib/components/files-upload/files-upload.module.d.ts +2 -2
- package/lib/components/files-upload/style/_layout.scss +49 -49
- package/lib/components/files-upload/style/_theme.scss +5 -5
- package/lib/components/files-upload/style/material.scss +4 -4
- package/lib/components/image-display/image-display.component.d.ts +14 -14
- package/lib/components/image-display/image-display.module.d.ts +2 -2
- package/lib/components/image-display/style/_layout.scss +56 -56
- package/lib/components/image-display/style/_material-definition.scss +4 -4
- package/lib/components/image-display/style/_theme.scss +6 -6
- package/lib/components/image-display/style/material.scss +3 -3
- package/lib/components/key-pad/key-pad.component.d.ts +38 -38
- package/lib/components/key-pad/key-pad.module.d.ts +2 -2
- package/lib/components/key-pad/style/_layout.scss +160 -160
- package/lib/components/key-pad/style/_material-definition.scss +19 -19
- package/lib/components/key-pad/style/_theme.scss +35 -35
- package/lib/components/key-pad/style/material.scss +4 -4
- package/lib/components/layout-switcher/layout-switcher.component.d.ts +16 -16
- package/lib/components/layout-switcher/layout-switcher.module.d.ts +2 -2
- package/lib/components/layout-switcher/style/_layout.scss +94 -94
- package/lib/components/layout-switcher/style/_material-definition.scss +16 -16
- package/lib/components/layout-switcher/style/_theme.scss +4 -4
- package/lib/components/layout-switcher/style/material.scss +6 -6
- package/lib/components/linear-gauge/co-linear-gauge.component.d.ts +11 -11
- package/lib/components/linear-gauge/co-linear-gauge.module.d.ts +2 -2
- package/lib/components/linear-gauge/style/_layout.scss +20 -20
- package/lib/components/linear-gauge/style/_material-definition.scss +8 -8
- package/lib/components/linear-gauge/style/_theme.scss +4 -4
- package/lib/components/linear-gauge/style/material.scss +6 -6
- package/lib/components/login/style/_layout.scss +57 -57
- package/lib/components/login/style/_material-definition.scss +23 -23
- package/lib/components/login/style/_theme.scss +7 -7
- package/lib/components/login/style/material.scss +4 -4
- package/lib/components/multi-property-toggler/multiple-property-toggler.component.d.ts +27 -27
- package/lib/components/multi-property-toggler/multiple-property-toggler.module.d.ts +2 -2
- package/lib/components/multi-property-toggler/style/_layout.scss +24 -24
- package/lib/components/multi-property-toggler/style/_theme.scss +4 -4
- package/lib/components/multi-property-toggler/style/material.scss +4 -4
- package/lib/components/screen-config-generator/style/_layout.scss +95 -95
- package/lib/components/screen-config-generator/style/_theme.scss +4 -4
- package/lib/components/screen-config-generator/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.d.ts +19 -19
- package/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/layout-selection/style/_layout.scss +44 -44
- package/lib/components/send-method-dialog/components/layout-selection/style/_material-definition.scss +19 -19
- package/lib/components/send-method-dialog/components/layout-selection/style/_theme.scss +17 -17
- package/lib/components/send-method-dialog/components/layout-selection/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.d.ts +19 -19
- package/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/printer-selection/style/_layout.scss +69 -69
- package/lib/components/send-method-dialog/components/printer-selection/style/_material-definition.scss +37 -37
- package/lib/components/send-method-dialog/components/printer-selection/style/_theme.scss +23 -23
- package/lib/components/send-method-dialog/components/printer-selection/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.d.ts +14 -14
- package/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/send-method-email/style/_layout.scss +29 -29
- package/lib/components/send-method-dialog/components/send-method-email/style/_material-definition.scss +8 -8
- package/lib/components/send-method-dialog/components/send-method-email/style/_theme.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-email/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.d.ts +8 -8
- package/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/send-method-pdf/style/_layout.scss +25 -25
- package/lib/components/send-method-dialog/components/send-method-pdf/style/_material-definition.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-pdf/style/_theme.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-pdf/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.d.ts +13 -13
- package/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/send-method-printer/style/_layout.scss +30 -30
- package/lib/components/send-method-dialog/components/send-method-printer/style/_material-definition.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-printer/style/_theme.scss +5 -5
- package/lib/components/send-method-dialog/components/send-method-printer/style/material.scss +4 -4
- package/lib/components/send-method-dialog/components/signature-button/signature-button.component.d.ts +12 -12
- package/lib/components/send-method-dialog/components/signature-button/signature-button.module.d.ts +2 -2
- package/lib/components/send-method-dialog/components/signature-button/style/_layout.scss +28 -28
- package/lib/components/send-method-dialog/components/signature-button/style/_material-definition.scss +8 -8
- package/lib/components/send-method-dialog/components/signature-button/style/_theme.scss +4 -4
- package/lib/components/send-method-dialog/components/signature-button/style/material.scss +4 -4
- package/lib/components/send-method-dialog/model/email-address-viewmodel.d.ts +5 -5
- package/lib/components/send-method-dialog/send-method-dialog.component.d.ts +71 -71
- package/lib/components/send-method-dialog/send-method-dialog.module.d.ts +2 -2
- package/lib/components/send-method-dialog/send-method-params.interface.d.ts +13 -13
- package/lib/components/send-method-dialog/service/send-method.service.d.ts +23 -23
- package/lib/components/send-method-dialog/style/_layout.scss +165 -165
- package/lib/components/send-method-dialog/style/_material-definition.scss +48 -48
- package/lib/components/send-method-dialog/style/_theme.scss +33 -33
- package/lib/components/send-method-dialog/style/material.scss +10 -10
- package/lib/components/simple-tags/simple-tags.component.d.ts +31 -31
- package/lib/components/simple-tags/simple-tags.module.d.ts +2 -2
- package/lib/components/simple-tags/style/_layout.scss +272 -272
- package/lib/components/simple-tags/style/_material-definition.scss +39 -39
- package/lib/components/simple-tags/style/_theme.scss +4 -4
- package/lib/components/simple-tags/style/material.scss +4 -4
- package/lib/components/statusbar/statusbar-popup.component.d.ts +21 -21
- package/lib/components/statusbar/statusbar.component.d.ts +26 -26
- package/lib/components/statusbar/statusbar.module.d.ts +2 -2
- package/lib/components/statusbar/style/_layout.scss +70 -70
- package/lib/components/statusbar/style/_material-definition.scss +23 -23
- package/lib/components/statusbar/style/_theme.scss +13 -13
- package/lib/components/statusbar/style/material.scss +5 -5
- package/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.d.ts +9 -9
- package/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.d.ts +9 -9
- package/lib/components/stock/components/order-stock-history/order-stock-history.component.d.ts +9 -9
- package/lib/components/stock/components/order-stock-tab/order-stock-tab.component.d.ts +11 -11
- package/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.d.ts +9 -9
- package/lib/components/stock/components/order-tab/order-tab.component.d.ts +20 -20
- package/lib/components/stock/components/stock-history/stock-history.component.d.ts +13 -13
- package/lib/components/stock/components/stock-location/stock-location.component.d.ts +50 -50
- package/lib/components/stock/components/stock-prognose/stock-prognose.component.d.ts +11 -11
- package/lib/components/stock/components/stock-tab/stock-tab.component.d.ts +7 -9
- package/lib/components/stock/localization/translation.d.ts +60 -60
- package/lib/components/stock/stock-history-tabs/stock-history-tabs.component.d.ts +7 -7
- package/lib/components/stock/stock-information/stock-information.component.d.ts +9 -8
- package/lib/components/stock/stock-information-grid/stock-information-grid.component.d.ts +75 -75
- package/lib/components/stock/stock-tabs/stock-tabs.component.d.ts +56 -56
- package/lib/components/stock/stock-transfer/co-drop-down-list-fields.interface.d.ts +4 -4
- package/lib/components/stock/stock-transfer/stock-change-amount.component.d.ts +18 -18
- package/lib/components/stock/stock-transfer/stock-transfer.component.d.ts +42 -42
- package/lib/components/stock/stock.component.d.ts +58 -57
- package/lib/components/stock/stock.module.d.ts +2 -2
- package/lib/components/stock/style/_layout.scss +286 -286
- package/lib/components/stock/style/_material-definition.scss +25 -25
- package/lib/components/stock/style/_theme.scss +5 -5
- package/lib/components/stock/style/material.scss +4 -4
- package/lib/components/stock-statusbar/stock-statusbar.component.d.ts +4 -4
- package/lib/components/stock-statusbar/stock-statusbar.module.d.ts +2 -2
- package/lib/components/stock-statusbar/style/_layout.scss +24 -24
- package/lib/components/stock-statusbar/style/material.scss +4 -4
- package/lib/components/tab-bar/style/_layout.scss +78 -78
- package/lib/components/tab-bar/style/_material-definition.scss +6 -6
- package/lib/components/tab-bar/style/material.scss +4 -4
- package/lib/components/tab-bar/tab-bar.component.d.ts +21 -21
- package/lib/components/tab-bar/tab-bar.module.d.ts +2 -2
- package/lib/components/tab-bar/tab.interface.d.ts +5 -5
- package/lib/components/tags/component/style/_layout.scss +67 -67
- package/lib/components/tags/component/style/_material-definition.scss +1 -1
- package/lib/components/tags/component/style/_theme.scss +8 -8
- package/lib/components/tags/component/style/material.scss +3 -3
- package/lib/components/tags/component/tag-join-label/style/_layout.scss +97 -97
- package/lib/components/tags/component/tag-join-label/style/_material-definition.scss +4 -4
- package/lib/components/tags/component/tag-join-label/style/_theme.scss +8 -8
- package/lib/components/tags/component/tag-join-label/style/material.scss +3 -3
- package/lib/components/tile-renderer/style/_layout.scss +90 -90
- package/lib/components/tile-renderer/style/_theme.scss +4 -4
- package/lib/components/tile-renderer/style/material.scss +4 -4
- package/lib/components/tile-renderer/tile-render.component.d.ts +31 -31
- package/lib/components/tile-renderer/tile-render.module.d.ts +2 -2
- package/lib/decorator/input-boolean.decorator.d.ts +8 -8
- package/lib/enum/calendar-view.enum.d.ts +7 -7
- package/lib/enum/document-email-report.enum.d.ts +15 -15
- package/lib/enum/domain-multiple-name.enum.d.ts +10 -10
- package/lib/enum/file-type.d.ts +7 -7
- package/lib/enum/files-upload-config-objects.d.ts +22 -22
- package/lib/enum/gauge-color.enum.d.ts +8 -8
- package/lib/enum/icon.enum.d.ts +42 -42
- package/lib/enum/internal-param.enum.d.ts +34 -34
- package/lib/enum/keyboard-code.enum.d.ts +30 -30
- package/lib/enum/language-code.enum.d.ts +6 -6
- package/lib/enum/month.enum.d.ts +14 -14
- package/lib/enum/read-write-access-config-names.enum.d.ts +4 -4
- package/lib/enum/table-name.enum.d.ts +84 -84
- package/lib/enum/tag-category.enum.d.ts +19 -19
- package/lib/enum/tags-component-config-names.d.ts +4 -4
- package/lib/enum/thumb-three-way-state.d.ts +6 -6
- package/lib/enum/tile-size-type.d.ts +4 -4
- package/lib/enum/time-period.enum.d.ts +8 -8
- package/lib/event/co-drag-event.d.ts +5 -5
- package/lib/event/co-drop-event.d.ts +8 -8
- package/lib/interface/key-value-pair.d.ts +4 -4
- package/lib/interface/operation-callback-simple-function.d.ts +4 -4
- package/lib/localization/localization.module.d.ts +2 -2
- package/lib/localization/localize.pipe.d.ts +7 -7
- package/lib/localization/localize.service.d.ts +7 -7
- package/lib/localization/translation.d.ts +2 -2
- package/lib/model/agenda-event-per-day.model.d.ts +5 -5
- package/lib/model/agenda-event.model.d.ts +17 -17
- package/lib/model/agenda-null-objects.d.ts +10 -10
- package/lib/model/constant/all-months.d.ts +2 -2
- package/lib/model/date-range.d.ts +7 -7
- package/lib/model/day.model.d.ts +8 -8
- package/lib/model/icon-svg.d.ts +4 -4
- package/lib/model/month.model.d.ts +5 -5
- package/lib/model/send-method.d.ts +7 -7
- package/lib/model/settings.d.ts +3 -3
- package/lib/model/tag-tree-item.bo.d.ts +18 -18
- package/lib/model/time-window.bo.d.ts +13 -13
- package/lib/model/tree-object.d.ts +8 -8
- package/lib/model/week.model.d.ts +4 -4
- package/lib/model/weekday.model.d.ts +16 -16
- package/lib/pipe/array-number.pipe.d.ts +4 -4
- package/lib/pipe/file-type-image.pipe.d.ts +12 -12
- package/lib/pipe/master-pipes.d.ts +1 -1
- package/lib/pipe/ucfirst.pipe.d.ts +4 -4
- package/lib/service/dictionary.service.d.ts +21 -21
- package/lib/service/drag-drop.service.d.ts +86 -86
- package/lib/service/icon-cache.service.d.ts +18 -18
- package/lib/service/options.service.d.ts +13 -13
- package/lib/service/shared-connector.service.d.ts +55 -55
- package/lib/service/shared.service.d.ts +18 -18
- package/lib/service/stock.service.d.ts +41 -41
- package/lib/style/_mixin.scss +14 -14
- package/lib/style/_variables.scss +21 -21
- package/lib/style/sharedcomponents-globals.scss +10 -10
- package/lib/utils/array-utils.d.ts +63 -63
- package/lib/utils/calendar.utils.d.ts +10 -10
- package/lib/utils/check-precision-and-scale-result.d.ts +4 -4
- package/lib/utils/check-within-stepped-bounds-result.d.ts +8 -8
- package/lib/utils/co-document-shared-field-logic.d.ts +7 -7
- package/lib/utils/date-utils.d.ts +44 -44
- package/lib/utils/enum-utils.d.ts +31 -31
- package/lib/utils/function/not-nill.function.d.ts +1 -1
- package/lib/utils/is-nill.function.d.ts +1 -1
- package/lib/utils/map-utils.d.ts +16 -16
- package/lib/utils/number-utils.d.ts +125 -125
- package/lib/utils/object-utils.d.ts +40 -40
- package/lib/utils/ref-code-utils.d.ts +10 -10
- package/lib/utils/string-utils.d.ts +38 -38
- package/package.json +1 -1
- package/public-api.d.ts +27 -27
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"colijnit-sharedcomponents.umd.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/lib/enum/language-code.enum.ts","../../../projects/sharedcomponents/src/lib/utils/string-utils.ts","../../../projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts","../../../projects/sharedcomponents/src/lib/service/dictionary.service.ts","../../../projects/sharedcomponents/src/lib/model/settings.ts","../../../projects/sharedcomponents/src/lib/service/options.service.ts","../../../projects/sharedcomponents/src/lib/service/shared-connector.service.ts","../../../projects/sharedcomponents/src/lib/service/stock.service.ts","../../../projects/sharedcomponents/src/lib/localization/translation.ts","../../../projects/sharedcomponents/src/lib/localization/localize.service.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts","../../../projects/sharedcomponents/src/lib/model/icon-svg.ts","../../../projects/sharedcomponents/src/lib/service/icon-cache.service.ts","../../../projects/sharedcomponents/src/lib/enum/icon.enum.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts","../../../projects/sharedcomponents/src/lib/service/shared.service.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts","../../../projects/sharedcomponents/src/lib/model/send-method.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-tab/stock-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-tab/order-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-tabs/stock-tabs.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-history-tabs/stock-history-tabs.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-stock-tab/order-stock-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-location/stock-location.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-history/stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.component.ts","../../../projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-stock-history/order-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar-popup.component.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.component.ts","../../../projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-prognose/stock-prognose.component.ts","../../../projects/sharedcomponents/src/lib/localization/localize.pipe.ts","../../../projects/sharedcomponents/src/lib/localization/localization.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/localization/translation.ts","../../../projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts","../../../projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts","../../../projects/sharedcomponents/src/lib/enum/month.enum.ts","../../../projects/sharedcomponents/src/lib/model/constant/all-months.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts","../../../projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts","../../../projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts","../../../projects/sharedcomponents/src/lib/model/date-range.ts","../../../projects/sharedcomponents/src/lib/utils/date-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts","../../../projects/sharedcomponents/src/lib/model/weekday.model.ts","../../../projects/sharedcomponents/src/lib/model/week.model.ts","../../../projects/sharedcomponents/src/lib/utils/calendar.utils.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts","../../../projects/sharedcomponents/src/lib/model/month.model.ts","../../../projects/sharedcomponents/src/lib/model/day.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-null-objects.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts","../../../projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts","../../../projects/sharedcomponents/src/lib/pipe/file-type-image.pipe.ts","../../../projects/sharedcomponents/src/lib/pipe/master-pipes.ts","../../../projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts","../../../projects/sharedcomponents/src/lib/utils/map-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts","../../../projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.component.ts","../../../projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.module.ts","../../../projects/sharedcomponents/src/lib/enum/table-name.enum.ts","../../../projects/sharedcomponents/src/lib/interface/operation-callback-simple-function.ts","../../../projects/sharedcomponents/src/lib/utils/is-nill.function.ts","../../../projects/sharedcomponents/src/lib/utils/object-utils.ts","../../../projects/sharedcomponents/src/lib/utils/number-utils.ts","../../../projects/sharedcomponents/src/lib/utils/array-utils.ts","../../../projects/sharedcomponents/src/lib/utils/ref-code-utils.ts","../../../projects/sharedcomponents/src/lib/enum/file-type.ts","../../../projects/sharedcomponents/src/lib/utils/co-document-shared-field-logic.ts","../../../projects/sharedcomponents/src/lib/decorator/input-boolean.decorator.ts","../../../projects/sharedcomponents/src/lib/components/app-file-dropzone/app-file-dropzone.component.ts","../../../projects/sharedcomponents/src/lib/enum/document-email-report.enum.ts","../../../projects/sharedcomponents/src/lib/enum/domain-multiple-name.enum.ts","../../../projects/sharedcomponents/src/lib/components/file-upload-popup/file-upload-popup.component.ts","../../../projects/sharedcomponents/src/lib/components/files-upload/components/base-file-upload.component.ts","../../../projects/sharedcomponents/src/lib/components/files-upload/files-upload.component.ts","../../../projects/sharedcomponents/src/lib/businessobject/drag-drop-container.ts","../../../projects/sharedcomponents/src/lib/service/drag-drop.service.ts","../../../projects/sharedcomponents/src/lib/components/files-upload/components/drag-drop-container.component.ts","../../../projects/sharedcomponents/src/lib/components/image-display/image-display.component.ts","../../../projects/sharedcomponents/src/lib/components/image-display/image-display.module.ts","../../../projects/sharedcomponents/src/lib/components/file-upload/file-upload.component.ts","../../../projects/sharedcomponents/src/lib/enum/tile-size-type.ts","../../../projects/sharedcomponents/src/lib/components/tile-renderer/tile-render.component.ts","../../../projects/sharedcomponents/src/lib/components/tile-renderer/tile-render.module.ts","../../../projects/sharedcomponents/src/lib/components/file-upload/file-upload.module.ts","../../../projects/sharedcomponents/src/lib/utils/enum-utils.ts","../../../projects/sharedcomponents/src/lib/components/multi-property-toggler/multiple-property-toggler.component.ts","../../../projects/sharedcomponents/src/lib/components/multi-property-toggler/multiple-property-toggler.module.ts","../../../projects/sharedcomponents/src/lib/components/file-upload-popup/file-upload-popup.module.ts","../../../projects/sharedcomponents/src/lib/components/app-file-dropzone/app-file-dropzone.module.ts","../../../projects/sharedcomponents/src/lib/components/files-upload/files-upload.module.ts","../../../projects/sharedcomponents/src/lib/components/activity-list/activity-list.component.ts","../../../projects/sharedcomponents/src/lib/components/activity-list/activity-list.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {PDFDocument} from \"pdf-lib\";\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\n\nexport interface TextDimension {\n x: number,\n y: number,\n width: number,\n height: number,\n page: number\n}\n\n@Component({\n selector: \"co-docsign\",\n template: `\n <iframe #iframe></iframe>\n <co-signatures *ngIf=\"showSignatures\" @showHideSignature\n [showFirstSignature]=\"showSigBuyer\"\n [firstSignatureTitle]=\"firstSignatureLabel\"\n [showSecondSignature]=\"showSigSeller\"\n [secondSignatureTitle]=\"secondSignatureLabel\"\n [saveButtonLabel]=\"saveButtonLabel\"\n [clearButtonLabel]=\"clearButtonLabel\"\n (saveFirstSignature)=\"saveFirstSignature($event)\"\n (saveSecondSignature)=\"saveSecondSignature($event)\"\n ></co-signatures>\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\n [value]=\"signDocumentButtonLabel\"\n (click)=\"showSignatures = true\"\n />\n <input type=\"button\" class=\"button button-cancel\"\n [value]=\"cancelButtonLabel\"\n (click)=\"cancelClick.emit($event)\"\n />\n `,\n animations: [\n trigger(\"showHideSignature\", [\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class DocsignComponent {\n @ViewChild(\"iframe\", { read: ElementRef })\n public iframe: ElementRef;\n\n /**\n * Load an existing [[PDFDocument]]. The input data can be provided in\n * multiple formats:\n *\n * | Type | Contents |\n * | ------------- | ------------------------------------------------------ |\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\n * | `Uint8Array` | The raw bytes of a PDF |\n * | `ArrayBuffer` | The raw bytes of a PDF |\n *\n * For example:\n * ```js\n * import { PDFDocument } from 'pdf-lib'\n *\n * // pdf=string\n * const base64 =\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\n * 'FydHhyZWYKNTEwCiUlRU9G'\n *\n * const dataUri = 'data:application/pdf;base64,' + base64\n *\n * const pdfDoc1 = await PDFDocument.load(base64)\n * const pdfDoc2 = await PDFDocument.load(dataUri)\n *\n * // pdf=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\n *\n * // pdf=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\n *\n * ```\n *\n * @param pdf The input data containing a PDF document.\n * @param options The options to be used when loading the document.\n * @returns Resolves with a document loaded from the input.\n */\n @Input()\n public set pdf(value: any) {\n if (value) {\n this._handlePdfData(value);\n this._openPDF();\n }\n }\n\n public get pdf(): any {\n return this._pdf;\n }\n\n @Input()\n public firstSignatureLabel: string;\n\n @Input()\n public firstSignatureField: string;\n\n @Input()\n public secondSignatureLabel: string;\n\n @Input()\n public secondSignatureField: string;\n\n @Input()\n public saveButtonLabel: string = 'SAVE';\n\n @Input()\n public clearButtonLabel: string = 'CLEAR';\n\n @Input()\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\n\n @Input()\n public cancelButtonLabel: string = 'CANCEL';\n\n @Output()\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostBinding('class.co-docsign')\n public showClass() {\n return true;\n }\n\n public showSignaturePopup: boolean = false;\n public showSigBuyer: boolean = false;\n public sigBuyerPosition: TextDimension;\n public showSigSeller: boolean = false;\n public sigSellerPosition: TextDimension;\n public showSignatures: boolean = false;\n\n public pdfDoc: PDFDocument;\n\n private _pdf: any;\n\n public saveFirstSignature(sig: string): void {\n this._saveSignature(sig, this.sigBuyerPosition);\n this.showSigBuyer = false;\n this._savePdf();\n }\n\n public saveSecondSignature(sig: string): void {\n this._saveSignature(sig, this.sigSellerPosition);\n this.showSigSeller = false;\n this._savePdf();\n }\n\n private async _openPDF(): Promise<void> {\n // first create reader to check signatures\n this._checkSignatures();\n\n this.pdfDoc = await PDFDocument.load(this._pdf, {\n updateMetadata: false\n });\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\n this.iframe.nativeElement.src = pdfDataUri;\n }\n\n private async _savePdf(): Promise<void> {\n if (!this.showSigBuyer && !this.showSigSeller) {\n // ready, save the pdf and emit result\n const result = await this.pdfDoc.saveAsBase64();\n this.pdfSaved.next(result);\n }\n }\n\n private async _checkSignatures(): Promise<void> {\n let pdfWorkerSrc;\n if (window.hasOwnProperty('pdfWorkerSrc') &&\n typeof (window as any).pdfWorkerSrc === 'string' &&\n (window as any).pdfWorkerSrc) {\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\n }\n else {\n pdfWorkerSrc = pdfjsWorker;\n }\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\n const numPages = pdfReader.numPages;\n for (let i = 0; i < numPages; i++) {\n const page = await pdfReader.getPage(i + 1);\n const text = await page.getTextContent();\n page.cleanup();\n if (this.firstSignatureField) {\n this.sigBuyerPosition = this._getPositionSignature(text, this.firstSignatureField);\n if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {\n this.sigBuyerPosition.page = i;\n this.showSigBuyer = true;\n }\n }\n if (this.secondSignatureField) {\n this.sigSellerPosition = this._getPositionSignature(text, this.secondSignatureField);\n if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {\n this.sigSellerPosition.page = i;\n this.showSigSeller = true;\n }\n }\n }\n }\n\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\n if (sigItem) {\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\n return {\n x: sigItem.transform[4],\n y: sigItem.transform[5],\n width: sigItem.width,\n height: sigItem.height,\n page: 0\n };\n }\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\n }\n\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\n const jpgImage = await this.pdfDoc.embedPng(sig);\n const page = await this.pdfDoc.getPage(dimensions.page);\n page.drawImage(jpgImage, {\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\n width: 200,\n height: 100\n });\n }\n\n private _handlePdfData(pdfData: any) {\n if (typeof pdfData === 'string') {\n this._preparePDF(pdfData);\n } else {\n this._pdf = pdfData;\n }\n }\n\n private _preparePDF(base64: string): void {\n var binary_string = window.atob(base64);\n var len = binary_string.length;\n var bytes = new Uint8Array(len);\n for (var i = 0; i < len; i++) {\n bytes[i] = binary_string.charCodeAt(i);\n }\n this._pdf = bytes;\n }\n}\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport SignaturePad from \"signature_pad\";\n\n@Component({\n selector: \"co-signature\",\n template: `\n <div class=\"signature-wrapper\">\n <div class=\"signature-header\">\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\n <div class=\"button-wrapper\">\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\n </div>\n </div>\n <div class=\"canvas\">\n <canvas #signature></canvas>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class SignatureComponent {\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\n if (content) {\n this.signatureCanvas = content;\n this._initCanvas();\n }\n }\n\n @Input()\n public title: string;\n\n @Input()\n public saveButtonLabel: string = 'SAVE';\n\n @Input()\n public clearButtonLabel: string = 'CLEAR';\n\n @Output()\n public save: EventEmitter<string> = new EventEmitter<string>();\n\n @HostBinding(\"class.co-signature\")\n public showClass() {\n return true;\n }\n\n public signature: SignaturePad;\n public signatureCanvas: ElementRef;\n\n public handleSave(event: MouseEvent): void {\n // save canvas as svg\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\n const sig: string = this.signature.toDataURL(\"image/png\");\n // emit signature string\n this.save.next(sig);\n }\n\n public handleClear(event: MouseEvent): void {\n if (this.signature) {\n this.signature.clear();\n }\n }\n\n private _initCanvas(): void {\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\n setTimeout(() => {\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\n });\n }\n }\n\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\n const imageBeforeResize: string = signature.toDataURL();\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\n signature.fromDataURL(imageBeforeResize);\n }\n\n}\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"co-signatures\",\n template: `\n <co-signature *ngIf=\"showFirstSignature\"\n [title]=\"firstSignatureTitle\"\n [saveButtonLabel]=\"saveButtonLabel\"\n [clearButtonLabel]=\"clearButtonLabel\"\n (save)=\"saveFirstSignature.emit($event)\"></co-signature>\n <co-signature *ngIf=\"showSecondSignature\"\n [title]=\"secondSignatureTitle\"\n [saveButtonLabel]=\"saveButtonLabel\"\n [clearButtonLabel]=\"clearButtonLabel\"\n (save)=\"saveSecondSignature.emit($event)\"></co-signature>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class SignaturesComponent {\n\n @Input()\n public showFirstSignature: boolean = false;\n\n @Input()\n public firstSignatureTitle: string;\n\n @Input()\n public showSecondSignature: boolean = false;\n\n @Input()\n public secondSignatureTitle: string;\n\n @Input()\n public saveButtonLabel: string = 'SAVE';\n\n @Input()\n public clearButtonLabel: string = 'CLEAR';\n\n @Output()\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\n\n @HostBinding(\"class.co-signatures\")\n public showClass() {\n return true;\n }\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {DocsignComponent} from \"./docsign.component\";\nimport {SignatureComponent} from \"./component/signature/signature.component\";\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n DocsignComponent,\n SignatureComponent,\n SignaturesComponent\n ],\n exports: [\n DocsignComponent\n ]\n})\nexport class DocsignModule {\n\n}\n","export enum LanguageCode {\n Dutch = \"nl-NL\",\n English = \"en-GB\",\n German = \"de-DE\",\n French = \"fr-FR\",\n}\n","// Static utility functions holder related to strings.\nexport class StringUtils {\n\n /**\n * Returns a new string where given placeholder in given source string are replaced by given replacement texts.\n *\n * Example usage:\n *\n * source = \"ABCDABCD\"\n * placeholder = \"BC\"\n * replacementTexts = \"Z\", \"Z\" (REST arguments)\n * OUTPUT = \"AZDAZD\"\n *\n * @param {string} source\n * @param {string} placeholder\n * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.\n * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.\n */\n public static ReplaceOccurrencesIn(source: string, placeholder: string, ...replacementTexts: string[]): string {\n // parameter guards\n if (!(source)) {\n return undefined;\n }\n if (!placeholder || replacementTexts.length === 0) {\n return source;\n }\n let outString: string = source;\n // one replacementText means replace for all\n if (replacementTexts.length === 1) {\n // \"g\" is the g flag to replace globally\n outString = outString.replace(placeholder, replacementTexts[0]);\n } else {\n // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)\n for (let i: number = 0, len: number = replacementTexts.length; i < len; i++) {\n outString = outString.replace(placeholder, replacementTexts[i]);\n }\n }\n return outString;\n }\n\n // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.\n public static ParseString(arg: any, defaultValue: string = \"\"): string {\n if (!StringUtils.IsString(arg)) {\n if (arg && typeof arg.toString === \"function\") {\n arg = arg.toString();\n } else {\n arg = defaultValue;\n }\n }\n return arg;\n }\n\n public static IsString(str: any): boolean {\n return typeof str === 'string';\n }\n\n // Returns whether given str is a string and has a length > 0.\n public static IsStringWithLength(str: string): boolean {\n return str && StringUtils.IsString(str) && str.length > 0;\n }\n\n /**\n * Example usage:\n * str = 'File is to large to upload. Maximum file size is {0} Mb'\n * format = [FileUtils.MaxUploadSizeInMb]\n * output = File is to large to upload. Maximum file size is 3 Mb\n *\n * str = '{0} is way better than {1}'\n * format = ['Angular2','Angular1']\n * output = Angular2 is way better than Angular1\n *\n * @param str The string that contains {0} and {1} etc, for replacement by given format data\n * @param format The format replacement data\n * @returns {string}\n */\n public static Format(str: string, format: any[]): string {\n const args: any = Array.prototype.slice.call(format);\n return str.replace(/{(\\d+)}/g, function (match: any, number: any): string {\n return typeof args[number] !== \"undefined\" ? (args[number] !== null ? args[number] : \"\") : \"\";\n });\n }\n\n // Returns a new string string with N amount of characters removed from the end of it.\n public static RemoveLastChars(str: string, amount: number): string {\n if (str) {\n return str.slice(0, -1 * amount);\n } else {\n return str;\n }\n }\n\n // Returns given string, escaped for use as string literal in regular expressions.\n private static _escapeRegExp(str: string): string {\n return str;// .replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^$\\|]/g, \"\\\\$&\");\n }\n\n}\n","export class Dictionary {\n public strings: {} = {\n \"nl\": {},\n \"de\": {},\n \"fr\": {},\n \"en\": {},\n };\n}\n","import {Injectable} from \"@angular/core\";\nimport {LanguageCode} from \"../enum/language-code.enum\";\nimport {StringUtils} from \"../utils/string-utils\";\nimport {Dictionary} from \"../assets/dictionary/text.properties\";\n\n// The localization service, providing peers with text translation functionality.\n@Injectable({\n providedIn: \"root\"\n})\nexport class DictionaryService {\n private readonly dictionaryUrl: string = \"js/browser/res/dictionary/\";\n\n public get language(): string {\n return this._language;\n }\n\n public set rootUrl(value: string) {\n this._rootUrl = value;\n this._dictBasePath = this._rootUrl + \"/\" + this.dictionaryUrl;\n }\n\n // public dictionaryLoaded: Subject<void> = new Subject();\n\n private _dictBasePath: string;\n private _rootUrl: string;\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\n private _language: string;\n\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\n private readonly _placeholder: string = \"|~\";\n\n constructor(\n ) {\n }\n\n // Loads the dictionary for given language in memory.\n public async setDictionary(language: string): Promise<void> {\n this._language = language || LanguageCode.Dutch;\n this._loadDictionary();\n }\n\n private _loadDictionary() {\n if (!this._dictionaries.has(this._language)) {\n const dictionary: Dictionary = new Dictionary();\n // eslint-disable-next-line no-magic-numbers\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\n // eslint-disable-next-line no-magic-numbers\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\n }\n }\n }\n\n /**\n * Returns the localized text for the given dictionary key.\n * @param {string} key\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\n * @returns {string} The translated text for given dictionary key\n */\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\n if (!StringUtils.IsStringWithLength(key)) {\n return key || \"\";\n }\n\n if (this.language === undefined) {\n this._language = LanguageCode.Dutch;\n this._loadDictionary();\n }\n\n let text: string = this._dictionaries.get(this.language)[key];\n text = StringUtils.IsStringWithLength(text) ? text : key;\n\n if (upperCaseFirst) {\n text = text.charAt(0).toUpperCase() + text.slice(1);\n } else {\n text = text.charAt(0).toLowerCase() + text.slice(1);\n }\n\n if (replacementTexts.length > 0) {\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\n }\n\n return text;\n }\n}\n","import {Options} from '@colijnit/ioneconnector/build/model/options';\n\nexport class SharedSettings extends Options {\n\n}\n","import {Injectable} from \"@angular/core\";\nimport {BehaviorSubject} from \"rxjs\";\nimport {DictionaryService} from \"./dictionary.service\";\nimport {SharedSettings} from '../model/settings';\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class OptionsService {\n\n public optionsInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\n\n public set options(value: any) {\n this._options = value;\n }\n\n public get options(): any {\n return this._options;\n }\n\n public optionsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\n\n private _options: any;\n\n constructor(private _dictionary: DictionaryService) {\n }\n\n public async createSettingsFromObject(obj: any): Promise<void> {\n if (!this.options) {\n this.options = new SharedSettings();\n }\n this.options = Object.assign(this.options, obj);\n this.optionsLoaded.next(true);\n }\n\n public async initialize(options: any): Promise<void> {\n if (options) {\n await this.createSettingsFromObject(options);\n await this._dictionary.setDictionary(this.options.languageCode);\n this.optionsInitialized.next(true);\n }\n }\n}\n","import {Articles} from '@colijnit/articleapi/build/articles';\nimport {Sharedapi} from '@colijnit/sharedapi/build/sharedapi';\nimport {Injectable} from '@angular/core';\nimport {GetStockHistoryRequest} from '@colijnit/articleapi/build/model/get-stock-history-request';\nimport {ArticleStock as ArticleStockBo} from '@colijnit/articleapi/build/model/article-stock.bo';\nimport {ArticleStock} from '@colijnit/articleapi/build/model/article-stock';\nimport {StockHistoryBo} from '@colijnit/articleapi/build/model/stock-history.bo';\nimport {ArticleStockManagement} from '@colijnit/articleapi/build/model/article-stock-management';\nimport {ArticleDetailsBo} from '@colijnit/articleapi/build/model/article-details.bo';\nimport {StockStatus} from '@colijnit/articleapi/build/model/stock-status.bo';\nimport {StockManagementWarehouses} from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';\nimport {StockLocation} from '@colijnit/articleapi/build/model/stock-location.bo';\nimport {ArticleTransaction} from '@colijnit/articleapi/build/model/article-transaction';\nimport {ArticleTransaction as ArticleTransactionBo} from '@colijnit/articleapi/build/model/article-transaction.bo';\nimport {OptionsService} from './options.service';\nimport {MainApi} from '@colijnit/mainapi';\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\nimport {BusinessObjectFactory} from '@colijnit/ioneconnector/build/service/business-object-factory';\nimport {TagCategory} from \"@colijnit/mainapi/build/enum/tab-category.enum\";\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\nimport {ObjectConfiguration} from \"@colijnit/ioneconnector/build/model/object-configuration\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class SharedConnectorService {\n public articleConnector: Articles;\n public sharedConnector: Sharedapi;\n public mainConnector: MainApi;\n\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\n\n\n constructor(\n private _optionsService: OptionsService,\n ) {\n }\n\n public async connect(): Promise<void> {\n this.sharedConnector = new Sharedapi(this._optionsService.options);\n await this.sharedConnector.connect();\n this.articleConnector = new Articles(this._optionsService.options);\n this.mainConnector = new MainApi(this._optionsService.options);\n }\n\n public async getConfiguration(module: string, params: string[]): Promise<ObjectConfiguration[]> {\n const response: DataServiceResponseData = await this.mainConnector.getObjectConfigurations(module, params);\n if (response && response.success) {\n return this._boFactory.makeBOArrayFromRawBackendDataArray(ObjectConfiguration, response.resultObjects) as ObjectConfiguration[];\n }\n }\n\n public async getAllPrinters(): Promise<Printer[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.mainConnector.listAllPrinters().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Printer, result.resultObject));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getSendMethods(): Promise<SendMethod[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.mainConnector.getSendMethods().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject && result.resultObject.result) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(SendMethod, result.resultObject.result));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getScreenConfigTree(): Promise<any> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.sharedConnector.getConfigTreeObject('T', 'JS').then((result: any) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(result.resultObjects);\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getScreenConfigSubRubric(parentRubricId: number, configId: number, fixedKey: string): Promise<any> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.sharedConnector.getConfigSubRubric(parentRubricId, configId, fixedKey).then((result: any) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(result.resultObjects);\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getTagsFullTree(category: TagCategory, includeTags: boolean): Promise<TagTreeItem[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.mainConnector.getTagsFullTree(category, includeTags).then((result: any) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(TagTreeItem, result.resultObjects));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getDocumentContent(id: number, thumbnail: boolean = true): Promise<string> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.mainConnector.getDocumentContent(id, thumbnail).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n resolve(result.resultObject.documentContent);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n // public async getPrintStockStickers(request: PrintStockStickers): Promise<PrintStockStickers> {\n // return new Promise((resolve: Function, reject: Function) => {\n // return this.sharedConnector.getPrintStockStickers(request).then((result: DataServiceResponseData) => {\n // if (result.validationResult && result.validationResult.success) {\n // if (result.resultObject) {\n // resolve(this._boFactory.makeWithRawBackendData(PrintStockStickers, result.resultObject));\n // }\n // } else {\n // reject(result.validationMessagesAsString);\n // }\n // })\n // })\n // }\n\n // public async getPrintPriceStickers(request: PrintPriceStickers): Promise<PrintPriceStickers> {\n // return new Promise((resolve: Function, reject: Function) => {\n // return this.sharedConnector.printPriceStickers(request).then((result: DataServiceResponseData) => {\n // if (result.validationResult && result.validationResult.success) {\n // if (result.resultObject) {\n // resolve(this._boFactory.makeWithRawBackendData(PrintPriceStickers, result.resultObject));\n // }\n // } else {\n // reject(result.validationMessagesAsString);\n // }\n // })\n // })\n // }\n\n public async getStockHistory(request: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getStockHistory(request).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject && result.resultObject.hasOwnProperty(\"stockHistory\")) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockHistoryBo, result.resultObject.stockHistory));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n })\n })\n }\n\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getStockInformation(data).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleStockBo, result.resultObjects));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<number> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject) {\n resolve(result.resultObject);\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getArticleFlat(sku: string): Promise<ArticleFlat> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getArticleFlat(sku).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObject) {\n resolve(result.resultObject);\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async searchArticles(request: ArticleExtendedRequest): Promise<ArticleExtended[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.searchArticles(request, false).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getStockManagementWarehouses().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getStockManagementLocations(warehouseNo).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, result.resultObjects));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\n // return new Promise((resolve: Function, reject: Function) => {\n // return this.sharedConnector.getOrderConfirmationDefaultSendMethod(relationId).then((result: DataServiceResponseData) => {\n // if (result.validationResult && result.validationResult.success) {\n // if (result.resultObject) {\n // resolve (result.resultObject);\n // }\n // } else {\n // reject(result.validationMessagesAsString);\n // }\n // });\n // });\n // }\n\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\n // return new Promise((resolve: Function, reject: Function) => {\n // return this.sharedConnector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID).then((result: DataServiceResponseData) => {\n // if (result.validationResult && result.validationResult.success) {\n // if (result.resultObject) {\n // resolve (result.resultObject);\n // }\n // } else {\n // reject(result.validationMessagesAsString);\n // }\n // });\n // });\n // }\n\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\n // return new Promise((resolve: Function, reject: Function) => {\n // return this.sharedConnector.getPurchaseOrderEmailLayouts(transactionUUID).then((result: DataServiceResponseData) => {\n // if (result.validationResult && result.validationResult.success) {\n // if (result.resultObject) {\n // resolve (result.resultObject);\n // }\n // } else {\n // reject(result.validationMessagesAsString);\n // }\n // });\n // });\n // }\n\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getArticleDetails(data).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleDetailsBo, result.resultObjects));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.updateArticleDetails(data).then(async (result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n await this.commit();\n resolve(true);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.lockArticleDetails(data).then(async (result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n await this.commit();\n resolve(true);\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n\n public async getStockStatus(): Promise<StockStatus[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getStockState().then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStatus, result.resultObjects));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\n // return new Promise((resolve: Function, reject: Function) => {\n // return this.mainConnector.getStockStickerPrintLayouts(data).then((result: DataServiceResponseData) => {\n // if (result.validationResult && result.validationResult.success) {\n // if (result.resultObject) {\n // resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));\n // }\n // } else {\n // reject(result.validationMessagesAsString);\n // }\n // });\n // });\n // }\n\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getArticleTransaction(data).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleTransactionBo, result.resultObjects));\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public async getStockPrognose(goodId: number, warehouseNumber: number): Promise<StockForecast[]> {\n return new Promise((resolve: Function, reject: Function) => {\n return this.articleConnector.getStockForecast(goodId, warehouseNumber).then((result: DataServiceResponseData) => {\n if (result.validationResult && result.validationResult.success) {\n if (result.resultObjects) {\n resolve(result.resultObjects);\n }\n } else {\n reject(result.validationMessagesAsString);\n }\n });\n });\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this.articleConnector.commit();\n }\n\n}\n","import {EventEmitter, Injectable} from \"@angular/core\";\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\nimport {SharedConnectorService} from \"./shared-connector.service\";\nimport {SendMethodParams} from \"../components/send-method-dialog/send-method-params.interface\";\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\n\n@Injectable({\n providedIn: 'root',\n})\nexport class StockService {\n\n public stockStickers: PrintStockStickers;\n public printLayoutParams: SendMethodParams;\n\n public readonly warehouseSelected: EventEmitter<StockManagementWarehouses> = new EventEmitter<StockManagementWarehouses>()\n\n constructor(\n private _sharedService: SharedConnectorService,\n ) {\n }\n\n // public async getPrintStockStickers(data: PrintStockStickers): Promise<void> {\n // await this._sharedService.getPrintStockStickers(data);\n // }\n\n // public async getPrintPriceStickers(data: PrintPriceStickers): Promise<void> {\n // await this._sharedService.getPrintPriceStickers(data);\n // }\n\n public async getStockHistory(data: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\n return await this._sharedService.getStockHistory(data);\n }\n\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\n return await this._sharedService.getStockInformation(data);\n }\n\n // public async getStockStickerPrintLayouts(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\n // return await this._connector.getStockStickerPrintLayouts(data);\n // }\n\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\n return await this._sharedService.getArticleDetails(data);\n }\n\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\n return await this._sharedService.updateArticleDetails(data);\n }\n\n public async getStockState(): Promise<StockStatus[]> {\n return await this._sharedService.getStockStatus();\n }\n\n public async getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<number> {\n return await this._sharedService.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId);\n }\n\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\n // return await this._sharedService.getStockStickerTemplates(data);\n // }\n\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\n return await this._sharedService.getStockManagementWarehouses();\n }\n\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\n return await this._sharedService.getStockManagementLocations(warehouseNo);\n }\n\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\n // return await this._sharedService.getOrderConfirmationDefaultSendMethod(relationId);\n // }\n\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\n // return await this._sharedService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);\n // }\n\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\n // return await this._sharedService.getPurchaseOrderEmailLayouts(transactionUUID);\n // }\n\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\n return await this._sharedService.getArticleTransaction(data);\n }\n\n public async stockPrognose(goodId: number, warehouseNumber: number): Promise<StockForecast[]> {\n return await this._sharedService.getStockPrognose(goodId, warehouseNumber);\n }\n\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\n return await this._sharedService.lockArticleDetails(data);\n }\n\n public commit(): Promise<DataServiceResponseData> {\n return this._sharedService.commit();\n }\n\n public async getArticleFlat(sku: string): Promise<ArticleFlat> {\n return await this._sharedService.getArticleFlat(sku);\n }\n\n public async searchArticles(request: ArticleExtendedRequest): Promise<ArticleExtended[]> {\n return await this._sharedService.searchArticles(request);\n }\n\n\n\n\n}\n","export class Translation {\n}\n","import {Injectable} from '@angular/core';\nimport {Translation} from './translation';\n\n@Injectable()\nexport class LocalizeService {\n public set translation(value: Translation) {\n this._translation = Object.assign(new Translation(), value);\n }\n\n public get translation(): Translation {\n return this._translation;\n }\n\n private _translation: Translation = new Translation();\n\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\n let text: string = key;\n if (this.translation.hasOwnProperty(key)) {\n text = this.translation[key].toLowerCase();\n if (upperCaseFirst) {\n text = text.charAt(0).toUpperCase() + text.slice(1);\n }\n } else {\n console.log('not found', key);\n }\n return text;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input, OnDestroy, OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from \"@angular/core\";\nimport {StockService} from \"../../service/stock.service\";\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\nimport {OptionsService} from \"../../service/options.service\";\nimport {Subscription} from \"rxjs\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\nimport {Translation} from './localization/translation';\nimport {LocalizeService} from '../../localization/localize.service';\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\nimport {SharedConnectorService} from \"../../service/shared-connector.service\";\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\n\n@Component({\n selector: \"co-stock\",\n template: `\n <div class=\"stock-info-container\" *ngIf=\"loaded && articleExtended\">\n <co-stock-information [article]=\"articleExtended\"\n [articleStockState]=\"articleStockState\"\n [allAvailableStockInformation]=\"allAvailableStock\"\n [allTechnicalStockInformation]=\"allTechnicalStock\"\n >\n </co-stock-information>\n <hr>\n <co-stock-tabs [stockInformation]=\"stockInformation\"\n [article]=\"articleExtended\"\n [articleFlat]=\"articleFlat\"\n (transferIconClicked)=\"handleStockTransferClick($event)\"\n (sendMethodDialogClicked)=\"handleSendMethodClick($event)\"\n [warehouses]=\"warehouses\"\n ></co-stock-tabs>\n\n <co-dialog *ngIf=\"showStockTransfer\" (closeClick)=\"showStockTransfer = false\">\n <co-stock-transfer (handleClick)=\"backToStock()\"\n class=\"stock-transfer-dialog\"\n [article]=\"stockTransferArticle\"\n [articleToTransfer]=\"stockTransferArticleDetails\"\n (handleStickerClicked)=\"handleStickerClicked.emit($event)\"\n [articleWarehouse]=\"articleWarehouse\"\n [allWarehouses]=\"allWarehouses\"\n >\n </co-stock-transfer>\n </co-dialog>\n\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\">\n\n </co-send-method-dialog>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockComponent implements OnDestroy, OnInit {\n\n @Input()\n public set translation(value: Translation) {\n this._localizeService.translation = value;\n this._changeDetector.markForCheck();\n }\n\n @Output()\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\n\n @Input()\n public set article(articleOrGoodId: ArticleExtended | number) {\n if(articleOrGoodId instanceof ArticleExtended) {\n this.articleExtended = articleOrGoodId;\n this._goodId = articleOrGoodId.goodId;\n\n } else if(typeof articleOrGoodId === \"number\" ) {\n this._goodId = articleOrGoodId;\n }\n\n };\n\n @Input()\n public articleWarehouse: any[] = [];\n\n @Input()\n public allWarehouses: any[] = [];\n\n @Output()\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\n\n @HostBinding(\"class.co-stock\")\n public showClass() {\n return true;\n }\n\n public loaded: boolean = false;\n\n public showStockInformationGrid: boolean = true;\n public showStockTransfer: boolean = false;\n public stockInformation: ArticleStockBo[] = [];\n public stockTransferArticle: ArticleStockBo;\n public stockTransferArticleDetails: ArticleDetailsBo;\n public articleExtended: ArticleExtended;\n\n public articleFlat:ArticleFlat;\n public stockHistory: StockHistoryBo[] = [];\n public allAvailableStock: number = 0;\n public allTechnicalStock: number = 0;\n public showSendMethodDialog: boolean = false;\n public articleStockState: number;\n public warehouses: StockManagementWarehouses[] = [];\n\n private _subscriptions: Subscription[] = [];\n private _goodId: number;\n\n constructor(\n private _stockService: StockService,\n private _optionsService: OptionsService,\n private _dictionary: DictionaryService,\n private _changeDetector: ChangeDetectorRef,\n private _localizeService: LocalizeService,\n private _connector: SharedConnectorService\n ) {\n this._subscriptions.push(\n this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),\n )\n }\n\n ngOnDestroy(): void {\n this.articleExtended = undefined;\n this.articleFlat = undefined;\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n ngOnInit() {\n }\n\n public handleStockTransferClick(event): void {\n this.stockTransferArticleDetails = event;\n this.showStockTransfer = !this.showStockTransfer;\n this.showStockInformationGrid = !this.showStockInformationGrid;\n this._stockService.stockStickers = new PrintStockStickers();\n }\n\n public handleSendMethodClick(event): void {\n this.showSendMethodDialog = true;\n }\n\n public backToStock(): void {\n this.showStockTransfer = !this.showStockTransfer;\n this.showStockInformationGrid = !this.showStockInformationGrid;\n }\n\n public getStockInformation(goodId: number): void {\n const articleData: ArticleStock = new ArticleStock();\n articleData.goodId = goodId.toString();\n articleData.viewKind = \"M\";\n this._stockService.getStockInformation(articleData).then(result => {\n this.stockInformation = result;\n this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);\n this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);\n });\n\n }\n\n public getArtStockStatus(): void {\n this._stockService.getArtStockStatus(this.articleExtended ? this.articleExtended.goodId : this._goodId).then(result => {\n this.articleStockState = result;\n });\n }\n\n public getStockManagementWarehouses(): void {\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\n this.warehouses = warehouses;\n })\n }\n\n private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\n if (loaded) {\n await this._initConnection().then();\n }\n }\n\n private async _initConnection(): Promise<void> {\n await this._connector.connect();\n if (this._optionsService.options.url) {\n this._dictionary.rootUrl = this._optionsService.options.url.replace(\"/ajaxservice\", \"\");\n }\n await this._dictionary.setDictionary(this._optionsService.options.languageCode);\n setTimeout(() => {\n this._changeDetector.detectChanges();\n });\n this.loaded = true;\n this.loadData();\n }\n\n\n public loadData() {\n if(this.loaded) {\n if(this._goodId && !this.articleExtended) {\n let request: ArticleExtendedRequest = new ArticleExtendedRequest();\n request.goodId = this._goodId;\n this._stockService.searchArticles(request).then((articleExtended: ArticleExtended[]) => {\n this.articleExtended = articleExtended[0];\n });\n }\n this._stockService.getArticleFlat(this.articleExtended.articleNumber).then(result => {\n this.articleFlat = result;\n })\n this.getArtStockStatus();\n this.getStockManagementWarehouses();\n this.getStockInformation(this.articleExtended ? this.articleExtended.goodId : this._goodId);\n }\n this._changeDetector.markForCheck();\n this._changeDetector.detectChanges();\n }\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\n\n@Component({\n selector: \"co-stock-information\",\n template: `\n <div class=\"stock-info\" *ngIf=\"article\">\n <div class=\"stock-info-row\" >\n <div class=\"stock-info-row-image\">\n <div class=\"stock-image\">\n <co-image class=\"stock-image\" [source]=\"article.imageData\"></co-image>\n </div>\n </div>\n <div class=\"stock-status\">\n <label class=\"stock-label\" [textContent]=\"'DESCRIPTION' | localize\"></label>\n <span class=\"stock-span\" [textContent]=\"article.description\"></span>\n </div>\n </div>\n <div class=\"stock-status\">\n <label class=\"stock-label\" [textContent]=\"'STOCK_STATUS' | localize\"></label>\n <span class=\"stock-span\" [textContent]=\"article.stockStatus\"></span>\n <co-stock-statusbar [value]=\"articleStockState\"></co-stock-statusbar>\n </div>\n <div class=\"stock-status\">\n <label class=\"stock-label\" [textContent]=\"'AMOUNT_IN_STOCK' | localize\"></label>\n <span class=\"stock-span\" [textContent]=\"allTechnicalStockInformation\"></span>\n </div>\n <div class=\"stock-status\">\n <label class=\"stock-label\" [textContent]=\"'AMOUNT_AVAILABLE' | localize\"></label>\n <span class=\"stock-span\" [textContent]=\"allAvailableStockInformation\"></span>\n </div>\n <div class=\"stock-status\">\n <label class=\"stock-label\" [textContent]=\"'ECONOMICAL_STOCK' | localize\"></label>\n <span class=\"stock-span\" [textContent]=\"\"></span>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockInformationComponent {\n\n public image: string;\n\n @Input()\n public article: ArticleExtended;\n\n @Input()\n public articleStockState: number;\n\n @Input()\n public allAvailableStockInformation: number;\n\n @Input()\n public allTechnicalStockInformation: number;\n\n}\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport const IconSvg: {[iconName: string]: string} = {\n \"account\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><path d=\\\"M15,15c3.59,0,6.5-2.91,6.5-6.5s-2.91-6.5-6.5-6.5-6.5,2.91-6.5,6.5,2.91,6.5,6.5,6.5Zm-2.32,2.44c-5,0-9.05,4.05-9.05,9.05,0,.83,.68,1.51,1.51,1.51H24.87c.83,0,1.51-.68,1.51-1.51,0-5-4.05-9.05-9.05-9.05h-4.64Z\\\" fill=\\\"#484f60\\\"/></g></svg>\",\n \"angle_left_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\\\"/></svg>\",\n \"angle_right_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\\\"/></svg>\",\n \"arrow_fat_right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"37.5 25 25.2 12.7 25.2 20.35 12.5 20.35 12.5 29.66 25.2 29.66 25.2 37.3 37.5 25\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\"><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\n \"at_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M207.8 20.73c-93.45 18.32-168.7 93.66-187 187.1c-27.64 140.9 68.65 266.2 199.1 285.1c19.01 2.888 36.17-12.26 36.17-31.49l.0001-.6631c0-15.74-11.44-28.88-26.84-31.24c-84.35-12.98-149.2-86.13-149.2-174.2c0-102.9 88.61-185.5 193.4-175.4c91.54 8.869 158.6 91.25 158.6 183.2l0 16.16c0 22.09-17.94 40.05-40 40.05s-40.01-17.96-40.01-40.05v-120.1c0-8.847-7.161-16.02-16.01-16.02l-31.98 .0036c-7.299 0-13.2 4.992-15.12 11.68c-24.85-12.15-54.24-16.38-86.06-5.106c-38.75 13.73-68.12 48.91-73.72 89.64c-9.483 69.01 43.81 128 110.9 128c26.44 0 50.43-9.544 69.59-24.88c24 31.3 65.23 48.69 109.4 37.49C465.2 369.3 496 324.1 495.1 277.2V256.3C495.1 107.1 361.2-9.332 207.8 20.73zM239.1 304.3c-26.47 0-48-21.56-48-48.05s21.53-48.05 48-48.05s48 21.56 48 48.05S266.5 304.3 239.1 304.3z\\\"/></svg>\",\n \"bring_forward_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path fill=\\\"#183153\\\" d=\\\"M224 464H448C456.8 464 464 456.8 464 448V224C464 215.2 456.8 208 448 208H384V160H448C483.3 160 512 188.7 512 224V448C512 483.3 483.3 512 448 512H224C188.7 512 160 483.3 160 448V384H208V448C208 456.8 215.2 464 224 464zM64 352C28.65 352 0 323.3 0 288V64C0 28.65 28.65 0 64 0H288C323.3 0 352 28.65 352 64V288C352 323.3 323.3 352 288 352H64z\\\"/></svg>\",\n \"check_duotone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><defs><style>.fa-secondary{opacity:.4}</style></defs><path class=\\\"fa-primary\\\" d=\\\"M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z\\\"/></svg>\",\n \"check_round\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10ZM23,34l-6.24-9.09,2.81-3.59L23,26.45,27.66,16h5.58Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"clock_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\\\"/></svg>\",\n \"comment_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9c-.2 0-.5 .1-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9c.1-.2 .2-.3 .3-.5z\\\"/></svg>\",\n \"cross_skinny\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><polygon points=\\\"25.35 5.52 24.65 4.81 15 14.46 5.35 4.81 4.65 5.52 14.29 15.17 4.65 24.81 5.35 25.52 15 15.87 24.65 25.52 25.35 24.81 15.71 15.17 25.35 5.52\\\" fill=\\\"#484f60\\\"/></g></svg>\",\n \"delete_left_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M432.1 208.1L385.9 256L432.1 303C442.3 312.4 442.3 327.6 432.1 336.1C423.6 346.3 408.4 346.3 399 336.1L352 289.9L304.1 336.1C295.6 346.3 280.4 346.3 271 336.1C261.7 327.6 261.7 312.4 271 303L318.1 256L271 208.1C261.7 199.6 261.7 184.4 271 175C280.4 165.7 295.6 165.7 304.1 175L352 222.1L399 175C408.4 165.7 423.6 165.7 432.1 175C442.3 184.4 442.3 199.6 432.1 208.1V208.1zM512 64C547.3 64 576 92.65 576 128V384C576 419.3 547.3 448 512 448H205.3C188.3 448 172 441.3 160 429.3L9.372 278.6C3.371 272.6 0 264.5 0 256C0 247.5 3.372 239.4 9.372 233.4L160 82.75C172 70.74 188.3 64 205.3 64L512 64zM528 128C528 119.2 520.8 112 512 112H205.3C201 112 196.9 113.7 193.9 116.7L54.63 256L193.9 395.3C196.9 398.3 201 400 205.3 400H512C520.8 400 528 392.8 528 384V128z\\\"/></svg>\",\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"dropzone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><rect x=\\\"2\\\" y=\\\"1.67\\\" width=\\\"14\\\" height=\\\"6\\\" rx=\\\"2\\\" ry=\\\"2\\\" fill=\\\"#484f60\\\" opacity=\\\".5\\\"/><path d=\\\"M16.52,13.16l-.94-.47-1.61-2.53-1.23-1.62-.65-.85-1.53-1.59-2.06-1.17h-1.15l-.7,.7,.41,.91,2.47,2.2,.56,1.2,1.7,2.71,.82,2.26,.06,.74,.09,2.38-.23-.85-.97-.94-.79-.97-1.76-1.76-1.06-.35-.88,.24-.7,.62,1.32,1.44,1.56,1.97,2.14,3.73,2.2,2,1.82,1.14,2.44,1.06,1.91,1,2,1.03,.23,1.29,6.02-5.99v-.91s-.91-1-1-1.03c-.09-.03-.82-1.65-.82-1.65l-.47-1.91-.35-.97-1.32-1.67-.85-1.12-.5-.82-.88-1.14-.79-.77-1.33-.86-.22,.42,1.39,2.12-.94-.47-.86-1.48-1.33-1.38-1.06-.16-.03,.6,2.1,3.09-.94-.47-1.8-2.9-1.21-.86-1.29,.12,.18,.56,2.85,4.14Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M16,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\\\" fill=\\\"#484f60\\\" opacity=\\\".5\\\"/><path d=\\\"M18,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\\\" fill=\\\"#484f60\\\" opacity=\\\".25\\\"/><path d=\\\"M20,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\\\" fill=\\\"#484f60\\\" opacity=\\\".1\\\"/></g></g></svg>\",\n \"email\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.79,38.45A17.82,17.82,0,0,1,23.86,40,13.09,13.09,0,0,1,10.41,26.42C10.41,17.63,16.83,10,26.53,10c7.63,0,13.06,5.21,13.06,12.46,0,6.33-3.53,10.3-8.19,10.3a3.42,3.42,0,0,1-3.71-3.32h-.08A6.5,6.5,0,0,1,22,32.76c-2.75,0-4.82-2.11-4.82-5.65a9.85,9.85,0,0,1,10.13-10,12.89,12.89,0,0,1,5.13,1l-1.3,8c-.43,2.54-.13,3.71,1.08,3.75,1.85.09,4.18-2.28,4.18-7.28,0-5.65-3.62-10-10.3-10S13.73,17.76,13.73,26c0,7.25,4.57,11.3,11,11.3A14.81,14.81,0,0,0,31,36ZM28,20.65a5.34,5.34,0,0,0-1.33-.18c-2.85,0-5.09,2.81-5.09,6.12,0,1.64.73,2.68,2.16,2.68,1.59,0,3.27-2,3.66-4.53Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"envelope_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\\\"/></svg>\",\n \"eye_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\\\"/></svg>\",\n \"file_export_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M568.1 303l-80-80c-9.375-9.375-24.56-9.375-33.94 0s-9.375 24.56 0 33.94L494.1 296H216C202.8 296 192 306.8 192 320s10.75 24 24 24h278.1l-39.03 39.03C450.3 387.7 448 393.8 448 400s2.344 12.28 7.031 16.97c9.375 9.375 24.56 9.375 33.94 0l80-80C578.3 327.6 578.3 312.4 568.1 303zM360 384c-13.25 0-24 10.74-24 24V448c0 8.836-7.164 16-16 16H64.02c-8.836 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v72c0 13.25 10.74 24 23.1 24S384 245.3 384 232V138.6c0-16.98-6.742-33.26-18.75-45.26l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H63.1C28.65 0-.002 28.66 0 64l.0065 384c.002 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64v-40C384 394.7 373.3 384 360 384z\\\"/></svg>\",\n \"file_export_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M32 64C32 28.7 60.7 0 96 0H256V128c0 17.7 14.3 32 32 32H416V288H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM416 336V288H526.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H416zm0-208H288V0L416 128z\\\"/></svg>\",\n \"file_pdf_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z\\\"/></svg>\",\n \"file_pdf_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 224H88c30.9 0 56 25.1 56 56s-25.1 56-56 56H80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 240c0-8.8 7.2-16 16-16zm24 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H80v48h8zm72-64c0-8.8 7.2-16 16-16h24c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V240zm32 112h8c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 240c0-8.8 7.2-16 16-16z\\\"/></svg>\",\n \"file_signature_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M64 464H320c8.8 0 16-7.2 16-16v-6.7l39.8-9.9c2.8-.7 5.6-1.6 8.2-2.7V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v49.1l-48 48V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm96-115l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h25.6l12-48.2c1.4-5.6 4.3-10.8 8.4-14.9L441.1 191.8l71 71L382.9 391.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-1.1 .3-2.1 .4-3.2 .5c-.8 .1-1.5 .2-2.3 .2H256c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L160 349zM549.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0z\\\"/></svg>\",\n \"house_blank_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8z\\\"/></svg>\",\n \"lock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M22.65,11.67H7.35c-2.82,0-3.07,2.29-3.07,5.12v8.09c0,2.83,.25,5.12,3.07,5.12h15.29c2.81,0,3.07-2.29,3.07-5.12v-8.09c0-2.83-.25-5.12-3.07-5.12Zm-12.42,15.82l2.6-6.32c-1-.7-1.65-1.85-1.65-3.15,0-2.12,1.71-3.84,3.82-3.84s3.82,1.73,3.82,3.84c0,1.31-.65,2.46-1.65,3.15l2.6,6.32H10.22Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.51,6.64c0-3.6-2.02-4.07-4.51-4.07h0c-2.49,0-4.51,.47-4.51,4.07v3h-2.7v-3C7.79,1.62,11.02,0,15,0h0c3.98,0,7.21,1.62,7.21,6.64v3h-2.7v-3Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\n \"message_sms_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448-.0004H64c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7L304 415.1H448c35.25 0 64-28.75 64-63.1V63.1C512 28.75 483.3-.0004 448-.0004zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352zM124.4 192.6C113.6 189.5 103.2 187.2 104.2 181.5c.7813-4.5 10.28-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.375 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34C143.1 147.8 136.5 145.9 130.6 145c-30.69-4.812-53.94 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34C135 239 125.7 241.1 114.3 239.4C107.9 238.4 100.4 235.4 93.38 232.9c-8.375-2.969-16 1.875-18.97 10.19S77.19 261.1 85.5 264.1C92.81 266.8 101.1 269.8 109.4 271C113.7 271.7 117.9 272 121.1 272c24.28 0 41.94-12.03 45.38-32.13C173.1 206.5 141.4 197.5 124.4 192.6zM396.4 192.6C385.6 189.5 375.2 187.2 376.2 181.5c.7813-4.5 10.31-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.406 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34c-6.156-2.125-12.69-4.062-18.59-4.969c-30.75-4.812-53.97 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34c-.7813 4.562-10.12 6.656-21.56 4.938c-6.342-.9883-13.9-3.939-20.88-6.438c-8.375-2.969-16 1.875-18.97 10.19s2.781 17.97 11.09 20.97c7.312 2.656 15.62 5.656 23.88 6.906C385.7 271.7 389.9 272 393.1 272c24.28 0 41.94-12.03 45.38-32.13C445.1 206.5 413.4 197.5 396.4 192.6zM309.1 144.8c-6.469-2.062-13.72 .0625-17.88 5.594L256 197.3L220.8 150.4C216.7 144.9 209.4 142.7 202.9 144.8C196.4 147 192 153.1 192 160v96c0 8.844 7.156 16 16 16S224 264.8 224 256V208l19.19 25.59c6.062 8.062 19.56 8.062 25.62 0L288 208V256c0 8.844 7.156 16 16 16S320 264.8 320 256V160C320 153.1 315.6 147 309.1 144.8z\\\"/></svg>\",\n \"message_sms_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\\\"/></svg>\",\n \"paperclip_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M375 73c-26-26-68.1-26-94.1 0L89 265C45.3 308.6 45.3 379.4 89 423s114.4 43.6 158.1 0L399 271c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L281 457c-62.4 62.4-163.5 62.4-225.9 0S-7.4 293.4 55 231L247 39C291.7-5.7 364.2-5.7 409 39s44.7 117.2 0 161.9L225.2 384.7c-31.6 31.6-83.6 28.7-111.5-6.2c-23.8-29.8-21.5-72.8 5.5-99.8L271 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L153.2 312.7c-9.7 9.7-10.6 25.1-2 35.8c10 12.5 28.7 13.6 40 2.2L375 167c26-26 26-68.1 0-94.1z\\\"/></svg>\",\n \"pdf\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.88c-2.16,0-2.72-.56-2.72-2.72V12.88c0-2.15.56-2.71,2.72-2.71h11.6l8.66,8.88v3.43H32.8V19.6l-7.88-8.09h-11c-1.38,0-1.38,0-1.38,1.37V37.45c0,1.37,0,1.37,1.38,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.83,26.63v4.24h1a3.57,3.57,0,0,0,.78-.06,1.22,1.22,0,0,0,.52-.26,1.44,1.44,0,0,0,.34-.62,4.13,4.13,0,0,0,.13-1.18,3.79,3.79,0,0,0-.13-1.14,1.51,1.51,0,0,0-.37-.62,1.14,1.14,0,0,0-.6-.3,5.93,5.93,0,0,0-1.06-.06Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.86,26.63v1.82h.71a3.57,3.57,0,0,0,1-.1A.88.88,0,0,0,24,28a.84.84,0,0,0,.14-.5.8.8,0,0,0-.2-.57.88.88,0,0,0-.52-.29,6.36,6.36,0,0,0-.93,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.12,4.24a1.68,1.68,0,0,1-.54.63,1.9,1.9,0,0,1-.67.3,6.57,6.57,0,0,1-1.34.1h-.85V32H20.57V25.54h2.07a7.75,7.75,0,0,1,1.54.1,1.73,1.73,0,0,1,.93.63,2,2,0,0,1,.37,1.25A2,2,0,0,1,25.26,28.51Zm6.45,1.66A2.91,2.91,0,0,1,31,31.31a2.28,2.28,0,0,1-.91.51A4,4,0,0,1,29,32H26.54V25.54H28.9a4.21,4.21,0,0,1,1.22.13,2.08,2.08,0,0,1,1,.59,2.79,2.79,0,0,1,.61,1,4.76,4.76,0,0,1,.21,1.52A4.19,4.19,0,0,1,31.71,30.17Zm5.7-3.54h-3.1v1.52H37v1.08H34.31V32H33V25.54h4.39Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"person_digging_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440.8 288c8.2 .3 15.7 4.7 19.8 11.8l104 176c4.4 7.4 4.5 16.6 .2 24.1s-12.2 12.1-20.8 12.1H288c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l16-48c3.3-9.8 12.4-16.4 22.8-16.4h35.4l20.3-29.5L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4s19.1-18 31.4-12.9L61 210.1l19.8-36.2C96.2 145.6 125.8 128 158 128h3.8c52.3 0 98.5 33.8 114.4 83.6l32.3 101.6 79 32.9 32.8-47.7c4.6-6.8 12.4-10.7 20.6-10.4zm-190.4 1l-20-62.8c-9.5-29.9-37.3-50.2-68.6-50.2H158c-14.6 0-28.1 8-35.1 20.8l-17.3 31.8L250.4 289zm188.1 67.6l-66.7 97L364.6 464H501.9L438.5 356.6zM81.4 301.1l128 54.4c8.9 3.8 14.6 12.5 14.6 22.1V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V393.5L87.5 355.9 47 494.7c-3.7 12.7-17 20-29.8 16.3S-2.7 494 1 481.3L49 316.5l7.6-25.9 24.9 10.6z\\\"/></svg>\",\n \"print\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,16.5H12a2,2,0,0,0-2,2v9a2,2,0,0,0,2,2h2v-5H36v5h2a2,2,0,0,0,2-2v-9A2,2,0,0,0,38,16.5ZM37,21a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,37,21Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,11.5v5H15v-5H35m1-1H14v7H36v-7Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,25.5v13H15v-13H35m1-1H14v15H36v-15Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"28.3\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"31.5\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"34.7\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"print_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M111.1 48h254.1L400 81.94V160H448V81.94c0-12.73-5.057-24.94-14.06-33.94l-33.94-33.94C391 5.057 378.8 0 366.1 0H111.1C85.49 0 64.01 21.48 64 47.98l.002 82.28c-.002 0 .002 0 0 0L64 160h48.01L111.1 48zM440 192H72C32.3 192 0 224.3 0 264v112c0 13.25 10.75 24 24 24H80V480c0 17.67 14.33 32 32 32h288c17.67 0 32-14.33 32-32v-80h56c13.25 0 24-10.75 24-24v-112C512 224.3 479.7 192 440 192zM384 464H128v-96h256V464zM464 352h-32c0-17.67-14.33-32-32-32h-288c-17.67 0-32 14.33-32 32h-32V264c0-13.23 10.77-24 24-24h368c13.23 0 24 10.77 24 24V352z\\\"/></svg>\",\n \"print_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448 192H64C28.65 192 0 220.7 0 256v96c0 17.67 14.33 32 32 32h32v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h32c17.67 0 32-14.33 32-32V256C512 220.7 483.3 192 448 192zM384 448H128v-96h256V448zM432 296c-13.25 0-24-10.75-24-24c0-13.27 10.75-24 24-24s24 10.73 24 24C456 285.3 445.3 296 432 296zM128 64h229.5L384 90.51V160h64V77.25c0-8.484-3.375-16.62-9.375-22.62l-45.25-45.25C387.4 3.375 379.2 0 370.8 0H96C78.34 0 64 14.33 64 32v128h64V64z\\\"/></svg>\",\n \"signature_field\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M20.1,25.42a1.1,1.1,0,1,1,1.27,1.45l-3.3,9.07A63.13,63.13,0,0,1,28,28.3l1.26-12-8.26-3-6.77,10A62.4,62.4,0,0,1,17,35.54l3.3-9.07A1.12,1.12,0,0,1,20.1,25.42Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.62\\\" y=\\\"11.43\\\" width=\\\"8.79\\\" height=\\\"2.34\\\" transform=\\\"translate(5.88 -8.14) rotate(20)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.11,37.48c1.44,2.65,4.58,2.94,7.23,2.1,1.41-.44,2.2-1.49,3.44-2.06,2.42-1.1,3.13,1.2,5.36,1.37.42,0,2-.65,1.54-.68-2.55-.19-2.93-3.13-5.51-2.65a4.9,4.9,0,0,0-1.64.71c-.77.49-1.31,1.62-2.07,2l-4.61.56A3.38,3.38,0,0,1,20,37c-.22-.41-2,.28-1.85.5Z\\\" fill=\\\"#484f60\\\"/></svg>\",\n \"tag_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M197.5 32c17 0 33.3 6.7 45.3 18.7l176 176c25 25 25 65.5 0 90.5L285.3 450.7c-25 25-65.5 25-90.5 0l-176-176C6.7 262.7 0 246.5 0 229.5V80C0 53.5 21.5 32 48 32H197.5zM48 229.5c0 4.2 1.7 8.3 4.7 11.3l176 176c6.2 6.2 16.4 6.2 22.6 0L384.8 283.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-3-3-7.1-4.7-11.3-4.7H48V229.5zM112 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\\\"/></svg>\",\n \"trashbin\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M144 400C144 408.8 136.8 416 128 416C119.2 416 112 408.8 112 400V176C112 167.2 119.2 160 128 160C136.8 160 144 167.2 144 176V400zM240 400C240 408.8 232.8 416 224 416C215.2 416 208 408.8 208 400V176C208 167.2 215.2 160 224 160C232.8 160 240 167.2 240 176V400zM336 400C336 408.8 328.8 416 320 416C311.2 416 304 408.8 304 400V176C304 167.2 311.2 160 320 160C328.8 160 336 167.2 336 176V400zM310.1 22.56L336.9 64H432C440.8 64 448 71.16 448 80C448 88.84 440.8 96 432 96H416V432C416 476.2 380.2 512 336 512H112C67.82 512 32 476.2 32 432V96H16C7.164 96 0 88.84 0 80C0 71.16 7.164 64 16 64H111.1L137 22.56C145.8 8.526 161.2 0 177.7 0H270.3C286.8 0 302.2 8.526 310.1 22.56V22.56zM148.9 64H299.1L283.8 39.52C280.9 34.84 275.8 32 270.3 32H177.7C172.2 32 167.1 34.84 164.2 39.52L148.9 64zM64 432C64 458.5 85.49 480 112 480H336C362.5 480 384 458.5 384 432V96H64V432z\\\" fill=\\\"#484f60\\\"></path></svg>\",\n \"xml\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M21.42,30.17H3.87c-2.16,0-2.72-.56-2.72-2.72V2.88C1.16,.73,1.72,.17,3.87,.17H15.48l8.66,8.88v3.43h-1.34v-2.88L14.92,1.51H3.87q-1.37,0-1.37,1.37V27.45q0,1.37,1.37,1.37H21.42q1.37,0,1.37-1.37v-2.43h1.34v2.43c0,2.16-.56,2.72-2.72,2.72Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.2,.84V7.28c0,1.78,.27,2.05,2.04,2.05h6.22L15.2,.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M9.14,14.27v8.96H28.84V14.27H9.14Zm5.36,7.4l-1.3-2.02-1.3,2.02h-1.42l2-3.05-1.81-2.8h1.38l1.17,1.88,1.15-1.88h1.37l-1.82,2.84,2,3.01h-1.43Zm7.67,0h-1.1v-4.61l-1.16,4.61h-1.14l-1.16-4.61v4.61h-1.1v-5.85h1.77l1.06,3.99,1.05-3.99h1.77v5.85Zm5.33,0h-4.12v-5.81h1.18v4.82h2.94v.99Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\n \"x_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\\\"/></svg>\"\n};","import {Injectable} from \"@angular/core\";\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\nimport {Icon} from \"../enum/icon.enum\";\nimport {IconSvg} from \"../model/icon-svg\";\n\n@Injectable({\n providedIn: \"root\"\n})\nexport class IconCacheService {\n /**\n * All the icons as a large JSON object, from the all-icons.json file.\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\n */\n public get iconCache(): { [iconName: string]: SafeHtml } {\n return this._iconCache;\n }\n\n private _iconCache: { [iconName: string]: SafeHtml } = {};\n\n constructor(\n private _sanitizer: DomSanitizer\n ) {\n this.setIconCache();\n }\n\n public getIcon(iconName: Icon | string): SafeHtml {\n if (iconName) {\n return this._iconCache[iconName.toLowerCase()];\n }\n }\n\n public getIconAsBase64(iconName: Icon): SafeHtml {\n const icon: string = IconSvg[iconName];\n const base64Data: string = window.btoa(icon);\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\n }\n\n public getRawIcon(iconName: Icon): string {\n if (iconName) {\n return IconSvg[iconName.toLowerCase()];\n }\n }\n\n public setIconCache(): void {\n for (const key in IconSvg) {\n if (IconSvg.hasOwnProperty(key) && typeof IconSvg[key] !== \"function\") {\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(IconSvg[key]);\n }\n }\n }\n}\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\n\nexport enum Icon {\n Account = \"account\",\n AngleLeftSolid = \"angle_left_solid\",\n AngleRightSolid = \"angle_right_solid\",\n ArrowFatRight = \"arrow_fat_right\",\n ArrowPointLeft = \"arrow_point_left\",\n ArrowPointRight = \"arrow_point_right\",\n AtSolid = \"at_solid\",\n BringForwardRegular = \"bring_forward_regular\",\n CheckDuotone = \"check_duotone\",\n CheckRound = \"check_round\",\n ClockRegular = \"clock_regular\",\n CommentRegular = \"comment_regular\",\n CrossSkinny = \"cross_skinny\",\n DeleteLeftRegular = \"delete_left_regular\",\n DeliveryTruck = \"delivery_truck\",\n Dropzone = \"dropzone\",\n Email = \"email\",\n EnvelopeRegular = \"envelope_regular\",\n EyeRegular = \"eye_regular\",\n FileExportRegular = \"file_export_regular\",\n FileExportSolid = \"file_export_solid\",\n FilePdfRegular = \"file_pdf_regular\",\n FilePdfSolid = \"file_pdf_solid\",\n FileSignatureRegular = \"file_signature_regular\",\n HouseBlankRegular = \"house_blank_regular\",\n Lock = \"lock\",\n MessageSmsRegular = \"message_sms_regular\",\n MessageSmsSolid = \"message_sms_solid\",\n PaperclipRegular = \"paperclip_regular\",\n Pdf = \"pdf\",\n PersonDiggingRegular = \"person_digging_regular\",\n Print = \"print\",\n PrintRegular = \"print_regular\",\n PrintSolid = \"print_solid\",\n SignatureField = \"signature_field\",\n TagRegular = \"tag_regular\",\n Trashbin = \"trashbin\",\n Xml = \"xml\",\n XSolid = \"x_solid\"\n}","import {Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport {StockService} from \"../../../service/stock.service\";\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\nimport {Icon} from \"../../../enum/icon.enum\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\nimport {CoDropDownListFields} from \"../stock-transfer/co-drop-down-list-fields.interface\";\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\nimport {SendMethodType} from \"@colijnit/mainapi/build/enum/send-method-type.enum\";\n\n@Component({\n selector: \"co-stock-information-grid\",\n template: `\n <div class=\"tab-link show\" *ngIf=\"hideOrShowTabs\">\n <span class=\"tab-link-buttons\"\n *ngFor=\"let tab of tabs\"\n (click)=\"handleTabClick(tab)\"\n [textContent]=\"tab\"\n [class.active]=\"tab === activeTab\"\n ></span>\n </div>\n\n <div class=\"stock-line\">\n <div [textContent]=\"activeTabText\"></div>\n\n </div>\n\n <div class=\"stock-grid\">\n <co-simple-grid *ngIf=\"activeTab === tabs[0] && hideOrShowTabs\"\n [data]=\"articleStockInformation\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNo'\" [order]=\"10\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseName'\" [order]=\"11\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'technicalStock'\" [order]=\"12\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'availableStock'\" [order]=\"13\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK' | localize\" [field]=\"'economicalStock'\" [order]=\"14\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\" [order]=\"15\">\n <ng-template #template let-row=\"row\">\n <span class=\"location-link\" [textContent]=\"'LOOK_AT' | localize\" (click)=\"onLocationClick(row)\"></span>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n\n <co-simple-grid *ngIf=\"activeTab === tabs[1]\"\n [data]=\"inOrderInformation\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'CUSTOMER' | localize\" [field]=\"'customerName'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick($event)\"></co-icon>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n\n <co-simple-grid *ngIf=\"activeTab === tabs[2]\"\n [data]=\"orderInformation\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RESERVED' | localize\" [field]=\"'reserved'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'InOrderForStock'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.deliveryDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n </div>\n\n <div class=\"stock-grid\" *ngIf=\"hideOrShowLocationTab\">\n <div class=\"stock-location-group\">\n <div class=\"stock-location-left-group\">\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"handleBackToStockClick()\"></span>\n </div>\n <div class=\"stock-location-right-group\">\n<!--\n <co-drop-down-list [(model)]=\"selectedWarehouse\"\n [collection]=\"dataWareHouseCode\"\n [fields]=\"dataWareHouseFields\"\n [placeholder]=\"'WAREHOUSE' | localize\"\n (modelChange)=\"onSelectWarehouse($event)\"\n [required]=\"true\"\n ></co-drop-down-list>\n-->\n </div>\n </div>\n\n<!-- TODO move to own component stock-location-->\n <co-simple-grid [data]=\"articleDetails\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n [showAdd]=\"true\"\n [showToolbar]=\"true\"\n [showDelete]=\"true\"\n [inlineEdit]=\"true\"\n (dblClickRow)=\"lockSelectedRow($event)\"\n >\n <div class=\"stock-location-group\">\n <div class=\"stock-location-left-group\">\n <co-button class=\"stock-lines-button\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"handleBackToStockClick()\"></co-button>\n </div>\n </div>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\">\n <ng-template #editTemplate let-row=\"row\">\n<!--\n <co-drop-down-list [(model)]=\"row.locationNo\"\n [collection]=\"stockLocations\"\n [fields]=\"dataLocationFields\"\n [placeholder]=\"'LOCATION' | localize\"\n (click)=\"onLocationDropdownClick()\"\n [required]=\"true\"\n ></co-drop-down-list>\n-->\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'BATCH' | localize\" [field]=\"'batchNo'\">\n <ng-template #editTemplate let-row=\"row\">\n <co-input-text [(model)]=\"row.batchNo\"\n [placeholder]=\"'BATCH' | localize\"\n ></co-input-text>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'SERIAL_NO' | localize\" [field]=\"'serialNo'\">\n <ng-template #editTemplate let-row=\"row\">\n <co-input-text [(model)]=\"row.serialNo\"\n [placeholder]=\"'SERIAL_NO' | localize\"\n ></co-input-text>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'amountInStock'\">\n <ng-template #editTemplate let-row=\"row\">\n <co-input-text [(model)]=\"row.amountInStock\"\n [label]=\"'STOCK' | localize\"\n (modelChange)=\"amountInStockChanged($event)\"\n ></co-input-text>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'ALLOCATED' | localize\" [field]=\"'stockAssigned'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row.stockAssigned\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'amountInStockFree'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row.amountInStockFree\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currency'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row.currency\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'PURCHASE_PRICE' | localize\" [field]=\"'purchasePrice'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row.purchasePrice\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'SUPPLIER_NUMBER' | localize\" [field]=\"'supplierNo'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row.supplierNo\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick(row)\"></co-icon>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n </div>\n\n <co-stock-change-amount *ngIf=\"showChangeStockDetails\"\n (closeStockChangeAmount)=\"showChangeStockDetails = false\"\n [selectedArticleDetailsData]=\"selectedArticleDetailsData\"\n >\n </co-stock-change-amount>\n\n <div class=\"stock-grid\" *ngIf=\"showStockHistory\">\n <div class=\"stock-button-left-group\">\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"backToStockInformation()\"></span>\n </div>\n <co-simple-grid [data]=\"stockHistoryInformation\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'TRANSACTION_TYPE' | localize\" [field]=\"'transType'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'posLineNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RELATION_ID' | localize\" [field]=\"'relationId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n </div>\n\n <div class=\"stock-button-toolbar\">\n <div class=\"stock-button-left-group\">\n <co-button *ngIf=\"activeTab === tabs[0]\" [label]=\"'HISTORY' | localize\" (click)=\"handleHistoryClick()\"></co-button>\n </div>\n <div class=\"stock-button-middle-group\" *ngIf=\"activeTab !== tabs[0]\">\n <div class=\"button-left\">\n <co-button [textContent]=\"'OK' | localize\" (click)=\"onOkClick()\"></co-button>\n </div>\n <div class=\"button-right\">\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"onCancelClick()\"></co-button>\n </div>\n </div>\n\n <div class=\"stock-button-middle-group\" *ngIf=\"hideOrShowLocationTab\">\n <div class=\"button-left\">\n <co-button [textContent]=\"'OK' | localize\" (click)=\"onOkClickSendLocations()\"></co-button>\n </div>\n <div class=\"button-right\">\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"onCancelClickSendLocations()\"></co-button>\n </div>\n </div>\n </div>\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\"\n (closeClick)=\"showSendMethodDialog = false\"\n [visibleMethods]=\"sendMethod[1]\"\n ></co-send-method-dialog>\n `,\n encapsulation: ViewEncapsulation.None\n})\n\nexport class StockInformationGridComponent {\n public readonly icons: typeof Icon = Icon;\n\n @ViewChild(StockInformationGridComponent)\n public stock: StockInformationGridComponent;\n\n @Input()\n public articleStockInformation: ArticleStockBo[];\n\n @Input()\n public stockLocationData: ArticleStockBo[];\n\n @Input()\n public stockHistoryInformation: StockHistoryBo[];\n\n @Input()\n public article: ArticleExtended;\n\n @Output()\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\n\n @Output()\n public readonly historyClicked: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\n\n public image: string;\n public show: boolean = false;\n public hideOrShowLocationTab: boolean = false;\n public showStockHistory: boolean = false;\n public showSendMethodDialog: boolean = false;\n\n public inOrderInformation: ArticleTransactionBo[];\n public orderInformation: ArticleTransactionBo[]\n public hideOrShowTabs: boolean = true;\n public dataWareHouseCode: StockManagementWarehouses[];\n public dataWareHouseFields: CoDropDownListFields = { text: \"warehouseDescription\", value: \"warehouseNo\" };\n public dataLocationFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\n public selectedWarehouse: any;\n public selectedLocation: StockLocation;\n public stockLocations: StockLocation[];\n public articleStockSearchInfo: ArticleStock = new ArticleStock();\n public articleDetails: ArticleDetailsBo[];\n public selectedArticleDetailsData: ArticleDetailsBo = new ArticleDetailsBo();\n public showChangeStockDetails: boolean = false;\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement();\n public sendMethod: SendMethodType[];\n\n public tabs: string[] = [\n \"STOCK\",\n \"IN_ORDER2\",\n \"ORDERS1\"\n ];\n public activeTab: string = this.tabs[0];\n\n public get activeTabText(): string {\n switch (this.activeTab) {\n case this.tabs[0]:\n return \"Voorraadregels\";\n case this.tabs[1]:\n return \"Gevonden in order(s)\";\n case this.tabs[2]:\n return \"Gevonden in bestellingen\";\n default:\n return \"Voorraadlocatie regels\";\n }\n }\n\n constructor(\n public iconCacheService: IconCacheService,\n private _stockService: StockService,\n ) {\n }\n\n public handleTabClick(tabData): void {\n this.activeTab = tabData;\n if (this.activeTab === \"IN_ORDER2\") {\n this.getInOrderData();\n } if (this.activeTab === \"ORDERS1\") {\n this.getOrderData();\n }\n }\n\n public onLocationClick(data: ArticleStockBo): void {\n this.articleStockSearchInfo.goodId = data.goodId.toString();\n this.articleStockSearchInfo.wareHouseNo = data.warehouseNo.toString();\n this.articleStockSearchInfo.viewKind = \"D\";\n this.selectedWarehouse = data.warehouseNo;\n if (!this.dataWareHouseCode) {\n this.getStockManagementWarehouses(data);\n }\n this.getArticleDetails(data);\n this.hideOrShowTabs = false;\n this.hideOrShowLocationTab = true;\n }\n\n public handleHistoryClick(): void {\n this.historyClicked.emit()\n this.hideOrShowLocationTab = false;\n this.showChangeStockDetails = false;\n this.hideOrShowTabs = false;\n this.showStockHistory = true;\n }\n\n public backToStockInformation(): void {\n this.showStockHistory = false;\n this.hideOrShowTabs = true;\n }\n\n public handleStockTransferClick(event): void {\n this.transferIconClicked.emit(event);\n }\n\n public async handleBackToStockClick(): Promise<void> {\n this.activeTab = this.tabs[0];\n this.hideOrShowTabs = true;\n this.hideOrShowLocationTab = false;\n this.articleDetails = undefined;\n }\n\n public openSendMethodDialog(data): void {\n if (!(this._stockService.printLayoutParams instanceof PrintPriceStickers)) {\n this._stockService.printLayoutParams.goodId = data.goodId;\n this._stockService.printLayoutParams.warehouse = data.warehouseNo;\n }\n this.showSendMethodDialog = true;\n }\n\n public printStockStickers(): void {\n // this._stockService.getPrintStockStickers(this._stockService.printLayoutParams);\n }\n\n public onOkClick(): void {\n this.okButtonClicked.emit();\n }\n\n public onCancelClick(): void {\n this.cancelButtonClicked.emit();\n }\n\n public openDialogClick(data): void {\n this.selectedArticleDetailsData = data;\n this.showChangeStockDetails = true;\n }\n\n public getArticleDetails(data: any): void {\n // const info = new ArticleStockManagement();\n this.articleDetailsInformation.goodId = data.goodId;\n this.articleDetailsInformation.lineId = data.lineId;\n this.articleDetailsInformation.warehouseNumber = data.warehouseNo;\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\n this.articleDetails = details;\n });\n }\n\n public getStockManagementWarehouses(data: ArticleStockBo): void {\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\n this.dataWareHouseCode = warehouses;\n this.selectedWarehouse = data.warehouseNo;\n })\n }\n\n public onSelectWarehouse(event): void {\n this.articleDetailsInformation.warehouseNumber = event;\n if (this.selectedWarehouse || this.selectedWarehouse === 0) {\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\n this.articleDetails = details;\n });\n }\n }\n\n public async getInOrderData(): Promise<void> {\n const inOrderData: ArticleTransaction = new ArticleTransaction();\n inOrderData.type = \"V\";\n inOrderData.goodId = this.articleStockInformation[0].goodId.toString();\n this.inOrderInformation = await this._stockService.getArticleTransaction(inOrderData);\n }\n\n public async getOrderData(): Promise<void> {\n const orderData: ArticleTransaction = new ArticleTransaction();\n orderData.type = \"I\";\n orderData.goodId = this.articleStockInformation[0].goodId.toString();\n this.orderInformation = await this._stockService.getArticleTransaction(orderData);\n }\n\n public onLocationDropdownClick(): void {\n this._stockService.getStockManagementLocations(this.selectedWarehouse).then((locations) => {\n this.stockLocations = locations;\n })\n }\n\n public onLocationSelected(location): void {\n this.selectedArticleDetailsData.locationNo = location;\n }\n\n public async onOkClickSendLocations(): Promise<void> {\n this.selectedArticleDetailsData.selected = true;\n this.selectedArticleDetailsData.goodId = this.article.goodId;\n this.selectedArticleDetailsData.entryDate = new Date();\n this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse;\n await this._stockService.updateArticleDetails(this.selectedArticleDetailsData);\n await this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\n this.articleDetails = details;\n });\n }\n\n public onCancelClickSendLocations(): void {\n\n }\n\n public amountInStockChanged(data): void {\n this.selectedArticleDetailsData.amountInStock = data;\n }\n\n public lockSelectedRow(row): void {\n this._stockService.lockArticleDetails(row);\n }\n}\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {PrintStockStickers} from \"@colijnit/articleapi/build/model/print-stock-stickers\";\nimport {StockService} from \"../../../service/stock.service\";\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\nimport {Icon} from \"../../../enum/icon.enum\";\n\n@Component({\n selector: \"co-stock-transfer\",\n template: `\n <div class=\"stock-transfer\">\n <span [textContent]=\"'TRANSFER_STOCK' | localize\"></span>\n <div class=\"stock-transfer-columns\">\n <div *ngIf=\"articleToTransfer\" class=\"stock-transfer-left-column\">\n <co-input-text [readonly]=\"true\"\n [(model)]=\"articleToTransfer.warehouseDescription\"\n [placeholder]=\"'STANDARD_WAREHOUSE' | localize\"\n >\n </co-input-text>\n <co-input-text [readonly]=\"true\"\n [(model)]=\"articleToTransfer.locationNo\"\n [placeholder]=\"'STANDARD_LOCATION' | localize\">\n </co-input-text>\n <co-input-text [readonly]=\"true\"\n [(model)]=\"articleToTransfer.batchItem\"\n [placeholder]=\"'BATCH_NO' | localize\">\n </co-input-text>\n <co-input-text [readonly]=\"true\"\n [(model)]=\"articleToTransfer.serialNo\"\n [placeholder]=\"'SERIE_NO' | localize\">\n </co-input-text>\n <co-input-text\n [(model)]=\"articleToTransfer.amountTransfer\"\n [placeholder]=\"'Aantal' | localize\">\n </co-input-text>\n </div>\n\n <div class=\"icon-wrapper\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowFatRight)\"></co-icon>\n </div>\n\n <div class=\"stock-transfer-right-column\">\n\n <co-list-of-values [collection]=\"warehouses\"\n [displayField]=\"'warehouseDescription'\"\n (modelChange)=\"handleSelectedWarehouse($event)\"\n [label]=\"'Magazijn' | localize\"\n >\n </co-list-of-values>\n <co-list-of-values [collection]=\"locations\"\n [displayField]=\"'description'\"\n (modelChange)=\"handleSelectedLocation($event)\"\n [label]=\"'Locatie' | localize\"\n >\n </co-list-of-values>\n <co-list-of-values [collection]=\"stockState\"\n [displayField]=\"'stateDescription'\"\n [label]=\"'Voorraadstatus' | localize\"\n (modelChange)=\"handleSelectedStockState($event)\"\n >\n </co-list-of-values>\n\n <co-input-text [placeholder]=\"'Omschrijving' | localize\"\n [(model)]=\"articleToTransfer.stockStateRemark\">\n </co-input-text>\n </div>\n </div>\n\n <div class=\"ok-cancel-buttons\">\n <co-button [textContent]=\"'OK' | localize\" (click)=\"handleOkClick(articleToTransfer)\"></co-button>\n <co-button [textContent]=\"'STICKER' | localize\" (click)=\"handleStickerClick()\"></co-button>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockTransferComponent implements AfterViewInit {\n\n @Input()\n public stockSticker: PrintStockStickers;\n\n @Input()\n public article: ArticleStockBo;\n\n @Input()\n public articleToTransfer: ArticleDetailsBo;\n\n @Input()\n public articleWarehouse: any[];\n\n @Input()\n public allWarehouses: any[];\n\n @Output()\n public handleClick: EventEmitter<any> = new EventEmitter();\n\n @Output()\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\n\n public allWarehousesDropdownFields: CoDropDownListFields = {text: \"warehouseDescription\", value: \"warehouseNo\"};\n public allLocationDropdownFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\n\n public showSendMethodDialog: boolean = false;\n public warehouses: StockManagementWarehouses[] = [];\n public stockState: StockStatus[] = [];\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\n public locations: StockLocation[] = [];\n public selectedWarehouse: StockManagementWarehouses;\n\n public readonly icons: typeof Icon = Icon;\n\n constructor(\n private _stockService: StockService,\n public iconCacheService: IconCacheService\n ) {\n }\n\n ngAfterViewInit() {\n this.getStockManagementWarehouses();\n this.getStockState();\n }\n\n public handleOkClick(data: ArticleDetailsBo): void {\n data.selected = true;\n data.entryDate = new Date;\n this._stockService.updateArticleDetails(data).then( result => {\n this.handleClick.emit();\n });\n\n }\n\n public handleCancelClick(): void {\n this.handleClick.emit();\n }\n\n public handleSelectedWarehouse(event: StockManagementWarehouses): void {\n this.articleToTransfer.targetWarehouse = event.warehouseNo;\n this.selectedWarehouse = event;\n this.getStockManagementLocations(this.selectedWarehouse.warehouseNo);\n }\n\n public handleSelectedLocation(event: StockLocation): void {\n this.articleToTransfer.targetLocation = event.locationNo;\n }\n\n public handleSelectedStockState(event: StockStatus): void {\n this.articleToTransfer.stockStateId = event.stockStateId;\n }\n\n public handleStickerClick(): void {\n this.handleStickerClicked.emit();\n this.showSendMethodDialog = true;\n }\n\n public getStockManagementWarehouses(): void {\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\n this.warehouses = warehouses;\n })\n }\n\n public getStockManagementLocations(data): void {\n this._stockService.getStockManagementLocations(data).then((locations) => {\n this.locations = locations;\n })\n }\n\n public getStockState(): void {\n this._stockService.getStockState().then((state: StockStatus[]) => {\n this.stockState = state;\n });\n }\n\n}\n","import {SharedConnectorService} from \"./shared-connector.service\";\nimport {Injectable} from \"@angular/core\";\nimport {OptionsService} from \"./options.service\";\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\nimport {TagCategory} from \"@colijnit/mainapi/build/enum/tab-category.enum\";\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\n\n@Injectable({\n providedIn: \"root\"\n})\n\nexport class SharedService {\n\n constructor(\n protected options: OptionsService,\n protected connector: SharedConnectorService,\n ) {\n }\n\n public async init(options: any): Promise<void> {\n await this.options.initialize(options);\n await this.connector.connect();\n }\n\n public async getAllPrinters(): Promise<Printer[]> {\n return await this.connector.getAllPrinters();\n }\n\n public async getSendMethods(): Promise<SendMethod[]> {\n return await this.connector.getSendMethods();\n }\n\n public async getScreenConfigTree(): Promise<any> {\n return await this.connector.getScreenConfigTree();\n }\n\n public async getScreenConfigSubRubric(parentRubricId: number, configId: number, fixedKey: string): Promise<any> {\n return await this.connector.getScreenConfigSubRubric(parentRubricId, configId, fixedKey);\n }\n\n public async getTagsFullTree(category: TagCategory, includeTags: boolean = true): Promise<TagTreeItem[]> {\n return await this.connector.getTagsFullTree(category, includeTags);\n }\n\n public async getDocumentContent(docId: number, thumbnail: boolean = true): Promise<string> {\n return await this.connector.getDocumentContent(docId, thumbnail);\n }\n}\n","import {Injectable} from '@angular/core';\nimport {ReportingDocumentEmailSignDocBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\nimport {ReportingDocumentPrintSignDocBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request';\nimport {Subject} from 'rxjs';\n\n@Injectable()\nexport class SendMethodService {\n public reportingDocumentPrintSignDocBaseRequestChanged: Subject<ReportingDocumentPrintSignDocBaseRequest> = new Subject<ReportingDocumentPrintSignDocBaseRequest>();\n public reportingDocumentEmailSignDocBaseRequestChanged: Subject<ReportingDocumentEmailSignDocBaseRequest> = new Subject<ReportingDocumentEmailSignDocBaseRequest>();\n public reportingDocumentPdfBaseRequestChanged: Subject<ReportingDocumentPdfBaseRequest> = new Subject<ReportingDocumentPdfBaseRequest>();\n\n public set reportingDocumentPrintSignDocBaseRequest(value: ReportingDocumentPrintSignDocBaseRequest) {\n this._reportingDocumentPrintSignDocBaseRequest = value;\n this.activePrinter = this._reportingDocumentPrintSignDocBaseRequest.printerName;\n this.reportingDocumentPrintSignDocBaseRequestChanged.next(this._reportingDocumentPrintSignDocBaseRequest);\n }\n public get reportingDocumentPrintSignDocBaseRequest(): ReportingDocumentPrintSignDocBaseRequest {\n return this._reportingDocumentPrintSignDocBaseRequest;\n }\n public set reportingDocumentEmailSignDocBaseRequest(value: ReportingDocumentEmailSignDocBaseRequest) {\n this._reportingDocumentEmailSignDocBaseRequest = value;\n this.selectedEmailAddresses = this._reportingDocumentEmailSignDocBaseRequest.toAddresses.split(';');\n this.reportingDocumentEmailSignDocBaseRequestChanged.next(this._reportingDocumentEmailSignDocBaseRequest);\n }\n public get reportingDocumentEmailSignDocBaseRequest(): ReportingDocumentEmailSignDocBaseRequest {\n return this._reportingDocumentEmailSignDocBaseRequest;\n }\n public set reportingDocumentPdfBaseRequest(value: ReportingDocumentPdfBaseRequest) {\n this._reportingDocumentPdfBaseRequest = value;\n this.reportingDocumentPdfBaseRequestChanged.next(this._reportingDocumentPdfBaseRequest);\n }\n public get reportingDocumentPdfBaseRequest(): ReportingDocumentPdfBaseRequest {\n return this._reportingDocumentPdfBaseRequest;\n }\n\n public selectedEmailAddresses: string[] = [];\n public activePrinter: string;\n\n private _reportingDocumentPrintSignDocBaseRequest: ReportingDocumentPrintSignDocBaseRequest = new ReportingDocumentPrintSignDocBaseRequest();\n private _reportingDocumentEmailSignDocBaseRequest: ReportingDocumentEmailSignDocBaseRequest = new ReportingDocumentEmailSignDocBaseRequest();\n private _reportingDocumentPdfBaseRequest: ReportingDocumentPdfBaseRequest = new ReportingDocumentPdfBaseRequest();\n\n public removeEmailAddress(address: string): void {\n if (this.selectedEmailAddresses.indexOf(address) > -1) {\n this.selectedEmailAddresses.splice(this.selectedEmailAddresses.indexOf(address), 1);\n this._updateEmailAddresses();\n }\n }\n\n public addEmailAddress(address: string): void {\n if (this.selectedEmailAddresses.indexOf(address) < 0) {\n this.selectedEmailAddresses.push(address);\n this._updateEmailAddresses();\n }\n }\n\n private _updateEmailAddresses(): void {\n this._reportingDocumentEmailSignDocBaseRequest.toAddresses = this.selectedEmailAddresses.join(';');\n this.reportingDocumentEmailSignDocBaseRequestChanged.next(this._reportingDocumentEmailSignDocBaseRequest);\n }\n\n}\n","import {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\n\nexport class SendMethod {\n public code: SendMethodType;\n public description: string;\n public icon: string;\n\n constructor(code: SendMethodType, description: string, icon: string) {\n this.code = code;\n this.description = description;\n this.icon = icon;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {Icon} from '../../enum/icon.enum';\nimport {IconCacheService} from '../../service/icon-cache.service';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport {Subscription} from 'rxjs';\nimport {SharedService} from '../../service/shared.service';\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\nimport {SendMethodService} from './service/send-method.service';\nimport {SendMethod} from '../../model/send-method';\nimport {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\nimport {\n ReportingDocumentEmailSignDocBaseRequest\n} from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';\nimport {\n ReportingDocumentPrintSignDocBaseRequest\n} from \"@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request\";\n\nexport const sendMethodsWithIcon: SendMethod[] = [\n new SendMethod(SendMethodType.Fax, \"Fax\", Icon.PrintRegular),\n new SendMethod(SendMethodType.Print, \"Print\", Icon.PrintSolid),\n new SendMethod(SendMethodType.Email, \"Email\", Icon.AtSolid),\n new SendMethod(SendMethodType.Edi, \"Edi\", Icon.FileExportSolid),\n new SendMethod(SendMethodType.EmailTemplate, \"Email template\", Icon.EnvelopeRegular),\n new SendMethod(SendMethodType.Sms, \"Sms\", Icon.MessageSmsSolid),\n new SendMethod(SendMethodType.WebService, \"Webservice\", Icon.PrintRegular),\n new SendMethod(SendMethodType.Pdf, \"Pdf\", Icon.Pdf)\n]\n\n@Component({\n selector: 'co-send-method-dialog',\n template: `\n <co-dialog id=\"sendOptionsDialog\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\"\n (closeClick)=\"closeClick.emit($event)\">\n <ng-template #headerTemplate>\n <div class=\"co-dialog-header-title-wrapper\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.EnvelopeRegular)\"></co-icon>\n <div class=\"co-dialog-header-title\" [textContent]=\"headerTitle\"></div>\n </div>\n <div class=\"dialog-navigation-wrapper\">\n <div class=\"send-button-wrapper\" *ngFor=\"let sendMethod of sendMethods; let index = index\"\n [class.selected]=\"activeSendMethod ? sendMethod.code === activeSendMethod.code : index === 0\"\n (click)=\"handleSendMethodClick(sendMethod)\">\n <div class=\"custom-button-title\" [textContent]=\"sendMethod.description\"></div>\n </div>\n </div>\n </ng-template>\n\n <div class=\"dialog-content-wrapper\">\n <div class=\"send-methods-wrapper\">\n\n </div>\n <div #navigationItems class=\"send-method-navigation-wrapper\" [class.smooth-scrolling]=\"!startUp\">\n <div #faxItems class=\"send-method-navigation-content co-small-scrollbar\">\n\n </div>\n <div #printItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showPrint\">\n <co-send-method-printer\n [isPrinterLayoutsEnabled]=\"isPrinterLayoutsEnabled\"\n [printerList]=\"printerList\"\n [layouts]=\"printLayouts\"\n ></co-send-method-printer>\n </div>\n <div #emailItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmail\">\n <co-send-method-email\n [emailAddresses]=\"emailAddresses\"\n [layouts]=\"emailLayouts\"\n ></co-send-method-email>\n </div>\n <div #ediItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEdi\">\n\n </div>\n <div #emailTemplateItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmailTemplate\">\n\n </div>\n <div #smsItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showSms\">\n\n </div>\n <div #webServiceItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showWebservice\">\n\n </div>\n <div #pdfItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showPdf\">\n <co-send-method-pdf\n [layouts]=\"printLayouts\"\n ></co-send-method-pdf>\n </div>\n </div>\n </div>\n <ng-template #footerTemplate>\n <div class=\"co-dialog-footer-button-wrapper\">\n <co-button class=\"save-button\"\n [iconData]=\"iconCacheService.getIcon(icons.CheckDuotone)\"\n (click)=\"okClick.emit(activeSendMethod ? activeSendMethod.code : '0')\"></co-button>\n <co-button class=\"close-button\"\n [iconData]=\"iconCacheService.getIcon(icons.CrossSkinny)\"\n (click)=\"closeClick.emit($event)\"></co-button>\n </div>\n </ng-template>\n </co-dialog>\n `,\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger('slideInOut', [\n state('*', style({transform: 'translateX(0%)', width: '100%', opacity: '1'})),\n state('void', style({transform: 'translateX(150%)', opacity: '0'})),\n transition('void => *', animate(250))\n ])\n ]\n})\n\nexport class SendMethodDialogComponent implements OnInit, OnDestroy {\n public readonly icons: typeof Icon = Icon;\n\n @ViewChild('navigationItems', {read: ElementRef})\n public navigationItems: ElementRef;\n\n @ViewChild('faxItems', {read: ElementRef})\n public faxItems: ElementRef;\n\n @ViewChild('printItems', {read: ElementRef})\n public printItems: ElementRef;\n\n @ViewChild('emailItems', {read: ElementRef})\n public emailItems: ElementRef;\n\n @ViewChild('ediItems', {read: ElementRef})\n public ediItems: ElementRef;\n\n @ViewChild('emailTemplateItems', {read: ElementRef})\n public emailTemplateItems: ElementRef;\n\n @ViewChild('smsItems', {read: ElementRef})\n public smsItems: ElementRef;\n\n @ViewChild('webServiceItems', {read: ElementRef})\n public webServiceItems: ElementRef;\n\n @ViewChild('pdfItems', {read: ElementRef})\n public pdfItems: ElementRef;\n\n @Input()\n public printerList: Printer[] = [];\n\n @Input()\n public reportingDocumentPrintRequest: ReportingDocumentPrintSignDocBaseRequest;\n\n @Input()\n public reportingDocumentEmailRequest: ReportingDocumentEmailSignDocBaseRequest;\n\n @Input()\n public reportingDocumentPdfRequest: ReportingDocumentPdfBaseRequest;\n\n @Input()\n public emailLayouts: ReportLayoutSelectionEmail[] = [];\n\n @Input()\n public printLayouts: ReportLayoutSelectionPrint[] = [];\n\n // @Input()\n // public priceListCodeData: any;\n\n @Input()\n public headerTitle: string;\n\n @Input()\n public emailAddresses: string[] = [];\n\n @Input()\n public defaultSendMethod: string;\n\n @Input()\n public visibleMethods: SendMethodType[] | string[] = [];\n\n @Input()\n public isDocSignEnabled: boolean = false;\n\n @Input()\n public docSign: boolean = false;\n\n @Input()\n public isPrinterLayoutsEnabled: boolean = true;\n\n @Output()\n public reportingDocumentPrintRequestChange: EventEmitter<ReportingDocumentPrintSignDocBaseRequest> = new EventEmitter<ReportingDocumentPrintSignDocBaseRequest>();\n\n @Output()\n public reportingDocumentEmailRequestChange: EventEmitter<ReportingDocumentEmailSignDocBaseRequest> = new EventEmitter<ReportingDocumentEmailSignDocBaseRequest>();\n\n @Output()\n public reportingDocumentPdfRequestChange: EventEmitter<ReportingDocumentPdfBaseRequest> = new EventEmitter<ReportingDocumentPdfBaseRequest>();\n\n @Output()\n public startSignatureClicked: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @Output()\n public okClick: EventEmitter<string> = new EventEmitter<string>();\n\n @HostBinding('class.co-send-method-dialog')\n public showClass(): boolean {\n return true;\n }\n\n public sendMethods = sendMethodsWithIcon;\n public activeSendMethod: SendMethod;\n public upAndLoaded: boolean = false;\n public startUp: boolean = true;\n\n public showFax: boolean = true;\n public showPrint: boolean = true;\n public showEmail: boolean = true;\n public showEdi: boolean = true;\n public showSms: boolean = true;\n public showEmailTemplate: boolean = true;\n public showWebservice: boolean = true;\n public showPdf: boolean = true;\n\n private _subscriptions: Subscription[] = [];\n\n constructor(\n public iconCacheService: IconCacheService,\n private _changeDetector: ChangeDetectorRef,\n private _sharedService: SharedService,\n private _sendMethodService: SendMethodService\n ) {\n this._subscriptions.push(\n this._sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.subscribe((value: ReportingDocumentPrintSignDocBaseRequest) => this.reportingDocumentPrintRequestChange.next(value)),\n this._sendMethodService.reportingDocumentEmailSignDocBaseRequestChanged.subscribe((value: ReportingDocumentEmailSignDocBaseRequest) => this.reportingDocumentEmailRequestChange.next(value)),\n this._sendMethodService.reportingDocumentPdfBaseRequestChanged.subscribe((value: ReportingDocumentPdfBaseRequest) => this.reportingDocumentPdfRequestChange.next(value))\n )\n }\n\n ngOnInit() {\n if (this.reportingDocumentEmailRequest) {\n this._sendMethodService.reportingDocumentEmailSignDocBaseRequest = this.reportingDocumentEmailRequest;\n }\n if (this.reportingDocumentPrintRequest) {\n this._sendMethodService.reportingDocumentPrintSignDocBaseRequest = this.reportingDocumentPrintRequest;\n }\n if (this.reportingDocumentPdfRequest) {\n this._sendMethodService.reportingDocumentPdfBaseRequest = this.reportingDocumentPdfRequest;\n }\n this._initDefaultSendMethod();\n this._prepareVisibleMethods();\n }\n\n ngOnDestroy(): void {\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\n }\n\n public handleSignatureStart(): void {\n this.docSign = !this.docSign;\n this.startSignatureClicked.emit();\n }\n\n public handleSendMethodClick(sendMethod: SendMethod): void {\n this.activeSendMethod = sendMethod;\n if (sendMethod.code === SendMethodType.Fax && this.showFax) {\n this.navigationItems.nativeElement.scrollLeft = this.faxItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\n } else if (sendMethod.code === SendMethodType.Print && this.showPrint) {\n this.navigationItems.nativeElement.scrollLeft = this.printItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\n } else if (sendMethod.code === SendMethodType.Email && this.showEmail) {\n this.navigationItems.nativeElement.scrollLeft = this.emailItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\n } else if (sendMethod.code === SendMethodType.Edi && this.showEdi) {\n this.navigationItems.nativeElement.scrollLeft = this.ediItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\n } else if (sendMethod.code === SendMethodType.EmailTemplate && this.showEmailTemplate) {\n this.navigationItems.nativeElement.scrollLeft = this.emailTemplateItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\n } else if (sendMethod.code === SendMethodType.Sms && this.showSms) {\n this.navigationItems.nativeElement.scrollLeft = this.smsItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\n } else if (sendMethod.code === SendMethodType.WebService && this.showWebservice) {\n this.navigationItems.nativeElement.scrollLeft = this.webServiceItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\n } else if (sendMethod.code === SendMethodType.Pdf && this.showPdf) {\n this.navigationItems.nativeElement.scrollLeft = this.pdfItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\n }\n }\n\n private _initDefaultSendMethod(): void {\n if (this.defaultSendMethod) {\n this._selectDefaultSendMethod();\n } else {\n if (this.visibleMethods && this.visibleMethods.length === 1) {\n this.defaultSendMethod = this.visibleMethods[0];\n this._selectDefaultSendMethod();\n }\n this.startUp = false;\n }\n }\n\n private _selectDefaultSendMethod(): void {\n const sendMethod: SendMethod = this.sendMethods.find(sm => sm.code === this.defaultSendMethod);\n if (sendMethod) {\n setTimeout(() => {\n this.handleSendMethodClick(sendMethod);\n this.startUp = false;\n });\n }\n }\n\n private _prepareVisibleMethods(): void {\n if (this.visibleMethods && this.visibleMethods.length > 0) {\n this.sendMethods = this.sendMethods.filter(sm => this.visibleMethods.find(vm => vm === sm.code));\n }\n this.showFax = this.sendMethods.find(sm => sm.code === SendMethodType.Fax) !== undefined;\n this.showPrint = this.sendMethods.find(sm => sm.code === SendMethodType.Print) !== undefined;\n this.showEmail = this.sendMethods.find(sm => sm.code === SendMethodType.Email) !== undefined;\n this.showEdi = this.sendMethods.find(sm => sm.code === SendMethodType.Edi) !== undefined;\n this.showEmailTemplate = this.sendMethods.find(sm => sm.code === SendMethodType.EmailTemplate) !== undefined;\n this.showSms = this.sendMethods.find(sm => sm.code === SendMethodType.Sms) !== undefined;\n this.showWebservice = this.sendMethods.find(sm => sm.code === SendMethodType.WebService) !== undefined;\n this.showPdf = this.sendMethods.find(sm => sm.code === SendMethodType.Pdf) !== undefined;\n\n }\n}\n","export class EmailAddressViewmodel {\n public checked: boolean;\n public emailAddress: string;\n\n constructor(checked: boolean, emailAddress: string) {\n this.checked = checked;\n this.emailAddress = emailAddress;\n }\n}\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\nimport {SendMethodService} from '../../service/send-method.service';\nimport {EmailAddressViewmodel} from '../../model/email-address-viewmodel';\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\n\n@Component({\n selector: 'co-send-method-email',\n template: `\n <div class=\"email-addresses-wrapper co-small-scrollbar\">\n <div class=\"email-address-wrapper\" *ngFor=\"let emailAddressViewmodel of emailAddressViewmodels\" (click)=\"handleCheckedEmail(emailAddressViewmodel)\">\n <co-input-checkbox [model]=\"emailAddressViewmodel.checked\" (modelChange)=\"handleCheckedEmail(emailAddressViewmodel)\"></co-input-checkbox>\n <div class=\"email-address\" [textContent]=\"emailAddressViewmodel.emailAddress\"></div>\n </div>\n </div>\n <div class=\"layout-signature-wrapper\">\n <co-layout-selection\n [(request)]=\"sendMethodService.reportingDocumentEmailSignDocBaseRequest\"\n [layouts]=\"layouts\"\n ></co-layout-selection>\n <co-signature-button\n [request]=\"sendMethodService.reportingDocumentEmailSignDocBaseRequest\"\n ></co-signature-button>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class SendMethodEmailComponent implements OnInit {\n\n @Input()\n public emailAddresses: string[] = [];\n\n @Input()\n public layouts: ReportLayoutSelectionEmail[] = [];\n\n @HostBinding('class.co-send-method-email')\n public showClass() {\n return true;\n }\n\n public emailAddressViewmodels: EmailAddressViewmodel[] = [];\n\n constructor(public sendMethodService: SendMethodService) {\n }\n\n ngOnInit(): void {\n if (this.emailAddresses) {\n this.emailAddresses.forEach((ea: string) => {\n const emailAddressViewmodel: EmailAddressViewmodel = new EmailAddressViewmodel(this.sendMethodService.selectedEmailAddresses.indexOf(ea) > -1, ea);\n this.emailAddressViewmodels.push(emailAddressViewmodel);\n });\n }\n }\n\n public handleCheckedEmail(emailAddressViewmodel: EmailAddressViewmodel): void {\n const wantedValue: boolean = !emailAddressViewmodel.checked;\n if (!wantedValue) {\n this.sendMethodService.removeEmailAddress(emailAddressViewmodel.emailAddress);\n } else {\n this.sendMethodService.addEmailAddress(emailAddressViewmodel.emailAddress);\n }\n emailAddressViewmodel.checked = wantedValue;\n }\n}\n","import {\n ChangeDetectorRef,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnInit,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport {ReportLayoutSelectionBase} from '@colijnit/mainapi/build/model/report-layout-selection-base.bo';\nimport {ReportingDocumentBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-base-request';\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\n\n@Component({\n selector: 'co-layout-selection',\n template: `\n <div class=\"layout-selection-wrapper\" (click)=\"showLayoutList = !showLayoutList\">\n <div class=\"title\" [textContent]=\"'Lay-out'\"></div>\n <div class=\"layout-description\" [textContent]=\"currentLayout?.description || 'Layout kiezen'\"></div>\n </div>\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showLayoutList\" @showHideLayouts>\n <div class=\"layouts-wrapper-header\">\n <div class=\"title\" [textContent]=\"'Lay-out'\"></div>\n <div class=\"close-layouts\">\n <div class=\"dialog-close-button\" (click)=\"closeSelectLayout()\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.XSolid)\"></co-icon>\n </div>\n </div>\n </div>\n\n <div class=\"layout-selection-wrapper\" *ngFor=\"let reportLayout of layouts\"\n [class.selected]=\"reportLayout.reportId === currentLayout?.reportId\"\n (click)=\"handleSelectLayout(reportLayout)\">\n <div class=\"layout-description\" [textContent]=\"reportLayout.description\"></div>\n </div>\n </div>\n `,\n animations: [\n trigger(\"showHideLayouts\", [\n state(\"void\", style({height: 0})),\n state(\"*\", style({height: \"100%\"})),\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\n transition(\"* => void\", animate(\"200ms ease-out\"))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutSelectionComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n @Input()\n public request: ReportingDocumentBaseRequest;\n\n @Input()\n public layouts: ReportLayoutSelectionBase[] = [];\n\n @Output()\n public requestChange: EventEmitter<ReportingDocumentBaseRequest> = new EventEmitter<ReportingDocumentBaseRequest>();\n\n @HostBinding('class.co-layout-selection')\n public showClass() {\n return true;\n }\n\n public currentLayout: ReportLayoutSelectionBase;\n public showLayoutList: boolean = false;\n constructor(\n public iconCacheService: IconCacheService\n ) {\n }\n ngOnInit(): void {\n if (this.layouts && this.layouts.length > 0) {\n this.currentLayout = this.layouts.find(l => l.reportId === this.request.reportId);\n if (!this.currentLayout) {\n this.currentLayout = this.layouts[0];\n }\n }\n }\n\n public handleSelectLayout(reportLayout: ReportLayoutSelectionBase): void {\n this.currentLayout = reportLayout;\n this.request.reportId = this.currentLayout.reportId;\n this.requestChange.emit(this.request);\n this.showLayoutList = false;\n }\n public closeSelectLayout(): void {\n this.showLayoutList = false;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {LayoutSelectionComponent} from './layout-selection.component';\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule\n ],\n declarations: [\n LayoutSelectionComponent\n ],\n exports: [\n LayoutSelectionComponent\n ]\n})\nexport class LayoutSelectionModule {\n}\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {\n ReportingDocumentEmailSignDocBaseRequest\n} from \"@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request\";\nimport {\n ReportingDocumentPrintSignDocBaseRequest\n} from \"@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request\";\n\n@Component({\n selector: \"co-signature-button\",\n template: `\n <div class=\"signature-button-wrapper\"\n [class.selected]=\"request.parkForDigitalSignature\"\n (click)=\"handleToggleSignature()\">\n <co-icon\n [iconData]=\"iconCacheService.getIcon(icons.FileSignatureRegular)\"\n ></co-icon>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class SignatureButtonComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public request: ReportingDocumentEmailSignDocBaseRequest | ReportingDocumentPrintSignDocBaseRequest;\n\n @HostBinding(\"class.co-signature-button\")\n public showClass() {\n return true;\n }\n\n constructor(\n public iconCacheService: IconCacheService\n ) { }\n\n public handleToggleSignature(): void {\n this.request.parkForDigitalSignature = !this.request.parkForDigitalSignature;\n }\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {SignatureButtonComponent} from \"./signature-button.component\";\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule\n ],\n declarations: [\n SignatureButtonComponent\n ],\n exports: [\n SignatureButtonComponent\n ]\n})\nexport class SignatureButtonModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SendMethodEmailComponent} from './send-method-email.component';\nimport {IconModule, InputCheckboxModule} from '@colijnit/corecomponents_v12';\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\nimport {SignatureButtonModule} from \"../signature-button/signature-button.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n InputCheckboxModule,\n LayoutSelectionModule,\n IconModule,\n SignatureButtonModule\n ],\n declarations: [\n SendMethodEmailComponent\n ],\n exports: [\n SendMethodEmailComponent\n ]\n})\nexport class SendMethodEmailModule {\n}\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\nimport {SendMethodService} from '../../service/send-method.service';\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\n\n@Component({\n selector: 'co-send-method-printer',\n template: `\n <div class=\"printer-layout-selections-wrapper\">\n <co-printer-selection [printers]=\"printerList\"></co-printer-selection>\n <div *ngIf=\"isPrinterLayoutsEnabled\" class=\"layout-signature-wrapper\">\n <co-layout-selection\n [(request)]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest\"\n [layouts]=\"layouts\"\n ></co-layout-selection>\n <co-signature-button\n [request]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest\"\n ></co-signature-button>\n </div>\n </div>\n <co-input-checkbox\n [model]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser\"\n [label]=\"'Koppeling onthouden'\"\n (modelChange)=\"handleDefaultPrinterUserChange($event)\"\n ></co-input-checkbox>\n <co-input-checkbox\n [model]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers\"\n [label]=\"'Alle gebruikers'\"\n (modelChange)=\"handleDefaultPrinterAllUsersChange($event)\"\n ></co-input-checkbox>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class SendMethodPrinterComponent {\n @Input()\n public printerList: Printer[] = [];\n\n @Input()\n public layouts: ReportLayoutSelectionPrint[] = [];\n\n @Input()\n public isPrinterLayoutsEnabled: boolean = true;\n\n @HostBinding('class.co-send-method-printer')\n public showClass() {\n return true;\n }\n\n constructor(\n public sendMethodService: SendMethodService\n ) {\n }\n\n public handleDefaultPrinterUserChange(checked: boolean): void {\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser = checked;\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\n }\n\n public handleDefaultPrinterAllUsersChange(checked: boolean): void {\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers = checked;\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\n }\n}\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\nimport {animate, state, style, transition, trigger} from '@angular/animations';\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\nimport {SharedService} from '../../../../service/shared.service';\nimport {IconCacheService} from '../../../../service/icon-cache.service';\nimport {Icon} from '../../../../enum/icon.enum';\nimport {SendMethodService} from '../../service/send-method.service';\n\n@Component({\n selector: 'co-printer-selection',\n template: `\n <div class=\"printer-selection-wrapper\" (click)=\"showPrinterList = !showPrinterList\">\n <div class=\"title\" [textContent]=\"'Printer'\"></div>\n <div class=\"printer-name\" [textContent]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName || 'Printer kiezen'\"></div>\n </div>\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showPrinterList\" @showHideLayouts>\n <div class=\"layouts-wrapper-header\">\n <div class=\"title\" [textContent]=\"'Printer'\"></div>\n <div class=\"close-layouts\">\n <div class=\"dialog-close-button\" (click)=\"closePrinterClicked()\">\n <co-icon [iconData]=\"iconService.getIcon(icons.XSolid)\"></co-icon>\n </div>\n </div>\n </div>\n <div class=\"printer-list-item\" *ngFor=\"let printer of printers\"\n [class.selected]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName === printer.name\"\n (click)=\"handlePrinterClicked(printer)\">\n <co-icon class=\"printer-icon\" [iconData]=\"iconService.getIcon(icons.PrintRegular)\"></co-icon>\n <div class=\"printer-details\">\n <span class=\"printer-name\" [textContent]=\"printer.name\"></span>\n <span class=\"printer-status\" [textContent]=\"printer.acceptingJobs\"></span>\n </div>\n </div>\n </div>\n `,\n animations: [\n trigger('showHideLayouts', [\n state('void', style({height: 0})),\n state('*', style({height: '100%'})),\n transition('void => *', animate('200ms ease-in-out')),\n transition('* => void', animate('200ms ease-out'))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class PrinterSelectionComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public printers: Printer[] = [];\n\n @HostBinding('class.co-printer-selection')\n public showClass() {\n return true;\n }\n\n public showPrinterList: boolean = false;\n\n constructor(\n public sendMethodService: SendMethodService,\n public iconService: IconCacheService,\n private _service: SharedService\n ) {\n }\n\n ngOnInit(): void {\n if (!this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName && this.printers && this.printers.length > 0) {\n const defaultPrinter: Printer = this.printers.find(p => p.isDefault);\n if (defaultPrinter) {\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = defaultPrinter.name;\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\n }\n }\n }\n\n public handlePrinterClicked(printer: Printer): void {\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = printer.name;\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\n this.showPrinterList = false;\n }\n public closePrinterClicked(): void {\n this.showPrinterList = false;\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {PrinterSelectionComponent} from './printer-selection.component';\nimport {IconModule} from '@colijnit/corecomponents_v12';\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule\n ],\n declarations: [\n PrinterSelectionComponent\n ],\n exports: [\n PrinterSelectionComponent\n ]\n})\nexport class PrinterSelectionModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SendMethodPrinterComponent} from './send-method-printer.component';\nimport {IconModule, InputCheckboxModule} from '@colijnit/corecomponents_v12';\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\nimport {PrinterSelectionModule} from '../printer-selection/printer-selection.module';\nimport {SignatureButtonModule} from \"../signature-button/signature-button.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule,\n LayoutSelectionModule,\n PrinterSelectionModule,\n InputCheckboxModule,\n SignatureButtonModule\n ],\n declarations: [\n SendMethodPrinterComponent\n ],\n exports: [\n SendMethodPrinterComponent\n ]\n})\nexport class SendMethodPrinterModule {\n}\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\nimport {SendMethodService} from '../../service/send-method.service';\n\n@Component({\n selector: 'co-send-method-pdf',\n template: `\n <div class=\"pdf-layout-selections-wrapper\">\n <div class=\"layout-signature-wrapper\">\n <co-layout-selection\n [(request)]=\"sendMethodService.reportingDocumentPdfBaseRequest\"\n [layouts]=\"layouts\"\n ></co-layout-selection>\n<!--\n <co-signature-button\n [request]=\"sendMethodService.reportingDocumentPdfBaseRequest\"\n ></co-signature-button>\n-->\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class SendMethodPdfComponent {\n\n @Input()\n public layouts: ReportLayoutSelectionPrint[] = [];\n\n @HostBinding('class.co-send-method-pdf')\n public showClass() {\n return true;\n }\n\n constructor(\n public sendMethodService: SendMethodService\n ) {\n }\n} \n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {SendMethodPdfComponent} from './send-method-pdf.component';\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\nimport {SignatureButtonModule} from '../signature-button/signature-button.module';\n\n@NgModule({\n imports: [\n CommonModule,\n LayoutSelectionModule,\n SignatureButtonModule\n ],\n declarations: [\n SendMethodPdfComponent\n ],\n exports: [\n SendMethodPdfComponent\n ]\n})\nexport class SendMethodPdfModule {\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ButtonModule, CoDialogModule, IconModule} from '@colijnit/corecomponents_v12';\nimport {SendMethodDialogComponent} from './send-method-dialog.component';\nimport {StockService} from '../../service/stock.service';\nimport {SendMethodService} from './service/send-method.service';\nimport {SendMethodEmailModule} from './components/send-method-email/send-method-email.module';\nimport {SendMethodPrinterModule} from './components/send-method-printer/send-method-printer.module';\nimport {SendMethodPdfModule} from './components/send-method-pdf/send-method-pdf.module';\n\n@NgModule({\n declarations: [\n SendMethodDialogComponent\n ],\n imports: [\n CommonModule,\n CoDialogModule,\n IconModule,\n SendMethodEmailModule,\n SendMethodPrinterModule,\n ButtonModule,\n SendMethodPdfModule\n ],\n exports: [\n SendMethodDialogComponent\n ],\n providers: [\n SendMethodService,\n StockService\n ]\n})\nexport class SendMethodDialogModule { }\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {StockService} from \"../../../service/stock.service\";\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\n\n@Component({\n selector: \"co-stock-change-amount\",\n template: `\n <div class=\"stock-transfer\">\n <co-dialog-wizard [showCloseIcon]=\"true\" (closeClick)=\"closeDialogClick()\">\n <ng-container header>\n <span [textContent]=\"'STOCK_CHANGE_REASON' | localize\"></span>\n </ng-container>\n <div class=\"popup-wrapper\">\n<!--\n <co-drop-down-list [collection]=\"stockState\"\n [fields]=\"stockStateDropdownField\"\n [placeholder]=\"'STOCK_STATE' | localize\"\n [(model)]=\"selectedArticleDetailsData.stockStateId\"\n ></co-drop-down-list>\n-->\n\n <co-input-textarea [(model)]=\"selectedArticleDetailsData.stockStateRemark\"\n\n ></co-input-textarea>\n <div class=\"ok-cancel-buttons\">\n <co-button [textContent]=\"'OK' | localize\" (click)=\"handleOkClick(selectedArticleDetailsData)\"></co-button>\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"handleCancelClick()\"></co-button>\n </div>\n </div>\n </co-dialog-wizard>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockChangeAmountComponent implements AfterViewInit {\n\n @Input()\n public selectedArticleDetailsData: ArticleDetailsBo;\n\n @Output()\n public readonly closeStockChangeAmount: EventEmitter<any> = new EventEmitter();\n\n public stockState: StockStatus[] = [];\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\n\n constructor(\n private _stockService: StockService\n ) {\n }\n\n ngAfterViewInit() {\n this.getStockState();\n }\n\n public closeDialogClick(): void {\n this.closeStockChangeAmount.emit();\n }\n\n public async handleOkClick(data: ArticleDetailsBo): Promise<void> {\n data.selected = true;\n data.entryDate = new Date();\n await this._stockService.updateArticleDetails(data);\n }\n\n public handleCancelClick(): void {\n this.closeStockChangeAmount.emit();\n }\n\n public getStockState(): void {\n this._stockService.getStockState().then((state: StockStatus[]) => {\n this.stockState = state;\n });\n }\n\n}\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\n\n@Component({\n selector: \"co-stock-tab\",\n template: `\n <co-simple-grid [data]=\"articleStockInformation\"a\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNo'\" [order]=\"10\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseName'\" [order]=\"11\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'technicalStock'\" [order]=\"12\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'availableStock'\" [order]=\"13\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK' | localize\" [field]=\"'economicalStock'\" [order]=\"14\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\" [order]=\"15\">\n <ng-template #template let-row=\"row\">\n <span class=\"location-link\" [textContent]=\"'LOOK_AT' | localize\" (click)=\"onLocationClick(row)\"></span>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockTabComponent {\n\n @Input()\n public articleStockInformation: ArticleStockBo[] = [];\n\n @Output()\n public locationClicked: EventEmitter<StockManagementWarehouses> = new EventEmitter<StockManagementWarehouses>();\n\n public warehouseToShow: StockManagementWarehouses = new StockManagementWarehouses();\n\n public onLocationClick(data: ArticleStockBo): void {\n this.warehouseToShow.warehouseNo = +data.warehouseNo;\n this.locationClicked.emit(this.warehouseToShow);\n }\n}\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {StockService} from \"../../../../service/stock.service\";\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\n\n@Component({\n selector: \"co-order-tab\",\n template: `\n <co-simple-grid [data]=\"inOrderInformation\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'CUSTOMER' | localize\" [field]=\"'customerName'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick(row)\"></co-icon>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderTabComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public articleStockInformation: ArticleStockBo[] = [];\n\n @Input()\n public inOrderInformation: ArticleTransactionBo[] = [];\n\n @Output()\n public locationClicked: EventEmitter<ArticleStockBo> = new EventEmitter<ArticleStockBo>();\n\n @Output()\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\n\n @Output()\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\n\n constructor(\n public iconCacheService: IconCacheService,\n private _stockService: StockService,\n ) {\n }\n\n public openSendMethodDialog(data): void {\n this.sendMethodDialogClicked.emit(data);\n }\n\n public handleStockTransferClick(event): void {\n this.transferIconClicked.emit(event);\n }\n}\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\nimport {Icon} from \"../../../enum/icon.enum\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\nimport {StockService} from \"../../../service/stock.service\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {Tab} from \"../../tab-bar/tab.interface\";\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\nimport {LocalizeService} from '../../../localization/localize.service';\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\n\n@Component({\n selector: \"co-stock-tabs\",\n template: `\n <co-tab-bar [wareHouseLabel]=\"'CHOICES' | localize\"\n [wareHouseSearchLabel]=\"'SEARCH' | localize\"\n [tabs]=\"tabs\"\n [dataWareHouseCode]=\"warehouses\"\n [selectedWarehouse]=\"selectedWarehouse\"\n [secondaryTabs]=\"historyTabs\"\n [ActivateSecondaryTabs]=\"tabs[5].active\"\n [showWarehouseSelection]=\"tabs[1].active || tabs[2].active\"\n (warehouseSelected)=\"handleWarehouseSelected($event)\"\n ></co-tab-bar>\n\n <co-stock-tab *ngIf=\"tabs[0].active\"\n [articleStockInformation]=\"stockInformation\"\n (locationClicked)=\"handleLocationClicked($event)\"\n ></co-stock-tab>\n\n <co-stock-prognose *ngIf=\"tabs[1].active\"\n [stockPrognose]=\"stockPrognose\"\n ></co-stock-prognose>\n\n <co-stock-location *ngIf=\"tabs[2].active\"\n [articleStockInfo]=\"articleDetails\"\n [articleStockInformation]=\"stockInformation\"\n [article]=\"article\"\n [articleFlat]=\"articleFlat\"\n [selectedWarehouse]=\"selectedWarehouse\"\n [dataWareHouseCode]=\"warehouses\"\n (transferIconClicked)=\"transferIconClicked.emit($event)\"\n (sendMethodDialogClicked)=\"sendMethodDialogClicked.emit($event)\"\n\n ></co-stock-location>\n\n <co-order-tab *ngIf=\"tabs[3].active\"\n [articleStockInformation]=\"stockInformation\"\n [inOrderInformation]=\"inOrderInformation\"\n (transferIconClicked)=\"transferIconClicked.emit($event)\"\n (sendMethodDialogClicked)=\"sendMethodDialogClicked.emit($event)\"\n ></co-order-tab>\n\n <co-order-stock-tab *ngIf=\"tabs[4].active\"\n [orderInformation]=\"orderInformation\"\n ></co-order-stock-tab>\n\n <co-stock-history *ngIf=\"historyTabs[0].active && tabs[5].active\"\n [stockHistory]=\"stockHistory\"\n ></co-stock-history>\n\n <co-order-supply-stock-history *ngIf=\"historyTabs[1].active && tabs[5].active\"\n [orderSupplyStockHistory]=\"orderSupplyStockHistory\"\n ></co-order-supply-stock-history>\n\n <co-order-stock-commission-history *ngIf=\"historyTabs[2].active && tabs[5].active\"\n [orderStockCommissionHistory]=\"orderCommissionStockHistory\"\n ></co-order-stock-commission-history>\n\n <co-order-stock-history *ngIf=\"historyTabs[3].active && tabs[5].active\"\n [orderStockHistory]=\"orderStockHistory\"\n ></co-order-stock-history>\n\n <co-allocation-stock-history *ngIf=\"historyTabs[4].active && tabs[5].active\"\n [allocationStockHistory]=\"orderAllocationStockHistory\"\n ></co-allocation-stock-history>\n\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockTabsComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public stockInformation: ArticleStockBo[] = [];\n\n @Input()\n public article: ArticleExtended;\n\n @Input()\n public articleFlat: ArticleFlat;\n\n\n @Input()\n public warehouses: StockManagementWarehouses[] = [];\n\n @Output()\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\n\n @Output()\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\n\n\n public selectedLocationNo: string;\n public stockHistory: StockHistoryBo[] = [];\n public orderSupplyStockHistory: StockHistoryBo[] = [];\n public orderCommissionStockHistory: StockHistoryBo[] = [];\n public orderStockHistory: StockHistoryBo[] = [];\n public orderAllocationStockHistory: StockHistoryBo[] = [];\n public inOrderInformation: ArticleTransactionBo[] = [];\n public orderInformation: ArticleTransactionBo[] = [];\n public stockPrognose: StockForecast[] = [];\n public selectedWarehouse: StockManagementWarehouses;\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement()\n public showWarehouseSelection: boolean = false;\n public articleDetails: ArticleDetailsBo[] = [];\n\n public tabs: Tab[] = [];\n public historyTabs: Tab[] = [];\n\n constructor(\n private _stockService: StockService,\n private _localizeService: LocalizeService,\n private _changeDetector: ChangeDetectorRef,\n ) {\n }\n\n ngOnInit() {\n this.tabs = [\n {title: this._localizeService.get('OVERVIEW'), active: true},\n {title: this._localizeService.get('STOCK_FORECAST'), active: false},\n {title: this._localizeService.get('STOCK_DETAILS'), active: false},\n {title: this._localizeService.get('ALREADY_IN_ORDER'), active: false},\n {title: this._localizeService.get('IN_ORDER'), active: false},\n {title: this._localizeService.get('HISTORY'), active: false},\n ];\n\n this.historyTabs = [\n {title: this._localizeService.get('STOCK'), active: true},\n {\n title: this._localizeService.get('ORDER_STOCK'),\n active: false\n },\n {\n title: this._localizeService.get('ORDER_COMMISSION'),\n active: false\n },\n {title: this._localizeService.get('ORDER'), active: false},\n {\n title: this._localizeService.get('ALLOCATION'),\n active: false\n },\n ];\n\n\n }\n\n public handleLocationClicked(data: StockManagementWarehouses): void {\n this.tabs[0].active = false;\n this.tabs[2].active = true;\n this.selectedWarehouse = this.wareHouseForCode(data.warehouseNo);\n this.handleWarehouseSelected(this.selectedWarehouse);\n this.getStockData(data);\n }\n\n public getStockHistory(): void {\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\n stockHistoryInformation.type = \"V\";\n stockHistoryInformation.goodId = this.article.goodId.toString();\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\n this.stockHistory = result\n });\n }\n\n public getOrderSupplyStockHistory(): void {\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\n stockHistoryInformation.type = \"O\";\n stockHistoryInformation.goodId = this.article.goodId.toString();\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\n this.orderSupplyStockHistory = result;\n });\n }\n\n public getOrderCommissionStockHistory(): void {\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\n stockHistoryInformation.type = \"C\";\n stockHistoryInformation.goodId = this.article.goodId.toString();\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\n this.orderCommissionStockHistory = result;\n });\n }\n\n public getOrderStockHistory(): void {\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\n stockHistoryInformation.type = \"B\";\n stockHistoryInformation.goodId = this.article.goodId.toString();\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\n this.orderStockHistory = result;\n });\n }\n\n public getAllocationStockHistory(): void {\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\n stockHistoryInformation.type = \"T\";\n stockHistoryInformation.goodId = this.article.goodId.toString();\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\n this.orderAllocationStockHistory = result;\n });\n }\n\n public getInOrderData(): void {\n const inOrderData: ArticleTransaction = new ArticleTransaction();\n inOrderData.type = \"V\";\n inOrderData.goodId = this.stockInformation[0].goodId.toString();\n this._stockService.getArticleTransaction(inOrderData).then(result => {\n this.inOrderInformation = result;\n });\n }\n\n public getOrderData(): void {\n const orderData: ArticleTransaction = new ArticleTransaction();\n orderData.type = \"I\";\n orderData.goodId = this.stockInformation[0].goodId.toString();\n this._stockService.getArticleTransaction(orderData).then(result => {\n this.orderInformation = result;\n });\n }\n\n public getStockPrognose(warehouseNo: number): void {\n this._stockService.stockPrognose(this.article.goodId, warehouseNo).then(result => {\n this.stockPrognose = result;\n });\n }\n\n public handleWarehouseSelected(event: StockManagementWarehouses): void {\n this.selectedWarehouse = event;\n this._stockService.warehouseSelected.emit(event);\n if (this.tabs[1].active) {\n this.getStockPrognose(this.selectedWarehouse.warehouseNo);\n }\n if (this.tabs[2].active) {\n this.articleDetailsInformation.warehouseNumber = event.warehouseNo;\n this.articleDetailsInformation.goodId = this.article.goodId.toString();\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\n this.articleDetails = details;\n });\n }\n\n }\n\n public getStockData(warehouse: StockManagementWarehouses) {\n this.handleWarehouseSelected(warehouse);\n this.getStockPrognose(warehouse.warehouseNo);\n this.getOrderData();\n this.getInOrderData();\n this.getAllocationStockHistory();\n this.getOrderStockHistory();\n this.getOrderCommissionStockHistory();\n this.getOrderSupplyStockHistory();\n this.getStockHistory();\n this._changeDetector.markForCheck();\n this._changeDetector.detectChanges();\n\n }\n\n public wareHouseForCode(code: number) {\n return this.warehouses.find(warehouse => warehouse.warehouseNo === code);\n }\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {Icon} from \"../../../enum/icon.enum\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\n\n@Component({\n selector: \"co-stock-history-tabs\",\n template: `\n <div class=\"stock-history-tabs-wrapper\">\n <div class=\"tab-container\">\n <div class=\"tab-header\">\n <button class=\"tab-button\" (click)=\"selectedTab = 0\" [class.active]=\"selectedTab === 0\">{{ 'STOCK' | localize }}</button>\n <button class=\"tab-button\" (click)=\"selectedTab = 1\" [class.active]=\"selectedTab === 1\">{{ 'ORDER_STOCK' | localize }}</button>\n <button class=\"tab-button\" (click)=\"selectedTab = 2\" [class.active]=\"selectedTab === 2\">{{ 'ORDER_COMMISSION' | localize }}</button>\n <button class=\"tab-button\" (click)=\"selectedTab = 3\" [class.active]=\"selectedTab === 3\">{{ 'ORDER' | localize }}</button>\n <button class=\"tab-button\" (click)=\"selectedTab = 4\" [class.active]=\"selectedTab === 4\">{{ 'ALLOCATION' | localize }}</button>\n </div>\n </div>\n </div>\n\n\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockHistoryTabsComponent {\n public readonly icons: typeof Icon = Icon;\n\n public selectedTab = 0;\n\n @Input()\n public stockInformation: ArticleStockBo[];\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {StockService} from \"../../../../service/stock.service\";\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\n\n@Component({\n selector: \"co-order-stock-tab\",\n template: `\n <co-simple-grid [data]=\"orderInformation\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RESERVED' | localize\" [field]=\"'reserved'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'InOrderForStock'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.deliveryDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderStockTabComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public orderInformation: ArticleTransactionBo[] = [];\n\n constructor(\n public iconCacheService: IconCacheService,\n private _stockService: StockService,\n ) {\n }\n}\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {StockService} from \"../../../../service/stock.service\";\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\nimport {Subscription} from \"rxjs\";\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\n\n@Component({\n selector: \"co-stock-location\",\n template: `\n <div class=\"stock-grid\">\n <co-dialog *ngIf=\"showConfirmationDialog\" [showCloseIcon]=\"true\" [modal]=\"true\" [headerTemplate]=\"headerTemplate\"\n [footerTemplate]=\"footerTemplate\">\n <ng-template #headerTemplate>\n <div class=\"header-wrapper\">\n <span [textContent]=\"'CONFIRM_STOCK_CHANGE' | localize\"></span>\n </div>\n </ng-template>\n <div class=\"dialog-wrapper\">\n <co-list-of-values [label]=\"'STATUS' | localize\"\n [model]=\"statusForId(selectedArticleDetailsData.stockStateId)\"\n [collection]=\"stockStatus\"\n [displayField]=\"'stateDescription'\"\n (modelChange)=\"handleStockStatusChange($event)\"\n ></co-list-of-values>\n <co-input-text [placeholder]=\"'REMARK' | localize\"\n (modelChange)=\"handleStockStatusRemarkChange($event)\"></co-input-text>\n </div>\n <ng-template #footerTemplate>\n <div class=\"button-wrapper\">\n <co-button (click)=\"handleOkClick()\" [label]=\"'OK'| localize\" [disabled]=\"disabled()\"></co-button>\n <co-button class=\"cancel-button\" (click)=\"showConfirmationDialog = false\"\n [label]=\"'CANCEL'| localize \"></co-button>\n </div>\n </ng-template>\n </co-dialog>\n <co-simple-grid [data]=\"articleStockInfo\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n [showAdd]=\"true\"\n [inlineEdit]=\"true\"\n (dblClickRow)=\"lockSelectedRow($event)\"\n [showToolbar]=\"true\"\n (keydown.enter)=\"onOkClickSendLocations()\"\n\n >\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'amountInStock'\">\n <ng-template #editTemplate let-row=\"row\">\n <co-input-text [(model)]=\"row['amountInStock']\"\n [label]=\"'STOCK' | localize\"\n (modelChange)=\"amountInStockChanged($event)\"\n ></co-input-text>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column *ngIf=\"articleFlat?.locationRegistered\" [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\">\n <ng-template #editTemplate let-row=\"row\">\n <co-list-of-values\n [model]=\"locationForNumber(row['locationNo'])\"\n [collection]=\"stockLocations\"\n [displayField]=\"'description'\"\n [label]=\"'LOCATION' | localize\"\n (click)=\"onLocationDropdownClick()\"\n [required]=\"true\"\n (modelChange)=\"locationChanged(row, $event)\"\n ></co-list-of-values>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'BATCH' | localize\" [field]=\"'batchNo'\">\n <ng-template #editTemplate let-row=\"row\">\n <co-input-text *ngIf=\"articleFlat?.batch\" [model]=\"selectedArticleDetailsData.batchNo\"\n [placeholder]=\"'BATCH' | localize\"\n (modelChange)=\"row['batchNo'] = $event\"\n ></co-input-text>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'SERIAL_NO' | localize\" [field]=\"'serialNo'\">\n <ng-template #editTemplate let-row=\"row\">\n <co-input-text *ngIf=\"articleFlat?.serial\" [model]=\"selectedArticleDetailsData.serialNo\"\n [placeholder]=\"'SERIAL_NO' | localize\"\n (modelChange)=\"row['serialNo'] = $event\"\n ></co-input-text>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'ALLOCATED' | localize\" [field]=\"'stockAssigned'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row['stockAssigned']\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'amountInStockFree'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row['amountInStockFree']\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currency'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row['currency']\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'PURCHASE_PRICE' | localize\" [field]=\"'purchasePrice'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row['purchasePrice']\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'SUPPLIERNR' | localize\" [field]=\"'supplierNo'\">\n <ng-template #editTemplate let-row=\"row\">\n <span [textContent]=\"row['supplierNo']\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\"\n (click)=\"handleStockTransferClick(row)\"></co-icon>\n </ng-template>\n <ng-template #editTemplate></ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\n <ng-template #template let-row=\"row\">\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\"\n (click)=\"openSendMethodDialog(row)\"></co-icon>\n </ng-template>\n <ng-template #editTemplate></ng-template>\n </co-simple-grid-column>\n </co-simple-grid>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockLocationComponent implements OnInit {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public articleStockInfo: ArticleDetailsBo[] = [];\n\n @Input()\n public articleStockInformation: ArticleStockBo[] = [];\n\n @Input()\n public set article(article: ArticleExtended) {\n\n };\n\n @Input()\n public articleFlat: ArticleFlat;\n\n\n @Input()\n public dataWareHouseCode: StockManagementWarehouses[] = [];\n\n @Output()\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\n\n @Output()\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\n\n @Input()\n public selectedWarehouse: StockManagementWarehouses;\n\n\n public articleDetails: ArticleDetailsBo;\n public showConfirmationDialog:boolean = false;\n\n\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement()\n public stockLocations: StockLocation[] = [];\n\n public stockStatus: StockStatus[] = [];\n public selectedArticleDetailsData: ArticleDetailsBo = new ArticleDetailsBo();\n\n public selectedLocationNo: string;\n\n private _subs: Subscription[] = [];\n constructor(\n public iconCacheService: IconCacheService,\n private _stockService: StockService,\n private _changeDetector: ChangeDetectorRef,\n\n ) {\n }\n\n ngOnInit() {\n this._stockService.getStockState().then( result => {\n this.stockStatus = result;\n });\n this._subs.push( this._stockService.warehouseSelected.subscribe( selectedWarehouse => {\n this._stockService.getStockManagementLocations(selectedWarehouse.warehouseNo).then( result => {\n this.stockLocations = result;\n });\n }));\n\n }\n\n public lockSelectedRow(row): void {\n this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then( result => {\n this.stockLocations = result;\n this.selectedLocationNo = row.locationNo;\n this._stockService.lockArticleDetails(row);\n this.selectedArticleDetailsData = row;\n });\n\n }\n\n public onLocationDropdownClick(): void {\n this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then((locations) => {\n this.stockLocations = locations;\n });\n }\n\n public locationChanged(row: ArticleDetailsBo, event: StockLocation): void {\n this.selectedLocationNo = event.locationNo;\n row.locationNo = event.locationNo;\n }\n\n public amountInStockChanged(data): void {\n this.selectedArticleDetailsData.amountInStock = data;\n }\n\n public openSendMethodDialog(data): void {\n this.sendMethodDialogClicked.emit(data);\n }\n\n public handleStockTransferClick(event): void {\n this.transferIconClicked.emit(event);\n }\n public onOkClickSendLocations(): void {\n this.showConfirmationDialog = true;\n }\n\n public handleOkClick() {\n this.selectedArticleDetailsData.selected = true;\n this.selectedArticleDetailsData.goodId = this.articleFlat.goodId;\n this.selectedArticleDetailsData.entryDate = new Date();\n this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse.warehouseNo;\n this.selectedArticleDetailsData.locationNo = this.selectedLocationNo?.toString();\n this._stockService.updateArticleDetails(this.selectedArticleDetailsData).then( result => {\n\n this.articleDetailsInformation.goodId = this.selectedArticleDetailsData.goodId?.toString();\n this.articleDetailsInformation.warehouseNumber = this.selectedArticleDetailsData.warehouseNo;\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\n this.showConfirmationDialog = false;\n this._changeDetector.detectChanges();\n this.articleStockInfo = details;\n });\n }\n );\n }\n\n public handleStockStatusChange(status: StockStatus) {\n this.selectedArticleDetailsData.stockStateId = status.stockStateId;\n }\n\n public handleStockStatusRemarkChange(remark: string) {\n this.selectedArticleDetailsData.stockStateRemark = remark;\n }\n\n public disabled() {\n return (!this.selectedArticleDetailsData?.stockStateId && this.selectedArticleDetailsData?.stockStateRemark?.length <= 1);\n }\n\n\n public statusForId(id: number) {\n return this.stockStatus.find( status => status.stockStateId === id);\n }\n\n public locationForNumber(number: number) {\n return this.stockLocations?.find( location => location.locationNo === number?.toString());\n }\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {StockService} from \"../../../../service/stock.service\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {Icon} from \"../../../../enum/icon.enum\";\n\n@Component({\n selector: \"co-stock-history\",\n template: `\n <co-simple-grid [data]=\"stockHistory\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockHistoryComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public stockHistoryInformation: StockHistoryBo[] = [];\n\n @Input()\n public articleGoodId: string;\n\n @Input()\n public stockHistory: StockHistoryBo[] = [];\n\n constructor(\n public iconCacheService: IconCacheService,\n private _stockService: StockService,\n ) {\n }\n}\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {Tab} from \"./tab.interface\";\nimport {CoDropDownListFields} from \"../stock/stock-transfer/co-drop-down-list-fields.interface\";\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\nimport {StockService} from \"../../service/stock.service\";\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\n\n@Component({\n selector: \"co-tab-bar\",\n template: `\n <div class=\"tab-bar-wrapper\">\n <div class=\"tab-bar-warehouse-wrapper\">\n <div class=\"stock-location-group\">\n <div class=\"stock-location-right-group\">\n <co-list-of-values *ngIf=\"showWarehouseSelection\"\n [label]=\"wareHouseLabel\"\n [displayField]=\"'warehouseDescription'\"\n [collection]=\"dataWareHouseCode\"\n [multiselect]=\"false\"\n [required]=\"false\"\n [readonly]=\"false\"\n [customCssClass]=\"'mini-scrollbar'\"\n [searchPlaceholder]=\"wareHouseSearchLabel\"\n [model]=\"selectedWarehouse\"\n (modelChange)=\"onSelectWarehouse($event)\"\n class=\"custom-height\"\n >\n </co-list-of-values>\n </div>\n </div>\n </div>\n <div class=\"tab-bar\">\n <div class=\"tab-bar-primary\">\n <button *ngFor=\"let tab of tabs\" [class.active]=\"tab.active\" (click)=\"selectTab(tab)\">\n {{tab.title}}\n </button>\n </div>\n <div class=\"secondary-tab-bar\" *ngIf=\"ActivateSecondaryTabs\">\n <button *ngFor=\"let tab of secondaryTabs\" [class.active]=\"tab.active\" (click)=\"selectSecondaryTab(tab)\">\n {{tab.title}}\n </button>\n </div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class TabBarComponent {\n\n @Input()\n public wareHouseLabel: string;\n\n @Input()\n public wareHouseSearchLabel: string;\n\n @Input()\n public tabs: Tab[] = [];\n\n @Input()\n public secondaryTabs: Tab[] = [];\n\n @Input()\n public ActivateSecondaryTabs: boolean = false;\n\n @Input()\n public dataWareHouseCode: StockManagementWarehouses[] = [];\n\n @Input()\n public article: any;\n\n @Input()\n public showWarehouseSelection: boolean = false;\n\n @Output()\n public warehouseSelected: EventEmitter<StockManagementWarehouses> = new EventEmitter<StockManagementWarehouses>();\n\n @Input()\n public selectedWarehouse: any;\n\n constructor(\n private _stockService: StockService,\n ) {\n }\n\n public selectTab(tab: Tab): void {\n if (tab.clickHandler) {\n tab.clickHandler();\n }\n this.tabs.forEach(t => t.active = false);\n tab.active = true;\n }\n\n public selectSecondaryTab(secondaryTab: Tab): void {\n if (secondaryTab.clickHandler) {\n secondaryTab.clickHandler();\n }\n this.secondaryTabs.forEach(t => t.active = false);\n secondaryTab.active = true;\n }\n\n public onSelectWarehouse(event): void {\n this.warehouseSelected.emit(event);\n }\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {TabBarComponent} from \"./tab-bar.component\";\nimport {ListOfValuesModule} from \"@colijnit/corecomponents_v12\";\n\n@NgModule({\n imports: [\n CommonModule,\n ListOfValuesModule,\n ],\n declarations: [\n TabBarComponent\n ],\n exports: [\n TabBarComponent\n ]\n})\nexport class TabBarModule {\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {Icon} from \"../../../../enum/icon.enum\";\n\n@Component({\n selector: \"co-order-supply-stock-history\",\n template: `\n <co-simple-grid [data]=\"orderSupplyStockHistory\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderSupplyStockHistoryComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public orderSupplyStockHistory: StockHistoryBo[] = [];\n\n constructor(\n public iconCacheService: IconCacheService,\n ) {\n }\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {Icon} from \"../../../../enum/icon.enum\";\n\n@Component({\n selector: \"co-order-stock-commission-history\",\n template: `\n <co-simple-grid [data]=\"orderStockCommissionHistory\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderCommissionStockHistoryComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public orderStockCommissionHistory: StockHistoryBo[] = [];\n\n constructor(\n public iconCacheService: IconCacheService,\n ) {\n }\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {Icon} from \"../../../../enum/icon.enum\";\n\n@Component({\n selector: \"co-order-stock-history\",\n template: `\n <co-simple-grid [data]=\"orderStockHistory\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class OrderStockHistoryComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public orderStockHistory: StockHistoryBo[] = [];\n\n constructor(\n public iconCacheService: IconCacheService,\n ) {\n }\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\nimport {Icon} from \"../../../../enum/icon.enum\";\n\n@Component({\n selector: \"co-allocation-stock-history\",\n template: `\n <co-simple-grid [data]=\"allocationStockHistory\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AllocationStockHistoryComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public allocationStockHistory: StockHistoryBo[] = [];\n\n constructor(\n public iconCacheService: IconCacheService,\n ) {\n }\n\n}\n","export enum GaugeColor {\n Lowest = '#E0E0E0',\n Low = '#fff7b8',\n MediumLow = '#ffe367',\n MediumHigh = '#ffc15b',\n High = '#F88952',\n Highest = '#5FDCB3',\n}\n","import { Component, HostBinding, Input, ViewEncapsulation } from \"@angular/core\";\nimport { GaugeColor } from \"../../enum/gauge-color.enum\";\n\n@Component({\n selector: \"co-linear-gauge\",\n template: `\n <div class=\"linear-gauge\"\n [style.background]=\"getStyle()\"\n [style.border-color]=\"color\"\n [textContent]=\"count ? count : ''\"\n ></div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class CoLinearGaugeComponent {\n\n @Input()\n public set value(value: number) {\n this._value = value;\n this._setColor();\n }\n\n public get value(): number {\n return this._value;\n }\n\n @Input()\n public count: number;\n\n @HostBinding(\"class.co-linear-gauge\")\n public showClass() {\n return true;\n }\n\n private _value: number;\n public color: GaugeColor = GaugeColor.Low;\n\n public getStyle(): string {\n return `linear-gradient(90deg, ${this.color} 0 ${this.value}%, white ${this.value}% 100%`;\n }\n\n private _setColor(): void {\n if (this.value <= 0) {\n this.color = GaugeColor.Lowest;\n } else if (this.value >= 1 && this.value < 25) {\n this.color = GaugeColor.Low;\n } else if (this.value >= 25 && this.value < 50) {\n this.color = GaugeColor.MediumLow;\n } else if (this.value >= 50 && this.value < 75) {\n this.color = GaugeColor.MediumHigh;\n } else if (this.value >= 75 && this.value < 100) {\n this.color = GaugeColor.High;\n } else if (this.value >= 100) {\n this.color = GaugeColor.Highest;\n }\n }\n}\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { CoLinearGaugeComponent } from \"./co-linear-gauge.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n CoLinearGaugeComponent\n ],\n exports: [\n CoLinearGaugeComponent\n ]\n})\nexport class CoLinearGaugeModule {\n}\n","import {Component, ElementRef, HostBinding, Input, OnInit, ViewChild, ViewChildren, ViewEncapsulation} from '@angular/core';\nimport {StatusbarData} from './statusbar.component';\nimport {ArcElement, Chart, DoughnutController} from 'chart.js';\n\nChart.register(\n DoughnutController,\n ArcElement\n);\n\nexport enum GaugeColor {\n Lowest = '#E0E0E0',\n Low = '#fff7b8',\n MediumLow = '#ffe367',\n MediumHigh = '#ffc15b',\n High = '#F88952',\n Highest = '#5FDCB3',\n}\n\n@Component({\n selector: \"co-statusbar-popup\",\n template: `\n <div class=\"co-statusbar-popup-wrapper\" [overlay]=\"parentForOverlay\">\n <div class=\"status-descriptions\">\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status-description\">\n <div class=\"statusbar-canvas-wrapper\">\n <canvas #doughnutCanvas class=\"chart-canvas\"></canvas>\n <span class=\"statusbar-inner-canvas-label\" [textContent]=\"data.percentage\"></span>\n </div>\n <span class=\"statusbar-description\" [textContent]=\"data.label\"></span>\n </div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StatusbarPopupComponent implements OnInit {\n @ViewChildren('doughnutCanvas', { read: ElementRef }) set content(content) {\n this.doughnutCharts = content.toArray();\n this._prepareChartData();\n }\n\n @Input()\n public defaultColor: '#e0e0e0';\n\n @Input()\n public statusbarData: StatusbarData[] = [];\n\n @Input()\n public parentForOverlay: ElementRef;\n\n @HostBinding(\"class.co-statusbar-popup\")\n public showClass: boolean = true;\n\n public doughnutCharts: ElementRef[] = [];\n\n ngOnInit() {\n this._prepareChartData();\n }\n\n private _prepareChartData(): void {\n if (!this.doughnutCharts || this.doughnutCharts.length === 0) {\n return;\n }\n this.doughnutCharts.forEach((chart: ElementRef, index: number) => {\n new Chart(chart.nativeElement, {\n type: 'doughnut',\n data: {\n datasets: [{\n label: this.statusbarData[index].label,\n data: [Math.max(0.0001, this.statusbarData[index].percentage), 100 - Math.max(0.0001, this.statusbarData[index].percentage)],\n backgroundColor: [\n this._getColor(this.statusbarData[index].percentage),\n this._getColor(-1),\n ],\n borderWidth: 1\n }]\n },\n options: {\n cutout: '70%'\n }\n });\n })\n }\n\n private _getColor(value: number): string {\n if (value <= 0) {\n return GaugeColor.Lowest;\n } else if (value >= 1 && value < 25) {\n return GaugeColor.Low;\n } else if (value >= 25 && value < 50) {\n return GaugeColor.MediumLow;\n } else if (value >= 50 && value < 75) {\n return GaugeColor.MediumHigh;\n } else if (value >= 75 && value < 100) {\n return GaugeColor.High;\n } else if (value >= 100) {\n return GaugeColor.Highest;\n }\n }\n}\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\nimport {\n Component,\n ComponentRef,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n Output,\n ViewEncapsulation\n} from '@angular/core';\nimport {OverlayService} from '@colijnit/corecomponents_v12';\nimport {StatusbarPopupComponent} from './statusbar-popup.component';\n\nexport interface StatusbarData {\n label: string,\n percentage: number,\n count?: number,\n totalCount?: number,\n}\n\n@Component({\n selector: \"co-statusbar\",\n template: `\n <div class=\"co-statusbar-wrapper\" *ngIf=\"statusbarData\" [clickOutside]=\"popupShowing\"\n (clickOutside)=\"handleHidePopup()\">\n <div class=\"statuses\">\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status\">\n <co-linear-gauge [class.focused-status]=\"focusedStatusIndex !== undefined && focusedStatusIndex === index\"\n [value]=\"data.percentage\" [count]=\"data.count ? data.count : undefined\"></co-linear-gauge>\n </div>\n </div>\n </div>\n `,\n providers: [\n OverlayService\n ],\n animations: [\n trigger(\"showHidePopup\", [\n state(\"void\", style({opacity: 0})),\n state(\"*\", style({opacity: 1})),\n transition(\"void <=> *\", animate(\"250ms ease-in-out\")),\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class StatusbarComponent {\n\n @Input()\n public set statusbarData(value: StatusbarData[]) {\n this._statusbarData = value;\n this.adjustTooHighPercentages();\n }\n\n public get statusbarData() {\n return this._statusbarData;\n }\n\n @Input()\n public defaultColor: '#e0e0e0';\n\n @Input()\n public focusedStatusIndex: number;\n\n @Output()\n statusbarClick: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding(\"class.co-statusbar\")\n public showClass() {\n return true;\n }\n\n @HostListener(\"click\", [\"$event\"])\n public handleClick(event: MouseEvent) {\n this.handleShowPopup(event);\n }\n\n public popupShowing: boolean = false;\n\n private _statusbarData: StatusbarData[];\n private _statusbarPopupComponentRef: ComponentRef<any>;\n\n constructor(\n private _elementRef: ElementRef,\n private _overlayService: OverlayService) {\n }\n\n public handleShowPopup(event: MouseEvent): void {\n if (this.popupShowing) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n this._statusbarPopupComponentRef = this._overlayService.createComponent(StatusbarPopupComponent, {parentForOverlay: this._elementRef, statusbarData: this.statusbarData, defaultColor: this.defaultColor});\n this.popupShowing = true;\n }\n\n public handleHidePopup(): void {\n this._overlayService.removeComponent(this._statusbarPopupComponentRef);\n this.popupShowing = false;\n }\n\n public adjustTooHighPercentages(): void {\n this._statusbarData.forEach(data => data.percentage > 100 ? data.percentage = 100 : false);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {ClickoutsideModule, OverlayModule} from '@colijnit/corecomponents_v12';\nimport {CoLinearGaugeModule} from '../linear-gauge/co-linear-gauge.module';\nimport {StatusbarComponent} from './statusbar.component';\nimport {StatusbarPopupComponent} from './statusbar-popup.component';\n\n@NgModule({\n imports: [\n CommonModule,\n CoLinearGaugeModule,\n ClickoutsideModule,\n OverlayModule\n ],\n declarations: [\n StatusbarComponent,\n StatusbarPopupComponent\n ],\n exports: [\n StatusbarComponent,\n StatusbarPopupComponent\n ]\n})\nexport class StatusbarModule {\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"co-stock-statusbar\",\n template: `\n <div class=\"status-bar\">\n <div class=\"status-bar-block\" [ngClass]=\"{'red': value === 0, 'orange': value === 1, 'green': value === 2}\"></div>\n <div class=\"status-bar-block\" [ngClass]=\"{'orange': value === 1, 'green': value === 2}\"></div>\n <div class=\"status-bar-block\" [ngClass]=\"{'green': value === 2}\"></div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockStatusbarComponent {\n\n @Input()\n public value: number;\n\n constructor(\n ) {\n }\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {StockStatusbarComponent} from \"./stock-statusbar.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n StockStatusbarComponent\n ],\n exports: [\n StockStatusbarComponent\n ]\n})\nexport class StockStatusbarModule {\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\nimport {StockService} from \"../../../../service/stock.service\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\n\n@Component({\n selector: \"co-stock-prognose\",\n template: `\n <co-simple-grid [data]=\"stockPrognose\"\n class=\"simple-grid\"\n [rowsPerPage]=\"20\"\n >\n <co-simple-grid-column [headerText]=\"'AVAILABILITY' | localize\" [field]=\"'available'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'freeStock'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'inOrder'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER' | localize\" [field]=\"'transNr'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_DATE' | localize\" [field]=\"'transactionDate'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row['arrivalDate'] | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'REFERENCE' | localize\" [field]=\"'reference'\"></co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE_CONFIRMED' | localize\" [field]=\"'transConfirmedDate'\">\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'DATE_DELIVERED' | localize\">\n <ng-template #template let-row=\"row\">\n <span [textContent]=\"row['transDeliveryDate'] | date:'dd-MM-yyyy'\"></span>\n </ng-template>\n </co-simple-grid-column>\n <co-simple-grid-column [headerText]=\"'FUTURE_FREE_STOCK' | localize\" [field]=\"'laterAvailable'\"></co-simple-grid-column>\n </co-simple-grid>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class StockPrognoseComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public stockPrognose: StockForecast[] = [];\n\n constructor(\n public iconCacheService: IconCacheService,\n private _stockService: StockService,\n ) {\n }\n\n}\n","import {Pipe, PipeTransform} from '@angular/core';\nimport {LocalizeService} from './localize.service';\n\n@Pipe({\n name: \"localize\"\n})\nexport class LocalizePipe implements PipeTransform {\n\n constructor(private _localizeService: LocalizeService) {}\n\n transform(value: string, upperCaseFirst: boolean = true, replace: string|string[] = []): string {\n if (!value) {\n return \"\";\n }\n replace = (replace !== undefined && replace !== null) ? replace : [];\n if (!Array.isArray(replace)) {\n replace = [replace];\n }\n return this._localizeService.get(value, upperCaseFirst, ...replace);\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {LocalizePipe} from './localize.pipe';\n\n@NgModule({\n imports: [\n CommonModule\n ],\n declarations: [\n LocalizePipe\n ],\n exports: [\n LocalizePipe\n ]\n})\nexport class LocalizationModule {\n}\n","import {NgModule} from '@angular/core';\nimport {StockComponent} from './stock.component';\nimport {\n ButtonModule,\n CoDialogModule,\n CoDialogWizardModule,\n IconModule,\n ImageModule,\n InputNumberPickerModule,\n InputRadioButtonModule,\n InputTextareaModule,\n InputTextModule,\n ListOfValuesModule,\n SimpleGridModule,\n PopupModule,\n} from '@colijnit/corecomponents_v12';\nimport {CommonModule} from '@angular/common';\nimport {StockInformationComponent} from './stock-information/stock-information.component';\nimport {StockInformationGridComponent} from './stock-information-grid/stock-information-grid.component';\nimport {StockService} from '../../service/stock.service';\nimport {StockTransferComponent} from './stock-transfer/stock-transfer.component';\nimport {SendMethodDialogModule} from '../send-method-dialog/send-method-dialog.module';\nimport {StockChangeAmountComponent} from './stock-transfer/stock-change-amount.component';\nimport {StockTabComponent} from './components/stock-tab/stock-tab.component';\nimport {OrderTabComponent} from './components/order-tab/order-tab.component';\nimport {StockTabsComponent} from './stock-tabs/stock-tabs.component';\nimport {StockHistoryTabsComponent} from './stock-history-tabs/stock-history-tabs.component';\nimport {OrderStockTabComponent} from './components/order-stock-tab/order-stock-tab.component';\nimport {StockLocationComponent} from './components/stock-location/stock-location.component';\nimport {StockHistoryComponent} from './components/stock-history/stock-history.component';\nimport {TabBarModule} from '../tab-bar/tab-bar.module';\nimport {\n OrderSupplyStockHistoryComponent\n} from './components/order-supply-stock-history/order-supply-stock-history.component';\nimport {\n OrderCommissionStockHistoryComponent\n} from './components/order-commission-stock-history/order-commission-stock-history.component';\nimport {OrderStockHistoryComponent} from './components/order-stock-history/order-stock-history.component';\nimport {\n AllocationStockHistoryComponent\n} from './components/allocation-stock-history/allocation-stock-history.component';\nimport {StatusbarModule} from '../statusbar/statusbar.module';\nimport {StockStatusbarModule} from '../stock-statusbar/stock-statusbar.module';\nimport {StockPrognoseComponent} from './components/stock-prognose/stock-prognose.component';\nimport {LocalizationModule} from '../../localization/localization.module';\nimport {LocalizeService} from '../../localization/localize.service';\n\n@NgModule({\n imports: [\n ButtonModule,\n CommonModule,\n InputRadioButtonModule,\n SimpleGridModule,\n ImageModule,\n InputTextModule,\n SendMethodDialogModule,\n IconModule,\n InputNumberPickerModule,\n CoDialogWizardModule,\n InputTextareaModule,\n TabBarModule,\n CoDialogModule,\n StatusbarModule,\n StockStatusbarModule,\n ListOfValuesModule,\n LocalizationModule,\n PopupModule\n ],\n declarations: [\n StockComponent,\n StockInformationComponent,\n StockInformationGridComponent,\n StockTransferComponent,\n StockChangeAmountComponent,\n StockTabComponent,\n OrderTabComponent,\n StockTabsComponent,\n StockHistoryTabsComponent,\n OrderStockTabComponent,\n StockLocationComponent,\n StockHistoryComponent,\n OrderSupplyStockHistoryComponent,\n OrderCommissionStockHistoryComponent,\n OrderStockHistoryComponent,\n AllocationStockHistoryComponent,\n StockPrognoseComponent\n ],\n exports: [\n StockComponent\n ],\n providers: [\n StockService,\n LocalizeService\n ]\n})\nexport class StockModule {\n}\n","export class Translation {\n public ALLOCATED?: string = 'ALLOCATED';\n public ALLOCATION?: string = 'ALLOCATION';\n public ALREADY_IN_ORDER?: string = 'ALREADY_IN_ORDER';\n public AMOUNT?: string = 'AMOUNT';\n public AMOUNT_AVAILABLE?: string = 'AMOUNT_AVAILABLE';\n public AMOUNT_IN_STOCK?: string = 'AMOUNT_IN_STOCK';\n public AMOUNT_LATER_AVAILABLE?: string = 'AMOUNT_LATER_AVAILABLE';\n public AVAILABILITY?: string = 'AVAILABILITY';\n public AVAILABLE_STOCK?: string = 'AVAILABLE_STOCK';\n public BACK_TO_STOCK_LINES?: string = 'BACK_TO_STOCK_LINES';\n public BATCH?: string = 'BATCH';\n public CANCEL?: string = 'CANCEL';\n public CHOICES?: string = 'CHOICES';\n public CUSTOMER?: string = 'CUSTOMER';\n public DATE?: string = 'DATE';\n public DATE_DELIVERED?: string = 'DATE_DELIVERED';\n public DELIVERY_DATE?: string = 'DELIVERY_DATE';\n public DELIVERY_DATE_CONFIRMED?: string = 'DELIVERY_DATE_CONFIRMED';\n public DESCRIPTION?: string = 'DESCRIPTION';\n public DOCUMENT_NUMBER?: string = 'DOCUMENT_NUMBER';\n public ECONOMICAL_STOCK?: string = 'ECONOMICAL_STOCK';\n public FREE_STOCK?: string = 'FREE_STOCK';\n public FUTURE_FREE_STOCK?: string = 'FUTURE_FREE_STOCK';\n public HISTORY?: string = 'HISTORY';\n public IN_ORDER?: string = 'IN_ORDER';\n public LINE?: string = 'LINE';\n public LOCATION?: string = 'LOCATION';\n public LOOK_AT?: string = 'LOOK_AT';\n public MUTATION_DATE?: string = 'MUTATION_DATE';\n public MUTATION_TIME?: string = 'MUTATION_TIME';\n public MUTATION_TYPE?: string = 'MUTATION_TYPE';\n public OK?: string = 'OK';\n public ORDER?: string = 'ORDER';\n public ORDER_COMMISSION?: string = 'ORDER_COMMISSION';\n public ORDER_STOCK?: string = 'ORDER_STOCK';\n public OVERVIEW?: string = 'OVERVIEW';\n public PURCHASE_ORDER?: string = 'PURCHASE_ORDER';\n public PURCHASE_ORDER_DATE?: string = 'PURCHASE_ORDER_DATE';\n public PURCHASE_ORDER_NR?: string = 'PURCHASE_ORDER_NR';\n public PURCHASE_PRICE?: string = 'PURCHASE_PRICE';\n public REFERENCE?: string = 'REFERENCE';\n public RELATION_ID?: string = 'RELATION_ID';\n public RELATION_NR?: string = 'RELATION_NR';\n public RESERVED?: string = 'RESERVED';\n public SEARCH?: string = 'SEARCH';\n public SERIAL_NO?: string = 'SERIAL_NO';\n public STICKER?: string = 'STICKER';\n public STOCK?: string = 'STOCK';\n public STOCK_DETAILS?: string = 'STOCK_DETAILS';\n public STOCK_FORECAST?: string = 'STOCK_FORECAST';\n public STOCK_REMARK?: string = 'STOCK_REMARK';\n public STOCK_STATE?: string = 'STOCK_STATE';\n public STOCK_STATUS?: string = 'STOCK_STATUS';\n public SUPPLIER_NUMBER?: string = 'SUPPLIER_NUMBER';\n public TRANSFER?: string = 'TRANSFER';\n public USER?: string = 'USER';\n public VALUTA?: string = 'VALUTA';\n public WAREHOUSE?: string = 'WAREHOUSE';\n}\n","export enum KeyboardCode {\n Backspace = \"Backspace\",\n Digit0 = \"Digit0\",\n Digit1 = \"Digit1\",\n Digit2 = \"Digit2\",\n Digit3 = \"Digit3\",\n Digit4 = \"Digit4\",\n Digit5 = \"Digit5\",\n Digit6 = \"Digit6\",\n Digit7 = \"Digit7\",\n Digit8 = \"Digit8\",\n Digit9 = \"Digit9\",\n Enter = \"Enter\",\n Escape = \"Escape\",\n Minus = \"Minus\",\n Numpad0 = \"Numpad0\",\n Numpad1 = \"Numpad1\",\n Numpad2 = \"Numpad2\",\n Numpad3 = \"Numpad3\",\n Numpad4 = \"Numpad4\",\n Numpad5 = \"Numpad5\",\n Numpad6 = \"Numpad6\",\n Numpad7 = \"Numpad7\",\n Numpad8 = \"Numpad8\",\n Numpad9 = \"Numpad9\",\n NumpadDecimal = \"NumpadDecimal\",\n NumpadEnter = \"NumpadEnter\",\n NumpadSubtract = \"NumpadSubtract\",\n Period = \"Period\"\n}\n","import {Component, EventEmitter, HostBinding, HostListener, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\nimport {Icon} from '../../enum/icon.enum';\nimport {IconCacheService} from '../../service/icon-cache.service';\nimport {KeyboardCode} from '../../enum/keyboard-code.enum';\n\n@Component({\n selector: 'co-key-pad',\n template: `\n <div class=\"key-pad-wrapper\">\n <div class=\"key-pad-model-wrapper\" *ngIf=\"showValue\">\n <co-responsive-text class=\"key-pad-model\" [text]=\"internalModel\" [class.negative]=\"isNegative\"></co-responsive-text>\n </div>\n <div class=\"key-pad-button-wrapper\">\n <div class=\"key-pad-button button-7\" (click)=\"handleButtonClick('7')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'7'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-8\" (click)=\"handleButtonClick('8')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'8'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-9\" (click)=\"handleButtonClick('9')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'9'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-bs\" (click)=\"handleBsClick($event)\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.DeleteLeftRegular)\"></co-icon>\n </div>\n <div class=\"key-pad-button button-4\" (click)=\"handleButtonClick('4')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'4'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-5\" (click)=\"handleButtonClick('5')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'5'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-6\" (click)=\"handleButtonClick('6')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'6'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-minus\" (click)=\"handleMinusClick($event)\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'-'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-1\" (click)=\"handleButtonClick('1')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'1'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-2\" (click)=\"handleButtonClick('2')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'2'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-3\" (click)=\"handleButtonClick('3')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'3'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-enter\" (click)=\"handleEnterClick($event)\">\n <co-responsive-text class=\"key-pad-button-text\" [text]=\"'enter'\"></co-responsive-text>\n </div>\n <div class=\"key-pad-button button-0\" (click)=\"handleButtonClick('0')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'0'\"></co-responsive-text></div>\n <div class=\"key-pad-button button-dot\" (click)=\"handleButtonClick('.')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'.'\"></co-responsive-text></div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class KeyPadComponent {\n public icons: typeof Icon = Icon;\n\n @Input()\n public set model(value: number) {\n this._model = value;\n this._internalModel = this._model + \"\";\n }\n\n public get model(): number {\n return this._model;\n }\n\n @Input()\n public showValue: boolean = true;\n\n @Input()\n public resetModelOnInit: boolean = true;\n\n @Input()\n public emitModelChangeOnEnter: boolean = true;\n\n @Output()\n public modelChange: EventEmitter<number> = new EventEmitter<number>();\n\n @Output()\n public internalModelChange: EventEmitter<string> = new EventEmitter<string>();\n\n @Output()\n public enterClick: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding('class.co-key-pad')\n public showClass() {\n return true;\n }\n\n @HostListener('window:keydown', ['$event'])\n public handleKeyDown(event: KeyboardEvent) {\n if (document.activeElement instanceof HTMLBodyElement) {\n this._keyDown(event);\n }\n }\n\n private readonly _validKeyMap: Map<KeyboardCode | string, string> = new Map<KeyboardCode, string>([\n [KeyboardCode.Digit0, \"0\"],\n [KeyboardCode.Digit1, \"1\"],\n [KeyboardCode.Digit2, \"2\"],\n [KeyboardCode.Digit3, \"3\"],\n [KeyboardCode.Digit4, \"4\"],\n [KeyboardCode.Digit5, \"5\"],\n [KeyboardCode.Digit6, \"6\"],\n [KeyboardCode.Digit7, \"7\"],\n [KeyboardCode.Digit8, \"8\"],\n [KeyboardCode.Digit9, \"9\"],\n [KeyboardCode.Numpad0, \"0\"],\n [KeyboardCode.Numpad1, \"1\"],\n [KeyboardCode.Numpad2, \"2\"],\n [KeyboardCode.Numpad3, \"3\"],\n [KeyboardCode.Numpad4, \"4\"],\n [KeyboardCode.Numpad5, \"5\"],\n [KeyboardCode.Numpad6, \"6\"],\n [KeyboardCode.Numpad7, \"7\"],\n [KeyboardCode.Numpad8, \"8\"],\n [KeyboardCode.Numpad9, \"9\"],\n [KeyboardCode.NumpadDecimal, \".\"],\n [KeyboardCode.Period, \".\"]\n ])\n\n private _init: boolean = true;\n\n constructor(public iconCacheService: IconCacheService) {\n }\n\n public set internalModel(value: string) {\n this._internalModel = value;\n this.isNegative = parseFloat(this._internalModel) < 0;\n this.internalModelChange.emit(this._internalModel);\n }\n\n public get internalModel(): string {\n return this._internalModel;\n }\n\n public isNegative: boolean = false;\n\n private _model: number = 0;\n private _internalModel: string = \"0\";\n private _maxCharacters: number = 11;\n\n public handleMinusClick(event: MouseEvent | KeyboardEvent): void {\n const model: number = parseFloat(this.internalModel);\n if (model !== 0) {\n if (model < 0) {\n this.internalModel = Math.abs(model) + \"\";\n } else {\n this.internalModel = -model + \"\";\n }\n }\n this._emitModelChange();\n }\n\n public handleClearClick(event: MouseEvent | KeyboardEvent): void {\n this.internalModel = \"0\";\n this._emitModelChange();\n }\n\n public handleBsClick(event: MouseEvent | KeyboardEvent): void {\n let wish: string = this.internalModel;\n wish = wish.slice(0, wish.length - 1) || \"0\";\n if (!isNaN(parseFloat(wish))) {\n this.internalModel = parseFloat(wish) + \"\";\n }\n this._emitModelChange();\n }\n\n public handleButtonClick(chr: string): void {\n this._updateModel(chr);\n }\n\n public handleEnterClick(event: MouseEvent | KeyboardEvent): void {\n this._emitModelChange(true);\n this.enterClick.emit();\n }\n\n private _updateModel(value: string): void {\n if (this.resetModelOnInit && this._init) {\n this._internalModel = \"0\";\n this._init = false;\n }\n if (value === undefined || value === null ||\n (value === '.' && this.internalModel.indexOf('.') > -1) ||\n this.internalModel.length >= this._maxCharacters) {\n return;\n }\n this.internalModel = this.internalModel !== \"0\" ? this.internalModel + value : value;\n this._emitModelChange();\n }\n\n private _keyDown(event: KeyboardEvent): void {\n if (this._isEnter(event)) {\n this.handleEnterClick(event);\n } else if (this._isMinus(event)) {\n this.handleMinusClick(event);\n } else if (this._isEscape(event)) {\n this.handleClearClick(event);\n } else if (this._isBackspace(event)) {\n this.handleBsClick(event);\n } else {\n this._updateModel(this._validKeyMap.get(event.code));\n }\n }\n\n private _isEnter(event: KeyboardEvent): boolean {\n return event.code === KeyboardCode.Enter || event.code === KeyboardCode.NumpadEnter;\n }\n\n private _isMinus(event: KeyboardEvent): boolean {\n return event.code === KeyboardCode.Minus || event.code === KeyboardCode.NumpadSubtract;\n }\n\n private _isEscape(event: KeyboardEvent): boolean {\n return event.code === KeyboardCode.Escape;\n }\n\n private _isBackspace(event: KeyboardEvent): boolean {\n return event.code === KeyboardCode.Backspace;\n }\n\n private _emitModelChange(enter: boolean = false): void {\n if ((enter && this.emitModelChangeOnEnter) || (!enter && !this.emitModelChangeOnEnter)) {\n const model: number = parseFloat(this.internalModel);\n if (!isNaN(model)) {\n if (enter && this.emitModelChangeOnEnter) {\n this.model = model;\n }\n this.modelChange.emit(model);\n }\n }\n }\n}\n","import {NgModule} from '@angular/core';\nimport {CommonModule} from '@angular/common';\nimport {KeyPadComponent} from './key-pad.component';\nimport {IconModule, ResponsiveTextModule} from '@colijnit/corecomponents_v12';\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule,\n ResponsiveTextModule\n ],\n declarations: [\n KeyPadComponent\n ],\n exports: [\n KeyPadComponent\n ]\n})\nexport class KeyPadModule {\n}\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {Icon} from \"../../enum/icon.enum\";\nimport {IconCacheService} from \"../../service/icon-cache.service\";\n\n\n@Component({\n selector: \"co-layout-switcher\",\n template: `\n <div class=\"mask-wrapper\" [class.mask-wrapper-active]='showMaskSidebar' @showHideSidebar>\n <div class=\"icon-wrapper\" (click)=\"toggleMaskSidebar()\">\n <co-icon class=\"icon-mask\" [iconData]=\"iconCacheService.getIcon(icon.BringForwardRegular)\" [@positionIcon]=\"showMaskSidebar\"></co-icon>\n\n <co-icon class='icon-mask-sidebar-handle' [@positionHandle]='showMaskSidebar' [iconData]=\"showMaskSidebar ? iconCacheService.getIcon(this.icon.AngleLeftSolid) : iconCacheService.getIcon(this.icon.AngleRightSolid)\"></co-icon>\n </div>\n\n <div class=\"mask-content\" *ngIf=\"showMaskSidebar\" @showHideSidebar>\n <span *ngFor='let item of this.layoutItems' [class.active]=\"this.activeIndex === this.layoutItems.indexOf(item)\" [textContent]=\"item\" (click)='activeIndex = this.layoutItems.indexOf(item)' ></span>\n </div>\n </div>\n\n `,\n animations: [\n trigger(\"showHideSidebar\", [\n state(\"void\", style({\"width\": \"0\"})),\n state(\"*\", style({\"width\": \"*\"})),\n transition(\"void <=> *\", animate(200))\n ]),\n trigger(\"positionIcon\", [\n state(\"true\", style({\"left\": \"70px\"})),\n state(\"false\", style({\"left\": \"10px\"})),\n transition(\"true <=> false\", animate(200))\n ]),\n trigger(\"positionHandle\", [\n state(\"true\", style({\"left\": \"15px\"})),\n state(\"false\", style({\"left\": \"75px\"})),\n transition(\"true <=> false\", animate(200))\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class LayoutSwitcherComponent {\n public readonly icon: typeof Icon = Icon;\n\n @HostBinding('class.co-layout-switcher')\n public showClass() {\n return true;\n }\n\n @Input()\n public layoutItems: string[] = [];\n\n @Output()\n public layoutSwitchEmit:EventEmitter<string> = new EventEmitter<string>();\n\n public get activeIndex(): number {\n return this._activeIndex;\n }\n\n public set activeIndex(index) {\n this._activeIndex = index;\n this.toggleMaskSidebar();\n this.layoutSwitchEmit.emit(this.layoutItems[index]);\n }\n\n public showMaskSidebar: boolean = false;\n\n private _activeIndex: number = 0;\n\n\n constructor(public iconCacheService: IconCacheService) {\n }\n\n public toggleMaskSidebar(): void {\n this.showMaskSidebar = !this.showMaskSidebar;\n }\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {LayoutSwitcherComponent} from \"./layout-switcher.component\";\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\n\n\n@NgModule({\n imports: [\n CommonModule,\n IconModule\n ],\n declarations: [\n LayoutSwitcherComponent,\n ],\n exports: [\n LayoutSwitcherComponent\n ]\n})\nexport class LayoutSwitcherModule {\n\n}\n","export enum CalendarView {\n DayView = \"DAY\",\n WeekView = \"WEEK\",\n WeekSelectView = \"WEEK_SELECT\",\n\n WeekPlanningView = \"WEEK_PLANNING\",\n MonthView = \"MONTH\",\n}\n","import {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n Renderer2,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {CalendarView} from '../../enum/calendar-view.enum';\nimport {AgendaEventPerDay} from \"../../model/agenda-event-per-day.model\";\n\n@Component({\n selector: \"co-date-planning\",\n template: `\n <div class=\"sc-agenda\">\n <div class=\"content-wrapper\">\n <calendar *ngIf=\"calendarNavigation\"\n [view]=\"view\"\n [(days)]=\"days\"\n [selectedDate]=\"selectedDate\" (selectedDateChange)=\"doChangeSelectedDate($event)\"></calendar>\n <div class=\"agenda-content-wrapper mini-scrollbar\">\n <div class=\"agenda-content\">\n <agenda-header [view]=\"view\" (viewChange)=\"doChangeView($event)\"\n [firstAvailableDate]=\"firstAvailableDate\"\n [eventsPerDay]=\"eventsPerDay\"\n [selectedDate]=\"selectedDate\"\n (selectedDateChange)=\"doChangeSelectedDate($event)\"\n (rangeChange)=\"doChangeSelectedDate($event, true)\"></agenda-header>\n <agenda-view [view]=\"view\"\n [customEventObject]=\"customEventObject\"\n [selectedDate]=\"selectedDate\"\n [eventsPerDay]=\"eventsPerDay\"\n (eventChecked)=\"eventChecked.emit($event)\"></agenda-view>\n </div>\n </div>\n </div>\n </div>\n <co-button *ngIf=\"showButton && eventsPerDay.length > 0\" class=\"text-only select-agenda-button\"\n [label]=\"buttonLabel\"\n (click)=\"buttonClick.emit($event)\">\n </co-button>\n `,\n animations: [\n trigger(\"showHideWindow\", [\n state(\"void\", style({transform: \"scaleY(0)\"})),\n state(\"*\", style({transform: \"scaleY(1)\"})),\n transition(\":enter, :leave\", [\n animate(\"200ms ease-in-out\")\n ])\n ])\n ],\n encapsulation: ViewEncapsulation.None\n})\n\nexport class DatePlanningComponent {\n @ViewChild(\"dayStart\", { static: true })\n public dayStart: ElementRef;\n\n @Input()\n public calendarNavigation: boolean = false;\n\n @Input()\n public customEventObject: boolean = false;\n\n @Input()\n public showButton: boolean = false;\n\n @Input()\n public selectedDate: Date;\n\n @Input()\n public firstAvailableDate: Date;\n\n @Input()\n public buttonLabel: string = \"\";\n\n @Input()\n public eventsPerDay: AgendaEventPerDay[] = [];\n\n @Input()\n public view: CalendarView = CalendarView.WeekView;\n\n @Output()\n public readonly eventChecked: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n @Output()\n public readonly rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n @Output()\n public readonly viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\n\n @Output()\n public readonly buttonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\n\n @HostBinding(\"class.co-date-planning\")\n public showClass: boolean = true;\n\n public days: Date[] = [];\n private _selectedDate: Date = new Date();\n\n constructor(\n private _changeDetector: ChangeDetectorRef,\n private renderer: Renderer2\n ) {\n }\n\n public doChangeSelectedDate(date: Date, rangeChanged: boolean = false): void {\n this.selectedDate = new Date(date);\n if (rangeChanged) {\n this.rangeChange.next(this.selectedDate);\n } else {\n this.selectedDateChange.next(this.selectedDate);\n }\n this._changeDetector.detectChanges();\n }\n\n public doChangeView(view: CalendarView): void {\n this.view = view;\n this.viewChange.next(this.view);\n }\n\n public scrollToDayStart(): void {\n if (this.dayStart !== undefined) {\n const dayStart: any = this.renderer.selectRootElement(\"#dayStart\");\n if (dayStart) {\n setTimeout(() => {\n dayStart.scrollIntoView({behavior: \"instant\", block: \"center\"});\n });\n }\n }\n }\n\n}\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"calendar-all-years\",\n template: `\n <div *ngFor=\"let currentYear of years\"\n [textContent]=\"currentYear\"\n [class.selected-year]=\"currentYear === year\"\n class=\"pointer-hover\"\n (click)=\"year = currentYear; yearChange.emit(year)\"\n ></div>\n `,\n encapsulation: ViewEncapsulation.None\n})\n\nexport class CalendarAllYearsComponent implements OnInit {\n\n @Input()\n public year: number;\n\n @Output()\n public readonly yearChange: EventEmitter<number> = new EventEmitter<number>();\n\n public years: number[] = [];\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.years.length = 0;\n let start: number = this._determineStart();\n const end: number = start + 11;\n while (start < end) {\n this.years.push(start);\n start++;\n }\n }\n\n private _determineStart(): number {\n if (this.year > 0) {\n let thisYear: number = this.year;\n let thisYearLastDigit: number = parseInt(thisYear.toString().split(\"\").pop());\n while (thisYearLastDigit > 0) {\n thisYear--;\n thisYearLastDigit = parseInt(thisYear.toString().split(\"\").pop());\n }\n return thisYear;\n }\n return 0;\n }\n\n}\n","// All the months. Values are corresponding dictionary keys in text_nl.\nexport enum Month {\n January = \"JANUARY\",\n Februrary = \"FEBRUARY\",\n March = \"MARCH\",\n April = \"APRIL\",\n May = \"MAY\",\n June = \"JUNE\",\n July = \"JULY\",\n August = \"AUGUST\",\n September = \"SEPTEMBER\",\n October = \"OCTOBER\",\n November = \"NOVEMBER\",\n December = \"DECEMBER\"\n}\n","import {Month} from \"../../enum/month.enum\";\n\n// All the months in a year. The order is important, and should remain January - to December!\nexport const ALL_MONTHS: Month[] = [\n Month.January,\n Month.Februrary,\n Month.March,\n Month.April,\n Month.May,\n Month.June,\n Month.July,\n Month.August,\n Month.September,\n Month.October,\n Month.November,\n Month.December\n];\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\n\n@Component({\n selector: \"calendar-all-months\",\n template: `\n <div *ngFor=\"let currentMonth of months; let index = index\"\n [class.selected-month]=\"month === index\"\n [textContent]=\"currentMonth\"\n class=\"pointer-hover\"\n (click)=\"month = index; monthChange.emit(month)\"\n ></div>\n `,\n encapsulation: ViewEncapsulation.None\n})\n\nexport class CalendarAllMonthsComponent implements OnInit {\n\n @Input()\n public month: number;\n\n @Input()\n public shortDescriptions: boolean = false;\n\n @Output()\n public monthChange: EventEmitter<number> = new EventEmitter<number>();\n\n public months: string[] = [];\n\n constructor() {\n }\n\n ngOnInit(): void {\n this.months.length = 0;\n this.months = ALL_MONTHS;\n }\n}\n","import {Component, DoCheck, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\n\n@Component({\n selector: \"calendar-header\",\n template: `\n <div #monthYearSelect class=\"calendar-header-row\">\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subMonth()\"></co-icon>\n <div (click)=\"showMonthYearSelect = true\">\n <div class=\"month\" [textContent]=\"currentMonth\"></div>\n <div class=\"year\" [textContent]=\"currentYear\"></div>\n </div>\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addMonth()\"></co-icon>\n </div>\n <ng-template #template>\n <div *ngIf=\"showMonthYearSelect\"\n (clickOutside)=\"hideMonthYearSelection()\"\n class=\"select-month-year-window\" [class.expanded]=\"expanded\" @showMonthYearSelect\n >\n <div>\n <calendar-all-months [month]=\"currentMonth\" (monthChange)=\"setNewMonth($event)\" shortDescriptions></calendar-all-months>\n <div class=\"vertical-divider\"></div>\n <calendar-all-years [year]=\"currentYear\" (yearChange)=\"setNewYear($event)\"></calendar-all-years>\n </div>\n<!-- <default-ok-cancel-buttons-->\n<!-- (okClick)=\"changeMonthYear()\"-->\n<!-- (cancelClick)=\"showMonthYearSelect = false\"-->\n<!-- >-->\n<!-- </default-ok-cancel-buttons>-->\n </div>\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None,\n animations: [\n trigger(\"showMonthYearSelect\", [\n state(\"void\", style({\n \"transform-origin\": \"top center\",\n transform: \"scaleY(0)\"\n })),\n state(\"*\", style({\n \"transform-origin\": \"top center\",\n transform: \"scaleY(1)\"\n })),\n transition(\":enter, :leave\", [\n animate(\"200ms ease-in-out\")\n ])\n ])\n ]\n})\n\nexport class CalendarHeaderComponent implements DoCheck {\n\n @Input()\n public selectedDate: Date = new Date();\n\n @Output()\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n public readonly icons: typeof Icon = Icon;\n\n public showMonthYearSelect: boolean = false;\n\n public expanded: boolean = false;\n\n public currentMonth: string;\n\n public currentYear: number;\n\n public selectedMonth: number;\n\n public selectedYear: number;\n\n constructor(\n public iconCacheService: IconCacheService\n ) {\n }\n\n ngDoCheck(): void {\n if (this.selectedDate) {\n this.currentMonth = ALL_MONTHS[this.selectedDate.getMonth()];\n this.currentYear = this.selectedDate.getFullYear();\n }\n }\n\n public subMonth(): void {\n const newDate: Date = new Date(this.selectedDate);\n newDate.setMonth(newDate.getMonth() - 1);\n this.selectedDate = newDate;\n this.selectedDateChange.emit(this.selectedDate);\n }\n\n public addMonth(): void {\n const newDate: Date = new Date(this.selectedDate);\n newDate.setMonth(newDate.getMonth() + 1);\n this.selectedDate = newDate;\n this.selectedDateChange.emit(this.selectedDate);\n }\n\n public hideMonthYearSelection(): void {\n this.expanded = false;\n this.showMonthYearSelect = false;\n }\n\n public setNewMonth(month: number): void {\n this.selectedMonth = month;\n }\n\n public setNewYear(year: number): void {\n this.selectedYear = year;\n }\n\n public changeMonthYear(): void {\n this.hideMonthYearSelection();\n const newDate: Date = new Date(this.selectedDate);\n newDate.setMonth(this.selectedMonth);\n newDate.setFullYear(this.selectedYear);\n this.selectedDate = newDate;\n this.selectedDateChange.emit(this.selectedDate);\n }\n}\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\n\n@Component({\n selector: \"calendar\",\n template: `\n <div class=\"sc-calendar\">\n <calendar-header [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-header>\n <calendar-view [view]=\"view\" [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-view>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class CalendarComponent {\n\n @Input()\n public view: CalendarView = CalendarView.WeekView;\n\n @Input()\n public selectedDate: Date = new Date();\n\n @Input()\n public days: Date[] = [];\n\n @Output()\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n constructor() {\n }\n\n public changeSelectedDate(date: Date): void {\n this.selectedDate = date;\n this.selectedDateChange.emit(this.selectedDate);\n }\n}\n","import {Pipe, PipeTransform} from \"@angular/core\";\n\n@Pipe({\n name: \"arrayNumber\"\n})\nexport class ArrayNumberPipe implements PipeTransform {\n\n transform(length: number, offset: number = 0): number[] {\n if (!length || length < 0) {\n return [];\n }\n return Array.from({length: Math.round(length)}, (x, i) => i + offset);\n }\n}\n","// @returns true iff given value does not equals null and does not equal undefined\nexport function notNill(value: any): boolean {\n return value !== null && value !== undefined;\n}\n","import {TimePeriod} from \"../enum/time-period.enum\";\n\nexport class DateRange {\n public startDate: Date;\n public endDate: Date;\n public selectedTimePeriod: TimePeriod;\n\n constructor() {\n }\n}\n","import {Month} from \"../enum/month.enum\";\nimport {ALL_MONTHS} from \"../model/constant/all-months\";\nimport {notNill} from \"./function/not-nill.function\";\nimport * as moment from \"moment\";\nimport {Moment} from \"moment\";\nimport {DatePipe} from \"@angular/common\";\nimport {DateRange} from \"../model/date-range\";\n\nDate.prototype.toJSON = function() {\n return moment(this).format('YYYY-MM-DD[T]HH:mm:ss');\n}\n\n// static utility function holder related to dates\nexport class DateUtils {\n public static readonly BACKEND_DATE_FORMAT: string = 'YYYY-MM-DD[T]HH:mm:ss';\n public static datePipe: DatePipe = new DatePipe('shortDate');\n\n public static NowAsString(): string {\n return DateUtils.ParseDate(new Date(), DateUtils.BACKEND_DATE_FORMAT);\n }\n\n public static ParseDate(date: Date, format: string = \"d-m-y\"): string {\n if (!date) {\n return \"\";\n }\n\n const day: string = (\"0\" + date.getDate()).slice(-2);\n const month: string = (\"0\" + (date.getMonth() + 1)).slice(-2);\n const year: string = date.getFullYear() + \"\";\n\n const formatParts: string[] = format.split(\"-\");\n const dateParts: string[] = [];\n\n\n for (let i: number = 0, l: number = formatParts.length; i < l; i++) {\n switch (formatParts[i]) {\n case \"d\" :\n case \"DD\" :\n dateParts.push(day);\n break;\n case \"m\" :\n case \"MM\" :\n dateParts.push(month);\n break;\n case \"y\" :\n case \"YYYY\" :\n dateParts.push(year);\n break;\n default:\n break;\n }\n }\n return dateParts.join(\"-\");\n }\n\n public static GetWeekNumber(date: Date): number {\n date = new Date(date.getTime());\n date.setHours(0, 0, 0, 0);\n date.setDate(date.getDate() + 4 - (date.getDay() || 7));\n return Math.ceil((((date.getTime() - new Date(date.getFullYear(), 0, 1).getTime()) / 8.64e7) + 1) / 7);\n }\n\n // Returns the number of days from now, for the given date in the future. Returns negative days if given date is in the past from now.\n public static GetDaysFromNow(date: Date): number {\n return DateUtils.GetDayDifference(new Date(Date.now()), date);\n }\n\n public static StringAsDate(str: string, format: string = DateUtils.BACKEND_DATE_FORMAT): Date {\n if (notNill(str)) {\n if (!isNaN(Number(str))) {\n return new Date(str);\n } else {\n const time: any = moment(str, format, true);\n return time.isValid() ? new Date(time) : undefined;\n }\n } else {\n return undefined;\n }\n }\n\n public static MomentToDate(time: Moment): Date {\n if (!time || !time.isValid()) {\n return undefined;\n }\n\n const d: Date = new Date(time.format(DateUtils.BACKEND_DATE_FORMAT));\n d.setHours(time.hours());\n d.setMinutes(time.minutes());\n d.setSeconds(time.seconds());\n return d;\n }\n\n public static GetCurrentMonth(): Month {\n return ALL_MONTHS[new Date().getMonth()];\n }\n\n // @returns e.g. [\"FEBRUARI\", \"MARCH\", ..] if it's Februari today, otherwise e.g. [\"APRIL\", \"MAY\", ...] if it's April today\n public static Get12MonthsArrayWithFirstMonthIsCurrentMonth(): Month[] {\n const answer: Month[] = [];\n\n let monthNrToAdd: number = new Date().getMonth();\n for (let i: number = 0; i < 12; i++) {\n answer.push(ALL_MONTHS[monthNrToAdd]);\n monthNrToAdd = (monthNrToAdd + 1) % ALL_MONTHS.length;\n }\n\n return answer;\n }\n\n public static GetFirstDayOfWeek(date: Date): Date {\n if (!DateUtils._ValidDate(date)) {\n return null;\n }\n let firstDay: Date;\n const dayOfWeek: number = date.getDay() || 7;\n if (dayOfWeek === 1) {\n firstDay = new Date(date);\n } else {\n firstDay = new Date(date);\n firstDay.setHours(-24 * (dayOfWeek - 1));\n }\n return firstDay;\n }\n\n public static GetLastDayOfWeek(date: Date): Date {\n const firstDayOfWeek: Date = DateUtils.GetFirstDayOfWeek(date);\n const lastDayOfWeek: Date = new Date(firstDayOfWeek);\n lastDayOfWeek.setDate(firstDayOfWeek.getDate() + 6);\n return lastDayOfWeek;\n }\n\n public static GetFirstDayOfMonth(date: Date): Date {\n if (!DateUtils._ValidDate(date)) {\n return null;\n }\n const year: number = date.getFullYear();\n const month: number = date.getMonth();\n return new Date(year, month, 1);\n }\n\n public static GetLastDayOfMonth(date: Date): Date {\n if (!DateUtils._ValidDate(date)) {\n return null;\n }\n const year: number = date.getFullYear();\n const month: number = date.getMonth();\n return new Date(year, month + 1, 0);\n }\n\n public static DatesEqual(date1: Date, date2: Date): boolean {\n let result: boolean = false;\n if (DateUtils._ValidDate(date1) && DateUtils._ValidDate(date2)) {\n result =\n date1.getDate() === date2.getDate() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getFullYear() === date2.getFullYear();\n }\n return result;\n }\n\n public static DateRangeEqual(dates1: DateRange, dates2: DateRange): boolean {\n return (this.DatesEqual(dates1.startDate, dates2.startDate) &&\n this.DatesEqual(dates1.endDate, dates2.endDate));\n }\n\n public static AddMinutes(date: Date, minutes: number): Date {\n return new Date(date.getTime() + (minutes * 60000));\n }\n\n public static AddDays(date: Date, days: number): Date {\n const result: Date = new Date(date);\n result.setDate(result.getDate() + days);\n return result;\n }\n\n public static AddMonths(date: Date, months: number): Date {\n const result: Date = new Date(date);\n result.setMonth(result.getMonth() + months);\n return result;\n }\n\n public static DetermineDSTBreakpoints(): { start: string, end: string } {\n const endOfYear: Date = new Date(new Date().getFullYear(), 11, 1);\n let checkDate: Date = new Date(new Date().getFullYear(), 0, 1);\n let offset: number = checkDate.getTimezoneOffset();\n\n const periodStart: Date = new Date();\n let periodStartSet: boolean = false;\n const periodEnd: Date = new Date();\n let periodEndSet: boolean = false;\n while (checkDate.getTime() < endOfYear.getTime()) {\n checkDate = this.AddMinutes(checkDate, 60);\n if (offset < checkDate.getTimezoneOffset()) {\n periodEnd.setTime(checkDate.getTime());\n periodEndSet = true;\n } else if (offset > checkDate.getTimezoneOffset()) {\n periodStart.setTime(checkDate.getTime());\n periodStartSet = true;\n }\n offset = checkDate.getTimezoneOffset();\n if (periodStartSet && periodEndSet) {\n break;\n }\n }\n\n if (periodStartSet && periodEndSet) {\n return {\n start: this._DateToTimeStringWithDateFormat(periodStart),\n end: this._DateToTimeStringWithDateFormat(periodEnd)\n };\n } else {\n return {start: undefined, end: undefined}; // important otherwise we return new Date() for both\n }\n }\n\n private static _ValidDate(date: Date): boolean {\n return date !== null && date !== undefined;\n }\n\n /**\n * Returns the difference between the two given days as the number of days, in float precision (date to - date from).\n * Returns negative values of the 'from' date is later than in time than the 'to' date.\n */\n public static GetDayDifference(from: Date, to: Date): number {\n if (!from || !to) {\n return NaN;\n }\n return ((to.getTime() - from.getTime()) / 1000 / 60 / 60 / 24);\n }\n\n public static IsSameDay(dateOne: Date, dateTwo: Date): boolean {\n return (dateOne && dateTwo &&\n dateOne.getDate() === dateTwo.getDate()\n && dateOne.getMonth() === dateTwo.getMonth()\n && dateOne.getFullYear() === dateTwo.getFullYear());\n }\n\n public static IsInBetween(date: Date, startDate: Date, endDate: Date, withTime: boolean = true): boolean {\n if (startDate && endDate) {\n if (withTime) {\n return (date > startDate && date < endDate);\n } else {\n const dateWithoutTime: number = new Date(date).setHours(0, 0, 0, 0),\n dateFromWithoutTime: number = new Date(startDate).setHours(0, 0, 0, 0),\n dateToWithoutTime: number = new Date(endDate).setHours(0, 0, 0, 0);\n return dateWithoutTime >= dateFromWithoutTime && dateWithoutTime <= dateToWithoutTime;\n }\n }\n }\n\n public static IsMonday(date: Date): boolean {\n return date.getDay() === 1;\n }\n\n public static IsSunday(date: Date): boolean {\n return date.getDay() === 0;\n }\n\n public static IsToday(date: Date): boolean {\n const today: Date = new Date();\n return DateUtils.IsSameDay(today, date);\n }\n\n // Returns date format like it would when using a pipe in the templete, ie: \"1 okt. 2020\"\n public static ParseDateInShortDateFormat(date: Date, locale: string): string {\n this.datePipe = new DatePipe(locale);\n const parsedDate: string = this.datePipe.transform(date);\n return parsedDate;\n }\n\n // Transforms a string that is formatted like \"'17-08-2014'<=?<='17-08-2021'\" into \"'17-08-2014' Untill '17-08-2021'\"\n public static getFormattedDateRangeString(dateRangeString: string, separator: string = \" - \"): string {\n let newString: string = dateRangeString;\n newString = newString.replace(\"<=?<=\", ` ${separator} `);\n newString = newString.replace(/'/g, \"\");\n\n return newString;\n }\n\n public static SetDateOrDateRangeObjectHoursZero(date: Date | DateRange): void {\n if (date instanceof DateRange) {\n if (date.startDate) {\n date.startDate.setHours(0, 0, 0);\n }\n if (date.endDate) {\n date.endDate.setHours(0, 0, 0);\n }\n } else if (!!date && (date instanceof Date)) {\n date.setHours(0, 0, 0, 0);\n }\n }\n\n private static _DateToTimeStringWithDateFormat(value: Date, dateFormat: string = \"d-m-y\"): string {\n if (!value) {\n return \"\";\n }\n\n const hours: string = value.getHours() < 10 ? \"0\" + value.getHours() : \"\" + value.getHours();\n const minutes: string = value.getMinutes() < 10 ? \"0\" + value.getMinutes() : \"\" + value.getMinutes();\n return this.ParseDate(value, dateFormat) + \" \" + [hours, minutes].join(\":\");\n }\n}\n","import {Component, EventEmitter, Inject, Input, LOCALE_ID, Output, ViewEncapsulation} from \"@angular/core\";\nimport {ArrayNumberPipe} from \"../../../../pipe/array-number.pipe\";\nimport {DatePipe} from \"@angular/common\";\nimport {DateUtils} from \"../../../../utils/date-utils\";\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\n\ntype DateStamp = { day: number, inMonth: boolean, timestamp: number, week: number, selected: boolean };\n\n@Component({\n selector: \"calendar-view\",\n template: `\n <div class=\"calendar-content\">\n <div>\n <div class=\"week-day-header week-row\">\n <div class=\"week-acronym\"></div>\n <div *ngFor=\"let weekDay of weekDayLabel\" [textContent]=\"weekDay | ucfirst\"\n class=\"week-day-label\"></div>\n </div>\n <div class=\"week-row\" *ngFor=\"let week of weeks;trackBy:trackByWeek\">\n <div [textContent]=\"week[0].week\" class=\"week-number\"></div>\n <div *ngFor=\"let date of week;trackBy:trackByStamp\" class=\"week-day\"\n (click)=\"onDateClick(date)\" [textContent]=\"date.day\">\n </div>\n </div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\n//fixme we don't have a todayDayStamp field but our template references it\nexport class CalendarViewComponent {\n\n @Input()\n public set view(value: CalendarView) {\n this._view = value;\n this._selectDays();\n }\n\n public get view(): CalendarView {\n return this._view;\n }\n\n @Input()\n public set selectedDate(value: Date) {\n this._selectedDate = value;\n this._selectedDate.setHours(0, 0, 0, 0);\n this._prepareWeeks();\n }\n\n public get selectedDate(): Date {\n return this._selectedDate;\n }\n\n @Output()\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n public trackByStamp: Function = (index: number, stamp: DateStamp): number => {\n return stamp && stamp.timestamp || index;\n }\n\n public trackByWeek: Function = (index: number, week: DateStamp[]): number => {\n return week && week[0].week || index;\n }\n\n public weekDayLabel: string[] = [];\n\n public weeks: DateStamp[][] = [];\n\n private _selectedDate: Date = new Date();\n\n private _view: CalendarView = CalendarView.WeekView;\n\n constructor(\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\n ) {\n this.selectedDate.setHours(0, 0, 0, 0);\n this._setLabels();\n }\n\n public onDateClick(date: DateStamp): void {\n this.selectedDate = new Date(date.timestamp);\n this.selectedDateChange.emit(this.selectedDate);\n this._selectDays();\n }\n\n private _setLabels(): void {\n const datePipe: DatePipe = new DatePipe(this._locale);\n\n const currentDay: number = this.selectedDate.getDay();\n const startWeekDate: Date = new Date(this.selectedDate.getTime());\n startWeekDate.setDate(startWeekDate.getDate() - currentDay - 1);\n\n this.weekDayLabel = new ArrayNumberPipe().transform(7).map(() => {\n startWeekDate.setDate(startWeekDate.getDate() + 1);\n return datePipe.transform(startWeekDate, \"E\");\n });\n this.weekDayLabel.push(this.weekDayLabel.shift());\n }\n\n private _prepareWeeks(): void {\n this.weeks.length = 0;\n\n const date: Date = new Date(this.selectedDate.getTime());\n date.setHours(0, 0, 0, 0);\n\n // go to last day of month\n date.setMonth(date.getMonth() + 1);\n date.setDate(0);\n const monthEndDay: number = date.getDay();\n const monthEndDate: number = date.getDate();\n\n // days after end of month\n const daysAfter: number = !monthEndDay ? 0 : 7 - monthEndDay;\n\n // go to first day of month\n date.setDate(1);\n const monthBeginDay: number = date.getDay();\n\n // days before start of month\n const daysBefore: number = !monthBeginDay ? 6 : monthBeginDay - 1;\n\n // go to start of calendar view\n date.setDate(-daysBefore + 1);\n\n // amount of weeks to display\n const weekCount: number = Math.ceil((daysBefore + daysAfter + monthEndDate) / 7);\n const weekStart: number = DateUtils.GetWeekNumber(date);\n const weekEnd: number = weekStart + weekCount - 1;\n\n // iterate over week count\n for (let i: number = weekStart; i <= weekEnd; i++) {\n let week: number = i;\n\n // only recalculate week when it's necessary\n if (weekStart > 50) {\n week = DateUtils.GetWeekNumber(date);\n }\n const days: DateStamp[] = [];\n\n // iterate over 7 days\n for (let ii: number = 1; ii <= 7; ii++) {\n // check if we are in the current month\n let inMonth: boolean = true;\n if (i === weekStart) {\n inMonth = ii > daysBefore;\n } else if (i === weekEnd) {\n inMonth = ii <= 7 - daysAfter;\n }\n\n const timestamp: number = date.getTime();\n // add dateStamp to date array\n days.push({\n week: week,\n inMonth: inMonth,\n day: date.getDate(),\n timestamp: timestamp,\n selected: this.selectedDate.getTime() === timestamp\n });\n // go one day further\n date.setDate(date.getDate() + 1);\n }\n this.weeks.push(days);\n }\n this._selectDays();\n }\n\n private _selectDays(): void {\n this._resetSelection();\n if (!this.selectedDate) {\n return;\n }\n const weekNumber: number = DateUtils.GetWeekNumber(this.selectedDate);\n const len: number = this.weeks.length;\n for (let i: number = 0; i < len; i++) {\n const leni: number = this.weeks[i].length;\n for (let ii: number = 0; ii < leni; ii++) {\n if (this.weeks[i][ii].inMonth && this.view === CalendarView.MonthView) {\n this.weeks[i][ii].selected = true;\n } else if (this.weeks[i][ii].week === weekNumber && this.view === CalendarView.WeekView) {\n this.weeks[i][ii].selected = true;\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.WeekSelectView) {\n this.weeks[i][ii].selected = true;\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.DayView) {\n this.weeks[i][ii].selected = true;\n }\n }\n }\n }\n\n private _resetSelection(): void {\n const len: number = this.weeks.length;\n for (let i: number = 0; i < len; i++) {\n const leni: number = this.weeks[i].length;\n for (let ii: number = 0; ii < leni; ii++) {\n this.weeks[i][ii].selected = false;\n }\n }\n }\n}\n","import {AgendaEvent} from \"./agenda-event.model\";\n\nexport class Weekday {\n public inView: boolean = true;\n public weekdayDay: number;\n public weekdayMonthShort: string;\n public weekdayMonthLong: string;\n public weekdayYear: number;\n public date: Date;\n public weekdayShort: string;\n public weekdayLong: string;\n public description: string;\n public newMonth: boolean = false;\n public weekdaySelected: boolean = false;\n public datesByTheHour: Date[] = [];\n public events: AgendaEvent[] = [];\n}\n","import {Weekday} from \"./weekday.model\";\n\nexport class Week {\n public weekDays: Weekday[] = [];\n}\n","import {DateUtils} from \"./date-utils\";\nimport {Weekday} from \"../model/weekday.model\";\nimport {Inject, LOCALE_ID} from \"@angular/core\";\nimport {LanguageCode} from \"../enum/language-code.enum\";\nimport {Week} from \"../model/week.model\";\n\nexport class CalendarUtils {\n public static Locale: LanguageCode = undefined;\n\n public static Now: Date = new Date();\n\n constructor(\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode\n ) {\n CalendarUtils.Locale = _locale;\n }\n\n // public static GetCurrentYear(): number {\n // return this.Now.getFullYear();\n // }\n //\n // public static GetCurrentMonth(): number {\n // return this.Now.getUTCMonth() + 1;\n // }\n\n public static GetDayHours(day: Date): Date[] {\n const datesByTheHour: Date[] = [];\n if (day) {\n let newDate: Date = new Date(day);\n newDate.setHours(0, 0, 0, 0);\n datesByTheHour.push(newDate);\n for (let i: number = 0; i < 23; i++) {\n newDate = new Date(newDate);\n newDate.setHours(newDate.getHours() + 1);\n datesByTheHour.push(newDate);\n }\n }\n return datesByTheHour;\n }\n\n public static GetDaysOfWeek(date: Date): Week {\n let day = new Date();\n const daysOfWeek: Weekday[] = [];\n let options: any;\n let month: number;\n for (let i: number = 0; i < 3; i++) {\n const dayPerWeek: Weekday = new Weekday();\n const dayHours: Date[] = CalendarUtils.GetDayHours(day);\n dayPerWeek.newMonth = day.getMonth() !== month;\n dayPerWeek.weekdaySelected = day.getDay() === date.getDay();\n dayPerWeek.weekdayDay = day.getDate();\n options = { weekday: \"short\" };\n dayPerWeek.weekdayShort = day.toLocaleDateString(CalendarUtils.Locale, options);\n options = { weekday: \"long\" };\n dayPerWeek.weekdayLong = day.toLocaleDateString(CalendarUtils.Locale, options);\n\n options = { month: \"short\" };\n dayPerWeek.weekdayMonthShort = day.toLocaleDateString(CalendarUtils.Locale, options);\n options = { month: \"long\" };\n dayPerWeek.weekdayMonthLong = day.toLocaleDateString(CalendarUtils.Locale, options);\n dayPerWeek.weekdayYear = day.getFullYear();\n\n dayPerWeek.date = new Date(day);\n dayPerWeek.datesByTheHour = dayHours;\n daysOfWeek.push(dayPerWeek);\n month = day.getMonth();\n day = new Date(day);\n day.setDate(day.getDate() + 1);\n }\n const week: Week = new Week();\n week.weekDays = daysOfWeek;\n return week;\n }\n\n}\n","import {TimeWindow} from \"./time-window.bo\";\n\nexport class AgendaEvent {\n public id: number;\n public description: string;\n public checked: boolean = false;\n public showCheckbox: boolean = false;\n public draggable: boolean = false;\n public from: Date;\n public to: Date;\n public date: Date;\n public dayPartNo: number;\n public fromString: string;\n public toString: string;\n public fromToRepresentation: string;\n public timeWindow: TimeWindow;\n\n public customObject: Object;\n}\n","import {AgendaEvent} from \"./agenda-event.model\";\n\nexport class AgendaEventPerDay {\n public date: Date;\n public events: AgendaEvent[] = [];\n}\n","import {Week} from \"./week.model\";\n\nexport class Month {\n public weeks: Week[] = [];\n\n public get firstWeek(): Week {\n if (this.weeks && this.weeks.length > 0) {\n return this.weeks[0];\n }\n }\n}\n","import {AgendaEvent} from \"./agenda-event.model\";\n\nexport class Day {\n public day: number;\n public date: Date;\n public description: string;\n public datesByTheHour: Date[] = [];\n public events: AgendaEvent[] = [];\n}\n","import {AgendaEvent} from \"./agenda-event.model\";\nimport {AgendaEventPerDay} from \"./agenda-event-per-day.model\";\nimport {Month} from \"./month.model\";\nimport {Week} from \"./week.model\";\nimport {Day} from \"./day.model\";\n\nexport const NULL_AGENDA_EVENT: AgendaEvent = new AgendaEvent();\nexport const NULL_AGENDA_EVENT_PER_DAY: AgendaEventPerDay = new AgendaEventPerDay();\nexport const NULL_MONTH: Month = new Month();\nexport const NULL_WEEK: Week = new Week();\nexport const NULL_DAY: Day = new Day();\n","import {\n AfterContentChecked,\n Component,\n ElementRef,\n EventEmitter,\n Inject,\n Input,\n LOCALE_ID,\n NgZone,\n OnDestroy,\n OnInit,\n Output,\n Renderer2, ViewEncapsulation\n} from \"@angular/core\";\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\nimport {Weekday} from \"../../../../model/weekday.model\";\nimport {Week} from \"../../../../model/week.model\";\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\nimport {NULL_DAY} from \"../../../../model/agenda-null-objects\";\nimport {Day} from \"../../../../model/day.model\"\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\nimport {DateUtils} from \"../../../../utils/date-utils\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\n\n@Component({\n selector: \"agenda-header\",\n template: `\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.DayView\">\n <div class=\"hour-label-placeholder\">\n <view-select [selectedView]=\"view\" (selectedViewChange)=\"changeTheView($event)\"></view-select>\n </div>\n <div class=\"week-day-label\">\n <co-icon class=\"pointer-hover no-user-select sub-unit-icon dark\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\n <div class=\"day-description\" [textContent]=\"day.description\"></div>\n <co-icon class=\"pointer-hover no-user-select add-unit-icon dark\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\n </div>\n </div>\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekView\">\n\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\"\n [class.selected]=\"weekDay.weekdaySelected\" (click)=\"setUnit(weekDay)\">\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\n <div *ngIf=\"weekDay.newMonth\" [textContent]=\"weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear\"\n class=\"month-description\"></div>\n <div class=\"weekday-value\"\n [textContent]=\"weekDay.weekdayLong + ' ' + weekDay.weekdayDay + ' ' + weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear \"></div>\n <!-- <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayYear\"></div>-->\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\n </div>\n </div>\n\n\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekSelectView\">\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\"\n [class.selected]=\"weekDay.weekdaySelected\"\n [class.selectable]=\"weekDay.events && weekDay.events.length > 0\"\n (click)=\"setUnit(weekDay)\">\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\n <div class=\"weekday-value\" [textContent]=\"weekDay.weekdayDay + ' ' + weekDay.weekdayMonthShort\"></div>\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\n </div>\n </div>\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.MonthView\">\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\">\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\"\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaHeaderComponent implements OnInit, OnDestroy, AfterContentChecked {\n public readonly icons: typeof Icon = Icon;\n public readonly viewTypes: typeof CalendarView = CalendarView;\n\n private readonly scrollbarWidth: number = 15;\n\n public today: Date = new Date();\n\n @Input()\n public set selectedDate(value: Date) {\n this._selectedDate = new Date(value);\n this._prepareHeaderData();\n }\n\n public get selectedDate(): Date {\n return this._selectedDate;\n }\n\n @Input()\n public view: CalendarView;\n\n @Input()\n public set firstAvailableDate(value: Date) {\n if (value) {\n this._firstAvailableDate = new Date(value);\n this._prepareHeaderData();\n }\n }\n\n public get firstAvailableDate(): Date {\n return this._firstAvailableDate;\n }\n\n @Input()\n public set eventsPerDay(value: AgendaEventPerDay[]) {\n this._eventsPerDay = value;\n this._prepareHeaderData();\n }\n\n @Output()\n public viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\n\n @Output()\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n @Output()\n public rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\n\n public weekDays: Weekday[] = [];\n public day: Day = NULL_DAY;\n public showBackButton: boolean = true;\n\n private _selectedDate: Date;\n private _firstAvailableDate: Date;\n private _eventsPerDay: AgendaEventPerDay[] = [];\n\n constructor(\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n private _ngZone: NgZone,\n public iconCacheService: IconCacheService\n ) {\n }\n\n ngOnDestroy(): void {\n window.removeEventListener(\"resize\", this._onResize);\n this._elementRef = undefined;\n }\n\n ngOnInit(): void {\n this._ngZone.runOutsideAngular(() => {\n window.addEventListener(\"resize\", this._onResize);\n });\n }\n\n ngAfterContentChecked(): void {\n this._resizeHost();\n }\n\n public subUnit(): void {\n if (this.selectedDate) {\n const newDate: Date = new Date(this.selectedDate);\n switch (this.view) {\n case CalendarView.DayView:\n newDate.setDate(this.selectedDate.getDate() - 1);\n break;\n case CalendarView.WeekView:\n newDate.setDate(this.selectedDate.getDate() - 7);\n break;\n case CalendarView.WeekSelectView:\n newDate.setDate(this.selectedDate.getDate() - 7);\n break;\n case CalendarView.MonthView:\n newDate.setMonth(this.selectedDate.getMonth() - 1);\n break;\n }\n this.selectedDate = newDate;\n this.rangeChange.emit(this.selectedDate);\n }\n }\n\n public addUnit(): void {\n if (this.selectedDate) {\n const newDate: Date = new Date(this.selectedDate);\n switch (this.view) {\n case CalendarView.DayView:\n newDate.setDate(this.selectedDate.getDate() + 1);\n break;\n case CalendarView.WeekView:\n newDate.setDate(this.selectedDate.getDate() + 7);\n break;\n case CalendarView.WeekSelectView:\n newDate.setDate(this.selectedDate.getDate() + 7);\n break;\n case CalendarView.MonthView:\n newDate.setMonth(this.selectedDate.getMonth() + 1);\n break;\n }\n this.selectedDate = newDate;\n this.rangeChange.emit(this.selectedDate);\n }\n }\n\n public setUnit(weekDay: Weekday): void {\n this.selectedDate = weekDay.date;\n this.selectedDateChange.emit(this.selectedDate);\n }\n\n public changeTheView(view: CalendarView): void {\n this.view = view;\n this.viewChange.emit(view);\n this._prepareHeaderData();\n }\n\n private _onResize: EventListener = async (): Promise<void> => {\n this._resizeHost();\n }\n\n /**\n * Need to resize the host component to size it's fixed positioned child through css\n */\n private _resizeHost(): void {\n if (this._elementRef) {\n this._renderer.setStyle(\n this._elementRef.nativeElement, \"width\", this._elementRef.nativeElement.parentElement.clientWidth - this.scrollbarWidth + \"px\");\n }\n }\n\n private _prepareHeaderData(): void {\n if (this.selectedDate) {\n switch (this.view) {\n case CalendarView.DayView:\n const day: Day = new Day();\n day.date = new Date(this.selectedDate);\n const options: any = { year: \"numeric\", month: \"long\", day: \"numeric\" };\n day.description = this.selectedDate.toLocaleDateString(this._locale, options);\n this.day = day;\n break;\n case CalendarView.WeekView:\n const weekView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\n this.weekDays = weekView.weekDays;\n if (this.firstAvailableDate) {\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\n }\n break;\n case CalendarView.WeekSelectView:\n const weekSelectView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\n this.weekDays = weekSelectView.weekDays;\n this.weekDays.forEach((wd: Weekday) => {\n const evPerDay: AgendaEventPerDay = this._eventsPerDay && this._eventsPerDay.length > 0 ? this._eventsPerDay.find(e => DateUtils.DatesEqual(e.date, wd.date)) : null;\n if (evPerDay) {\n wd.events = evPerDay.events;\n } else {\n wd.weekdaySelected = false;\n }\n });\n if (this.firstAvailableDate) {\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\n }\n break;\n case CalendarView.MonthView:\n const weekOfMonth: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\n this.weekDays = weekOfMonth.weekDays;\n if (this.firstAvailableDate) {\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\n }\n break;\n }\n }\n }\n}\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\n\n@Component({\n selector: \"agenda-view\",\n template: `\n <div class=\"view-wrapper mini-scrollbar\" [ngSwitch]=\"view\">\n <agenda-day-view *ngSwitchCase=\"viewTypes.DayView\"\n [selectedDate]=\"selectedDate\" [customEventObject]=\"customEventObject\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-day-view>\n <agenda-week-view *ngSwitchCase=\"viewTypes.WeekView\"\n [view]=\"view\" [selectedDate]=\"selectedDate\" [customEventObject]=\"customEventObject\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-view>\n <agenda-week-select-view *ngSwitchCase=\"viewTypes.WeekSelectView\"\n [view]=\"view\" [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-select-view>\n <agenda-month-view *ngSwitchCase=\"viewTypes.MonthView\"\n [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-month-view>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaViewComponent {\n\n @Input()\n public view: CalendarView;\n\n @Input()\n public customEventObject: boolean;\n\n @Input()\n public selectedDate: Date;\n\n @Input()\n public eventsPerDay: AgendaEventPerDay[] = [];\n\n @Output()\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\n\n public readonly viewTypes: typeof CalendarView = CalendarView;\n\n}\n","import {Directive, EventEmitter, Inject, Input, LOCALE_ID, Output} from \"@angular/core\";\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\nimport {DateUtils} from \"../../../../utils/date-utils\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\n\n@Directive()\nexport abstract class AgendaBaseViewComponent {\n\n @Input()\n public set selectedDate(value: Date) {\n this._selectedDate = value;\n this._dateIsSet();\n }\n\n @Input()\n public set eventsPerDay(value: AgendaEventPerDay[]) {\n this._eventsPerDay = value;\n this._eventsAreSet();\n }\n\n @Output()\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\n\n public get selectedDate(): Date {\n return this._selectedDate;\n }\n\n public get eventsPerDate(): AgendaEventPerDay[] {\n return this._eventsPerDay;\n }\n\n private _selectedDate: Date;\n private _eventsPerDay: AgendaEventPerDay[] = [];\n\n constructor(\n @Inject(LOCALE_ID) protected readonly locale: LanguageCode,\n public iconCacheService: IconCacheService\n ) {\n }\n\n //overridable by descendents\n protected prepareViewData(): void {\n }\n\n protected getEventsFromDate(date: Date): AgendaEvent[] {\n let events: AgendaEvent[] = [];\n if (this.eventsPerDate) {\n const len: number = this.eventsPerDate.length;\n for (let i: number = 0; i < len; i++) {\n if (DateUtils.DatesEqual(date, this.eventsPerDate[i].date)) {\n events = this.eventsPerDate[i].events;\n break;\n }\n }\n }\n return events;\n }\n\n private _dateIsSet(): void {\n this.prepareViewData();\n }\n\n private _eventsAreSet(): void {\n this.prepareViewData();\n }\n}\n","import {Component, ViewEncapsulation} from \"@angular/core\";\nimport { AgendaBaseViewComponent } from \"./agenda-base-view.component\";\nimport {NULL_MONTH} from \"../../../../model/agenda-null-objects\";\nimport {Month} from \"../../../../model/month.model\";\nimport {Weekday} from \"../../../../model/weekday.model\";\nimport {Week} from \"../../../../model/week.model\";\nimport {DateUtils} from \"../../../../utils/date-utils\";\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\n\n\n@Component({\n selector: \"agenda-month-view\",\n template: `\n <div class=\"view-wrapper\">\n <div class=\"hour-view-labels-wrapper\"></div>\n <div class=\"weeks\">\n <div class=\"week\" *ngFor=\"let week of weeks\" fxLayout=\"row\">\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\" [class.not-in-month]=\"!weekDay.inView\">\n <div class=\"day\" [textContent]=\"weekDay.weekdayDay\"></div>\n </div>\n </div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaMonthViewComponent extends AgendaBaseViewComponent {\n\n public month: Month = NULL_MONTH;\n\n public firstWeekDays: Weekday[] = [];\n\n public weeks: Week[] = [];\n\n protected prepareViewData(): void {\n const month: Month = new Month();\n if (this.selectedDate) {\n const day: Date = DateUtils.GetFirstDayOfMonth(this.selectedDate);\n const endOfMonth: Date = DateUtils.GetLastDayOfMonth(this.selectedDate);\n let oneMoreIteration: boolean = false;\n let continueLoop: boolean = true;\n\n while (continueLoop) {\n if (oneMoreIteration) {\n continueLoop = false;\n }\n const week: Week = CalendarUtils.GetDaysOfWeek(day);\n const len: number = week.weekDays.length;\n for (let i: number = 0; i < len; i++) {\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\n week.weekDays[i].inView = week.weekDays[i].date.getMonth() === this.selectedDate.getMonth();\n }\n month.weeks.push(week);\n day.setDate(day.getDate() + 7);\n if (day.getTime() >= endOfMonth.getTime()) {\n oneMoreIteration = true;\n }\n }\n this.month = month;\n this.firstWeekDays = this.month.firstWeek.weekDays;\n this.weeks = month.weeks;\n }\n }\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\n\n\n@Component({\n selector: \"agenda-day-view\",\n template: `\n <div class=\"view-wrapper\">\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\n <agenda-hour-view [date]=\"selectedDate\">\n <agenda-events\n [halfHourHeight]=\"40\"\n [events]=\"events\"\n (eventChecked)=\"eventChecked.emit($event)\"\n [customEventObject]=\"customEventObject\"\n ></agenda-events>\n </agenda-hour-view>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaDayViewComponent extends AgendaBaseViewComponent {\n\n public events: AgendaEvent[] = [];\n\n @Input()\n public customEventObject: boolean;\n\n protected prepareViewData(): void {\n if (this.eventsPerDate && this.eventsPerDate.length > 0) {\n this.events = this.eventsPerDate[0].events;\n }\n }\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\nimport {Week} from \"../../../../model/week.model\";\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\nimport {buildCustomWebpackKarma} from \"@angular-builders/custom-webpack\";\n\n\n@Component({\n selector: \"agenda-week-view\",\n template: `\n <div class=\"view-wrapper\">\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\n <agenda-hour-view [date]=\"weekDay.date\">\n <agenda-events\n [halfHourHeight]=\"40\"\n [events]=\"weekDay.events\"\n (eventChecked)=\"eventChecked.emit($event)\"\n [view]=\"view\"\n [customEventObject]=\"customEventObject\"\n ></agenda-events>\n </agenda-hour-view>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaWeekViewComponent extends AgendaBaseViewComponent /*implements OnInit, OnDestroy*/ {\n\n @Input()\n public view: CalendarView;\n\n @Input()\n public customEventObject: boolean;\n public week: Week = NULL_WEEK;\n\n protected prepareViewData(): void {\n if (this.selectedDate) {\n // get the events\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\n const len: number = week.weekDays.length;\n for (let i: number = 0; i < len; i++) {\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\n }\n this.week = week;\n }\n }\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\nimport {Week} from \"../../../../model/week.model\";\n\n@Component({\n selector: \"agenda-week-select-view\",\n template: `\n <div class=\"view-wrapper week-select-view\">\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\n <div class=\"week-select-container\" *ngIf=\"weekDay.weekdaySelected\">\n <div class=\"week-select-left\">\n <h3 [textContent]=\"'AGENDA_CHOOSE_DELIVERY_PERIOD'\"></h3>\n <div class=\"week-select-list mini-scrollbar\">\n <agenda-events\n [halfHourHeight]=\"40\"\n [events]=\"weekDay.events\"\n (eventChecked)=\"eventChecked.emit($event)\"\n [view]=\"view\"\n ></agenda-events>\n <div class=\"no-events-banner\" *ngIf=\"weekDay.events.length === 0\">\n <p [textContent]=\"'AGENDA_NO_PERIODS_AVAILABLE'\"></p>\n </div>\n </div>\n </div>\n <div class=\"week-select-right\">\n <h3 [textContent]=\"'AGENDA_FOR_EVERY_PERIOD'\"></h3>\n <ul>\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON1'\"></span></li>\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON2'\"></span></li>\n </ul>\n </div>\n </div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaWeekSelectViewComponent extends AgendaBaseViewComponent {\n\n @Input()\n public view: CalendarView = CalendarView.WeekSelectView;\n\n public week: Week = NULL_WEEK;\n\n public readonly icons: typeof Icon = Icon;\n\n protected prepareViewData(): void {\n if (this.selectedDate) {\n // get the events\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\n const len: number = week.weekDays.length;\n for (let i: number = 0; i < len; i++) {\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\n }\n this.week = week;\n }\n }\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"agenda-hour-view\",\n template: `\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\n <div fxLayout=\"row\">\n <agenda-hour-cell [date]=\"dateByTheHour\"></agenda-hour-cell>\n </div>\n </div>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaHourViewComponent {\n\n @Input()\n public set date(value: Date) {\n this._date = new Date(value);\n this._prepareViewData();\n }\n\n public readonly datesByTheHour: Date[] = [];\n\n public get date(): Date {\n return this._date;\n }\n\n private _date: Date = new Date();\n\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewLabelsComponent._prepareViewData()\n private _prepareViewData(): void {\n this.datesByTheHour.length = 0;\n if (this.date) {\n let newDate: Date = new Date(this.date);\n newDate.setHours(0, 0, 0, 0);\n this.datesByTheHour.push(newDate);\n for (let i: number = 0; i < 23; i++) {\n newDate = new Date(newDate);\n newDate.setHours(newDate.getHours() + 1);\n this.datesByTheHour.push(newDate);\n }\n }\n }\n\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"agenda-hour-cell\",\n template: `\n <div class=\"row-per-half-hour\">\n <agenda-half-hour-cell [date]=\"date\" [showLabel]=\"onlyLabels && !noLabels\"></agenda-half-hour-cell>\n <agenda-half-hour-cell [date]=\"datePlushalfHour\"></agenda-half-hour-cell>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaHourCellComponent {\n @Input()\n public onlyLabels: boolean = false;\n\n @Input()\n public noLabels: boolean = false;\n\n @Input()\n public set date(value: Date) {\n this._date = value;\n this._setNextHalfHour();\n }\n\n public get date(): Date {\n return this._date;\n }\n\n public datePlushalfHour: Date;\n\n private _date: Date;\n\n private _setNextHalfHour(): void {\n this.datePlushalfHour = new Date(this._date);\n this.datePlushalfHour.setMinutes(this.datePlushalfHour.getMinutes() + 30);\n }\n}\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\n\n@Component({\n selector: \"agenda-hour-view-labels\",\n template: `\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\n <div>\n <agenda-hour-cell [date]=\"dateByTheHour\" onlyLabels [noLabels]=\"noLabels\"></agenda-hour-cell>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaHourViewLabelsComponent {\n\n @Input()\n public set date(value: Date) {\n this._date = new Date(value);\n this._date.setDate(1);\n this._date.setMonth(1);\n this._date.setFullYear(1);\n this._prepareViewData();\n }\n\n @Input()\n public noLabels: boolean = false;\n\n public readonly datesByTheHour: Date[] = [];\n\n public get date(): Date {\n return this._date;\n }\n\n private _date: Date = new Date();\n\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewComponent._prepareViewData()\n private _prepareViewData(): void {\n this.datesByTheHour.length = 0;\n if (this.date) {\n let newDate: Date = new Date(this.date);\n newDate.setHours(0, 0, 0, 0);\n this.datesByTheHour.push(newDate);\n for (let i: number = 0; i < 23; i++) {\n newDate = new Date(newDate);\n newDate.setHours(newDate.getHours() + 1);\n this.datesByTheHour.push(newDate);\n }\n }\n }\n}\n","import {Component, ElementRef, Input, OnDestroy, Renderer2, ViewChild, ViewEncapsulation} from \"@angular/core\";\nimport {DateUtils} from \"../../../../utils/date-utils\";\n\n\n@Component({\n selector: \"agenda-half-hour-cell\",\n template: `\n <div id=\"{{id}}\" class=\"cell-wrapper\">\n <div *ngIf=\"showLabel\" [class.show]=\"showLabel\" class=\"half-hour-label\">\n <div [textContent]=\"date | date:'HH:mm'\"></div>\n </div>\n <div *ngIf=\"showCurrentTime\" id=\"currentTime\" class=\"current-time\" #currentTime></div>\n <div class=\"content-wrapper\">\n <ng-content></ng-content>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaHalfHourCellComponent implements OnDestroy {\n\n @ViewChild(\"currentTime\")\n public currentTimeElement: ElementRef;\n\n @Input()\n public set date(value: Date) {\n this._date = value;\n this._checkDate();\n this._checkWorkingDayStart();\n }\n\n public get date(): Date {\n return this._date;\n }\n\n @Input()\n public showLabel: boolean = false;\n\n public showCurrentTime: boolean = false;\n\n public currentTimeTop: number = 0;\n\n public id: string;\n\n private _date: Date;\n private _id: string;\n\n constructor(\n private _renderer: Renderer2\n ) {\n }\n\n ngOnDestroy(): void {\n this.currentTimeElement = undefined;\n }\n\n private _checkDate(): void {\n const checkDate: Date = new Date();\n const minutesFrom: number = this.date.getMinutes();\n const minutesTo: number = minutesFrom + 30;\n\n if (DateUtils.DatesEqual(this.date, checkDate)) {\n if (checkDate.getHours() === this.date.getHours() && (checkDate.getMinutes() > minutesFrom && checkDate.getMinutes() < minutesTo)) {\n this.currentTimeTop = (Math.max(checkDate.getMinutes(), .01) / 60) * 100;\n this._positionCurrentTime();\n this.showCurrentTime = true;\n }\n }\n }\n\n private _checkWorkingDayStart(): void {\n this.id = (this._date.getHours() === 8 && this._date.getMinutes() === 30) ? \"dayStart\" : \"\";\n }\n\n private _positionCurrentTime(): void {\n if (this.currentTimeElement) {\n this._renderer.setStyle(this.currentTimeElement.nativeElement, \"top\", this.currentTimeTop + \"%\");\n this.currentTimeElement.nativeElement.scrollIntoView();\n }\n }\n}\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\n\n@Component({\n selector: \"agenda-events\",\n template: `\n <ng-container *ngIf=\"view !== viewTypes.WeekSelectView\">\n <agenda-event\n *ngFor=\"let event of events\"\n [halfHourHeight]=\"halfHourHeight\"\n [event]=\"event\"\n (eventChecked)=\"eventChecked.emit($event)\"\n [customEventObject]=\"customEventObject\"\n >\n\n </agenda-event>\n </ng-container>\n <ng-container *ngIf=\"view === viewTypes.WeekSelectView\">\n <agenda-select-event\n *ngFor=\"let event of events\"\n [event]=\"event\"\n (eventChecked)=\"eventChecked.emit($event)\"\n ></agenda-select-event>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaEventsComponent {\n\n public readonly viewTypes: typeof CalendarView = CalendarView;\n\n @Input()\n public customEventObject: boolean;\n\n @Input()\n public view: CalendarView = CalendarView.WeekView;\n\n @Input()\n public type: string = \"\";\n\n @Input()\n public events: AgendaEvent[] = [];\n\n @Input()\n public halfHourHeight: number;\n\n @Output()\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\n\n constructor() {\n }\n}\n","import {\n Component,\n ElementRef,\n EventEmitter,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewEncapsulation\n} from \"@angular/core\";\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\n\n\n@Component({\n selector: \"agenda-event\",\n template: `\n <div class=\"agenda-event-wrapper\" [class.checkable]=\"event.showCheckbox\" [class.selected]=\"event.checked\" (click)=\"checkEvent($event)\">\n <div [textContent]=\"event.description\" class=\"event-description\"></div>\n <co-icon *ngIf=\"event.showCheckbox\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" [class.checked]=\"event.checked\"></co-icon>\n\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class AgendaEventComponent implements OnInit, OnDestroy {\n\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public event: AgendaEvent = NULL_AGENDA_EVENT;\n\n @Input()\n public customEventObject: boolean;\n\n @Input()\n public halfHourHeight: number;\n\n @Output()\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\n\n constructor(\n private _elementRef: ElementRef,\n private _renderer: Renderer2,\n public iconCacheService: IconCacheService\n ) {\n }\n\n ngOnDestroy(): void {\n this._elementRef = undefined;\n }\n\n ngOnInit(): void {\n const hourTo: number = this.event.from.getHours();\n const minutesTo: number = this.event.from.getMinutes();\n const multiply: number = hourTo + (minutesTo / 60);\n const top: number = multiply * (this.halfHourHeight * 2);\n this._renderer.setStyle(this._elementRef.nativeElement, \"top\", top + \"px\");\n\n const hours: number = Math.abs(this.event.to.getTime() - this.event.from.getTime()) / 3600000;\n const height: number = hours * (this.halfHourHeight * 2) - 1;\n this._renderer.setStyle(this._elementRef.nativeElement, \"height\", height + \"px\");\n }\n\n public checkEvent(event: MouseEvent): void {\n this.event.checked = !this.event.checked;\n this.eventChecked.emit(this.event);\n }\n\n}\n","import {Pipe, PipeTransform} from \"@angular/core\";\n\n@Pipe({\n name: \"ucfirst\"\n})\n// Pipe capable of transforming the first character of a string-value to upper case.\nexport class UCfirstPipe implements PipeTransform {\n transform(value: string): string {\n if (typeof value === \"string\") {\n return value.charAt(0).toUpperCase() + value.slice(1);\n }\n return value;\n }\n}\n","import {Pipe, PipeTransform} from \"@angular/core\";\nimport {FileTypeInternal} from \"@colijnit/sharedapi/build/enum/refcode/file-type-internal.enum\";\n\n@Pipe({\n name: \"fileTypeImage\"\n})\n// Transforms a MimeType to the corresponding image data URI of that mime type, for direct use as X in img src=X\nexport class FileTypeImagePipe implements PipeTransform {\n private static readonly _PATH_TO_IMAGE_FOLDER: string = \"./res/images/filetype/\";\n\n constructor() {\n }\n\n /**\n * @param {FileTypeInternal} value\n * @param {boolean} [smallImage = false] Every mime type image has a smaller and a larger image available.\n * @returns {string} The data URI of the required mime type image\n */\n transform(value: FileTypeInternal, smallImage: boolean = false): string {\n if (!value) {\n return \"\";\n }\n const smallSuffix: string = smallImage ? \"_small\" : \"\";\n let imageFileName: string;\n switch (value) {\n case FileTypeInternal.Image:\n imageFileName = \"image\" + smallSuffix + \".png\";\n break;\n case FileTypeInternal.Pdf:\n imageFileName = \"pdf\" + smallSuffix + \".png\";\n break;\n case FileTypeInternal.ExcelSheet:\n imageFileName = \"excel\" + smallSuffix + \".png\";\n break;\n case FileTypeInternal.WordDocument:\n imageFileName = \"word\" + smallSuffix + \".png\";\n break;\n case FileTypeInternal.Executable:\n imageFileName = \"exe\" + smallSuffix + \".png\";\n break;\n case FileTypeInternal.TextFile:\n imageFileName = \"text\" + smallSuffix + \".png\";\n break;\n default:\n imageFileName = \"undefined\" + smallSuffix + \".png\";\n break;\n }\n return FileTypeImagePipe._PATH_TO_IMAGE_FOLDER + imageFileName;\n }\n}\n","import {ArrayNumberPipe} from \"./array-number.pipe\";\nimport {UCfirstPipe} from \"./ucfirst.pipe\";\nimport {FileTypeImagePipe} from \"./file-type-image.pipe\";\n\nexport const MASTER_PIPES: any[] = [\n ArrayNumberPipe,\n UCfirstPipe,\n FileTypeImagePipe\n]\n","// <b>Enum</b> Represents the different states of the three way thumb.\nexport enum ThumbThreeWayState {\n Left = 0,\n Middle = 1,\n Right = 2\n}\n\nexport function NextStateOfThumbThreeWay(state: ThumbThreeWayState): ThumbThreeWayState {\n switch (state) {\n case ThumbThreeWayState.Left:\n return ThumbThreeWayState.Middle;\n case ThumbThreeWayState.Middle:\n return ThumbThreeWayState.Right;\n case ThumbThreeWayState.Right:\n default:\n return ThumbThreeWayState.Left;\n }\n}\n","// Static utility functions holder related to Maps.\nexport class MapUtils {\n\n /**\n * Returns the first key from given map, for which the value filter holds true. Basically a reverse Map.get(key) function.\n * @param map\n * @param valueFilter For the first value that returns true for this filter functions, its key will be returned.\n */\n public static FindKeyByValue<K, V>(map: Map<K, V>, valueFilter: (value: V) => boolean): K {\n\n if (!map || !valueFilter) {\n return undefined;\n }\n\n let foundKey: K = undefined;\n let keyWasFound: boolean = false;\n map.forEach((value: V, key: K) => {\n if (!keyWasFound && valueFilter.call(this, value)) {\n foundKey = key;\n keyWasFound = true;\n }\n });\n return foundKey;\n }\n\n /**\n * Inserts given arrayEntry into given map, under given mapKey. What's special here, is that a NEW map entry is created with an array\n * containing the single [arrayEntry] item, if no entry yet existed.\n * @param map\n * @param mapKey\n * @param arrayEntry\n */\n public static InsertArrayItemIntoMap(map: Map<any, any>, mapKey: any, arrayEntry: any): void {\n if (!map) {\n return;\n }\n\n if (!map.has(mapKey)) {\n map.set(mapKey, [arrayEntry]);\n } else {\n map.get(mapKey).push(arrayEntry);\n }\n }\n}\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\nimport {ThumbThreeWayState} from \"../../../../enum/thumb-three-way-state\";\nimport {MapUtils} from \"../../../../utils/map-utils\";\n\n@Component({\n selector: \"view-select\",\n template: `\n <div class=\"select-wrapper\">\n <div [textContent]=\"'DAY'\" class=\"label\"></div>\n <div [textContent]=\"'MONTH'\" class=\"label\"></div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ViewSelectComponent {\n\n private readonly _viewsToThumb: Map<CalendarView, ThumbThreeWayState> = new Map<CalendarView, ThumbThreeWayState>([\n [CalendarView.DayView, ThumbThreeWayState.Left],\n [CalendarView.WeekView, ThumbThreeWayState.Middle],\n [CalendarView.MonthView, ThumbThreeWayState.Right]\n ]);\n\n @Input()\n public selectedView: CalendarView = CalendarView.WeekView;\n\n @Output()\n public selectedViewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\n\n public get modelAsThumbState(): ThumbThreeWayState {\n return this._viewsToThumb.get(this.selectedView);\n }\n\n constructor() {\n }\n\n public onThumbStateChange(thumbState: ThumbThreeWayState): void {\n this.selectedView = MapUtils.FindKeyByValue<CalendarView, ThumbThreeWayState>(this._viewsToThumb, (value: ThumbThreeWayState) => {\n return (value === thumbState);\n });\n this.selectedViewChange.emit(this.selectedView);\n }\n}\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\nimport {Icon} from \"../../../../enum/icon.enum\";\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\n\n@Component({\n selector: \"agenda-select-event\",\n template: `\n <div class=\"week-select-item\" (click)=\"checkEvent($event)\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"!event.checked\"></co-icon>\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"event.checked\"></co-icon>\n <div class=\"moment-name\">\n <small>{{ event.date | date: 'EEEE d MMMM' | uppercase }}</small>\n <h2>{{ event.description }}</h2>\n </div>\n </div>\n `\n})\nexport class AgendaSelectEventComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public event: AgendaEvent = NULL_AGENDA_EVENT;\n\n @Output()\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\n\n constructor(\n public iconCacheService: IconCacheService\n ) {\n }\n\n public checkEvent(event: MouseEvent): void {\n this.event.checked = !this.event.checked;\n this.eventChecked.emit(this.event);\n }\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {DatePlanningComponent} from \"./date-planning.component\";\nimport {ButtonModule, IconModule, InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\nimport {CalendarAllYearsComponent} from \"./component/calendar/calendar-all-years.component\";\nimport {CalendarAllMonthsComponent} from \"./component/calendar/calendar-all-months.component\";\nimport {CalendarHeaderComponent} from \"./component/calendar/calendar-header.component\";\nimport {CalendarComponent} from \"./component/calendar/calendar.component\";\nimport {CalendarViewComponent} from \"./component/calendar/calendar-view.component\";\nimport {AgendaHeaderComponent} from \"./component/agenda/agenda-header.component\";\nimport {AgendaViewComponent} from \"./component/agenda/agenda-view.component\";\nimport {AgendaMonthViewComponent} from \"./component/agenda/agenda-month-view.component\";\nimport {AgendaDayViewComponent} from \"./component/agenda/agenda-day-view.component\";\nimport {AgendaWeekViewComponent} from \"./component/agenda/agenda-week-view.component\";\nimport {AgendaWeekSelectViewComponent} from \"./component/agenda/agenda-week-select-view.component\";\nimport {AgendaHourViewComponent} from \"./component/agenda/agenda-hour-view.component\";\nimport {AgendaHourCellComponent} from \"./component/agenda/agenda-hour-cell.component\";\nimport {AgendaHourViewLabelsComponent} from \"./component/agenda/agenda-hour-view-labels.component\";\nimport {AgendaHalfHourCellComponent} from \"./component/agenda/agenda-half-hour-cell.component\";\nimport {AgendaEventsComponent} from \"./component/agenda/agenda-events.component\";\nimport {AgendaEventComponent} from \"./component/agenda/agenda-event.component\";\nimport {MASTER_PIPES} from \"../../pipe/master-pipes\";\nimport {ViewSelectComponent} from \"./component/agenda/view-select.component\";\nimport {AgendaSelectEventComponent} from \"./component/agenda/agenda-select-event.component\";\n\n@NgModule({\n imports: [\n CommonModule,\n InputDatePickerModule,\n IconModule,\n ButtonModule,\n ],\n declarations: [\n DatePlanningComponent,\n CalendarAllYearsComponent,\n CalendarAllMonthsComponent,\n CalendarHeaderComponent,\n CalendarComponent,\n CalendarViewComponent,\n AgendaHeaderComponent,\n AgendaViewComponent,\n AgendaMonthViewComponent,\n AgendaDayViewComponent,\n AgendaWeekViewComponent,\n AgendaWeekSelectViewComponent,\n AgendaHourViewComponent,\n AgendaHourCellComponent,\n AgendaHourViewLabelsComponent,\n AgendaHalfHourCellComponent,\n AgendaEventsComponent,\n AgendaEventComponent,\n ViewSelectComponent,\n AgendaSelectEventComponent,\n MASTER_PIPES\n ],\n exports: [\n DatePlanningComponent\n ]\n})\nexport class DatePlanningModule {\n}\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\nimport {IconCacheService} from \"../../service/icon-cache.service\";\nimport {Icon} from \"../../enum/icon.enum\";\nimport {CdkDragDrop} from \"@angular/cdk/drag-drop\";\nimport {SharedService} from \"../../service/shared.service\";\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\n\n@Component({\n selector: \"co-simple-tags\",\n template: `\n <co-dialog\n [headerTemplate]=\"headerTemplate\"\n [footerTemplate]=\"footerTemplate\"\n (closeClick)=\"closeClick.emit()\"\n >\n <ng-template #headerTemplate>\n <div class=\"header-wrapper\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\n <span class=\"co-dialog-header-title\" [textContent]=\"'Tags'\"></span>\n </div>\n </ng-template>\n\n <div class=\"dialog-content-wrapper\">\n <div class=\"collection-navigation co-small-scrollbar\">\n <span class=\"title\" [textContent]=\"'Beschikbare tags'\"></span>\n <co-input-search\n [(model)]=\"searchString\"\n [placeholder]=\"'Search for tag name'\"\n (search)=\"searchCollection()\"\n (modelChange)=\"searchCollection()\"\n (rightIconClick)=\"searchCollection()\"\n ></co-input-search>\n <div class=\"breadcrumbs\">\n <co-icon\n [iconData]=\"iconCacheService.getIcon(icon.HouseBlankRegular)\"\n (click)=\"setRootDisplayTags()\"\n ></co-icon>\n <div class=\"crumbs\">\n <span class=\"spacer\" [textContent]=\"'|'\"></span>\n <div class=\"crumb\" *ngFor=\"let crumb of breadCrumbs; let index = index\" (click)=\"handleCrumbClicked(crumb, index)\">\n <span class=\"spacer\" *ngIf=\"index !== 0\" [textContent]=\"'/'\"></span>\n <span [textContent]=\"crumb.description\"></span>\n </div>\n </div>\n </div>\n <div class=\"collection-view\"\n cdkDropList\n cdkDropListSortingDisabled\n #collectionList=\"cdkDropList\"\n [cdkDropListData]=\"displayTags\"\n [cdkDropListConnectedTo]=\"[linkedList]\"\n ><div class=\"collection-item\"\n *ngFor=\"let tag of displayTags\"\n cdkDrag\n [cdkDragDisabled]=\"tag.tagType !== 'T' || linkedTags.includes(tag)\"\n [class.draggable]=\"tag.tagType === 'T' && !linkedTags.includes(tag)\"\n [class.disabled]=\"linkedTags.includes(tag)\"\n (click)=\"handleTagSelected(tag)\">\n\n <div class=\"collection-item\" *cdkDragPlaceholder>\n <co-icon *ngIf=\"tag.tagType === 'T'\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\n <span [textContent]=\"tag.description\"></span>\n </div>\n\n <div *cdkDragPreview><co-icon [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon></div>\n\n <co-icon *ngIf=\"tag.tagType === 'T'\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\n <span [textContent]=\"tag.description\"></span>\n </div>\n </div>\n </div>\n\n <div class=\"linked-tags-view\">\n <span class=\"title\" [textContent]=\"'Gekoppelde tags'\"></span>\n <div class=\"view-wrapper\"\n cdkDropList\n #linkedList=\"cdkDropList\"\n [cdkDropListData]=\"linkedTags\"\n (cdkDropListDropped)=\"handleAddTag($event)\">\n <div class=\"tag-item\" *ngFor=\"let tag of linkedTags\" [cdkDragDisabled]=\"true\" cdkDrag [style.background-color]=\"tag.color?.replace('0x', '#')\">\n <div class=\"placeholderLinked\" *cdkDragPlaceholder></div>\n\n <div class=\"thumbnail-description\">\n <co-icon *ngIf=\"!tag.image?.thumbnailBody\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\n <div *ngIf=\"tag.image\" class=\"thumbnail-wrapper\">\n <img [src]=\"tag.image.thumbnailBodyAsDataUri\">\n </div>\n\n <div class=\"description-wrapper\">\n <span [textContent]=\"tag.parentDescription\"></span>\n <span class=\"description\" [textContent]=\"tag.description\"></span>\n </div>\n </div>\n <co-icon class=\"delete-tag\" (click)=\"deleteLinkedTag(tag)\"\n [iconData]=\"iconCacheService.getIcon(icon.XSolid)\"\n ></co-icon>\n </div>\n </div>\n </div>\n </div>\n\n <ng-template #footerTemplate>\n <div class=\"co-dialog-footer-button-wrapper\">\n <co-button class=\"save-button\"\n [iconData]=\"iconCacheService.getIcon(icon.CheckDuotone)\"\n (click)=\"handleSaveTags()\"\n ></co-button>\n <co-button\n class=\"close-button\"\n [iconData]=\"iconCacheService.getIcon(icon.CrossSkinny)\"\n (click)=\"closeClick.next()\"\n ></co-button>\n </div>\n </ng-template>\n </co-dialog>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class SimpleTagsComponent {\n public readonly icon: typeof Icon = Icon;\n\n @Input()\n public set tags(tags: TagTreeItem[]) {\n this._tags = tags;\n this.setRootDisplayTags();\n }\n\n @Input()\n public set linkedTags(tags: TagTreeItem[]) {\n this._linkedTags = tags;\n tags.forEach((tag) => this._loadThumbnail(tag));\n }\n\n public get linkedTags(): TagTreeItem[] {\n return this._linkedTags;\n }\n\n @Output()\n public closeClick: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public saveClick: EventEmitter<TagTreeItem[]> = new EventEmitter<TagTreeItem[]>();\n\n public breadCrumbs: TagTreeItem[] = [];\n public displayTags: TagTreeItem[] = [];\n public searchString: string = '';\n\n private _tags: TagTreeItem[] = [];\n private _linkedTags: TagTreeItem[] = [];\n\n @HostBinding(\"class.co-simple-tags\")\n public showClass() {\n return true;\n }\n\n constructor(\n public iconCacheService: IconCacheService,\n public sharedService: SharedService,\n ) { }\n\n public setRootDisplayTags(): void {\n this.displayTags = this._tags.filter((tag: TagTreeItem) => tag.treeLevel === 0);\n this.breadCrumbs = [];\n this.searchString = '';\n }\n\n public handleTagSelected(selectedTag: TagTreeItem): void {\n if (selectedTag.tagType === 'TR' || selectedTag.tagType === 'TG') {\n if (selectedTag !== this.breadCrumbs[0]) {\n this.breadCrumbs.push(selectedTag);\n }\n this.displayTags = this._tags.filter((tag: TagTreeItem) => {\n return tag.parentId === selectedTag.id && tag.treeLevel === selectedTag.treeLevel + 1\n });\n }\n }\n\n public handleCrumbClicked(tag: TagTreeItem, index: number): void {\n if (tag !== this.breadCrumbs[this.breadCrumbs.length - 1]) {\n this.breadCrumbs.splice(index + 1);\n this.handleTagSelected(tag);\n }\n }\n\n public handleAddTag(event: CdkDragDrop<TagTreeItem[], any>): void {\n const draggedTag: TagTreeItem = this.displayTags[event.previousIndex];\n if (!this._linkedTags.includes(draggedTag)) {\n this._linkedTags.push(this.displayTags[event.previousIndex]);\n this._loadThumbnail(draggedTag);\n }\n }\n\n public deleteLinkedTag(tag: TagTreeItem): void {\n this._linkedTags.splice(this._linkedTags.indexOf(tag), 1);\n }\n\n public searchCollection(): void {\n if (!this.searchString) {\n this.searchString = '';\n this.setRootDisplayTags();\n return;\n }\n if (this.searchString.length < 2) {\n return;\n }\n if (this.searchString === '') {\n this.setRootDisplayTags();\n return;\n }\n\n const matchingObjects: TagTreeItem[] = [];\n\n this._tags.filter((item) => item.tagType === 'T').forEach((obj) => {\n Object.values(obj).forEach((value) => {\n if (typeof value === 'string' || typeof value === 'number') {\n const stringValue = String(value).toLowerCase();\n if (stringValue.includes(this.searchString.toLowerCase())) {\n matchingObjects.push(obj);\n }\n }\n });\n });\n\n this.displayTags = matchingObjects;\n this.breadCrumbs = [];\n }\n\n public handleSaveTags(): void {\n this.saveClick.next(this._linkedTags);\n this.closeClick.next();\n }\n\n private _loadThumbnail(tagTreeItem: TagTreeItem): void {\n if (tagTreeItem.image && tagTreeItem.image.documentId && !tagTreeItem.image.thumbnailBody) {\n this.sharedService.getDocumentContent(tagTreeItem.image.documentId, true)\n .then((result) => {\n if (result) {\n tagTreeItem.image.thumbnailBody = result;\n }\n });\n }\n }\n}\n","import {NgModule} from \"@angular/core\";\nimport {CommonModule} from \"@angular/common\";\nimport {SimpleTagsComponent} from \"./simple-tags.component\";\nimport {ButtonModule, CoDialogModule, IconModule, InputSearchModule} from \"@colijnit/corecomponents_v12\";\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\n\n@NgModule({\n imports: [\n CommonModule,\n CoDialogModule,\n InputSearchModule,\n IconModule,\n DragDropModule,\n ButtonModule\n ],\n declarations: [\n SimpleTagsComponent\n ],\n exports: [\n SimpleTagsComponent\n ]\n})\nexport class SimpleTagsModule {\n}\n","export enum TableName {\n Absence = \"ABSENCE\",\n AbsenceEvent = \"ABSENCE_EVENT\",\n AbsenceFile = \"ABSENCE_FILE\",\n AbsenceForm = \"ABSENCE_FORM\",\n AccountingPeriod = \"PERIODES\",\n Address = \"ADRESSEN\",\n Administration = \"ADMINISTRATIES\",\n AnamnesisForm = \"ANAMNESIS_FORM\",\n ArticleGroup = \"ARTIKEL_GROEP\",\n Articles = \"ARTIKELEN\",\n Branch = \"FILIALEN\",\n BusinessRule = \"BRE_RULE\",\n\n Booking=\"BOEKINGSREGELS\",\n Category = \"CATEGORIE\",\n Characteristic = \"KENMERKEN\",\n CharacteristicTypes = \"KENMERK_SOORTEN\",\n CharacteristicLines = \"KENMERK_REGELS\",\n Company = \"BEDRIJVEN\",\n Concept = \"CONCEPTEN\",\n Connections = \"ASS_VERBINDING\",\n ContactPerson = \"CONTACTPERSONEN\",\n CostCenter = \"KOSTENPLAATS_DRAGER\",\n Country = \"LANDCODE\",\n CurrencyInfo = \"VALUTA\",\n CurrentIndication = \"CURRENT_INDICATION\",\n Customer = \"KLANTEN\",\n DeclarationMedicalOfficer = \"DECLARATION_MEDICAL_OFFICER\",\n DeliveryMethod = \"LEVERMETHODES\",\n Department = \"AFDELING\",\n DiagnosisForm = \"DIAGNOSIS_FORM\",\n Documents = \"DOCUMENTATIE\",\n EmployabilityProfile = \"EMPLOYABILITY_PROFILE\",\n EmployeeContract = \"EMPLOYEE_CONTRACT\",\n EmployeeContractType = \"EMPLOYEE_CONTRACT_TYPE\",\n Employee = \"PERSONEEL\",\n EndEvaluation = \"END_EVALUATION\",\n ExternalSource = \"EXTERNE_BRONNEN\",\n FirstYearEvaluation = \"FIRST_YEAR_EVALUATION\",\n FmlDocument = \"FML_DOCUMENT\",\n Goods = \"GOEDEREN\",\n Hardware = \"ASS_HARDWARE\",\n Identification = \"IDENTIFICATION\",\n JobCategory = \"JOB_CATEGORY\",\n JobType = \"JOB_TYPE\",\n LedgerAccount = \"GROOTBOEKEN\",\n LedgerClassification = \"VERDICHTINGEN\",\n LedgerJournal = \"DAGBOEKEN\",\n LedgerMainClassification = \"HOOFDVERDICHTINGEN\",\n LedgerMutation = \"GROOTBOEK_MUTATIES\",\n Location = \"LOCATIES\",\n MainArticle = \"HOOFDARTIKELEN\",\n MedicalConsultFeedback = \"MEDICAL_CONSULT_FEEDBACK\",\n MedicalFile = \"MEDICAL_FILE\",\n MedicalForm = \"MEDICAL_FORM\",\n MedicalInformationForm = \"MEDICAL_INFORMATION_FORM\",\n Note = \"NOTITIE\",\n NotificationFullyRecovered = \"NOTIFICATION_FULLY_RECOVERED\",\n NotificationLongTermIllness = \"NOTIFICATION_LONG_TERM_ILLNESS\",\n PaymentCondition = \"BETALINGSCONDITIES\",\n PaymentMethod = \"BETAALWIJZE\",\n PlanOfApproach = \"PLAN_OF_APPROACH\",\n PriceList = \"PRIJSLIJSTEN\",\n ProblemAnalysis = \"PROBLEM_ANALYSIS\",\n ProblemAnalysisAdjustment = \"PROBLEM_ANALYSIS_ADJUSTMENT\",\n Relations = \"RELATIES\",\n RelationAddress = \"ADRES_RELATIES\",\n RelationCommunication = \"COMM_RELATIES\",\n Remarks = \"OPMERKINGEN\",\n Salary = \"SALARY\",\n ServiceProvision = \"ASS_DIENSTVERLENING\",\n ShortReintegrationReport = \"SHORT_REINTEGRATION_REPORT\",\n Software = \"ASS_SOFTWARE\",\n Supplier = \"LEVERANCIERS\",\n TagValues = \"TAG_VALUES\",\n Tasks = \"TAKEN\",\n Transactions = \"TRANSACTIES\",\n TransactionLines = \"TRANSACTIE_REGELS\",\n TurnoverGroup = \"OMZETGROEPEN\",\n Unit = \"EENHEDEN\",\n User = \"GEBRUIKERS\",\n Vat = \"BTW\",\n Warehouse = \"MAGAZIJNEN\"\n}\n","export type OperationCallbackSimpleFunction = { (object: any): Promise<boolean>; };\nexport function OperationWithAlwaysSuccessCallback(object: any): Promise<boolean> {\n return Promise.resolve(true);\n}\n","// @returns true iff given value equals null or equals undefined\nexport function isNill(value: any): boolean {\n return value === null || value === undefined;\n}","import {isNill} from \"./is-nill.function\";\nimport {notNill} from \"./function/not-nill.function\";\n\n// Static utility function holder related to objects.\nexport class ObjectUtils {\n\n /**\n * Returns whether all given values exist: for all values it holds that they are not null nor undefined. Short-circuit check.\n * @param {any} values Rest parameters with all objects to check existence for.\n * @returns {boolean} True if ALL given values are not null nor undefined, otherwise false (if at least one value was null or undefined)\n */\n public static AllExist(...values: any[]): boolean {\n let allExist: boolean = true;\n for (let i: number = 0, len: number = values.length; i < len; i++) {\n if (isNill(values[i])) {\n allExist = false;\n break;\n }\n }\n return allExist;\n }\n\n /**\n * Copies all properties from object 'from' to object 'to'. Overwrites properties on object 'to' if property already exists.\n * Does not copy functions, only properties.\n * @param {Object} from The source object from which to copy all properties of to the 'to' object.\n * @param {Object} to The object to which the properties of the 'from' object will be copied.\n * @param {boolean} [allowUndefined = true] wether the 'to' object may be assigned null or undefined values to any of its properties.\n */\n public static CopyPropertiesFrom<T>(from: Object, to: T, allowUndefined: boolean = true): T {\n if (!to) {\n to = {} as T;\n }\n if (!from) {\n return to;\n }\n ObjectUtils.ForOwnProperty(from, (value: any, key: string) => {\n if (allowUndefined || notNill(value)) {\n to[key] = value;\n }\n });\n return to;\n }\n\n public static DeepEquals(actual: any, expected: any): boolean {\n if (actual === expected) {\n return true;\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n } else if (!actual || !expected || typeof actual !== \"object\" && typeof expected !== \"object\") {\n return actual === expected;\n } else {\n return this._objEquiv(actual, expected);\n }\n }\n\n // Performs given callback function for each own property of given plain object. Also works on string enums.\n public static ForOwnProperty(plainObject: any, callback: (propVal: any, key: string) => any): void {\n if (ObjectUtils.IsPlainObject(plainObject)) {\n for (const key in plainObject) {\n if (plainObject.hasOwnProperty(key) && typeof plainObject[key] !== \"function\") {\n const response: boolean = callback(plainObject[key], key);\n if (response === false) {\n break;\n }\n }\n }\n }\n }\n\n // Returns the class name of given argument. The argument can be an object or a class.\n public static GetClassName(objectOrClass: any): string {\n if (!objectOrClass) {\n return undefined;\n // arg was a class (or a function..)\n } else if (objectOrClass.constructor === Function) {\n return objectOrClass.name; // .. which has its readable name stores like this\n // else arg was an object\n } else {\n const constructorString: string = objectOrClass.constructor.toString();\n return constructorString.match(/\\w+/g)[1];\n }\n }\n\n // Returns a shallow clone of the given original object. The clone is a SIMPLE OBJECT with the same properties as the original.\n public static GetShallowClone(originalObject: any, objectClass?: any): any {\n let clonedObject: any = undefined;\n\n if (objectClass) {\n clonedObject = new objectClass();\n } else {\n clonedObject = {};\n }\n\n ObjectUtils.ForOwnProperty(originalObject, (value: any, key: string) => {\n clonedObject[key] = value;\n });\n\n return clonedObject;\n }\n\n public static GetDeepClone(originalObject: any, circular: boolean = true): any {\n // First create an empty object with\n // same prototype of our original source\n\n let propertyIndex: number;\n let descriptor: PropertyDescriptor;\n let keys: string[];\n let current: any;\n let nextSource: any;\n let indexOf: number;\n const copies: any[] = [{\n source: originalObject,\n target: Object.create(Object.getPrototypeOf(originalObject))\n }];\n const cloneObject: any = copies[0].target;\n const sourceReferences: any[] = [originalObject];\n const targetReferences: any[] = [cloneObject];\n\n // First in, first out\n while (current = copies.shift()) { //NOSONAR\n keys = Object.getOwnPropertyNames(current.source);\n\n for (propertyIndex = 0; propertyIndex < keys.length; propertyIndex++) {\n // Save the source's descriptor\n descriptor = Object.getOwnPropertyDescriptor(current.source, keys[propertyIndex]);\n\n if (!descriptor.value || typeof descriptor.value !== \"object\") {\n Object.defineProperty(current.target, keys[propertyIndex], descriptor);\n continue;\n }\n\n nextSource = descriptor.value;\n descriptor.value = Array.isArray(nextSource) ?\n [] :\n Object.create(Object.getPrototypeOf(nextSource));\n\n if (circular) {\n indexOf = sourceReferences.indexOf(nextSource);\n\n if (indexOf !== -1) {\n // The source is already referenced, just assign reference\n descriptor.value = targetReferences[indexOf];\n Object.defineProperty(current.target, keys[propertyIndex], descriptor);\n continue;\n }\n\n sourceReferences.push(nextSource);\n targetReferences.push(descriptor.value);\n }\n\n Object.defineProperty(current.target, keys[propertyIndex], descriptor);\n\n copies.push({source: nextSource, target: descriptor.value});\n }\n }\n\n return cloneObject;\n }\n\n public static IsEmpty(obj: any): boolean {\n return isNill(obj) || Object.getOwnPropertyNames(obj).length === 0;\n }\n\n // Returns whether given object is an existing, plain object. That is, it defined, its type if 'object' and it is NOT an array or func.\n public static IsPlainObject(object: any): boolean {\n return object !== null && !Array.isArray(object) && typeof object !== \"function\" && typeof object === \"object\";\n }\n\n /**\n * Returns an instance of given class with data of given dataObject. Only works if that class has a default constructor without args.\n * Does not actually create a new object if it alread is an instance of that class.\n * @param {any} clazz A class that has a default constructor\n * @param {any} [dataObject] The object with data to copy to the new instance of the class\n * @returns {any} An object that is an instance of given class, with given data applied to it.\n */\n public static MakeInstanceOf(clazz: any, dataObject?: any): any {\n // dont make a clone if given dataObject already instance of clazz\n if (dataObject instanceof clazz) {\n return dataObject;\n } else {\n const asClazz: any = new clazz();\n ObjectUtils.CopyPropertiesFrom(dataObject, asClazz);\n return asClazz;\n }\n }\n\n // Returns the value of a random own property of given object.\n public static PickRandomPropertyValue(object: any): any {\n if (!object) {\n return;\n }\n\n let result: any;\n let count: number = 0;\n for (const prop in object) {\n if (object.hasOwnProperty(prop)) {\n count++;\n if (Math.random() < 1 / count) {\n result = object[prop];\n }\n }\n }\n return result;\n }\n\n // Returns a default if given value doesn't exist, otherwise just value.\n public static ValueOrDefault(value: any, defaultReturnVal: any = \"\"): any {\n return notNill(value) ? value : defaultReturnVal;\n }\n\n private static _isArguments(x: any): boolean {\n const supportsArgsClass: boolean = this._supportsArgumentsClass();\n return supportsArgsClass ? this._isArgumentsWhenArgsClassSupported(x) : this._isArgumentsWhenArgsClassNotSupported(x);\n }\n\n private static _isArgumentsWhenArgsClassNotSupported(object: any): boolean {\n return object &&\n typeof object === \"object\" &&\n typeof object.length === \"number\" &&\n Object.prototype.hasOwnProperty.call(object, \"callee\") &&\n !Object.prototype.propertyIsEnumerable.call(object, \"callee\") ||\n false;\n }\n\n private static _isArgumentsWhenArgsClassSupported(object: any): boolean {\n return Object.prototype.toString.call(object) === \"[object Arguments]\";\n }\n\n private static _isBuffer(x: any): boolean {\n if (!x || typeof x !== \"object\" || typeof x.length !== \"number\") {\n return false;\n }\n if (typeof x.copy !== \"function\" || typeof x.slice !== \"function\") {\n return false;\n }\n return !(x.length > 0 && typeof x[0] !== \"number\");\n }\n\n private static _isUndefinedOrNull(value: any): boolean {\n return value === null || value === undefined;\n }\n\n private static _objEquiv(a: any, b: any): boolean {\n let i: number, key: string;\n if (this._isUndefinedOrNull(a) || this._isUndefinedOrNull(b)) {\n return false;\n }\n\n if (a.prototype !== b.prototype) {\n return false;\n }\n\n if (this._isArguments(a)) {\n if (!this._isArguments(b)) {\n return false;\n }\n a = Array.prototype.slice.call(a);\n b = Array.prototype.slice.call(b);\n return this.DeepEquals(a, b);\n }\n if (this._isBuffer(a)) {\n if (!this._isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n let ka: string[];\n let kb: string[];\n try {\n ka = Object.keys(a);\n kb = Object.keys(b);\n } catch (e) {\n return false;\n }\n\n if (ka.length !== kb.length) {\n return false;\n }\n\n ka.sort();\n kb.sort();\n\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] !== kb[i]) {\n return false;\n }\n }\n\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!this.DeepEquals(a[key], b[key])) {\n return false;\n }\n }\n return typeof a === typeof b;\n }\n\n private static _supportsArgumentsClass(): boolean {\n return Object.prototype.toString.call(arguments) === \"[object Arguments]\";\n }\n}\n","import {ObjectUtils} from \"./object-utils\";\nimport {CheckWithinSteppedBoundsResult} from \"./check-within-stepped-bounds-result\";\nimport {ArrayUtils} from \"./array-utils\";\nimport {CheckPrecisionAndScaleResult} from \"./check-precision-and-scale-result\";\nimport {isNill} from \"./is-nill.function\";\nimport {notNill} from \"./function/not-nill.function\";\n\n// Static utility function holder related to numeric variable evaluations and operations.\nexport class NumberUtils {\n // For user-typed number input; supports comma's as decimal delimiter.\n public static ParseIntNumberInput(arg: any): number {\n return NumberUtils.ParseInt(NumberUtils._NumberInputToNumberStr(arg));\n }\n\n // Parses given argument to an integer, using a native parseInt() function with a radix of 10. Returns NaN if parsing was not possible.\n public static ParseInt(arg: any): number {\n if (isNill(arg) || Array.isArray(arg)) {\n return undefined;\n }\n\n return parseInt(arg, 10);\n }\n\n // For user-typed number input; supports comma's as decimal delimiter.\n public static ParseFloatNumberInput(arg: any, decimalPrecision: number = 2): number {\n return NumberUtils.ParseFloat(NumberUtils._NumberInputToNumberStr(arg), decimalPrecision);\n }\n\n public static ParseFloatNumberInputKeepPrecision(arg: any): number {\n const correctedInputStr: string = NumberUtils._NumberInputToNumberStr(arg);\n const decimalPrecision: number = this.GetDecimalPlaces(correctedInputStr);\n return NumberUtils.ParseFloat(correctedInputStr, decimalPrecision);\n }\n\n /**\n * Returns given arg as a float number with given decimal precision, if possible. Returns NaN if parse conversion failed.\n *\n * @param {any} arg The argument to parse to a float\n * @param {number} decimalPrecision The number of decimals, or the precision, the parsed return float should have\n * @returns {number} NaN if not possible, else the parsed float value\n */\n public static ParseFloat(arg: any, decimalPrecision: number = 2): number {\n if (!ObjectUtils.AllExist(arg, decimalPrecision) || Array.isArray(arg)) {\n return NaN;\n }\n\n if (!NumberUtils.IsInteger(decimalPrecision) || decimalPrecision < 0) {\n decimalPrecision = 2;\n // toFixed() can only handle up until 20\n } else if (decimalPrecision > 20) {\n decimalPrecision = 20;\n }\n\n return parseFloat(parseFloat(arg).toFixed(decimalPrecision));\n }\n\n /**\n * Returns given arg as a float number with given decimal precision, if possible. Returns NaN if parse conversion failed.\n *\n * @param arg The argument to parse to a float\n * @returns {number} The argument as a float with its original decimal precision intact\n */\n public static ParseFloatKeepPrecision(arg: any): number {\n const decimalPrecision: number = this.GetDecimalPlaces(arg);\n return this.ParseFloat(arg, decimalPrecision);\n }\n\n /**\n * Returns the given argument as a number. Returns given defaultValue if conversion of argument was impossible.\n * @param arg\n * @param {number} [defaultValue = 0]\n * @returns {number}\n */\n public static ParseNumberOrDefault(arg: any, defaultValue: number = 0): number {\n if (Array.isArray(arg)) {\n return defaultValue;\n }\n\n if (!NumberUtils.IsNumber(arg)) {\n arg = parseFloat(arg);\n arg = isNaN(arg) ? defaultValue : arg;\n }\n return arg;\n }\n\n // Returns true iff given argument is an integer number. Returns false on non-numbers or numbers with significant decimals.\n public static IsInteger(arg: any): boolean {\n if (isNaN(arg) || Array.isArray(arg)) {\n return false;\n }\n const argAsFloat: number = parseFloat(arg);\n return ((argAsFloat | 0) === argAsFloat); // returns whether 'arg converted to an integer equals arg'\n }\n\n // Returns the number of decimal places of the given number. Returns 0 if no decimals whatsoever could be found on given arg.\n public static GetDecimalPlaces(arg: any, maxAnswer: number = 1000): number {\n const match: RegExpMatchArray = (\"\" + arg).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n if (!match) {\n return 0;\n }\n\n let answer: number = Math.max(0,\n // number of digits right of decimal point.\n (match[1] ? match[1].length : 0)\n // adjust for scientific notation\n - (match[2] ? +match[2] : 0));\n\n if (answer > maxAnswer) {\n answer = maxAnswer;\n }\n\n return answer;\n }\n\n // Parses given numberInput to a number, or returns given defaultValue if parse not possible. Allows ',' char as decimal delimiter.\n public static ParseNumberInputOrDefault(numberInput: any, defaultValue: number = 0): number {\n return NumberUtils.ParseNumberOrDefault(NumberUtils._NumberInputToNumberStr(numberInput), defaultValue);\n }\n\n // Returns whether the type of given argument is 'number'.\n public static IsNumber(arg: any): boolean {\n return typeof arg === \"number\" && !isNaN(arg);\n }\n\n /**\n * Returns whether given arg is indeed not a number (it's NaN or it has another type than 'number')\n * Our exact copy of AS Flex'es isNaN(arg) function. Always use this method for copying Flex isNaN(..) occurences into TypeScript.\n * @param arg\n * @returns {boolean}\n * @constructor\n */\n public static IsNaN(arg: any): boolean {\n return isNaN(arg) || !NumberUtils.IsNumber(arg);\n }\n\n // Our copy of CoMath.NaN. Returns number, or substitute if NumberUtils.IsNaN(number) holds true.\n public static NaN(number: any, substitute: number = 0): number {\n return NumberUtils.IsNaN(number) ? substitute : number;\n }\n\n // Returns whether the value is parasable as a number.\n public static IsParsableNumber(arg: any): boolean {\n if (Array.isArray(arg)) {\n return false;\n }\n\n return !isNaN(parseFloat(arg));\n }\n\n public static IsParsableNumberInput(numberInput: any): boolean {\n return NumberUtils.IsParsableNumber(NumberUtils._NumberInputToNumberStr(numberInput));\n }\n\n /**\n * Returns whether given arg is parseable as a number, and whether the lengts of its number parse result is equal to its original length.\n * I.e. this function returns FALSE with given number-parsable strings, but that have non-numeric appendices, eg '2233ff'. That arg\n * IS number-parseable, but not a strict 'string number', the latter being what this method actually checks for.\n */\n public static IsStringNumber(arg: string): boolean {\n if (!NumberUtils.IsParsableNumber(arg)) {\n return false;\n } else {\n return arg.toString().length === parseFloat(arg).toString().length;\n }\n }\n\n public static IsListOfNumbers(arg: string, separator: string = \",\"): boolean {\n const nrs: string[] = arg.split(separator);\n if (nrs.length === 0) {\n return false;\n }\n return nrs.filter(s => NumberUtils.IsStringNumber(s)).length === nrs.length;\n }\n\n // Returns given argument as a string representation of a number parse, e.g. \"1\" for a number parse result of arg to 1.\n public static ParseStringNumber(arg: string): number {\n if (!this.IsStringNumber(arg)) {\n return NaN;\n }\n\n return NumberUtils.ParseFloatKeepPrecision(arg);\n }\n\n public static ParseStringNumberDefault(arg: string | any, defaultValue: number = 0): number {\n return NumberUtils.NaN(NumberUtils.ParseStringNumber(arg), defaultValue);\n }\n\n /**\n * Returns a random integer in range [lowerBound .. upperBound], an inclusive range. Returns NaN if not possible.\n * Given bounds are truncated first, before serving as the true lower- and upper bounds for the random int.\n */\n public static RandomInt(lowerBoundInt: number, upperBoundInt: number): number {\n if (!NumberUtils.IsNumber(lowerBoundInt) || !NumberUtils.IsNumber(upperBoundInt) || lowerBoundInt > upperBoundInt) {\n return NaN;\n }\n\n lowerBoundInt = Math.trunc(lowerBoundInt);\n upperBoundInt = Math.trunc(upperBoundInt);\n\n if (lowerBoundInt === upperBoundInt) {\n return lowerBoundInt;\n }\n\n const delta: number = upperBoundInt - lowerBoundInt;\n return (Math.round(Math.random() * delta) + lowerBoundInt);\n }\n\n // Adds thousands comma's to given value, E.g. '1000' to '1,000'. Returns empty string if value was undefined.\n public static AddThousandsCommasTo(value: any): string {\n if (isNill(value)) {\n return \"\";\n }\n\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n }\n\n /**\n * Function used to check wether a given number is composed of another number, power-of-two wise.\n * Example usage: NumberUtils.NumIsComposedOf(articleListObject.publication, ArticlePublication.Selector).\n * This would return whether or not that articleListObject was publicated for selector or not, where articleListObject.publication\n * was possibly a 'COMPOSITE that was made out of (including)' ArticlePublication.Selector.\n */\n public static NumIsComposedOfOtherPowTwoNum(bigNrToCheck: number, powTwoNumItShouldBeComposedOf: number): boolean {\n if (!bigNrToCheck) {\n return false;\n } else if (!powTwoNumItShouldBeComposedOf) {\n return true;\n } else {\n return ((bigNrToCheck & powTwoNumItShouldBeComposedOf) === powTwoNumItShouldBeComposedOf);\n }\n }\n\n /**\n * Returns given nr, or the given default number (default 0) if the nr number was undefined or otherwise not a number.\n * Same as CoMath.NaN from AS code (used as its substitute in transaction logic)\n * @param nr\n * @param defaultNr\n * @returns {number}\n */\n public static NrOrDefault(nr: number, defaultNr: number = 0): number {\n if (notNill(nr) && NumberUtils.IsNumber(nr)) {\n return nr;\n } else {\n return defaultNr;\n }\n }\n\n /**\n * Returns whether given nrToCheck is within the given precision and scale limits. Precision and scale, here, are Oracle DB terms.\n * This function can thus be used to check whether the given number is safe to send to the 'database' beforehand, if we know the\n * precision and scale of the number in the db declaration.\n *\n * I.e. A number declared in the Oracle DB as number(5, 2) has a precision of 5 and a scale of 2.\n *\n * @param {number} nrToCheck\n * @param {number} precision The number of significant digits, including possibly negative scale. E.g. 3 in '123' and 5 in '51.123'\n * @param {number} [scale = 0] The number of significant digits AFTER the decimal point. E.g. 1 in 5432.1 and 3 in 54000.003\n * @returns {CheckPrecisionAndScaleResult} Whether given nrToCheck is ok for given precision and scale, and if not, the\n * nearest number that IS ok for those constraints.\n */\n public static CheckPrecisionAndScale(nrToCheck: number, precision: number, scale: number = 0): CheckPrecisionAndScaleResult {\n // let's say any undefined number is checked OK, and all numbers are checked OK for an undefined precision\n if (!ObjectUtils.AllExist(nrToCheck, precision, scale)) {\n return {isOk: true, nearestOkNr: NaN};\n }\n // no number can have 0 or less than 0 significant digits, in our universe\n if (precision < 1 || precision - scale < 1) {\n return {isOk: false, nearestOkNr: NaN};\n }\n // begin check\n const isNegative: boolean = (nrToCheck < 0);\n const nrParts: string[] = nrToCheck.toString().split(\".\");\n // remove minus sign if negative\n if (isNegative) {\n nrParts[0] = nrParts[0].slice(1);\n }\n const numCountBeforeDot: number = nrParts[0].length;\n const allowedNumCountBeforeDot: number = precision - scale;\n if (numCountBeforeDot <= allowedNumCountBeforeDot) {\n return {isOk: true, nearestOkNr: nrToCheck};\n } else {\n // cut a part from the \"before decimal number\" so that the number is not too big anymore\n const numCountToRemove: number = numCountBeforeDot - allowedNumCountBeforeDot;\n // remove the right-most numbers before the decimal dot\n nrParts[0] = nrParts[0].slice(0, -1 * numCountToRemove);\n // add minus sign again if it was negative\n if (isNegative) {\n nrParts[0] = \"-\" + nrParts[0];\n }\n // build and return composite number again\n let nearestOkNr: number;\n if (nrParts[1]) {\n nearestOkNr = Number(nrParts[0] + \".\" + nrParts[1]);\n } else {\n nearestOkNr = Number(nrParts[0]);\n }\n return {isOk: false, nearestOkNr: nearestOkNr};\n }\n }\n\n /**\n * Returns whether given x is OK within the given min, max and step boundaries, where it should hold that nrToCheck = min + N * step,\n * with N integer or 0.\n * @param {number} nrToCheck Number to check whether it's within the given bounds\n * @param min Inclusive\n * @param max Inclusive\n * @param stepSize\n * @returns {CheckWithinSteppedBounds} Returns remainder of undefined when nrToCheck was OUTSIDE [min, max], else full result object.\n */\n public static CheckWithinSteppedBounds(\n nrToCheck: number,\n min: number,\n max: number,\n stepSize: number = 1\n ): CheckWithinSteppedBoundsResult {\n if (nrToCheck < min || nrToCheck > max) {\n return {isOk: false, remainder: undefined};\n }\n\n // we're in [min, max], but still check if nrToCheck = min + N * step holds (for N integer or 0)\n let remainder: number = (nrToCheck - min) % stepSize;\n // correct float for largest precision amongst input numbers\n remainder = NumberUtils.ParseFloat(remainder, NumberUtils._GetLargestDecimalPrecisionOf(nrToCheck, min, stepSize));\n return {isOk: (remainder === 0), remainder: remainder};\n }\n\n /**\n * Finds the number closest to the originalNumber, that adheres to the given bounds. That is, for which it holds that\n * nr = min + N * step with N integer or 0.\n * @param {number} originalNr Find closest answer to this number\n * @param min Inclusive\n * @param max Inclusive\n * @param stepSize\n * @returns {boolean} The closest OK number for bounds.\n */\n public static GetNearestNumberWithinSteppedBounds(originalNr: number, min: number, max: number, stepSize: number = 1): number {\n if (originalNr < min) {\n return min;\n } else if (originalNr > max) {\n return NumberUtils.GetTrueSteppedBoundsMax(min, max, stepSize);\n }\n\n const boundsCheck: CheckWithinSteppedBoundsResult = NumberUtils.CheckWithinSteppedBounds(originalNr, min, max, stepSize);\n if (boundsCheck.isOk) {\n return originalNr;\n }\n\n let answer: number;\n\n const remainder: number = boundsCheck.remainder;\n if (remainder) {\n // round up or down?\n if ((remainder / stepSize) < 0.5) {\n // round down, but not below min\n answer = (originalNr - remainder >= min ? originalNr - remainder : min);\n } else {\n // round up, but not above max\n answer = (originalNr + stepSize - remainder <= max ? originalNr + stepSize - remainder :\n NumberUtils.GetTrueSteppedBoundsMax(min, max, stepSize));\n }\n } else {\n // is this real life, why wasn't our stepped bounds check OK?\n answer = originalNr;\n }\n\n // 'correct' float errors\n answer = NumberUtils.ParseFloat(answer, NumberUtils._GetLargestDecimalPrecisionOf(originalNr, min, max, stepSize));\n return answer;\n }\n\n /**\n * Returns the true maximum allowed value for the given \"stepped bounds\": min, stepSize and max, for which it holds that each allowed\n * value Y = min + stepSize * N, for any INTEGER or 0 N where it also holds, of course, that Y <= max.\n * @param min\n * @param max\n * @param stepSize\n */\n public static GetTrueSteppedBoundsMax(min: number, max: number, stepSize: number = 1): number {\n // solve max integer X in formula min + X * step <= max, and return min + X * stepSize for that X\n const maxSteps: number = Math.floor((max - min) / stepSize);\n // 'correct' float errors\n return NumberUtils.ParseFloat(min + maxSteps * stepSize, NumberUtils._GetLargestDecimalPrecisionOf(min, min, max));\n }\n\n // Returns the nearest number, relative to the given originalNr, that is within the given [min, max] inclusive bounds.\n public static GetNearestNumberWithinBounds(originalNr: number, min: number, max: number): number {\n let answer: number = originalNr;\n\n if (originalNr < min) {\n answer = min;\n } else if (originalNr > max) {\n answer = max;\n }\n\n return answer;\n }\n\n // Returns the string representation of given number. If it's not a number, returns the empty string.\n public static ToString(nr: number): string {\n if (!NumberUtils.IsNaN(nr)) {\n return \"\" + nr;\n } else {\n return \"\";\n }\n }\n\n public static DecimalsToStepIncrement(numberOfDecimals: number): number {\n return Math.pow(10, -1 * numberOfDecimals);\n }\n\n public static Round(value: number, decimals: number): number {\n const factor: number = Math.pow(10, decimals);\n return Math.round(value * factor) / factor;\n }\n\n // @returns The inclusive max value\n public static PrecisionScaleToMaxValue(precision: number, scale: number): number {\n const oneStep: number = this.DecimalsToStepIncrement(scale);\n const maxExclusive: number = Math.pow(10, precision - scale);\n return maxExclusive - oneStep;\n }\n\n // @returns the difference between given 2 numbers\n public static DifferenceBetweenNumbers(numberA: number, numberB: number): number {\n return Math.abs(numberA - numberB);\n }\n\n private static _GetLargestDecimalPrecisionOf(...args: number[]): number {\n const result = ArrayUtils.GetMaxCalculatedValue(args, (arg: number) => {\n return NumberUtils.GetDecimalPlaces(arg);\n });\n return result;\n }\n\n // Returns given number input as a number that's useable by Javascript. Allows for incoming ',' decimal delimiter.\n private static _NumberInputToNumberStr(numberInput: string): string {\n return (numberInput + \"\").replace(\",\", \".\");\n }\n}\n","import {ObjectUtils} from \"./object-utils\";\nimport {NumberUtils} from \"./number-utils\";\nimport {isNill} from \"./is-nill.function\";\nimport {notNill} from \"./function/not-nill.function\";\n\nexport class ArrayUtils {\n /**\n * Returns whether at least one element in given array could be found by given finder function.\n *\n * @param {T[]} array\n * @param {(element: T) => boolean} finder A finder function that takes an element of the array and returns a boolean that represents\n * the 'found status' for that element; whether it should have been found or not.\n */\n public static ContainsAnElementFoundBy<T>(array: T[], finder: (element: T) => boolean): boolean {\n if (!array || !finder) {\n return false;\n }\n\n return notNill(this.Find<T>(array, finder));\n }\n\n /**\n * Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns\n * undefined when none was found.\n *\n * Example usage:\n * const foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>\n * (return modelItem.getId() === '1')\n * * });\n *\n * @param array The array with items to search in.\n * @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.\n */\n public static Find<T>(array: T[], foundBy: (item: T) => boolean): T {\n if (!array || !foundBy) {\n return undefined;\n }\n\n for (let i: number = 0, len: number = array.length; i < len; i++) {\n const itemCur: T = array[i];\n if (foundBy(itemCur) ) {\n return itemCur;\n }\n }\n return undefined;\n }\n\n // @returns empty array when nothing found, otherwise array with found items\n public static FindAll<T>(array: T[], foundBy: (item: T) => boolean): T[] {\n const answer: T[] = [];\n if (!array || !foundBy) {\n return answer;\n }\n\n for (let i: number = 0, len: number = array.length; i < len; i++) {\n const itemCur: T = array[i];\n if (foundBy(itemCur)) {\n answer.push(itemCur);\n }\n }\n return answer;\n }\n\n // returns a simple clone of given array, using array.slice(0)\n public static CloneArray<T>(array: T[]): T[] {\n let answer: T[] = [];\n\n if (array) {\n answer = array.slice(0);\n }\n\n return answer;\n }\n\n /**\n * Returns a 'semi deep clone' of given array. Its first-level members are object-shallow-cloned (optionally with a strongly typed constructor),\n * or just as plain object (see param arrayItemsClass).\n * @param array\n * @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise\n * it'll be a plain object.\n * @param deepClone Set to true if array items contain FUNCTIONS that need to be cloned..\n * @returns {Array} semi-deep clone of given array\n */\n public static CloneArrayAndItsItems<T>(array: T[], arrayItemsClass?: any, deepClone: boolean = false): T[] {\n const cloneArray: T[] = [];\n\n if (array) {\n for (let i: number = 0, len: number = array.length; i < len; i++) {\n if (deepClone) {\n cloneArray.push(ObjectUtils.GetDeepClone(array[i]));\n } else {\n cloneArray.push(ObjectUtils.GetShallowClone(array[i], arrayItemsClass));\n }\n }\n } else {\n return [];\n }\n\n return cloneArray;\n }\n\n /**\n * Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really\n * removes the element using splice().\n *\n * @param {number} index\n * @param {any[]} array in-out\n * @returns {boolean} True if and only if the element on given index is succesfully removed from given array.\n */\n public static RemoveElementAtIndex(index: number, array: any[]): boolean {\n if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {\n return false;\n }\n\n if (index in array) {\n array.splice(index, 1);\n return true;\n } else {\n return false;\n }\n }\n\n /**\n * Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really removes the\n * element using splice(). Also works on associative arrays.\n *\n * @param {T} element The element to remove.\n * @param {T[]} array The array to remove the element from.\n * @returns {boolean} True iff given element was truly successfully removed from given array.\n */\n public static RemoveElement<T>(element: T, array: T[]): boolean {\n if (!Array.isArray(array)) {\n return false;\n }\n\n const index: number = array.indexOf(element);\n return ArrayUtils.RemoveElementAtIndex(index, array);\n }\n\n // Checks if given array is defined, and is an array, and has length > 0, and, optionally checks that the first element is of type given clazz.\n public static IsArrayWithElements<T>(arrayToCheck: T[], classItemsMustBeInstanceOf?: any): boolean {\n if (isNill(arrayToCheck)) {\n return false;\n }\n\n if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {\n if (classItemsMustBeInstanceOf) {\n return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;\n } else {\n return true;\n }\n } else {\n return false;\n }\n }\n\n // Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.\n public static RemoveElementsByFilter(array: any[], filterFunction: (item: any) => boolean): boolean {\n if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {\n return false;\n }\n\n let atLeastOneRemoved: boolean = false;\n\n const len: number = array.length;\n for (let i: number = len - 1; i >= 0; i--) {\n const item: any = array[i];\n if (filterFunction.call(this, item) === true) {\n array.splice(i, 1);\n atLeastOneRemoved = true;\n }\n }\n\n return atLeastOneRemoved;\n }\n\n public static MoveElement<T>(element: T, toIndex: number, array: T[]): boolean {\n if (!Array.isArray(array) || isNill(toIndex)) {\n return false;\n }\n\n const fromIndex: number = array.indexOf(element);\n const toIndexCorrected: number = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);\n if (fromIndex === -1 || array[toIndexCorrected] === element) {\n // element did not exist in given array, or already existed on given toIndex\n return false;\n }\n array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);\n return true;\n }\n\n // PRE: elements exists in given array. POST: given elementToPlace has a lower index than given afterThisElement. Array is in-out manipulated.\n public static PlaceElementAfterOther(array: any[], elementToPlace: any, afterThisElement: any): void {\n if (array) {\n const afterThisElIdx: number = array.indexOf(afterThisElement);\n const elToPlaceIdx: number = array.indexOf(elementToPlace);\n if (afterThisElIdx >= elToPlaceIdx) {\n ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);\n }\n }\n }\n\n /**\n * Returns max value from all resulting values from applying given itemValueFunction to all items of given array.\n * @param array\n * @param itemValueFunction The function applied to each array item that gives it a numerical value. The max num val found is returned.\n */\n public static GetMaxCalculatedValue<T>(array: T[], itemValueFunction: (item: T) => number): number {\n if (!array || !itemValueFunction) {\n return NaN;\n }\n\n let max: number = undefined;\n\n const len: number = array.length;\n for (let i: number = 0; i < len; i++) {\n const valueCur: number = itemValueFunction.call(this);\n if (valueCur > max) {\n max = valueCur;\n }\n }\n\n return max;\n }\n}\n","\n\n// Static utility function holder related to ref codes and string enums (as in our string enum representations of the db table REF_CODE).\nimport {NumberUtils} from \"./number-utils\";\n\nexport class RefCodeUtils {\n\n // Returns true if given valueToCheck is a composition of the second numeric argument. Usesul for checking user rights, for instance.\n public static Check(valueToCheck: number, powTwoNumToCheckAgainst: number): boolean {\n return NumberUtils.NumIsComposedOfOtherPowTwoNum(valueToCheck, powTwoNumToCheckAgainst);\n }\n\n /**\n * Returns true if given number value is a composition of at least one of the rest numeric arguments. Usesul for checking user rights,\n * for instance, or any other numerical composite refcode.\n */\n public static CheckAny(valueToCheck: number, ...powTwoNumsToCheckAgainst: number[]): boolean {\n const len: number = powTwoNumsToCheckAgainst.length;\n for (let i: number = 0; i < len; i++) {\n if (RefCodeUtils.Check(valueToCheck, powTwoNumsToCheckAgainst[i])) {\n return true;\n }\n }\n return false;\n }\n\n public static GetMultiRefCodeChoices(multiRefCode: number): number[] {\n const choices: number[] = [];\n\n // magic number 22 was chosen as a 'high' power of two, i.e. we don't expect multi ref codes with more than 21 options\n let powTwoExponent: number = 22;\n let powTwoVal: number = Math.pow(2, powTwoExponent);\n let remainder: number = multiRefCode;\n\n while (remainder > 0) {\n if (remainder - powTwoVal >= 0) {\n choices.push(powTwoVal);\n remainder -= powTwoVal;\n }\n\n powTwoExponent--;\n powTwoVal = Math.pow(2, powTwoExponent);\n }\n\n choices.reverse();\n return choices;\n }\n\n public static GetNumbersArraySum(numbersArray: number[]): number {\n if (!Array.isArray(numbersArray) || numbersArray.length === 0) {\n return;\n }\n\n let sum: number = 0;\n numbersArray.forEach((num: number) => {\n sum += num;\n });\n return sum;\n }\n}\n","// DOM_BESTANDSSOORT\nexport enum FileType {\n // DOC: Document\n Document = \"DOC\",\n // IMG: Afbeelding\n Image = \"IMG\",\n // SDWEB: Digitale handtekening\n DigitalSignature = \"SDWEB\",\n CollectiveSalaryInfo = \"LOONSTAAT\",\n //3d model file\n ThreeDFile = \"UNITYWEB\"\n}\n","import {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\nimport {FileType} from \"../enum/file-type\";\nimport {BuildImagesAndDocumentationResult} from \"../businessobject/build-images-and-documentation-result\";\n\n\nexport class CoDocumentSharedFieldLogic {\n\n public static BuildAllDocuments(documentation: CoDocument[], images: CoDocument[]): CoDocument[] {\n let allDocuments: CoDocument[] = [];\n allDocuments = allDocuments.concat(documentation);\n allDocuments = allDocuments.concat(images);\n allDocuments.sort((a: CoDocument, b: CoDocument) => {\n return a.index < b.index ? -1 : 1;\n });\n return allDocuments;\n }\n\n public static BuildImagesAndDocumentation(documents: CoDocument[]): BuildImagesAndDocumentationResult {\n const images: CoDocument[] = [];\n const documentation: CoDocument[] = [];\n\n const len: number = documents.length;\n for (let i: number = 0; i < len; i++) {\n // re-index documents order\n documents[i].index = i + 1;\n if (documents[i].fileType === FileType.Image) {\n images.push(documents[i]);\n } else {\n documentation.push(documents[i]);\n }\n }\n\n return {\n images: images,\n documentation: documentation\n };\n }\n\n // Returns an index number that is 1 higher than the highest one in the collection\n public static GenerateAvailableIndexNr(documents: CoDocument[]): number {\n const indexNumbers: number[] = [];\n documents.forEach((collectionItem) => {\n if (collectionItem && collectionItem.index > -1) {\n indexNumbers.push(collectionItem.index);\n }\n });\n\n indexNumbers.sort((a: number, b: number) => {\n return a - b;\n });\n\n if (indexNumbers && indexNumbers.length > 0) {\n return indexNumbers[indexNumbers.length - 1] + 1;\n } else {\n return 0;\n }\n }\n}\n","import {Input} from \"@angular/core\";\nimport {StringUtils} from \"../utils/string-utils\";\n\n/**\n * Property decorator which enables template syntax like \"someBoolInput\" instead of \"[someBoolInput]='true'\". Makes use of the fact that\n * Angular assigns an empty string to the input property in the naked \"someBoolInput\" template case.\n */\nexport function InputBoolean(bindingPropertyName?: string): PropertyDecorator {\n const inputDecorator: PropertyDecorator = Input(bindingPropertyName);\n return (target: Object, key: string) => {\n inputDecorator(target, key);\n const descriptor: PropertyDescriptor = Object.getOwnPropertyDescriptor(target, key) || {};\n Object.defineProperty(target, key, {\n get: descriptor.get || function (): boolean {\n return this[\"__\" + key];\n },\n set: function(newValue: any): void {\n const val: boolean = InputBooleanDecorator.InputValueToBoolean(newValue);\n descriptor.set ? descriptor.set(val) : this[\"__\" + key] = val;\n },\n enumerable: true,\n configurable: true\n });\n };\n}\n\n// Utility function holder of the InputBooleanDecorator decorator.\nexport class InputBooleanDecorator {\n public static InputValueToBoolean(value: any): boolean {\n if (StringUtils.IsString(value) && !StringUtils.IsStringWithLength(value)) {\n return true;\n }\n return !!value;\n }\n}\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\nimport {Icon} from \"../../enum/icon.enum\";\nimport {IconCacheService} from \"../../service/icon-cache.service\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\n\n@Component({\n selector: \"co-app-file-dropzone\",\n template: `\n <div class=\"drop-files-wrapper\">\n <div class=\"description\">\n <span class=\"title\" [textContent]=\"getDropActionMessage()\"></span>\n <span class=\"description\"></span>\n <div class=\"icon-wrapper\">\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.Dropzone)\"></co-icon>\n </div>\n </div>\n <div class=\"dropzone\"></div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n})\n// Component that shows a full screen dropzone target area\nexport class AppFileDropzoneComponent {\n public readonly icons: typeof Icon = Icon;\n\n @Input()\n public customDropActionMessage: string;\n\n @HostBinding('class.co-app-file-dropzone')\n public showClass(): boolean {\n return true;\n }\n\n public readonly Icons: typeof Icon = Icon;\n\n private readonly _defaultDropActionMessage: string = \"DROP_ZONE_DOCUMENTS\";\n\n constructor(protected dictionary: DictionaryService,\n public iconCacheService: IconCacheService) {\n }\n\n public getDropActionMessage(): string {\n return this.dictionary.get(this.customDropActionMessage ? this.customDropActionMessage : this._defaultDropActionMessage);\n }\n}\n","// <b>Enum</b> Encapsulation of the doc numbers to store it in DOCUMENTATIE table, java enum ReportDocKind\nexport enum DocumentEmailReport {\n Orderbevestiging = 1,\n Afleverbon = 2,\n Factuur = 4,\n Bestelbon = 8,\n Atelierbon = 16,\n Werkbon = 32,\n Vrachtbrief = 64,\n Leverindicatie = 128,\n Uitlopende_levering = 256,\n Goederen_binnen = 512,\n Afspraakbevestiging = 1024,\n Herinneringsbestelbon = 2048,\n Aanmaninglevertijd = 4096\n}\n","// Enum of all domain names (refcodes) from db table CG_REF_CODES2 (2!!) that iOneJS currently uses.\nexport enum DomainMultipleName {\n ArticlePublication = \"ART_PUBLICATIE\",\n ArticlePublicationSales = \"ART_PUBLICATIE_VERK\",\n ArticleSyncField = \"DOM_SYNC_VELDEN\",\n DocumentPublication = \"DOC_PUBLICATIE\",\n TextType = \"TEKST_PUBLICATIE\",\n TextPublication = \"TEKSTSOORT\",\n RotationOption = \"ART_ROTATION_ALLOWED\",\n WeekDays = \"WEEKDAGEN\",\n}\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from '@angular/core';\nimport {FormComponent} from '@colijnit/corecomponents_v12';\nimport {DocumentPublication} from \"@colijnit/articleapi/build/enum/refcode/document-publication.enum\";\nimport {StoreGroup} from \"@colijnit/mainapi/build/model/store-group.bo\";\nimport {ObjectRightType} from \"@colijnit/sharedapi/build/enum/object-right-type.enum\";\nimport {PromptService} from \"@colijnit/corecomponents_v12\";\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/service/business-object-factory\";\nimport {InputBoolean} from \"../../decorator/input-boolean.decorator\";\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\nimport {CoDocumentRight} from \"@colijnit/mainapi/build/model/co-document-right\";\nimport {TagCategory} from \"../../enum/tag-category.enum\";\nimport {FilesUploadConfigObjects} from \"../../enum/files-upload-config-objects\";\nimport {TableName} from \"../../enum/table-name.enum\";\nimport {FileType} from \"../../enum/file-type\";\nimport {DocumentEmailReport} from \"../../enum/document-email-report.enum\";\nimport {TagsComponentConfigNames} from \"../../enum/tags-component-config-names\";\nimport {DomainMultipleName} from \"../../enum/domain-multiple-name.enum\";\nimport {TagTreeItem} from \"../../model/tag-tree-item.bo\";\nimport {FileTypeImagePipe} from \"../../pipe/file-type-image.pipe\";\nimport {FileUtils} from \"@colijnit/mainapi/build/utils/file-utils\";\n\n\n@Component({\n selector: \"co-file-upload-popup\",\n template: `\n <co-dialog *ngIf=\"!useWithoutSettingProps && documentUnderEdit\" cssId=\"popup_files_upload_content\"\n [headerTemplate]=\"headerTemplate\" contentSize noClickOutside\n (close)=\"onPopupClose()\">\n <div class=\"co-dialog-wrapper\">\n <div class=\"file-upload-form-wrapper\" fxLayout=\"column\" fxLayoutGap=\"10px\">\n <co-form class=\"narrow-scrollbar\" (validSubmit)=\"onValidSubmit()\">\n <div class=\"horizontal-layout-column\">\n <div class=\"document-thumb column-left\" *ngIf=\"!addDocumentByUrl\">\n <a (click)=\"onPreviewClick()\"><img [src]=\"thumbnail\"/></a>\n </div>\n <div class=\"column-right\">\n <co-input-text\n [model]=\"documentUnderEdit.fileSize\"\n [screenConfigurationObject]=\"documentUnderEdit.isImageDocument() ?\n filesUploadConfigObjects?.ImageDocumentFileSize :\n filesUploadConfigObjects?.TextDocumentFileSize\"\n [placeholder]=\"'SIZE' | localize\"\n forceReadonly\n noValidation>\n </co-input-text>\n <ng-container *ngIf=\"documentUnderEdit.isImageDocument()\">\n <co-input-text [placeholder]=\"'DIMENSIONS' | localize\"\n [model]=\"documentUnderEdit.imageDimensions\"\n [screenConfigurationObject]=\"filesUploadConfigObjects?.ImageDocumentDimensions\"\n forceReadonly noValidation></co-input-text>\n </ng-container>\n <co-input-text\n [(model)]=\"documentUnderEdit.title\"\n [screenConfigurationObject]=\"documentUnderEdit.isImageDocument() ?\n filesUploadConfigObjects?.ImageDocumentTitle :\n filesUploadConfigObjects?.TextDocumentTitle\"\n [placeholder]=\"'TITLE2' | localize\"\n noValidation forceReadonly></co-input-text>\n </div>\n </div>\n\n <div>\n <!--<sc-tags\n [tagCategory]=\"tagCategory\"\n [readonly]=\"docUnderEditIsReadOnly\"-->\n\n <!-- ></sc-tags>--><!-- [myCfgNames]=\"tagsConfigName\" | [(joinedTags)]=\"this.documentUnderEdit.tags\"-->\n </div>\n <!--<div>\n <read-write-access *ngIf=\"showReadWriteAccess\"\n [readWriteCfgNames]=\"filesUploadConfigObjects?.readWriteAccess\"\n [layoutHorizontal]=\"true\"\n [medicalUserGroups]=\"medicalUserGroups\"\n [(userGroupsForWrite)]=\"userGroupsForWrite\"\n [(userGroupsForRead)]=\"userGroupsForRead\"\n [readonly]=\"docUnderEditIsReadOnly\"\n ></read-write-access>\n </div>-->\n <!--<div class=\"horizontal-layout-column\">\n <ng-container *ngIf=\"addDocumentByUrl\">\n <co-input-text required [placeholder]=\"'URL' | localize\" [(model)]=\"documentUnderEdit.filePath\"\n [readonly]=\"docUnderEditIsReadOnly\"></co-input-text>\n </ng-container>\n </div>-->\n <div class=\"horizontal-layout-column\">\n <div class=\"column-left\">\n <co-input-text [placeholder]=\"'DESCRIPTION' | localize\" [(model)]=\"documentUnderEdit.description\"\n [screenConfigurationObject]=\"documentUnderEdit.isImageDocument() ?\n filesUploadConfigObjects?.ImageDocumentDescription :\n filesUploadConfigObjects?.TextDocumentDescription\"\n [readonly]=\"docUnderEditIsReadOnly\"\n ></co-input-text>\n\n </div>\n <!--<div *ngIf=\"hasPublicAccessVisible\" class=\"column-right\">\n <input-switcher-yes-no label=\"PUBLIC_ACCESS\"\n [(model)]=\"documentUnderEdit.hasPublicAccess\"\n [readonly]=\"docUnderEditIsReadOnly\"\n ></input-switcher-yes-no>\n </div>-->\n </div>\n <div class=\"horizontal-layout-column\">\n <ng-container *ngIf=\"!documentUnderEdit.isImageDocument()\">\n <div class=\"column-left\">\n <!-- <input-switcher-yes-no label=\"DOWNLOADABLE\"\n [(model)]=\"documentUnderEdit.downloadable\"\n [cfgName]=\"filesUploadConfigObjects?.TextDocumentDownloadable\"\n [readonly]=\"docUnderEditIsReadOnly\"\n ></input-switcher-yes-no>-->\n </div>\n </ng-container>\n </div>\n <div class=\"horizontal-layout-column\">\n <ng-container *ngIf=\"fileType === fileTypes.ThreeDFile\">\n <div class=\"column-left\">\n <!-- <input-switcher-yes-no label=\"ALSO_AS_USDZ\"\n [(model)]=\"documentUnderEdit.convertToUSDZ\"\n [readonly]=\"docUnderEditIsReadOnly\"\n ></input-switcher-yes-no>-->\n </div>\n </ng-container>\n </div>\n <div class=\"horizontal-layout-column\">\n <ng-container *ngIf=\"documentUnderEdit.isImageDocument()\">\n <div class=\"column-left\"><!--\n <input-switcher-yes-no label=\"ATTACH_TO_NOTIFICATION\"\n [(model)]=\"documentUnderEdit.attachToNotification\"\n [cfgName]=\"filesUploadConfigObjects?.ImageDocumentAttachNotification\"\n [readonly]=\"docUnderEditIsReadOnly\"\n ></input-switcher-yes-no>-->\n </div>\n <div class=\"column-right\"><!--\n <image-type-select\n [cfgName]=\"filesUploadConfigObjects?.ImageDocumentDisplayType\"\n [(selectedModelId)]=\"this.documentUnderEdit.imageDisplayKind\"\n [readonly]=\"docUnderEditIsReadOnly\"\n label=\"DISPLAY_TYPE\"\n ></image-type-select>-->\n </div>\n </ng-container>\n </div>\n <div *ngIf=\"!isWorkability\">\n <!-- <multiple-property-toggler *ngIf=\"!showDocumentReportPicker\"\n [propertyNamesToToggle]=\"documentPublication\"\n [(enableditems)]=\"this.documentUnderEdit.publication\"\n (onPropertyItemChange)=\"handlePropertyChange($event)\"\n label=\"PUBLISH_TO\"\n [readonly]=\"docUnderEditIsReadOnly\"\n ></multiple-property-toggler>-->\n <co-multiple-property-toggler *ngIf=\"showDocumentReportPicker\"\n [propertyNamesToToggle]=\"documentEmailReports\"\n [(enableditems)]=\"documentUnderEdit.reports\"\n (onPropertyItemChange)=\"handleReportsPropertyChange($event)\"\n label=\"REPORTS_TO_ATTACH_TO\"\n [readonly]=\"docUnderEditIsReadOnly\"\n ></co-multiple-property-toggler>\n\n <!--<ng-container *ngIf=\"documentUnderEdit.isImageDocument()\"\n [templateWrapper]=\"templateImage\"></ng-container>-->\n </div>\n </co-form>\n <div class=\"ok-cancel-buttons\">\n <co-button [disabled]=\"docUnderEditIsReadOnly\" [textContent]=\"'OK' | localize\" (click)=\"onPopupOkClick()\"></co-button>\n <co-button *ngIf=\"hideCancel\" [textContent]=\"'STICKER' | localize\" (click)=\"onPopupCancelClick()\"></co-button>\n </div>\n <!-- <default-ok-cancel-buttons class=\"justify-center\"\n [okDisabled]=\"docUnderEditIsReadOnly\"\n [hideCancel]=\"hideCancel\"\n (okClick)=\"onPopupOkClick()\"\n (cancelClick)=\"onPopupCancelClick()\">\n </default-ok-cancel-buttons>-->\n </div>\n </div>\n </co-dialog>\n <ng-template #headerTemplate>\n <div [textContent]=\"popupHeader | localize\"></div>\n </ng-template>\n <ng-template #templateImage *ngIf=\"!isWorkability\">\n <!-- <div class=\"column-right\">\n <input-lov-multi-select\n [cfgName]=\"filesUploadConfigObjects.ImageDocumentStoreGroups\"\n [(selectedModelIds)]=\"storeGroupIds\"\n [collection]=\"storeGroups\"\n [readonly]=\"docUnderEditIsReadOnly\"\n descriptionField=\"description\"\n doNotLoadCollection\n customWidth\n label=\"RETAIL_FORMULAS\"\n ></input-lov-multi-select>\n </div>-->\n </ng-template>\n `,\n encapsulation: ViewEncapsulation.None\n})\n// Component that shows a popup when the user wants to upload a CoDocument\nexport class FileUploadPopupComponent implements OnInit {\n @ViewChild(FormComponent)\n public form: FormComponent;\n\n @Input()\n @InputBoolean()\n public useWithoutSettingProps: boolean = false;\n\n @Input()\n @InputBoolean()\n public hasPublicAccessVisible: boolean = false;\n\n @Input()\n @InputBoolean()\n //todo this is usually set to false on init\n public showDocumentReportPicker: boolean = true;\n\n\n @Input()\n public set documentUnderEdit(doc: CoDocument) {\n this._documentUnderEdit = doc ? this._boFactory.makeWithRawBackendData(CoDocument, doc) as unknown as CoDocument : undefined;\n }\n\n public get documentUnderEdit(): CoDocument {\n return this._documentUnderEdit;\n }\n\n @Input()\n public set readonly(value: boolean) {\n this._readonly = value;\n\n if (value) {\n //this._toastService.spawnToast(\"MESSAGE_DOCUMENT_LOCK_SINGLE\");\n }\n }\n\n @Input()\n public set filesUploadConfigObjects(value: FilesUploadConfigObjects) {\n this._filesUploadConfigObjects = value;\n }\n\n @Input()\n public tagCategory: TagCategory;\n\n @Input()\n @InputBoolean()\n public medicalUserGroups: boolean;\n\n @Input()\n public displayReadWriteAccess: boolean = true;\n\n @Input()\n public tagReferenceTable: TableName;\n\n @Input()\n public documentKey: string;\n\n @Input()\n public documentTable: string;\n\n @Input()\n public fileType: FileType;\n\n @Input()\n @InputBoolean()\n public addDocumentByUrl: boolean;\n\n @Output()\n public readonly documentChangeEvent: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\n\n @Output()\n public readonly popupCloseEvent: EventEmitter<void> = new EventEmitter<void>();\n\n @HostBinding('class.co-file-upload-popup')\n public showClass() {\n return true;\n }\n\n\n public readonly documentPublication: typeof DocumentPublication = DocumentPublication;\n public readonly documentEmailReports: typeof DocumentEmailReport = DocumentEmailReport;\n\n public get showReadWriteAccess(): boolean {\n //TODO get userrights\n return true;\n //return this._userRights.workabilityParameterEnabled && this.displayReadWriteAccess;\n }\n\n public get filesUploadConfigObjects(): FilesUploadConfigObjects {\n return this._filesUploadConfigObjects;\n }\n\n public get isWorkability(): boolean {\n //TODO fix workability\n return false;\n\n //return this._workabilityService.workabilitySystemEnabled;\n }\n\n public get docUnderEditIsReadOnly(): boolean {\n return this.documentUnderEdit.readonly || this._readonly;\n }\n\n public get thumbnail(): string {\n if (this.documentUnderEdit.isImageDocument()) {\n return this._thumbnail\n }\n return this._fileTypeImgPipe.transform(this.documentUnderEdit.fileTypeInternal);\n }\n\n public get popupHeader(): string {\n if (this.documentUnderEdit && this.documentUnderEdit.isImageDocument()) {\n return \"IMAGE\";\n } else {\n return \"DOCUMENT\";\n }\n }\n\n public get publicationConfigName(): string {\n if (this.filesUploadConfigObjects) {\n return this.documentUnderEdit.isImageDocument() ?\n this.filesUploadConfigObjects.ImageDocumentPublishTo :\n this.filesUploadConfigObjects.TextDocumentPublishTo;\n } else {\n return; // No configname found\n }\n }\n\n\n public get tagsConfigName(): TagsComponentConfigNames {\n if (this.filesUploadConfigObjects) {\n return this.documentUnderEdit.isImageDocument() ?\n this.filesUploadConfigObjects.TagsImageConfigNames :\n this.filesUploadConfigObjects.TagsTextConfigNames;\n } else {\n return; // No configname found\n }\n }\n\n public readonly domain: typeof DomainMultipleName = DomainMultipleName;\n public readonly fileTypes: typeof FileType = FileType;\n\n public _documentUnderEdit: CoDocument;\n public hideCancel: boolean = false;\n public storeGroups: StoreGroup[] = [];\n public publicationIds: number[];\n public storeGroupIds: string[];\n public userGroupsForWrite: number[] = [];\n public userGroupsForRead: number[] = [];\n public documentTags: TagTreeItem[] = [];\n\n private _filesUploadConfigObjects: FilesUploadConfigObjects = {}; // Instantiate with empty object to avoid nullpointers in the template\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\n private _readonly: boolean = false;\n private _publicationNumber: number;\n private _reportsNumber: number;\n\n private _thumbnail: string;\n\n constructor(\n //private _workabilityService: AppWorkabilityService,\n private _promptService: PromptService,\n private _fileTypeImgPipe: FileTypeImagePipe,\n //private _userRights: UserRightsService,\n //private _baseDataRepo: BaseDataDalRepository,\n //private _tagsRepo: TagsDalRepository,\n //private _dataService: DataService,\n //private _toastService: AppToastService\n ) {\n }\n\n ngOnInit(): void {\n this.loadCollection();\n if (this.documentUnderEdit.isImageDocument()) {\n this._thumbnail = this.documentUnderEdit.documentBodyAsDataUri;\n }\n }\n\n public async loadCollection(): Promise<void> {\n //this.documentTags = await this._tagsRepo.getJoinedTags(this.tagReferenceTable, this.documentKey);\n //this.storeGroups = await this._baseDataRepo.getStoreGroupList();\n }\n\n public onPreviewClick(): void {\n if (this.documentUnderEdit.isImageDocument()) { //preview image\n this._promptService.showImage(this.documentUnderEdit.documentBodyAsDataUri, \"Preview\");\n } else { //download document\n try {\n FileUtils.DownloadFromDataUri(this.documentUnderEdit.bodyAsDataUri, this.documentUnderEdit.fileName);\n } catch (error) {\n\n }\n }\n }\n\n public saveDocumentUnderEditRights(): void {\n this.documentUnderEdit.rights = [];\n const forWriteLength: number = this.userGroupsForWrite.length;\n for (let i: number = 0; i < forWriteLength; i++) {\n const rights: CoDocumentRight = new CoDocumentRight();\n rights.userGroupId = this.userGroupsForWrite[i];\n rights.rightLevel = ObjectRightType.ReadWrite;\n this.documentUnderEdit.rights.push(rights);\n }\n\n const forReadLength: number = this.userGroupsForRead.length;\n for (let i: number = 0; i < forReadLength; i++) {\n const rights: CoDocumentRight = new CoDocumentRight();\n rights.userGroupId = this.userGroupsForRead[i];\n rights.rightLevel = ObjectRightType.ReadOnly;\n this.documentUnderEdit.rights.push(rights);\n }\n }\n\n public onPopupOkClick(): void {\n if (this.form) {\n this.form.submit();\n }\n }\n\n public handlePropertyChange(refSumOfEnabledItems: number): any {\n this._publicationNumber = refSumOfEnabledItems;\n }\n\n public handleReportsPropertyChange(refSumOfEnabledItems: number): any {\n this._reportsNumber = refSumOfEnabledItems;\n }\n\n public async onValidSubmit(): Promise<void> {\n this._publicationNumber ? this.documentUnderEdit.publication = this._publicationNumber : this.documentUnderEdit.publication = 0;\n this._reportsNumber ? this.documentUnderEdit.reports = this._reportsNumber : this.documentUnderEdit.reports = 0;\n this.documentUnderEdit.retailFormulas = this.storeGroupIds;\n this.saveDocumentUnderEditRights();\n this.documentChangeEvent.emit(this.documentUnderEdit);\n this.onPopupClose();\n }\n\n public async onPopupCancelClick(): Promise<void> {\n this.onPopupClose();\n }\n\n public onPopupClose(): void {\n this.userGroupsForWrite.length = 0;\n this.userGroupsForRead.length = 0;\n this.documentUnderEdit = undefined;\n\n this.popupCloseEvent.next();\n }\n\n /*private _unlockDocument(doc: CoDocument): void {\n if (!doc.readonly && !this.readonly) {\n this._dataService.unlock(CoDocument, doc.documentId);\n }\n }*/\n}\n","import {\n ComponentFactory,\n ComponentFactoryResolver,\n ComponentRef,\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n Output,\n ViewContainerRef\n} from \"@angular/core\";\nimport {ScreenConfigAdapterComponent} from \"@colijnit/corecomponents_v12\";\nimport {Subscription} from \"rxjs\";\nimport {TableName} from \"../../../enum/table-name.enum\";\nimport {DictionaryService} from \"../../../service/dictionary.service\";\nimport {FileType} from \"@colijnit/mainapi/build/enum/file-type.enum\";\nimport {\n OperationCallbackSimpleFunction,\n OperationWithAlwaysSuccessCallback\n} from \"../../../interface/operation-callback-simple-function\";\nimport {InternalParam} from \"../../../enum/internal-param.enum\";\nimport {FilesUploadConfigObjects} from \"../../../enum/files-upload-config-objects\";\nimport {TagCategory} from \"../../../enum/tag-category.enum\";\nimport {ArrayUtils} from \"../../../utils/array-utils\";\nimport {RefCodeUtils} from \"../../../utils/ref-code-utils\";\nimport {CoDocumentSharedFieldLogic} from \"../../../utils/co-document-shared-field-logic\";\nimport {CoDocumentRight} from \"../../../businessobject/co-document-right.bo\";\nimport {ObjectRightType} from \"@colijnit/sharedapi/build/enum/object-right-type.enum\";\nimport {InputBoolean} from \"../../../decorator/input-boolean.decorator\";\nimport {AppFileDropzoneComponent} from \"../../app-file-dropzone/app-file-dropzone.component\";\nimport {FileUtils} from \"@colijnit/mainapi/build/utils/file-utils\";\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\nimport {CoDocumentType} from \"@colijnit/mainapi/build/enum/co-document-type.enum\";\nimport {FileUploadPopupComponent} from \"../../file-upload-popup/file-upload-popup.component\";\n\n\n\n// A base component that lets the user make a list of files from its device. Doesn't actually upload, but outputs chosen files as filesChanged.\n@Directive()\nexport abstract class BaseFileUploadComponent implements ScreenConfigAdapterComponent, OnDestroy {\n decimals: number;\n forceReadonly: boolean;\n maxLength: number;\n objectConfigName: string;\n redErrorBackground: boolean;\n required: boolean;\n\n // The fileType that the documents should be saved as, leave empty to automatically detect filetype. Also determines file picker filter\n @Input()\n public set fileType(value: FileType) {\n if (value) {\n this._fileType = value;\n //TODO Documentdataloader fix\n //this._coDocumentDataLoader.loadAllowedTypes().then(() => {this.handleAcceptedFileTypesLoaded(value)});\n }\n }\n\n public get fileType(): FileType {\n return this._fileType;\n }\n\n @Input()\n public documents: CoDocument[] = [];\n\n @Input()\n public documentTable: TableName;\n\n @Input()\n public set documentKey(value: string) {\n this._documentKey = value + \"\"; // force string\n }\n\n public get documentKey(): string {\n return this._documentKey;\n }\n\n // The ability to drop files on the page\n @Input()\n public fullPageDrop: boolean = false;\n\n // If user gets the ability of adding files.\n @Input()\n public canAdd: boolean = true;\n\n @Input()\n public dropMessage: string;\n\n // Show add button\n @Input()\n public addWithButton: boolean = true;\n\n // If user gets the ability of deleting files.\n @Input()\n public canDelete: boolean = true;\n\n @Input()\n @InputBoolean()\n public noDragDropOrdering: boolean = false;\n\n @Input()\n @InputBoolean()\n public set readonly(value: boolean) {\n this._readonly = value;\n\n if (this._popup && this._popup.instance) {\n this._popup.instance.readonly = value;\n }\n }\n\n public get readonly(): boolean {\n return this._readonly;\n }\n\n @Input()\n @InputBoolean()\n public askBeforeDelete: boolean = true;\n\n @Input()\n @InputBoolean()\n public resizeImages: boolean = false;\n\n @Input()\n public lockOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\n\n @Input()\n public unlockOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\n\n\n\n\n @Input()\n public beforeDeleteOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\n\n @Input()\n public afterDeleteOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\n\n @Input()\n public beforeCreateOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\n\n @Input()\n public afterCreateOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\n\n @Input()\n public beforeEditOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\n\n @Input()\n @InputBoolean()\n public dontAskBeforeDelete: boolean = false;\n\n @Input()\n @InputBoolean()\n public noOwnDeleteOperation: boolean = false;\n\n private _fileType: FileType;\n\n @Input()\n public set maxUploadSizeParam(value: InternalParam) {\n if (value) {\n this._setInternalParamObj(value);\n }\n }\n\n @Input()\n @InputBoolean()\n public useWithoutSettingProps: boolean = false;\n\n @Input()\n public filesUploadConfigObjects: FilesUploadConfigObjects;\n\n @Input()\n @InputBoolean()\n public medicalUserGroups: boolean = false;\n\n @Input()\n public tagCategory: TagCategory;\n\n @Input()\n public tagReferenceTable: TableName;\n\n @Input()\n @InputBoolean()\n public displayReadWriteAccess: boolean;\n\n // Use with customFileDropEvent\n @Input() @InputBoolean()\n public useCustomFileDropEvent: boolean = false;\n\n // Use in conjunction with useCustomFileDropEvent\n @Output()\n public customFileDropEvent: EventEmitter<FileList> = new EventEmitter<FileList>();\n\n // Emits if user wants to add multiple documents at once\n @Output()\n public readonly documentsAdded: EventEmitter<CoDocument[]> = new EventEmitter<CoDocument[]>();\n\n @Output()\n public readonly documentDeleted: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\n\n // Emits every time the order of documents was changed\n @Output()\n public readonly sortableListChanged: EventEmitter<CoDocument[]> = new EventEmitter<CoDocument[]>();\n\n @Output()\n public documentChangeEvent: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\n\n // Use this if consumer requires to perform extra actions, like locking a parent businessObject if it contains the collection of documents. Emit with true when popup opened, false for close\n @Output()\n public popupOpenedStateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\n\n @HostBinding(\"class.hidden\")\n public hidden: boolean;\n\n @HostListener(\"drop\", [\"$event\"])\n public onDrop(event: DragEvent): void {\n event.preventDefault();\n event.stopPropagation();\n\n if (!this.useCustomFileDropEvent) {\n this.filesPicked(event.dataTransfer.files);\n } else {\n this.customFileDropEvent.emit(event.dataTransfer.files);\n }\n\n this._clearDropzone();\n }\n\n @HostListener(\"dragend\", [\"$event\"])\n public onDragEnd(event: DragEvent): void {\n event.dataTransfer.clearData();\n this._clearDropzone();\n }\n\n @HostListener(\"dragover\", [\"$event\"])\n public onDragOver(event: DragEvent): void {\n event.preventDefault();\n }\n\n @HostListener(\"dragenter\", [\"$event\"])\n public onDragEnter(event: DragEvent): void {\n this._dragEnterTarget = event.target;\n this._showDropzone();\n }\n\n @HostListener(\"dragleave\", [\"$event\"])\n public onDragLeave(event: DragEvent): void {\n if (event.target === this._dragEnterTarget) {\n this._clearDropzone();\n }\n }\n\n public documentUnderEdit: CoDocument;\n public acceptedUploadFormats: string;\n\n protected _maxUploadFileSize: number;\n\n private _dragEnterTarget: EventTarget;\n private _documentKey: string = \"\";\n private _dropZone: ComponentRef<AppFileDropzoneComponent>;\n private _popup: ComponentRef<FileUploadPopupComponent>;\n private _docChangeSub: Subscription;\n private _popupCloseSub: Subscription;\n private _readonly: boolean = false;\n\n // private static readonly _dummyTrueFunction: OperationCallbackSimpleFunction = (object: any) => Promise.resolve(true);\n\n constructor(\n\n //protected _promptService: PromptService,\n protected _dictionaryService: DictionaryService,\n //protected _userService: UserService,\n protected _container: ViewContainerRef,\n protected _factory: ComponentFactoryResolver,\n //protected _generalDalRepository: GeneralDalRepository,\n //protected _dataService: DataService,\n //protected _baseDataDalRepository: BaseDataDalRepository,\n //protected _coDocumentDataLoader: CoDocumentDataLoaderService\n ) {\n\n }\n\n ngOnDestroy(): void {\n this._clearDropzone();\n }\n\n private _showDropzone(): void {\n if (!this._dropZone) {\n const fact: ComponentFactory<AppFileDropzoneComponent> = this._factory.resolveComponentFactory(AppFileDropzoneComponent);\n this._dropZone = this._container.createComponent(fact);\n this._dropZone.instance.customDropActionMessage = this.dropMessage;\n }\n }\n\n private _clearDropzone(): void {\n this._container.clear();\n if (this._dropZone) {\n this._dropZone.destroy();\n this._dropZone = undefined;\n }\n }\n\n // Remove file from upload array.\n public async handleDelete(file: CoDocument): Promise<boolean> {\n let success: boolean = await this.beforeDeleteOperation(file);\n try {\n if (success) {\n await this._delete(file);\n success = true;\n }\n } finally {\n await this.afterDeleteOperation(file);\n }\n return Promise.resolve(success);\n }\n\n private async _delete(file: CoDocument): Promise<void> {\n let doDelete: boolean = true;\n if (!this.dontAskBeforeDelete) {\n //TODO make dialogService\n //doDelete = await this._promptService.showYesNo(\"MESSAGE_DELETE_RECORD_QUESTION\");\n }\n if (doDelete) {\n if (!this.noOwnDeleteOperation) {\n ArrayUtils.RemoveElement(file, this.documents);\n }\n this.documentDeleted.emit(file);\n }\n }\n\n public handleSortingChange(docs: CoDocument[]): void {\n this.sortableListChanged.emit(docs);\n }\n\n public async handleFileChange(event: any): Promise<void> {\n if (event && event.target && event.target.files && event.target.files.length > 0) {\n // check file sizes and extension\n //Todo: fix this\n //const allowedExtensions = await this._baseDataDalRepository.getAllowedExtensions();\n let allFilesAreSmallEnough: boolean = true;\n let allFilesHaveAllowedExtensions: boolean = true;\n const sizeToCompare: number = this._maxUploadFileSize ? this._maxUploadFileSize : undefined;\n const len: number = event.target.files.length;\n for (let i: number = 0; i < len; i++) {\n const uploadSizeAllowed = FileUtils.CheckMaxUploadSize(event.target.files[i], sizeToCompare);\n if (!uploadSizeAllowed) {\n allFilesAreSmallEnough = false;\n break;\n }\n const extensionAllowed = true//FileUtils.CheckExtension(event.target.files[i], allowedExtensions);\n if (!extensionAllowed) {\n allFilesHaveAllowedExtensions = false;\n break;\n }\n }\n\n if (!allFilesAreSmallEnough) {\n //TODO make dialogService\n //this._promptService.showWarning(this._dictionaryService.get(\"FILE_TOO_LARGE_TO_UPLOAD\", true, \"\" + [FileUtils.getMaxUploadSizeInMb(sizeToCompare)]));\n } else if (!allFilesHaveAllowedExtensions) {\n //const extensionsList = allowedExtensions.map(allowedExtension => allowedExtension.extension).sort().join(\", \");\n //this._promptService.showWarning(this._dictionaryService.get(\"FILE_HAS_DISALLOWED_EXTENSION\", false, extensionsList));\n } else {\n const filesToAdd: CoDocument[] = await this.convertFilesIntoCoDocuments(event.target.files);\n\n if (filesToAdd.length > 1) {\n this.documentsAdded.emit(filesToAdd);\n } else {\n if (this.useWithoutSettingProps) {\n this.documentsAdded.next(filesToAdd);\n } else {\n this.documentUnderEdit = filesToAdd[0];\n this.openPopup();\n }\n }\n }\n }\n }\n\n public async handleEditDocumentClick(docToEdit: CoDocument): Promise<void> {\n this.documentUnderEdit = docToEdit;\n const showPopup: boolean = await this.beforeEditOperation(docToEdit);\n if (showPopup) {\n this.openPopup();\n }\n }\n\n public async openPopup(): Promise<void> {\n this._createAndFillPopupInstance();\n\n this._docChangeSub = this._popup.instance.documentChangeEvent.subscribe((doc: CoDocument) => {\n this.documentChangeEvent.emit(doc);\n });\n }\n\n public openPopupToAddDocumentByUrl(): void {\n this._createDocumentToAddByUrl();\n this._createAndFillPopupInstance(true);\n\n this._docChangeSub = this._popup.instance.documentChangeEvent.subscribe((doc: CoDocument) => {\n doc.fileName = doc.filePath;\n this.documentChangeEvent.emit(doc);\n });\n }\n\n private _createDocumentToAddByUrl(): void {\n this.documentUnderEdit = new CoDocument();\n this.documentUnderEdit.table = this.documentTable;\n this.documentUnderEdit.key = this.documentKey;\n this.documentUnderEdit.fileType = this.fileType;\n this.documentUnderEdit.documentType = CoDocumentType.SaveAsLinkOnRandomLocation;\n this.documentUnderEdit.pathIsUrl = true;\n //TODO Fix user Input\n //this.documentUnderEdit.creationUser = this._userService.userName.toUpperCase();\n //this.documentUnderEdit.modifiedUser = this._userService.userName.toUpperCase();\n this.documentUnderEdit.creationDate = new Date();\n this.documentUnderEdit.modifiedDate = new Date();\n }\n\n private _createAndFillPopupInstance(addDocumentByUrl: boolean = false): void {\n this.popupOpenedStateChange.emit(true);\n\n const factory: ComponentFactory<FileUploadPopupComponent> = this._factory.resolveComponentFactory(FileUploadPopupComponent);\n\n this._popup = this._container.createComponent(factory);\n\n this._popup.instance.readonly = this._readonly;\n this._popup.instance.addDocumentByUrl = addDocumentByUrl;\n this._popup.instance.hasPublicAccessVisible = this.documentTable === TableName.Goods;\n this._popup.instance.showDocumentReportPicker = (this.documentTable === TableName.Transactions || this.documentTable === TableName.TransactionLines);\n this._popup.instance.documentUnderEdit = this.documentUnderEdit;\n this._popup.instance.filesUploadConfigObjects = this.filesUploadConfigObjects;\n this._popup.instance.medicalUserGroups = this.medicalUserGroups;\n this._popup.instance.tagCategory = this.tagCategory;\n this._popup.instance.displayReadWriteAccess = this.displayReadWriteAccess;\n this._popup.instance.tagReferenceTable = this.tagReferenceTable;\n this._popup.instance.publicationIds = RefCodeUtils.GetMultiRefCodeChoices(this.documentUnderEdit.publication);\n this._popup.instance.storeGroupIds = this.documentUnderEdit.retailFormulas;\n this._popup.instance.fileType = this.fileType;\n\n this._prepareFileRights();\n\n this._popupCloseSub = this._popup.instance.popupCloseEvent.subscribe(() => {\n this._unlockDocument();\n this.popupOpenedStateChange.emit(false);\n this._popupCloseSub.unsubscribe();\n this._docChangeSub.unsubscribe();\n this._popup.destroy();\n this._popup = undefined;\n });\n }\n\n protected async convertFilesIntoCoDocuments(files: FileList): Promise<CoDocument[]> {\n const amountOfFiles: number = files.length;\n const filesToAdd: CoDocument[] = [];\n\n for (let i: number = 0; i < amountOfFiles; i++) {\n const fileAsDocument: CoDocument = await this._getFileAsDocument(files[i]);\n fileAsDocument.index = CoDocumentSharedFieldLogic.GenerateAvailableIndexNr(this.documents || []) + i;\n filesToAdd.push(fileAsDocument);\n }\n return filesToAdd;\n }\n\n public async filesPicked(files: FileList): Promise<void> {\n if (files && files.length) {\n let allFilesAreValid: boolean = true;\n const amountOfFiles: number = files.length;\n for (let i: number = 0; i < amountOfFiles; i++) {\n if (!FileUtils.CheckMaxUploadSize(files[i], this._maxUploadFileSize)) {\n allFilesAreValid = false;\n break;\n }\n }\n\n if (!allFilesAreValid) {\n //TODO make dialogService\n //this._promptService.showWarning(this._dictionaryService.get(\"FILE_TOO_LARGE_TO_UPLOAD\", true, \"\" + FileUtils.getMaxUploadSizeInMb(this._maxUploadFileSize).toString()));\n } else {\n const filesToAdd: CoDocument[] = await this.convertFilesIntoCoDocuments(files);\n\n if (filesToAdd.length > 1 || this.useWithoutSettingProps) {\n this.documentsAdded.emit(filesToAdd);\n } else {\n this.documentUnderEdit = filesToAdd[0]; // Setting docUnderEdit opens the popup window\n this.openPopup();\n }\n }\n }\n }\n\n public handleAcceptedFileTypesLoaded(value: FileType): void {\n //TODO fix loading\n //this.acceptedUploadFormats = this._coDocumentDataLoader.getAllowedExtensionsForType(value);\n }\n\n private async _getFileAsDocument(file: File): Promise<CoDocument> {\n const fileAsCoDocument: CoDocument = await FileUtils.ReadFileAsNewCoDocument(file, this.resizeImages);\n // set some extra known fields for the codocument:\n fileAsCoDocument.table = this.documentTable;\n fileAsCoDocument.key = this.documentKey;\n //TODO fix add users\n //fileAsCoDocument.creationUser = this._userService.userName.toUpperCase();\n //fileAsCoDocument.modifiedUser = this._userService.userName.toUpperCase();\n fileAsCoDocument.creationDate = new Date();\n fileAsCoDocument.modifiedDate = new Date();\n fileAsCoDocument.fileType = this.fileType ? this.fileType : FileUtils.IsImageFile(file) ? FileType.Image : FileType.Document;\n\n if (fileAsCoDocument) {\n return fileAsCoDocument;\n }\n }\n\n private async _setInternalParamObj(value: InternalParam): Promise<void> {\n //TODO fix params\n //const param: InternalParameterObject = await this._generalDalRepository.getInternalParamObject(value);\n //this._maxUploadFileSize = isNaN(parseInt(param.value, 0)) ? undefined : parseInt(param.value, 0);\n }\n\n private async _lockDocument(): Promise<boolean> {\n if (!this.documentUnderEdit.documentId) {\n return true; // New document does not have an ID and therefore does not have to be locked\n }\n\n const lockOk: boolean = await this.lockOperation(CoDocument);\n return lockOk;\n }\n\n private async _unlockDocument(): Promise<boolean> {\n if (!this.documentUnderEdit.documentId) {\n return true; // New document does not have an ID and therefore does not have to be locked\n }\n\n const unlockOk: boolean = await this.unlockOperation(CoDocument);\n return unlockOk;\n }\n\n private _prepareFileRights(): void {\n const len: number = this.documentUnderEdit.rights.length;\n for (let i: number = 0; i < len; i++) {\n const right: CoDocumentRight = this.documentUnderEdit.rights[i];\n if (right.rightLevel === ObjectRightType.ReadWrite) {\n this._popup.instance.userGroupsForWrite.push(right.userGroupId);\n }\n if (right.rightLevel === ObjectRightType.ReadOnly) {\n this._popup.instance.userGroupsForRead.push(right.userGroupId);\n }\n }\n }\n}\n","import {\n Component,\n ComponentFactoryResolver,\n ContentChild,\n ElementRef,\n EventEmitter, forwardRef,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n ViewEncapsulation\n} from \"@angular/core\";\nimport {BaseFileUploadComponent} from \"./components/base-file-upload.component\";\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from \"@colijnit/corecomponents_v12\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\nimport {InputBoolean} from \"../../decorator/input-boolean.decorator\";\n\n@Component({\n selector: \"co-files-upload\",\n template: `\n <div class=\"files-upload-wrapper\">\n <drag-drop-container\n [sortableList]=\"documents\"\n (sortingChange)=\"handleSortingChange($event)\"\n [handleSort]=\"true\"\n dragHandle=\"tile\"\n [enabled]=\"!noDragDropOrdering\">\n <co-file-upload *ngIf=\"canAdd && addWithButton\" class=\"add-file\"\n isAddingTile\n icon=\"plus_round_open\"\n [link]=\"true\"\n [label]=\"label | localize\"\n (mouseover)=\"mouseOverAdd = true\"\n (mouseout)=\"mouseOverAdd = false\"\n (click)=\"handleAddClick()\"></co-file-upload> <!-- (click)=\"handleAddClick()\" -->\n <co-file-upload *ngFor=\"let file of documents\" class=\"tile\"\n [readonly]=\"file.readonly || readonly\"\n [class.hidden]=\"hideAvatars ? file.isAvatar : false\"\n [file]=\"file\"\n [label]=\"file.fileName\"\n [showTrashCan]=\"canDelete\"\n [fileSavesOnPopupOkClick]=\"fileSavesOnPopupOkClick\"\n [isEditable]=\"isEditable\"\n [customImageClick]=\"customImageClick\"\n (imageClick)=\"imageClick.emit($event)\"\n (deleteClick)=\"handleDelete(file)\"\n (editClick)=\"handleEditDocumentClick($event)\"></co-file-upload>\n </drag-drop-container>\n <span class=\"maxuploadsize\" textContent=\"getMaxFileSizeNotition()\" [class.show]=\"mouseOverAdd\"></span>\n <input #inputFile [accept]=\"acceptedUploadFormats\" (change)=\"handleFileChange($event)\" type=\"file\" hidden multiple/>\n </div>\n `,\n encapsulation: ViewEncapsulation.None,\n providers: [\n {\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\n useExisting: forwardRef(() => FilesUploadComponent)\n }\n ]\n})\n// A component that lets the user make a list of files from its device. Doesn't actually upload, but outputs chosen files as filesChanged.\nexport class FilesUploadComponent extends BaseFileUploadComponent implements OnDestroy {\n\n @Input()\n public set dropzone(value: boolean) {\n this.isDropzone = value;\n }\n\n //todo see if this is used anywhere if not, remove\n @ContentChild(\"slideoutTemplate\", {static: true})\n public slideoutTemplate: TemplateRef<any>;\n\n // (Hidden) input for file upload facilities\n @ViewChild(\"inputFile\", {static: true})\n public input: ElementRef;\n\n // Input button label\n @Input()\n public label: string = \"UPLOAD_FILE\";\n\n @Input()\n public cfgNames: any;\n\n @Input()\n public customImageClick: boolean = false;\n\n @Input()\n @InputBoolean()\n public isEditable: boolean = false;\n\n @Input() @InputBoolean()\n public hideAvatars: boolean = false;\n\n @Input()\n public fileSavesOnPopupOkClick: string;\n\n @Input()\n public selected: string;\n\n @Output()\n public readonly editSlideoutSubmit: EventEmitter<void> = new EventEmitter<void>();\n\n @Output()\n public tagsChangeEvent: EventEmitter<TagTreeItem[]> = new EventEmitter<TagTreeItem[]>();\n\n @Output()\n public imageClick: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\n\n\n @HostBinding('class.co-files-upload')\n public showClass() {\n return true;\n }\n\n @HostBinding(\"class.editable\")\n public get editable(): boolean {\n return this.canAdd;\n }\n\n @HostBinding(\"class.empty\")\n public get empty(): boolean {\n return !this.documents || this.documents.length === 0;\n }\n\n public mouseOverAdd: boolean;\n public slideoutShown: boolean = false;\n @HostBinding('class.dropzone')\n public isDropzone: boolean = false;\n\n constructor(\n //promptService: PromptService,\n dictionaryService: DictionaryService,\n //userService: UserService,\n protected _container: ViewContainerRef,\n protected _factory: ComponentFactoryResolver,\n //protected _dataService: DataService,\n //protected _baseDataDalRepository: BaseDataDalRepository,\n // protected _generalDalRepository: GeneralDalRepository,\n //protected _coDocumentDataLoader: CoDocumentDataLoaderService,\n //private _workability: AppWorkabilityService,\n //private _fileTypeImgPipe: FileTypeImagePipe\n ) {\n super(dictionaryService, _container, _factory);\n }\n\n ngOnDestroy(): void {\n this.slideoutTemplate = undefined;\n this.input = undefined;\n super.ngOnDestroy();\n }\n\n public async openFileBrowser(): Promise<void> {\n if (this.input && this.input.nativeElement) {\n this.input.nativeElement.click();\n }\n }\n\n public handleAddClick(): void {\n this.openFileBrowser();\n }\n\n //todo check if this can be removed at the end of the run\n /*public onCustomClose(): void {\n this.documentUnderEdit = undefined;\n }*/\n}\n","// For dragdropservice\nimport {CoOrientation} from \"@colijnit/corecomponents_v12\";\n\nexport class DragDropContainer {\n constructor(\n public element: HTMLElement,\n public direction: CoOrientation) {\n }\n}\n","import {Directive, Injectable, OnDestroy, Renderer2} from \"@angular/core\";\nimport {Subject} from \"rxjs\";\nimport {CoDropEvent} from \"../event/co-drop-event\";\nimport {CoDragEvent} from \"../event/co-drag-event\";\nimport {DragDropContainer} from \"../businessobject/drag-drop-container\";\nimport {ArrayUtils} from \"../utils/array-utils\";\nimport {CoOrientation} from \"@colijnit/corecomponents_v12\";\nimport {DragDropContainerElement} from \"../businessobject/drag-drop-container-element\";\n\n/**\n * Handles drag and drop elements\n */\n@Injectable({\n providedIn: \"root\"\n})\nexport class DragDropService implements OnDestroy {\n public set renderer(value: Renderer2) {\n this._renderer = value;\n this._setEvents();\n }\n\n // ToDo: use drag and drop Subjects instead and track origin and target components\n public dragData: any;\n\n public drag: Subject<CoDragEvent> = new Subject<CoDragEvent>();\n public drop: Subject<CoDropEvent> = new Subject<CoDropEvent>();\n\n private _renderer: Renderer2;\n // Container(s) holding the elements to be dragged.\n private _containers: DragDropContainer[] = [];\n\n private _disabledContainers: DragDropContainer[] = [];\n\n private _dropTargetElement: DragDropContainerElement;\n\n // Drag handle(s) that contains the classes of the handles.\n private _dragHandles: any[] = [];\n private _isdragging: boolean = false;\n private _dragElement: DragDropContainerElement;\n private _dragInContainer: any;\n private _lastDropTarget: DragDropContainerElement;\n /**\n * Ghost image of the element being dragged\n */\n private _ghostDragImage: any;\n\n private _clickCounter: number = 0;\n\n private set ghostLeft(value: number) {\n this._ghostLeft = value;\n this._positionGhostImage();\n }\n\n private set ghostTop(value: number) {\n this._ghostTop = value;\n this._positionGhostImage();\n }\n\n private _ghostLeft: number = 0;\n private _ghostTop: number = 0;\n\n private _mouseDown: boolean = false;\n\n private _currentMousePosition: any = {x: 0, y: 0};\n private _currentMouseOffset: any = {x: 0, y: 0};\n\n constructor() {\n }\n\n ngOnDestroy(): void {\n this._removeListeners();\n }\n\n public addContainer(container: DragDropContainer): void {\n const direction: CoOrientation =\n (getComputedStyle(container.element).flexDirection === \"row\" && getComputedStyle(container.element).display === \"flex\")\n ? CoOrientation.Horizontal\n : CoOrientation.Vertical;\n container.direction = direction;\n this._containers.push(container);\n }\n\n public addDragHandle(handle: any): void {\n this._dragHandles.push(handle);\n }\n\n public removeContainer(container: DragDropContainer): void {\n ArrayUtils.RemoveElement(container, this._containers);\n ArrayUtils.RemoveElement(container, this._disabledContainers);\n if (!this._containers || this._containers.length === 0) {\n this._removeListeners();\n }\n }\n\n public removeDragHandle(handle: any): void {\n ArrayUtils.RemoveElement(handle, this._dragHandles);\n }\n\n public enableContainer(container: DragDropContainer): void {\n ArrayUtils.RemoveElement(container, this._disabledContainers);\n }\n\n public disableContainer(container: DragDropContainer): void {\n this._disabledContainers.push(container);\n }\n\n private _removeListeners(): void {\n this._handleEventListener(document, \"mouseup\", this._handleMouseUp, false);\n this._handleEventListener(document, \"mousemove\", this._handleMouseMove, false);\n }\n\n private _setEvents(): void {\n this._handleEventListener(document, \"mousedown\", this._handleMouseDown); //TODO: mousedown only within given containers\n this._handleEventListener(document, \"mouseup\", this._handleMouseUp);\n }\n\n private _setElementClass(element: any, elementClass: string): void {\n if (!this._renderer) {\n return;\n }\n this._renderer.addClass(element, elementClass);\n }\n\n private _handleEventListener(element: any, event: string, handler: any, add: boolean = true): void {\n if (add) {\n element.removeEventListener(event, handler);\n element.addEventListener(event, handler);\n } else {\n element.removeEventListener(event, handler);\n }\n }\n\n // Returns the container that holds given element.\n private _getContainerOfElement(element: HTMLElement): DragDropContainer {\n for (let i: number = 0, len1: number = this._containers.length; i < len1; i++) {\n const container: DragDropContainer = this._containers[i];\n for (let ii: number = 0, len2: number = container.element.children.length; ii < len2; ii++) {\n if (container.element.children[ii] === element) {\n return container;\n }\n }\n }\n }\n\n /**\n * Checks if given element is a child of container(s)\n * @param element\n * @returns {number} index of element\n */\n private _getElementOfContainer(element: any): DragDropContainerElement {\n for (let i: number = 0, len1: number = this._containers.length; i < len1; i++) {\n const container: DragDropContainer = this._containers[i];\n for (let ii: number = 0, len2: number = container.element.children.length; ii < len2; ii++) {\n if (container.element.children[ii] === element) {\n return {container: container, element: element, elementIdx: ii};\n }\n }\n }\n return {container: undefined, element: undefined, elementIdx: -1};\n }\n\n /**\n * Returns next sibling of container that contains given element.\n * @param element\n * @returns {any} null if there are no siblings left\n */\n private _getNextElementInContainer(element: HTMLElement): DragDropContainerElement {\n const container: DragDropContainer = this._getContainerOfElement(element);\n for (let i: number = 0, len: number = container.element.children.length; i < len; i++) {\n if (container.element.children[i] === element) {\n return i < (len - 1) ? {container: container, element: <HTMLElement>container.element.children[i + 1], elementIdx: i} : null;\n }\n }\n }\n\n private _getDragHandleClicked(element: any): boolean {\n if (this._dragHandles && this._dragHandles.length > 0) { // check if handle clicked\n while (element) {\n for (let i: number = 0, len: number = this._dragHandles.length; i < len; i++) {\n if (element.classList && element.classList.length > 0 && !!this._dragHandles[i]) {\n if (element.classList.contains(this._dragHandles[i])) {\n return true;\n }\n }\n }\n element = element.parentNode === document ? null : element.parentNode;\n }\n return false;\n } else {\n return true;\n }\n }\n\n // Returns element when it's a valid drop target, false otherwise.\n private _getValidDragDropElement(element: any, checkHandle: boolean = false): DragDropContainerElement {\n if (checkHandle) {\n const validHandleClicked: boolean = this._getDragHandleClicked(element);\n if (!validHandleClicked) {\n return undefined;\n }\n }\n while (element) {\n const elementOfContainer: DragDropContainerElement = this._getElementOfContainer(element);\n if (elementOfContainer.elementIdx > -1) {\n return elementOfContainer;\n }\n element = element.parentNode === document ? null : element.parentNode;\n }\n return undefined;\n }\n\n private _getNextSibling(element: HTMLElement): DragDropContainerElement {\n return this._getNextElementInContainer(element);\n }\n\n // Returns the current index of element within its container.\n private _indexOf(element: any): number {\n const elementOfContainer: DragDropContainerElement = this._getElementOfContainer(element.hasOwnProperty(\"element\") ? element.element : element);\n return elementOfContainer ? elementOfContainer.elementIdx : -1;\n }\n\n // Creates a ghost image/element of the element being dragged.\n private _createGhostImage(): void {\n if (this._ghostDragImage) {\n return;\n }\n // create ghost drag image\n const offsetRect: any = this._getOffset();\n this._ghostDragImage = this._dragElement.element.cloneNode(true);\n this._ghostDragImage.style.width = offsetRect.width + \"px\";\n this._ghostDragImage.style.height = offsetRect.height + \"px\";\n this.ghostLeft = offsetRect.left;\n this.ghostTop = offsetRect.top;\n this._setElementClass(this._ghostDragImage, \"ghost-image\");\n this._setElementClass(document.activeElement, \"no-select\");\n document.body.appendChild(this._ghostDragImage);\n }\n\n private _destroyGhostImage(): void {\n if (this._ghostDragImage) {\n this._renderer.removeClass(document.activeElement, \"no-select\");\n document.body.removeChild(this._ghostDragImage);\n this._ghostDragImage = undefined;\n }\n }\n\n // Positions the ghost image at the given coordinates.\n private _positionGhostImage(): void {\n if (!this._ghostDragImage) {\n return;\n }\n this._ghostDragImage.style.left = this._ghostLeft + \"px\";\n this._ghostDragImage.style.top = this._ghostTop + \"px\";\n }\n\n private _getScroll(scrollProp: string, offsetProp: string): any {\n if (document.activeElement.clientHeight) {\n return document.activeElement[scrollProp];\n }\n return document.body[scrollProp];\n }\n\n private _getOffset(): ClientRect {\n const rect: ClientRect = this._dragElement.element.getBoundingClientRect();\n const scrollLeft: number = 0;\n const scrollTop: number = 0;\n return {\n bottom: rect.bottom,\n height: rect.height,\n left: rect.left + scrollLeft,\n right: rect.right,\n top: rect.top + scrollTop,\n width: rect.width\n };\n }\n\n private _determineDroptarget(element: any, x: number, y: number): void {\n const dropElement: DragDropContainerElement = this._getValidDragDropElement(element);\n if (dropElement) {\n if (dropElement.element !== this._dragElement.element) {\n this._dropTargetElement = dropElement;\n return;\n }\n }\n this._dropTargetElement = null;\n }\n\n /**\n * Briefly hides the ghost image to be able to determine which element is under mouse.\n * @param x\n * @param y\n * @returns {Element} Top level element\n */\n private _getHoveredElement(x: number, y: number): any {\n this._setElementClass(this._ghostDragImage, \"ghost-image-hide\");\n const elm: any = document.elementFromPoint(x, y);\n this._renderer.removeClass(this._ghostDragImage, \"ghost-image-hide\");\n return elm;\n }\n\n private _animateVisibility(element: any, transitionTime: number = 0.2, start: string = \"0\", end: string = \"1\"): Promise<void> {\n if (!element) {\n return;\n }\n const transitionStyle: string = \"opacity \" + transitionTime + \"s ease-in-out\";\n const transition: string = element.style.transition;\n element.style.transition = transition + (transition ? \",\" : \"\") + transitionStyle;\n element.style.opacity = start;\n element.style.opacity = end;\n return new Promise<void>((resolve: Function) => {\n setTimeout(() => {\n resolve();\n }, transitionTime * 1000);\n });\n }\n\n private _animateMove(parent: HTMLElement, dragElement: DragDropContainerElement, dropTargetElement: DragDropContainerElement, down: boolean): void {\n if (down) { // insert element before\n parent.insertBefore(dragElement.element, dropTargetElement.element);\n } else { // insert after\n parent.insertBefore(dragElement.element, dropTargetElement.element.nextSibling);\n }\n }\n\n // Handles the mouse down event. Saves the current mouse position.\n private _handleMouseDown: Function = (event: MouseEvent): void => {\n this._currentMousePosition.x = event.screenX;\n this._currentMousePosition.y = event.screenY;\n if (event.buttons !== 1 || event.metaKey || event.ctrlKey) {\n return;\n }\n const element: any = event.target ? event.target : event.srcElement;\n const dragElement: DragDropContainerElement = this._getValidDragDropElement(element, true);\n if (!dragElement) {\n return;\n }\n if (this._disabledContainers.indexOf(dragElement.container) !== -1) {\n return;\n }\n this._dragElement = dragElement;\n this._dragInContainer = dragElement.container.element;\n const offset: any = this._getOffset();\n this._currentMouseOffset.x = event.clientX - offset.left;\n this._currentMouseOffset.y = event.clientY - offset.top;\n this._mouseDown = true;\n this._handleEventListener(document, \"mousemove\", this._handleMouseMove);\n this._clickCounter++;\n }\n\n private _handleMouseUp: Function = (event: MouseEvent): void => {\n this._mouseDown = false;\n this._handleEventListener(document, \"mousemove\", this._handleMouseMove, false);\n this._clickCounter--;\n\n if (this._isdragging) {\n this._endDrag();\n }\n }\n\n private _handleMouseMove: Function = (event: MouseEvent): void => {\n // nothing to drag?\n if (!this._dragElement) {\n return;\n }\n // only drag when mouse down and there actually is movement\n if (!this._mouseDown || (this._currentMousePosition.x === event.screenX && this._currentMousePosition.y === event.screenY)) {\n return;\n }\n this._isdragging = true;\n this._startDrag();\n this._drag(event);\n this._currentMousePosition.x = event.screenX;\n this._currentMousePosition.y = event.screenY;\n }\n\n private _startDrag(): void {\n this._createGhostImage();\n this._setElementClass(this._dragElement.element, \"is-dragged\");\n }\n\n private _drag(event: MouseEvent): void {\n this.ghostLeft = this._ghostLeft + (event.screenX - this._currentMousePosition.x);\n this.ghostTop = this._ghostTop + (event.screenY - this._currentMousePosition.y);\n\n const x: number = event.clientX;\n const y: number = event.clientY;\n const hoveredElement: any = this._getHoveredElement(x, y);\n this._determineDroptarget(hoveredElement, x, y);\n if (this._dropTargetElement) {\n const down: boolean =\n (this._dropTargetElement.container.direction === CoOrientation.Vertical && event.screenY > this._currentMousePosition.y) ||\n (this._dropTargetElement.container.direction === CoOrientation.Horizontal && event.screenX > this._currentMousePosition.x);\n this._animateMove(this._dropTargetElement.container.element, this._dragElement, this._dropTargetElement, down);\n this.drag.next({\n element: this._dragElement,\n elementIndex: this._dragElement.elementIdx,\n source: this._dropTargetElement.container.element\n });\n this._lastDropTarget = this._dropTargetElement;\n }\n }\n\n // element is dropped\n private _endDrag(): void {\n this._renderer.removeClass(this._dragElement.element, \"is-dragged\");\n this._destroyGhostImage();\n this.drop.next({\n element: this._dragElement.element,\n elementIndex: this._dragElement.elementIdx,\n target: this._lastDropTarget ? this._lastDropTarget.element : null,\n targetIndex: this._lastDropTarget ? this._lastDropTarget.elementIdx : -1, // items are already shifted so subtract 1 from target index\n container: this._lastDropTarget ? this._lastDropTarget.container : null\n });\n this._resetDrag();\n }\n\n private _resetDrag(): void {\n this._dragElement = null;\n this._dragInContainer = null;\n this._lastDropTarget = null;\n this._isdragging = false;\n }\n}\n","import {\n ElementRef,\n Input,\n Directive,\n AfterViewInit,\n OnDestroy,\n Renderer2,\n Output,\n EventEmitter,\n HostBinding\n} from \"@angular/core\";\nimport {Subscription} from \"rxjs\";\nimport {InputBoolean} from \"../../../decorator/input-boolean.decorator\";\nimport {DragDropContainer} from \"../../../businessobject/drag-drop-container\";\nimport {CoOrientation} from \"@colijnit/corecomponents_v12\";\nimport {ArrayUtils} from \"@colijnit/sharedapi/build/utils/array-utils\";\nimport {CoDropEvent} from \"../../../event/co-drop-event\";\nimport {DragDropService} from \"../../../service/drag-drop.service\";\n\n@Directive({\n selector: \"drag-drop-container\"\n})\nexport class DragDropContainerComponent implements AfterViewInit, OnDestroy {\n\n /**\n * Model of list containing draggable items\n */\n @Input()\n public sortableList: any[];\n\n @Input()\n @InputBoolean()\n public handleSort: boolean = false;\n\n @Input()\n public set enabled(value: boolean) {\n this._enabled = value;\n this.handleEnabledChange();\n }\n\n /**\n * Class of the handle to drag operations\n */\n @Input()\n public dragHandle: string = \"\";\n\n // Emits when the order of sortableList items changed after a drag-drop action.\n @Output()\n public sortingChange: EventEmitter<any[]> = new EventEmitter<any[]>();\n\n @HostBinding(\"class.co-drag-drop-container\")\n public showClass: boolean = true;\n\n private _container: DragDropContainer;\n private _enabled: boolean = true;\n private _handleOrderSub: Subscription;\n private _initialized: boolean = false;\n\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2, private _dragDropService: DragDropService) {\n this._dragDropService.renderer = this._renderer;\n this._container = new DragDropContainer(_elementRef.nativeElement, CoOrientation.Vertical);\n }\n\n ngAfterViewInit(): void {\n this._initialized = true;\n this._createDragDrop();\n if (this._initialized) {\n this._updateEnableDisableContainer();\n }\n }\n\n /**\n * Cleanup...\n */\n ngOnDestroy(): void {\n this._removeDragDrop();\n this._elementRef = undefined;\n }\n\n public handleEnabledChange(): void {\n if (!this._initialized) {\n return;\n }\n if (this._enabled) {\n this._dragDropService.enableContainer(this._container);\n this._createDragDrop();\n } else {\n this._dragDropService.disableContainer(this._container);\n this._removeDragDrop();\n this._initialized = false;\n }\n }\n\n private _createDragDrop(): void {\n this._dragDropService.addContainer(this._container);\n this._dragDropService.addDragHandle(this.dragHandle);\n if (this.handleSort) { // subscribe drop event to be able to adapt the order of dropped items\n this._handleOrderSub = this._dragDropService.drop.subscribe((event: CoDropEvent) => {\n this._handleOrder(event.container, event.elementIndex, event.targetIndex);\n });\n }\n this._initialized = true;\n }\n\n private _removeDragDrop(): void {\n this._dragDropService.removeContainer(this._container);\n this._dragDropService.removeDragHandle(this.dragHandle);\n if (this._handleOrderSub) {\n this._handleOrderSub.unsubscribe();\n }\n }\n\n private _handleOrder(container: DragDropContainer, oldIndex: number, newIndex: number): void {\n if (container !== this._container) {\n return;\n }\n if (newIndex === -1) {\n newIndex = this.sortableList.length;\n }\n ArrayUtils.MoveElement(this.sortableList[oldIndex], newIndex, this.sortableList);\n this.sortingChange.emit(this.sortableList);\n }\n\n private _updateEnableDisableContainer(): void {\n if (this._enabled) {\n this._dragDropService.enableContainer(this._container);\n } else {\n this._dragDropService.disableContainer(this._container);\n }\n }\n}\n","import {Component, forwardRef, HostBinding, Input, ViewEncapsulation} from '@angular/core';\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, ScreenConfigAdapterComponent} from '@colijnit/corecomponents_v12';\n\n@Component({\n selector: \"co-image-display\",\n template: `\n <img class=\"image\" *ngIf=\"!!model\" [src]=\"model\">\n <div class=\"no-image\" *ngIf=\"!model\">\n <div class=\"img\"></div>\n <div class=\"no-image-label\" [textContent]=\"label | localize\"></div>\n </div>\n `,\n providers: [{\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\n useExisting: forwardRef(() => ImageDisplayComponent)}\n ],\n encapsulation: ViewEncapsulation.None\n})\nexport class ImageDisplayComponent implements ScreenConfigAdapterComponent {\n // Image data URI string. Meant for direct use in [src] attribute of an <img> tag.\n @Input()\n public model: string;\n\n // The (localized) text to show when there is no image. Defaults to 'NO_IMAGE'.\n @Input()\n public label: string = \"NO_IMAGE\";\n\n @HostBinding('class.co-image-display')\n public showClass() {\n return true;\n }\n\n public objectConfigName: string;\n @HostBinding(\"class.co-transaction-hidden\")\n public hidden: boolean;\n public required: boolean;\n public forceReadonly: boolean;\n public readonly: boolean;\n public maxLength: number;\n public decimals: number;\n public redErrorBackground: boolean;\n}\n","import {NgModule} from \"@angular/core\";\nimport {ImageDisplayComponent} from \"./image-display.component\";\nimport {CoreComponentsTranslationModule} from \"@colijnit/corecomponents_v12\";\nimport {CommonModule} from \"@angular/common\";\nimport {LocalizationModule} from \"../../localization/localization.module\";\n\n@NgModule({\n imports: [\n CoreComponentsTranslationModule,\n CommonModule,\n LocalizationModule\n ],\n declarations: [\n ImageDisplayComponent\n ],\n exports: [\n ImageDisplayComponent\n ]\n})\nexport class ImageDisplayModule {\n\n}\n","import {\n Component,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n ViewEncapsulation\n} from \"@angular/core\";\nimport {FormComponent, PromptService} from \"@colijnit/corecomponents_v12\";\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\nimport {Icon} from \"../../enum/icon.enum\";\nimport {InputBoolean} from \"../../decorator/input-boolean.decorator\";\nimport {FileTypeImagePipe} from \"../../pipe/file-type-image.pipe\";\nimport {IconCacheService} from \"../../service/icon-cache.service\";\nimport {Subscription} from \"rxjs\";\n\n@Component({\n selector: \"co-file-upload\",\n template: `\n <co-tile-render [hideImageDisplayWhenNoImage]=\"true\" [imageDataUri]=\"previewImage\" [description]=\"label\" (imageClick)=\"onImageClick()\">\n <ng-template #infoTemplate>\n <co-button *ngIf=\"isEditable && !readonly\" class=\"edit-file\" [iconData]=\"iconService.getIcon(icons.Account)\"\n (click)=\"onPencilClick()\"></co-button>\n </ng-template>\n <co-icon *ngIf=\"showTrashCan && !readonly\" [iconData]=\"iconService.getIcon(icons.Trashbin)\" class=\"trash\" (click)=\"onDeleteClick()\"></co-icon>\n <co-icon tile-render-image-content *ngIf=\"icon\" class=\"dark add-button\" [icon]=\"icon\"></co-icon>\n </co-tile-render>\n `,\n encapsulation: ViewEncapsulation.None,\n})\n// The GUI part of the files-upload component. Not a standalone component.\nexport class FileUploadComponent implements OnDestroy {\n public readonly icons: typeof Icon = Icon;\n\n @ViewChild(FormComponent)\n public form: FormComponent;\n\n // Input file to upload.\n @Input()\n public set file(document: CoDocument) {\n this._file = document;\n this._updatePreviewImage();\n // we should produce a preview image from given document, but its contents might not yet have been loaded:\n this._listenForDocumentBodyChanges();\n }\n\n public get file(): CoDocument {\n return this._file;\n }\n\n // Show icon as placeholder\n @Input()\n public icon: Icon;\n\n // Element clickable\n @Input()\n public link: boolean = false;\n\n @Input()\n public readonly: boolean = false;\n\n // Is tile an 'adding' tile\n @Input()\n @InputBoolean()\n public isAddingTile: boolean = false;\n\n // Set this parameter to false if clicking ok on the document edit popup does not save the document\n // so that refreshing of content on file open works correctly\n @Input()\n @InputBoolean()\n public fileSavesOnPopupOkClick: boolean = true;\n\n @Input()\n @InputBoolean()\n public isEditable: boolean = false;\n\n @Input()\n set label(value: string) {\n this._label = value;\n }\n\n get label(): string {\n if (this._file && this._file.description) {\n return this._file.description;\n } else {\n return this._label;\n }\n }\n\n // Show a trashcan icon\n @Input()\n public showTrashCan: boolean = false;\n\n // Show an image as placeholder\n @Input()\n public showImage: boolean = false;\n\n @Input()\n public customImageClick: boolean = false;\n\n @Output()\n public deleteClick: EventEmitter<any> = new EventEmitter<any>();\n\n @Output()\n public editClick: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\n\n @Output()\n public imageClick: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\n\n @HostBinding('class.co-file-upload')\n public showClass(): boolean {\n return true;\n }\n\n @HostBinding(\"class.link\")\n public get isLink(): boolean {\n return this.link;\n }\n\n public previewImage: string = \"\";\n\n private _file: CoDocument;\n private _docBodyChangeSub: Subscription;\n private _label: string = \"\";\n\n constructor(\n private _promptService: PromptService,\n private _fileTypeImgPipe: FileTypeImagePipe,\n public iconService: IconCacheService,\n //private _generalDal: GeneralDalRepository\n ) {\n }\n\n ngOnDestroy(): void {\n if (this._docBodyChangeSub) {\n this._docBodyChangeSub.unsubscribe();\n }\n }\n\n public onDeleteClick(): void {\n this.deleteClick.emit();\n }\n\n public async onImageClick(): Promise<void> {\n if (this.isAddingTile) {\n return;\n }\n if (this.customImageClick) {\n this.imageClick.next(this._file);\n return;\n }\n //todo fix methods\n //first download document body if it is stored in a private cdn directory\n if (!this._file.documentBody) {\n //await this._generalDal.getDocumentContent(this._file).then(documentBody => this._file.documentBody = documentBody);\n }\n if (this._file.isImageDocument()) { //preview image\n this._promptService.showImage(this.file.documentBodyAsDataUri, \"Preview\");\n } else { //download document\n try {\n //FileUtils.DownloadFromDataUri(this._file.bodyAsDataUri, this._file.fileName);\n } catch (e) {\n\n }\n }\n }\n\n public async onPencilClick(): Promise<void> {\n // refresh file content if files are saved individually\n if (this._file.hasId() && this.fileSavesOnPopupOkClick) {\n let idForLink: number;\n if (this._file.idForLink) {\n idForLink = this._file.idForLink;\n }\n // Get most recent version of this file if it has an id and therefore has been saved in the db\n //TODO fix fetch\n // this._file = await this._generalDal.getDocumentFromTable(this._file.documentId);\n //this._file.idForLink = idForLink; // Restore the idForLink\n }\n\n this.editClick.emit(this._file);\n }\n\n // updates this.previewImage when doc body changes\n private _listenForDocumentBodyChanges(): void {\n if (this._file) {\n if (this._docBodyChangeSub) {\n this._docBodyChangeSub.unsubscribe();\n }\n\n // @ts-ignore\n this._docBodyChangeSub = this._file.documentBodyChange.subscribe(() => {\n this._updatePreviewImage();\n });\n }\n }\n\n private _updatePreviewImage(): void {\n if (this._file) {\n if (this._file.isImageDocument()) {\n this.previewImage = this._file.documentBodyAsDataUri;\n if (this.previewImage === \"\") {\n //TODO fix fetch\n //this._generalDal.getDocumentContent(this._file).then(documentBody => this._file.documentBody = documentBody);\n //this.previewImage = this._file.documentBody;\n }\n } else {\n this.previewImage = this._fileTypeImgPipe.transform(this.file.fileTypeInternal);\n }\n }\n }\n\n}\n","// large or small tiles for the <tile-render> component.\nexport enum TileSizeType {\n Small,\n Large\n}\n","import {\n Component,\n ContentChild,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n TemplateRef,\n ViewEncapsulation\n} from \"@angular/core\";\nimport {TileSizeType} from \"../../enum/tile-size-type\";\nimport {Icon} from \"../../enum/icon.enum\";\nimport {IconCacheService} from \"../../service/icon-cache.service\";\n\n@Component({\n selector: \"co-tile-render\",\n template: `\n <div class=\"image\" (click)=\"imageClick.emit()\">\n <label *ngIf=\"inLargeTileMode && tagDescription\" [textContent]=\"tagDescription\"></label>\n <co-icon *ngIf=\"selected\" class=\"selected small light circle\" [iconData]=\"iconCacheService.getIcon(iconWhenSelected)\" ></co-icon>\n <co-image [source]=\"imageDataUri\" [class.hidden]=\"(inSmallTileMode || hideImageDisplayWhenNoImage) && !imageDataUri\"\n ></co-image>\n\n\n\n <ng-content select=\"[tile-render-image-content]\"></ng-content>\n </div>\n <div class=\"info\" (click)=\"infoClick.emit()\">\n <ng-container *ngIf=\"infoTemplate\" [templateWrapper]=\"infoTemplate\"></ng-container>\n <span *ngIf=\"inLargeTileMode && label\" class=\"label\" [textContent]=\"label\"></span>\n <span *ngIf=\"inLargeTileMode && description\" class=\"description\" [textContent]=\"description\"></span>\n </div>\n <ng-content></ng-content>\n `,\n encapsulation: ViewEncapsulation.None,\n})\n/**\n * A generic component that shows a collection of simple inputs (description, image, price, etc.) as a tile-shaped graphic with an image\n * part (upper) and an info part (lower).\n */\nexport class TileRenderComponent implements OnDestroy {\n public readonly icons: typeof Icon = Icon;\n\n @ContentChild(\"infoTemplate\", { static: true })\n public infoTemplate: TemplateRef<any>;\n\n // Image data to show in an <image-display> component.\n @Input()\n public imageDataUri: string;\n\n // Tag text to show in a <tab-label> component.\n @Input()\n public tagDescription: string;\n\n // Label text, not localized.\n @Input()\n public label: string;\n\n // Main description text.\n @Input()\n public description: string;\n\n // Render a large or small tile.\n @Input()\n public tileSize: TileSizeType = TileSizeType.Large;\n\n // The price for display.\n @Input()\n public price: number;\n\n // The price can be hidden by setting this to true.\n @Input()\n public hidePrice: boolean;\n\n // When this tile is selected, this icon will be shown green in the upper-left corner (defaults to 'check').\n @Input()\n public iconWhenSelected: string = \"check\";\n\n /**\n * By default, this component shows a special icon and missing-image text for the image when it's empty. Set this to true\n * to hide the whole image-display instead, when there was no image given.\n */\n @Input()\n public hideImageDisplayWhenNoImage: boolean;\n\n // Selected tiles have a green border around them.\n @Input()\n @HostBinding(\"class.selected\")\n public selected: boolean;\n\n // Emits when the image wrapper was clicked (top half of this component) .\n @Output()\n public imageClick: EventEmitter<any> = new EventEmitter<any>();\n\n // Emits when the info wrapper was clicked (bottom half of this component).\n @Output()\n public infoClick: EventEmitter<any> = new EventEmitter<any>();\n\n @HostBinding(\"class.small-size\")\n public get inSmallTileMode(): boolean {\n return this.tileSize === TileSizeType.Small;\n }\n\n @HostBinding(\"class.co-tile-render\")\n public showClass(): boolean {\n return true;\n }\n\n public get inLargeTileMode(): boolean {\n return this.tileSize === TileSizeType.Large;\n }\n\n constructor(public iconCacheService: IconCacheService) {\n }\n ngOnDestroy(): void {\n this.infoTemplate = undefined;\n }\n\n protected readonly Icon = Icon;\n}\n","import {NgModule} from \"@angular/core\";\nimport {TileRenderComponent} from \"./tile-render.component\";\nimport {ImageDisplayModule} from \"../image-display/image-display.module\";\nimport {CommonModule} from \"@angular/common\";\nimport {IconModule, ImageModule, TemplateWrapperModule} from \"@colijnit/corecomponents_v12\";\n\n@NgModule({\n imports: [\n ImageDisplayModule,\n CommonModule,\n IconModule,\n ImageModule,\n TemplateWrapperModule\n ],\n declarations: [\n TileRenderComponent\n ],\n exports: [\n TileRenderComponent\n ],\n providers: [\n ]\n})\nexport class TileRenderModule {\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {FileUploadComponent} from \"./file-upload.component\";\nimport {ButtonModule, IconModule} from \"@colijnit/corecomponents_v12\";\nimport {TileRenderModule} from \"../tile-renderer/tile-render.module\";\nimport {CommonModule} from \"@angular/common\";\n\n\n@NgModule({\n imports: [\n IconModule,\n TileRenderModule,\n CommonModule,\n ButtonModule\n ],\n declarations: [\n FileUploadComponent\n ],\n exports: [\n FileUploadComponent\n ],\n providers: [\n ]\n})\nexport class FileUploadModule {\n\n}\n","// Static utility function holder related to enums.\nimport {KeyValuePair} from \"../interface/key-value-pair\";\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\nimport {NumberUtils} from \"./number-utils\";\nimport {StringUtils} from \"./string-utils\";\nimport {DictionaryService} from \"../service/dictionary.service\";\n// @dynamic\nexport class EnumUtils {\n // Returns a new array with all string values (not keys) of given string enum class.\n public static StringEnumToArray(clazz: any): string[] {\n const asArray: any[] = [];\n\n const keys: string[] = Object.keys(clazz);\n for (let i: number = 0, len: number = keys.length; i < len; i++) {\n asArray.push(clazz[keys[i]]);\n }\n\n return asArray;\n }\n\n /**\n * Returns a single string representation of given string enum class\n * @param clazz\n * @returns {string} eg \"input-lov-slideout, financial-customer-group-select\" for a given clazz of InputLovSlideoutComponentSelectors\n */\n public static StringEnumToSingleString(clazz: any): string {\n return StringEnumToSingleString(clazz);\n }\n\n // Get the number values from an enum\n public static GetNumberEnumValues(numberEnumClass: any): any[] {\n return this.GetObjValues(numberEnumClass).filter(value => NumberUtils.IsNumber(value));\n }\n\n // Get the the property object value names in string format from the enum\n public static GetStringEnumValues(stringEnumClass: any): any[] {\n return this.GetObjValues(stringEnumClass).filter(value => StringUtils.IsString(value));\n }\n\n public static GetObjValues(numberEnumClass: any): (number | string)[] {\n return Object.keys(numberEnumClass).map(key => numberEnumClass[key]);\n }\n\n /**\n * Returns the enum in object format to make handling easier\n * Works for Enums with the following format:\n * foo: 1\n * bar: 2\n * etc...\n * @param enumClass\n * @returns {Object}\n */\n public static createObjectFromEnum(enumClass: any): KeyValuePair[] {\n // const objectifiedEnum: { refNumber: number; name: string }[] = [];\n const objectifiedEnum: KeyValuePair[] = [];\n\n for (const enumItem in enumClass) {\n if (typeof enumClass[enumItem] === \"number\") {\n objectifiedEnum.push({key: <number>enumClass[enumItem], value: enumItem});\n }\n }\n\n return objectifiedEnum;\n }\n\n public static getStringEnumKeysArray(enumType: object): string[] {\n const members = Object.keys(enumType);\n if (!EnumUtils.isNumeral(enumType)) {\n return members;\n }\n\n const keys: string[] = [];\n members.forEach((x) => {\n const parsedValue = parseInt(x, 10);\n if (Number.isNaN(parsedValue)) {\n keys.push(x);\n }\n });\n return keys;\n }\n\n public static buildPromiseDomainValueListFromEnumClass(enumClass: any, dictionary: DictionaryService, keysAsDescription: boolean = false): Promise<CoDomainValue[]> {\n return new Promise((resolve, reject) => {\n try {\n resolve(EnumUtils.buildDomainValueListFromEnumClass(enumClass, dictionary, keysAsDescription));\n } catch (e) {\n reject();\n }\n });\n }\n\n public static buildDomainValueListFromEnumClass(enumClass: any, dictionary: DictionaryService, keysAsDescription: boolean = false): CoDomainValue[] {\n const collection: CoDomainValue[] = [];\n\n if (keysAsDescription) {\n const enumKeys: string[] = EnumUtils.getStringEnumKeysArray(enumClass);\n enumKeys.forEach((key: string, index: number) => {\n const domainObjectForLov: CoDomainValue = new CoDomainValue();\n domainObjectForLov.code = enumClass[key];\n domainObjectForLov.description = dictionary.get(key);\n domainObjectForLov.sequence = index;\n collection.push(domainObjectForLov);\n });\n } else {\n EnumUtils.StringEnumToArray(enumClass).forEach((strEnumVal: string, index: number) => {\n const domainObjectForLov: CoDomainValue = new CoDomainValue();\n domainObjectForLov.code = strEnumVal;\n domainObjectForLov.description = dictionary.get(strEnumVal);\n domainObjectForLov.sequence = index;\n collection.push(domainObjectForLov);\n });\n }\n\n return collection;\n }\n\n public static getKeyByValue(enumType: object, enumValue: string): string {\n return Object.keys(enumType)[Object.values(enumType).indexOf(enumValue)];\n }\n\n private static isNumeral(enumType: object): boolean {\n const members = Object.keys(enumType);\n if (!members.some((x) => true)) {\n throw new TypeError(\"Invalid enumeration type.\");\n }\n let parsedCount = 0;\n members.forEach((x) => {\n const parsedValue = parseInt(x, 10);\n if (!Number.isNaN(parsedValue)) {\n parsedCount++;\n }\n });\n return parsedCount === members.length / 2;\n }\n\n}\n\n// Outside the class because it's used to generate component selectors, and aot can't call statics.\nexport function StringEnumToSingleString(clazz: any): string {\n let str: string = \"\";\n\n const keys: string[] = Object.keys(clazz);\n for (let i: number = 0, len: number = keys.length; i < len; i++) {\n str += clazz[keys[i]] + \", \";\n }\n\n str = StringUtils.RemoveLastChars(str, 2);\n return str;\n}\n","/**\n * Custom component for enabling and disabling multiple items based on an input enum\n * For the component to work, an enum is required and a list of enabled items so that\n * the component knows which items from the enum are already enabled\n *\n * Note: can be improved by not only accepting a string array of enabledItemProperties but also a full cgref number because that will save one conversion step as\n * BO's already contain these numbers.\n */\n\nimport {AfterViewInit, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\n//import {EnumUtils} from \"../../utils/enum-utils\";\nimport {KeyValuePair} from \"../../interface/key-value-pair\";\nimport {Icon} from \"../../enum/icon.enum\";\nimport {RefCodeUtils} from \"../../utils/ref-code-utils\";\nimport {EnumUtils} from \"../../utils/enum-utils\";\n\n@Component({\n selector: \"co-multiple-property-toggler\",\n template: `\n <div class=\"input-text-content-wrapper\">\n <h3 [textContent]=\"label\"></h3> <!-- | localize-->\n\n <div class=\"property-toggling-container\">\n\n <div class=\"row\" *ngFor=\"let propertyTogglerItem of objectifiedEnum | keyvalue\">\n\n <co-input-checkbox [model]=\"isValueActive(propertyTogglerItem.value)\"\n (click)=\"clickToToggleProperty(propertyTogglerItem.value)\"></co-input-checkbox>\n\n <label [textContent]=\"propertyTogglerItem.value.value\"></label>\n </div>\n </div>\n </div>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class MultiplePropertyTogglerComponent implements AfterViewInit {\n @Input()\n public label: string = \"\";\n\n // Input an Enum with names and properties and it will be converted\n @Input()\n public propertyNamesToToggle: any;\n\n @Input()\n public readonly : boolean = false;\n\n // Input the cgrefcode sum so it knows which items will be enabled\n @Input()\n public enableditems: number;\n\n @Output()\n public enableditemsChange: EventEmitter<number> = new EventEmitter<number>();\n\n // Outputs the sum of cgrefkeys of all newly enabled items\n @Output()\n public readonly onPropertyItemChange: EventEmitter<number> = new EventEmitter<number>();\n\n @HostBinding(\"class.co-multiple-property-toggler\")\n public showClass(): boolean {\n return true;\n }\n\n public readonly Icons: typeof Icon = Icon;\n\n public objectifiedEnum: KeyValuePair[] = [];\n\n public enabledItemNumberList: number[] = [];\n\n ngAfterViewInit(): void {\n if (this.propertyNamesToToggle) {\n this.objectifiedEnum = EnumUtils.createObjectFromEnum(this.propertyNamesToToggle);\n } else {\n // PropertytogglerItems is empty\n }\n this.makeNumberArrayFromCgRefCodeSum();\n }\n\n public isValueActive(propertyToCheck: any): boolean {\n return this.enabledItemNumberList.includes(propertyToCheck.key);\n }\n\n public clickToToggleProperty(target: any): void {\n let newRefNumberSum: number = 0;\n\n if (this.enabledItemNumberList.includes(target.key)) {\n this.enabledItemNumberList.splice(this.enabledItemNumberList.indexOf(target.key), 1);\n } else {\n this.enabledItemNumberList.push(target.key);\n }\n\n this.enabledItemNumberList.forEach(\n enabledItem => {\n newRefNumberSum += this.objectifiedEnum.find(x => x.key === enabledItem).key;\n }\n );\n\n this.onPropertyItemChange.emit(newRefNumberSum);\n }\n\n public makeNumberArrayFromCgRefCodeSum(): void {\n if (this.enableditems) {\n this.enabledItemNumberList = RefCodeUtils.GetMultiRefCodeChoices(this.enableditems);\n }\n }\n}\n","import {NgModule} from \"@angular/core\";\nimport {MultiplePropertyTogglerComponent} from \"./multiple-property-toggler.component\";\nimport {InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\nimport {CommonModule} from \"@angular/common\";\n\n@NgModule({\n imports: [\n InputCheckboxModule,\n CommonModule\n ],\n declarations: [\n MultiplePropertyTogglerComponent\n ],\n exports: [\n MultiplePropertyTogglerComponent\n ]\n})\nexport class MultiplePropertyTogglerModule {\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {\n ButtonModule,\n CoDialogModule,\n FormModule,\n InputTextModule,\n ScreenConfigurationModule\n} from \"@colijnit/corecomponents_v12\";\nimport {LocalizationModule} from \"../../localization/localization.module\";\nimport {CommonModule} from \"@angular/common\";\nimport {MultiplePropertyTogglerModule} from \"../multi-property-toggler/multiple-property-toggler.module\";\nimport {FileUploadPopupComponent} from \"./file-upload-popup.component\";\n\n\n@NgModule({\n imports: [\n CoDialogModule,\n FormModule,\n LocalizationModule,\n InputTextModule,\n ButtonModule,\n CommonModule,\n ScreenConfigurationModule,\n MultiplePropertyTogglerModule\n ],\n declarations: [\n FileUploadPopupComponent\n ],\n exports: [\n FileUploadPopupComponent\n ],\n providers: [\n ]\n})\nexport class FileUploadPopupModule {\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\nimport {AppFileDropzoneComponent} from \"./app-file-dropzone.component\";\n\n\n@NgModule({\n imports: [\n IconModule,\n ],\n declarations: [\n AppFileDropzoneComponent\n ],\n exports: [\n AppFileDropzoneComponent\n ],\n providers: [\n ]\n})\nexport class AppFileDropzoneModule {\n\n}\n","import {NgModule} from \"@angular/core\";\nimport {\n ButtonModule,\n CoDialogModule,\n FormModule,\n IconModule, InputCheckboxModule,\n InputTextModule,\n ScreenConfigurationModule\n} from \"@colijnit/corecomponents_v12\";\nimport {LocalizationModule} from \"../../localization/localization.module\";\nimport {DragDropContainerComponent} from \"./components/drag-drop-container.component\";\nimport {ImageDisplayModule} from \"../image-display/image-display.module\";\nimport {CommonModule} from \"@angular/common\";\nimport {Overlay} from \"@angular/cdk/overlay\";\nimport {FileTypeImagePipe} from \"../../pipe/file-type-image.pipe\";\nimport {FilesUploadComponent} from \"./files-upload.component\";\nimport {FileUploadModule} from \"../file-upload/file-upload.module\";\nimport {FileUploadPopupModule} from \"../file-upload-popup/file-upload-popup.module\";\nimport {AppFileDropzoneModule} from \"../app-file-dropzone/app-file-dropzone.module\";\n\n@NgModule({\n imports: [\n CoDialogModule,\n FormModule,\n InputTextModule,\n ScreenConfigurationModule,\n ButtonModule,\n LocalizationModule,\n IconModule,\n ImageDisplayModule,\n CommonModule,\n // TagsModule,\n InputCheckboxModule,\n FileUploadModule,\n FileUploadPopupModule,\n AppFileDropzoneModule\n ],\n declarations: [\n FilesUploadComponent,\n DragDropContainerComponent\n ],\n exports: [\n FilesUploadComponent,\n DragDropContainerComponent\n ],\n providers: [\n Overlay,\n FileTypeImagePipe\n ]\n})\nexport class FilesUploadModule {\n\n}\n","import {\n Component,\n HostBinding,\n Input,\n OnInit,\n ViewEncapsulation\n} from '@angular/core';\nimport {Icon} from \"../../enum/icon.enum\";\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\nimport {Activity} from \"@colijnit/mainapi/build/model/activity.bo\";\nimport {ActivityType} from \"@colijnit/mainapi/build/enum/activity-type\";\nimport {IconCacheService} from \"../../service/icon-cache.service\";\nimport {ALL_MONTHS} from \"../../model/constant/all-months\";\nimport {DictionaryService} from \"../../service/dictionary.service\";\nimport {TimeUtils} from \"@colijnit/mainapi/build/utils/time-utils\";\nimport {RelationSmallObject} from \"@colijnit/mainapi/build/model/relation-small-object.bo\";\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\n\n@Component({\n selector: \"co-activity-list\",\n template: `\n <div class=\"activity-list-wrapper\">\n <div class=\"activity-wrapper\" [class.customer-reply-wrapper]=\"(getRelationKind(activity.author) === RelationKind.Customer)\" *ngFor=\"let activity of activities\" >\n <div class=\"activity-display\">\n <div class=\"activity-display-title\">\n <span>{{activity.author ? ( activity.author.initials + ' ' + activity.author.familyName) : \" \"}}</span>\n <span>{{getDateString(activity.lastActionDateTime)}}</span>\n <co-icon [iconData]=\"iconCacheService.getIcon(getActivityIcon(activity))\"></co-icon>\n </div>\n <div class=\"activity-display-content\" [class.customer-reply-content]=\"(getRelationKind(activity.author) === RelationKind.Customer)\">\n <div class=\"activity-display-body\">\n <span>{{activity.subDescription}}</span>\n </div>\n <div class=\"activity-display-footer\">\n <!--TODO discuss with Rob is we can gather the info needed to see which workflow triggers have previously been activated for this trigger-->\n <!--<div *ngIf=\"showState(activity)\" class=\"activity-state\">\n <span *ngIf=\"showAttachments(activity)\">{{activity.documents.length}}</span>\n </div>-->\n <co-icon *ngIf=\"showAttachments(activity)\" [iconData]=\"iconCacheService.getIcon(Icon.PaperclipRegular)\" (click)=\"openActivityPopup(activity)\"></co-icon>\n <span *ngIf=\"showAttachments(activity)\">{{activity.documents.length}}</span>\n <co-icon *ngIf=\"showWorkedTime(activity)\"\n [iconData]=\"iconCacheService.getIcon(Icon.ClockRegular)\"></co-icon>\n <span *ngIf=\"showWorkedTime(activity)\" >\n {{TimeUtils.ConvertToDuration(getWorkedTime(activity))}}</span>\n </div>\n </div>\n </div>\n </div>\n </div>\n <co-dialog *ngIf=\"showActivityPopup\" (closeClick)=\"showActivityPopup = false\">\n <co-files-upload [documents]=\"currentActivityDocuments\">\n </co-files-upload>\n </co-dialog>\n `,\n encapsulation: ViewEncapsulation.None\n})\nexport class ActivityListComponent implements OnInit {\n public readonly Icon = Icon;\n public readonly RelationKind = RelationKind;\n public readonly ActivityType = ActivityType;\n public readonly TimeUtils = TimeUtils;\n\n @HostBinding(\"class.co-activity-list\")\n public showClass(): boolean {\n return true;\n }\n\n @Input()\n public activities: Activity[] = [];\n\n @Input()\n public remarkIcon: Icon = Icon.CommentRegular;\n\n @Input()\n public workIcon: Icon = Icon.PersonDiggingRegular;\n\n public showActivityPopup: Boolean;\n public currentActivityDocuments: CoDocument[];\n\n constructor(public iconCacheService: IconCacheService,\n private _dictionaryService: DictionaryService\n ) {\n }\n\n public async ngOnInit(): Promise<void> {\n }\n\n public getRelationKind(author: RelationSmallObject): RelationKind {\n if (author) {\n return author.relationType;\n } else {\n return null\n }\n }\n\n public getDateString(date: Date): string {\n return date.getDay().toString() + ' ' + (this._dictionaryService.get(ALL_MONTHS[date.getMonth()])) + ' ' + date.getFullYear() ;\n }\n\n public getActivityIcon(activity: Activity): Icon {\n switch (activity.activityType) {\n case ActivityType.Remark:\n return this.remarkIcon;\n case ActivityType.StateChange:\n case ActivityType.WorkflowStatus:\n case ActivityType.Work:\n case ActivityType.Task:\n case ActivityType.WorkflowTask:\n case ActivityType.Form:\n return this.workIcon;\n }\n }\n\n public showAttachments(activity: Activity): boolean {\n if (activity.documents && activity.documents.length > 0) {\n return true\n }\n return false;\n }\n\n public showWorkedTime(activity: Activity): boolean {\n if ((activity.IsWork && activity.work && activity.work.workedTime) ||\n (activity.IsTask && activity.task && activity.task.workedTime)) {\n return true;\n }\n return false;\n }\n\n public getWorkedTime(activity: Activity): number {\n if (activity.IsWork && activity.work && activity.work.workedTime) {\n return activity.work.workedTime;\n } else if (activity.IsTask && activity.task && activity.task.workedTime) {\n return activity.task.workedTime;\n }\n return 0;\n }\n\n public openActivityPopup(activity: Activity): void {\n this.showActivityPopup = true;\n this.currentActivityDocuments = activity.documents;\n }\n}\n","import {NgModule} from \"@angular/core\";\nimport {ActivityListComponent} from \"./activity-list.component\";\nimport {CoDialogModule, IconModule} from \"@colijnit/corecomponents_v12\";\nimport {CommonModule} from \"@angular/common\";\nimport {FilesUploadModule} from \"../files-upload/files-upload.module\";\n\n@NgModule({\n imports: [\n IconModule,\n CommonModule,\n CoDialogModule,\n FilesUploadModule\n ],\n declarations: [\n ActivityListComponent\n ],\n exports: [\n ActivityListComponent\n ]\n})\nexport class ActivityListModule {\n}\n","/*\n * Public API Surface of sharedcomponents\n */\n\nexport * from './lib/components/docsign/docsign.component';\nexport * from './lib/components/docsign/docsign.module';\nexport * from './lib/components/stock/stock.component';\nexport * from './lib/components/stock/stock.module';\nexport * from './lib/components/stock/localization/translation';\nexport * from './lib/components/send-method-dialog/send-method-dialog.component';\nexport * from './lib/components/send-method-dialog/send-method-dialog.module';\nexport * from './lib/components/key-pad/key-pad.component';\nexport * from './lib/components/key-pad/key-pad.module';\nexport * from './lib/components/layout-switcher/layout-switcher.component';\nexport * from './lib/components/layout-switcher/layout-switcher.module';\nexport * from './lib/components/linear-gauge/co-linear-gauge.component';\nexport * from './lib/components/linear-gauge/co-linear-gauge.module';\nexport * from './lib/components/statusbar/statusbar.component';\nexport * from './lib/components/statusbar/statusbar.module';\nexport * from './lib/components/date-planning/date-planning.component';\nexport * from './lib/components/date-planning/date-planning.module';\nexport * from './lib/components/simple-tags/simple-tags.component';\nexport * from './lib/components/simple-tags/simple-tags.module';\nexport * from './lib/components/files-upload/files-upload.component';\nexport * from './lib/components/files-upload/files-upload.module';\nexport * from './lib/components/activity-list/activity-list.component';\nexport * from './lib/components/activity-list/activity-list.module';\nexport * from './lib/service/shared.service';\nexport * from './lib/enum/calendar-view.enum';\nexport * from './lib/model/agenda-event-per-day.model';\nexport * from './lib/model/agenda-event.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AppFileDropzoneComponent as ɵdg} from './lib/components/app-file-dropzone/app-file-dropzone.component';\nexport {AppFileDropzoneModule as ɵdf} from './lib/components/app-file-dropzone/app-file-dropzone.module';\nexport {AgendaBaseViewComponent as ɵcd} from './lib/components/date-planning/component/agenda/agenda-base-view.component';\nexport {AgendaDayViewComponent as ɵce} from './lib/components/date-planning/component/agenda/agenda-day-view.component';\nexport {AgendaEventComponent as ɵcm} from './lib/components/date-planning/component/agenda/agenda-event.component';\nexport {AgendaEventsComponent as ɵcl} from './lib/components/date-planning/component/agenda/agenda-events.component';\nexport {AgendaHalfHourCellComponent as ɵck} from './lib/components/date-planning/component/agenda/agenda-half-hour-cell.component';\nexport {AgendaHeaderComponent as ɵca} from './lib/components/date-planning/component/agenda/agenda-header.component';\nexport {AgendaHourCellComponent as ɵci} from './lib/components/date-planning/component/agenda/agenda-hour-cell.component';\nexport {AgendaHourViewLabelsComponent as ɵcj} from './lib/components/date-planning/component/agenda/agenda-hour-view-labels.component';\nexport {AgendaHourViewComponent as ɵch} from './lib/components/date-planning/component/agenda/agenda-hour-view.component';\nexport {AgendaMonthViewComponent as ɵcc} from './lib/components/date-planning/component/agenda/agenda-month-view.component';\nexport {AgendaSelectEventComponent as ɵco} from './lib/components/date-planning/component/agenda/agenda-select-event.component';\nexport {AgendaViewComponent as ɵcb} from './lib/components/date-planning/component/agenda/agenda-view.component';\nexport {AgendaWeekSelectViewComponent as ɵcg} from './lib/components/date-planning/component/agenda/agenda-week-select-view.component';\nexport {AgendaWeekViewComponent as ɵcf} from './lib/components/date-planning/component/agenda/agenda-week-view.component';\nexport {ViewSelectComponent as ɵcn} from './lib/components/date-planning/component/agenda/view-select.component';\nexport {CalendarAllMonthsComponent as ɵbv} from './lib/components/date-planning/component/calendar/calendar-all-months.component';\nexport {CalendarAllYearsComponent as ɵbu} from './lib/components/date-planning/component/calendar/calendar-all-years.component';\nexport {CalendarHeaderComponent as ɵbw} from './lib/components/date-planning/component/calendar/calendar-header.component';\nexport {CalendarViewComponent as ɵby} from './lib/components/date-planning/component/calendar/calendar-view.component';\nexport {CalendarComponent as ɵbx} from './lib/components/date-planning/component/calendar/calendar.component';\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';\nexport {FileUploadPopupComponent as ɵde} from './lib/components/file-upload-popup/file-upload-popup.component';\nexport {FileUploadPopupModule as ɵdb} from './lib/components/file-upload-popup/file-upload-popup.module';\nexport {FileUploadComponent as ɵda} from './lib/components/file-upload/file-upload.component';\nexport {FileUploadModule as ɵcx} from './lib/components/file-upload/file-upload.module';\nexport {BaseFileUploadComponent as ɵct} from './lib/components/files-upload/components/base-file-upload.component';\nexport {DragDropContainerComponent as ɵdh} from './lib/components/files-upload/components/drag-drop-container.component';\nexport {ImageDisplayComponent as ɵcw} from './lib/components/image-display/image-display.component';\nexport {ImageDisplayModule as ɵcv} from './lib/components/image-display/image-display.module';\nexport {MultiplePropertyTogglerComponent as ɵdd} from './lib/components/multi-property-toggler/multiple-property-toggler.component';\nexport {MultiplePropertyTogglerModule as ɵdc} from './lib/components/multi-property-toggler/multiple-property-toggler.module';\nexport {LayoutSelectionComponent as ɵl} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.component';\nexport {LayoutSelectionModule as ɵk} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.module';\nexport {PrinterSelectionComponent as ɵr} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.component';\nexport {PrinterSelectionModule as ɵq} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.module';\nexport {SendMethodEmailComponent as ɵo} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.component';\nexport {SendMethodEmailModule as ɵj} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.module';\nexport {SendMethodPdfComponent as ɵu} from './lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component';\nexport {SendMethodPdfModule as ɵt} from './lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module';\nexport {SendMethodPrinterComponent as ɵs} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component';\nexport {SendMethodPrinterModule as ɵp} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module';\nexport {SignatureButtonComponent as ɵn} from './lib/components/send-method-dialog/components/signature-button/signature-button.component';\nexport {SignatureButtonModule as ɵm} from './lib/components/send-method-dialog/components/signature-button/signature-button.module';\nexport {SendMethodService as ɵi} from './lib/components/send-method-dialog/service/send-method.service';\nexport {StatusbarPopupComponent as ɵx} from './lib/components/statusbar/statusbar-popup.component';\nexport {StockStatusbarComponent as ɵz} from './lib/components/stock-statusbar/stock-statusbar.component';\nexport {StockStatusbarModule as ɵy} from './lib/components/stock-statusbar/stock-statusbar.module';\nexport {AllocationStockHistoryComponent as ɵbq} from './lib/components/stock/components/allocation-stock-history/allocation-stock-history.component';\nexport {OrderCommissionStockHistoryComponent as ɵbo} from './lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component';\nexport {OrderStockHistoryComponent as ɵbp} from './lib/components/stock/components/order-stock-history/order-stock-history.component';\nexport {OrderStockTabComponent as ɵbk} from './lib/components/stock/components/order-stock-tab/order-stock-tab.component';\nexport {OrderSupplyStockHistoryComponent as ɵbn} from './lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component';\nexport {OrderTabComponent as ɵbh} from './lib/components/stock/components/order-tab/order-tab.component';\nexport {StockHistoryComponent as ɵbm} from './lib/components/stock/components/stock-history/stock-history.component';\nexport {StockLocationComponent as ɵbl} from './lib/components/stock/components/stock-location/stock-location.component';\nexport {StockPrognoseComponent as ɵbr} from './lib/components/stock/components/stock-prognose/stock-prognose.component';\nexport {StockTabComponent as ɵbg} from './lib/components/stock/components/stock-tab/stock-tab.component';\nexport {StockHistoryTabsComponent as ɵbj} from './lib/components/stock/stock-history-tabs/stock-history-tabs.component';\nexport {StockInformationGridComponent as ɵbd} from './lib/components/stock/stock-information-grid/stock-information-grid.component';\nexport {StockInformationComponent as ɵbc} from './lib/components/stock/stock-information/stock-information.component';\nexport {StockTabsComponent as ɵbi} from './lib/components/stock/stock-tabs/stock-tabs.component';\nexport {StockChangeAmountComponent as ɵbf} from './lib/components/stock/stock-transfer/stock-change-amount.component';\nexport {StockTransferComponent as ɵbe} from './lib/components/stock/stock-transfer/stock-transfer.component';\nexport {TabBarComponent as ɵw} from './lib/components/tab-bar/tab-bar.component';\nexport {TabBarModule as ɵv} from './lib/components/tab-bar/tab-bar.module';\nexport {TileRenderComponent as ɵcz} from './lib/components/tile-renderer/tile-render.component';\nexport {TileRenderModule as ɵcy} from './lib/components/tile-renderer/tile-render.module';\nexport {InputBoolean as ɵcu} from './lib/decorator/input-boolean.decorator';\nexport {Icon as ɵbt} from './lib/enum/icon.enum';\nexport {LanguageCode as ɵbz} from './lib/enum/language-code.enum';\nexport {LocalizationModule as ɵba} from './lib/localization/localization.module';\nexport {LocalizePipe as ɵbb} from './lib/localization/localize.pipe';\nexport {LocalizeService as ɵg} from './lib/localization/localize.service';\nexport {SendMethod as ɵbs} from './lib/model/send-method';\nexport {ArrayNumberPipe as ɵcq} from './lib/pipe/array-number.pipe';\nexport {FileTypeImagePipe as ɵcs} from './lib/pipe/file-type-image.pipe';\nexport {MASTER_PIPES as ɵcp} from './lib/pipe/master-pipes';\nexport {UCfirstPipe as ɵcr} from './lib/pipe/ucfirst.pipe';\nexport {DictionaryService as ɵf} from './lib/service/dictionary.service';\nexport {DragDropService as ɵdi} from './lib/service/drag-drop.service';\nexport {IconCacheService as ɵh} from './lib/service/icon-cache.service';\nexport {OptionsService as ɵe} from './lib/service/options.service';\nexport {SharedConnectorService as ɵd} from './lib/service/shared-connector.service';\nexport {StockService as ɵc} from './lib/service/stock.service';"],"names":["EventEmitter","PDFDocument","pdfjsWorker","PDFJS","Component","trigger","state","style","transition","animate","ViewEncapsulation","ViewChild","ElementRef","Input","Output","HostBinding","SignaturePad","NgModule","CommonModule","LanguageCode","Injectable","Options","BehaviorSubject","BusinessObjectFactory","Sharedapi","Articles","MainApi","ObjectConfiguration","Printer","SendMethod","TagTreeItem","StockHistoryBo","ArticleStockBo","StockManagementWarehouses","StockLocation","ArticleDetailsBo","StockStatus","ArticleTransactionBo","Translation","ArticleExtended","PrintStockStickers","ArticleStock","ArticleExtendedRequest","ChangeDetectorRef","DomSanitizer","Icon","ArticleStockManagement","PrintPriceStickers","ArticleTransaction","Subject","ReportingDocumentPrintSignDocBaseRequest","ReportingDocumentEmailSignDocBaseRequest","ReportingDocumentPdfBaseRequest","SendMethodType","IconModule","InputCheckboxModule","CoDialogModule","ButtonModule","GetStockHistoryRequest","ListOfValuesModule","GaugeColor","Chart","DoughnutController","ArcElement","ViewChildren","OverlayService","HostListener","ClickoutsideModule","OverlayModule","Pipe","InputRadioButtonModule","SimpleGridModule","ImageModule","InputTextModule","InputNumberPickerModule","CoDialogWizardModule","InputTextareaModule","PopupModule","ResponsiveTextModule","CalendarView","Renderer2","Month","moment","DatePipe","Inject","LOCALE_ID","NgZone","Directive","FileTypeInternal","InputDatePickerModule","InputSearchModule","DragDropModule","DocumentPublication","CoDocument","FileUtils","CoDocumentRight","ObjectRightType","PromptService","FormComponent","CoDocumentType","FileType","ViewContainerRef","ComponentFactoryResolver","SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME","forwardRef","ContentChild","CoOrientation","ArrayUtils","CoreComponentsTranslationModule","TemplateWrapperModule","CoDomainValue","FormModule","ScreenConfigurationModule","Overlay","RelationKind","ActivityType","TimeUtils"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;;;;;;;;;;;;EAagF;EAChF;EAEA,IAAI,aAAa,GAAG,UAAS,CAAC,EAAE,CAAC,EAAA;MAC/B,aAAa,GAAG,MAAM,CAAC,cAAc;WAChC,EAAE,SAAS,EAAE,EAAE,EAAE,YAAY,KAAK,IAAI,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;UAC5E,UAAU,CAAC,EAAE,CAAC,EAAA,EAAI,KAAK,IAAI,CAAC,IAAI,CAAC;cAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;kBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;EACtG,IAAA,OAAO,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7B,CAAC,CAAC;EAEc,SAAA,SAAS,CAAC,CAAC,EAAE,CAAC,EAAA;EAC5B,IAAA,IAAI,OAAO,CAAC,KAAK,UAAU,IAAI,CAAC,KAAK,IAAI;EACrC,QAAA,MAAM,IAAI,SAAS,CAAC,sBAAsB,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,+BAA+B,CAAC,CAAC;EAC9F,IAAA,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACpB,SAAS,EAAE,KAAK,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,EAAE;EACvC,IAAA,CAAC,CAAC,SAAS,GAAG,CAAC,KAAK,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;EACvF,CAAC;EAEM,IAAI,QAAQ,GAAG,YAAA;MACpB,QAAQ,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,QAAQ,CAAC,CAAC,EAAA;EAC3C,QAAA,KAAK,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;EACjD,YAAA,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;cACjB,KAAK,IAAI,CAAC,IAAI,CAAC;kBAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;sBAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAChF,SAAA;EACD,QAAA,OAAO,CAAC,CAAC;EACb,KAAC,CAAA;MACD,OAAO,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;EACzC,CAAC,CAAA;EAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;MACzB,IAAI,CAAC,GAAG,EAAE,CAAC;MACX,KAAK,IAAI,CAAC,IAAI,CAAC;UAAE,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;cAC/E,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;MAChB,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,MAAM,CAAC,qBAAqB,KAAK,UAAU;UAC/D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;cACpE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;EAC1E,gBAAA,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACzB,SAAA;EACL,IAAA,OAAO,CAAC,CAAC;EACX,CAAC;EAEK,SAAU,UAAU,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAA;EACtD,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;MAC7H,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;EAAE,QAAA,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;;EAC1H,QAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;EAAE,YAAA,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;EAAE,gBAAA,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;EAClJ,IAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;EAChE,CAAC;EAEe,SAAA,OAAO,CAAC,UAAU,EAAE,SAAS,EAAA;EAC3C,IAAA,OAAO,UAAU,MAAM,EAAE,GAAG,EAAA,EAAI,SAAS,CAAC,MAAM,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC,EAAE,CAAA;EACvE,CAAC;EAEe,SAAA,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAA;EACrG,IAAA,SAAS,MAAM,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,OAAO,CAAC,KAAK,UAAU;UAAE,MAAM,IAAI,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE;EACvH,IAAA,IAAI,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,IAAI,KAAK,QAAQ,GAAG,KAAK,GAAG,OAAO,CAAC;MACjG,IAAI,MAAM,GAAG,CAAC,YAAY,IAAI,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;MACxF,IAAI,UAAU,GAAG,YAAY,KAAK,MAAM,GAAG,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;EACzG,IAAA,IAAI,CAAC,EAAE,IAAI,GAAG,KAAK,CAAC;EACpB,IAAA,KAAK,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;UAC7C,IAAI,OAAO,GAAG,EAAE,CAAC;UACjB,KAAK,IAAI,CAAC,IAAI,SAAS;EAAE,YAAA,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,QAAQ,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;EACzE,QAAA,KAAK,IAAI,CAAC,IAAI,SAAS,CAAC,MAAM;EAAE,YAAA,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EACxE,QAAA,OAAO,CAAC,cAAc,GAAG,UAAU,CAAC,EAAA,EAAI,IAAI,IAAI;cAAE,MAAM,IAAI,SAAS,CAAC,wDAAwD,CAAC,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;EAC9K,QAAA,IAAI,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,UAAU,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;UAC/H,IAAI,IAAI,KAAK,UAAU,EAAE;cACrB,IAAI,MAAM,KAAK,KAAK,CAAC;kBAAE,SAAS;EAChC,YAAA,IAAI,MAAM,KAAK,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,iBAAiB,CAAC,CAAC;EAC1F,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;EAAE,gBAAA,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;EAC/C,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC;EAAE,gBAAA,UAAU,CAAC,GAAG,GAAG,CAAC,CAAC;EAC/C,YAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;EAAE,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EACxD,SAAA;EACI,aAAA,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE;cACzB,IAAI,IAAI,KAAK,OAAO;EAAE,gBAAA,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;;EACzC,gBAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAC5B,SAAA;EACJ,KAAA;EACD,IAAA,IAAI,MAAM;UAAE,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;MACtE,IAAI,GAAG,IAAI,CAAC;EACd,CAAC;EAAA,CAAC;WAEc,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAA;EAC5D,IAAA,IAAI,QAAQ,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;EACpC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;EAC1C,QAAA,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAC3F,KAAA;MACD,OAAO,QAAQ,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC;EACnC,CAAC;EAAA,CAAC;EAEI,SAAU,SAAS,CAAC,CAAC,EAAA;EACzB,IAAA,OAAO,OAAO,CAAC,KAAK,QAAQ,GAAG,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EAClD,CAAC;EAAA,CAAC;WAEc,iBAAiB,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAA;MAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ;UAAE,IAAI,GAAG,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,GAAG,EAAE,CAAC;EAC/F,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;EACvH,CAAC;EAAA,CAAC;EAEc,SAAA,UAAU,CAAC,WAAW,EAAE,aAAa,EAAA;MACnD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,UAAU;UAAE,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;EACjI,CAAC;EAEK,SAAU,SAAS,CAAC,OAAO,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAA;EACzD,IAAA,SAAS,KAAK,CAAC,KAAK,EAAA,EAAI,OAAO,KAAK,YAAY,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,UAAU,OAAO,EAAA,EAAI,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;EAC5G,IAAA,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,EAAE,UAAU,OAAO,EAAE,MAAM,EAAA;EACrD,QAAA,SAAS,SAAS,CAAC,KAAK,EAAA,EAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;EAAE,SAAA;EAAC,QAAA,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAAE,SAAA,EAAE;EAC3F,QAAA,SAAS,QAAQ,CAAC,KAAK,EAAA,EAAI,IAAI;cAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;EAAE,SAAA;EAAC,QAAA,OAAO,CAAC,EAAE;cAAE,MAAM,CAAC,CAAC,CAAC,CAAC;EAAE,SAAA,EAAE;EAC9F,QAAA,SAAS,IAAI,CAAC,MAAM,EAAA,EAAI,MAAM,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,EAAE;EAC9G,QAAA,IAAI,CAAC,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;EAC1E,KAAC,CAAC,CAAC;EACL,CAAC;EAEe,SAAA,WAAW,CAAC,OAAO,EAAE,IAAI,EAAA;EACvC,IAAA,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAA,EAAa,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;EAAE,YAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACjH,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,MAAM,KAAK,UAAU,KAAK,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAa,OAAO,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;MACzJ,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,OAAO,UAAU,CAAC,EAAI,EAAA,OAAO,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;MAClE,SAAS,IAAI,CAAC,EAAE,EAAA;EACZ,QAAA,IAAI,CAAC;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,iCAAiC,CAAC,CAAC;EAC9D,QAAA,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;cAAE,IAAI;EAC1C,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI;EAAE,oBAAA,OAAO,CAAC,CAAC;EAC7J,gBAAA,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;EAAE,oBAAA,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC;EACxC,gBAAA,QAAQ,EAAE,CAAC,CAAC,CAAC;EACT,oBAAA,KAAK,CAAC,CAAC;EAAC,oBAAA,KAAK,CAAC;0BAAE,CAAC,GAAG,EAAE,CAAC;0BAAC,MAAM;EAC9B,oBAAA,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;EAAC,wBAAA,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;EACxD,oBAAA,KAAK,CAAC;0BAAE,CAAC,CAAC,KAAK,EAAE,CAAC;EAAC,wBAAA,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;EAAC,wBAAA,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;0BAAC,SAAS;EACjD,oBAAA,KAAK,CAAC;EAAE,wBAAA,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;EAAC,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;EACjD,oBAAA;EACI,wBAAA,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;8BAAE,CAAC,GAAG,CAAC,CAAC;8BAAC,SAAS;EAAE,yBAAA;EAC5G,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;8BAAC,MAAM;EAAE,yBAAA;EACtF,wBAAA,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;8BAAC,CAAC,GAAG,EAAE,CAAC;8BAAC,MAAM;EAAE,yBAAA;0BACrE,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;EAAE,4BAAA,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EAAC,4BAAA,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;8BAAC,MAAM;EAAE,yBAAA;0BACnE,IAAI,CAAC,CAAC,CAAC,CAAC;EAAE,4BAAA,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;EACtB,wBAAA,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;0BAAC,SAAS;EAC9B,iBAAA;kBACD,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;EAC9B,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EAAE,gBAAA,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;kBAAC,CAAC,GAAG,CAAC,CAAC;EAAE,aAAA;EAAS,oBAAA;EAAE,gBAAA,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EAAE,aAAA;EAC1D,QAAA,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;EAAE,YAAA,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;UAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;OACpF;EACH,CAAC;EAEM,IAAI,eAAe,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;MAChE,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,IAAI,IAAI,GAAG,MAAM,CAAC,wBAAwB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;MACjD,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,EAAE;EAC/E,QAAA,IAAI,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,EAAE,YAAA,EAAa,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;EACjE,KAAA;MACD,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,CAAC;EACrC,CAAC,KAAK,UAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAA;MACxB,IAAI,EAAE,KAAK,SAAS;UAAE,EAAE,GAAG,CAAC,CAAC;MAC7B,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACf,CAAC,CAAC,CAAC;EAEa,SAAA,YAAY,CAAC,CAAC,EAAE,CAAC,EAAA;MAC/B,KAAK,IAAI,CAAC,IAAI,CAAC;EAAE,QAAA,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;EAAE,YAAA,eAAe,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAChH,CAAC;EAEK,SAAU,QAAQ,CAAC,CAAC,EAAA;MACxB,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;EAC9E,IAAA,IAAI,CAAC;EAAE,QAAA,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACxB,IAAA,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ;UAAE,OAAO;EAC1C,YAAA,IAAI,EAAE,YAAA;EACF,gBAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM;sBAAE,CAAC,GAAG,KAAK,CAAC,CAAC;EACnC,gBAAA,OAAO,EAAE,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;eAC3C;WACJ,CAAC;EACF,IAAA,MAAM,IAAI,SAAS,CAAC,CAAC,GAAG,yBAAyB,GAAG,iCAAiC,CAAC,CAAC;EACzF,CAAC;EAEe,SAAA,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA;EACzB,IAAA,IAAI,CAAC,GAAG,OAAO,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;EAC3D,IAAA,IAAI,CAAC,CAAC;EAAE,QAAA,OAAO,CAAC,CAAC;EACjB,IAAA,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;MACjC,IAAI;UACA,OAAO,CAAC,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI;EAAE,YAAA,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;EAC9E,KAAA;EACD,IAAA,OAAO,KAAK,EAAE;EAAE,QAAA,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;EAAE,KAAA;EAC/B,YAAA;UACJ,IAAI;EACA,YAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC;EAAE,gBAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACpD,SAAA;EACO,gBAAA;EAAE,YAAA,IAAI,CAAC;kBAAE,MAAM,CAAC,CAAC,KAAK,CAAC;EAAE,SAAA;EACpC,KAAA;EACD,IAAA,OAAO,EAAE,CAAC;EACZ,CAAC;EAED;WACgB,QAAQ,GAAA;EACtB,IAAA,KAAK,IAAI,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE;EAC9C,QAAA,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACzC,IAAA,OAAO,EAAE,CAAC;EACZ,CAAC;EAED;WACgB,cAAc,GAAA;MAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;EAAE,QAAA,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;MACpF,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;UAC5C,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;cAC7D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;EACpB,IAAA,OAAO,CAAC,CAAC;EACX,CAAC;WAEe,aAAa,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAA;EAC1C,IAAA,IAAI,IAAI,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;EAAE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;cACjF,IAAI,EAAE,IAAI,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE;EACpB,gBAAA,IAAI,CAAC,EAAE;EAAE,oBAAA,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;kBACrD,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;EACnB,aAAA;EACJ,SAAA;EACD,IAAA,OAAO,EAAE,CAAC,MAAM,CAAC,EAAE,IAAI,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EAC3D,CAAC;EAEK,SAAU,OAAO,CAAC,CAAC,EAAA;MACvB,OAAO,IAAI,YAAY,OAAO,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC;EACvE,CAAC;WAEe,gBAAgB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAA;MAC7D,IAAI,CAAC,MAAM,CAAC,aAAa;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;EACvF,IAAA,IAAI,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,OAAO,EAAE,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;EAC9D,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAc,EAAA,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;MACtH,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC;UAAE,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,EAAI,EAAA,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;EAC1I,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,IAAI;UAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAAE,KAAA;EAAC,IAAA,OAAO,CAAC,EAAE;UAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAAE,KAAA,EAAE;MAClF,SAAS,IAAI,CAAC,CAAC,EAAA,EAAI,CAAC,CAAC,KAAK,YAAY,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;EACxH,IAAA,SAAS,OAAO,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,EAAE;EAClD,IAAA,SAAS,MAAM,CAAC,KAAK,EAAA,EAAI,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,EAAE;EAClD,IAAA,SAAS,MAAM,CAAC,CAAC,EAAE,CAAC,EAAA,EAAI,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM;EAAE,QAAA,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;EACpF,CAAC;EAEK,SAAU,gBAAgB,CAAC,CAAC,EAAA;MAChC,IAAI,CAAC,EAAE,CAAC,CAAC;EACT,IAAA,OAAO,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;EAC5I,IAAA,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,EAAA,EAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE;EACxI,CAAC;EAEK,SAAU,aAAa,CAAC,CAAC,EAAA;MAC7B,IAAI,CAAC,MAAM,CAAC,aAAa;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,sCAAsC,CAAC,CAAC;MACvF,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;EACnC,IAAA,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,OAAO,QAAQ,KAAK,UAAU,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,GAAG,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,YAAA,EAAc,OAAO,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;MACjN,SAAS,IAAI,CAAC,CAAC,EAAI,EAAA,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,EAAA,EAAI,OAAO,IAAI,OAAO,CAAC,UAAU,OAAO,EAAE,MAAM,EAAI,EAAA,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE;EAChK,IAAA,SAAS,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,UAAS,CAAC,EAAI,EAAA,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,EAAE;EAC9H,CAAC;EAEe,SAAA,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAA;MAC9C,IAAI,MAAM,CAAC,cAAc,EAAE;EAAE,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;EAAE,KAAA;EAAM,SAAA;EAAE,QAAA,MAAM,CAAC,GAAG,GAAG,GAAG,CAAC;EAAE,KAAA;EAC/G,IAAA,OAAO,MAAM,CAAC;EAChB,CAAC;EAAA,CAAC;EAEF,IAAI,kBAAkB,GAAG,MAAM,CAAC,MAAM,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;EACrD,IAAA,MAAM,CAAC,cAAc,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;EACtE,CAAC,IAAI,UAAS,CAAC,EAAE,CAAC,EAAA;EAChB,IAAA,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;EACnB,CAAC,CAAC;EAEI,SAAU,YAAY,CAAC,GAAG,EAAA;EAC9B,IAAA,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU;EAAE,QAAA,OAAO,GAAG,CAAC;MACtC,IAAI,MAAM,GAAG,EAAE,CAAC;MAChB,IAAI,GAAG,IAAI,IAAI;UAAE,KAAK,IAAI,CAAC,IAAI,GAAG;EAAE,YAAA,IAAI,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;EAAE,gBAAA,eAAe,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;EACzI,IAAA,kBAAkB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAChC,IAAA,OAAO,MAAM,CAAC;EAChB,CAAC;EAEK,SAAU,eAAe,CAAC,GAAG,EAAA;EACjC,IAAA,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,IAAI,GAAG,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;EAC1D,CAAC;EAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;EAC7D,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,0EAA0E,CAAC,CAAC;EACnL,IAAA,OAAO,IAAI,KAAK,GAAG,GAAG,CAAC,GAAG,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAChG,CAAC;EAEK,SAAU,sBAAsB,CAAC,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAA;MACpE,IAAI,IAAI,KAAK,GAAG;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;EACxE,IAAA,IAAI,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,+CAA+C,CAAC,CAAC;MAC7F,IAAI,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,yEAAyE,CAAC,CAAC;EAClL,IAAA,OAAO,CAAC,IAAI,KAAK,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,KAAK,CAAC;EAC5G,CAAC;EAEe,SAAA,qBAAqB,CAAC,KAAK,EAAE,QAAQ,EAAA;EACnD,IAAA,IAAI,QAAQ,KAAK,IAAI,KAAK,OAAO,QAAQ,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,UAAU,CAAC;EAAE,QAAA,MAAM,IAAI,SAAS,CAAC,wCAAwC,CAAC,CAAC;EACzJ,IAAA,OAAO,OAAO,KAAK,KAAK,UAAU,GAAG,QAAQ,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;EAChF,CAAC;WAEe,uBAAuB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAA;MACvD,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,KAAK,CAAC,EAAE;UACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,kBAAkB,CAAC,CAAC;EACtG,QAAA,IAAI,OAAO,CAAC;EACZ,QAAA,IAAI,KAAK,EAAE;cACP,IAAI,CAAC,MAAM,CAAC,YAAY;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;EACrF,YAAA,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;EACxC,SAAA;EACD,QAAA,IAAI,OAAO,KAAK,KAAK,CAAC,EAAE;cACpB,IAAI,CAAC,MAAM,CAAC,OAAO;EAAE,gBAAA,MAAM,IAAI,SAAS,CAAC,gCAAgC,CAAC,CAAC;EAC3E,YAAA,OAAO,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;EACnC,SAAA;UACD,IAAI,OAAO,OAAO,KAAK,UAAU;EAAE,YAAA,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;EACjF,QAAA,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;EAClE,KAAA;EACI,SAAA,IAAI,KAAK,EAAE;UACd,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;EACjC,KAAA;EACD,IAAA,OAAO,KAAK,CAAC;EACf,CAAC;EAED,IAAI,gBAAgB,GAAG,OAAO,eAAe,KAAK,UAAU,GAAG,eAAe,GAAG,UAAU,KAAK,EAAE,UAAU,EAAE,OAAO,EAAA;EACnH,IAAA,IAAI,CAAC,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;EAC3B,IAAA,OAAO,CAAC,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC,UAAU,GAAG,UAAU,EAAE,CAAC,CAAC;EACnF,CAAC,CAAC;EAEI,SAAU,kBAAkB,CAAC,GAAG,EAAA;MACpC,SAAS,IAAI,CAAC,CAAC,EAAA;UACb,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,EAAE,0CAA0C,CAAC,GAAG,CAAC,CAAC;EAC9G,QAAA,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC;OACrB;EACD,IAAA,SAAS,IAAI,GAAA;EACX,QAAA,OAAO,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE;cACvB,IAAI,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;cAC1B,IAAI;EACF,gBAAA,IAAI,MAAM,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;kBACxD,IAAI,GAAG,CAAC,KAAK;sBAAE,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,UAAS,CAAC,EAAI,EAAA,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;EACnG,aAAA;EACD,YAAA,OAAO,CAAC,EAAE;kBACN,IAAI,CAAC,CAAC,CAAC,CAAC;EACX,aAAA;EACF,SAAA;UACD,IAAI,GAAG,CAAC,QAAQ;cAAE,MAAM,GAAG,CAAC,KAAK,CAAC;OACnC;MACD,OAAO,IAAI,EAAE,CAAC;EAChB,CAAC;AAED,kBAAe;EACb,IAAA,SAAS,EAAA,SAAA;EACT,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,MAAM,EAAA,MAAA;EACN,IAAA,UAAU,EAAA,UAAA;EACV,IAAA,OAAO,EAAA,OAAA;EACP,IAAA,UAAU,EAAA,UAAA;EACV,IAAA,SAAS,EAAA,SAAA;EACT,IAAA,WAAW,EAAA,WAAA;EACX,IAAA,eAAe,EAAA,eAAA;EACf,IAAA,YAAY,EAAA,YAAA;EACZ,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,MAAM,EAAA,MAAA;EACN,IAAA,QAAQ,EAAA,QAAA;EACR,IAAA,cAAc,EAAA,cAAA;EACd,IAAA,aAAa,EAAA,aAAA;EACb,IAAA,OAAO,EAAA,OAAA;EACP,IAAA,gBAAgB,EAAA,gBAAA;EAChB,IAAA,gBAAgB,EAAA,gBAAA;EAChB,IAAA,aAAa,EAAA,aAAA;EACb,IAAA,oBAAoB,EAAA,oBAAA;EACpB,IAAA,YAAY,EAAA,YAAA;EACZ,IAAA,eAAe,EAAA,eAAA;EACf,IAAA,sBAAsB,EAAA,sBAAA;EACtB,IAAA,sBAAsB,EAAA,sBAAA;EACtB,IAAA,qBAAqB,EAAA,qBAAA;EACrB,IAAA,uBAAuB,EAAA,uBAAA;EACvB,IAAA,kBAAkB,EAAA,kBAAA;GACnB;;AClUD,MAAA,gBAAA,kBAAA,YAAA;EAhCA,IAAA,SAAA,gBAAA,GAAA;EAiHS,QAAA,IAAe,CAAA,eAAA,GAAW,MAAM,CAAC;EAGjC,QAAA,IAAgB,CAAA,gBAAA,GAAW,OAAO,CAAC;EAGnC,QAAA,IAAuB,CAAA,uBAAA,GAAW,eAAe,CAAC;EAGlD,QAAA,IAAiB,CAAA,iBAAA,GAAW,QAAQ,CAAC;EAGrC,QAAA,IAAA,CAAA,QAAQ,GAAyB,IAAIA,eAAY,EAAU,CAAC;EAG5D,QAAA,IAAA,CAAA,WAAW,GAA6B,IAAIA,eAAY,EAAc,CAAC;EAOvE,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK,CAAC;EACpC,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;EAE9B,QAAA,IAAa,CAAA,aAAA,GAAY,KAAK,CAAC;EAE/B,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;OAkHxC;EAtKC,IAAA,MAAA,CAAA,cAAA,CACW,gBAAG,CAAA,SAAA,EAAA,KAAA,EAAA;EAOd,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,IAAI,CAAC;WAClB;EA9DD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmDG;EACH,QAAA,GAAA,EAAA,UACe,KAAU,EAAA;EACvB,YAAA,IAAI,KAAK,EAAE;EACT,gBAAA,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;kBAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;EACjB,aAAA;WACF;;;EAAA,KAAA,CAAA,CAAA;EAqCM,IAAA,gBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;MAaM,gBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,GAAW,EAAA;UACnC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;EAChD,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;UAC1B,IAAI,CAAC,QAAQ,EAAE,CAAC;OACjB,CAAA;MAEM,gBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,GAAW,EAAA;UACpC,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;EACjD,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;UAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;OACjB,CAAA;EAEa,IAAA,gBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;;;;;;;0BAEZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;EAExB,wBAAA,EAAA,GAAA,IAAI,CAAA;EAAU,wBAAA,OAAA,CAAA,CAAA,YAAMC,kBAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;EAC9C,gCAAA,cAAc,EAAE,KAAK;EACtB,6BAAA,CAAC,CAAA,CAAA;;0BAFF,EAAK,CAAA,MAAM,GAAG,EAAA,CAAA,IAAA,EAEZ,CAAC;EACgB,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAA,CAAA;;EAA9D,wBAAA,UAAU,GAAG,EAAiD,CAAA,IAAA,EAAA,CAAA;0BACpE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,UAAU,CAAC;;;;EAC5C,SAAA,CAAA,CAAA;OAAA,CAAA;EAEa,IAAA,gBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;;;;;;gCACR,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,aAAa,CAAA,EAAzC,OAAyC,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;EAE5B,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAA,CAAA;;EAAzC,wBAAA,MAAM,GAAG,EAAgC,CAAA,IAAA,EAAA,CAAA;EAC/C,wBAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;;;;;EAE9B,SAAA,CAAA,CAAA;OAAA,CAAA;EAEa,IAAA,gBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;;;;;;EAEZ,wBAAA,IAAI,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC;EACvC,4BAAA,OAAQ,MAAc,CAAC,YAAY,KAAK,QAAQ;8BAC/C,MAAc,CAAC,YAAY,EAAE;EAC9B,4BAAA,YAAY,GAAI,MAAc,CAAC,YAAY,CAAC;EAC7C,yBAAA;EACI,6BAAA;8BACH,YAAY,GAAGC,+BAAW,CAAC;EAC5B,yBAAA;EACD,wBAAAC,gBAAK,CAAC,mBAAmB,CAAC,SAAS,GAAG,YAAY,CAAC;0BACjC,OAAM,CAAA,CAAA,YAAAA,gBAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAA,CAAA;;EAAtD,wBAAA,SAAS,GAAG,EAA0C,CAAA,IAAA,EAAA,CAAA;EACtD,wBAAA,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;EAC3B,wBAAA,CAAC,GAAG,CAAC,CAAA;;;gCAAE,CAAC,GAAG,QAAQ,CAAA,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;0BACb,OAAM,CAAA,CAAA,YAAA,SAAS,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA,CAAA;;EAArC,wBAAA,IAAI,GAAG,EAA8B,CAAA,IAAA,EAAA,CAAA;EAC9B,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,cAAc,EAAE,CAAA,CAAA;;EAAlC,wBAAA,IAAI,GAAG,EAA2B,CAAA,IAAA,EAAA,CAAA;0BACxC,IAAI,CAAC,OAAO,EAAE,CAAC;0BACf,IAAI,IAAI,CAAC,mBAAmB,EAAE;EAC5B,4BAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;EACnF,4BAAA,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;EACvE,gCAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;EAC/B,gCAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;EAC1B,6BAAA;EACF,yBAAA;0BACD,IAAI,IAAI,CAAC,oBAAoB,EAAE;EAC7B,4BAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;EACrF,4BAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE;EACzE,gCAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC;EAChC,gCAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;EAC3B,6BAAA;EACF,yBAAA;;;EAjB2B,wBAAA,CAAC,EAAE,CAAA;;;;;EAmBlC,SAAA,CAAA,CAAA;OAAA,CAAA;EAEO,IAAA,gBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,UAAsB,QAAa,EAAE,cAAsB,EAAA;UACjE,IAAM,OAAO,GAAuB,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,UAAC,CAAM,EAAA,EAAK,OAAA,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,cAAc,CAAC,WAAW,EAAE,CAAA,EAAA,CAAC,CAAC;EAC1H,QAAA,IAAI,OAAO,EAAE;EACX,YAAA,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;cACzD,OAAO;EACL,gBAAA,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;EACvB,gBAAA,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;kBACvB,KAAK,EAAE,OAAO,CAAC,KAAK;kBACpB,MAAM,EAAE,OAAO,CAAC,MAAM;EACtB,gBAAA,IAAI,EAAE,CAAC;eACR,CAAC;EACH,SAAA;UACD,OAAO,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAA;OAClD,CAAA;EAEa,IAAA,gBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,UAAe,GAAW,EAAE,UAAyB,EAAA;;;;;8BAChD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA,CAAA;;EAA1C,wBAAA,QAAQ,GAAG,EAA+B,CAAA,IAAA,EAAA,CAAA;0BACnC,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA,CAAA;;EAAjD,wBAAA,IAAI,GAAG,EAA0C,CAAA,IAAA,EAAA,CAAA;EACvD,wBAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE;8BACvB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;8BACxD,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC;EACzD,4BAAA,KAAK,EAAE,GAAG;EACV,4BAAA,MAAM,EAAE,GAAG;EACZ,yBAAA,CAAC,CAAC;;;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEO,gBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,OAAY,EAAA;EACjC,QAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;EAC/B,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;EAC3B,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;EACrB,SAAA;OACF,CAAA;MAEO,gBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,MAAc,EAAA;UAChC,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EACxC,QAAA,IAAI,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC;EAC/B,QAAA,IAAI,KAAK,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;UAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;cAC5B,KAAK,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;EACxC,SAAA;EACD,QAAA,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;OACnB,CAAA;;;;EA7PF,IAAA,EAAA,IAAA,EAAAC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,YAAY;EACtB,gBAAA,QAAQ,EAAE,mhCAoBT;EACD,gBAAA,UAAU,EAAE;sBACVC,kBAAO,CAAC,mBAAmB,EAAE;0BAC3BC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,SAAS,EAAE,gCAAgC,EAAC,CAAC,CAAC;0BACnED,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAC,SAAS,EAAE,gCAAgC,EAAC,CAAC,CAAC;EAChE,wBAAAC,qBAAU,CAAC,YAAY,EAAEC,kBAAO,CAAC,mBAAmB,CAAC,CAAC;uBACvD,CAAC;EACH,iBAAA;kBACD,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;EAEE,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,YAAS,SAAC,QAAQ,EAAE,EAAE,IAAI,EAAEC,aAAU,EAAE,EAAA,EAAA,CAAA;oBAuDxCC,QAAK,EAAA,CAAA;oCAYLA,QAAK,EAAA,CAAA;oCAGLA,QAAK,EAAA,CAAA;qCAGLA,QAAK,EAAA,CAAA;qCAGLA,QAAK,EAAA,CAAA;gCAGLA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;wCAGLA,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;yBAGLC,SAAM,EAAA,CAAA;4BAGNA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,kBAAkB,EAAA,EAAA,CAAA;;;AC5HjC,MAAA,kBAAA,kBAAA,YAAA;EAlBA,IAAA,SAAA,kBAAA,GAAA;EA8BS,QAAA,IAAe,CAAA,eAAA,GAAW,MAAM,CAAC;EAGjC,QAAA,IAAgB,CAAA,gBAAA,GAAW,OAAO,CAAC;EAGnC,QAAA,IAAA,CAAA,IAAI,GAAyB,IAAIf,eAAY,EAAU,CAAC;OA0ChE;EA3DC,IAAA,MAAA,CAAA,cAAA,CAAgD,kBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EAAvD,QAAA,GAAA,EAAA,UAAwD,OAAmB,EAAA;EACzE,YAAA,IAAI,OAAO,EAAE;EACX,gBAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC;kBAC/B,IAAI,CAAC,WAAW,EAAE,CAAC;EACpB,aAAA;WACF;;;EAAA,KAAA,CAAA,CAAA;EAeM,IAAA,kBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;MAKM,kBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,KAAiB,EAAA;;;UAGjC,IAAM,GAAG,GAAW,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;;EAE1D,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;OACrB,CAAA;MAEM,kBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAiB,EAAA;UAClC,IAAI,IAAI,CAAC,SAAS,EAAE;EAClB,YAAA,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;EACxB,SAAA;OACF,CAAA;EAEO,IAAA,kBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UAAA,IAOP,KAAA,GAAA,IAAA,CAAA;UANC,IAAI,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE;EAC9D,YAAA,IAAI,CAAC,SAAS,GAAG,IAAIgB,gCAAY,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC;EACtE,YAAA,UAAU,CAAC,YAAA;kBACT,KAAI,CAAC,sBAAsB,CAAC,KAAI,CAAC,SAAS,EAAE,KAAI,CAAC,eAAe,CAAC,CAAC;EACpE,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;EAEO,IAAA,kBAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,UAAuB,SAAuB,EAAE,eAA2B,EAAA;EACjF,QAAA,IAAM,iBAAiB,GAAW,SAAS,CAAC,SAAS,EAAE,CAAC;EACxD,QAAA,IAAM,KAAK,GAAW,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;EAChE,QAAA,eAAe,CAAC,aAAa,CAAC,KAAK,GAAG,eAAe,CAAC,aAAa,CAAC,WAAW,GAAG,KAAK,CAAC;EACxF,QAAA,eAAe,CAAC,aAAa,CAAC,MAAM,GAAG,eAAe,CAAC,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC;EAC1F,QAAA,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;EACnE,QAAA,SAAS,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC;OAC1C,CAAA;;;;EA5EF,IAAA,EAAA,IAAA,EAAAZ,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,cAAc;EACxB,gBAAA,QAAQ,EAAE,ugBAaT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;EAEE,IAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,YAAS,SAAC,WAAW,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;sBAOzCC,QAAK,EAAA,CAAA;gCAGLA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;qBAGLC,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,oBAAoB,EAAA,EAAA,CAAA;;;ACvBnC,MAAA,mBAAA,kBAAA,YAAA;EAhBA,IAAA,SAAA,mBAAA,GAAA;EAmBS,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK,CAAC;EAMpC,QAAA,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;EAMrC,QAAA,IAAe,CAAA,eAAA,GAAW,MAAM,CAAC;EAGjC,QAAA,IAAgB,CAAA,gBAAA,GAAW,OAAO,CAAC;EAGnC,QAAA,IAAA,CAAA,kBAAkB,GAAyB,IAAIf,eAAY,EAAU,CAAC;EAGtE,QAAA,IAAA,CAAA,mBAAmB,GAAyB,IAAIA,eAAY,EAAU,CAAC;OAO/E;EAJQ,IAAA,mBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;;EA7CF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,eAAe;EACzB,gBAAA,QAAQ,EAAE,mmBAWT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;mCAGEG,QAAK,EAAA,CAAA;oCAGLA,QAAK,EAAA,CAAA;oCAGLA,QAAK,EAAA,CAAA;qCAGLA,QAAK,EAAA,CAAA;gCAGLA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;mCAGLC,SAAM,EAAA,CAAA;oCAGNA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,qBAAqB,EAAA,EAAA,CAAA;;;ACzBpC,MAAA,aAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,aAAA,GAAA;;;;;EAbC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;EACb,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,gBAAgB;sBAChB,kBAAkB;sBAClB,mBAAmB;EACpB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,gBAAgB;EACjB,iBAAA;EACF,aAAA,EAAA,EAAA;;;AClBWC,0BAKX;EALD,CAAA,UAAY,YAAY,EAAA;EACtB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;EACf,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,OAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,OAAgB,CAAA;EAChB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,OAAgB,CAAA;EAClB,CAAC,EALWA,cAAY,KAAZA,cAAY,GAKvB,EAAA,CAAA,CAAA;;ECLD;EACA,IAAA,WAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,WAAA,GAAA;OA+FC;EA7FC;;;;;;;;;;;;;;EAcG;EACW,IAAA,WAAA,CAAA,oBAAoB,GAA3B,UAA4B,MAAc,EAAE,WAAmB,EAAA;UAAE,IAA6B,gBAAA,GAAA,EAAA,CAAA;eAA7B,IAA6B,EAAA,GAAA,CAAA,EAA7B,EAA6B,GAAA,SAAA,CAAA,MAAA,EAA7B,EAA6B,EAAA,EAAA;cAA7B,gBAA6B,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;;EAEnG,QAAA,IAAI,EAAE,MAAM,CAAC,EAAE;EACb,YAAA,OAAO,SAAS,CAAC;EAClB,SAAA;UACD,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;EACjD,YAAA,OAAO,MAAM,CAAC;EACf,SAAA;UACD,IAAI,SAAS,GAAW,MAAM,CAAC;;EAE/B,QAAA,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;;EAEjC,YAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;EACjE,SAAA;EAAM,aAAA;;EAEL,YAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;EAC3E,gBAAA,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;EACjE,aAAA;EACF,SAAA;EACD,QAAA,OAAO,SAAS,CAAC;OAClB,CAAA;;EAGa,IAAA,WAAA,CAAA,WAAW,GAAlB,UAAmB,GAAQ,EAAE,YAAyB,EAAA;EAAzB,QAAA,IAAA,YAAA,KAAA,KAAA,CAAA,EAAA,EAAA,YAAyB,GAAA,EAAA,CAAA,EAAA;EAC3D,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;cAC9B,IAAI,GAAG,IAAI,OAAO,GAAG,CAAC,QAAQ,KAAK,UAAU,EAAE;EAC7C,gBAAA,GAAG,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;EACtB,aAAA;EAAM,iBAAA;kBACL,GAAG,GAAG,YAAY,CAAC;EACpB,aAAA;EACF,SAAA;EACD,QAAA,OAAO,GAAG,CAAC;OACZ,CAAA;MAEa,WAAQ,CAAA,QAAA,GAAf,UAAgB,GAAQ,EAAA;EAC7B,QAAA,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC;OAChC,CAAA;;MAGa,WAAkB,CAAA,kBAAA,GAAzB,UAA0B,GAAW,EAAA;EAC1C,QAAA,OAAO,GAAG,IAAI,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC;OAC3D,CAAA;EAED;;;;;;;;;;;;;EAaG;EACW,IAAA,WAAA,CAAA,MAAM,GAAb,UAAc,GAAW,EAAE,MAAa,EAAA;EAC7C,QAAA,IAAM,IAAI,GAAQ,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;UACrD,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,UAAU,KAAU,EAAE,MAAW,EAAA;EAC9D,YAAA,OAAO,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,WAAW,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;EAChG,SAAC,CAAC,CAAC;OACJ,CAAA;;EAGa,IAAA,WAAA,CAAA,eAAe,GAAtB,UAAuB,GAAW,EAAE,MAAc,EAAA;EACvD,QAAA,IAAI,GAAG,EAAE;cACP,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;EAClC,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,GAAG,CAAC;EACZ,SAAA;OACF,CAAA;;MAGc,WAAa,CAAA,aAAA,GAApB,UAAqB,GAAW,EAAA;UACtC,OAAO,GAAG,CAAC;OACZ,CAAA;MAEF,OAAA,WAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;EChGD,IAAA,UAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,UAAA,GAAA;UACS,IAAA,CAAA,OAAO,GAAO;EACnB,YAAA,IAAI,EAAE,EAAE;EACR,YAAA,IAAI,EAAE,EAAE;EACR,YAAA,IAAI,EAAE,EAAE;EACR,YAAA,IAAI,EAAE,EAAE;WACT,CAAC;OACH;MAAA,OAAA,UAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECFD;AAIA,MAAA,iBAAA,kBAAA,YAAA;EAuBE,IAAA,SAAA,iBAAA,GAAA;EAtBiB,QAAA,IAAa,CAAA,aAAA,GAAW,4BAA4B,CAAC;;EAgB9D,QAAA,IAAA,CAAA,aAAa,GAA2C,IAAI,GAAG,EAAqC,CAAC;;EAI5F,QAAA,IAAY,CAAA,YAAA,GAAW,IAAI,CAAC;OAI5C;EAtBD,IAAA,MAAA,CAAA,cAAA,CAAW,iBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAAnB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,SAAS,CAAC;WACvB;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CAAW,iBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EAAlB,QAAA,GAAA,EAAA,UAAmB,KAAa,EAAA;EAC9B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;EACtB,YAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,GAAG,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;WAC/D;;;EAAA,KAAA,CAAA,CAAA;;MAkBY,iBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,QAAgB,EAAA;;;kBACzC,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAIA,cAAY,CAAC,KAAK,CAAC;kBAChD,IAAI,CAAC,eAAe,EAAE,CAAC;;;EACxB,SAAA,CAAA,CAAA;OAAA,CAAA;EAEO,IAAA,iBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACN,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;EAC3C,YAAA,IAAM,UAAU,GAAe,IAAI,UAAU,EAAE,CAAC;;cAEhD,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,SAAS,EAAE;;EAE/E,gBAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;EACvG,aAAA;EACF,SAAA;OACF,CAAA;EAED;;;;;;EAMG;EACI,IAAA,iBAAA,CAAA,SAAA,CAAA,GAAG,GAAH,UAAI,GAAW,EAAE,cAA8B,EAAA;EAA9B,QAAA,IAAA,cAAA,KAAA,KAAA,CAAA,EAAA,EAAA,cAA8B,GAAA,IAAA,CAAA,EAAA;UAAE,IAA6B,gBAAA,GAAA,EAAA,CAAA;eAA7B,IAA6B,EAAA,GAAA,CAAA,EAA7B,EAA6B,GAAA,SAAA,CAAA,MAAA,EAA7B,EAA6B,EAAA,EAAA;cAA7B,gBAA6B,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;EACnF,QAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE;cACxC,OAAO,GAAG,IAAI,EAAE,CAAC;EAClB,SAAA;EAED,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;EAC/B,YAAA,IAAI,CAAC,SAAS,GAAGA,cAAY,CAAC,KAAK,CAAC;cACpC,IAAI,CAAC,eAAe,EAAE,CAAC;EACxB,SAAA;EAED,QAAA,IAAI,IAAI,GAAW,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;EAC9D,QAAA,IAAI,GAAG,WAAW,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;EAEzD,QAAA,IAAI,cAAc,EAAE;EAClB,YAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACrD,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACrD,SAAA;EAED,QAAA,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;EAC/B,YAAA,IAAI,GAAG,WAAW,CAAC,oBAAoB,OAAhC,WAAW,EAAA,aAAA,CAAA,CAAsB,IAAI,EAAE,IAAI,CAAC,YAAY,CAAK,EAAA,MAAA,CAAA,gBAAgB,GAAC,CAAC;EACvF,SAAA;EAED,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;;;EA9EF,IAAA,EAAA,IAAA,EAAAC,aAAU,EAAC,IAAA,EAAA,CAAA;EACV,gBAAA,UAAU,EAAE,MAAM;EACnB,aAAA,EAAA,EAAA;;;;ECND,IAAA,cAAA,kBAAA,UAAA,MAAA,EAAA;MAAoC,SAAO,CAAA,cAAA,EAAA,MAAA,CAAA,CAAA;EAA3C,IAAA,SAAA,cAAA,GAAA;;OAEC;MAAA,OAAA,cAAA,CAAA;EAAA,CAFD,CAAoCC,eAAO,CAE1C,CAAA;;ACID,MAAA,cAAA,kBAAA,YAAA;EAgBE,IAAA,SAAA,cAAA,CAAoB,WAA8B,EAAA;EAA9B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;UAd3C,IAAA,CAAA,kBAAkB,GAA6B,IAAIC,oBAAe,CAAU,KAAK,CAAC,CAAC;UAUnF,IAAA,CAAA,aAAa,GAA6B,IAAIA,oBAAe,CAAC,KAAK,CAAC,CAAC;OAK3E;EAbD,IAAA,MAAA,CAAA,cAAA,CAAW,cAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EAIlB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,QAAQ,CAAC;WACtB;EAND,QAAA,GAAA,EAAA,UAAmB,KAAU,EAAA;EAC3B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;WACvB;;;EAAA,KAAA,CAAA,CAAA;MAaY,cAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,GAAQ,EAAA;;;EAC5C,gBAAA,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;EACjB,oBAAA,IAAI,CAAC,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;EACrC,iBAAA;EACD,gBAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;EAChD,gBAAA,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;EAC/B,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,cAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,OAAY,EAAA;;;;;EAC9B,wBAAA,IAAA,CAAA,OAAO,EAAP,OAAO,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;EACT,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAA,CAAA;;EAA5C,wBAAA,EAAA,CAAA,IAAA,EAA4C,CAAC;EAC7C,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA,CAAA;;EAA/D,wBAAA,EAAA,CAAA,IAAA,EAA+D,CAAC;EAChE,wBAAA,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;;;;EAEtC,SAAA,CAAA,CAAA;OAAA,CAAA;;;;;EApCF,IAAA,EAAA,IAAA,EAAAF,aAAU,EAAC,IAAA,EAAA,CAAA;EACV,gBAAA,UAAU,EAAE,MAAM;EACnB,aAAA,EAAA,EAAA;;;cALO,iBAAiB,EAAA;;;AC6BzB,MAAA,sBAAA,kBAAA,YAAA;EAQE,IAAA,SAAA,sBAAA,CACU,eAA+B,EAAA;EAA/B,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;EAJjC,QAAA,IAAA,CAAA,UAAU,GAA0B,IAAIG,2CAAqB,EAAE,CAAC;OAMvE;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;;;;;EACX,wBAAA,IAAI,CAAC,eAAe,GAAG,IAAIC,mBAAS,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;EACnE,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAA,CAAA;;EAApC,wBAAA,EAAA,CAAA,IAAA,EAAoC,CAAC;EACrC,wBAAA,IAAI,CAAC,gBAAgB,GAAG,IAAIC,iBAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;EACnE,wBAAA,IAAI,CAAC,aAAa,GAAG,IAAIC,eAAO,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;;;;EAChE,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,MAAc,EAAE,MAAgB,EAAA;;;;;8BAClB,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,aAAa,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA,CAAA;;EAApG,wBAAA,QAAQ,GAA4B,EAAgE,CAAA,IAAA,EAAA,CAAA;EAC1G,wBAAA,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE;EAChC,4BAAA,OAAA,CAAA,CAAA,aAAO,IAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,uCAAmB,EAAE,QAAQ,CAAC,aAAa,CAA0B,CAAC,CAAA;EACjI,yBAAA;;;;EACF,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;;kBAYZ,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;0BACrD,OAAO,KAAI,CAAC,aAAa,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAC/E,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,YAAY,EAAE;EACvB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,kBAAO,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;EAC3F,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;;kBAYZ,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;0BACrD,OAAO,KAAI,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAC9E,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;EACrD,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,wBAAU,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;EACrG,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;;kBAYZ,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,eAAe,CAAC,mBAAmB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAAW,EAAA;8BAC1E,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;EAC/B,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,wBAAwB,GAAxB,UAAyB,cAAsB,EAAE,QAAgB,EAAE,QAAgB,EAAA;;kBAY/F,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,UAAC,MAAW,EAAA;8BAClG,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;EAC/B,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,QAAqB,EAAE,WAAoB,EAAA;;kBAYvE,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,aAAa,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,MAAW,EAAA;8BAChF,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,0BAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;EAChG,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,EAAU,EAAE,SAAyB,EAAA;EAAzB,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAAyB,GAAA,IAAA,CAAA,EAAA;;kBAUpE,KAAA,GAAA,IAAA,CAAA;;EATC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAC/F,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;EAC9D,gCAAA,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;EAC9C,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8BY,sBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,OAA+B,EAAA;;kBAY3D,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BACzF,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;EAC9D,gCAAA,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE;EAC7E,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,8BAAc,EAAE,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC;EAC/G,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAA;EACJ,qBAAC,CAAC,CAAA,CAAA;;EACH,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,sBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,IAAkB,EAAA;;kBAYlD,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAC1F,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,4BAAc,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;EACnG,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,sBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,MAAc,EAAE,QAAiB,EAAE,eAAwB,EAAE,WAAoB,EAAA;;kBAY/G,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAClI,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,YAAY,EAAE;EACvB,oCAAA,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;EAC9B,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,sBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,GAAW,EAAA;;kBAYtC,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BACpF,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,YAAY,EAAE;EACvB,oCAAA,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;EAC9B,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,sBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,OAA+B,EAAA;;kBAY1D,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAC/F,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,sDAAyB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;EAC9G,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;;kBAYZ,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;0BACrD,OAAO,KAAI,CAAC,gBAAgB,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAC/F,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACA,sDAAyB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;EAC9G,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,sBAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,WAAmB,EAAA;;kBAY3D,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BACzG,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,8BAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;EAClG,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA4CY,sBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,IAA4B,EAAA;;kBAY1D,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BACxF,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,kCAAgB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;EACrG,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,sBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,IAAsB,EAAA;;kBAWvD,KAAA,GAAA,IAAA,CAAA;;EAVC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;0BACrD,OAAO,KAAI,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAO,MAA+B,EAAI,EAAA,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;gDACjG,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAA,EAA1D,OAA0D,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;EAC5D,wCAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,MAAM,EAAE,CAAA,CAAA;;EAAnB,wCAAA,EAAA,CAAA,IAAA,EAAmB,CAAC;0CACpB,OAAO,CAAC,IAAI,CAAC,CAAC;;;EAEd,wCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;;;;;2BAE7C,CAAA,CAAA,EAAA,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MACY,sBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,IAA4B,EAAA;;kBAW3D,KAAA,GAAA,IAAA,CAAA;;EAVC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;0BACrD,OAAO,KAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAO,MAA+B,EAAI,EAAA,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;;;gDAC/F,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,CAAA,EAA1D,OAA0D,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;EAC5D,wCAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,MAAM,EAAE,CAAA,CAAA;;EAAnB,wCAAA,EAAA,CAAA,IAAA,EAAmB,CAAC;0CACpB,OAAO,CAAC,IAAI,CAAC,CAAC;;;EAEd,wCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;;;;;2BAE7C,CAAA,CAAA,EAAA,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAGY,IAAA,sBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;;kBAYZ,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;0BACrD,OAAO,KAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAChF,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,0BAAW,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;EAChG,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;;;;;;;;;;;;;;MAgBY,sBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,IAAwB,EAAA;;kBAY1D,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAC5F,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,KAAI,CAAC,UAAU,CAAC,kCAAkC,CAACC,wCAAoB,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;EACzG,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,sBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,MAAc,EAAE,eAAuB,EAAA;;kBAYpE,KAAA,GAAA,IAAA,CAAA;;EAXC,gBAAA,OAAA,CAAA,CAAA,aAAO,IAAI,OAAO,CAAC,UAAC,OAAiB,EAAE,MAAgB,EAAA;EACrD,wBAAA,OAAO,KAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,IAAI,CAAC,UAAC,MAA+B,EAAA;8BAC1G,IAAI,MAAM,CAAC,gBAAgB,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE;kCAC9D,IAAI,MAAM,CAAC,aAAa,EAAE;EACxB,oCAAA,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;EAC/B,iCAAA;EACF,6BAAA;EAAM,iCAAA;EACL,gCAAA,MAAM,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC;EAC3C,6BAAA;EACH,yBAAC,CAAC,CAAC;EACL,qBAAC,CAAC,CAAC,CAAA;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;EACL,QAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC;OACvC,CAAA;;;;;EA1XF,IAAA,EAAA,IAAA,EAAAjB,aAAU,EAAC,IAAA,EAAA,CAAA;EACV,gBAAA,UAAU,EAAE,MAAM;EACnB,aAAA,EAAA,EAAA;;;cAhBO,cAAc,EAAA;;;ACUtB,MAAA,YAAA,kBAAA,YAAA;EAOE,IAAA,SAAA,YAAA,CACU,cAAsC,EAAA;EAAtC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAwB;EAHhC,QAAA,IAAA,CAAA,iBAAiB,GAA4C,IAAIpB,eAAY,EAA6B,CAAA;OAKzH;;;;;;;MAUY,YAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,IAA4B,EAAA;;;;8BAChD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA,CAAA;EAAtD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAA+C,CAAC,CAAA;;;EACxD,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,YAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,IAAkB,EAAA;;;;8BAC1C,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAA,CAAA;EAA1D,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAmD,CAAC,CAAA;;;EAC5D,SAAA,CAAA,CAAA;OAAA,CAAA;;;;MAMY,YAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,IAA4B,EAAA;;;;8BAClD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA,CAAA;EAAxD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAiD,CAAC,CAAA;;;EAC1D,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,YAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,IAAsB,EAAA;;;;8BAC/C,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA,CAAA;EAA3D,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAoD,CAAC,CAAA;;;EAC7D,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,YAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;;;;EACJ,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,cAAc,CAAC,cAAc,EAAE,CAAA,CAAA;EAAjD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAA0C,CAAC,CAAA;;;EACnD,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,YAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,MAAc,EAAE,QAAiB,EAAE,eAAwB,EAAE,WAAoB,EAAA;;;;EACvG,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,cAAc,CAAC,iBAAiB,CAAC,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,WAAW,CAAC,CAAA,CAAA;EAAlG,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAA2F,CAAC,CAAA;;;EACpG,SAAA,CAAA,CAAA;OAAA,CAAA;;;;EAMY,IAAA,YAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;;;;EACJ,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,cAAc,CAAC,4BAA4B,EAAE,CAAA,CAAA;EAA/D,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAwD,CAAC,CAAA;;;EACjE,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,YAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,WAAmB,EAAA;;;;8BACnD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAA,CAAA;EAAzE,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAkE,CAAC,CAAA;;;EAC3E,SAAA,CAAA,CAAA;OAAA,CAAA;;;;;;;;;;MAcY,YAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,IAAwB,EAAA;;;;8BAClD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA,CAAA;EAA5D,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAqD,CAAC,CAAA;;;EAC9D,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,YAAA,CAAA,SAAA,CAAA,aAAa,GAAb,UAAc,MAAc,EAAE,eAAuB,EAAA;;;;8BACzD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAA,CAAA;EAA1E,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAmE,CAAC,CAAA;;;EAC5E,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,YAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,IAA4B,EAAA;;;;8BACnD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA,CAAA;EAAzD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAkD,CAAC,CAAA;;;EAC3D,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,YAAA,CAAA,SAAA,CAAA,MAAM,GAAN,YAAA;EACL,QAAA,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;OACrC,CAAA;MAEY,YAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,GAAW,EAAA;;;;8BAC9B,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,CAAA,CAAA;EAApD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAA6C,CAAC,CAAA;;;EACtD,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,YAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,OAA+B,EAAA;;;;8BAClD,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA,CAAA;EAAxD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAiD,CAAC,CAAA;;;EAC1D,SAAA,CAAA,CAAA;OAAA,CAAA;;;;;EAjGF,IAAA,EAAA,IAAA,EAAAoB,aAAU,EAAC,IAAA,EAAA,CAAA;EACV,gBAAA,UAAU,EAAE,MAAM;EACnB,aAAA,EAAA,EAAA;;;cAVO,sBAAsB,EAAA;;;ECb9B,IAAAkB,aAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,WAAA,GAAA;OACC;MAAA,OAAA,WAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ACGD,MAAA,eAAA,kBAAA,YAAA;EADA,IAAA,SAAA,eAAA,GAAA;EAUY,QAAA,IAAA,CAAA,YAAY,GAAgB,IAAIA,aAAW,EAAE,CAAC;OAczD;EAtBG,IAAA,MAAA,CAAA,cAAA,CAAW,eAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EAItB,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,YAAY,CAAC;WAC5B;EAND,QAAA,GAAA,EAAA,UAAuB,KAAkB,EAAA;EACrC,YAAA,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,IAAIA,aAAW,EAAE,EAAE,KAAK,CAAC,CAAC;WAC/D;;;EAAA,KAAA,CAAA,CAAA;EAQM,IAAA,eAAA,CAAA,SAAA,CAAA,GAAG,GAAH,UAAI,GAAW,EAAE,cAA8B,EAAA;EAA9B,QAAA,IAAA,cAAA,KAAA,KAAA,CAAA,EAAA,EAAA,cAA8B,GAAA,IAAA,CAAA,EAAA;UAAE,IAA6B,gBAAA,GAAA,EAAA,CAAA;eAA7B,IAA6B,EAAA,GAAA,CAAA,EAA7B,EAA6B,GAAA,SAAA,CAAA,MAAA,EAA7B,EAA6B,EAAA,EAAA;cAA7B,gBAA6B,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;UACjF,IAAI,IAAI,GAAW,GAAG,CAAC;UACvB,IAAI,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;cACtC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;EAC3C,YAAA,IAAI,cAAc,EAAE;EAChB,gBAAA,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACvD,aAAA;EACJ,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;EACjC,SAAA;EACD,QAAA,OAAO,IAAI,CAAC;OACf,CAAA;;;;cAvBJlB,aAAU,EAAA;;;AC8DX,MAAA,cAAA,kBAAA,YAAA;MA4DE,SACU,cAAA,CAAA,aAA2B,EAC3B,eAA+B,EAC/B,WAA8B,EAC9B,eAAkC,EAClC,gBAAiC,EACjC,UAAkC,EAAA;UAN5C,IAWC,KAAA,GAAA,IAAA,CAAA;EAVS,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAC3B,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;EAC/B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAmB;EAC9B,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAmB;EAClC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAiB;EACjC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAwB;EAzDrC,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAIpB,eAAY,EAAE,CAAC;EAe7D,QAAA,IAAgB,CAAA,gBAAA,GAAU,EAAE,CAAC;EAG7B,QAAA,IAAa,CAAA,aAAA,GAAU,EAAE,CAAC;EAGjB,QAAA,IAAA,CAAA,eAAe,GAAsB,IAAIA,eAAY,EAAE,CAAC;EAGxD,QAAA,IAAA,CAAA,mBAAmB,GAAsB,IAAIA,eAAY,EAAE,CAAC;EAOrE,QAAA,IAAM,CAAA,MAAA,GAAY,KAAK,CAAC;EAExB,QAAA,IAAwB,CAAA,wBAAA,GAAY,IAAI,CAAC;EACzC,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;EACnC,QAAA,IAAgB,CAAA,gBAAA,GAAqB,EAAE,CAAC;EAMxC,QAAA,IAAY,CAAA,YAAA,GAAqB,EAAE,CAAC;EACpC,QAAA,IAAiB,CAAA,iBAAA,GAAW,CAAC,CAAC;EAC9B,QAAA,IAAiB,CAAA,iBAAA,GAAW,CAAC,CAAC;EAC9B,QAAA,IAAoB,CAAA,oBAAA,GAAY,KAAK,CAAC;EAEtC,QAAA,IAAU,CAAA,UAAA,GAAgC,EAAE,CAAC;EAE5C,QAAA,IAAc,CAAA,cAAA,GAAmB,EAAE,CAAC;UAW1C,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,SAAS,CAAC,UAAA,MAAM,EAAI,EAAA,OAAA,KAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAlC,EAAkC,CAAC,CAC3F,CAAA;OACF;EArED,IAAA,MAAA,CAAA,cAAA,CACW,cAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EADtB,QAAA,GAAA,EAAA,UACuB,KAAkB,EAAA;EACvC,YAAA,IAAI,CAAC,gBAAgB,CAAC,WAAW,GAAG,KAAK,CAAC;EAC1C,YAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;WACrC;;;EAAA,KAAA,CAAA,CAAA;EAKD,IAAA,MAAA,CAAA,cAAA,CACW,cAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADlB,QAAA,GAAA,EAAA,UACmB,eAAyC,EAAA;cAC1D,IAAG,eAAe,YAAYuC,kCAAe,EAAE;EAC7C,gBAAA,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;EACvC,gBAAA,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,CAAC;EAEvC,aAAA;EAAM,iBAAA,IAAG,OAAO,eAAe,KAAK,QAAQ,EAAG;EAC9C,gBAAA,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC;EAChC,aAAA;WAEF;;;EAAA,KAAA,CAAA,CAAA;MAAA,CAAC;EAeK,IAAA,cAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAmCD,IAAA,cAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACE,QAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;EACjC,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;EAC7B,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAA,YAAY,EAAA,EAAI,OAAA,YAAY,CAAC,WAAW,EAAE,CAA1B,EAA0B,CAAC,CAAC;OACzE,CAAA;EAED,IAAA,cAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;OACC,CAAA;MAEM,cAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,KAAK,EAAA;EACnC,QAAA,IAAI,CAAC,2BAA2B,GAAG,KAAK,CAAC;EACzC,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;EACjD,QAAA,IAAI,CAAC,wBAAwB,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;UAC/D,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,IAAIC,qCAAkB,EAAE,CAAC;OAC7D,CAAA;MAEM,cAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,KAAK,EAAA;EAChC,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;OAClC,CAAA;EAEM,IAAA,cAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACL,QAAA,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC;EACjD,QAAA,IAAI,CAAC,wBAAwB,GAAG,CAAC,IAAI,CAAC,wBAAwB,CAAC;OAChE,CAAA;MAEM,cAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,MAAc,EAAA;UAAlC,IAUN,KAAA,GAAA,IAAA,CAAA;EATC,QAAA,IAAM,WAAW,GAAiB,IAAIC,yBAAY,EAAE,CAAC;EACrD,QAAA,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;EACvC,QAAA,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC;UAC3B,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EAC7D,YAAA,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;EAC/B,YAAA,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAK,EAAA,OAAA,KAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,cAAc,CAArD,EAAqD,CAAC,CAAC;EACvG,YAAA,KAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,UAAC,YAAY,EAAK,EAAA,OAAA,KAAI,CAAC,iBAAiB,IAAI,YAAY,CAAC,cAAc,CAArD,EAAqD,CAAC,CAAC;EACzG,SAAC,CAAC,CAAC;OAEJ,CAAA;EAEM,IAAA,cAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;UAAA,IAIN,KAAA,GAAA,IAAA,CAAA;UAHC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EACjH,YAAA,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;EAClC,SAAC,CAAC,CAAC;OACJ,CAAA;EAEM,IAAA,cAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;UAAA,IAIN,KAAA,GAAA,IAAA,CAAA;UAHC,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,UAAC,UAAU,EAAA;EAChE,YAAA,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;EAC/B,SAAC,CAAC,CAAA;OACH,CAAA;MAEa,cAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,MAAe,EAAA;;;;;EAC7C,wBAAA,IAAA,CAAA,MAAM,EAAN,OAAM,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;EACR,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAA,CAAA;;EAAnC,wBAAA,EAAA,CAAA,IAAA,EAAmC,CAAC;;;;;EAEvC,SAAA,CAAA,CAAA;OAAA,CAAA;EAEa,IAAA,cAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;;kBAWb,KAAA,GAAA,IAAA,CAAA;;;EAVC,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAA,CAAA;;EAA/B,wBAAA,EAAA,CAAA,IAAA,EAA+B,CAAC;EAChC,wBAAA,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,EAAE;EACpC,4BAAA,IAAI,CAAC,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;EACzF,yBAAA;EACD,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA,CAAA;;EAA/E,wBAAA,EAAA,CAAA,IAAA,EAA+E,CAAC;EAChF,wBAAA,UAAU,CAAC,YAAA;EACT,4BAAA,KAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;EACvC,yBAAC,CAAC,CAAC;EACH,wBAAA,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;0BACnB,IAAI,CAAC,QAAQ,EAAE,CAAC;;;;EACjB,SAAA,CAAA,CAAA;OAAA,CAAA;EAGM,IAAA,cAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UAAA,IAkBN,KAAA,GAAA,IAAA,CAAA;UAjBC,IAAG,IAAI,CAAC,MAAM,EAAE;cACd,IAAG,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;EACxC,gBAAA,IAAI,OAAO,GAA2B,IAAIC,6CAAsB,EAAE,CAAC;EACnE,gBAAA,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;kBAC9B,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAC,eAAkC,EAAA;EACjF,oBAAA,KAAI,CAAC,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;EAC5C,iBAAC,CAAC,CAAC;EACJ,aAAA;EACD,YAAA,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EAC/E,gBAAA,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;EAC5B,aAAC,CAAC,CAAA;cACA,IAAI,CAAC,iBAAiB,EAAE,CAAC;cACzB,IAAI,CAAC,4BAA4B,EAAE,CAAC;cACpC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;EAC/F,SAAA;EACD,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;EACpC,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;OACtC,CAAA;;;;EAtMF,IAAA,EAAA,IAAA,EAAAtC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,UAAU;EACpB,gBAAA,QAAQ,EAAE,qmDAiCT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAtDO,YAAY,EAAA;cAOZ,cAAc,EAAA;cAEd,iBAAiB,EAAA;cAlBvBiC,oBAAiB,EAAA;cAqBX,eAAe,EAAA;cAEf,sBAAsB,EAAA;;;4BA2C3B9B,QAAK,EAAA,CAAA;qCAMLC,SAAM,EAAA,CAAA;wBAGND,QAAK,EAAA,CAAA;iCAYLA,QAAK,EAAA,CAAA;8BAGLA,QAAK,EAAA,CAAA;gCAGLC,SAAM,EAAA,CAAA;oCAGNA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,gBAAgB,EAAA,EAAA,CAAA;;;AC7D/B,MAAA,yBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,yBAAA,GAAA;;;;;EApCC,IAAA,EAAA,IAAA,EAAAX,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,sBAAsB;EAChC,gBAAA,QAAQ,EAAE,qkDA+BT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;wBAKEG,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;6CAGLA,QAAK,EAAA,CAAA;6CAGLA,QAAK,EAAA,CAAA;;;ECpDR;EAEO,IAAM,OAAO,GAAkC;EACrD,IAAA,SAAS,EAAE,6TAA6T;EACxU,IAAA,kBAAkB,EAAE,iRAAiR;EACrS,IAAA,mBAAmB,EAAE,kRAAkR;EACvS,IAAA,iBAAiB,EAAE,8LAA8L;EACjN,IAAA,kBAAkB,EAAE,8ZAA8Z;EAClb,IAAA,mBAAmB,EAAE,8ZAA8Z;EACnb,IAAA,UAAU,EAAE,s1BAAs1B;EACl2B,IAAA,uBAAuB,EAAE,0bAA0b;EACnd,IAAA,eAAe,EAAE,0ZAA0Z;EAC3a,IAAA,aAAa,EAAE,qMAAqM;EACpN,IAAA,eAAe,EAAE,4TAA4T;EAC7U,IAAA,iBAAiB,EAAE,iwBAAiwB;EACpxB,IAAA,cAAc,EAAE,mQAAmQ;EACnR,IAAA,qBAAqB,EAAE,w0BAAw0B;EAC/1B,IAAA,gBAAgB,EAAE,mlCAAmlC;EACrmC,IAAA,UAAU,EAAE,0mCAA0mC;EACtnC,IAAA,OAAO,EAAE,qpBAAqpB;EAC9pB,IAAA,kBAAkB,EAAE,uZAAuZ;EAC3a,IAAA,aAAa,EAAE,syBAAsyB;EACrzB,IAAA,qBAAqB,EAAE,mwBAAmwB;EAC1xB,IAAA,mBAAmB,EAAE,0aAA0a;EAC/b,IAAA,kBAAkB,EAAE,olCAAolC;EACxmC,IAAA,gBAAgB,EAAE,yrBAAyrB;EAC3sB,IAAA,wBAAwB,EAAE,w/BAAw/B;EAClhC,IAAA,qBAAqB,EAAE,2YAA2Y;EACla,IAAA,MAAM,EAAE,ujBAAujB;EAC/jB,IAAA,qBAAqB,EAAE,02DAA02D;EACj4D,IAAA,mBAAmB,EAAE,87DAA87D;EACn9D,IAAA,mBAAmB,EAAE,+hBAA+hB;EACpjB,IAAA,KAAK,EAAE,u0CAAu0C;EAC90C,IAAA,wBAAwB,EAAE,40BAA40B;EACt2B,IAAA,OAAO,EAAE,ilBAAilB;EAC1lB,IAAA,eAAe,EAAE,4mBAA4mB;EAC7nB,IAAA,aAAa,EAAE,0hBAA0hB;EACziB,IAAA,iBAAiB,EAAE,upBAAupB;EAC1qB,IAAA,aAAa,EAAE,kbAAkb;EACjc,IAAA,UAAU,EAAE,o8BAAo8B;EACh9B,IAAA,KAAK,EAAE,uuBAAuuB;EAC9uB,IAAA,SAAS,EAAE,kXAAkX;GAC7X;;AClCD,MAAA,gBAAA,kBAAA,YAAA;EAWE,IAAA,SAAA,gBAAA,CACU,UAAwB,EAAA;EAAxB,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAc;EAH1B,QAAA,IAAU,CAAA,UAAA,GAAqC,EAAE,CAAC;UAKxD,IAAI,CAAC,YAAY,EAAE,CAAC;OACrB;EAVD,IAAA,MAAA,CAAA,cAAA,CAAW,gBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EAJpB;;;EAGG;EACH,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,UAAU,CAAC;WACxB;;;EAAA,KAAA,CAAA,CAAA;MAUM,gBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,QAAuB,EAAA;EACpC,QAAA,IAAI,QAAQ,EAAE;cACZ,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;EAChD,SAAA;OACF,CAAA;MAEM,gBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,QAAc,EAAA;EACnC,QAAA,IAAM,IAAI,GAAW,OAAO,CAAC,QAAQ,CAAC,CAAC;UACvC,IAAM,UAAU,GAAW,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,4BAAA,GAA6B,UAAY,CAAC,CAAC;OAC1F,CAAA;MAEM,gBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,QAAc,EAAA;EAC9B,QAAA,IAAI,QAAQ,EAAE;EACZ,YAAA,OAAO,OAAO,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;EACxC,SAAA;OACF,CAAA;EAEM,IAAA,gBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;EACL,QAAA,KAAK,IAAM,GAAG,IAAI,OAAO,EAAE;EACzB,YAAA,IAAI,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;kBACrE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;EAC5F,aAAA;EACF,SAAA;OACF,CAAA;;;;;EA5CF,IAAA,EAAA,IAAA,EAAAO,aAAU,EAAC,IAAA,EAAA,CAAA;EACV,gBAAA,UAAU,EAAE,MAAM;EACnB,aAAA,EAAA,EAAA;;;cANOwB,eAAY,EAAA;;;ECDpB;AAEYC,0BAwCX;EAxCD,CAAA,UAAY,IAAI,EAAA;EACZ,IAAA,IAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,IAAA,CAAA,gBAAA,CAAA,GAAA,kBAAmC,CAAA;EACnC,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,mBAAqC,CAAA;EACrC,IAAA,IAAA,CAAA,eAAA,CAAA,GAAA,iBAAiC,CAAA;EACjC,IAAA,IAAA,CAAA,gBAAA,CAAA,GAAA,kBAAmC,CAAA;EACnC,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,mBAAqC,CAAA;EACrC,IAAA,IAAA,CAAA,SAAA,CAAA,GAAA,UAAoB,CAAA;EACpB,IAAA,IAAA,CAAA,qBAAA,CAAA,GAAA,uBAA6C,CAAA;EAC7C,IAAA,IAAA,CAAA,cAAA,CAAA,GAAA,eAA8B,CAAA;EAC9B,IAAA,IAAA,CAAA,YAAA,CAAA,GAAA,aAA0B,CAAA;EAC1B,IAAA,IAAA,CAAA,cAAA,CAAA,GAAA,eAA8B,CAAA;EAC9B,IAAA,IAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC,CAAA;EAClC,IAAA,IAAA,CAAA,aAAA,CAAA,GAAA,cAA4B,CAAA;EAC5B,IAAA,IAAA,CAAA,mBAAA,CAAA,GAAA,qBAAyC,CAAA;EACzC,IAAA,IAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC,CAAA;EAChC,IAAA,IAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;EACrB,IAAA,IAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;EACf,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,kBAAoC,CAAA;EACpC,IAAA,IAAA,CAAA,YAAA,CAAA,GAAA,aAA0B,CAAA;EAC1B,IAAA,IAAA,CAAA,mBAAA,CAAA,GAAA,qBAAyC,CAAA;EACzC,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,mBAAqC,CAAA;EACrC,IAAA,IAAA,CAAA,gBAAA,CAAA,GAAA,kBAAmC,CAAA;EACnC,IAAA,IAAA,CAAA,cAAA,CAAA,GAAA,gBAA+B,CAAA;EAC/B,IAAA,IAAA,CAAA,sBAAA,CAAA,GAAA,wBAA+C,CAAA;EAC/C,IAAA,IAAA,CAAA,mBAAA,CAAA,GAAA,qBAAyC,CAAA;EACzC,IAAA,IAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;EACb,IAAA,IAAA,CAAA,mBAAA,CAAA,GAAA,qBAAyC,CAAA;EACzC,IAAA,IAAA,CAAA,iBAAA,CAAA,GAAA,mBAAqC,CAAA;EACrC,IAAA,IAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC,CAAA;EACtC,IAAA,IAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;EACX,IAAA,IAAA,CAAA,sBAAA,CAAA,GAAA,wBAA+C,CAAA;EAC/C,IAAA,IAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;EACf,IAAA,IAAA,CAAA,cAAA,CAAA,GAAA,eAA8B,CAAA;EAC9B,IAAA,IAAA,CAAA,YAAA,CAAA,GAAA,aAA0B,CAAA;EAC1B,IAAA,IAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC,CAAA;EAClC,IAAA,IAAA,CAAA,YAAA,CAAA,GAAA,aAA0B,CAAA;EAC1B,IAAA,IAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;EACrB,IAAA,IAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;EACX,IAAA,IAAA,CAAA,QAAA,CAAA,GAAA,SAAkB,CAAA;EACtB,CAAC,EAxCWA,cAAI,KAAJA,cAAI,GAwCf,EAAA,CAAA,CAAA;;AC4OD,MAAA,6BAAA,kBAAA,YAAA;MAwEE,SACS,6BAAA,CAAA,gBAAkC,EACjC,aAA2B,EAAA;EAD5B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EACjC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAzErB,QAAA,IAAK,CAAA,KAAA,GAAgBA,cAAI,CAAC;EAkB1B,QAAA,IAAA,CAAA,mBAAmB,GAAiC,IAAI7C,eAAY,EAAE,CAAC;EAGvE,QAAA,IAAA,CAAA,cAAc,GAAsB,IAAIA,eAAY,EAAE,CAAC;EAGvD,QAAA,IAAA,CAAA,mBAAmB,GAAsB,IAAIA,eAAY,EAAE,CAAC;EAG5D,QAAA,IAAA,CAAA,eAAe,GAAsB,IAAIA,eAAY,EAAE,CAAC;EAGjE,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK,CAAC;EACtB,QAAA,IAAqB,CAAA,qBAAA,GAAY,KAAK,CAAC;EACvC,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;EAClC,QAAA,IAAoB,CAAA,oBAAA,GAAY,KAAK,CAAC;EAItC,QAAA,IAAc,CAAA,cAAA,GAAY,IAAI,CAAC;EAE/B,QAAA,IAAmB,CAAA,mBAAA,GAAyB,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,aAAa,EAAE,CAAC;EACnG,QAAA,IAAkB,CAAA,kBAAA,GAAyB,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC;EAIrF,QAAA,IAAA,CAAA,sBAAsB,GAAiB,IAAIyC,yBAAY,EAAE,CAAC;EAE1D,QAAA,IAAA,CAAA,0BAA0B,GAAqB,IAAIN,kCAAgB,EAAE,CAAC;EACtE,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;EACxC,QAAA,IAAA,CAAA,yBAAyB,GAA2B,IAAIW,6CAAsB,EAAE,CAAC;UAGjF,IAAA,CAAA,IAAI,GAAa;cACtB,OAAO;cACP,WAAW;cACX,SAAS;WACV,CAAC;UACK,IAAA,CAAA,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;OAmBvC;EAjBD,IAAA,MAAA,CAAA,cAAA,CAAW,6BAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EAAxB,QAAA,GAAA,EAAA,YAAA;cACE,QAAQ,IAAI,CAAC,SAAS;EACpB,gBAAA,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACf,oBAAA,OAAO,gBAAgB,CAAC;EAC1B,gBAAA,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACf,oBAAA,OAAO,sBAAsB,CAAC;EAChC,gBAAA,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;EACf,oBAAA,OAAO,0BAA0B,CAAC;EACpC,gBAAA;EACE,oBAAA,OAAO,wBAAwB,CAAC;EACnC,aAAA;WACF;;;EAAA,KAAA,CAAA,CAAA;MAQM,6BAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,OAAO,EAAA;EAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;EACzB,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,WAAW,EAAE;cAClC,IAAI,CAAC,cAAc,EAAE,CAAC;EACvB,SAAA;EAAC,QAAA,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;cAClC,IAAI,CAAC,YAAY,EAAE,CAAC;EACrB,SAAA;OACF,CAAA;MAEM,6BAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,IAAoB,EAAA;UACzC,IAAI,CAAC,sBAAsB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;UAC5D,IAAI,CAAC,sBAAsB,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;EACtE,QAAA,IAAI,CAAC,sBAAsB,CAAC,QAAQ,GAAG,GAAG,CAAC;EAC3C,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;EAC1C,QAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;EAC3B,YAAA,IAAI,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;EACzC,SAAA;EACD,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;EAC7B,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;EAC5B,QAAA,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;OACnC,CAAA;EAEM,IAAA,6BAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;EACL,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAA;EAC1B,QAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;EACnC,QAAA,IAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;EACpC,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;EAC5B,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;OAC9B,CAAA;EAEM,IAAA,6BAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;EACL,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;EAC9B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;OAC5B,CAAA;MAEM,6BAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,KAAK,EAAA;EACnC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACtC,CAAA;EAEY,IAAA,6BAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;;;kBACX,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EAC9B,gBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;EAC3B,gBAAA,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;EACnC,gBAAA,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;;;EACjC,SAAA,CAAA,CAAA;OAAA,CAAA;MAEM,6BAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,IAAI,EAAA;UAC9B,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,iBAAiB,YAAYC,wCAAkB,CAAC,EAAE;cACzE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;cAC1D,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC;EACnE,SAAA;EACD,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;OAClC,CAAA;EAEM,IAAA,6BAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;;OAEN,CAAA;EAEM,IAAA,6BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;OAC7B,CAAA;EAEM,IAAA,6BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;EACL,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC;OACjC,CAAA;MAEM,6BAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,IAAI,EAAA;EACzB,QAAA,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;EACvC,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;OACpC,CAAA;MAEM,6BAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,IAAS,EAAA;UAA3B,IAQN,KAAA,GAAA,IAAA,CAAA;;UANC,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;UACpD,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;UACpD,IAAI,CAAC,yBAAyB,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC;EAClE,QAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO,EAAA;EAChF,YAAA,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;EAChC,SAAC,CAAC,CAAC;OACJ,CAAA;MAEM,6BAA4B,CAAA,SAAA,CAAA,4BAAA,GAA5B,UAA6B,IAAoB,EAAA;UAAjD,IAKN,KAAA,GAAA,IAAA,CAAA;UAJC,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,UAAC,UAAU,EAAA;EAChE,YAAA,KAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC;EACpC,YAAA,KAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC;EAC5C,SAAC,CAAC,CAAA;OACH,CAAA;MAEM,6BAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,KAAK,EAAA;UAAvB,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAI,CAAC,yBAAyB,CAAC,eAAe,GAAG,KAAK,CAAC;UACvD,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,KAAK,CAAC,EAAE;EAC1D,YAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO,EAAA;EAChF,gBAAA,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;EAChC,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;EAEY,IAAA,6BAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;;;;;;EACL,wBAAA,WAAW,GAAuB,IAAIC,qCAAkB,EAAE,CAAC;EACjE,wBAAA,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC;EACvB,wBAAA,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;EACvE,wBAAA,EAAA,GAAA,IAAI,CAAA;0BAAsB,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAA,CAAA;;0BAArF,EAAK,CAAA,kBAAkB,GAAG,EAAA,CAAA,IAAA,EAA2D,CAAC;;;;EACvF,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,6BAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;;;;;;EACL,wBAAA,SAAS,GAAuB,IAAIA,qCAAkB,EAAE,CAAC;EAC/D,wBAAA,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;EACrB,wBAAA,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;EACrE,wBAAA,EAAA,GAAA,IAAI,CAAA;0BAAoB,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAA,CAAA;;0BAAjF,EAAK,CAAA,gBAAgB,GAAG,EAAA,CAAA,IAAA,EAAyD,CAAC;;;;EACnF,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,6BAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;UAAA,IAIN,KAAA,GAAA,IAAA,CAAA;EAHC,QAAA,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS,EAAA;EACpF,YAAA,KAAI,CAAC,cAAc,GAAG,SAAS,CAAC;EAClC,SAAC,CAAC,CAAA;OACH,CAAA;MAEM,6BAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,QAAQ,EAAA;EAChC,QAAA,IAAI,CAAC,0BAA0B,CAAC,UAAU,GAAG,QAAQ,CAAC;OACvD,CAAA;EAEY,IAAA,6BAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;;kBASZ,KAAA,GAAA,IAAA,CAAA;;;;EARC,wBAAA,IAAI,CAAC,0BAA0B,CAAC,QAAQ,GAAG,IAAI,CAAC;0BAChD,IAAI,CAAC,0BAA0B,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;0BAC7D,IAAI,CAAC,0BAA0B,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;0BACvD,IAAI,CAAC,0BAA0B,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC;0BACrE,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAA,CAAA;;EAA9E,wBAAA,EAAA,CAAA,IAAA,EAA8E,CAAC;EAC/E,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO,EAAA;EACtF,gCAAA,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;EAChC,6BAAC,CAAC,CAAA,CAAA;;EAFF,wBAAA,EAAA,CAAA,IAAA,EAEE,CAAC;;;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,6BAAA,CAAA,SAAA,CAAA,0BAA0B,GAA1B,YAAA;OAEN,CAAA;MAEM,6BAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,IAAI,EAAA;EAC9B,QAAA,IAAI,CAAC,0BAA0B,CAAC,aAAa,GAAG,IAAI,CAAC;OACtD,CAAA;MAEM,6BAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,GAAG,EAAA;EACxB,QAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;OAC5C,CAAA;;;;EAheF,IAAA,EAAA,IAAA,EAAA5C,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,2BAA2B;EACrC,gBAAA,QAAQ,EAAE,g3cA8PT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAlRO,gBAAgB,EAAA;cADhB,YAAY,EAAA;;;EAwRjB,IAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,YAAS,SAAC,6BAA6B,EAAA,EAAA,CAAA;wCAGvCE,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;wCAGLA,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;oCAGLC,SAAM,EAAA,CAAA;+BAGNA,SAAM,EAAA,CAAA;oCAGNA,SAAM,EAAA,CAAA;gCAGNA,SAAM,EAAA,CAAA;;;AChOT,MAAA,sBAAA,kBAAA,YAAA;MAmCE,SACU,sBAAA,CAAA,aAA2B,EAC5B,gBAAkC,EAAA;EADjC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAC5B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAnBpC,QAAA,IAAA,CAAA,WAAW,GAAsB,IAAId,eAAY,EAAE,CAAC;EAGpD,QAAA,IAAA,CAAA,oBAAoB,GAAsB,IAAIA,eAAY,EAAE,CAAC;EAE7D,QAAA,IAA2B,CAAA,2BAAA,GAAyB,EAAC,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,aAAa,EAAC,CAAC;EACzG,QAAA,IAAyB,CAAA,yBAAA,GAAyB,EAAC,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAC,CAAC;EAE5F,QAAA,IAAoB,CAAA,oBAAA,GAAY,KAAK,CAAC;EACtC,QAAA,IAAU,CAAA,UAAA,GAAgC,EAAE,CAAC;EAC7C,QAAA,IAAU,CAAA,UAAA,GAAkB,EAAE,CAAC;EAC/B,QAAA,IAAuB,CAAA,uBAAA,GAAyB,EAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAC,CAAC;EAClG,QAAA,IAAS,CAAA,SAAA,GAAoB,EAAE,CAAC;EAGvB,QAAA,IAAK,CAAA,KAAA,GAAgB6C,cAAI,CAAC;OAMzC;EAED,IAAA,sBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACE,IAAI,CAAC,4BAA4B,EAAE,CAAC;UACpC,IAAI,CAAC,aAAa,EAAE,CAAC;OACtB,CAAA;MAEM,sBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,IAAsB,EAAA;UAApC,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EACrB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC;UAC1B,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAE,UAAA,MAAM,EAAA;EACxD,YAAA,KAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;EAC1B,SAAC,CAAC,CAAC;OAEJ,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;EACL,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;OACzB,CAAA;MAEM,sBAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,KAAgC,EAAA;UAC7D,IAAI,CAAC,iBAAiB,CAAC,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC;EAC3D,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;UAC/B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;OACtE,CAAA;MAEM,sBAAsB,CAAA,SAAA,CAAA,sBAAA,GAAtB,UAAuB,KAAoB,EAAA;UAChD,IAAI,CAAC,iBAAiB,CAAC,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC;OAC1D,CAAA;MAEM,sBAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,KAAkB,EAAA;UAChD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;OAC1D,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;EACL,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;EACjC,QAAA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;OAClC,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,4BAA4B,GAA5B,YAAA;UAAA,IAIN,KAAA,GAAA,IAAA,CAAA;UAHC,IAAI,CAAC,aAAa,CAAC,4BAA4B,EAAE,CAAC,IAAI,CAAC,UAAC,UAAU,EAAA;EAChE,YAAA,KAAI,CAAC,UAAU,GAAG,UAAU,CAAC;EAC/B,SAAC,CAAC,CAAA;OACH,CAAA;MAEM,sBAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,IAAI,EAAA;UAAhC,IAIN,KAAA,GAAA,IAAA,CAAA;UAHC,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS,EAAA;EAClE,YAAA,KAAI,CAAC,SAAS,GAAG,SAAS,CAAC;EAC7B,SAAC,CAAC,CAAA;OACH,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;UAAA,IAIN,KAAA,GAAA,IAAA,CAAA;UAHC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAC,KAAoB,EAAA;EAC3D,YAAA,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;EAC1B,SAAC,CAAC,CAAC;OACJ,CAAA;;;;EAnKF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,mBAAmB;EAC7B,gBAAA,QAAQ,EAAE,mgGAgET;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA9EO,YAAY,EAAA;cAOZ,gBAAgB,EAAA;;;6BA0ErBG,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;8BAGLA,QAAK,EAAA,CAAA;4BAGLC,SAAM,EAAA,CAAA;qCAGNA,SAAM,EAAA,CAAA;;;ACzFT,MAAA,aAAA,kBAAA,YAAA;MAEE,SACY,aAAA,CAAA,OAAuB,EACvB,SAAiC,EAAA;EADjC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAgB;EACvB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAwB;OAE5C;MAEY,aAAI,CAAA,SAAA,CAAA,IAAA,GAAJ,UAAK,OAAY,EAAA;;;;8BAC5B,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA,CAAA;;EAAtC,wBAAA,EAAA,CAAA,IAAA,EAAsC,CAAC;EACvC,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA,CAAA;;EAA9B,wBAAA,EAAA,CAAA,IAAA,EAA8B,CAAC;;;;EAChC,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,aAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;;;;EACJ,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAA,CAAA;EAA5C,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAqC,CAAC,CAAA;;;EAC9C,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,aAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;;;;EACJ,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,CAAA,CAAA;EAA5C,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAqC,CAAC,CAAA;;;EAC9C,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,aAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;;;;EACJ,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAA,CAAA;EAAjD,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAA0C,CAAC,CAAA;;;EACnD,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,aAAA,CAAA,SAAA,CAAA,wBAAwB,GAAxB,UAAyB,cAAsB,EAAE,QAAgB,EAAE,QAAgB,EAAA;;;;EACvF,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,cAAc,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA,CAAA;EAAxF,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAiF,CAAC,CAAA;;;EAC1F,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,aAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,QAAqB,EAAE,WAA2B,EAAA;EAA3B,QAAA,IAAA,WAAA,KAAA,KAAA,CAAA,EAAA,EAAA,WAA2B,GAAA,IAAA,CAAA,EAAA;;;;8BACtE,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA,CAAA;EAAlE,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAA2D,CAAC,CAAA;;;EACpE,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,aAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,KAAa,EAAE,SAAyB,EAAA;EAAzB,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAAyB,GAAA,IAAA,CAAA,EAAA;;;;8BAC/D,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAA,CAAA;EAAhE,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,SAAyD,CAAC,CAAA;;;EAClE,SAAA,CAAA,CAAA;OAAA,CAAA;;;;;EAvCF,IAAA,EAAA,IAAA,EAAAM,aAAU,EAAC,IAAA,EAAA,CAAA;EACV,gBAAA,UAAU,EAAE,MAAM;EACnB,aAAA,EAAA,EAAA;;;cARO,cAAc,EAAA;cAFd,sBAAsB,EAAA;;;ACO9B,MAAA,iBAAA,kBAAA,YAAA;EADA,IAAA,SAAA,iBAAA,GAAA;EAES,QAAA,IAAA,CAAA,+CAA+C,GAAsD,IAAI6B,YAAO,EAA4C,CAAC;EAC7J,QAAA,IAAA,CAAA,+CAA+C,GAAsD,IAAIA,YAAO,EAA4C,CAAC;EAC7J,QAAA,IAAA,CAAA,sCAAsC,GAA6C,IAAIA,YAAO,EAAmC,CAAC;EA0BlI,QAAA,IAAsB,CAAA,sBAAA,GAAa,EAAE,CAAC;EAGrC,QAAA,IAAA,CAAA,yCAAyC,GAA6C,IAAIC,iFAAwC,EAAE,CAAC;EACrI,QAAA,IAAA,CAAA,yCAAyC,GAA6C,IAAIC,iFAAwC,EAAE,CAAC;EACrI,QAAA,IAAA,CAAA,gCAAgC,GAAoC,IAAIC,+DAA+B,EAAE,CAAC;OAqBnH;EAlDC,IAAA,MAAA,CAAA,cAAA,CAAW,iBAAwC,CAAA,SAAA,EAAA,0CAAA,EAAA;EAKnD,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,yCAAyC,CAAC;WACvD;EAPD,QAAA,GAAA,EAAA,UAAoD,KAA+C,EAAA;EACjG,YAAA,IAAI,CAAC,yCAAyC,GAAG,KAAK,CAAC;cACvD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,yCAAyC,CAAC,WAAW,CAAC;cAChF,IAAI,CAAC,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;WAC3G;;;EAAA,KAAA,CAAA,CAAA;EAID,IAAA,MAAA,CAAA,cAAA,CAAW,iBAAwC,CAAA,SAAA,EAAA,0CAAA,EAAA;EAKnD,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,yCAAyC,CAAC;WACvD;EAPD,QAAA,GAAA,EAAA,UAAoD,KAA+C,EAAA;EACjG,YAAA,IAAI,CAAC,yCAAyC,GAAG,KAAK,CAAC;EACvD,YAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,yCAAyC,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;cACpG,IAAI,CAAC,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;WAC3G;;;EAAA,KAAA,CAAA,CAAA;EAID,IAAA,MAAA,CAAA,cAAA,CAAW,iBAA+B,CAAA,SAAA,EAAA,iCAAA,EAAA;EAI1C,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,gCAAgC,CAAC;WAC9C;EAND,QAAA,GAAA,EAAA,UAA2C,KAAsC,EAAA;EAC/E,YAAA,IAAI,CAAC,gCAAgC,GAAG,KAAK,CAAC;cAC9C,IAAI,CAAC,sCAAsC,CAAC,IAAI,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;WACzF;;;EAAA,KAAA,CAAA,CAAA;MAYM,iBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,OAAe,EAAA;UACvC,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE;EACrD,YAAA,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;cACpF,IAAI,CAAC,qBAAqB,EAAE,CAAC;EAC9B,SAAA;OACF,CAAA;MAEM,iBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,OAAe,EAAA;UACpC,IAAI,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;EACpD,YAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;cAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;EAC9B,SAAA;OACF,CAAA;EAEO,IAAA,iBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,YAAA;EACN,QAAA,IAAI,CAAC,yCAAyC,CAAC,WAAW,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;UACnG,IAAI,CAAC,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;OAC3G,CAAA;;;;cAtDFhC,aAAU,EAAA;;;ACJX,MAAA,UAAA,kBAAA,YAAA;EAKE,IAAA,SAAA,UAAA,CAAY,IAAoB,EAAE,WAAmB,EAAE,IAAY,EAAA;EACjE,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACjB,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;EAC/B,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;OAClB;MACF,OAAA,UAAA,CAAA;EAAA,CAAA,EAAA;;ACoBY,MAAA,mBAAmB,GAAiB;MAC/C,IAAI,UAAU,CAACiC,kCAAc,CAAC,GAAG,EAAE,KAAK,EAAER,cAAI,CAAC,YAAY,CAAC;MAC5D,IAAI,UAAU,CAACQ,kCAAc,CAAC,KAAK,EAAE,OAAO,EAAER,cAAI,CAAC,UAAU,CAAC;MAC9D,IAAI,UAAU,CAACQ,kCAAc,CAAC,KAAK,EAAE,OAAO,EAAER,cAAI,CAAC,OAAO,CAAC;MAC3D,IAAI,UAAU,CAACQ,kCAAc,CAAC,GAAG,EAAE,KAAK,EAAER,cAAI,CAAC,eAAe,CAAC;MAC/D,IAAI,UAAU,CAACQ,kCAAc,CAAC,aAAa,EAAE,gBAAgB,EAAER,cAAI,CAAC,eAAe,CAAC;MACpF,IAAI,UAAU,CAACQ,kCAAc,CAAC,GAAG,EAAE,KAAK,EAAER,cAAI,CAAC,eAAe,CAAC;MAC/D,IAAI,UAAU,CAACQ,kCAAc,CAAC,UAAU,EAAE,YAAY,EAAER,cAAI,CAAC,YAAY,CAAC;MAC1E,IAAI,UAAU,CAACQ,kCAAc,CAAC,GAAG,EAAE,KAAK,EAAER,cAAI,CAAC,GAAG,CAAC;IACpD;AAmFD,MAAA,yBAAA,kBAAA,YAAA;EA+GE,IAAA,SAAA,yBAAA,CACS,gBAAkC,EACjC,eAAkC,EAClC,cAA6B,EAC7B,kBAAqC,EAAA;UAJ/C,IAWC,KAAA,GAAA,IAAA,CAAA;EAVQ,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EACjC,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAmB;EAClC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;EAC7B,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;EAlH/B,QAAA,IAAK,CAAA,KAAA,GAAgBA,cAAI,CAAC;EA8BnC,QAAA,IAAW,CAAA,WAAA,GAAc,EAAE,CAAC;EAY5B,QAAA,IAAY,CAAA,YAAA,GAAiC,EAAE,CAAC;EAGhD,QAAA,IAAY,CAAA,YAAA,GAAiC,EAAE,CAAC;EAShD,QAAA,IAAc,CAAA,cAAA,GAAa,EAAE,CAAC;EAM9B,QAAA,IAAc,CAAA,cAAA,GAAgC,EAAE,CAAC;EAGjD,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;EAGlC,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;EAGzB,QAAA,IAAuB,CAAA,uBAAA,GAAY,IAAI,CAAC;EAGxC,QAAA,IAAA,CAAA,mCAAmC,GAA2D,IAAI7C,eAAY,EAA4C,CAAC;EAG3J,QAAA,IAAA,CAAA,mCAAmC,GAA2D,IAAIA,eAAY,EAA4C,CAAC;EAG3J,QAAA,IAAA,CAAA,iCAAiC,GAAkD,IAAIA,eAAY,EAAmC,CAAC;EAGvI,QAAA,IAAA,CAAA,qBAAqB,GAAsB,IAAIA,eAAY,EAAO,CAAC;EAGnE,QAAA,IAAA,CAAA,UAAU,GAA6B,IAAIA,eAAY,EAAc,CAAC;EAGtE,QAAA,IAAA,CAAA,OAAO,GAAyB,IAAIA,eAAY,EAAU,CAAC;EAO3D,QAAA,IAAW,CAAA,WAAA,GAAG,mBAAmB,CAAC;EAElC,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;EAC7B,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;EAExB,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;EACxB,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;EAC1B,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;EAC1B,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;EACxB,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;EACxB,QAAA,IAAiB,CAAA,iBAAA,GAAY,IAAI,CAAC;EAClC,QAAA,IAAc,CAAA,cAAA,GAAY,IAAI,CAAC;EAC/B,QAAA,IAAO,CAAA,OAAA,GAAY,IAAI,CAAC;EAEvB,QAAA,IAAc,CAAA,cAAA,GAAmB,EAAE,CAAC;EAQ1C,QAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CACtB,IAAI,CAAC,kBAAkB,CAAC,+CAA+C,CAAC,SAAS,CAAC,UAAC,KAA+C,IAAK,OAAA,KAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAA,CAAC,EAC5L,IAAI,CAAC,kBAAkB,CAAC,+CAA+C,CAAC,SAAS,CAAC,UAAC,KAA+C,EAAA,EAAK,OAAA,KAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,EAC5L,IAAI,CAAC,kBAAkB,CAAC,sCAAsC,CAAC,SAAS,CAAC,UAAC,KAAsC,EAAK,EAAA,OAAA,KAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAA,CAAC,CACzK,CAAA;OACF;EA/BM,IAAA,yBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EA+BD,IAAA,yBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACE,IAAI,IAAI,CAAC,6BAA6B,EAAE;cACtC,IAAI,CAAC,kBAAkB,CAAC,wCAAwC,GAAG,IAAI,CAAC,6BAA6B,CAAC;EACvG,SAAA;UACD,IAAI,IAAI,CAAC,6BAA6B,EAAE;cACtC,IAAI,CAAC,kBAAkB,CAAC,wCAAwC,GAAG,IAAI,CAAC,6BAA6B,CAAC;EACvG,SAAA;UACD,IAAI,IAAI,CAAC,2BAA2B,EAAE;cACpC,IAAI,CAAC,kBAAkB,CAAC,+BAA+B,GAAG,IAAI,CAAC,2BAA2B,CAAC;EAC5F,SAAA;UACD,IAAI,CAAC,sBAAsB,EAAE,CAAC;UAC9B,IAAI,CAAC,sBAAsB,EAAE,CAAC;OAC/B,CAAA;EAED,IAAA,yBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACE,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAA,YAAY,EAAA,EAAI,OAAA,YAAY,CAAC,WAAW,EAAE,CAA1B,EAA0B,CAAC,CAAC;OACzE,CAAA;EAEM,IAAA,yBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;EACL,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;EAC7B,QAAA,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,CAAC;OACnC,CAAA;MAEM,yBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,UAAsB,EAAA;EACjD,QAAA,IAAI,CAAC,gBAAgB,GAAG,UAAU,CAAC;UACnC,IAAI,UAAU,CAAC,IAAI,KAAKqD,kCAAc,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;cAC1D,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;EACxI,SAAA;eAAM,IAAI,UAAU,CAAC,IAAI,KAAKA,kCAAc,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;cACrE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;EAC1I,SAAA;eAAM,IAAI,UAAU,CAAC,IAAI,KAAKA,kCAAc,CAAC,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE;cACrE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;EAC1I,SAAA;eAAM,IAAI,UAAU,CAAC,IAAI,KAAKA,kCAAc,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;cACjE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;EACxI,SAAA;eAAM,IAAI,UAAU,CAAC,IAAI,KAAKA,kCAAc,CAAC,aAAa,IAAI,IAAI,CAAC,iBAAiB,EAAE;cACrF,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;EAClJ,SAAA;eAAM,IAAI,UAAU,CAAC,IAAI,KAAKA,kCAAc,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;cACjE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;EACxI,SAAA;eAAM,IAAI,UAAU,CAAC,IAAI,KAAKA,kCAAc,CAAC,UAAU,IAAI,IAAI,CAAC,cAAc,EAAE;cAC/E,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;EAC/I,SAAA;eAAM,IAAI,UAAU,CAAC,IAAI,KAAKA,kCAAc,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE;cACjE,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,UAAU,CAAC;EACxI,SAAA;OACF,CAAA;EAEO,IAAA,yBAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;UACN,IAAI,IAAI,CAAC,iBAAiB,EAAE;cAC1B,IAAI,CAAC,wBAAwB,EAAE,CAAC;EACjC,SAAA;EAAM,aAAA;cACL,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;kBAC3D,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;kBAChD,IAAI,CAAC,wBAAwB,EAAE,CAAC;EACjC,aAAA;EACD,YAAA,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;EACtB,SAAA;OACF,CAAA;EAEO,IAAA,yBAAA,CAAA,SAAA,CAAA,wBAAwB,GAAxB,YAAA;UAAA,IAQP,KAAA,GAAA,IAAA,CAAA;UAPC,IAAM,UAAU,GAAe,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAK,KAAI,CAAC,iBAAiB,CAAA,EAAA,CAAC,CAAC;EAC/F,QAAA,IAAI,UAAU,EAAE;EACd,YAAA,UAAU,CAAC,YAAA;EACT,gBAAA,KAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;EACvC,gBAAA,KAAI,CAAC,OAAO,GAAG,KAAK,CAAC;EACvB,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;EAEO,IAAA,yBAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;UAAA,IAaP,KAAA,GAAA,IAAA,CAAA;UAZC,IAAI,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;EACzD,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAA,EAAE,EAAI,EAAA,OAAA,EAAE,KAAK,EAAE,CAAC,IAAI,GAAA,CAAC,CAA9C,EAA8C,CAAC,CAAC;EAClG,SAAA;UACD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAKA,kCAAc,CAAC,GAAG,CAAA,EAAA,CAAC,KAAK,SAAS,CAAC;UACzF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAKA,kCAAc,CAAC,KAAK,CAAA,EAAA,CAAC,KAAK,SAAS,CAAC;UAC7F,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAKA,kCAAc,CAAC,KAAK,CAAA,EAAA,CAAC,KAAK,SAAS,CAAC;UAC7F,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAKA,kCAAc,CAAC,GAAG,CAAA,EAAA,CAAC,KAAK,SAAS,CAAC;UACzF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAKA,kCAAc,CAAC,aAAa,CAAA,EAAA,CAAC,KAAK,SAAS,CAAC;UAC7G,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAKA,kCAAc,CAAC,GAAG,CAAA,EAAA,CAAC,KAAK,SAAS,CAAC;UACzF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAKA,kCAAc,CAAC,UAAU,CAAA,EAAA,CAAC,KAAK,SAAS,CAAC;UACvG,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,EAAE,CAAC,IAAI,KAAKA,kCAAc,CAAC,GAAG,CAAA,EAAA,CAAC,KAAK,SAAS,CAAC;OAE1F,CAAA;;;;EA5RF,IAAA,EAAA,IAAA,EAAAjD,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,uBAAuB;EACjC,gBAAA,QAAQ,EAAE,4vGAoET;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACrC,gBAAA,UAAU,EAAE;sBACVL,kBAAO,CAAC,YAAY,EAAE;EACpB,wBAAAC,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;EAC7E,wBAAAD,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;EACnE,wBAAAC,qBAAU,CAAC,WAAW,EAAEC,kBAAO,CAAC,GAAG,CAAC,CAAC;uBACtC,CAAC;EACH,iBAAA;EACF,aAAA,EAAA,EAAA;;;cA5GO,gBAAgB,EAAA;cAbtBkC,oBAAiB,EAAA;cAgBX,aAAa,EAAA;cAIb,iBAAiB,EAAA;;;EA0GtB,IAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAAhC,YAAS,SAAC,iBAAiB,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;EAG/C,IAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,YAAS,SAAC,UAAU,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;EAGxC,IAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,YAAS,SAAC,YAAY,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;EAG1C,IAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,YAAS,SAAC,YAAY,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;EAG1C,IAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,YAAS,SAAC,UAAU,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;EAGxC,IAAA,kBAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,YAAS,SAAC,oBAAoB,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;EAGlD,IAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,YAAS,SAAC,UAAU,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;EAGxC,IAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,YAAS,SAAC,iBAAiB,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;EAG/C,IAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAAD,YAAS,SAAC,UAAU,EAAE,EAAC,IAAI,EAAEC,aAAU,EAAC,EAAA,EAAA,CAAA;4BAGxCC,QAAK,EAAA,CAAA;8CAGLA,QAAK,EAAA,CAAA;8CAGLA,QAAK,EAAA,CAAA;4CAGLA,QAAK,EAAA,CAAA;6BAGLA,QAAK,EAAA,CAAA;6BAGLA,QAAK,EAAA,CAAA;4BAMLA,QAAK,EAAA,CAAA;+BAGLA,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;+BAGLA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;wCAGLA,QAAK,EAAA,CAAA;oDAGLC,SAAM,EAAA,CAAA;oDAGNA,SAAM,EAAA,CAAA;kDAGNA,SAAM,EAAA,CAAA;sCAGNA,SAAM,EAAA,CAAA;2BAGNA,SAAM,EAAA,CAAA;wBAGNA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,6BAA6B,EAAA,EAAA,CAAA;;;ECtN5C,IAAA,qBAAA,kBAAA,YAAA;MAIE,SAAY,qBAAA,CAAA,OAAgB,EAAE,YAAoB,EAAA;EAChD,QAAA,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;EACvB,QAAA,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;OAClC;MACF,OAAA,qBAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ACkBD,MAAA,wBAAA,kBAAA,YAAA;EAeE,IAAA,SAAA,wBAAA,CAAmB,iBAAoC,EAAA;EAApC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;EAZhD,QAAA,IAAc,CAAA,cAAA,GAAa,EAAE,CAAC;EAG9B,QAAA,IAAO,CAAA,OAAA,GAAiC,EAAE,CAAC;EAO3C,QAAA,IAAsB,CAAA,sBAAA,GAA4B,EAAE,CAAC;OAG3D;EAPM,IAAA,wBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAOD,IAAA,wBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UAAA,IAOC,KAAA,GAAA,IAAA,CAAA;UANC,IAAI,IAAI,CAAC,cAAc,EAAE;EACvB,YAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAC,EAAU,EAAA;kBACrC,IAAM,qBAAqB,GAA0B,IAAI,qBAAqB,CAAC,KAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;EACnJ,gBAAA,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;EAC1D,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;MAEM,wBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,qBAA4C,EAAA;EACpE,QAAA,IAAM,WAAW,GAAY,CAAC,qBAAqB,CAAC,OAAO,CAAC;UAC5D,IAAI,CAAC,WAAW,EAAE;cAChB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;EAC/E,SAAA;EAAM,aAAA;cACL,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,qBAAqB,CAAC,YAAY,CAAC,CAAC;EAC5E,SAAA;EACD,QAAA,qBAAqB,CAAC,OAAO,GAAG,WAAW,CAAC;OAC7C,CAAA;;;;EAxDF,IAAA,EAAA,IAAA,EAAAX,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,sBAAsB;EAChC,gBAAA,QAAQ,EAAE,g3BAgBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAxBO,iBAAiB,EAAA;;;+BA2BtBG,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,4BAA4B,EAAA,EAAA,CAAA;;;ACgB3C,MAAA,wBAAA,kBAAA,YAAA;EAkBE,IAAA,SAAA,wBAAA,CACS,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAlB3B,QAAA,IAAK,CAAA,KAAA,GAAgB8B,cAAI,CAAC;EAKnC,QAAA,IAAO,CAAA,OAAA,GAAgC,EAAE,CAAC;EAG1C,QAAA,IAAA,CAAA,aAAa,GAA+C,IAAI7C,eAAY,EAAgC,CAAC;EAQ7G,QAAA,IAAc,CAAA,cAAA,GAAY,KAAK,CAAC;OAItC;EATM,IAAA,wBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAQD,IAAA,wBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UAAA,IAOC,KAAA,GAAA,IAAA,CAAA;UANC,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;cAC3C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,QAAQ,KAAK,KAAI,CAAC,OAAO,CAAC,QAAQ,CAAA,EAAA,CAAC,CAAC;EAClF,YAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;kBACvB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EACtC,aAAA;EACF,SAAA;OACF,CAAA;MAEM,wBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,YAAuC,EAAA;EAC/D,QAAA,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;UAClC,IAAI,CAAC,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC;UACpD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACtC,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;OAC7B,CAAA;EACM,IAAA,wBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;EACL,QAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;OAC7B,CAAA;;;;EAzEF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,qBAAqB;EAC/B,gBAAA,QAAQ,EAAE,skCAqBT;EACD,gBAAA,UAAU,EAAE;sBACVC,kBAAO,CAAC,iBAAiB,EAAE;0BACzBC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;0BACjCD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;EACnC,wBAAAC,qBAAU,CAAC,WAAW,EAAEC,kBAAO,CAAC,mBAAmB,CAAC,CAAC;EACrD,wBAAAD,qBAAU,CAAC,WAAW,EAAEC,kBAAO,CAAC,gBAAgB,CAAC,CAAC;uBACnD,CAAC;EACH,iBAAA;kBACD,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAnCO,gBAAgB,EAAA;;;wBAsCrBG,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;8BAGLC,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,2BAA2B,EAAA,EAAA,CAAA;;;AC5C1C,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;;EAZC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACN,gBAAA,OAAO,EAAE;sBACLC,mBAAY;sBACZoC,6BAAU;EACb,iBAAA;EACH,gBAAA,YAAY,EAAE;sBACZ,wBAAwB;EACzB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,wBAAwB;EACzB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACOD,MAAA,wBAAA,kBAAA,YAAA;EAWE,IAAA,SAAA,wBAAA,CACS,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAX3B,QAAA,IAAK,CAAA,KAAA,GAAgBT,cAAI,CAAC;OAYrC;EANE,IAAA,wBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAMM,IAAA,wBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,YAAA;UACL,IAAI,CAAC,OAAO,CAAC,uBAAuB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC;OAC9E,CAAA;;;;EA9BF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,qBAAqB;EAC/B,gBAAA,QAAQ,EAAE,+RAQP;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cApBO,gBAAgB,EAAA;;;wBAwBrBG,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,2BAA2B,EAAA,EAAA,CAAA;;;ACZ1C,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;;EAZC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;sBACZoC,6BAAU;EACX,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,wBAAwB;EACzB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,wBAAwB;EACzB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACMD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;;EAfC,IAAA,EAAA,IAAA,EAAArC,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;sBACZqC,sCAAmB;sBACnB,qBAAqB;sBACrBD,6BAAU;sBACV,qBAAqB;EACtB,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,wBAAwB;EACzB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,wBAAwB;EACzB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACYD,MAAA,0BAAA,kBAAA,YAAA;EAeE,IAAA,SAAA,0BAAA,CACS,iBAAoC,EAAA;EAApC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;EAdtC,QAAA,IAAW,CAAA,WAAA,GAAc,EAAE,CAAC;EAG5B,QAAA,IAAO,CAAA,OAAA,GAAiC,EAAE,CAAC;EAG3C,QAAA,IAAuB,CAAA,uBAAA,GAAY,IAAI,CAAC;OAU9C;EAPM,IAAA,0BAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;MAOM,0BAA8B,CAAA,SAAA,CAAA,8BAAA,GAA9B,UAA+B,OAAgB,EAAA;UACpD,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,yBAAyB,GAAG,OAAO,CAAC;EACpG,QAAA,IAAI,CAAC,iBAAiB,CAAC,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,CAAC;OAC9I,CAAA;MAEM,0BAAkC,CAAA,SAAA,CAAA,kCAAA,GAAlC,UAAmC,OAAgB,EAAA;UACxD,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,6BAA6B,GAAG,OAAO,CAAC;EACxG,QAAA,IAAI,CAAC,iBAAiB,CAAC,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,CAAC;OAC9I,CAAA;;;;EAxDF,IAAA,EAAA,IAAA,EAAAlD,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,wBAAwB;EAClC,gBAAA,QAAQ,EAAE,8kCAuBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA/BO,iBAAiB,EAAA;;;4BAiCtBG,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;wCAGLA,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,8BAA8B,EAAA,EAAA,CAAA;;;ACE7C,MAAA,yBAAA,kBAAA,YAAA;EAaE,IAAA,SAAA,yBAAA,CACS,iBAAoC,EACpC,WAA6B,EAC5B,QAAuB,EAAA;EAFxB,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;EACpC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;EAC5B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAe;EAfjB,QAAA,IAAK,CAAA,KAAA,GAAgB8B,cAAI,CAAC;EAGnC,QAAA,IAAQ,CAAA,QAAA,GAAc,EAAE,CAAC;EAOzB,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;OAOvC;EAXM,IAAA,yBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAWD,IAAA,yBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACE,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,WAAW,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;EAC7H,YAAA,IAAM,cAAc,GAAY,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,SAAS,CAAX,EAAW,CAAC,CAAC;EACrE,YAAA,IAAI,cAAc,EAAE;kBAClB,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC;EAClG,gBAAA,IAAI,CAAC,iBAAiB,CAAC,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,CAAC;EAC9I,aAAA;EACF,SAAA;OACF,CAAA;MAEM,yBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,OAAgB,EAAA;UAC1C,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;EAC3F,QAAA,IAAI,CAAC,iBAAiB,CAAC,+CAA+C,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,wCAAwC,CAAC,CAAC;EAC7I,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;OAC9B,CAAA;EACM,IAAA,yBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;EACL,QAAA,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;OAC9B,CAAA;;;;EA1EF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,sBAAsB;EAChC,gBAAA,QAAQ,EAAE,o3CAwBT;EACD,gBAAA,UAAU,EAAE;sBACVC,kBAAO,CAAC,iBAAiB,EAAE;0BACzBC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,MAAM,EAAE,CAAC,EAAC,CAAC,CAAC;0BACjCD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;EACnC,wBAAAC,qBAAU,CAAC,WAAW,EAAEC,kBAAO,CAAC,mBAAmB,CAAC,CAAC;EACrD,wBAAAD,qBAAU,CAAC,WAAW,EAAEC,kBAAO,CAAC,gBAAgB,CAAC,CAAC;uBACnD,CAAC;EACH,iBAAA;kBACD,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAtCO,iBAAiB,EAAA;cAFjB,gBAAgB,EAAA;cADhB,aAAa,EAAA;;;yBA6ClBG,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,4BAA4B,EAAA,EAAA,CAAA;;;AClC3C,MAAA,sBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sBAAA,GAAA;;;;;EAZC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;sBACZoC,6BAAU;EACX,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,yBAAyB;EAC1B,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,yBAAyB;EAC1B,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACQD,MAAA,uBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,uBAAA,GAAA;;;;;EAhBC,IAAA,EAAA,IAAA,EAAArC,WAAQ,EAAC,IAAA,EAAA,CAAA;EACN,gBAAA,OAAO,EAAE;sBACLC,mBAAY;sBACZoC,6BAAU;sBACV,qBAAqB;sBACrB,sBAAsB;sBACtBC,sCAAmB;sBACnB,qBAAqB;EACxB,iBAAA;EACH,gBAAA,YAAY,EAAE;sBACZ,0BAA0B;EAC3B,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,0BAA0B;EAC3B,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACAD,MAAA,sBAAA,kBAAA,YAAA;EAUE,IAAA,SAAA,sBAAA,CACS,iBAAoC,EAAA;EAApC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAAmB;EARtC,QAAA,IAAO,CAAA,OAAA,GAAiC,EAAE,CAAC;OAUjD;EAPM,IAAA,sBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;;EA3BF,IAAA,EAAA,IAAA,EAAAnD,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,oBAAoB;EAC9B,gBAAA,QAAQ,EAAE,+gBAcP;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cApBO,iBAAiB,EAAA;;;wBAuBtBG,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,0BAA0B,EAAA,EAAA,CAAA;;;ACTzC,MAAA,mBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mBAAA,GAAA;;;;;EAbC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;sBACZ,qBAAqB;sBACrB,qBAAqB;EACtB,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,sBAAsB;EACvB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,sBAAsB;EACvB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACaD,MAAA,sBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,sBAAA,GAAA;;;;;EArBC,IAAA,EAAA,IAAA,EAAAD,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,YAAY,EAAE;sBACZ,yBAAyB;EAC1B,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACPC,mBAAY;sBACZsC,iCAAc;sBACdF,6BAAU;sBACV,qBAAqB;sBACrB,uBAAuB;sBACvBG,+BAAY;sBACZ,mBAAmB;EACpB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,yBAAyB;EAC1B,iBAAA;EACD,gBAAA,SAAS,EAAE;sBACT,iBAAiB;sBACjB,YAAY;EACb,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACMD,MAAA,0BAAA,kBAAA,YAAA;EAWE,IAAA,SAAA,0BAAA,CACU,aAA2B,EAAA;EAA3B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EANrB,QAAA,IAAA,CAAA,sBAAsB,GAAsB,IAAIzD,eAAY,EAAE,CAAC;EAExE,QAAA,IAAU,CAAA,UAAA,GAAkB,EAAE,CAAC;EAC/B,QAAA,IAAuB,CAAA,uBAAA,GAAyB,EAAC,IAAI,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAC,CAAC;OAKxG;EAED,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACE,IAAI,CAAC,aAAa,EAAE,CAAC;OACtB,CAAA;EAEM,IAAA,0BAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;EACL,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;OACpC,CAAA;MAEY,0BAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,IAAsB,EAAA;;;;;EAC/C,wBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;EACrB,wBAAA,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;0BAC5B,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA,CAAA;;EAAnD,wBAAA,EAAA,CAAA,IAAA,EAAmD,CAAC;;;;EACrD,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,0BAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;EACL,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;OACpC,CAAA;EAEM,IAAA,0BAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;UAAA,IAIN,KAAA,GAAA,IAAA,CAAA;UAHC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,UAAC,KAAoB,EAAA;EAC3D,YAAA,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;EAC1B,SAAC,CAAC,CAAC;OACJ,CAAA;;;;EApEF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,wBAAwB;EAClC,gBAAA,QAAQ,EAAE,qnCAyBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAlCO,YAAY,EAAA;;;2CAqCjBG,QAAK,EAAA,CAAA;uCAGLC,SAAM,EAAA,CAAA;;;AChBT,MAAA,iBAAA,kBAAA,YAAA;EArBA,IAAA,SAAA,iBAAA,GAAA;EAwBS,QAAA,IAAuB,CAAA,uBAAA,GAAqB,EAAE,CAAC;EAG/C,QAAA,IAAA,CAAA,eAAe,GAA4C,IAAId,eAAY,EAA6B,CAAC;EAEzG,QAAA,IAAA,CAAA,eAAe,GAA8B,IAAIiC,sDAAyB,EAAE,CAAC;OAMrF;MAJQ,iBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,IAAoB,EAAA;UACzC,IAAI,CAAC,eAAe,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC;UACrD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;OACjD,CAAA;;;;EAlCF,IAAA,EAAA,IAAA,EAAA7B,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,cAAc;EACxB,gBAAA,QAAQ,EAAE,isCAgBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;wCAGEG,QAAK,EAAA,CAAA;gCAGLC,SAAM,EAAA,CAAA;;;ACST,MAAA,iBAAA,kBAAA,YAAA;MAkBE,SACS,iBAAA,CAAA,gBAAkC,EACjC,aAA2B,EAAA;EAD5B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EACjC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAnBrB,QAAA,IAAK,CAAA,KAAA,GAAgB+B,cAAI,CAAC;EAGnC,QAAA,IAAuB,CAAA,uBAAA,GAAqB,EAAE,CAAC;EAG/C,QAAA,IAAkB,CAAA,kBAAA,GAA2B,EAAE,CAAC;EAGhD,QAAA,IAAA,CAAA,eAAe,GAAiC,IAAI7C,eAAY,EAAkB,CAAC;EAG1E,QAAA,IAAA,CAAA,mBAAmB,GAAiC,IAAIA,eAAY,EAAE,CAAC;EAGvE,QAAA,IAAA,CAAA,uBAAuB,GAAqC,IAAIA,eAAY,EAAE,CAAC;OAM9F;MAEM,iBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,IAAI,EAAA;EAC9B,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACzC,CAAA;MAEM,iBAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,KAAK,EAAA;EACnC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACtC,CAAA;;;;EA7DF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,cAAc;EACxB,gBAAA,QAAQ,EAAE,wsDA0BT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cApCO,gBAAgB,EAAA;cAEhB,YAAY,EAAA;;;wCAsCjBG,QAAK,EAAA,CAAA;mCAGLA,QAAK,EAAA,CAAA;gCAGLC,SAAM,EAAA,CAAA;oCAGNA,SAAM,EAAA,CAAA;wCAGNA,SAAM,EAAA,CAAA;;;ACiCT,MAAA,kBAAA,kBAAA,YAAA;EAwCE,IAAA,SAAA,kBAAA,CACU,aAA2B,EAC3B,gBAAiC,EACjC,eAAkC,EAAA;EAFlC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAC3B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAiB;EACjC,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAmB;EA1C5B,QAAA,IAAK,CAAA,KAAA,GAAgB+B,cAAI,CAAC;EAGnC,QAAA,IAAgB,CAAA,gBAAA,GAAqB,EAAE,CAAC;EAUxC,QAAA,IAAU,CAAA,UAAA,GAAgC,EAAE,CAAC;EAGpC,QAAA,IAAA,CAAA,mBAAmB,GAAiC,IAAI7C,eAAY,EAAE,CAAC;EAGvE,QAAA,IAAA,CAAA,uBAAuB,GAAqC,IAAIA,eAAY,EAAE,CAAC;EAIxF,QAAA,IAAY,CAAA,YAAA,GAAqB,EAAE,CAAC;EACpC,QAAA,IAAuB,CAAA,uBAAA,GAAqB,EAAE,CAAC;EAC/C,QAAA,IAA2B,CAAA,2BAAA,GAAqB,EAAE,CAAC;EACnD,QAAA,IAAiB,CAAA,iBAAA,GAAqB,EAAE,CAAC;EACzC,QAAA,IAA2B,CAAA,2BAAA,GAAqB,EAAE,CAAC;EACnD,QAAA,IAAkB,CAAA,kBAAA,GAA2B,EAAE,CAAC;EAChD,QAAA,IAAgB,CAAA,gBAAA,GAA2B,EAAE,CAAC;EAC9C,QAAA,IAAa,CAAA,aAAA,GAAoB,EAAE,CAAC;EAEpC,QAAA,IAAA,CAAA,yBAAyB,GAA2B,IAAI8C,6CAAsB,EAAE,CAAA;EAChF,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;EACxC,QAAA,IAAc,CAAA,cAAA,GAAuB,EAAE,CAAC;EAExC,QAAA,IAAI,CAAA,IAAA,GAAU,EAAE,CAAC;EACjB,QAAA,IAAW,CAAA,WAAA,GAAU,EAAE,CAAC;OAO9B;EAED,IAAA,kBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACE,IAAI,CAAC,IAAI,GAAG;EACV,YAAA,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,EAAC;EAC5D,YAAA,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAC;EACnE,YAAA,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAC;EAClE,YAAA,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAC;EACrE,YAAA,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,EAAC;EAC7D,YAAA,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,EAAC;WAC7D,CAAC;UAEF,IAAI,CAAC,WAAW,GAAG;EACjB,YAAA,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAC;EACzD,YAAA;kBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC;EAC/C,gBAAA,MAAM,EAAE,KAAK;EACd,aAAA;EACD,YAAA;kBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,kBAAkB,CAAC;EACpD,gBAAA,MAAM,EAAE,KAAK;EACd,aAAA;EACD,YAAA,EAAC,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,EAAC;EAC1D,YAAA;kBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,YAAY,CAAC;EAC9C,gBAAA,MAAM,EAAE,KAAK;EACd,aAAA;WACF,CAAC;OAGH,CAAA;MAEM,kBAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,IAA+B,EAAA;UAC1D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,KAAK,CAAC;UAC5B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;UAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACjE,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;EACrD,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;OACzB,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UAAA,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAM,uBAAuB,GAA2B,IAAIY,6CAAsB,EAAE,CAAC;EACrF,QAAA,uBAAuB,CAAC,IAAI,GAAG,GAAG,CAAC;UACnC,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;UAChE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EACrE,YAAA,KAAI,CAAC,YAAY,GAAG,MAAM,CAAA;EAC5B,SAAC,CAAC,CAAC;OACJ,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,0BAA0B,GAA1B,YAAA;UAAA,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAM,uBAAuB,GAA2B,IAAIA,6CAAsB,EAAE,CAAC;EACrF,QAAA,uBAAuB,CAAC,IAAI,GAAG,GAAG,CAAC;UACnC,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;UAChE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EACrE,YAAA,KAAI,CAAC,uBAAuB,GAAG,MAAM,CAAC;EACxC,SAAC,CAAC,CAAC;OACJ,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,8BAA8B,GAA9B,YAAA;UAAA,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAM,uBAAuB,GAA2B,IAAIA,6CAAsB,EAAE,CAAC;EACrF,QAAA,uBAAuB,CAAC,IAAI,GAAG,GAAG,CAAC;UACnC,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;UAChE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EACrE,YAAA,KAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC;EAC5C,SAAC,CAAC,CAAC;OACJ,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;UAAA,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAM,uBAAuB,GAA2B,IAAIA,6CAAsB,EAAE,CAAC;EACrF,QAAA,uBAAuB,CAAC,IAAI,GAAG,GAAG,CAAC;UACnC,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;UAChE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EACrE,YAAA,KAAI,CAAC,iBAAiB,GAAG,MAAM,CAAC;EAClC,SAAC,CAAC,CAAC;OACJ,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,yBAAyB,GAAzB,YAAA;UAAA,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAM,uBAAuB,GAA2B,IAAIA,6CAAsB,EAAE,CAAC;EACrF,QAAA,uBAAuB,CAAC,IAAI,GAAG,GAAG,CAAC;UACnC,uBAAuB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;UAChE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EACrE,YAAA,KAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC;EAC5C,SAAC,CAAC,CAAC;OACJ,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;UAAA,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAM,WAAW,GAAuB,IAAIV,qCAAkB,EAAE,CAAC;EACjE,QAAA,WAAW,CAAC,IAAI,GAAG,GAAG,CAAC;EACvB,QAAA,WAAW,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;UAChE,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EAC/D,YAAA,KAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;EACnC,SAAC,CAAC,CAAC;OACJ,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;UAAA,IAON,KAAA,GAAA,IAAA,CAAA;EANC,QAAA,IAAM,SAAS,GAAuB,IAAIA,qCAAkB,EAAE,CAAC;EAC/D,QAAA,SAAS,CAAC,IAAI,GAAG,GAAG,CAAC;EACrB,QAAA,SAAS,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;UAC9D,IAAI,CAAC,aAAa,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EAC7D,YAAA,KAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC;EACjC,SAAC,CAAC,CAAC;OACJ,CAAA;MAEM,kBAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,WAAmB,EAAA;UAApC,IAIN,KAAA,GAAA,IAAA,CAAA;EAHC,QAAA,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,UAAA,MAAM,EAAA;EAC5E,YAAA,KAAI,CAAC,aAAa,GAAG,MAAM,CAAC;EAC9B,SAAC,CAAC,CAAC;OACJ,CAAA;MAEM,kBAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,KAAgC,EAAA;UAAxD,IAcN,KAAA,GAAA,IAAA,CAAA;EAbC,QAAA,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;UAC/B,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;UACjD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;cACvB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;EAC3D,SAAA;UACD,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;cACvB,IAAI,CAAC,yBAAyB,CAAC,eAAe,GAAG,KAAK,CAAC,WAAW,CAAC;EACnE,YAAA,IAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;EACvE,YAAA,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO,EAAA;EAChF,gBAAA,KAAI,CAAC,cAAc,GAAG,OAAO,CAAC;EAChC,aAAC,CAAC,CAAC;EACJ,SAAA;OAEF,CAAA;MAEM,kBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,SAAoC,EAAA;EACtD,QAAA,IAAI,CAAC,uBAAuB,CAAC,SAAS,CAAC,CAAC;EACxC,QAAA,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;UAC7C,IAAI,CAAC,YAAY,EAAE,CAAC;UACpB,IAAI,CAAC,cAAc,EAAE,CAAC;UACtB,IAAI,CAAC,yBAAyB,EAAE,CAAC;UACjC,IAAI,CAAC,oBAAoB,EAAE,CAAC;UAC5B,IAAI,CAAC,8BAA8B,EAAE,CAAC;UACtC,IAAI,CAAC,0BAA0B,EAAE,CAAC;UAClC,IAAI,CAAC,eAAe,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,CAAC;EACpC,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;OAEtC,CAAA;MAEM,kBAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,IAAY,EAAA;EAClC,QAAA,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAA,SAAS,EAAA,EAAI,OAAA,SAAS,CAAC,WAAW,KAAK,IAAI,CAA9B,EAA8B,CAAC,CAAC;OAC1E,CAAA;;;;EAhQF,IAAA,EAAA,IAAA,EAAA5C,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,eAAe;EACzB,gBAAA,QAAQ,EAAE,+8FAgET;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAlFO,YAAY,EAAA;cAUZ,eAAe,EAAA;cAdfiC,oBAAiB,EAAA;;;iCA0FtB9B,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;4BAGLA,QAAK,EAAA,CAAA;2BAILA,QAAK,EAAA,CAAA;oCAGLC,SAAM,EAAA,CAAA;wCAGNA,SAAM,EAAA,CAAA;;;ACnFT,MAAA,yBAAA,kBAAA,YAAA;EAnBA,IAAA,SAAA,yBAAA,GAAA;EAoBkB,QAAA,IAAK,CAAA,KAAA,GAAgB+B,cAAI,CAAC;EAEnC,QAAA,IAAW,CAAA,WAAA,GAAG,CAAC,CAAC;OAKxB;;;;EA3BA,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,uBAAuB;EACjC,gBAAA,QAAQ,EAAE,03BAcT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;iCAMEG,QAAK,EAAA,CAAA;;;ACGR,MAAA,sBAAA,kBAAA,YAAA;MAME,SACS,sBAAA,CAAA,gBAAkC,EACjC,aAA2B,EAAA;EAD5B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EACjC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAPrB,QAAA,IAAK,CAAA,KAAA,GAAgBgC,cAAI,CAAC;EAGnC,QAAA,IAAgB,CAAA,gBAAA,GAA4B,EAAE,CAAC;OAMrD;;;;EAnCF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,oBAAoB;EAC9B,gBAAA,QAAQ,EAAE,0pCAoBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA7BO,gBAAgB,EAAA;cAEhB,YAAY,EAAA;;;iCA+BjBG,QAAK,EAAA,CAAA;;;ACqGR,MAAA,sBAAA,kBAAA,YAAA;EA4CE,IAAA,SAAA,sBAAA,CACS,gBAAkC,EACjC,aAA2B,EAC3B,eAAkC,EAAA;EAFnC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EACjC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAC3B,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAmB;EA9C5B,QAAA,IAAK,CAAA,KAAA,GAAgBgC,cAAI,CAAC;EAGnC,QAAA,IAAgB,CAAA,gBAAA,GAAuB,EAAE,CAAC;EAG1C,QAAA,IAAuB,CAAA,uBAAA,GAAqB,EAAE,CAAC;EAY/C,QAAA,IAAiB,CAAA,iBAAA,GAAgC,EAAE,CAAC;EAG3C,QAAA,IAAA,CAAA,mBAAmB,GAAiC,IAAI7C,eAAY,EAAE,CAAC;EAGvE,QAAA,IAAA,CAAA,uBAAuB,GAAqC,IAAIA,eAAY,EAAE,CAAC;EAOxF,QAAA,IAAsB,CAAA,sBAAA,GAAW,KAAK,CAAC;EAGvC,QAAA,IAAA,CAAA,yBAAyB,GAA2B,IAAI8C,6CAAsB,EAAE,CAAA;EAChF,QAAA,IAAc,CAAA,cAAA,GAAoB,EAAE,CAAC;EAErC,QAAA,IAAW,CAAA,WAAA,GAAkB,EAAE,CAAC;EAChC,QAAA,IAAA,CAAA,0BAA0B,GAAqB,IAAIX,kCAAgB,EAAE,CAAC;EAIrE,QAAA,IAAK,CAAA,KAAA,GAAmB,EAAE,CAAC;OAOlC;EAzCD,IAAA,MAAA,CAAA,cAAA,CACW,sBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADlB,QAAA,GAAA,EAAA,UACmB,OAAwB,EAAA;WAE1C;;;EAAA,KAAA,CAAA,CAAA;MAAA,CAAC;EAwCD,IAAA,sBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UAAA,IAUA,KAAA,GAAA,IAAA,CAAA;UATC,IAAI,CAAC,aAAa,CAAC,aAAa,EAAE,CAAC,IAAI,CAAE,UAAA,MAAM,EAAA;EAC7C,YAAA,KAAI,CAAC,WAAW,GAAG,MAAM,CAAC;EAC5B,SAAC,CAAC,CAAC;EACH,QAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,SAAS,CAAG,UAAA,iBAAiB,EAAA;EACjF,YAAA,KAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAE,UAAA,MAAM,EAAA;EACxF,gBAAA,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;EAC/B,aAAC,CAAC,CAAC;WACJ,CAAC,CAAC,CAAC;OAEL,CAAA;MAEM,sBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,GAAG,EAAA;UAAnB,IAQN,KAAA,GAAA,IAAA,CAAA;EAPC,QAAA,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAE,UAAA,MAAM,EAAA;EAC7F,YAAA,KAAI,CAAC,cAAc,GAAG,MAAM,CAAC;EAC7B,YAAA,KAAI,CAAC,kBAAkB,GAAG,GAAG,CAAC,UAAU,CAAC;EACzC,YAAA,KAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;EAC3C,YAAA,KAAI,CAAC,0BAA0B,GAAG,GAAG,CAAC;EACxC,SAAC,CAAC,CAAC;OAEJ,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,uBAAuB,GAAvB,YAAA;UAAA,IAIN,KAAA,GAAA,IAAA,CAAA;EAHC,QAAA,IAAI,CAAC,aAAa,CAAC,2BAA2B,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,UAAC,SAAS,EAAA;EAChG,YAAA,KAAI,CAAC,cAAc,GAAG,SAAS,CAAC;EAClC,SAAC,CAAC,CAAC;OACJ,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,UAAgB,GAAqB,EAAE,KAAoB,EAAA;EAChE,QAAA,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC;EAC3C,QAAA,GAAG,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;OACnC,CAAA;MAEM,sBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,IAAI,EAAA;EAC9B,QAAA,IAAI,CAAC,0BAA0B,CAAC,aAAa,GAAG,IAAI,CAAC;OACtD,CAAA;MAEM,sBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,IAAI,EAAA;EAC9B,QAAA,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACzC,CAAA;MAEM,sBAAwB,CAAA,SAAA,CAAA,wBAAA,GAAxB,UAAyB,KAAK,EAAA;EACnC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACtC,CAAA;EACM,IAAA,sBAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;EACL,QAAA,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;OACpC,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;UAAA,IAiBN,KAAA,GAAA,IAAA,CAAA;;EAhBC,QAAA,IAAI,CAAC,0BAA0B,CAAC,QAAQ,GAAG,IAAI,CAAC;UAChD,IAAI,CAAC,0BAA0B,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;UACjE,IAAI,CAAC,0BAA0B,CAAC,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC;UACvD,IAAI,CAAC,0BAA0B,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC;EACjF,QAAA,IAAI,CAAC,0BAA0B,CAAC,UAAU,GAAG,CAAA,EAAA,GAAA,IAAI,CAAC,kBAAkB,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,QAAQ,EAAE,CAAC;EACjF,QAAA,IAAI,CAAC,aAAa,CAAC,oBAAoB,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,IAAI,CAAE,UAAA,MAAM,EAAA;;EAEnF,YAAA,KAAI,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAA,EAAA,GAAA,KAAI,CAAC,0BAA0B,CAAC,MAAM,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAQ,EAAE,CAAC;cAC3F,KAAI,CAAC,yBAAyB,CAAC,eAAe,GAAG,KAAI,CAAC,0BAA0B,CAAC,WAAW,CAAC;EAC7F,YAAA,KAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,KAAI,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,UAAC,OAAO,EAAA;EAChF,gBAAA,KAAI,CAAC,sBAAsB,GAAG,KAAK,CAAC;EACpC,gBAAA,KAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;EACrC,gBAAA,KAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;EAClC,aAAC,CAAC,CAAC;EACH,SAAC,CACF,CAAC;OACH,CAAA;MAEM,sBAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,MAAmB,EAAA;UAC/C,IAAI,CAAC,0BAA0B,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;OACrE,CAAA;MAEM,sBAA6B,CAAA,SAAA,CAAA,6BAAA,GAA7B,UAA8B,MAAc,EAAA;EACjD,QAAA,IAAI,CAAC,0BAA0B,CAAC,gBAAgB,GAAG,MAAM,CAAC;OAC3D,CAAA;EAEM,IAAA,sBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;;EACL,QAAA,QAAQ,EAAC,CAAA,EAAA,GAAA,IAAI,CAAC,0BAA0B,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,YAAY,CAAA,IAAI,CAAA,MAAA,CAAA,EAAA,GAAA,IAAI,CAAC,0BAA0B,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,gBAAgB,0CAAE,MAAM,KAAI,CAAC,EAAE;OAC3H,CAAA;MAGM,sBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,EAAU,EAAA;EAC3B,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAE,UAAA,MAAM,EAAA,EAAI,OAAA,MAAM,CAAC,YAAY,KAAK,EAAE,CAA1B,EAA0B,CAAC,CAAC;OACrE,CAAA;MAEM,sBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,MAAc,EAAA;;UACrC,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,cAAc,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,IAAI,CAAE,UAAA,QAAQ,EAAA,EAAI,OAAA,QAAQ,CAAC,UAAU,MAAK,MAAM,KAAA,IAAA,IAAN,MAAM,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAN,MAAM,CAAE,QAAQ,EAAE,CAAA,CAAA,EAAA,CAAC,CAAC;OAC3F,CAAA;;;;EAlQF,IAAA,EAAA,IAAA,EAAA/B,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,mBAAmB;EAC7B,gBAAA,QAAQ,EAAE,ovMAmHT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cApIO,gBAAgB,EAAA;cAEhB,YAAY,EAAA;cAJZiC,oBAAiB,EAAA;;;iCA0ItB9B,QAAK,EAAA,CAAA;wCAGLA,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;4BAKLA,QAAK,EAAA,CAAA;kCAILA,QAAK,EAAA,CAAA;oCAGLC,SAAM,EAAA,CAAA;wCAGNA,SAAM,EAAA,CAAA;kCAGND,QAAK,EAAA,CAAA;;;AChIR,MAAA,qBAAA,kBAAA,YAAA;MAYE,SACS,qBAAA,CAAA,gBAAkC,EACjC,aAA2B,EAAA;EAD5B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EACjC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAbrB,QAAA,IAAK,CAAA,KAAA,GAAgBgC,cAAI,CAAC;EAGnC,QAAA,IAAuB,CAAA,uBAAA,GAAqB,EAAE,CAAC;EAM/C,QAAA,IAAY,CAAA,YAAA,GAAqB,EAAE,CAAC;OAM1C;;;;EA5CF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,kBAAkB;EAC5B,gBAAA,QAAQ,EAAE,i1DAuBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAhCO,gBAAgB,EAAA;cAChB,YAAY,EAAA;;;wCAmCjBG,QAAK,EAAA,CAAA;8BAGLA,QAAK,EAAA,CAAA;6BAGLA,QAAK,EAAA,CAAA;;;ACKR,MAAA,eAAA,kBAAA,YAAA;EAgCE,IAAA,SAAA,eAAA,CACU,aAA2B,EAAA;EAA3B,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAxB9B,QAAA,IAAI,CAAA,IAAA,GAAU,EAAE,CAAC;EAGjB,QAAA,IAAa,CAAA,aAAA,GAAU,EAAE,CAAC;EAG1B,QAAA,IAAqB,CAAA,qBAAA,GAAY,KAAK,CAAC;EAGvC,QAAA,IAAiB,CAAA,iBAAA,GAAgC,EAAE,CAAC;EAMpD,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;EAGxC,QAAA,IAAA,CAAA,iBAAiB,GAA4C,IAAIb,eAAY,EAA6B,CAAC;OAQjH;MAEM,eAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,GAAQ,EAAA;UACvB,IAAI,GAAG,CAAC,YAAY,EAAE;cACpB,GAAG,CAAC,YAAY,EAAE,CAAC;EACpB,SAAA;EACD,QAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,MAAM,GAAG,KAAK,CAAhB,EAAgB,CAAC,CAAC;EACzC,QAAA,GAAG,CAAC,MAAM,GAAG,IAAI,CAAC;OACnB,CAAA;MAEM,eAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,YAAiB,EAAA;UACzC,IAAI,YAAY,CAAC,YAAY,EAAE;cAC7B,YAAY,CAAC,YAAY,EAAE,CAAC;EAC7B,SAAA;EACD,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,MAAM,GAAG,KAAK,CAAhB,EAAgB,CAAC,CAAC;EAClD,QAAA,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC;OAC5B,CAAA;MAEM,eAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,KAAK,EAAA;EAC5B,QAAA,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACpC,CAAA;;;;EA/FF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,YAAY;EACtB,gBAAA,QAAQ,EAAE,gjDAmCT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA1CO,YAAY,EAAA;;;+BA6CjBG,QAAK,EAAA,CAAA;qCAGLA,QAAK,EAAA,CAAA;qBAGLA,QAAK,EAAA,CAAA;8BAGLA,QAAK,EAAA,CAAA;sCAGLA,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;wBAGLA,QAAK,EAAA,CAAA;uCAGLA,QAAK,EAAA,CAAA;kCAGLC,SAAM,EAAA,CAAA;kCAGND,QAAK,EAAA,CAAA;;;AC5DR,MAAA,YAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,YAAA,GAAA;;;;;EAZC,IAAA,EAAA,IAAA,EAAAI,WAAQ,EAAC,IAAA,EAAA,CAAA;EACN,gBAAA,OAAO,EAAE;sBACLC,mBAAY;sBACZyC,qCAAkB;EACrB,iBAAA;EACH,gBAAA,YAAY,EAAE;sBACZ,eAAe;EAChB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,eAAe;EAChB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACiBD,MAAA,gCAAA,kBAAA,YAAA;EAME,IAAA,SAAA,gCAAA,CACS,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAN3B,QAAA,IAAK,CAAA,KAAA,GAAgBd,cAAI,CAAC;EAGnC,QAAA,IAAuB,CAAA,uBAAA,GAAqB,EAAE,CAAC;OAKrD;;;;EArCF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,+BAA+B;EACzC,gBAAA,QAAQ,EAAE,41DAuBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA/BO,gBAAgB,EAAA;;;wCAmCrBG,QAAK,EAAA,CAAA;;;ACHR,MAAA,oCAAA,kBAAA,YAAA;EAME,IAAA,SAAA,oCAAA,CACS,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAN3B,QAAA,IAAK,CAAA,KAAA,GAAgBgC,cAAI,CAAC;EAGnC,QAAA,IAA2B,CAAA,2BAAA,GAAqB,EAAE,CAAC;OAKzD;;;;EArCF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,mCAAmC;EAC7C,gBAAA,QAAQ,EAAE,g2DAuBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA/BO,gBAAgB,EAAA;;;4CAmCrBG,QAAK,EAAA,CAAA;;;ACHR,MAAA,0BAAA,kBAAA,YAAA;EAME,IAAA,SAAA,0BAAA,CACS,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAN3B,QAAA,IAAK,CAAA,KAAA,GAAgBgC,cAAI,CAAC;EAGnC,QAAA,IAAiB,CAAA,iBAAA,GAAqB,EAAE,CAAC;OAK/C;;;;EArCF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,wBAAwB;EAClC,gBAAA,QAAQ,EAAE,s1DAuBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA/BO,gBAAgB,EAAA;;;kCAmCrBG,QAAK,EAAA,CAAA;;;ACHR,MAAA,+BAAA,kBAAA,YAAA;EAME,IAAA,SAAA,+BAAA,CACS,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAN3B,QAAA,IAAK,CAAA,KAAA,GAAgBgC,cAAI,CAAC;EAGnC,QAAA,IAAsB,CAAA,sBAAA,GAAqB,EAAE,CAAC;OAKpD;;;;EArCF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,6BAA6B;EACvC,gBAAA,QAAQ,EAAE,21DAuBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA/BO,gBAAgB,EAAA;;;uCAmCrBG,QAAK,EAAA,CAAA;;;ECpCR,IAAY+C,YAOX,CAAA;EAPD,CAAA,UAAY,UAAU,EAAA;EACpB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,SAAkB,CAAA;EAClB,IAAA,UAAA,CAAA,KAAA,CAAA,GAAA,SAAe,CAAA;EACf,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB,CAAA;EACrB,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,SAAsB,CAAA;EACtB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,SAAgB,CAAA;EAChB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACrB,CAAC,EAPWA,YAAU,KAAVA,YAAU,GAOrB,EAAA,CAAA,CAAA;;ACOD,MAAA,sBAAA,kBAAA,YAAA;EAXA,IAAA,SAAA,sBAAA,GAAA;EAgCS,QAAA,IAAA,CAAA,KAAK,GAAeA,YAAU,CAAC,GAAG,CAAC;OAqB3C;EAxCC,IAAA,MAAA,CAAA,cAAA,CACW,sBAAK,CAAA,SAAA,EAAA,OAAA,EAAA;EAKhB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,MAAM,CAAC;WACpB;EARD,QAAA,GAAA,EAAA,UACiB,KAAa,EAAA;EAC5B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;cACpB,IAAI,CAAC,SAAS,EAAE,CAAC;WAClB;;;EAAA,KAAA,CAAA,CAAA;EAUM,IAAA,sBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAKM,IAAA,sBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;EACL,QAAA,OAAO,yBAA0B,GAAA,IAAI,CAAC,KAAK,GAAM,KAAA,GAAA,IAAI,CAAC,KAAK,GAAY,WAAA,GAAA,IAAI,CAAC,KAAK,WAAQ,CAAC;OAC3F,CAAA;EAEO,IAAA,sBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACN,QAAA,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,EAAE;EACnB,YAAA,IAAI,CAAC,KAAK,GAAGA,YAAU,CAAC,MAAM,CAAC;EAChC,SAAA;eAAM,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE;EAC7C,YAAA,IAAI,CAAC,KAAK,GAAGA,YAAU,CAAC,GAAG,CAAC;EAC7B,SAAA;eAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE;EAC9C,YAAA,IAAI,CAAC,KAAK,GAAGA,YAAU,CAAC,SAAS,CAAC;EACnC,SAAA;eAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,EAAE,EAAE;EAC9C,YAAA,IAAI,CAAC,KAAK,GAAGA,YAAU,CAAC,UAAU,CAAC;EACpC,SAAA;eAAM,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,GAAG,GAAG,EAAE;EAC/C,YAAA,IAAI,CAAC,KAAK,GAAGA,YAAU,CAAC,IAAI,CAAC;EAC9B,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,KAAK,IAAI,GAAG,EAAE;EAC5B,YAAA,IAAI,CAAC,KAAK,GAAGA,YAAU,CAAC,OAAO,CAAC;EACjC,SAAA;OACF,CAAA;;;;EApDF,IAAA,EAAA,IAAA,EAAAxD,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,iBAAiB;EAC3B,gBAAA,QAAQ,EAAE,wLAMT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;sBAGEG,QAAK,EAAA,CAAA;sBAULA,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,uBAAuB,EAAA,EAAA,CAAA;;;ACdtC,MAAA,mBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,mBAAA,GAAA;;;;;EAXC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;EACb,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,sBAAsB;EACvB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,sBAAsB;EACvB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACVD2C,gBAAK,CAAC,QAAQ,CACVC,2BAAkB,EAClBC,mBAAU,CACb,CAAC;EAEF,IAAY,UAOX,CAAA;EAPD,CAAA,UAAY,UAAU,EAAA;EAClB,IAAA,UAAA,CAAA,QAAA,CAAA,GAAA,SAAkB,CAAA;EAClB,IAAA,UAAA,CAAA,KAAA,CAAA,GAAA,SAAe,CAAA;EACf,IAAA,UAAA,CAAA,WAAA,CAAA,GAAA,SAAqB,CAAA;EACrB,IAAA,UAAA,CAAA,YAAA,CAAA,GAAA,SAAsB,CAAA;EACtB,IAAA,UAAA,CAAA,MAAA,CAAA,GAAA,SAAgB,CAAA;EAChB,IAAA,UAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACvB,CAAC,EAPW,UAAU,KAAV,UAAU,GAOrB,EAAA,CAAA,CAAA,CAAA;AAmBD,MAAA,uBAAA,kBAAA,YAAA;EAjBA,IAAA,SAAA,uBAAA,GAAA;EA2BW,QAAA,IAAa,CAAA,aAAA,GAAoB,EAAE,CAAC;EAMpC,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;EAE1B,QAAA,IAAc,CAAA,cAAA,GAAiB,EAAE,CAAC;OA8C5C;EA/DG,IAAA,MAAA,CAAA,cAAA,CAA0D,uBAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EAAjE,QAAA,GAAA,EAAA,UAAkE,OAAO,EAAA;EACrE,YAAA,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;cACxC,IAAI,CAAC,iBAAiB,EAAE,CAAC;WAC5B;;;EAAA,KAAA,CAAA,CAAA;EAgBD,IAAA,uBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACI,IAAI,CAAC,iBAAiB,EAAE,CAAC;OAC5B,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;UAAA,IAuBP,KAAA,GAAA,IAAA,CAAA;EAtBG,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;cAC1D,OAAO;EACV,SAAA;UACD,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAC,KAAiB,EAAE,KAAa,EAAA;EACzD,YAAA,IAAIF,cAAK,CAAC,KAAK,CAAC,aAAa,EAAE;EAC3B,gBAAA,IAAI,EAAE,UAAU;EAChB,gBAAA,IAAI,EAAE;EACF,oBAAA,QAAQ,EAAE,CAAC;8BACP,KAAK,EAAE,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,KAAK;EACtC,4BAAA,IAAI,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC;EAC5H,4BAAA,eAAe,EAAE;kCACb,KAAI,CAAC,SAAS,CAAC,KAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC;EACpD,gCAAA,KAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;EACrB,6BAAA;EACD,4BAAA,WAAW,EAAE,CAAC;2BACjB,CAAC;EACL,iBAAA;EACD,gBAAA,OAAO,EAAE;EACL,oBAAA,MAAM,EAAE,KAAK;EAChB,iBAAA;EACJ,aAAA,CAAC,CAAC;EACP,SAAC,CAAC,CAAA;OACL,CAAA;MAEO,uBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAa,EAAA;UAC3B,IAAI,KAAK,IAAI,CAAC,EAAE;cACZ,OAAO,UAAU,CAAC,MAAM,CAAC;EAC5B,SAAA;EAAM,aAAA,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE;cACjC,OAAO,UAAU,CAAC,GAAG,CAAC;EACzB,SAAA;EAAM,aAAA,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,GAAG,EAAE,EAAE;cAClC,OAAO,UAAU,CAAC,SAAS,CAAC;EAC/B,SAAA;EAAM,aAAA,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,GAAG,EAAE,EAAE;cAClC,OAAO,UAAU,CAAC,UAAU,CAAC;EAChC,SAAA;EAAM,aAAA,IAAI,KAAK,IAAI,EAAE,IAAI,KAAK,GAAG,GAAG,EAAE;cACnC,OAAO,UAAU,CAAC,IAAI,CAAC;EAC1B,SAAA;eAAM,IAAI,KAAK,IAAI,GAAG,EAAE;cACrB,OAAO,UAAU,CAAC,OAAO,CAAC;EAC7B,SAAA;OACJ,CAAA;;;;EAhFJ,IAAA,EAAA,IAAA,EAAAzD,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,oBAAoB;EAC9B,gBAAA,QAAQ,EAAE,grBAYT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACxC,aAAA,EAAA,EAAA;;;EAEI,IAAA,OAAA,EAAA,CAAA,EAAA,IAAA,EAAAsD,eAAY,SAAC,gBAAgB,EAAE,EAAE,IAAI,EAAEpD,aAAU,EAAE,EAAA,EAAA,CAAA;6BAKnDC,QAAK,EAAA,CAAA;8BAGLA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,0BAA0B,EAAA,EAAA,CAAA;;;ACH3C,MAAA,kBAAA,kBAAA,YAAA;MAoCE,SACY,kBAAA,CAAA,WAAuB,EACvB,eAA+B,EAAA;EAD/B,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;EACvB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAgB;EAnB3C,QAAA,IAAA,CAAA,cAAc,GAAuB,IAAIf,eAAY,EAAQ,CAAC;EAYvD,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;OAQpC;EArCD,IAAA,MAAA,CAAA,cAAA,CACW,kBAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EAKxB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,cAAc,CAAC;WAC5B;EARD,QAAA,GAAA,EAAA,UACyB,KAAsB,EAAA;EAC7C,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;cAC5B,IAAI,CAAC,wBAAwB,EAAE,CAAC;WACjC;;;EAAA,KAAA,CAAA,CAAA;EAgBM,IAAA,kBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;MAGM,kBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAiB,EAAA;EAClC,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;OAC7B,CAAA;MAYM,kBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,KAAiB,EAAA;UACtC,IAAI,IAAI,CAAC,YAAY,EAAE;cACrB,OAAO;EACR,SAAA;UACD,KAAK,CAAC,cAAc,EAAE,CAAC;UACvB,KAAK,CAAC,eAAe,EAAE,CAAC;EACxB,QAAA,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,uBAAuB,EAAE,EAAC,gBAAgB,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAC,CAAC,CAAC;EAC3M,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;OAC1B,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACL,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;EACvE,QAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;OAC3B,CAAA;EAEM,IAAA,kBAAA,CAAA,SAAA,CAAA,wBAAwB,GAAxB,YAAA;EACL,QAAA,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,UAAA,IAAI,EAAA,EAAI,OAAA,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,GAAG,GAAG,GAAG,KAAK,CAArD,EAAqD,CAAC,CAAC;OAC5F,CAAA;;;;EAnFF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,cAAc;EACxB,gBAAA,QAAQ,EAAE,4iBAUT;EACD,gBAAA,SAAS,EAAE;sBACP6D,iCAAc;EACjB,iBAAA;EACD,gBAAA,UAAU,EAAE;sBACV5D,kBAAO,CAAC,eAAe,EAAE;0BACvBC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;0BAClCD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAC,OAAO,EAAE,CAAC,EAAC,CAAC,CAAC;EAC/B,wBAAAC,qBAAU,CAAC,YAAY,EAAEC,kBAAO,CAAC,mBAAmB,CAAC,CAAC;uBACvD,CAAC;EACH,iBAAA;kBACD,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA1CCE,aAAU,EAAA;cAQJqD,iCAAc,EAAA;;;8BAqCnBpD,QAAK,EAAA,CAAA;6BAULA,QAAK,EAAA,CAAA;mCAGLA,QAAK,EAAA,CAAA;+BAGLC,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,oBAAoB,EAAA,EAAA,CAAA;EAKhC,IAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAAmD,eAAY,EAAC,IAAA,EAAA,CAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,EAAA,EAAA,CAAA;;;AClDnC,MAAA,eAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,eAAA,GAAA;;;;;EAhBC,IAAA,EAAA,IAAA,EAAAjD,WAAQ,EAAC,IAAA,EAAA,CAAA;EACN,gBAAA,OAAO,EAAE;sBACLC,mBAAY;sBACZ,mBAAmB;sBACnBiD,qCAAkB;sBAClBC,gCAAa;EAChB,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACV,kBAAkB;sBAClB,uBAAuB;EAC1B,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACL,kBAAkB;sBAClB,uBAAuB;EAC1B,iBAAA;EACJ,aAAA,EAAA,EAAA;;;ACTD,MAAA,uBAAA,kBAAA,YAAA;EAKE,IAAA,SAAA,uBAAA,GAAA;OAEC;;;;EAlBF,IAAA,EAAA,IAAA,EAAAhE,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,oBAAoB;EAC9B,gBAAA,QAAQ,EAAE,6WAMT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;;sBAGEG,QAAK,EAAA,CAAA;;;ACAR,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;;EAXC,IAAA,EAAA,IAAA,EAAAI,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;EACb,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,uBAAuB;EACxB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,uBAAuB;EACxB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACsBD,MAAA,sBAAA,kBAAA,YAAA;MAME,SACS,sBAAA,CAAA,gBAAkC,EACjC,aAA2B,EAAA;EAD5B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EACjC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;EAPrB,QAAA,IAAK,CAAA,KAAA,GAAgB2B,cAAI,CAAC;EAGnC,QAAA,IAAa,CAAA,aAAA,GAAoB,EAAE,CAAC;OAM1C;;;;EAxCF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,mBAAmB;EAC7B,gBAAA,QAAQ,EAAE,krDAyBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAlCO,gBAAgB,EAAA;cAChB,YAAY,EAAA;;;8BAqCjBG,QAAK,EAAA,CAAA;;;ACjCR,MAAA,YAAA,kBAAA,YAAA;EAEI,IAAA,SAAA,YAAA,CAAoB,gBAAiC,EAAA;EAAjC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAiB;OAAI;EAEzD,IAAA,YAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,KAAa,EAAE,cAA8B,EAAE,OAA6B,EAAA;;EAA7D,QAAA,IAAA,cAAA,KAAA,KAAA,CAAA,EAAA,EAAA,cAA8B,GAAA,IAAA,CAAA,EAAA;EAAE,QAAA,IAAA,OAAA,KAAA,KAAA,CAAA,EAAA,EAAA,OAA6B,GAAA,EAAA,CAAA,EAAA;UAClF,IAAI,CAAC,KAAK,EAAE;EACR,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;EACD,QAAA,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,EAAE,CAAC;EACrE,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;EACzB,YAAA,OAAO,GAAG,CAAC,OAAO,CAAC,CAAC;EACvB,SAAA;EACD,QAAA,OAAO,CAAA,EAAA,GAAA,IAAI,CAAC,gBAAgB,EAAC,GAAG,CAAA,KAAA,CAAA,EAAA,EAAA,aAAA,CAAA,CAAC,KAAK,EAAE,cAAc,CAAA,EAAA,MAAA,CAAK,OAAO,CAAE,CAAA,CAAA,CAAA;OACvE,CAAA;;;;EAhBJ,IAAA,EAAA,IAAA,EAAAwD,OAAI,EAAC,IAAA,EAAA,CAAA;EACF,gBAAA,IAAI,EAAE,UAAU;EACnB,aAAA,EAAA,EAAA;;;cAJO,eAAe,EAAA;;;ACcvB,MAAA,kBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,kBAAA,GAAA;;;;;EAXC,IAAA,EAAA,IAAA,EAAApD,WAAQ,EAAC,IAAA,EAAA,CAAA;EACN,gBAAA,OAAO,EAAE;sBACLC,mBAAY;EACf,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACV,YAAY;EACf,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACL,YAAY;EACf,iBAAA;EACJ,aAAA,EAAA,EAAA;;;ACiFD,MAAA,WAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,WAAA,GAAA;;;;;EAhDC,IAAA,EAAA,IAAA,EAAAD,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPwC,+BAAY;sBACZvC,mBAAY;sBACZoD,yCAAsB;sBACtBC,mCAAgB;sBAChBC,8BAAW;sBACXC,kCAAe;sBACf,sBAAsB;sBACtBnB,6BAAU;sBACVoB,0CAAuB;sBACvBC,uCAAoB;sBACpBC,sCAAmB;sBACnB,YAAY;sBACZpB,iCAAc;sBACd,eAAe;sBACf,oBAAoB;sBACpBG,qCAAkB;sBAClB,kBAAkB;sBAClBkB,8BAAW;EACZ,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,cAAc;sBACd,yBAAyB;sBACzB,6BAA6B;sBAC7B,sBAAsB;sBACtB,0BAA0B;sBAC1B,iBAAiB;sBACjB,iBAAiB;sBACjB,kBAAkB;sBAClB,yBAAyB;sBACzB,sBAAsB;sBACtB,sBAAsB;sBACtB,qBAAqB;sBACrB,gCAAgC;sBAChC,oCAAoC;sBACpC,0BAA0B;sBAC1B,+BAA+B;sBAC/B,sBAAsB;EACvB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,cAAc;EACf,iBAAA;EACD,gBAAA,SAAS,EAAE;sBACT,YAAY;sBACZ,eAAe;EAChB,iBAAA;EACF,aAAA,EAAA,EAAA;;;AC9FD,MAAA,WAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,WAAA,GAAA;EACW,QAAA,IAAS,CAAA,SAAA,GAAY,WAAW,CAAC;EACjC,QAAA,IAAU,CAAA,UAAA,GAAY,YAAY,CAAC;EACnC,QAAA,IAAgB,CAAA,gBAAA,GAAY,kBAAkB,CAAC;EAC/C,QAAA,IAAM,CAAA,MAAA,GAAY,QAAQ,CAAC;EAC3B,QAAA,IAAgB,CAAA,gBAAA,GAAY,kBAAkB,CAAC;EAC/C,QAAA,IAAe,CAAA,eAAA,GAAY,iBAAiB,CAAC;EAC7C,QAAA,IAAsB,CAAA,sBAAA,GAAY,wBAAwB,CAAC;EAC3D,QAAA,IAAY,CAAA,YAAA,GAAY,cAAc,CAAC;EACvC,QAAA,IAAe,CAAA,eAAA,GAAY,iBAAiB,CAAC;EAC7C,QAAA,IAAmB,CAAA,mBAAA,GAAY,qBAAqB,CAAC;EACrD,QAAA,IAAK,CAAA,KAAA,GAAY,OAAO,CAAC;EACzB,QAAA,IAAM,CAAA,MAAA,GAAY,QAAQ,CAAC;EAC3B,QAAA,IAAO,CAAA,OAAA,GAAY,SAAS,CAAC;EAC7B,QAAA,IAAQ,CAAA,QAAA,GAAY,UAAU,CAAC;EAC/B,QAAA,IAAI,CAAA,IAAA,GAAY,MAAM,CAAC;EACvB,QAAA,IAAc,CAAA,cAAA,GAAY,gBAAgB,CAAC;EAC3C,QAAA,IAAa,CAAA,aAAA,GAAY,eAAe,CAAC;EACzC,QAAA,IAAuB,CAAA,uBAAA,GAAY,yBAAyB,CAAC;EAC7D,QAAA,IAAW,CAAA,WAAA,GAAY,aAAa,CAAC;EACrC,QAAA,IAAe,CAAA,eAAA,GAAY,iBAAiB,CAAC;EAC7C,QAAA,IAAgB,CAAA,gBAAA,GAAY,kBAAkB,CAAC;EAC/C,QAAA,IAAU,CAAA,UAAA,GAAY,YAAY,CAAC;EACnC,QAAA,IAAiB,CAAA,iBAAA,GAAY,mBAAmB,CAAC;EACjD,QAAA,IAAO,CAAA,OAAA,GAAY,SAAS,CAAC;EAC7B,QAAA,IAAQ,CAAA,QAAA,GAAY,UAAU,CAAC;EAC/B,QAAA,IAAI,CAAA,IAAA,GAAY,MAAM,CAAC;EACvB,QAAA,IAAQ,CAAA,QAAA,GAAY,UAAU,CAAC;EAC/B,QAAA,IAAO,CAAA,OAAA,GAAY,SAAS,CAAC;EAC7B,QAAA,IAAa,CAAA,aAAA,GAAY,eAAe,CAAC;EACzC,QAAA,IAAa,CAAA,aAAA,GAAY,eAAe,CAAC;EACzC,QAAA,IAAa,CAAA,aAAA,GAAY,eAAe,CAAC;EACzC,QAAA,IAAE,CAAA,EAAA,GAAY,IAAI,CAAC;EACnB,QAAA,IAAK,CAAA,KAAA,GAAY,OAAO,CAAC;EACzB,QAAA,IAAgB,CAAA,gBAAA,GAAY,kBAAkB,CAAC;EAC/C,QAAA,IAAW,CAAA,WAAA,GAAY,aAAa,CAAC;EACrC,QAAA,IAAQ,CAAA,QAAA,GAAY,UAAU,CAAC;EAC/B,QAAA,IAAc,CAAA,cAAA,GAAY,gBAAgB,CAAC;EAC3C,QAAA,IAAmB,CAAA,mBAAA,GAAY,qBAAqB,CAAC;EACrD,QAAA,IAAiB,CAAA,iBAAA,GAAY,mBAAmB,CAAC;EACjD,QAAA,IAAc,CAAA,cAAA,GAAY,gBAAgB,CAAC;EAC3C,QAAA,IAAS,CAAA,SAAA,GAAY,WAAW,CAAC;EACjC,QAAA,IAAW,CAAA,WAAA,GAAY,aAAa,CAAC;EACrC,QAAA,IAAW,CAAA,WAAA,GAAY,aAAa,CAAC;EACrC,QAAA,IAAQ,CAAA,QAAA,GAAY,UAAU,CAAC;EAC/B,QAAA,IAAM,CAAA,MAAA,GAAY,QAAQ,CAAC;EAC3B,QAAA,IAAS,CAAA,SAAA,GAAY,WAAW,CAAC;EACjC,QAAA,IAAO,CAAA,OAAA,GAAY,SAAS,CAAC;EAC7B,QAAA,IAAK,CAAA,KAAA,GAAY,OAAO,CAAC;EACzB,QAAA,IAAa,CAAA,aAAA,GAAY,eAAe,CAAC;EACzC,QAAA,IAAc,CAAA,cAAA,GAAY,gBAAgB,CAAC;EAC3C,QAAA,IAAY,CAAA,YAAA,GAAY,cAAc,CAAC;EACvC,QAAA,IAAW,CAAA,WAAA,GAAY,aAAa,CAAC;EACrC,QAAA,IAAY,CAAA,YAAA,GAAY,cAAc,CAAC;EACvC,QAAA,IAAe,CAAA,eAAA,GAAY,iBAAiB,CAAC;EAC7C,QAAA,IAAQ,CAAA,QAAA,GAAY,UAAU,CAAC;EAC/B,QAAA,IAAI,CAAA,IAAA,GAAY,MAAM,CAAC;EACvB,QAAA,IAAM,CAAA,MAAA,GAAY,QAAQ,CAAC;EAC3B,QAAA,IAAS,CAAA,SAAA,GAAY,WAAW,CAAC;OAC3C;MAAA,OAAA,WAAA,CAAA;EAAA,CAAA,EAAA;;EC3DD,IAAY,YA6BX,CAAA;EA7BD,CAAA,UAAY,YAAY,EAAA;EACtB,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;EACvB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;EACf,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;EACf,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,YAAA,CAAA,eAAA,CAAA,GAAA,eAA+B,CAAA;EAC/B,IAAA,YAAA,CAAA,aAAA,CAAA,GAAA,aAA2B,CAAA;EAC3B,IAAA,YAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;EACjC,IAAA,YAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACnB,CAAC,EA7BW,YAAY,KAAZ,YAAY,GA6BvB,EAAA,CAAA,CAAA;;ACOD,MAAA,eAAA,kBAAA,YAAA;EAsEE,IAAA,SAAA,eAAA,CAAmB,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EArE9C,QAAA,IAAK,CAAA,KAAA,GAAgBhC,cAAI,CAAC;EAa1B,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;EAG1B,QAAA,IAAgB,CAAA,gBAAA,GAAY,IAAI,CAAC;EAGjC,QAAA,IAAsB,CAAA,sBAAA,GAAY,IAAI,CAAC;EAGvC,QAAA,IAAA,CAAA,WAAW,GAAyB,IAAI7C,eAAY,EAAU,CAAC;EAG/D,QAAA,IAAA,CAAA,mBAAmB,GAAyB,IAAIA,eAAY,EAAU,CAAC;EAGvE,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAIA,eAAY,EAAQ,CAAC;EAchD,QAAA,IAAY,CAAA,YAAA,GAAuC,IAAI,GAAG,CAAuB;EAChG,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC1B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;EAC3B,YAAA,CAAC,YAAY,CAAC,aAAa,EAAE,GAAG,CAAC;EACjC,YAAA,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;EAC3B,SAAA,CAAC,CAAA;EAEM,QAAA,IAAK,CAAA,KAAA,GAAY,IAAI,CAAC;EAevB,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;EAE3B,QAAA,IAAM,CAAA,MAAA,GAAW,CAAC,CAAC;EACnB,QAAA,IAAc,CAAA,cAAA,GAAW,GAAG,CAAC;EAC7B,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;OAhBnC;EApED,IAAA,MAAA,CAAA,cAAA,CACW,eAAK,CAAA,SAAA,EAAA,OAAA,EAAA;EAKhB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,MAAM,CAAC;WACpB;EARD,QAAA,GAAA,EAAA,UACiB,KAAa,EAAA;EAC5B,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;cACpB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;WACxC;;;EAAA,KAAA,CAAA,CAAA;EAyBM,IAAA,eAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;MAGM,eAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,KAAoB,EAAA;EACvC,QAAA,IAAI,QAAQ,CAAC,aAAa,YAAY,eAAe,EAAE;EACrD,YAAA,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;EACtB,SAAA;OACF,CAAA;EAgCD,IAAA,MAAA,CAAA,cAAA,CAAW,eAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EAMxB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,cAAc,CAAC;WAC5B;EARD,QAAA,GAAA,EAAA,UAAyB,KAAa,EAAA;EACpC,YAAA,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;cAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;cACtD,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;WACpD;;;EAAA,KAAA,CAAA,CAAA;MAYM,eAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,KAAiC,EAAA;UACvD,IAAM,KAAK,GAAW,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;UACrD,IAAI,KAAK,KAAK,CAAC,EAAE;cACf,IAAI,KAAK,GAAG,CAAC,EAAE;kBACb,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;EAC3C,aAAA;EAAM,iBAAA;EACL,gBAAA,IAAI,CAAC,aAAa,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC;EAClC,aAAA;EACF,SAAA;UACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;OACzB,CAAA;MAEM,eAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,KAAiC,EAAA;EACvD,QAAA,IAAI,CAAC,aAAa,GAAG,GAAG,CAAC;UACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;OACzB,CAAA;MAEM,eAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,KAAiC,EAAA;EACpD,QAAA,IAAI,IAAI,GAAW,IAAI,CAAC,aAAa,CAAC;EACtC,QAAA,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,GAAG,CAAC;UAC7C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE;cAC5B,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;EAC5C,SAAA;UACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;OACzB,CAAA;MAEM,eAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,GAAW,EAAA;EAClC,QAAA,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;OACxB,CAAA;MAEM,eAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,KAAiC,EAAA;EACvD,QAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;EAC5B,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;OACxB,CAAA;MAEO,eAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,KAAa,EAAA;EAChC,QAAA,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,KAAK,EAAE;EACvC,YAAA,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC;EAC1B,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EACpB,SAAA;EACD,QAAA,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;EACvC,aAAC,KAAK,KAAK,GAAG,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;cACvD,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,IAAI,CAAC,cAAc,EAAE;cAClD,OAAO;EACR,SAAA;UACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,KAAK,GAAG,GAAG,IAAI,CAAC,aAAa,GAAG,KAAK,GAAG,KAAK,CAAC;UACrF,IAAI,CAAC,gBAAgB,EAAE,CAAC;OACzB,CAAA;MAEO,eAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,KAAoB,EAAA;EACnC,QAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;EACxB,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EAC9B,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;EAC/B,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EAC9B,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;EAChC,YAAA,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;EAC9B,SAAA;EAAM,aAAA,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;EACnC,YAAA,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;EAC3B,SAAA;EAAM,aAAA;EACL,YAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;EACtD,SAAA;OACF,CAAA;MAEO,eAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,KAAoB,EAAA;EACnC,QAAA,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,WAAW,CAAC;OACrF,CAAA;MAEO,eAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,KAAoB,EAAA;EACnC,QAAA,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,cAAc,CAAC;OACxF,CAAA;MAEO,eAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAoB,EAAA;EACpC,QAAA,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,MAAM,CAAC;OAC3C,CAAA;MAEO,eAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,KAAoB,EAAA;EACvC,QAAA,OAAO,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,SAAS,CAAC;OAC9C,CAAA;MAEO,eAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,KAAsB,EAAA;EAAtB,QAAA,IAAA,KAAA,KAAA,KAAA,CAAA,EAAA,EAAA,KAAsB,GAAA,KAAA,CAAA,EAAA;EAC7C,QAAA,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,sBAAsB,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE;cACtF,IAAM,KAAK,GAAW,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;EACrD,YAAA,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;EACjB,gBAAA,IAAI,KAAK,IAAI,IAAI,CAAC,sBAAsB,EAAE;EACxC,oBAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;EACpB,iBAAA;EACD,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EAC9B,aAAA;EACF,SAAA;OACF,CAAA;;;;EAjNF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,YAAY;EACtB,gBAAA,QAAQ,EAAE,oyFA0BP;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAjCO,gBAAgB,EAAA;;;sBAqCrBG,QAAK,EAAA,CAAA;0BAULA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;uCAGLA,QAAK,EAAA,CAAA;4BAGLC,SAAM,EAAA,CAAA;oCAGNA,SAAM,EAAA,CAAA;2BAGNA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,kBAAkB,EAAA,EAAA,CAAA;EAK9B,IAAA,aAAA,EAAA,CAAA,EAAA,IAAA,EAAAmD,eAAY,EAAC,IAAA,EAAA,CAAA,gBAAgB,EAAE,CAAC,QAAQ,CAAC,EAAA,EAAA,CAAA;;;ACtD5C,MAAA,YAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,YAAA,GAAA;;;;;EAbC,IAAA,EAAA,IAAA,EAAAjD,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;sBACZoC,6BAAU;sBACVwB,uCAAoB;EACrB,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,eAAe;EAChB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,eAAe;EAChB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACwBD,MAAA,uBAAA,kBAAA,YAAA;EA6BE,IAAA,SAAA,uBAAA,CAAmB,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EA5BrC,QAAA,IAAI,CAAA,IAAA,GAAgBjC,cAAI,CAAC;EAQlC,QAAA,IAAW,CAAA,WAAA,GAAa,EAAE,CAAC;EAG3B,QAAA,IAAA,CAAA,gBAAgB,GAAwB,IAAI7C,eAAY,EAAU,CAAC;EAYnE,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;EAEhC,QAAA,IAAY,CAAA,YAAA,GAAW,CAAC,CAAC;OAIhC;EA1BM,IAAA,uBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAQD,IAAA,MAAA,CAAA,cAAA,CAAW,uBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EAAtB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,YAAY,CAAC;WAC1B;EAED,QAAA,GAAA,EAAA,UAAuB,KAAK,EAAA;EAC1B,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;cAC1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;EACzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;WACrD;;;EANA,KAAA,CAAA,CAAA;EAgBM,IAAA,uBAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;EACL,QAAA,IAAI,CAAC,eAAe,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC;OAC9C,CAAA;;;;EArEF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,oBAAoB;EAC9B,gBAAA,QAAQ,EAAE,83BAaT;EACD,gBAAA,UAAU,EAAE;sBACVC,kBAAO,CAAC,iBAAiB,EAAE;0BACzBC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;0BACpCD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAC,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;EACjC,wBAAAC,qBAAU,CAAC,YAAY,EAAEC,kBAAO,CAAC,GAAG,CAAC,CAAC;uBACvC,CAAC;sBACFJ,kBAAO,CAAC,cAAc,EAAE;0BACtBC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;0BACtCD,gBAAK,CAAC,OAAO,EAAEC,gBAAK,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;EACvC,wBAAAC,qBAAU,CAAC,gBAAgB,EAAEC,kBAAO,CAAC,GAAG,CAAC,CAAC;uBAC3C,CAAC;sBACFJ,kBAAO,CAAC,gBAAgB,EAAE;0BACxBC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;0BACtCD,gBAAK,CAAC,OAAO,EAAEC,gBAAK,CAAC,EAAC,MAAM,EAAE,MAAM,EAAC,CAAC,CAAC;EACvC,wBAAAC,qBAAU,CAAC,gBAAgB,EAAEC,kBAAO,CAAC,GAAG,CAAC,CAAC;uBAC3C,CAAC;EACH,iBAAA;kBACD,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cArCO,gBAAgB,EAAA;;;EAyCrB,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAK,cAAW,SAAC,0BAA0B,EAAA,EAAA,CAAA;4BAKtCF,QAAK,EAAA,CAAA;iCAGLC,SAAM,EAAA,CAAA;;;AClCT,MAAA,oBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,oBAAA,GAAA;;;;;EAZC,IAAA,EAAA,IAAA,EAAAG,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;sBACZoC,6BAAU;EACX,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,uBAAuB;EACxB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,uBAAuB;EACxB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACjBWyB,gCAOX;EAPD,CAAA,UAAY,YAAY,EAAA;EACpB,IAAA,YAAA,CAAA,SAAA,CAAA,GAAA,KAAe,CAAA;EACf,IAAA,YAAA,CAAA,UAAA,CAAA,GAAA,MAAiB,CAAA;EACjB,IAAA,YAAA,CAAA,gBAAA,CAAA,GAAA,aAA8B,CAAA;EAE9B,IAAA,YAAA,CAAA,kBAAA,CAAA,GAAA,eAAkC,CAAA;EAClC,IAAA,YAAA,CAAA,WAAA,CAAA,GAAA,OAAmB,CAAA;EACvB,CAAC,EAPWA,oBAAY,KAAZA,oBAAY,GAOvB,EAAA,CAAA,CAAA;;ACoDD,MAAA,qBAAA,kBAAA,YAAA;MAiDE,SACU,qBAAA,CAAA,eAAkC,EAClC,QAAmB,EAAA;EADnB,QAAA,IAAe,CAAA,eAAA,GAAf,eAAe,CAAmB;EAClC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;EA9CtB,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK,CAAC;EAGpC,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;EAGnC,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;EAS5B,QAAA,IAAW,CAAA,WAAA,GAAW,EAAE,CAAC;EAGzB,QAAA,IAAY,CAAA,YAAA,GAAwB,EAAE,CAAC;EAGvC,QAAA,IAAA,CAAA,IAAI,GAAiBA,oBAAY,CAAC,QAAQ,CAAC;EAGlC,QAAA,IAAA,CAAA,YAAY,GAAsB,IAAI/E,eAAY,EAAO,CAAC;EAG1D,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAIA,eAAY,EAAQ,CAAC;EAGlE,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAIA,eAAY,EAAQ,CAAC;EAG3D,QAAA,IAAA,CAAA,UAAU,GAA+B,IAAIA,eAAY,EAAgB,CAAC;EAG1E,QAAA,IAAA,CAAA,WAAW,GAA6B,IAAIA,eAAY,EAAc,CAAC;EAGhF,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;EAE1B,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;EACjB,QAAA,IAAA,CAAA,aAAa,GAAS,IAAI,IAAI,EAAE,CAAC;OAMxC;EAEM,IAAA,qBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,IAAU,EAAE,YAA6B,EAAA;EAA7B,QAAA,IAAA,YAAA,KAAA,KAAA,CAAA,EAAA,EAAA,YAA6B,GAAA,KAAA,CAAA,EAAA;UACnE,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;EACnC,QAAA,IAAI,YAAY,EAAE;cAChB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAC1C,SAAA;EAAM,aAAA;cACL,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACjD,SAAA;EACD,QAAA,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,CAAC;OACtC,CAAA;MAEM,qBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,IAAkB,EAAA;EACpC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;UACjB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACjC,CAAA;EAEM,IAAA,qBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;EACL,QAAA,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;cAC/B,IAAM,UAAQ,GAAQ,IAAI,CAAC,QAAQ,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;EACnE,YAAA,IAAI,UAAQ,EAAE;EACZ,gBAAA,UAAU,CAAC,YAAA;EACT,oBAAA,UAAQ,CAAC,cAAc,CAAC,EAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;EAClE,iBAAC,CAAC,CAAC;EACJ,aAAA;EACF,SAAA;OACF,CAAA;;;;EA1HF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,kBAAkB;EAC5B,gBAAA,QAAQ,EAAE,u7CA4BP;EACH,gBAAA,UAAU,EAAE;sBACVC,kBAAO,CAAC,gBAAgB,EAAE;0BACxBC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC,EAAC,SAAS,EAAE,WAAW,EAAC,CAAC,CAAC;0BAC9CD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC,EAAC,SAAS,EAAE,WAAW,EAAC,CAAC,CAAC;0BAC3CC,qBAAU,CAAC,gBAAgB,EAAE;8BAC3BC,kBAAO,CAAC,mBAAmB,CAAC;2BAC7B,CAAC;uBACH,CAAC;EACH,iBAAA;kBACD,aAAa,EAAEC,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAxDCiC,oBAAiB,EAAA;cAOjBqC,YAAS,EAAA;;;EAoDR,IAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAArE,YAAS,SAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAA,EAAA,CAAA;mCAGtCE,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;2BAGLA,QAAK,EAAA,CAAA;6BAGLA,QAAK,EAAA,CAAA;mCAGLA,QAAK,EAAA,CAAA;4BAGLA,QAAK,EAAA,CAAA;6BAGLA,QAAK,EAAA,CAAA;qBAGLA,QAAK,EAAA,CAAA;6BAGLC,SAAM,EAAA,CAAA;mCAGNA,SAAM,EAAA,CAAA;4BAGNA,SAAM,EAAA,CAAA;2BAGNA,SAAM,EAAA,CAAA;4BAGNA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,wBAAwB,EAAA,EAAA,CAAA;;;ACvFvC,MAAA,yBAAA,kBAAA,YAAA;EAUE,IAAA,SAAA,yBAAA,GAAA;EAJgB,QAAA,IAAA,CAAA,UAAU,GAAyB,IAAIf,eAAY,EAAU,CAAC;EAEvE,QAAA,IAAK,CAAA,KAAA,GAAa,EAAE,CAAC;OAG3B;EAED,IAAA,yBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;EACE,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;EACtB,QAAA,IAAI,KAAK,GAAW,IAAI,CAAC,eAAe,EAAE,CAAC;EAC3C,QAAA,IAAM,GAAG,GAAW,KAAK,GAAG,EAAE,CAAC;UAC/B,OAAO,KAAK,GAAG,GAAG,EAAE;EAClB,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACvB,YAAA,KAAK,EAAE,CAAC;EACT,SAAA;OACF,CAAA;EAEO,IAAA,yBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;EACN,QAAA,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;EACjB,YAAA,IAAI,QAAQ,GAAW,IAAI,CAAC,IAAI,CAAC;EACjC,YAAA,IAAI,iBAAiB,GAAW,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;cAC9E,OAAO,iBAAiB,GAAG,CAAC,EAAE;EAC5B,gBAAA,QAAQ,EAAE,CAAC;EACX,gBAAA,iBAAiB,GAAG,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;EACnE,aAAA;EACD,YAAA,OAAO,QAAQ,CAAC;EACjB,SAAA;EACD,QAAA,OAAO,CAAC,CAAC;OACV,CAAA;;;;EA/CF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,oBAAoB;EAC9B,gBAAA,QAAQ,EAAE,8RAOP;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;;qBAIEG,QAAK,EAAA,CAAA;2BAGLC,SAAM,EAAA,CAAA;;;ECpBT;EACA,IAAYmE,OAaX,CAAA;EAbD,CAAA,UAAY,KAAK,EAAA;EACb,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,UAAsB,CAAA;EACtB,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;EACf,IAAA,KAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;EACf,IAAA,KAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;EACX,IAAA,KAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;EACb,IAAA,KAAA,CAAA,MAAA,CAAA,GAAA,MAAa,CAAA;EACb,IAAA,KAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,KAAA,CAAA,WAAA,CAAA,GAAA,WAAuB,CAAA;EACvB,IAAA,KAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,KAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;EACrB,IAAA,KAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;EACzB,CAAC,EAbWA,OAAK,KAALA,OAAK,GAahB,EAAA,CAAA,CAAA;;ECZD;EACO,IAAM,UAAU,GAAY;EAC/B,IAAAA,OAAK,CAAC,OAAO;EACb,IAAAA,OAAK,CAAC,SAAS;EACf,IAAAA,OAAK,CAAC,KAAK;EACX,IAAAA,OAAK,CAAC,KAAK;EACX,IAAAA,OAAK,CAAC,GAAG;EACT,IAAAA,OAAK,CAAC,IAAI;EACV,IAAAA,OAAK,CAAC,IAAI;EACV,IAAAA,OAAK,CAAC,MAAM;EACZ,IAAAA,OAAK,CAAC,SAAS;EACf,IAAAA,OAAK,CAAC,OAAO;EACb,IAAAA,OAAK,CAAC,QAAQ;EACd,IAAAA,OAAK,CAAC,QAAQ;GACjB;;ACAD,MAAA,0BAAA,kBAAA,YAAA;EAaE,IAAA,SAAA,0BAAA,GAAA;EAPO,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;EAGnC,QAAA,IAAA,CAAA,WAAW,GAAyB,IAAIjF,eAAY,EAAU,CAAC;EAE/D,QAAA,IAAM,CAAA,MAAA,GAAa,EAAE,CAAC;OAG5B;EAED,IAAA,0BAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;EACE,QAAA,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;EACvB,QAAA,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC;OAC1B,CAAA;;;;EAhCF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,qBAAqB;EAC/B,gBAAA,QAAQ,EAAE,6SAOP;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;;sBAIEG,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;4BAGLC,SAAM,EAAA,CAAA;;;AC6BT,MAAA,uBAAA,kBAAA,YAAA;EAsBE,IAAA,SAAA,uBAAA,CACS,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EApBpC,QAAA,IAAA,CAAA,YAAY,GAAS,IAAI,IAAI,EAAE,CAAC;EAGvB,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAId,eAAY,EAAQ,CAAC;EAElE,QAAA,IAAK,CAAA,KAAA,GAAgB6C,cAAI,CAAC;EAEnC,QAAA,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;EAErC,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;OAahC;EAED,IAAA,uBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;UACE,IAAI,IAAI,CAAC,YAAY,EAAE;EACrB,YAAA,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC,CAAC;cAC7D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC;EACpD,SAAA;OACF,CAAA;EAEM,IAAA,uBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACL,IAAM,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;UAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;EACzC,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;UAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACjD,CAAA;EAEM,IAAA,uBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACL,IAAM,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;UAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;EACzC,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;UAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACjD,CAAA;EAEM,IAAA,uBAAA,CAAA,SAAA,CAAA,sBAAsB,GAAtB,YAAA;EACL,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;EACtB,QAAA,IAAI,CAAC,mBAAmB,GAAG,KAAK,CAAC;OAClC,CAAA;MAEM,uBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAa,EAAA;EAC9B,QAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;OAC5B,CAAA;MAEM,uBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,IAAY,EAAA;EAC5B,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;OAC1B,CAAA;EAEM,IAAA,uBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACL,IAAI,CAAC,sBAAsB,EAAE,CAAC;UAC9B,IAAM,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAClD,QAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;EACrC,QAAA,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACvC,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;UAC5B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACjD,CAAA;;;;EAnHF,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,iBAAiB;EAC3B,gBAAA,QAAQ,EAAE,ghDA0BP;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACrC,gBAAA,UAAU,EAAE;sBACVL,kBAAO,CAAC,qBAAqB,EAAE;EAC7B,wBAAAC,gBAAK,CAAC,MAAM,EAAEC,gBAAK,CAAC;EAClB,4BAAA,kBAAkB,EAAE,YAAY;EAChC,4BAAA,SAAS,EAAE,WAAW;EACvB,yBAAA,CAAC,CAAC;EACH,wBAAAD,gBAAK,CAAC,GAAG,EAAEC,gBAAK,CAAC;EACf,4BAAA,kBAAkB,EAAE,YAAY;EAChC,4BAAA,SAAS,EAAE,WAAW;EACvB,yBAAA,CAAC,CAAC;0BACHC,qBAAU,CAAC,gBAAgB,EAAE;8BAC3BC,kBAAO,CAAC,mBAAmB,CAAC;2BAC7B,CAAC;uBACH,CAAC;EACH,iBAAA;EACF,aAAA,EAAA,EAAA;;;cA/CO,gBAAgB,EAAA;;;6BAmDrBI,QAAK,EAAA,CAAA;mCAGLC,SAAM,EAAA,CAAA;;;AC7CT,MAAA,iBAAA,kBAAA,YAAA;EAcE,IAAA,SAAA,iBAAA,GAAA;EAXO,QAAA,IAAA,CAAA,IAAI,GAAiBiE,oBAAY,CAAC,QAAQ,CAAC;EAG3C,QAAA,IAAA,CAAA,YAAY,GAAS,IAAI,IAAI,EAAE,CAAC;EAGhC,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;EAGlB,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAI/E,eAAY,EAAQ,CAAC;OAGxE;MAEM,iBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,IAAU,EAAA;EAClC,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;UACzB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACjD,CAAA;;;;EA9BF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,UAAU;EACpB,gBAAA,QAAQ,EAAE,+UAKP;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;;qBAGEG,QAAK,EAAA,CAAA;6BAGLA,QAAK,EAAA,CAAA;qBAGLA,QAAK,EAAA,CAAA;mCAGLC,SAAM,EAAA,CAAA;;;ACnBT,MAAA,eAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,eAAA,GAAA;;EAEI,IAAA,eAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,MAAc,EAAE,MAAkB,EAAA;EAAlB,QAAA,IAAA,MAAA,KAAA,KAAA,CAAA,EAAA,EAAA,MAAkB,GAAA,CAAA,CAAA,EAAA;EACxC,QAAA,IAAI,CAAC,MAAM,IAAI,MAAM,GAAG,CAAC,EAAE;EACvB,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;UACD,OAAO,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,EAAC,EAAE,UAAC,CAAC,EAAE,CAAC,EAAK,EAAA,OAAA,CAAC,GAAG,MAAM,CAAA,EAAA,CAAC,CAAC;OACzE,CAAA;;;;EAVJ,IAAA,EAAA,IAAA,EAAAuD,OAAI,EAAC,IAAA,EAAA,CAAA;EACF,gBAAA,IAAI,EAAE,aAAa;EACtB,aAAA,EAAA,EAAA;;;ECJD;EACM,SAAU,OAAO,CAAC,KAAU,EAAA;EAC9B,IAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;EACjD;;ECDA,IAAA,SAAA,kBAAA,YAAA;EAKI,IAAA,SAAA,SAAA,GAAA;OACC;MACJ,OAAA,SAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECDD,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,YAAA;MACpB,OAAOa,iBAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;EACxD,CAAC,CAAA;EAED;EACA,IAAA,SAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,SAAA,GAAA;;EAIkB,IAAA,SAAA,CAAA,WAAW,GAAlB,YAAA;EACH,QAAA,OAAO,SAAS,CAAC,SAAS,CAAC,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,mBAAmB,CAAC,CAAC;OACzE,CAAA;EAEa,IAAA,SAAA,CAAA,SAAS,GAAhB,UAAiB,IAAU,EAAE,MAAwB,EAAA;EAAxB,QAAA,IAAA,MAAA,KAAA,KAAA,CAAA,EAAA,EAAA,MAAwB,GAAA,OAAA,CAAA,EAAA;UACxD,IAAI,CAAC,IAAI,EAAE;EACP,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;EAED,QAAA,IAAM,GAAG,GAAW,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UACrD,IAAM,KAAK,GAAW,CAAC,GAAG,IAAI,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;UAC9D,IAAM,IAAI,GAAW,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC;UAE7C,IAAM,WAAW,GAAa,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;UAChD,IAAM,SAAS,GAAa,EAAE,CAAC;EAG/B,QAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAW,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;EAChE,YAAA,QAAQ,WAAW,CAAC,CAAC,CAAC;EAClB,gBAAA,KAAK,GAAG,CAAE;EACV,gBAAA,KAAK,IAAI;EACL,oBAAA,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;sBACpB,MAAM;EACV,gBAAA,KAAK,GAAG,CAAE;EACV,gBAAA,KAAK,IAAI;EACL,oBAAA,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;sBACtB,MAAM;EACV,gBAAA,KAAK,GAAG,CAAE;EACV,gBAAA,KAAK,MAAM;EACP,oBAAA,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;sBACrB,MAAM;EACV,gBAAA;sBACI,MAAM;EACb,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;OAC9B,CAAA;MAEa,SAAa,CAAA,aAAA,GAApB,UAAqB,IAAU,EAAA;UAClC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;UAChC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC1B,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;EACxD,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;OAC1G,CAAA;;MAGa,SAAc,CAAA,cAAA,GAArB,UAAsB,IAAU,EAAA;EACnC,QAAA,OAAO,SAAS,CAAC,gBAAgB,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC;OACjE,CAAA;EAEa,IAAA,SAAA,CAAA,YAAY,GAAnB,UAAoB,GAAW,EAAE,MAA8C,EAAA;EAA9C,QAAA,IAAA,MAAA,KAAA,KAAA,CAAA,EAAA,EAAA,MAAA,GAAiB,SAAS,CAAC,mBAAmB,CAAA,EAAA;EAClF,QAAA,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;cACd,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE;EACrB,gBAAA,OAAO,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;EACxB,aAAA;EAAM,iBAAA;kBACH,IAAM,IAAI,GAAQA,iBAAM,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;EAC5C,gBAAA,OAAO,IAAI,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC;EACtD,aAAA;EACJ,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,SAAS,CAAC;EACpB,SAAA;OACJ,CAAA;MAEa,SAAY,CAAA,YAAA,GAAnB,UAAoB,IAAY,EAAA;UACnC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE;EAC1B,YAAA,OAAO,SAAS,CAAC;EACpB,SAAA;EAED,QAAA,IAAM,CAAC,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC;UACrE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;UACzB,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;UAC7B,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;EAC7B,QAAA,OAAO,CAAC,CAAC;OACZ,CAAA;EAEa,IAAA,SAAA,CAAA,eAAe,GAAtB,YAAA;UACH,OAAO,UAAU,CAAC,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAC;OAC5C,CAAA;;EAGa,IAAA,SAAA,CAAA,4CAA4C,GAAnD,YAAA;UACH,IAAM,MAAM,GAAY,EAAE,CAAC;UAE3B,IAAI,YAAY,GAAW,IAAI,IAAI,EAAE,CAAC,QAAQ,EAAE,CAAC;UACjD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;cACjC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC;cACtC,YAAY,GAAG,CAAC,YAAY,GAAG,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC;EACzD,SAAA;EAED,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;MAEa,SAAiB,CAAA,iBAAA,GAAxB,UAAyB,IAAU,EAAA;EACtC,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;EAC7B,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;EACD,QAAA,IAAI,QAAc,CAAC;UACnB,IAAM,SAAS,GAAW,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;UAC7C,IAAI,SAAS,KAAK,CAAC,EAAE;EACjB,YAAA,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;EAC7B,SAAA;EAAM,aAAA;EACH,YAAA,QAAQ,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;EAC1B,YAAA,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,IAAI,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;EAC5C,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACnB,CAAA;MAEa,SAAgB,CAAA,gBAAA,GAAvB,UAAwB,IAAU,EAAA;UACrC,IAAM,cAAc,GAAS,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;EAC/D,QAAA,IAAM,aAAa,GAAS,IAAI,IAAI,CAAC,cAAc,CAAC,CAAC;UACrD,aAAa,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;EACpD,QAAA,OAAO,aAAa,CAAC;OACxB,CAAA;MAEa,SAAkB,CAAA,kBAAA,GAAzB,UAA0B,IAAU,EAAA;EACvC,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;EAC7B,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;EACD,QAAA,IAAM,IAAI,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;EACxC,QAAA,IAAM,KAAK,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;UACtC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;OACnC,CAAA;MAEa,SAAiB,CAAA,iBAAA,GAAxB,UAAyB,IAAU,EAAA;EACtC,QAAA,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;EAC7B,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;EACD,QAAA,IAAM,IAAI,GAAW,IAAI,CAAC,WAAW,EAAE,CAAC;EACxC,QAAA,IAAM,KAAK,GAAW,IAAI,CAAC,QAAQ,EAAE,CAAC;UACtC,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;OACvC,CAAA;EAEa,IAAA,SAAA,CAAA,UAAU,GAAjB,UAAkB,KAAW,EAAE,KAAW,EAAA;UAC7C,IAAI,MAAM,GAAY,KAAK,CAAC;EAC5B,QAAA,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;cAC5D,MAAM;EACF,gBAAA,KAAK,CAAC,OAAO,EAAE,KAAK,KAAK,CAAC,OAAO,EAAE;EACnC,oBAAA,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,QAAQ,EAAE;sBACrC,KAAK,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,WAAW,EAAE,CAAC;EACnD,SAAA;EACD,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;EAEa,IAAA,SAAA,CAAA,cAAc,GAArB,UAAsB,MAAiB,EAAE,MAAiB,EAAA;EAC7D,QAAA,QAAQ,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;EACvD,YAAA,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE;OACxD,CAAA;EAEa,IAAA,SAAA,CAAA,UAAU,GAAjB,UAAkB,IAAU,EAAE,OAAe,EAAA;EAChD,QAAA,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC;OACvD,CAAA;EAEa,IAAA,SAAA,CAAA,OAAO,GAAd,UAAe,IAAU,EAAE,IAAY,EAAA;EAC1C,QAAA,IAAM,MAAM,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UACpC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;EACxC,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;EAEa,IAAA,SAAA,CAAA,SAAS,GAAhB,UAAiB,IAAU,EAAE,MAAc,EAAA;EAC9C,QAAA,IAAM,MAAM,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;UACpC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,CAAC;EAC5C,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;EAEa,IAAA,SAAA,CAAA,uBAAuB,GAA9B,YAAA;EACH,QAAA,IAAM,SAAS,GAAS,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;EAClE,QAAA,IAAI,SAAS,GAAS,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC/D,QAAA,IAAI,MAAM,GAAW,SAAS,CAAC,iBAAiB,EAAE,CAAC;EAEnD,QAAA,IAAM,WAAW,GAAS,IAAI,IAAI,EAAE,CAAC;UACrC,IAAI,cAAc,GAAY,KAAK,CAAC;EACpC,QAAA,IAAM,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;UACnC,IAAI,YAAY,GAAY,KAAK,CAAC;UAClC,OAAO,SAAS,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,EAAE;cAC9C,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;EAC3C,YAAA,IAAI,MAAM,GAAG,SAAS,CAAC,iBAAiB,EAAE,EAAE;kBACxC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;kBACvC,YAAY,GAAG,IAAI,CAAC;EACvB,aAAA;EAAM,iBAAA,IAAI,MAAM,GAAG,SAAS,CAAC,iBAAiB,EAAE,EAAE;kBAC/C,WAAW,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;kBACzC,cAAc,GAAG,IAAI,CAAC;EACzB,aAAA;EACD,YAAA,MAAM,GAAG,SAAS,CAAC,iBAAiB,EAAE,CAAC;cACvC,IAAI,cAAc,IAAI,YAAY,EAAE;kBAChC,MAAM;EACT,aAAA;EACJ,SAAA;UAED,IAAI,cAAc,IAAI,YAAY,EAAE;cAChC,OAAO;EACH,gBAAA,KAAK,EAAE,IAAI,CAAC,+BAA+B,CAAC,WAAW,CAAC;EACxD,gBAAA,GAAG,EAAE,IAAI,CAAC,+BAA+B,CAAC,SAAS,CAAC;eACvD,CAAC;EACL,SAAA;EAAM,aAAA;cACH,OAAO,EAAC,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,SAAS,EAAC,CAAC;EAC7C,SAAA;OACJ,CAAA;MAEc,SAAU,CAAA,UAAA,GAAjB,UAAkB,IAAU,EAAA;EAChC,QAAA,OAAO,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS,CAAC;OAC9C,CAAA;EAED;;;EAGG;EACW,IAAA,SAAA,CAAA,gBAAgB,GAAvB,UAAwB,IAAU,EAAE,EAAQ,EAAA;EAC/C,QAAA,IAAI,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE;EACd,YAAA,OAAO,GAAG,CAAC;EACd,SAAA;UACD,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;OAClE,CAAA;EAEa,IAAA,SAAA,CAAA,SAAS,GAAhB,UAAiB,OAAa,EAAE,OAAa,EAAA;UAChD,QAAQ,OAAO,IAAI,OAAO;EACtB,YAAA,OAAO,CAAC,OAAO,EAAE,KAAK,OAAO,CAAC,OAAO,EAAE;EACpC,eAAA,OAAO,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC,QAAQ,EAAE;iBACzC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE;OAC3D,CAAA;MAEa,SAAW,CAAA,WAAA,GAAlB,UAAmB,IAAU,EAAE,SAAe,EAAE,OAAa,EAAE,QAAwB,EAAA;EAAxB,QAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAwB,GAAA,IAAA,CAAA,EAAA;UAC1F,IAAI,SAAS,IAAI,OAAO,EAAE;EACtB,YAAA,IAAI,QAAQ,EAAE;kBACV,QAAQ,IAAI,GAAG,SAAS,IAAI,IAAI,GAAG,OAAO,EAAE;EAC/C,aAAA;EAAM,iBAAA;kBACH,IAAM,eAAe,GAAW,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAC/D,mBAAmB,GAAW,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACtE,iBAAiB,GAAW,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EACvE,gBAAA,OAAO,eAAe,IAAI,mBAAmB,IAAI,eAAe,IAAI,iBAAiB,CAAC;EACzF,aAAA;EACJ,SAAA;OACJ,CAAA;MAEa,SAAQ,CAAA,QAAA,GAAf,UAAgB,IAAU,EAAA;EAC7B,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;OAC9B,CAAA;MAEa,SAAQ,CAAA,QAAA,GAAf,UAAgB,IAAU,EAAA;EAC7B,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;OAC9B,CAAA;MAEa,SAAO,CAAA,OAAA,GAAd,UAAe,IAAU,EAAA;EAC5B,QAAA,IAAM,KAAK,GAAS,IAAI,IAAI,EAAE,CAAC;UAC/B,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;OAC3C,CAAA;;EAGa,IAAA,SAAA,CAAA,0BAA0B,GAAjC,UAAkC,IAAU,EAAE,MAAc,EAAA;UAC/D,IAAI,CAAC,QAAQ,GAAG,IAAIC,eAAQ,CAAC,MAAM,CAAC,CAAC;UACrC,IAAM,UAAU,GAAW,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;EACzD,QAAA,OAAO,UAAU,CAAC;OACrB,CAAA;;EAGa,IAAA,SAAA,CAAA,2BAA2B,GAAlC,UAAmC,eAAuB,EAAE,SAAyB,EAAA;EAAzB,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAAyB,GAAA,KAAA,CAAA,EAAA;UACxF,IAAI,SAAS,GAAW,eAAe,CAAC;UACxC,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,GAAI,GAAA,SAAS,GAAG,GAAA,CAAC,CAAC;UACzD,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;EAExC,QAAA,OAAO,SAAS,CAAC;OACpB,CAAA;MAEa,SAAiC,CAAA,iCAAA,GAAxC,UAAyC,IAAsB,EAAA;UAClE,IAAI,IAAI,YAAY,SAAS,EAAE;cAC3B,IAAI,IAAI,CAAC,SAAS,EAAE;kBAChB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EACpC,aAAA;cACD,IAAI,IAAI,CAAC,OAAO,EAAE;kBACd,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAClC,aAAA;EACJ,SAAA;eAAM,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,YAAY,IAAI,CAAC,EAAE;cACzC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7B,SAAA;OACJ,CAAA;EAEc,IAAA,SAAA,CAAA,+BAA+B,GAAtC,UAAuC,KAAW,EAAE,UAA4B,EAAA;EAA5B,QAAA,IAAA,UAAA,KAAA,KAAA,CAAA,EAAA,EAAA,UAA4B,GAAA,OAAA,CAAA,EAAA;UACpF,IAAI,CAAC,KAAK,EAAE;EACR,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;UAED,IAAM,KAAK,GAAW,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;UAC7F,IAAM,OAAO,GAAW,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;UACrG,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,UAAU,CAAC,GAAG,GAAG,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;OAC/E,CAAA;;;EA9RsB,SAAmB,CAAA,mBAAA,GAAW,uBAAuB,CAAC;EAC/D,SAAA,CAAA,QAAQ,GAAa,IAAIA,eAAQ,CAAC,WAAW,CAAC;;ECehE;AACA,MAAA,qBAAA,kBAAA,YAAA;EA0CE,IAAA,SAAA,qBAAA,CACsC,OAAqB,EAAA;EAArB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAc;EAnBpD,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAInF,eAAY,EAAQ,CAAC;EAElE,QAAA,IAAA,CAAA,YAAY,GAAa,UAAC,KAAa,EAAE,KAAgB,EAAA;EAC9D,YAAA,OAAO,KAAK,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC;EAC3C,SAAC,CAAA;EAEM,QAAA,IAAA,CAAA,WAAW,GAAa,UAAC,KAAa,EAAE,IAAiB,EAAA;cAC9D,OAAO,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,CAAC;EACvC,SAAC,CAAA;EAEM,QAAA,IAAY,CAAA,YAAA,GAAa,EAAE,CAAC;EAE5B,QAAA,IAAK,CAAA,KAAA,GAAkB,EAAE,CAAC;EAEzB,QAAA,IAAA,CAAA,aAAa,GAAS,IAAI,IAAI,EAAE,CAAC;EAEjC,QAAA,IAAA,CAAA,KAAK,GAAiB+E,oBAAY,CAAC,QAAQ,CAAC;EAKlD,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;UACvC,IAAI,CAAC,UAAU,EAAE,CAAC;OACnB;EA7CD,IAAA,MAAA,CAAA,cAAA,CACW,qBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAKf,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,KAAK,CAAC;WACnB;EARD,QAAA,GAAA,EAAA,UACgB,KAAmB,EAAA;EACjC,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;cACnB,IAAI,CAAC,WAAW,EAAE,CAAC;WACpB;;;EAAA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACW,qBAAY,CAAA,SAAA,EAAA,cAAA,EAAA;EAMvB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,aAAa,CAAC;WAC3B;EATD,QAAA,GAAA,EAAA,UACwB,KAAW,EAAA;EACjC,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;EAC3B,YAAA,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;cACxC,IAAI,CAAC,aAAa,EAAE,CAAC;WACtB;;;EAAA,KAAA,CAAA,CAAA;MAgCM,qBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,IAAe,EAAA;UAChC,IAAI,CAAC,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;UAC7C,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;UAChD,IAAI,CAAC,WAAW,EAAE,CAAC;OACpB,CAAA;EAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;UACN,IAAM,QAAQ,GAAa,IAAII,eAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;UAEtD,IAAM,UAAU,GAAW,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;EACtD,QAAA,IAAM,aAAa,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;EAClE,QAAA,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,UAAU,GAAG,CAAC,CAAC,CAAC;EAEhE,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,YAAA;cACzD,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;cACnD,OAAO,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;EAChD,SAAC,CAAC,CAAC;EACH,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;OACnD,CAAA;EAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;EACN,QAAA,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;EAEtB,QAAA,IAAM,IAAI,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;UACzD,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;UAG1B,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;EACnC,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAChB,QAAA,IAAM,WAAW,GAAW,IAAI,CAAC,MAAM,EAAE,CAAC;EAC1C,QAAA,IAAM,YAAY,GAAW,IAAI,CAAC,OAAO,EAAE,CAAC;;EAG5C,QAAA,IAAM,SAAS,GAAW,CAAC,WAAW,GAAG,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC;;EAG7D,QAAA,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EAChB,QAAA,IAAM,aAAa,GAAW,IAAI,CAAC,MAAM,EAAE,CAAC;;EAG5C,QAAA,IAAM,UAAU,GAAW,CAAC,aAAa,GAAG,CAAC,GAAG,aAAa,GAAG,CAAC,CAAC;;UAGlE,IAAI,CAAC,OAAO,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;;EAG9B,QAAA,IAAM,SAAS,GAAW,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,GAAG,SAAS,GAAG,YAAY,IAAI,CAAC,CAAC,CAAC;UACjF,IAAM,SAAS,GAAW,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;EACxD,QAAA,IAAM,OAAO,GAAW,SAAS,GAAG,SAAS,GAAG,CAAC,CAAC;;UAGlD,KAAK,IAAI,CAAC,GAAW,SAAS,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC,EAAE,EAAE;cACjD,IAAI,IAAI,GAAW,CAAC,CAAC;;cAGrB,IAAI,SAAS,GAAG,EAAE,EAAE;EAClB,gBAAA,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;EACtC,aAAA;cACD,IAAM,IAAI,GAAgB,EAAE,CAAC;;cAG7B,KAAK,IAAI,EAAE,GAAW,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE;;kBAEtC,IAAI,OAAO,GAAY,IAAI,CAAC;kBAC5B,IAAI,CAAC,KAAK,SAAS,EAAE;EACnB,oBAAA,OAAO,GAAG,EAAE,GAAG,UAAU,CAAC;EAC3B,iBAAA;uBAAM,IAAI,CAAC,KAAK,OAAO,EAAE;EACxB,oBAAA,OAAO,GAAG,EAAE,IAAI,CAAC,GAAG,SAAS,CAAC;EAC/B,iBAAA;EAED,gBAAA,IAAM,SAAS,GAAW,IAAI,CAAC,OAAO,EAAE,CAAC;;kBAEzC,IAAI,CAAC,IAAI,CAAC;EACR,oBAAA,IAAI,EAAE,IAAI;EACV,oBAAA,OAAO,EAAE,OAAO;EAChB,oBAAA,GAAG,EAAE,IAAI,CAAC,OAAO,EAAE;EACnB,oBAAA,SAAS,EAAE,SAAS;sBACpB,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,SAAS;EACpD,iBAAA,CAAC,CAAC;;kBAEH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;EAClC,aAAA;EACD,YAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACvB,SAAA;UACD,IAAI,CAAC,WAAW,EAAE,CAAC;OACpB,CAAA;EAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACN,IAAI,CAAC,eAAe,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;cACtB,OAAO;EACR,SAAA;UACD,IAAM,UAAU,GAAW,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACtE,QAAA,IAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;UACtC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;cACpC,IAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;cAC1C,KAAK,IAAI,EAAE,GAAW,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;EACxC,gBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,KAAKJ,oBAAY,CAAC,SAAS,EAAE;EACrE,oBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;EACnC,iBAAA;uBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,IAAI,KAAKA,oBAAY,CAAC,QAAQ,EAAE;EACvF,oBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;EACnC,iBAAA;uBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,KAAKA,oBAAY,CAAC,cAAc,EAAE;EACnH,oBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;EACnC,iBAAA;uBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,SAAS,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,KAAKA,oBAAY,CAAC,OAAO,EAAE;EAC5G,oBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;EACnC,iBAAA;EACF,aAAA;EACF,SAAA;OACF,CAAA;EAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;EACN,QAAA,IAAM,GAAG,GAAW,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;UACtC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;cACpC,IAAM,IAAI,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;cAC1C,KAAK,IAAI,EAAE,GAAW,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;EACxC,gBAAA,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;EACpC,aAAA;EACF,SAAA;OACF,CAAA;;;;EA7LF,IAAA,EAAA,IAAA,EAAA3E,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,eAAe;EACzB,gBAAA,QAAQ,EAAE,yyBAgBP;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAxBOS,cAAY,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAqEfiE,SAAM,EAAA,IAAA,EAAA,CAACC,YAAS,EAAA,EAAA,CAAA,EAAA;;;qBAzClBxE,QAAK,EAAA,CAAA;6BAULA,QAAK,EAAA,CAAA;mCAWLC,SAAM,EAAA,CAAA;;;ECpDT,IAAA,OAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,OAAA,GAAA;EACW,QAAA,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;EASvB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;EAC1B,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;EACjC,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;EAC5B,QAAA,IAAM,CAAA,MAAA,GAAkB,EAAE,CAAC;OACrC;MAAA,OAAA,OAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECdD,IAAA,IAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,IAAA,GAAA;EACW,QAAA,IAAQ,CAAA,QAAA,GAAc,EAAE,CAAC;OACnC;MAAA,OAAA,IAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECED,IAAA,aAAA,kBAAA,YAAA;EAKI,IAAA,SAAA,aAAA,CACwC,OAAqB,EAAA;EAArB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAc;EAEzD,QAAA,aAAa,CAAC,MAAM,GAAG,OAAO,CAAC;OAClC;;;;;;;;MAUa,aAAW,CAAA,WAAA,GAAlB,UAAmB,GAAS,EAAA;UAC/B,IAAM,cAAc,GAAW,EAAE,CAAC;EAClC,QAAA,IAAI,GAAG,EAAE;EACL,YAAA,IAAI,OAAO,GAAS,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;cAClC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7B,YAAA,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;cAC7B,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;EACjC,gBAAA,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;kBAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;EACzC,gBAAA,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EAChC,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,cAAc,CAAC;OACzB,CAAA;MAEa,aAAa,CAAA,aAAA,GAApB,UAAqB,IAAU,EAAA;EAClC,QAAA,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;UACrB,IAAM,UAAU,GAAc,EAAE,CAAC;EACjC,QAAA,IAAI,OAAY,CAAC;EACjB,QAAA,IAAI,KAAa,CAAC;UAClB,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;EAChC,YAAA,IAAM,UAAU,GAAY,IAAI,OAAO,EAAE,CAAC;cAC1C,IAAM,QAAQ,GAAW,aAAa,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;cACxD,UAAU,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC;EAC/C,YAAA,UAAU,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;EAC5D,YAAA,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC;EACtC,YAAA,OAAO,GAAG,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;EAC/B,YAAA,UAAU,CAAC,YAAY,GAAG,GAAG,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAChF,YAAA,OAAO,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;EAC9B,YAAA,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EAE/E,YAAA,OAAO,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;EAC7B,YAAA,UAAU,CAAC,iBAAiB,GAAG,GAAG,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACrF,YAAA,OAAO,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;EAC5B,YAAA,UAAU,CAAC,gBAAgB,GAAG,GAAG,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;EACpF,YAAA,UAAU,CAAC,WAAW,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;cAE3C,UAAU,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;EAChC,YAAA,UAAU,CAAC,cAAc,GAAG,QAAQ,CAAC;EACrC,YAAA,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAC5B,YAAA,KAAK,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;EACvB,YAAA,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;cACpB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;EAClC,SAAA;EACD,QAAA,IAAM,IAAI,GAAS,IAAI,IAAI,EAAE,CAAC;EAC9B,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;EAC3B,QAAA,OAAO,IAAI,CAAC;OACf,CAAA;;;EAjEa,aAAM,CAAA,MAAA,GAAiB,SAAS,CAAC;EAEjC,aAAA,CAAA,GAAG,GAAS,IAAI,IAAI,EAAE,CAAC;;cANjCK,cAAY,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EASXiE,SAAM,EAAA,IAAA,EAAA,CAACC,YAAS,EAAA,EAAA,CAAA,EAAA;;;ACVzB,MAAA,WAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,WAAA,GAAA;EAGW,QAAA,IAAO,CAAA,OAAA,GAAY,KAAK,CAAC;EACzB,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;EAC9B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;OAWrC;MAAA,OAAA,WAAA,CAAA;EAAA,CAAA,EAAA;;AChBD,MAAA,iBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iBAAA,GAAA;EAEW,QAAA,IAAM,CAAA,MAAA,GAAkB,EAAE,CAAC;OACrC;MAAA,OAAA,iBAAA,CAAA;EAAA,CAAA,EAAA;;ECHD,IAAA,KAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,KAAA,GAAA;EACW,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;OAO7B;EALG,IAAA,MAAA,CAAA,cAAA,CAAW,KAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EAApB,QAAA,GAAA,EAAA,YAAA;cACI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;EACrC,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACxB,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;MACJ,OAAA,KAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECRD,IAAA,GAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,GAAA,GAAA;EAIW,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;EAC5B,QAAA,IAAM,CAAA,MAAA,GAAkB,EAAE,CAAC;OACrC;MAAA,OAAA,GAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECFM,IAAM,iBAAiB,GAAgB,IAAI,WAAW,EAAE,CAAC;EACzD,IAAM,yBAAyB,GAAsB,IAAI,iBAAiB,EAAE,CAAC;EAC7E,IAAM,UAAU,GAAU,IAAI,KAAK,EAAE,CAAC;EACtC,IAAM,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;EACnC,IAAM,QAAQ,GAAQ,IAAI,GAAG,EAAE;;ACyEtC,MAAA,qBAAA,kBAAA,YAAA;MAwDI,SACwC,qBAAA,CAAA,OAAqB,EACjD,WAAuB,EACvB,SAAoB,EACpB,OAAe,EAChB,gBAAkC,EAAA;UAL7C,IAOC,KAAA,GAAA,IAAA,CAAA;EANuC,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAc;EACjD,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;EACvB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;EACpB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAQ;EAChB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EA5D7B,QAAA,IAAK,CAAA,KAAA,GAAgBxC,cAAI,CAAC;EAC1B,QAAA,IAAS,CAAA,SAAA,GAAwBkC,oBAAY,CAAC;EAE7C,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;EAEtC,QAAA,IAAA,CAAA,KAAK,GAAS,IAAI,IAAI,EAAE,CAAC;EAkCzB,QAAA,IAAA,CAAA,UAAU,GAA+B,IAAI/E,eAAY,EAAgB,CAAC;EAG1E,QAAA,IAAA,CAAA,kBAAkB,GAAuB,IAAIA,eAAY,EAAQ,CAAC;EAGlE,QAAA,IAAA,CAAA,WAAW,GAAuB,IAAIA,eAAY,EAAQ,CAAC;EAE3D,QAAA,IAAQ,CAAA,QAAA,GAAc,EAAE,CAAC;EACzB,QAAA,IAAG,CAAA,GAAA,GAAQ,QAAQ,CAAC;EACpB,QAAA,IAAc,CAAA,cAAA,GAAY,IAAI,CAAC;EAI9B,QAAA,IAAa,CAAA,aAAA,GAAwB,EAAE,CAAC;EAiFxC,QAAA,IAAS,CAAA,SAAA,GAAkB,YAAA,EAA0B,OAAA,SAAA,CAAA,KAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,YAAA;;kBACzD,IAAI,CAAC,WAAW,EAAE,CAAC;;;WACtB,CAAA,CAAA,EAAA,CAAA;OA1EA;EAvDD,IAAA,MAAA,CAAA,cAAA,CACW,qBAAY,CAAA,SAAA,EAAA,cAAA,EAAA;EAKvB,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,aAAa,CAAC;WAC7B;EARD,QAAA,GAAA,EAAA,UACwB,KAAW,EAAA;cAC/B,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;cACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;WAC7B;;;EAAA,KAAA,CAAA,CAAA;EASD,IAAA,MAAA,CAAA,cAAA,CACW,qBAAkB,CAAA,SAAA,EAAA,oBAAA,EAAA;EAO7B,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,mBAAmB,CAAC;WACnC;EAVD,QAAA,GAAA,EAAA,UAC8B,KAAW,EAAA;EACrC,YAAA,IAAI,KAAK,EAAE;kBACP,IAAI,CAAC,mBAAmB,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;kBAC3C,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC7B,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACW,qBAAY,CAAA,SAAA,EAAA,cAAA,EAAA;EADvB,QAAA,GAAA,EAAA,UACwB,KAA0B,EAAA;EAC9C,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;cAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;WAC7B;;;EAAA,KAAA,CAAA,CAAA;EA4BD,IAAA,qBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACI,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;EACrD,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;OAChC,CAAA;EAED,IAAA,qBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UAAA,IAIC,KAAA,GAAA,IAAA,CAAA;EAHG,QAAA,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAA;cAC3B,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,KAAI,CAAC,SAAS,CAAC,CAAC;EACtD,SAAC,CAAC,CAAC;OACN,CAAA;EAED,IAAA,qBAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,YAAA;UACI,IAAI,CAAC,WAAW,EAAE,CAAC;OACtB,CAAA;EAEM,IAAA,qBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;UACH,IAAI,IAAI,CAAC,YAAY,EAAE;cACnB,IAAM,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;cAClD,QAAQ,IAAI,CAAC,IAAI;kBACb,KAAK+E,oBAAY,CAAC,OAAO;EACrB,oBAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;sBACjD,MAAM;kBACV,KAAKA,oBAAY,CAAC,QAAQ;EACtB,oBAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;sBACjD,MAAM;kBACV,KAAKA,oBAAY,CAAC,cAAc;EAC5B,oBAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;sBACjD,MAAM;kBACV,KAAKA,oBAAY,CAAC,SAAS;EACvB,oBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;sBACnD,MAAM;EACb,aAAA;EACD,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;cAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAC5C,SAAA;OACJ,CAAA;EAEM,IAAA,qBAAA,CAAA,SAAA,CAAA,OAAO,GAAP,YAAA;UACH,IAAI,IAAI,CAAC,YAAY,EAAE;cACnB,IAAM,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;cAClD,QAAQ,IAAI,CAAC,IAAI;kBACb,KAAKA,oBAAY,CAAC,OAAO;EACrB,oBAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;sBACjD,MAAM;kBACV,KAAKA,oBAAY,CAAC,QAAQ;EACtB,oBAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;sBACjD,MAAM;kBACV,KAAKA,oBAAY,CAAC,cAAc;EAC5B,oBAAA,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;sBACjD,MAAM;kBACV,KAAKA,oBAAY,CAAC,SAAS;EACvB,oBAAA,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;sBACnD,MAAM;EACb,aAAA;EACD,YAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;cAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAC5C,SAAA;OACJ,CAAA;MAEM,qBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,OAAgB,EAAA;EAC3B,QAAA,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;UACjC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACnD,CAAA;MAEM,qBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,IAAkB,EAAA;EACnC,QAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACjB,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UAC3B,IAAI,CAAC,kBAAkB,EAAE,CAAC;OAC7B,CAAA;EAMD;;EAEG;EACK,IAAA,qBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACJ,IAAI,IAAI,CAAC,WAAW,EAAE;EAClB,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CACnB,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,aAAa,CAAC,WAAW,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;EACvI,SAAA;OACJ,CAAA;EAEO,IAAA,qBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;UAAA,IAyCP,KAAA,GAAA,IAAA,CAAA;UAxCG,IAAI,IAAI,CAAC,YAAY,EAAE;cACnB,QAAQ,IAAI,CAAC,IAAI;kBACb,KAAKA,oBAAY,CAAC,OAAO;EACrB,oBAAA,IAAM,GAAG,GAAQ,IAAI,GAAG,EAAE,CAAC;sBAC3B,GAAG,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACvC,oBAAA,IAAM,OAAO,GAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC;EACxE,oBAAA,GAAG,CAAC,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;EAC9E,oBAAA,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;sBACf,MAAM;kBACV,KAAKA,oBAAY,CAAC,QAAQ;sBACtB,IAAM,QAAQ,GAAS,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACtE,oBAAA,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;sBAClC,IAAI,IAAI,CAAC,kBAAkB,EAAE;EACzB,wBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,SAAS,CAAC,UAAU,CAAC,KAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAtD,EAAsD,CAAC,KAAK,SAAS,CAAC;EACxH,qBAAA;sBACD,MAAM;kBACV,KAAKA,oBAAY,CAAC,cAAc;sBAC5B,IAAM,cAAc,GAAS,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAC5E,oBAAA,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;EACxC,oBAAA,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAC,EAAW,EAAA;0BAC9B,IAAM,QAAQ,GAAsB,KAAI,CAAC,aAAa,IAAI,KAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,GAAG,KAAI,CAAC,aAAa,CAAC,IAAI,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAArC,EAAqC,CAAC,GAAG,IAAI,CAAC;EACrK,wBAAA,IAAI,QAAQ,EAAE;EACV,4BAAA,EAAE,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;EAC/B,yBAAA;EAAM,6BAAA;EACH,4BAAA,EAAE,CAAC,eAAe,GAAG,KAAK,CAAC;EAC9B,yBAAA;EACL,qBAAC,CAAC,CAAC;sBACH,IAAI,IAAI,CAAC,kBAAkB,EAAE;EACzB,wBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,SAAS,CAAC,UAAU,CAAC,KAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAtD,EAAsD,CAAC,KAAK,SAAS,CAAC;EACxH,qBAAA;sBACD,MAAM;kBACV,KAAKA,oBAAY,CAAC,SAAS;sBACvB,IAAM,WAAW,GAAS,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACzE,oBAAA,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;sBACrC,IAAI,IAAI,CAAC,kBAAkB,EAAE;EACzB,wBAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAA,EAAE,EAAA,EAAI,OAAA,SAAS,CAAC,UAAU,CAAC,KAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,CAAtD,EAAsD,CAAC,KAAK,SAAS,CAAC;EACxH,qBAAA;sBACD,MAAM;EACb,aAAA;EACJ,SAAA;OACJ,CAAA;;;;EAvPJ,IAAA,EAAA,IAAA,EAAA3E,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,eAAe;EACzB,gBAAA,QAAQ,EAAE,u9HAoDT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAnEOS,cAAY,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EA6HXiE,SAAM,EAAA,IAAA,EAAA,CAACC,YAAS,EAAA,EAAA,CAAA,EAAA;cAzIvBzE,aAAU,EAAA;cASVoE,YAAS,EAAA;cAJTM,SAAM,EAAA;cAgBA,gBAAgB,EAAA;;;6BAmEnBzE,QAAK,EAAA,CAAA;qBAULA,QAAK,EAAA,CAAA;mCAGLA,QAAK,EAAA,CAAA;6BAYLA,QAAK,EAAA,CAAA;2BAMLC,SAAM,EAAA,CAAA;mCAGNA,SAAM,EAAA,CAAA;4BAGNA,SAAM,EAAA,CAAA;;;AC3GX,MAAA,mBAAA,kBAAA,YAAA;EAhBA,IAAA,SAAA,mBAAA,GAAA;EA4BW,QAAA,IAAY,CAAA,YAAA,GAAwB,EAAE,CAAC;EAG9B,QAAA,IAAA,CAAA,YAAY,GAA8B,IAAId,eAAY,EAAe,CAAC;EAE1E,QAAA,IAAS,CAAA,SAAA,GAAwB+E,oBAAY,CAAC;OAEjE;;;;EAnCA,IAAA,EAAA,IAAA,EAAA3E,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,aAAa;EACvB,gBAAA,QAAQ,EAAE,ikCAWT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;qBAGIG,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;6BAGLA,QAAK,EAAA,CAAA;6BAGLA,QAAK,EAAA,CAAA;6BAGLC,SAAM,EAAA,CAAA;;;AC3BX,MAAA,uBAAA,kBAAA,YAAA;MA4BI,SAC0C,uBAAA,CAAA,MAAoB,EACnD,gBAAkC,EAAA;EADH,QAAA,IAAM,CAAA,MAAA,GAAN,MAAM,CAAc;EACnD,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAftC,QAAA,IAAA,CAAA,YAAY,GAA8B,IAAId,eAAY,EAAe,CAAC;EAWzE,QAAA,IAAa,CAAA,aAAA,GAAwB,EAAE,CAAC;OAM/C;EA9BD,IAAA,MAAA,CAAA,cAAA,CACW,uBAAY,CAAA,SAAA,EAAA,cAAA,EAAA;EAcvB,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,aAAa,CAAC;WAC7B;EAjBD,QAAA,GAAA,EAAA,UACwB,KAAW,EAAA;EAC/B,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;cAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;WACrB;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACW,uBAAY,CAAA,SAAA,EAAA,cAAA,EAAA;EADvB,QAAA,GAAA,EAAA,UACwB,KAA0B,EAAA;EAC9C,YAAA,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;cAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;WACxB;;;EAAA,KAAA,CAAA,CAAA;EASD,IAAA,MAAA,CAAA,cAAA,CAAW,uBAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EAAxB,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,aAAa,CAAC;WAC7B;;;EAAA,KAAA,CAAA,CAAA;;EAYS,IAAA,uBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;OACT,CAAA;MAES,uBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,IAAU,EAAA;UAClC,IAAI,MAAM,GAAkB,EAAE,CAAC;UAC/B,IAAI,IAAI,CAAC,aAAa,EAAE;EACpB,YAAA,IAAM,GAAG,GAAW,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC;cAC9C,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;EAClC,gBAAA,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;sBACxD,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;sBACtC,MAAM;EACT,iBAAA;EACJ,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;UACJ,IAAI,CAAC,eAAe,EAAE,CAAC;OAC1B,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;UACJ,IAAI,CAAC,eAAe,EAAE,CAAC;OAC1B,CAAA;;;;cA3DJuF,YAAS,EAAA;;;cANFpE,cAAY,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAoCXiE,SAAM,EAAA,IAAA,EAAA,CAACC,YAAS,EAAA,EAAA,CAAA,EAAA;cAhCjB,gBAAgB,EAAA;;;6BAKnBxE,QAAK,EAAA,CAAA;6BAMLA,QAAK,EAAA,CAAA;6BAMLC,SAAM,EAAA,CAAA;;;ACIX,MAAA,wBAAA,kBAAA,UAAA,MAAA,EAAA;MAA8C,SAAuB,CAAA,wBAAA,EAAA,MAAA,CAAA,CAAA;EAhBrE,IAAA,SAAA,wBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAsDC,CAAA,CAAA,IAAA,IAAA,CAAA;EApCU,QAAA,KAAK,CAAA,KAAA,GAAU,UAAU,CAAC;EAE1B,QAAA,KAAa,CAAA,aAAA,GAAc,EAAE,CAAC;EAE9B,QAAA,KAAK,CAAA,KAAA,GAAW,EAAE,CAAC;;OAgC7B;EA9Ba,IAAA,wBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;EACN,QAAA,IAAM,KAAK,GAAU,IAAI,KAAK,EAAE,CAAC;UACjC,IAAI,IAAI,CAAC,YAAY,EAAE;cACnB,IAAM,GAAG,GAAS,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;cAClE,IAAM,UAAU,GAAS,SAAS,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;cACxE,IAAI,gBAAgB,GAAY,KAAK,CAAC;cACtC,IAAI,YAAY,GAAY,IAAI,CAAC;EAEjC,YAAA,OAAO,YAAY,EAAE;EACjB,gBAAA,IAAI,gBAAgB,EAAE;sBAClB,YAAY,GAAG,KAAK,CAAC;EACxB,iBAAA;kBACD,IAAM,IAAI,GAAS,aAAa,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;EACpD,gBAAA,IAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;kBACzC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;sBAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;sBACxE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;EAC/F,iBAAA;EACD,gBAAA,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;kBACvB,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;kBAC/B,IAAI,GAAG,CAAC,OAAO,EAAE,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE;sBACvC,gBAAgB,GAAG,IAAI,CAAC;EAC3B,iBAAA;EACJ,aAAA;EACD,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;cACnB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC;EACnD,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC;EAC5B,SAAA;OACJ,CAAA;;GApCL,CAA8C,uBAAuB;;EAhBpE,IAAA,EAAA,IAAA,EAAAV,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,mBAAmB;EAC7B,gBAAA,QAAQ,EAAE,ghBAWT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;ACHD,MAAA,sBAAA,kBAAA,UAAA,MAAA,EAAA;MAA4C,SAAuB,CAAA,sBAAA,EAAA,MAAA,CAAA,CAAA;EAjBnE,IAAA,SAAA,sBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WA6BC,CAAA,CAAA,IAAA,IAAA,CAAA;EAVU,QAAA,KAAM,CAAA,MAAA,GAAkB,EAAE,CAAC;;OAUrC;EALa,IAAA,sBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACN,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;cACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;EAC9C,SAAA;OACJ,CAAA;;GAXL,CAA4C,uBAAuB;;EAjBlE,IAAA,EAAA,IAAA,EAAAN,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,iBAAiB;EAC3B,gBAAA,QAAQ,EAAE,0hBAYT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;kCAKIG,QAAK,EAAA,CAAA;;;ACGV,MAAA,uBAAA,kBAAA,UAAA,MAAA,EAAA;EAA6C,IAAA,SAAA,CAAA,uBAAA,EAAA,MAAA,CAAA,CAAuB;EApBpE,IAAA,SAAA,uBAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAwCC,CAAA,CAAA,IAAA,IAAA,CAAA;EAbU,QAAA,KAAI,CAAA,IAAA,GAAS,SAAS,CAAC;;OAajC;EAXa,IAAA,uBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACN,IAAI,IAAI,CAAC,YAAY,EAAE;;cAEnB,IAAM,IAAI,GAAS,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAClE,YAAA,IAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;cACzC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;kBAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;EAC3E,aAAA;EACD,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACpB,SAAA;OACJ,CAAA;;IAnBwC,uBAAuB;;EApBnE,IAAA,EAAA,IAAA,EAAAT,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,kBAAkB;EAC5B,gBAAA,QAAQ,EAAE,0rBAeT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;qBAGIG,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;;;ACOV,MAAA,6BAAA,kBAAA,UAAA,MAAA,EAAA;MAAmD,SAAuB,CAAA,6BAAA,EAAA,MAAA,CAAA,CAAA;EAjC1E,IAAA,SAAA,6BAAA,GAAA;EAAA,QAAA,IAAA,KAAA,GAAA,MAAA,CAAA,KAAA,CAAA,IAAA,EAAA,aAAA,CAAA,EAAA,EAAA,MAAA,WAsDC,CAAA,CAAA,IAAA,IAAA,CAAA;EAlBU,QAAA,KAAA,CAAA,IAAI,GAAiBkE,oBAAY,CAAC,cAAc,CAAC;EAEjD,QAAA,KAAI,CAAA,IAAA,GAAS,SAAS,CAAC;EAEd,QAAA,KAAK,CAAA,KAAA,GAAgBlC,cAAI,CAAC;;OAc7C;EAZa,IAAA,6BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACN,IAAI,IAAI,CAAC,YAAY,EAAE;;cAEnB,IAAM,IAAI,GAAS,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EAClE,YAAA,IAAM,GAAG,GAAW,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;cACzC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;kBAClC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;EAC3E,aAAA;EACD,YAAA,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;EACpB,SAAA;OACJ,CAAA;;GAnBL,CAAmD,uBAAuB;;EAjCzE,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,yBAAyB;EACnC,gBAAA,QAAQ,EAAE,8wDA4BT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;qBAGIG,QAAK,EAAA,CAAA;;;AC7BV,MAAA,uBAAA,kBAAA,YAAA;EAZA,IAAA,SAAA,uBAAA,GAAA;EAoBoB,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;EAMpC,QAAA,IAAA,CAAA,KAAK,GAAS,IAAI,IAAI,EAAE,CAAC;OAiBpC;EA7BG,IAAA,MAAA,CAAA,cAAA,CACW,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAOf,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,KAAK,CAAC;WACrB;EAVD,QAAA,GAAA,EAAA,UACgB,KAAW,EAAA;cACvB,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;cAC7B,IAAI,CAAC,gBAAgB,EAAE,CAAC;WAC3B;;;EAAA,KAAA,CAAA,CAAA;;EAWO,IAAA,uBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;EACJ,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;UAC/B,IAAI,IAAI,CAAC,IAAI,EAAE;cACX,IAAI,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;cACxC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;cAClC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;EACjC,gBAAA,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;kBAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;EACzC,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACrC,aAAA;EACJ,SAAA;OACJ,CAAA;;;;EAzCJ,IAAA,EAAA,IAAA,EAAAT,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,kBAAkB;EAC5B,gBAAA,QAAQ,EAAE,wRAOT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;qBAGIG,QAAK,EAAA,CAAA;;;ACJV,MAAA,uBAAA,kBAAA,YAAA;EAVA,IAAA,SAAA,uBAAA,GAAA;EAYW,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;EAG5B,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;OAoBpC;EAlBG,IAAA,MAAA,CAAA,cAAA,CACW,uBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAKf,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,KAAK,CAAC;WACrB;EARD,QAAA,GAAA,EAAA,UACgB,KAAW,EAAA;EACvB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;cACnB,IAAI,CAAC,gBAAgB,EAAE,CAAC;WAC3B;;;EAAA,KAAA,CAAA,CAAA;EAUO,IAAA,uBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;UACJ,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EAC7C,QAAA,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;OAC7E,CAAA;;;;EAlCJ,IAAA,EAAA,IAAA,EAAAT,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,kBAAkB;EAC5B,gBAAA,QAAQ,EAAE,iRAKT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;2BAEIG,QAAK,EAAA,CAAA;yBAGLA,QAAK,EAAA,CAAA;qBAGLA,QAAK,EAAA,CAAA;;;ACNV,MAAA,6BAAA,kBAAA,YAAA;EAXA,IAAA,SAAA,6BAAA,GAAA;EAuBW,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;EAEjB,QAAA,IAAc,CAAA,cAAA,GAAW,EAAE,CAAC;EAMpC,QAAA,IAAA,CAAA,KAAK,GAAS,IAAI,IAAI,EAAE,CAAC;OAgBpC;EAlCG,IAAA,MAAA,CAAA,cAAA,CACW,6BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAaf,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,KAAK,CAAC;WACrB;EAhBD,QAAA,GAAA,EAAA,UACgB,KAAW,EAAA;cACvB,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;EAC7B,YAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;EACtB,YAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;EACvB,YAAA,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;cAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;WAC3B;;;EAAA,KAAA,CAAA,CAAA;;EAcO,IAAA,6BAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;EACJ,QAAA,IAAI,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;UAC/B,IAAI,IAAI,CAAC,IAAI,EAAE;cACX,IAAI,OAAO,GAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;cACxC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;EAC7B,YAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;cAClC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;EACjC,gBAAA,OAAO,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;kBAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;EACzC,gBAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACrC,aAAA;EACJ,SAAA;OACJ,CAAA;;;;EA9CJ,IAAA,EAAA,IAAA,EAAAT,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,yBAAyB;EACnC,gBAAA,QAAQ,EAAE,uQAMT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;qBAGIG,QAAK,EAAA,CAAA;yBASLA,QAAK,EAAA,CAAA;;;ACLV,MAAA,2BAAA,kBAAA,YAAA;EA4BI,IAAA,SAAA,2BAAA,CACY,SAAoB,EAAA;EAApB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;EAZzB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;EAE3B,QAAA,IAAe,CAAA,eAAA,GAAY,KAAK,CAAC;EAEjC,QAAA,IAAc,CAAA,cAAA,GAAW,CAAC,CAAC;OAUjC;EA1BD,IAAA,MAAA,CAAA,cAAA,CACW,2BAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAMf,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,KAAK,CAAC;WACrB;EATD,QAAA,GAAA,EAAA,UACgB,KAAW,EAAA;EACvB,YAAA,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;cACnB,IAAI,CAAC,UAAU,EAAE,CAAC;cAClB,IAAI,CAAC,qBAAqB,EAAE,CAAC;WAChC;;;EAAA,KAAA,CAAA,CAAA;EAuBD,IAAA,2BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACI,QAAA,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;OACvC,CAAA;EAEO,IAAA,2BAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;EACJ,QAAA,IAAM,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;UACnC,IAAM,WAAW,GAAW,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;EACnD,QAAA,IAAM,SAAS,GAAW,WAAW,GAAG,EAAE,CAAC;UAE3C,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,EAAE;cAC5C,IAAI,SAAS,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,SAAS,CAAC,UAAU,EAAE,GAAG,WAAW,IAAI,SAAS,CAAC,UAAU,EAAE,GAAG,SAAS,CAAC,EAAE;kBAC/H,IAAI,CAAC,cAAc,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,CAAC;kBACzE,IAAI,CAAC,oBAAoB,EAAE,CAAC;EAC5B,gBAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;EAC/B,aAAA;EACJ,SAAA;OACJ,CAAA;EAEO,IAAA,2BAAA,CAAA,SAAA,CAAA,qBAAqB,GAArB,YAAA;EACJ,QAAA,IAAI,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,UAAU,GAAG,EAAE,CAAC;OAC/F,CAAA;EAEO,IAAA,2BAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;UACJ,IAAI,IAAI,CAAC,kBAAkB,EAAE;EACzB,YAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,CAAC,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC;EACjG,YAAA,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,cAAc,EAAE,CAAC;EAC1D,SAAA;OACJ,CAAA;;;;EA3EJ,IAAA,EAAA,IAAA,EAAAT,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,uBAAuB;EACjC,gBAAA,QAAQ,EAAE,qdAUT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAlBgDsE,YAAS,EAAA;;;EAqBrD,IAAA,kBAAA,EAAA,CAAA,EAAA,IAAA,EAAArE,YAAS,SAAC,aAAa,EAAA,EAAA,CAAA;qBAGvBE,QAAK,EAAA,CAAA;0BAWLA,QAAK,EAAA,CAAA;;;ACPV,MAAA,qBAAA,kBAAA,YAAA;EAsBI,IAAA,SAAA,qBAAA,GAAA;EApBgB,QAAA,IAAS,CAAA,SAAA,GAAwBkE,oBAAY,CAAC;EAMvD,QAAA,IAAA,CAAA,IAAI,GAAiBA,oBAAY,CAAC,QAAQ,CAAC;EAG3C,QAAA,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;EAGlB,QAAA,IAAM,CAAA,MAAA,GAAkB,EAAE,CAAC;EAMlB,QAAA,IAAA,CAAA,YAAY,GAA8B,IAAI/E,eAAY,EAAe,CAAC;OAGzF;;;;EA/CJ,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,eAAe;EACzB,gBAAA,QAAQ,EAAE,owBAmBT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;;kCAKIG,QAAK,EAAA,CAAA;qBAGLA,QAAK,EAAA,CAAA;qBAGLA,QAAK,EAAA,CAAA;uBAGLA,QAAK,EAAA,CAAA;+BAGLA,QAAK,EAAA,CAAA;6BAGLC,SAAM,EAAA,CAAA;;;ACnBX,MAAA,oBAAA,kBAAA,YAAA;EAgBI,IAAA,SAAA,oBAAA,CACY,WAAuB,EACvB,SAAoB,EACrB,gBAAkC,EAAA;EAFjC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;EACvB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;EACrB,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAjB7B,QAAA,IAAK,CAAA,KAAA,GAAgB+B,cAAI,CAAC;EAGnC,QAAA,IAAK,CAAA,KAAA,GAAgB,iBAAiB,CAAC;EASvC,QAAA,IAAA,CAAA,YAAY,GAA8B,IAAI7C,eAAY,EAAe,CAAC;OAOhF;EAED,IAAA,oBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACI,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;OAChC,CAAA;EAED,IAAA,oBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACI,IAAM,MAAM,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;UAClD,IAAM,SAAS,GAAW,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;UACvD,IAAM,QAAQ,GAAW,MAAM,IAAI,SAAS,GAAG,EAAE,CAAC,CAAC;UACnD,IAAM,GAAG,GAAW,QAAQ,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC;EACzD,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI,CAAC,CAAC;UAE3E,IAAM,KAAK,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC;EAC9F,QAAA,IAAM,MAAM,GAAW,KAAK,IAAI,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EAC7D,QAAA,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC,CAAC;OACpF,CAAA;MAEM,oBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,KAAiB,EAAA;UAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;UACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACtC,CAAA;;;;EArDJ,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,cAAc;EACxB,gBAAA,QAAQ,EAAE,2aAMT;kBACH,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cAzBCE,aAAU,EAAA;cAMVoE,YAAS,EAAA;cAMH,gBAAgB,EAAA;;;sBAkBnBnE,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;+BAGLA,QAAK,EAAA,CAAA;6BAGLC,SAAM,EAAA,CAAA;;;ECpCX;AACA,MAAA,WAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,WAAA,GAAA;;MACI,WAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAa,EAAA;EACnB,QAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;EAC3B,YAAA,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACzD,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OAChB,CAAA;;;;EAVJ,IAAA,EAAA,IAAA,EAAAuD,OAAI,EAAC,IAAA,EAAA,CAAA;EACF,gBAAA,IAAI,EAAE,SAAS;EAClB,aAAA,EAAA,EAAA;;;ECED;AACA,MAAA,iBAAA,kBAAA,YAAA;EAGI,IAAA,SAAA,iBAAA,GAAA;OACC;EAED;;;;EAIG;EACH,IAAA,iBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,UAAU,KAAuB,EAAE,UAA2B,EAAA;EAA3B,QAAA,IAAA,UAAA,KAAA,KAAA,CAAA,EAAA,EAAA,UAA2B,GAAA,KAAA,CAAA,EAAA;UAC1D,IAAI,CAAC,KAAK,EAAE;EACR,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;UACD,IAAM,WAAW,GAAW,UAAU,GAAG,QAAQ,GAAG,EAAE,CAAC;EACvD,QAAA,IAAI,aAAqB,CAAC;EAC1B,QAAA,QAAQ,KAAK;cACT,KAAKmB,sCAAgB,CAAC,KAAK;EACvB,gBAAA,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;kBAC/C,MAAM;cACV,KAAKA,sCAAgB,CAAC,GAAG;EACrB,gBAAA,aAAa,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC;kBAC7C,MAAM;cACV,KAAKA,sCAAgB,CAAC,UAAU;EAC5B,gBAAA,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,MAAM,CAAC;kBAC/C,MAAM;cACV,KAAKA,sCAAgB,CAAC,YAAY;EAC9B,gBAAA,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;kBAC9C,MAAM;cACV,KAAKA,sCAAgB,CAAC,UAAU;EAC5B,gBAAA,aAAa,GAAG,KAAK,GAAG,WAAW,GAAG,MAAM,CAAC;kBAC7C,MAAM;cACV,KAAKA,sCAAgB,CAAC,QAAQ;EAC1B,gBAAA,aAAa,GAAG,MAAM,GAAG,WAAW,GAAG,MAAM,CAAC;kBAC9C,MAAM;EACV,YAAA;EACI,gBAAA,aAAa,GAAG,WAAW,GAAG,WAAW,GAAG,MAAM,CAAC;kBACnD,MAAM;EACb,SAAA;EACD,QAAA,OAAO,iBAAiB,CAAC,qBAAqB,GAAG,aAAa,CAAC;OAClE,CAAA;;;EAxCuB,iBAAqB,CAAA,qBAAA,GAAW,wBAAwB,CAAC;;EALpF,IAAA,EAAA,IAAA,EAAAnB,OAAI,EAAC,IAAA,EAAA,CAAA;EACF,gBAAA,IAAI,EAAE,eAAe;EACxB,aAAA,EAAA,EAAA;;;;ACDY,MAAA,YAAY,GAAU;MACjC,eAAe;MACf,WAAW;MACX,iBAAiB;;;ECPnB;EACA,IAAY,kBAIX,CAAA;EAJD,CAAA,UAAY,kBAAkB,EAAA;MAC1B,kBAAA,CAAA,kBAAA,CAAA,MAAA,CAAA,GAAA,CAAA,CAAA,GAAA,MAAQ,CAAA;MACR,kBAAA,CAAA,kBAAA,CAAA,QAAA,CAAA,GAAA,CAAA,CAAA,GAAA,QAAU,CAAA;MACV,kBAAA,CAAA,kBAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAS,CAAA;EACb,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,GAI7B,EAAA,CAAA,CAAA,CAAA;EAEK,SAAU,wBAAwB,CAAC,KAAyB,EAAA;EAC9D,IAAA,QAAQ,KAAK;UACT,KAAK,kBAAkB,CAAC,IAAI;cACxB,OAAO,kBAAkB,CAAC,MAAM,CAAC;UACrC,KAAK,kBAAkB,CAAC,MAAM;cAC1B,OAAO,kBAAkB,CAAC,KAAK,CAAC;UACpC,KAAK,kBAAkB,CAAC,KAAK,CAAC;EAC9B,QAAA;cACI,OAAO,kBAAkB,CAAC,IAAI,CAAC;EACtC,KAAA;EACL;;ECjBA;EACA,IAAA,QAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,QAAA,GAAA;OA0CC;EAxCG;;;;EAIG;EACW,IAAA,QAAA,CAAA,cAAc,GAArB,UAA4B,GAAc,EAAE,WAAkC,EAAA;UAA9E,IAeN,KAAA,GAAA,IAAA,CAAA;EAbG,QAAA,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE;EACtB,YAAA,OAAO,SAAS,CAAC;EACpB,SAAA;UAED,IAAI,QAAQ,GAAM,SAAS,CAAC;UAC5B,IAAI,WAAW,GAAY,KAAK,CAAC;EACjC,QAAA,GAAG,CAAC,OAAO,CAAC,UAAC,KAAQ,EAAE,GAAM,EAAA;cACzB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,KAAI,EAAE,KAAK,CAAC,EAAE;kBAC/C,QAAQ,GAAG,GAAG,CAAC;kBACf,WAAW,GAAG,IAAI,CAAC;EACtB,aAAA;EACL,SAAC,CAAC,CAAC;EACH,QAAA,OAAO,QAAQ,CAAC;OACnB,CAAA;EAED;;;;;;EAMG;EACW,IAAA,QAAA,CAAA,sBAAsB,GAA7B,UAA8B,GAAkB,EAAE,MAAW,EAAE,UAAe,EAAA;UACjF,IAAI,CAAC,GAAG,EAAE;cACN,OAAO;EACV,SAAA;EAED,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;cAClB,GAAG,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;EACjC,SAAA;EAAM,aAAA;cACH,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACpC,SAAA;OACJ,CAAA;MACJ,OAAA,QAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;AC5BD,MAAA,mBAAA,kBAAA,YAAA;EAkBI,IAAA,SAAA,mBAAA,GAAA;EAhBiB,QAAA,IAAa,CAAA,aAAA,GAA0C,IAAI,GAAG,CAAmC;EAC9G,YAAA,CAACU,oBAAY,CAAC,OAAO,EAAE,kBAAkB,CAAC,IAAI,CAAC;EAC/C,YAAA,CAACA,oBAAY,CAAC,QAAQ,EAAE,kBAAkB,CAAC,MAAM,CAAC;EAClD,YAAA,CAACA,oBAAY,CAAC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC;EACrD,SAAA,CAAC,CAAC;EAGI,QAAA,IAAA,CAAA,YAAY,GAAiBA,oBAAY,CAAC,QAAQ,CAAC;EAGnD,QAAA,IAAA,CAAA,kBAAkB,GAA+B,IAAI/E,eAAY,EAAgB,CAAC;OAOxF;EALD,IAAA,MAAA,CAAA,cAAA,CAAW,mBAAiB,CAAA,SAAA,EAAA,mBAAA,EAAA;EAA5B,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;WACpD;;;EAAA,KAAA,CAAA,CAAA;MAKM,mBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,UAA8B,EAAA;EACpD,QAAA,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAmC,IAAI,CAAC,aAAa,EAAE,UAAC,KAAyB,EAAA;EACxH,YAAA,QAAQ,KAAK,KAAK,UAAU,EAAE;EAClC,SAAC,CAAC,CAAC;UACH,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OACnD,CAAA;;;;EApCJ,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,aAAa;EACvB,gBAAA,QAAQ,EAAE,oMAKT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACxC,aAAA,EAAA,EAAA;;;;6BASIG,QAAK,EAAA,CAAA;mCAGLC,SAAM,EAAA,CAAA;;;ACPX,MAAA,0BAAA,kBAAA,YAAA;EASI,IAAA,SAAA,0BAAA,CACS,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAT3B,QAAA,IAAK,CAAA,KAAA,GAAgB+B,cAAI,CAAC;EAGnC,QAAA,IAAK,CAAA,KAAA,GAAgB,iBAAiB,CAAC;EAGvC,QAAA,IAAA,CAAA,YAAY,GAA8B,IAAI7C,eAAY,EAAe,CAAC;OAKhF;MAEM,0BAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,KAAiB,EAAA;UAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;UACzC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;OACtC,CAAA;;;;EA9BJ,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,qBAAqB;EAC/B,gBAAA,QAAQ,EAAE,0lBAST;EACJ,aAAA,EAAA,EAAA;;;cAdO,gBAAgB,EAAA;;;sBAkBnBS,QAAK,EAAA,CAAA;6BAGLC,SAAM,EAAA,CAAA;;;ACkCX,MAAA,kBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,kBAAA,GAAA;;;;;EAlCC,IAAA,EAAA,IAAA,EAAAG,WAAQ,EAAC,IAAA,EAAA,CAAA;EACN,gBAAA,OAAO,EAAE;sBACLC,mBAAY;sBACZuE,wCAAqB;sBACrBnC,6BAAU;sBACVG,+BAAY;EACf,iBAAA;EACH,gBAAA,YAAY,EAAE;sBACZ,qBAAqB;sBACrB,yBAAyB;sBACzB,0BAA0B;sBAC1B,uBAAuB;sBACvB,iBAAiB;sBACjB,qBAAqB;sBACrB,qBAAqB;sBACrB,mBAAmB;sBACnB,wBAAwB;sBACxB,sBAAsB;sBACtB,uBAAuB;sBACvB,6BAA6B;sBAC7B,uBAAuB;sBACvB,uBAAuB;sBACvB,6BAA6B;sBAC7B,2BAA2B;sBAC3B,qBAAqB;sBACrB,oBAAoB;sBACpB,mBAAmB;sBACnB,0BAA0B;sBAC1B,YAAY;EACb,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,qBAAqB;EACtB,iBAAA;EACF,aAAA,EAAA,EAAA;;;AC4DD,MAAA,mBAAA,kBAAA,YAAA;MAqCE,SACS,mBAAA,CAAA,gBAAkC,EAClC,aAA4B,EAAA;EAD5B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAClC,QAAA,IAAa,CAAA,aAAA,GAAb,aAAa,CAAe;EAtCrB,QAAA,IAAI,CAAA,IAAA,GAAgBZ,cAAI,CAAC;EAmBlC,QAAA,IAAA,CAAA,UAAU,GAAuB,IAAI7C,eAAY,EAAQ,CAAC;EAG1D,QAAA,IAAA,CAAA,SAAS,GAAgC,IAAIA,eAAY,EAAiB,CAAC;EAE3E,QAAA,IAAW,CAAA,WAAA,GAAkB,EAAE,CAAC;EAChC,QAAA,IAAW,CAAA,WAAA,GAAkB,EAAE,CAAC;EAChC,QAAA,IAAY,CAAA,YAAA,GAAW,EAAE,CAAC;EAEzB,QAAA,IAAK,CAAA,KAAA,GAAkB,EAAE,CAAC;EAC1B,QAAA,IAAW,CAAA,WAAA,GAAkB,EAAE,CAAC;OAUnC;EArCL,IAAA,MAAA,CAAA,cAAA,CACW,mBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EADf,QAAA,GAAA,EAAA,UACgB,IAAmB,EAAA;EACjC,YAAA,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;cAClB,IAAI,CAAC,kBAAkB,EAAE,CAAC;WAC3B;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACW,mBAAU,CAAA,SAAA,EAAA,YAAA,EAAA;EAKrB,QAAA,GAAA,EAAA,YAAA;cACE,OAAO,IAAI,CAAC,WAAW,CAAC;WACzB;EARD,QAAA,GAAA,EAAA,UACsB,IAAmB,EAAA;cADzC,IAIC,KAAA,GAAA,IAAA,CAAA;EAFC,YAAA,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;EACxB,YAAA,IAAI,CAAC,OAAO,CAAC,UAAC,GAAG,IAAK,OAAA,KAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAxB,EAAwB,CAAC,CAAC;WACjD;;;EAAA,KAAA,CAAA,CAAA;EAoBM,IAAA,mBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAOM,IAAA,mBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;UACL,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,GAAgB,EAAK,EAAA,OAAA,GAAG,CAAC,SAAS,KAAK,CAAC,CAAA,EAAA,CAAC,CAAC;EAChF,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;EACtB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;OACxB,CAAA;MAEM,mBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,WAAwB,EAAA;UAC/C,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,EAAE;cAChE,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;EACvC,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACpC,aAAA;cACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,GAAgB,EAAA;EACpD,gBAAA,OAAO,GAAG,CAAC,QAAQ,KAAK,WAAW,CAAC,EAAE,IAAI,GAAG,CAAC,SAAS,KAAK,WAAW,CAAC,SAAS,GAAG,CAAC,CAAA;EACvF,aAAC,CAAC,CAAC;EACJ,SAAA;OACF,CAAA;EAEM,IAAA,mBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,GAAgB,EAAE,KAAa,EAAA;EACvD,QAAA,IAAI,GAAG,KAAK,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;cACzD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;EACnC,YAAA,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;EAC7B,SAAA;OACF,CAAA;MAEM,mBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,KAAsC,EAAA;UACxD,IAAM,UAAU,GAAgB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;UACtE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;EAC1C,YAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;EAC7D,YAAA,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;EACjC,SAAA;OACF,CAAA;MAEM,mBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,GAAgB,EAAA;EACrC,QAAA,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;OAC3D,CAAA;EAEM,IAAA,mBAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;UAAA,IA6BN,KAAA,GAAA,IAAA,CAAA;EA5BC,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;EACtB,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;cACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;cAC1B,OAAO;EACR,SAAA;EACD,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;cAChC,OAAO;EACR,SAAA;EACD,QAAA,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE,EAAE;cAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;cAC1B,OAAO;EACR,SAAA;UAED,IAAM,eAAe,GAAkB,EAAE,CAAC;UAE1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,KAAK,GAAG,CAApB,EAAoB,CAAC,CAAC,OAAO,CAAC,UAAC,GAAG,EAAA;cAC5D,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAC,KAAK,EAAA;kBAC/B,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;sBAC1D,IAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;sBAChD,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAI,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,EAAE;EACzD,wBAAA,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EAC3B,qBAAA;EACF,iBAAA;EACH,aAAC,CAAC,CAAC;EACL,SAAC,CAAC,CAAC;EAEH,QAAA,IAAI,CAAC,WAAW,GAAG,eAAe,CAAC;EACnC,QAAA,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;OACvB,CAAA;EAEM,IAAA,mBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;UACL,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;EACtC,QAAA,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;OACxB,CAAA;MAEO,mBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,WAAwB,EAAA;EAC7C,QAAA,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,EAAE;EACzF,YAAA,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;mBACtE,IAAI,CAAC,UAAC,MAAM,EAAA;EACX,gBAAA,IAAI,MAAM,EAAE;EACV,oBAAA,WAAW,CAAC,KAAK,CAAC,aAAa,GAAG,MAAM,CAAC;EAC1C,iBAAA;EACH,aAAC,CAAC,CAAC;EACN,SAAA;OACF,CAAA;;;;EA1OF,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,gBAAgB;EAC1B,gBAAA,QAAQ,EAAE,0xJA0GT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cApHO,gBAAgB,EAAA;cAGhB,aAAa,EAAA;;;qBAqHlBG,QAAK,EAAA,CAAA;2BAMLA,QAAK,EAAA,CAAA;2BAULC,SAAM,EAAA,CAAA;0BAGNA,SAAM,EAAA,CAAA;EAUN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,sBAAsB,EAAA,EAAA,CAAA;;;AChIrC,MAAA,gBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gBAAA,GAAA;;;;;EAhBC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPC,mBAAY;sBACZsC,iCAAc;sBACdkC,oCAAiB;sBACjBpC,6BAAU;sBACVqC,uBAAc;sBACdlC,+BAAY;EACb,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,mBAAmB;EACpB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,mBAAmB;EACpB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ECrBD,IAAY,SAoFX,CAAA;EApFD,CAAA,UAAY,SAAS,EAAA;EACjB,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,SAAmB,CAAA;EACnB,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,eAA8B,CAAA;EAC9B,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,cAA4B,CAAA;EAC5B,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,cAA4B,CAAA;EAC5B,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,UAA6B,CAAA;EAC7B,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,UAAoB,CAAA;EACpB,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;EACjC,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC,CAAA;EAChC,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,eAA8B,CAAA;EAC9B,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,WAAsB,CAAA;EACtB,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,UAAmB,CAAA;EACnB,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,UAAyB,CAAA;EAEzB,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,gBAAwB,CAAA;EACxB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,WAAsB,CAAA;EACtB,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,WAA4B,CAAA;EAC5B,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,iBAAuC,CAAA;EACvC,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,gBAAsC,CAAA;EACtC,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,WAAqB,CAAA;EACrB,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,WAAqB,CAAA;EACrB,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,gBAA8B,CAAA;EAC9B,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,iBAAiC,CAAA;EACjC,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,qBAAkC,CAAA;EAClC,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,UAAoB,CAAA;EACpB,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,QAAuB,CAAA;EACvB,IAAA,SAAA,CAAA,mBAAA,CAAA,GAAA,oBAAwC,CAAA;EACxC,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,SAAoB,CAAA;EACpB,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,6BAAyD,CAAA;EACzD,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,eAAgC,CAAA;EAChC,IAAA,SAAA,CAAA,YAAA,CAAA,GAAA,UAAuB,CAAA;EACvB,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC,CAAA;EAChC,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,cAA0B,CAAA;EAC1B,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,uBAA8C,CAAA;EAC9C,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC,CAAA;EACtC,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,wBAA+C,CAAA;EAC/C,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,WAAsB,CAAA;EACtB,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,gBAAgC,CAAA;EAChC,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,iBAAkC,CAAA;EAClC,IAAA,SAAA,CAAA,qBAAA,CAAA,GAAA,uBAA6C,CAAA;EAC7C,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,cAA4B,CAAA;EAC5B,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,UAAkB,CAAA;EAClB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,cAAyB,CAAA;EACzB,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,gBAAiC,CAAA;EACjC,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,cAA4B,CAAA;EAC5B,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,UAAoB,CAAA;EACpB,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,aAA6B,CAAA;EAC7B,IAAA,SAAA,CAAA,sBAAA,CAAA,GAAA,eAAsC,CAAA;EACtC,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,WAA2B,CAAA;EAC3B,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,oBAA+C,CAAA;EAC/C,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,oBAAqC,CAAA;EACrC,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,UAAqB,CAAA;EACrB,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,gBAA8B,CAAA;EAC9B,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,0BAAmD,CAAA;EACnD,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,cAA4B,CAAA;EAC5B,IAAA,SAAA,CAAA,aAAA,CAAA,GAAA,cAA4B,CAAA;EAC5B,IAAA,SAAA,CAAA,wBAAA,CAAA,GAAA,0BAAmD,CAAA;EACnD,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,SAAgB,CAAA;EAChB,IAAA,SAAA,CAAA,4BAAA,CAAA,GAAA,8BAA2D,CAAA;EAC3D,IAAA,SAAA,CAAA,6BAAA,CAAA,GAAA,gCAA8D,CAAA;EAC9D,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,oBAAuC,CAAA;EACvC,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,aAA6B,CAAA;EAC7B,IAAA,SAAA,CAAA,gBAAA,CAAA,GAAA,kBAAmC,CAAA;EACnC,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,cAA0B,CAAA;EAC1B,IAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,kBAAoC,CAAA;EACpC,IAAA,SAAA,CAAA,2BAAA,CAAA,GAAA,6BAAyD,CAAA;EACzD,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,UAAsB,CAAA;EACtB,IAAA,SAAA,CAAA,iBAAA,CAAA,GAAA,gBAAkC,CAAA;EAClC,IAAA,SAAA,CAAA,uBAAA,CAAA,GAAA,eAAuC,CAAA;EACvC,IAAA,SAAA,CAAA,SAAA,CAAA,GAAA,aAAuB,CAAA;EACvB,IAAA,SAAA,CAAA,QAAA,CAAA,GAAA,QAAiB,CAAA;EACjB,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,qBAAwC,CAAA;EACxC,IAAA,SAAA,CAAA,0BAAA,CAAA,GAAA,4BAAuD,CAAA;EACvD,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,cAAyB,CAAA;EACzB,IAAA,SAAA,CAAA,UAAA,CAAA,GAAA,cAAyB,CAAA;EACzB,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,YAAwB,CAAA;EACxB,IAAA,SAAA,CAAA,OAAA,CAAA,GAAA,OAAe,CAAA;EACf,IAAA,SAAA,CAAA,cAAA,CAAA,GAAA,aAA4B,CAAA;EAC5B,IAAA,SAAA,CAAA,kBAAA,CAAA,GAAA,mBAAsC,CAAA;EACtC,IAAA,SAAA,CAAA,eAAA,CAAA,GAAA,cAA8B,CAAA;EAC9B,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,UAAiB,CAAA;EACjB,IAAA,SAAA,CAAA,MAAA,CAAA,GAAA,YAAmB,CAAA;EACnB,IAAA,SAAA,CAAA,KAAA,CAAA,GAAA,KAAW,CAAA;EACX,IAAA,SAAA,CAAA,WAAA,CAAA,GAAA,YAAwB,CAAA;EAC5B,CAAC,EApFW,SAAS,KAAT,SAAS,GAoFpB,EAAA,CAAA,CAAA;;ECnFK,SAAU,kCAAkC,CAAC,MAAW,EAAA;EAC1D,IAAA,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;EACjC;;ECHA;EACM,SAAU,MAAM,CAAC,KAAU,EAAA;EAC7B,IAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;EACjD;;ECAA;EACA,IAAA,WAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,WAAA,GAAA;OAiTC;EA/SG;;;;EAIG;EACW,IAAA,WAAA,CAAA,QAAQ,GAAf,YAAA;UAAgB,IAAgB,MAAA,GAAA,EAAA,CAAA;eAAhB,IAAgB,EAAA,GAAA,CAAA,EAAhB,EAAgB,GAAA,SAAA,CAAA,MAAA,EAAhB,EAAgB,EAAA,EAAA;cAAhB,MAAgB,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;UACnC,IAAI,QAAQ,GAAY,IAAI,CAAC;EAC7B,QAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;EAC/D,YAAA,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;kBACnB,QAAQ,GAAG,KAAK,CAAC;kBACjB,MAAM;EACT,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC;OACnB,CAAA;EAED;;;;;;EAMG;EACW,IAAA,WAAA,CAAA,kBAAkB,GAAzB,UAA6B,IAAY,EAAE,EAAK,EAAE,cAA8B,EAAA;EAA9B,QAAA,IAAA,cAAA,KAAA,KAAA,CAAA,EAAA,EAAA,cAA8B,GAAA,IAAA,CAAA,EAAA;UACnF,IAAI,CAAC,EAAE,EAAE;cACL,EAAE,GAAG,EAAO,CAAC;EAChB,SAAA;UACD,IAAI,CAAC,IAAI,EAAE;EACP,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;UACD,WAAW,CAAC,cAAc,CAAC,IAAI,EAAE,UAAC,KAAU,EAAE,GAAW,EAAA;EACrD,YAAA,IAAI,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE;EAClC,gBAAA,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;EACnB,aAAA;EACL,SAAC,CAAC,CAAC;EACH,QAAA,OAAO,EAAE,CAAC;OACb,CAAA;EAEa,IAAA,WAAA,CAAA,UAAU,GAAjB,UAAkB,MAAW,EAAE,QAAa,EAAA;UAC/C,IAAI,MAAM,KAAK,QAAQ,EAAE;EACrB,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;EAAM,aAAA,IAAI,MAAM,YAAY,IAAI,IAAI,QAAQ,YAAY,IAAI,EAAE;cAC3D,OAAO,MAAM,CAAC,OAAO,EAAE,KAAK,QAAQ,CAAC,OAAO,EAAE,CAAC;EAClD,SAAA;EAAM,aAAA,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE;cAC3F,OAAO,MAAM,KAAK,QAAQ,CAAC;EAC9B,SAAA;EAAM,aAAA;cACH,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;EAC3C,SAAA;OACJ,CAAA;;EAGa,IAAA,WAAA,CAAA,cAAc,GAArB,UAAsB,WAAgB,EAAE,QAA4C,EAAA;EACvF,QAAA,IAAI,WAAW,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE;EACxC,YAAA,KAAK,IAAM,GAAG,IAAI,WAAW,EAAE;EAC3B,gBAAA,IAAI,WAAW,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,OAAO,WAAW,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE;sBAC3E,IAAM,QAAQ,GAAY,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;sBAC1D,IAAI,QAAQ,KAAK,KAAK,EAAE;0BACpB,MAAM;EACT,qBAAA;EACJ,iBAAA;EACJ,aAAA;EACJ,SAAA;OACJ,CAAA;;MAGa,WAAY,CAAA,YAAA,GAAnB,UAAoB,aAAkB,EAAA;UACzC,IAAI,CAAC,aAAa,EAAE;EAChB,YAAA,OAAO,SAAS,CAAC;;EAEpB,SAAA;EAAM,aAAA,IAAI,aAAa,CAAC,WAAW,KAAK,QAAQ,EAAE;EAC/C,YAAA,OAAO,aAAa,CAAC,IAAI,CAAC;;EAE7B,SAAA;EAAM,aAAA;cACH,IAAM,iBAAiB,GAAW,aAAa,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;cACvE,OAAO,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;EAC7C,SAAA;OACJ,CAAA;;EAGa,IAAA,WAAA,CAAA,eAAe,GAAtB,UAAuB,cAAmB,EAAE,WAAiB,EAAA;UAChE,IAAI,YAAY,GAAQ,SAAS,CAAC;EAElC,QAAA,IAAI,WAAW,EAAE;EACb,YAAA,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;EACpC,SAAA;EAAM,aAAA;cACH,YAAY,GAAG,EAAE,CAAC;EACrB,SAAA;UAED,WAAW,CAAC,cAAc,CAAC,cAAc,EAAE,UAAC,KAAU,EAAE,GAAW,EAAA;EAC/D,YAAA,YAAY,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;EAC9B,SAAC,CAAC,CAAC;EAEH,QAAA,OAAO,YAAY,CAAC;OACvB,CAAA;EAEa,IAAA,WAAA,CAAA,YAAY,GAAnB,UAAoB,cAAmB,EAAE,QAAwB,EAAA;EAAxB,QAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAwB,GAAA,IAAA,CAAA,EAAA;;;EAIpE,QAAA,IAAI,aAAqB,CAAC;EAC1B,QAAA,IAAI,UAA8B,CAAC;EACnC,QAAA,IAAI,IAAc,CAAC;EACnB,QAAA,IAAI,OAAY,CAAC;EACjB,QAAA,IAAI,UAAe,CAAC;EACpB,QAAA,IAAI,OAAe,CAAC;UACpB,IAAM,MAAM,GAAU,CAAC;EACnB,gBAAA,MAAM,EAAE,cAAc;kBACtB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;EAC/D,aAAA,CAAC,CAAC;UACH,IAAM,WAAW,GAAQ,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;EAC1C,QAAA,IAAM,gBAAgB,GAAU,CAAC,cAAc,CAAC,CAAC;EACjD,QAAA,IAAM,gBAAgB,GAAU,CAAC,WAAW,CAAC,CAAC;;UAG9C,OAAO,OAAO,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE;cAC7B,IAAI,GAAG,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;EAElD,YAAA,KAAK,aAAa,GAAG,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE;;EAElE,gBAAA,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;kBAElF,IAAI,CAAC,UAAU,CAAC,KAAK,IAAI,OAAO,UAAU,CAAC,KAAK,KAAK,QAAQ,EAAE;EAC3D,oBAAA,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;sBACvE,SAAS;EACZ,iBAAA;EAED,gBAAA,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC;kBAC9B,UAAU,CAAC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC;EACxC,oBAAA,EAAE;sBACF,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;EAErD,gBAAA,IAAI,QAAQ,EAAE;EACV,oBAAA,OAAO,GAAG,gBAAgB,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;EAE/C,oBAAA,IAAI,OAAO,KAAK,CAAC,CAAC,EAAE;;EAEhB,wBAAA,UAAU,CAAC,KAAK,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;EAC7C,wBAAA,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;0BACvE,SAAS;EACZ,qBAAA;EAED,oBAAA,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAClC,oBAAA,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;EAC3C,iBAAA;EAED,gBAAA,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,EAAE,UAAU,CAAC,CAAC;EAEvE,gBAAA,MAAM,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,CAAC,KAAK,EAAC,CAAC,CAAC;EAC/D,aAAA;EACJ,SAAA;EAED,QAAA,OAAO,WAAW,CAAC;OACtB,CAAA;MAEa,WAAO,CAAA,OAAA,GAAd,UAAe,GAAQ,EAAA;EAC1B,QAAA,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;OACtE,CAAA;;MAGa,WAAa,CAAA,aAAA,GAApB,UAAqB,MAAW,EAAA;UACnC,OAAO,MAAM,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,OAAO,MAAM,KAAK,UAAU,IAAI,OAAO,MAAM,KAAK,QAAQ,CAAC;OAClH,CAAA;EAED;;;;;;EAMG;EACW,IAAA,WAAA,CAAA,cAAc,GAArB,UAAsB,KAAU,EAAE,UAAgB,EAAA;;UAErD,IAAI,UAAU,YAAY,KAAK,EAAE;EAC7B,YAAA,OAAO,UAAU,CAAC;EACrB,SAAA;EAAM,aAAA;EACH,YAAA,IAAM,OAAO,GAAQ,IAAI,KAAK,EAAE,CAAC;EACjC,YAAA,WAAW,CAAC,kBAAkB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;EACpD,YAAA,OAAO,OAAO,CAAC;EAClB,SAAA;OACJ,CAAA;;MAGa,WAAuB,CAAA,uBAAA,GAA9B,UAA+B,MAAW,EAAA;UAC7C,IAAI,CAAC,MAAM,EAAE;cACT,OAAO;EACV,SAAA;EAED,QAAA,IAAI,MAAW,CAAC;UAChB,IAAI,KAAK,GAAW,CAAC,CAAC;EACtB,QAAA,KAAK,IAAM,IAAI,IAAI,MAAM,EAAE;EACvB,YAAA,IAAI,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;EAC7B,gBAAA,KAAK,EAAE,CAAC;kBACR,IAAI,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,KAAK,EAAE;EAC3B,oBAAA,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;EACzB,iBAAA;EACJ,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;;EAGa,IAAA,WAAA,CAAA,cAAc,GAArB,UAAsB,KAAU,EAAE,gBAA0B,EAAA;EAA1B,QAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,gBAA0B,GAAA,EAAA,CAAA,EAAA;EAC/D,QAAA,OAAO,OAAO,CAAC,KAAK,CAAC,GAAG,KAAK,GAAG,gBAAgB,CAAC;OACpD,CAAA;MAEc,WAAY,CAAA,YAAA,GAAnB,UAAoB,CAAM,EAAA;EAC9B,QAAA,IAAM,iBAAiB,GAAY,IAAI,CAAC,uBAAuB,EAAE,CAAC;EAClE,QAAA,OAAO,iBAAiB,GAAG,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC,CAAC;OACzH,CAAA;MAEc,WAAqC,CAAA,qCAAA,GAA5C,UAA6C,MAAW,EAAA;EAC5D,QAAA,OAAO,MAAM;cACT,OAAO,MAAM,KAAK,QAAQ;EAC1B,YAAA,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;cACjC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;cACtD,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC;EAC7D,YAAA,KAAK,CAAC;OACb,CAAA;MAEc,WAAkC,CAAA,kCAAA,GAAzC,UAA0C,MAAW,EAAA;EACzD,QAAA,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,oBAAoB,CAAC;OAC1E,CAAA;MAEc,WAAS,CAAA,SAAA,GAAhB,UAAiB,CAAM,EAAA;EAC3B,QAAA,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,EAAE;EAC7D,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EACD,QAAA,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,UAAU,IAAI,OAAO,CAAC,CAAC,KAAK,KAAK,UAAU,EAAE;EAC/D,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EACD,QAAA,OAAO,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC;OACtD,CAAA;MAEc,WAAkB,CAAA,kBAAA,GAAzB,UAA0B,KAAU,EAAA;EACxC,QAAA,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC;OAChD,CAAA;EAEc,IAAA,WAAA,CAAA,SAAS,GAAhB,UAAiB,CAAM,EAAE,CAAM,EAAA;UACnC,IAAI,CAAS,EAAE,GAAW,CAAC;EAC3B,QAAA,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE;EAC1D,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EAED,QAAA,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE;EAC7B,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EAED,QAAA,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;EACtB,YAAA,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;EACvB,gBAAA,OAAO,KAAK,CAAC;EAChB,aAAA;cACD,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;cAClC,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;cAClC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;EAChC,SAAA;EACD,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;EACnB,YAAA,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE;EACpB,gBAAA,OAAO,KAAK,CAAC;EAChB,aAAA;EACD,YAAA,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;EACvB,gBAAA,OAAO,KAAK,CAAC;EAChB,aAAA;EACD,YAAA,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;kBAC3B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;EACf,oBAAA,OAAO,KAAK,CAAC;EAChB,iBAAA;EACJ,aAAA;EACD,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;EACD,QAAA,IAAI,EAAY,CAAC;EACjB,QAAA,IAAI,EAAY,CAAC;UACjB,IAAI;EACA,YAAA,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACpB,YAAA,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EACvB,SAAA;EAAC,QAAA,OAAO,CAAC,EAAE;EACR,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EAED,QAAA,IAAI,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,MAAM,EAAE;EACzB,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;UAED,EAAE,CAAC,IAAI,EAAE,CAAC;UACV,EAAE,CAAC,IAAI,EAAE,CAAC;EAEV,QAAA,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;cACjC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE;EACjB,gBAAA,OAAO,KAAK,CAAC;EAChB,aAAA;EACJ,SAAA;EAED,QAAA,KAAK,CAAC,GAAG,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;EACjC,YAAA,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;EACZ,YAAA,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;EAClC,gBAAA,OAAO,KAAK,CAAC;EAChB,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,OAAO,CAAC,KAAK,OAAO,CAAC,CAAC;OAChC,CAAA;EAEc,IAAA,WAAA,CAAA,uBAAuB,GAA9B,YAAA;EACJ,QAAA,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,oBAAoB,CAAC;OAC7E,CAAA;MACJ,OAAA,WAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;EC9SD;EACA,IAAA,WAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,WAAA,GAAA;OA8aC;;MA5aiB,WAAmB,CAAA,mBAAA,GAA1B,UAA2B,GAAQ,EAAA;UACtC,OAAO,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC;OACzE,CAAA;;MAGa,WAAQ,CAAA,QAAA,GAAf,UAAgB,GAAQ,EAAA;UAC3B,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;EACnC,YAAA,OAAO,SAAS,CAAC;EACpB,SAAA;EAED,QAAA,OAAO,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;OAC5B,CAAA;;EAGa,IAAA,WAAA,CAAA,qBAAqB,GAA5B,UAA6B,GAAQ,EAAE,gBAA4B,EAAA;EAA5B,QAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,gBAA4B,GAAA,CAAA,CAAA,EAAA;EACtE,QAAA,OAAO,WAAW,CAAC,UAAU,CAAC,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAC;OAC7F,CAAA;MAEa,WAAkC,CAAA,kCAAA,GAAzC,UAA0C,GAAQ,EAAA;UACrD,IAAM,iBAAiB,GAAW,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;UAC3E,IAAM,gBAAgB,GAAW,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC;UAC1E,OAAO,WAAW,CAAC,UAAU,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;OACtE,CAAA;EAED;;;;;;EAMG;EACW,IAAA,WAAA,CAAA,UAAU,GAAjB,UAAkB,GAAQ,EAAE,gBAA4B,EAAA;EAA5B,QAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,gBAA4B,GAAA,CAAA,CAAA,EAAA;EAC3D,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;EACpE,YAAA,OAAO,GAAG,CAAC;EACd,SAAA;UAED,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,GAAG,CAAC,EAAE;cAClE,gBAAgB,GAAG,CAAC,CAAC;;EAExB,SAAA;eAAM,IAAI,gBAAgB,GAAG,EAAE,EAAE;cAC9B,gBAAgB,GAAG,EAAE,CAAC;EACzB,SAAA;EAED,QAAA,OAAO,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;OAChE,CAAA;EAED;;;;;EAKG;MACW,WAAuB,CAAA,uBAAA,GAA9B,UAA+B,GAAQ,EAAA;UAC1C,IAAM,gBAAgB,GAAW,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;UAC5D,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;OACjD,CAAA;EAED;;;;;EAKG;EACW,IAAA,WAAA,CAAA,oBAAoB,GAA3B,UAA4B,GAAQ,EAAE,YAAwB,EAAA;EAAxB,QAAA,IAAA,YAAA,KAAA,KAAA,CAAA,EAAA,EAAA,YAAwB,GAAA,CAAA,CAAA,EAAA;EACjE,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;EACpB,YAAA,OAAO,YAAY,CAAC;EACvB,SAAA;EAED,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;EAC5B,YAAA,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;EACtB,YAAA,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,YAAY,GAAG,GAAG,CAAC;EACzC,SAAA;EACD,QAAA,OAAO,GAAG,CAAC;OACd,CAAA;;MAGa,WAAS,CAAA,SAAA,GAAhB,UAAiB,GAAQ,EAAA;UAC5B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;EAClC,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EACD,QAAA,IAAM,UAAU,GAAW,UAAU,CAAC,GAAG,CAAC,CAAC;UAC3C,QAAQ,CAAC,UAAU,GAAG,CAAC,MAAM,UAAU,EAAE;OAC5C,CAAA;;EAGa,IAAA,WAAA,CAAA,gBAAgB,GAAvB,UAAwB,GAAQ,EAAE,SAAwB,EAAA;EAAxB,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAAwB,GAAA,IAAA,CAAA,EAAA;EAC7D,QAAA,IAAM,KAAK,GAAqB,CAAC,EAAE,GAAG,GAAG,EAAE,KAAK,CAAC,kCAAkC,CAAC,CAAC;UACrF,IAAI,CAAC,KAAK,EAAE;EACR,YAAA,OAAO,CAAC,CAAC;EACZ,SAAA;EAED,QAAA,IAAI,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC;;EAE3B,QAAA,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;;EAE7B,eAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;UAElC,IAAI,MAAM,GAAG,SAAS,EAAE;cACpB,MAAM,GAAG,SAAS,CAAC;EACtB,SAAA;EAED,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;;EAGa,IAAA,WAAA,CAAA,yBAAyB,GAAhC,UAAiC,WAAgB,EAAE,YAAwB,EAAA;EAAxB,QAAA,IAAA,YAAA,KAAA,KAAA,CAAA,EAAA,EAAA,YAAwB,GAAA,CAAA,CAAA,EAAA;EAC9E,QAAA,OAAO,WAAW,CAAC,oBAAoB,CAAC,WAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,EAAE,YAAY,CAAC,CAAC;OAC3G,CAAA;;MAGa,WAAQ,CAAA,QAAA,GAAf,UAAgB,GAAQ,EAAA;UAC3B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;OACjD,CAAA;EAED;;;;;;EAMG;MACW,WAAK,CAAA,KAAA,GAAZ,UAAa,GAAQ,EAAA;EACxB,QAAA,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;OACnD,CAAA;;EAGa,IAAA,WAAA,CAAA,GAAG,GAAV,UAAW,MAAW,EAAE,UAAsB,EAAA;EAAtB,QAAA,IAAA,UAAA,KAAA,KAAA,CAAA,EAAA,EAAA,UAAsB,GAAA,CAAA,CAAA,EAAA;EACjD,QAAA,OAAO,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,UAAU,GAAG,MAAM,CAAC;OAC1D,CAAA;;MAGa,WAAgB,CAAA,gBAAA,GAAvB,UAAwB,GAAQ,EAAA;EACnC,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;EACpB,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;UAED,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC;OAClC,CAAA;MAEa,WAAqB,CAAA,qBAAA,GAA5B,UAA6B,WAAgB,EAAA;UAChD,OAAO,WAAW,CAAC,gBAAgB,CAAC,WAAW,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,CAAC;OACzF,CAAA;EAED;;;;EAIG;MACW,WAAc,CAAA,cAAA,GAArB,UAAsB,GAAW,EAAA;EACpC,QAAA,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE;EACpC,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,KAAK,UAAU,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;EACtE,SAAA;OACJ,CAAA;EAEa,IAAA,WAAA,CAAA,eAAe,GAAtB,UAAuB,GAAW,EAAE,SAAuB,EAAA;EAAvB,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAAuB,GAAA,GAAA,CAAA,EAAA;UAC9D,IAAM,GAAG,GAAa,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;EAC3C,QAAA,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE;EAClB,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;UACD,OAAO,GAAG,CAAC,MAAM,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAA7B,EAA6B,CAAC,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,CAAC;OAC/E,CAAA;;MAGa,WAAiB,CAAA,iBAAA,GAAxB,UAAyB,GAAW,EAAA;EACvC,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;EAC3B,YAAA,OAAO,GAAG,CAAC;EACd,SAAA;EAED,QAAA,OAAO,WAAW,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;OACnD,CAAA;EAEa,IAAA,WAAA,CAAA,wBAAwB,GAA/B,UAAgC,GAAiB,EAAE,YAAwB,EAAA;EAAxB,QAAA,IAAA,YAAA,KAAA,KAAA,CAAA,EAAA,EAAA,YAAwB,GAAA,CAAA,CAAA,EAAA;EAC9E,QAAA,OAAO,WAAW,CAAC,GAAG,CAAC,WAAW,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;OAC5E,CAAA;EAED;;;EAGG;EACW,IAAA,WAAA,CAAA,SAAS,GAAhB,UAAiB,aAAqB,EAAE,aAAqB,EAAA;EAChE,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,GAAG,aAAa,EAAE;EAC/G,YAAA,OAAO,GAAG,CAAC;EACd,SAAA;EAED,QAAA,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;EAC1C,QAAA,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;UAE1C,IAAI,aAAa,KAAK,aAAa,EAAE;EACjC,YAAA,OAAO,aAAa,CAAC;EACxB,SAAA;EAED,QAAA,IAAM,KAAK,GAAW,aAAa,GAAG,aAAa,CAAC;EACpD,QAAA,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,aAAa,EAAE;OAC9D,CAAA;;MAGa,WAAoB,CAAA,oBAAA,GAA3B,UAA4B,KAAU,EAAA;EACzC,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,EAAE;EACf,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;UAED,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;OACjE,CAAA;EAED;;;;;EAKG;EACW,IAAA,WAAA,CAAA,6BAA6B,GAApC,UAAqC,YAAoB,EAAE,6BAAqC,EAAA;UACnG,IAAI,CAAC,YAAY,EAAE;EACf,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;eAAM,IAAI,CAAC,6BAA6B,EAAE;EACvC,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;EAAM,aAAA;cACH,QAAQ,CAAC,YAAY,GAAG,6BAA6B,MAAM,6BAA6B,EAAE;EAC7F,SAAA;OACJ,CAAA;EAED;;;;;;EAMG;EACW,IAAA,WAAA,CAAA,WAAW,GAAlB,UAAmB,EAAU,EAAE,SAAqB,EAAA;EAArB,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAAqB,GAAA,CAAA,CAAA,EAAA;UACvD,IAAI,OAAO,CAAC,EAAE,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;EACzC,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,SAAS,CAAC;EACpB,SAAA;OACJ,CAAA;EAED;;;;;;;;;;;;EAYG;EACW,IAAA,WAAA,CAAA,sBAAsB,GAA7B,UAA8B,SAAiB,EAAE,SAAiB,EAAE,KAAiB,EAAA;EAAjB,QAAA,IAAA,KAAA,KAAA,KAAA,CAAA,EAAA,EAAA,KAAiB,GAAA,CAAA,CAAA,EAAA;;UAExF,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;cACpD,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAC,CAAC;EACzC,SAAA;;UAED,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,GAAG,KAAK,GAAG,CAAC,EAAE;cACxC,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,EAAC,CAAC;EAC1C,SAAA;;EAED,QAAA,IAAM,UAAU,IAAa,SAAS,GAAG,CAAC,CAAC,CAAC;UAC5C,IAAM,OAAO,GAAa,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;;EAE1D,QAAA,IAAI,UAAU,EAAE;EACZ,YAAA,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EACpC,SAAA;UACD,IAAM,iBAAiB,GAAW,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;EACpD,QAAA,IAAM,wBAAwB,GAAW,SAAS,GAAG,KAAK,CAAC;UAC3D,IAAI,iBAAiB,IAAI,wBAAwB,EAAE;cAC/C,OAAO,EAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAC,CAAC;EAC/C,SAAA;EAAM,aAAA;;EAEH,YAAA,IAAM,gBAAgB,GAAW,iBAAiB,GAAG,wBAAwB,CAAC;;EAE9E,YAAA,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;;EAExD,YAAA,IAAI,UAAU,EAAE;kBACZ,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;EACjC,aAAA;;cAED,IAAI,WAAmB,SAAA,CAAC;EACxB,YAAA,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;EACZ,gBAAA,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACvD,aAAA;EAAM,iBAAA;kBACH,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;EACpC,aAAA;cACD,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,WAAW,EAAC,CAAC;EAClD,SAAA;OACJ,CAAA;EAED;;;;;;;;EAQG;MACW,WAAwB,CAAA,wBAAA,GAA/B,UACH,SAAiB,EACjB,GAAW,EACX,GAAW,EACX,QAAoB,EAAA;EAApB,QAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAoB,GAAA,CAAA,CAAA,EAAA;EAEpB,QAAA,IAAI,SAAS,GAAG,GAAG,IAAI,SAAS,GAAG,GAAG,EAAE;cACpC,OAAO,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC;EAC9C,SAAA;;UAGD,IAAI,SAAS,GAAW,CAAC,SAAS,GAAG,GAAG,IAAI,QAAQ,CAAC;;EAErD,QAAA,SAAS,GAAG,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,6BAA6B,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;EACnH,QAAA,OAAO,EAAC,IAAI,GAAG,SAAS,KAAK,CAAC,CAAC,EAAE,SAAS,EAAE,SAAS,EAAC,CAAC;OAC1D,CAAA;EAED;;;;;;;;EAQG;MACW,WAAmC,CAAA,mCAAA,GAA1C,UAA2C,UAAkB,EAAE,GAAW,EAAE,GAAW,EAAE,QAAoB,EAAA;EAApB,QAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAoB,GAAA,CAAA,CAAA,EAAA;UAChH,IAAI,UAAU,GAAG,GAAG,EAAE;EAClB,YAAA,OAAO,GAAG,CAAC;EACd,SAAA;eAAM,IAAI,UAAU,GAAG,GAAG,EAAE;cACzB,OAAO,WAAW,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;EAClE,SAAA;EAED,QAAA,IAAM,WAAW,GAAmC,WAAW,CAAC,wBAAwB,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;UACzH,IAAI,WAAW,CAAC,IAAI,EAAE;EAClB,YAAA,OAAO,UAAU,CAAC;EACrB,SAAA;EAED,QAAA,IAAI,MAAc,CAAC;EAEnB,QAAA,IAAM,SAAS,GAAW,WAAW,CAAC,SAAS,CAAC;EAChD,QAAA,IAAI,SAAS,EAAE;;EAEX,YAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,IAAI,GAAG,EAAE;;EAE9B,gBAAA,MAAM,IAAI,UAAU,GAAG,SAAS,IAAI,GAAG,GAAG,UAAU,GAAG,SAAS,GAAG,GAAG,CAAC,CAAC;EAC3E,aAAA;EAAM,iBAAA;;EAEH,gBAAA,MAAM,IAAI,UAAU,GAAG,QAAQ,GAAG,SAAS,IAAI,GAAG,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS;sBAClF,WAAW,CAAC,uBAAuB,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;EAChE,aAAA;EACJ,SAAA;EAAM,aAAA;;cAEH,MAAM,GAAG,UAAU,CAAC;EACvB,SAAA;;UAGD,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,6BAA6B,CAAC,UAAU,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC;EACnH,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;EAED;;;;;;EAMG;EACW,IAAA,WAAA,CAAA,uBAAuB,GAA9B,UAA+B,GAAW,EAAE,GAAW,EAAE,QAAoB,EAAA;EAApB,QAAA,IAAA,QAAA,KAAA,KAAA,CAAA,EAAA,EAAA,QAAoB,GAAA,CAAA,CAAA,EAAA;;EAEhF,QAAA,IAAM,QAAQ,GAAW,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,QAAQ,CAAC,CAAC;;UAE5D,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,GAAG,QAAQ,GAAG,QAAQ,EAAE,WAAW,CAAC,6BAA6B,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;OACtH,CAAA;;EAGa,IAAA,WAAA,CAAA,4BAA4B,GAAnC,UAAoC,UAAkB,EAAE,GAAW,EAAE,GAAW,EAAA;UACnF,IAAI,MAAM,GAAW,UAAU,CAAC;UAEhC,IAAI,UAAU,GAAG,GAAG,EAAE;cAClB,MAAM,GAAG,GAAG,CAAC;EAChB,SAAA;eAAM,IAAI,UAAU,GAAG,GAAG,EAAE;cACzB,MAAM,GAAG,GAAG,CAAC;EAChB,SAAA;EAED,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;;MAGa,WAAQ,CAAA,QAAA,GAAf,UAAgB,EAAU,EAAA;EAC7B,QAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE;cACxB,OAAO,EAAE,GAAG,EAAE,CAAC;EAClB,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;OACJ,CAAA;MAEa,WAAuB,CAAA,uBAAA,GAA9B,UAA+B,gBAAwB,EAAA;UAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC;OAC9C,CAAA;EAEa,IAAA,WAAA,CAAA,KAAK,GAAZ,UAAa,KAAa,EAAE,QAAgB,EAAA;UAC/C,IAAM,MAAM,GAAW,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;UAC9C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,GAAG,MAAM,CAAC;OAC9C,CAAA;;EAGa,IAAA,WAAA,CAAA,wBAAwB,GAA/B,UAAgC,SAAiB,EAAE,KAAa,EAAA;UACnE,IAAM,OAAO,GAAW,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;EAC5D,QAAA,IAAM,YAAY,GAAW,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,GAAG,KAAK,CAAC,CAAC;UAC7D,OAAO,YAAY,GAAG,OAAO,CAAC;OACjC,CAAA;;EAGa,IAAA,WAAA,CAAA,wBAAwB,GAA/B,UAAgC,OAAe,EAAE,OAAe,EAAA;UACnE,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;OACtC,CAAA;EAEc,IAAA,WAAA,CAAA,6BAA6B,GAApC,YAAA;UAAqC,IAAiB,IAAA,GAAA,EAAA,CAAA;eAAjB,IAAiB,EAAA,GAAA,CAAA,EAAjB,EAAiB,GAAA,SAAA,CAAA,MAAA,EAAjB,EAAiB,EAAA,EAAA;cAAjB,IAAiB,CAAA,EAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;UAC1D,IAAM,MAAM,GAAG,UAAU,CAAC,qBAAqB,CAAC,IAAI,EAAE,UAAC,GAAW,EAAA;EAC9D,YAAA,OAAO,WAAW,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;EAC7C,SAAC,CAAC,CAAC;EACH,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;;MAGc,WAAuB,CAAA,uBAAA,GAA9B,UAA+B,WAAmB,EAAA;EACtD,QAAA,OAAO,CAAC,WAAW,GAAG,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;OAC/C,CAAA;MACJ,OAAA,WAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECjbD,IAAA,UAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,UAAA,GAAA;OA2NC;EA1NG;;;;;;EAMG;EACW,IAAA,UAAA,CAAA,wBAAwB,GAA/B,UAAmC,KAAU,EAAE,MAA+B,EAAA;EACjF,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,MAAM,EAAE;EACnB,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;UAED,OAAO,OAAO,CAAC,IAAI,CAAC,IAAI,CAAI,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;OAC/C,CAAA;EAED;;;;;;;;;;;EAWG;EACW,IAAA,UAAA,CAAA,IAAI,GAAX,UAAe,KAAU,EAAE,OAA6B,EAAA;EAC3D,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;EACpB,YAAA,OAAO,SAAS,CAAC;EACpB,SAAA;EAED,QAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;EAC9D,YAAA,IAAM,OAAO,GAAM,KAAK,CAAC,CAAC,CAAC,CAAC;EAC5B,YAAA,IAAI,OAAO,CAAC,OAAO,CAAC,EAAG;EACnB,gBAAA,OAAO,OAAO,CAAC;EAClB,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,SAAS,CAAC;OACpB,CAAA;;EAGa,IAAA,UAAA,CAAA,OAAO,GAAd,UAAkB,KAAU,EAAE,OAA6B,EAAA;UAC9D,IAAM,MAAM,GAAQ,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;EACpB,YAAA,OAAO,MAAM,CAAC;EACjB,SAAA;EAED,QAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;EAC9D,YAAA,IAAM,OAAO,GAAM,KAAK,CAAC,CAAC,CAAC,CAAC;EAC5B,YAAA,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;EAClB,gBAAA,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;EACxB,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;;MAGa,UAAU,CAAA,UAAA,GAAjB,UAAqB,KAAU,EAAA;UAClC,IAAI,MAAM,GAAQ,EAAE,CAAC;EAErB,QAAA,IAAI,KAAK,EAAE;EACP,YAAA,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;EAC3B,SAAA;EAED,QAAA,OAAO,MAAM,CAAC;OACjB,CAAA;EAED;;;;;;;;EAQG;EACW,IAAA,UAAA,CAAA,qBAAqB,GAA5B,UAAgC,KAAU,EAAE,eAAqB,EAAE,SAA0B,EAAA;EAA1B,QAAA,IAAA,SAAA,KAAA,KAAA,CAAA,EAAA,EAAA,SAA0B,GAAA,KAAA,CAAA,EAAA;UAChG,IAAM,UAAU,GAAQ,EAAE,CAAC;EAE3B,QAAA,IAAI,KAAK,EAAE;EACP,YAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;EAC9D,gBAAA,IAAI,SAAS,EAAE;EACX,oBAAA,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACvD,iBAAA;EAAM,qBAAA;EACH,oBAAA,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC;EAC3E,iBAAA;EACJ,aAAA;EACJ,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,EAAE,CAAC;EACb,SAAA;EAED,QAAA,OAAO,UAAU,CAAC;OACrB,CAAA;EAED;;;;;;;EAOG;EACW,IAAA,UAAA,CAAA,oBAAoB,GAA3B,UAA4B,KAAa,EAAE,KAAY,EAAA;UAC1D,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;EACtF,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;UAED,IAAI,KAAK,IAAI,KAAK,EAAE;EAChB,YAAA,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;EACvB,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;OACJ,CAAA;EAED;;;;;;;EAOG;EACW,IAAA,UAAA,CAAA,aAAa,GAApB,UAAwB,OAAU,EAAE,KAAU,EAAA;EACjD,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;EACvB,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;UAED,IAAM,KAAK,GAAW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;UAC7C,OAAO,UAAU,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;OACxD,CAAA;;EAGa,IAAA,UAAA,CAAA,mBAAmB,GAA1B,UAA8B,YAAiB,EAAE,0BAAgC,EAAA;EACpF,QAAA,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE;EACtB,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EAED,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;EACxD,YAAA,IAAI,0BAA0B,EAAE;EAC5B,gBAAA,OAAO,YAAY,CAAC,CAAC,CAAC,YAAY,0BAA0B,CAAC;EAChE,aAAA;EAAM,iBAAA;EACH,gBAAA,OAAO,IAAI,CAAC;EACf,aAAA;EACJ,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;OACJ,CAAA;;EAGa,IAAA,UAAA,CAAA,sBAAsB,GAA7B,UAA8B,KAAY,EAAE,cAAsC,EAAA;UACrF,IAAI,CAAC,UAAU,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE;EAC3D,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;UAED,IAAI,iBAAiB,GAAY,KAAK,CAAC;EAEvC,QAAA,IAAM,GAAG,GAAW,KAAK,CAAC,MAAM,CAAC;EACjC,QAAA,KAAK,IAAI,CAAC,GAAW,GAAG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;EACvC,YAAA,IAAM,IAAI,GAAQ,KAAK,CAAC,CAAC,CAAC,CAAC;cAC3B,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE;EAC1C,gBAAA,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;kBACnB,iBAAiB,GAAG,IAAI,CAAC;EAC5B,aAAA;EACJ,SAAA;EAED,QAAA,OAAO,iBAAiB,CAAC;OAC5B,CAAA;EAEa,IAAA,UAAA,CAAA,WAAW,GAAlB,UAAsB,OAAU,EAAE,OAAe,EAAE,KAAU,EAAA;EAChE,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,EAAE;EAC1C,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;UAED,IAAM,SAAS,GAAW,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;EACjD,QAAA,IAAM,gBAAgB,GAAW,WAAW,CAAC,4BAA4B,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;UACxG,IAAI,SAAS,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,gBAAgB,CAAC,KAAK,OAAO,EAAE;;EAEzD,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EACD,QAAA,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EACjE,QAAA,OAAO,IAAI,CAAC;OACf,CAAA;;EAGa,IAAA,UAAA,CAAA,sBAAsB,GAA7B,UAA8B,KAAY,EAAE,cAAmB,EAAE,gBAAqB,EAAA;EACzF,QAAA,IAAI,KAAK,EAAE;cACP,IAAM,cAAc,GAAW,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;cAC/D,IAAM,YAAY,GAAW,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;cAC3D,IAAI,cAAc,IAAI,YAAY,EAAE;kBAChC,UAAU,CAAC,WAAW,CAAC,cAAc,EAAE,cAAc,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;EACrE,aAAA;EACJ,SAAA;OACJ,CAAA;EAEH;;;;EAIG;EACW,IAAA,UAAA,CAAA,qBAAqB,GAA5B,UAAgC,KAAU,EAAE,iBAAsC,EAAA;EACvF,QAAA,IAAI,CAAC,KAAK,IAAI,CAAC,iBAAiB,EAAE;EAChC,YAAA,OAAO,GAAG,CAAC;EACZ,SAAA;UAED,IAAI,GAAG,GAAW,SAAS,CAAC;EAE5B,QAAA,IAAM,GAAG,GAAW,KAAK,CAAC,MAAM,CAAC;UACjC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;cACpC,IAAM,QAAQ,GAAW,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;cACtD,IAAI,QAAQ,GAAG,GAAG,EAAE;kBAClB,GAAG,GAAG,QAAQ,CAAC;EAChB,aAAA;EACF,SAAA;EAED,QAAA,OAAO,GAAG,CAAC;OACZ,CAAA;MACF,OAAA,UAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;EC9ND;EAGA,IAAA,YAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,YAAA,GAAA;OAsDC;;EAnDiB,IAAA,YAAA,CAAA,KAAK,GAAZ,UAAa,YAAoB,EAAE,uBAA+B,EAAA;UACrE,OAAO,WAAW,CAAC,6BAA6B,CAAC,YAAY,EAAE,uBAAuB,CAAC,CAAC;OAC3F,CAAA;EAED;;;EAGG;MACW,YAAQ,CAAA,QAAA,GAAf,UAAgB,YAAoB,EAAA;UAAE,IAAqC,wBAAA,GAAA,EAAA,CAAA;eAArC,IAAqC,EAAA,GAAA,CAAA,EAArC,EAAqC,GAAA,SAAA,CAAA,MAAA,EAArC,EAAqC,EAAA,EAAA;cAArC,wBAAqC,CAAA,EAAA,GAAA,CAAA,CAAA,GAAA,SAAA,CAAA,EAAA,CAAA,CAAA;;EAC9E,QAAA,IAAM,GAAG,GAAW,wBAAwB,CAAC,MAAM,CAAC;UACpD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;cAClC,IAAI,YAAY,CAAC,KAAK,CAAC,YAAY,EAAE,wBAAwB,CAAC,CAAC,CAAC,CAAC,EAAE;EAC/D,gBAAA,OAAO,IAAI,CAAC;EACf,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OAChB,CAAA;MAEa,YAAsB,CAAA,sBAAA,GAA7B,UAA8B,YAAoB,EAAA;UACrD,IAAM,OAAO,GAAa,EAAE,CAAC;;UAG7B,IAAI,cAAc,GAAW,EAAE,CAAC;UAChC,IAAI,SAAS,GAAW,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;UACpD,IAAI,SAAS,GAAW,YAAY,CAAC;UAErC,OAAO,SAAS,GAAG,CAAC,EAAE;EAClB,YAAA,IAAI,SAAS,GAAG,SAAS,IAAI,CAAC,EAAE;EAC5B,gBAAA,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;kBACxB,SAAS,IAAI,SAAS,CAAC;EAC1B,aAAA;EAED,YAAA,cAAc,EAAE,CAAC;cACjB,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;EAC3C,SAAA;UAED,OAAO,CAAC,OAAO,EAAE,CAAC;EAClB,QAAA,OAAO,OAAO,CAAC;OAClB,CAAA;MAEa,YAAkB,CAAA,kBAAA,GAAzB,UAA0B,YAAsB,EAAA;EACnD,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;cAC3D,OAAO;EACV,SAAA;UAED,IAAI,GAAG,GAAW,CAAC,CAAC;EACpB,QAAA,YAAY,CAAC,OAAO,CAAC,UAAC,GAAW,EAAA;cAC7B,GAAG,IAAI,GAAG,CAAC;EACf,SAAC,CAAC,CAAC;EACH,QAAA,OAAO,GAAG,CAAC;OACd,CAAA;MACJ,OAAA,YAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;EC3DD;EACA,IAAY,QAUX,CAAA;EAVD,CAAA,UAAY,QAAQ,EAAA;;EAEhB,IAAA,QAAA,CAAA,UAAA,CAAA,GAAA,KAAgB,CAAA;;EAEhB,IAAA,QAAA,CAAA,OAAA,CAAA,GAAA,KAAa,CAAA;;EAEb,IAAA,QAAA,CAAA,kBAAA,CAAA,GAAA,OAA0B,CAAA;EAC1B,IAAA,QAAA,CAAA,sBAAA,CAAA,GAAA,WAAkC,CAAA;;EAElC,IAAA,QAAA,CAAA,YAAA,CAAA,GAAA,UAAuB,CAAA;EAC3B,CAAC,EAVW,QAAQ,KAAR,QAAQ,GAUnB,EAAA,CAAA,CAAA;;ECND,IAAA,0BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,0BAAA,GAAA;OAoDC;EAlDiB,IAAA,0BAAA,CAAA,iBAAiB,GAAxB,UAAyB,aAA2B,EAAE,MAAoB,EAAA;UAC7E,IAAI,YAAY,GAAiB,EAAE,CAAC;EACpC,QAAA,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;EAClD,QAAA,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;EAC3C,QAAA,YAAY,CAAC,IAAI,CAAC,UAAC,CAAa,EAAE,CAAa,EAAA;EAC3C,YAAA,OAAO,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EACtC,SAAC,CAAC,CAAC;EACH,QAAA,OAAO,YAAY,CAAC;OACvB,CAAA;MAEa,0BAA2B,CAAA,2BAAA,GAAlC,UAAmC,SAAuB,EAAA;UAC7D,IAAM,MAAM,GAAiB,EAAE,CAAC;UAChC,IAAM,aAAa,GAAiB,EAAE,CAAC;EAEvC,QAAA,IAAM,GAAG,GAAW,SAAS,CAAC,MAAM,CAAC;UACrC,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;;cAElC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;cAC3B,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,KAAK,EAAE;kBAC1C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;EAC7B,aAAA;EAAM,iBAAA;kBACH,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;EACpC,aAAA;EACJ,SAAA;UAED,OAAO;EACH,YAAA,MAAM,EAAE,MAAM;EACd,YAAA,aAAa,EAAE,aAAa;WAC/B,CAAC;OACL,CAAA;;MAGa,0BAAwB,CAAA,wBAAA,GAA/B,UAAgC,SAAuB,EAAA;UAC1D,IAAM,YAAY,GAAa,EAAE,CAAC;EAClC,QAAA,SAAS,CAAC,OAAO,CAAC,UAAC,cAAc,EAAA;cAC7B,IAAI,cAAc,IAAI,cAAc,CAAC,KAAK,GAAG,CAAC,CAAC,EAAE;EAC7C,gBAAA,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;EAC3C,aAAA;EACL,SAAC,CAAC,CAAC;EAEH,QAAA,YAAY,CAAC,IAAI,CAAC,UAAC,CAAS,EAAE,CAAS,EAAA;cACnC,OAAO,CAAC,GAAG,CAAC,CAAC;EACjB,SAAC,CAAC,CAAC;EAEH,QAAA,IAAI,YAAY,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;cACzC,OAAO,YAAY,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;EACpD,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,CAAC,CAAC;EACZ,SAAA;OACJ,CAAA;MACJ,OAAA,0BAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECtDD;;;EAGG;EACG,SAAU,YAAY,CAAC,mBAA4B,EAAA;EACrD,IAAA,IAAM,cAAc,GAAsB5C,QAAK,CAAC,mBAAmB,CAAC,CAAC;MACrE,OAAO,UAAC,MAAc,EAAE,GAAW,EAAA;EAC/B,QAAA,cAAc,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;EAC5B,QAAA,IAAM,UAAU,GAAuB,MAAM,CAAC,wBAAwB,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;EAC1F,QAAA,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;EAC/B,YAAA,GAAG,EAAE,UAAU,CAAC,GAAG,IAAI,YAAA;EACnB,gBAAA,OAAO,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;eAC3B;cACD,GAAG,EAAE,UAAS,QAAa,EAAA;kBACvB,IAAM,GAAG,GAAY,qBAAqB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;kBACzE,UAAU,CAAC,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,GAAG,CAAC;eACjE;EACD,YAAA,UAAU,EAAE,IAAI;EAChB,YAAA,YAAY,EAAE,IAAI;EACrB,SAAA,CAAC,CAAC;EACP,KAAC,CAAC;EACN,CAAC;EAED;EACA,IAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;OAOC;MANiB,qBAAmB,CAAA,mBAAA,GAA1B,UAA2B,KAAU,EAAA;EACxC,QAAA,IAAI,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE;EACvE,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;UACD,OAAO,CAAC,CAAC,KAAK,CAAC;OAClB,CAAA;MACJ,OAAA,qBAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECbD;AACA,MAAA,wBAAA,kBAAA,YAAA;MAeI,SAAsB,wBAAA,CAAA,UAA6B,EAChC,gBAAkC,EAAA;EAD/B,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAmB;EAChC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAfrC,QAAA,IAAK,CAAA,KAAA,GAAgBgC,cAAI,CAAC;EAU1B,QAAA,IAAK,CAAA,KAAA,GAAgBA,cAAI,CAAC;EAEzB,QAAA,IAAyB,CAAA,yBAAA,GAAW,qBAAqB,CAAC;OAI1E;EAVM,IAAA,wBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAUM,IAAA,wBAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,YAAA;UACH,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,GAAG,IAAI,CAAC,yBAAyB,CAAC,CAAC;OAC5H,CAAA;;;;EAtCJ,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,sBAAsB;EAChC,gBAAA,QAAQ,EAAE,ieAWT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACxC,aAAA,EAAA,EAAA;;;cAjBO,iBAAiB,EAAA;cADjB,gBAAgB,EAAA;;;wCAuBnBG,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,4BAA4B,EAAA,EAAA,CAAA;;;EC5B7C;EACA,IAAY,mBAcX,CAAA;EAdD,CAAA,UAAY,mBAAmB,EAAA;MAC3B,mBAAA,CAAA,mBAAA,CAAA,kBAAA,CAAA,GAAA,CAAA,CAAA,GAAA,kBAAoB,CAAA;MACpB,mBAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,CAAA,CAAA,GAAA,YAAc,CAAA;MACd,mBAAA,CAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,CAAA,CAAA,GAAA,SAAW,CAAA;MACX,mBAAA,CAAA,mBAAA,CAAA,WAAA,CAAA,GAAA,CAAA,CAAA,GAAA,WAAa,CAAA;MACb,mBAAA,CAAA,mBAAA,CAAA,YAAA,CAAA,GAAA,EAAA,CAAA,GAAA,YAAe,CAAA;MACf,mBAAA,CAAA,mBAAA,CAAA,SAAA,CAAA,GAAA,EAAA,CAAA,GAAA,SAAY,CAAA;MACZ,mBAAA,CAAA,mBAAA,CAAA,aAAA,CAAA,GAAA,EAAA,CAAA,GAAA,aAAgB,CAAA;MAChB,mBAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,gBAAoB,CAAA;MACpB,mBAAA,CAAA,mBAAA,CAAA,qBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,qBAAyB,CAAA;MACzB,mBAAA,CAAA,mBAAA,CAAA,iBAAA,CAAA,GAAA,GAAA,CAAA,GAAA,iBAAqB,CAAA;MACrB,mBAAA,CAAA,mBAAA,CAAA,qBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,qBAA0B,CAAA;MAC1B,mBAAA,CAAA,mBAAA,CAAA,uBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,uBAA4B,CAAA;MAC5B,mBAAA,CAAA,mBAAA,CAAA,oBAAA,CAAA,GAAA,IAAA,CAAA,GAAA,oBAAyB,CAAA;EAC7B,CAAC,EAdW,mBAAmB,KAAnB,mBAAmB,GAc9B,EAAA,CAAA,CAAA;;ECfD;EACA,IAAY,kBASX,CAAA;EATD,CAAA,UAAY,kBAAkB,EAAA;EAC1B,IAAA,kBAAA,CAAA,oBAAA,CAAA,GAAA,gBAAqC,CAAA;EACrC,IAAA,kBAAA,CAAA,yBAAA,CAAA,GAAA,qBAA+C,CAAA;EAC/C,IAAA,kBAAA,CAAA,kBAAA,CAAA,GAAA,iBAAoC,CAAA;EACpC,IAAA,kBAAA,CAAA,qBAAA,CAAA,GAAA,gBAAsC,CAAA;EACtC,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,kBAA6B,CAAA;EAC7B,IAAA,kBAAA,CAAA,iBAAA,CAAA,GAAA,YAA8B,CAAA;EAC9B,IAAA,kBAAA,CAAA,gBAAA,CAAA,GAAA,sBAAuC,CAAA;EACvC,IAAA,kBAAA,CAAA,UAAA,CAAA,GAAA,WAAsB,CAAA;EAC1B,CAAC,EATW,kBAAkB,KAAlB,kBAAkB,GAS7B,EAAA,CAAA,CAAA;;ECwLD;AACA,MAAA,wBAAA,kBAAA,YAAA;EA+JI,IAAA,SAAA,wBAAA;;EAEY,IAAA,cAA6B,EAC7B,gBAAmC,EAAA;EADnC,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;EAC7B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;EA5JxC,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;EAIxC,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;EAKxC,QAAA,IAAwB,CAAA,wBAAA,GAAY,IAAI,CAAC;EAkCzC,QAAA,IAAsB,CAAA,sBAAA,GAAY,IAAI,CAAC;EAmB9B,QAAA,IAAA,CAAA,mBAAmB,GAA6B,IAAIf,eAAY,EAAc,CAAC;EAG/E,QAAA,IAAA,CAAA,eAAe,GAAuB,IAAIA,eAAY,EAAQ,CAAC;EAQ/D,QAAA,IAAmB,CAAA,mBAAA,GAA+B4F,4CAAmB,CAAC;EACtE,QAAA,IAAoB,CAAA,oBAAA,GAA+B,mBAAmB,CAAC;EA2DvE,QAAA,IAAM,CAAA,MAAA,GAA8B,kBAAkB,CAAC;EACvD,QAAA,IAAS,CAAA,SAAA,GAAoB,QAAQ,CAAC;EAG/C,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;EAC5B,QAAA,IAAW,CAAA,WAAA,GAAiB,EAAE,CAAC;EAG/B,QAAA,IAAkB,CAAA,kBAAA,GAAa,EAAE,CAAC;EAClC,QAAA,IAAiB,CAAA,iBAAA,GAAa,EAAE,CAAC;EACjC,QAAA,IAAY,CAAA,YAAA,GAAkB,EAAE,CAAC;EAEhC,QAAA,IAAA,CAAA,yBAAyB,GAA6B,EAAE,CAAC;EACzD,QAAA,IAAA,CAAA,UAAU,GAA0B,IAAIrE,2CAAqB,EAAE,CAAC;EAChE,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;OAgBlC;EAvJD,IAAA,MAAA,CAAA,cAAA,CACW,wBAAiB,CAAA,SAAA,EAAA,mBAAA,EAAA;EAI5B,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,kBAAkB,CAAC;WAClC;EAPD,QAAA,GAAA,EAAA,UAC6B,GAAe,EAAA;cACxC,IAAI,CAAC,kBAAkB,GAAG,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAACsE,qBAAU,EAAE,GAAG,CAA0B,GAAG,SAAS,CAAC;WAChI;;;EAAA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CACW,wBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADnB,QAAA,GAAA,EAAA,UACoB,KAAc,EAAA;EAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;EAEvB,YAAA,IAAI,KAAK,EAAE;;EAEV,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACW,wBAAwB,CAAA,SAAA,EAAA,0BAAA,EAAA;EAmDnC,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,yBAAyB,CAAC;WACzC;EAtDD,QAAA,GAAA,EAAA,UACoC,KAA+B,EAAA;EAC/D,YAAA,IAAI,CAAC,yBAAyB,GAAG,KAAK,CAAC;WAC1C;;;EAAA,KAAA,CAAA,CAAA;EAmCM,IAAA,wBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CAAW,wBAAmB,CAAA,SAAA,EAAA,qBAAA,EAAA;EAA9B,QAAA,GAAA,EAAA,YAAA;;EAEI,YAAA,OAAO,IAAI,CAAC;;WAEf;;;EAAA,KAAA,CAAA,CAAA;EAMD,IAAA,MAAA,CAAA,cAAA,CAAW,wBAAa,CAAA,SAAA,EAAA,eAAA,EAAA;EAAxB,QAAA,GAAA,EAAA,YAAA;;EAEE,YAAA,OAAO,KAAK,CAAC;;WAGd;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CAAW,wBAAsB,CAAA,SAAA,EAAA,wBAAA,EAAA;EAAjC,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,iBAAiB,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC;WAC5D;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CAAW,wBAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EAApB,QAAA,GAAA,EAAA,YAAA;EACI,YAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE;kBAC1C,OAAO,IAAI,CAAC,UAAU,CAAA;EACzB,aAAA;EACD,YAAA,OAAO,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;WACnF;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CAAW,wBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EAAtB,QAAA,GAAA,EAAA,YAAA;cACI,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE;EACpE,gBAAA,OAAO,OAAO,CAAC;EAClB,aAAA;EAAM,iBAAA;EACH,gBAAA,OAAO,UAAU,CAAC;EACrB,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CAAW,wBAAqB,CAAA,SAAA,EAAA,uBAAA,EAAA;EAAhC,QAAA,GAAA,EAAA,YAAA;cACI,IAAI,IAAI,CAAC,wBAAwB,EAAE;EAC/B,gBAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;EAC3C,oBAAA,IAAI,CAAC,wBAAwB,CAAC,sBAAsB;EACpD,oBAAA,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAAC;EAC3D,aAAA;EAAM,iBAAA;EACH,gBAAA,OAAO;EACV,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;EAGD,IAAA,MAAA,CAAA,cAAA,CAAW,wBAAc,CAAA,SAAA,EAAA,gBAAA,EAAA;EAAzB,QAAA,GAAA,EAAA,YAAA;cACI,IAAI,IAAI,CAAC,wBAAwB,EAAE;EAC/B,gBAAA,OAAO,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE;EAC3C,oBAAA,IAAI,CAAC,wBAAwB,CAAC,oBAAoB;EAClD,oBAAA,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC;EACzD,aAAA;EAAM,iBAAA;EACH,gBAAA,OAAO;EACV,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;EAkCD,IAAA,wBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;UACI,IAAI,CAAC,cAAc,EAAE,CAAC;EACtB,QAAA,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE;cAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,CAAC;EAClE,SAAA;OACJ,CAAA;EAEY,IAAA,wBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;;;;;EAGZ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,wBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;UACH,IAAI,IAAI,CAAC,iBAAiB,CAAC,eAAe,EAAE,EAAE;EAC1C,YAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;EAC1F,SAAA;EAAM,aAAA;cACH,IAAI;EACA,gBAAAC,mBAAS,CAAC,mBAAmB,CAAC,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;EACxG,aAAA;EAAC,YAAA,OAAO,KAAK,EAAE;EAEf,aAAA;EACJ,SAAA;OACJ,CAAA;EAEM,IAAA,wBAAA,CAAA,SAAA,CAAA,2BAA2B,GAA3B,YAAA;EACH,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,EAAE,CAAC;EACnC,QAAA,IAAM,cAAc,GAAW,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC;UAC9D,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;EAC7C,YAAA,IAAM,MAAM,GAAoB,IAAIC,+BAAe,EAAE,CAAC;cACtD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;EAChD,YAAA,MAAM,CAAC,UAAU,GAAGC,oCAAe,CAAC,SAAS,CAAC;cAC9C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC9C,SAAA;EAED,QAAA,IAAM,aAAa,GAAW,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;UAC5D,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;EAC5C,YAAA,IAAM,MAAM,GAAoB,IAAID,+BAAe,EAAE,CAAC;cACtD,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;EAC/C,YAAA,MAAM,CAAC,UAAU,GAAGC,oCAAe,CAAC,QAAQ,CAAC;cAC7C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;EAC9C,SAAA;OACJ,CAAA;EAEM,IAAA,wBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;UACH,IAAI,IAAI,CAAC,IAAI,EAAE;EACX,YAAA,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;EACtB,SAAA;OACJ,CAAA;MAEM,wBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,oBAA4B,EAAA;EACpD,QAAA,IAAI,CAAC,kBAAkB,GAAG,oBAAoB,CAAC;OAClD,CAAA;MAEM,wBAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,oBAA4B,EAAA;EAC3D,QAAA,IAAI,CAAC,cAAc,GAAG,oBAAoB,CAAC;OAC9C,CAAA;EAEY,IAAA,wBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;;;kBACT,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,CAAC,CAAC;kBAChI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,GAAG,CAAC,CAAC;kBAChH,IAAI,CAAC,iBAAiB,CAAC,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC;kBAC3D,IAAI,CAAC,2BAA2B,EAAE,CAAC;kBACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;kBACtD,IAAI,CAAC,YAAY,EAAE,CAAC;;;EACvB,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,wBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;;;kBACT,IAAI,CAAC,YAAY,EAAE,CAAC;;;EACvB,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,wBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;EACH,QAAA,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,CAAC;EACnC,QAAA,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;EAClC,QAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;EAEnC,QAAA,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;OAC/B,CAAA;;;;EApaJ,IAAA,EAAA,IAAA,EAAA5F,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,sBAAsB;EAChC,gBAAA,QAAQ,EAAE,g8WAuKT;kBACA,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACzC,aAAA,EAAA,EAAA;;;cA5LOuF,gCAAa,EAAA;cAab,iBAAiB,EAAA;;;EAkLpB,IAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAAtF,YAAS,SAACuF,gCAAa,EAAA,EAAA,CAAA;uCAGvBrF,QAAK,EAAA,CAAA;uCAILA,QAAK,EAAA,CAAA;yCAILA,QAAK,EAAA,CAAA;kCAMLA,QAAK,EAAA,CAAA;yBASLA,QAAK,EAAA,CAAA;yCASLA,QAAK,EAAA,CAAA;4BAKLA,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;uCAILA,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;4BAGLA,QAAK,EAAA,CAAA;8BAGLA,QAAK,EAAA,CAAA;yBAGLA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;oCAILC,SAAM,EAAA,CAAA;gCAGNA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,4BAA4B,EAAA,EAAA,CAAA;;EAnEzC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACgC,EAAA,wBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI/C,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACgC,EAAA,wBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAK/C,UAAA,CAAA;EAFC,IAAA,YAAY,EAAE;GAEiC,EAAA,wBAAA,CAAA,SAAA,EAAA,0BAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EA+BhD,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACmB,EAAA,wBAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAmBlC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACkB,EAAA,wBAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,KAAA,CAAA,CAAA;;EC7NrC;AAEA,MAAA,uBAAA,kBAAA,YAAA;;EAkOI,IAAA,SAAA,uBAAA;;MAGc,kBAAqC;;EAErC,IAAA,UAA4B,EAC5B,QAAkC,EAAA;EAHlC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;EAErC,QAAA,IAAU,CAAA,UAAA,GAAV,UAAU,CAAkB;EAC5B,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;EAjNzC,QAAA,IAAS,CAAA,SAAA,GAAiB,EAAE,CAAC;;EAgB7B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;;EAI9B,QAAA,IAAM,CAAA,MAAA,GAAY,IAAI,CAAC;;EAOvB,QAAA,IAAa,CAAA,aAAA,GAAY,IAAI,CAAC;;EAI9B,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;EAI1B,QAAA,IAAkB,CAAA,kBAAA,GAAY,KAAK,CAAC;EAkBpC,QAAA,IAAe,CAAA,eAAA,GAAY,IAAI,CAAC;EAIhC,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;EAG9B,QAAA,IAAa,CAAA,aAAA,GAAoC,kCAAkC,CAAC;EAGpF,QAAA,IAAe,CAAA,eAAA,GAAoC,kCAAkC,CAAC;EAMtF,QAAA,IAAqB,CAAA,qBAAA,GAAoC,kCAAkC,CAAC;EAG5F,QAAA,IAAoB,CAAA,oBAAA,GAAoC,kCAAkC,CAAC;EAG3F,QAAA,IAAqB,CAAA,qBAAA,GAAoC,kCAAkC,CAAC;EAG5F,QAAA,IAAoB,CAAA,oBAAA,GAAoC,kCAAkC,CAAC;EAG3F,QAAA,IAAmB,CAAA,mBAAA,GAAoC,kCAAkC,CAAC;EAI1F,QAAA,IAAmB,CAAA,mBAAA,GAAY,KAAK,CAAC;EAIrC,QAAA,IAAoB,CAAA,oBAAA,GAAY,KAAK,CAAC;EAatC,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;EAOxC,QAAA,IAAiB,CAAA,iBAAA,GAAY,KAAK,CAAC;;EAcnC,QAAA,IAAsB,CAAA,sBAAA,GAAY,KAAK,CAAC;;EAIxC,QAAA,IAAA,CAAA,mBAAmB,GAA2B,IAAIf,eAAY,EAAY,CAAC;;EAIlE,QAAA,IAAA,CAAA,cAAc,GAA+B,IAAIA,eAAY,EAAgB,CAAC;EAG9E,QAAA,IAAA,CAAA,eAAe,GAA6B,IAAIA,eAAY,EAAc,CAAC;;EAI3E,QAAA,IAAA,CAAA,mBAAmB,GAA+B,IAAIA,eAAY,EAAgB,CAAC;EAG5F,QAAA,IAAA,CAAA,mBAAmB,GAA6B,IAAIA,eAAY,EAAc,CAAC;;EAI/E,QAAA,IAAA,CAAA,sBAAsB,GAA0B,IAAIA,eAAY,EAAW,CAAC;EAiD3E,QAAA,IAAY,CAAA,YAAA,GAAW,EAAE,CAAC;EAK1B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;OAiBlC;EAtOD,IAAA,MAAA,CAAA,cAAA,CACW,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAQnB,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,SAAS,CAAC;WACzB;;EAXD,QAAA,GAAA,EAAA,UACoB,KAAe,EAAA;EAC/B,YAAA,IAAI,KAAK,EAAE;EACP,gBAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;;;EAG1B,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;EAYD,IAAA,MAAA,CAAA,cAAA,CACW,uBAAW,CAAA,SAAA,EAAA,aAAA,EAAA;EAItB,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,YAAY,CAAC;WAC5B;EAPD,QAAA,GAAA,EAAA,UACuB,KAAa,EAAA;cAChC,IAAI,CAAC,YAAY,GAAG,KAAK,GAAG,EAAE,CAAC;WAClC;;;EAAA,KAAA,CAAA,CAAA;EA+BD,IAAA,MAAA,CAAA,cAAA,CAAW,uBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAQnB,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,SAAS,CAAC;WACzB;EAVD,QAAA,GAAA,EAAA,UAAoB,KAAc,EAAA;EAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;cAEvB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;kBACrC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,KAAK,CAAC;EACzC,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;EAgDD,IAAA,MAAA,CAAA,cAAA,CACW,uBAAkB,CAAA,SAAA,EAAA,oBAAA,EAAA;EAD7B,QAAA,GAAA,EAAA,UAC8B,KAAoB,EAAA;EAC9C,YAAA,IAAI,KAAK,EAAE;EACP,gBAAA,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;EACpC,aAAA;WACJ;;;EAAA,KAAA,CAAA,CAAA;MAqDM,uBAAM,CAAA,SAAA,CAAA,MAAA,GAAN,UAAO,KAAgB,EAAA;UAC1B,KAAK,CAAC,cAAc,EAAE,CAAC;UACvB,KAAK,CAAC,eAAe,EAAE,CAAC;EAExB,QAAA,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE;cAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;EAC9C,SAAA;EAAM,aAAA;cACH,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;EAC3D,SAAA;UAED,IAAI,CAAC,cAAc,EAAE,CAAC;OACzB,CAAA;MAGM,uBAAS,CAAA,SAAA,CAAA,SAAA,GAAT,UAAU,KAAgB,EAAA;EAC7B,QAAA,KAAK,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;UAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;OACzB,CAAA;MAGM,uBAAU,CAAA,SAAA,CAAA,UAAA,GAAV,UAAW,KAAgB,EAAA;UAC9B,KAAK,CAAC,cAAc,EAAE,CAAC;OAC1B,CAAA;MAGM,uBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAgB,EAAA;EAC/B,QAAA,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC;UACrC,IAAI,CAAC,aAAa,EAAE,CAAC;OACxB,CAAA;MAGM,uBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAgB,EAAA;EAC/B,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,EAAE;cACxC,IAAI,CAAC,cAAc,EAAE,CAAC;EACzB,SAAA;OACJ,CAAA;EAgCD,IAAA,uBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACI,IAAI,CAAC,cAAc,EAAE,CAAC;OACzB,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;EACJ,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;cACjB,IAAM,IAAI,GAA+C,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;cACzH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;cACvD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,uBAAuB,GAAG,IAAI,CAAC,WAAW,CAAC;EACtE,SAAA;OACJ,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;EACJ,QAAA,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;UACxB,IAAI,IAAI,CAAC,SAAS,EAAE;EAChB,YAAA,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;EACzB,YAAA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;EAC9B,SAAA;OACJ,CAAA;;MAGY,uBAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,IAAgB,EAAA;;;;;EACf,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA,CAAA;;EAAzD,wBAAA,OAAO,GAAY,EAAsC,CAAA,IAAA,EAAA,CAAA;;;;EAErD,wBAAA,IAAA,CAAA,OAAO,EAAP,OAAO,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;EACP,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA,CAAA;;EAAxB,wBAAA,EAAA,CAAA,IAAA,EAAwB,CAAC;0BACzB,OAAO,GAAG,IAAI,CAAC;;;EAGnB,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAA,CAAA;;EAArC,wBAAA,EAAA,CAAA,IAAA,EAAqC,CAAC;;EAE1C,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;;;EACnC,SAAA,CAAA,CAAA;OAAA,CAAA;MAEa,uBAAO,CAAA,SAAA,CAAA,OAAA,GAAP,UAAQ,IAAgB,EAAA;;;;kBAC9B,QAAQ,GAAY,IAAI,CAAC;EAC7B,gBAAA,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE;;;EAG9B,iBAAA;EACD,gBAAA,IAAI,QAAQ,EAAE;EACV,oBAAA,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;0BAC5B,UAAU,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;EAClD,qBAAA;EACD,oBAAA,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;EACnC,iBAAA;;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEM,uBAAmB,CAAA,SAAA,CAAA,mBAAA,GAAnB,UAAoB,IAAkB,EAAA;EACzC,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;OACvC,CAAA;MAEY,uBAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,KAAU,EAAA;;;;;;gCAChC,KAAK,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAA,EAA5E,OAA4E,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;0BAIxE,sBAAsB,GAAY,IAAI,CAAC;0BACvC,6BAA6B,GAAY,IAAI,CAAC;EAC5C,wBAAA,aAAa,GAAW,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;0BACtF,GAAG,GAAW,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;0BAC9C,KAAS,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;EAC5B,4BAAA,iBAAiB,GAAG8F,mBAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC;8BAC7F,IAAI,CAAC,iBAAiB,EAAE;kCACpB,sBAAsB,GAAG,KAAK,CAAC;kCAC/B,MAAM;EACT,6BAAA;8BACK,gBAAgB,GAAG,IAAI,CAAA;8BAC7B,IAAI,CAAC,gBAAgB,EAAE;kCACnB,6BAA6B,GAAG,KAAK,CAAC;kCACtC,MAAM;EACT,6BAAA;EACJ,yBAAA;+BAEG,CAAC,sBAAsB,EAAvB,OAAuB,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;;+BAGhB,CAAC,6BAA6B,EAA9B,OAA8B,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;8BAIJ,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAA;;EAArF,wBAAA,UAAU,GAAiB,EAA0D,CAAA,IAAA,EAAA,CAAA;EAE3F,wBAAA,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;EACvB,4BAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACxC,yBAAA;EAAM,6BAAA;8BACH,IAAI,IAAI,CAAC,sBAAsB,EAAE;EAC7B,gCAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACxC,6BAAA;EAAM,iCAAA;EACH,gCAAA,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;kCACvC,IAAI,CAAC,SAAS,EAAE,CAAC;EACpB,6BAAA;EACJ,yBAAA;;;;;EAGZ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,uBAAuB,CAAA,SAAA,CAAA,uBAAA,GAAvB,UAAwB,SAAqB,EAAA;;;;;;EACtD,wBAAA,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAC;EACR,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAA,CAAA;;EAA9D,wBAAA,SAAS,GAAY,EAAyC,CAAA,IAAA,EAAA,CAAA;EACpE,wBAAA,IAAI,SAAS,EAAE;8BACX,IAAI,CAAC,SAAS,EAAE,CAAC;EACpB,yBAAA;;;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,uBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;;kBAMZ,KAAA,GAAA,IAAA,CAAA;;kBALG,IAAI,CAAC,2BAA2B,EAAE,CAAC;EAEnC,gBAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAC,GAAe,EAAA;EACpF,oBAAA,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACvC,iBAAC,CAAC,CAAC;;;EACN,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,uBAAA,CAAA,SAAA,CAAA,2BAA2B,GAA3B,YAAA;UAAA,IAQN,KAAA,GAAA,IAAA,CAAA;UAPG,IAAI,CAAC,yBAAyB,EAAE,CAAC;EACjC,QAAA,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;EAEvC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC,SAAS,CAAC,UAAC,GAAe,EAAA;EACpF,YAAA,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;EAC5B,YAAA,KAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;EACvC,SAAC,CAAC,CAAC;OACN,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,yBAAyB,GAAzB,YAAA;EACJ,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAID,qBAAU,EAAE,CAAC;UAC1C,IAAI,CAAC,iBAAiB,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;UAClD,IAAI,CAAC,iBAAiB,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;UAC9C,IAAI,CAAC,iBAAiB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;UAChD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAGM,kCAAc,CAAC,0BAA0B,CAAC;EAChF,QAAA,IAAI,CAAC,iBAAiB,CAAC,SAAS,GAAG,IAAI,CAAC;;;;UAIxC,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;UACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;OACpD,CAAA;MAEO,uBAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,gBAAiC,EAAA;UAA7D,IA+BP,KAAA,GAAA,IAAA,CAAA;EA/BmC,QAAA,IAAA,gBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,gBAAiC,GAAA,KAAA,CAAA,EAAA;EACjE,QAAA,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;UAEvC,IAAM,OAAO,GAA+C,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,wBAAwB,CAAC,CAAC;UAE5H,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;UAEvD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;UAC/C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;EACzD,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,KAAK,CAAC;UACrF,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,YAAY,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS,CAAC,gBAAgB,CAAC,CAAC;UACrJ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;UAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,wBAAwB,GAAG,IAAI,CAAC,wBAAwB,CAAC;UAC9E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;UAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;UACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;UAC1E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;EAChE,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,GAAG,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;EAC9G,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC;UAC3E,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;UAE9C,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAE1B,QAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,YAAA;cACjE,KAAI,CAAC,eAAe,EAAE,CAAC;EACvB,YAAA,KAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EACxC,YAAA,KAAI,CAAC,cAAc,CAAC,WAAW,EAAE,CAAC;EAClC,YAAA,KAAI,CAAC,aAAa,CAAC,WAAW,EAAE,CAAC;EACjC,YAAA,KAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;EACtB,YAAA,KAAI,CAAC,MAAM,GAAG,SAAS,CAAC;EAC5B,SAAC,CAAC,CAAC;OACN,CAAA;MAEe,uBAA2B,CAAA,SAAA,CAAA,2BAAA,GAA3B,UAA4B,KAAe,EAAA;;;;;;EACjD,wBAAA,aAAa,GAAW,KAAK,CAAC,MAAM,CAAC;0BACrC,UAAU,GAAiB,EAAE,CAAC;EAE3B,wBAAA,CAAC,GAAW,CAAC,CAAA;;;gCAAE,CAAC,GAAG,aAAa,CAAA,EAAA,OAAA,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;0BACF,OAAM,CAAA,CAAA,YAAA,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA,CAAA;;EAApE,wBAAA,cAAc,GAAe,EAAuC,CAAA,IAAA,EAAA,CAAA;EAC1E,wBAAA,cAAc,CAAC,KAAK,GAAG,0BAA0B,CAAC,wBAAwB,CAAC,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC,GAAG,CAAC,CAAC;EACrG,wBAAA,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;;;EAHO,wBAAA,CAAC,EAAE,CAAA;;EAK9C,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,aAAO,UAAU,CAAC,CAAA;;;EACrB,SAAA,CAAA,CAAA;OAAA,CAAA;MAEY,uBAAW,CAAA,SAAA,CAAA,WAAA,GAAX,UAAY,KAAe,EAAA;;;;;;EAChC,wBAAA,IAAA,EAAA,KAAK,IAAI,KAAK,CAAC,MAAM,CAAA,EAArB,OAAqB,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;0BACjB,gBAAgB,GAAY,IAAI,CAAC;EAC/B,wBAAA,aAAa,GAAW,KAAK,CAAC,MAAM,CAAC;0BAC3C,KAAS,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;EAC5C,4BAAA,IAAI,CAACL,mBAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,kBAAkB,CAAC,EAAE;kCAClE,gBAAgB,GAAG,KAAK,CAAC;kCACzB,MAAM;EACT,6BAAA;EACJ,yBAAA;+BAEG,CAAC,gBAAgB,EAAjB,OAAiB,CAAA,CAAA,YAAA,CAAA,CAAA,CAAA;;EAIgB,oBAAA,KAAA,CAAA,EAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAA,CAAA;;EAAxE,wBAAA,UAAU,GAAiB,EAA6C,CAAA,IAAA,EAAA,CAAA;0BAE9E,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,sBAAsB,EAAE;EACtD,4BAAA,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACxC,yBAAA;EAAM,6BAAA;8BACH,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;8BACvC,IAAI,CAAC,SAAS,EAAE,CAAC;EACpB,yBAAA;;;;;EAGZ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEM,uBAA6B,CAAA,SAAA,CAAA,6BAAA,GAA7B,UAA8B,KAAe,EAAA;;;OAGnD,CAAA;MAEa,uBAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,IAAU,EAAA;;;;;8BACF,OAAM,CAAA,CAAA,YAAAA,mBAAS,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA,CAAA;;EAA/F,wBAAA,gBAAgB,GAAe,EAAgE,CAAA,IAAA,EAAA,CAAA;;EAErG,wBAAA,gBAAgB,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;EAC5C,wBAAA,gBAAgB,CAAC,GAAG,GAAG,IAAI,CAAC,WAAW,CAAC;;;;EAIxC,wBAAA,gBAAgB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;EAC3C,wBAAA,gBAAgB,CAAC,YAAY,GAAG,IAAI,IAAI,EAAE,CAAC;EAC3C,wBAAA,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,GAAGA,mBAAS,CAAC,WAAW,CAAC,IAAI,CAAC,GAAGM,sBAAQ,CAAC,KAAK,GAAGA,sBAAQ,CAAC,QAAQ,CAAC;EAE7H,wBAAA,IAAI,gBAAgB,EAAE;EAClB,4BAAA,OAAA,CAAA,CAAA,aAAO,gBAAgB,CAAC,CAAA;EAC3B,yBAAA;;;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEa,uBAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,KAAoB,EAAA;;;;;EAItD,SAAA,CAAA,CAAA;OAAA,CAAA;EAEa,IAAA,uBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;;;;;;EACV,wBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;8BACpC,OAAO,CAAA,CAAA,aAAA,IAAI,CAAC,CAAA;EACf,yBAAA;EAEuB,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,aAAa,CAACP,qBAAU,CAAC,CAAA,CAAA;;EAAtD,wBAAA,MAAM,GAAY,EAAoC,CAAA,IAAA,EAAA,CAAA;EAC5D,wBAAA,OAAA,CAAA,CAAA,aAAO,MAAM,CAAC,CAAA;;;EACjB,SAAA,CAAA,CAAA;OAAA,CAAA;EAEa,IAAA,uBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;;;;;;EACZ,wBAAA,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;8BACtC,OAAO,CAAA,CAAA,aAAA,IAAI,CAAC,CAAA;EACb,yBAAA;EAEyB,wBAAA,OAAA,CAAA,CAAA,YAAM,IAAI,CAAC,eAAe,CAACA,qBAAU,CAAC,CAAA,CAAA;;EAA1D,wBAAA,QAAQ,GAAY,EAAsC,CAAA,IAAA,EAAA,CAAA;EAChE,wBAAA,OAAA,CAAA,CAAA,aAAO,QAAQ,CAAC,CAAA;;;EACjB,SAAA,CAAA,CAAA;OAAA,CAAA;EAEO,IAAA,uBAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;UACJ,IAAM,GAAG,GAAW,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC;UACzD,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;cAClC,IAAM,KAAK,GAAoB,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;EAChE,YAAA,IAAI,KAAK,CAAC,UAAU,KAAKG,oCAAe,CAAC,SAAS,EAAE;EAChD,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;EACnE,aAAA;EACD,YAAA,IAAI,KAAK,CAAC,UAAU,KAAKA,oCAAe,CAAC,QAAQ,EAAE;EAC/C,gBAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;EAClE,aAAA;EACJ,SAAA;OACJ,CAAA;;;;cA5fJT,YAAS,EAAA;;;cAxBF,iBAAiB,EAAA;cALrBc,mBAAgB,EAAA;cAThBC,2BAAwB,EAAA;;;yBAgDvBzF,QAAK,EAAA,CAAA;0BAaLA,QAAK,EAAA,CAAA;8BAGLA,QAAK,EAAA,CAAA;4BAGLA,QAAK,EAAA,CAAA;6BAULA,QAAK,EAAA,CAAA;uBAILA,QAAK,EAAA,CAAA;4BAGLA,QAAK,EAAA,CAAA;8BAILA,QAAK,EAAA,CAAA;0BAILA,QAAK,EAAA,CAAA;mCAGLA,QAAK,EAAA,CAAA;yBAILA,QAAK,EAAA,CAAA;gCAcLA,QAAK,EAAA,CAAA;6BAILA,QAAK,EAAA,CAAA;8BAILA,QAAK,EAAA,CAAA;gCAGLA,QAAK,EAAA,CAAA;sCAMLA,QAAK,EAAA,CAAA;qCAGLA,QAAK,EAAA,CAAA;sCAGLA,QAAK,EAAA,CAAA;qCAGLA,QAAK,EAAA,CAAA;oCAGLA,QAAK,EAAA,CAAA;oCAGLA,QAAK,EAAA,CAAA;qCAILA,QAAK,EAAA,CAAA;mCAMLA,QAAK,EAAA,CAAA;uCAOLA,QAAK,EAAA,CAAA;yCAILA,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;4BAILA,QAAK,EAAA,CAAA;kCAGLA,QAAK,EAAA,CAAA;uCAGLA,QAAK,EAAA,CAAA;uCAKLA,QAAK,EAAA,CAAA;oCAILC,SAAM,EAAA,CAAA;+BAINA,SAAM,EAAA,CAAA;gCAGNA,SAAM,EAAA,CAAA;oCAINA,SAAM,EAAA,CAAA;oCAGNA,SAAM,EAAA,CAAA;uCAINA,SAAM,EAAA,CAAA;EAGN,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,cAAc,EAAA,EAAA,CAAA;EAG1B,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAAmD,eAAY,EAAC,IAAA,EAAA,CAAA,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAA,EAAA,CAAA;EAc/B,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,eAAY,EAAC,IAAA,EAAA,CAAA,SAAS,EAAE,CAAC,QAAQ,CAAC,EAAA,EAAA,CAAA;EAMlC,IAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,eAAY,EAAC,IAAA,EAAA,CAAA,UAAU,EAAE,CAAC,QAAQ,CAAC,EAAA,EAAA,CAAA;EAKnC,IAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,eAAY,EAAC,IAAA,EAAA,CAAA,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAA,EAAA,CAAA;EAMpC,IAAA,WAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,eAAY,EAAC,IAAA,EAAA,CAAA,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAA,EAAA,CAAA;;EAlJrC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GAC4B,EAAA,uBAAA,CAAA,SAAA,EAAA,oBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI3C,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GAOd,EAAA,uBAAA,CAAA,SAAA,EAAA,UAAA,EAAA,IAAA,CAAA,CAAA;EAQD,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACwB,EAAA,uBAAA,CAAA,SAAA,EAAA,iBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIvC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACsB,EAAA,uBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EA4BrC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GAC6B,EAAA,uBAAA,CAAA,SAAA,EAAA,qBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI5C,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GAC8B,EAAA,uBAAA,CAAA,SAAA,EAAA,sBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAa7C,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACgC,EAAA,uBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAO/C,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GAC2B,EAAA,uBAAA,CAAA,SAAA,EAAA,mBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAU1C,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACwB,EAAA,uBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAIvC,UAAA,CAAA;EADU,IAAA,YAAY,EAAE;GACuB,EAAA,uBAAA,CAAA,SAAA,EAAA,wBAAA,EAAA,KAAA,CAAA,CAAA;;EC1HnD;AACA,MAAA,oBAAA,kBAAA,UAAA,MAAA,EAAA;MAA0C,SAAuB,CAAA,oBAAA,EAAA,MAAA,CAAA,CAAA;EAoE7D,IAAA,SAAA,oBAAA;;MAEI,iBAAoC;;EAE1B,IAAA,UAA4B,EAC5B,QAAkC,EAAA;EALhD,QAAA,IAAA,KAAA,GAaI,kBAAM,iBAAiB,EAAE,UAAU,EAAE,QAAQ,CAAC,IACjD,IAAA,CAAA;EAVa,QAAA,KAAU,CAAA,UAAA,GAAV,UAAU,CAAkB;EAC5B,QAAA,KAAQ,CAAA,QAAA,GAAR,QAAQ,CAA0B;;EAxDzC,QAAA,KAAK,CAAA,KAAA,GAAW,aAAa,CAAC;EAM9B,QAAA,KAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;EAIlC,QAAA,KAAU,CAAA,UAAA,GAAY,KAAK,CAAC;EAG5B,QAAA,KAAW,CAAA,WAAA,GAAY,KAAK,CAAC;EASpB,QAAA,KAAA,CAAA,kBAAkB,GAAuB,IAAIlE,eAAY,EAAQ,CAAC;EAG3E,QAAA,KAAA,CAAA,eAAe,GAAgC,IAAIA,eAAY,EAAiB,CAAC;EAGjF,QAAA,KAAA,CAAA,UAAU,GAA6B,IAAIA,eAAY,EAAc,CAAC;EAmBtE,QAAA,KAAa,CAAA,aAAA,GAAY,KAAK,CAAC;EAE/B,QAAA,KAAU,CAAA,UAAA,GAAY,KAAK,CAAC;;OAgBlC;EAhFD,IAAA,MAAA,CAAA,cAAA,CACW,oBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADnB,QAAA,GAAA,EAAA,UACoB,KAAc,EAAA;EAC9B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;WAC3B;;;EAAA,KAAA,CAAA,CAAA;EA4CM,IAAA,oBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACW,oBAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EADnB,QAAA,GAAA,EAAA,YAAA;cAEI,OAAO,IAAI,CAAC,MAAM,CAAC;WACtB;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACW,oBAAK,CAAA,SAAA,EAAA,OAAA,EAAA;EADhB,QAAA,GAAA,EAAA,YAAA;EAEI,YAAA,OAAO,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;WACzD;;;EAAA,KAAA,CAAA,CAAA;EAuBD,IAAA,oBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACI,QAAA,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;EAClC,QAAA,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;UACvB,MAAM,CAAA,SAAA,CAAA,WAAW,WAAE,CAAC;OACvB,CAAA;EAEY,IAAA,oBAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;;;kBACT,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE;EACxC,oBAAA,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;EACpC,iBAAA;;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEM,IAAA,oBAAA,CAAA,SAAA,CAAA,cAAc,GAAd,YAAA;UACH,IAAI,CAAC,eAAe,EAAE,CAAC;OAC1B,CAAA;;GAlGL,CAA0C,uBAAuB;;EA5ChE,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,iBAAiB;EAC3B,gBAAA,QAAQ,EAAE,sjEAgCT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACrC,gBAAA,SAAS,EAAE;EACP,oBAAA;EACI,wBAAA,OAAO,EAAE6F,iEAA8C;0BACvD,WAAW,EAAEC,aAAU,CAAC,YAAA,EAAM,OAAA,oBAAoB,CAAA,EAAA,CAAC;EACtD,qBAAA;EACJ,iBAAA;EACJ,aAAA,EAAA,EAAA;;;cA/CO,iBAAiB,EAAA;cALvBH,mBAAgB,EAAA;cAVhBC,2BAAwB,EAAA;;;yBAkErBzF,QAAK,EAAA,CAAA;EAML,IAAA,gBAAA,EAAA,CAAA,EAAA,IAAA,EAAA4F,eAAY,SAAC,kBAAkB,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,EAAA,EAAA,CAAA;EAI/C,IAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAA9F,YAAS,SAAC,WAAW,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,EAAA,EAAA,CAAA;sBAIrCE,QAAK,EAAA,CAAA;yBAGLA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;2BAGLA,QAAK,EAAA,CAAA;4BAILA,QAAK,EAAA,CAAA;wCAGLA,QAAK,EAAA,CAAA;yBAGLA,QAAK,EAAA,CAAA;mCAGLC,SAAM,EAAA,CAAA;gCAGNA,SAAM,EAAA,CAAA;2BAGNA,SAAM,EAAA,CAAA;EAIN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,uBAAuB,EAAA,EAAA,CAAA;EAKnC,IAAA,QAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,cAAW,SAAC,gBAAgB,EAAA,EAAA,CAAA;EAK5B,IAAA,KAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,cAAW,SAAC,aAAa,EAAA,EAAA,CAAA;EAOzB,IAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,cAAW,SAAC,gBAAgB,EAAA,EAAA,CAAA;;EAtC7B,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACoB,EAAA,oBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAGnC,UAAA,CAAA;EADU,IAAA,YAAY,EAAE;GACY,EAAA,oBAAA,CAAA,SAAA,EAAA,aAAA,EAAA,KAAA,CAAA,CAAA;;EC7FxC,IAAA,iBAAA,kBAAA,YAAA;MACI,SACW,iBAAA,CAAA,OAAoB,EACpB,SAAwB,EAAA;EADxB,QAAA,IAAO,CAAA,OAAA,GAAP,OAAO,CAAa;EACpB,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAe;OAClC;MACJ,OAAA,iBAAA,CAAA;EAAA,CAAA,EAAA,CAAA;;ECCD;;EAEG;AAIH,MAAA,eAAA,kBAAA,YAAA;EAmDI,IAAA,SAAA,eAAA,GAAA;UAAA,IACC,KAAA,GAAA,IAAA,CAAA;EA3CM,QAAA,IAAA,CAAA,IAAI,GAAyB,IAAIkC,YAAO,EAAe,CAAC;EACxD,QAAA,IAAA,CAAA,IAAI,GAAyB,IAAIA,YAAO,EAAe,CAAC;;EAIvD,QAAA,IAAW,CAAA,WAAA,GAAwB,EAAE,CAAC;EAEtC,QAAA,IAAmB,CAAA,mBAAA,GAAwB,EAAE,CAAC;;EAK9C,QAAA,IAAY,CAAA,YAAA,GAAU,EAAE,CAAC;EACzB,QAAA,IAAW,CAAA,WAAA,GAAY,KAAK,CAAC;EAS7B,QAAA,IAAa,CAAA,aAAA,GAAW,CAAC,CAAC;EAY1B,QAAA,IAAU,CAAA,UAAA,GAAW,CAAC,CAAC;EACvB,QAAA,IAAS,CAAA,SAAA,GAAW,CAAC,CAAC;EAEtB,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;EAE5B,QAAA,IAAqB,CAAA,qBAAA,GAAQ,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;EAC1C,QAAA,IAAmB,CAAA,mBAAA,GAAQ,EAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC;;EAqQxC,QAAA,IAAA,CAAA,gBAAgB,GAAa,UAAC,KAAiB,EAAA;cACnD,KAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;cAC7C,KAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;EAC7C,YAAA,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,EAAE;kBACvD,OAAO;EACV,aAAA;EACD,YAAA,IAAM,OAAO,GAAQ,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;cACpE,IAAM,WAAW,GAA6B,KAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;cAC3F,IAAI,CAAC,WAAW,EAAE;kBACd,OAAO;EACV,aAAA;EACD,YAAA,IAAI,KAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE;kBAChE,OAAO;EACV,aAAA;EACD,YAAA,KAAI,CAAC,YAAY,GAAG,WAAW,CAAC;cAChC,KAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC,SAAS,CAAC,OAAO,CAAC;EACtD,YAAA,IAAM,MAAM,GAAQ,KAAI,CAAC,UAAU,EAAE,CAAC;EACtC,YAAA,KAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC;EACzD,YAAA,KAAI,CAAC,mBAAmB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC;EACxD,YAAA,KAAI,CAAC,UAAU,GAAG,IAAI,CAAC;cACvB,KAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAI,CAAC,gBAAgB,CAAC,CAAC;cACxE,KAAI,CAAC,aAAa,EAAE,CAAC;EACzB,SAAC,CAAA;EAEO,QAAA,IAAA,CAAA,cAAc,GAAa,UAAC,KAAiB,EAAA;EACjD,YAAA,KAAI,CAAC,UAAU,GAAG,KAAK,CAAC;EACxB,YAAA,KAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;cAC/E,KAAI,CAAC,aAAa,EAAE,CAAC;cAErB,IAAI,KAAI,CAAC,WAAW,EAAE;kBAClB,KAAI,CAAC,QAAQ,EAAE,CAAC;EACnB,aAAA;EACL,SAAC,CAAA;EAEO,QAAA,IAAA,CAAA,gBAAgB,GAAa,UAAC,KAAiB,EAAA;;EAEnD,YAAA,IAAI,CAAC,KAAI,CAAC,YAAY,EAAE;kBACpB,OAAO;EACV,aAAA;;cAED,IAAI,CAAC,KAAI,CAAC,UAAU,KAAK,KAAI,CAAC,qBAAqB,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,IAAI,KAAI,CAAC,qBAAqB,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,CAAC,EAAE;kBACxH,OAAO;EACV,aAAA;EACD,YAAA,KAAI,CAAC,WAAW,GAAG,IAAI,CAAC;cACxB,KAAI,CAAC,UAAU,EAAE,CAAC;EAClB,YAAA,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;cAClB,KAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;cAC7C,KAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;EACjD,SAAC,CAAA;OAlTA;EAnDD,IAAA,MAAA,CAAA,cAAA,CAAW,eAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAAnB,QAAA,GAAA,EAAA,UAAoB,KAAgB,EAAA;EAChC,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;cACvB,IAAI,CAAC,UAAU,EAAE,CAAC;WACrB;;;EAAA,KAAA,CAAA,CAAA;EA6BD,IAAA,MAAA,CAAA,cAAA,CAAY,eAAS,CAAA,SAAA,EAAA,WAAA,EAAA;EAArB,QAAA,GAAA,EAAA,UAAsB,KAAa,EAAA;EAC/B,YAAA,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;cACxB,IAAI,CAAC,mBAAmB,EAAE,CAAC;WAC9B;;;EAAA,KAAA,CAAA,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CAAY,eAAQ,CAAA,SAAA,EAAA,UAAA,EAAA;EAApB,QAAA,GAAA,EAAA,UAAqB,KAAa,EAAA;EAC9B,YAAA,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;cACvB,IAAI,CAAC,mBAAmB,EAAE,CAAC;WAC9B;;;EAAA,KAAA,CAAA,CAAA;EAaD,IAAA,eAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACI,IAAI,CAAC,gBAAgB,EAAE,CAAC;OAC3B,CAAA;MAEM,eAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,SAA4B,EAAA;UAC5C,IAAM,SAAS,GACX,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,aAAa,KAAK,KAAK,IAAI,gBAAgB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,KAAK,MAAM;gBAChHyD,gCAAa,CAAC,UAAU;EAC1B,cAAEA,gCAAa,CAAC,QAAQ,CAAC;EACjC,QAAA,SAAS,CAAC,SAAS,GAAG,SAAS,CAAC;EAChC,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;OACpC,CAAA;MAEM,eAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,MAAW,EAAA;EAC5B,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;OAClC,CAAA;MAEM,eAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,SAA4B,EAAA;UAC/C,UAAU,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;UACtD,UAAU,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;EAC9D,QAAA,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;cACpD,IAAI,CAAC,gBAAgB,EAAE,CAAC;EAC3B,SAAA;OACJ,CAAA;MAEM,eAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,MAAW,EAAA;UAC/B,UAAU,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;OACvD,CAAA;MAEM,eAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,SAA4B,EAAA;UAC/C,UAAU,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;OACjE,CAAA;MAEM,eAAgB,CAAA,SAAA,CAAA,gBAAA,GAAhB,UAAiB,SAA4B,EAAA;EAChD,QAAA,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;OAC5C,CAAA;EAEO,IAAA,eAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,YAAA;EACJ,QAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC;EAC3E,QAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;OAClF,CAAA;EAEO,IAAA,eAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;EACJ,QAAA,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;UACxE,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;OACvE,CAAA;EAEO,IAAA,eAAA,CAAA,SAAA,CAAA,gBAAgB,GAAhB,UAAiB,OAAY,EAAE,YAAoB,EAAA;EACvD,QAAA,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;cACjB,OAAO;EACV,SAAA;UACD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;OAClD,CAAA;MAEO,eAAoB,CAAA,SAAA,CAAA,oBAAA,GAApB,UAAqB,OAAY,EAAE,KAAa,EAAE,OAAY,EAAE,GAAmB,EAAA;EAAnB,QAAA,IAAA,GAAA,KAAA,KAAA,CAAA,EAAA,EAAA,GAAmB,GAAA,IAAA,CAAA,EAAA;EACvF,QAAA,IAAI,GAAG,EAAE;EACL,YAAA,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EAC5C,YAAA,OAAO,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EAC5C,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;EAC/C,SAAA;OACJ,CAAA;;MAGO,eAAsB,CAAA,SAAA,CAAA,sBAAA,GAAtB,UAAuB,OAAoB,EAAA;EAC/C,QAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,IAAI,GAAW,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;cAC3E,IAAM,SAAS,GAAsB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;cACzD,KAAK,IAAI,EAAE,GAAW,CAAC,EAAE,IAAI,GAAW,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;kBACxF,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE;EAC5C,oBAAA,OAAO,SAAS,CAAC;EACpB,iBAAA;EACJ,aAAA;EACJ,SAAA;OACJ,CAAA;EAED;;;;EAIG;MACK,eAAsB,CAAA,SAAA,CAAA,sBAAA,GAAtB,UAAuB,OAAY,EAAA;EACvC,QAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,IAAI,GAAW,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,EAAE;cAC3E,IAAM,SAAS,GAAsB,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;cACzD,KAAK,IAAI,EAAE,GAAW,CAAC,EAAE,IAAI,GAAW,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,EAAE;kBACxF,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,OAAO,EAAE;EAC5C,oBAAA,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAC,CAAC;EACnE,iBAAA;EACJ,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,EAAC,CAAC;OACrE,CAAA;EAED;;;;EAIG;MACK,eAA0B,CAAA,SAAA,CAAA,0BAAA,GAA1B,UAA2B,OAAoB,EAAA;UACnD,IAAM,SAAS,GAAsB,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;UAC1E,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;cACnF,IAAI,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;EAC3C,gBAAA,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,GAAG,EAAC,SAAS,EAAE,SAAS,EAAE,OAAO,EAAe,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAC,GAAG,IAAI,CAAC;EAChI,aAAA;EACJ,SAAA;OACJ,CAAA;MAEO,eAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,OAAY,EAAA;EACtC,QAAA,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;EACnD,YAAA,OAAO,OAAO,EAAE;EACZ,gBAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;sBAC1E,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;EAC7E,wBAAA,IAAI,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE;EAClD,4BAAA,OAAO,IAAI,CAAC;EACf,yBAAA;EACJ,qBAAA;EACJ,iBAAA;EACD,gBAAA,OAAO,GAAG,OAAO,CAAC,UAAU,KAAK,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;EACzE,aAAA;EACD,YAAA,OAAO,KAAK,CAAC;EAChB,SAAA;EAAM,aAAA;EACH,YAAA,OAAO,IAAI,CAAC;EACf,SAAA;OACJ,CAAA;;EAGO,IAAA,eAAA,CAAA,SAAA,CAAA,wBAAwB,GAAxB,UAAyB,OAAY,EAAE,WAA4B,EAAA;EAA5B,QAAA,IAAA,WAAA,KAAA,KAAA,CAAA,EAAA,EAAA,WAA4B,GAAA,KAAA,CAAA,EAAA;EACvE,QAAA,IAAI,WAAW,EAAE;cACb,IAAM,kBAAkB,GAAY,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;cACxE,IAAI,CAAC,kBAAkB,EAAE;EACrB,gBAAA,OAAO,SAAS,CAAC;EACpB,aAAA;EACJ,SAAA;EACD,QAAA,OAAO,OAAO,EAAE;cACZ,IAAM,kBAAkB,GAA6B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,CAAC;EAC1F,YAAA,IAAI,kBAAkB,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE;EACpC,gBAAA,OAAO,kBAAkB,CAAC;EAC7B,aAAA;EACD,YAAA,OAAO,GAAG,OAAO,CAAC,UAAU,KAAK,QAAQ,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC;EACzE,SAAA;EACD,QAAA,OAAO,SAAS,CAAC;OACpB,CAAA;MAEO,eAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,OAAoB,EAAA;EACxC,QAAA,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;OACnD,CAAA;;MAGO,eAAQ,CAAA,SAAA,CAAA,QAAA,GAAR,UAAS,OAAY,EAAA;UACzB,IAAM,kBAAkB,GAA6B,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,CAAC;EAChJ,QAAA,OAAO,kBAAkB,GAAG,kBAAkB,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;OAClE,CAAA;;EAGO,IAAA,eAAA,CAAA,SAAA,CAAA,iBAAiB,GAAjB,YAAA;UACJ,IAAI,IAAI,CAAC,eAAe,EAAE;cACtB,OAAO;EACV,SAAA;;EAED,QAAA,IAAM,UAAU,GAAQ,IAAI,CAAC,UAAU,EAAE,CAAC;EAC1C,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;EACjE,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC;EAC3D,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC;EAC7D,QAAA,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC;EACjC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC;UAC/B,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;UAC3D,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;UAC3D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;OACnD,CAAA;EAEO,IAAA,eAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,YAAA;UACJ,IAAI,IAAI,CAAC,eAAe,EAAE;cACtB,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;cAChE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;EAChD,YAAA,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;EACpC,SAAA;OACJ,CAAA;;EAGO,IAAA,eAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;EACJ,QAAA,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;cACvB,OAAO;EACV,SAAA;EACD,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;EACzD,QAAA,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,GAAG,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;OAC1D,CAAA;EAEO,IAAA,eAAA,CAAA,SAAA,CAAA,UAAU,GAAV,UAAW,UAAkB,EAAE,UAAkB,EAAA;EACrD,QAAA,IAAI,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE;EACrC,YAAA,OAAO,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;EAC7C,SAAA;EACD,QAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;OACpC,CAAA;EAEO,IAAA,eAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;UACJ,IAAM,IAAI,GAAe,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC;UAC3E,IAAM,UAAU,GAAW,CAAC,CAAC;UAC7B,IAAM,SAAS,GAAW,CAAC,CAAC;UAC5B,OAAO;cACH,MAAM,EAAE,IAAI,CAAC,MAAM;cACnB,MAAM,EAAE,IAAI,CAAC,MAAM;EACnB,YAAA,IAAI,EAAE,IAAI,CAAC,IAAI,GAAG,UAAU;cAC5B,KAAK,EAAE,IAAI,CAAC,KAAK;EACjB,YAAA,GAAG,EAAE,IAAI,CAAC,GAAG,GAAG,SAAS;cACzB,KAAK,EAAE,IAAI,CAAC,KAAK;WACpB,CAAC;OACL,CAAA;EAEO,IAAA,eAAA,CAAA,SAAA,CAAA,oBAAoB,GAApB,UAAqB,OAAY,EAAE,CAAS,EAAE,CAAS,EAAA;UAC3D,IAAM,WAAW,GAA6B,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;EACrF,QAAA,IAAI,WAAW,EAAE;cACb,IAAI,WAAW,CAAC,OAAO,KAAK,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;EACnD,gBAAA,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;kBACtC,OAAO;EACV,aAAA;EACJ,SAAA;EACD,QAAA,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;OAClC,CAAA;EAED;;;;;EAKG;EACK,IAAA,eAAA,CAAA,SAAA,CAAA,kBAAkB,GAAlB,UAAmB,CAAS,EAAE,CAAS,EAAA;UAC3C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;UAChE,IAAM,GAAG,GAAQ,QAAQ,CAAC,gBAAgB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UACjD,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;EACrE,QAAA,OAAO,GAAG,CAAC;OACd,CAAA;MAEO,eAAkB,CAAA,SAAA,CAAA,kBAAA,GAAlB,UAAmB,OAAY,EAAE,cAA4B,EAAE,KAAmB,EAAE,GAAiB,EAAA;EAApE,QAAA,IAAA,cAAA,KAAA,KAAA,CAAA,EAAA,EAAA,cAA4B,GAAA,GAAA,CAAA,EAAA;EAAE,QAAA,IAAA,KAAA,KAAA,KAAA,CAAA,EAAA,EAAA,KAAmB,GAAA,GAAA,CAAA,EAAA;EAAE,QAAA,IAAA,GAAA,KAAA,KAAA,CAAA,EAAA,EAAA,GAAiB,GAAA,GAAA,CAAA,EAAA;UACzG,IAAI,CAAC,OAAO,EAAE;cACV,OAAO;EACV,SAAA;EACD,QAAA,IAAM,eAAe,GAAW,UAAU,GAAG,cAAc,GAAG,eAAe,CAAC;EAC9E,QAAA,IAAM,UAAU,GAAW,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;UACpD,OAAO,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,IAAI,UAAU,GAAG,GAAG,GAAG,EAAE,CAAC,GAAG,eAAe,CAAC;EAClF,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;EAC9B,QAAA,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;EAC5B,QAAA,OAAO,IAAI,OAAO,CAAO,UAAC,OAAiB,EAAA;EACvC,YAAA,UAAU,CAAC,YAAA;EACP,gBAAA,OAAO,EAAE,CAAC;EACd,aAAC,EAAE,cAAc,GAAG,IAAI,CAAC,CAAC;EAC9B,SAAC,CAAC,CAAC;OACN,CAAA;MAEO,eAAY,CAAA,SAAA,CAAA,YAAA,GAAZ,UAAa,MAAmB,EAAE,WAAqC,EAAE,iBAA2C,EAAE,IAAa,EAAA;UACvI,IAAI,IAAI,EAAE;cACN,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;EACvE,SAAA;EAAM,aAAA;EACH,YAAA,MAAM,CAAC,YAAY,CAAC,WAAW,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;EACnF,SAAA;OACJ,CAAA;EAqDO,IAAA,eAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;UACJ,IAAI,CAAC,iBAAiB,EAAE,CAAC;UACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;OAClE,CAAA;MAEO,eAAK,CAAA,SAAA,CAAA,KAAA,GAAL,UAAM,KAAiB,EAAA;EAC3B,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;EAClF,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;EAEhF,QAAA,IAAM,CAAC,GAAW,KAAK,CAAC,OAAO,CAAC;EAChC,QAAA,IAAM,CAAC,GAAW,KAAK,CAAC,OAAO,CAAC;UAChC,IAAM,cAAc,GAAQ,IAAI,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;UAC1D,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;UAChD,IAAI,IAAI,CAAC,kBAAkB,EAAE;cACzB,IAAM,IAAI,GACN,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,KAAKA,gCAAa,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC;mBACtH,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,SAAS,KAAKA,gCAAa,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;cAC/H,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;EAC/G,YAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;kBACX,OAAO,EAAE,IAAI,CAAC,YAAY;EAC1B,gBAAA,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;EAC1C,gBAAA,MAAM,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,OAAO;EACpD,aAAA,CAAC,CAAC;EACH,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC;EAClD,SAAA;OACJ,CAAA;;EAGO,IAAA,eAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;EACJ,QAAA,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;UACpE,IAAI,CAAC,kBAAkB,EAAE,CAAC;EAC1B,QAAA,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;EACX,YAAA,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,OAAO;EAClC,YAAA,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,UAAU;EAC1C,YAAA,MAAM,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,GAAG,IAAI;EAClE,YAAA,WAAW,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,GAAG,CAAC,CAAC;EACxE,YAAA,SAAS,EAAE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,IAAI;EAC1E,SAAA,CAAC,CAAC;UACH,IAAI,CAAC,UAAU,EAAE,CAAC;OACrB,CAAA;EAEO,IAAA,eAAA,CAAA,SAAA,CAAA,UAAU,GAAV,YAAA;EACJ,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;EACzB,QAAA,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;EAC7B,QAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;EAC5B,QAAA,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;OAC5B,CAAA;;;;;EAzZJ,IAAA,EAAA,IAAA,EAAAtF,aAAU,EAAC,IAAA,EAAA,CAAA;EACV,gBAAA,UAAU,EAAE,MAAM;EACnB,aAAA,EAAA,EAAA;;;;ACQD,MAAA,0BAAA,kBAAA,YAAA;EAoCI,IAAA,SAAA,0BAAA,CAAoB,WAAuB,EAAU,SAAoB,EAAU,gBAAiC,EAAA;EAAhG,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;EAAU,QAAA,IAAS,CAAA,SAAA,GAAT,SAAS,CAAW;EAAU,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAiB;EA1B7G,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;EAQnC;;EAEG;EAEI,QAAA,IAAU,CAAA,UAAA,GAAW,EAAE,CAAC;;EAIxB,QAAA,IAAA,CAAA,aAAa,GAAwB,IAAIpB,eAAY,EAAS,CAAC;EAG/D,QAAA,IAAS,CAAA,SAAA,GAAY,IAAI,CAAC;EAGzB,QAAA,IAAQ,CAAA,QAAA,GAAY,IAAI,CAAC;EAEzB,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;UAGlC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;EAChD,QAAA,IAAI,CAAC,UAAU,GAAG,IAAI,iBAAiB,CAAC,WAAW,CAAC,aAAa,EAAE0G,gCAAa,CAAC,QAAQ,CAAC,CAAC;OAC9F;EA3BD,IAAA,MAAA,CAAA,cAAA,CACW,0BAAO,CAAA,SAAA,EAAA,SAAA,EAAA;EADlB,QAAA,GAAA,EAAA,UACmB,KAAc,EAAA;EAC7B,YAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;cACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;WAC9B;;;EAAA,KAAA,CAAA,CAAA;EAyBD,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;EACI,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;UACzB,IAAI,CAAC,eAAe,EAAE,CAAC;UACvB,IAAI,IAAI,CAAC,YAAY,EAAE;cACnB,IAAI,CAAC,6BAA6B,EAAE,CAAC;EACxC,SAAA;OACJ,CAAA;EAED;;EAEG;EACH,IAAA,0BAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACI,IAAI,CAAC,eAAe,EAAE,CAAC;EACvB,QAAA,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;OAChC,CAAA;EAEM,IAAA,0BAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;EACH,QAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;cACpB,OAAO;EACV,SAAA;UACD,IAAI,IAAI,CAAC,QAAQ,EAAE;cACf,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;cACvD,IAAI,CAAC,eAAe,EAAE,CAAC;EAC1B,SAAA;EAAM,aAAA;cACH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;cACxD,IAAI,CAAC,eAAe,EAAE,CAAC;EACvB,YAAA,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;EAC7B,SAAA;OACJ,CAAA;EAEO,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UAAA,IASP,KAAA,GAAA,IAAA,CAAA;UARG,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;UACpD,IAAI,CAAC,gBAAgB,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EACrD,QAAA,IAAI,IAAI,CAAC,UAAU,EAAE;EACjB,YAAA,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAC,KAAkB,EAAA;EAC3E,gBAAA,KAAI,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;EAC9E,aAAC,CAAC,CAAC;EACN,SAAA;EACD,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;OAC5B,CAAA;EAEO,IAAA,0BAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACJ,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;UACvD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;UACxD,IAAI,IAAI,CAAC,eAAe,EAAE;EACtB,YAAA,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;EACtC,SAAA;OACJ,CAAA;EAEO,IAAA,0BAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,UAAa,SAA4B,EAAE,QAAgB,EAAE,QAAgB,EAAA;EACjF,QAAA,IAAI,SAAS,KAAK,IAAI,CAAC,UAAU,EAAE;cAC/B,OAAO;EACV,SAAA;EACD,QAAA,IAAI,QAAQ,KAAK,CAAC,CAAC,EAAE;EACjB,YAAA,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC;EACvC,SAAA;EACD,QAAAC,qBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;UACjF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;OAC9C,CAAA;EAEO,IAAA,0BAAA,CAAA,SAAA,CAAA,6BAA6B,GAA7B,YAAA;UACJ,IAAI,IAAI,CAAC,QAAQ,EAAE;cACf,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAC1D,SAAA;EAAM,aAAA;cACH,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;EAC3D,SAAA;OACJ,CAAA;;;;EA9GJ,IAAA,EAAA,IAAA,EAAApB,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,qBAAqB;EAChC,aAAA,EAAA,EAAA;;;cApBC3E,aAAU,EAAA;cAKVoE,YAAS,EAAA;cAWH,eAAe,EAAA;;;6BAUlBnE,QAAK,EAAA,CAAA;2BAGLA,QAAK,EAAA,CAAA;wBAILA,QAAK,EAAA,CAAA;2BASLA,QAAK,EAAA,CAAA;8BAILC,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,8BAA8B,EAAA,EAAA,CAAA;;EAlB3C,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACoB,EAAA,0BAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;;ACdvC,MAAA,qBAAA,kBAAA,YAAA;EAfA,IAAA,SAAA,qBAAA,GAAA;;EAsBS,QAAA,IAAK,CAAA,KAAA,GAAW,UAAU,CAAC;OAgBnC;EAbQ,IAAA,qBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;;;;EA3BF,IAAA,EAAA,IAAA,EAAAX,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,kBAAkB;EAC5B,gBAAA,QAAQ,EAAE,8OAMT;EACD,gBAAA,SAAS,EAAE,CAAC;EACV,wBAAA,OAAO,EAAEmG,iEAA8C;0BACvD,WAAW,EAAEC,aAAU,CAAC,YAAA,EAAM,OAAA,qBAAqB,CAAA,EAAA,CAAC;EAAC,qBAAA;EACtD,iBAAA;kBACD,aAAa,EAAE9F,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;sBAGEG,QAAK,EAAA,CAAA;sBAILA,QAAK,EAAA,CAAA;EAGL,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAE,cAAW,SAAC,wBAAwB,EAAA,EAAA,CAAA;EAMpC,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,cAAW,SAAC,6BAA6B,EAAA,EAAA,CAAA;;;ACd5C,MAAA,kBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,kBAAA,GAAA;;;;;EAbC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACN,gBAAA,OAAO,EAAE;sBACL2F,kDAA+B;sBAC/B1F,mBAAY;sBACZ,kBAAkB;EACrB,iBAAA;EACH,gBAAA,YAAY,EAAE;sBACZ,qBAAqB;EACtB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,qBAAqB;EACtB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ECcD;AACA,MAAA,mBAAA,kBAAA,YAAA;EA8FI,IAAA,SAAA,mBAAA,CACY,cAA6B,EAC7B,gBAAmC,EACpC,WAA6B,EAAA;EAF5B,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAAe;EAC7B,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAmB;EACpC,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAkB;EAhGxB,QAAA,IAAK,CAAA,KAAA,GAAgB2B,cAAI,CAAC;;EAwBnC,QAAA,IAAI,CAAA,IAAA,GAAY,KAAK,CAAC;EAGtB,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;;EAK1B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;;;EAM9B,QAAA,IAAuB,CAAA,uBAAA,GAAY,IAAI,CAAC;EAIxC,QAAA,IAAU,CAAA,UAAA,GAAY,KAAK,CAAC;;EAiB5B,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;;EAI9B,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;EAG3B,QAAA,IAAgB,CAAA,gBAAA,GAAY,KAAK,CAAC;EAGlC,QAAA,IAAA,CAAA,WAAW,GAAsB,IAAI7C,eAAY,EAAO,CAAC;EAGzD,QAAA,IAAA,CAAA,SAAS,GAA6B,IAAIA,eAAY,EAAc,CAAC;EAGrE,QAAA,IAAA,CAAA,UAAU,GAA6B,IAAIA,eAAY,EAAc,CAAC;EAYtE,QAAA,IAAY,CAAA,YAAA,GAAW,EAAE,CAAC;EAIzB,QAAA,IAAM,CAAA,MAAA,GAAW,EAAE,CAAC;OAQ3B;EA7FD,IAAA,MAAA,CAAA,cAAA,CACW,mBAAI,CAAA,SAAA,EAAA,MAAA,EAAA;EAOf,QAAA,GAAA,EAAA,YAAA;cACI,OAAO,IAAI,CAAC,KAAK,CAAC;WACrB;;EAVD,QAAA,GAAA,EAAA,UACgB,QAAoB,EAAA;EAChC,YAAA,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC;cACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;;cAE3B,IAAI,CAAC,6BAA6B,EAAE,CAAC;WACxC;;;EAAA,KAAA,CAAA,CAAA;EAgCD,IAAA,MAAA,CAAA,cAAA,CACI,mBAAK,CAAA,SAAA,EAAA,OAAA,EAAA;EAIT,QAAA,GAAA,EAAA,YAAA;cACI,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;EACtC,gBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;EACjC,aAAA;EAAM,iBAAA;kBACH,OAAO,IAAI,CAAC,MAAM,CAAC;EACtB,aAAA;WACJ;EAXD,QAAA,GAAA,EAAA,UACU,KAAa,EAAA;EACnB,YAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;WACvB;;;EAAA,KAAA,CAAA,CAAA;EA+BM,IAAA,mBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CACW,mBAAM,CAAA,SAAA,EAAA,QAAA,EAAA;EADjB,QAAA,GAAA,EAAA,YAAA;cAEI,OAAO,IAAI,CAAC,IAAI,CAAC;WACpB;;;EAAA,KAAA,CAAA,CAAA;EAgBD,IAAA,mBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;UACI,IAAI,IAAI,CAAC,iBAAiB,EAAE;EACxB,YAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;EACxC,SAAA;OACJ,CAAA;EAEM,IAAA,mBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;EACH,QAAA,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;OAC3B,CAAA;EAEa,IAAA,mBAAA,CAAA,SAAA,CAAA,YAAY,GAAZ,YAAA;;;kBACV,IAAI,IAAI,CAAC,YAAY,EAAE;sBACnB,OAAO,CAAA,CAAA,YAAA,CAAA;EACV,iBAAA;kBACD,IAAI,IAAI,CAAC,gBAAgB,EAAE;sBACvB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;sBACjC,OAAO,CAAA,CAAA,YAAA,CAAA;EACV,iBAAA;;;EAGD,gBAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE;;EAE7B,iBAAA;kBACD,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE;EAC9B,oBAAA,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;EAC7E,iBAAA;EAAM,qBAAA;sBACH,IAAI;;EAEH,qBAAA;EAAC,oBAAA,OAAO,CAAC,EAAE;EAEX,qBAAA;EACJ,iBAAA;;;EACJ,SAAA,CAAA,CAAA;OAAA,CAAA;EAEY,IAAA,mBAAA,CAAA,SAAA,CAAA,aAAa,GAAb,YAAA;;;;;kBAET,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,IAAI,CAAC,uBAAuB,EAAE;EAChD,oBAAA,SAAiB,SAAA,CAAC;EACtB,oBAAA,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;EACtB,wBAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;EACpC,qBAAA;;;;;EAKJ,iBAAA;kBAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;;;EACnC,SAAA,CAAA,CAAA;OAAA,CAAA;;EAGO,IAAA,mBAAA,CAAA,SAAA,CAAA,6BAA6B,GAA7B,YAAA;UAAA,IAWP,KAAA,GAAA,IAAA,CAAA;UAVG,IAAI,IAAI,CAAC,KAAK,EAAE;cACZ,IAAI,IAAI,CAAC,iBAAiB,EAAE;EACxB,gBAAA,IAAI,CAAC,iBAAiB,CAAC,WAAW,EAAE,CAAC;EACxC,aAAA;;cAGH,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,SAAS,CAAC,YAAA;kBAC3D,KAAI,CAAC,mBAAmB,EAAE,CAAC;EAC/B,aAAC,CAAC,CAAC;EACN,SAAA;OACJ,CAAA;EAEO,IAAA,mBAAA,CAAA,SAAA,CAAA,mBAAmB,GAAnB,YAAA;UACJ,IAAI,IAAI,CAAC,KAAK,EAAE;EACZ,YAAA,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE;kBAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC;EACrD,gBAAA,IAAI,IAAI,CAAC,YAAY,KAAK,EAAE,EAAE;;;;EAI7B,iBAAA;EACJ,aAAA;EAAM,iBAAA;EACH,gBAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;EACnF,aAAA;EACJ,SAAA;OACJ,CAAA;;;;EAlMJ,IAAA,EAAA,IAAA,EAAAI,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,gBAAgB;EAC1B,gBAAA,QAAQ,EAAE,suBAST;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACxC,aAAA,EAAA,EAAA;;;cArBsBuF,gCAAa,EAAA;cAI5B,iBAAiB,EAAA;cACjB,gBAAgB,EAAA;;;EAqBnB,IAAA,IAAA,EAAA,CAAA,EAAA,IAAA,EAAAtF,YAAS,SAACuF,gCAAa,EAAA,EAAA,CAAA;qBAIvBrF,QAAK,EAAA,CAAA;qBAaLA,QAAK,EAAA,CAAA;qBAILA,QAAK,EAAA,CAAA;yBAGLA,QAAK,EAAA,CAAA;6BAILA,QAAK,EAAA,CAAA;wCAMLA,QAAK,EAAA,CAAA;2BAILA,QAAK,EAAA,CAAA;sBAILA,QAAK,EAAA,CAAA;6BAcLA,QAAK,EAAA,CAAA;0BAILA,QAAK,EAAA,CAAA;iCAGLA,QAAK,EAAA,CAAA;4BAGLC,SAAM,EAAA,CAAA;0BAGNA,SAAM,EAAA,CAAA;2BAGNA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,sBAAsB,EAAA,EAAA,CAAA;EAKlC,IAAA,MAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,cAAW,SAAC,YAAY,EAAA,EAAA,CAAA;;EAlDzB,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACsB,EAAA,mBAAA,CAAA,SAAA,EAAA,cAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAMrC,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACgC,EAAA,mBAAA,CAAA,SAAA,EAAA,yBAAA,EAAA,KAAA,CAAA,CAAA,CAAA;EAI/C,UAAA,CAAA;EADC,IAAA,YAAY,EAAE;GACoB,EAAA,mBAAA,CAAA,SAAA,EAAA,YAAA,EAAA,KAAA,CAAA,CAAA;;EC5EvC;EACA,IAAY,YAGX,CAAA;EAHD,CAAA,UAAY,YAAY,EAAA;MACpB,YAAA,CAAA,YAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;MACL,YAAA,CAAA,YAAA,CAAA,OAAA,CAAA,GAAA,CAAA,CAAA,GAAA,OAAK,CAAA;EACT,CAAC,EAHW,YAAY,KAAZ,YAAY,GAGvB,EAAA,CAAA,CAAA;;ECiCD;;;EAGG;AACH,MAAA,mBAAA,kBAAA,YAAA;EAwEI,IAAA,SAAA,mBAAA,CAAmB,gBAAkC,EAAA;EAAlC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EAvErC,QAAA,IAAK,CAAA,KAAA,GAAgB8B,cAAI,CAAC;;EAuBnC,QAAA,IAAA,CAAA,QAAQ,GAAiB,YAAY,CAAC,KAAK,CAAC;;EAY5C,QAAA,IAAgB,CAAA,gBAAA,GAAW,OAAO,CAAC;;EAgBnC,QAAA,IAAA,CAAA,UAAU,GAAsB,IAAI7C,eAAY,EAAO,CAAC;;EAIxD,QAAA,IAAA,CAAA,SAAS,GAAsB,IAAIA,eAAY,EAAO,CAAC;EAsB7C,QAAA,IAAI,CAAA,IAAA,GAAG6C,cAAI,CAAC;OAL5B;EAfD,IAAA,MAAA,CAAA,cAAA,CACW,mBAAe,CAAA,SAAA,EAAA,iBAAA,EAAA;EAD1B,QAAA,GAAA,EAAA,YAAA;EAEI,YAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,KAAK,CAAC;WAC/C;;;EAAA,KAAA,CAAA,CAAA;EAGM,IAAA,mBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAED,IAAA,MAAA,CAAA,cAAA,CAAW,mBAAe,CAAA,SAAA,EAAA,iBAAA,EAAA;EAA1B,QAAA,GAAA,EAAA,YAAA;EACE,YAAA,OAAO,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC,KAAK,CAAC;WAC7C;;;EAAA,KAAA,CAAA,CAAA;EAID,IAAA,mBAAA,CAAA,SAAA,CAAA,WAAW,GAAX,YAAA;EACI,QAAA,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;OACjC,CAAA;;;;EAtGJ,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,gBAAgB;EAC1B,gBAAA,QAAQ,EAAE,y/BAiBT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACxC,aAAA,EAAA,EAAA;;;cAvBO,gBAAgB,EAAA;;;EA+BnB,IAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA+F,eAAY,SAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAA,EAAA,CAAA;6BAI7C5F,QAAK,EAAA,CAAA;+BAILA,QAAK,EAAA,CAAA;sBAILA,QAAK,EAAA,CAAA;4BAILA,QAAK,EAAA,CAAA;yBAILA,QAAK,EAAA,CAAA;sBAILA,QAAK,EAAA,CAAA;0BAILA,QAAK,EAAA,CAAA;iCAILA,QAAK,EAAA,CAAA;4CAOLA,QAAK,EAAA,CAAA;yBAILA,QAAK,EAAA,EAAA,EAAA,IAAA,EACLE,cAAW,EAAA,IAAA,EAAA,CAAC,gBAAgB,EAAA,EAAA,CAAA;2BAI5BD,SAAM,EAAA,CAAA;0BAINA,SAAM,EAAA,CAAA;EAGN,IAAA,eAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,kBAAkB,EAAA,EAAA,CAAA;EAK9B,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAA,cAAW,SAAC,sBAAsB,EAAA,EAAA,CAAA;;;ACjFvC,MAAA,gBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gBAAA,GAAA;;;;;EAjBC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACP,kBAAkB;sBAClBC,mBAAY;sBACZoC,6BAAU;sBACVkB,8BAAW;sBACXqC,wCAAqB;EACtB,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,mBAAmB;EACpB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,mBAAmB;EACpB,iBAAA;EACD,gBAAA,SAAS,EAAE,EACV;EACF,aAAA,EAAA,EAAA;;;ACCD,MAAA,gBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,gBAAA,GAAA;;;;;EAhBC,IAAA,EAAA,IAAA,EAAA5F,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPqC,6BAAU;sBACV,gBAAgB;sBAChBpC,mBAAY;sBACZuC,+BAAY;EACb,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,mBAAmB;EACpB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,mBAAmB;EACpB,iBAAA;EACD,gBAAA,SAAS,EAAE,EACV;EACF,aAAA,EAAA,EAAA;;;EChBD;EACA,IAAA,SAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,SAAA,GAAA;OAgIC;;MA9HiB,SAAiB,CAAA,iBAAA,GAAxB,UAAyB,KAAU,EAAA;UACtC,IAAM,OAAO,GAAU,EAAE,CAAC;UAE1B,IAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EAC1C,QAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;cAC7D,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;EAChC,SAAA;EAED,QAAA,OAAO,OAAO,CAAC;OAClB,CAAA;EAED;;;;EAIG;MACW,SAAwB,CAAA,wBAAA,GAA/B,UAAgC,KAAU,EAAA;EAC7C,QAAA,OAAO,wBAAwB,CAAC,KAAK,CAAC,CAAC;OAC1C,CAAA;;MAGa,SAAmB,CAAA,mBAAA,GAA1B,UAA2B,eAAoB,EAAA;UAClD,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAC;OAC1F,CAAA;;MAGa,SAAmB,CAAA,mBAAA,GAA1B,UAA2B,eAAoB,EAAA;UAClD,OAAO,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA,EAAA,CAAC,CAAC;OAC1F,CAAA;MAEa,SAAY,CAAA,YAAA,GAAnB,UAAoB,eAAoB,EAAA;UAC3C,OAAO,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,UAAA,GAAG,EAAI,EAAA,OAAA,eAAe,CAAC,GAAG,CAAC,CAApB,EAAoB,CAAC,CAAC;OACxE,CAAA;EAED;;;;;;;;EAQG;MACW,SAAoB,CAAA,oBAAA,GAA3B,UAA4B,SAAc,EAAA;;UAE7C,IAAM,eAAe,GAAmB,EAAE,CAAC;EAE3C,QAAA,KAAK,IAAM,QAAQ,IAAI,SAAS,EAAE;EAC9B,YAAA,IAAI,OAAO,SAAS,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE;EACzC,gBAAA,eAAe,CAAC,IAAI,CAAC,EAAC,GAAG,EAAU,SAAS,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAC,CAAC,CAAC;EAC7E,aAAA;EACJ,SAAA;EAED,QAAA,OAAO,eAAe,CAAC;OAC1B,CAAA;MAEa,SAAsB,CAAA,sBAAA,GAA7B,UAA8B,QAAgB,EAAA;UACjD,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EACtC,QAAA,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE;EAChC,YAAA,OAAO,OAAO,CAAC;EAClB,SAAA;UAED,IAAM,IAAI,GAAa,EAAE,CAAC;EAC1B,QAAA,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAA;cACd,IAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;EACpC,YAAA,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;EAC3B,gBAAA,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;EAChB,aAAA;EACL,SAAC,CAAC,CAAC;EACH,QAAA,OAAO,IAAI,CAAC;OACf,CAAA;EAEc,IAAA,SAAA,CAAA,wCAAwC,GAAhD,UAAiD,SAAc,EAAE,UAA6B,EAAE,iBAAkC,EAAA;EAAlC,QAAA,IAAA,iBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,iBAAkC,GAAA,KAAA,CAAA,EAAA;EACrI,QAAA,OAAO,IAAI,OAAO,CAAC,UAAC,OAAO,EAAE,MAAM,EAAA;cAC/B,IAAI;EACA,gBAAA,OAAO,CAAC,SAAS,CAAC,iCAAiC,CAAC,SAAS,EAAE,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;EAClG,aAAA;EAAC,YAAA,OAAO,CAAC,EAAE;EACR,gBAAA,MAAM,EAAE,CAAC;EACZ,aAAA;EACL,SAAC,CAAC,CAAC;OACN,CAAA;EAEa,IAAA,SAAA,CAAA,iCAAiC,GAAxC,UAAyC,SAAc,EAAE,UAA6B,EAAE,iBAAkC,EAAA;EAAlC,QAAA,IAAA,iBAAA,KAAA,KAAA,CAAA,EAAA,EAAA,iBAAkC,GAAA,KAAA,CAAA,EAAA;UAC7H,IAAM,UAAU,GAAoB,EAAE,CAAC;EAEvC,QAAA,IAAI,iBAAiB,EAAE;cACnB,IAAM,QAAQ,GAAa,SAAS,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;EACvE,YAAA,QAAQ,CAAC,OAAO,CAAC,UAAC,GAAW,EAAE,KAAa,EAAA;EACxC,gBAAA,IAAM,kBAAkB,GAAkB,IAAIqD,8BAAa,EAAE,CAAC;EAC9D,gBAAA,kBAAkB,CAAC,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;kBACzC,kBAAkB,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;EACrD,gBAAA,kBAAkB,CAAC,QAAQ,GAAG,KAAK,CAAC;EACpC,gBAAA,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;EACxC,aAAC,CAAC,CAAC;EACN,SAAA;EAAM,aAAA;cACH,SAAS,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,UAAC,UAAkB,EAAE,KAAa,EAAA;EAC7E,gBAAA,IAAM,kBAAkB,GAAkB,IAAIA,8BAAa,EAAE,CAAC;EAC9D,gBAAA,kBAAkB,CAAC,IAAI,GAAG,UAAU,CAAC;kBACrC,kBAAkB,CAAC,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;EAC5D,gBAAA,kBAAkB,CAAC,QAAQ,GAAG,KAAK,CAAC;EACpC,gBAAA,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;EACxC,aAAC,CAAC,CAAC;EACN,SAAA;EAED,QAAA,OAAO,UAAU,CAAC;OACrB,CAAA;EAEa,IAAA,SAAA,CAAA,aAAa,GAApB,UAAqB,QAAgB,EAAE,SAAiB,EAAA;EAC3D,QAAA,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;OAC5E,CAAA;MAEc,SAAS,CAAA,SAAA,GAAhB,UAAiB,QAAgB,EAAA;UACrC,IAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;EACtC,QAAA,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAC,CAAC,EAAA,EAAK,OAAA,IAAI,CAAJ,EAAI,CAAC,EAAE;EAC5B,YAAA,MAAM,IAAI,SAAS,CAAC,2BAA2B,CAAC,CAAC;EACpD,SAAA;UACD,IAAI,WAAW,GAAG,CAAC,CAAC;EACpB,QAAA,OAAO,CAAC,OAAO,CAAC,UAAC,CAAC,EAAA;cACd,IAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;EACpC,YAAA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;EAC5B,gBAAA,WAAW,EAAE,CAAC;EACjB,aAAA;EACL,SAAC,CAAC,CAAC;EACH,QAAA,OAAO,WAAW,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;OAC7C,CAAA;MAEJ,OAAA,SAAA,CAAA;EAAA,CAAA,EAAA,CAAA,CAAA;EAED;EACM,SAAU,wBAAwB,CAAC,KAAU,EAAA;MAC/C,IAAI,GAAG,GAAW,EAAE,CAAC;MAErB,IAAM,IAAI,GAAa,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;EAC1C,IAAA,KAAK,IAAI,CAAC,GAAW,CAAC,EAAE,GAAG,GAAW,IAAI,CAAC,MAAM,EAAE,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,EAAE;UAC7D,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;EAChC,KAAA;MAED,GAAG,GAAG,WAAW,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;EAC1C,IAAA,OAAO,GAAG,CAAC;EACf;;ECpJA;;;;;;;EAOG;AA6BH,MAAA,gCAAA,kBAAA,YAAA;EApBA,IAAA,SAAA,gCAAA,GAAA;EAsBW,QAAA,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;EAOnB,QAAA,IAAQ,CAAA,QAAA,GAAa,KAAK,CAAC;EAO3B,QAAA,IAAA,CAAA,kBAAkB,GAAyB,IAAI9G,eAAY,EAAU,CAAC;;EAI7D,QAAA,IAAA,CAAA,oBAAoB,GAAyB,IAAIA,eAAY,EAAU,CAAC;EAOxE,QAAA,IAAK,CAAA,KAAA,GAAgB6C,cAAI,CAAC;EAEnC,QAAA,IAAe,CAAA,eAAA,GAAmB,EAAE,CAAC;EAErC,QAAA,IAAqB,CAAA,qBAAA,GAAa,EAAE,CAAC;OAsC/C;EA9CU,IAAA,gCAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAQD,IAAA,gCAAA,CAAA,SAAA,CAAA,eAAe,GAAf,YAAA;UACI,IAAI,IAAI,CAAC,qBAAqB,EAAE;cAC5B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;EACrF,SAAA;EAAM,aAAA;;EAEN,SAAA;UACD,IAAI,CAAC,+BAA+B,EAAE,CAAC;OAC1C,CAAA;MAEM,gCAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,eAAoB,EAAA;UACrC,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;OACnE,CAAA;MAEM,gCAAqB,CAAA,SAAA,CAAA,qBAAA,GAArB,UAAsB,MAAW,EAAA;UAAjC,IAgBN,KAAA,GAAA,IAAA,CAAA;UAfG,IAAI,eAAe,GAAW,CAAC,CAAC;UAEhC,IAAI,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;EACjD,YAAA,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;EACxF,SAAA;EAAM,aAAA;cACH,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;EAC/C,SAAA;EAED,QAAA,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAC9B,UAAA,WAAW,EAAA;cACP,eAAe,IAAI,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAA,CAAC,EAAA,EAAI,OAAA,CAAC,CAAC,GAAG,KAAK,WAAW,GAAA,CAAC,CAAC,GAAG,CAAC;EACjF,SAAC,CACJ,CAAC;EAEF,QAAA,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;OACnD,CAAA;EAEM,IAAA,gCAAA,CAAA,SAAA,CAAA,+BAA+B,GAA/B,YAAA;UACH,IAAI,IAAI,CAAC,YAAY,EAAE;cACnB,IAAI,CAAC,qBAAqB,GAAG,YAAY,CAAC,sBAAsB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;EACvF,SAAA;OACJ,CAAA;;;;EAxFJ,IAAA,EAAA,IAAA,EAAAzC,YAAS,EAAC,IAAA,EAAA,CAAA;EACP,gBAAA,QAAQ,EAAE,8BAA8B;EACxC,gBAAA,QAAQ,EAAE,6oBAeT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACxC,aAAA,EAAA,EAAA;;;sBAEIG,QAAK,EAAA,CAAA;sCAILA,QAAK,EAAA,CAAA;yBAGLA,QAAK,EAAA,CAAA;6BAILA,QAAK,EAAA,CAAA;mCAGLC,SAAM,EAAA,CAAA;qCAINA,SAAM,EAAA,CAAA;EAGN,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAC,cAAW,SAAC,oCAAoC,EAAA,EAAA,CAAA;;;ACzCrD,MAAA,6BAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,6BAAA,GAAA;;;;;EAZC,IAAA,EAAA,IAAA,EAAAE,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPsC,sCAAmB;sBACnBrC,mBAAY;EACb,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACd,gCAAgC;EAC/B,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACT,gCAAgC;EAC/B,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACkBD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;;EApBC,IAAA,EAAA,IAAA,EAAAD,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPuC,iCAAc;sBACduD,6BAAU;sBACV,kBAAkB;sBAClBtC,kCAAe;sBACfhB,+BAAY;sBACZvC,mBAAY;sBACZ8F,4CAAyB;sBACzB,6BAA6B;EAC9B,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,wBAAwB;EACzB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,wBAAwB;EACzB,iBAAA;EACD,gBAAA,SAAS,EAAE,EACV;EACF,aAAA,EAAA,EAAA;;;ACfD,MAAA,qBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,qBAAA,GAAA;;;;;EAbC,IAAA,EAAA,IAAA,EAAA/F,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPqC,6BAAU;EACX,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,wBAAwB;EACzB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,wBAAwB;EACzB,iBAAA;EACD,gBAAA,SAAS,EAAE,EACV;EACF,aAAA,EAAA,EAAA;;;ACiCD,MAAA,iBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,iBAAA,GAAA;;;;;EA9BC,IAAA,EAAA,IAAA,EAAArC,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPuC,iCAAc;sBACduD,6BAAU;sBACVtC,kCAAe;sBACfuC,4CAAyB;sBACzBvD,+BAAY;sBACZ,kBAAkB;sBAClBH,6BAAU;sBACV,kBAAkB;sBAClBpC,mBAAY;;sBAEZqC,sCAAmB;sBACnB,gBAAgB;sBAChB,qBAAqB;sBACrB,qBAAqB;EACtB,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,oBAAoB;sBACpB,0BAA0B;EAC3B,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,oBAAoB;sBACpB,0BAA0B;EAC3B,iBAAA;EACD,gBAAA,SAAS,EAAE;sBACT0D,eAAO;sBACP,iBAAiB;EAClB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ACOD,MAAA,qBAAA,kBAAA,YAAA;MAuBE,SAAmB,qBAAA,CAAA,gBAAkC,EACjC,kBAAqC,EAAA;EADtC,QAAA,IAAgB,CAAA,gBAAA,GAAhB,gBAAgB,CAAkB;EACjC,QAAA,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;EAvBzC,QAAA,IAAI,CAAA,IAAA,GAAGpE,cAAI,CAAC;EACZ,QAAA,IAAY,CAAA,YAAA,GAAGqE,8BAAY,CAAC;EAC5B,QAAA,IAAY,CAAA,YAAA,GAAGC,yBAAY,CAAC;EAC5B,QAAA,IAAS,CAAA,SAAA,GAAGC,mBAAS,CAAC;EAQ/B,QAAA,IAAU,CAAA,UAAA,GAAe,EAAE,CAAC;EAG5B,QAAA,IAAA,CAAA,UAAU,GAASvE,cAAI,CAAC,cAAc,CAAC;EAGvC,QAAA,IAAA,CAAA,QAAQ,GAASA,cAAI,CAAC,oBAAoB,CAAC;OAQjD;EAnBM,IAAA,qBAAA,CAAA,SAAA,CAAA,SAAS,GAAT,YAAA;EACL,QAAA,OAAO,IAAI,CAAC;OACb,CAAA;EAmBY,IAAA,qBAAA,CAAA,SAAA,CAAA,QAAQ,GAAR,YAAA;;;;;EACZ,SAAA,CAAA,CAAA;OAAA,CAAA;MAEM,qBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,MAA2B,EAAA;EAChD,QAAA,IAAI,MAAM,EAAE;cACV,OAAO,MAAM,CAAC,YAAY,CAAC;EAC5B,SAAA;EAAM,aAAA;EACL,YAAA,OAAO,IAAI,CAAA;EACZ,SAAA;OACF,CAAA;MAEM,qBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,IAAU,EAAA;EAC7B,QAAA,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAE;OAChI,CAAA;MAEM,qBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,QAAkB,EAAA;UACvC,QAAQ,QAAQ,CAAC,YAAY;cAC3B,KAAKsE,yBAAY,CAAC,MAAM;kBACtB,OAAO,IAAI,CAAC,UAAU,CAAC;cACzB,KAAKA,yBAAY,CAAC,WAAW,CAAC;cAC9B,KAAKA,yBAAY,CAAC,cAAc,CAAC;cACjC,KAAKA,yBAAY,CAAC,IAAI,CAAC;cACvB,KAAKA,yBAAY,CAAC,IAAI,CAAC;cACvB,KAAKA,yBAAY,CAAC,YAAY,CAAC;cAC/B,KAAKA,yBAAY,CAAC,IAAI;kBACpB,OAAO,IAAI,CAAC,QAAQ,CAAC;EACxB,SAAA;OACF,CAAA;MAEM,qBAAe,CAAA,SAAA,CAAA,eAAA,GAAf,UAAgB,QAAkB,EAAA;UACvC,IAAI,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE;EACvD,YAAA,OAAO,IAAI,CAAA;EACZ,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEM,qBAAc,CAAA,SAAA,CAAA,cAAA,GAAd,UAAe,QAAkB,EAAA;EACtC,QAAA,IAAI,CAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU;EAC/D,aAAC,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;EAChE,YAAA,OAAO,IAAI,CAAC;EACb,SAAA;EACD,QAAA,OAAO,KAAK,CAAC;OACd,CAAA;MAEM,qBAAa,CAAA,SAAA,CAAA,aAAA,GAAb,UAAc,QAAkB,EAAA;EACrC,QAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE;EAChE,YAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;EACjC,SAAA;EAAM,aAAA,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE;EACvE,YAAA,OAAO,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;EACjC,SAAA;EACD,QAAA,OAAO,CAAC,CAAC;OACV,CAAA;MAEM,qBAAiB,CAAA,SAAA,CAAA,iBAAA,GAAjB,UAAkB,QAAkB,EAAA;EACzC,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;EAC9B,QAAA,IAAI,CAAC,wBAAwB,GAAG,QAAQ,CAAC,SAAS,CAAC;OACpD,CAAA;;;;EA1HF,IAAA,EAAA,IAAA,EAAA/G,YAAS,EAAC,IAAA,EAAA,CAAA;EACT,gBAAA,QAAQ,EAAE,kBAAkB;EAC5B,gBAAA,QAAQ,EAAE,0mEAiCT;kBACD,aAAa,EAAEM,oBAAiB,CAAC,IAAI;EACtC,aAAA,EAAA,EAAA;;;cA5CO,gBAAgB,EAAA;cAEhB,iBAAiB,EAAA;;;EAiDtB,IAAA,SAAA,EAAA,CAAA,EAAA,IAAA,EAAAK,cAAW,SAAC,wBAAwB,EAAA,EAAA,CAAA;2BAKpCF,QAAK,EAAA,CAAA;2BAGLA,QAAK,EAAA,CAAA;yBAGLA,QAAK,EAAA,CAAA;;;ACrDR,MAAA,kBAAA,kBAAA,YAAA;EAAA,IAAA,SAAA,kBAAA,GAAA;;;;;EAdC,IAAA,EAAA,IAAA,EAAAI,WAAQ,EAAC,IAAA,EAAA,CAAA;EACR,gBAAA,OAAO,EAAE;sBACPqC,6BAAU;sBACVpC,mBAAY;sBACZsC,iCAAc;sBACd,iBAAiB;EAClB,iBAAA;EACD,gBAAA,YAAY,EAAE;sBACZ,qBAAqB;EACtB,iBAAA;EACD,gBAAA,OAAO,EAAE;sBACP,qBAAqB;EACtB,iBAAA;EACF,aAAA,EAAA,EAAA;;;ECnBD;;EAEG;;ECFH;;EAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"colijnit-sharedcomponents.umd.js","sources":["../../../node_modules/tslib/tslib.es6.mjs","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signature/signature.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/component/signatures/signatures.component.ts","../../../projects/sharedcomponents/src/lib/components/docsign/docsign.module.ts","../../../projects/sharedcomponents/src/lib/enum/language-code.enum.ts","../../../projects/sharedcomponents/src/lib/utils/string-utils.ts","../../../projects/sharedcomponents/src/lib/assets/dictionary/text.properties.ts","../../../projects/sharedcomponents/src/lib/service/dictionary.service.ts","../../../projects/sharedcomponents/src/lib/model/settings.ts","../../../projects/sharedcomponents/src/lib/service/options.service.ts","../../../projects/sharedcomponents/src/lib/service/shared-connector.service.ts","../../../projects/sharedcomponents/src/lib/service/stock.service.ts","../../../projects/sharedcomponents/src/lib/localization/translation.ts","../../../projects/sharedcomponents/src/lib/localization/localize.service.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information/stock-information.component.ts","../../../projects/sharedcomponents/src/lib/model/icon-svg.ts","../../../projects/sharedcomponents/src/lib/service/icon-cache.service.ts","../../../projects/sharedcomponents/src/lib/enum/icon.enum.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-information-grid/stock-information-grid.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-transfer.component.ts","../../../projects/sharedcomponents/src/lib/service/shared.service.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/service/send-method.service.ts","../../../projects/sharedcomponents/src/lib/model/send-method.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/model/email-address-viewmodel.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/layout-selection/layout-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/signature-button/signature-button.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-email/send-method-email.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/printer-selection/printer-selection.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module.ts","../../../projects/sharedcomponents/src/lib/components/send-method-dialog/send-method-dialog.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-transfer/stock-change-amount.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-tab/stock-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-tab/order-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-tabs/stock-tabs.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock-history-tabs/stock-history-tabs.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-stock-tab/order-stock-tab.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-location/stock-location.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-history/stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.component.ts","../../../projects/sharedcomponents/src/lib/components/tab-bar/tab-bar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/order-stock-history/order-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/allocation-stock-history/allocation-stock-history.component.ts","../../../projects/sharedcomponents/src/lib/enum/gauge-color.enum.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.component.ts","../../../projects/sharedcomponents/src/lib/components/linear-gauge/co-linear-gauge.module.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar-popup.component.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.component.ts","../../../projects/sharedcomponents/src/lib/components/statusbar/statusbar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.component.ts","../../../projects/sharedcomponents/src/lib/components/stock-statusbar/stock-statusbar.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/components/stock-prognose/stock-prognose.component.ts","../../../projects/sharedcomponents/src/lib/localization/localize.pipe.ts","../../../projects/sharedcomponents/src/lib/localization/localization.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/stock.module.ts","../../../projects/sharedcomponents/src/lib/components/stock/localization/translation.ts","../../../projects/sharedcomponents/src/lib/enum/keyboard-code.enum.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.component.ts","../../../projects/sharedcomponents/src/lib/components/key-pad/key-pad.module.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.component.ts","../../../projects/sharedcomponents/src/lib/components/layout-switcher/layout-switcher.module.ts","../../../projects/sharedcomponents/src/lib/enum/calendar-view.enum.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-years.component.ts","../../../projects/sharedcomponents/src/lib/enum/month.enum.ts","../../../projects/sharedcomponents/src/lib/model/constant/all-months.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-all-months.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-header.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar.component.ts","../../../projects/sharedcomponents/src/lib/pipe/array-number.pipe.ts","../../../projects/sharedcomponents/src/lib/utils/function/not-nill.function.ts","../../../projects/sharedcomponents/src/lib/model/date-range.ts","../../../projects/sharedcomponents/src/lib/utils/date-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/calendar/calendar-view.component.ts","../../../projects/sharedcomponents/src/lib/model/weekday.model.ts","../../../projects/sharedcomponents/src/lib/model/week.model.ts","../../../projects/sharedcomponents/src/lib/utils/calendar.utils.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-event-per-day.model.ts","../../../projects/sharedcomponents/src/lib/model/month.model.ts","../../../projects/sharedcomponents/src/lib/model/day.model.ts","../../../projects/sharedcomponents/src/lib/model/agenda-null-objects.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-header.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-base-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-month-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-day-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-week-select-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-hour-view-labels.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-half-hour-cell.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-events.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-event.component.ts","../../../projects/sharedcomponents/src/lib/pipe/ucfirst.pipe.ts","../../../projects/sharedcomponents/src/lib/pipe/file-type-image.pipe.ts","../../../projects/sharedcomponents/src/lib/pipe/master-pipes.ts","../../../projects/sharedcomponents/src/lib/enum/thumb-three-way-state.ts","../../../projects/sharedcomponents/src/lib/utils/map-utils.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/view-select.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/component/agenda/agenda-select-event.component.ts","../../../projects/sharedcomponents/src/lib/components/date-planning/date-planning.module.ts","../../../projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.component.ts","../../../projects/sharedcomponents/src/lib/components/simple-tags/simple-tags.module.ts","../../../projects/sharedcomponents/src/lib/enum/table-name.enum.ts","../../../projects/sharedcomponents/src/lib/interface/operation-callback-simple-function.ts","../../../projects/sharedcomponents/src/lib/utils/is-nill.function.ts","../../../projects/sharedcomponents/src/lib/utils/object-utils.ts","../../../projects/sharedcomponents/src/lib/utils/number-utils.ts","../../../projects/sharedcomponents/src/lib/utils/array-utils.ts","../../../projects/sharedcomponents/src/lib/utils/ref-code-utils.ts","../../../projects/sharedcomponents/src/lib/enum/file-type.ts","../../../projects/sharedcomponents/src/lib/utils/co-document-shared-field-logic.ts","../../../projects/sharedcomponents/src/lib/decorator/input-boolean.decorator.ts","../../../projects/sharedcomponents/src/lib/components/app-file-dropzone/app-file-dropzone.component.ts","../../../projects/sharedcomponents/src/lib/enum/document-email-report.enum.ts","../../../projects/sharedcomponents/src/lib/enum/domain-multiple-name.enum.ts","../../../projects/sharedcomponents/src/lib/components/file-upload-popup/file-upload-popup.component.ts","../../../projects/sharedcomponents/src/lib/components/files-upload/components/base-file-upload.component.ts","../../../projects/sharedcomponents/src/lib/components/files-upload/files-upload.component.ts","../../../projects/sharedcomponents/src/lib/businessobject/drag-drop-container.ts","../../../projects/sharedcomponents/src/lib/service/drag-drop.service.ts","../../../projects/sharedcomponents/src/lib/components/files-upload/components/drag-drop-container.component.ts","../../../projects/sharedcomponents/src/lib/components/image-display/image-display.component.ts","../../../projects/sharedcomponents/src/lib/components/image-display/image-display.module.ts","../../../projects/sharedcomponents/src/lib/components/file-upload/file-upload.component.ts","../../../projects/sharedcomponents/src/lib/enum/tile-size-type.ts","../../../projects/sharedcomponents/src/lib/components/tile-renderer/tile-render.component.ts","../../../projects/sharedcomponents/src/lib/components/tile-renderer/tile-render.module.ts","../../../projects/sharedcomponents/src/lib/components/file-upload/file-upload.module.ts","../../../projects/sharedcomponents/src/lib/utils/enum-utils.ts","../../../projects/sharedcomponents/src/lib/components/multi-property-toggler/multiple-property-toggler.component.ts","../../../projects/sharedcomponents/src/lib/components/multi-property-toggler/multiple-property-toggler.module.ts","../../../projects/sharedcomponents/src/lib/components/file-upload-popup/file-upload-popup.module.ts","../../../projects/sharedcomponents/src/lib/components/app-file-dropzone/app-file-dropzone.module.ts","../../../projects/sharedcomponents/src/lib/components/files-upload/files-upload.module.ts","../../../projects/sharedcomponents/src/lib/components/activity-list/activity-list.component.ts","../../../projects/sharedcomponents/src/lib/components/activity-list/activity-list.module.ts","../../../projects/sharedcomponents/src/public-api.ts","../../../projects/sharedcomponents/src/colijnit-sharedcomponents.ts"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n function next() {\n while (env.stack.length) {\n var rec = env.stack.pop();\n try {\n var result = rec.dispose && rec.dispose.call(rec.value);\n if (rec.async) return Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n catch (e) {\n fail(e);\n }\n }\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n};\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {PDFDocument} from \"pdf-lib\";\r\nimport * as PDFJS from \"pdfjs-dist/legacy/build/pdf\";\r\nimport pdfjsWorker from \"pdfjs-dist/build/pdf.worker.entry\";\r\nimport {TextItem} from \"pdfjs-dist/types/src/display/api\";\r\n\r\nexport interface TextDimension {\r\n x: number,\r\n y: number,\r\n width: number,\r\n height: number,\r\n page: number\r\n}\r\n\r\n@Component({\r\n selector: \"co-docsign\",\r\n template: `\r\n <iframe #iframe></iframe>\r\n <co-signatures *ngIf=\"showSignatures\" @showHideSignature\r\n [showFirstSignature]=\"showSigBuyer\"\r\n [firstSignatureTitle]=\"firstSignatureLabel\"\r\n [showSecondSignature]=\"showSigSeller\"\r\n [secondSignatureTitle]=\"secondSignatureLabel\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (saveFirstSignature)=\"saveFirstSignature($event)\"\r\n (saveSecondSignature)=\"saveSecondSignature($event)\"\r\n ></co-signatures>\r\n <input type=\"button\" *ngIf=\"(showSigBuyer || showSigSeller) && !showSignatures\" class=\"button button-sign-document\"\r\n [value]=\"signDocumentButtonLabel\"\r\n (click)=\"showSignatures = true\"\r\n />\r\n <input type=\"button\" class=\"button button-cancel\"\r\n [value]=\"cancelButtonLabel\"\r\n (click)=\"cancelClick.emit($event)\"\r\n />\r\n `,\r\n animations: [\r\n trigger(\"showHideSignature\", [\r\n state(\"void\", style({transform: \"translate(-50%, -50%) scale(0)\"})),\r\n state(\"*\", style({transform: \"translate(-50%, -50%) scale(1)\"})),\r\n transition(\"void <=> *\", animate(\"200ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class DocsignComponent {\r\n @ViewChild(\"iframe\", { read: ElementRef })\r\n public iframe: ElementRef;\r\n\r\n /**\r\n * Load an existing [[PDFDocument]]. The input data can be provided in\r\n * multiple formats:\r\n *\r\n * | Type | Contents |\r\n * | ------------- | ------------------------------------------------------ |\r\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\r\n * | `Uint8Array` | The raw bytes of a PDF |\r\n * | `ArrayBuffer` | The raw bytes of a PDF |\r\n *\r\n * For example:\r\n * ```js\r\n * import { PDFDocument } from 'pdf-lib'\r\n *\r\n * // pdf=string\r\n * const base64 =\r\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\r\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\r\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\r\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\r\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\r\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\r\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\r\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\r\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\r\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\r\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\r\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\r\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\r\n * 'FydHhyZWYKNTEwCiUlRU9G'\r\n *\r\n * const dataUri = 'data:application/pdf;base64,' + base64\r\n *\r\n * const pdfDoc1 = await PDFDocument.load(base64)\r\n * const pdfDoc2 = await PDFDocument.load(dataUri)\r\n *\r\n * // pdf=Uint8Array\r\n * import fs from 'fs'\r\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\r\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\r\n *\r\n * // pdf=ArrayBuffer\r\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\r\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\r\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\r\n *\r\n * ```\r\n *\r\n * @param pdf The input data containing a PDF document.\r\n * @param options The options to be used when loading the document.\r\n * @returns Resolves with a document loaded from the input.\r\n */\r\n @Input()\r\n public set pdf(value: any) {\r\n if (value) {\r\n this._handlePdfData(value);\r\n this._openPDF();\r\n }\r\n }\r\n\r\n public get pdf(): any {\r\n return this._pdf;\r\n }\r\n\r\n @Input()\r\n public firstSignatureLabel: string;\r\n\r\n @Input()\r\n public firstSignatureField: string;\r\n\r\n @Input()\r\n public secondSignatureLabel: string;\r\n\r\n @Input()\r\n public secondSignatureField: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Input()\r\n public signDocumentButtonLabel: string = 'SIGN_DOCUMENT';\r\n\r\n @Input()\r\n public cancelButtonLabel: string = 'CANCEL';\r\n\r\n @Output()\r\n public pdfSaved: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public cancelClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding('class.co-docsign')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showSignaturePopup: boolean = false;\r\n public showSigBuyer: boolean = false;\r\n public sigBuyerPosition: TextDimension;\r\n public showSigSeller: boolean = false;\r\n public sigSellerPosition: TextDimension;\r\n public showSignatures: boolean = false;\r\n\r\n public pdfDoc: PDFDocument;\r\n\r\n private _pdf: any;\r\n\r\n public saveFirstSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigBuyerPosition);\r\n this.showSigBuyer = false;\r\n this._savePdf();\r\n }\r\n\r\n public saveSecondSignature(sig: string): void {\r\n this._saveSignature(sig, this.sigSellerPosition);\r\n this.showSigSeller = false;\r\n this._savePdf();\r\n }\r\n\r\n private async _openPDF(): Promise<void> {\r\n // first create reader to check signatures\r\n this._checkSignatures();\r\n\r\n this.pdfDoc = await PDFDocument.load(this._pdf, {\r\n updateMetadata: false\r\n });\r\n const pdfDataUri = await this.pdfDoc.saveAsBase64({ dataUri: true });\r\n this.iframe.nativeElement.src = pdfDataUri;\r\n }\r\n\r\n private async _savePdf(): Promise<void> {\r\n if (!this.showSigBuyer && !this.showSigSeller) {\r\n // ready, save the pdf and emit result\r\n const result = await this.pdfDoc.saveAsBase64();\r\n this.pdfSaved.next(result);\r\n }\r\n }\r\n\r\n private async _checkSignatures(): Promise<void> {\r\n let pdfWorkerSrc;\r\n if (window.hasOwnProperty('pdfWorkerSrc') &&\r\n typeof (window as any).pdfWorkerSrc === 'string' &&\r\n (window as any).pdfWorkerSrc) {\r\n pdfWorkerSrc = (window as any).pdfWorkerSrc;\r\n }\r\n else {\r\n pdfWorkerSrc = pdfjsWorker;\r\n }\r\n PDFJS.GlobalWorkerOptions.workerSrc = pdfWorkerSrc;\r\n const pdfReader = await PDFJS.getDocument(this._pdf).promise;\r\n const numPages = pdfReader.numPages;\r\n for (let i = 0; i < numPages; i++) {\r\n const page = await pdfReader.getPage(i + 1);\r\n const text = await page.getTextContent();\r\n page.cleanup();\r\n if (this.firstSignatureField) {\r\n this.sigBuyerPosition = this._getPositionSignature(text, this.firstSignatureField);\r\n if (this.sigBuyerPosition.width > 0 && this.sigBuyerPosition.height > 0) {\r\n this.sigBuyerPosition.page = i;\r\n this.showSigBuyer = true;\r\n }\r\n }\r\n if (this.secondSignatureField) {\r\n this.sigSellerPosition = this._getPositionSignature(text, this.secondSignatureField);\r\n if (this.sigSellerPosition.width > 0 && this.sigSellerPosition.height > 0) {\r\n this.sigSellerPosition.page = i;\r\n this.showSigSeller = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _getPositionSignature(textItem: any, signatureField: string): TextDimension {\r\n const sigItem: TextItem = <TextItem>textItem.items.find((i: any) => i.str.toLowerCase() === signatureField.toLowerCase());\r\n if (sigItem) {\r\n textItem.items.slice(textItem.items.indexOf(sigItem), 1);\r\n return {\r\n x: sigItem.transform[4],\r\n y: sigItem.transform[5],\r\n width: sigItem.width,\r\n height: sigItem.height,\r\n page: 0\r\n };\r\n }\r\n return {x: 0, y: 0, width: 0, height: 0, page: 0}\r\n }\r\n\r\n private async _saveSignature(sig: string, dimensions: TextDimension): Promise<void> {\r\n const jpgImage = await this.pdfDoc.embedPng(sig);\r\n const page = await this.pdfDoc.getPage(dimensions.page);\r\n page.drawImage(jpgImage, {\r\n x: ((dimensions.x + (dimensions.width / 2)) - (200 / 2)),\r\n y: ((dimensions.y + (dimensions.height / 2)) - (100 / 2)),\r\n width: 200,\r\n height: 100\r\n });\r\n }\r\n\r\n private _handlePdfData(pdfData: any) {\r\n if (typeof pdfData === 'string') {\r\n this._preparePDF(pdfData);\r\n } else {\r\n this._pdf = pdfData;\r\n }\r\n }\r\n\r\n private _preparePDF(base64: string): void {\r\n var binary_string = window.atob(base64);\r\n var len = binary_string.length;\r\n var bytes = new Uint8Array(len);\r\n for (var i = 0; i < len; i++) {\r\n bytes[i] = binary_string.charCodeAt(i);\r\n }\r\n this._pdf = bytes;\r\n }\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport SignaturePad from \"signature_pad\";\r\n\r\n@Component({\r\n selector: \"co-signature\",\r\n template: `\r\n <div class=\"signature-wrapper\">\r\n <div class=\"signature-header\">\r\n <span *ngIf=\"title\" class=\"title\" [textContent]=\"title\"></span>\r\n <div class=\"button-wrapper\">\r\n <input type=\"button\" (click)=\"handleSave($event)\" [value]=\"saveButtonLabel\"/>\r\n <input type=\"button\" (click)=\"handleClear($event)\" [value]=\"clearButtonLabel\">\r\n </div>\r\n </div>\r\n <div class=\"canvas\">\r\n <canvas #signature></canvas>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureComponent {\r\n @ViewChild(\"signature\", {read: ElementRef}) set content(content: ElementRef) {\r\n if (content) {\r\n this.signatureCanvas = content;\r\n this._initCanvas();\r\n }\r\n }\r\n\r\n @Input()\r\n public title: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public save: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-signature\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public signature: SignaturePad;\r\n public signatureCanvas: ElementRef;\r\n\r\n public handleSave(event: MouseEvent): void {\r\n // save canvas as svg\r\n // const sig: string = this.signature.toDataURL(\"image/svg+xml\");\r\n const sig: string = this.signature.toDataURL(\"image/png\");\r\n // emit signature string\r\n this.save.next(sig);\r\n }\r\n\r\n public handleClear(event: MouseEvent): void {\r\n if (this.signature) {\r\n this.signature.clear();\r\n }\r\n }\r\n\r\n private _initCanvas(): void {\r\n if (this.signatureCanvas && this.signatureCanvas.nativeElement) {\r\n this.signature = new SignaturePad(this.signatureCanvas.nativeElement);\r\n setTimeout(() => {\r\n this._resizeSignatureCanvas(this.signature, this.signatureCanvas);\r\n });\r\n }\r\n }\r\n\r\n private _resizeSignatureCanvas(signature: SignaturePad, signatureCanvas: ElementRef): void {\r\n const imageBeforeResize: string = signature.toDataURL();\r\n const ratio: number = Math.max(window.devicePixelRatio || 1, 1);\r\n signatureCanvas.nativeElement.width = signatureCanvas.nativeElement.offsetWidth * ratio;\r\n signatureCanvas.nativeElement.height = signatureCanvas.nativeElement.offsetHeight * ratio;\r\n signatureCanvas.nativeElement.getContext(\"2d\").scale(ratio, ratio);\r\n signature.fromDataURL(imageBeforeResize);\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-signatures\",\r\n template: `\r\n <co-signature *ngIf=\"showFirstSignature\"\r\n [title]=\"firstSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveFirstSignature.emit($event)\"></co-signature>\r\n <co-signature *ngIf=\"showSecondSignature\"\r\n [title]=\"secondSignatureTitle\"\r\n [saveButtonLabel]=\"saveButtonLabel\"\r\n [clearButtonLabel]=\"clearButtonLabel\"\r\n (save)=\"saveSecondSignature.emit($event)\"></co-signature>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignaturesComponent {\r\n\r\n @Input()\r\n public showFirstSignature: boolean = false;\r\n\r\n @Input()\r\n public firstSignatureTitle: string;\r\n\r\n @Input()\r\n public showSecondSignature: boolean = false;\r\n\r\n @Input()\r\n public secondSignatureTitle: string;\r\n\r\n @Input()\r\n public saveButtonLabel: string = 'SAVE';\r\n\r\n @Input()\r\n public clearButtonLabel: string = 'CLEAR';\r\n\r\n @Output()\r\n public saveFirstSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public saveSecondSignature: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding(\"class.co-signatures\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DocsignComponent} from \"./docsign.component\";\r\nimport {SignatureComponent} from \"./component/signature/signature.component\";\r\nimport {SignaturesComponent} from \"./component/signatures/signatures.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n DocsignComponent,\r\n SignatureComponent,\r\n SignaturesComponent\r\n ],\r\n exports: [\r\n DocsignComponent\r\n ]\r\n})\r\nexport class DocsignModule {\r\n\r\n}\r\n","export enum LanguageCode {\r\n Dutch = \"nl-NL\",\r\n English = \"en-GB\",\r\n German = \"de-DE\",\r\n French = \"fr-FR\",\r\n}\r\n","// Static utility functions holder related to strings.\r\nexport class StringUtils {\r\n\r\n /**\r\n * Returns a new string where given placeholder in given source string are replaced by given replacement texts.\r\n *\r\n * Example usage:\r\n *\r\n * source = \"ABCDABCD\"\r\n * placeholder = \"BC\"\r\n * replacementTexts = \"Z\", \"Z\" (REST arguments)\r\n * OUTPUT = \"AZDAZD\"\r\n *\r\n * @param {string} source\r\n * @param {string} placeholder\r\n * @param {string} replacementTexts If only one is given, this function replaces all placeholders with that single replacementText.\r\n * If more are given, placeholders without a corresponding replacementText will remain their original placeholder characters.\r\n */\r\n public static ReplaceOccurrencesIn(source: string, placeholder: string, ...replacementTexts: string[]): string {\r\n // parameter guards\r\n if (!(source)) {\r\n return undefined;\r\n }\r\n if (!placeholder || replacementTexts.length === 0) {\r\n return source;\r\n }\r\n let outString: string = source;\r\n // one replacementText means replace for all\r\n if (replacementTexts.length === 1) {\r\n // \"g\" is the g flag to replace globally\r\n outString = outString.replace(placeholder, replacementTexts[0]);\r\n } else {\r\n // replace occurence i by replacementTexts[i], one at a time in loop (there might be a faster way..)\r\n for (let i: number = 0, len: number = replacementTexts.length; i < len; i++) {\r\n outString = outString.replace(placeholder, replacementTexts[i]);\r\n }\r\n }\r\n return outString;\r\n }\r\n\r\n // Returns the given argument as a string. Returns given defaultValue if conversion of argument to string was impossible.\r\n public static ParseString(arg: any, defaultValue: string = \"\"): string {\r\n if (!StringUtils.IsString(arg)) {\r\n if (arg && typeof arg.toString === \"function\") {\r\n arg = arg.toString();\r\n } else {\r\n arg = defaultValue;\r\n }\r\n }\r\n return arg;\r\n }\r\n\r\n public static IsString(str: any): boolean {\r\n return typeof str === 'string';\r\n }\r\n\r\n // Returns whether given str is a string and has a length > 0.\r\n public static IsStringWithLength(str: string): boolean {\r\n return str && StringUtils.IsString(str) && str.length > 0;\r\n }\r\n\r\n /**\r\n * Example usage:\r\n * str = 'File is to large to upload. Maximum file size is {0} Mb'\r\n * format = [FileUtils.MaxUploadSizeInMb]\r\n * output = File is to large to upload. Maximum file size is 3 Mb\r\n *\r\n * str = '{0} is way better than {1}'\r\n * format = ['Angular2','Angular1']\r\n * output = Angular2 is way better than Angular1\r\n *\r\n * @param str The string that contains {0} and {1} etc, for replacement by given format data\r\n * @param format The format replacement data\r\n * @returns {string}\r\n */\r\n public static Format(str: string, format: any[]): string {\r\n const args: any = Array.prototype.slice.call(format);\r\n return str.replace(/{(\\d+)}/g, function (match: any, number: any): string {\r\n return typeof args[number] !== \"undefined\" ? (args[number] !== null ? args[number] : \"\") : \"\";\r\n });\r\n }\r\n\r\n // Returns a new string string with N amount of characters removed from the end of it.\r\n public static RemoveLastChars(str: string, amount: number): string {\r\n if (str) {\r\n return str.slice(0, -1 * amount);\r\n } else {\r\n return str;\r\n }\r\n }\r\n\r\n // Returns given string, escaped for use as string literal in regular expressions.\r\n private static _escapeRegExp(str: string): string {\r\n return str;// .replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^$\\|]/g, \"\\\\$&\");\r\n }\r\n\r\n}\r\n","export class Dictionary {\r\n public strings: {} = {\r\n \"nl\": {},\r\n \"de\": {},\r\n \"fr\": {},\r\n \"en\": {},\r\n };\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {StringUtils} from \"../utils/string-utils\";\r\nimport {Dictionary} from \"../assets/dictionary/text.properties\";\r\n\r\n// The localization service, providing peers with text translation functionality.\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DictionaryService {\r\n private readonly dictionaryUrl: string = \"js/browser/res/dictionary/\";\r\n\r\n public get language(): string {\r\n return this._language;\r\n }\r\n\r\n public set rootUrl(value: string) {\r\n this._rootUrl = value;\r\n this._dictBasePath = this._rootUrl + \"/\" + this.dictionaryUrl;\r\n }\r\n\r\n // public dictionaryLoaded: Subject<void> = new Subject();\r\n\r\n private _dictBasePath: string;\r\n private _rootUrl: string;\r\n // private _dictionaryPromise: Map<LanguageCode, Promise<{ [key: string]: string }>> = new Map<LanguageCode, Promise<{ [key: string]: string }>>();\r\n private _dictionaries: Map<string, { [key: string]: string }> = new Map<string, { [key: string]: string }>();\r\n private _language: string;\r\n\r\n // Some dictionary values have one or more '|~' texts in them, meant to be replaced with client-side given texts.\r\n private readonly _placeholder: string = \"|~\";\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n // Loads the dictionary for given language in memory.\r\n public async setDictionary(language: string): Promise<void> {\r\n this._language = language || LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n private _loadDictionary() {\r\n if (!this._dictionaries.has(this._language)) {\r\n const dictionary: Dictionary = new Dictionary();\r\n // eslint-disable-next-line no-magic-numbers\r\n if (dictionary.strings[this._language.substr(0, 2).toLowerCase()] !== undefined) {\r\n // eslint-disable-next-line no-magic-numbers\r\n this._dictionaries.set(this._language, dictionary.strings[this._language.substr(0, 2).toLowerCase()]);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns the localized text for the given dictionary key.\r\n * @param {string} key\r\n * @param {boolean} [upperCaseFirst = true] False for first letter lowercase, true for first letter uppercase for returned dict val\r\n * @param {string[]} replacementTexts Rest params for replacement of '|~' in returned dict value\r\n * @returns {string} The translated text for given dictionary key\r\n */\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n if (!StringUtils.IsStringWithLength(key)) {\r\n return key || \"\";\r\n }\r\n\r\n if (this.language === undefined) {\r\n this._language = LanguageCode.Dutch;\r\n this._loadDictionary();\r\n }\r\n\r\n let text: string = this._dictionaries.get(this.language)[key];\r\n text = StringUtils.IsStringWithLength(text) ? text : key;\r\n\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n } else {\r\n text = text.charAt(0).toLowerCase() + text.slice(1);\r\n }\r\n\r\n if (replacementTexts.length > 0) {\r\n text = StringUtils.ReplaceOccurrencesIn(text, this._placeholder, ...replacementTexts);\r\n }\r\n\r\n return text;\r\n }\r\n}\r\n","import {Options} from '@colijnit/ioneconnector/build/model/options';\r\n\r\nexport class SharedSettings extends Options {\r\n\r\n}\r\n","import {Injectable} from \"@angular/core\";\r\nimport {BehaviorSubject} from \"rxjs\";\r\nimport {DictionaryService} from \"./dictionary.service\";\r\nimport {SharedSettings} from '../model/settings';\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class OptionsService {\r\n\r\n public optionsInitialized: BehaviorSubject<boolean> = new BehaviorSubject<boolean>(false);\r\n\r\n public set options(value: any) {\r\n this._options = value;\r\n }\r\n\r\n public get options(): any {\r\n return this._options;\r\n }\r\n\r\n public optionsLoaded: BehaviorSubject<boolean> = new BehaviorSubject(false);\r\n\r\n private _options: any;\r\n\r\n constructor(private _dictionary: DictionaryService) {\r\n }\r\n\r\n public async createSettingsFromObject(obj: any): Promise<void> {\r\n if (!this.options) {\r\n this.options = new SharedSettings();\r\n }\r\n this.options = Object.assign(this.options, obj);\r\n this.optionsLoaded.next(true);\r\n }\r\n\r\n public async initialize(options: any): Promise<void> {\r\n if (options) {\r\n await this.createSettingsFromObject(options);\r\n await this._dictionary.setDictionary(this.options.languageCode);\r\n this.optionsInitialized.next(true);\r\n }\r\n }\r\n}\r\n","import {Articles} from '@colijnit/articleapi/build/articles';\r\nimport {Sharedapi} from '@colijnit/sharedapi/build/sharedapi';\r\nimport {Injectable} from '@angular/core';\r\nimport {GetStockHistoryRequest} from '@colijnit/articleapi/build/model/get-stock-history-request';\r\nimport {ArticleStock as ArticleStockBo} from '@colijnit/articleapi/build/model/article-stock.bo';\r\nimport {ArticleStock} from '@colijnit/articleapi/build/model/article-stock';\r\nimport {StockHistoryBo} from '@colijnit/articleapi/build/model/stock-history.bo';\r\nimport {ArticleStockManagement} from '@colijnit/articleapi/build/model/article-stock-management';\r\nimport {ArticleDetailsBo} from '@colijnit/articleapi/build/model/article-details.bo';\r\nimport {StockStatus} from '@colijnit/articleapi/build/model/stock-status.bo';\r\nimport {StockManagementWarehouses} from '@colijnit/articleapi/build/model/stock-management-warehouses.bo';\r\nimport {StockLocation} from '@colijnit/articleapi/build/model/stock-location.bo';\r\nimport {ArticleTransaction} from '@colijnit/articleapi/build/model/article-transaction';\r\nimport {ArticleTransaction as ArticleTransactionBo} from '@colijnit/articleapi/build/model/article-transaction.bo';\r\nimport {OptionsService} from './options.service';\r\nimport {MainApi} from '@colijnit/mainapi';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\r\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\r\nimport {BusinessObjectFactory} from '@colijnit/ioneconnector/build/service/business-object-factory';\r\nimport {TagCategory} from \"@colijnit/mainapi/build/enum/tab-category.enum\";\r\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\nimport {ObjectConfiguration} from \"@colijnit/ioneconnector/build/model/object-configuration\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SharedConnectorService {\r\n public articleConnector: Articles;\r\n public sharedConnector: Sharedapi;\r\n public mainConnector: MainApi;\r\n\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n\r\n\r\n constructor(\r\n private _optionsService: OptionsService,\r\n ) {\r\n }\r\n\r\n public async connect(): Promise<void> {\r\n this.sharedConnector = new Sharedapi(this._optionsService.options);\r\n await this.sharedConnector.connect();\r\n this.articleConnector = new Articles(this._optionsService.options);\r\n this.mainConnector = new MainApi(this._optionsService.options);\r\n }\r\n\r\n public async getConfiguration(module: string, params: string[]): Promise<ObjectConfiguration[]> {\r\n const response: DataServiceResponseData = await this.mainConnector.getObjectConfigurations(module, params);\r\n if (response && response.success) {\r\n return this._boFactory.makeBOArrayFromRawBackendDataArray(ObjectConfiguration, response.resultObjects) as ObjectConfiguration[];\r\n }\r\n }\r\n\r\n public async getAllPrinters(): Promise<Printer[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.listAllPrinters().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(Printer, result.resultObject));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getSendMethods(): Promise<SendMethod[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.getSendMethods().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.result) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(SendMethod, result.resultObject.result));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getScreenConfigTree(): Promise<any> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.sharedConnector.getConfigTreeObject('T', 'JS').then((result: any) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(result.resultObjects);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getScreenConfigSubRubric(parentRubricId: number, configId: number, fixedKey: string): Promise<any> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.sharedConnector.getConfigSubRubric(parentRubricId, configId, fixedKey).then((result: any) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(result.resultObjects);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getTagsFullTree(category: TagCategory, includeTags: boolean): Promise<TagTreeItem[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.getTagsFullTree(category, includeTags).then((result: any) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(TagTreeItem, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getDocumentContent(id: number, thumbnail: boolean = true): Promise<string> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.mainConnector.getDocumentContent(id, thumbnail).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n resolve(result.resultObject.documentContent);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getPrintStockStickers(request: PrintStockStickers): Promise<PrintStockStickers> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getPrintStockStickers(request).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeWithRawBackendData(PrintStockStickers, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // })\r\n // })\r\n // }\r\n\r\n // public async getPrintPriceStickers(request: PrintPriceStickers): Promise<PrintPriceStickers> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.printPriceStickers(request).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeWithRawBackendData(PrintPriceStickers, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // })\r\n // })\r\n // }\r\n\r\n public async getStockHistory(request: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockHistory(request).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject && result.resultObject.hasOwnProperty(\"stockHistory\")) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockHistoryBo, result.resultObject.stockHistory));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n })\r\n })\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockInformation(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleStockBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<number> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(result.resultObject);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getArticleFlat(sku: string): Promise<ArticleFlat> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleFlat(sku).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObject) {\r\n resolve(result.resultObject);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async searchArticles(request: ArticleExtendedRequest): Promise<ArticleExtended[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.searchArticles(request, false).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockManagementWarehouses().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockManagementWarehouses, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockManagementLocations(warehouseNo).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockLocation, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getOrderConfirmationDefaultSendMethod(relationId).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getDefaultEmailAddressListForOrderConfirmation(transactionUUID).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.sharedConnector.getPurchaseOrderEmailLayouts(transactionUUID).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve (result.resultObject);\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleDetails(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleDetailsBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.updateArticleDetails(data).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.lockArticleDetails(data).then(async (result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n await this.commit();\r\n resolve(true);\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n\r\n public async getStockStatus(): Promise<StockStatus[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockState().then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStatus, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return new Promise((resolve: Function, reject: Function) => {\r\n // return this.mainConnector.getStockStickerPrintLayouts(data).then((result: DataServiceResponseData) => {\r\n // if (result.validationResult && result.validationResult.success) {\r\n // if (result.resultObject) {\r\n // resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(StockStickersPrintLayouts, result.resultObject));\r\n // }\r\n // } else {\r\n // reject(result.validationMessagesAsString);\r\n // }\r\n // });\r\n // });\r\n // }\r\n\r\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getArticleTransaction(data).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(this._boFactory.makeBOArrayFromRawBackendDataArray(ArticleTransactionBo, result.resultObjects));\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public async getStockPrognose(goodId: number, warehouseNumber: number): Promise<StockForecast[]> {\r\n return new Promise((resolve: Function, reject: Function) => {\r\n return this.articleConnector.getStockForecast(goodId, warehouseNumber).then((result: DataServiceResponseData) => {\r\n if (result.validationResult && result.validationResult.success) {\r\n if (result.resultObjects) {\r\n resolve(result.resultObjects);\r\n }\r\n } else {\r\n reject(result.validationMessagesAsString);\r\n }\r\n });\r\n });\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this.articleConnector.commit();\r\n }\r\n\r\n}\r\n","import {EventEmitter, Injectable} from \"@angular/core\";\r\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\r\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {SendMethodParams} from \"../components/send-method-dialog/send-method-params.interface\";\r\nimport {DataServiceResponseData} from '@colijnit/ioneconnector/build/model/data-service-response-data';\r\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class StockService {\r\n\r\n public stockStickers: PrintStockStickers;\r\n public printLayoutParams: SendMethodParams;\r\n\r\n public readonly warehouseSelected: EventEmitter<StockManagementWarehouses> = new EventEmitter<StockManagementWarehouses>()\r\n\r\n constructor(\r\n private _sharedService: SharedConnectorService,\r\n ) {\r\n }\r\n\r\n // public async getPrintStockStickers(data: PrintStockStickers): Promise<void> {\r\n // await this._sharedService.getPrintStockStickers(data);\r\n // }\r\n\r\n // public async getPrintPriceStickers(data: PrintPriceStickers): Promise<void> {\r\n // await this._sharedService.getPrintPriceStickers(data);\r\n // }\r\n\r\n public async getStockHistory(data: GetStockHistoryRequest): Promise<StockHistoryBo[]> {\r\n return await this._sharedService.getStockHistory(data);\r\n }\r\n\r\n public async getStockInformation(data: ArticleStock): Promise<ArticleStockBo[]> {\r\n return await this._sharedService.getStockInformation(data);\r\n }\r\n\r\n // public async getStockStickerPrintLayouts(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return await this._connector.getStockStickerPrintLayouts(data);\r\n // }\r\n\r\n public async getArticleDetails(data: ArticleStockManagement): Promise<ArticleDetailsBo[]> {\r\n return await this._sharedService.getArticleDetails(data);\r\n }\r\n\r\n public async updateArticleDetails(data: ArticleDetailsBo): Promise<boolean> {\r\n return await this._sharedService.updateArticleDetails(data);\r\n }\r\n\r\n public async getStockState(): Promise<StockStatus[]> {\r\n return await this._sharedService.getStockStatus();\r\n }\r\n\r\n public async getArtStockStatus(goodId: number, branchNo?: string, requestedAmount?: number, warehouseId?: number): Promise<number> {\r\n return await this._sharedService.getArtStockStatus(goodId, branchNo, requestedAmount, warehouseId);\r\n }\r\n\r\n // public async getStockStickerTemplates(data: StockStickersPrintLayouts): Promise<StockStickersPrintLayouts[]> {\r\n // return await this._sharedService.getStockStickerTemplates(data);\r\n // }\r\n\r\n public async getStockManagementWarehouses(): Promise<StockManagementWarehouses[]> {\r\n return await this._sharedService.getStockManagementWarehouses();\r\n }\r\n\r\n public async getStockManagementLocations(warehouseNo: number): Promise<StockLocation[]> {\r\n return await this._sharedService.getStockManagementLocations(warehouseNo);\r\n }\r\n\r\n // public async getOrderConfirmationDefaultSendMethod(relationId: number): Promise<number> {\r\n // return await this._sharedService.getOrderConfirmationDefaultSendMethod(relationId);\r\n // }\r\n\r\n // public async getDefaultEmailAddressListForOrderConfirmation(transactionUUID: string): Promise<string[]> {\r\n // return await this._sharedService.getDefaultEmailAddressListForOrderConfirmation(transactionUUID);\r\n // }\r\n\r\n // public async getPurchaseOrderEmailLayouts(transactionUUID: string): Promise<StockStickersEmailLayouts[]> {\r\n // return await this._sharedService.getPurchaseOrderEmailLayouts(transactionUUID);\r\n // }\r\n\r\n public async getArticleTransaction(data: ArticleTransaction): Promise<ArticleTransactionBo[]> {\r\n return await this._sharedService.getArticleTransaction(data);\r\n }\r\n\r\n public async stockPrognose(goodId: number, warehouseNumber: number): Promise<StockForecast[]> {\r\n return await this._sharedService.getStockPrognose(goodId, warehouseNumber);\r\n }\r\n\r\n public async lockArticleDetails(data: ArticleStockManagement): Promise<boolean> {\r\n return await this._sharedService.lockArticleDetails(data);\r\n }\r\n\r\n public commit(): Promise<DataServiceResponseData> {\r\n return this._sharedService.commit();\r\n }\r\n\r\n public async getArticleFlat(sku: string): Promise<ArticleFlat> {\r\n return await this._sharedService.getArticleFlat(sku);\r\n }\r\n\r\n public async searchArticles(request: ArticleExtendedRequest): Promise<ArticleExtended[]> {\r\n return await this._sharedService.searchArticles(request);\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","export class Translation {\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {Translation} from './translation';\r\n\r\n@Injectable()\r\nexport class LocalizeService {\r\n public set translation(value: Translation) {\r\n this._translation = Object.assign(new Translation(), value);\r\n }\r\n\r\n public get translation(): Translation {\r\n return this._translation;\r\n }\r\n\r\n private _translation: Translation = new Translation();\r\n\r\n public get(key: string, upperCaseFirst: boolean = true, ...replacementTexts: string[]): string {\r\n let text: string = key;\r\n if (this.translation.hasOwnProperty(key)) {\r\n text = this.translation[key].toLowerCase();\r\n if (upperCaseFirst) {\r\n text = text.charAt(0).toUpperCase() + text.slice(1);\r\n }\r\n } else {\r\n console.log('not found', key);\r\n }\r\n return text;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input, OnDestroy, OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {StockService} from \"../../service/stock.service\";\r\nimport {PrintStockStickers} from \"@colijnit/sharedapi/build/model/print-stock-stickers\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {OptionsService} from \"../../service/options.service\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {Translation} from './localization/translation';\r\nimport {LocalizeService} from '../../localization/localize.service';\r\nimport {ArticleExtendedRequest} from \"@colijnit/articleapi/build/model/article-extended-request\";\r\nimport {SharedConnectorService} from \"../../service/shared-connector.service\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock\",\r\n template: `\r\n <div class=\"stock-info-container\" *ngIf=\"loaded && articleExtended\">\r\n <co-stock-information [article]=\"articleExtended\"\r\n [articleStockState]=\"articleStockState\"\r\n [allAvailableStockInformation]=\"allAvailableStock\"\r\n [allTechnicalStockInformation]=\"allTechnicalStock\"\r\n [economicalStock]=\"economicalStock\"\r\n >\r\n </co-stock-information>\r\n <hr>\r\n <co-stock-tabs [stockInformation]=\"stockInformation\"\r\n [article]=\"articleExtended\"\r\n [articleFlat]=\"articleFlat\"\r\n (transferIconClicked)=\"handleStockTransferClick($event)\"\r\n (sendMethodDialogClicked)=\"handleSendMethodClick($event)\"\r\n [warehouses]=\"warehouses\"\r\n ></co-stock-tabs>\r\n\r\n <co-dialog *ngIf=\"showStockTransfer\" (closeClick)=\"showStockTransfer = false\">\r\n <co-stock-transfer (handleClick)=\"backToStock()\"\r\n class=\"stock-transfer-dialog\"\r\n [article]=\"stockTransferArticle\"\r\n [articleToTransfer]=\"stockTransferArticleDetails\"\r\n (handleStickerClicked)=\"handleStickerClicked.emit($event)\"\r\n [articleWarehouse]=\"articleWarehouse\"\r\n [allWarehouses]=\"allWarehouses\"\r\n >\r\n </co-stock-transfer>\r\n </co-dialog>\r\n\r\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\">\r\n\r\n </co-send-method-dialog>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockComponent implements OnDestroy, OnInit {\r\n\r\n @Input()\r\n public set translation(value: Translation) {\r\n this._localizeService.translation = value;\r\n this._changeDetector.markForCheck();\r\n }\r\n\r\n @Output()\r\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Input()\r\n public set article(articleOrGoodId: ArticleExtended | number) {\r\n if(articleOrGoodId instanceof ArticleExtended) {\r\n this.articleExtended = articleOrGoodId;\r\n this._goodId = articleOrGoodId.goodId;\r\n\r\n } else if(typeof articleOrGoodId === \"number\" ) {\r\n this._goodId = articleOrGoodId;\r\n }\r\n\r\n };\r\n\r\n @Input()\r\n public articleWarehouse: any[] = [];\r\n\r\n @Input()\r\n public allWarehouses: any[] = [];\r\n\r\n @Output()\r\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @HostBinding(\"class.co-stock\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public loaded: boolean = false;\r\n\r\n public showStockInformationGrid: boolean = true;\r\n public showStockTransfer: boolean = false;\r\n public stockInformation: ArticleStockBo[] = [];\r\n public stockTransferArticle: ArticleStockBo;\r\n public stockTransferArticleDetails: ArticleDetailsBo;\r\n public articleExtended: ArticleExtended;\r\n\r\n public articleFlat:ArticleFlat;\r\n public stockHistory: StockHistoryBo[] = [];\r\n public allAvailableStock: number = 0;\r\n public allTechnicalStock: number = 0;\r\n public economicalStock: number = 0;\r\n public showSendMethodDialog: boolean = false;\r\n public articleStockState: number;\r\n public warehouses: StockManagementWarehouses[] = [];\r\n\r\n private _subscriptions: Subscription[] = [];\r\n private _goodId: number;\r\n\r\n constructor(\r\n private _stockService: StockService,\r\n private _optionsService: OptionsService,\r\n private _dictionary: DictionaryService,\r\n private _changeDetector: ChangeDetectorRef,\r\n private _localizeService: LocalizeService,\r\n private _connector: SharedConnectorService\r\n ) {\r\n this._subscriptions.push(\r\n this._optionsService.optionsLoaded.subscribe(loaded => this._handleSettingsLoaded(loaded)),\r\n )\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.articleExtended = undefined;\r\n this.articleFlat = undefined;\r\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.stockTransferArticleDetails = event;\r\n this.showStockTransfer = !this.showStockTransfer;\r\n this.showStockInformationGrid = !this.showStockInformationGrid;\r\n this._stockService.stockStickers = new PrintStockStickers();\r\n }\r\n\r\n public handleSendMethodClick(event): void {\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public backToStock(): void {\r\n this.showStockTransfer = !this.showStockTransfer;\r\n this.showStockInformationGrid = !this.showStockInformationGrid;\r\n }\r\n\r\n public getStockInformation(goodId: number): void {\r\n const articleData: ArticleStock = new ArticleStock();\r\n articleData.goodId = goodId.toString();\r\n articleData.viewKind = \"M\";\r\n this._stockService.getStockInformation(articleData).then(result => {\r\n this.stockInformation = result;\r\n this.stockInformation.forEach((articleStock) => this.allAvailableStock += articleStock.availableStock);\r\n this.stockInformation.forEach((articleStock) => this.allTechnicalStock += articleStock.technicalStock);\r\n this.stockInformation.forEach((articleStock) => this.economicalStock += articleStock.economicalStock);\r\n\r\n });\r\n\r\n }\r\n\r\n public getArtStockStatus(): void {\r\n this._stockService.getArtStockStatus(this.articleExtended ? this.articleExtended.goodId : this._goodId).then(result => {\r\n this.articleStockState = result;\r\n });\r\n }\r\n\r\n public getStockManagementWarehouses(): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.warehouses = warehouses;\r\n })\r\n }\r\n\r\n private async _handleSettingsLoaded(loaded: boolean): Promise<void> {\r\n if (loaded) {\r\n await this._initConnection().then();\r\n }\r\n }\r\n\r\n private async _initConnection(): Promise<void> {\r\n await this._connector.connect();\r\n if (this._optionsService.options.url) {\r\n this._dictionary.rootUrl = this._optionsService.options.url.replace(\"/ajaxservice\", \"\");\r\n }\r\n await this._dictionary.setDictionary(this._optionsService.options.languageCode);\r\n setTimeout(() => {\r\n this._changeDetector.detectChanges();\r\n });\r\n this.loaded = true;\r\n this.loadData();\r\n }\r\n\r\n\r\n public loadData() {\r\n if(this.loaded) {\r\n if(this._goodId && !this.articleExtended) {\r\n let request: ArticleExtendedRequest = new ArticleExtendedRequest();\r\n request.goodId = this._goodId;\r\n this._stockService.searchArticles(request).then((articleExtended: ArticleExtended[]) => {\r\n this.articleExtended = articleExtended[0];\r\n });\r\n }\r\n this._stockService.getArticleFlat(this.articleExtended?.articleNumber).then(result => {\r\n this.articleFlat = result;\r\n })\r\n this.getArtStockStatus();\r\n this.getStockManagementWarehouses();\r\n this.getStockInformation(this.articleExtended ? this.articleExtended.goodId : this._goodId);\r\n }\r\n this._changeDetector.markForCheck();\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-information\",\r\n template: `\r\n <div class=\"stock-info\" *ngIf=\"article\">\r\n <div class=\"stock-info-row\" >\r\n <div class=\"stock-info-row-image\">\r\n <div class=\"stock-image\">\r\n <co-image class=\"stock-image\" [source]=\"article.imageData\"></co-image>\r\n </div>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'DESCRIPTION' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"article.description\"></span>\r\n </div>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'STOCK_STATUS' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"article.stockStatus\"></span>\r\n <co-stock-statusbar [value]=\"articleStockState\"></co-stock-statusbar>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'AMOUNT_IN_STOCK' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"allTechnicalStockInformation\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'AMOUNT_AVAILABLE' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"allAvailableStockInformation\"></span>\r\n </div>\r\n <div class=\"stock-status\">\r\n <label class=\"stock-label\" [textContent]=\"'ECONOMICAL_STOCK' | localize\"></label>\r\n <span class=\"stock-span\" [textContent]=\"economicalStock\"></span>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockInformationComponent {\r\n\r\n public image: string;\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Input()\r\n public articleStockState: number;\r\n\r\n @Input()\r\n public allAvailableStockInformation: number;\r\n\r\n @Input()\r\n public allTechnicalStockInformation: number;\r\n\r\n @Input()\r\n public economicalStock: number;\r\n\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\r\n\r\nexport const IconSvg: {[iconName: string]: string} = {\r\n \"account\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><path d=\\\"M15,15c3.59,0,6.5-2.91,6.5-6.5s-2.91-6.5-6.5-6.5-6.5,2.91-6.5,6.5,2.91,6.5,6.5,6.5Zm-2.32,2.44c-5,0-9.05,4.05-9.05,9.05,0,.83,.68,1.51,1.51,1.51H24.87c.83,0,1.51-.68,1.51-1.51,0-5-4.05-9.05-9.05-9.05h-4.64Z\\\" fill=\\\"#484f60\\\"/></g></svg>\",\r\n \"angle_left_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M41.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L109.3 256 246.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160z\\\"/></svg>\",\r\n \"angle_right_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 320 512\\\"><path fill=\\\"#183153\\\" d=\\\"M278.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L210.7 256 73.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160z\\\"/></svg>\",\r\n \"arrow_fat_right\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><polygon points=\\\"37.5 25 25.2 12.7 25.2 20.35 12.5 20.35 12.5 29.66 25.2 29.66 25.2 37.3 37.5 25\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"arrow_point_left\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\" ><path fill=\\\"#484F5F\\\" d=\\\"M31.9,36.7l-14.7-9.6C17.1,27,17,26.9,17,26.7v-2.4c0-0.2,0.1-0.3,0.2-0.4l14.7-9.6c0.2-0.2,0.5-0.1,0.7,0.1l1.4,2.1c0.2,0.2,0.1,0.5-0.1,0.7l-12,7.8c-0.3,0.2-0.3,0.6,0,0.8l12,7.8c0.2,0.2,0.3,0.5,0.1,0.7l-1.4,2.1C32.4,36.8,32.1,36.8,31.9,36.7z\\\"/></svg>\",\r\n \"arrow_point_right\": \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 51 51\\\" enable-background=\\\"new 0 0 51 51\\\"><path fill=\\\"#484F5F\\\" d=\\\"M19.1,14.3l14.7,9.6c0.1,0.1,0.2,0.2,0.2,0.4v2.4c0,0.2-0.1,0.3-0.2,0.4l-14.7,9.6c-0.2,0.2-0.5,0.1-0.7-0.1l-1.4-2.1c-0.2-0.2-0.1-0.5,0.1-0.7l12-7.8c0.3-0.2,0.3-0.6,0-0.8l-12-7.8c-0.2-0.2-0.3-0.5-0.1-0.7l1.4-2.1C18.6,14.2,18.9,14.2,19.1,14.3z\\\"/></svg>\",\r\n \"at_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M207.8 20.73c-93.45 18.32-168.7 93.66-187 187.1c-27.64 140.9 68.65 266.2 199.1 285.1c19.01 2.888 36.17-12.26 36.17-31.49l.0001-.6631c0-15.74-11.44-28.88-26.84-31.24c-84.35-12.98-149.2-86.13-149.2-174.2c0-102.9 88.61-185.5 193.4-175.4c91.54 8.869 158.6 91.25 158.6 183.2l0 16.16c0 22.09-17.94 40.05-40 40.05s-40.01-17.96-40.01-40.05v-120.1c0-8.847-7.161-16.02-16.01-16.02l-31.98 .0036c-7.299 0-13.2 4.992-15.12 11.68c-24.85-12.15-54.24-16.38-86.06-5.106c-38.75 13.73-68.12 48.91-73.72 89.64c-9.483 69.01 43.81 128 110.9 128c26.44 0 50.43-9.544 69.59-24.88c24 31.3 65.23 48.69 109.4 37.49C465.2 369.3 496 324.1 495.1 277.2V256.3C495.1 107.1 361.2-9.332 207.8 20.73zM239.1 304.3c-26.47 0-48-21.56-48-48.05s21.53-48.05 48-48.05s48 21.56 48 48.05S266.5 304.3 239.1 304.3z\\\"/></svg>\",\r\n \"bring_forward_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path fill=\\\"#183153\\\" d=\\\"M224 464H448C456.8 464 464 456.8 464 448V224C464 215.2 456.8 208 448 208H384V160H448C483.3 160 512 188.7 512 224V448C512 483.3 483.3 512 448 512H224C188.7 512 160 483.3 160 448V384H208V448C208 456.8 215.2 464 224 464zM64 352C28.65 352 0 323.3 0 288V64C0 28.65 28.65 0 64 0H288C323.3 0 352 28.65 352 64V288C352 323.3 323.3 352 288 352H64z\\\"/></svg>\",\r\n \"check_duotone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><defs><style>.fa-secondary{opacity:.4}</style></defs><path class=\\\"fa-primary\\\" d=\\\"M438.6 105.4C451.1 117.9 451.1 138.1 438.6 150.6L182.6 406.6C170.1 419.1 149.9 419.1 137.4 406.6L9.372 278.6C-3.124 266.1-3.124 245.9 9.372 233.4C21.87 220.9 42.13 220.9 54.63 233.4L159.1 338.7L393.4 105.4C405.9 92.88 426.1 92.88 438.6 105.4H438.6z\\\"/></svg>\",\r\n \"check_round\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M25,10A15,15,0,1,0,40,25,15,15,0,0,0,25,10ZM23,34l-6.24-9.09,2.81-3.59L23,26.45,27.66,16h5.58Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"clock_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120V256c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z\\\"/></svg>\",\r\n \"comment_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M123.6 391.3c12.9-9.4 29.6-11.8 44.6-6.4c26.5 9.6 56.2 15.1 87.8 15.1c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 32 12.4 62.8 35.7 89.2c8.6 9.7 12.8 22.5 11.8 35.5c-1.4 18.1-5.7 34.7-11.3 49.4c17-7.9 31.1-16.7 39.4-22.7zM21.2 431.9c1.8-2.7 3.5-5.4 5.1-8.1c10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-37.1 0-72.3-6.4-104.1-17.9c-11.9 8.7-31.3 20.6-54.3 30.6c-15.1 6.6-32.3 12.6-50.1 16.1c-.8 .2-1.6 .3-2.4 .5c-4.4 .8-8.7 1.5-13.2 1.9c-.2 0-.5 .1-.7 .1c-5.1 .5-10.2 .8-15.3 .8c-6.5 0-12.3-3.9-14.8-9.9c-2.5-6-1.1-12.8 3.4-17.4c4.1-4.2 7.8-8.7 11.3-13.5c1.7-2.3 3.3-4.6 4.8-6.9c.1-.2 .2-.3 .3-.5z\\\"/></svg>\",\r\n \"cross_skinny\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><polygon points=\\\"25.35 5.52 24.65 4.81 15 14.46 5.35 4.81 4.65 5.52 14.29 15.17 4.65 24.81 5.35 25.52 15 15.87 24.65 25.52 25.35 24.81 15.71 15.17 25.35 5.52\\\" fill=\\\"#484f60\\\"/></g></svg>\",\r\n \"delete_left_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M432.1 208.1L385.9 256L432.1 303C442.3 312.4 442.3 327.6 432.1 336.1C423.6 346.3 408.4 346.3 399 336.1L352 289.9L304.1 336.1C295.6 346.3 280.4 346.3 271 336.1C261.7 327.6 261.7 312.4 271 303L318.1 256L271 208.1C261.7 199.6 261.7 184.4 271 175C280.4 165.7 295.6 165.7 304.1 175L352 222.1L399 175C408.4 165.7 423.6 165.7 432.1 175C442.3 184.4 442.3 199.6 432.1 208.1V208.1zM512 64C547.3 64 576 92.65 576 128V384C576 419.3 547.3 448 512 448H205.3C188.3 448 172 441.3 160 429.3L9.372 278.6C3.371 272.6 0 264.5 0 256C0 247.5 3.372 239.4 9.372 233.4L160 82.75C172 70.74 188.3 64 205.3 64L512 64zM528 128C528 119.2 520.8 112 512 112H205.3C201 112 196.9 113.7 193.9 116.7L54.63 256L193.9 395.3C196.9 398.3 201 400 205.3 400H512C520.8 400 528 392.8 528 384V128z\\\"/></svg>\",\r\n \"delivery_truck\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><rect x=\\\"15.35\\\" y=\\\"16.56\\\" width=\\\"15.14\\\" height=\\\"10.94\\\" transform=\\\"translate(-1.83 2.08) rotate(-5)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M38.5,18.1l-6.9.61L32.41,28l-7.63.67a3.76,3.76,0,0,1,1.43,2.25l7.25-.63A3.83,3.83,0,0,1,41,29.6l1-.1-.52-6Zm.29,5.84-3.91.34a.51.51,0,0,1-.55-.46L34,20.1a.49.49,0,0,1,.45-.54l2.27-.2a.5.5,0,0,1,.48.25l2,3.59A.5.5,0,0,1,38.79,23.94Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.66,29.09a3.8,3.8,0,0,0-1,2.46l-.74.07-1.82-.94L16,29.41Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M34.56,30.62a2.74,2.74,0,1,0,2.49-3A2.73,2.73,0,0,0,34.56,30.62Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.74,31.91a2.74,2.74,0,1,0,2.49-3A2.74,2.74,0,0,0,19.74,31.91Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"7.96\\\" y=\\\"17.63\\\" width=\\\"5\\\" height=\\\"1\\\" transform=\\\"translate(-1.54 0.98) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"11.02\\\" y=\\\"29.71\\\" width=\\\"3\\\" height=\\\"1\\\" transform=\\\"translate(-2.59 1.21) rotate(-5)\\\" fill=\\\"#484f60\\\"/><rect x=\\\"9.48\\\" y=\\\"23.53\\\" width=\\\"4\\\" height=\\\"1\\\" transform=\\\"matrix(1, -0.09, 0.09, 1, -2.05, 1.09)\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"dropzone\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><rect x=\\\"2\\\" y=\\\"1.67\\\" width=\\\"14\\\" height=\\\"6\\\" rx=\\\"2\\\" ry=\\\"2\\\" fill=\\\"#484f60\\\" opacity=\\\".5\\\"/><path d=\\\"M16.52,13.16l-.94-.47-1.61-2.53-1.23-1.62-.65-.85-1.53-1.59-2.06-1.17h-1.15l-.7,.7,.41,.91,2.47,2.2,.56,1.2,1.7,2.71,.82,2.26,.06,.74,.09,2.38-.23-.85-.97-.94-.79-.97-1.76-1.76-1.06-.35-.88,.24-.7,.62,1.32,1.44,1.56,1.97,2.14,3.73,2.2,2,1.82,1.14,2.44,1.06,1.91,1,2,1.03,.23,1.29,6.02-5.99v-.91s-.91-1-1-1.03c-.09-.03-.82-1.65-.82-1.65l-.47-1.91-.35-.97-1.32-1.67-.85-1.12-.5-.82-.88-1.14-.79-.77-1.33-.86-.22,.42,1.39,2.12-.94-.47-.86-1.48-1.33-1.38-1.06-.16-.03,.6,2.1,3.09-.94-.47-1.8-2.9-1.21-.86-1.29,.12,.18,.56,2.85,4.14Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M16,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\\\" fill=\\\"#484f60\\\" opacity=\\\".5\\\"/><path d=\\\"M18,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\\\" fill=\\\"#484f60\\\" opacity=\\\".25\\\"/><path d=\\\"M20,1.67h-1c1.1,0,2,.9,2,2v2c0,1.1-.9,2-2,2h1c1.1,0,2-.9,2-2V3.67c0-1.1-.9-2-2-2Z\\\" fill=\\\"#484f60\\\" opacity=\\\".1\\\"/></g></g></svg>\",\r\n \"email\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.79,38.45A17.82,17.82,0,0,1,23.86,40,13.09,13.09,0,0,1,10.41,26.42C10.41,17.63,16.83,10,26.53,10c7.63,0,13.06,5.21,13.06,12.46,0,6.33-3.53,10.3-8.19,10.3a3.42,3.42,0,0,1-3.71-3.32h-.08A6.5,6.5,0,0,1,22,32.76c-2.75,0-4.82-2.11-4.82-5.65a9.85,9.85,0,0,1,10.13-10,12.89,12.89,0,0,1,5.13,1l-1.3,8c-.43,2.54-.13,3.71,1.08,3.75,1.85.09,4.18-2.28,4.18-7.28,0-5.65-3.62-10-10.3-10S13.73,17.76,13.73,26c0,7.25,4.57,11.3,11,11.3A14.81,14.81,0,0,0,31,36ZM28,20.65a5.34,5.34,0,0,0-1.33-.18c-2.85,0-5.09,2.81-5.09,6.12,0,1.64.73,2.68,2.16,2.68,1.59,0,3.27-2,3.66-4.53Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"envelope_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M64 112c-8.8 0-16 7.2-16 16v22.1L220.5 291.7c20.7 17 50.4 17 71.1 0L464 150.1V128c0-8.8-7.2-16-16-16H64zM48 212.2V384c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V212.2L322 328.8c-38.4 31.5-93.7 31.5-132 0L48 212.2zM0 128C0 92.7 28.7 64 64 64H448c35.3 0 64 28.7 64 64V384c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128z\\\"/></svg>\",\r\n \"eye_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M288 80c-65.2 0-118.8 29.6-159.9 67.7C89.6 183.5 63 226 49.4 256c13.6 30 40.2 72.5 78.6 108.3C169.2 402.4 222.8 432 288 432s118.8-29.6 159.9-67.7C486.4 328.5 513 286 526.6 256c-13.6-30-40.2-72.5-78.6-108.3C406.8 109.6 353.2 80 288 80zM95.4 112.6C142.5 68.8 207.2 32 288 32s145.5 36.8 192.6 80.6c46.8 43.5 78.1 95.4 93 131.1c3.3 7.9 3.3 16.7 0 24.6c-14.9 35.7-46.2 87.7-93 131.1C433.5 443.2 368.8 480 288 480s-145.5-36.8-192.6-80.6C48.6 356 17.3 304 2.5 268.3c-3.3-7.9-3.3-16.7 0-24.6C17.3 208 48.6 156 95.4 112.6zM288 336c44.2 0 80-35.8 80-80s-35.8-80-80-80c-.7 0-1.3 0-2 0c1.3 5.1 2 10.5 2 16c0 35.3-28.7 64-64 64c-5.5 0-10.9-.7-16-2c0 .7 0 1.3 0 2c0 44.2 35.8 80 80 80zm0-208a128 128 0 1 1 0 256 128 128 0 1 1 0-256z\\\"/></svg>\",\r\n \"file_export_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M568.1 303l-80-80c-9.375-9.375-24.56-9.375-33.94 0s-9.375 24.56 0 33.94L494.1 296H216C202.8 296 192 306.8 192 320s10.75 24 24 24h278.1l-39.03 39.03C450.3 387.7 448 393.8 448 400s2.344 12.28 7.031 16.97c9.375 9.375 24.56 9.375 33.94 0l80-80C578.3 327.6 578.3 312.4 568.1 303zM360 384c-13.25 0-24 10.74-24 24V448c0 8.836-7.164 16-16 16H64.02c-8.836 0-16-7.164-16-16L48 64.13c0-8.836 7.164-16 16-16h160L224 128c0 17.67 14.33 32 32 32h79.1v72c0 13.25 10.74 24 23.1 24S384 245.3 384 232V138.6c0-16.98-6.742-33.26-18.75-45.26l-74.63-74.64C278.6 6.742 262.3 0 245.4 0H63.1C28.65 0-.002 28.66 0 64l.0065 384c.002 35.34 28.65 64 64 64H320c35.2 0 64-28.8 64-64v-40C384 394.7 373.3 384 360 384z\\\"/></svg>\",\r\n \"file_export_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 640 512\\\"><path d=\\\"M32 64C32 28.7 60.7 0 96 0H256V128c0 17.7 14.3 32 32 32H416V288H248c-13.3 0-24 10.7-24 24s10.7 24 24 24H416V448c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zM416 336V288H526.1l-39-39c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l80 80c9.4 9.4 9.4 24.6 0 33.9l-80 80c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l39-39H416zm0-208H288V0L416 128z\\\"/></svg>\",\r\n \"file_pdf_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M320 464C328.8 464 336 456.8 336 448V416H384V448C384 483.3 355.3 512 320 512H64C28.65 512 0 483.3 0 448V416H48V448C48 456.8 55.16 464 64 464H320zM256 160C238.3 160 224 145.7 224 128V48H64C55.16 48 48 55.16 48 64V192H0V64C0 28.65 28.65 0 64 0H229.5C246.5 0 262.7 6.743 274.7 18.75L365.3 109.3C377.3 121.3 384 137.5 384 154.5V192H336V160H256zM88 224C118.9 224 144 249.1 144 280C144 310.9 118.9 336 88 336H80V368C80 376.8 72.84 384 64 384C55.16 384 48 376.8 48 368V240C48 231.2 55.16 224 64 224H88zM112 280C112 266.7 101.3 256 88 256H80V304H88C101.3 304 112 293.3 112 280zM160 240C160 231.2 167.2 224 176 224H200C226.5 224 248 245.5 248 272V336C248 362.5 226.5 384 200 384H176C167.2 384 160 376.8 160 368V240zM192 352H200C208.8 352 216 344.8 216 336V272C216 263.2 208.8 256 200 256H192V352zM336 224C344.8 224 352 231.2 352 240C352 248.8 344.8 256 336 256H304V288H336C344.8 288 352 295.2 352 304C352 312.8 344.8 320 336 320H304V368C304 376.8 296.8 384 288 384C279.2 384 272 376.8 272 368V240C272 231.2 279.2 224 288 224H336z\\\"/></svg>\",\r\n \"file_pdf_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V160H256c-17.7 0-32-14.3-32-32V0H64zM256 0V128H384L256 0zM64 224H88c30.9 0 56 25.1 56 56s-25.1 56-56 56H80v32c0 8.8-7.2 16-16 16s-16-7.2-16-16V320 240c0-8.8 7.2-16 16-16zm24 80c13.3 0 24-10.7 24-24s-10.7-24-24-24H80v48h8zm72-64c0-8.8 7.2-16 16-16h24c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H176c-8.8 0-16-7.2-16-16V240zm32 112h8c8.8 0 16-7.2 16-16V272c0-8.8-7.2-16-16-16h-8v96zm96-128h48c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v32h32c8.8 0 16 7.2 16 16s-7.2 16-16 16H304v48c0 8.8-7.2 16-16 16s-16-7.2-16-16V304 240c0-8.8 7.2-16 16-16z\\\"/></svg>\",\r\n \"file_signature_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M64 464H320c8.8 0 16-7.2 16-16v-6.7l39.8-9.9c2.8-.7 5.6-1.6 8.2-2.7V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64C0 28.7 28.7 0 64 0H229.5c17 0 33.3 6.7 45.3 18.7l90.5 90.5c12 12 18.7 28.3 18.7 45.3v49.1l-48 48V160H256c-17.7 0-32-14.3-32-32V48H64c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16zm96-115l-9.8 32.8c-6.1 20.3-24.8 34.2-46 34.2H96c-8.8 0-16-7.2-16-16s7.2-16 16-16h8.2c7.1 0 13.3-4.6 15.3-11.4l14.9-49.5c3.4-11.3 13.8-19.1 25.6-19.1s22.2 7.7 25.6 19.1l11.6 38.6c7.4-6.2 16.8-9.7 26.8-9.7c15.9 0 30.4 9 37.5 23.2l4.4 8.8h25.6l12-48.2c1.4-5.6 4.3-10.8 8.4-14.9L441.1 191.8l71 71L382.9 391.9c-4.1 4.1-9.2 7-14.9 8.4l-60.1 15c-1.1 .3-2.1 .4-3.2 .5c-.8 .1-1.5 .2-2.3 .2H256c-6.1 0-11.6-3.4-14.3-8.8l-8.8-17.7c-1.7-3.4-5.1-5.5-8.8-5.5s-7.2 2.1-8.8 5.5l-8.8 17.7c-2.9 5.9-9.2 9.4-15.7 8.8s-12.1-5.1-13.9-11.3L160 349zM549.8 139.7l14.4 14.4c15.6 15.6 15.6 40.9 0 56.6l-29.4 29.4-71-71 29.4-29.4c15.6-15.6 40.9-15.6 56.6 0z\\\"/></svg>\",\r\n \"house_blank_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M303.5 5.7c-9-7.6-22.1-7.6-31.1 0l-264 224c-10.1 8.6-11.3 23.7-2.8 33.8s23.7 11.3 33.8 2.8L64 245.5V432c0 44.2 35.8 80 80 80H432c44.2 0 80-35.8 80-80V245.5l24.5 20.8c10.1 8.6 25.3 7.3 33.8-2.8s7.3-25.3-2.8-33.8l-264-224zM464 204.8V432c0 17.7-14.3 32-32 32H144c-17.7 0-32-14.3-32-32V204.8L288 55.5 464 204.8z\\\"/></svg>\",\r\n \"lock\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M22.65,11.67H7.35c-2.82,0-3.07,2.29-3.07,5.12v8.09c0,2.83,.25,5.12,3.07,5.12h15.29c2.81,0,3.07-2.29,3.07-5.12v-8.09c0-2.83-.25-5.12-3.07-5.12Zm-12.42,15.82l2.6-6.32c-1-.7-1.65-1.85-1.65-3.15,0-2.12,1.71-3.84,3.82-3.84s3.82,1.73,3.82,3.84c0,1.31-.65,2.46-1.65,3.15l2.6,6.32H10.22Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.51,6.64c0-3.6-2.02-4.07-4.51-4.07h0c-2.49,0-4.51,.47-4.51,4.07v3h-2.7v-3C7.79,1.62,11.02,0,15,0h0c3.98,0,7.21,1.62,7.21,6.64v3h-2.7v-3Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\r\n \"message_sms_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448-.0004H64c-35.25 0-64 28.75-64 63.1v287.1c0 35.25 28.75 63.1 64 63.1h96v83.98c0 9.836 11.02 15.55 19.12 9.7L304 415.1H448c35.25 0 64-28.75 64-63.1V63.1C512 28.75 483.3-.0004 448-.0004zM464 352c0 8.75-7.25 16-16 16h-160l-80 60v-60H64c-8.75 0-16-7.25-16-16V64c0-8.75 7.25-16 16-16h384c8.75 0 16 7.25 16 16V352zM124.4 192.6C113.6 189.5 103.2 187.2 104.2 181.5c.7813-4.5 10.28-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.375 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34C143.1 147.8 136.5 145.9 130.6 145c-30.69-4.812-53.94 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34C135 239 125.7 241.1 114.3 239.4C107.9 238.4 100.4 235.4 93.38 232.9c-8.375-2.969-16 1.875-18.97 10.19S77.19 261.1 85.5 264.1C92.81 266.8 101.1 269.8 109.4 271C113.7 271.7 117.9 272 121.1 272c24.28 0 41.94-12.03 45.38-32.13C173.1 206.5 141.4 197.5 124.4 192.6zM396.4 192.6C385.6 189.5 375.2 187.2 376.2 181.5c.7813-4.5 10.31-6.562 21.5-4.906c4.156 .6562 8.75 2.094 13.09 3.594c8.406 2.906 17.47-1.562 20.34-9.906c2.875-8.344-1.562-17.47-9.906-20.34c-6.156-2.125-12.69-4.062-18.59-4.969c-30.75-4.812-53.97 7.719-58 31.09c-5.656 33.03 26.5 42.47 38.63 46c13.72 3.947 25.62 6.432 24.56 12.34c-.7813 4.562-10.12 6.656-21.56 4.938c-6.342-.9883-13.9-3.939-20.88-6.438c-8.375-2.969-16 1.875-18.97 10.19s2.781 17.97 11.09 20.97c7.312 2.656 15.62 5.656 23.88 6.906C385.7 271.7 389.9 272 393.1 272c24.28 0 41.94-12.03 45.38-32.13C445.1 206.5 413.4 197.5 396.4 192.6zM309.1 144.8c-6.469-2.062-13.72 .0625-17.88 5.594L256 197.3L220.8 150.4C216.7 144.9 209.4 142.7 202.9 144.8C196.4 147 192 153.1 192 160v96c0 8.844 7.156 16 16 16S224 264.8 224 256V208l19.19 25.59c6.062 8.062 19.56 8.062 25.62 0L288 208V256c0 8.844 7.156 16 16 16S320 264.8 320 256V160C320 153.1 315.6 147 309.1 144.8z\\\"/></svg>\",\r\n \"message_sms_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M0 64C0 28.7 28.7 0 64 0H448c35.3 0 64 28.7 64 64V352c0 35.3-28.7 64-64 64H309.3L185.6 508.8c-4.8 3.6-11.3 4.2-16.8 1.5s-8.8-8.2-8.8-14.3V416H64c-35.3 0-64-28.7-64-64V64zm202.9 80.8C196.4 147 192 153.1 192 160v96c0 8.8 7.2 16 16 16s16-7.2 16-16V208l19.2 25.6c3 4 7.8 6.4 12.8 6.4s9.8-2.4 12.8-6.4L288 208v48c0 8.8 7.2 16 16 16s16-7.2 16-16V160c0-6.9-4.4-13-10.9-15.2s-13.7 .1-17.9 5.6L256 197.3l-35.2-46.9c-4.1-5.5-11.3-7.8-17.9-5.6zm173.1 38c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.1 .1 12.9 1.4 20.1 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.2-2.2-17.9-4.3-27.9-4.4c-9.3-.1-20.4 1.9-29.7 7.4c-9.9 5.9-18.6 16.4-18.5 31.6c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7-.2-13.5-2.4-22.6-5.5l0 0 0 0c-1.5-.5-3.2-1.1-4.9-1.6c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.2 .4 2.6 .9 4 1.4l0 0 0 0c8.8 3 20.4 7 32.6 7.4c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.2-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4zm-272 0c0-1.1 .2-1.6 .4-1.9c.3-.4 .9-1.2 2.4-2c3.1-1.8 8-3 12.9-2.9c6.6 .1 16.7 1.6 23.3 3.4c8.5 2.3 17.3-2.8 19.6-11.3s-2.8-17.3-11.3-19.6c-8.8-2.4-21.6-4.3-31.1-4.4c-9.3-.1-20.4 1.9-29.7 7.4C80.6 157.3 72 167.8 72 183c.1 14.7 8.8 24 17.7 29.4c7.6 4.6 17.1 7.4 24.3 9.6l0 0 1.2 .4c8.5 2.6 14.2 4.5 18 6.9c2.7 1.7 2.7 2.4 2.7 3.1l0 .2c0 1.6-.3 2.3-.6 2.7c-.3 .5-.9 1.2-2.1 2c-2.8 1.7-7.5 2.9-12.8 2.8c-7.2-.2-14.2-2.6-23.7-5.8l0 0 0 0c-1.3-.4-2.7-.9-4.1-1.4c-8.4-2.8-17.4 1.7-20.2 10.1s1.7 17.4 10.1 20.2c1.1 .4 2.4 .8 3.6 1.2l0 0 0 0c9 3.1 20.9 7.2 33.2 7.6c9.8 .3 21.2-1.6 30.7-7.6c10.2-6.4 18-17.3 17.8-32.3c-.2-14.7-8.5-24.2-17.6-29.9c-8-5-17.9-8-25.2-10.2l-.6-.2c-8.6-2.6-14.4-4.4-18.3-6.8c-1.6-1-2.1-1.6-2.2-1.7c0-.1 0-.2 0-.4z\\\"/></svg>\",\r\n \"paperclip_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M375 73c-26-26-68.1-26-94.1 0L89 265C45.3 308.6 45.3 379.4 89 423s114.4 43.6 158.1 0L399 271c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L281 457c-62.4 62.4-163.5 62.4-225.9 0S-7.4 293.4 55 231L247 39C291.7-5.7 364.2-5.7 409 39s44.7 117.2 0 161.9L225.2 384.7c-31.6 31.6-83.6 28.7-111.5-6.2c-23.8-29.8-21.5-72.8 5.5-99.8L271 127c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9L153.2 312.7c-9.7 9.7-10.6 25.1-2 35.8c10 12.5 28.7 13.6 40 2.2L375 167c26-26 26-68.1 0-94.1z\\\"/></svg>\",\r\n \"pdf\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M31.42,40.17H13.88c-2.16,0-2.72-.56-2.72-2.72V12.88c0-2.15.56-2.71,2.72-2.71h11.6l8.66,8.88v3.43H32.8V19.6l-7.88-8.09h-11c-1.38,0-1.38,0-1.38,1.37V37.45c0,1.37,0,1.37,1.38,1.37H31.42c1.38,0,1.38,0,1.38-1.37V35h1.34v2.43C34.14,39.61,33.58,40.17,31.42,40.17Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M27.83,26.63v4.24h1a3.57,3.57,0,0,0,.78-.06,1.22,1.22,0,0,0,.52-.26,1.44,1.44,0,0,0,.34-.62,4.13,4.13,0,0,0,.13-1.18,3.79,3.79,0,0,0-.13-1.14,1.51,1.51,0,0,0-.37-.62,1.14,1.14,0,0,0-.6-.3,5.93,5.93,0,0,0-1.06-.06Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M21.86,26.63v1.82h.71a3.57,3.57,0,0,0,1-.1A.88.88,0,0,0,24,28a.84.84,0,0,0,.14-.5.8.8,0,0,0-.2-.57.88.88,0,0,0-.52-.29,6.36,6.36,0,0,0-.93,0Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M19.14,24.27v9h19.7v-9Zm6.12,4.24a1.68,1.68,0,0,1-.54.63,1.9,1.9,0,0,1-.67.3,6.57,6.57,0,0,1-1.34.1h-.85V32H20.57V25.54h2.07a7.75,7.75,0,0,1,1.54.1,1.73,1.73,0,0,1,.93.63,2,2,0,0,1,.37,1.25A2,2,0,0,1,25.26,28.51Zm6.45,1.66A2.91,2.91,0,0,1,31,31.31a2.28,2.28,0,0,1-.91.51A4,4,0,0,1,29,32H26.54V25.54H28.9a4.21,4.21,0,0,1,1.22.13,2.08,2.08,0,0,1,1,.59,2.79,2.79,0,0,1,.61,1,4.76,4.76,0,0,1,.21,1.52A4.19,4.19,0,0,1,31.71,30.17Zm5.7-3.54h-3.1v1.52H37v1.08H34.31V32H33V25.54h4.39Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M25.2,10.84v6.44c0,1.78.27,2,2,2h6.23Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"person_digging_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 576 512\\\"><path d=\\\"M208 64a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM440.8 288c8.2 .3 15.7 4.7 19.8 11.8l104 176c4.4 7.4 4.5 16.6 .2 24.1s-12.2 12.1-20.8 12.1H288c-7.7 0-15-3.7-19.5-10s-5.7-14.3-3.3-21.6l16-48c3.3-9.8 12.4-16.4 22.8-16.4h35.4l20.3-29.5L22.8 246.2c-12.2-5.1-18-19.1-12.9-31.4s19.1-18 31.4-12.9L61 210.1l19.8-36.2C96.2 145.6 125.8 128 158 128h3.8c52.3 0 98.5 33.8 114.4 83.6l32.3 101.6 79 32.9 32.8-47.7c4.6-6.8 12.4-10.7 20.6-10.4zm-190.4 1l-20-62.8c-9.5-29.9-37.3-50.2-68.6-50.2H158c-14.6 0-28.1 8-35.1 20.8l-17.3 31.8L250.4 289zm188.1 67.6l-66.7 97L364.6 464H501.9L438.5 356.6zM81.4 301.1l128 54.4c8.9 3.8 14.6 12.5 14.6 22.1V488c0 13.3-10.7 24-24 24s-24-10.7-24-24V393.5L87.5 355.9 47 494.7c-3.7 12.7-17 20-29.8 16.3S-2.7 494 1 481.3L49 316.5l7.6-25.9 24.9 10.6z\\\"/></svg>\",\r\n \"print\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M38,16.5H12a2,2,0,0,0-2,2v9a2,2,0,0,0,2,2h2v-5H36v5h2a2,2,0,0,0,2-2v-9A2,2,0,0,0,38,16.5ZM37,21a1.5,1.5,0,1,1,1.5-1.5A1.5,1.5,0,0,1,37,21Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,11.5v5H15v-5H35m1-1H14v7H36v-7Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M35,25.5v13H15v-13H35m1-1H14v15H36v-15Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"28.3\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"31.5\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/><rect x=\\\"17\\\" y=\\\"34.7\\\" width=\\\"16\\\" height=\\\"0.8\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"print_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M111.1 48h254.1L400 81.94V160H448V81.94c0-12.73-5.057-24.94-14.06-33.94l-33.94-33.94C391 5.057 378.8 0 366.1 0H111.1C85.49 0 64.01 21.48 64 47.98l.002 82.28c-.002 0 .002 0 0 0L64 160h48.01L111.1 48zM440 192H72C32.3 192 0 224.3 0 264v112c0 13.25 10.75 24 24 24H80V480c0 17.67 14.33 32 32 32h288c17.67 0 32-14.33 32-32v-80h56c13.25 0 24-10.75 24-24v-112C512 224.3 479.7 192 440 192zM384 464H128v-96h256V464zM464 352h-32c0-17.67-14.33-32-32-32h-288c-17.67 0-32 14.33-32 32h-32V264c0-13.23 10.77-24 24-24h368c13.23 0 24 10.77 24 24V352z\\\"/></svg>\",\r\n \"print_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 512 512\\\"><path d=\\\"M448 192H64C28.65 192 0 220.7 0 256v96c0 17.67 14.33 32 32 32h32v96c0 17.67 14.33 32 32 32h320c17.67 0 32-14.33 32-32v-96h32c17.67 0 32-14.33 32-32V256C512 220.7 483.3 192 448 192zM384 448H128v-96h256V448zM432 296c-13.25 0-24-10.75-24-24c0-13.27 10.75-24 24-24s24 10.73 24 24C456 285.3 445.3 296 432 296zM128 64h229.5L384 90.51V160h64V77.25c0-8.484-3.375-16.62-9.375-22.62l-45.25-45.25C387.4 3.375 379.2 0 370.8 0H96C78.34 0 64 14.33 64 32v128h64V64z\\\"/></svg>\",\r\n \"signature_field\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 50 50\\\"><path d=\\\"M20.1,25.42a1.1,1.1,0,1,1,1.27,1.45l-3.3,9.07A63.13,63.13,0,0,1,28,28.3l1.26-12-8.26-3-6.77,10A62.4,62.4,0,0,1,17,35.54l3.3-9.07A1.12,1.12,0,0,1,20.1,25.42Z\\\" fill=\\\"#484f60\\\"/><rect x=\\\"21.62\\\" y=\\\"11.43\\\" width=\\\"8.79\\\" height=\\\"2.34\\\" transform=\\\"translate(5.88 -8.14) rotate(20)\\\" fill=\\\"#484f60\\\"/><path d=\\\"M18.11,37.48c1.44,2.65,4.58,2.94,7.23,2.1,1.41-.44,2.2-1.49,3.44-2.06,2.42-1.1,3.13,1.2,5.36,1.37.42,0,2-.65,1.54-.68-2.55-.19-2.93-3.13-5.51-2.65a4.9,4.9,0,0,0-1.64.71c-.77.49-1.31,1.62-2.07,2l-4.61.56A3.38,3.38,0,0,1,20,37c-.22-.41-2,.28-1.85.5Z\\\" fill=\\\"#484f60\\\"/></svg>\",\r\n \"tag_regular\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M197.5 32c17 0 33.3 6.7 45.3 18.7l176 176c25 25 25 65.5 0 90.5L285.3 450.7c-25 25-65.5 25-90.5 0l-176-176C6.7 262.7 0 246.5 0 229.5V80C0 53.5 21.5 32 48 32H197.5zM48 229.5c0 4.2 1.7 8.3 4.7 11.3l176 176c6.2 6.2 16.4 6.2 22.6 0L384.8 283.3c6.2-6.2 6.2-16.4 0-22.6l-176-176c-3-3-7.1-4.7-11.3-4.7H48V229.5zM112 112a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\\\"/></svg>\",\r\n \"trashbin\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 448 512\\\"><path d=\\\"M144 400C144 408.8 136.8 416 128 416C119.2 416 112 408.8 112 400V176C112 167.2 119.2 160 128 160C136.8 160 144 167.2 144 176V400zM240 400C240 408.8 232.8 416 224 416C215.2 416 208 408.8 208 400V176C208 167.2 215.2 160 224 160C232.8 160 240 167.2 240 176V400zM336 400C336 408.8 328.8 416 320 416C311.2 416 304 408.8 304 400V176C304 167.2 311.2 160 320 160C328.8 160 336 167.2 336 176V400zM310.1 22.56L336.9 64H432C440.8 64 448 71.16 448 80C448 88.84 440.8 96 432 96H416V432C416 476.2 380.2 512 336 512H112C67.82 512 32 476.2 32 432V96H16C7.164 96 0 88.84 0 80C0 71.16 7.164 64 16 64H111.1L137 22.56C145.8 8.526 161.2 0 177.7 0H270.3C286.8 0 302.2 8.526 310.1 22.56V22.56zM148.9 64H299.1L283.8 39.52C280.9 34.84 275.8 32 270.3 32H177.7C172.2 32 167.1 34.84 164.2 39.52L148.9 64zM64 432C64 458.5 85.49 480 112 480H336C362.5 480 384 458.5 384 432V96H64V432z\\\" fill=\\\"#484f60\\\"></path></svg>\",\r\n \"xml\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 30 30\\\"><g ><g><path d=\\\"M21.42,30.17H3.87c-2.16,0-2.72-.56-2.72-2.72V2.88C1.16,.73,1.72,.17,3.87,.17H15.48l8.66,8.88v3.43h-1.34v-2.88L14.92,1.51H3.87q-1.37,0-1.37,1.37V27.45q0,1.37,1.37,1.37H21.42q1.37,0,1.37-1.37v-2.43h1.34v2.43c0,2.16-.56,2.72-2.72,2.72Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M15.2,.84V7.28c0,1.78,.27,2.05,2.04,2.05h6.22L15.2,.84Z\\\" fill=\\\"#484f60\\\"/><path d=\\\"M9.14,14.27v8.96H28.84V14.27H9.14Zm5.36,7.4l-1.3-2.02-1.3,2.02h-1.42l2-3.05-1.81-2.8h1.38l1.17,1.88,1.15-1.88h1.37l-1.82,2.84,2,3.01h-1.43Zm7.67,0h-1.1v-4.61l-1.16,4.61h-1.14l-1.16-4.61v4.61h-1.1v-5.85h1.77l1.06,3.99,1.05-3.99h1.77v5.85Zm5.33,0h-4.12v-5.81h1.18v4.82h2.94v.99Z\\\" fill=\\\"#484f60\\\"/></g></g></svg>\",\r\n \"x_solid\": \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 384 512\\\"><path d=\\\"M376.6 84.5c11.3-13.6 9.5-33.8-4.1-45.1s-33.8-9.5-45.1 4.1L192 206 56.6 43.5C45.3 29.9 25.1 28.1 11.5 39.4S-3.9 70.9 7.4 84.5L150.3 256 7.4 427.5c-11.3 13.6-9.5 33.8 4.1 45.1s33.8 9.5 45.1-4.1L192 306 327.4 468.5c11.3 13.6 31.5 15.4 45.1 4.1s15.4-31.5 4.1-45.1L233.7 256 376.6 84.5z\\\"/></svg>\"\r\n};","import {Injectable} from \"@angular/core\";\r\nimport {DomSanitizer, SafeHtml} from \"@angular/platform-browser\";\r\nimport {Icon} from \"../enum/icon.enum\";\r\nimport {IconSvg} from \"../model/icon-svg\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class IconCacheService {\r\n /**\r\n * All the icons as a large JSON object, from the all-icons.json file.\r\n * The object has property keys that are the icon names, and property values with the data string of the actual svg icon.\r\n */\r\n public get iconCache(): { [iconName: string]: SafeHtml } {\r\n return this._iconCache;\r\n }\r\n\r\n private _iconCache: { [iconName: string]: SafeHtml } = {};\r\n\r\n constructor(\r\n private _sanitizer: DomSanitizer\r\n ) {\r\n this.setIconCache();\r\n }\r\n\r\n public getIcon(iconName: Icon | string): SafeHtml {\r\n if (iconName) {\r\n return this._iconCache[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public getIconAsBase64(iconName: Icon): SafeHtml {\r\n const icon: string = IconSvg[iconName];\r\n const base64Data: string = window.btoa(icon);\r\n return this._sanitizer.bypassSecurityTrustUrl(`data:image/svg+xml;base64,${base64Data}`);\r\n }\r\n\r\n public getRawIcon(iconName: Icon): string {\r\n if (iconName) {\r\n return IconSvg[iconName.toLowerCase()];\r\n }\r\n }\r\n\r\n public setIconCache(): void {\r\n for (const key in IconSvg) {\r\n if (IconSvg.hasOwnProperty(key) && typeof IconSvg[key] !== \"function\") {\r\n this._iconCache[key.toLowerCase()] = this._sanitizer.bypassSecurityTrustHtml(IconSvg[key]);\r\n }\r\n }\r\n }\r\n}\r\n","/** AUTO GENERATED FILE. DO NOT CHANGE.. OR YOU WILL SUFFER THE CONSEQUENCES OF YOUR ACTIONS **/\r\n\r\nexport enum Icon {\r\n Account = \"account\",\r\n AngleLeftSolid = \"angle_left_solid\",\r\n AngleRightSolid = \"angle_right_solid\",\r\n ArrowFatRight = \"arrow_fat_right\",\r\n ArrowPointLeft = \"arrow_point_left\",\r\n ArrowPointRight = \"arrow_point_right\",\r\n AtSolid = \"at_solid\",\r\n BringForwardRegular = \"bring_forward_regular\",\r\n CheckDuotone = \"check_duotone\",\r\n CheckRound = \"check_round\",\r\n ClockRegular = \"clock_regular\",\r\n CommentRegular = \"comment_regular\",\r\n CrossSkinny = \"cross_skinny\",\r\n DeleteLeftRegular = \"delete_left_regular\",\r\n DeliveryTruck = \"delivery_truck\",\r\n Dropzone = \"dropzone\",\r\n Email = \"email\",\r\n EnvelopeRegular = \"envelope_regular\",\r\n EyeRegular = \"eye_regular\",\r\n FileExportRegular = \"file_export_regular\",\r\n FileExportSolid = \"file_export_solid\",\r\n FilePdfRegular = \"file_pdf_regular\",\r\n FilePdfSolid = \"file_pdf_solid\",\r\n FileSignatureRegular = \"file_signature_regular\",\r\n HouseBlankRegular = \"house_blank_regular\",\r\n Lock = \"lock\",\r\n MessageSmsRegular = \"message_sms_regular\",\r\n MessageSmsSolid = \"message_sms_solid\",\r\n PaperclipRegular = \"paperclip_regular\",\r\n Pdf = \"pdf\",\r\n PersonDiggingRegular = \"person_digging_regular\",\r\n Print = \"print\",\r\n PrintRegular = \"print_regular\",\r\n PrintSolid = \"print_solid\",\r\n SignatureField = \"signature_field\",\r\n TagRegular = \"tag_regular\",\r\n Trashbin = \"trashbin\",\r\n Xml = \"xml\",\r\n XSolid = \"x_solid\"\r\n}","import {Component, EventEmitter, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleStock} from \"@colijnit/articleapi/build/model/article-stock\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {CoDropDownListFields} from \"../stock-transfer/co-drop-down-list-fields.interface\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {SendMethodType} from \"@colijnit/mainapi/build/enum/send-method-type.enum\";\r\n\r\n@Component({\r\n selector: \"co-stock-information-grid\",\r\n template: `\r\n <div class=\"tab-link show\" *ngIf=\"hideOrShowTabs\">\r\n <span class=\"tab-link-buttons\"\r\n *ngFor=\"let tab of tabs\"\r\n (click)=\"handleTabClick(tab)\"\r\n [textContent]=\"tab\"\r\n [class.active]=\"tab === activeTab\"\r\n ></span>\r\n </div>\r\n\r\n <div class=\"stock-line\">\r\n <div [textContent]=\"activeTabText\"></div>\r\n\r\n </div>\r\n\r\n <div class=\"stock-grid\">\r\n <co-simple-grid *ngIf=\"activeTab === tabs[0] && hideOrShowTabs\"\r\n [data]=\"articleStockInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNo'\" [order]=\"10\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseName'\" [order]=\"11\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'technicalStock'\" [order]=\"12\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'availableStock'\" [order]=\"13\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK' | localize\" [field]=\"'economicalStock'\" [order]=\"14\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\" [order]=\"15\">\r\n <ng-template #template let-row=\"row\">\r\n <span class=\"location-link\" [textContent]=\"'LOOK_AT' | localize\" (click)=\"onLocationClick(row)\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n\r\n <co-simple-grid *ngIf=\"activeTab === tabs[1]\"\r\n [data]=\"inOrderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CUSTOMER' | localize\" [field]=\"'customerName'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick($event)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n\r\n <co-simple-grid *ngIf=\"activeTab === tabs[2]\"\r\n [data]=\"orderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RESERVED' | localize\" [field]=\"'reserved'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'InOrderForStock'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.deliveryDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <div class=\"stock-grid\" *ngIf=\"hideOrShowLocationTab\">\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"handleBackToStockClick()\"></span>\r\n </div>\r\n <div class=\"stock-location-right-group\">\r\n<!--\r\n <co-drop-down-list [(model)]=\"selectedWarehouse\"\r\n [collection]=\"dataWareHouseCode\"\r\n [fields]=\"dataWareHouseFields\"\r\n [placeholder]=\"'WAREHOUSE' | localize\"\r\n (modelChange)=\"onSelectWarehouse($event)\"\r\n [required]=\"true\"\r\n ></co-drop-down-list>\r\n-->\r\n </div>\r\n </div>\r\n\r\n<!-- TODO move to own component stock-location-->\r\n <co-simple-grid [data]=\"articleDetails\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n [showAdd]=\"true\"\r\n [showToolbar]=\"true\"\r\n [showDelete]=\"true\"\r\n [inlineEdit]=\"true\"\r\n (dblClickRow)=\"lockSelectedRow($event)\"\r\n >\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-left-group\">\r\n <co-button class=\"stock-lines-button\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"handleBackToStockClick()\"></co-button>\r\n </div>\r\n </div>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n<!--\r\n <co-drop-down-list [(model)]=\"row.locationNo\"\r\n [collection]=\"stockLocations\"\r\n [fields]=\"dataLocationFields\"\r\n [placeholder]=\"'LOCATION' | localize\"\r\n (click)=\"onLocationDropdownClick()\"\r\n [required]=\"true\"\r\n ></co-drop-down-list>\r\n-->\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'BATCH' | localize\" [field]=\"'batchNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.batchNo\"\r\n [placeholder]=\"'BATCH' | localize\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleDetails\" [headerText]=\"'SERIAL_NO' | localize\" [field]=\"'serialNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.serialNo\"\r\n [placeholder]=\"'SERIAL_NO' | localize\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'amountInStock'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row.amountInStock\"\r\n [label]=\"'STOCK' | localize\"\r\n (modelChange)=\"amountInStockChanged($event)\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ALLOCATED' | localize\" [field]=\"'stockAssigned'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.stockAssigned\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'amountInStockFree'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.amountInStockFree\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currency'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.currency\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_PRICE' | localize\" [field]=\"'purchasePrice'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.purchasePrice\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SUPPLIER_NUMBER' | localize\" [field]=\"'supplierNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row.supplierNo\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <co-stock-change-amount *ngIf=\"showChangeStockDetails\"\r\n (closeStockChangeAmount)=\"showChangeStockDetails = false\"\r\n [selectedArticleDetailsData]=\"selectedArticleDetailsData\"\r\n >\r\n </co-stock-change-amount>\r\n\r\n <div class=\"stock-grid\" *ngIf=\"showStockHistory\">\r\n <div class=\"stock-button-left-group\">\r\n <span class=\"stock-button-back\" [textContent]=\"'BACK_TO_STOCK_LINES' | localize\" (click)=\"backToStockInformation()\"></span>\r\n </div>\r\n <co-simple-grid [data]=\"stockHistoryInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSACTION_TYPE' | localize\" [field]=\"'transType'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'posLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_ID' | localize\" [field]=\"'relationId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n\r\n <div class=\"stock-button-toolbar\">\r\n <div class=\"stock-button-left-group\">\r\n <co-button *ngIf=\"activeTab === tabs[0]\" [label]=\"'HISTORY' | localize\" (click)=\"handleHistoryClick()\"></co-button>\r\n </div>\r\n <div class=\"stock-button-middle-group\" *ngIf=\"activeTab !== tabs[0]\">\r\n <div class=\"button-left\">\r\n <co-button [textContent]=\"'OK' | localize\" (click)=\"onOkClick()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"onCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n\r\n <div class=\"stock-button-middle-group\" *ngIf=\"hideOrShowLocationTab\">\r\n <div class=\"button-left\">\r\n <co-button [textContent]=\"'OK' | localize\" (click)=\"onOkClickSendLocations()\"></co-button>\r\n </div>\r\n <div class=\"button-right\">\r\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"onCancelClickSendLocations()\"></co-button>\r\n </div>\r\n </div>\r\n </div>\r\n <co-send-method-dialog *ngIf=\"showSendMethodDialog\"\r\n (closeClick)=\"showSendMethodDialog = false\"\r\n [visibleMethods]=\"sendMethod[1]\"\r\n ></co-send-method-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class StockInformationGridComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild(StockInformationGridComponent)\r\n public stock: StockInformationGridComponent;\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[];\r\n\r\n @Input()\r\n public stockLocationData: ArticleStockBo[];\r\n\r\n @Input()\r\n public stockHistoryInformation: StockHistoryBo[];\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly historyClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly cancelButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly okButtonClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n public image: string;\r\n public show: boolean = false;\r\n public hideOrShowLocationTab: boolean = false;\r\n public showStockHistory: boolean = false;\r\n public showSendMethodDialog: boolean = false;\r\n\r\n public inOrderInformation: ArticleTransactionBo[];\r\n public orderInformation: ArticleTransactionBo[]\r\n public hideOrShowTabs: boolean = true;\r\n public dataWareHouseCode: StockManagementWarehouses[];\r\n public dataWareHouseFields: CoDropDownListFields = { text: \"warehouseDescription\", value: \"warehouseNo\" };\r\n public dataLocationFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\r\n public selectedWarehouse: any;\r\n public selectedLocation: StockLocation;\r\n public stockLocations: StockLocation[];\r\n public articleStockSearchInfo: ArticleStock = new ArticleStock();\r\n public articleDetails: ArticleDetailsBo[];\r\n public selectedArticleDetailsData: ArticleDetailsBo = new ArticleDetailsBo();\r\n public showChangeStockDetails: boolean = false;\r\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement();\r\n public sendMethod: SendMethodType[];\r\n\r\n public tabs: string[] = [\r\n \"STOCK\",\r\n \"IN_ORDER2\",\r\n \"ORDERS1\"\r\n ];\r\n public activeTab: string = this.tabs[0];\r\n\r\n public get activeTabText(): string {\r\n switch (this.activeTab) {\r\n case this.tabs[0]:\r\n return \"Voorraadregels\";\r\n case this.tabs[1]:\r\n return \"Gevonden in order(s)\";\r\n case this.tabs[2]:\r\n return \"Gevonden in bestellingen\";\r\n default:\r\n return \"Voorraadlocatie regels\";\r\n }\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n public handleTabClick(tabData): void {\r\n this.activeTab = tabData;\r\n if (this.activeTab === \"IN_ORDER2\") {\r\n this.getInOrderData();\r\n } if (this.activeTab === \"ORDERS1\") {\r\n this.getOrderData();\r\n }\r\n }\r\n\r\n public onLocationClick(data: ArticleStockBo): void {\r\n this.articleStockSearchInfo.goodId = data.goodId.toString();\r\n this.articleStockSearchInfo.wareHouseNo = data.warehouseNo.toString();\r\n this.articleStockSearchInfo.viewKind = \"D\";\r\n this.selectedWarehouse = data.warehouseNo;\r\n if (!this.dataWareHouseCode) {\r\n this.getStockManagementWarehouses(data);\r\n }\r\n this.getArticleDetails(data);\r\n this.hideOrShowTabs = false;\r\n this.hideOrShowLocationTab = true;\r\n }\r\n\r\n public handleHistoryClick(): void {\r\n this.historyClicked.emit()\r\n this.hideOrShowLocationTab = false;\r\n this.showChangeStockDetails = false;\r\n this.hideOrShowTabs = false;\r\n this.showStockHistory = true;\r\n }\r\n\r\n public backToStockInformation(): void {\r\n this.showStockHistory = false;\r\n this.hideOrShowTabs = true;\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.transferIconClicked.emit(event);\r\n }\r\n\r\n public async handleBackToStockClick(): Promise<void> {\r\n this.activeTab = this.tabs[0];\r\n this.hideOrShowTabs = true;\r\n this.hideOrShowLocationTab = false;\r\n this.articleDetails = undefined;\r\n }\r\n\r\n public openSendMethodDialog(data): void {\r\n if (!(this._stockService.printLayoutParams instanceof PrintPriceStickers)) {\r\n this._stockService.printLayoutParams.goodId = data.goodId;\r\n this._stockService.printLayoutParams.warehouse = data.warehouseNo;\r\n }\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public printStockStickers(): void {\r\n // this._stockService.getPrintStockStickers(this._stockService.printLayoutParams);\r\n }\r\n\r\n public onOkClick(): void {\r\n this.okButtonClicked.emit();\r\n }\r\n\r\n public onCancelClick(): void {\r\n this.cancelButtonClicked.emit();\r\n }\r\n\r\n public openDialogClick(data): void {\r\n this.selectedArticleDetailsData = data;\r\n this.showChangeStockDetails = true;\r\n }\r\n\r\n public getArticleDetails(data: any): void {\r\n // const info = new ArticleStockManagement();\r\n this.articleDetailsInformation.goodId = data.goodId;\r\n this.articleDetailsInformation.lineId = data.lineId;\r\n this.articleDetailsInformation.warehouseNumber = data.warehouseNo;\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n public getStockManagementWarehouses(data: ArticleStockBo): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.dataWareHouseCode = warehouses;\r\n this.selectedWarehouse = data.warehouseNo;\r\n })\r\n }\r\n\r\n public onSelectWarehouse(event): void {\r\n this.articleDetailsInformation.warehouseNumber = event;\r\n if (this.selectedWarehouse || this.selectedWarehouse === 0) {\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n }\r\n\r\n public async getInOrderData(): Promise<void> {\r\n const inOrderData: ArticleTransaction = new ArticleTransaction();\r\n inOrderData.type = \"V\";\r\n inOrderData.goodId = this.articleStockInformation[0].goodId.toString();\r\n this.inOrderInformation = await this._stockService.getArticleTransaction(inOrderData);\r\n }\r\n\r\n public async getOrderData(): Promise<void> {\r\n const orderData: ArticleTransaction = new ArticleTransaction();\r\n orderData.type = \"I\";\r\n orderData.goodId = this.articleStockInformation[0].goodId.toString();\r\n this.orderInformation = await this._stockService.getArticleTransaction(orderData);\r\n }\r\n\r\n public onLocationDropdownClick(): void {\r\n this._stockService.getStockManagementLocations(this.selectedWarehouse).then((locations) => {\r\n this.stockLocations = locations;\r\n })\r\n }\r\n\r\n public onLocationSelected(location): void {\r\n this.selectedArticleDetailsData.locationNo = location;\r\n }\r\n\r\n public async onOkClickSendLocations(): Promise<void> {\r\n this.selectedArticleDetailsData.selected = true;\r\n this.selectedArticleDetailsData.goodId = this.article.goodId;\r\n this.selectedArticleDetailsData.entryDate = new Date();\r\n this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse;\r\n await this._stockService.updateArticleDetails(this.selectedArticleDetailsData);\r\n await this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n public onCancelClickSendLocations(): void {\r\n\r\n }\r\n\r\n public amountInStockChanged(data): void {\r\n this.selectedArticleDetailsData.amountInStock = data;\r\n }\r\n\r\n public lockSelectedRow(row): void {\r\n this._stockService.lockArticleDetails(row);\r\n }\r\n}\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {PrintStockStickers} from \"@colijnit/articleapi/build/model/print-stock-stickers\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {IconCacheService} from \"../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-stock-transfer\",\r\n template: `\r\n <div class=\"stock-transfer\">\r\n <span [textContent]=\"'TRANSFER_STOCK' | localize\"></span>\r\n <div class=\"stock-transfer-columns\">\r\n <div *ngIf=\"articleToTransfer\" class=\"stock-transfer-left-column\">\r\n <co-input-text [readonly]=\"true\"\r\n [(model)]=\"articleToTransfer.warehouseDescription\"\r\n [placeholder]=\"'STANDARD_WAREHOUSE' | localize\"\r\n >\r\n </co-input-text>\r\n <co-input-text [readonly]=\"true\"\r\n [(model)]=\"articleToTransfer.locationNo\"\r\n [placeholder]=\"'STANDARD_LOCATION' | localize\">\r\n </co-input-text>\r\n <co-input-text [readonly]=\"true\"\r\n [(model)]=\"articleToTransfer.batchItem\"\r\n [placeholder]=\"'BATCH_NO' | localize\">\r\n </co-input-text>\r\n <co-input-text [readonly]=\"true\"\r\n [(model)]=\"articleToTransfer.serialNo\"\r\n [placeholder]=\"'SERIE_NO' | localize\">\r\n </co-input-text>\r\n <co-input-text\r\n [(model)]=\"articleToTransfer.amountTransfer\"\r\n [placeholder]=\"'Aantal' | localize\">\r\n </co-input-text>\r\n </div>\r\n\r\n <div class=\"icon-wrapper\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowFatRight)\"></co-icon>\r\n </div>\r\n\r\n <div class=\"stock-transfer-right-column\">\r\n\r\n <co-list-of-values [collection]=\"warehouses\"\r\n [displayField]=\"'warehouseDescription'\"\r\n (modelChange)=\"handleSelectedWarehouse($event)\"\r\n [label]=\"'Magazijn' | localize\"\r\n >\r\n </co-list-of-values>\r\n <co-list-of-values [collection]=\"locations\"\r\n [displayField]=\"'description'\"\r\n (modelChange)=\"handleSelectedLocation($event)\"\r\n [label]=\"'Locatie' | localize\"\r\n >\r\n </co-list-of-values>\r\n <co-list-of-values [collection]=\"stockState\"\r\n [displayField]=\"'stateDescription'\"\r\n [label]=\"'Voorraadstatus' | localize\"\r\n (modelChange)=\"handleSelectedStockState($event)\"\r\n >\r\n </co-list-of-values>\r\n\r\n <co-input-text [placeholder]=\"'Omschrijving' | localize\"\r\n [(model)]=\"articleToTransfer.stockStateRemark\">\r\n </co-input-text>\r\n </div>\r\n </div>\r\n\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [textContent]=\"'OK' | localize\" (click)=\"handleOkClick(articleToTransfer)\"></co-button>\r\n <co-button [textContent]=\"'STICKER' | localize\" (click)=\"handleStickerClick()\"></co-button>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockTransferComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public stockSticker: PrintStockStickers;\r\n\r\n @Input()\r\n public article: ArticleStockBo;\r\n\r\n @Input()\r\n public articleToTransfer: ArticleDetailsBo;\r\n\r\n @Input()\r\n public articleWarehouse: any[];\r\n\r\n @Input()\r\n public allWarehouses: any[];\r\n\r\n @Output()\r\n public handleClick: EventEmitter<any> = new EventEmitter();\r\n\r\n @Output()\r\n public handleStickerClicked: EventEmitter<any> = new EventEmitter();\r\n\r\n public allWarehousesDropdownFields: CoDropDownListFields = {text: \"warehouseDescription\", value: \"warehouseNo\"};\r\n public allLocationDropdownFields: CoDropDownListFields = {text: \"locationNo\", value: \"locationNo\"};\r\n\r\n public showSendMethodDialog: boolean = false;\r\n public warehouses: StockManagementWarehouses[] = [];\r\n public stockState: StockStatus[] = [];\r\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\r\n public locations: StockLocation[] = [];\r\n public selectedWarehouse: StockManagementWarehouses;\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n constructor(\r\n private _stockService: StockService,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getStockManagementWarehouses();\r\n this.getStockState();\r\n }\r\n\r\n public handleOkClick(data: ArticleDetailsBo): void {\r\n data.selected = true;\r\n data.entryDate = new Date;\r\n this._stockService.updateArticleDetails(data).then( result => {\r\n this.handleClick.emit();\r\n });\r\n\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.handleClick.emit();\r\n }\r\n\r\n public handleSelectedWarehouse(event: StockManagementWarehouses): void {\r\n this.articleToTransfer.targetWarehouse = event.warehouseNo;\r\n this.selectedWarehouse = event;\r\n this.getStockManagementLocations(this.selectedWarehouse.warehouseNo);\r\n }\r\n\r\n public handleSelectedLocation(event: StockLocation): void {\r\n this.articleToTransfer.targetLocation = event.locationNo;\r\n }\r\n\r\n public handleSelectedStockState(event: StockStatus): void {\r\n this.articleToTransfer.stockStateId = event.stockStateId;\r\n }\r\n\r\n public handleStickerClick(): void {\r\n this.handleStickerClicked.emit();\r\n this.showSendMethodDialog = true;\r\n }\r\n\r\n public getStockManagementWarehouses(): void {\r\n this._stockService.getStockManagementWarehouses().then((warehouses) => {\r\n this.warehouses = warehouses;\r\n })\r\n }\r\n\r\n public getStockManagementLocations(data): void {\r\n this._stockService.getStockManagementLocations(data).then((locations) => {\r\n this.locations = locations;\r\n })\r\n }\r\n\r\n public getStockState(): void {\r\n this._stockService.getStockState().then((state: StockStatus[]) => {\r\n this.stockState = state;\r\n });\r\n }\r\n\r\n}\r\n","import {SharedConnectorService} from \"./shared-connector.service\";\r\nimport {Injectable} from \"@angular/core\";\r\nimport {OptionsService} from \"./options.service\";\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {SendMethod} from '@colijnit/mainapi/build/model/send-method.bo';\r\nimport {TagCategory} from \"@colijnit/mainapi/build/enum/tab-category.enum\";\r\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\n\r\nexport class SharedService {\r\n\r\n constructor(\r\n protected options: OptionsService,\r\n protected connector: SharedConnectorService,\r\n ) {\r\n }\r\n\r\n public async init(options: any): Promise<void> {\r\n await this.options.initialize(options);\r\n await this.connector.connect();\r\n }\r\n\r\n public async getAllPrinters(): Promise<Printer[]> {\r\n return await this.connector.getAllPrinters();\r\n }\r\n\r\n public async getSendMethods(): Promise<SendMethod[]> {\r\n return await this.connector.getSendMethods();\r\n }\r\n\r\n public async getScreenConfigTree(): Promise<any> {\r\n return await this.connector.getScreenConfigTree();\r\n }\r\n\r\n public async getScreenConfigSubRubric(parentRubricId: number, configId: number, fixedKey: string): Promise<any> {\r\n return await this.connector.getScreenConfigSubRubric(parentRubricId, configId, fixedKey);\r\n }\r\n\r\n public async getTagsFullTree(category: TagCategory, includeTags: boolean = true): Promise<TagTreeItem[]> {\r\n return await this.connector.getTagsFullTree(category, includeTags);\r\n }\r\n\r\n public async getDocumentContent(docId: number, thumbnail: boolean = true): Promise<string> {\r\n return await this.connector.getDocumentContent(docId, thumbnail);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {ReportingDocumentEmailSignDocBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';\r\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\r\nimport {ReportingDocumentPrintSignDocBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request';\r\nimport {Subject} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class SendMethodService {\r\n public reportingDocumentPrintSignDocBaseRequestChanged: Subject<ReportingDocumentPrintSignDocBaseRequest> = new Subject<ReportingDocumentPrintSignDocBaseRequest>();\r\n public reportingDocumentEmailSignDocBaseRequestChanged: Subject<ReportingDocumentEmailSignDocBaseRequest> = new Subject<ReportingDocumentEmailSignDocBaseRequest>();\r\n public reportingDocumentPdfBaseRequestChanged: Subject<ReportingDocumentPdfBaseRequest> = new Subject<ReportingDocumentPdfBaseRequest>();\r\n\r\n public set reportingDocumentPrintSignDocBaseRequest(value: ReportingDocumentPrintSignDocBaseRequest) {\r\n this._reportingDocumentPrintSignDocBaseRequest = value;\r\n this.activePrinter = this._reportingDocumentPrintSignDocBaseRequest.printerName;\r\n this.reportingDocumentPrintSignDocBaseRequestChanged.next(this._reportingDocumentPrintSignDocBaseRequest);\r\n }\r\n public get reportingDocumentPrintSignDocBaseRequest(): ReportingDocumentPrintSignDocBaseRequest {\r\n return this._reportingDocumentPrintSignDocBaseRequest;\r\n }\r\n public set reportingDocumentEmailSignDocBaseRequest(value: ReportingDocumentEmailSignDocBaseRequest) {\r\n this._reportingDocumentEmailSignDocBaseRequest = value;\r\n this.selectedEmailAddresses = this._reportingDocumentEmailSignDocBaseRequest.toAddresses.split(';');\r\n this.reportingDocumentEmailSignDocBaseRequestChanged.next(this._reportingDocumentEmailSignDocBaseRequest);\r\n }\r\n public get reportingDocumentEmailSignDocBaseRequest(): ReportingDocumentEmailSignDocBaseRequest {\r\n return this._reportingDocumentEmailSignDocBaseRequest;\r\n }\r\n public set reportingDocumentPdfBaseRequest(value: ReportingDocumentPdfBaseRequest) {\r\n this._reportingDocumentPdfBaseRequest = value;\r\n this.reportingDocumentPdfBaseRequestChanged.next(this._reportingDocumentPdfBaseRequest);\r\n }\r\n public get reportingDocumentPdfBaseRequest(): ReportingDocumentPdfBaseRequest {\r\n return this._reportingDocumentPdfBaseRequest;\r\n }\r\n\r\n public selectedEmailAddresses: string[] = [];\r\n public activePrinter: string;\r\n\r\n private _reportingDocumentPrintSignDocBaseRequest: ReportingDocumentPrintSignDocBaseRequest = new ReportingDocumentPrintSignDocBaseRequest();\r\n private _reportingDocumentEmailSignDocBaseRequest: ReportingDocumentEmailSignDocBaseRequest = new ReportingDocumentEmailSignDocBaseRequest();\r\n private _reportingDocumentPdfBaseRequest: ReportingDocumentPdfBaseRequest = new ReportingDocumentPdfBaseRequest();\r\n\r\n public removeEmailAddress(address: string): void {\r\n if (this.selectedEmailAddresses.indexOf(address) > -1) {\r\n this.selectedEmailAddresses.splice(this.selectedEmailAddresses.indexOf(address), 1);\r\n this._updateEmailAddresses();\r\n }\r\n }\r\n\r\n public addEmailAddress(address: string): void {\r\n if (this.selectedEmailAddresses.indexOf(address) < 0) {\r\n this.selectedEmailAddresses.push(address);\r\n this._updateEmailAddresses();\r\n }\r\n }\r\n\r\n private _updateEmailAddresses(): void {\r\n this._reportingDocumentEmailSignDocBaseRequest.toAddresses = this.selectedEmailAddresses.join(';');\r\n this.reportingDocumentEmailSignDocBaseRequestChanged.next(this._reportingDocumentEmailSignDocBaseRequest);\r\n }\r\n\r\n}\r\n","import {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\r\n\r\nexport class SendMethod {\r\n public code: SendMethodType;\r\n public description: string;\r\n public icon: string;\r\n\r\n constructor(code: SendMethodType, description: string, icon: string) {\r\n this.code = code;\r\n this.description = description;\r\n this.icon = icon;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {Icon} from '../../enum/icon.enum';\r\nimport {IconCacheService} from '../../service/icon-cache.service';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {Subscription} from 'rxjs';\r\nimport {SharedService} from '../../service/shared.service';\r\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\nimport {ReportingDocumentPdfBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-pdf-base-request';\r\nimport {SendMethodService} from './service/send-method.service';\r\nimport {SendMethod} from '../../model/send-method';\r\nimport {SendMethodType} from '@colijnit/mainapi/build/enum/send-method-type.enum';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {\r\n ReportingDocumentEmailSignDocBaseRequest\r\n} from '@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request';\r\nimport {\r\n ReportingDocumentPrintSignDocBaseRequest\r\n} from \"@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request\";\r\n\r\nexport const sendMethodsWithIcon: SendMethod[] = [\r\n new SendMethod(SendMethodType.Fax, \"Fax\", Icon.PrintRegular),\r\n new SendMethod(SendMethodType.Print, \"Print\", Icon.PrintSolid),\r\n new SendMethod(SendMethodType.Email, \"Email\", Icon.AtSolid),\r\n new SendMethod(SendMethodType.Edi, \"Edi\", Icon.FileExportSolid),\r\n new SendMethod(SendMethodType.EmailTemplate, \"Email template\", Icon.EnvelopeRegular),\r\n new SendMethod(SendMethodType.Sms, \"Sms\", Icon.MessageSmsSolid),\r\n new SendMethod(SendMethodType.WebService, \"Webservice\", Icon.PrintRegular),\r\n new SendMethod(SendMethodType.Pdf, \"Pdf\", Icon.Pdf)\r\n]\r\n\r\n@Component({\r\n selector: 'co-send-method-dialog',\r\n template: `\r\n <co-dialog id=\"sendOptionsDialog\" [headerTemplate]=\"headerTemplate\" [footerTemplate]=\"footerTemplate\"\r\n (closeClick)=\"closeClick.emit($event)\">\r\n <ng-template #headerTemplate>\r\n <div class=\"co-dialog-header-title-wrapper\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.EnvelopeRegular)\"></co-icon>\r\n <div class=\"co-dialog-header-title\" [textContent]=\"headerTitle\"></div>\r\n </div>\r\n <div class=\"dialog-navigation-wrapper\">\r\n <div class=\"send-button-wrapper\" *ngFor=\"let sendMethod of sendMethods; let index = index\"\r\n [class.selected]=\"activeSendMethod ? sendMethod.code === activeSendMethod.code : index === 0\"\r\n (click)=\"handleSendMethodClick(sendMethod)\">\r\n <div class=\"custom-button-title\" [textContent]=\"sendMethod.description\"></div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"dialog-content-wrapper\">\r\n <div class=\"send-methods-wrapper\">\r\n\r\n </div>\r\n <div #navigationItems class=\"send-method-navigation-wrapper\" [class.smooth-scrolling]=\"!startUp\">\r\n <div #faxItems class=\"send-method-navigation-content co-small-scrollbar\">\r\n\r\n </div>\r\n <div #printItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showPrint\">\r\n <co-send-method-printer\r\n [isPrinterLayoutsEnabled]=\"isPrinterLayoutsEnabled\"\r\n [printerList]=\"printerList\"\r\n [layouts]=\"printLayouts\"\r\n ></co-send-method-printer>\r\n </div>\r\n <div #emailItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmail\">\r\n <co-send-method-email\r\n [emailAddresses]=\"emailAddresses\"\r\n [layouts]=\"emailLayouts\"\r\n ></co-send-method-email>\r\n </div>\r\n <div #ediItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEdi\">\r\n\r\n </div>\r\n <div #emailTemplateItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showEmailTemplate\">\r\n\r\n </div>\r\n <div #smsItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showSms\">\r\n\r\n </div>\r\n <div #webServiceItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showWebservice\">\r\n\r\n </div>\r\n <div #pdfItems class=\"send-method-navigation-content co-small-scrollbar\" *ngIf=\"showPdf\">\r\n <co-send-method-pdf\r\n [layouts]=\"printLayouts\"\r\n ></co-send-method-pdf>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button class=\"save-button\"\r\n [iconData]=\"iconCacheService.getIcon(icons.CheckDuotone)\"\r\n (click)=\"okClick.emit(activeSendMethod ? activeSendMethod.code : '0')\"></co-button>\r\n <co-button class=\"close-button\"\r\n [iconData]=\"iconCacheService.getIcon(icons.CrossSkinny)\"\r\n (click)=\"closeClick.emit($event)\"></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger('slideInOut', [\r\n state('*', style({transform: 'translateX(0%)', width: '100%', opacity: '1'})),\r\n state('void', style({transform: 'translateX(150%)', opacity: '0'})),\r\n transition('void => *', animate(250))\r\n ])\r\n ]\r\n})\r\n\r\nexport class SendMethodDialogComponent implements OnInit, OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild('navigationItems', {read: ElementRef})\r\n public navigationItems: ElementRef;\r\n\r\n @ViewChild('faxItems', {read: ElementRef})\r\n public faxItems: ElementRef;\r\n\r\n @ViewChild('printItems', {read: ElementRef})\r\n public printItems: ElementRef;\r\n\r\n @ViewChild('emailItems', {read: ElementRef})\r\n public emailItems: ElementRef;\r\n\r\n @ViewChild('ediItems', {read: ElementRef})\r\n public ediItems: ElementRef;\r\n\r\n @ViewChild('emailTemplateItems', {read: ElementRef})\r\n public emailTemplateItems: ElementRef;\r\n\r\n @ViewChild('smsItems', {read: ElementRef})\r\n public smsItems: ElementRef;\r\n\r\n @ViewChild('webServiceItems', {read: ElementRef})\r\n public webServiceItems: ElementRef;\r\n\r\n @ViewChild('pdfItems', {read: ElementRef})\r\n public pdfItems: ElementRef;\r\n\r\n @Input()\r\n public printerList: Printer[] = [];\r\n\r\n @Input()\r\n public reportingDocumentPrintRequest: ReportingDocumentPrintSignDocBaseRequest;\r\n\r\n @Input()\r\n public reportingDocumentEmailRequest: ReportingDocumentEmailSignDocBaseRequest;\r\n\r\n @Input()\r\n public reportingDocumentPdfRequest: ReportingDocumentPdfBaseRequest;\r\n\r\n @Input()\r\n public emailLayouts: ReportLayoutSelectionEmail[] = [];\r\n\r\n @Input()\r\n public printLayouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n // @Input()\r\n // public priceListCodeData: any;\r\n\r\n @Input()\r\n public headerTitle: string;\r\n\r\n @Input()\r\n public emailAddresses: string[] = [];\r\n\r\n @Input()\r\n public defaultSendMethod: string;\r\n\r\n @Input()\r\n public visibleMethods: SendMethodType[] | string[] = [];\r\n\r\n @Input()\r\n public isDocSignEnabled: boolean = false;\r\n\r\n @Input()\r\n public docSign: boolean = false;\r\n\r\n @Input()\r\n public isPrinterLayoutsEnabled: boolean = true;\r\n\r\n @Output()\r\n public reportingDocumentPrintRequestChange: EventEmitter<ReportingDocumentPrintSignDocBaseRequest> = new EventEmitter<ReportingDocumentPrintSignDocBaseRequest>();\r\n\r\n @Output()\r\n public reportingDocumentEmailRequestChange: EventEmitter<ReportingDocumentEmailSignDocBaseRequest> = new EventEmitter<ReportingDocumentEmailSignDocBaseRequest>();\r\n\r\n @Output()\r\n public reportingDocumentPdfRequestChange: EventEmitter<ReportingDocumentPdfBaseRequest> = new EventEmitter<ReportingDocumentPdfBaseRequest>();\r\n\r\n @Output()\r\n public startSignatureClicked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public closeClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @Output()\r\n public okClick: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @HostBinding('class.co-send-method-dialog')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public sendMethods = sendMethodsWithIcon;\r\n public activeSendMethod: SendMethod;\r\n public upAndLoaded: boolean = false;\r\n public startUp: boolean = true;\r\n\r\n public showFax: boolean = true;\r\n public showPrint: boolean = true;\r\n public showEmail: boolean = true;\r\n public showEdi: boolean = true;\r\n public showSms: boolean = true;\r\n public showEmailTemplate: boolean = true;\r\n public showWebservice: boolean = true;\r\n public showPdf: boolean = true;\r\n\r\n private _subscriptions: Subscription[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _changeDetector: ChangeDetectorRef,\r\n private _sharedService: SharedService,\r\n private _sendMethodService: SendMethodService\r\n ) {\r\n this._subscriptions.push(\r\n this._sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.subscribe((value: ReportingDocumentPrintSignDocBaseRequest) => this.reportingDocumentPrintRequestChange.next(value)),\r\n this._sendMethodService.reportingDocumentEmailSignDocBaseRequestChanged.subscribe((value: ReportingDocumentEmailSignDocBaseRequest) => this.reportingDocumentEmailRequestChange.next(value)),\r\n this._sendMethodService.reportingDocumentPdfBaseRequestChanged.subscribe((value: ReportingDocumentPdfBaseRequest) => this.reportingDocumentPdfRequestChange.next(value))\r\n )\r\n }\r\n\r\n ngOnInit() {\r\n if (this.reportingDocumentEmailRequest) {\r\n this._sendMethodService.reportingDocumentEmailSignDocBaseRequest = this.reportingDocumentEmailRequest;\r\n }\r\n if (this.reportingDocumentPrintRequest) {\r\n this._sendMethodService.reportingDocumentPrintSignDocBaseRequest = this.reportingDocumentPrintRequest;\r\n }\r\n if (this.reportingDocumentPdfRequest) {\r\n this._sendMethodService.reportingDocumentPdfBaseRequest = this.reportingDocumentPdfRequest;\r\n }\r\n this._initDefaultSendMethod();\r\n this._prepareVisibleMethods();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._subscriptions.forEach(subscription => subscription.unsubscribe());\r\n }\r\n\r\n public handleSignatureStart(): void {\r\n this.docSign = !this.docSign;\r\n this.startSignatureClicked.emit();\r\n }\r\n\r\n public handleSendMethodClick(sendMethod: SendMethod): void {\r\n this.activeSendMethod = sendMethod;\r\n if (sendMethod.code === SendMethodType.Fax && this.showFax) {\r\n this.navigationItems.nativeElement.scrollLeft = this.faxItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Print && this.showPrint) {\r\n this.navigationItems.nativeElement.scrollLeft = this.printItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Email && this.showEmail) {\r\n this.navigationItems.nativeElement.scrollLeft = this.emailItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Edi && this.showEdi) {\r\n this.navigationItems.nativeElement.scrollLeft = this.ediItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.EmailTemplate && this.showEmailTemplate) {\r\n this.navigationItems.nativeElement.scrollLeft = this.emailTemplateItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Sms && this.showSms) {\r\n this.navigationItems.nativeElement.scrollLeft = this.smsItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.WebService && this.showWebservice) {\r\n this.navigationItems.nativeElement.scrollLeft = this.webServiceItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n } else if (sendMethod.code === SendMethodType.Pdf && this.showPdf) {\r\n this.navigationItems.nativeElement.scrollLeft = this.pdfItems.nativeElement.offsetLeft - this.navigationItems.nativeElement.offsetLeft;\r\n }\r\n }\r\n\r\n private _initDefaultSendMethod(): void {\r\n if (this.defaultSendMethod) {\r\n this._selectDefaultSendMethod();\r\n } else {\r\n if (this.visibleMethods && this.visibleMethods.length === 1) {\r\n this.defaultSendMethod = this.visibleMethods[0];\r\n this._selectDefaultSendMethod();\r\n }\r\n this.startUp = false;\r\n }\r\n }\r\n\r\n private _selectDefaultSendMethod(): void {\r\n const sendMethod: SendMethod = this.sendMethods.find(sm => sm.code === this.defaultSendMethod);\r\n if (sendMethod) {\r\n setTimeout(() => {\r\n this.handleSendMethodClick(sendMethod);\r\n this.startUp = false;\r\n });\r\n }\r\n }\r\n\r\n private _prepareVisibleMethods(): void {\r\n if (this.visibleMethods && this.visibleMethods.length > 0) {\r\n this.sendMethods = this.sendMethods.filter(sm => this.visibleMethods.find(vm => vm === sm.code));\r\n }\r\n this.showFax = this.sendMethods.find(sm => sm.code === SendMethodType.Fax) !== undefined;\r\n this.showPrint = this.sendMethods.find(sm => sm.code === SendMethodType.Print) !== undefined;\r\n this.showEmail = this.sendMethods.find(sm => sm.code === SendMethodType.Email) !== undefined;\r\n this.showEdi = this.sendMethods.find(sm => sm.code === SendMethodType.Edi) !== undefined;\r\n this.showEmailTemplate = this.sendMethods.find(sm => sm.code === SendMethodType.EmailTemplate) !== undefined;\r\n this.showSms = this.sendMethods.find(sm => sm.code === SendMethodType.Sms) !== undefined;\r\n this.showWebservice = this.sendMethods.find(sm => sm.code === SendMethodType.WebService) !== undefined;\r\n this.showPdf = this.sendMethods.find(sm => sm.code === SendMethodType.Pdf) !== undefined;\r\n\r\n }\r\n}\r\n","export class EmailAddressViewmodel {\r\n public checked: boolean;\r\n public emailAddress: string;\r\n\r\n constructor(checked: boolean, emailAddress: string) {\r\n this.checked = checked;\r\n this.emailAddress = emailAddress;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, OnInit, ViewEncapsulation} from '@angular/core';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\nimport {EmailAddressViewmodel} from '../../model/email-address-viewmodel';\r\nimport {ReportLayoutSelectionEmail} from '@colijnit/mainapi/build/model/report-layout-selection-email.bo';\r\n\r\n@Component({\r\n selector: 'co-send-method-email',\r\n template: `\r\n <div class=\"email-addresses-wrapper co-small-scrollbar\">\r\n <div class=\"email-address-wrapper\" *ngFor=\"let emailAddressViewmodel of emailAddressViewmodels\" (click)=\"handleCheckedEmail(emailAddressViewmodel)\">\r\n <co-input-checkbox [model]=\"emailAddressViewmodel.checked\" (modelChange)=\"handleCheckedEmail(emailAddressViewmodel)\"></co-input-checkbox>\r\n <div class=\"email-address\" [textContent]=\"emailAddressViewmodel.emailAddress\"></div>\r\n </div>\r\n </div>\r\n <div class=\"layout-signature-wrapper\">\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentEmailSignDocBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n <co-signature-button\r\n [request]=\"sendMethodService.reportingDocumentEmailSignDocBaseRequest\"\r\n ></co-signature-button>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodEmailComponent implements OnInit {\r\n\r\n @Input()\r\n public emailAddresses: string[] = [];\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionEmail[] = [];\r\n\r\n @HostBinding('class.co-send-method-email')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public emailAddressViewmodels: EmailAddressViewmodel[] = [];\r\n\r\n constructor(public sendMethodService: SendMethodService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.emailAddresses) {\r\n this.emailAddresses.forEach((ea: string) => {\r\n const emailAddressViewmodel: EmailAddressViewmodel = new EmailAddressViewmodel(this.sendMethodService.selectedEmailAddresses.indexOf(ea) > -1, ea);\r\n this.emailAddressViewmodels.push(emailAddressViewmodel);\r\n });\r\n }\r\n }\r\n\r\n public handleCheckedEmail(emailAddressViewmodel: EmailAddressViewmodel): void {\r\n const wantedValue: boolean = !emailAddressViewmodel.checked;\r\n if (!wantedValue) {\r\n this.sendMethodService.removeEmailAddress(emailAddressViewmodel.emailAddress);\r\n } else {\r\n this.sendMethodService.addEmailAddress(emailAddressViewmodel.emailAddress);\r\n }\r\n emailAddressViewmodel.checked = wantedValue;\r\n }\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {ReportLayoutSelectionBase} from '@colijnit/mainapi/build/model/report-layout-selection-base.bo';\r\nimport {ReportingDocumentBaseRequest} from '@colijnit/mainapi/build/model/reporting-document-base-request';\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: 'co-layout-selection',\r\n template: `\r\n <div class=\"layout-selection-wrapper\" (click)=\"showLayoutList = !showLayoutList\">\r\n <div class=\"title\" [textContent]=\"'Lay-out'\"></div>\r\n <div class=\"layout-description\" [textContent]=\"currentLayout?.description || 'Layout kiezen'\"></div>\r\n </div>\r\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showLayoutList\" @showHideLayouts>\r\n <div class=\"layouts-wrapper-header\">\r\n <div class=\"title\" [textContent]=\"'Lay-out'\"></div>\r\n <div class=\"close-layouts\">\r\n <div class=\"dialog-close-button\" (click)=\"closeSelectLayout()\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.XSolid)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"layout-selection-wrapper\" *ngFor=\"let reportLayout of layouts\"\r\n [class.selected]=\"reportLayout.reportId === currentLayout?.reportId\"\r\n (click)=\"handleSelectLayout(reportLayout)\">\r\n <div class=\"layout-description\" [textContent]=\"reportLayout.description\"></div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger(\"showHideLayouts\", [\r\n state(\"void\", style({height: 0})),\r\n state(\"*\", style({height: \"100%\"})),\r\n transition(\"void => *\", animate(\"200ms ease-in-out\")),\r\n transition(\"* => void\", animate(\"200ms ease-out\"))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LayoutSelectionComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n @Input()\r\n public request: ReportingDocumentBaseRequest;\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionBase[] = [];\r\n\r\n @Output()\r\n public requestChange: EventEmitter<ReportingDocumentBaseRequest> = new EventEmitter<ReportingDocumentBaseRequest>();\r\n\r\n @HostBinding('class.co-layout-selection')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public currentLayout: ReportLayoutSelectionBase;\r\n public showLayoutList: boolean = false;\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n ngOnInit(): void {\r\n if (this.layouts && this.layouts.length > 0) {\r\n this.currentLayout = this.layouts.find(l => l.reportId === this.request.reportId);\r\n if (!this.currentLayout) {\r\n this.currentLayout = this.layouts[0];\r\n }\r\n }\r\n }\r\n\r\n public handleSelectLayout(reportLayout: ReportLayoutSelectionBase): void {\r\n this.currentLayout = reportLayout;\r\n this.request.reportId = this.currentLayout.reportId;\r\n this.requestChange.emit(this.request);\r\n this.showLayoutList = false;\r\n }\r\n public closeSelectLayout(): void {\r\n this.showLayoutList = false;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LayoutSelectionComponent} from './layout-selection.component';\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n LayoutSelectionComponent\r\n ],\r\n exports: [\r\n LayoutSelectionComponent\r\n ]\r\n})\r\nexport class LayoutSelectionModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {\r\n ReportingDocumentEmailSignDocBaseRequest\r\n} from \"@colijnit/mainapi/build/model/reporting-document-email-sign-doc-base-request\";\r\nimport {\r\n ReportingDocumentPrintSignDocBaseRequest\r\n} from \"@colijnit/mainapi/build/model/reporting-document-print-sign-doc-base-request\";\r\n\r\n@Component({\r\n selector: \"co-signature-button\",\r\n template: `\r\n <div class=\"signature-button-wrapper\"\r\n [class.selected]=\"request.parkForDigitalSignature\"\r\n (click)=\"handleToggleSignature()\">\r\n <co-icon\r\n [iconData]=\"iconCacheService.getIcon(icons.FileSignatureRegular)\"\r\n ></co-icon>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SignatureButtonComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public request: ReportingDocumentEmailSignDocBaseRequest | ReportingDocumentPrintSignDocBaseRequest;\r\n\r\n @HostBinding(\"class.co-signature-button\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) { }\r\n\r\n public handleToggleSignature(): void {\r\n this.request.parkForDigitalSignature = !this.request.parkForDigitalSignature;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {SignatureButtonComponent} from \"./signature-button.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n SignatureButtonComponent\r\n ],\r\n exports: [\r\n SignatureButtonComponent\r\n ]\r\n})\r\nexport class SignatureButtonModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodEmailComponent} from './send-method-email.component';\r\nimport {IconModule, InputCheckboxModule} from '@colijnit/corecomponents_v12';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\nimport {SignatureButtonModule} from \"../signature-button/signature-button.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputCheckboxModule,\r\n LayoutSelectionModule,\r\n IconModule,\r\n SignatureButtonModule\r\n ],\r\n declarations: [\r\n SendMethodEmailComponent\r\n ],\r\n exports: [\r\n SendMethodEmailComponent\r\n ]\r\n})\r\nexport class SendMethodEmailModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\n\r\n@Component({\r\n selector: 'co-send-method-printer',\r\n template: `\r\n <div class=\"printer-layout-selections-wrapper\">\r\n <co-printer-selection [printers]=\"printerList\"></co-printer-selection>\r\n <div *ngIf=\"isPrinterLayoutsEnabled\" class=\"layout-signature-wrapper\">\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n <co-signature-button\r\n [request]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest\"\r\n ></co-signature-button>\r\n </div>\r\n </div>\r\n <co-input-checkbox\r\n [model]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser\"\r\n [label]=\"'Koppeling onthouden'\"\r\n (modelChange)=\"handleDefaultPrinterUserChange($event)\"\r\n ></co-input-checkbox>\r\n <co-input-checkbox\r\n [model]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers\"\r\n [label]=\"'Alle gebruikers'\"\r\n (modelChange)=\"handleDefaultPrinterAllUsersChange($event)\"\r\n ></co-input-checkbox>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodPrinterComponent {\r\n @Input()\r\n public printerList: Printer[] = [];\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n @Input()\r\n public isPrinterLayoutsEnabled: boolean = true;\r\n\r\n @HostBinding('class.co-send-method-printer')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService\r\n ) {\r\n }\r\n\r\n public handleDefaultPrinterUserChange(checked: boolean): void {\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForUser = checked;\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\r\n }\r\n\r\n public handleDefaultPrinterAllUsersChange(checked: boolean): void {\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.saveDefaultPrinterForAllUsers = checked;\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\r\n }\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from '@angular/animations';\r\nimport {Printer} from '@colijnit/mainapi/build/model/printer.bo';\r\nimport {SharedService} from '../../../../service/shared.service';\r\nimport {IconCacheService} from '../../../../service/icon-cache.service';\r\nimport {Icon} from '../../../../enum/icon.enum';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\n\r\n@Component({\r\n selector: 'co-printer-selection',\r\n template: `\r\n <div class=\"printer-selection-wrapper\" (click)=\"showPrinterList = !showPrinterList\">\r\n <div class=\"title\" [textContent]=\"'Printer'\"></div>\r\n <div class=\"printer-name\" [textContent]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName || 'Printer kiezen'\"></div>\r\n </div>\r\n <div class=\"layouts-wrapper co-small-scrollbar\" *ngIf=\"showPrinterList\" @showHideLayouts>\r\n <div class=\"layouts-wrapper-header\">\r\n <div class=\"title\" [textContent]=\"'Printer'\"></div>\r\n <div class=\"close-layouts\">\r\n <div class=\"dialog-close-button\" (click)=\"closePrinterClicked()\">\r\n <co-icon [iconData]=\"iconService.getIcon(icons.XSolid)\"></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"printer-list-item\" *ngFor=\"let printer of printers\"\r\n [class.selected]=\"sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName === printer.name\"\r\n (click)=\"handlePrinterClicked(printer)\">\r\n <co-icon class=\"printer-icon\" [iconData]=\"iconService.getIcon(icons.PrintRegular)\"></co-icon>\r\n <div class=\"printer-details\">\r\n <span class=\"printer-name\" [textContent]=\"printer.name\"></span>\r\n <span class=\"printer-status\" [textContent]=\"printer.acceptingJobs\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n animations: [\r\n trigger('showHideLayouts', [\r\n state('void', style({height: 0})),\r\n state('*', style({height: '100%'})),\r\n transition('void => *', animate('200ms ease-in-out')),\r\n transition('* => void', animate('200ms ease-out'))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class PrinterSelectionComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public printers: Printer[] = [];\r\n\r\n @HostBinding('class.co-printer-selection')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public showPrinterList: boolean = false;\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService,\r\n public iconService: IconCacheService,\r\n private _service: SharedService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName && this.printers && this.printers.length > 0) {\r\n const defaultPrinter: Printer = this.printers.find(p => p.isDefault);\r\n if (defaultPrinter) {\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = defaultPrinter.name;\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\r\n }\r\n }\r\n }\r\n\r\n public handlePrinterClicked(printer: Printer): void {\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequest.printerName = printer.name;\r\n this.sendMethodService.reportingDocumentPrintSignDocBaseRequestChanged.next(this.sendMethodService.reportingDocumentPrintSignDocBaseRequest);\r\n this.showPrinterList = false;\r\n }\r\n public closePrinterClicked(): void {\r\n this.showPrinterList = false;\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {PrinterSelectionComponent} from './printer-selection.component';\r\nimport {IconModule} from '@colijnit/corecomponents_v12';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n PrinterSelectionComponent\r\n ],\r\n exports: [\r\n PrinterSelectionComponent\r\n ]\r\n})\r\nexport class PrinterSelectionModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodPrinterComponent} from './send-method-printer.component';\r\nimport {IconModule, InputCheckboxModule} from '@colijnit/corecomponents_v12';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\nimport {PrinterSelectionModule} from '../printer-selection/printer-selection.module';\r\nimport {SignatureButtonModule} from \"../signature-button/signature-button.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n LayoutSelectionModule,\r\n PrinterSelectionModule,\r\n InputCheckboxModule,\r\n SignatureButtonModule\r\n ],\r\n declarations: [\r\n SendMethodPrinterComponent\r\n ],\r\n exports: [\r\n SendMethodPrinterComponent\r\n ]\r\n})\r\nexport class SendMethodPrinterModule {\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {ReportLayoutSelectionPrint} from '@colijnit/mainapi/build/model/report-layout-selection-print.bo';\r\nimport {SendMethodService} from '../../service/send-method.service';\r\n\r\n@Component({\r\n selector: 'co-send-method-pdf',\r\n template: `\r\n <div class=\"pdf-layout-selections-wrapper\">\r\n <div class=\"layout-signature-wrapper\">\r\n <co-layout-selection\r\n [(request)]=\"sendMethodService.reportingDocumentPdfBaseRequest\"\r\n [layouts]=\"layouts\"\r\n ></co-layout-selection>\r\n<!--\r\n <co-signature-button\r\n [request]=\"sendMethodService.reportingDocumentPdfBaseRequest\"\r\n ></co-signature-button>\r\n-->\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SendMethodPdfComponent {\r\n\r\n @Input()\r\n public layouts: ReportLayoutSelectionPrint[] = [];\r\n\r\n @HostBinding('class.co-send-method-pdf')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public sendMethodService: SendMethodService\r\n ) {\r\n }\r\n} \r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {SendMethodPdfComponent} from './send-method-pdf.component';\r\nimport {LayoutSelectionModule} from '../layout-selection/layout-selection.module';\r\nimport {SignatureButtonModule} from '../signature-button/signature-button.module';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n LayoutSelectionModule,\r\n SignatureButtonModule\r\n ],\r\n declarations: [\r\n SendMethodPdfComponent\r\n ],\r\n exports: [\r\n SendMethodPdfComponent\r\n ]\r\n})\r\nexport class SendMethodPdfModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ButtonModule, CoDialogModule, IconModule} from '@colijnit/corecomponents_v12';\r\nimport {SendMethodDialogComponent} from './send-method-dialog.component';\r\nimport {StockService} from '../../service/stock.service';\r\nimport {SendMethodService} from './service/send-method.service';\r\nimport {SendMethodEmailModule} from './components/send-method-email/send-method-email.module';\r\nimport {SendMethodPrinterModule} from './components/send-method-printer/send-method-printer.module';\r\nimport {SendMethodPdfModule} from './components/send-method-pdf/send-method-pdf.module';\r\n\r\n@NgModule({\r\n declarations: [\r\n SendMethodDialogComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n IconModule,\r\n SendMethodEmailModule,\r\n SendMethodPrinterModule,\r\n ButtonModule,\r\n SendMethodPdfModule\r\n ],\r\n exports: [\r\n SendMethodDialogComponent\r\n ],\r\n providers: [\r\n SendMethodService,\r\n StockService\r\n ]\r\n})\r\nexport class SendMethodDialogModule { }\r\n","import {AfterViewInit, Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {CoDropDownListFields} from \"./co-drop-down-list-fields.interface\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-change-amount\",\r\n template: `\r\n <div class=\"stock-transfer\">\r\n <co-dialog-wizard [showCloseIcon]=\"true\" (closeClick)=\"closeDialogClick()\">\r\n <ng-container header>\r\n <span [textContent]=\"'STOCK_CHANGE_REASON' | localize\"></span>\r\n </ng-container>\r\n <div class=\"popup-wrapper\">\r\n<!--\r\n <co-drop-down-list [collection]=\"stockState\"\r\n [fields]=\"stockStateDropdownField\"\r\n [placeholder]=\"'STOCK_STATE' | localize\"\r\n [(model)]=\"selectedArticleDetailsData.stockStateId\"\r\n ></co-drop-down-list>\r\n-->\r\n\r\n <co-input-textarea [(model)]=\"selectedArticleDetailsData.stockStateRemark\"\r\n\r\n ></co-input-textarea>\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [textContent]=\"'OK' | localize\" (click)=\"handleOkClick(selectedArticleDetailsData)\"></co-button>\r\n <co-button [textContent]=\"'CANCEL' | localize\" (click)=\"handleCancelClick()\"></co-button>\r\n </div>\r\n </div>\r\n </co-dialog-wizard>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockChangeAmountComponent implements AfterViewInit {\r\n\r\n @Input()\r\n public selectedArticleDetailsData: ArticleDetailsBo;\r\n\r\n @Output()\r\n public readonly closeStockChangeAmount: EventEmitter<any> = new EventEmitter();\r\n\r\n public stockState: StockStatus[] = [];\r\n public stockStateDropdownField: CoDropDownListFields = {text: \"stateDescription\", value: \"stockStateId\"};\r\n\r\n constructor(\r\n private _stockService: StockService\r\n ) {\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.getStockState();\r\n }\r\n\r\n public closeDialogClick(): void {\r\n this.closeStockChangeAmount.emit();\r\n }\r\n\r\n public async handleOkClick(data: ArticleDetailsBo): Promise<void> {\r\n data.selected = true;\r\n data.entryDate = new Date();\r\n await this._stockService.updateArticleDetails(data);\r\n }\r\n\r\n public handleCancelClick(): void {\r\n this.closeStockChangeAmount.emit();\r\n }\r\n\r\n public getStockState(): void {\r\n this._stockService.getStockState().then((state: StockStatus[]) => {\r\n this.stockState = state;\r\n });\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-tab\",\r\n template: `\r\n <co-simple-grid [data]=\"articleStockInformation\"a\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNo'\" [order]=\"10\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseName'\" [order]=\"11\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'technicalStock'\" [order]=\"12\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'availableStock'\" [order]=\"13\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ECONOMICAL_STOCK' | localize\" [field]=\"'economicalStock'\" [order]=\"14\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\" [order]=\"15\">\r\n <ng-template #template let-row=\"row\">\r\n <span class=\"location-link\" [textContent]=\"'LOOK_AT' | localize\" (click)=\"onLocationClick(row)\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockTabComponent {\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[] = [];\r\n\r\n @Output()\r\n public locationClicked: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n\r\n public onLocationClick(data: ArticleStockBo): void {;\r\n this.locationClicked.emit(data.warehouseNo);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\n\r\n@Component({\r\n selector: \"co-order-tab\",\r\n template: `\r\n <co-simple-grid [data]=\"inOrderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'CUSTOMER' | localize\" [field]=\"'customerName'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'warehouseNumber'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DESCRIPTION' | localize\" [field]=\"'warehouseDescription'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\" (click)=\"handleStockTransferClick(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\" (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderTabComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[] = [];\r\n\r\n @Input()\r\n public inOrderInformation: ArticleTransactionBo[] = [];\r\n\r\n @Output()\r\n public locationClicked: EventEmitter<ArticleStockBo> = new EventEmitter<ArticleStockBo>();\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n public openSendMethodDialog(data): void {\r\n this.sendMethodDialogClicked.emit(data);\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.transferIconClicked.emit(event);\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {GetStockHistoryRequest} from \"@colijnit/articleapi/build/model/get-stock-history-request\";\r\nimport {StockService} from \"../../../service/stock.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Tab} from \"../../tab-bar/tab.interface\";\r\nimport {ArticleTransaction} from \"@colijnit/articleapi/build/model/article-transaction\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {LocalizeService} from '../../../localization/localize.service';\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-tabs\",\r\n template: `\r\n <co-tab-bar [wareHouseLabel]=\"'CHOICES' | localize\"\r\n [wareHouseSearchLabel]=\"'SEARCH' | localize\"\r\n [tabs]=\"tabs\"\r\n [dataWareHouseCode]=\"warehouses\"\r\n [selectedWarehouse]=\"selectedWarehouse\"\r\n [secondaryTabs]=\"historyTabs\"\r\n [ActivateSecondaryTabs]=\"tabs[5].active\"\r\n [showWarehouseSelection]=\"tabs[1].active || tabs[2].active\"\r\n (warehouseSelected)=\"handleWarehouseSelected($event)\"\r\n ></co-tab-bar>\r\n\r\n <co-stock-tab *ngIf=\"tabs[0].active\"\r\n [articleStockInformation]=\"stockInformation\"\r\n (locationClicked)=\"handleLocationClicked($event)\"\r\n ></co-stock-tab>\r\n\r\n <co-stock-prognose *ngIf=\"tabs[1].active\"\r\n [stockPrognose]=\"stockPrognose\"\r\n ></co-stock-prognose>\r\n\r\n <co-stock-location *ngIf=\"tabs[2].active\"\r\n [articleStockInfo]=\"articleDetails\"\r\n [articleStockInformation]=\"stockInformation\"\r\n [article]=\"article\"\r\n [articleFlat]=\"articleFlat\"\r\n [selectedWarehouse]=\"selectedWarehouse\"\r\n [dataWareHouseCode]=\"warehouses\"\r\n (transferIconClicked)=\"transferIconClicked.emit($event)\"\r\n (sendMethodDialogClicked)=\"sendMethodDialogClicked.emit($event)\"\r\n\r\n ></co-stock-location>\r\n\r\n <co-order-tab *ngIf=\"tabs[3].active\"\r\n [articleStockInformation]=\"stockInformation\"\r\n [inOrderInformation]=\"inOrderInformation\"\r\n (transferIconClicked)=\"transferIconClicked.emit($event)\"\r\n (sendMethodDialogClicked)=\"sendMethodDialogClicked.emit($event)\"\r\n ></co-order-tab>\r\n\r\n <co-order-stock-tab *ngIf=\"tabs[4].active\"\r\n [orderInformation]=\"orderInformation\"\r\n ></co-order-stock-tab>\r\n\r\n <co-stock-history *ngIf=\"historyTabs[0].active && tabs[5].active\"\r\n [stockHistory]=\"stockHistory\"\r\n ></co-stock-history>\r\n\r\n <co-order-supply-stock-history *ngIf=\"historyTabs[1].active && tabs[5].active\"\r\n [orderSupplyStockHistory]=\"orderSupplyStockHistory\"\r\n ></co-order-supply-stock-history>\r\n\r\n <co-order-stock-commission-history *ngIf=\"historyTabs[2].active && tabs[5].active\"\r\n [orderStockCommissionHistory]=\"orderCommissionStockHistory\"\r\n ></co-order-stock-commission-history>\r\n\r\n <co-order-stock-history *ngIf=\"historyTabs[3].active && tabs[5].active\"\r\n [orderStockHistory]=\"orderStockHistory\"\r\n ></co-order-stock-history>\r\n\r\n <co-allocation-stock-history *ngIf=\"historyTabs[4].active && tabs[5].active\"\r\n [allocationStockHistory]=\"orderAllocationStockHistory\"\r\n ></co-allocation-stock-history>\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockTabsComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public stockInformation: ArticleStockBo[] = [];\r\n\r\n @Input()\r\n public article: ArticleExtended;\r\n\r\n @Input()\r\n public articleFlat: ArticleFlat;\r\n\r\n\r\n @Input()\r\n public warehouses: StockManagementWarehouses[] = [];\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\r\n\r\n\r\n public selectedLocationNo: string;\r\n public stockHistory: StockHistoryBo[] = [];\r\n public orderSupplyStockHistory: StockHistoryBo[] = [];\r\n public orderCommissionStockHistory: StockHistoryBo[] = [];\r\n public orderStockHistory: StockHistoryBo[] = [];\r\n public orderAllocationStockHistory: StockHistoryBo[] = [];\r\n public inOrderInformation: ArticleTransactionBo[] = [];\r\n public orderInformation: ArticleTransactionBo[] = [];\r\n public stockPrognose: StockForecast[] = [];\r\n public selectedWarehouse: StockManagementWarehouses = new StockManagementWarehouses();\r\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement()\r\n public showWarehouseSelection: boolean = false;\r\n public articleDetails: ArticleDetailsBo[] = [];\r\n\r\n public tabs: Tab[] = [];\r\n public historyTabs: Tab[] = [];\r\n\r\n constructor(\r\n private _stockService: StockService,\r\n private _localizeService: LocalizeService,\r\n private _changeDetector: ChangeDetectorRef,\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this.tabs = [\r\n {title: this._localizeService.get('OVERVIEW'), active: true},\r\n {title: this._localizeService.get('STOCK_FORECAST'), active: false},\r\n {title: this._localizeService.get('STOCK_DETAILS'), active: false},\r\n {title: this._localizeService.get('ALREADY_IN_ORDER'), active: false},\r\n {title: this._localizeService.get('IN_ORDER'), active: false},\r\n {title: this._localizeService.get('HISTORY'), active: false},\r\n ];\r\n\r\n this.historyTabs = [\r\n {title: this._localizeService.get('STOCK'), active: true},\r\n {\r\n title: this._localizeService.get('ORDER_STOCK'),\r\n active: false\r\n },\r\n {\r\n title: this._localizeService.get('ORDER_COMMISSION'),\r\n active: false\r\n },\r\n {title: this._localizeService.get('ORDER'), active: false},\r\n {\r\n title: this._localizeService.get('ALLOCATION'),\r\n active: false\r\n },\r\n ];\r\n\r\n\r\n }\r\n\r\n public handleLocationClicked(data: string): void {\r\n this.tabs[0].active = false;\r\n this.tabs[2].active = true;\r\n this.selectedWarehouse = this.wareHouseForCode(parseInt(data));\r\n this.handleWarehouseSelected(this.selectedWarehouse);\r\n this.getStockData(this.selectedWarehouse);\r\n }\r\n\r\n public getStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"V\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.stockHistory = result\r\n });\r\n }\r\n\r\n public getOrderSupplyStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"O\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.orderSupplyStockHistory = result;\r\n });\r\n }\r\n\r\n public getOrderCommissionStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"C\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.orderCommissionStockHistory = result;\r\n });\r\n }\r\n\r\n public getOrderStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"B\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.orderStockHistory = result;\r\n });\r\n }\r\n\r\n public getAllocationStockHistory(): void {\r\n const stockHistoryInformation: GetStockHistoryRequest = new GetStockHistoryRequest();\r\n stockHistoryInformation.type = \"T\";\r\n stockHistoryInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getStockHistory(stockHistoryInformation).then(result => {\r\n this.orderAllocationStockHistory = result;\r\n });\r\n }\r\n\r\n public getInOrderData(): void {\r\n const inOrderData: ArticleTransaction = new ArticleTransaction();\r\n inOrderData.type = \"V\";\r\n inOrderData.goodId = this.stockInformation[0].goodId.toString();\r\n this._stockService.getArticleTransaction(inOrderData).then(result => {\r\n this.inOrderInformation = result;\r\n });\r\n }\r\n\r\n public getOrderData(): void {\r\n const orderData: ArticleTransaction = new ArticleTransaction();\r\n orderData.type = \"I\";\r\n orderData.goodId = this.stockInformation[0].goodId.toString();\r\n this._stockService.getArticleTransaction(orderData).then(result => {\r\n this.orderInformation = result;\r\n });\r\n }\r\n\r\n public getStockPrognose(warehouseNo: number): void {\r\n this._stockService.stockPrognose(this.article.goodId, warehouseNo).then(result => {\r\n this.stockPrognose = result;\r\n });\r\n }\r\n\r\n public handleWarehouseSelected(event: StockManagementWarehouses): void {\r\n this.selectedWarehouse = event;\r\n this._stockService.warehouseSelected.emit(event);\r\n if (this.tabs[1].active) {\r\n this.getStockPrognose(this.selectedWarehouse.warehouseNo);\r\n }\r\n if (this.tabs[2].active) {\r\n this.articleDetailsInformation.warehouseNumber = event.warehouseNo;\r\n this.articleDetailsInformation.goodId = this.article.goodId.toString();\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.articleDetails = details;\r\n });\r\n }\r\n\r\n }\r\n\r\n public getStockData(warehouse: StockManagementWarehouses) {\r\n this.handleWarehouseSelected(warehouse);\r\n this.getStockPrognose(warehouse.warehouseNo);\r\n this.getOrderData();\r\n this.getInOrderData();\r\n this.getAllocationStockHistory();\r\n this.getOrderStockHistory();\r\n this.getOrderCommissionStockHistory();\r\n this.getOrderSupplyStockHistory();\r\n this.getStockHistory();\r\n this._changeDetector.markForCheck();\r\n this._changeDetector.detectChanges();\r\n\r\n }\r\n\r\n public wareHouseForCode(code: number) {\r\n return this.warehouses.find(warehouse => warehouse.warehouseNo === code);\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../../enum/icon.enum\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-history-tabs\",\r\n template: `\r\n <div class=\"stock-history-tabs-wrapper\">\r\n <div class=\"tab-container\">\r\n <div class=\"tab-header\">\r\n <button class=\"tab-button\" (click)=\"selectedTab = 0\" [class.active]=\"selectedTab === 0\">{{ 'STOCK' | localize }}</button>\r\n <button class=\"tab-button\" (click)=\"selectedTab = 1\" [class.active]=\"selectedTab === 1\">{{ 'ORDER_STOCK' | localize }}</button>\r\n <button class=\"tab-button\" (click)=\"selectedTab = 2\" [class.active]=\"selectedTab === 2\">{{ 'ORDER_COMMISSION' | localize }}</button>\r\n <button class=\"tab-button\" (click)=\"selectedTab = 3\" [class.active]=\"selectedTab === 3\">{{ 'ORDER' | localize }}</button>\r\n <button class=\"tab-button\" (click)=\"selectedTab = 4\" [class.active]=\"selectedTab === 4\">{{ 'ALLOCATION' | localize }}</button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockHistoryTabsComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n public selectedTab = 0;\r\n\r\n @Input()\r\n public stockInformation: ArticleStockBo[];\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {ArticleTransaction as ArticleTransactionBo} from \"@colijnit/articleapi/build/model/article-transaction.bo\";\r\n\r\n@Component({\r\n selector: \"co-order-stock-tab\",\r\n template: `\r\n <co-simple-grid [data]=\"orderInformation\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_NR' | localize\" [field]=\"'transactionNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.transactionDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amountInOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RESERVED' | localize\" [field]=\"'reserved'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'InOrderForStock'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.deliveryDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderStockTabComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderInformation: ArticleTransactionBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n}\r\n","import {ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArticleStock as ArticleStockBo} from \"@colijnit/articleapi/build/model/article-stock.bo\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\nimport {StockLocation} from \"@colijnit/articleapi/build/model/stock-location.bo\";\r\nimport {PrintPriceStickers} from \"@colijnit/sharedapi/build/model/print-price-stickers.bo\";\r\nimport {StockStatus} from \"@colijnit/articleapi/build/model/stock-status.bo\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {ArticleExtended} from \"@colijnit/articleapi/build/model/article-extended.bo\";\r\nimport {ArticleFlat} from \"@colijnit/articleapi/build/model/article-flat.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-location\",\r\n template: `\r\n <div class=\"stock-grid\">\r\n <co-dialog *ngIf=\"showConfirmationDialog\" [showCloseIcon]=\"true\" [modal]=\"true\" [headerTemplate]=\"headerTemplate\"\r\n [footerTemplate]=\"footerTemplate\">\r\n <ng-template #headerTemplate>\r\n <div class=\"header-wrapper\">\r\n <span [textContent]=\"'CONFIRM_STOCK_CHANGE' | localize\"></span>\r\n </div>\r\n </ng-template>\r\n <div class=\"dialog-wrapper\">\r\n <co-list-of-values [label]=\"'STATUS' | localize\"\r\n [model]=\"statusForId(selectedArticleDetailsData.stockStateId)\"\r\n [collection]=\"stockStatus\"\r\n [displayField]=\"'stateDescription'\"\r\n (modelChange)=\"handleStockStatusChange($event)\"\r\n ></co-list-of-values>\r\n <co-input-text [placeholder]=\"'REMARK' | localize\"\r\n (modelChange)=\"handleStockStatusRemarkChange($event)\"></co-input-text>\r\n </div>\r\n <ng-template #footerTemplate>\r\n <div class=\"button-wrapper\">\r\n <co-button (click)=\"handleOkClick()\" [label]=\"'OK'| localize\" [disabled]=\"disabled()\"></co-button>\r\n <co-button class=\"cancel-button\" (click)=\"showConfirmationDialog = false\"\r\n [label]=\"'CANCEL'| localize \"></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n <co-simple-grid [data]=\"articleStockInfo\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n [showAdd]=\"true\"\r\n [inlineEdit]=\"true\"\r\n (dblClickRow)=\"lockSelectedRow($event)\"\r\n [showToolbar]=\"true\"\r\n (keydown.enter)=\"onOkClickSendLocations()\"\r\n\r\n >\r\n <co-simple-grid-column [headerText]=\"'STOCK' | localize\" [field]=\"'amountInStock'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text [(model)]=\"row['amountInStock']\"\r\n [label]=\"'STOCK' | localize\"\r\n (modelChange)=\"amountInStockChanged($event)\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column *ngIf=\"articleFlat?.locationRegistered\" [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-list-of-values\r\n [model]=\"locationForNumber(row['locationNo'])\"\r\n [collection]=\"stockLocations\"\r\n [displayField]=\"'description'\"\r\n [label]=\"'LOCATION' | localize\"\r\n (click)=\"onLocationDropdownClick()\"\r\n [required]=\"true\"\r\n (modelChange)=\"locationChanged(row, $event)\"\r\n ></co-list-of-values>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'BATCH' | localize\" [field]=\"'batchNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text *ngIf=\"articleFlat?.batch\" [model]=\"selectedArticleDetailsData.batchNo\"\r\n [placeholder]=\"'BATCH' | localize\"\r\n (modelChange)=\"row['batchNo'] = $event\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SERIAL_NO' | localize\" [field]=\"'serialNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <co-input-text *ngIf=\"articleFlat?.serial\" [model]=\"selectedArticleDetailsData.serialNo\"\r\n [placeholder]=\"'SERIAL_NO' | localize\"\r\n (modelChange)=\"row['serialNo'] = $event\"\r\n ></co-input-text>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'ALLOCATED' | localize\" [field]=\"'stockAssigned'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['stockAssigned']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AVAILABLE_STOCK' | localize\" [field]=\"'amountInStockFree'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['amountInStockFree']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currency'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['currency']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_PRICE' | localize\" [field]=\"'purchasePrice'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['purchasePrice']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'SUPPLIERNR' | localize\" [field]=\"'supplierNo'\">\r\n <ng-template #editTemplate let-row=\"row\">\r\n <span [textContent]=\"row['supplierNo']\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'TRANSFER' | localize\" [field]=\"'transfer'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.DeliveryTruck)\"\r\n (click)=\"handleStockTransferClick(row)\"></co-icon>\r\n </ng-template>\r\n <ng-template #editTemplate></ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STICKER' | localize\" [field]=\"'sticker'\">\r\n <ng-template #template let-row=\"row\">\r\n <co-icon class=\"menu-icon\" [iconData]=\"iconCacheService.getIcon(icons.Print)\"\r\n (click)=\"openSendMethodDialog(row)\"></co-icon>\r\n </ng-template>\r\n <ng-template #editTemplate></ng-template>\r\n </co-simple-grid-column>\r\n </co-simple-grid>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockLocationComponent implements OnInit {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public articleStockInfo: ArticleDetailsBo[] = [];\r\n\r\n @Input()\r\n public articleStockInformation: ArticleStockBo[] = [];\r\n\r\n @Input()\r\n public set article(article: ArticleExtended) {\r\n\r\n };\r\n\r\n @Input()\r\n public articleFlat: ArticleFlat;\r\n\r\n\r\n @Input()\r\n public dataWareHouseCode: StockManagementWarehouses[] = [];\r\n\r\n @Output()\r\n public readonly transferIconClicked: EventEmitter<ArticleStockBo> = new EventEmitter();\r\n\r\n @Output()\r\n public readonly sendMethodDialogClicked: EventEmitter<PrintPriceStickers> = new EventEmitter();\r\n\r\n @Input()\r\n public selectedWarehouse: StockManagementWarehouses;\r\n\r\n\r\n public articleDetails: ArticleDetailsBo;\r\n public showConfirmationDialog:boolean = false;\r\n\r\n\r\n public articleDetailsInformation: ArticleStockManagement = new ArticleStockManagement()\r\n public stockLocations: StockLocation[] = [];\r\n\r\n public stockStatus: StockStatus[] = [];\r\n public selectedArticleDetailsData: ArticleDetailsBo = new ArticleDetailsBo();\r\n\r\n public selectedLocationNo: string;\r\n\r\n private _subs: Subscription[] = [];\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n private _changeDetector: ChangeDetectorRef,\r\n\r\n ) {\r\n }\r\n\r\n ngOnInit() {\r\n this._stockService.getStockState().then( result => {\r\n this.stockStatus = result;\r\n });\r\n this._subs.push( this._stockService.warehouseSelected.subscribe( selectedWarehouse => {\r\n this._stockService.getStockManagementLocations(selectedWarehouse.warehouseNo).then( result => {\r\n this.stockLocations = result;\r\n });\r\n }));\r\n\r\n }\r\n\r\n public lockSelectedRow(row): void {\r\n this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then( result => {\r\n this.stockLocations = result;\r\n this.selectedLocationNo = row.locationNo;\r\n this._stockService.lockArticleDetails(row);\r\n this.selectedArticleDetailsData = row;\r\n });\r\n\r\n }\r\n\r\n public onLocationDropdownClick(): void {\r\n this._stockService.getStockManagementLocations(this.selectedWarehouse.warehouseNo).then((locations) => {\r\n this.stockLocations = locations;\r\n });\r\n }\r\n\r\n public locationChanged(row: ArticleDetailsBo, event: StockLocation): void {\r\n this.selectedLocationNo = event.locationNo;\r\n row.locationNo = event.locationNo;\r\n }\r\n\r\n public amountInStockChanged(data): void {\r\n this.selectedArticleDetailsData.amountInStock = data;\r\n }\r\n\r\n public openSendMethodDialog(data): void {\r\n this.sendMethodDialogClicked.emit(data);\r\n }\r\n\r\n public handleStockTransferClick(event): void {\r\n this.transferIconClicked.emit(event);\r\n }\r\n public onOkClickSendLocations(): void {\r\n this.showConfirmationDialog = true;\r\n }\r\n\r\n public handleOkClick() {\r\n this.selectedArticleDetailsData.selected = true;\r\n this.selectedArticleDetailsData.goodId = this.articleFlat.goodId;\r\n this.selectedArticleDetailsData.entryDate = new Date();\r\n this.selectedArticleDetailsData.warehouseNo = this.selectedWarehouse.warehouseNo;\r\n this.selectedArticleDetailsData.locationNo = this.selectedLocationNo?.toString();\r\n this._stockService.updateArticleDetails(this.selectedArticleDetailsData).then( result => {\r\n\r\n this.articleDetailsInformation.goodId = this.selectedArticleDetailsData.goodId?.toString();\r\n this.articleDetailsInformation.warehouseNumber = this.selectedArticleDetailsData.warehouseNo;\r\n this._stockService.getArticleDetails(this.articleDetailsInformation).then((details) => {\r\n this.showConfirmationDialog = false;\r\n this._changeDetector.detectChanges();\r\n this.articleStockInfo = details;\r\n });\r\n }\r\n );\r\n }\r\n\r\n public handleStockStatusChange(status: StockStatus) {\r\n this.selectedArticleDetailsData.stockStateId = status.stockStateId;\r\n }\r\n\r\n public handleStockStatusRemarkChange(remark: string) {\r\n this.selectedArticleDetailsData.stockStateRemark = remark;\r\n }\r\n\r\n public disabled() {\r\n return (!this.selectedArticleDetailsData?.stockStateId && this.selectedArticleDetailsData?.stockStateRemark?.length <= 1);\r\n }\r\n\r\n\r\n public statusForId(id: number) {\r\n return this.stockStatus.find( status => status.stockStateId === id);\r\n }\r\n\r\n public locationForNumber(number: number) {\r\n return this.stockLocations?.find( location => location.locationNo === number?.toString());\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-stock-history\",\r\n template: `\r\n <co-simple-grid [data]=\"stockHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public stockHistoryInformation: StockHistoryBo[] = [];\r\n\r\n @Input()\r\n public articleGoodId: string;\r\n\r\n @Input()\r\n public stockHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {Tab} from \"./tab.interface\";\r\nimport {CoDropDownListFields} from \"../stock/stock-transfer/co-drop-down-list-fields.interface\";\r\nimport {StockManagementWarehouses} from \"@colijnit/articleapi/build/model/stock-management-warehouses.bo\";\r\nimport {ArticleStockManagement} from \"@colijnit/articleapi/build/model/article-stock-management\";\r\nimport {StockService} from \"../../service/stock.service\";\r\nimport {ArticleDetailsBo} from \"@colijnit/articleapi/build/model/article-details.bo\";\r\n\r\n@Component({\r\n selector: \"co-tab-bar\",\r\n template: `\r\n <div class=\"tab-bar-wrapper\">\r\n <div class=\"tab-bar-warehouse-wrapper\">\r\n <div class=\"stock-location-group\">\r\n <div class=\"stock-location-right-group\">\r\n <co-list-of-values *ngIf=\"showWarehouseSelection\"\r\n [label]=\"wareHouseLabel\"\r\n [displayField]=\"'warehouseDescription'\"\r\n [collection]=\"dataWareHouseCode\"\r\n [multiselect]=\"false\"\r\n [required]=\"false\"\r\n [readonly]=\"false\"\r\n [customCssClass]=\"'mini-scrollbar'\"\r\n [searchPlaceholder]=\"wareHouseSearchLabel\"\r\n [(model)]=\"selectedWarehouse\"\r\n (modelChange)=\"onSelectWarehouse($event)\"\r\n class=\"custom-height\"\r\n >\r\n </co-list-of-values>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"tab-bar\">\r\n <div class=\"tab-bar-primary\">\r\n <button *ngFor=\"let tab of tabs\" [class.active]=\"tab.active\" (click)=\"selectTab(tab)\">\r\n {{tab.title}}\r\n </button>\r\n </div>\r\n <div class=\"secondary-tab-bar\" *ngIf=\"ActivateSecondaryTabs\">\r\n <button *ngFor=\"let tab of secondaryTabs\" [class.active]=\"tab.active\" (click)=\"selectSecondaryTab(tab)\">\r\n {{tab.title}}\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class TabBarComponent {\r\n\r\n @Input()\r\n public wareHouseLabel: string;\r\n\r\n @Input()\r\n public wareHouseSearchLabel: string;\r\n\r\n @Input()\r\n public tabs: Tab[] = [];\r\n\r\n @Input()\r\n public secondaryTabs: Tab[] = [];\r\n\r\n @Input()\r\n public ActivateSecondaryTabs: boolean = false;\r\n\r\n @Input()\r\n public dataWareHouseCode: StockManagementWarehouses[] = [];\r\n\r\n @Input()\r\n public article: any;\r\n\r\n @Input()\r\n public showWarehouseSelection: boolean = false;\r\n\r\n @Output()\r\n public warehouseSelected: EventEmitter<StockManagementWarehouses> = new EventEmitter<StockManagementWarehouses>();\r\n\r\n @Input()\r\n public selectedWarehouse: StockManagementWarehouses = new StockManagementWarehouses();\r\n\r\n constructor(\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n public selectTab(tab: Tab): void {\r\n if (tab.clickHandler) {\r\n tab.clickHandler();\r\n }\r\n this.tabs.forEach(t => t.active = false);\r\n tab.active = true;\r\n }\r\n\r\n public selectSecondaryTab(secondaryTab: Tab): void {\r\n if (secondaryTab.clickHandler) {\r\n secondaryTab.clickHandler();\r\n }\r\n this.secondaryTabs.forEach(t => t.active = false);\r\n secondaryTab.active = true;\r\n }\r\n\r\n public onSelectWarehouse(event): void {\r\n this.warehouseSelected.emit(event);\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {TabBarComponent} from \"./tab-bar.component\";\r\nimport {ListOfValuesModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ListOfValuesModule,\r\n ],\r\n declarations: [\r\n TabBarComponent\r\n ],\r\n exports: [\r\n TabBarComponent\r\n ]\r\n})\r\nexport class TabBarModule {\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-order-supply-stock-history\",\r\n template: `\r\n <co-simple-grid [data]=\"orderSupplyStockHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderSupplyStockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderSupplyStockHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-order-stock-commission-history\",\r\n template: `\r\n <co-simple-grid [data]=\"orderStockCommissionHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderCommissionStockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderStockCommissionHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-order-stock-history\",\r\n template: `\r\n <co-simple-grid [data]=\"orderStockHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class OrderStockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public orderStockHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockHistoryBo} from \"@colijnit/articleapi/build/model/stock-history.bo\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\n\r\n@Component({\r\n selector: \"co-allocation-stock-history\",\r\n template: `\r\n <co-simple-grid [data]=\"allocationStockHistory\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'MUTATION_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row.mutationDate | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TIME' | localize\" [field]=\"'mutationTime'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'AMOUNT' | localize\" [field]=\"'amount'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'WAREHOUSE' | localize\" [field]=\"'wareHouseNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LOCATION' | localize\" [field]=\"'locationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DOCUMENT_NUMBER' | localize\" [field]=\"'docNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'LINE' | localize\" [field]=\"'transLineNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_STATE' | localize\" [field]=\"'stockStateId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'STOCK_REMARK' | localize\" [field]=\"'stockStateRemarkId'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'VALUTA' | localize\" [field]=\"'currencyCode'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'RELATION_NR' | localize\" [field]=\"'relationNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'USER' | localize\" [field]=\"'user'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'MUTATION_TYPE' | localize\" [field]=\"'mutationType'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AllocationStockHistoryComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public allocationStockHistory: StockHistoryBo[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n ) {\r\n }\r\n\r\n}\r\n","export enum GaugeColor {\r\n Lowest = '#E0E0E0',\r\n Low = '#fff7b8',\r\n MediumLow = '#ffe367',\r\n MediumHigh = '#ffc15b',\r\n High = '#F88952',\r\n Highest = '#5FDCB3',\r\n}\r\n","import { Component, HostBinding, Input, ViewEncapsulation } from \"@angular/core\";\r\nimport { GaugeColor } from \"../../enum/gauge-color.enum\";\r\n\r\n@Component({\r\n selector: \"co-linear-gauge\",\r\n template: `\r\n <div class=\"linear-gauge\"\r\n [style.background]=\"getStyle()\"\r\n [style.border-color]=\"color\"\r\n [textContent]=\"count ? count : ''\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CoLinearGaugeComponent {\r\n\r\n @Input()\r\n public set value(value: number) {\r\n this._value = value;\r\n this._setColor();\r\n }\r\n\r\n public get value(): number {\r\n return this._value;\r\n }\r\n\r\n @Input()\r\n public count: number;\r\n\r\n @HostBinding(\"class.co-linear-gauge\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n private _value: number;\r\n public color: GaugeColor = GaugeColor.Low;\r\n\r\n public getStyle(): string {\r\n return `linear-gradient(90deg, ${this.color} 0 ${this.value}%, white ${this.value}% 100%`;\r\n }\r\n\r\n private _setColor(): void {\r\n if (this.value <= 0) {\r\n this.color = GaugeColor.Lowest;\r\n } else if (this.value >= 1 && this.value < 25) {\r\n this.color = GaugeColor.Low;\r\n } else if (this.value >= 25 && this.value < 50) {\r\n this.color = GaugeColor.MediumLow;\r\n } else if (this.value >= 50 && this.value < 75) {\r\n this.color = GaugeColor.MediumHigh;\r\n } else if (this.value >= 75 && this.value < 100) {\r\n this.color = GaugeColor.High;\r\n } else if (this.value >= 100) {\r\n this.color = GaugeColor.Highest;\r\n }\r\n }\r\n}\r\n","import { NgModule } from \"@angular/core\";\r\nimport { CommonModule } from \"@angular/common\";\r\nimport { CoLinearGaugeComponent } from \"./co-linear-gauge.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n CoLinearGaugeComponent\r\n ],\r\n exports: [\r\n CoLinearGaugeComponent\r\n ]\r\n})\r\nexport class CoLinearGaugeModule {\r\n}\r\n","import {Component, ElementRef, HostBinding, Input, OnInit, ViewChild, ViewChildren, ViewEncapsulation} from '@angular/core';\r\nimport {StatusbarData} from './statusbar.component';\r\nimport {ArcElement, Chart, DoughnutController} from 'chart.js';\r\n\r\nChart.register(\r\n DoughnutController,\r\n ArcElement\r\n);\r\n\r\nexport enum GaugeColor {\r\n Lowest = '#E0E0E0',\r\n Low = '#fff7b8',\r\n MediumLow = '#ffe367',\r\n MediumHigh = '#ffc15b',\r\n High = '#F88952',\r\n Highest = '#5FDCB3',\r\n}\r\n\r\n@Component({\r\n selector: \"co-statusbar-popup\",\r\n template: `\r\n <div class=\"co-statusbar-popup-wrapper\" [overlay]=\"parentForOverlay\">\r\n <div class=\"status-descriptions\">\r\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status-description\">\r\n <div class=\"statusbar-canvas-wrapper\">\r\n <canvas #doughnutCanvas class=\"chart-canvas\"></canvas>\r\n <span class=\"statusbar-inner-canvas-label\" [textContent]=\"data.percentage\"></span>\r\n </div>\r\n <span class=\"statusbar-description\" [textContent]=\"data.label\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StatusbarPopupComponent implements OnInit {\r\n @ViewChildren('doughnutCanvas', { read: ElementRef }) set content(content) {\r\n this.doughnutCharts = content.toArray();\r\n this._prepareChartData();\r\n }\r\n\r\n @Input()\r\n public defaultColor: '#e0e0e0';\r\n\r\n @Input()\r\n public statusbarData: StatusbarData[] = [];\r\n\r\n @Input()\r\n public parentForOverlay: ElementRef;\r\n\r\n @HostBinding(\"class.co-statusbar-popup\")\r\n public showClass: boolean = true;\r\n\r\n public doughnutCharts: ElementRef[] = [];\r\n\r\n ngOnInit() {\r\n this._prepareChartData();\r\n }\r\n\r\n private _prepareChartData(): void {\r\n if (!this.doughnutCharts || this.doughnutCharts.length === 0) {\r\n return;\r\n }\r\n this.doughnutCharts.forEach((chart: ElementRef, index: number) => {\r\n new Chart(chart.nativeElement, {\r\n type: 'doughnut',\r\n data: {\r\n datasets: [{\r\n label: this.statusbarData[index].label,\r\n data: [Math.max(0.0001, this.statusbarData[index].percentage), 100 - Math.max(0.0001, this.statusbarData[index].percentage)],\r\n backgroundColor: [\r\n this._getColor(this.statusbarData[index].percentage),\r\n this._getColor(-1),\r\n ],\r\n borderWidth: 1\r\n }]\r\n },\r\n options: {\r\n cutout: '70%'\r\n }\r\n });\r\n })\r\n }\r\n\r\n private _getColor(value: number): string {\r\n if (value <= 0) {\r\n return GaugeColor.Lowest;\r\n } else if (value >= 1 && value < 25) {\r\n return GaugeColor.Low;\r\n } else if (value >= 25 && value < 50) {\r\n return GaugeColor.MediumLow;\r\n } else if (value >= 50 && value < 75) {\r\n return GaugeColor.MediumHigh;\r\n } else if (value >= 75 && value < 100) {\r\n return GaugeColor.High;\r\n } else if (value >= 100) {\r\n return GaugeColor.Highest;\r\n }\r\n }\r\n}\r\n","import { animate, state, style, transition, trigger } from \"@angular/animations\";\r\nimport {\r\n Component,\r\n ComponentRef,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n Output,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {OverlayService} from '@colijnit/corecomponents_v12';\r\nimport {StatusbarPopupComponent} from './statusbar-popup.component';\r\n\r\nexport interface StatusbarData {\r\n label: string,\r\n percentage: number,\r\n count?: number,\r\n totalCount?: number,\r\n}\r\n\r\n@Component({\r\n selector: \"co-statusbar\",\r\n template: `\r\n <div class=\"co-statusbar-wrapper\" *ngIf=\"statusbarData\" [clickOutside]=\"popupShowing\"\r\n (clickOutside)=\"handleHidePopup()\">\r\n <div class=\"statuses\">\r\n <div *ngFor=\"let data of statusbarData; let index = index\" class=\"status\">\r\n <co-linear-gauge [class.focused-status]=\"focusedStatusIndex !== undefined && focusedStatusIndex === index\"\r\n [value]=\"data.percentage\" [count]=\"data.count ? data.count : undefined\"></co-linear-gauge>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n providers: [\r\n OverlayService\r\n ],\r\n animations: [\r\n trigger(\"showHidePopup\", [\r\n state(\"void\", style({opacity: 0})),\r\n state(\"*\", style({opacity: 1})),\r\n transition(\"void <=> *\", animate(\"250ms ease-in-out\")),\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StatusbarComponent {\r\n\r\n @Input()\r\n public set statusbarData(value: StatusbarData[]) {\r\n this._statusbarData = value;\r\n this.adjustTooHighPercentages();\r\n }\r\n\r\n public get statusbarData() {\r\n return this._statusbarData;\r\n }\r\n\r\n @Input()\r\n public defaultColor: '#e0e0e0';\r\n\r\n @Input()\r\n public focusedStatusIndex: number;\r\n\r\n @Output()\r\n statusbarClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding(\"class.co-statusbar\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener(\"click\", [\"$event\"])\r\n public handleClick(event: MouseEvent) {\r\n this.handleShowPopup(event);\r\n }\r\n\r\n public popupShowing: boolean = false;\r\n\r\n private _statusbarData: StatusbarData[];\r\n private _statusbarPopupComponentRef: ComponentRef<any>;\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _overlayService: OverlayService) {\r\n }\r\n\r\n public handleShowPopup(event: MouseEvent): void {\r\n if (this.popupShowing) {\r\n return;\r\n }\r\n event.preventDefault();\r\n event.stopPropagation();\r\n this._statusbarPopupComponentRef = this._overlayService.createComponent(StatusbarPopupComponent, {parentForOverlay: this._elementRef, statusbarData: this.statusbarData, defaultColor: this.defaultColor});\r\n this.popupShowing = true;\r\n }\r\n\r\n public handleHidePopup(): void {\r\n this._overlayService.removeComponent(this._statusbarPopupComponentRef);\r\n this.popupShowing = false;\r\n }\r\n\r\n public adjustTooHighPercentages(): void {\r\n this._statusbarData.forEach(data => data.percentage > 100 ? data.percentage = 100 : false);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {ClickoutsideModule, OverlayModule} from '@colijnit/corecomponents_v12';\r\nimport {CoLinearGaugeModule} from '../linear-gauge/co-linear-gauge.module';\r\nimport {StatusbarComponent} from './statusbar.component';\r\nimport {StatusbarPopupComponent} from './statusbar-popup.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoLinearGaugeModule,\r\n ClickoutsideModule,\r\n OverlayModule\r\n ],\r\n declarations: [\r\n StatusbarComponent,\r\n StatusbarPopupComponent\r\n ],\r\n exports: [\r\n StatusbarComponent,\r\n StatusbarPopupComponent\r\n ]\r\n})\r\nexport class StatusbarModule {\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"co-stock-statusbar\",\r\n template: `\r\n <div class=\"status-bar\">\r\n <div class=\"status-bar-block\" [ngClass]=\"{'red': value === 0, 'orange': value === 1, 'green': value === 2}\"></div>\r\n <div class=\"status-bar-block\" [ngClass]=\"{'orange': value === 1, 'green': value === 2}\"></div>\r\n <div class=\"status-bar-block\" [ngClass]=\"{'green': value === 2}\"></div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockStatusbarComponent {\r\n\r\n @Input()\r\n public value: number;\r\n\r\n constructor(\r\n ) {\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {StockStatusbarComponent} from \"./stock-statusbar.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ],\r\n declarations: [\r\n StockStatusbarComponent\r\n ],\r\n exports: [\r\n StockStatusbarComponent\r\n ]\r\n})\r\nexport class StockStatusbarModule {\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\nimport {StockService} from \"../../../../service/stock.service\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {StockForecast} from \"@colijnit/articleapi/build/model/stock-forecast.bo\";\r\n\r\n@Component({\r\n selector: \"co-stock-prognose\",\r\n template: `\r\n <co-simple-grid [data]=\"stockPrognose\"\r\n class=\"simple-grid\"\r\n [rowsPerPage]=\"20\"\r\n >\r\n <co-simple-grid-column [headerText]=\"'AVAILABILITY' | localize\" [field]=\"'available'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FREE_STOCK' | localize\" [field]=\"'freeStock'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'IN_ORDER' | localize\" [field]=\"'inOrder'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER' | localize\" [field]=\"'transNr'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'PURCHASE_ORDER_DATE' | localize\" [field]=\"'transactionDate'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row['arrivalDate'] | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'REFERENCE' | localize\" [field]=\"'reference'\"></co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DELIVERY_DATE_CONFIRMED' | localize\" [field]=\"'transConfirmedDate'\">\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'DATE_DELIVERED' | localize\">\r\n <ng-template #template let-row=\"row\">\r\n <span [textContent]=\"row['transDeliveryDate'] | date:'dd-MM-yyyy'\"></span>\r\n </ng-template>\r\n </co-simple-grid-column>\r\n <co-simple-grid-column [headerText]=\"'FUTURE_FREE_STOCK' | localize\" [field]=\"'laterAvailable'\"></co-simple-grid-column>\r\n </co-simple-grid>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class StockPrognoseComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public stockPrognose: StockForecast[] = [];\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n private _stockService: StockService,\r\n ) {\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from '@angular/core';\r\nimport {LocalizeService} from './localize.service';\r\n\r\n@Pipe({\r\n name: \"localize\"\r\n})\r\nexport class LocalizePipe implements PipeTransform {\r\n\r\n constructor(private _localizeService: LocalizeService) {}\r\n\r\n transform(value: string, upperCaseFirst: boolean = true, replace: string|string[] = []): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n replace = (replace !== undefined && replace !== null) ? replace : [];\r\n if (!Array.isArray(replace)) {\r\n replace = [replace];\r\n }\r\n return this._localizeService.get(value, upperCaseFirst, ...replace);\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {LocalizePipe} from './localize.pipe';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule\r\n ],\r\n declarations: [\r\n LocalizePipe\r\n ],\r\n exports: [\r\n LocalizePipe\r\n ]\r\n})\r\nexport class LocalizationModule {\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {StockComponent} from './stock.component';\r\nimport {\r\n ButtonModule,\r\n CoDialogModule,\r\n CoDialogWizardModule,\r\n IconModule,\r\n ImageModule,\r\n InputNumberPickerModule,\r\n InputRadioButtonModule,\r\n InputTextareaModule,\r\n InputTextModule,\r\n ListOfValuesModule,\r\n SimpleGridModule,\r\n PopupModule,\r\n} from '@colijnit/corecomponents_v12';\r\nimport {CommonModule} from '@angular/common';\r\nimport {StockInformationComponent} from './stock-information/stock-information.component';\r\nimport {StockInformationGridComponent} from './stock-information-grid/stock-information-grid.component';\r\nimport {StockService} from '../../service/stock.service';\r\nimport {StockTransferComponent} from './stock-transfer/stock-transfer.component';\r\nimport {SendMethodDialogModule} from '../send-method-dialog/send-method-dialog.module';\r\nimport {StockChangeAmountComponent} from './stock-transfer/stock-change-amount.component';\r\nimport {StockTabComponent} from './components/stock-tab/stock-tab.component';\r\nimport {OrderTabComponent} from './components/order-tab/order-tab.component';\r\nimport {StockTabsComponent} from './stock-tabs/stock-tabs.component';\r\nimport {StockHistoryTabsComponent} from './stock-history-tabs/stock-history-tabs.component';\r\nimport {OrderStockTabComponent} from './components/order-stock-tab/order-stock-tab.component';\r\nimport {StockLocationComponent} from './components/stock-location/stock-location.component';\r\nimport {StockHistoryComponent} from './components/stock-history/stock-history.component';\r\nimport {TabBarModule} from '../tab-bar/tab-bar.module';\r\nimport {\r\n OrderSupplyStockHistoryComponent\r\n} from './components/order-supply-stock-history/order-supply-stock-history.component';\r\nimport {\r\n OrderCommissionStockHistoryComponent\r\n} from './components/order-commission-stock-history/order-commission-stock-history.component';\r\nimport {OrderStockHistoryComponent} from './components/order-stock-history/order-stock-history.component';\r\nimport {\r\n AllocationStockHistoryComponent\r\n} from './components/allocation-stock-history/allocation-stock-history.component';\r\nimport {StatusbarModule} from '../statusbar/statusbar.module';\r\nimport {StockStatusbarModule} from '../stock-statusbar/stock-statusbar.module';\r\nimport {StockPrognoseComponent} from './components/stock-prognose/stock-prognose.component';\r\nimport {LocalizationModule} from '../../localization/localization.module';\r\nimport {LocalizeService} from '../../localization/localize.service';\r\n\r\n@NgModule({\r\n imports: [\r\n ButtonModule,\r\n CommonModule,\r\n InputRadioButtonModule,\r\n SimpleGridModule,\r\n ImageModule,\r\n InputTextModule,\r\n SendMethodDialogModule,\r\n IconModule,\r\n InputNumberPickerModule,\r\n CoDialogWizardModule,\r\n InputTextareaModule,\r\n TabBarModule,\r\n CoDialogModule,\r\n StatusbarModule,\r\n StockStatusbarModule,\r\n ListOfValuesModule,\r\n LocalizationModule,\r\n PopupModule\r\n ],\r\n declarations: [\r\n StockComponent,\r\n StockInformationComponent,\r\n StockInformationGridComponent,\r\n StockTransferComponent,\r\n StockChangeAmountComponent,\r\n StockTabComponent,\r\n OrderTabComponent,\r\n StockTabsComponent,\r\n StockHistoryTabsComponent,\r\n OrderStockTabComponent,\r\n StockLocationComponent,\r\n StockHistoryComponent,\r\n OrderSupplyStockHistoryComponent,\r\n OrderCommissionStockHistoryComponent,\r\n OrderStockHistoryComponent,\r\n AllocationStockHistoryComponent,\r\n StockPrognoseComponent\r\n ],\r\n exports: [\r\n StockComponent\r\n ],\r\n providers: [\r\n StockService,\r\n LocalizeService\r\n ]\r\n})\r\nexport class StockModule {\r\n}\r\n","export class Translation {\r\n public ALLOCATED?: string = 'ALLOCATED';\r\n public ALLOCATION?: string = 'ALLOCATION';\r\n public ALREADY_IN_ORDER?: string = 'ALREADY_IN_ORDER';\r\n public AMOUNT?: string = 'AMOUNT';\r\n public AMOUNT_AVAILABLE?: string = 'AMOUNT_AVAILABLE';\r\n public AMOUNT_IN_STOCK?: string = 'AMOUNT_IN_STOCK';\r\n public AMOUNT_LATER_AVAILABLE?: string = 'AMOUNT_LATER_AVAILABLE';\r\n public AVAILABILITY?: string = 'AVAILABILITY';\r\n public AVAILABLE_STOCK?: string = 'AVAILABLE_STOCK';\r\n public BACK_TO_STOCK_LINES?: string = 'BACK_TO_STOCK_LINES';\r\n public BATCH?: string = 'BATCH';\r\n public CANCEL?: string = 'CANCEL';\r\n public CHOICES?: string = 'CHOICES';\r\n public CUSTOMER?: string = 'CUSTOMER';\r\n public DATE?: string = 'DATE';\r\n public DATE_DELIVERED?: string = 'DATE_DELIVERED';\r\n public DELIVERY_DATE?: string = 'DELIVERY_DATE';\r\n public DELIVERY_DATE_CONFIRMED?: string = 'DELIVERY_DATE_CONFIRMED';\r\n public DESCRIPTION?: string = 'DESCRIPTION';\r\n public DOCUMENT_NUMBER?: string = 'DOCUMENT_NUMBER';\r\n public ECONOMICAL_STOCK?: string = 'ECONOMICAL_STOCK';\r\n public FREE_STOCK?: string = 'FREE_STOCK';\r\n public FUTURE_FREE_STOCK?: string = 'FUTURE_FREE_STOCK';\r\n public HISTORY?: string = 'HISTORY';\r\n public IN_ORDER?: string = 'IN_ORDER';\r\n public LINE?: string = 'LINE';\r\n public LOCATION?: string = 'LOCATION';\r\n public LOOK_AT?: string = 'LOOK_AT';\r\n public MUTATION_DATE?: string = 'MUTATION_DATE';\r\n public MUTATION_TIME?: string = 'MUTATION_TIME';\r\n public MUTATION_TYPE?: string = 'MUTATION_TYPE';\r\n public OK?: string = 'OK';\r\n public ORDER?: string = 'ORDER';\r\n public ORDER_COMMISSION?: string = 'ORDER_COMMISSION';\r\n public ORDER_STOCK?: string = 'ORDER_STOCK';\r\n public OVERVIEW?: string = 'OVERVIEW';\r\n public PURCHASE_ORDER?: string = 'PURCHASE_ORDER';\r\n public PURCHASE_ORDER_DATE?: string = 'PURCHASE_ORDER_DATE';\r\n public PURCHASE_ORDER_NR?: string = 'PURCHASE_ORDER_NR';\r\n public PURCHASE_PRICE?: string = 'PURCHASE_PRICE';\r\n public REFERENCE?: string = 'REFERENCE';\r\n public RELATION_ID?: string = 'RELATION_ID';\r\n public RELATION_NR?: string = 'RELATION_NR';\r\n public RESERVED?: string = 'RESERVED';\r\n public SEARCH?: string = 'SEARCH';\r\n public SERIAL_NO?: string = 'SERIAL_NO';\r\n public STICKER?: string = 'STICKER';\r\n public STOCK?: string = 'STOCK';\r\n public STOCK_DETAILS?: string = 'STOCK_DETAILS';\r\n public STOCK_FORECAST?: string = 'STOCK_FORECAST';\r\n public STOCK_REMARK?: string = 'STOCK_REMARK';\r\n public STOCK_STATE?: string = 'STOCK_STATE';\r\n public STOCK_STATUS?: string = 'STOCK_STATUS';\r\n public SUPPLIER_NUMBER?: string = 'SUPPLIER_NUMBER';\r\n public TRANSFER?: string = 'TRANSFER';\r\n public USER?: string = 'USER';\r\n public VALUTA?: string = 'VALUTA';\r\n public WAREHOUSE?: string = 'WAREHOUSE';\r\n}\r\n","export enum KeyboardCode {\r\n Backspace = \"Backspace\",\r\n Digit0 = \"Digit0\",\r\n Digit1 = \"Digit1\",\r\n Digit2 = \"Digit2\",\r\n Digit3 = \"Digit3\",\r\n Digit4 = \"Digit4\",\r\n Digit5 = \"Digit5\",\r\n Digit6 = \"Digit6\",\r\n Digit7 = \"Digit7\",\r\n Digit8 = \"Digit8\",\r\n Digit9 = \"Digit9\",\r\n Enter = \"Enter\",\r\n Escape = \"Escape\",\r\n Minus = \"Minus\",\r\n Numpad0 = \"Numpad0\",\r\n Numpad1 = \"Numpad1\",\r\n Numpad2 = \"Numpad2\",\r\n Numpad3 = \"Numpad3\",\r\n Numpad4 = \"Numpad4\",\r\n Numpad5 = \"Numpad5\",\r\n Numpad6 = \"Numpad6\",\r\n Numpad7 = \"Numpad7\",\r\n Numpad8 = \"Numpad8\",\r\n Numpad9 = \"Numpad9\",\r\n NumpadDecimal = \"NumpadDecimal\",\r\n NumpadEnter = \"NumpadEnter\",\r\n NumpadSubtract = \"NumpadSubtract\",\r\n Period = \"Period\"\r\n}\r\n","import {Component, EventEmitter, HostBinding, HostListener, Input, OnInit, Output, ViewEncapsulation} from '@angular/core';\r\nimport {Icon} from '../../enum/icon.enum';\r\nimport {IconCacheService} from '../../service/icon-cache.service';\r\nimport {KeyboardCode} from '../../enum/keyboard-code.enum';\r\n\r\n@Component({\r\n selector: 'co-key-pad',\r\n template: `\r\n <div class=\"key-pad-wrapper\">\r\n <div class=\"key-pad-model-wrapper\" *ngIf=\"showValue\">\r\n <co-responsive-text class=\"key-pad-model\" [text]=\"internalModel\" [class.negative]=\"isNegative\"></co-responsive-text>\r\n </div>\r\n <div class=\"key-pad-button-wrapper\">\r\n <div class=\"key-pad-button button-7\" (click)=\"handleButtonClick('7')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'7'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-8\" (click)=\"handleButtonClick('8')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'8'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-9\" (click)=\"handleButtonClick('9')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'9'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-bs\" (click)=\"handleBsClick($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.DeleteLeftRegular)\"></co-icon>\r\n </div>\r\n <div class=\"key-pad-button button-4\" (click)=\"handleButtonClick('4')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'4'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-5\" (click)=\"handleButtonClick('5')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'5'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-6\" (click)=\"handleButtonClick('6')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'6'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-minus\" (click)=\"handleMinusClick($event)\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'-'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-1\" (click)=\"handleButtonClick('1')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'1'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-2\" (click)=\"handleButtonClick('2')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'2'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-3\" (click)=\"handleButtonClick('3')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'3'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-enter\" (click)=\"handleEnterClick($event)\">\r\n <co-responsive-text class=\"key-pad-button-text\" [text]=\"'enter'\"></co-responsive-text>\r\n </div>\r\n <div class=\"key-pad-button button-0\" (click)=\"handleButtonClick('0')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'0'\"></co-responsive-text></div>\r\n <div class=\"key-pad-button button-dot\" (click)=\"handleButtonClick('.')\"><co-responsive-text class=\"key-pad-button-text\" [text]=\"'.'\"></co-responsive-text></div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class KeyPadComponent {\r\n public icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set model(value: number) {\r\n this._model = value;\r\n this._internalModel = this._model + \"\";\r\n }\r\n\r\n public get model(): number {\r\n return this._model;\r\n }\r\n\r\n @Input()\r\n public showValue: boolean = true;\r\n\r\n @Input()\r\n public resetModelOnInit: boolean = true;\r\n\r\n @Input()\r\n public emitModelChangeOnEnter: boolean = true;\r\n\r\n @Output()\r\n public modelChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @Output()\r\n public internalModelChange: EventEmitter<string> = new EventEmitter<string>();\r\n\r\n @Output()\r\n public enterClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding('class.co-key-pad')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostListener('window:keydown', ['$event'])\r\n public handleKeyDown(event: KeyboardEvent) {\r\n if (document.activeElement instanceof HTMLBodyElement) {\r\n this._keyDown(event);\r\n }\r\n }\r\n\r\n private readonly _validKeyMap: Map<KeyboardCode | string, string> = new Map<KeyboardCode, string>([\r\n [KeyboardCode.Digit0, \"0\"],\r\n [KeyboardCode.Digit1, \"1\"],\r\n [KeyboardCode.Digit2, \"2\"],\r\n [KeyboardCode.Digit3, \"3\"],\r\n [KeyboardCode.Digit4, \"4\"],\r\n [KeyboardCode.Digit5, \"5\"],\r\n [KeyboardCode.Digit6, \"6\"],\r\n [KeyboardCode.Digit7, \"7\"],\r\n [KeyboardCode.Digit8, \"8\"],\r\n [KeyboardCode.Digit9, \"9\"],\r\n [KeyboardCode.Numpad0, \"0\"],\r\n [KeyboardCode.Numpad1, \"1\"],\r\n [KeyboardCode.Numpad2, \"2\"],\r\n [KeyboardCode.Numpad3, \"3\"],\r\n [KeyboardCode.Numpad4, \"4\"],\r\n [KeyboardCode.Numpad5, \"5\"],\r\n [KeyboardCode.Numpad6, \"6\"],\r\n [KeyboardCode.Numpad7, \"7\"],\r\n [KeyboardCode.Numpad8, \"8\"],\r\n [KeyboardCode.Numpad9, \"9\"],\r\n [KeyboardCode.NumpadDecimal, \".\"],\r\n [KeyboardCode.Period, \".\"]\r\n ])\r\n\r\n private _init: boolean = true;\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public set internalModel(value: string) {\r\n this._internalModel = value;\r\n this.isNegative = parseFloat(this._internalModel) < 0;\r\n this.internalModelChange.emit(this._internalModel);\r\n }\r\n\r\n public get internalModel(): string {\r\n return this._internalModel;\r\n }\r\n\r\n public isNegative: boolean = false;\r\n\r\n private _model: number = 0;\r\n private _internalModel: string = \"0\";\r\n private _maxCharacters: number = 11;\r\n\r\n public handleMinusClick(event: MouseEvent | KeyboardEvent): void {\r\n const model: number = parseFloat(this.internalModel);\r\n if (model !== 0) {\r\n if (model < 0) {\r\n this.internalModel = Math.abs(model) + \"\";\r\n } else {\r\n this.internalModel = -model + \"\";\r\n }\r\n }\r\n this._emitModelChange();\r\n }\r\n\r\n public handleClearClick(event: MouseEvent | KeyboardEvent): void {\r\n this.internalModel = \"0\";\r\n this._emitModelChange();\r\n }\r\n\r\n public handleBsClick(event: MouseEvent | KeyboardEvent): void {\r\n let wish: string = this.internalModel;\r\n wish = wish.slice(0, wish.length - 1) || \"0\";\r\n if (!isNaN(parseFloat(wish))) {\r\n this.internalModel = parseFloat(wish) + \"\";\r\n }\r\n this._emitModelChange();\r\n }\r\n\r\n public handleButtonClick(chr: string): void {\r\n this._updateModel(chr);\r\n }\r\n\r\n public handleEnterClick(event: MouseEvent | KeyboardEvent): void {\r\n this._emitModelChange(true);\r\n this.enterClick.emit();\r\n }\r\n\r\n private _updateModel(value: string): void {\r\n if (this.resetModelOnInit && this._init) {\r\n this._internalModel = \"0\";\r\n this._init = false;\r\n }\r\n if (value === undefined || value === null ||\r\n (value === '.' && this.internalModel.indexOf('.') > -1) ||\r\n this.internalModel.length >= this._maxCharacters) {\r\n return;\r\n }\r\n this.internalModel = this.internalModel !== \"0\" ? this.internalModel + value : value;\r\n this._emitModelChange();\r\n }\r\n\r\n private _keyDown(event: KeyboardEvent): void {\r\n if (this._isEnter(event)) {\r\n this.handleEnterClick(event);\r\n } else if (this._isMinus(event)) {\r\n this.handleMinusClick(event);\r\n } else if (this._isEscape(event)) {\r\n this.handleClearClick(event);\r\n } else if (this._isBackspace(event)) {\r\n this.handleBsClick(event);\r\n } else {\r\n this._updateModel(this._validKeyMap.get(event.code));\r\n }\r\n }\r\n\r\n private _isEnter(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Enter || event.code === KeyboardCode.NumpadEnter;\r\n }\r\n\r\n private _isMinus(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Minus || event.code === KeyboardCode.NumpadSubtract;\r\n }\r\n\r\n private _isEscape(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Escape;\r\n }\r\n\r\n private _isBackspace(event: KeyboardEvent): boolean {\r\n return event.code === KeyboardCode.Backspace;\r\n }\r\n\r\n private _emitModelChange(enter: boolean = false): void {\r\n if ((enter && this.emitModelChangeOnEnter) || (!enter && !this.emitModelChangeOnEnter)) {\r\n const model: number = parseFloat(this.internalModel);\r\n if (!isNaN(model)) {\r\n if (enter && this.emitModelChangeOnEnter) {\r\n this.model = model;\r\n }\r\n this.modelChange.emit(model);\r\n }\r\n }\r\n }\r\n}\r\n","import {NgModule} from '@angular/core';\r\nimport {CommonModule} from '@angular/common';\r\nimport {KeyPadComponent} from './key-pad.component';\r\nimport {IconModule, ResponsiveTextModule} from '@colijnit/corecomponents_v12';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule,\r\n ResponsiveTextModule\r\n ],\r\n declarations: [\r\n KeyPadComponent\r\n ],\r\n exports: [\r\n KeyPadComponent\r\n ]\r\n})\r\nexport class KeyPadModule {\r\n}\r\n","import {Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"co-layout-switcher\",\r\n template: `\r\n <div class=\"mask-wrapper\" [class.mask-wrapper-active]='showMaskSidebar' @showHideSidebar>\r\n <div class=\"icon-wrapper\" (click)=\"toggleMaskSidebar()\">\r\n <co-icon class=\"icon-mask\" [iconData]=\"iconCacheService.getIcon(icon.BringForwardRegular)\" [@positionIcon]=\"showMaskSidebar\"></co-icon>\r\n\r\n <co-icon class='icon-mask-sidebar-handle' [@positionHandle]='showMaskSidebar' [iconData]=\"showMaskSidebar ? iconCacheService.getIcon(this.icon.AngleLeftSolid) : iconCacheService.getIcon(this.icon.AngleRightSolid)\"></co-icon>\r\n </div>\r\n\r\n <div class=\"mask-content\" *ngIf=\"showMaskSidebar\" @showHideSidebar>\r\n <span *ngFor='let item of this.layoutItems' [class.active]=\"this.activeIndex === this.layoutItems.indexOf(item)\" [textContent]=\"item\" (click)='activeIndex = this.layoutItems.indexOf(item)' ></span>\r\n </div>\r\n </div>\r\n\r\n `,\r\n animations: [\r\n trigger(\"showHideSidebar\", [\r\n state(\"void\", style({\"width\": \"0\"})),\r\n state(\"*\", style({\"width\": \"*\"})),\r\n transition(\"void <=> *\", animate(200))\r\n ]),\r\n trigger(\"positionIcon\", [\r\n state(\"true\", style({\"left\": \"70px\"})),\r\n state(\"false\", style({\"left\": \"10px\"})),\r\n transition(\"true <=> false\", animate(200))\r\n ]),\r\n trigger(\"positionHandle\", [\r\n state(\"true\", style({\"left\": \"15px\"})),\r\n state(\"false\", style({\"left\": \"75px\"})),\r\n transition(\"true <=> false\", animate(200))\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class LayoutSwitcherComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @HostBinding('class.co-layout-switcher')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public layoutItems: string[] = [];\r\n\r\n @Output()\r\n public layoutSwitchEmit:EventEmitter<string> = new EventEmitter<string>();\r\n\r\n public get activeIndex(): number {\r\n return this._activeIndex;\r\n }\r\n\r\n public set activeIndex(index) {\r\n this._activeIndex = index;\r\n this.toggleMaskSidebar();\r\n this.layoutSwitchEmit.emit(this.layoutItems[index]);\r\n }\r\n\r\n public showMaskSidebar: boolean = false;\r\n\r\n private _activeIndex: number = 0;\r\n\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public toggleMaskSidebar(): void {\r\n this.showMaskSidebar = !this.showMaskSidebar;\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LayoutSwitcherComponent} from \"./layout-switcher.component\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n IconModule\r\n ],\r\n declarations: [\r\n LayoutSwitcherComponent,\r\n ],\r\n exports: [\r\n LayoutSwitcherComponent\r\n ]\r\n})\r\nexport class LayoutSwitcherModule {\r\n\r\n}\r\n","export enum CalendarView {\r\n DayView = \"DAY\",\r\n WeekView = \"WEEK\",\r\n WeekSelectView = \"WEEK_SELECT\",\r\n\r\n WeekPlanningView = \"WEEK_PLANNING\",\r\n MonthView = \"MONTH\",\r\n}\r\n","import {\r\n ChangeDetectorRef,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n Output,\r\n Renderer2,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {CalendarView} from '../../enum/calendar-view.enum';\r\nimport {AgendaEventPerDay} from \"../../model/agenda-event-per-day.model\";\r\n\r\n@Component({\r\n selector: \"co-date-planning\",\r\n template: `\r\n <div class=\"sc-agenda\">\r\n <div class=\"content-wrapper\">\r\n <calendar *ngIf=\"calendarNavigation\"\r\n [view]=\"view\"\r\n [(days)]=\"days\"\r\n [selectedDate]=\"selectedDate\" (selectedDateChange)=\"doChangeSelectedDate($event)\"></calendar>\r\n <div class=\"agenda-content-wrapper mini-scrollbar\">\r\n <div class=\"agenda-content\">\r\n <agenda-header [view]=\"view\" (viewChange)=\"doChangeView($event)\"\r\n [firstAvailableDate]=\"firstAvailableDate\"\r\n [eventsPerDay]=\"eventsPerDay\"\r\n [selectedDate]=\"selectedDate\"\r\n (selectedDateChange)=\"doChangeSelectedDate($event)\"\r\n (rangeChange)=\"doChangeSelectedDate($event, true)\"></agenda-header>\r\n <agenda-view [view]=\"view\"\r\n [customEventObject]=\"customEventObject\"\r\n [selectedDate]=\"selectedDate\"\r\n [eventsPerDay]=\"eventsPerDay\"\r\n (eventChecked)=\"eventChecked.emit($event)\"></agenda-view>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <co-button *ngIf=\"showButton && eventsPerDay.length > 0\" class=\"text-only select-agenda-button\"\r\n [label]=\"buttonLabel\"\r\n (click)=\"buttonClick.emit($event)\">\r\n </co-button>\r\n `,\r\n animations: [\r\n trigger(\"showHideWindow\", [\r\n state(\"void\", style({transform: \"scaleY(0)\"})),\r\n state(\"*\", style({transform: \"scaleY(1)\"})),\r\n transition(\":enter, :leave\", [\r\n animate(\"200ms ease-in-out\")\r\n ])\r\n ])\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class DatePlanningComponent {\r\n @ViewChild(\"dayStart\", { static: true })\r\n public dayStart: ElementRef;\r\n\r\n @Input()\r\n public calendarNavigation: boolean = false;\r\n\r\n @Input()\r\n public customEventObject: boolean = false;\r\n\r\n @Input()\r\n public showButton: boolean = false;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public firstAvailableDate: Date;\r\n\r\n @Input()\r\n public buttonLabel: string = \"\";\r\n\r\n @Input()\r\n public eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public readonly rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public readonly viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n @Output()\r\n public readonly buttonClick: EventEmitter<MouseEvent> = new EventEmitter<MouseEvent>();\r\n\r\n @HostBinding(\"class.co-date-planning\")\r\n public showClass: boolean = true;\r\n\r\n public days: Date[] = [];\r\n private _selectedDate: Date = new Date();\r\n\r\n constructor(\r\n private _changeDetector: ChangeDetectorRef,\r\n private renderer: Renderer2\r\n ) {\r\n }\r\n\r\n public doChangeSelectedDate(date: Date, rangeChanged: boolean = false): void {\r\n this.selectedDate = new Date(date);\r\n if (rangeChanged) {\r\n this.rangeChange.next(this.selectedDate);\r\n } else {\r\n this.selectedDateChange.next(this.selectedDate);\r\n }\r\n this._changeDetector.detectChanges();\r\n }\r\n\r\n public doChangeView(view: CalendarView): void {\r\n this.view = view;\r\n this.viewChange.next(this.view);\r\n }\r\n\r\n public scrollToDayStart(): void {\r\n if (this.dayStart !== undefined) {\r\n const dayStart: any = this.renderer.selectRootElement(\"#dayStart\");\r\n if (dayStart) {\r\n setTimeout(() => {\r\n dayStart.scrollIntoView({behavior: \"instant\", block: \"center\"});\r\n });\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"calendar-all-years\",\r\n template: `\r\n <div *ngFor=\"let currentYear of years\"\r\n [textContent]=\"currentYear\"\r\n [class.selected-year]=\"currentYear === year\"\r\n class=\"pointer-hover\"\r\n (click)=\"year = currentYear; yearChange.emit(year)\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CalendarAllYearsComponent implements OnInit {\r\n\r\n @Input()\r\n public year: number;\r\n\r\n @Output()\r\n public readonly yearChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n public years: number[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.years.length = 0;\r\n let start: number = this._determineStart();\r\n const end: number = start + 11;\r\n while (start < end) {\r\n this.years.push(start);\r\n start++;\r\n }\r\n }\r\n\r\n private _determineStart(): number {\r\n if (this.year > 0) {\r\n let thisYear: number = this.year;\r\n let thisYearLastDigit: number = parseInt(thisYear.toString().split(\"\").pop());\r\n while (thisYearLastDigit > 0) {\r\n thisYear--;\r\n thisYearLastDigit = parseInt(thisYear.toString().split(\"\").pop());\r\n }\r\n return thisYear;\r\n }\r\n return 0;\r\n }\r\n\r\n}\r\n","// All the months. Values are corresponding dictionary keys in text_nl.\r\nexport enum Month {\r\n January = \"JANUARY\",\r\n Februrary = \"FEBRUARY\",\r\n March = \"MARCH\",\r\n April = \"APRIL\",\r\n May = \"MAY\",\r\n June = \"JUNE\",\r\n July = \"JULY\",\r\n August = \"AUGUST\",\r\n September = \"SEPTEMBER\",\r\n October = \"OCTOBER\",\r\n November = \"NOVEMBER\",\r\n December = \"DECEMBER\"\r\n}\r\n","import {Month} from \"../../enum/month.enum\";\r\n\r\n// All the months in a year. The order is important, and should remain January - to December!\r\nexport const ALL_MONTHS: Month[] = [\r\n Month.January,\r\n Month.Februrary,\r\n Month.March,\r\n Month.April,\r\n Month.May,\r\n Month.June,\r\n Month.July,\r\n Month.August,\r\n Month.September,\r\n Month.October,\r\n Month.November,\r\n Month.December\r\n];\r\n","import {Component, EventEmitter, Input, OnInit, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\r\n\r\n@Component({\r\n selector: \"calendar-all-months\",\r\n template: `\r\n <div *ngFor=\"let currentMonth of months; let index = index\"\r\n [class.selected-month]=\"month === index\"\r\n [textContent]=\"currentMonth\"\r\n class=\"pointer-hover\"\r\n (click)=\"month = index; monthChange.emit(month)\"\r\n ></div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\nexport class CalendarAllMonthsComponent implements OnInit {\r\n\r\n @Input()\r\n public month: number;\r\n\r\n @Input()\r\n public shortDescriptions: boolean = false;\r\n\r\n @Output()\r\n public monthChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n public months: string[] = [];\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.months.length = 0;\r\n this.months = ALL_MONTHS;\r\n }\r\n}\r\n","import {Component, DoCheck, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {animate, state, style, transition, trigger} from \"@angular/animations\";\r\nimport {ALL_MONTHS} from \"../../../../model/constant/all-months\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"calendar-header\",\r\n template: `\r\n <div #monthYearSelect class=\"calendar-header-row\">\r\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subMonth()\"></co-icon>\r\n <div (click)=\"showMonthYearSelect = true\">\r\n <div class=\"month\" [textContent]=\"currentMonth\"></div>\r\n <div class=\"year\" [textContent]=\"currentYear\"></div>\r\n </div>\r\n <co-icon class=\"pointer-hover\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addMonth()\"></co-icon>\r\n </div>\r\n <ng-template #template>\r\n <div *ngIf=\"showMonthYearSelect\"\r\n (clickOutside)=\"hideMonthYearSelection()\"\r\n class=\"select-month-year-window\" [class.expanded]=\"expanded\" @showMonthYearSelect\r\n >\r\n <div>\r\n <calendar-all-months [month]=\"currentMonth\" (monthChange)=\"setNewMonth($event)\" shortDescriptions></calendar-all-months>\r\n <div class=\"vertical-divider\"></div>\r\n <calendar-all-years [year]=\"currentYear\" (yearChange)=\"setNewYear($event)\"></calendar-all-years>\r\n </div>\r\n<!-- <default-ok-cancel-buttons-->\r\n<!-- (okClick)=\"changeMonthYear()\"-->\r\n<!-- (cancelClick)=\"showMonthYearSelect = false\"-->\r\n<!-- >-->\r\n<!-- </default-ok-cancel-buttons>-->\r\n </div>\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n animations: [\r\n trigger(\"showMonthYearSelect\", [\r\n state(\"void\", style({\r\n \"transform-origin\": \"top center\",\r\n transform: \"scaleY(0)\"\r\n })),\r\n state(\"*\", style({\r\n \"transform-origin\": \"top center\",\r\n transform: \"scaleY(1)\"\r\n })),\r\n transition(\":enter, :leave\", [\r\n animate(\"200ms ease-in-out\")\r\n ])\r\n ])\r\n ]\r\n})\r\n\r\nexport class CalendarHeaderComponent implements DoCheck {\r\n\r\n @Input()\r\n public selectedDate: Date = new Date();\r\n\r\n @Output()\r\n public readonly selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n public showMonthYearSelect: boolean = false;\r\n\r\n public expanded: boolean = false;\r\n\r\n public currentMonth: string;\r\n\r\n public currentYear: number;\r\n\r\n public selectedMonth: number;\r\n\r\n public selectedYear: number;\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngDoCheck(): void {\r\n if (this.selectedDate) {\r\n this.currentMonth = ALL_MONTHS[this.selectedDate.getMonth()];\r\n this.currentYear = this.selectedDate.getFullYear();\r\n }\r\n }\r\n\r\n public subMonth(): void {\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(newDate.getMonth() - 1);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public addMonth(): void {\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(newDate.getMonth() + 1);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public hideMonthYearSelection(): void {\r\n this.expanded = false;\r\n this.showMonthYearSelect = false;\r\n }\r\n\r\n public setNewMonth(month: number): void {\r\n this.selectedMonth = month;\r\n }\r\n\r\n public setNewYear(year: number): void {\r\n this.selectedYear = year;\r\n }\r\n\r\n public changeMonthYear(): void {\r\n this.hideMonthYearSelection();\r\n const newDate: Date = new Date(this.selectedDate);\r\n newDate.setMonth(this.selectedMonth);\r\n newDate.setFullYear(this.selectedYear);\r\n this.selectedDate = newDate;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\n\r\n@Component({\r\n selector: \"calendar\",\r\n template: `\r\n <div class=\"sc-calendar\">\r\n <calendar-header [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-header>\r\n <calendar-view [view]=\"view\" [selectedDate]=\"selectedDate\" (selectedDateChange)=\"changeSelectedDate($event)\"></calendar-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class CalendarComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public selectedDate: Date = new Date();\r\n\r\n @Input()\r\n public days: Date[] = [];\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n constructor() {\r\n }\r\n\r\n public changeSelectedDate(date: Date): void {\r\n this.selectedDate = date;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"arrayNumber\"\r\n})\r\nexport class ArrayNumberPipe implements PipeTransform {\r\n\r\n transform(length: number, offset: number = 0): number[] {\r\n if (!length || length < 0) {\r\n return [];\r\n }\r\n return Array.from({length: Math.round(length)}, (x, i) => i + offset);\r\n }\r\n}\r\n","// @returns true iff given value does not equals null and does not equal undefined\r\nexport function notNill(value: any): boolean {\r\n return value !== null && value !== undefined;\r\n}\r\n","import {TimePeriod} from \"../enum/time-period.enum\";\r\n\r\nexport class DateRange {\r\n public startDate: Date;\r\n public endDate: Date;\r\n public selectedTimePeriod: TimePeriod;\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {Month} from \"../enum/month.enum\";\r\nimport {ALL_MONTHS} from \"../model/constant/all-months\";\r\nimport {notNill} from \"./function/not-nill.function\";\r\nimport * as moment from \"moment\";\r\nimport {Moment} from \"moment\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {DateRange} from \"../model/date-range\";\r\n\r\nDate.prototype.toJSON = function() {\r\n return moment(this).format('YYYY-MM-DD[T]HH:mm:ss');\r\n}\r\n\r\n// static utility function holder related to dates\r\nexport class DateUtils {\r\n public static readonly BACKEND_DATE_FORMAT: string = 'YYYY-MM-DD[T]HH:mm:ss';\r\n public static datePipe: DatePipe = new DatePipe('shortDate');\r\n\r\n public static NowAsString(): string {\r\n return DateUtils.ParseDate(new Date(), DateUtils.BACKEND_DATE_FORMAT);\r\n }\r\n\r\n public static ParseDate(date: Date, format: string = \"d-m-y\"): string {\r\n if (!date) {\r\n return \"\";\r\n }\r\n\r\n const day: string = (\"0\" + date.getDate()).slice(-2);\r\n const month: string = (\"0\" + (date.getMonth() + 1)).slice(-2);\r\n const year: string = date.getFullYear() + \"\";\r\n\r\n const formatParts: string[] = format.split(\"-\");\r\n const dateParts: string[] = [];\r\n\r\n\r\n for (let i: number = 0, l: number = formatParts.length; i < l; i++) {\r\n switch (formatParts[i]) {\r\n case \"d\" :\r\n case \"DD\" :\r\n dateParts.push(day);\r\n break;\r\n case \"m\" :\r\n case \"MM\" :\r\n dateParts.push(month);\r\n break;\r\n case \"y\" :\r\n case \"YYYY\" :\r\n dateParts.push(year);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n return dateParts.join(\"-\");\r\n }\r\n\r\n public static GetWeekNumber(date: Date): number {\r\n date = new Date(date.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n date.setDate(date.getDate() + 4 - (date.getDay() || 7));\r\n return Math.ceil((((date.getTime() - new Date(date.getFullYear(), 0, 1).getTime()) / 8.64e7) + 1) / 7);\r\n }\r\n\r\n // Returns the number of days from now, for the given date in the future. Returns negative days if given date is in the past from now.\r\n public static GetDaysFromNow(date: Date): number {\r\n return DateUtils.GetDayDifference(new Date(Date.now()), date);\r\n }\r\n\r\n public static StringAsDate(str: string, format: string = DateUtils.BACKEND_DATE_FORMAT): Date {\r\n if (notNill(str)) {\r\n if (!isNaN(Number(str))) {\r\n return new Date(str);\r\n } else {\r\n const time: any = moment(str, format, true);\r\n return time.isValid() ? new Date(time) : undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n }\r\n\r\n public static MomentToDate(time: Moment): Date {\r\n if (!time || !time.isValid()) {\r\n return undefined;\r\n }\r\n\r\n const d: Date = new Date(time.format(DateUtils.BACKEND_DATE_FORMAT));\r\n d.setHours(time.hours());\r\n d.setMinutes(time.minutes());\r\n d.setSeconds(time.seconds());\r\n return d;\r\n }\r\n\r\n public static GetCurrentMonth(): Month {\r\n return ALL_MONTHS[new Date().getMonth()];\r\n }\r\n\r\n // @returns e.g. [\"FEBRUARI\", \"MARCH\", ..] if it's Februari today, otherwise e.g. [\"APRIL\", \"MAY\", ...] if it's April today\r\n public static Get12MonthsArrayWithFirstMonthIsCurrentMonth(): Month[] {\r\n const answer: Month[] = [];\r\n\r\n let monthNrToAdd: number = new Date().getMonth();\r\n for (let i: number = 0; i < 12; i++) {\r\n answer.push(ALL_MONTHS[monthNrToAdd]);\r\n monthNrToAdd = (monthNrToAdd + 1) % ALL_MONTHS.length;\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n public static GetFirstDayOfWeek(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n let firstDay: Date;\r\n const dayOfWeek: number = date.getDay() || 7;\r\n if (dayOfWeek === 1) {\r\n firstDay = new Date(date);\r\n } else {\r\n firstDay = new Date(date);\r\n firstDay.setHours(-24 * (dayOfWeek - 1));\r\n }\r\n return firstDay;\r\n }\r\n\r\n public static GetLastDayOfWeek(date: Date): Date {\r\n const firstDayOfWeek: Date = DateUtils.GetFirstDayOfWeek(date);\r\n const lastDayOfWeek: Date = new Date(firstDayOfWeek);\r\n lastDayOfWeek.setDate(firstDayOfWeek.getDate() + 6);\r\n return lastDayOfWeek;\r\n }\r\n\r\n public static GetFirstDayOfMonth(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n const year: number = date.getFullYear();\r\n const month: number = date.getMonth();\r\n return new Date(year, month, 1);\r\n }\r\n\r\n public static GetLastDayOfMonth(date: Date): Date {\r\n if (!DateUtils._ValidDate(date)) {\r\n return null;\r\n }\r\n const year: number = date.getFullYear();\r\n const month: number = date.getMonth();\r\n return new Date(year, month + 1, 0);\r\n }\r\n\r\n public static DatesEqual(date1: Date, date2: Date): boolean {\r\n let result: boolean = false;\r\n if (DateUtils._ValidDate(date1) && DateUtils._ValidDate(date2)) {\r\n result =\r\n date1.getDate() === date2.getDate() &&\r\n date1.getMonth() === date2.getMonth() &&\r\n date1.getFullYear() === date2.getFullYear();\r\n }\r\n return result;\r\n }\r\n\r\n public static DateRangeEqual(dates1: DateRange, dates2: DateRange): boolean {\r\n return (this.DatesEqual(dates1.startDate, dates2.startDate) &&\r\n this.DatesEqual(dates1.endDate, dates2.endDate));\r\n }\r\n\r\n public static AddMinutes(date: Date, minutes: number): Date {\r\n return new Date(date.getTime() + (minutes * 60000));\r\n }\r\n\r\n public static AddDays(date: Date, days: number): Date {\r\n const result: Date = new Date(date);\r\n result.setDate(result.getDate() + days);\r\n return result;\r\n }\r\n\r\n public static AddMonths(date: Date, months: number): Date {\r\n const result: Date = new Date(date);\r\n result.setMonth(result.getMonth() + months);\r\n return result;\r\n }\r\n\r\n public static DetermineDSTBreakpoints(): { start: string, end: string } {\r\n const endOfYear: Date = new Date(new Date().getFullYear(), 11, 1);\r\n let checkDate: Date = new Date(new Date().getFullYear(), 0, 1);\r\n let offset: number = checkDate.getTimezoneOffset();\r\n\r\n const periodStart: Date = new Date();\r\n let periodStartSet: boolean = false;\r\n const periodEnd: Date = new Date();\r\n let periodEndSet: boolean = false;\r\n while (checkDate.getTime() < endOfYear.getTime()) {\r\n checkDate = this.AddMinutes(checkDate, 60);\r\n if (offset < checkDate.getTimezoneOffset()) {\r\n periodEnd.setTime(checkDate.getTime());\r\n periodEndSet = true;\r\n } else if (offset > checkDate.getTimezoneOffset()) {\r\n periodStart.setTime(checkDate.getTime());\r\n periodStartSet = true;\r\n }\r\n offset = checkDate.getTimezoneOffset();\r\n if (periodStartSet && periodEndSet) {\r\n break;\r\n }\r\n }\r\n\r\n if (periodStartSet && periodEndSet) {\r\n return {\r\n start: this._DateToTimeStringWithDateFormat(periodStart),\r\n end: this._DateToTimeStringWithDateFormat(periodEnd)\r\n };\r\n } else {\r\n return {start: undefined, end: undefined}; // important otherwise we return new Date() for both\r\n }\r\n }\r\n\r\n private static _ValidDate(date: Date): boolean {\r\n return date !== null && date !== undefined;\r\n }\r\n\r\n /**\r\n * Returns the difference between the two given days as the number of days, in float precision (date to - date from).\r\n * Returns negative values of the 'from' date is later than in time than the 'to' date.\r\n */\r\n public static GetDayDifference(from: Date, to: Date): number {\r\n if (!from || !to) {\r\n return NaN;\r\n }\r\n return ((to.getTime() - from.getTime()) / 1000 / 60 / 60 / 24);\r\n }\r\n\r\n public static IsSameDay(dateOne: Date, dateTwo: Date): boolean {\r\n return (dateOne && dateTwo &&\r\n dateOne.getDate() === dateTwo.getDate()\r\n && dateOne.getMonth() === dateTwo.getMonth()\r\n && dateOne.getFullYear() === dateTwo.getFullYear());\r\n }\r\n\r\n public static IsInBetween(date: Date, startDate: Date, endDate: Date, withTime: boolean = true): boolean {\r\n if (startDate && endDate) {\r\n if (withTime) {\r\n return (date > startDate && date < endDate);\r\n } else {\r\n const dateWithoutTime: number = new Date(date).setHours(0, 0, 0, 0),\r\n dateFromWithoutTime: number = new Date(startDate).setHours(0, 0, 0, 0),\r\n dateToWithoutTime: number = new Date(endDate).setHours(0, 0, 0, 0);\r\n return dateWithoutTime >= dateFromWithoutTime && dateWithoutTime <= dateToWithoutTime;\r\n }\r\n }\r\n }\r\n\r\n public static IsMonday(date: Date): boolean {\r\n return date.getDay() === 1;\r\n }\r\n\r\n public static IsSunday(date: Date): boolean {\r\n return date.getDay() === 0;\r\n }\r\n\r\n public static IsToday(date: Date): boolean {\r\n const today: Date = new Date();\r\n return DateUtils.IsSameDay(today, date);\r\n }\r\n\r\n // Returns date format like it would when using a pipe in the templete, ie: \"1 okt. 2020\"\r\n public static ParseDateInShortDateFormat(date: Date, locale: string): string {\r\n this.datePipe = new DatePipe(locale);\r\n const parsedDate: string = this.datePipe.transform(date);\r\n return parsedDate;\r\n }\r\n\r\n // Transforms a string that is formatted like \"'17-08-2014'<=?<='17-08-2021'\" into \"'17-08-2014' Untill '17-08-2021'\"\r\n public static getFormattedDateRangeString(dateRangeString: string, separator: string = \" - \"): string {\r\n let newString: string = dateRangeString;\r\n newString = newString.replace(\"<=?<=\", ` ${separator} `);\r\n newString = newString.replace(/'/g, \"\");\r\n\r\n return newString;\r\n }\r\n\r\n public static SetDateOrDateRangeObjectHoursZero(date: Date | DateRange): void {\r\n if (date instanceof DateRange) {\r\n if (date.startDate) {\r\n date.startDate.setHours(0, 0, 0);\r\n }\r\n if (date.endDate) {\r\n date.endDate.setHours(0, 0, 0);\r\n }\r\n } else if (!!date && (date instanceof Date)) {\r\n date.setHours(0, 0, 0, 0);\r\n }\r\n }\r\n\r\n private static _DateToTimeStringWithDateFormat(value: Date, dateFormat: string = \"d-m-y\"): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n\r\n const hours: string = value.getHours() < 10 ? \"0\" + value.getHours() : \"\" + value.getHours();\r\n const minutes: string = value.getMinutes() < 10 ? \"0\" + value.getMinutes() : \"\" + value.getMinutes();\r\n return this.ParseDate(value, dateFormat) + \" \" + [hours, minutes].join(\":\");\r\n }\r\n}\r\n","import {Component, EventEmitter, Inject, Input, LOCALE_ID, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {ArrayNumberPipe} from \"../../../../pipe/array-number.pipe\";\r\nimport {DatePipe} from \"@angular/common\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\n\r\ntype DateStamp = { day: number, inMonth: boolean, timestamp: number, week: number, selected: boolean };\r\n\r\n@Component({\r\n selector: \"calendar-view\",\r\n template: `\r\n <div class=\"calendar-content\">\r\n <div>\r\n <div class=\"week-day-header week-row\">\r\n <div class=\"week-acronym\"></div>\r\n <div *ngFor=\"let weekDay of weekDayLabel\" [textContent]=\"weekDay | ucfirst\"\r\n class=\"week-day-label\"></div>\r\n </div>\r\n <div class=\"week-row\" *ngFor=\"let week of weeks;trackBy:trackByWeek\">\r\n <div [textContent]=\"week[0].week\" class=\"week-number\"></div>\r\n <div *ngFor=\"let date of week;trackBy:trackByStamp\" class=\"week-day\"\r\n (click)=\"onDateClick(date)\" [textContent]=\"date.day\">\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n//fixme we don't have a todayDayStamp field but our template references it\r\nexport class CalendarViewComponent {\r\n\r\n @Input()\r\n public set view(value: CalendarView) {\r\n this._view = value;\r\n this._selectDays();\r\n }\r\n\r\n public get view(): CalendarView {\r\n return this._view;\r\n }\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = value;\r\n this._selectedDate.setHours(0, 0, 0, 0);\r\n this._prepareWeeks();\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public trackByStamp: Function = (index: number, stamp: DateStamp): number => {\r\n return stamp && stamp.timestamp || index;\r\n }\r\n\r\n public trackByWeek: Function = (index: number, week: DateStamp[]): number => {\r\n return week && week[0].week || index;\r\n }\r\n\r\n public weekDayLabel: string[] = [];\r\n\r\n public weeks: DateStamp[][] = [];\r\n\r\n private _selectedDate: Date = new Date();\r\n\r\n private _view: CalendarView = CalendarView.WeekView;\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\r\n ) {\r\n this.selectedDate.setHours(0, 0, 0, 0);\r\n this._setLabels();\r\n }\r\n\r\n public onDateClick(date: DateStamp): void {\r\n this.selectedDate = new Date(date.timestamp);\r\n this.selectedDateChange.emit(this.selectedDate);\r\n this._selectDays();\r\n }\r\n\r\n private _setLabels(): void {\r\n const datePipe: DatePipe = new DatePipe(this._locale);\r\n\r\n const currentDay: number = this.selectedDate.getDay();\r\n const startWeekDate: Date = new Date(this.selectedDate.getTime());\r\n startWeekDate.setDate(startWeekDate.getDate() - currentDay - 1);\r\n\r\n this.weekDayLabel = new ArrayNumberPipe().transform(7).map(() => {\r\n startWeekDate.setDate(startWeekDate.getDate() + 1);\r\n return datePipe.transform(startWeekDate, \"E\");\r\n });\r\n this.weekDayLabel.push(this.weekDayLabel.shift());\r\n }\r\n\r\n private _prepareWeeks(): void {\r\n this.weeks.length = 0;\r\n\r\n const date: Date = new Date(this.selectedDate.getTime());\r\n date.setHours(0, 0, 0, 0);\r\n\r\n // go to last day of month\r\n date.setMonth(date.getMonth() + 1);\r\n date.setDate(0);\r\n const monthEndDay: number = date.getDay();\r\n const monthEndDate: number = date.getDate();\r\n\r\n // days after end of month\r\n const daysAfter: number = !monthEndDay ? 0 : 7 - monthEndDay;\r\n\r\n // go to first day of month\r\n date.setDate(1);\r\n const monthBeginDay: number = date.getDay();\r\n\r\n // days before start of month\r\n const daysBefore: number = !monthBeginDay ? 6 : monthBeginDay - 1;\r\n\r\n // go to start of calendar view\r\n date.setDate(-daysBefore + 1);\r\n\r\n // amount of weeks to display\r\n const weekCount: number = Math.ceil((daysBefore + daysAfter + monthEndDate) / 7);\r\n const weekStart: number = DateUtils.GetWeekNumber(date);\r\n const weekEnd: number = weekStart + weekCount - 1;\r\n\r\n // iterate over week count\r\n for (let i: number = weekStart; i <= weekEnd; i++) {\r\n let week: number = i;\r\n\r\n // only recalculate week when it's necessary\r\n if (weekStart > 50) {\r\n week = DateUtils.GetWeekNumber(date);\r\n }\r\n const days: DateStamp[] = [];\r\n\r\n // iterate over 7 days\r\n for (let ii: number = 1; ii <= 7; ii++) {\r\n // check if we are in the current month\r\n let inMonth: boolean = true;\r\n if (i === weekStart) {\r\n inMonth = ii > daysBefore;\r\n } else if (i === weekEnd) {\r\n inMonth = ii <= 7 - daysAfter;\r\n }\r\n\r\n const timestamp: number = date.getTime();\r\n // add dateStamp to date array\r\n days.push({\r\n week: week,\r\n inMonth: inMonth,\r\n day: date.getDate(),\r\n timestamp: timestamp,\r\n selected: this.selectedDate.getTime() === timestamp\r\n });\r\n // go one day further\r\n date.setDate(date.getDate() + 1);\r\n }\r\n this.weeks.push(days);\r\n }\r\n this._selectDays();\r\n }\r\n\r\n private _selectDays(): void {\r\n this._resetSelection();\r\n if (!this.selectedDate) {\r\n return;\r\n }\r\n const weekNumber: number = DateUtils.GetWeekNumber(this.selectedDate);\r\n const len: number = this.weeks.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const leni: number = this.weeks[i].length;\r\n for (let ii: number = 0; ii < leni; ii++) {\r\n if (this.weeks[i][ii].inMonth && this.view === CalendarView.MonthView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].week === weekNumber && this.view === CalendarView.WeekView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.WeekSelectView) {\r\n this.weeks[i][ii].selected = true;\r\n } else if (this.weeks[i][ii].timestamp === this.selectedDate.getTime() && this.view === CalendarView.DayView) {\r\n this.weeks[i][ii].selected = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private _resetSelection(): void {\r\n const len: number = this.weeks.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const leni: number = this.weeks[i].length;\r\n for (let ii: number = 0; ii < leni; ii++) {\r\n this.weeks[i][ii].selected = false;\r\n }\r\n }\r\n }\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class Weekday {\r\n public inView: boolean = true;\r\n public weekdayDay: number;\r\n public weekdayMonthShort: string;\r\n public weekdayMonthLong: string;\r\n public weekdayYear: number;\r\n public date: Date;\r\n public weekdayShort: string;\r\n public weekdayLong: string;\r\n public description: string;\r\n public newMonth: boolean = false;\r\n public weekdaySelected: boolean = false;\r\n public datesByTheHour: Date[] = [];\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {Weekday} from \"./weekday.model\";\r\n\r\nexport class Week {\r\n public weekDays: Weekday[] = [];\r\n}\r\n","import {DateUtils} from \"./date-utils\";\r\nimport {Weekday} from \"../model/weekday.model\";\r\nimport {Inject, LOCALE_ID} from \"@angular/core\";\r\nimport {LanguageCode} from \"../enum/language-code.enum\";\r\nimport {Week} from \"../model/week.model\";\r\n\r\nexport class CalendarUtils {\r\n public static Locale: LanguageCode = undefined;\r\n\r\n public static Now: Date = new Date();\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode\r\n ) {\r\n CalendarUtils.Locale = _locale;\r\n }\r\n\r\n // public static GetCurrentYear(): number {\r\n // return this.Now.getFullYear();\r\n // }\r\n //\r\n // public static GetCurrentMonth(): number {\r\n // return this.Now.getUTCMonth() + 1;\r\n // }\r\n\r\n public static GetDayHours(day: Date): Date[] {\r\n const datesByTheHour: Date[] = [];\r\n if (day) {\r\n let newDate: Date = new Date(day);\r\n newDate.setHours(0, 0, 0, 0);\r\n datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n datesByTheHour.push(newDate);\r\n }\r\n }\r\n return datesByTheHour;\r\n }\r\n\r\n public static GetDaysOfWeek(date: Date): Week {\r\n let day = new Date();\r\n const daysOfWeek: Weekday[] = [];\r\n let options: any;\r\n let month: number;\r\n for (let i: number = 0; i < 3; i++) {\r\n const dayPerWeek: Weekday = new Weekday();\r\n const dayHours: Date[] = CalendarUtils.GetDayHours(day);\r\n dayPerWeek.newMonth = day.getMonth() !== month;\r\n dayPerWeek.weekdaySelected = day.getDay() === date.getDay();\r\n dayPerWeek.weekdayDay = day.getDate();\r\n options = { weekday: \"short\" };\r\n dayPerWeek.weekdayShort = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n options = { weekday: \"long\" };\r\n dayPerWeek.weekdayLong = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n\r\n options = { month: \"short\" };\r\n dayPerWeek.weekdayMonthShort = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n options = { month: \"long\" };\r\n dayPerWeek.weekdayMonthLong = day.toLocaleDateString(CalendarUtils.Locale, options);\r\n dayPerWeek.weekdayYear = day.getFullYear();\r\n\r\n dayPerWeek.date = new Date(day);\r\n dayPerWeek.datesByTheHour = dayHours;\r\n daysOfWeek.push(dayPerWeek);\r\n month = day.getMonth();\r\n day = new Date(day);\r\n day.setDate(day.getDate() + 1);\r\n }\r\n const week: Week = new Week();\r\n week.weekDays = daysOfWeek;\r\n return week;\r\n }\r\n\r\n}\r\n","import {TimeWindow} from \"./time-window.bo\";\r\n\r\nexport class AgendaEvent {\r\n public id: number;\r\n public description: string;\r\n public checked: boolean = false;\r\n public showCheckbox: boolean = false;\r\n public draggable: boolean = false;\r\n public from: Date;\r\n public to: Date;\r\n public date: Date;\r\n public dayPartNo: number;\r\n public fromString: string;\r\n public toString: string;\r\n public fromToRepresentation: string;\r\n public timeWindow: TimeWindow;\r\n\r\n public customObject: Object;\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class AgendaEventPerDay {\r\n public date: Date;\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {Week} from \"./week.model\";\r\n\r\nexport class Month {\r\n public weeks: Week[] = [];\r\n\r\n public get firstWeek(): Week {\r\n if (this.weeks && this.weeks.length > 0) {\r\n return this.weeks[0];\r\n }\r\n }\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\n\r\nexport class Day {\r\n public day: number;\r\n public date: Date;\r\n public description: string;\r\n public datesByTheHour: Date[] = [];\r\n public events: AgendaEvent[] = [];\r\n}\r\n","import {AgendaEvent} from \"./agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"./agenda-event-per-day.model\";\r\nimport {Month} from \"./month.model\";\r\nimport {Week} from \"./week.model\";\r\nimport {Day} from \"./day.model\";\r\n\r\nexport const NULL_AGENDA_EVENT: AgendaEvent = new AgendaEvent();\r\nexport const NULL_AGENDA_EVENT_PER_DAY: AgendaEventPerDay = new AgendaEventPerDay();\r\nexport const NULL_MONTH: Month = new Month();\r\nexport const NULL_WEEK: Week = new Week();\r\nexport const NULL_DAY: Day = new Day();\r\n","import {\r\n AfterContentChecked,\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Inject,\r\n Input,\r\n LOCALE_ID,\r\n NgZone,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2, ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\nimport {Weekday} from \"../../../../model/weekday.model\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {NULL_DAY} from \"../../../../model/agenda-null-objects\";\r\nimport {Day} from \"../../../../model/day.model\"\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"agenda-header\",\r\n template: `\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.DayView\">\r\n <div class=\"hour-label-placeholder\">\r\n <view-select [selectedView]=\"view\" (selectedViewChange)=\"changeTheView($event)\"></view-select>\r\n </div>\r\n <div class=\"week-day-label\">\r\n <co-icon class=\"pointer-hover no-user-select sub-unit-icon dark\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"day-description\" [textContent]=\"day.description\"></div>\r\n <co-icon class=\"pointer-hover no-user-select add-unit-icon dark\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekView\">\r\n\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\"\r\n [class.selected]=\"weekDay.weekdaySelected\" (click)=\"setUnit(weekDay)\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div *ngIf=\"weekDay.newMonth\" [textContent]=\"weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear\"\r\n class=\"month-description\"></div>\r\n <div class=\"weekday-value\"\r\n [textContent]=\"weekDay.weekdayLong + ' ' + weekDay.weekdayDay + ' ' + weekDay.weekdayMonthLong + ' ' + weekDay.weekdayYear \"></div>\r\n <!-- <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayYear\"></div>-->\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n\r\n\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.WeekSelectView\">\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\"\r\n [class.selected]=\"weekDay.weekdaySelected\"\r\n [class.selectable]=\"weekDay.events && weekDay.events.length > 0\"\r\n (click)=\"setUnit(weekDay)\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <div class=\"weekday-value\" [textContent]=\"weekDay.weekdayDay + ' ' + weekDay.weekdayMonthShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"agenda-header-wrapper\" *ngIf=\"view === viewTypes.MonthView\">\r\n <div class=\"week-day-label\" *ngFor=\"let weekDay of weekDays; let index = index\">\r\n <co-icon *ngIf=\"index === 0 && showBackButton\" class=\"pointer-hover no-user-select sub-unit-icon dark\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointLeft)\" (click)=\"subUnit()\"></co-icon>\r\n <div class=\"weekday-description\" [textContent]=\"weekDay.weekdayShort\"></div>\r\n <co-icon *ngIf=\"index === 6\" class=\"pointer-hover no-user-select add-unit-icon dark\"\r\n [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" (click)=\"addUnit()\"></co-icon>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHeaderComponent implements OnInit, OnDestroy, AfterContentChecked {\r\n public readonly icons: typeof Icon = Icon;\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n private readonly scrollbarWidth: number = 15;\r\n\r\n public today: Date = new Date();\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = new Date(value);\r\n this._prepareHeaderData();\r\n }\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n @Input()\r\n public view: CalendarView;\r\n\r\n @Input()\r\n public set firstAvailableDate(value: Date) {\r\n if (value) {\r\n this._firstAvailableDate = new Date(value);\r\n this._prepareHeaderData();\r\n }\r\n }\r\n\r\n public get firstAvailableDate(): Date {\r\n return this._firstAvailableDate;\r\n }\r\n\r\n @Input()\r\n public set eventsPerDay(value: AgendaEventPerDay[]) {\r\n this._eventsPerDay = value;\r\n this._prepareHeaderData();\r\n }\r\n\r\n @Output()\r\n public viewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n @Output()\r\n public selectedDateChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n @Output()\r\n public rangeChange: EventEmitter<Date> = new EventEmitter<Date>();\r\n\r\n public weekDays: Weekday[] = [];\r\n public day: Day = NULL_DAY;\r\n public showBackButton: boolean = true;\r\n\r\n private _selectedDate: Date;\r\n private _firstAvailableDate: Date;\r\n private _eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) private readonly _locale: LanguageCode,\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n private _ngZone: NgZone,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n window.removeEventListener(\"resize\", this._onResize);\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n this._ngZone.runOutsideAngular(() => {\r\n window.addEventListener(\"resize\", this._onResize);\r\n });\r\n }\r\n\r\n ngAfterContentChecked(): void {\r\n this._resizeHost();\r\n }\r\n\r\n public subUnit(): void {\r\n if (this.selectedDate) {\r\n const newDate: Date = new Date(this.selectedDate);\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n newDate.setDate(this.selectedDate.getDate() - 1);\r\n break;\r\n case CalendarView.WeekView:\r\n newDate.setDate(this.selectedDate.getDate() - 7);\r\n break;\r\n case CalendarView.WeekSelectView:\r\n newDate.setDate(this.selectedDate.getDate() - 7);\r\n break;\r\n case CalendarView.MonthView:\r\n newDate.setMonth(this.selectedDate.getMonth() - 1);\r\n break;\r\n }\r\n this.selectedDate = newDate;\r\n this.rangeChange.emit(this.selectedDate);\r\n }\r\n }\r\n\r\n public addUnit(): void {\r\n if (this.selectedDate) {\r\n const newDate: Date = new Date(this.selectedDate);\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n newDate.setDate(this.selectedDate.getDate() + 1);\r\n break;\r\n case CalendarView.WeekView:\r\n newDate.setDate(this.selectedDate.getDate() + 7);\r\n break;\r\n case CalendarView.WeekSelectView:\r\n newDate.setDate(this.selectedDate.getDate() + 7);\r\n break;\r\n case CalendarView.MonthView:\r\n newDate.setMonth(this.selectedDate.getMonth() + 1);\r\n break;\r\n }\r\n this.selectedDate = newDate;\r\n this.rangeChange.emit(this.selectedDate);\r\n }\r\n }\r\n\r\n public setUnit(weekDay: Weekday): void {\r\n this.selectedDate = weekDay.date;\r\n this.selectedDateChange.emit(this.selectedDate);\r\n }\r\n\r\n public changeTheView(view: CalendarView): void {\r\n this.view = view;\r\n this.viewChange.emit(view);\r\n this._prepareHeaderData();\r\n }\r\n\r\n private _onResize: EventListener = async (): Promise<void> => {\r\n this._resizeHost();\r\n }\r\n\r\n /**\r\n * Need to resize the host component to size it's fixed positioned child through css\r\n */\r\n private _resizeHost(): void {\r\n if (this._elementRef) {\r\n this._renderer.setStyle(\r\n this._elementRef.nativeElement, \"width\", this._elementRef.nativeElement.parentElement.clientWidth - this.scrollbarWidth + \"px\");\r\n }\r\n }\r\n\r\n private _prepareHeaderData(): void {\r\n if (this.selectedDate) {\r\n switch (this.view) {\r\n case CalendarView.DayView:\r\n const day: Day = new Day();\r\n day.date = new Date(this.selectedDate);\r\n const options: any = { year: \"numeric\", month: \"long\", day: \"numeric\" };\r\n day.description = this.selectedDate.toLocaleDateString(this._locale, options);\r\n this.day = day;\r\n break;\r\n case CalendarView.WeekView:\r\n const weekView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekView.weekDays;\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n case CalendarView.WeekSelectView:\r\n const weekSelectView: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekSelectView.weekDays;\r\n this.weekDays.forEach((wd: Weekday) => {\r\n const evPerDay: AgendaEventPerDay = this._eventsPerDay && this._eventsPerDay.length > 0 ? this._eventsPerDay.find(e => DateUtils.DatesEqual(e.date, wd.date)) : null;\r\n if (evPerDay) {\r\n wd.events = evPerDay.events;\r\n } else {\r\n wd.weekdaySelected = false;\r\n }\r\n });\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n case CalendarView.MonthView:\r\n const weekOfMonth: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n this.weekDays = weekOfMonth.weekDays;\r\n if (this.firstAvailableDate) {\r\n this.showBackButton = this.weekDays.find(wd => DateUtils.DatesEqual(this.firstAvailableDate, wd.date)) === undefined;\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\n\r\n@Component({\r\n selector: \"agenda-view\",\r\n template: `\r\n <div class=\"view-wrapper mini-scrollbar\" [ngSwitch]=\"view\">\r\n <agenda-day-view *ngSwitchCase=\"viewTypes.DayView\"\r\n [selectedDate]=\"selectedDate\" [customEventObject]=\"customEventObject\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-day-view>\r\n <agenda-week-view *ngSwitchCase=\"viewTypes.WeekView\"\r\n [view]=\"view\" [selectedDate]=\"selectedDate\" [customEventObject]=\"customEventObject\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-view>\r\n <agenda-week-select-view *ngSwitchCase=\"viewTypes.WeekSelectView\"\r\n [view]=\"view\" [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-week-select-view>\r\n <agenda-month-view *ngSwitchCase=\"viewTypes.MonthView\"\r\n [selectedDate]=\"selectedDate\" [eventsPerDay]=\"eventsPerDay\" (eventChecked)=\"eventChecked.emit($event)\"></agenda-month-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaViewComponent {\r\n\r\n @Input()\r\n public view: CalendarView;\r\n\r\n @Input()\r\n public customEventObject: boolean;\r\n\r\n @Input()\r\n public selectedDate: Date;\r\n\r\n @Input()\r\n public eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n}\r\n","import {Directive, EventEmitter, Inject, Input, LOCALE_ID, Output} from \"@angular/core\";\r\nimport {LanguageCode} from \"../../../../enum/language-code.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaEventPerDay} from \"../../../../model/agenda-event-per-day.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Directive()\r\nexport abstract class AgendaBaseViewComponent {\r\n\r\n @Input()\r\n public set selectedDate(value: Date) {\r\n this._selectedDate = value;\r\n this._dateIsSet();\r\n }\r\n\r\n @Input()\r\n public set eventsPerDay(value: AgendaEventPerDay[]) {\r\n this._eventsPerDay = value;\r\n this._eventsAreSet();\r\n }\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n public get selectedDate(): Date {\r\n return this._selectedDate;\r\n }\r\n\r\n public get eventsPerDate(): AgendaEventPerDay[] {\r\n return this._eventsPerDay;\r\n }\r\n\r\n private _selectedDate: Date;\r\n private _eventsPerDay: AgendaEventPerDay[] = [];\r\n\r\n constructor(\r\n @Inject(LOCALE_ID) protected readonly locale: LanguageCode,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n //overridable by descendents\r\n protected prepareViewData(): void {\r\n }\r\n\r\n protected getEventsFromDate(date: Date): AgendaEvent[] {\r\n let events: AgendaEvent[] = [];\r\n if (this.eventsPerDate) {\r\n const len: number = this.eventsPerDate.length;\r\n for (let i: number = 0; i < len; i++) {\r\n if (DateUtils.DatesEqual(date, this.eventsPerDate[i].date)) {\r\n events = this.eventsPerDate[i].events;\r\n break;\r\n }\r\n }\r\n }\r\n return events;\r\n }\r\n\r\n private _dateIsSet(): void {\r\n this.prepareViewData();\r\n }\r\n\r\n private _eventsAreSet(): void {\r\n this.prepareViewData();\r\n }\r\n}\r\n","import {Component, ViewEncapsulation} from \"@angular/core\";\r\nimport { AgendaBaseViewComponent } from \"./agenda-base-view.component\";\r\nimport {NULL_MONTH} from \"../../../../model/agenda-null-objects\";\r\nimport {Month} from \"../../../../model/month.model\";\r\nimport {Weekday} from \"../../../../model/weekday.model\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-month-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <div class=\"hour-view-labels-wrapper\"></div>\r\n <div class=\"weeks\">\r\n <div class=\"week\" *ngFor=\"let week of weeks\" fxLayout=\"row\">\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\" [class.not-in-month]=\"!weekDay.inView\">\r\n <div class=\"day\" [textContent]=\"weekDay.weekdayDay\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaMonthViewComponent extends AgendaBaseViewComponent {\r\n\r\n public month: Month = NULL_MONTH;\r\n\r\n public firstWeekDays: Weekday[] = [];\r\n\r\n public weeks: Week[] = [];\r\n\r\n protected prepareViewData(): void {\r\n const month: Month = new Month();\r\n if (this.selectedDate) {\r\n const day: Date = DateUtils.GetFirstDayOfMonth(this.selectedDate);\r\n const endOfMonth: Date = DateUtils.GetLastDayOfMonth(this.selectedDate);\r\n let oneMoreIteration: boolean = false;\r\n let continueLoop: boolean = true;\r\n\r\n while (continueLoop) {\r\n if (oneMoreIteration) {\r\n continueLoop = false;\r\n }\r\n const week: Week = CalendarUtils.GetDaysOfWeek(day);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n week.weekDays[i].inView = week.weekDays[i].date.getMonth() === this.selectedDate.getMonth();\r\n }\r\n month.weeks.push(week);\r\n day.setDate(day.getDate() + 7);\r\n if (day.getTime() >= endOfMonth.getTime()) {\r\n oneMoreIteration = true;\r\n }\r\n }\r\n this.month = month;\r\n this.firstWeekDays = this.month.firstWeek.weekDays;\r\n this.weeks = month.weeks;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-day-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\r\n <agenda-hour-view [date]=\"selectedDate\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [customEventObject]=\"customEventObject\"\r\n ></agenda-events>\r\n </agenda-hour-view>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaDayViewComponent extends AgendaBaseViewComponent {\r\n\r\n public events: AgendaEvent[] = [];\r\n\r\n @Input()\r\n public customEventObject: boolean;\r\n\r\n protected prepareViewData(): void {\r\n if (this.eventsPerDate && this.eventsPerDate.length > 0) {\r\n this.events = this.eventsPerDate[0].events;\r\n }\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {Week} from \"../../../../model/week.model\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\nimport {buildCustomWebpackKarma} from \"@angular-builders/custom-webpack\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-week-view\",\r\n template: `\r\n <div class=\"view-wrapper\">\r\n <agenda-hour-view-labels [date]=\"selectedDate\"></agenda-hour-view-labels>\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\r\n <agenda-hour-view [date]=\"weekDay.date\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"weekDay.events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [view]=\"view\"\r\n [customEventObject]=\"customEventObject\"\r\n ></agenda-events>\r\n </agenda-hour-view>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaWeekViewComponent extends AgendaBaseViewComponent /*implements OnInit, OnDestroy*/ {\r\n\r\n @Input()\r\n public view: CalendarView;\r\n\r\n @Input()\r\n public customEventObject: boolean;\r\n public week: Week = NULL_WEEK;\r\n\r\n protected prepareViewData(): void {\r\n if (this.selectedDate) {\r\n // get the events\r\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n }\r\n this.week = week;\r\n }\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {AgendaBaseViewComponent} from \"./agenda-base-view.component\";\r\nimport {NULL_WEEK} from \"../../../../model/agenda-null-objects\";\r\nimport {CalendarUtils} from \"../../../../utils/calendar.utils\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {Week} from \"../../../../model/week.model\";\r\n\r\n@Component({\r\n selector: \"agenda-week-select-view\",\r\n template: `\r\n <div class=\"view-wrapper week-select-view\">\r\n <div class=\"week-day\" *ngFor=\"let weekDay of week.weekDays\">\r\n <div class=\"week-select-container\" *ngIf=\"weekDay.weekdaySelected\">\r\n <div class=\"week-select-left\">\r\n <h3 [textContent]=\"'AGENDA_CHOOSE_DELIVERY_PERIOD'\"></h3>\r\n <div class=\"week-select-list mini-scrollbar\">\r\n <agenda-events\r\n [halfHourHeight]=\"40\"\r\n [events]=\"weekDay.events\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [view]=\"view\"\r\n ></agenda-events>\r\n <div class=\"no-events-banner\" *ngIf=\"weekDay.events.length === 0\">\r\n <p [textContent]=\"'AGENDA_NO_PERIODS_AVAILABLE'\"></p>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"week-select-right\">\r\n <h3 [textContent]=\"'AGENDA_FOR_EVERY_PERIOD'\"></h3>\r\n <ul>\r\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON1'\"></span></li>\r\n <li><co-icon [iconData]=\"iconCacheService.getIcon(icons.CheckRound)\" class=\"small action-color moment-icon\"></co-icon><span [textContent]=\"'AGENDA_FOR_EVERY_PERIOD_REASON2'\"></span></li>\r\n </ul>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaWeekSelectViewComponent extends AgendaBaseViewComponent {\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekSelectView;\r\n\r\n public week: Week = NULL_WEEK;\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n protected prepareViewData(): void {\r\n if (this.selectedDate) {\r\n // get the events\r\n const week: Week = CalendarUtils.GetDaysOfWeek(this.selectedDate);\r\n const len: number = week.weekDays.length;\r\n for (let i: number = 0; i < len; i++) {\r\n week.weekDays[i].events = this.getEventsFromDate(week.weekDays[i].date);\r\n }\r\n this.week = week;\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-view\",\r\n template: `\r\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\r\n <div fxLayout=\"row\">\r\n <agenda-hour-cell [date]=\"dateByTheHour\"></agenda-hour-cell>\r\n </div>\r\n </div>\r\n <ng-content></ng-content>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourViewComponent {\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = new Date(value);\r\n this._prepareViewData();\r\n }\r\n\r\n public readonly datesByTheHour: Date[] = [];\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private _date: Date = new Date();\r\n\r\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewLabelsComponent._prepareViewData()\r\n private _prepareViewData(): void {\r\n this.datesByTheHour.length = 0;\r\n if (this.date) {\r\n let newDate: Date = new Date(this.date);\r\n newDate.setHours(0, 0, 0, 0);\r\n this.datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n this.datesByTheHour.push(newDate);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-cell\",\r\n template: `\r\n <div class=\"row-per-half-hour\">\r\n <agenda-half-hour-cell [date]=\"date\" [showLabel]=\"onlyLabels && !noLabels\"></agenda-half-hour-cell>\r\n <agenda-half-hour-cell [date]=\"datePlushalfHour\"></agenda-half-hour-cell>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourCellComponent {\r\n @Input()\r\n public onlyLabels: boolean = false;\r\n\r\n @Input()\r\n public noLabels: boolean = false;\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = value;\r\n this._setNextHalfHour();\r\n }\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n public datePlushalfHour: Date;\r\n\r\n private _date: Date;\r\n\r\n private _setNextHalfHour(): void {\r\n this.datePlushalfHour = new Date(this._date);\r\n this.datePlushalfHour.setMinutes(this.datePlushalfHour.getMinutes() + 30);\r\n }\r\n}\r\n","import {Component, Input, ViewEncapsulation} from \"@angular/core\";\r\n\r\n@Component({\r\n selector: \"agenda-hour-view-labels\",\r\n template: `\r\n <div class=\"row-per-hour\" *ngFor=\"let dateByTheHour of datesByTheHour\">\r\n <div>\r\n <agenda-hour-cell [date]=\"dateByTheHour\" onlyLabels [noLabels]=\"noLabels\"></agenda-hour-cell>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHourViewLabelsComponent {\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = new Date(value);\r\n this._date.setDate(1);\r\n this._date.setMonth(1);\r\n this._date.setFullYear(1);\r\n this._prepareViewData();\r\n }\r\n\r\n @Input()\r\n public noLabels: boolean = false;\r\n\r\n public readonly datesByTheHour: Date[] = [];\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n private _date: Date = new Date();\r\n\r\n // fixme remove ctrl + c, ctrl + v code duplication with AgendaHourViewComponent._prepareViewData()\r\n private _prepareViewData(): void {\r\n this.datesByTheHour.length = 0;\r\n if (this.date) {\r\n let newDate: Date = new Date(this.date);\r\n newDate.setHours(0, 0, 0, 0);\r\n this.datesByTheHour.push(newDate);\r\n for (let i: number = 0; i < 23; i++) {\r\n newDate = new Date(newDate);\r\n newDate.setHours(newDate.getHours() + 1);\r\n this.datesByTheHour.push(newDate);\r\n }\r\n }\r\n }\r\n}\r\n","import {Component, ElementRef, Input, OnDestroy, Renderer2, ViewChild, ViewEncapsulation} from \"@angular/core\";\r\nimport {DateUtils} from \"../../../../utils/date-utils\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-half-hour-cell\",\r\n template: `\r\n <div id=\"{{id}}\" class=\"cell-wrapper\">\r\n <div *ngIf=\"showLabel\" [class.show]=\"showLabel\" class=\"half-hour-label\">\r\n <div [textContent]=\"date | date:'HH:mm'\"></div>\r\n </div>\r\n <div *ngIf=\"showCurrentTime\" id=\"currentTime\" class=\"current-time\" #currentTime></div>\r\n <div class=\"content-wrapper\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaHalfHourCellComponent implements OnDestroy {\r\n\r\n @ViewChild(\"currentTime\")\r\n public currentTimeElement: ElementRef;\r\n\r\n @Input()\r\n public set date(value: Date) {\r\n this._date = value;\r\n this._checkDate();\r\n this._checkWorkingDayStart();\r\n }\r\n\r\n public get date(): Date {\r\n return this._date;\r\n }\r\n\r\n @Input()\r\n public showLabel: boolean = false;\r\n\r\n public showCurrentTime: boolean = false;\r\n\r\n public currentTimeTop: number = 0;\r\n\r\n public id: string;\r\n\r\n private _date: Date;\r\n private _id: string;\r\n\r\n constructor(\r\n private _renderer: Renderer2\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.currentTimeElement = undefined;\r\n }\r\n\r\n private _checkDate(): void {\r\n const checkDate: Date = new Date();\r\n const minutesFrom: number = this.date.getMinutes();\r\n const minutesTo: number = minutesFrom + 30;\r\n\r\n if (DateUtils.DatesEqual(this.date, checkDate)) {\r\n if (checkDate.getHours() === this.date.getHours() && (checkDate.getMinutes() > minutesFrom && checkDate.getMinutes() < minutesTo)) {\r\n this.currentTimeTop = (Math.max(checkDate.getMinutes(), .01) / 60) * 100;\r\n this._positionCurrentTime();\r\n this.showCurrentTime = true;\r\n }\r\n }\r\n }\r\n\r\n private _checkWorkingDayStart(): void {\r\n this.id = (this._date.getHours() === 8 && this._date.getMinutes() === 30) ? \"dayStart\" : \"\";\r\n }\r\n\r\n private _positionCurrentTime(): void {\r\n if (this.currentTimeElement) {\r\n this._renderer.setStyle(this.currentTimeElement.nativeElement, \"top\", this.currentTimeTop + \"%\");\r\n this.currentTimeElement.nativeElement.scrollIntoView();\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\n\r\n@Component({\r\n selector: \"agenda-events\",\r\n template: `\r\n <ng-container *ngIf=\"view !== viewTypes.WeekSelectView\">\r\n <agenda-event\r\n *ngFor=\"let event of events\"\r\n [halfHourHeight]=\"halfHourHeight\"\r\n [event]=\"event\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n [customEventObject]=\"customEventObject\"\r\n >\r\n\r\n </agenda-event>\r\n </ng-container>\r\n <ng-container *ngIf=\"view === viewTypes.WeekSelectView\">\r\n <agenda-select-event\r\n *ngFor=\"let event of events\"\r\n [event]=\"event\"\r\n (eventChecked)=\"eventChecked.emit($event)\"\r\n ></agenda-select-event>\r\n </ng-container>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaEventsComponent {\r\n\r\n public readonly viewTypes: typeof CalendarView = CalendarView;\r\n\r\n @Input()\r\n public customEventObject: boolean;\r\n\r\n @Input()\r\n public view: CalendarView = CalendarView.WeekView;\r\n\r\n @Input()\r\n public type: string = \"\";\r\n\r\n @Input()\r\n public events: AgendaEvent[] = [];\r\n\r\n @Input()\r\n public halfHourHeight: number;\r\n\r\n @Output()\r\n public readonly eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor() {\r\n }\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n EventEmitter,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Output,\r\n Renderer2,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n\r\n@Component({\r\n selector: \"agenda-event\",\r\n template: `\r\n <div class=\"agenda-event-wrapper\" [class.checkable]=\"event.showCheckbox\" [class.selected]=\"event.checked\" (click)=\"checkEvent($event)\">\r\n <div [textContent]=\"event.description\" class=\"event-description\"></div>\r\n <co-icon *ngIf=\"event.showCheckbox\" [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" [class.checked]=\"event.checked\"></co-icon>\r\n\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class AgendaEventComponent implements OnInit, OnDestroy {\r\n\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public event: AgendaEvent = NULL_AGENDA_EVENT;\r\n\r\n @Input()\r\n public customEventObject: boolean;\r\n\r\n @Input()\r\n public halfHourHeight: number;\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor(\r\n private _elementRef: ElementRef,\r\n private _renderer: Renderer2,\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._elementRef = undefined;\r\n }\r\n\r\n ngOnInit(): void {\r\n const hourTo: number = this.event.from.getHours();\r\n const minutesTo: number = this.event.from.getMinutes();\r\n const multiply: number = hourTo + (minutesTo / 60);\r\n const top: number = multiply * (this.halfHourHeight * 2);\r\n this._renderer.setStyle(this._elementRef.nativeElement, \"top\", top + \"px\");\r\n\r\n const hours: number = Math.abs(this.event.to.getTime() - this.event.from.getTime()) / 3600000;\r\n const height: number = hours * (this.halfHourHeight * 2) - 1;\r\n this._renderer.setStyle(this._elementRef.nativeElement, \"height\", height + \"px\");\r\n }\r\n\r\n public checkEvent(event: MouseEvent): void {\r\n this.event.checked = !this.event.checked;\r\n this.eventChecked.emit(this.event);\r\n }\r\n\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: \"ucfirst\"\r\n})\r\n// Pipe capable of transforming the first character of a string-value to upper case.\r\nexport class UCfirstPipe implements PipeTransform {\r\n transform(value: string): string {\r\n if (typeof value === \"string\") {\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n }\r\n return value;\r\n }\r\n}\r\n","import {Pipe, PipeTransform} from \"@angular/core\";\r\nimport {FileTypeInternal} from \"@colijnit/sharedapi/build/enum/refcode/file-type-internal.enum\";\r\n\r\n@Pipe({\r\n name: \"fileTypeImage\"\r\n})\r\n// Transforms a MimeType to the corresponding image data URI of that mime type, for direct use as X in img src=X\r\nexport class FileTypeImagePipe implements PipeTransform {\r\n private static readonly _PATH_TO_IMAGE_FOLDER: string = \"./res/images/filetype/\";\r\n\r\n constructor() {\r\n }\r\n\r\n /**\r\n * @param {FileTypeInternal} value\r\n * @param {boolean} [smallImage = false] Every mime type image has a smaller and a larger image available.\r\n * @returns {string} The data URI of the required mime type image\r\n */\r\n transform(value: FileTypeInternal, smallImage: boolean = false): string {\r\n if (!value) {\r\n return \"\";\r\n }\r\n const smallSuffix: string = smallImage ? \"_small\" : \"\";\r\n let imageFileName: string;\r\n switch (value) {\r\n case FileTypeInternal.Image:\r\n imageFileName = \"image\" + smallSuffix + \".png\";\r\n break;\r\n case FileTypeInternal.Pdf:\r\n imageFileName = \"pdf\" + smallSuffix + \".png\";\r\n break;\r\n case FileTypeInternal.ExcelSheet:\r\n imageFileName = \"excel\" + smallSuffix + \".png\";\r\n break;\r\n case FileTypeInternal.WordDocument:\r\n imageFileName = \"word\" + smallSuffix + \".png\";\r\n break;\r\n case FileTypeInternal.Executable:\r\n imageFileName = \"exe\" + smallSuffix + \".png\";\r\n break;\r\n case FileTypeInternal.TextFile:\r\n imageFileName = \"text\" + smallSuffix + \".png\";\r\n break;\r\n default:\r\n imageFileName = \"undefined\" + smallSuffix + \".png\";\r\n break;\r\n }\r\n return FileTypeImagePipe._PATH_TO_IMAGE_FOLDER + imageFileName;\r\n }\r\n}\r\n","import {ArrayNumberPipe} from \"./array-number.pipe\";\r\nimport {UCfirstPipe} from \"./ucfirst.pipe\";\r\nimport {FileTypeImagePipe} from \"./file-type-image.pipe\";\r\n\r\nexport const MASTER_PIPES: any[] = [\r\n ArrayNumberPipe,\r\n UCfirstPipe,\r\n FileTypeImagePipe\r\n]\r\n","// <b>Enum</b> Represents the different states of the three way thumb.\r\nexport enum ThumbThreeWayState {\r\n Left = 0,\r\n Middle = 1,\r\n Right = 2\r\n}\r\n\r\nexport function NextStateOfThumbThreeWay(state: ThumbThreeWayState): ThumbThreeWayState {\r\n switch (state) {\r\n case ThumbThreeWayState.Left:\r\n return ThumbThreeWayState.Middle;\r\n case ThumbThreeWayState.Middle:\r\n return ThumbThreeWayState.Right;\r\n case ThumbThreeWayState.Right:\r\n default:\r\n return ThumbThreeWayState.Left;\r\n }\r\n}\r\n","// Static utility functions holder related to Maps.\r\nexport class MapUtils {\r\n\r\n /**\r\n * Returns the first key from given map, for which the value filter holds true. Basically a reverse Map.get(key) function.\r\n * @param map\r\n * @param valueFilter For the first value that returns true for this filter functions, its key will be returned.\r\n */\r\n public static FindKeyByValue<K, V>(map: Map<K, V>, valueFilter: (value: V) => boolean): K {\r\n\r\n if (!map || !valueFilter) {\r\n return undefined;\r\n }\r\n\r\n let foundKey: K = undefined;\r\n let keyWasFound: boolean = false;\r\n map.forEach((value: V, key: K) => {\r\n if (!keyWasFound && valueFilter.call(this, value)) {\r\n foundKey = key;\r\n keyWasFound = true;\r\n }\r\n });\r\n return foundKey;\r\n }\r\n\r\n /**\r\n * Inserts given arrayEntry into given map, under given mapKey. What's special here, is that a NEW map entry is created with an array\r\n * containing the single [arrayEntry] item, if no entry yet existed.\r\n * @param map\r\n * @param mapKey\r\n * @param arrayEntry\r\n */\r\n public static InsertArrayItemIntoMap(map: Map<any, any>, mapKey: any, arrayEntry: any): void {\r\n if (!map) {\r\n return;\r\n }\r\n\r\n if (!map.has(mapKey)) {\r\n map.set(mapKey, [arrayEntry]);\r\n } else {\r\n map.get(mapKey).push(arrayEntry);\r\n }\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {CalendarView} from \"../../../../enum/calendar-view.enum\";\r\nimport {ThumbThreeWayState} from \"../../../../enum/thumb-three-way-state\";\r\nimport {MapUtils} from \"../../../../utils/map-utils\";\r\n\r\n@Component({\r\n selector: \"view-select\",\r\n template: `\r\n <div class=\"select-wrapper\">\r\n <div [textContent]=\"'DAY'\" class=\"label\"></div>\r\n <div [textContent]=\"'MONTH'\" class=\"label\"></div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ViewSelectComponent {\r\n\r\n private readonly _viewsToThumb: Map<CalendarView, ThumbThreeWayState> = new Map<CalendarView, ThumbThreeWayState>([\r\n [CalendarView.DayView, ThumbThreeWayState.Left],\r\n [CalendarView.WeekView, ThumbThreeWayState.Middle],\r\n [CalendarView.MonthView, ThumbThreeWayState.Right]\r\n ]);\r\n\r\n @Input()\r\n public selectedView: CalendarView = CalendarView.WeekView;\r\n\r\n @Output()\r\n public selectedViewChange: EventEmitter<CalendarView> = new EventEmitter<CalendarView>();\r\n\r\n public get modelAsThumbState(): ThumbThreeWayState {\r\n return this._viewsToThumb.get(this.selectedView);\r\n }\r\n\r\n constructor() {\r\n }\r\n\r\n public onThumbStateChange(thumbState: ThumbThreeWayState): void {\r\n this.selectedView = MapUtils.FindKeyByValue<CalendarView, ThumbThreeWayState>(this._viewsToThumb, (value: ThumbThreeWayState) => {\r\n return (value === thumbState);\r\n });\r\n this.selectedViewChange.emit(this.selectedView);\r\n }\r\n}\r\n","import {Component, EventEmitter, Input, Output} from \"@angular/core\";\r\nimport {AgendaEvent} from \"../../../../model/agenda-event.model\";\r\nimport {NULL_AGENDA_EVENT} from \"../../../../model/agenda-null-objects\";\r\nimport {Icon} from \"../../../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"agenda-select-event\",\r\n template: `\r\n <div class=\"week-select-item\" (click)=\"checkEvent($event)\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"!event.checked\"></co-icon>\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.ArrowPointRight)\" class=\"select-icon action-color\" *ngIf=\"event.checked\"></co-icon>\r\n <div class=\"moment-name\">\r\n <small>{{ event.date | date: 'EEEE d MMMM' | uppercase }}</small>\r\n <h2>{{ event.description }}</h2>\r\n </div>\r\n </div>\r\n `\r\n})\r\nexport class AgendaSelectEventComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public event: AgendaEvent = NULL_AGENDA_EVENT;\r\n\r\n @Output()\r\n public eventChecked: EventEmitter<AgendaEvent> = new EventEmitter<AgendaEvent>();\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService\r\n ) {\r\n }\r\n\r\n public checkEvent(event: MouseEvent): void {\r\n this.event.checked = !this.event.checked;\r\n this.eventChecked.emit(this.event);\r\n }\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {DatePlanningComponent} from \"./date-planning.component\";\r\nimport {ButtonModule, IconModule, InputDatePickerModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CalendarAllYearsComponent} from \"./component/calendar/calendar-all-years.component\";\r\nimport {CalendarAllMonthsComponent} from \"./component/calendar/calendar-all-months.component\";\r\nimport {CalendarHeaderComponent} from \"./component/calendar/calendar-header.component\";\r\nimport {CalendarComponent} from \"./component/calendar/calendar.component\";\r\nimport {CalendarViewComponent} from \"./component/calendar/calendar-view.component\";\r\nimport {AgendaHeaderComponent} from \"./component/agenda/agenda-header.component\";\r\nimport {AgendaViewComponent} from \"./component/agenda/agenda-view.component\";\r\nimport {AgendaMonthViewComponent} from \"./component/agenda/agenda-month-view.component\";\r\nimport {AgendaDayViewComponent} from \"./component/agenda/agenda-day-view.component\";\r\nimport {AgendaWeekViewComponent} from \"./component/agenda/agenda-week-view.component\";\r\nimport {AgendaWeekSelectViewComponent} from \"./component/agenda/agenda-week-select-view.component\";\r\nimport {AgendaHourViewComponent} from \"./component/agenda/agenda-hour-view.component\";\r\nimport {AgendaHourCellComponent} from \"./component/agenda/agenda-hour-cell.component\";\r\nimport {AgendaHourViewLabelsComponent} from \"./component/agenda/agenda-hour-view-labels.component\";\r\nimport {AgendaHalfHourCellComponent} from \"./component/agenda/agenda-half-hour-cell.component\";\r\nimport {AgendaEventsComponent} from \"./component/agenda/agenda-events.component\";\r\nimport {AgendaEventComponent} from \"./component/agenda/agenda-event.component\";\r\nimport {MASTER_PIPES} from \"../../pipe/master-pipes\";\r\nimport {ViewSelectComponent} from \"./component/agenda/view-select.component\";\r\nimport {AgendaSelectEventComponent} from \"./component/agenda/agenda-select-event.component\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n InputDatePickerModule,\r\n IconModule,\r\n ButtonModule,\r\n ],\r\n declarations: [\r\n DatePlanningComponent,\r\n CalendarAllYearsComponent,\r\n CalendarAllMonthsComponent,\r\n CalendarHeaderComponent,\r\n CalendarComponent,\r\n CalendarViewComponent,\r\n AgendaHeaderComponent,\r\n AgendaViewComponent,\r\n AgendaMonthViewComponent,\r\n AgendaDayViewComponent,\r\n AgendaWeekViewComponent,\r\n AgendaWeekSelectViewComponent,\r\n AgendaHourViewComponent,\r\n AgendaHourCellComponent,\r\n AgendaHourViewLabelsComponent,\r\n AgendaHalfHourCellComponent,\r\n AgendaEventsComponent,\r\n AgendaEventComponent,\r\n ViewSelectComponent,\r\n AgendaSelectEventComponent,\r\n MASTER_PIPES\r\n ],\r\n exports: [\r\n DatePlanningComponent\r\n ]\r\n})\r\nexport class DatePlanningModule {\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {CdkDragDrop} from \"@angular/cdk/drag-drop\";\r\nimport {SharedService} from \"../../service/shared.service\";\r\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\r\n\r\n@Component({\r\n selector: \"co-simple-tags\",\r\n template: `\r\n <co-dialog\r\n [headerTemplate]=\"headerTemplate\"\r\n [footerTemplate]=\"footerTemplate\"\r\n (closeClick)=\"closeClick.emit()\"\r\n >\r\n <ng-template #headerTemplate>\r\n <div class=\"header-wrapper\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\r\n <span class=\"co-dialog-header-title\" [textContent]=\"'Tags'\"></span>\r\n </div>\r\n </ng-template>\r\n\r\n <div class=\"dialog-content-wrapper\">\r\n <div class=\"collection-navigation co-small-scrollbar\">\r\n <span class=\"title\" [textContent]=\"'Beschikbare tags'\"></span>\r\n <co-input-search\r\n [(model)]=\"searchString\"\r\n [placeholder]=\"'Search for tag name'\"\r\n (search)=\"searchCollection()\"\r\n (modelChange)=\"searchCollection()\"\r\n (rightIconClick)=\"searchCollection()\"\r\n ></co-input-search>\r\n <div class=\"breadcrumbs\">\r\n <co-icon\r\n [iconData]=\"iconCacheService.getIcon(icon.HouseBlankRegular)\"\r\n (click)=\"setRootDisplayTags()\"\r\n ></co-icon>\r\n <div class=\"crumbs\">\r\n <span class=\"spacer\" [textContent]=\"'|'\"></span>\r\n <div class=\"crumb\" *ngFor=\"let crumb of breadCrumbs; let index = index\" (click)=\"handleCrumbClicked(crumb, index)\">\r\n <span class=\"spacer\" *ngIf=\"index !== 0\" [textContent]=\"'/'\"></span>\r\n <span [textContent]=\"crumb.description\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"collection-view\"\r\n cdkDropList\r\n cdkDropListSortingDisabled\r\n #collectionList=\"cdkDropList\"\r\n [cdkDropListData]=\"displayTags\"\r\n [cdkDropListConnectedTo]=\"[linkedList]\"\r\n ><div class=\"collection-item\"\r\n *ngFor=\"let tag of displayTags\"\r\n cdkDrag\r\n [cdkDragDisabled]=\"tag.tagType !== 'T' || linkedTags.includes(tag)\"\r\n [class.draggable]=\"tag.tagType === 'T' && !linkedTags.includes(tag)\"\r\n [class.disabled]=\"linkedTags.includes(tag)\"\r\n (click)=\"handleTagSelected(tag)\">\r\n\r\n <div class=\"collection-item\" *cdkDragPlaceholder>\r\n <co-icon *ngIf=\"tag.tagType === 'T'\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\r\n <span [textContent]=\"tag.description\"></span>\r\n </div>\r\n\r\n <div *cdkDragPreview><co-icon [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon></div>\r\n\r\n <co-icon *ngIf=\"tag.tagType === 'T'\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\r\n <span [textContent]=\"tag.description\"></span>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"linked-tags-view\">\r\n <span class=\"title\" [textContent]=\"'Gekoppelde tags'\"></span>\r\n <div class=\"view-wrapper\"\r\n cdkDropList\r\n #linkedList=\"cdkDropList\"\r\n [cdkDropListData]=\"linkedTags\"\r\n (cdkDropListDropped)=\"handleAddTag($event)\">\r\n <div class=\"tag-item\" *ngFor=\"let tag of linkedTags\" [cdkDragDisabled]=\"true\" cdkDrag [style.background-color]=\"tag.color?.replace('0x', '#')\">\r\n <div class=\"placeholderLinked\" *cdkDragPlaceholder></div>\r\n\r\n <div class=\"thumbnail-description\">\r\n <co-icon *ngIf=\"!tag.image?.thumbnailBody\" [iconData]=\"iconCacheService.getIcon(icon.TagRegular)\"></co-icon>\r\n <div *ngIf=\"tag.image\" class=\"thumbnail-wrapper\">\r\n <img [src]=\"tag.image.thumbnailBodyAsDataUri\">\r\n </div>\r\n\r\n <div class=\"description-wrapper\">\r\n <span [textContent]=\"tag.parentDescription\"></span>\r\n <span class=\"description\" [textContent]=\"tag.description\"></span>\r\n </div>\r\n </div>\r\n <co-icon class=\"delete-tag\" (click)=\"deleteLinkedTag(tag)\"\r\n [iconData]=\"iconCacheService.getIcon(icon.XSolid)\"\r\n ></co-icon>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #footerTemplate>\r\n <div class=\"co-dialog-footer-button-wrapper\">\r\n <co-button class=\"save-button\"\r\n [iconData]=\"iconCacheService.getIcon(icon.CheckDuotone)\"\r\n (click)=\"handleSaveTags()\"\r\n ></co-button>\r\n <co-button\r\n class=\"close-button\"\r\n [iconData]=\"iconCacheService.getIcon(icon.CrossSkinny)\"\r\n (click)=\"closeClick.next()\"\r\n ></co-button>\r\n </div>\r\n </ng-template>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SimpleTagsComponent {\r\n public readonly icon: typeof Icon = Icon;\r\n\r\n @Input()\r\n public set tags(tags: TagTreeItem[]) {\r\n this._tags = tags;\r\n this.setRootDisplayTags();\r\n }\r\n\r\n @Input()\r\n public set linkedTags(tags: TagTreeItem[]) {\r\n this._linkedTags = tags;\r\n tags.forEach((tag) => this._loadThumbnail(tag));\r\n }\r\n\r\n public get linkedTags(): TagTreeItem[] {\r\n return this._linkedTags;\r\n }\r\n\r\n @Output()\r\n public closeClick: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public saveClick: EventEmitter<TagTreeItem[]> = new EventEmitter<TagTreeItem[]>();\r\n\r\n public breadCrumbs: TagTreeItem[] = [];\r\n public displayTags: TagTreeItem[] = [];\r\n public searchString: string = '';\r\n\r\n private _tags: TagTreeItem[] = [];\r\n private _linkedTags: TagTreeItem[] = [];\r\n\r\n @HostBinding(\"class.co-simple-tags\")\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n constructor(\r\n public iconCacheService: IconCacheService,\r\n public sharedService: SharedService,\r\n ) { }\r\n\r\n public setRootDisplayTags(): void {\r\n this.displayTags = this._tags.filter((tag: TagTreeItem) => tag.treeLevel === 0);\r\n this.breadCrumbs = [];\r\n this.searchString = '';\r\n }\r\n\r\n public handleTagSelected(selectedTag: TagTreeItem): void {\r\n if (selectedTag.tagType === 'TR' || selectedTag.tagType === 'TG') {\r\n if (selectedTag !== this.breadCrumbs[0]) {\r\n this.breadCrumbs.push(selectedTag);\r\n }\r\n this.displayTags = this._tags.filter((tag: TagTreeItem) => {\r\n return tag.parentId === selectedTag.id && tag.treeLevel === selectedTag.treeLevel + 1\r\n });\r\n }\r\n }\r\n\r\n public handleCrumbClicked(tag: TagTreeItem, index: number): void {\r\n if (tag !== this.breadCrumbs[this.breadCrumbs.length - 1]) {\r\n this.breadCrumbs.splice(index + 1);\r\n this.handleTagSelected(tag);\r\n }\r\n }\r\n\r\n public handleAddTag(event: CdkDragDrop<TagTreeItem[], any>): void {\r\n const draggedTag: TagTreeItem = this.displayTags[event.previousIndex];\r\n if (!this._linkedTags.includes(draggedTag)) {\r\n this._linkedTags.push(this.displayTags[event.previousIndex]);\r\n this._loadThumbnail(draggedTag);\r\n }\r\n }\r\n\r\n public deleteLinkedTag(tag: TagTreeItem): void {\r\n this._linkedTags.splice(this._linkedTags.indexOf(tag), 1);\r\n }\r\n\r\n public searchCollection(): void {\r\n if (!this.searchString) {\r\n this.searchString = '';\r\n this.setRootDisplayTags();\r\n return;\r\n }\r\n if (this.searchString.length < 2) {\r\n return;\r\n }\r\n if (this.searchString === '') {\r\n this.setRootDisplayTags();\r\n return;\r\n }\r\n\r\n const matchingObjects: TagTreeItem[] = [];\r\n\r\n this._tags.filter((item) => item.tagType === 'T').forEach((obj) => {\r\n Object.values(obj).forEach((value) => {\r\n if (typeof value === 'string' || typeof value === 'number') {\r\n const stringValue = String(value).toLowerCase();\r\n if (stringValue.includes(this.searchString.toLowerCase())) {\r\n matchingObjects.push(obj);\r\n }\r\n }\r\n });\r\n });\r\n\r\n this.displayTags = matchingObjects;\r\n this.breadCrumbs = [];\r\n }\r\n\r\n public handleSaveTags(): void {\r\n this.saveClick.next(this._linkedTags);\r\n this.closeClick.next();\r\n }\r\n\r\n private _loadThumbnail(tagTreeItem: TagTreeItem): void {\r\n if (tagTreeItem.image && tagTreeItem.image.documentId && !tagTreeItem.image.thumbnailBody) {\r\n this.sharedService.getDocumentContent(tagTreeItem.image.documentId, true)\r\n .then((result) => {\r\n if (result) {\r\n tagTreeItem.image.thumbnailBody = result;\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {SimpleTagsComponent} from \"./simple-tags.component\";\r\nimport {ButtonModule, CoDialogModule, IconModule, InputSearchModule} from \"@colijnit/corecomponents_v12\";\r\nimport {DragDropModule} from \"@angular/cdk/drag-drop\";\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CoDialogModule,\r\n InputSearchModule,\r\n IconModule,\r\n DragDropModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n SimpleTagsComponent\r\n ],\r\n exports: [\r\n SimpleTagsComponent\r\n ]\r\n})\r\nexport class SimpleTagsModule {\r\n}\r\n","export enum TableName {\r\n Absence = \"ABSENCE\",\r\n AbsenceEvent = \"ABSENCE_EVENT\",\r\n AbsenceFile = \"ABSENCE_FILE\",\r\n AbsenceForm = \"ABSENCE_FORM\",\r\n AccountingPeriod = \"PERIODES\",\r\n Address = \"ADRESSEN\",\r\n Administration = \"ADMINISTRATIES\",\r\n AnamnesisForm = \"ANAMNESIS_FORM\",\r\n ArticleGroup = \"ARTIKEL_GROEP\",\r\n Articles = \"ARTIKELEN\",\r\n Branch = \"FILIALEN\",\r\n BusinessRule = \"BRE_RULE\",\r\n\r\n Booking=\"BOEKINGSREGELS\",\r\n Category = \"CATEGORIE\",\r\n Characteristic = \"KENMERKEN\",\r\n CharacteristicTypes = \"KENMERK_SOORTEN\",\r\n CharacteristicLines = \"KENMERK_REGELS\",\r\n Company = \"BEDRIJVEN\",\r\n Concept = \"CONCEPTEN\",\r\n Connections = \"ASS_VERBINDING\",\r\n ContactPerson = \"CONTACTPERSONEN\",\r\n CostCenter = \"KOSTENPLAATS_DRAGER\",\r\n Country = \"LANDCODE\",\r\n CurrencyInfo = \"VALUTA\",\r\n CurrentIndication = \"CURRENT_INDICATION\",\r\n Customer = \"KLANTEN\",\r\n DeclarationMedicalOfficer = \"DECLARATION_MEDICAL_OFFICER\",\r\n DeliveryMethod = \"LEVERMETHODES\",\r\n Department = \"AFDELING\",\r\n DiagnosisForm = \"DIAGNOSIS_FORM\",\r\n Documents = \"DOCUMENTATIE\",\r\n EmployabilityProfile = \"EMPLOYABILITY_PROFILE\",\r\n EmployeeContract = \"EMPLOYEE_CONTRACT\",\r\n EmployeeContractType = \"EMPLOYEE_CONTRACT_TYPE\",\r\n Employee = \"PERSONEEL\",\r\n EndEvaluation = \"END_EVALUATION\",\r\n ExternalSource = \"EXTERNE_BRONNEN\",\r\n FirstYearEvaluation = \"FIRST_YEAR_EVALUATION\",\r\n FmlDocument = \"FML_DOCUMENT\",\r\n Goods = \"GOEDEREN\",\r\n Hardware = \"ASS_HARDWARE\",\r\n Identification = \"IDENTIFICATION\",\r\n JobCategory = \"JOB_CATEGORY\",\r\n JobType = \"JOB_TYPE\",\r\n LedgerAccount = \"GROOTBOEKEN\",\r\n LedgerClassification = \"VERDICHTINGEN\",\r\n LedgerJournal = \"DAGBOEKEN\",\r\n LedgerMainClassification = \"HOOFDVERDICHTINGEN\",\r\n LedgerMutation = \"GROOTBOEK_MUTATIES\",\r\n Location = \"LOCATIES\",\r\n MainArticle = \"HOOFDARTIKELEN\",\r\n MedicalConsultFeedback = \"MEDICAL_CONSULT_FEEDBACK\",\r\n MedicalFile = \"MEDICAL_FILE\",\r\n MedicalForm = \"MEDICAL_FORM\",\r\n MedicalInformationForm = \"MEDICAL_INFORMATION_FORM\",\r\n Note = \"NOTITIE\",\r\n NotificationFullyRecovered = \"NOTIFICATION_FULLY_RECOVERED\",\r\n NotificationLongTermIllness = \"NOTIFICATION_LONG_TERM_ILLNESS\",\r\n PaymentCondition = \"BETALINGSCONDITIES\",\r\n PaymentMethod = \"BETAALWIJZE\",\r\n PlanOfApproach = \"PLAN_OF_APPROACH\",\r\n PriceList = \"PRIJSLIJSTEN\",\r\n ProblemAnalysis = \"PROBLEM_ANALYSIS\",\r\n ProblemAnalysisAdjustment = \"PROBLEM_ANALYSIS_ADJUSTMENT\",\r\n Relations = \"RELATIES\",\r\n RelationAddress = \"ADRES_RELATIES\",\r\n RelationCommunication = \"COMM_RELATIES\",\r\n Remarks = \"OPMERKINGEN\",\r\n Salary = \"SALARY\",\r\n ServiceProvision = \"ASS_DIENSTVERLENING\",\r\n ShortReintegrationReport = \"SHORT_REINTEGRATION_REPORT\",\r\n Software = \"ASS_SOFTWARE\",\r\n Supplier = \"LEVERANCIERS\",\r\n TagValues = \"TAG_VALUES\",\r\n Tasks = \"TAKEN\",\r\n Transactions = \"TRANSACTIES\",\r\n TransactionLines = \"TRANSACTIE_REGELS\",\r\n TurnoverGroup = \"OMZETGROEPEN\",\r\n Unit = \"EENHEDEN\",\r\n User = \"GEBRUIKERS\",\r\n Vat = \"BTW\",\r\n Warehouse = \"MAGAZIJNEN\"\r\n}\r\n","export type OperationCallbackSimpleFunction = { (object: any): Promise<boolean>; };\r\nexport function OperationWithAlwaysSuccessCallback(object: any): Promise<boolean> {\r\n return Promise.resolve(true);\r\n}\r\n","// @returns true iff given value equals null or equals undefined\r\nexport function isNill(value: any): boolean {\r\n return value === null || value === undefined;\r\n}","import {isNill} from \"./is-nill.function\";\r\nimport {notNill} from \"./function/not-nill.function\";\r\n\r\n// Static utility function holder related to objects.\r\nexport class ObjectUtils {\r\n\r\n /**\r\n * Returns whether all given values exist: for all values it holds that they are not null nor undefined. Short-circuit check.\r\n * @param {any} values Rest parameters with all objects to check existence for.\r\n * @returns {boolean} True if ALL given values are not null nor undefined, otherwise false (if at least one value was null or undefined)\r\n */\r\n public static AllExist(...values: any[]): boolean {\r\n let allExist: boolean = true;\r\n for (let i: number = 0, len: number = values.length; i < len; i++) {\r\n if (isNill(values[i])) {\r\n allExist = false;\r\n break;\r\n }\r\n }\r\n return allExist;\r\n }\r\n\r\n /**\r\n * Copies all properties from object 'from' to object 'to'. Overwrites properties on object 'to' if property already exists.\r\n * Does not copy functions, only properties.\r\n * @param {Object} from The source object from which to copy all properties of to the 'to' object.\r\n * @param {Object} to The object to which the properties of the 'from' object will be copied.\r\n * @param {boolean} [allowUndefined = true] wether the 'to' object may be assigned null or undefined values to any of its properties.\r\n */\r\n public static CopyPropertiesFrom<T>(from: Object, to: T, allowUndefined: boolean = true): T {\r\n if (!to) {\r\n to = {} as T;\r\n }\r\n if (!from) {\r\n return to;\r\n }\r\n ObjectUtils.ForOwnProperty(from, (value: any, key: string) => {\r\n if (allowUndefined || notNill(value)) {\r\n to[key] = value;\r\n }\r\n });\r\n return to;\r\n }\r\n\r\n public static DeepEquals(actual: any, expected: any): boolean {\r\n if (actual === expected) {\r\n return true;\r\n } else if (actual instanceof Date && expected instanceof Date) {\r\n return actual.getTime() === expected.getTime();\r\n } else if (!actual || !expected || typeof actual !== \"object\" && typeof expected !== \"object\") {\r\n return actual === expected;\r\n } else {\r\n return this._objEquiv(actual, expected);\r\n }\r\n }\r\n\r\n // Performs given callback function for each own property of given plain object. Also works on string enums.\r\n public static ForOwnProperty(plainObject: any, callback: (propVal: any, key: string) => any): void {\r\n if (ObjectUtils.IsPlainObject(plainObject)) {\r\n for (const key in plainObject) {\r\n if (plainObject.hasOwnProperty(key) && typeof plainObject[key] !== \"function\") {\r\n const response: boolean = callback(plainObject[key], key);\r\n if (response === false) {\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Returns the class name of given argument. The argument can be an object or a class.\r\n public static GetClassName(objectOrClass: any): string {\r\n if (!objectOrClass) {\r\n return undefined;\r\n // arg was a class (or a function..)\r\n } else if (objectOrClass.constructor === Function) {\r\n return objectOrClass.name; // .. which has its readable name stores like this\r\n // else arg was an object\r\n } else {\r\n const constructorString: string = objectOrClass.constructor.toString();\r\n return constructorString.match(/\\w+/g)[1];\r\n }\r\n }\r\n\r\n // Returns a shallow clone of the given original object. The clone is a SIMPLE OBJECT with the same properties as the original.\r\n public static GetShallowClone(originalObject: any, objectClass?: any): any {\r\n let clonedObject: any = undefined;\r\n\r\n if (objectClass) {\r\n clonedObject = new objectClass();\r\n } else {\r\n clonedObject = {};\r\n }\r\n\r\n ObjectUtils.ForOwnProperty(originalObject, (value: any, key: string) => {\r\n clonedObject[key] = value;\r\n });\r\n\r\n return clonedObject;\r\n }\r\n\r\n public static GetDeepClone(originalObject: any, circular: boolean = true): any {\r\n // First create an empty object with\r\n // same prototype of our original source\r\n\r\n let propertyIndex: number;\r\n let descriptor: PropertyDescriptor;\r\n let keys: string[];\r\n let current: any;\r\n let nextSource: any;\r\n let indexOf: number;\r\n const copies: any[] = [{\r\n source: originalObject,\r\n target: Object.create(Object.getPrototypeOf(originalObject))\r\n }];\r\n const cloneObject: any = copies[0].target;\r\n const sourceReferences: any[] = [originalObject];\r\n const targetReferences: any[] = [cloneObject];\r\n\r\n // First in, first out\r\n while (current = copies.shift()) { //NOSONAR\r\n keys = Object.getOwnPropertyNames(current.source);\r\n\r\n for (propertyIndex = 0; propertyIndex < keys.length; propertyIndex++) {\r\n // Save the source's descriptor\r\n descriptor = Object.getOwnPropertyDescriptor(current.source, keys[propertyIndex]);\r\n\r\n if (!descriptor.value || typeof descriptor.value !== \"object\") {\r\n Object.defineProperty(current.target, keys[propertyIndex], descriptor);\r\n continue;\r\n }\r\n\r\n nextSource = descriptor.value;\r\n descriptor.value = Array.isArray(nextSource) ?\r\n [] :\r\n Object.create(Object.getPrototypeOf(nextSource));\r\n\r\n if (circular) {\r\n indexOf = sourceReferences.indexOf(nextSource);\r\n\r\n if (indexOf !== -1) {\r\n // The source is already referenced, just assign reference\r\n descriptor.value = targetReferences[indexOf];\r\n Object.defineProperty(current.target, keys[propertyIndex], descriptor);\r\n continue;\r\n }\r\n\r\n sourceReferences.push(nextSource);\r\n targetReferences.push(descriptor.value);\r\n }\r\n\r\n Object.defineProperty(current.target, keys[propertyIndex], descriptor);\r\n\r\n copies.push({source: nextSource, target: descriptor.value});\r\n }\r\n }\r\n\r\n return cloneObject;\r\n }\r\n\r\n public static IsEmpty(obj: any): boolean {\r\n return isNill(obj) || Object.getOwnPropertyNames(obj).length === 0;\r\n }\r\n\r\n // Returns whether given object is an existing, plain object. That is, it defined, its type if 'object' and it is NOT an array or func.\r\n public static IsPlainObject(object: any): boolean {\r\n return object !== null && !Array.isArray(object) && typeof object !== \"function\" && typeof object === \"object\";\r\n }\r\n\r\n /**\r\n * Returns an instance of given class with data of given dataObject. Only works if that class has a default constructor without args.\r\n * Does not actually create a new object if it alread is an instance of that class.\r\n * @param {any} clazz A class that has a default constructor\r\n * @param {any} [dataObject] The object with data to copy to the new instance of the class\r\n * @returns {any} An object that is an instance of given class, with given data applied to it.\r\n */\r\n public static MakeInstanceOf(clazz: any, dataObject?: any): any {\r\n // dont make a clone if given dataObject already instance of clazz\r\n if (dataObject instanceof clazz) {\r\n return dataObject;\r\n } else {\r\n const asClazz: any = new clazz();\r\n ObjectUtils.CopyPropertiesFrom(dataObject, asClazz);\r\n return asClazz;\r\n }\r\n }\r\n\r\n // Returns the value of a random own property of given object.\r\n public static PickRandomPropertyValue(object: any): any {\r\n if (!object) {\r\n return;\r\n }\r\n\r\n let result: any;\r\n let count: number = 0;\r\n for (const prop in object) {\r\n if (object.hasOwnProperty(prop)) {\r\n count++;\r\n if (Math.random() < 1 / count) {\r\n result = object[prop];\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n // Returns a default if given value doesn't exist, otherwise just value.\r\n public static ValueOrDefault(value: any, defaultReturnVal: any = \"\"): any {\r\n return notNill(value) ? value : defaultReturnVal;\r\n }\r\n\r\n private static _isArguments(x: any): boolean {\r\n const supportsArgsClass: boolean = this._supportsArgumentsClass();\r\n return supportsArgsClass ? this._isArgumentsWhenArgsClassSupported(x) : this._isArgumentsWhenArgsClassNotSupported(x);\r\n }\r\n\r\n private static _isArgumentsWhenArgsClassNotSupported(object: any): boolean {\r\n return object &&\r\n typeof object === \"object\" &&\r\n typeof object.length === \"number\" &&\r\n Object.prototype.hasOwnProperty.call(object, \"callee\") &&\r\n !Object.prototype.propertyIsEnumerable.call(object, \"callee\") ||\r\n false;\r\n }\r\n\r\n private static _isArgumentsWhenArgsClassSupported(object: any): boolean {\r\n return Object.prototype.toString.call(object) === \"[object Arguments]\";\r\n }\r\n\r\n private static _isBuffer(x: any): boolean {\r\n if (!x || typeof x !== \"object\" || typeof x.length !== \"number\") {\r\n return false;\r\n }\r\n if (typeof x.copy !== \"function\" || typeof x.slice !== \"function\") {\r\n return false;\r\n }\r\n return !(x.length > 0 && typeof x[0] !== \"number\");\r\n }\r\n\r\n private static _isUndefinedOrNull(value: any): boolean {\r\n return value === null || value === undefined;\r\n }\r\n\r\n private static _objEquiv(a: any, b: any): boolean {\r\n let i: number, key: string;\r\n if (this._isUndefinedOrNull(a) || this._isUndefinedOrNull(b)) {\r\n return false;\r\n }\r\n\r\n if (a.prototype !== b.prototype) {\r\n return false;\r\n }\r\n\r\n if (this._isArguments(a)) {\r\n if (!this._isArguments(b)) {\r\n return false;\r\n }\r\n a = Array.prototype.slice.call(a);\r\n b = Array.prototype.slice.call(b);\r\n return this.DeepEquals(a, b);\r\n }\r\n if (this._isBuffer(a)) {\r\n if (!this._isBuffer(b)) {\r\n return false;\r\n }\r\n if (a.length !== b.length) {\r\n return false;\r\n }\r\n for (i = 0; i < a.length; i++) {\r\n if (a[i] !== b[i]) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n let ka: string[];\r\n let kb: string[];\r\n try {\r\n ka = Object.keys(a);\r\n kb = Object.keys(b);\r\n } catch (e) {\r\n return false;\r\n }\r\n\r\n if (ka.length !== kb.length) {\r\n return false;\r\n }\r\n\r\n ka.sort();\r\n kb.sort();\r\n\r\n for (i = ka.length - 1; i >= 0; i--) {\r\n if (ka[i] !== kb[i]) {\r\n return false;\r\n }\r\n }\r\n\r\n for (i = ka.length - 1; i >= 0; i--) {\r\n key = ka[i];\r\n if (!this.DeepEquals(a[key], b[key])) {\r\n return false;\r\n }\r\n }\r\n return typeof a === typeof b;\r\n }\r\n\r\n private static _supportsArgumentsClass(): boolean {\r\n return Object.prototype.toString.call(arguments) === \"[object Arguments]\";\r\n }\r\n}\r\n","import {ObjectUtils} from \"./object-utils\";\r\nimport {CheckWithinSteppedBoundsResult} from \"./check-within-stepped-bounds-result\";\r\nimport {ArrayUtils} from \"./array-utils\";\r\nimport {CheckPrecisionAndScaleResult} from \"./check-precision-and-scale-result\";\r\nimport {isNill} from \"./is-nill.function\";\r\nimport {notNill} from \"./function/not-nill.function\";\r\n\r\n// Static utility function holder related to numeric variable evaluations and operations.\r\nexport class NumberUtils {\r\n // For user-typed number input; supports comma's as decimal delimiter.\r\n public static ParseIntNumberInput(arg: any): number {\r\n return NumberUtils.ParseInt(NumberUtils._NumberInputToNumberStr(arg));\r\n }\r\n\r\n // Parses given argument to an integer, using a native parseInt() function with a radix of 10. Returns NaN if parsing was not possible.\r\n public static ParseInt(arg: any): number {\r\n if (isNill(arg) || Array.isArray(arg)) {\r\n return undefined;\r\n }\r\n\r\n return parseInt(arg, 10);\r\n }\r\n\r\n // For user-typed number input; supports comma's as decimal delimiter.\r\n public static ParseFloatNumberInput(arg: any, decimalPrecision: number = 2): number {\r\n return NumberUtils.ParseFloat(NumberUtils._NumberInputToNumberStr(arg), decimalPrecision);\r\n }\r\n\r\n public static ParseFloatNumberInputKeepPrecision(arg: any): number {\r\n const correctedInputStr: string = NumberUtils._NumberInputToNumberStr(arg);\r\n const decimalPrecision: number = this.GetDecimalPlaces(correctedInputStr);\r\n return NumberUtils.ParseFloat(correctedInputStr, decimalPrecision);\r\n }\r\n\r\n /**\r\n * Returns given arg as a float number with given decimal precision, if possible. Returns NaN if parse conversion failed.\r\n *\r\n * @param {any} arg The argument to parse to a float\r\n * @param {number} decimalPrecision The number of decimals, or the precision, the parsed return float should have\r\n * @returns {number} NaN if not possible, else the parsed float value\r\n */\r\n public static ParseFloat(arg: any, decimalPrecision: number = 2): number {\r\n if (!ObjectUtils.AllExist(arg, decimalPrecision) || Array.isArray(arg)) {\r\n return NaN;\r\n }\r\n\r\n if (!NumberUtils.IsInteger(decimalPrecision) || decimalPrecision < 0) {\r\n decimalPrecision = 2;\r\n // toFixed() can only handle up until 20\r\n } else if (decimalPrecision > 20) {\r\n decimalPrecision = 20;\r\n }\r\n\r\n return parseFloat(parseFloat(arg).toFixed(decimalPrecision));\r\n }\r\n\r\n /**\r\n * Returns given arg as a float number with given decimal precision, if possible. Returns NaN if parse conversion failed.\r\n *\r\n * @param arg The argument to parse to a float\r\n * @returns {number} The argument as a float with its original decimal precision intact\r\n */\r\n public static ParseFloatKeepPrecision(arg: any): number {\r\n const decimalPrecision: number = this.GetDecimalPlaces(arg);\r\n return this.ParseFloat(arg, decimalPrecision);\r\n }\r\n\r\n /**\r\n * Returns the given argument as a number. Returns given defaultValue if conversion of argument was impossible.\r\n * @param arg\r\n * @param {number} [defaultValue = 0]\r\n * @returns {number}\r\n */\r\n public static ParseNumberOrDefault(arg: any, defaultValue: number = 0): number {\r\n if (Array.isArray(arg)) {\r\n return defaultValue;\r\n }\r\n\r\n if (!NumberUtils.IsNumber(arg)) {\r\n arg = parseFloat(arg);\r\n arg = isNaN(arg) ? defaultValue : arg;\r\n }\r\n return arg;\r\n }\r\n\r\n // Returns true iff given argument is an integer number. Returns false on non-numbers or numbers with significant decimals.\r\n public static IsInteger(arg: any): boolean {\r\n if (isNaN(arg) || Array.isArray(arg)) {\r\n return false;\r\n }\r\n const argAsFloat: number = parseFloat(arg);\r\n return ((argAsFloat | 0) === argAsFloat); // returns whether 'arg converted to an integer equals arg'\r\n }\r\n\r\n // Returns the number of decimal places of the given number. Returns 0 if no decimals whatsoever could be found on given arg.\r\n public static GetDecimalPlaces(arg: any, maxAnswer: number = 1000): number {\r\n const match: RegExpMatchArray = (\"\" + arg).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\r\n if (!match) {\r\n return 0;\r\n }\r\n\r\n let answer: number = Math.max(0,\r\n // number of digits right of decimal point.\r\n (match[1] ? match[1].length : 0)\r\n // adjust for scientific notation\r\n - (match[2] ? +match[2] : 0));\r\n\r\n if (answer > maxAnswer) {\r\n answer = maxAnswer;\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n // Parses given numberInput to a number, or returns given defaultValue if parse not possible. Allows ',' char as decimal delimiter.\r\n public static ParseNumberInputOrDefault(numberInput: any, defaultValue: number = 0): number {\r\n return NumberUtils.ParseNumberOrDefault(NumberUtils._NumberInputToNumberStr(numberInput), defaultValue);\r\n }\r\n\r\n // Returns whether the type of given argument is 'number'.\r\n public static IsNumber(arg: any): boolean {\r\n return typeof arg === \"number\" && !isNaN(arg);\r\n }\r\n\r\n /**\r\n * Returns whether given arg is indeed not a number (it's NaN or it has another type than 'number')\r\n * Our exact copy of AS Flex'es isNaN(arg) function. Always use this method for copying Flex isNaN(..) occurences into TypeScript.\r\n * @param arg\r\n * @returns {boolean}\r\n * @constructor\r\n */\r\n public static IsNaN(arg: any): boolean {\r\n return isNaN(arg) || !NumberUtils.IsNumber(arg);\r\n }\r\n\r\n // Our copy of CoMath.NaN. Returns number, or substitute if NumberUtils.IsNaN(number) holds true.\r\n public static NaN(number: any, substitute: number = 0): number {\r\n return NumberUtils.IsNaN(number) ? substitute : number;\r\n }\r\n\r\n // Returns whether the value is parasable as a number.\r\n public static IsParsableNumber(arg: any): boolean {\r\n if (Array.isArray(arg)) {\r\n return false;\r\n }\r\n\r\n return !isNaN(parseFloat(arg));\r\n }\r\n\r\n public static IsParsableNumberInput(numberInput: any): boolean {\r\n return NumberUtils.IsParsableNumber(NumberUtils._NumberInputToNumberStr(numberInput));\r\n }\r\n\r\n /**\r\n * Returns whether given arg is parseable as a number, and whether the lengts of its number parse result is equal to its original length.\r\n * I.e. this function returns FALSE with given number-parsable strings, but that have non-numeric appendices, eg '2233ff'. That arg\r\n * IS number-parseable, but not a strict 'string number', the latter being what this method actually checks for.\r\n */\r\n public static IsStringNumber(arg: string): boolean {\r\n if (!NumberUtils.IsParsableNumber(arg)) {\r\n return false;\r\n } else {\r\n return arg.toString().length === parseFloat(arg).toString().length;\r\n }\r\n }\r\n\r\n public static IsListOfNumbers(arg: string, separator: string = \",\"): boolean {\r\n const nrs: string[] = arg.split(separator);\r\n if (nrs.length === 0) {\r\n return false;\r\n }\r\n return nrs.filter(s => NumberUtils.IsStringNumber(s)).length === nrs.length;\r\n }\r\n\r\n // Returns given argument as a string representation of a number parse, e.g. \"1\" for a number parse result of arg to 1.\r\n public static ParseStringNumber(arg: string): number {\r\n if (!this.IsStringNumber(arg)) {\r\n return NaN;\r\n }\r\n\r\n return NumberUtils.ParseFloatKeepPrecision(arg);\r\n }\r\n\r\n public static ParseStringNumberDefault(arg: string | any, defaultValue: number = 0): number {\r\n return NumberUtils.NaN(NumberUtils.ParseStringNumber(arg), defaultValue);\r\n }\r\n\r\n /**\r\n * Returns a random integer in range [lowerBound .. upperBound], an inclusive range. Returns NaN if not possible.\r\n * Given bounds are truncated first, before serving as the true lower- and upper bounds for the random int.\r\n */\r\n public static RandomInt(lowerBoundInt: number, upperBoundInt: number): number {\r\n if (!NumberUtils.IsNumber(lowerBoundInt) || !NumberUtils.IsNumber(upperBoundInt) || lowerBoundInt > upperBoundInt) {\r\n return NaN;\r\n }\r\n\r\n lowerBoundInt = Math.trunc(lowerBoundInt);\r\n upperBoundInt = Math.trunc(upperBoundInt);\r\n\r\n if (lowerBoundInt === upperBoundInt) {\r\n return lowerBoundInt;\r\n }\r\n\r\n const delta: number = upperBoundInt - lowerBoundInt;\r\n return (Math.round(Math.random() * delta) + lowerBoundInt);\r\n }\r\n\r\n // Adds thousands comma's to given value, E.g. '1000' to '1,000'. Returns empty string if value was undefined.\r\n public static AddThousandsCommasTo(value: any): string {\r\n if (isNill(value)) {\r\n return \"\";\r\n }\r\n\r\n return value.toString().replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\r\n }\r\n\r\n /**\r\n * Function used to check wether a given number is composed of another number, power-of-two wise.\r\n * Example usage: NumberUtils.NumIsComposedOf(articleListObject.publication, ArticlePublication.Selector).\r\n * This would return whether or not that articleListObject was publicated for selector or not, where articleListObject.publication\r\n * was possibly a 'COMPOSITE that was made out of (including)' ArticlePublication.Selector.\r\n */\r\n public static NumIsComposedOfOtherPowTwoNum(bigNrToCheck: number, powTwoNumItShouldBeComposedOf: number): boolean {\r\n if (!bigNrToCheck) {\r\n return false;\r\n } else if (!powTwoNumItShouldBeComposedOf) {\r\n return true;\r\n } else {\r\n return ((bigNrToCheck & powTwoNumItShouldBeComposedOf) === powTwoNumItShouldBeComposedOf);\r\n }\r\n }\r\n\r\n /**\r\n * Returns given nr, or the given default number (default 0) if the nr number was undefined or otherwise not a number.\r\n * Same as CoMath.NaN from AS code (used as its substitute in transaction logic)\r\n * @param nr\r\n * @param defaultNr\r\n * @returns {number}\r\n */\r\n public static NrOrDefault(nr: number, defaultNr: number = 0): number {\r\n if (notNill(nr) && NumberUtils.IsNumber(nr)) {\r\n return nr;\r\n } else {\r\n return defaultNr;\r\n }\r\n }\r\n\r\n /**\r\n * Returns whether given nrToCheck is within the given precision and scale limits. Precision and scale, here, are Oracle DB terms.\r\n * This function can thus be used to check whether the given number is safe to send to the 'database' beforehand, if we know the\r\n * precision and scale of the number in the db declaration.\r\n *\r\n * I.e. A number declared in the Oracle DB as number(5, 2) has a precision of 5 and a scale of 2.\r\n *\r\n * @param {number} nrToCheck\r\n * @param {number} precision The number of significant digits, including possibly negative scale. E.g. 3 in '123' and 5 in '51.123'\r\n * @param {number} [scale = 0] The number of significant digits AFTER the decimal point. E.g. 1 in 5432.1 and 3 in 54000.003\r\n * @returns {CheckPrecisionAndScaleResult} Whether given nrToCheck is ok for given precision and scale, and if not, the\r\n * nearest number that IS ok for those constraints.\r\n */\r\n public static CheckPrecisionAndScale(nrToCheck: number, precision: number, scale: number = 0): CheckPrecisionAndScaleResult {\r\n // let's say any undefined number is checked OK, and all numbers are checked OK for an undefined precision\r\n if (!ObjectUtils.AllExist(nrToCheck, precision, scale)) {\r\n return {isOk: true, nearestOkNr: NaN};\r\n }\r\n // no number can have 0 or less than 0 significant digits, in our universe\r\n if (precision < 1 || precision - scale < 1) {\r\n return {isOk: false, nearestOkNr: NaN};\r\n }\r\n // begin check\r\n const isNegative: boolean = (nrToCheck < 0);\r\n const nrParts: string[] = nrToCheck.toString().split(\".\");\r\n // remove minus sign if negative\r\n if (isNegative) {\r\n nrParts[0] = nrParts[0].slice(1);\r\n }\r\n const numCountBeforeDot: number = nrParts[0].length;\r\n const allowedNumCountBeforeDot: number = precision - scale;\r\n if (numCountBeforeDot <= allowedNumCountBeforeDot) {\r\n return {isOk: true, nearestOkNr: nrToCheck};\r\n } else {\r\n // cut a part from the \"before decimal number\" so that the number is not too big anymore\r\n const numCountToRemove: number = numCountBeforeDot - allowedNumCountBeforeDot;\r\n // remove the right-most numbers before the decimal dot\r\n nrParts[0] = nrParts[0].slice(0, -1 * numCountToRemove);\r\n // add minus sign again if it was negative\r\n if (isNegative) {\r\n nrParts[0] = \"-\" + nrParts[0];\r\n }\r\n // build and return composite number again\r\n let nearestOkNr: number;\r\n if (nrParts[1]) {\r\n nearestOkNr = Number(nrParts[0] + \".\" + nrParts[1]);\r\n } else {\r\n nearestOkNr = Number(nrParts[0]);\r\n }\r\n return {isOk: false, nearestOkNr: nearestOkNr};\r\n }\r\n }\r\n\r\n /**\r\n * Returns whether given x is OK within the given min, max and step boundaries, where it should hold that nrToCheck = min + N * step,\r\n * with N integer or 0.\r\n * @param {number} nrToCheck Number to check whether it's within the given bounds\r\n * @param min Inclusive\r\n * @param max Inclusive\r\n * @param stepSize\r\n * @returns {CheckWithinSteppedBounds} Returns remainder of undefined when nrToCheck was OUTSIDE [min, max], else full result object.\r\n */\r\n public static CheckWithinSteppedBounds(\r\n nrToCheck: number,\r\n min: number,\r\n max: number,\r\n stepSize: number = 1\r\n ): CheckWithinSteppedBoundsResult {\r\n if (nrToCheck < min || nrToCheck > max) {\r\n return {isOk: false, remainder: undefined};\r\n }\r\n\r\n // we're in [min, max], but still check if nrToCheck = min + N * step holds (for N integer or 0)\r\n let remainder: number = (nrToCheck - min) % stepSize;\r\n // correct float for largest precision amongst input numbers\r\n remainder = NumberUtils.ParseFloat(remainder, NumberUtils._GetLargestDecimalPrecisionOf(nrToCheck, min, stepSize));\r\n return {isOk: (remainder === 0), remainder: remainder};\r\n }\r\n\r\n /**\r\n * Finds the number closest to the originalNumber, that adheres to the given bounds. That is, for which it holds that\r\n * nr = min + N * step with N integer or 0.\r\n * @param {number} originalNr Find closest answer to this number\r\n * @param min Inclusive\r\n * @param max Inclusive\r\n * @param stepSize\r\n * @returns {boolean} The closest OK number for bounds.\r\n */\r\n public static GetNearestNumberWithinSteppedBounds(originalNr: number, min: number, max: number, stepSize: number = 1): number {\r\n if (originalNr < min) {\r\n return min;\r\n } else if (originalNr > max) {\r\n return NumberUtils.GetTrueSteppedBoundsMax(min, max, stepSize);\r\n }\r\n\r\n const boundsCheck: CheckWithinSteppedBoundsResult = NumberUtils.CheckWithinSteppedBounds(originalNr, min, max, stepSize);\r\n if (boundsCheck.isOk) {\r\n return originalNr;\r\n }\r\n\r\n let answer: number;\r\n\r\n const remainder: number = boundsCheck.remainder;\r\n if (remainder) {\r\n // round up or down?\r\n if ((remainder / stepSize) < 0.5) {\r\n // round down, but not below min\r\n answer = (originalNr - remainder >= min ? originalNr - remainder : min);\r\n } else {\r\n // round up, but not above max\r\n answer = (originalNr + stepSize - remainder <= max ? originalNr + stepSize - remainder :\r\n NumberUtils.GetTrueSteppedBoundsMax(min, max, stepSize));\r\n }\r\n } else {\r\n // is this real life, why wasn't our stepped bounds check OK?\r\n answer = originalNr;\r\n }\r\n\r\n // 'correct' float errors\r\n answer = NumberUtils.ParseFloat(answer, NumberUtils._GetLargestDecimalPrecisionOf(originalNr, min, max, stepSize));\r\n return answer;\r\n }\r\n\r\n /**\r\n * Returns the true maximum allowed value for the given \"stepped bounds\": min, stepSize and max, for which it holds that each allowed\r\n * value Y = min + stepSize * N, for any INTEGER or 0 N where it also holds, of course, that Y <= max.\r\n * @param min\r\n * @param max\r\n * @param stepSize\r\n */\r\n public static GetTrueSteppedBoundsMax(min: number, max: number, stepSize: number = 1): number {\r\n // solve max integer X in formula min + X * step <= max, and return min + X * stepSize for that X\r\n const maxSteps: number = Math.floor((max - min) / stepSize);\r\n // 'correct' float errors\r\n return NumberUtils.ParseFloat(min + maxSteps * stepSize, NumberUtils._GetLargestDecimalPrecisionOf(min, min, max));\r\n }\r\n\r\n // Returns the nearest number, relative to the given originalNr, that is within the given [min, max] inclusive bounds.\r\n public static GetNearestNumberWithinBounds(originalNr: number, min: number, max: number): number {\r\n let answer: number = originalNr;\r\n\r\n if (originalNr < min) {\r\n answer = min;\r\n } else if (originalNr > max) {\r\n answer = max;\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n // Returns the string representation of given number. If it's not a number, returns the empty string.\r\n public static ToString(nr: number): string {\r\n if (!NumberUtils.IsNaN(nr)) {\r\n return \"\" + nr;\r\n } else {\r\n return \"\";\r\n }\r\n }\r\n\r\n public static DecimalsToStepIncrement(numberOfDecimals: number): number {\r\n return Math.pow(10, -1 * numberOfDecimals);\r\n }\r\n\r\n public static Round(value: number, decimals: number): number {\r\n const factor: number = Math.pow(10, decimals);\r\n return Math.round(value * factor) / factor;\r\n }\r\n\r\n // @returns The inclusive max value\r\n public static PrecisionScaleToMaxValue(precision: number, scale: number): number {\r\n const oneStep: number = this.DecimalsToStepIncrement(scale);\r\n const maxExclusive: number = Math.pow(10, precision - scale);\r\n return maxExclusive - oneStep;\r\n }\r\n\r\n // @returns the difference between given 2 numbers\r\n public static DifferenceBetweenNumbers(numberA: number, numberB: number): number {\r\n return Math.abs(numberA - numberB);\r\n }\r\n\r\n private static _GetLargestDecimalPrecisionOf(...args: number[]): number {\r\n const result = ArrayUtils.GetMaxCalculatedValue(args, (arg: number) => {\r\n return NumberUtils.GetDecimalPlaces(arg);\r\n });\r\n return result;\r\n }\r\n\r\n // Returns given number input as a number that's useable by Javascript. Allows for incoming ',' decimal delimiter.\r\n private static _NumberInputToNumberStr(numberInput: string): string {\r\n return (numberInput + \"\").replace(\",\", \".\");\r\n }\r\n}\r\n","import {ObjectUtils} from \"./object-utils\";\r\nimport {NumberUtils} from \"./number-utils\";\r\nimport {isNill} from \"./is-nill.function\";\r\nimport {notNill} from \"./function/not-nill.function\";\r\n\r\nexport class ArrayUtils {\r\n /**\r\n * Returns whether at least one element in given array could be found by given finder function.\r\n *\r\n * @param {T[]} array\r\n * @param {(element: T) => boolean} finder A finder function that takes an element of the array and returns a boolean that represents\r\n * the 'found status' for that element; whether it should have been found or not.\r\n */\r\n public static ContainsAnElementFoundBy<T>(array: T[], finder: (element: T) => boolean): boolean {\r\n if (!array || !finder) {\r\n return false;\r\n }\r\n\r\n return notNill(this.Find<T>(array, finder));\r\n }\r\n\r\n /**\r\n * Cross-browser Array.find() function. Returns the first item in given array for which the foundBy function returns true. Returns\r\n * undefined when none was found.\r\n *\r\n * Example usage:\r\n * const foundItem: BusinessObject = ArrayUtils.Find<BusinessObject>(modelArray, (modelItem: BusinessObject) => <br>\r\n * (return modelItem.getId() === '1')\r\n * * });\r\n *\r\n * @param array The array with items to search in.\r\n * @param foundBy The finder function applied on each items of the array, when that returns true, the item is considered found.\r\n */\r\n public static Find<T>(array: T[], foundBy: (item: T) => boolean): T {\r\n if (!array || !foundBy) {\r\n return undefined;\r\n }\r\n\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n const itemCur: T = array[i];\r\n if (foundBy(itemCur) ) {\r\n return itemCur;\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n // @returns empty array when nothing found, otherwise array with found items\r\n public static FindAll<T>(array: T[], foundBy: (item: T) => boolean): T[] {\r\n const answer: T[] = [];\r\n if (!array || !foundBy) {\r\n return answer;\r\n }\r\n\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n const itemCur: T = array[i];\r\n if (foundBy(itemCur)) {\r\n answer.push(itemCur);\r\n }\r\n }\r\n return answer;\r\n }\r\n\r\n // returns a simple clone of given array, using array.slice(0)\r\n public static CloneArray<T>(array: T[]): T[] {\r\n let answer: T[] = [];\r\n\r\n if (array) {\r\n answer = array.slice(0);\r\n }\r\n\r\n return answer;\r\n }\r\n\r\n /**\r\n * Returns a 'semi deep clone' of given array. Its first-level members are object-shallow-cloned (optionally with a strongly typed constructor),\r\n * or just as plain object (see param arrayItemsClass).\r\n * @param array\r\n * @param arrayItemsClass If provided, the cloned array's first-level items will be strongly typed to / constructed as this class. Otherwise\r\n * it'll be a plain object.\r\n * @param deepClone Set to true if array items contain FUNCTIONS that need to be cloned..\r\n * @returns {Array} semi-deep clone of given array\r\n */\r\n public static CloneArrayAndItsItems<T>(array: T[], arrayItemsClass?: any, deepClone: boolean = false): T[] {\r\n const cloneArray: T[] = [];\r\n\r\n if (array) {\r\n for (let i: number = 0, len: number = array.length; i < len; i++) {\r\n if (deepClone) {\r\n cloneArray.push(ObjectUtils.GetDeepClone(array[i]));\r\n } else {\r\n cloneArray.push(ObjectUtils.GetShallowClone(array[i], arrayItemsClass));\r\n }\r\n }\r\n } else {\r\n return [];\r\n }\r\n\r\n return cloneArray;\r\n }\r\n\r\n /**\r\n * Removes element at given index from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really\r\n * removes the element using splice().\r\n *\r\n * @param {number} index\r\n * @param {any[]} array in-out\r\n * @returns {boolean} True if and only if the element on given index is succesfully removed from given array.\r\n */\r\n public static RemoveElementAtIndex(index: number, array: any[]): boolean {\r\n if (NumberUtils.IsNaN(index) || index < 0 || !Array.isArray(array) || array.length === 0) {\r\n return false;\r\n }\r\n\r\n if (index in array) {\r\n array.splice(index, 1);\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Removes given element from given array. Doesn't just set it to null like JavaScripts standard 'delete' does, but really removes the\r\n * element using splice(). Also works on associative arrays.\r\n *\r\n * @param {T} element The element to remove.\r\n * @param {T[]} array The array to remove the element from.\r\n * @returns {boolean} True iff given element was truly successfully removed from given array.\r\n */\r\n public static RemoveElement<T>(element: T, array: T[]): boolean {\r\n if (!Array.isArray(array)) {\r\n return false;\r\n }\r\n\r\n const index: number = array.indexOf(element);\r\n return ArrayUtils.RemoveElementAtIndex(index, array);\r\n }\r\n\r\n // Checks if given array is defined, and is an array, and has length > 0, and, optionally checks that the first element is of type given clazz.\r\n public static IsArrayWithElements<T>(arrayToCheck: T[], classItemsMustBeInstanceOf?: any): boolean {\r\n if (isNill(arrayToCheck)) {\r\n return false;\r\n }\r\n\r\n if (Array.isArray(arrayToCheck) && arrayToCheck.length > 0) {\r\n if (classItemsMustBeInstanceOf) {\r\n return arrayToCheck[0] instanceof classItemsMustBeInstanceOf;\r\n } else {\r\n return true;\r\n }\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n // Removes all elements from given array for which given filter function holds true. Returns true if at least one removed, else false.\r\n public static RemoveElementsByFilter(array: any[], filterFunction: (item: any) => boolean): boolean {\r\n if (!ArrayUtils.IsArrayWithElements(array) || !filterFunction) {\r\n return false;\r\n }\r\n\r\n let atLeastOneRemoved: boolean = false;\r\n\r\n const len: number = array.length;\r\n for (let i: number = len - 1; i >= 0; i--) {\r\n const item: any = array[i];\r\n if (filterFunction.call(this, item) === true) {\r\n array.splice(i, 1);\r\n atLeastOneRemoved = true;\r\n }\r\n }\r\n\r\n return atLeastOneRemoved;\r\n }\r\n\r\n public static MoveElement<T>(element: T, toIndex: number, array: T[]): boolean {\r\n if (!Array.isArray(array) || isNill(toIndex)) {\r\n return false;\r\n }\r\n\r\n const fromIndex: number = array.indexOf(element);\r\n const toIndexCorrected: number = NumberUtils.GetNearestNumberWithinBounds(toIndex, 0, array.length - 1);\r\n if (fromIndex === -1 || array[toIndexCorrected] === element) {\r\n // element did not exist in given array, or already existed on given toIndex\r\n return false;\r\n }\r\n array.splice(toIndexCorrected, 0, array.splice(fromIndex, 1)[0]);\r\n return true;\r\n }\r\n\r\n // PRE: elements exists in given array. POST: given elementToPlace has a lower index than given afterThisElement. Array is in-out manipulated.\r\n public static PlaceElementAfterOther(array: any[], elementToPlace: any, afterThisElement: any): void {\r\n if (array) {\r\n const afterThisElIdx: number = array.indexOf(afterThisElement);\r\n const elToPlaceIdx: number = array.indexOf(elementToPlace);\r\n if (afterThisElIdx >= elToPlaceIdx) {\r\n ArrayUtils.MoveElement(elementToPlace, afterThisElIdx + 1, array);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Returns max value from all resulting values from applying given itemValueFunction to all items of given array.\r\n * @param array\r\n * @param itemValueFunction The function applied to each array item that gives it a numerical value. The max num val found is returned.\r\n */\r\n public static GetMaxCalculatedValue<T>(array: T[], itemValueFunction: (item: T) => number): number {\r\n if (!array || !itemValueFunction) {\r\n return NaN;\r\n }\r\n\r\n let max: number = undefined;\r\n\r\n const len: number = array.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const valueCur: number = itemValueFunction.call(this);\r\n if (valueCur > max) {\r\n max = valueCur;\r\n }\r\n }\r\n\r\n return max;\r\n }\r\n}\r\n","\r\n\r\n// Static utility function holder related to ref codes and string enums (as in our string enum representations of the db table REF_CODE).\r\nimport {NumberUtils} from \"./number-utils\";\r\n\r\nexport class RefCodeUtils {\r\n\r\n // Returns true if given valueToCheck is a composition of the second numeric argument. Usesul for checking user rights, for instance.\r\n public static Check(valueToCheck: number, powTwoNumToCheckAgainst: number): boolean {\r\n return NumberUtils.NumIsComposedOfOtherPowTwoNum(valueToCheck, powTwoNumToCheckAgainst);\r\n }\r\n\r\n /**\r\n * Returns true if given number value is a composition of at least one of the rest numeric arguments. Usesul for checking user rights,\r\n * for instance, or any other numerical composite refcode.\r\n */\r\n public static CheckAny(valueToCheck: number, ...powTwoNumsToCheckAgainst: number[]): boolean {\r\n const len: number = powTwoNumsToCheckAgainst.length;\r\n for (let i: number = 0; i < len; i++) {\r\n if (RefCodeUtils.Check(valueToCheck, powTwoNumsToCheckAgainst[i])) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n public static GetMultiRefCodeChoices(multiRefCode: number): number[] {\r\n const choices: number[] = [];\r\n\r\n // magic number 22 was chosen as a 'high' power of two, i.e. we don't expect multi ref codes with more than 21 options\r\n let powTwoExponent: number = 22;\r\n let powTwoVal: number = Math.pow(2, powTwoExponent);\r\n let remainder: number = multiRefCode;\r\n\r\n while (remainder > 0) {\r\n if (remainder - powTwoVal >= 0) {\r\n choices.push(powTwoVal);\r\n remainder -= powTwoVal;\r\n }\r\n\r\n powTwoExponent--;\r\n powTwoVal = Math.pow(2, powTwoExponent);\r\n }\r\n\r\n choices.reverse();\r\n return choices;\r\n }\r\n\r\n public static GetNumbersArraySum(numbersArray: number[]): number {\r\n if (!Array.isArray(numbersArray) || numbersArray.length === 0) {\r\n return;\r\n }\r\n\r\n let sum: number = 0;\r\n numbersArray.forEach((num: number) => {\r\n sum += num;\r\n });\r\n return sum;\r\n }\r\n}\r\n","// DOM_BESTANDSSOORT\r\nexport enum FileType {\r\n // DOC: Document\r\n Document = \"DOC\",\r\n // IMG: Afbeelding\r\n Image = \"IMG\",\r\n // SDWEB: Digitale handtekening\r\n DigitalSignature = \"SDWEB\",\r\n CollectiveSalaryInfo = \"LOONSTAAT\",\r\n //3d model file\r\n ThreeDFile = \"UNITYWEB\"\r\n}\r\n","import {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\r\nimport {FileType} from \"../enum/file-type\";\r\nimport {BuildImagesAndDocumentationResult} from \"../businessobject/build-images-and-documentation-result\";\r\n\r\n\r\nexport class CoDocumentSharedFieldLogic {\r\n\r\n public static BuildAllDocuments(documentation: CoDocument[], images: CoDocument[]): CoDocument[] {\r\n let allDocuments: CoDocument[] = [];\r\n allDocuments = allDocuments.concat(documentation);\r\n allDocuments = allDocuments.concat(images);\r\n allDocuments.sort((a: CoDocument, b: CoDocument) => {\r\n return a.index < b.index ? -1 : 1;\r\n });\r\n return allDocuments;\r\n }\r\n\r\n public static BuildImagesAndDocumentation(documents: CoDocument[]): BuildImagesAndDocumentationResult {\r\n const images: CoDocument[] = [];\r\n const documentation: CoDocument[] = [];\r\n\r\n const len: number = documents.length;\r\n for (let i: number = 0; i < len; i++) {\r\n // re-index documents order\r\n documents[i].index = i + 1;\r\n if (documents[i].fileType === FileType.Image) {\r\n images.push(documents[i]);\r\n } else {\r\n documentation.push(documents[i]);\r\n }\r\n }\r\n\r\n return {\r\n images: images,\r\n documentation: documentation\r\n };\r\n }\r\n\r\n // Returns an index number that is 1 higher than the highest one in the collection\r\n public static GenerateAvailableIndexNr(documents: CoDocument[]): number {\r\n const indexNumbers: number[] = [];\r\n documents.forEach((collectionItem) => {\r\n if (collectionItem && collectionItem.index > -1) {\r\n indexNumbers.push(collectionItem.index);\r\n }\r\n });\r\n\r\n indexNumbers.sort((a: number, b: number) => {\r\n return a - b;\r\n });\r\n\r\n if (indexNumbers && indexNumbers.length > 0) {\r\n return indexNumbers[indexNumbers.length - 1] + 1;\r\n } else {\r\n return 0;\r\n }\r\n }\r\n}\r\n","import {Input} from \"@angular/core\";\r\nimport {StringUtils} from \"../utils/string-utils\";\r\n\r\n/**\r\n * Property decorator which enables template syntax like \"someBoolInput\" instead of \"[someBoolInput]='true'\". Makes use of the fact that\r\n * Angular assigns an empty string to the input property in the naked \"someBoolInput\" template case.\r\n */\r\nexport function InputBoolean(bindingPropertyName?: string): PropertyDecorator {\r\n const inputDecorator: PropertyDecorator = Input(bindingPropertyName);\r\n return (target: Object, key: string) => {\r\n inputDecorator(target, key);\r\n const descriptor: PropertyDescriptor = Object.getOwnPropertyDescriptor(target, key) || {};\r\n Object.defineProperty(target, key, {\r\n get: descriptor.get || function (): boolean {\r\n return this[\"__\" + key];\r\n },\r\n set: function(newValue: any): void {\r\n const val: boolean = InputBooleanDecorator.InputValueToBoolean(newValue);\r\n descriptor.set ? descriptor.set(val) : this[\"__\" + key] = val;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n };\r\n}\r\n\r\n// Utility function holder of the InputBooleanDecorator decorator.\r\nexport class InputBooleanDecorator {\r\n public static InputValueToBoolean(value: any): boolean {\r\n if (StringUtils.IsString(value) && !StringUtils.IsStringWithLength(value)) {\r\n return true;\r\n }\r\n return !!value;\r\n }\r\n}\r\n","import {Component, HostBinding, Input, ViewEncapsulation} from \"@angular/core\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\n\r\n@Component({\r\n selector: \"co-app-file-dropzone\",\r\n template: `\r\n <div class=\"drop-files-wrapper\">\r\n <div class=\"description\">\r\n <span class=\"title\" [textContent]=\"getDropActionMessage()\"></span>\r\n <span class=\"description\"></span>\r\n <div class=\"icon-wrapper\">\r\n <co-icon [iconData]=\"iconCacheService.getIcon(icons.Dropzone)\"></co-icon>\r\n </div>\r\n </div>\r\n <div class=\"dropzone\"></div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n// Component that shows a full screen dropzone target area\r\nexport class AppFileDropzoneComponent {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @Input()\r\n public customDropActionMessage: string;\r\n\r\n @HostBinding('class.co-app-file-dropzone')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public readonly Icons: typeof Icon = Icon;\r\n\r\n private readonly _defaultDropActionMessage: string = \"DROP_ZONE_DOCUMENTS\";\r\n\r\n constructor(protected dictionary: DictionaryService,\r\n public iconCacheService: IconCacheService) {\r\n }\r\n\r\n public getDropActionMessage(): string {\r\n return this.dictionary.get(this.customDropActionMessage ? this.customDropActionMessage : this._defaultDropActionMessage);\r\n }\r\n}\r\n","// <b>Enum</b> Encapsulation of the doc numbers to store it in DOCUMENTATIE table, java enum ReportDocKind\r\nexport enum DocumentEmailReport {\r\n Orderbevestiging = 1,\r\n Afleverbon = 2,\r\n Factuur = 4,\r\n Bestelbon = 8,\r\n Atelierbon = 16,\r\n Werkbon = 32,\r\n Vrachtbrief = 64,\r\n Leverindicatie = 128,\r\n Uitlopende_levering = 256,\r\n Goederen_binnen = 512,\r\n Afspraakbevestiging = 1024,\r\n Herinneringsbestelbon = 2048,\r\n Aanmaninglevertijd = 4096\r\n}\r\n","// Enum of all domain names (refcodes) from db table CG_REF_CODES2 (2!!) that iOneJS currently uses.\r\nexport enum DomainMultipleName {\r\n ArticlePublication = \"ART_PUBLICATIE\",\r\n ArticlePublicationSales = \"ART_PUBLICATIE_VERK\",\r\n ArticleSyncField = \"DOM_SYNC_VELDEN\",\r\n DocumentPublication = \"DOC_PUBLICATIE\",\r\n TextType = \"TEKST_PUBLICATIE\",\r\n TextPublication = \"TEKSTSOORT\",\r\n RotationOption = \"ART_ROTATION_ALLOWED\",\r\n WeekDays = \"WEEKDAGEN\",\r\n}\r\n","import {Component, EventEmitter, HostBinding, Input, OnInit, Output, ViewChild, ViewEncapsulation} from '@angular/core';\r\nimport {FormComponent} from '@colijnit/corecomponents_v12';\r\nimport {DocumentPublication} from \"@colijnit/articleapi/build/enum/refcode/document-publication.enum\";\r\nimport {StoreGroup} from \"@colijnit/mainapi/build/model/store-group.bo\";\r\nimport {ObjectRightType} from \"@colijnit/sharedapi/build/enum/object-right-type.enum\";\r\nimport {PromptService} from \"@colijnit/corecomponents_v12\";\r\nimport {BusinessObjectFactory} from \"@colijnit/ioneconnector/build/service/business-object-factory\";\r\nimport {InputBoolean} from \"../../decorator/input-boolean.decorator\";\r\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\r\nimport {CoDocumentRight} from \"@colijnit/mainapi/build/model/co-document-right\";\r\nimport {TagCategory} from \"../../enum/tag-category.enum\";\r\nimport {FilesUploadConfigObjects} from \"../../enum/files-upload-config-objects\";\r\nimport {TableName} from \"../../enum/table-name.enum\";\r\nimport {FileType} from \"../../enum/file-type\";\r\nimport {DocumentEmailReport} from \"../../enum/document-email-report.enum\";\r\nimport {TagsComponentConfigNames} from \"../../enum/tags-component-config-names\";\r\nimport {DomainMultipleName} from \"../../enum/domain-multiple-name.enum\";\r\nimport {TagTreeItem} from \"../../model/tag-tree-item.bo\";\r\nimport {FileTypeImagePipe} from \"../../pipe/file-type-image.pipe\";\r\nimport {FileUtils} from \"@colijnit/mainapi/build/utils/file-utils\";\r\n\r\n\r\n@Component({\r\n selector: \"co-file-upload-popup\",\r\n template: `\r\n <co-dialog *ngIf=\"!useWithoutSettingProps && documentUnderEdit\" cssId=\"popup_files_upload_content\"\r\n [headerTemplate]=\"headerTemplate\" contentSize noClickOutside\r\n (close)=\"onPopupClose()\">\r\n <div class=\"co-dialog-wrapper\">\r\n <div class=\"file-upload-form-wrapper\" fxLayout=\"column\" fxLayoutGap=\"10px\">\r\n <co-form class=\"narrow-scrollbar\" (validSubmit)=\"onValidSubmit()\">\r\n <div class=\"horizontal-layout-column\">\r\n <div class=\"document-thumb column-left\" *ngIf=\"!addDocumentByUrl\">\r\n <a (click)=\"onPreviewClick()\"><img [src]=\"thumbnail\"/></a>\r\n </div>\r\n <div class=\"column-right\">\r\n <co-input-text\r\n [model]=\"documentUnderEdit.fileSize\"\r\n [screenConfigurationObject]=\"documentUnderEdit.isImageDocument() ?\r\n filesUploadConfigObjects?.ImageDocumentFileSize :\r\n filesUploadConfigObjects?.TextDocumentFileSize\"\r\n [placeholder]=\"'SIZE' | localize\"\r\n forceReadonly\r\n noValidation>\r\n </co-input-text>\r\n <ng-container *ngIf=\"documentUnderEdit.isImageDocument()\">\r\n <co-input-text [placeholder]=\"'DIMENSIONS' | localize\"\r\n [model]=\"documentUnderEdit.imageDimensions\"\r\n [screenConfigurationObject]=\"filesUploadConfigObjects?.ImageDocumentDimensions\"\r\n forceReadonly noValidation></co-input-text>\r\n </ng-container>\r\n <co-input-text\r\n [(model)]=\"documentUnderEdit.title\"\r\n [screenConfigurationObject]=\"documentUnderEdit.isImageDocument() ?\r\n filesUploadConfigObjects?.ImageDocumentTitle :\r\n filesUploadConfigObjects?.TextDocumentTitle\"\r\n [placeholder]=\"'TITLE2' | localize\"\r\n noValidation forceReadonly></co-input-text>\r\n </div>\r\n </div>\r\n\r\n <div>\r\n <!--<sc-tags\r\n [tagCategory]=\"tagCategory\"\r\n [readonly]=\"docUnderEditIsReadOnly\"-->\r\n\r\n <!-- ></sc-tags>--><!-- [myCfgNames]=\"tagsConfigName\" | [(joinedTags)]=\"this.documentUnderEdit.tags\"-->\r\n </div>\r\n <!--<div>\r\n <read-write-access *ngIf=\"showReadWriteAccess\"\r\n [readWriteCfgNames]=\"filesUploadConfigObjects?.readWriteAccess\"\r\n [layoutHorizontal]=\"true\"\r\n [medicalUserGroups]=\"medicalUserGroups\"\r\n [(userGroupsForWrite)]=\"userGroupsForWrite\"\r\n [(userGroupsForRead)]=\"userGroupsForRead\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n ></read-write-access>\r\n </div>-->\r\n <!--<div class=\"horizontal-layout-column\">\r\n <ng-container *ngIf=\"addDocumentByUrl\">\r\n <co-input-text required [placeholder]=\"'URL' | localize\" [(model)]=\"documentUnderEdit.filePath\"\r\n [readonly]=\"docUnderEditIsReadOnly\"></co-input-text>\r\n </ng-container>\r\n </div>-->\r\n <div class=\"horizontal-layout-column\">\r\n <div class=\"column-left\">\r\n <co-input-text [placeholder]=\"'DESCRIPTION' | localize\" [(model)]=\"documentUnderEdit.description\"\r\n [screenConfigurationObject]=\"documentUnderEdit.isImageDocument() ?\r\n filesUploadConfigObjects?.ImageDocumentDescription :\r\n filesUploadConfigObjects?.TextDocumentDescription\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n ></co-input-text>\r\n\r\n </div>\r\n <!--<div *ngIf=\"hasPublicAccessVisible\" class=\"column-right\">\r\n <input-switcher-yes-no label=\"PUBLIC_ACCESS\"\r\n [(model)]=\"documentUnderEdit.hasPublicAccess\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n ></input-switcher-yes-no>\r\n </div>-->\r\n </div>\r\n <div class=\"horizontal-layout-column\">\r\n <ng-container *ngIf=\"!documentUnderEdit.isImageDocument()\">\r\n <div class=\"column-left\">\r\n <!-- <input-switcher-yes-no label=\"DOWNLOADABLE\"\r\n [(model)]=\"documentUnderEdit.downloadable\"\r\n [cfgName]=\"filesUploadConfigObjects?.TextDocumentDownloadable\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n ></input-switcher-yes-no>-->\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"horizontal-layout-column\">\r\n <ng-container *ngIf=\"fileType === fileTypes.ThreeDFile\">\r\n <div class=\"column-left\">\r\n <!-- <input-switcher-yes-no label=\"ALSO_AS_USDZ\"\r\n [(model)]=\"documentUnderEdit.convertToUSDZ\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n ></input-switcher-yes-no>-->\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div class=\"horizontal-layout-column\">\r\n <ng-container *ngIf=\"documentUnderEdit.isImageDocument()\">\r\n <div class=\"column-left\"><!--\r\n <input-switcher-yes-no label=\"ATTACH_TO_NOTIFICATION\"\r\n [(model)]=\"documentUnderEdit.attachToNotification\"\r\n [cfgName]=\"filesUploadConfigObjects?.ImageDocumentAttachNotification\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n ></input-switcher-yes-no>-->\r\n </div>\r\n <div class=\"column-right\"><!--\r\n <image-type-select\r\n [cfgName]=\"filesUploadConfigObjects?.ImageDocumentDisplayType\"\r\n [(selectedModelId)]=\"this.documentUnderEdit.imageDisplayKind\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n label=\"DISPLAY_TYPE\"\r\n ></image-type-select>-->\r\n </div>\r\n </ng-container>\r\n </div>\r\n <div *ngIf=\"!isWorkability\">\r\n <!-- <multiple-property-toggler *ngIf=\"!showDocumentReportPicker\"\r\n [propertyNamesToToggle]=\"documentPublication\"\r\n [(enableditems)]=\"this.documentUnderEdit.publication\"\r\n (onPropertyItemChange)=\"handlePropertyChange($event)\"\r\n label=\"PUBLISH_TO\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n ></multiple-property-toggler>-->\r\n <co-multiple-property-toggler *ngIf=\"showDocumentReportPicker\"\r\n [propertyNamesToToggle]=\"documentEmailReports\"\r\n [(enableditems)]=\"documentUnderEdit.reports\"\r\n (onPropertyItemChange)=\"handleReportsPropertyChange($event)\"\r\n label=\"REPORTS_TO_ATTACH_TO\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n ></co-multiple-property-toggler>\r\n\r\n <!--<ng-container *ngIf=\"documentUnderEdit.isImageDocument()\"\r\n [templateWrapper]=\"templateImage\"></ng-container>-->\r\n </div>\r\n </co-form>\r\n <div class=\"ok-cancel-buttons\">\r\n <co-button [disabled]=\"docUnderEditIsReadOnly\" [textContent]=\"'OK' | localize\" (click)=\"onPopupOkClick()\"></co-button>\r\n <co-button *ngIf=\"hideCancel\" [textContent]=\"'STICKER' | localize\" (click)=\"onPopupCancelClick()\"></co-button>\r\n </div>\r\n <!-- <default-ok-cancel-buttons class=\"justify-center\"\r\n [okDisabled]=\"docUnderEditIsReadOnly\"\r\n [hideCancel]=\"hideCancel\"\r\n (okClick)=\"onPopupOkClick()\"\r\n (cancelClick)=\"onPopupCancelClick()\">\r\n </default-ok-cancel-buttons>-->\r\n </div>\r\n </div>\r\n </co-dialog>\r\n <ng-template #headerTemplate>\r\n <div [textContent]=\"popupHeader | localize\"></div>\r\n </ng-template>\r\n <ng-template #templateImage *ngIf=\"!isWorkability\">\r\n <!-- <div class=\"column-right\">\r\n <input-lov-multi-select\r\n [cfgName]=\"filesUploadConfigObjects.ImageDocumentStoreGroups\"\r\n [(selectedModelIds)]=\"storeGroupIds\"\r\n [collection]=\"storeGroups\"\r\n [readonly]=\"docUnderEditIsReadOnly\"\r\n descriptionField=\"description\"\r\n doNotLoadCollection\r\n customWidth\r\n label=\"RETAIL_FORMULAS\"\r\n ></input-lov-multi-select>\r\n </div>-->\r\n </ng-template>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n// Component that shows a popup when the user wants to upload a CoDocument\r\nexport class FileUploadPopupComponent implements OnInit {\r\n @ViewChild(FormComponent)\r\n public form: FormComponent;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public useWithoutSettingProps: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public hasPublicAccessVisible: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n //todo this is usually set to false on init\r\n public showDocumentReportPicker: boolean = true;\r\n\r\n\r\n @Input()\r\n public set documentUnderEdit(doc: CoDocument) {\r\n this._documentUnderEdit = doc ? this._boFactory.makeWithRawBackendData(CoDocument, doc) as unknown as CoDocument : undefined;\r\n }\r\n\r\n public get documentUnderEdit(): CoDocument {\r\n return this._documentUnderEdit;\r\n }\r\n\r\n @Input()\r\n public set readonly(value: boolean) {\r\n this._readonly = value;\r\n\r\n if (value) {\r\n //this._toastService.spawnToast(\"MESSAGE_DOCUMENT_LOCK_SINGLE\");\r\n }\r\n }\r\n\r\n @Input()\r\n public set filesUploadConfigObjects(value: FilesUploadConfigObjects) {\r\n this._filesUploadConfigObjects = value;\r\n }\r\n\r\n @Input()\r\n public tagCategory: TagCategory;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public medicalUserGroups: boolean;\r\n\r\n @Input()\r\n public displayReadWriteAccess: boolean = true;\r\n\r\n @Input()\r\n public tagReferenceTable: TableName;\r\n\r\n @Input()\r\n public documentKey: string;\r\n\r\n @Input()\r\n public documentTable: string;\r\n\r\n @Input()\r\n public fileType: FileType;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public addDocumentByUrl: boolean;\r\n\r\n @Output()\r\n public readonly documentChangeEvent: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\r\n\r\n @Output()\r\n public readonly popupCloseEvent: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @HostBinding('class.co-file-upload-popup')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n\r\n public readonly documentPublication: typeof DocumentPublication = DocumentPublication;\r\n public readonly documentEmailReports: typeof DocumentEmailReport = DocumentEmailReport;\r\n\r\n public get showReadWriteAccess(): boolean {\r\n //TODO get userrights\r\n return true;\r\n //return this._userRights.workabilityParameterEnabled && this.displayReadWriteAccess;\r\n }\r\n\r\n public get filesUploadConfigObjects(): FilesUploadConfigObjects {\r\n return this._filesUploadConfigObjects;\r\n }\r\n\r\n public get isWorkability(): boolean {\r\n //TODO fix workability\r\n return false;\r\n\r\n //return this._workabilityService.workabilitySystemEnabled;\r\n }\r\n\r\n public get docUnderEditIsReadOnly(): boolean {\r\n return this.documentUnderEdit.readonly || this._readonly;\r\n }\r\n\r\n public get thumbnail(): string {\r\n if (this.documentUnderEdit.isImageDocument()) {\r\n return this._thumbnail\r\n }\r\n return this._fileTypeImgPipe.transform(this.documentUnderEdit.fileTypeInternal);\r\n }\r\n\r\n public get popupHeader(): string {\r\n if (this.documentUnderEdit && this.documentUnderEdit.isImageDocument()) {\r\n return \"IMAGE\";\r\n } else {\r\n return \"DOCUMENT\";\r\n }\r\n }\r\n\r\n public get publicationConfigName(): string {\r\n if (this.filesUploadConfigObjects) {\r\n return this.documentUnderEdit.isImageDocument() ?\r\n this.filesUploadConfigObjects.ImageDocumentPublishTo :\r\n this.filesUploadConfigObjects.TextDocumentPublishTo;\r\n } else {\r\n return; // No configname found\r\n }\r\n }\r\n\r\n\r\n public get tagsConfigName(): TagsComponentConfigNames {\r\n if (this.filesUploadConfigObjects) {\r\n return this.documentUnderEdit.isImageDocument() ?\r\n this.filesUploadConfigObjects.TagsImageConfigNames :\r\n this.filesUploadConfigObjects.TagsTextConfigNames;\r\n } else {\r\n return; // No configname found\r\n }\r\n }\r\n\r\n public readonly domain: typeof DomainMultipleName = DomainMultipleName;\r\n public readonly fileTypes: typeof FileType = FileType;\r\n\r\n public _documentUnderEdit: CoDocument;\r\n public hideCancel: boolean = false;\r\n public storeGroups: StoreGroup[] = [];\r\n public publicationIds: number[];\r\n public storeGroupIds: string[];\r\n public userGroupsForWrite: number[] = [];\r\n public userGroupsForRead: number[] = [];\r\n public documentTags: TagTreeItem[] = [];\r\n\r\n private _filesUploadConfigObjects: FilesUploadConfigObjects = {}; // Instantiate with empty object to avoid nullpointers in the template\r\n private _boFactory: BusinessObjectFactory = new BusinessObjectFactory();\r\n private _readonly: boolean = false;\r\n private _publicationNumber: number;\r\n private _reportsNumber: number;\r\n\r\n private _thumbnail: string;\r\n\r\n constructor(\r\n //private _workabilityService: AppWorkabilityService,\r\n private _promptService: PromptService,\r\n private _fileTypeImgPipe: FileTypeImagePipe,\r\n //private _userRights: UserRightsService,\r\n //private _baseDataRepo: BaseDataDalRepository,\r\n //private _tagsRepo: TagsDalRepository,\r\n //private _dataService: DataService,\r\n //private _toastService: AppToastService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.loadCollection();\r\n if (this.documentUnderEdit.isImageDocument()) {\r\n this._thumbnail = this.documentUnderEdit.documentBodyAsDataUri;\r\n }\r\n }\r\n\r\n public async loadCollection(): Promise<void> {\r\n //this.documentTags = await this._tagsRepo.getJoinedTags(this.tagReferenceTable, this.documentKey);\r\n //this.storeGroups = await this._baseDataRepo.getStoreGroupList();\r\n }\r\n\r\n public onPreviewClick(): void {\r\n if (this.documentUnderEdit.isImageDocument()) { //preview image\r\n this._promptService.showImage(this.documentUnderEdit.documentBodyAsDataUri, \"Preview\");\r\n } else { //download document\r\n try {\r\n FileUtils.DownloadFromDataUri(this.documentUnderEdit.bodyAsDataUri, this.documentUnderEdit.fileName);\r\n } catch (error) {\r\n\r\n }\r\n }\r\n }\r\n\r\n public saveDocumentUnderEditRights(): void {\r\n this.documentUnderEdit.rights = [];\r\n const forWriteLength: number = this.userGroupsForWrite.length;\r\n for (let i: number = 0; i < forWriteLength; i++) {\r\n const rights: CoDocumentRight = new CoDocumentRight();\r\n rights.userGroupId = this.userGroupsForWrite[i];\r\n rights.rightLevel = ObjectRightType.ReadWrite;\r\n this.documentUnderEdit.rights.push(rights);\r\n }\r\n\r\n const forReadLength: number = this.userGroupsForRead.length;\r\n for (let i: number = 0; i < forReadLength; i++) {\r\n const rights: CoDocumentRight = new CoDocumentRight();\r\n rights.userGroupId = this.userGroupsForRead[i];\r\n rights.rightLevel = ObjectRightType.ReadOnly;\r\n this.documentUnderEdit.rights.push(rights);\r\n }\r\n }\r\n\r\n public onPopupOkClick(): void {\r\n if (this.form) {\r\n this.form.submit();\r\n }\r\n }\r\n\r\n public handlePropertyChange(refSumOfEnabledItems: number): any {\r\n this._publicationNumber = refSumOfEnabledItems;\r\n }\r\n\r\n public handleReportsPropertyChange(refSumOfEnabledItems: number): any {\r\n this._reportsNumber = refSumOfEnabledItems;\r\n }\r\n\r\n public async onValidSubmit(): Promise<void> {\r\n this._publicationNumber ? this.documentUnderEdit.publication = this._publicationNumber : this.documentUnderEdit.publication = 0;\r\n this._reportsNumber ? this.documentUnderEdit.reports = this._reportsNumber : this.documentUnderEdit.reports = 0;\r\n this.documentUnderEdit.retailFormulas = this.storeGroupIds;\r\n this.saveDocumentUnderEditRights();\r\n this.documentChangeEvent.emit(this.documentUnderEdit);\r\n this.onPopupClose();\r\n }\r\n\r\n public async onPopupCancelClick(): Promise<void> {\r\n this.onPopupClose();\r\n }\r\n\r\n public onPopupClose(): void {\r\n this.userGroupsForWrite.length = 0;\r\n this.userGroupsForRead.length = 0;\r\n this.documentUnderEdit = undefined;\r\n\r\n this.popupCloseEvent.next();\r\n }\r\n\r\n /*private _unlockDocument(doc: CoDocument): void {\r\n if (!doc.readonly && !this.readonly) {\r\n this._dataService.unlock(CoDocument, doc.documentId);\r\n }\r\n }*/\r\n}\r\n","import {\r\n ComponentFactory,\r\n ComponentFactoryResolver,\r\n ComponentRef,\r\n Directive,\r\n EventEmitter,\r\n HostBinding,\r\n HostListener,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewContainerRef\r\n} from \"@angular/core\";\r\nimport {ScreenConfigAdapterComponent} from \"@colijnit/corecomponents_v12\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {TableName} from \"../../../enum/table-name.enum\";\r\nimport {DictionaryService} from \"../../../service/dictionary.service\";\r\nimport {FileType} from \"@colijnit/mainapi/build/enum/file-type.enum\";\r\nimport {\r\n OperationCallbackSimpleFunction,\r\n OperationWithAlwaysSuccessCallback\r\n} from \"../../../interface/operation-callback-simple-function\";\r\nimport {InternalParam} from \"../../../enum/internal-param.enum\";\r\nimport {FilesUploadConfigObjects} from \"../../../enum/files-upload-config-objects\";\r\nimport {TagCategory} from \"../../../enum/tag-category.enum\";\r\nimport {ArrayUtils} from \"../../../utils/array-utils\";\r\nimport {RefCodeUtils} from \"../../../utils/ref-code-utils\";\r\nimport {CoDocumentSharedFieldLogic} from \"../../../utils/co-document-shared-field-logic\";\r\nimport {CoDocumentRight} from \"../../../businessobject/co-document-right.bo\";\r\nimport {ObjectRightType} from \"@colijnit/sharedapi/build/enum/object-right-type.enum\";\r\nimport {InputBoolean} from \"../../../decorator/input-boolean.decorator\";\r\nimport {AppFileDropzoneComponent} from \"../../app-file-dropzone/app-file-dropzone.component\";\r\nimport {FileUtils} from \"@colijnit/mainapi/build/utils/file-utils\";\r\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\r\nimport {CoDocumentType} from \"@colijnit/mainapi/build/enum/co-document-type.enum\";\r\nimport {FileUploadPopupComponent} from \"../../file-upload-popup/file-upload-popup.component\";\r\n\r\n\r\n\r\n// A base component that lets the user make a list of files from its device. Doesn't actually upload, but outputs chosen files as filesChanged.\r\n@Directive()\r\nexport abstract class BaseFileUploadComponent implements ScreenConfigAdapterComponent, OnDestroy {\r\n decimals: number;\r\n forceReadonly: boolean;\r\n maxLength: number;\r\n objectConfigName: string;\r\n redErrorBackground: boolean;\r\n required: boolean;\r\n\r\n // The fileType that the documents should be saved as, leave empty to automatically detect filetype. Also determines file picker filter\r\n @Input()\r\n public set fileType(value: FileType) {\r\n if (value) {\r\n this._fileType = value;\r\n //TODO Documentdataloader fix\r\n //this._coDocumentDataLoader.loadAllowedTypes().then(() => {this.handleAcceptedFileTypesLoaded(value)});\r\n }\r\n }\r\n\r\n public get fileType(): FileType {\r\n return this._fileType;\r\n }\r\n\r\n @Input()\r\n public documents: CoDocument[] = [];\r\n\r\n @Input()\r\n public documentTable: TableName;\r\n\r\n @Input()\r\n public set documentKey(value: string) {\r\n this._documentKey = value + \"\"; // force string\r\n }\r\n\r\n public get documentKey(): string {\r\n return this._documentKey;\r\n }\r\n\r\n // The ability to drop files on the page\r\n @Input()\r\n public fullPageDrop: boolean = false;\r\n\r\n // If user gets the ability of adding files.\r\n @Input()\r\n public canAdd: boolean = true;\r\n\r\n @Input()\r\n public dropMessage: string;\r\n\r\n // Show add button\r\n @Input()\r\n public addWithButton: boolean = true;\r\n\r\n // If user gets the ability of deleting files.\r\n @Input()\r\n public canDelete: boolean = true;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public noDragDropOrdering: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public set readonly(value: boolean) {\r\n this._readonly = value;\r\n\r\n if (this._popup && this._popup.instance) {\r\n this._popup.instance.readonly = value;\r\n }\r\n }\r\n\r\n public get readonly(): boolean {\r\n return this._readonly;\r\n }\r\n\r\n @Input()\r\n @InputBoolean()\r\n public askBeforeDelete: boolean = true;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public resizeImages: boolean = false;\r\n\r\n @Input()\r\n public lockOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\r\n\r\n @Input()\r\n public unlockOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\r\n\r\n\r\n\r\n\r\n @Input()\r\n public beforeDeleteOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\r\n\r\n @Input()\r\n public afterDeleteOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\r\n\r\n @Input()\r\n public beforeCreateOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\r\n\r\n @Input()\r\n public afterCreateOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\r\n\r\n @Input()\r\n public beforeEditOperation: OperationCallbackSimpleFunction = OperationWithAlwaysSuccessCallback;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public dontAskBeforeDelete: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public noOwnDeleteOperation: boolean = false;\r\n\r\n private _fileType: FileType;\r\n\r\n @Input()\r\n public set maxUploadSizeParam(value: InternalParam) {\r\n if (value) {\r\n this._setInternalParamObj(value);\r\n }\r\n }\r\n\r\n @Input()\r\n @InputBoolean()\r\n public useWithoutSettingProps: boolean = false;\r\n\r\n @Input()\r\n public filesUploadConfigObjects: FilesUploadConfigObjects;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public medicalUserGroups: boolean = false;\r\n\r\n @Input()\r\n public tagCategory: TagCategory;\r\n\r\n @Input()\r\n public tagReferenceTable: TableName;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public displayReadWriteAccess: boolean;\r\n\r\n // Use with customFileDropEvent\r\n @Input() @InputBoolean()\r\n public useCustomFileDropEvent: boolean = false;\r\n\r\n // Use in conjunction with useCustomFileDropEvent\r\n @Output()\r\n public customFileDropEvent: EventEmitter<FileList> = new EventEmitter<FileList>();\r\n\r\n // Emits if user wants to add multiple documents at once\r\n @Output()\r\n public readonly documentsAdded: EventEmitter<CoDocument[]> = new EventEmitter<CoDocument[]>();\r\n\r\n @Output()\r\n public readonly documentDeleted: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\r\n\r\n // Emits every time the order of documents was changed\r\n @Output()\r\n public readonly sortableListChanged: EventEmitter<CoDocument[]> = new EventEmitter<CoDocument[]>();\r\n\r\n @Output()\r\n public documentChangeEvent: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\r\n\r\n // Use this if consumer requires to perform extra actions, like locking a parent businessObject if it contains the collection of documents. Emit with true when popup opened, false for close\r\n @Output()\r\n public popupOpenedStateChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n @HostBinding(\"class.hidden\")\r\n public hidden: boolean;\r\n\r\n @HostListener(\"drop\", [\"$event\"])\r\n public onDrop(event: DragEvent): void {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n\r\n if (!this.useCustomFileDropEvent) {\r\n this.filesPicked(event.dataTransfer.files);\r\n } else {\r\n this.customFileDropEvent.emit(event.dataTransfer.files);\r\n }\r\n\r\n this._clearDropzone();\r\n }\r\n\r\n @HostListener(\"dragend\", [\"$event\"])\r\n public onDragEnd(event: DragEvent): void {\r\n event.dataTransfer.clearData();\r\n this._clearDropzone();\r\n }\r\n\r\n @HostListener(\"dragover\", [\"$event\"])\r\n public onDragOver(event: DragEvent): void {\r\n event.preventDefault();\r\n }\r\n\r\n @HostListener(\"dragenter\", [\"$event\"])\r\n public onDragEnter(event: DragEvent): void {\r\n this._dragEnterTarget = event.target;\r\n this._showDropzone();\r\n }\r\n\r\n @HostListener(\"dragleave\", [\"$event\"])\r\n public onDragLeave(event: DragEvent): void {\r\n if (event.target === this._dragEnterTarget) {\r\n this._clearDropzone();\r\n }\r\n }\r\n\r\n public documentUnderEdit: CoDocument;\r\n public acceptedUploadFormats: string;\r\n\r\n protected _maxUploadFileSize: number;\r\n\r\n private _dragEnterTarget: EventTarget;\r\n private _documentKey: string = \"\";\r\n private _dropZone: ComponentRef<AppFileDropzoneComponent>;\r\n private _popup: ComponentRef<FileUploadPopupComponent>;\r\n private _docChangeSub: Subscription;\r\n private _popupCloseSub: Subscription;\r\n private _readonly: boolean = false;\r\n\r\n // private static readonly _dummyTrueFunction: OperationCallbackSimpleFunction = (object: any) => Promise.resolve(true);\r\n\r\n constructor(\r\n\r\n //protected _promptService: PromptService,\r\n protected _dictionaryService: DictionaryService,\r\n //protected _userService: UserService,\r\n protected _container: ViewContainerRef,\r\n protected _factory: ComponentFactoryResolver,\r\n //protected _generalDalRepository: GeneralDalRepository,\r\n //protected _dataService: DataService,\r\n //protected _baseDataDalRepository: BaseDataDalRepository,\r\n //protected _coDocumentDataLoader: CoDocumentDataLoaderService\r\n ) {\r\n\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._clearDropzone();\r\n }\r\n\r\n private _showDropzone(): void {\r\n if (!this._dropZone) {\r\n const fact: ComponentFactory<AppFileDropzoneComponent> = this._factory.resolveComponentFactory(AppFileDropzoneComponent);\r\n this._dropZone = this._container.createComponent(fact);\r\n this._dropZone.instance.customDropActionMessage = this.dropMessage;\r\n }\r\n }\r\n\r\n private _clearDropzone(): void {\r\n this._container.clear();\r\n if (this._dropZone) {\r\n this._dropZone.destroy();\r\n this._dropZone = undefined;\r\n }\r\n }\r\n\r\n // Remove file from upload array.\r\n public async handleDelete(file: CoDocument): Promise<boolean> {\r\n let success: boolean = await this.beforeDeleteOperation(file);\r\n try {\r\n if (success) {\r\n await this._delete(file);\r\n success = true;\r\n }\r\n } finally {\r\n await this.afterDeleteOperation(file);\r\n }\r\n return Promise.resolve(success);\r\n }\r\n\r\n private async _delete(file: CoDocument): Promise<void> {\r\n let doDelete: boolean = true;\r\n if (!this.dontAskBeforeDelete) {\r\n //TODO make dialogService\r\n //doDelete = await this._promptService.showYesNo(\"MESSAGE_DELETE_RECORD_QUESTION\");\r\n }\r\n if (doDelete) {\r\n if (!this.noOwnDeleteOperation) {\r\n ArrayUtils.RemoveElement(file, this.documents);\r\n }\r\n this.documentDeleted.emit(file);\r\n }\r\n }\r\n\r\n public handleSortingChange(docs: CoDocument[]): void {\r\n this.sortableListChanged.emit(docs);\r\n }\r\n\r\n public async handleFileChange(event: any): Promise<void> {\r\n if (event && event.target && event.target.files && event.target.files.length > 0) {\r\n // check file sizes and extension\r\n //Todo: fix this\r\n //const allowedExtensions = await this._baseDataDalRepository.getAllowedExtensions();\r\n let allFilesAreSmallEnough: boolean = true;\r\n let allFilesHaveAllowedExtensions: boolean = true;\r\n const sizeToCompare: number = this._maxUploadFileSize ? this._maxUploadFileSize : undefined;\r\n const len: number = event.target.files.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const uploadSizeAllowed = FileUtils.CheckMaxUploadSize(event.target.files[i], sizeToCompare);\r\n if (!uploadSizeAllowed) {\r\n allFilesAreSmallEnough = false;\r\n break;\r\n }\r\n const extensionAllowed = true//FileUtils.CheckExtension(event.target.files[i], allowedExtensions);\r\n if (!extensionAllowed) {\r\n allFilesHaveAllowedExtensions = false;\r\n break;\r\n }\r\n }\r\n\r\n if (!allFilesAreSmallEnough) {\r\n //TODO make dialogService\r\n //this._promptService.showWarning(this._dictionaryService.get(\"FILE_TOO_LARGE_TO_UPLOAD\", true, \"\" + [FileUtils.getMaxUploadSizeInMb(sizeToCompare)]));\r\n } else if (!allFilesHaveAllowedExtensions) {\r\n //const extensionsList = allowedExtensions.map(allowedExtension => allowedExtension.extension).sort().join(\", \");\r\n //this._promptService.showWarning(this._dictionaryService.get(\"FILE_HAS_DISALLOWED_EXTENSION\", false, extensionsList));\r\n } else {\r\n const filesToAdd: CoDocument[] = await this.convertFilesIntoCoDocuments(event.target.files);\r\n\r\n if (filesToAdd.length > 1) {\r\n this.documentsAdded.emit(filesToAdd);\r\n } else {\r\n if (this.useWithoutSettingProps) {\r\n this.documentsAdded.next(filesToAdd);\r\n } else {\r\n this.documentUnderEdit = filesToAdd[0];\r\n this.openPopup();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async handleEditDocumentClick(docToEdit: CoDocument): Promise<void> {\r\n this.documentUnderEdit = docToEdit;\r\n const showPopup: boolean = await this.beforeEditOperation(docToEdit);\r\n if (showPopup) {\r\n this.openPopup();\r\n }\r\n }\r\n\r\n public async openPopup(): Promise<void> {\r\n this._createAndFillPopupInstance();\r\n\r\n this._docChangeSub = this._popup.instance.documentChangeEvent.subscribe((doc: CoDocument) => {\r\n this.documentChangeEvent.emit(doc);\r\n });\r\n }\r\n\r\n public openPopupToAddDocumentByUrl(): void {\r\n this._createDocumentToAddByUrl();\r\n this._createAndFillPopupInstance(true);\r\n\r\n this._docChangeSub = this._popup.instance.documentChangeEvent.subscribe((doc: CoDocument) => {\r\n doc.fileName = doc.filePath;\r\n this.documentChangeEvent.emit(doc);\r\n });\r\n }\r\n\r\n private _createDocumentToAddByUrl(): void {\r\n this.documentUnderEdit = new CoDocument();\r\n this.documentUnderEdit.table = this.documentTable;\r\n this.documentUnderEdit.key = this.documentKey;\r\n this.documentUnderEdit.fileType = this.fileType;\r\n this.documentUnderEdit.documentType = CoDocumentType.SaveAsLinkOnRandomLocation;\r\n this.documentUnderEdit.pathIsUrl = true;\r\n //TODO Fix user Input\r\n //this.documentUnderEdit.creationUser = this._userService.userName.toUpperCase();\r\n //this.documentUnderEdit.modifiedUser = this._userService.userName.toUpperCase();\r\n this.documentUnderEdit.creationDate = new Date();\r\n this.documentUnderEdit.modifiedDate = new Date();\r\n }\r\n\r\n private _createAndFillPopupInstance(addDocumentByUrl: boolean = false): void {\r\n this.popupOpenedStateChange.emit(true);\r\n\r\n const factory: ComponentFactory<FileUploadPopupComponent> = this._factory.resolveComponentFactory(FileUploadPopupComponent);\r\n\r\n this._popup = this._container.createComponent(factory);\r\n\r\n this._popup.instance.readonly = this._readonly;\r\n this._popup.instance.addDocumentByUrl = addDocumentByUrl;\r\n this._popup.instance.hasPublicAccessVisible = this.documentTable === TableName.Goods;\r\n this._popup.instance.showDocumentReportPicker = (this.documentTable === TableName.Transactions || this.documentTable === TableName.TransactionLines);\r\n this._popup.instance.documentUnderEdit = this.documentUnderEdit;\r\n this._popup.instance.filesUploadConfigObjects = this.filesUploadConfigObjects;\r\n this._popup.instance.medicalUserGroups = this.medicalUserGroups;\r\n this._popup.instance.tagCategory = this.tagCategory;\r\n this._popup.instance.displayReadWriteAccess = this.displayReadWriteAccess;\r\n this._popup.instance.tagReferenceTable = this.tagReferenceTable;\r\n this._popup.instance.publicationIds = RefCodeUtils.GetMultiRefCodeChoices(this.documentUnderEdit.publication);\r\n this._popup.instance.storeGroupIds = this.documentUnderEdit.retailFormulas;\r\n this._popup.instance.fileType = this.fileType;\r\n\r\n this._prepareFileRights();\r\n\r\n this._popupCloseSub = this._popup.instance.popupCloseEvent.subscribe(() => {\r\n this._unlockDocument();\r\n this.popupOpenedStateChange.emit(false);\r\n this._popupCloseSub.unsubscribe();\r\n this._docChangeSub.unsubscribe();\r\n this._popup.destroy();\r\n this._popup = undefined;\r\n });\r\n }\r\n\r\n protected async convertFilesIntoCoDocuments(files: FileList): Promise<CoDocument[]> {\r\n const amountOfFiles: number = files.length;\r\n const filesToAdd: CoDocument[] = [];\r\n\r\n for (let i: number = 0; i < amountOfFiles; i++) {\r\n const fileAsDocument: CoDocument = await this._getFileAsDocument(files[i]);\r\n fileAsDocument.index = CoDocumentSharedFieldLogic.GenerateAvailableIndexNr(this.documents || []) + i;\r\n filesToAdd.push(fileAsDocument);\r\n }\r\n return filesToAdd;\r\n }\r\n\r\n public async filesPicked(files: FileList): Promise<void> {\r\n if (files && files.length) {\r\n let allFilesAreValid: boolean = true;\r\n const amountOfFiles: number = files.length;\r\n for (let i: number = 0; i < amountOfFiles; i++) {\r\n if (!FileUtils.CheckMaxUploadSize(files[i], this._maxUploadFileSize)) {\r\n allFilesAreValid = false;\r\n break;\r\n }\r\n }\r\n\r\n if (!allFilesAreValid) {\r\n //TODO make dialogService\r\n //this._promptService.showWarning(this._dictionaryService.get(\"FILE_TOO_LARGE_TO_UPLOAD\", true, \"\" + FileUtils.getMaxUploadSizeInMb(this._maxUploadFileSize).toString()));\r\n } else {\r\n const filesToAdd: CoDocument[] = await this.convertFilesIntoCoDocuments(files);\r\n\r\n if (filesToAdd.length > 1 || this.useWithoutSettingProps) {\r\n this.documentsAdded.emit(filesToAdd);\r\n } else {\r\n this.documentUnderEdit = filesToAdd[0]; // Setting docUnderEdit opens the popup window\r\n this.openPopup();\r\n }\r\n }\r\n }\r\n }\r\n\r\n public handleAcceptedFileTypesLoaded(value: FileType): void {\r\n //TODO fix loading\r\n //this.acceptedUploadFormats = this._coDocumentDataLoader.getAllowedExtensionsForType(value);\r\n }\r\n\r\n private async _getFileAsDocument(file: File): Promise<CoDocument> {\r\n const fileAsCoDocument: CoDocument = await FileUtils.ReadFileAsNewCoDocument(file, this.resizeImages);\r\n // set some extra known fields for the codocument:\r\n fileAsCoDocument.table = this.documentTable;\r\n fileAsCoDocument.key = this.documentKey;\r\n //TODO fix add users\r\n //fileAsCoDocument.creationUser = this._userService.userName.toUpperCase();\r\n //fileAsCoDocument.modifiedUser = this._userService.userName.toUpperCase();\r\n fileAsCoDocument.creationDate = new Date();\r\n fileAsCoDocument.modifiedDate = new Date();\r\n fileAsCoDocument.fileType = this.fileType ? this.fileType : FileUtils.IsImageFile(file) ? FileType.Image : FileType.Document;\r\n\r\n if (fileAsCoDocument) {\r\n return fileAsCoDocument;\r\n }\r\n }\r\n\r\n private async _setInternalParamObj(value: InternalParam): Promise<void> {\r\n //TODO fix params\r\n //const param: InternalParameterObject = await this._generalDalRepository.getInternalParamObject(value);\r\n //this._maxUploadFileSize = isNaN(parseInt(param.value, 0)) ? undefined : parseInt(param.value, 0);\r\n }\r\n\r\n private async _lockDocument(): Promise<boolean> {\r\n if (!this.documentUnderEdit.documentId) {\r\n return true; // New document does not have an ID and therefore does not have to be locked\r\n }\r\n\r\n const lockOk: boolean = await this.lockOperation(CoDocument);\r\n return lockOk;\r\n }\r\n\r\n private async _unlockDocument(): Promise<boolean> {\r\n if (!this.documentUnderEdit.documentId) {\r\n return true; // New document does not have an ID and therefore does not have to be locked\r\n }\r\n\r\n const unlockOk: boolean = await this.unlockOperation(CoDocument);\r\n return unlockOk;\r\n }\r\n\r\n private _prepareFileRights(): void {\r\n const len: number = this.documentUnderEdit.rights.length;\r\n for (let i: number = 0; i < len; i++) {\r\n const right: CoDocumentRight = this.documentUnderEdit.rights[i];\r\n if (right.rightLevel === ObjectRightType.ReadWrite) {\r\n this._popup.instance.userGroupsForWrite.push(right.userGroupId);\r\n }\r\n if (right.rightLevel === ObjectRightType.ReadOnly) {\r\n this._popup.instance.userGroupsForRead.push(right.userGroupId);\r\n }\r\n }\r\n }\r\n}\r\n","import {\r\n Component,\r\n ComponentFactoryResolver,\r\n ContentChild,\r\n ElementRef,\r\n EventEmitter, forwardRef,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n TemplateRef,\r\n ViewChild,\r\n ViewContainerRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {BaseFileUploadComponent} from \"./components/base-file-upload.component\";\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME} from \"@colijnit/corecomponents_v12\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\r\nimport {TagTreeItem} from \"@colijnit/mainapi/build/model/tag-tree-item.bo\";\r\nimport {InputBoolean} from \"../../decorator/input-boolean.decorator\";\r\n\r\n@Component({\r\n selector: \"co-files-upload\",\r\n template: `\r\n <div class=\"files-upload-wrapper\">\r\n <drag-drop-container\r\n [sortableList]=\"documents\"\r\n (sortingChange)=\"handleSortingChange($event)\"\r\n [handleSort]=\"true\"\r\n dragHandle=\"tile\"\r\n [enabled]=\"!noDragDropOrdering\">\r\n <co-file-upload *ngIf=\"canAdd && addWithButton\" class=\"add-file\"\r\n isAddingTile\r\n icon=\"plus_round_open\"\r\n [link]=\"true\"\r\n [label]=\"label | localize\"\r\n (mouseover)=\"mouseOverAdd = true\"\r\n (mouseout)=\"mouseOverAdd = false\"\r\n (click)=\"handleAddClick()\"></co-file-upload> <!-- (click)=\"handleAddClick()\" -->\r\n <co-file-upload *ngFor=\"let file of documents\" class=\"tile\"\r\n [readonly]=\"file.readonly || readonly\"\r\n [class.hidden]=\"hideAvatars ? file.isAvatar : false\"\r\n [file]=\"file\"\r\n [label]=\"file.fileName\"\r\n [showTrashCan]=\"canDelete\"\r\n [fileSavesOnPopupOkClick]=\"fileSavesOnPopupOkClick\"\r\n [isEditable]=\"isEditable\"\r\n [customImageClick]=\"customImageClick\"\r\n (imageClick)=\"imageClick.emit($event)\"\r\n (deleteClick)=\"handleDelete(file)\"\r\n (editClick)=\"handleEditDocumentClick($event)\"></co-file-upload>\r\n </drag-drop-container>\r\n <span class=\"maxuploadsize\" textContent=\"getMaxFileSizeNotition()\" [class.show]=\"mouseOverAdd\"></span>\r\n <input #inputFile [accept]=\"acceptedUploadFormats\" (change)=\"handleFileChange($event)\" type=\"file\" hidden multiple/>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n providers: [\r\n {\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => FilesUploadComponent)\r\n }\r\n ]\r\n})\r\n// A component that lets the user make a list of files from its device. Doesn't actually upload, but outputs chosen files as filesChanged.\r\nexport class FilesUploadComponent extends BaseFileUploadComponent implements OnDestroy {\r\n\r\n @Input()\r\n public set dropzone(value: boolean) {\r\n this.isDropzone = value;\r\n }\r\n\r\n //todo see if this is used anywhere if not, remove\r\n @ContentChild(\"slideoutTemplate\", {static: true})\r\n public slideoutTemplate: TemplateRef<any>;\r\n\r\n // (Hidden) input for file upload facilities\r\n @ViewChild(\"inputFile\", {static: true})\r\n public input: ElementRef;\r\n\r\n // Input button label\r\n @Input()\r\n public label: string = \"UPLOAD_FILE\";\r\n\r\n @Input()\r\n public cfgNames: any;\r\n\r\n @Input()\r\n public customImageClick: boolean = false;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public isEditable: boolean = false;\r\n\r\n @Input() @InputBoolean()\r\n public hideAvatars: boolean = false;\r\n\r\n @Input()\r\n public fileSavesOnPopupOkClick: string;\r\n\r\n @Input()\r\n public selected: string;\r\n\r\n @Output()\r\n public readonly editSlideoutSubmit: EventEmitter<void> = new EventEmitter<void>();\r\n\r\n @Output()\r\n public tagsChangeEvent: EventEmitter<TagTreeItem[]> = new EventEmitter<TagTreeItem[]>();\r\n\r\n @Output()\r\n public imageClick: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\r\n\r\n\r\n @HostBinding('class.co-files-upload')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n @HostBinding(\"class.editable\")\r\n public get editable(): boolean {\r\n return this.canAdd;\r\n }\r\n\r\n @HostBinding(\"class.empty\")\r\n public get empty(): boolean {\r\n return !this.documents || this.documents.length === 0;\r\n }\r\n\r\n public mouseOverAdd: boolean;\r\n public slideoutShown: boolean = false;\r\n @HostBinding('class.dropzone')\r\n public isDropzone: boolean = false;\r\n\r\n constructor(\r\n //promptService: PromptService,\r\n dictionaryService: DictionaryService,\r\n //userService: UserService,\r\n protected _container: ViewContainerRef,\r\n protected _factory: ComponentFactoryResolver,\r\n //protected _dataService: DataService,\r\n //protected _baseDataDalRepository: BaseDataDalRepository,\r\n // protected _generalDalRepository: GeneralDalRepository,\r\n //protected _coDocumentDataLoader: CoDocumentDataLoaderService,\r\n //private _workability: AppWorkabilityService,\r\n //private _fileTypeImgPipe: FileTypeImagePipe\r\n ) {\r\n super(dictionaryService, _container, _factory);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.slideoutTemplate = undefined;\r\n this.input = undefined;\r\n super.ngOnDestroy();\r\n }\r\n\r\n public async openFileBrowser(): Promise<void> {\r\n if (this.input && this.input.nativeElement) {\r\n this.input.nativeElement.click();\r\n }\r\n }\r\n\r\n public handleAddClick(): void {\r\n this.openFileBrowser();\r\n }\r\n\r\n //todo check if this can be removed at the end of the run\r\n /*public onCustomClose(): void {\r\n this.documentUnderEdit = undefined;\r\n }*/\r\n}\r\n","// For dragdropservice\r\nimport {CoOrientation} from \"@colijnit/corecomponents_v12\";\r\n\r\nexport class DragDropContainer {\r\n constructor(\r\n public element: HTMLElement,\r\n public direction: CoOrientation) {\r\n }\r\n}\r\n","import {Directive, Injectable, OnDestroy, Renderer2} from \"@angular/core\";\r\nimport {Subject} from \"rxjs\";\r\nimport {CoDropEvent} from \"../event/co-drop-event\";\r\nimport {CoDragEvent} from \"../event/co-drag-event\";\r\nimport {DragDropContainer} from \"../businessobject/drag-drop-container\";\r\nimport {ArrayUtils} from \"../utils/array-utils\";\r\nimport {CoOrientation} from \"@colijnit/corecomponents_v12\";\r\nimport {DragDropContainerElement} from \"../businessobject/drag-drop-container-element\";\r\n\r\n/**\r\n * Handles drag and drop elements\r\n */\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class DragDropService implements OnDestroy {\r\n public set renderer(value: Renderer2) {\r\n this._renderer = value;\r\n this._setEvents();\r\n }\r\n\r\n // ToDo: use drag and drop Subjects instead and track origin and target components\r\n public dragData: any;\r\n\r\n public drag: Subject<CoDragEvent> = new Subject<CoDragEvent>();\r\n public drop: Subject<CoDropEvent> = new Subject<CoDropEvent>();\r\n\r\n private _renderer: Renderer2;\r\n // Container(s) holding the elements to be dragged.\r\n private _containers: DragDropContainer[] = [];\r\n\r\n private _disabledContainers: DragDropContainer[] = [];\r\n\r\n private _dropTargetElement: DragDropContainerElement;\r\n\r\n // Drag handle(s) that contains the classes of the handles.\r\n private _dragHandles: any[] = [];\r\n private _isdragging: boolean = false;\r\n private _dragElement: DragDropContainerElement;\r\n private _dragInContainer: any;\r\n private _lastDropTarget: DragDropContainerElement;\r\n /**\r\n * Ghost image of the element being dragged\r\n */\r\n private _ghostDragImage: any;\r\n\r\n private _clickCounter: number = 0;\r\n\r\n private set ghostLeft(value: number) {\r\n this._ghostLeft = value;\r\n this._positionGhostImage();\r\n }\r\n\r\n private set ghostTop(value: number) {\r\n this._ghostTop = value;\r\n this._positionGhostImage();\r\n }\r\n\r\n private _ghostLeft: number = 0;\r\n private _ghostTop: number = 0;\r\n\r\n private _mouseDown: boolean = false;\r\n\r\n private _currentMousePosition: any = {x: 0, y: 0};\r\n private _currentMouseOffset: any = {x: 0, y: 0};\r\n\r\n constructor() {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this._removeListeners();\r\n }\r\n\r\n public addContainer(container: DragDropContainer): void {\r\n const direction: CoOrientation =\r\n (getComputedStyle(container.element).flexDirection === \"row\" && getComputedStyle(container.element).display === \"flex\")\r\n ? CoOrientation.Horizontal\r\n : CoOrientation.Vertical;\r\n container.direction = direction;\r\n this._containers.push(container);\r\n }\r\n\r\n public addDragHandle(handle: any): void {\r\n this._dragHandles.push(handle);\r\n }\r\n\r\n public removeContainer(container: DragDropContainer): void {\r\n ArrayUtils.RemoveElement(container, this._containers);\r\n ArrayUtils.RemoveElement(container, this._disabledContainers);\r\n if (!this._containers || this._containers.length === 0) {\r\n this._removeListeners();\r\n }\r\n }\r\n\r\n public removeDragHandle(handle: any): void {\r\n ArrayUtils.RemoveElement(handle, this._dragHandles);\r\n }\r\n\r\n public enableContainer(container: DragDropContainer): void {\r\n ArrayUtils.RemoveElement(container, this._disabledContainers);\r\n }\r\n\r\n public disableContainer(container: DragDropContainer): void {\r\n this._disabledContainers.push(container);\r\n }\r\n\r\n private _removeListeners(): void {\r\n this._handleEventListener(document, \"mouseup\", this._handleMouseUp, false);\r\n this._handleEventListener(document, \"mousemove\", this._handleMouseMove, false);\r\n }\r\n\r\n private _setEvents(): void {\r\n this._handleEventListener(document, \"mousedown\", this._handleMouseDown); //TODO: mousedown only within given containers\r\n this._handleEventListener(document, \"mouseup\", this._handleMouseUp);\r\n }\r\n\r\n private _setElementClass(element: any, elementClass: string): void {\r\n if (!this._renderer) {\r\n return;\r\n }\r\n this._renderer.addClass(element, elementClass);\r\n }\r\n\r\n private _handleEventListener(element: any, event: string, handler: any, add: boolean = true): void {\r\n if (add) {\r\n element.removeEventListener(event, handler);\r\n element.addEventListener(event, handler);\r\n } else {\r\n element.removeEventListener(event, handler);\r\n }\r\n }\r\n\r\n // Returns the container that holds given element.\r\n private _getContainerOfElement(element: HTMLElement): DragDropContainer {\r\n for (let i: number = 0, len1: number = this._containers.length; i < len1; i++) {\r\n const container: DragDropContainer = this._containers[i];\r\n for (let ii: number = 0, len2: number = container.element.children.length; ii < len2; ii++) {\r\n if (container.element.children[ii] === element) {\r\n return container;\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Checks if given element is a child of container(s)\r\n * @param element\r\n * @returns {number} index of element\r\n */\r\n private _getElementOfContainer(element: any): DragDropContainerElement {\r\n for (let i: number = 0, len1: number = this._containers.length; i < len1; i++) {\r\n const container: DragDropContainer = this._containers[i];\r\n for (let ii: number = 0, len2: number = container.element.children.length; ii < len2; ii++) {\r\n if (container.element.children[ii] === element) {\r\n return {container: container, element: element, elementIdx: ii};\r\n }\r\n }\r\n }\r\n return {container: undefined, element: undefined, elementIdx: -1};\r\n }\r\n\r\n /**\r\n * Returns next sibling of container that contains given element.\r\n * @param element\r\n * @returns {any} null if there are no siblings left\r\n */\r\n private _getNextElementInContainer(element: HTMLElement): DragDropContainerElement {\r\n const container: DragDropContainer = this._getContainerOfElement(element);\r\n for (let i: number = 0, len: number = container.element.children.length; i < len; i++) {\r\n if (container.element.children[i] === element) {\r\n return i < (len - 1) ? {container: container, element: <HTMLElement>container.element.children[i + 1], elementIdx: i} : null;\r\n }\r\n }\r\n }\r\n\r\n private _getDragHandleClicked(element: any): boolean {\r\n if (this._dragHandles && this._dragHandles.length > 0) { // check if handle clicked\r\n while (element) {\r\n for (let i: number = 0, len: number = this._dragHandles.length; i < len; i++) {\r\n if (element.classList && element.classList.length > 0 && !!this._dragHandles[i]) {\r\n if (element.classList.contains(this._dragHandles[i])) {\r\n return true;\r\n }\r\n }\r\n }\r\n element = element.parentNode === document ? null : element.parentNode;\r\n }\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n // Returns element when it's a valid drop target, false otherwise.\r\n private _getValidDragDropElement(element: any, checkHandle: boolean = false): DragDropContainerElement {\r\n if (checkHandle) {\r\n const validHandleClicked: boolean = this._getDragHandleClicked(element);\r\n if (!validHandleClicked) {\r\n return undefined;\r\n }\r\n }\r\n while (element) {\r\n const elementOfContainer: DragDropContainerElement = this._getElementOfContainer(element);\r\n if (elementOfContainer.elementIdx > -1) {\r\n return elementOfContainer;\r\n }\r\n element = element.parentNode === document ? null : element.parentNode;\r\n }\r\n return undefined;\r\n }\r\n\r\n private _getNextSibling(element: HTMLElement): DragDropContainerElement {\r\n return this._getNextElementInContainer(element);\r\n }\r\n\r\n // Returns the current index of element within its container.\r\n private _indexOf(element: any): number {\r\n const elementOfContainer: DragDropContainerElement = this._getElementOfContainer(element.hasOwnProperty(\"element\") ? element.element : element);\r\n return elementOfContainer ? elementOfContainer.elementIdx : -1;\r\n }\r\n\r\n // Creates a ghost image/element of the element being dragged.\r\n private _createGhostImage(): void {\r\n if (this._ghostDragImage) {\r\n return;\r\n }\r\n // create ghost drag image\r\n const offsetRect: any = this._getOffset();\r\n this._ghostDragImage = this._dragElement.element.cloneNode(true);\r\n this._ghostDragImage.style.width = offsetRect.width + \"px\";\r\n this._ghostDragImage.style.height = offsetRect.height + \"px\";\r\n this.ghostLeft = offsetRect.left;\r\n this.ghostTop = offsetRect.top;\r\n this._setElementClass(this._ghostDragImage, \"ghost-image\");\r\n this._setElementClass(document.activeElement, \"no-select\");\r\n document.body.appendChild(this._ghostDragImage);\r\n }\r\n\r\n private _destroyGhostImage(): void {\r\n if (this._ghostDragImage) {\r\n this._renderer.removeClass(document.activeElement, \"no-select\");\r\n document.body.removeChild(this._ghostDragImage);\r\n this._ghostDragImage = undefined;\r\n }\r\n }\r\n\r\n // Positions the ghost image at the given coordinates.\r\n private _positionGhostImage(): void {\r\n if (!this._ghostDragImage) {\r\n return;\r\n }\r\n this._ghostDragImage.style.left = this._ghostLeft + \"px\";\r\n this._ghostDragImage.style.top = this._ghostTop + \"px\";\r\n }\r\n\r\n private _getScroll(scrollProp: string, offsetProp: string): any {\r\n if (document.activeElement.clientHeight) {\r\n return document.activeElement[scrollProp];\r\n }\r\n return document.body[scrollProp];\r\n }\r\n\r\n private _getOffset(): ClientRect {\r\n const rect: ClientRect = this._dragElement.element.getBoundingClientRect();\r\n const scrollLeft: number = 0;\r\n const scrollTop: number = 0;\r\n return {\r\n bottom: rect.bottom,\r\n height: rect.height,\r\n left: rect.left + scrollLeft,\r\n right: rect.right,\r\n top: rect.top + scrollTop,\r\n width: rect.width\r\n };\r\n }\r\n\r\n private _determineDroptarget(element: any, x: number, y: number): void {\r\n const dropElement: DragDropContainerElement = this._getValidDragDropElement(element);\r\n if (dropElement) {\r\n if (dropElement.element !== this._dragElement.element) {\r\n this._dropTargetElement = dropElement;\r\n return;\r\n }\r\n }\r\n this._dropTargetElement = null;\r\n }\r\n\r\n /**\r\n * Briefly hides the ghost image to be able to determine which element is under mouse.\r\n * @param x\r\n * @param y\r\n * @returns {Element} Top level element\r\n */\r\n private _getHoveredElement(x: number, y: number): any {\r\n this._setElementClass(this._ghostDragImage, \"ghost-image-hide\");\r\n const elm: any = document.elementFromPoint(x, y);\r\n this._renderer.removeClass(this._ghostDragImage, \"ghost-image-hide\");\r\n return elm;\r\n }\r\n\r\n private _animateVisibility(element: any, transitionTime: number = 0.2, start: string = \"0\", end: string = \"1\"): Promise<void> {\r\n if (!element) {\r\n return;\r\n }\r\n const transitionStyle: string = \"opacity \" + transitionTime + \"s ease-in-out\";\r\n const transition: string = element.style.transition;\r\n element.style.transition = transition + (transition ? \",\" : \"\") + transitionStyle;\r\n element.style.opacity = start;\r\n element.style.opacity = end;\r\n return new Promise<void>((resolve: Function) => {\r\n setTimeout(() => {\r\n resolve();\r\n }, transitionTime * 1000);\r\n });\r\n }\r\n\r\n private _animateMove(parent: HTMLElement, dragElement: DragDropContainerElement, dropTargetElement: DragDropContainerElement, down: boolean): void {\r\n if (down) { // insert element before\r\n parent.insertBefore(dragElement.element, dropTargetElement.element);\r\n } else { // insert after\r\n parent.insertBefore(dragElement.element, dropTargetElement.element.nextSibling);\r\n }\r\n }\r\n\r\n // Handles the mouse down event. Saves the current mouse position.\r\n private _handleMouseDown: Function = (event: MouseEvent): void => {\r\n this._currentMousePosition.x = event.screenX;\r\n this._currentMousePosition.y = event.screenY;\r\n if (event.buttons !== 1 || event.metaKey || event.ctrlKey) {\r\n return;\r\n }\r\n const element: any = event.target ? event.target : event.srcElement;\r\n const dragElement: DragDropContainerElement = this._getValidDragDropElement(element, true);\r\n if (!dragElement) {\r\n return;\r\n }\r\n if (this._disabledContainers.indexOf(dragElement.container) !== -1) {\r\n return;\r\n }\r\n this._dragElement = dragElement;\r\n this._dragInContainer = dragElement.container.element;\r\n const offset: any = this._getOffset();\r\n this._currentMouseOffset.x = event.clientX - offset.left;\r\n this._currentMouseOffset.y = event.clientY - offset.top;\r\n this._mouseDown = true;\r\n this._handleEventListener(document, \"mousemove\", this._handleMouseMove);\r\n this._clickCounter++;\r\n }\r\n\r\n private _handleMouseUp: Function = (event: MouseEvent): void => {\r\n this._mouseDown = false;\r\n this._handleEventListener(document, \"mousemove\", this._handleMouseMove, false);\r\n this._clickCounter--;\r\n\r\n if (this._isdragging) {\r\n this._endDrag();\r\n }\r\n }\r\n\r\n private _handleMouseMove: Function = (event: MouseEvent): void => {\r\n // nothing to drag?\r\n if (!this._dragElement) {\r\n return;\r\n }\r\n // only drag when mouse down and there actually is movement\r\n if (!this._mouseDown || (this._currentMousePosition.x === event.screenX && this._currentMousePosition.y === event.screenY)) {\r\n return;\r\n }\r\n this._isdragging = true;\r\n this._startDrag();\r\n this._drag(event);\r\n this._currentMousePosition.x = event.screenX;\r\n this._currentMousePosition.y = event.screenY;\r\n }\r\n\r\n private _startDrag(): void {\r\n this._createGhostImage();\r\n this._setElementClass(this._dragElement.element, \"is-dragged\");\r\n }\r\n\r\n private _drag(event: MouseEvent): void {\r\n this.ghostLeft = this._ghostLeft + (event.screenX - this._currentMousePosition.x);\r\n this.ghostTop = this._ghostTop + (event.screenY - this._currentMousePosition.y);\r\n\r\n const x: number = event.clientX;\r\n const y: number = event.clientY;\r\n const hoveredElement: any = this._getHoveredElement(x, y);\r\n this._determineDroptarget(hoveredElement, x, y);\r\n if (this._dropTargetElement) {\r\n const down: boolean =\r\n (this._dropTargetElement.container.direction === CoOrientation.Vertical && event.screenY > this._currentMousePosition.y) ||\r\n (this._dropTargetElement.container.direction === CoOrientation.Horizontal && event.screenX > this._currentMousePosition.x);\r\n this._animateMove(this._dropTargetElement.container.element, this._dragElement, this._dropTargetElement, down);\r\n this.drag.next({\r\n element: this._dragElement,\r\n elementIndex: this._dragElement.elementIdx,\r\n source: this._dropTargetElement.container.element\r\n });\r\n this._lastDropTarget = this._dropTargetElement;\r\n }\r\n }\r\n\r\n // element is dropped\r\n private _endDrag(): void {\r\n this._renderer.removeClass(this._dragElement.element, \"is-dragged\");\r\n this._destroyGhostImage();\r\n this.drop.next({\r\n element: this._dragElement.element,\r\n elementIndex: this._dragElement.elementIdx,\r\n target: this._lastDropTarget ? this._lastDropTarget.element : null,\r\n targetIndex: this._lastDropTarget ? this._lastDropTarget.elementIdx : -1, // items are already shifted so subtract 1 from target index\r\n container: this._lastDropTarget ? this._lastDropTarget.container : null\r\n });\r\n this._resetDrag();\r\n }\r\n\r\n private _resetDrag(): void {\r\n this._dragElement = null;\r\n this._dragInContainer = null;\r\n this._lastDropTarget = null;\r\n this._isdragging = false;\r\n }\r\n}\r\n","import {\r\n ElementRef,\r\n Input,\r\n Directive,\r\n AfterViewInit,\r\n OnDestroy,\r\n Renderer2,\r\n Output,\r\n EventEmitter,\r\n HostBinding\r\n} from \"@angular/core\";\r\nimport {Subscription} from \"rxjs\";\r\nimport {InputBoolean} from \"../../../decorator/input-boolean.decorator\";\r\nimport {DragDropContainer} from \"../../../businessobject/drag-drop-container\";\r\nimport {CoOrientation} from \"@colijnit/corecomponents_v12\";\r\nimport {ArrayUtils} from \"@colijnit/sharedapi/build/utils/array-utils\";\r\nimport {CoDropEvent} from \"../../../event/co-drop-event\";\r\nimport {DragDropService} from \"../../../service/drag-drop.service\";\r\n\r\n@Directive({\r\n selector: \"drag-drop-container\"\r\n})\r\nexport class DragDropContainerComponent implements AfterViewInit, OnDestroy {\r\n\r\n /**\r\n * Model of list containing draggable items\r\n */\r\n @Input()\r\n public sortableList: any[];\r\n\r\n @Input()\r\n @InputBoolean()\r\n public handleSort: boolean = false;\r\n\r\n @Input()\r\n public set enabled(value: boolean) {\r\n this._enabled = value;\r\n this.handleEnabledChange();\r\n }\r\n\r\n /**\r\n * Class of the handle to drag operations\r\n */\r\n @Input()\r\n public dragHandle: string = \"\";\r\n\r\n // Emits when the order of sortableList items changed after a drag-drop action.\r\n @Output()\r\n public sortingChange: EventEmitter<any[]> = new EventEmitter<any[]>();\r\n\r\n @HostBinding(\"class.co-drag-drop-container\")\r\n public showClass: boolean = true;\r\n\r\n private _container: DragDropContainer;\r\n private _enabled: boolean = true;\r\n private _handleOrderSub: Subscription;\r\n private _initialized: boolean = false;\r\n\r\n constructor(private _elementRef: ElementRef, private _renderer: Renderer2, private _dragDropService: DragDropService) {\r\n this._dragDropService.renderer = this._renderer;\r\n this._container = new DragDropContainer(_elementRef.nativeElement, CoOrientation.Vertical);\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this._initialized = true;\r\n this._createDragDrop();\r\n if (this._initialized) {\r\n this._updateEnableDisableContainer();\r\n }\r\n }\r\n\r\n /**\r\n * Cleanup...\r\n */\r\n ngOnDestroy(): void {\r\n this._removeDragDrop();\r\n this._elementRef = undefined;\r\n }\r\n\r\n public handleEnabledChange(): void {\r\n if (!this._initialized) {\r\n return;\r\n }\r\n if (this._enabled) {\r\n this._dragDropService.enableContainer(this._container);\r\n this._createDragDrop();\r\n } else {\r\n this._dragDropService.disableContainer(this._container);\r\n this._removeDragDrop();\r\n this._initialized = false;\r\n }\r\n }\r\n\r\n private _createDragDrop(): void {\r\n this._dragDropService.addContainer(this._container);\r\n this._dragDropService.addDragHandle(this.dragHandle);\r\n if (this.handleSort) { // subscribe drop event to be able to adapt the order of dropped items\r\n this._handleOrderSub = this._dragDropService.drop.subscribe((event: CoDropEvent) => {\r\n this._handleOrder(event.container, event.elementIndex, event.targetIndex);\r\n });\r\n }\r\n this._initialized = true;\r\n }\r\n\r\n private _removeDragDrop(): void {\r\n this._dragDropService.removeContainer(this._container);\r\n this._dragDropService.removeDragHandle(this.dragHandle);\r\n if (this._handleOrderSub) {\r\n this._handleOrderSub.unsubscribe();\r\n }\r\n }\r\n\r\n private _handleOrder(container: DragDropContainer, oldIndex: number, newIndex: number): void {\r\n if (container !== this._container) {\r\n return;\r\n }\r\n if (newIndex === -1) {\r\n newIndex = this.sortableList.length;\r\n }\r\n ArrayUtils.MoveElement(this.sortableList[oldIndex], newIndex, this.sortableList);\r\n this.sortingChange.emit(this.sortableList);\r\n }\r\n\r\n private _updateEnableDisableContainer(): void {\r\n if (this._enabled) {\r\n this._dragDropService.enableContainer(this._container);\r\n } else {\r\n this._dragDropService.disableContainer(this._container);\r\n }\r\n }\r\n}\r\n","import {Component, forwardRef, HostBinding, Input, ViewEncapsulation} from '@angular/core';\r\nimport {SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, ScreenConfigAdapterComponent} from '@colijnit/corecomponents_v12';\r\n\r\n@Component({\r\n selector: \"co-image-display\",\r\n template: `\r\n <img class=\"image\" *ngIf=\"!!model\" [src]=\"model\">\r\n <div class=\"no-image\" *ngIf=\"!model\">\r\n <div class=\"img\"></div>\r\n <div class=\"no-image-label\" [textContent]=\"label | localize\"></div>\r\n </div>\r\n `,\r\n providers: [{\r\n provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME,\r\n useExisting: forwardRef(() => ImageDisplayComponent)}\r\n ],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ImageDisplayComponent implements ScreenConfigAdapterComponent {\r\n // Image data URI string. Meant for direct use in [src] attribute of an <img> tag.\r\n @Input()\r\n public model: string;\r\n\r\n // The (localized) text to show when there is no image. Defaults to 'NO_IMAGE'.\r\n @Input()\r\n public label: string = \"NO_IMAGE\";\r\n\r\n @HostBinding('class.co-image-display')\r\n public showClass() {\r\n return true;\r\n }\r\n\r\n public objectConfigName: string;\r\n @HostBinding(\"class.co-transaction-hidden\")\r\n public hidden: boolean;\r\n public required: boolean;\r\n public forceReadonly: boolean;\r\n public readonly: boolean;\r\n public maxLength: number;\r\n public decimals: number;\r\n public redErrorBackground: boolean;\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {ImageDisplayComponent} from \"./image-display.component\";\r\nimport {CoreComponentsTranslationModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {LocalizationModule} from \"../../localization/localization.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CoreComponentsTranslationModule,\r\n CommonModule,\r\n LocalizationModule\r\n ],\r\n declarations: [\r\n ImageDisplayComponent\r\n ],\r\n exports: [\r\n ImageDisplayComponent\r\n ]\r\n})\r\nexport class ImageDisplayModule {\r\n\r\n}\r\n","import {\r\n Component,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n ViewChild,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {FormComponent, PromptService} from \"@colijnit/corecomponents_v12\";\r\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {InputBoolean} from \"../../decorator/input-boolean.decorator\";\r\nimport {FileTypeImagePipe} from \"../../pipe/file-type-image.pipe\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {Subscription} from \"rxjs\";\r\n\r\n@Component({\r\n selector: \"co-file-upload\",\r\n template: `\r\n <co-tile-render [hideImageDisplayWhenNoImage]=\"true\" [imageDataUri]=\"previewImage\" [description]=\"label\" (imageClick)=\"onImageClick()\">\r\n <ng-template #infoTemplate>\r\n <co-button *ngIf=\"isEditable && !readonly\" class=\"edit-file\" [iconData]=\"iconService.getIcon(icons.Account)\"\r\n (click)=\"onPencilClick()\"></co-button>\r\n </ng-template>\r\n <co-icon *ngIf=\"showTrashCan && !readonly\" [iconData]=\"iconService.getIcon(icons.Trashbin)\" class=\"trash\" (click)=\"onDeleteClick()\"></co-icon>\r\n <co-icon tile-render-image-content *ngIf=\"icon\" class=\"dark add-button\" [icon]=\"icon\"></co-icon>\r\n </co-tile-render>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n// The GUI part of the files-upload component. Not a standalone component.\r\nexport class FileUploadComponent implements OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ViewChild(FormComponent)\r\n public form: FormComponent;\r\n\r\n // Input file to upload.\r\n @Input()\r\n public set file(document: CoDocument) {\r\n this._file = document;\r\n this._updatePreviewImage();\r\n // we should produce a preview image from given document, but its contents might not yet have been loaded:\r\n this._listenForDocumentBodyChanges();\r\n }\r\n\r\n public get file(): CoDocument {\r\n return this._file;\r\n }\r\n\r\n // Show icon as placeholder\r\n @Input()\r\n public icon: Icon;\r\n\r\n // Element clickable\r\n @Input()\r\n public link: boolean = false;\r\n\r\n @Input()\r\n public readonly: boolean = false;\r\n\r\n // Is tile an 'adding' tile\r\n @Input()\r\n @InputBoolean()\r\n public isAddingTile: boolean = false;\r\n\r\n // Set this parameter to false if clicking ok on the document edit popup does not save the document\r\n // so that refreshing of content on file open works correctly\r\n @Input()\r\n @InputBoolean()\r\n public fileSavesOnPopupOkClick: boolean = true;\r\n\r\n @Input()\r\n @InputBoolean()\r\n public isEditable: boolean = false;\r\n\r\n @Input()\r\n set label(value: string) {\r\n this._label = value;\r\n }\r\n\r\n get label(): string {\r\n if (this._file && this._file.description) {\r\n return this._file.description;\r\n } else {\r\n return this._label;\r\n }\r\n }\r\n\r\n // Show a trashcan icon\r\n @Input()\r\n public showTrashCan: boolean = false;\r\n\r\n // Show an image as placeholder\r\n @Input()\r\n public showImage: boolean = false;\r\n\r\n @Input()\r\n public customImageClick: boolean = false;\r\n\r\n @Output()\r\n public deleteClick: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @Output()\r\n public editClick: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\r\n\r\n @Output()\r\n public imageClick: EventEmitter<CoDocument> = new EventEmitter<CoDocument>();\r\n\r\n @HostBinding('class.co-file-upload')\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @HostBinding(\"class.link\")\r\n public get isLink(): boolean {\r\n return this.link;\r\n }\r\n\r\n public previewImage: string = \"\";\r\n\r\n private _file: CoDocument;\r\n private _docBodyChangeSub: Subscription;\r\n private _label: string = \"\";\r\n\r\n constructor(\r\n private _promptService: PromptService,\r\n private _fileTypeImgPipe: FileTypeImagePipe,\r\n public iconService: IconCacheService,\r\n //private _generalDal: GeneralDalRepository\r\n ) {\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this._docBodyChangeSub) {\r\n this._docBodyChangeSub.unsubscribe();\r\n }\r\n }\r\n\r\n public onDeleteClick(): void {\r\n this.deleteClick.emit();\r\n }\r\n\r\n public async onImageClick(): Promise<void> {\r\n if (this.isAddingTile) {\r\n return;\r\n }\r\n if (this.customImageClick) {\r\n this.imageClick.next(this._file);\r\n return;\r\n }\r\n //todo fix methods\r\n //first download document body if it is stored in a private cdn directory\r\n if (!this._file.documentBody) {\r\n //await this._generalDal.getDocumentContent(this._file).then(documentBody => this._file.documentBody = documentBody);\r\n }\r\n if (this._file.isImageDocument()) { //preview image\r\n this._promptService.showImage(this.file.documentBodyAsDataUri, \"Preview\");\r\n } else { //download document\r\n try {\r\n //FileUtils.DownloadFromDataUri(this._file.bodyAsDataUri, this._file.fileName);\r\n } catch (e) {\r\n\r\n }\r\n }\r\n }\r\n\r\n public async onPencilClick(): Promise<void> {\r\n // refresh file content if files are saved individually\r\n if (this._file.hasId() && this.fileSavesOnPopupOkClick) {\r\n let idForLink: number;\r\n if (this._file.idForLink) {\r\n idForLink = this._file.idForLink;\r\n }\r\n // Get most recent version of this file if it has an id and therefore has been saved in the db\r\n //TODO fix fetch\r\n // this._file = await this._generalDal.getDocumentFromTable(this._file.documentId);\r\n //this._file.idForLink = idForLink; // Restore the idForLink\r\n }\r\n\r\n this.editClick.emit(this._file);\r\n }\r\n\r\n // updates this.previewImage when doc body changes\r\n private _listenForDocumentBodyChanges(): void {\r\n if (this._file) {\r\n if (this._docBodyChangeSub) {\r\n this._docBodyChangeSub.unsubscribe();\r\n }\r\n\r\n // @ts-ignore\r\n this._docBodyChangeSub = this._file.documentBodyChange.subscribe(() => {\r\n this._updatePreviewImage();\r\n });\r\n }\r\n }\r\n\r\n private _updatePreviewImage(): void {\r\n if (this._file) {\r\n if (this._file.isImageDocument()) {\r\n this.previewImage = this._file.documentBodyAsDataUri;\r\n if (this.previewImage === \"\") {\r\n //TODO fix fetch\r\n //this._generalDal.getDocumentContent(this._file).then(documentBody => this._file.documentBody = documentBody);\r\n //this.previewImage = this._file.documentBody;\r\n }\r\n } else {\r\n this.previewImage = this._fileTypeImgPipe.transform(this.file.fileTypeInternal);\r\n }\r\n }\r\n }\r\n\r\n}\r\n","// large or small tiles for the <tile-render> component.\r\nexport enum TileSizeType {\r\n Small,\r\n Large\r\n}\r\n","import {\r\n Component,\r\n ContentChild,\r\n EventEmitter,\r\n HostBinding,\r\n Input,\r\n OnDestroy,\r\n Output,\r\n TemplateRef,\r\n ViewEncapsulation\r\n} from \"@angular/core\";\r\nimport {TileSizeType} from \"../../enum/tile-size-type\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\n\r\n@Component({\r\n selector: \"co-tile-render\",\r\n template: `\r\n <div class=\"image\" (click)=\"imageClick.emit()\">\r\n <label *ngIf=\"inLargeTileMode && tagDescription\" [textContent]=\"tagDescription\"></label>\r\n <co-icon *ngIf=\"selected\" class=\"selected small light circle\" [iconData]=\"iconCacheService.getIcon(iconWhenSelected)\" ></co-icon>\r\n <co-image [source]=\"imageDataUri\" [class.hidden]=\"(inSmallTileMode || hideImageDisplayWhenNoImage) && !imageDataUri\"\r\n ></co-image>\r\n\r\n\r\n\r\n <ng-content select=\"[tile-render-image-content]\"></ng-content>\r\n </div>\r\n <div class=\"info\" (click)=\"infoClick.emit()\">\r\n <ng-container *ngIf=\"infoTemplate\" [templateWrapper]=\"infoTemplate\"></ng-container>\r\n <span *ngIf=\"inLargeTileMode && label\" class=\"label\" [textContent]=\"label\"></span>\r\n <span *ngIf=\"inLargeTileMode && description\" class=\"description\" [textContent]=\"description\"></span>\r\n </div>\r\n <ng-content></ng-content>\r\n `,\r\n encapsulation: ViewEncapsulation.None,\r\n})\r\n/**\r\n * A generic component that shows a collection of simple inputs (description, image, price, etc.) as a tile-shaped graphic with an image\r\n * part (upper) and an info part (lower).\r\n */\r\nexport class TileRenderComponent implements OnDestroy {\r\n public readonly icons: typeof Icon = Icon;\r\n\r\n @ContentChild(\"infoTemplate\", { static: true })\r\n public infoTemplate: TemplateRef<any>;\r\n\r\n // Image data to show in an <image-display> component.\r\n @Input()\r\n public imageDataUri: string;\r\n\r\n // Tag text to show in a <tab-label> component.\r\n @Input()\r\n public tagDescription: string;\r\n\r\n // Label text, not localized.\r\n @Input()\r\n public label: string;\r\n\r\n // Main description text.\r\n @Input()\r\n public description: string;\r\n\r\n // Render a large or small tile.\r\n @Input()\r\n public tileSize: TileSizeType = TileSizeType.Large;\r\n\r\n // The price for display.\r\n @Input()\r\n public price: number;\r\n\r\n // The price can be hidden by setting this to true.\r\n @Input()\r\n public hidePrice: boolean;\r\n\r\n // When this tile is selected, this icon will be shown green in the upper-left corner (defaults to 'check').\r\n @Input()\r\n public iconWhenSelected: string = \"check\";\r\n\r\n /**\r\n * By default, this component shows a special icon and missing-image text for the image when it's empty. Set this to true\r\n * to hide the whole image-display instead, when there was no image given.\r\n */\r\n @Input()\r\n public hideImageDisplayWhenNoImage: boolean;\r\n\r\n // Selected tiles have a green border around them.\r\n @Input()\r\n @HostBinding(\"class.selected\")\r\n public selected: boolean;\r\n\r\n // Emits when the image wrapper was clicked (top half of this component) .\r\n @Output()\r\n public imageClick: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n // Emits when the info wrapper was clicked (bottom half of this component).\r\n @Output()\r\n public infoClick: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @HostBinding(\"class.small-size\")\r\n public get inSmallTileMode(): boolean {\r\n return this.tileSize === TileSizeType.Small;\r\n }\r\n\r\n @HostBinding(\"class.co-tile-render\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public get inLargeTileMode(): boolean {\r\n return this.tileSize === TileSizeType.Large;\r\n }\r\n\r\n constructor(public iconCacheService: IconCacheService) {\r\n }\r\n ngOnDestroy(): void {\r\n this.infoTemplate = undefined;\r\n }\r\n\r\n protected readonly Icon = Icon;\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {TileRenderComponent} from \"./tile-render.component\";\r\nimport {ImageDisplayModule} from \"../image-display/image-display.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {IconModule, ImageModule, TemplateWrapperModule} from \"@colijnit/corecomponents_v12\";\r\n\r\n@NgModule({\r\n imports: [\r\n ImageDisplayModule,\r\n CommonModule,\r\n IconModule,\r\n ImageModule,\r\n TemplateWrapperModule\r\n ],\r\n declarations: [\r\n TileRenderComponent\r\n ],\r\n exports: [\r\n TileRenderComponent\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class TileRenderModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {FileUploadComponent} from \"./file-upload.component\";\r\nimport {ButtonModule, IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {TileRenderModule} from \"../tile-renderer/tile-render.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n IconModule,\r\n TileRenderModule,\r\n CommonModule,\r\n ButtonModule\r\n ],\r\n declarations: [\r\n FileUploadComponent\r\n ],\r\n exports: [\r\n FileUploadComponent\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class FileUploadModule {\r\n\r\n}\r\n","// Static utility function holder related to enums.\r\nimport {KeyValuePair} from \"../interface/key-value-pair\";\r\nimport {CoDomainValue} from \"@colijnit/mainapi/build/model/co-domain-value.bo\";\r\nimport {NumberUtils} from \"./number-utils\";\r\nimport {StringUtils} from \"./string-utils\";\r\nimport {DictionaryService} from \"../service/dictionary.service\";\r\n// @dynamic\r\nexport class EnumUtils {\r\n // Returns a new array with all string values (not keys) of given string enum class.\r\n public static StringEnumToArray(clazz: any): string[] {\r\n const asArray: any[] = [];\r\n\r\n const keys: string[] = Object.keys(clazz);\r\n for (let i: number = 0, len: number = keys.length; i < len; i++) {\r\n asArray.push(clazz[keys[i]]);\r\n }\r\n\r\n return asArray;\r\n }\r\n\r\n /**\r\n * Returns a single string representation of given string enum class\r\n * @param clazz\r\n * @returns {string} eg \"input-lov-slideout, financial-customer-group-select\" for a given clazz of InputLovSlideoutComponentSelectors\r\n */\r\n public static StringEnumToSingleString(clazz: any): string {\r\n return StringEnumToSingleString(clazz);\r\n }\r\n\r\n // Get the number values from an enum\r\n public static GetNumberEnumValues(numberEnumClass: any): any[] {\r\n return this.GetObjValues(numberEnumClass).filter(value => NumberUtils.IsNumber(value));\r\n }\r\n\r\n // Get the the property object value names in string format from the enum\r\n public static GetStringEnumValues(stringEnumClass: any): any[] {\r\n return this.GetObjValues(stringEnumClass).filter(value => StringUtils.IsString(value));\r\n }\r\n\r\n public static GetObjValues(numberEnumClass: any): (number | string)[] {\r\n return Object.keys(numberEnumClass).map(key => numberEnumClass[key]);\r\n }\r\n\r\n /**\r\n * Returns the enum in object format to make handling easier\r\n * Works for Enums with the following format:\r\n * foo: 1\r\n * bar: 2\r\n * etc...\r\n * @param enumClass\r\n * @returns {Object}\r\n */\r\n public static createObjectFromEnum(enumClass: any): KeyValuePair[] {\r\n // const objectifiedEnum: { refNumber: number; name: string }[] = [];\r\n const objectifiedEnum: KeyValuePair[] = [];\r\n\r\n for (const enumItem in enumClass) {\r\n if (typeof enumClass[enumItem] === \"number\") {\r\n objectifiedEnum.push({key: <number>enumClass[enumItem], value: enumItem});\r\n }\r\n }\r\n\r\n return objectifiedEnum;\r\n }\r\n\r\n public static getStringEnumKeysArray(enumType: object): string[] {\r\n const members = Object.keys(enumType);\r\n if (!EnumUtils.isNumeral(enumType)) {\r\n return members;\r\n }\r\n\r\n const keys: string[] = [];\r\n members.forEach((x) => {\r\n const parsedValue = parseInt(x, 10);\r\n if (Number.isNaN(parsedValue)) {\r\n keys.push(x);\r\n }\r\n });\r\n return keys;\r\n }\r\n\r\n public static buildPromiseDomainValueListFromEnumClass(enumClass: any, dictionary: DictionaryService, keysAsDescription: boolean = false): Promise<CoDomainValue[]> {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n resolve(EnumUtils.buildDomainValueListFromEnumClass(enumClass, dictionary, keysAsDescription));\r\n } catch (e) {\r\n reject();\r\n }\r\n });\r\n }\r\n\r\n public static buildDomainValueListFromEnumClass(enumClass: any, dictionary: DictionaryService, keysAsDescription: boolean = false): CoDomainValue[] {\r\n const collection: CoDomainValue[] = [];\r\n\r\n if (keysAsDescription) {\r\n const enumKeys: string[] = EnumUtils.getStringEnumKeysArray(enumClass);\r\n enumKeys.forEach((key: string, index: number) => {\r\n const domainObjectForLov: CoDomainValue = new CoDomainValue();\r\n domainObjectForLov.code = enumClass[key];\r\n domainObjectForLov.description = dictionary.get(key);\r\n domainObjectForLov.sequence = index;\r\n collection.push(domainObjectForLov);\r\n });\r\n } else {\r\n EnumUtils.StringEnumToArray(enumClass).forEach((strEnumVal: string, index: number) => {\r\n const domainObjectForLov: CoDomainValue = new CoDomainValue();\r\n domainObjectForLov.code = strEnumVal;\r\n domainObjectForLov.description = dictionary.get(strEnumVal);\r\n domainObjectForLov.sequence = index;\r\n collection.push(domainObjectForLov);\r\n });\r\n }\r\n\r\n return collection;\r\n }\r\n\r\n public static getKeyByValue(enumType: object, enumValue: string): string {\r\n return Object.keys(enumType)[Object.values(enumType).indexOf(enumValue)];\r\n }\r\n\r\n private static isNumeral(enumType: object): boolean {\r\n const members = Object.keys(enumType);\r\n if (!members.some((x) => true)) {\r\n throw new TypeError(\"Invalid enumeration type.\");\r\n }\r\n let parsedCount = 0;\r\n members.forEach((x) => {\r\n const parsedValue = parseInt(x, 10);\r\n if (!Number.isNaN(parsedValue)) {\r\n parsedCount++;\r\n }\r\n });\r\n return parsedCount === members.length / 2;\r\n }\r\n\r\n}\r\n\r\n// Outside the class because it's used to generate component selectors, and aot can't call statics.\r\nexport function StringEnumToSingleString(clazz: any): string {\r\n let str: string = \"\";\r\n\r\n const keys: string[] = Object.keys(clazz);\r\n for (let i: number = 0, len: number = keys.length; i < len; i++) {\r\n str += clazz[keys[i]] + \", \";\r\n }\r\n\r\n str = StringUtils.RemoveLastChars(str, 2);\r\n return str;\r\n}\r\n","/**\r\n * Custom component for enabling and disabling multiple items based on an input enum\r\n * For the component to work, an enum is required and a list of enabled items so that\r\n * the component knows which items from the enum are already enabled\r\n *\r\n * Note: can be improved by not only accepting a string array of enabledItemProperties but also a full cgref number because that will save one conversion step as\r\n * BO's already contain these numbers.\r\n */\r\n\r\nimport {AfterViewInit, Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation} from \"@angular/core\";\r\n//import {EnumUtils} from \"../../utils/enum-utils\";\r\nimport {KeyValuePair} from \"../../interface/key-value-pair\";\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {RefCodeUtils} from \"../../utils/ref-code-utils\";\r\nimport {EnumUtils} from \"../../utils/enum-utils\";\r\n\r\n@Component({\r\n selector: \"co-multiple-property-toggler\",\r\n template: `\r\n <div class=\"input-text-content-wrapper\">\r\n <h3 [textContent]=\"label\"></h3> <!-- | localize-->\r\n\r\n <div class=\"property-toggling-container\">\r\n\r\n <div class=\"row\" *ngFor=\"let propertyTogglerItem of objectifiedEnum | keyvalue\">\r\n\r\n <co-input-checkbox [model]=\"isValueActive(propertyTogglerItem.value)\"\r\n (click)=\"clickToToggleProperty(propertyTogglerItem.value)\"></co-input-checkbox>\r\n\r\n <label [textContent]=\"propertyTogglerItem.value.value\"></label>\r\n </div>\r\n </div>\r\n </div>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class MultiplePropertyTogglerComponent implements AfterViewInit {\r\n @Input()\r\n public label: string = \"\";\r\n\r\n // Input an Enum with names and properties and it will be converted\r\n @Input()\r\n public propertyNamesToToggle: any;\r\n\r\n @Input()\r\n public readonly : boolean = false;\r\n\r\n // Input the cgrefcode sum so it knows which items will be enabled\r\n @Input()\r\n public enableditems: number;\r\n\r\n @Output()\r\n public enableditemsChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n // Outputs the sum of cgrefkeys of all newly enabled items\r\n @Output()\r\n public readonly onPropertyItemChange: EventEmitter<number> = new EventEmitter<number>();\r\n\r\n @HostBinding(\"class.co-multiple-property-toggler\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n public readonly Icons: typeof Icon = Icon;\r\n\r\n public objectifiedEnum: KeyValuePair[] = [];\r\n\r\n public enabledItemNumberList: number[] = [];\r\n\r\n ngAfterViewInit(): void {\r\n if (this.propertyNamesToToggle) {\r\n this.objectifiedEnum = EnumUtils.createObjectFromEnum(this.propertyNamesToToggle);\r\n } else {\r\n // PropertytogglerItems is empty\r\n }\r\n this.makeNumberArrayFromCgRefCodeSum();\r\n }\r\n\r\n public isValueActive(propertyToCheck: any): boolean {\r\n return this.enabledItemNumberList.includes(propertyToCheck.key);\r\n }\r\n\r\n public clickToToggleProperty(target: any): void {\r\n let newRefNumberSum: number = 0;\r\n\r\n if (this.enabledItemNumberList.includes(target.key)) {\r\n this.enabledItemNumberList.splice(this.enabledItemNumberList.indexOf(target.key), 1);\r\n } else {\r\n this.enabledItemNumberList.push(target.key);\r\n }\r\n\r\n this.enabledItemNumberList.forEach(\r\n enabledItem => {\r\n newRefNumberSum += this.objectifiedEnum.find(x => x.key === enabledItem).key;\r\n }\r\n );\r\n\r\n this.onPropertyItemChange.emit(newRefNumberSum);\r\n }\r\n\r\n public makeNumberArrayFromCgRefCodeSum(): void {\r\n if (this.enableditems) {\r\n this.enabledItemNumberList = RefCodeUtils.GetMultiRefCodeChoices(this.enableditems);\r\n }\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {MultiplePropertyTogglerComponent} from \"./multiple-property-toggler.component\";\r\nimport {InputCheckboxModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CommonModule} from \"@angular/common\";\r\n\r\n@NgModule({\r\n imports: [\r\n InputCheckboxModule,\r\n CommonModule\r\n ],\r\n declarations: [\r\n MultiplePropertyTogglerComponent\r\n ],\r\n exports: [\r\n MultiplePropertyTogglerComponent\r\n ]\r\n})\r\nexport class MultiplePropertyTogglerModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {\r\n ButtonModule,\r\n CoDialogModule,\r\n FormModule,\r\n InputTextModule,\r\n ScreenConfigurationModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {LocalizationModule} from \"../../localization/localization.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {MultiplePropertyTogglerModule} from \"../multi-property-toggler/multiple-property-toggler.module\";\r\nimport {FileUploadPopupComponent} from \"./file-upload-popup.component\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CoDialogModule,\r\n FormModule,\r\n LocalizationModule,\r\n InputTextModule,\r\n ButtonModule,\r\n CommonModule,\r\n ScreenConfigurationModule,\r\n MultiplePropertyTogglerModule\r\n ],\r\n declarations: [\r\n FileUploadPopupComponent\r\n ],\r\n exports: [\r\n FileUploadPopupComponent\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class FileUploadPopupModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {AppFileDropzoneComponent} from \"./app-file-dropzone.component\";\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n IconModule,\r\n ],\r\n declarations: [\r\n AppFileDropzoneComponent\r\n ],\r\n exports: [\r\n AppFileDropzoneComponent\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class AppFileDropzoneModule {\r\n\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {\r\n ButtonModule,\r\n CoDialogModule,\r\n FormModule,\r\n IconModule, InputCheckboxModule,\r\n InputTextModule,\r\n ScreenConfigurationModule\r\n} from \"@colijnit/corecomponents_v12\";\r\nimport {LocalizationModule} from \"../../localization/localization.module\";\r\nimport {DragDropContainerComponent} from \"./components/drag-drop-container.component\";\r\nimport {ImageDisplayModule} from \"../image-display/image-display.module\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {Overlay} from \"@angular/cdk/overlay\";\r\nimport {FileTypeImagePipe} from \"../../pipe/file-type-image.pipe\";\r\nimport {FilesUploadComponent} from \"./files-upload.component\";\r\nimport {FileUploadModule} from \"../file-upload/file-upload.module\";\r\nimport {FileUploadPopupModule} from \"../file-upload-popup/file-upload-popup.module\";\r\nimport {AppFileDropzoneModule} from \"../app-file-dropzone/app-file-dropzone.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n CoDialogModule,\r\n FormModule,\r\n InputTextModule,\r\n ScreenConfigurationModule,\r\n ButtonModule,\r\n LocalizationModule,\r\n IconModule,\r\n ImageDisplayModule,\r\n CommonModule,\r\n // TagsModule,\r\n InputCheckboxModule,\r\n FileUploadModule,\r\n FileUploadPopupModule,\r\n AppFileDropzoneModule\r\n ],\r\n declarations: [\r\n FilesUploadComponent,\r\n DragDropContainerComponent\r\n ],\r\n exports: [\r\n FilesUploadComponent,\r\n DragDropContainerComponent\r\n ],\r\n providers: [\r\n Overlay,\r\n FileTypeImagePipe\r\n ]\r\n})\r\nexport class FilesUploadModule {\r\n\r\n}\r\n","import {\r\n Component,\r\n HostBinding,\r\n Input,\r\n OnInit,\r\n ViewEncapsulation\r\n} from '@angular/core';\r\nimport {Icon} from \"../../enum/icon.enum\";\r\nimport {RelationKind} from \"@colijnit/articleapi/build/enum/relation-kind.enum\";\r\nimport {Activity} from \"@colijnit/mainapi/build/model/activity.bo\";\r\nimport {ActivityType} from \"@colijnit/mainapi/build/enum/activity-type\";\r\nimport {IconCacheService} from \"../../service/icon-cache.service\";\r\nimport {ALL_MONTHS} from \"../../model/constant/all-months\";\r\nimport {DictionaryService} from \"../../service/dictionary.service\";\r\nimport {TimeUtils} from \"@colijnit/mainapi/build/utils/time-utils\";\r\nimport {RelationSmallObject} from \"@colijnit/mainapi/build/model/relation-small-object.bo\";\r\nimport {CoDocument} from \"@colijnit/mainapi/build/model/co-document\";\r\n\r\n@Component({\r\n selector: \"co-activity-list\",\r\n template: `\r\n <div class=\"activity-list-wrapper\">\r\n <div class=\"activity-wrapper\" [class.customer-reply-wrapper]=\"(getRelationKind(activity.author) === RelationKind.Customer)\" *ngFor=\"let activity of activities\" >\r\n <div class=\"activity-display\">\r\n <div class=\"activity-display-title\">\r\n <span>{{activity.author ? ( activity.author.initials + ' ' + activity.author.familyName) : \" \"}}</span>\r\n <span>{{getDateString(activity.lastActionDateTime)}}</span>\r\n <co-icon [iconData]=\"iconCacheService.getIcon(getActivityIcon(activity))\"></co-icon>\r\n </div>\r\n <div class=\"activity-display-content\" [class.customer-reply-content]=\"(getRelationKind(activity.author) === RelationKind.Customer)\">\r\n <div class=\"activity-display-body\">\r\n <span>{{activity.subDescription}}</span>\r\n </div>\r\n <div class=\"activity-display-footer\">\r\n <!--TODO discuss with Rob is we can gather the info needed to see which workflow triggers have previously been activated for this trigger-->\r\n <!--<div *ngIf=\"showState(activity)\" class=\"activity-state\">\r\n <span *ngIf=\"showAttachments(activity)\">{{activity.documents.length}}</span>\r\n </div>-->\r\n <co-icon *ngIf=\"showAttachments(activity)\" [iconData]=\"iconCacheService.getIcon(Icon.PaperclipRegular)\" (click)=\"openActivityPopup(activity)\"></co-icon>\r\n <span *ngIf=\"showAttachments(activity)\">{{activity.documents.length}}</span>\r\n <co-icon *ngIf=\"showWorkedTime(activity)\"\r\n [iconData]=\"iconCacheService.getIcon(Icon.ClockRegular)\"></co-icon>\r\n <span *ngIf=\"showWorkedTime(activity)\" >\r\n {{TimeUtils.ConvertToDuration(getWorkedTime(activity))}}</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <co-dialog *ngIf=\"showActivityPopup\" (closeClick)=\"showActivityPopup = false\">\r\n <co-files-upload [documents]=\"currentActivityDocuments\">\r\n </co-files-upload>\r\n </co-dialog>\r\n `,\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class ActivityListComponent implements OnInit {\r\n public readonly Icon = Icon;\r\n public readonly RelationKind = RelationKind;\r\n public readonly ActivityType = ActivityType;\r\n public readonly TimeUtils = TimeUtils;\r\n\r\n @HostBinding(\"class.co-activity-list\")\r\n public showClass(): boolean {\r\n return true;\r\n }\r\n\r\n @Input()\r\n public activities: Activity[] = [];\r\n\r\n @Input()\r\n public remarkIcon: Icon = Icon.CommentRegular;\r\n\r\n @Input()\r\n public workIcon: Icon = Icon.PersonDiggingRegular;\r\n\r\n public showActivityPopup: Boolean;\r\n public currentActivityDocuments: CoDocument[];\r\n\r\n constructor(public iconCacheService: IconCacheService,\r\n private _dictionaryService: DictionaryService\r\n ) {\r\n }\r\n\r\n public async ngOnInit(): Promise<void> {\r\n }\r\n\r\n public getRelationKind(author: RelationSmallObject): RelationKind {\r\n if (author) {\r\n return author.relationType;\r\n } else {\r\n return null\r\n }\r\n }\r\n\r\n public getDateString(date: Date): string {\r\n return date.getDay().toString() + ' ' + (this._dictionaryService.get(ALL_MONTHS[date.getMonth()])) + ' ' + date.getFullYear() ;\r\n }\r\n\r\n public getActivityIcon(activity: Activity): Icon {\r\n switch (activity.activityType) {\r\n case ActivityType.Remark:\r\n return this.remarkIcon;\r\n case ActivityType.StateChange:\r\n case ActivityType.WorkflowStatus:\r\n case ActivityType.Work:\r\n case ActivityType.Task:\r\n case ActivityType.WorkflowTask:\r\n case ActivityType.Form:\r\n return this.workIcon;\r\n }\r\n }\r\n\r\n public showAttachments(activity: Activity): boolean {\r\n if (activity.documents && activity.documents.length > 0) {\r\n return true\r\n }\r\n return false;\r\n }\r\n\r\n public showWorkedTime(activity: Activity): boolean {\r\n if ((activity.IsWork && activity.work && activity.work.workedTime) ||\r\n (activity.IsTask && activity.task && activity.task.workedTime)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n public getWorkedTime(activity: Activity): number {\r\n if (activity.IsWork && activity.work && activity.work.workedTime) {\r\n return activity.work.workedTime;\r\n } else if (activity.IsTask && activity.task && activity.task.workedTime) {\r\n return activity.task.workedTime;\r\n }\r\n return 0;\r\n }\r\n\r\n public openActivityPopup(activity: Activity): void {\r\n this.showActivityPopup = true;\r\n this.currentActivityDocuments = activity.documents;\r\n }\r\n}\r\n","import {NgModule} from \"@angular/core\";\r\nimport {ActivityListComponent} from \"./activity-list.component\";\r\nimport {CoDialogModule, IconModule} from \"@colijnit/corecomponents_v12\";\r\nimport {CommonModule} from \"@angular/common\";\r\nimport {FilesUploadModule} from \"../files-upload/files-upload.module\";\r\n\r\n@NgModule({\r\n imports: [\r\n IconModule,\r\n CommonModule,\r\n CoDialogModule,\r\n FilesUploadModule\r\n ],\r\n declarations: [\r\n ActivityListComponent\r\n ],\r\n exports: [\r\n ActivityListComponent\r\n ]\r\n})\r\nexport class ActivityListModule {\r\n}\r\n","/*\r\n * Public API Surface of sharedcomponents\r\n */\r\n\r\nexport * from './lib/components/docsign/docsign.component';\r\nexport * from './lib/components/docsign/docsign.module';\r\nexport * from './lib/components/stock/stock.component';\r\nexport * from './lib/components/stock/stock.module';\r\nexport * from './lib/components/stock/localization/translation';\r\nexport * from './lib/components/send-method-dialog/send-method-dialog.component';\r\nexport * from './lib/components/send-method-dialog/send-method-dialog.module';\r\nexport * from './lib/components/key-pad/key-pad.component';\r\nexport * from './lib/components/key-pad/key-pad.module';\r\nexport * from './lib/components/layout-switcher/layout-switcher.component';\r\nexport * from './lib/components/layout-switcher/layout-switcher.module';\r\nexport * from './lib/components/linear-gauge/co-linear-gauge.component';\r\nexport * from './lib/components/linear-gauge/co-linear-gauge.module';\r\nexport * from './lib/components/statusbar/statusbar.component';\r\nexport * from './lib/components/statusbar/statusbar.module';\r\nexport * from './lib/components/date-planning/date-planning.component';\r\nexport * from './lib/components/date-planning/date-planning.module';\r\nexport * from './lib/components/simple-tags/simple-tags.component';\r\nexport * from './lib/components/simple-tags/simple-tags.module';\r\nexport * from './lib/components/files-upload/files-upload.component';\r\nexport * from './lib/components/files-upload/files-upload.module';\r\nexport * from './lib/components/activity-list/activity-list.component';\r\nexport * from './lib/components/activity-list/activity-list.module';\r\nexport * from './lib/service/shared.service';\r\nexport * from './lib/enum/calendar-view.enum';\r\nexport * from './lib/model/agenda-event-per-day.model';\r\nexport * from './lib/model/agenda-event.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {AppFileDropzoneComponent as ɵdg} from './lib/components/app-file-dropzone/app-file-dropzone.component';\nexport {AppFileDropzoneModule as ɵdf} from './lib/components/app-file-dropzone/app-file-dropzone.module';\nexport {AgendaBaseViewComponent as ɵcd} from './lib/components/date-planning/component/agenda/agenda-base-view.component';\nexport {AgendaDayViewComponent as ɵce} from './lib/components/date-planning/component/agenda/agenda-day-view.component';\nexport {AgendaEventComponent as ɵcm} from './lib/components/date-planning/component/agenda/agenda-event.component';\nexport {AgendaEventsComponent as ɵcl} from './lib/components/date-planning/component/agenda/agenda-events.component';\nexport {AgendaHalfHourCellComponent as ɵck} from './lib/components/date-planning/component/agenda/agenda-half-hour-cell.component';\nexport {AgendaHeaderComponent as ɵca} from './lib/components/date-planning/component/agenda/agenda-header.component';\nexport {AgendaHourCellComponent as ɵci} from './lib/components/date-planning/component/agenda/agenda-hour-cell.component';\nexport {AgendaHourViewLabelsComponent as ɵcj} from './lib/components/date-planning/component/agenda/agenda-hour-view-labels.component';\nexport {AgendaHourViewComponent as ɵch} from './lib/components/date-planning/component/agenda/agenda-hour-view.component';\nexport {AgendaMonthViewComponent as ɵcc} from './lib/components/date-planning/component/agenda/agenda-month-view.component';\nexport {AgendaSelectEventComponent as ɵco} from './lib/components/date-planning/component/agenda/agenda-select-event.component';\nexport {AgendaViewComponent as ɵcb} from './lib/components/date-planning/component/agenda/agenda-view.component';\nexport {AgendaWeekSelectViewComponent as ɵcg} from './lib/components/date-planning/component/agenda/agenda-week-select-view.component';\nexport {AgendaWeekViewComponent as ɵcf} from './lib/components/date-planning/component/agenda/agenda-week-view.component';\nexport {ViewSelectComponent as ɵcn} from './lib/components/date-planning/component/agenda/view-select.component';\nexport {CalendarAllMonthsComponent as ɵbv} from './lib/components/date-planning/component/calendar/calendar-all-months.component';\nexport {CalendarAllYearsComponent as ɵbu} from './lib/components/date-planning/component/calendar/calendar-all-years.component';\nexport {CalendarHeaderComponent as ɵbw} from './lib/components/date-planning/component/calendar/calendar-header.component';\nexport {CalendarViewComponent as ɵby} from './lib/components/date-planning/component/calendar/calendar-view.component';\nexport {CalendarComponent as ɵbx} from './lib/components/date-planning/component/calendar/calendar.component';\nexport {SignatureComponent as ɵa} from './lib/components/docsign/component/signature/signature.component';\nexport {SignaturesComponent as ɵb} from './lib/components/docsign/component/signatures/signatures.component';\nexport {FileUploadPopupComponent as ɵde} from './lib/components/file-upload-popup/file-upload-popup.component';\nexport {FileUploadPopupModule as ɵdb} from './lib/components/file-upload-popup/file-upload-popup.module';\nexport {FileUploadComponent as ɵda} from './lib/components/file-upload/file-upload.component';\nexport {FileUploadModule as ɵcx} from './lib/components/file-upload/file-upload.module';\nexport {BaseFileUploadComponent as ɵct} from './lib/components/files-upload/components/base-file-upload.component';\nexport {DragDropContainerComponent as ɵdh} from './lib/components/files-upload/components/drag-drop-container.component';\nexport {ImageDisplayComponent as ɵcw} from './lib/components/image-display/image-display.component';\nexport {ImageDisplayModule as ɵcv} from './lib/components/image-display/image-display.module';\nexport {MultiplePropertyTogglerComponent as ɵdd} from './lib/components/multi-property-toggler/multiple-property-toggler.component';\nexport {MultiplePropertyTogglerModule as ɵdc} from './lib/components/multi-property-toggler/multiple-property-toggler.module';\nexport {LayoutSelectionComponent as ɵl} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.component';\nexport {LayoutSelectionModule as ɵk} from './lib/components/send-method-dialog/components/layout-selection/layout-selection.module';\nexport {PrinterSelectionComponent as ɵr} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.component';\nexport {PrinterSelectionModule as ɵq} from './lib/components/send-method-dialog/components/printer-selection/printer-selection.module';\nexport {SendMethodEmailComponent as ɵo} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.component';\nexport {SendMethodEmailModule as ɵj} from './lib/components/send-method-dialog/components/send-method-email/send-method-email.module';\nexport {SendMethodPdfComponent as ɵu} from './lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.component';\nexport {SendMethodPdfModule as ɵt} from './lib/components/send-method-dialog/components/send-method-pdf/send-method-pdf.module';\nexport {SendMethodPrinterComponent as ɵs} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.component';\nexport {SendMethodPrinterModule as ɵp} from './lib/components/send-method-dialog/components/send-method-printer/send-method-printer.module';\nexport {SignatureButtonComponent as ɵn} from './lib/components/send-method-dialog/components/signature-button/signature-button.component';\nexport {SignatureButtonModule as ɵm} from './lib/components/send-method-dialog/components/signature-button/signature-button.module';\nexport {SendMethodService as ɵi} from './lib/components/send-method-dialog/service/send-method.service';\nexport {StatusbarPopupComponent as ɵx} from './lib/components/statusbar/statusbar-popup.component';\nexport {StockStatusbarComponent as ɵz} from './lib/components/stock-statusbar/stock-statusbar.component';\nexport {StockStatusbarModule as ɵy} from './lib/components/stock-statusbar/stock-statusbar.module';\nexport {AllocationStockHistoryComponent as ɵbq} from './lib/components/stock/components/allocation-stock-history/allocation-stock-history.component';\nexport {OrderCommissionStockHistoryComponent as ɵbo} from './lib/components/stock/components/order-commission-stock-history/order-commission-stock-history.component';\nexport {OrderStockHistoryComponent as ɵbp} from './lib/components/stock/components/order-stock-history/order-stock-history.component';\nexport {OrderStockTabComponent as ɵbk} from './lib/components/stock/components/order-stock-tab/order-stock-tab.component';\nexport {OrderSupplyStockHistoryComponent as ɵbn} from './lib/components/stock/components/order-supply-stock-history/order-supply-stock-history.component';\nexport {OrderTabComponent as ɵbh} from './lib/components/stock/components/order-tab/order-tab.component';\nexport {StockHistoryComponent as ɵbm} from './lib/components/stock/components/stock-history/stock-history.component';\nexport {StockLocationComponent as ɵbl} from './lib/components/stock/components/stock-location/stock-location.component';\nexport {StockPrognoseComponent as ɵbr} from './lib/components/stock/components/stock-prognose/stock-prognose.component';\nexport {StockTabComponent as ɵbg} from './lib/components/stock/components/stock-tab/stock-tab.component';\nexport {StockHistoryTabsComponent as ɵbj} from './lib/components/stock/stock-history-tabs/stock-history-tabs.component';\nexport {StockInformationGridComponent as ɵbd} from './lib/components/stock/stock-information-grid/stock-information-grid.component';\nexport {StockInformationComponent as ɵbc} from './lib/components/stock/stock-information/stock-information.component';\nexport {StockTabsComponent as ɵbi} from './lib/components/stock/stock-tabs/stock-tabs.component';\nexport {StockChangeAmountComponent as ɵbf} from './lib/components/stock/stock-transfer/stock-change-amount.component';\nexport {StockTransferComponent as ɵbe} from './lib/components/stock/stock-transfer/stock-transfer.component';\nexport {TabBarComponent as ɵw} from './lib/components/tab-bar/tab-bar.component';\nexport {TabBarModule as ɵv} from './lib/components/tab-bar/tab-bar.module';\nexport {TileRenderComponent as ɵcz} from './lib/components/tile-renderer/tile-render.component';\nexport {TileRenderModule as ɵcy} from './lib/components/tile-renderer/tile-render.module';\nexport {InputBoolean as ɵcu} from './lib/decorator/input-boolean.decorator';\nexport {Icon as ɵbt} from './lib/enum/icon.enum';\nexport {LanguageCode as ɵbz} from './lib/enum/language-code.enum';\nexport {LocalizationModule as ɵba} from './lib/localization/localization.module';\nexport {LocalizePipe as ɵbb} from './lib/localization/localize.pipe';\nexport {LocalizeService as ɵg} from './lib/localization/localize.service';\nexport {SendMethod as ɵbs} from './lib/model/send-method';\nexport {ArrayNumberPipe as ɵcq} from './lib/pipe/array-number.pipe';\nexport {FileTypeImagePipe as ɵcs} from './lib/pipe/file-type-image.pipe';\nexport {MASTER_PIPES as ɵcp} from './lib/pipe/master-pipes';\nexport {UCfirstPipe as ɵcr} from './lib/pipe/ucfirst.pipe';\nexport {DictionaryService as ɵf} from './lib/service/dictionary.service';\nexport {DragDropService as ɵdi} from './lib/service/drag-drop.service';\nexport {IconCacheService as ɵh} from './lib/service/icon-cache.service';\nexport {OptionsService as ɵe} from './lib/service/options.service';\nexport {SharedConnectorService as ɵd} from './lib/service/shared-connector.service';\nexport {StockService as ɵc} from './lib/service/stock.service';"],"names":["EventEmitter","PDFDocument","pdfjsWorker","PDFJS","Component","trigger","state","style","transition","animate","ViewEncapsulation","ViewChild","ElementRef","Input","Output","HostBinding","SignaturePad","NgModule","CommonModule","LanguageCode","Injectable","Options","BehaviorSubject","BusinessObjectFactory","Sharedapi","Articles","MainApi","ObjectConfiguration","Printer","SendMethod","TagTreeItem","StockHistoryBo","ArticleStockBo","StockManagementWarehouses","StockLocation","ArticleDetailsBo","StockStatus","ArticleTransactionBo","Translation","ArticleExtended","PrintStockStickers","ArticleStock","ArticleExtendedRequest","ChangeDetectorRef","DomSanitizer","Icon","ArticleStockManagement","PrintPriceStickers","ArticleTransaction","Subject","ReportingDocumentPrintSignDocBaseRequest","ReportingDocumentEmailSignDocBaseRequest","ReportingDocumentPdfBaseRequest","SendMethodType","IconModule","InputCheckboxModule","CoDialogModule","ButtonModule","GetStockHistoryRequest","ListOfValuesModule","GaugeColor","Chart","DoughnutController","ArcElement","ViewChildren","OverlayService","HostListener","ClickoutsideModule","OverlayModule","Pipe","InputRadioButtonModule","SimpleGridModule","ImageModule","InputTextModule","InputNumberPickerModule","CoDialogWizardModule","InputTextareaModule","PopupModule","ResponsiveTextModule","CalendarView","Renderer2","Month","moment","DatePipe","Inject","LOCALE_ID","NgZone","Directive","FileTypeInternal","InputDatePickerModule","InputSearchModule","DragDropModule","DocumentPublication","CoDocument","FileUtils","CoDocumentRight","ObjectRightType","PromptService","FormComponent","CoDocumentType","FileType","ViewContainerRef","ComponentFactoryResolver","SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME","forwardRef","ContentChild","CoOrientation","ArrayUtils","CoreComponentsTranslationModule","TemplateWrapperModule","CoDomainValue","FormModule","ScreenConfigurationModule","Overlay","RelationKind","ActivityType","TimeUtils"],"mappings":"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"}
|