@acorex/components 18.14.0 → 18.14.1-next.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (167) hide show
  1. package/calendar/lib/calendar.component.d.ts +16 -5
  2. package/calendar/lib/calendar.module.d.ts +2 -1
  3. package/check-box/lib/check-box.component.d.ts +13 -5
  4. package/cron-job/README.md +3 -0
  5. package/cron-job/index.d.ts +8 -0
  6. package/cron-job/lib/cron-job-container/cron-job-container.component.d.ts +31 -0
  7. package/cron-job/lib/cron-job.module.d.ts +25 -0
  8. package/cron-job/lib/cron-job.service.d.ts +22 -0
  9. package/cron-job/lib/day/day.component.d.ts +22 -0
  10. package/cron-job/lib/day/day.model.d.ts +61 -0
  11. package/cron-job/lib/day/day.service.d.ts +17 -0
  12. package/cron-job/lib/hours/hours.component.d.ts +14 -0
  13. package/cron-job/lib/hours/hours.model.d.ts +5 -0
  14. package/cron-job/lib/hours/hours.service.d.ts +13 -0
  15. package/cron-job/lib/minutes/minutes.component.d.ts +14 -0
  16. package/cron-job/lib/minutes/minutes.model.d.ts +5 -0
  17. package/cron-job/lib/minutes/minutes.service.d.ts +13 -0
  18. package/cron-job/lib/month/month.component.d.ts +16 -0
  19. package/cron-job/lib/month/month.model.d.ts +5 -0
  20. package/cron-job/lib/month/month.service.d.ts +14 -0
  21. package/cron-job/lib/seconds/seconds.component.d.ts +14 -0
  22. package/cron-job/lib/seconds/seconds.model.d.ts +5 -0
  23. package/cron-job/lib/seconds/seconds.service.d.ts +13 -0
  24. package/cron-job/lib/types/iexpression.d.ts +3 -0
  25. package/cron-job/lib/types/shared.model.d.ts +37 -0
  26. package/cron-job/lib/year/year.component.d.ts +15 -0
  27. package/cron-job/lib/year/year.model.d.ts +16 -0
  28. package/cron-job/lib/year/year.service.d.ts +12 -0
  29. package/datetime-input/lib/datetime-input.component.d.ts +9 -0
  30. package/datetime-picker/lib/datetime-picker.component.d.ts +1 -0
  31. package/esm2022/alert/lib/alert.component.mjs +10 -14
  32. package/esm2022/avatar/lib/avatar.component.mjs +2 -2
  33. package/esm2022/calendar/lib/calendar.component.mjs +186 -158
  34. package/esm2022/calendar/lib/calendar.module.mjs +5 -4
  35. package/esm2022/check-box/lib/check-box.component.mjs +39 -22
  36. package/esm2022/common/lib/components/selection-base.component.class.mjs +2 -1
  37. package/esm2022/cron-job/acorex-components-cron-job.mjs +5 -0
  38. package/esm2022/cron-job/index.mjs +9 -0
  39. package/esm2022/cron-job/lib/cron-job-container/cron-job-container.component.mjs +90 -0
  40. package/esm2022/cron-job/lib/cron-job.module.mjs +80 -0
  41. package/esm2022/cron-job/lib/cron-job.service.mjs +60 -0
  42. package/esm2022/cron-job/lib/day/day.component.mjs +61 -0
  43. package/esm2022/cron-job/lib/day/day.model.mjs +88 -0
  44. package/esm2022/cron-job/lib/day/day.service.mjs +196 -0
  45. package/esm2022/cron-job/lib/hours/hours.component.mjs +38 -0
  46. package/esm2022/cron-job/lib/hours/hours.model.mjs +8 -0
  47. package/esm2022/cron-job/lib/hours/hours.service.mjs +82 -0
  48. package/esm2022/cron-job/lib/minutes/minutes.component.mjs +38 -0
  49. package/esm2022/cron-job/lib/minutes/minutes.model.mjs +8 -0
  50. package/esm2022/cron-job/lib/minutes/minutes.service.mjs +82 -0
  51. package/esm2022/cron-job/lib/month/month.component.mjs +47 -0
  52. package/esm2022/cron-job/lib/month/month.model.mjs +8 -0
  53. package/esm2022/cron-job/lib/month/month.service.mjs +96 -0
  54. package/esm2022/cron-job/lib/seconds/seconds.component.mjs +38 -0
  55. package/esm2022/cron-job/lib/seconds/seconds.model.mjs +8 -0
  56. package/esm2022/cron-job/lib/seconds/seconds.service.mjs +82 -0
  57. package/esm2022/cron-job/lib/types/iexpression.mjs +2 -0
  58. package/esm2022/cron-job/lib/types/shared.model.mjs +49 -0
  59. package/esm2022/cron-job/lib/year/year.component.mjs +45 -0
  60. package/esm2022/cron-job/lib/year/year.model.mjs +28 -0
  61. package/esm2022/cron-job/lib/year/year.service.mjs +82 -0
  62. package/esm2022/datetime-input/lib/datetime-input.component.mjs +38 -10
  63. package/esm2022/datetime-picker/lib/datetime-picker.component.mjs +17 -4
  64. package/esm2022/list/lib/list.component.mjs +3 -3
  65. package/esm2022/loading/lib/loading.component.mjs +7 -3
  66. package/esm2022/loading/lib/loading.service.mjs +3 -3
  67. package/esm2022/radio/lib/radio.component.mjs +3 -3
  68. package/esm2022/selection-list/lib/selection-list.component.mjs +18 -28
  69. package/esm2022/text-box/lib/text-box.component.mjs +11 -8
  70. package/esm2022/time-line/lib/time-line-item.component.mjs +3 -3
  71. package/esm2022/time-line/lib/time-line.component.mjs +18 -4
  72. package/fesm2022/acorex-components-action-sheet.mjs +1 -1
  73. package/fesm2022/acorex-components-alert.mjs +10 -14
  74. package/fesm2022/acorex-components-alert.mjs.map +1 -1
  75. package/fesm2022/acorex-components-audio-wave.mjs +1 -1
  76. package/fesm2022/acorex-components-avatar.mjs +3 -3
  77. package/fesm2022/acorex-components-avatar.mjs.map +1 -1
  78. package/fesm2022/acorex-components-badge.mjs +1 -1
  79. package/fesm2022/acorex-components-bottom-navigation.mjs +1 -1
  80. package/fesm2022/acorex-components-breadcrumbs.mjs +1 -1
  81. package/fesm2022/acorex-components-button-group.mjs +1 -1
  82. package/fesm2022/acorex-components-button.mjs +1 -1
  83. package/fesm2022/acorex-components-calendar.mjs +188 -160
  84. package/fesm2022/acorex-components-calendar.mjs.map +1 -1
  85. package/fesm2022/acorex-components-check-box.mjs +39 -22
  86. package/fesm2022/acorex-components-check-box.mjs.map +1 -1
  87. package/fesm2022/acorex-components-chips.mjs +1 -1
  88. package/fesm2022/acorex-components-circular-progress.mjs +1 -1
  89. package/fesm2022/acorex-components-collapse.mjs +1 -1
  90. package/fesm2022/acorex-components-color-box.mjs +1 -1
  91. package/fesm2022/acorex-components-color-palette.mjs +1 -1
  92. package/fesm2022/acorex-components-comment.mjs +1 -1
  93. package/fesm2022/acorex-components-common.mjs +2 -1
  94. package/fesm2022/acorex-components-common.mjs.map +1 -1
  95. package/fesm2022/acorex-components-conversation.mjs +1 -1
  96. package/fesm2022/acorex-components-cron-job.mjs +1191 -0
  97. package/fesm2022/acorex-components-cron-job.mjs.map +1 -0
  98. package/fesm2022/acorex-components-data-pager.mjs +1 -1
  99. package/fesm2022/acorex-components-data-table.mjs +1 -1
  100. package/fesm2022/acorex-components-datetime-box.mjs +1 -1
  101. package/fesm2022/acorex-components-datetime-input.mjs +36 -8
  102. package/fesm2022/acorex-components-datetime-input.mjs.map +1 -1
  103. package/fesm2022/acorex-components-datetime-picker.mjs +16 -3
  104. package/fesm2022/acorex-components-datetime-picker.mjs.map +1 -1
  105. package/fesm2022/acorex-components-decorators.mjs +1 -1
  106. package/fesm2022/acorex-components-dialog.mjs +1 -1
  107. package/fesm2022/acorex-components-drawer.mjs +1 -1
  108. package/fesm2022/acorex-components-dropdown-button.mjs +1 -1
  109. package/fesm2022/acorex-components-dropdown.mjs +1 -1
  110. package/fesm2022/acorex-components-form.mjs +1 -1
  111. package/fesm2022/acorex-components-image-editor.mjs +1 -1
  112. package/fesm2022/acorex-components-image.mjs +1 -1
  113. package/fesm2022/acorex-components-json-viewer.mjs +1 -1
  114. package/fesm2022/acorex-components-label.mjs +1 -1
  115. package/fesm2022/acorex-components-list.mjs +3 -3
  116. package/fesm2022/acorex-components-list.mjs.map +1 -1
  117. package/fesm2022/acorex-components-loading-dialog.mjs +1 -1
  118. package/fesm2022/acorex-components-loading.mjs +9 -5
  119. package/fesm2022/acorex-components-loading.mjs.map +1 -1
  120. package/fesm2022/acorex-components-map.mjs +1 -1
  121. package/fesm2022/acorex-components-media-viewer.mjs +1 -1
  122. package/fesm2022/acorex-components-menu.mjs +1 -1
  123. package/fesm2022/acorex-components-nav.mjs +1 -1
  124. package/fesm2022/acorex-components-navbar.mjs +1 -1
  125. package/fesm2022/acorex-components-notification.mjs +1 -1
  126. package/fesm2022/acorex-components-number-box.mjs +1 -1
  127. package/fesm2022/acorex-components-otp.mjs +1 -1
  128. package/fesm2022/acorex-components-page.mjs +1 -1
  129. package/fesm2022/acorex-components-paint.mjs +1 -1
  130. package/fesm2022/acorex-components-password-box.mjs +1 -1
  131. package/fesm2022/acorex-components-phone-box.mjs +1 -1
  132. package/fesm2022/acorex-components-picker.mjs +1 -1
  133. package/fesm2022/acorex-components-popover.mjs +1 -1
  134. package/fesm2022/acorex-components-popup.mjs +1 -1
  135. package/fesm2022/acorex-components-progress-bar.mjs +1 -1
  136. package/fesm2022/acorex-components-qrcode.mjs +1 -1
  137. package/fesm2022/acorex-components-radio.mjs +3 -3
  138. package/fesm2022/acorex-components-radio.mjs.map +1 -1
  139. package/fesm2022/acorex-components-range-slider.mjs +1 -1
  140. package/fesm2022/acorex-components-rate-picker.mjs +1 -1
  141. package/fesm2022/acorex-components-result.mjs +1 -1
  142. package/fesm2022/acorex-components-routing-progress.mjs +1 -1
  143. package/fesm2022/acorex-components-scheduler.mjs +1 -1
  144. package/fesm2022/acorex-components-search-box.mjs +1 -1
  145. package/fesm2022/acorex-components-select-box.mjs +1 -1
  146. package/fesm2022/acorex-components-selection-list.mjs +18 -28
  147. package/fesm2022/acorex-components-selection-list.mjs.map +1 -1
  148. package/fesm2022/acorex-components-side-menu.mjs +1 -1
  149. package/fesm2022/acorex-components-skeleton.mjs +1 -1
  150. package/fesm2022/acorex-components-slider.mjs +1 -1
  151. package/fesm2022/acorex-components-step-wizard.mjs +1 -1
  152. package/fesm2022/acorex-components-switch.mjs +1 -1
  153. package/fesm2022/acorex-components-tabs.mjs +1 -1
  154. package/fesm2022/acorex-components-tag.mjs +1 -1
  155. package/fesm2022/acorex-components-text-area.mjs +1 -1
  156. package/fesm2022/acorex-components-text-box.mjs +10 -7
  157. package/fesm2022/acorex-components-text-box.mjs.map +1 -1
  158. package/fesm2022/acorex-components-time-line.mjs +19 -5
  159. package/fesm2022/acorex-components-time-line.mjs.map +1 -1
  160. package/fesm2022/acorex-components-toast.mjs +1 -1
  161. package/fesm2022/acorex-components-tooltip.mjs +1 -1
  162. package/fesm2022/acorex-components-uploader.mjs +1 -1
  163. package/fesm2022/acorex-components-wysiwyg.mjs +1 -1
  164. package/package.json +7 -1
  165. package/selection-list/lib/selection-list.component.d.ts +4 -12
  166. package/text-box/lib/text-box.component.d.ts +2 -2
  167. package/time-line/lib/time-line.component.d.ts +2 -0
@@ -0,0 +1,196 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { StringService } from '../cron-job.service';
3
+ import { RegexItemsIndex } from '../types/shared.model';
4
+ import { BaseOnMonthType, BaseOnWeekType, Day, DayType } from './day.model';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../cron-job.service";
7
+ export class DayService {
8
+ constructor(stringService) {
9
+ this.stringService = stringService;
10
+ this.daysList = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];
11
+ this.dayModel = new Day();
12
+ }
13
+ getExpression() {
14
+ let boMonthExp = '';
15
+ let boWeekExp = '';
16
+ if (this.dayModel.type === DayType.Every) {
17
+ boMonthExp = '?';
18
+ boWeekExp = '*';
19
+ }
20
+ else if (this.dayModel.type === DayType.BOMonth) {
21
+ boWeekExp = '?';
22
+ if (this.dayModel.baseOnMonth.type === BaseOnMonthType.Last) {
23
+ boMonthExp = 'L';
24
+ }
25
+ else if (this.dayModel.baseOnMonth.type === BaseOnMonthType.Before) {
26
+ const before = this.dayModel.baseOnMonth.before;
27
+ boMonthExp = `L-${before}`;
28
+ }
29
+ else if (this.dayModel.baseOnMonth.type === BaseOnMonthType.Custom) {
30
+ if (this.dayModel.baseOnMonth.custom.repeat.isRepeat) {
31
+ const interval = this.dayModel.baseOnMonth.custom.repeat.interval;
32
+ const startAt = this.dayModel.baseOnMonth.custom.repeat.startAt;
33
+ boMonthExp = `${startAt}/${interval}`;
34
+ }
35
+ if (this.dayModel.baseOnMonth.custom.specific.isSpecefic) {
36
+ const specificValues = this.dayModel.baseOnMonth.custom.specific.values.map((v) => {
37
+ return v.id;
38
+ });
39
+ if (specificValues.length !== 0)
40
+ boMonthExp = this.stringService.addComma(boMonthExp);
41
+ boMonthExp = boMonthExp.concat(specificValues.join(','));
42
+ }
43
+ if (boMonthExp === '')
44
+ boMonthExp = '*';
45
+ }
46
+ }
47
+ else if (this.dayModel.type === DayType.BOWeek) {
48
+ boMonthExp = '?';
49
+ if (this.dayModel.baseOnWeek.type === BaseOnWeekType.Last) {
50
+ const lastDay = this.dayModel.baseOnWeek.last.day;
51
+ boWeekExp = `${lastDay}L`;
52
+ }
53
+ else if (this.dayModel.baseOnWeek.type === BaseOnWeekType.Custom) {
54
+ if (this.dayModel.baseOnWeek.custom.repeat.isRepeat) {
55
+ const interval = this.dayModel.baseOnWeek.custom.repeat.interval;
56
+ const startAt = this.dayModel.baseOnWeek.custom.repeat.startAt;
57
+ boWeekExp = `${startAt}/${interval}`;
58
+ }
59
+ if (this.dayModel.baseOnWeek.custom.specific.isSpecefic) {
60
+ const specificValues = this.dayModel.baseOnWeek.custom.specific.values.map((v) => {
61
+ return v.id;
62
+ });
63
+ if (specificValues.length !== 0)
64
+ boWeekExp = this.stringService.addComma(boWeekExp);
65
+ boWeekExp = boWeekExp.concat(specificValues.join(','));
66
+ }
67
+ if (this.dayModel.baseOnWeek.custom.dayOfMonth.isDayOfMonth) {
68
+ boWeekExp = this.stringService.addComma(boWeekExp);
69
+ const day = this.dayModel.baseOnWeek.custom.dayOfMonth.day;
70
+ const xst = this.dayModel.baseOnWeek.custom.dayOfMonth.xst;
71
+ boWeekExp = boWeekExp.concat(`${day}#${xst}`);
72
+ }
73
+ if (boWeekExp === '')
74
+ boWeekExp = '*';
75
+ }
76
+ }
77
+ return [boWeekExp, boMonthExp];
78
+ }
79
+ expressionValidation(preCronExpressionPattern, newCronExpressionPattern) {
80
+ const preCronExpressionPatternArray = preCronExpressionPattern.split(' ');
81
+ const newCronExpressionPatternArray = newCronExpressionPattern.split(' ');
82
+ const dayOfWeekRegex = this.stringService.getRegexItem(newCronExpressionPattern, RegexItemsIndex.DayOfWeek);
83
+ const dayOfMonthRegex = this.stringService.getRegexItem(newCronExpressionPattern, RegexItemsIndex.DayOfMonth);
84
+ const isDayOfWeekChanged = preCronExpressionPatternArray[RegexItemsIndex.DayOfWeek] !==
85
+ newCronExpressionPatternArray[RegexItemsIndex.DayOfWeek];
86
+ const isDayOfMonthChanged = preCronExpressionPatternArray[RegexItemsIndex.DayOfMonth] !==
87
+ newCronExpressionPatternArray[RegexItemsIndex.DayOfMonth];
88
+ const isBasedOnWeek = dayOfWeekRegex !== '*' && dayOfWeekRegex !== '?';
89
+ const isBasedOnMonth = dayOfMonthRegex !== '?';
90
+ if (isDayOfWeekChanged && isBasedOnMonth) {
91
+ newCronExpressionPatternArray[RegexItemsIndex.DayOfMonth] = '?';
92
+ return newCronExpressionPatternArray.join(' ');
93
+ }
94
+ else if (isDayOfWeekChanged && !isBasedOnWeek) {
95
+ newCronExpressionPatternArray[RegexItemsIndex.DayOfMonth] = '*';
96
+ return newCronExpressionPatternArray.join(' ');
97
+ }
98
+ if (isDayOfMonthChanged && isBasedOnWeek) {
99
+ newCronExpressionPatternArray[RegexItemsIndex.DayOfWeek] = '?';
100
+ return newCronExpressionPatternArray.join(' ');
101
+ }
102
+ else if (isDayOfMonthChanged && !isBasedOnMonth) {
103
+ newCronExpressionPatternArray[RegexItemsIndex.DayOfWeek] = '*';
104
+ return newCronExpressionPatternArray.join(' ');
105
+ }
106
+ return newCronExpressionPattern;
107
+ }
108
+ reversExpression(cronExpressionPattern) {
109
+ this.dayModel = new Day();
110
+ const dayOfWeekRegex = this.stringService.getRegexItem(cronExpressionPattern, RegexItemsIndex.DayOfWeek);
111
+ const dayOfMonthRegex = this.stringService.getRegexItem(cronExpressionPattern, RegexItemsIndex.DayOfMonth);
112
+ const isBasedOnWeek = dayOfWeekRegex !== '*' && dayOfWeekRegex !== '?';
113
+ const isBasedOnMonth = dayOfMonthRegex !== '?';
114
+ const isEveryDay = !isBasedOnWeek && !isBasedOnMonth;
115
+ if (isEveryDay) {
116
+ this.dayModel.type = DayType.Every;
117
+ return;
118
+ }
119
+ if (isBasedOnWeek) {
120
+ this.dayModel.type = DayType.BOWeek;
121
+ this.reversExpressionBasedOnWeek(dayOfWeekRegex);
122
+ return;
123
+ }
124
+ if (isBasedOnMonth) {
125
+ this.dayModel.type = DayType.BOMonth;
126
+ this.reversExpressionBasedOnMonth(dayOfMonthRegex);
127
+ return;
128
+ }
129
+ }
130
+ reversExpressionBasedOnWeek(regex) {
131
+ // **Regex pattern to check id custom or not**
132
+ const regexPattern = new RegExp('^[0-9]L$');
133
+ const isCustom = !regexPattern.test(regex);
134
+ if (!isCustom) {
135
+ this.dayModel.baseOnWeek.type = BaseOnWeekType.Last;
136
+ this.dayModel.baseOnWeek.last.day = parseInt(regex[0]);
137
+ return;
138
+ }
139
+ this.dayModel.baseOnWeek.type = BaseOnWeekType.Custom;
140
+ const intervalData = this.stringService.getIntervalCronData(regex);
141
+ const hasIntervalItems = intervalData !== undefined;
142
+ if (hasIntervalItems) {
143
+ this.dayModel.baseOnWeek.custom.repeat.isRepeat = true;
144
+ this.dayModel.baseOnWeek.custom.repeat.interval = intervalData?.interval;
145
+ this.dayModel.baseOnWeek.custom.repeat.startAt = intervalData?.startAt;
146
+ }
147
+ const specificData = this.stringService.getSpecificCronData(regex, this.daysList);
148
+ const hasSpecificItems = specificData !== undefined;
149
+ if (hasSpecificItems) {
150
+ this.dayModel.baseOnWeek.custom.specific.isSpecefic = true;
151
+ this.dayModel.baseOnWeek.custom.specific.values = specificData;
152
+ }
153
+ const dayOfMonthData = this.stringService.getDayOfMonthCronData(regex);
154
+ const hasDayOfMonthDataItem = dayOfMonthData !== undefined;
155
+ if (hasDayOfMonthDataItem) {
156
+ this.dayModel.baseOnWeek.custom.dayOfMonth.isDayOfMonth = true;
157
+ this.dayModel.baseOnWeek.custom.dayOfMonth.day = dayOfMonthData?.day;
158
+ this.dayModel.baseOnWeek.custom.dayOfMonth.xst = dayOfMonthData?.xst;
159
+ }
160
+ }
161
+ reversExpressionBasedOnMonth(regex) {
162
+ const isLastDayOfMonth = regex == 'L';
163
+ if (isLastDayOfMonth) {
164
+ this.dayModel.baseOnMonth.type = BaseOnMonthType.Last;
165
+ return;
166
+ }
167
+ // **Regex pattern to check if id before or not**
168
+ const regexPattern = new RegExp('^L-[0-9]+$');
169
+ const isCustom = !regexPattern.test(regex);
170
+ if (!isCustom) {
171
+ this.dayModel.baseOnMonth.type = BaseOnMonthType.Before;
172
+ this.dayModel.baseOnMonth.before = parseInt(regex.substr(2));
173
+ return;
174
+ }
175
+ this.dayModel.baseOnMonth.type = BaseOnMonthType.Custom;
176
+ const intervalData = this.stringService.getIntervalCronData(regex);
177
+ const hasIntervalItems = intervalData !== undefined;
178
+ if (hasIntervalItems) {
179
+ this.dayModel.baseOnMonth.custom.repeat.isRepeat = true;
180
+ this.dayModel.baseOnMonth.custom.repeat.interval = intervalData?.interval;
181
+ this.dayModel.baseOnMonth.custom.repeat.startAt = intervalData?.startAt;
182
+ }
183
+ const specificData = this.stringService.getSpecificCronData(regex, this.daysList);
184
+ const hasSpecificItems = specificData !== undefined;
185
+ if (hasSpecificItems) {
186
+ this.dayModel.baseOnMonth.custom.specific.isSpecefic = true;
187
+ this.dayModel.baseOnMonth.custom.specific.values = specificData;
188
+ }
189
+ }
190
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DayService, deps: [{ token: i1.StringService }], target: i0.ɵɵFactoryTarget.Injectable }); }
191
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DayService }); }
192
+ }
193
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: DayService, decorators: [{
194
+ type: Injectable
195
+ }], ctorParameters: () => [{ type: i1.StringService }] });
196
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY3Jvbi1qb2Ivc3JjL2xpYi9kYXkvZGF5LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFnQixlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFHNUUsTUFBTSxPQUFPLFVBQVU7SUFHckIsWUFBb0IsYUFBNEI7UUFBNUIsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFEaEQsYUFBUSxHQUFrQixDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBRXZHLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLFNBQVMsR0FBRyxFQUFFLENBQUM7UUFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDekMsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUNqQixTQUFTLEdBQUcsR0FBRyxDQUFDO1FBQ2xCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNsRCxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDNUQsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUNuQixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDckUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDO2dCQUVoRCxVQUFVLEdBQUcsS0FBSyxNQUFNLEVBQUUsQ0FBQztZQUM3QixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDckUsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO29CQUNyRCxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztvQkFDbEUsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7b0JBQ2hFLFVBQVUsR0FBRyxHQUFHLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQztnQkFDeEMsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7b0JBQ3pELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO3dCQUNoRixPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUM7b0JBQ2QsQ0FBQyxDQUFDLENBQUM7b0JBRUgsSUFBSSxjQUFjLENBQUMsTUFBTSxLQUFLLENBQUM7d0JBQUUsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO29CQUV0RixVQUFVLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQzNELENBQUM7Z0JBQ0QsSUFBSSxVQUFVLEtBQUssRUFBRTtvQkFBRSxVQUFVLEdBQUcsR0FBRyxDQUFDO1lBQzFDLENBQUM7UUFDSCxDQUFDO2FBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakQsVUFBVSxHQUFHLEdBQUcsQ0FBQztZQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxjQUFjLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQzFELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBRWxELFNBQVMsR0FBRyxHQUFHLE9BQU8sR0FBRyxDQUFDO1lBQzVCLENBQUM7aUJBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLE1BQU0sRUFBRSxDQUFDO2dCQUNuRSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxFQUFFLENBQUM7b0JBQ3BELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO29CQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztvQkFDL0QsU0FBUyxHQUFHLEdBQUcsT0FBTyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUN2QyxDQUFDO2dCQUNELElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztvQkFDeEQsTUFBTSxjQUFjLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7d0JBQy9FLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQztvQkFDZCxDQUFDLENBQUMsQ0FBQztvQkFFSCxJQUFJLGNBQWMsQ0FBQyxNQUFNLEtBQUssQ0FBQzt3QkFBRSxTQUFTLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBRXBGLFNBQVMsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDekQsQ0FBQztnQkFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsWUFBWSxFQUFFLENBQUM7b0JBQzVELFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztvQkFFbkQsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUM7b0JBQzNELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDO29CQUUzRCxTQUFTLEdBQUcsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRCxDQUFDO2dCQUNELElBQUksU0FBUyxLQUFLLEVBQUU7b0JBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQztZQUN4QyxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVELG9CQUFvQixDQUFDLHdCQUFnQyxFQUFFLHdCQUFnQztRQUNyRixNQUFNLDZCQUE2QixHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRSxNQUFNLDZCQUE2QixHQUFHLHdCQUF3QixDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUxRSxNQUFNLGNBQWMsR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDNUQsd0JBQXdCLEVBQ3hCLGVBQWUsQ0FBQyxTQUFTLENBQzFCLENBQUM7UUFDRixNQUFNLGVBQWUsR0FBVyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FDN0Qsd0JBQXdCLEVBQ3hCLGVBQWUsQ0FBQyxVQUFVLENBQzNCLENBQUM7UUFFRixNQUFNLGtCQUFrQixHQUN0Qiw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO1lBQ3hELDZCQUE2QixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzRCxNQUFNLG1CQUFtQixHQUN2Qiw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDO1lBQ3pELDZCQUE2QixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUU1RCxNQUFNLGFBQWEsR0FBRyxjQUFjLEtBQUssR0FBRyxJQUFJLGNBQWMsS0FBSyxHQUFHLENBQUM7UUFDdkUsTUFBTSxjQUFjLEdBQUcsZUFBZSxLQUFLLEdBQUcsQ0FBQztRQUUvQyxJQUFJLGtCQUFrQixJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3pDLDZCQUE2QixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDaEUsT0FBTyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsQ0FBQzthQUFNLElBQUksa0JBQWtCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUNoRCw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQ2hFLE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxJQUFJLG1CQUFtQixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ3pDLDZCQUE2QixDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUM7WUFDL0QsT0FBTyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDakQsQ0FBQzthQUFNLElBQUksbUJBQW1CLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNsRCw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsR0FBRyxDQUFDO1lBQy9ELE9BQU8sNkJBQTZCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2pELENBQUM7UUFFRCxPQUFPLHdCQUF3QixDQUFDO0lBQ2xDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxxQkFBNkI7UUFDNUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzFCLE1BQU0sY0FBYyxHQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUM1RCxxQkFBcUIsRUFDckIsZUFBZSxDQUFDLFNBQVMsQ0FDMUIsQ0FBQztRQUNGLE1BQU0sZUFBZSxHQUFXLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUM3RCxxQkFBcUIsRUFDckIsZUFBZSxDQUFDLFVBQVUsQ0FDM0IsQ0FBQztRQUVGLE1BQU0sYUFBYSxHQUFHLGNBQWMsS0FBSyxHQUFHLElBQUksY0FBYyxLQUFLLEdBQUcsQ0FBQztRQUN2RSxNQUFNLGNBQWMsR0FBRyxlQUFlLEtBQUssR0FBRyxDQUFDO1FBQy9DLE1BQU0sVUFBVSxHQUFZLENBQUMsYUFBYSxJQUFJLENBQUMsY0FBYyxDQUFDO1FBQzlELElBQUksVUFBVSxFQUFFLENBQUM7WUFDZixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDO1lBQ25DLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxhQUFhLEVBQUUsQ0FBQztZQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1lBQ3BDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQztZQUNyQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDbkQsT0FBTztRQUNULENBQUM7SUFDSCxDQUFDO0lBRUQsMkJBQTJCLENBQUMsS0FBYTtRQUN2Qyw4Q0FBOEM7UUFDOUMsTUFBTSxZQUFZLEdBQUcsSUFBSSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDNUMsTUFBTSxRQUFRLEdBQUcsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO1lBQ3BELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZELE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQyxNQUFNLENBQUM7UUFFdEQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuRSxNQUFNLGdCQUFnQixHQUFHLFlBQVksS0FBSyxTQUFTLENBQUM7UUFDcEQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUN2RCxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxZQUFZLEVBQUUsUUFBa0IsQ0FBQztZQUNuRixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sR0FBRyxZQUFZLEVBQUUsT0FBaUIsQ0FBQztRQUNuRixDQUFDO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xGLE1BQU0sZ0JBQWdCLEdBQUcsWUFBWSxLQUFLLFNBQVMsQ0FBQztRQUNwRCxJQUFJLGdCQUFnQixFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQzNELElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLFlBQW1DLENBQUM7UUFDeEYsQ0FBQztRQUVELE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkUsTUFBTSxxQkFBcUIsR0FBRyxjQUFjLEtBQUssU0FBUyxDQUFDO1FBQzNELElBQUkscUJBQXFCLEVBQUUsQ0FBQztZQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7WUFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLEdBQUcsY0FBYyxFQUFFLEdBQWEsQ0FBQztZQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEdBQUcsR0FBRyxjQUFjLEVBQUUsR0FBYSxDQUFDO1FBQ2pGLENBQUM7SUFDSCxDQUFDO0lBRUQsNEJBQTRCLENBQUMsS0FBYTtRQUN4QyxNQUFNLGdCQUFnQixHQUFHLEtBQUssSUFBSSxHQUFHLENBQUM7UUFDdEMsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDO1lBQ3RELE9BQU87UUFDVCxDQUFDO1FBRUQsaURBQWlEO1FBQ2pELE1BQU0sWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzlDLE1BQU0sUUFBUSxHQUFHLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDZCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3RCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDO1FBRXhELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLEtBQUssU0FBUyxDQUFDO1FBQ3BELElBQUksZ0JBQWdCLEVBQUUsQ0FBQztZQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEdBQUcsWUFBWSxFQUFFLFFBQWtCLENBQUM7WUFDcEYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsWUFBWSxFQUFFLE9BQWlCLENBQUM7UUFDcEYsQ0FBQztRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsbUJBQW1CLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNsRixNQUFNLGdCQUFnQixHQUFHLFlBQVksS0FBSyxTQUFTLENBQUM7UUFDcEQsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztZQUM1RCxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxZQUFtQyxDQUFDO1FBQ3pGLENBQUM7SUFDSCxDQUFDOzhHQXhOVSxVQUFVO2tIQUFWLFVBQVU7OzJGQUFWLFVBQVU7a0JBRHRCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vY3Jvbi1qb2Iuc2VydmljZSc7XG5pbXBvcnQgeyBJRXhwcmVzc2lvbiB9IGZyb20gJy4uL3R5cGVzL2lleHByZXNzaW9uJztcbmltcG9ydCB7IERyb3BEb3duSXRlbSwgUmVnZXhJdGVtc0luZGV4IH0gZnJvbSAnLi4vdHlwZXMvc2hhcmVkLm1vZGVsJztcbmltcG9ydCB7IEJhc2VPbk1vbnRoVHlwZSwgQmFzZU9uV2Vla1R5cGUsIERheSwgRGF5VHlwZSB9IGZyb20gJy4vZGF5Lm1vZGVsJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIERheVNlcnZpY2UgaW1wbGVtZW50cyBJRXhwcmVzc2lvbiB7XG4gIGRheU1vZGVsOiBEYXk7XG4gIGRheXNMaXN0OiBBcnJheTxzdHJpbmc+ID0gWydTdW5kYXknLCAnTW9uZGF5JywgJ1R1ZXNkYXknLCAnV2VkbmVzZGF5JywgJ1RodXJzZGF5JywgJ0ZyaWRheScsICdTYXR1cmRheSddO1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0cmluZ1NlcnZpY2U6IFN0cmluZ1NlcnZpY2UpIHtcbiAgICB0aGlzLmRheU1vZGVsID0gbmV3IERheSgpO1xuICB9XG5cbiAgZ2V0RXhwcmVzc2lvbigpOiBhbnkge1xuICAgIGxldCBib01vbnRoRXhwID0gJyc7XG4gICAgbGV0IGJvV2Vla0V4cCA9ICcnO1xuICAgIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuRXZlcnkpIHtcbiAgICAgIGJvTW9udGhFeHAgPSAnPyc7XG4gICAgICBib1dlZWtFeHAgPSAnKic7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuQk9Nb250aCkge1xuICAgICAgYm9XZWVrRXhwID0gJz8nO1xuICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGgudHlwZSA9PT0gQmFzZU9uTW9udGhUeXBlLkxhc3QpIHtcbiAgICAgICAgYm9Nb250aEV4cCA9ICdMJztcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC50eXBlID09PSBCYXNlT25Nb250aFR5cGUuQmVmb3JlKSB7XG4gICAgICAgIGNvbnN0IGJlZm9yZSA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGguYmVmb3JlO1xuXG4gICAgICAgIGJvTW9udGhFeHAgPSBgTC0ke2JlZm9yZX1gO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPT09IEJhc2VPbk1vbnRoVHlwZS5DdXN0b20pIHtcbiAgICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGguY3VzdG9tLnJlcGVhdC5pc1JlcGVhdCkge1xuICAgICAgICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20ucmVwZWF0LmludGVydmFsO1xuICAgICAgICAgIGNvbnN0IHN0YXJ0QXQgPSB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuc3RhcnRBdDtcbiAgICAgICAgICBib01vbnRoRXhwID0gYCR7c3RhcnRBdH0vJHtpbnRlcnZhbH1gO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNlZmljKSB7XG4gICAgICAgICAgY29uc3Qgc3BlY2lmaWNWYWx1ZXMgPSB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMubWFwKCh2KSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdi5pZDtcbiAgICAgICAgICB9KTtcblxuICAgICAgICAgIGlmIChzcGVjaWZpY1ZhbHVlcy5sZW5ndGggIT09IDApIGJvTW9udGhFeHAgPSB0aGlzLnN0cmluZ1NlcnZpY2UuYWRkQ29tbWEoYm9Nb250aEV4cCk7XG5cbiAgICAgICAgICBib01vbnRoRXhwID0gYm9Nb250aEV4cC5jb25jYXQoc3BlY2lmaWNWYWx1ZXMuam9pbignLCcpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm9Nb250aEV4cCA9PT0gJycpIGJvTW9udGhFeHAgPSAnKic7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh0aGlzLmRheU1vZGVsLnR5cGUgPT09IERheVR5cGUuQk9XZWVrKSB7XG4gICAgICBib01vbnRoRXhwID0gJz8nO1xuICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay50eXBlID09PSBCYXNlT25XZWVrVHlwZS5MYXN0KSB7XG4gICAgICAgIGNvbnN0IGxhc3REYXkgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsubGFzdC5kYXk7XG5cbiAgICAgICAgYm9XZWVrRXhwID0gYCR7bGFzdERheX1MYDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGUgPT09IEJhc2VPbldlZWtUeXBlLkN1c3RvbSkge1xuICAgICAgICBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQpIHtcbiAgICAgICAgICBjb25zdCBpbnRlcnZhbCA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20ucmVwZWF0LmludGVydmFsO1xuICAgICAgICAgIGNvbnN0IHN0YXJ0QXQgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnJlcGVhdC5zdGFydEF0O1xuICAgICAgICAgIGJvV2Vla0V4cCA9IGAke3N0YXJ0QXR9LyR7aW50ZXJ2YWx9YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNlZmljKSB7XG4gICAgICAgICAgY29uc3Qgc3BlY2lmaWNWYWx1ZXMgPSB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnNwZWNpZmljLnZhbHVlcy5tYXAoKHYpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB2LmlkO1xuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgaWYgKHNwZWNpZmljVmFsdWVzLmxlbmd0aCAhPT0gMCkgYm9XZWVrRXhwID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmFkZENvbW1hKGJvV2Vla0V4cCk7XG5cbiAgICAgICAgICBib1dlZWtFeHAgPSBib1dlZWtFeHAuY29uY2F0KHNwZWNpZmljVmFsdWVzLmpvaW4oJywnKSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5pc0RheU9mTW9udGgpIHtcbiAgICAgICAgICBib1dlZWtFeHAgPSB0aGlzLnN0cmluZ1NlcnZpY2UuYWRkQ29tbWEoYm9XZWVrRXhwKTtcblxuICAgICAgICAgIGNvbnN0IGRheSA9IHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5kYXk7XG4gICAgICAgICAgY29uc3QgeHN0ID0gdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5kYXlPZk1vbnRoLnhzdDtcblxuICAgICAgICAgIGJvV2Vla0V4cCA9IGJvV2Vla0V4cC5jb25jYXQoYCR7ZGF5fSMke3hzdH1gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYm9XZWVrRXhwID09PSAnJykgYm9XZWVrRXhwID0gJyonO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBbYm9XZWVrRXhwLCBib01vbnRoRXhwXTtcbiAgfVxuXG4gIGV4cHJlc3Npb25WYWxpZGF0aW9uKHByZUNyb25FeHByZXNzaW9uUGF0dGVybjogc3RyaW5nLCBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm46IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3QgcHJlQ3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXkgPSBwcmVDcm9uRXhwcmVzc2lvblBhdHRlcm4uc3BsaXQoJyAnKTtcbiAgICBjb25zdCBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheSA9IG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybi5zcGxpdCgnICcpO1xuXG4gICAgY29uc3QgZGF5T2ZXZWVrUmVnZXg6IHN0cmluZyA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRSZWdleEl0ZW0oXG4gICAgICBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm4sXG4gICAgICBSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrLFxuICAgICk7XG4gICAgY29uc3QgZGF5T2ZNb250aFJlZ2V4OiBzdHJpbmcgPSB0aGlzLnN0cmluZ1NlcnZpY2UuZ2V0UmVnZXhJdGVtKFxuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuLFxuICAgICAgUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGgsXG4gICAgKTtcblxuICAgIGNvbnN0IGlzRGF5T2ZXZWVrQ2hhbmdlZCA9XG4gICAgICBwcmVDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheVtSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrXSAhPT1cbiAgICAgIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5W1JlZ2V4SXRlbXNJbmRleC5EYXlPZldlZWtdO1xuICAgIGNvbnN0IGlzRGF5T2ZNb250aENoYW5nZWQgPVxuICAgICAgcHJlQ3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdICE9PVxuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdO1xuXG4gICAgY29uc3QgaXNCYXNlZE9uV2VlayA9IGRheU9mV2Vla1JlZ2V4ICE9PSAnKicgJiYgZGF5T2ZXZWVrUmVnZXggIT09ICc/JztcbiAgICBjb25zdCBpc0Jhc2VkT25Nb250aCA9IGRheU9mTW9udGhSZWdleCAhPT0gJz8nO1xuXG4gICAgaWYgKGlzRGF5T2ZXZWVrQ2hhbmdlZCAmJiBpc0Jhc2VkT25Nb250aCkge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdID0gJz8nO1xuICAgICAgcmV0dXJuIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5LmpvaW4oJyAnKTtcbiAgICB9IGVsc2UgaWYgKGlzRGF5T2ZXZWVrQ2hhbmdlZCAmJiAhaXNCYXNlZE9uV2Vlaykge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mTW9udGhdID0gJyonO1xuICAgICAgcmV0dXJuIG5ld0Nyb25FeHByZXNzaW9uUGF0dGVybkFycmF5LmpvaW4oJyAnKTtcbiAgICB9XG5cbiAgICBpZiAoaXNEYXlPZk1vbnRoQ2hhbmdlZCAmJiBpc0Jhc2VkT25XZWVrKSB7XG4gICAgICBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheVtSZWdleEl0ZW1zSW5kZXguRGF5T2ZXZWVrXSA9ICc/JztcbiAgICAgIHJldHVybiBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm5BcnJheS5qb2luKCcgJyk7XG4gICAgfSBlbHNlIGlmIChpc0RheU9mTW9udGhDaGFuZ2VkICYmICFpc0Jhc2VkT25Nb250aCkge1xuICAgICAgbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXlbUmVnZXhJdGVtc0luZGV4LkRheU9mV2Vla10gPSAnKic7XG4gICAgICByZXR1cm4gbmV3Q3JvbkV4cHJlc3Npb25QYXR0ZXJuQXJyYXkuam9pbignICcpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXdDcm9uRXhwcmVzc2lvblBhdHRlcm47XG4gIH1cblxuICByZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5kYXlNb2RlbCA9IG5ldyBEYXkoKTtcbiAgICBjb25zdCBkYXlPZldlZWtSZWdleDogc3RyaW5nID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldFJlZ2V4SXRlbShcbiAgICAgIGNyb25FeHByZXNzaW9uUGF0dGVybixcbiAgICAgIFJlZ2V4SXRlbXNJbmRleC5EYXlPZldlZWssXG4gICAgKTtcbiAgICBjb25zdCBkYXlPZk1vbnRoUmVnZXg6IHN0cmluZyA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRSZWdleEl0ZW0oXG4gICAgICBjcm9uRXhwcmVzc2lvblBhdHRlcm4sXG4gICAgICBSZWdleEl0ZW1zSW5kZXguRGF5T2ZNb250aCxcbiAgICApO1xuXG4gICAgY29uc3QgaXNCYXNlZE9uV2VlayA9IGRheU9mV2Vla1JlZ2V4ICE9PSAnKicgJiYgZGF5T2ZXZWVrUmVnZXggIT09ICc/JztcbiAgICBjb25zdCBpc0Jhc2VkT25Nb250aCA9IGRheU9mTW9udGhSZWdleCAhPT0gJz8nO1xuICAgIGNvbnN0IGlzRXZlcnlEYXk6IGJvb2xlYW4gPSAhaXNCYXNlZE9uV2VlayAmJiAhaXNCYXNlZE9uTW9udGg7XG4gICAgaWYgKGlzRXZlcnlEYXkpIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwudHlwZSA9IERheVR5cGUuRXZlcnk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGlzQmFzZWRPbldlZWspIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwudHlwZSA9IERheVR5cGUuQk9XZWVrO1xuICAgICAgdGhpcy5yZXZlcnNFeHByZXNzaW9uQmFzZWRPbldlZWsoZGF5T2ZXZWVrUmVnZXgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc0Jhc2VkT25Nb250aCkge1xuICAgICAgdGhpcy5kYXlNb2RlbC50eXBlID0gRGF5VHlwZS5CT01vbnRoO1xuICAgICAgdGhpcy5yZXZlcnNFeHByZXNzaW9uQmFzZWRPbk1vbnRoKGRheU9mTW9udGhSZWdleCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgcmV2ZXJzRXhwcmVzc2lvbkJhc2VkT25XZWVrKHJlZ2V4OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAvLyAqKlJlZ2V4IHBhdHRlcm4gdG8gY2hlY2sgaWQgY3VzdG9tIG9yIG5vdCoqXG4gICAgY29uc3QgcmVnZXhQYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXlswLTldTCQnKTtcbiAgICBjb25zdCBpc0N1c3RvbSA9ICFyZWdleFBhdHRlcm4udGVzdChyZWdleCk7XG4gICAgaWYgKCFpc0N1c3RvbSkge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLnR5cGUgPSBCYXNlT25XZWVrVHlwZS5MYXN0O1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmxhc3QuZGF5ID0gcGFyc2VJbnQocmVnZXhbMF0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay50eXBlID0gQmFzZU9uV2Vla1R5cGUuQ3VzdG9tO1xuXG4gICAgY29uc3QgaW50ZXJ2YWxEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldEludGVydmFsQ3JvbkRhdGEocmVnZXgpO1xuICAgIGNvbnN0IGhhc0ludGVydmFsSXRlbXMgPSBpbnRlcnZhbERhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzSW50ZXJ2YWxJdGVtcykge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQgPSB0cnVlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25XZWVrLmN1c3RvbS5yZXBlYXQuaW50ZXJ2YWwgPSBpbnRlcnZhbERhdGE/LmludGVydmFsIGFzIG51bWJlcjtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20ucmVwZWF0LnN0YXJ0QXQgPSBpbnRlcnZhbERhdGE/LnN0YXJ0QXQgYXMgbnVtYmVyO1xuICAgIH1cblxuICAgIGNvbnN0IHNwZWNpZmljRGF0YSA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRTcGVjaWZpY0Nyb25EYXRhKHJlZ2V4LCB0aGlzLmRheXNMaXN0KTtcbiAgICBjb25zdCBoYXNTcGVjaWZpY0l0ZW1zID0gc3BlY2lmaWNEYXRhICE9PSB1bmRlZmluZWQ7XG4gICAgaWYgKGhhc1NwZWNpZmljSXRlbXMpIHtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uc3BlY2lmaWMuaXNTcGVjZWZpYyA9IHRydWU7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLnNwZWNpZmljLnZhbHVlcyA9IHNwZWNpZmljRGF0YSBhcyBBcnJheTxEcm9wRG93bkl0ZW0+O1xuICAgIH1cblxuICAgIGNvbnN0IGRheU9mTW9udGhEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldERheU9mTW9udGhDcm9uRGF0YShyZWdleCk7XG4gICAgY29uc3QgaGFzRGF5T2ZNb250aERhdGFJdGVtID0gZGF5T2ZNb250aERhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzRGF5T2ZNb250aERhdGFJdGVtKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbldlZWsuY3VzdG9tLmRheU9mTW9udGguaXNEYXlPZk1vbnRoID0gdHJ1ZTtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC5kYXkgPSBkYXlPZk1vbnRoRGF0YT8uZGF5IGFzIG51bWJlcjtcbiAgICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uV2Vlay5jdXN0b20uZGF5T2ZNb250aC54c3QgPSBkYXlPZk1vbnRoRGF0YT8ueHN0IGFzIG51bWJlcjtcbiAgICB9XG4gIH1cblxuICByZXZlcnNFeHByZXNzaW9uQmFzZWRPbk1vbnRoKHJlZ2V4OiBzdHJpbmcpIHtcbiAgICBjb25zdCBpc0xhc3REYXlPZk1vbnRoID0gcmVnZXggPT0gJ0wnO1xuICAgIGlmIChpc0xhc3REYXlPZk1vbnRoKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPSBCYXNlT25Nb250aFR5cGUuTGFzdDtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyAqKlJlZ2V4IHBhdHRlcm4gdG8gY2hlY2sgaWYgaWQgYmVmb3JlIG9yIG5vdCoqXG4gICAgY29uc3QgcmVnZXhQYXR0ZXJuID0gbmV3IFJlZ0V4cCgnXkwtWzAtOV0rJCcpO1xuICAgIGNvbnN0IGlzQ3VzdG9tID0gIXJlZ2V4UGF0dGVybi50ZXN0KHJlZ2V4KTtcbiAgICBpZiAoIWlzQ3VzdG9tKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLnR5cGUgPSBCYXNlT25Nb250aFR5cGUuQmVmb3JlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5iZWZvcmUgPSBwYXJzZUludChyZWdleC5zdWJzdHIoMikpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuZGF5TW9kZWwuYmFzZU9uTW9udGgudHlwZSA9IEJhc2VPbk1vbnRoVHlwZS5DdXN0b207XG5cbiAgICBjb25zdCBpbnRlcnZhbERhdGEgPSB0aGlzLnN0cmluZ1NlcnZpY2UuZ2V0SW50ZXJ2YWxDcm9uRGF0YShyZWdleCk7XG4gICAgY29uc3QgaGFzSW50ZXJ2YWxJdGVtcyA9IGludGVydmFsRGF0YSAhPT0gdW5kZWZpbmVkO1xuICAgIGlmIChoYXNJbnRlcnZhbEl0ZW1zKSB7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXQgPSB0cnVlO1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20ucmVwZWF0LmludGVydmFsID0gaW50ZXJ2YWxEYXRhPy5pbnRlcnZhbCBhcyBudW1iZXI7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5yZXBlYXQuc3RhcnRBdCA9IGludGVydmFsRGF0YT8uc3RhcnRBdCBhcyBudW1iZXI7XG4gICAgfVxuXG4gICAgY29uc3Qgc3BlY2lmaWNEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldFNwZWNpZmljQ3JvbkRhdGEocmVnZXgsIHRoaXMuZGF5c0xpc3QpO1xuICAgIGNvbnN0IGhhc1NwZWNpZmljSXRlbXMgPSBzcGVjaWZpY0RhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzU3BlY2lmaWNJdGVtcykge1xuICAgICAgdGhpcy5kYXlNb2RlbC5iYXNlT25Nb250aC5jdXN0b20uc3BlY2lmaWMuaXNTcGVjZWZpYyA9IHRydWU7XG4gICAgICB0aGlzLmRheU1vZGVsLmJhc2VPbk1vbnRoLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMgPSBzcGVjaWZpY0RhdGEgYXMgQXJyYXk8RHJvcERvd25JdGVtPjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { afterNextRender, Component, inject, ViewEncapsulation } from '@angular/core';
2
+ import { DropDownItem, Type } from '../types/shared.model';
3
+ import { HoursService } from './hours.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@acorex/components/decorators";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@acorex/components/select-box";
8
+ import * as i4 from "@acorex/components/form";
9
+ import * as i5 from "@acorex/components/check-box";
10
+ import * as i6 from "@angular/common";
11
+ import * as i7 from "@acorex/core/translation";
12
+ export class AXCronHoursComponent {
13
+ constructor() {
14
+ this.hoursService = inject(HoursService);
15
+ this.dropdownList = [];
16
+ this.zeroTo23 = [];
17
+ this.#init = afterNextRender(() => {
18
+ for (let i = 0; i < 24; i++) {
19
+ this.zeroTo23[i] = i;
20
+ this.dropdownList[i] = new DropDownItem(i, i.toString());
21
+ }
22
+ });
23
+ }
24
+ #init;
25
+ changeHandler(e) {
26
+ this.hoursService.hourModel.custom.specific.values = e.component.selectedItems;
27
+ }
28
+ get isCustom() {
29
+ return this.hoursService.hourModel.type === Type.Every ? false : true;
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronHoursComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXCronHoursComponent, selector: "ax-cron-hours", ngImport: i0, template: "<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"every\"\n id=\"option1\"\n value=\"every\"\n [(ngModel)]=\"hoursService.hourModel.type\"\n checked\n />\n <label>{{ 'Every' | translate | async }} {{ 'time.hour' | translate | async }}</label>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"custom\"\n id=\"option2\"\n value=\"custom\"\n [(ngModel)]=\"hoursService.hourModel.type\"\n />\n <label>{{ 'Custom' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-every-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"hoursService.hourModel.custom.repeat.isRepeat\">\n </ax-check-box>\n\n <span>{{ 'Every' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo23\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"hoursService.hourModel.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'hour(s) starting at hour' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo23\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"hoursService.hourModel.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"hoursService.hourModel.custom.specific.isSpecific\">\n </ax-check-box>\n <label>{{ 'Specific hour(s) (choose one or many)' | translate | async }} </label>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"dropdownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select hour(s)' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-between-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"hoursService.hourModel.custom.between.isBetween\">\n </ax-check-box>\n <label>\n {{ 'Every' | translate | async }} {{ 'time.hour' | translate | async }}\n {{ 'between' | translate | async }} {{ 'time.hour' | translate | async }}\n </label>\n </div>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo23\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"hoursService.hourModel.custom.between.from\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'and' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo23\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"hoursService.hourModel.custom.between.to\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n</div>\n", styles: ["ax-cron-day .ax-radio-container,ax-cron-hours .ax-radio-container,ax-cron-minutes .ax-radio-container,ax-cron-month .ax-radio-container,ax-cron-seconds .ax-radio-container,ax-cron-year .ax-radio-container{margin-bottom:.5rem;display:flex;align-items:center}ax-cron-day .ax-radio-container input,ax-cron-hours .ax-radio-container input,ax-cron-minutes .ax-radio-container input,ax-cron-month .ax-radio-container input,ax-cron-seconds .ax-radio-container input,ax-cron-year .ax-radio-container input{margin-inline-end:.5rem}ax-cron-day .ax-block-container,ax-cron-hours .ax-block-container,ax-cron-minutes .ax-block-container,ax-cron-month .ax-block-container,ax-cron-seconds .ax-block-container,ax-cron-year .ax-block-container{padding-inline-start:1.5rem}ax-cron-day .ax-block-container .ax-every-container,ax-cron-hours .ax-block-container .ax-every-container,ax-cron-minutes .ax-block-container .ax-every-container,ax-cron-month .ax-block-container .ax-every-container,ax-cron-seconds .ax-block-container .ax-every-container,ax-cron-year .ax-block-container .ax-every-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-every-container ax-form,ax-cron-hours .ax-block-container .ax-every-container ax-form,ax-cron-minutes .ax-block-container .ax-every-container ax-form,ax-cron-month .ax-block-container .ax-every-container ax-form,ax-cron-seconds .ax-block-container .ax-every-container ax-form,ax-cron-year .ax-block-container .ax-every-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-specific-container,ax-cron-hours .ax-block-container .ax-specific-container,ax-cron-minutes .ax-block-container .ax-specific-container,ax-cron-month .ax-block-container .ax-specific-container,ax-cron-seconds .ax-block-container .ax-specific-container,ax-cron-year .ax-block-container .ax-specific-container{margin-block:.5rem}ax-cron-day .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-month .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-year .ax-block-container .ax-specific-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container,ax-cron-hours .ax-block-container .ax-between-container,ax-cron-minutes .ax-block-container .ax-between-container,ax-cron-month .ax-block-container .ax-between-container,ax-cron-seconds .ax-block-container .ax-between-container,ax-cron-year .ax-block-container .ax-between-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-between-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-between-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-between-container .ax-flex-container,ax-cron-month .ax-block-container .ax-between-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-between-container .ax-flex-container,ax-cron-year .ax-block-container .ax-between-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container ax-form,ax-cron-hours .ax-block-container .ax-between-container ax-form,ax-cron-minutes .ax-block-container .ax-between-container ax-form,ax-cron-month .ax-block-container .ax-between-container ax-form,ax-cron-seconds .ax-block-container .ax-between-container ax-form,ax-cron-year .ax-block-container .ax-between-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container,ax-cron-hours .ax-block-container .ax-week-container,ax-cron-minutes .ax-block-container .ax-week-container,ax-cron-month .ax-block-container .ax-week-container,ax-cron-seconds .ax-block-container .ax-week-container,ax-cron-year .ax-block-container .ax-week-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-week-container ax-form,ax-cron-hours .ax-block-container .ax-week-container ax-form,ax-cron-minutes .ax-block-container .ax-week-container ax-form,ax-cron-month .ax-block-container .ax-week-container ax-form,ax-cron-seconds .ax-block-container .ax-week-container ax-form,ax-cron-year .ax-block-container .ax-week-container ax-form{width:fit-content;margin-inline:.5rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i4.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i4.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "component", type: i5.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronHoursComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'ax-cron-hours', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"every\"\n id=\"option1\"\n value=\"every\"\n [(ngModel)]=\"hoursService.hourModel.type\"\n checked\n />\n <label>{{ 'Every' | translate | async }} {{ 'time.hour' | translate | async }}</label>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"custom\"\n id=\"option2\"\n value=\"custom\"\n [(ngModel)]=\"hoursService.hourModel.type\"\n />\n <label>{{ 'Custom' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-every-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"hoursService.hourModel.custom.repeat.isRepeat\">\n </ax-check-box>\n\n <span>{{ 'Every' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo23\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"hoursService.hourModel.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'hour(s) starting at hour' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo23\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"hoursService.hourModel.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"hoursService.hourModel.custom.specific.isSpecific\">\n </ax-check-box>\n <label>{{ 'Specific hour(s) (choose one or many)' | translate | async }} </label>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"dropdownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select hour(s)' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-between-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"hoursService.hourModel.custom.between.isBetween\">\n </ax-check-box>\n <label>\n {{ 'Every' | translate | async }} {{ 'time.hour' | translate | async }}\n {{ 'between' | translate | async }} {{ 'time.hour' | translate | async }}\n </label>\n </div>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo23\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"hoursService.hourModel.custom.between.from\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'and' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo23\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"hoursService.hourModel.custom.between.to\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n</div>\n", styles: ["ax-cron-day .ax-radio-container,ax-cron-hours .ax-radio-container,ax-cron-minutes .ax-radio-container,ax-cron-month .ax-radio-container,ax-cron-seconds .ax-radio-container,ax-cron-year .ax-radio-container{margin-bottom:.5rem;display:flex;align-items:center}ax-cron-day .ax-radio-container input,ax-cron-hours .ax-radio-container input,ax-cron-minutes .ax-radio-container input,ax-cron-month .ax-radio-container input,ax-cron-seconds .ax-radio-container input,ax-cron-year .ax-radio-container input{margin-inline-end:.5rem}ax-cron-day .ax-block-container,ax-cron-hours .ax-block-container,ax-cron-minutes .ax-block-container,ax-cron-month .ax-block-container,ax-cron-seconds .ax-block-container,ax-cron-year .ax-block-container{padding-inline-start:1.5rem}ax-cron-day .ax-block-container .ax-every-container,ax-cron-hours .ax-block-container .ax-every-container,ax-cron-minutes .ax-block-container .ax-every-container,ax-cron-month .ax-block-container .ax-every-container,ax-cron-seconds .ax-block-container .ax-every-container,ax-cron-year .ax-block-container .ax-every-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-every-container ax-form,ax-cron-hours .ax-block-container .ax-every-container ax-form,ax-cron-minutes .ax-block-container .ax-every-container ax-form,ax-cron-month .ax-block-container .ax-every-container ax-form,ax-cron-seconds .ax-block-container .ax-every-container ax-form,ax-cron-year .ax-block-container .ax-every-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-specific-container,ax-cron-hours .ax-block-container .ax-specific-container,ax-cron-minutes .ax-block-container .ax-specific-container,ax-cron-month .ax-block-container .ax-specific-container,ax-cron-seconds .ax-block-container .ax-specific-container,ax-cron-year .ax-block-container .ax-specific-container{margin-block:.5rem}ax-cron-day .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-month .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-year .ax-block-container .ax-specific-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container,ax-cron-hours .ax-block-container .ax-between-container,ax-cron-minutes .ax-block-container .ax-between-container,ax-cron-month .ax-block-container .ax-between-container,ax-cron-seconds .ax-block-container .ax-between-container,ax-cron-year .ax-block-container .ax-between-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-between-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-between-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-between-container .ax-flex-container,ax-cron-month .ax-block-container .ax-between-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-between-container .ax-flex-container,ax-cron-year .ax-block-container .ax-between-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container ax-form,ax-cron-hours .ax-block-container .ax-between-container ax-form,ax-cron-minutes .ax-block-container .ax-between-container ax-form,ax-cron-month .ax-block-container .ax-between-container ax-form,ax-cron-seconds .ax-block-container .ax-between-container ax-form,ax-cron-year .ax-block-container .ax-between-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container,ax-cron-hours .ax-block-container .ax-week-container,ax-cron-minutes .ax-block-container .ax-week-container,ax-cron-month .ax-block-container .ax-week-container,ax-cron-seconds .ax-block-container .ax-week-container,ax-cron-year .ax-block-container .ax-week-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-week-container ax-form,ax-cron-hours .ax-block-container .ax-week-container ax-form,ax-cron-minutes .ax-block-container .ax-week-container ax-form,ax-cron-month .ax-block-container .ax-week-container ax-form,ax-cron-seconds .ax-block-container .ax-week-container ax-form,ax-cron-year .ax-block-container .ax-week-container ax-form{width:fit-content;margin-inline:.5rem}\n"] }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91cnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Nyb24tam9iL3NyYy9saWIvaG91cnMvaG91cnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Nyb24tam9iL3NyYy9saWIvaG91cnMvaG91cnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLGVBQWUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDM0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7QUFRL0MsTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQU9FLGlCQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRTFCLGlCQUFZLEdBQW1CLEVBQUUsQ0FBQztRQUNsQyxhQUFRLEdBQWEsRUFBRSxDQUFDO1FBRWxDLFVBQUssR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQzNCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDNUIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3JCLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxZQUFZLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1lBQzNELENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztLQVFKO0lBYkMsS0FBSyxDQUtGO0lBRU8sYUFBYSxDQUFDLENBQXNCO1FBQzVDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxTQUFTLENBQUMsYUFBYSxDQUFDO0lBQ2pGLENBQUM7SUFDRCxJQUFjLFFBQVE7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDeEUsQ0FBQzs4R0FsQlUsb0JBQW9CO2tHQUFwQixvQkFBb0IscURDWGpDLGtsSEE0SEE7OzJGRGpIYSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3BEb3duSXRlbSwgVHlwZSB9IGZyb20gJy4uL3R5cGVzL3NoYXJlZC5tb2RlbCc7XG5pbXBvcnQgeyBIb3Vyc1NlcnZpY2UgfSBmcm9tICcuL2hvdXJzLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jcm9uLWhvdXJzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hvdXJzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4uL2Nyb24tam9iLnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDcm9uSG91cnNDb21wb25lbnQge1xuICBob3Vyc1NlcnZpY2UgPSBpbmplY3QoSG91cnNTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgZHJvcGRvd25MaXN0OiBEcm9wRG93bkl0ZW1bXSA9IFtdO1xuICBwcm90ZWN0ZWQgemVyb1RvMjM6IG51bWJlcltdID0gW107XG5cbiAgI2luaXQgPSBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMjQ7IGkrKykge1xuICAgICAgdGhpcy56ZXJvVG8yM1tpXSA9IGk7XG4gICAgICB0aGlzLmRyb3Bkb3duTGlzdFtpXSA9IG5ldyBEcm9wRG93bkl0ZW0oaSwgaS50b1N0cmluZygpKTtcbiAgICB9XG4gIH0pO1xuXG4gIHByb3RlY3RlZCBjaGFuZ2VIYW5kbGVyKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQpIHtcbiAgICB0aGlzLmhvdXJzU2VydmljZS5ob3VyTW9kZWwuY3VzdG9tLnNwZWNpZmljLnZhbHVlcyA9IGUuY29tcG9uZW50LnNlbGVjdGVkSXRlbXM7XG4gIH1cbiAgcHJvdGVjdGVkIGdldCBpc0N1c3RvbSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ob3Vyc1NlcnZpY2UuaG91ck1vZGVsLnR5cGUgPT09IFR5cGUuRXZlcnkgPyBmYWxzZSA6IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1yYWRpby1jb250YWluZXJcIj5cbiAgPGlucHV0XG4gICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgdHlwZT1cInJhZGlvXCJcbiAgICBuYW1lPVwiZXZlcnlcIlxuICAgIGlkPVwib3B0aW9uMVwiXG4gICAgdmFsdWU9XCJldmVyeVwiXG4gICAgWyhuZ01vZGVsKV09XCJob3Vyc1NlcnZpY2UuaG91ck1vZGVsLnR5cGVcIlxuICAgIGNoZWNrZWRcbiAgLz5cbiAgPGxhYmVsPnt7ICdFdmVyeScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fSB7eyAndGltZS5ob3VyJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9sYWJlbD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYXgtcmFkaW8tY29udGFpbmVyXCI+XG4gIDxpbnB1dFxuICAgIGNsYXNzPVwiYXgtcmFkaW9cIlxuICAgIHR5cGU9XCJyYWRpb1wiXG4gICAgbmFtZT1cImN1c3RvbVwiXG4gICAgaWQ9XCJvcHRpb24yXCJcbiAgICB2YWx1ZT1cImN1c3RvbVwiXG4gICAgWyhuZ01vZGVsKV09XCJob3Vyc1NlcnZpY2UuaG91ck1vZGVsLnR5cGVcIlxuICAvPlxuICA8bGFiZWw+e3sgJ0N1c3RvbScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWw+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImF4LWJsb2NrLWNvbnRhaW5lclwiPlxuICA8ZGl2IGNsYXNzPVwiYXgtZXZlcnktY29udGFpbmVyXCI+XG4gICAgPGF4LWNoZWNrLWJveCBbZGlzYWJsZWRdPVwiIWlzQ3VzdG9tXCIgWyhuZ01vZGVsKV09XCJob3Vyc1NlcnZpY2UuaG91ck1vZGVsLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXRcIj5cbiAgICA8L2F4LWNoZWNrLWJveD5cblxuICAgIDxzcGFuPnt7ICdFdmVyeScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cblxuICAgIDxheC1mb3JtIGNsYXNzPVwiYXgtc21cIj5cbiAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNDdXN0b21cIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cInplcm9UbzIzXCJcbiAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaG91cnNTZXJ2aWNlLmhvdXJNb2RlbC5jdXN0b20ucmVwZWF0LmludGVydmFsXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgPC9heC1mb3JtPlxuXG4gICAgPHNwYW4+e3sgJ2hvdXIocykgc3RhcnRpbmcgYXQgaG91cicgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cblxuICAgIDxheC1mb3JtIGNsYXNzPVwiYXgtc21cIj5cbiAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNDdXN0b21cIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cInplcm9UbzIzXCJcbiAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwiaG91cnNTZXJ2aWNlLmhvdXJNb2RlbC5jdXN0b20ucmVwZWF0LnN0YXJ0QXRcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8L2F4LWZvcm0+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJheC1zcGVjaWZpYy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC1jb250YWluZXJcIj5cbiAgICAgIDxheC1jaGVjay1ib3ggW2Rpc2FibGVkXT1cIiFpc0N1c3RvbVwiIFsobmdNb2RlbCldPVwiaG91cnNTZXJ2aWNlLmhvdXJNb2RlbC5jdXN0b20uc3BlY2lmaWMuaXNTcGVjaWZpY1wiPlxuICAgICAgPC9heC1jaGVjay1ib3g+XG4gICAgICA8bGFiZWw+e3sgJ1NwZWNpZmljIGhvdXIocykgKGNob29zZSBvbmUgb3IgbWFueSknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX0gPC9sYWJlbD5cbiAgICA8L2Rpdj5cblxuICAgIDxheC1mb3JtPlxuICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0N1c3RvbVwiXG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiZHJvcGRvd25MaXN0XCJcbiAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInc2VsZWN0IGhvdXIocyknIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiY2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8L2F4LWZvcm0+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJheC1iZXR3ZWVuLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4LWNvbnRhaW5lclwiPlxuICAgICAgPGF4LWNoZWNrLWJveCBbZGlzYWJsZWRdPVwiIWlzQ3VzdG9tXCIgWyhuZ01vZGVsKV09XCJob3Vyc1NlcnZpY2UuaG91ck1vZGVsLmN1c3RvbS5iZXR3ZWVuLmlzQmV0d2VlblwiPlxuICAgICAgPC9heC1jaGVjay1ib3g+XG4gICAgICA8bGFiZWw+XG4gICAgICAgIHt7ICdFdmVyeScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fSB7eyAndGltZS5ob3VyJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgIHt7ICdiZXR3ZWVuJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19IHt7ICd0aW1lLmhvdXInIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX1cbiAgICAgIDwvbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8YXgtZm9ybSBjbGFzcz1cImF4LXNtXCI+XG4gICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQ3VzdG9tXCJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ6ZXJvVG8yM1wiXG4gICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImhvdXJzU2VydmljZS5ob3VyTW9kZWwuY3VzdG9tLmJldHdlZW4uZnJvbVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgIDwvYXgtZm9ybT5cblxuICAgIDxzcGFuPnt7ICdhbmQnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG5cbiAgICA8YXgtZm9ybSBjbGFzcz1cImF4LXNtXCI+XG4gICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQ3VzdG9tXCJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ6ZXJvVG8yM1wiXG4gICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cImhvdXJzU2VydmljZS5ob3VyTW9kZWwuY3VzdG9tLmJldHdlZW4udG9cIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8L2F4LWZvcm0+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
@@ -0,0 +1,8 @@
1
+ import { Custom, Type } from '../types/shared.model';
2
+ export class Hours {
3
+ constructor() {
4
+ this.type = Type.Every;
5
+ this.custom = new Custom();
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91cnMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY3Jvbi1qb2Ivc3JjL2xpYi9ob3Vycy9ob3Vycy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE1BQU0sT0FBTyxLQUFLO0lBQWxCO1FBQ0UsU0FBSSxHQUFTLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsV0FBTSxHQUFXLElBQUksTUFBTSxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tLCBUeXBlIH0gZnJvbSAnLi4vdHlwZXMvc2hhcmVkLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEhvdXJzIHtcbiAgdHlwZTogVHlwZSA9IFR5cGUuRXZlcnk7XG4gIGN1c3RvbTogQ3VzdG9tID0gbmV3IEN1c3RvbSgpO1xufVxuIl19
@@ -0,0 +1,82 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { StringService } from '../cron-job.service';
3
+ import { RegexItemsIndex, Type } from '../types/shared.model';
4
+ import { Hours } from './hours.model';
5
+ import * as i0 from "@angular/core";
6
+ import * as i1 from "../cron-job.service";
7
+ export class HoursService {
8
+ constructor(stringService) {
9
+ this.stringService = stringService;
10
+ this.hourModel = new Hours();
11
+ }
12
+ getExpression() {
13
+ let expression = '';
14
+ if (this.hourModel.type === Type.Every) {
15
+ expression = '*';
16
+ }
17
+ else if (this.hourModel.type === Type.Custom) {
18
+ //type is custom
19
+ //isRepeat
20
+ if (this.hourModel.custom.repeat.isRepeat) {
21
+ const interval = this.hourModel.custom.repeat.interval;
22
+ const startAt = this.hourModel.custom.repeat.startAt;
23
+ expression = `${startAt}/${interval}`;
24
+ }
25
+ //isSpecific
26
+ if (this.hourModel.custom.specific.isSpecific) {
27
+ const specificValues = this.hourModel.custom.specific.values.map((v) => {
28
+ return v.id;
29
+ });
30
+ if (specificValues.length !== 0)
31
+ expression = this.stringService.addComma(expression);
32
+ expression = expression.concat(specificValues.join(','));
33
+ }
34
+ //isBetween
35
+ if (this.hourModel.custom.between.isBetween) {
36
+ expression = this.stringService.addComma(expression);
37
+ const from = this.hourModel.custom.between.from;
38
+ const to = this.hourModel.custom.between.to;
39
+ expression = expression.concat(`${from}-${to}`);
40
+ }
41
+ if (expression === '')
42
+ expression = '*';
43
+ }
44
+ return expression;
45
+ }
46
+ reversExpression(cronExpressionPattern) {
47
+ this.hourModel = new Hours();
48
+ const regex = this.stringService.getRegexItem(cronExpressionPattern, RegexItemsIndex.Hour);
49
+ const isCustom = regex !== '*';
50
+ if (!isCustom) {
51
+ this.hourModel.type = Type.Every;
52
+ return;
53
+ }
54
+ this.hourModel.type = Type.Custom;
55
+ const intervalData = this.stringService.getIntervalCronData(regex);
56
+ const hasIntervalItems = intervalData !== undefined;
57
+ if (hasIntervalItems) {
58
+ this.hourModel.custom.repeat.isRepeat = true;
59
+ this.hourModel.custom.repeat.interval = intervalData?.interval;
60
+ this.hourModel.custom.repeat.startAt = intervalData?.startAt;
61
+ }
62
+ const specificData = this.stringService.getSpecificCronData(regex);
63
+ const hasSpecificItems = specificData !== undefined;
64
+ if (hasSpecificItems) {
65
+ this.hourModel.custom.specific.isSpecific = true;
66
+ this.hourModel.custom.specific.values = specificData;
67
+ }
68
+ const rangeData = this.stringService.getRangeCronData(regex);
69
+ const hasRangeItem = rangeData !== undefined;
70
+ if (hasRangeItem) {
71
+ this.hourModel.custom.between.isBetween = true;
72
+ this.hourModel.custom.between.from = rangeData?.from;
73
+ this.hourModel.custom.between.to = rangeData?.to;
74
+ }
75
+ }
76
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HoursService, deps: [{ token: i1.StringService }], target: i0.ɵɵFactoryTarget.Injectable }); }
77
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HoursService }); }
78
+ }
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: HoursService, decorators: [{
80
+ type: Injectable
81
+ }], ctorParameters: () => [{ type: i1.StringService }] });
82
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91cnMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jcm9uLWpvYi9zcmMvbGliL2hvdXJzL2hvdXJzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFcEQsT0FBTyxFQUFnQixlQUFlLEVBQUUsSUFBSSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBR3RDLE1BQU0sT0FBTyxZQUFZO0lBR3ZCLFlBQW9CLGFBQTRCO1FBQTVCLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzlDLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxLQUFLLEVBQUUsQ0FBQztJQUMvQixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN2QyxVQUFVLEdBQUcsR0FBRyxDQUFDO1FBQ25CLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUMvQyxnQkFBZ0I7WUFDaEIsVUFBVTtZQUNWLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDO2dCQUN2RCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENB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QixFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7WUFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxZQUFtQyxDQUFDO1FBQzlFLENBQUM7UUFFRCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdELE1BQU0sWUFBWSxHQUFHLFNBQVMsS0FBSyxTQUFTLENBQUM7UUFDN0MsSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztZQUMvQyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxHQUFHLFNBQVMsRUFBRSxJQUFjLENBQUM7WUFDL0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQUUsR0FBRyxTQUFTLEVBQUUsRUFBWSxDQUFDO1FBQzdELENBQUM7SUFDSCxDQUFDOzhHQTdFVSxZQUFZO2tIQUFaLFlBQVk7OzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdHJpbmdTZXJ2aWNlIH0gZnJvbSAnLi4vY3Jvbi1qb2Iuc2VydmljZSc7XG5pbXBvcnQgeyBJRXhwcmVzc2lvbiB9IGZyb20gJy4uL3R5cGVzL2lleHByZXNzaW9uJztcbmltcG9ydCB7IERyb3BEb3duSXRlbSwgUmVnZXhJdGVtc0luZGV4LCBUeXBlIH0gZnJvbSAnLi4vdHlwZXMvc2hhcmVkLm1vZGVsJztcbmltcG9ydCB7IEhvdXJzIH0gZnJvbSAnLi9ob3Vycy5tb2RlbCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBIb3Vyc1NlcnZpY2UgaW1wbGVtZW50cyBJRXhwcmVzc2lvbiB7XG4gIGhvdXJNb2RlbDogSG91cnM7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzdHJpbmdTZXJ2aWNlOiBTdHJpbmdTZXJ2aWNlKSB7XG4gICAgdGhpcy5ob3VyTW9kZWwgPSBuZXcgSG91cnMoKTtcbiAgfVxuXG4gIGdldEV4cHJlc3Npb24oKTogc3RyaW5nIHtcbiAgICBsZXQgZXhwcmVzc2lvbiA9ICcnO1xuICAgIGlmICh0aGlzLmhvdXJNb2RlbC50eXBlID09PSBUeXBlLkV2ZXJ5KSB7XG4gICAgICBleHByZXNzaW9uID0gJyonO1xuICAgIH0gZWxzZSBpZiAodGhpcy5ob3VyTW9kZWwudHlwZSA9PT0gVHlwZS5DdXN0b20pIHtcbiAgICAgIC8vdHlwZSBpcyBjdXN0b21cbiAgICAgIC8vaXNSZXBlYXRcbiAgICAgIGlmICh0aGlzLmhvdXJNb2RlbC5jdXN0b20ucmVwZWF0LmlzUmVwZWF0KSB7XG4gICAgICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5ob3VyTW9kZWwuY3VzdG9tLnJlcGVhdC5pbnRlcnZhbDtcbiAgICAgICAgY29uc3Qgc3RhcnRBdCA9IHRoaXMuaG91ck1vZGVsLmN1c3RvbS5yZXBlYXQuc3RhcnRBdDtcbiAgICAgICAgZXhwcmVzc2lvbiA9IGAke3N0YXJ0QXR9LyR7aW50ZXJ2YWx9YDtcbiAgICAgIH1cbiAgICAgIC8vaXNTcGVjaWZpY1xuICAgICAgaWYgKHRoaXMuaG91ck1vZGVsLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNpZmljKSB7XG4gICAgICAgIGNvbnN0IHNwZWNpZmljVmFsdWVzID0gdGhpcy5ob3VyTW9kZWwuY3VzdG9tLnNwZWNpZmljLnZhbHVlcy5tYXAoKHYpID0+IHtcbiAgICAgICAgICByZXR1cm4gdi5pZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHNwZWNpZmljVmFsdWVzLmxlbmd0aCAhPT0gMCkgZXhwcmVzc2lvbiA9IHRoaXMuc3RyaW5nU2VydmljZS5hZGRDb21tYShleHByZXNzaW9uKTtcblxuICAgICAgICBleHByZXNzaW9uID0gZXhwcmVzc2lvbi5jb25jYXQoc3BlY2lmaWNWYWx1ZXMuam9pbignLCcpKTtcbiAgICAgIH1cbiAgICAgIC8vaXNCZXR3ZWVuXG4gICAgICBpZiAodGhpcy5ob3VyTW9kZWwuY3VzdG9tLmJldHdlZW4uaXNCZXR3ZWVuKSB7XG4gICAgICAgIGV4cHJlc3Npb24gPSB0aGlzLnN0cmluZ1NlcnZpY2UuYWRkQ29tbWEoZXhwcmVzc2lvbik7XG5cbiAgICAgICAgY29uc3QgZnJvbSA9IHRoaXMuaG91ck1vZGVsLmN1c3RvbS5iZXR3ZWVuLmZyb207XG4gICAgICAgIGNvbnN0IHRvID0gdGhpcy5ob3VyTW9kZWwuY3VzdG9tLmJldHdlZW4udG87XG4gICAgICAgIGV4cHJlc3Npb24gPSBleHByZXNzaW9uLmNvbmNhdChgJHtmcm9tfS0ke3RvfWApO1xuICAgICAgfVxuXG4gICAgICBpZiAoZXhwcmVzc2lvbiA9PT0gJycpIGV4cHJlc3Npb24gPSAnKic7XG4gICAgfVxuXG4gICAgcmV0dXJuIGV4cHJlc3Npb247XG4gIH1cblxuICByZXZlcnNFeHByZXNzaW9uKGNyb25FeHByZXNzaW9uUGF0dGVybjogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5ob3VyTW9kZWwgPSBuZXcgSG91cnMoKTtcbiAgICBjb25zdCByZWdleDogc3RyaW5nID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldFJlZ2V4SXRlbShjcm9uRXhwcmVzc2lvblBhdHRlcm4sIFJlZ2V4SXRlbXNJbmRleC5Ib3VyKTtcblxuICAgIGNvbnN0IGlzQ3VzdG9tOiBib29sZWFuID0gcmVnZXggIT09ICcqJztcbiAgICBpZiAoIWlzQ3VzdG9tKSB7XG4gICAgICB0aGlzLmhvdXJNb2RlbC50eXBlID0gVHlwZS5FdmVyeTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5ob3VyTW9kZWwudHlwZSA9IFR5cGUuQ3VzdG9tO1xuXG4gICAgY29uc3QgaW50ZXJ2YWxEYXRhID0gdGhpcy5zdHJpbmdTZXJ2aWNlLmdldEludGVydmFsQ3JvbkRhdGEocmVnZXgpO1xuICAgIGNvbnN0IGhhc0ludGVydmFsSXRlbXMgPSBpbnRlcnZhbERhdGEgIT09IHVuZGVmaW5lZDtcbiAgICBpZiAoaGFzSW50ZXJ2YWxJdGVtcykge1xuICAgICAgdGhpcy5ob3VyTW9kZWwuY3VzdG9tLnJlcGVhdC5pc1JlcGVhdCA9IHRydWU7XG4gICAgICB0aGlzLmhvdXJNb2RlbC5jdXN0b20ucmVwZWF0LmludGVydmFsID0gaW50ZXJ2YWxEYXRhPy5pbnRlcnZhbCBhcyBudW1iZXI7XG4gICAgICB0aGlzLmhvdXJNb2RlbC5jdXN0b20ucmVwZWF0LnN0YXJ0QXQgPSBpbnRlcnZhbERhdGE/LnN0YXJ0QXQgYXMgbnVtYmVyO1xuICAgIH1cblxuICAgIGNvbnN0IHNwZWNpZmljRGF0YSA9IHRoaXMuc3RyaW5nU2VydmljZS5nZXRTcGVjaWZpY0Nyb25EYXRhKHJlZ2V4KTtcbiAgICBjb25zdCBoYXNTcGVjaWZpY0l0ZW1zID0gc3BlY2lmaWNEYXRhICE9PSB1bmRlZmluZWQ7XG4gICAgaWYgKGhhc1NwZWNpZmljSXRlbXMpIHtcbiAgICAgIHRoaXMuaG91ck1vZGVsLmN1c3RvbS5zcGVjaWZpYy5pc1NwZWNpZmljID0gdHJ1ZTtcbiAgICAgIHRoaXMuaG91ck1vZGVsLmN1c3RvbS5zcGVjaWZpYy52YWx1ZXMgPSBzcGVjaWZpY0RhdGEgYXMgQXJyYXk8RHJvcERvd25JdGVtPjtcbiAgICB9XG5cbiAgICBjb25zdCByYW5nZURhdGEgPSB0aGlzLnN0cmluZ1NlcnZpY2UuZ2V0UmFuZ2VDcm9uRGF0YShyZWdleCk7XG4gICAgY29uc3QgaGFzUmFuZ2VJdGVtID0gcmFuZ2VEYXRhICE9PSB1bmRlZmluZWQ7XG4gICAgaWYgKGhhc1JhbmdlSXRlbSkge1xuICAgICAgdGhpcy5ob3VyTW9kZWwuY3VzdG9tLmJldHdlZW4uaXNCZXR3ZWVuID0gdHJ1ZTtcbiAgICAgIHRoaXMuaG91ck1vZGVsLmN1c3RvbS5iZXR3ZWVuLmZyb20gPSByYW5nZURhdGE/LmZyb20gYXMgbnVtYmVyO1xuICAgICAgdGhpcy5ob3VyTW9kZWwuY3VzdG9tLmJldHdlZW4udG8gPSByYW5nZURhdGE/LnRvIGFzIG51bWJlcjtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,38 @@
1
+ import { afterNextRender, Component, inject, ViewEncapsulation } from '@angular/core';
2
+ import { DropDownItem, Type } from '../types/shared.model';
3
+ import { MinutesService } from './minutes.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@acorex/components/decorators";
6
+ import * as i2 from "@angular/forms";
7
+ import * as i3 from "@acorex/components/select-box";
8
+ import * as i4 from "@acorex/components/form";
9
+ import * as i5 from "@acorex/components/check-box";
10
+ import * as i6 from "@angular/common";
11
+ import * as i7 from "@acorex/core/translation";
12
+ export class AXCronMinutesComponent {
13
+ constructor() {
14
+ this.minutesService = inject(MinutesService);
15
+ this.dropdownList = [];
16
+ this.zeroTo59 = [];
17
+ this.#init = afterNextRender(() => {
18
+ for (let i = 0; i < 60; i++) {
19
+ this.zeroTo59[i] = i;
20
+ this.dropdownList[i] = new DropDownItem(i, i.toString());
21
+ }
22
+ });
23
+ }
24
+ #init;
25
+ changeHandler(e) {
26
+ this.minutesService.minuteModel.custom.specific.values = e.component.selectedItems;
27
+ }
28
+ get isCustom() {
29
+ return this.minutesService.minuteModel.type === Type.Every ? false : true;
30
+ }
31
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronMinutesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
32
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: AXCronMinutesComponent, selector: "ax-cron-minutes", ngImport: i0, template: "<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"every\"\n id=\"option1\"\n value=\"every\"\n [(ngModel)]=\"minutesService.minuteModel.type\"\n checked\n />\n <label>{{ 'Every' | translate | async }} {{ 'time.minute' | translate | async }} </label>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"custom\"\n id=\"option2\"\n value=\"custom\"\n [(ngModel)]=\"minutesService.minuteModel.type\"\n />\n <label>{{ 'Custom' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-every-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"minutesService.minuteModel.custom.repeat.isRepeat\">\n </ax-check-box>\n\n <span>{{ 'Every' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo59\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"minutesService.minuteModel.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'minute(s) starting at minute' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo59\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"minutesService.minuteModel.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n [disabled]=\"!isCustom\"\n [(ngModel)]=\"minutesService.minuteModel.custom.specific.isSpecific\"\n >\n </ax-check-box>\n <label>{{ 'Specific minute(s) (choose one or many)' | translate | async }}</label>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"dropdownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select minute(s)' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-between-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"minutesService.minuteModel.custom.between.isBetween\">\n </ax-check-box>\n <label\n >{{ 'Every' | translate | async }} {{ 'time.minute' | translate | async }}\n {{ 'between' | translate | async }} {{ 'time.minute' | translate | async }}</label\n >\n </div>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo59\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"minutesService.minuteModel.custom.between.from\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'and' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo59\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"minutesService.minuteModel.custom.between.to\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n</div>\n", styles: ["ax-cron-day .ax-radio-container,ax-cron-hours .ax-radio-container,ax-cron-minutes .ax-radio-container,ax-cron-month .ax-radio-container,ax-cron-seconds .ax-radio-container,ax-cron-year .ax-radio-container{margin-bottom:.5rem;display:flex;align-items:center}ax-cron-day .ax-radio-container input,ax-cron-hours .ax-radio-container input,ax-cron-minutes .ax-radio-container input,ax-cron-month .ax-radio-container input,ax-cron-seconds .ax-radio-container input,ax-cron-year .ax-radio-container input{margin-inline-end:.5rem}ax-cron-day .ax-block-container,ax-cron-hours .ax-block-container,ax-cron-minutes .ax-block-container,ax-cron-month .ax-block-container,ax-cron-seconds .ax-block-container,ax-cron-year .ax-block-container{padding-inline-start:1.5rem}ax-cron-day .ax-block-container .ax-every-container,ax-cron-hours .ax-block-container .ax-every-container,ax-cron-minutes .ax-block-container .ax-every-container,ax-cron-month .ax-block-container .ax-every-container,ax-cron-seconds .ax-block-container .ax-every-container,ax-cron-year .ax-block-container .ax-every-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-every-container ax-form,ax-cron-hours .ax-block-container .ax-every-container ax-form,ax-cron-minutes .ax-block-container .ax-every-container ax-form,ax-cron-month .ax-block-container .ax-every-container ax-form,ax-cron-seconds .ax-block-container .ax-every-container ax-form,ax-cron-year .ax-block-container .ax-every-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-specific-container,ax-cron-hours .ax-block-container .ax-specific-container,ax-cron-minutes .ax-block-container .ax-specific-container,ax-cron-month .ax-block-container .ax-specific-container,ax-cron-seconds .ax-block-container .ax-specific-container,ax-cron-year .ax-block-container .ax-specific-container{margin-block:.5rem}ax-cron-day .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-month .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-year .ax-block-container .ax-specific-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container,ax-cron-hours .ax-block-container .ax-between-container,ax-cron-minutes .ax-block-container .ax-between-container,ax-cron-month .ax-block-container .ax-between-container,ax-cron-seconds .ax-block-container .ax-between-container,ax-cron-year .ax-block-container .ax-between-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-between-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-between-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-between-container .ax-flex-container,ax-cron-month .ax-block-container .ax-between-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-between-container .ax-flex-container,ax-cron-year .ax-block-container .ax-between-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container ax-form,ax-cron-hours .ax-block-container .ax-between-container ax-form,ax-cron-minutes .ax-block-container .ax-between-container ax-form,ax-cron-month .ax-block-container .ax-between-container ax-form,ax-cron-seconds .ax-block-container .ax-between-container ax-form,ax-cron-year .ax-block-container .ax-between-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container,ax-cron-hours .ax-block-container .ax-week-container,ax-cron-minutes .ax-block-container .ax-week-container,ax-cron-month .ax-block-container .ax-week-container,ax-cron-seconds .ax-block-container .ax-week-container,ax-cron-year .ax-block-container .ax-week-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-week-container ax-form,ax-cron-hours .ax-block-container .ax-week-container ax-form,ax-cron-minutes .ax-block-container .ax-week-container ax-form,ax-cron-month .ax-block-container .ax-week-container ax-form,ax-cron-seconds .ax-block-container .ax-week-container ax-form,ax-cron-year .ax-block-container .ax-week-container ax-form{width:fit-content;margin-inline:.5rem}\n"], dependencies: [{ kind: "component", type: i1.AXDecoratorClearButtonComponent, selector: "ax-clear-button", inputs: ["icon"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AXSelectBoxComponent, selector: "ax-select-box", inputs: ["disabled", "readonly", "tabIndex", "placeholder", "minValue", "maxValue", "value", "state", "name", "id", "type", "look", "multiple", "valueField", "textField", "textTemplate", "dataSource", "caption", "itemTemplate", "selectedTemplate", "emptyTemplate", "loadingTemplate", "dropdownWidth"], outputs: ["valueChange", "stateChange", "onValueChanged", "onBlur", "onFocus", "readonlyChange", "disabledChange", "onOpened", "onClosed"] }, { kind: "component", type: i4.AXFormFieldComponent, selector: "ax-form-field", inputs: ["labelMode"] }, { kind: "component", type: i4.AXFormComponent, selector: "ax-form", inputs: ["labelMode", "messageStyle", "updateOn"], outputs: ["onValidate", "updateOnChange"] }, { kind: "component", type: i5.AXCheckBoxComponent, selector: "ax-check-box", inputs: ["disabled", "tabIndex", "readonly", "color", "value", "name", "id", "checked", "indeterminate"], outputs: ["onBlur", "onFocus", "valueChange", "onValueChanged"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
33
+ }
34
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXCronMinutesComponent, decorators: [{
35
+ type: Component,
36
+ args: [{ selector: 'ax-cron-minutes', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"every\"\n id=\"option1\"\n value=\"every\"\n [(ngModel)]=\"minutesService.minuteModel.type\"\n checked\n />\n <label>{{ 'Every' | translate | async }} {{ 'time.minute' | translate | async }} </label>\n</div>\n\n<div class=\"ax-radio-container\">\n <input\n class=\"ax-radio\"\n type=\"radio\"\n name=\"custom\"\n id=\"option2\"\n value=\"custom\"\n [(ngModel)]=\"minutesService.minuteModel.type\"\n />\n <label>{{ 'Custom' | translate | async }}</label>\n</div>\n\n<div class=\"ax-block-container\">\n <div class=\"ax-every-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"minutesService.minuteModel.custom.repeat.isRepeat\">\n </ax-check-box>\n\n <span>{{ 'Every' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo59\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"minutesService.minuteModel.custom.repeat.interval\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'minute(s) starting at minute' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo59\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"minutesService.minuteModel.custom.repeat.startAt\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-specific-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box\n [disabled]=\"!isCustom\"\n [(ngModel)]=\"minutesService.minuteModel.custom.specific.isSpecific\"\n >\n </ax-check-box>\n <label>{{ 'Specific minute(s) (choose one or many)' | translate | async }}</label>\n </div>\n\n <ax-form>\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"dropdownList\"\n textField=\"text\"\n valueField=\"id\"\n [placeholder]=\"'select minute(s)' | translate | async\"\n [multiple]=\"true\"\n (onValueChanged)=\"changeHandler($event)\"\n >\n <ax-clear-button></ax-clear-button>\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n\n <div class=\"ax-between-container\">\n <div class=\"ax-flex-container\">\n <ax-check-box [disabled]=\"!isCustom\" [(ngModel)]=\"minutesService.minuteModel.custom.between.isBetween\">\n </ax-check-box>\n <label\n >{{ 'Every' | translate | async }} {{ 'time.minute' | translate | async }}\n {{ 'between' | translate | async }} {{ 'time.minute' | translate | async }}</label\n >\n </div>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo59\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"minutesService.minuteModel.custom.between.from\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n\n <span>{{ 'and' | translate | async }}</span>\n\n <ax-form class=\"ax-sm\">\n <ax-form-field>\n <ax-select-box\n [disabled]=\"!isCustom\"\n [dataSource]=\"zeroTo59\"\n textField=\"text\"\n valueField=\"id\"\n [(ngModel)]=\"minutesService.minuteModel.custom.between.to\"\n >\n </ax-select-box>\n </ax-form-field>\n </ax-form>\n </div>\n</div>\n", styles: ["ax-cron-day .ax-radio-container,ax-cron-hours .ax-radio-container,ax-cron-minutes .ax-radio-container,ax-cron-month .ax-radio-container,ax-cron-seconds .ax-radio-container,ax-cron-year .ax-radio-container{margin-bottom:.5rem;display:flex;align-items:center}ax-cron-day .ax-radio-container input,ax-cron-hours .ax-radio-container input,ax-cron-minutes .ax-radio-container input,ax-cron-month .ax-radio-container input,ax-cron-seconds .ax-radio-container input,ax-cron-year .ax-radio-container input{margin-inline-end:.5rem}ax-cron-day .ax-block-container,ax-cron-hours .ax-block-container,ax-cron-minutes .ax-block-container,ax-cron-month .ax-block-container,ax-cron-seconds .ax-block-container,ax-cron-year .ax-block-container{padding-inline-start:1.5rem}ax-cron-day .ax-block-container .ax-every-container,ax-cron-hours .ax-block-container .ax-every-container,ax-cron-minutes .ax-block-container .ax-every-container,ax-cron-month .ax-block-container .ax-every-container,ax-cron-seconds .ax-block-container .ax-every-container,ax-cron-year .ax-block-container .ax-every-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-every-container ax-form,ax-cron-hours .ax-block-container .ax-every-container ax-form,ax-cron-minutes .ax-block-container .ax-every-container ax-form,ax-cron-month .ax-block-container .ax-every-container ax-form,ax-cron-seconds .ax-block-container .ax-every-container ax-form,ax-cron-year .ax-block-container .ax-every-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-specific-container,ax-cron-hours .ax-block-container .ax-specific-container,ax-cron-minutes .ax-block-container .ax-specific-container,ax-cron-month .ax-block-container .ax-specific-container,ax-cron-seconds .ax-block-container .ax-specific-container,ax-cron-year .ax-block-container .ax-specific-container{margin-block:.5rem}ax-cron-day .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-month .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-specific-container .ax-flex-container,ax-cron-year .ax-block-container .ax-specific-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container,ax-cron-hours .ax-block-container .ax-between-container,ax-cron-minutes .ax-block-container .ax-between-container,ax-cron-month .ax-block-container .ax-between-container,ax-cron-seconds .ax-block-container .ax-between-container,ax-cron-year .ax-block-container .ax-between-container{display:flex;align-items:center}ax-cron-day .ax-block-container .ax-between-container .ax-flex-container,ax-cron-hours .ax-block-container .ax-between-container .ax-flex-container,ax-cron-minutes .ax-block-container .ax-between-container .ax-flex-container,ax-cron-month .ax-block-container .ax-between-container .ax-flex-container,ax-cron-seconds .ax-block-container .ax-between-container .ax-flex-container,ax-cron-year .ax-block-container .ax-between-container .ax-flex-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-between-container ax-form,ax-cron-hours .ax-block-container .ax-between-container ax-form,ax-cron-minutes .ax-block-container .ax-between-container ax-form,ax-cron-month .ax-block-container .ax-between-container ax-form,ax-cron-seconds .ax-block-container .ax-between-container ax-form,ax-cron-year .ax-block-container .ax-between-container ax-form{width:fit-content;margin-inline:.5rem}ax-cron-day .ax-block-container .ax-week-container,ax-cron-hours .ax-block-container .ax-week-container,ax-cron-minutes .ax-block-container .ax-week-container,ax-cron-month .ax-block-container .ax-week-container,ax-cron-seconds .ax-block-container .ax-week-container,ax-cron-year .ax-block-container .ax-week-container{display:flex;align-items:center;margin-bottom:.5rem}ax-cron-day .ax-block-container .ax-week-container ax-form,ax-cron-hours .ax-block-container .ax-week-container ax-form,ax-cron-minutes .ax-block-container .ax-week-container ax-form,ax-cron-month .ax-block-container .ax-week-container ax-form,ax-cron-seconds .ax-block-container .ax-week-container ax-form,ax-cron-year .ax-block-container .ax-week-container ax-form{width:fit-content;margin-inline:.5rem}\n"] }]
37
+ }] });
38
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludXRlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY3Jvbi1qb2Ivc3JjL2xpYi9taW51dGVzL21pbnV0ZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Nyb24tam9iL3NyYy9saWIvbWludXRlcy9taW51dGVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7O0FBUW5ELE1BQU0sT0FBTyxzQkFBc0I7SUFObkM7UUFPWSxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUV4QyxpQkFBWSxHQUFtQixFQUFFLENBQUM7UUFFbEMsYUFBUSxHQUFhLEVBQUUsQ0FBQztRQUVsQyxVQUFLLEdBQUcsZUFBZSxDQUFDLEdBQUcsRUFBRTtZQUMzQixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksWUFBWSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUMzRCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7S0FTSjtJQWRDLEtBQUssQ0FLRjtJQUVPLGFBQWEsQ0FBQyxDQUFzQjtRQUM1QyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLGFBQWEsQ0FBQztJQUNyRixDQUFDO0lBRUQsSUFBYyxRQUFRO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQzVFLENBQUM7OEdBcEJVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLHVEQ1huQyw4cEhBK0hBOzsyRkRwSGEsc0JBQXNCO2tCQU5sQyxTQUFTOytCQUNFLGlCQUFpQixpQkFHWixpQkFBaUIsQ0FBQyxJQUFJIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVhWYWx1ZUNoYW5nZWRFdmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHsgYWZ0ZXJOZXh0UmVuZGVyLCBDb21wb25lbnQsIGluamVjdCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyb3BEb3duSXRlbSwgVHlwZSB9IGZyb20gJy4uL3R5cGVzL3NoYXJlZC5tb2RlbCc7XG5pbXBvcnQgeyBNaW51dGVzU2VydmljZSB9IGZyb20gJy4vbWludXRlcy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY3Jvbi1taW51dGVzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21pbnV0ZXMuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi4vY3Jvbi1qb2Iuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWENyb25NaW51dGVzQ29tcG9uZW50IHtcbiAgcHJvdGVjdGVkIG1pbnV0ZXNTZXJ2aWNlID0gaW5qZWN0KE1pbnV0ZXNTZXJ2aWNlKTtcblxuICBwcm90ZWN0ZWQgZHJvcGRvd25MaXN0OiBEcm9wRG93bkl0ZW1bXSA9IFtdO1xuXG4gIHByb3RlY3RlZCB6ZXJvVG81OTogbnVtYmVyW10gPSBbXTtcblxuICAjaW5pdCA9IGFmdGVyTmV4dFJlbmRlcigoKSA9PiB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA2MDsgaSsrKSB7XG4gICAgICB0aGlzLnplcm9UbzU5W2ldID0gaTtcbiAgICAgIHRoaXMuZHJvcGRvd25MaXN0W2ldID0gbmV3IERyb3BEb3duSXRlbShpLCBpLnRvU3RyaW5nKCkpO1xuICAgIH1cbiAgfSk7XG5cbiAgcHJvdGVjdGVkIGNoYW5nZUhhbmRsZXIoZTogQVhWYWx1ZUNoYW5nZWRFdmVudCkge1xuICAgIHRoaXMubWludXRlc1NlcnZpY2UubWludXRlTW9kZWwuY3VzdG9tLnNwZWNpZmljLnZhbHVlcyA9IGUuY29tcG9uZW50LnNlbGVjdGVkSXRlbXM7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGlzQ3VzdG9tKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1pbnV0ZXNTZXJ2aWNlLm1pbnV0ZU1vZGVsLnR5cGUgPT09IFR5cGUuRXZlcnkgPyBmYWxzZSA6IHRydWU7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1yYWRpby1jb250YWluZXJcIj5cbiAgPGlucHV0XG4gICAgY2xhc3M9XCJheC1yYWRpb1wiXG4gICAgdHlwZT1cInJhZGlvXCJcbiAgICBuYW1lPVwiZXZlcnlcIlxuICAgIGlkPVwib3B0aW9uMVwiXG4gICAgdmFsdWU9XCJldmVyeVwiXG4gICAgWyhuZ01vZGVsKV09XCJtaW51dGVzU2VydmljZS5taW51dGVNb2RlbC50eXBlXCJcbiAgICBjaGVja2VkXG4gIC8+XG4gIDxsYWJlbD57eyAnRXZlcnknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX0ge3sgJ3RpbWUubWludXRlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19IDwvbGFiZWw+XG48L2Rpdj5cblxuPGRpdiBjbGFzcz1cImF4LXJhZGlvLWNvbnRhaW5lclwiPlxuICA8aW5wdXRcbiAgICBjbGFzcz1cImF4LXJhZGlvXCJcbiAgICB0eXBlPVwicmFkaW9cIlxuICAgIG5hbWU9XCJjdXN0b21cIlxuICAgIGlkPVwib3B0aW9uMlwiXG4gICAgdmFsdWU9XCJjdXN0b21cIlxuICAgIFsobmdNb2RlbCldPVwibWludXRlc1NlcnZpY2UubWludXRlTW9kZWwudHlwZVwiXG4gIC8+XG4gIDxsYWJlbD57eyAnQ3VzdG9tJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9sYWJlbD5cbjwvZGl2PlxuXG48ZGl2IGNsYXNzPVwiYXgtYmxvY2stY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJheC1ldmVyeS1jb250YWluZXJcIj5cbiAgICA8YXgtY2hlY2stYm94IFtkaXNhYmxlZF09XCIhaXNDdXN0b21cIiBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNTZXJ2aWNlLm1pbnV0ZU1vZGVsLmN1c3RvbS5yZXBlYXQuaXNSZXBlYXRcIj5cbiAgICA8L2F4LWNoZWNrLWJveD5cblxuICAgIDxzcGFuPnt7ICdFdmVyeScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvc3Bhbj5cblxuICAgIDxheC1mb3JtIGNsYXNzPVwiYXgtc21cIj5cbiAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNDdXN0b21cIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cInplcm9UbzU5XCJcbiAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwibWludXRlc1NlcnZpY2UubWludXRlTW9kZWwuY3VzdG9tLnJlcGVhdC5pbnRlcnZhbFwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgIDwvYXgtZm9ybT5cblxuICAgIDxzcGFuPnt7ICdtaW51dGUocykgc3RhcnRpbmcgYXQgbWludXRlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19PC9zcGFuPlxuXG4gICAgPGF4LWZvcm0gY2xhc3M9XCJheC1zbVwiPlxuICAgICAgPGF4LWZvcm0tZmllbGQ+XG4gICAgICAgIDxheC1zZWxlY3QtYm94XG4gICAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0N1c3RvbVwiXG4gICAgICAgICAgW2RhdGFTb3VyY2VdPVwiemVyb1RvNTlcIlxuICAgICAgICAgIHRleHRGaWVsZD1cInRleHRcIlxuICAgICAgICAgIHZhbHVlRmllbGQ9XCJpZFwiXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJtaW51dGVzU2VydmljZS5taW51dGVNb2RlbC5jdXN0b20ucmVwZWF0LnN0YXJ0QXRcIlxuICAgICAgICA+XG4gICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8L2F4LWZvcm0+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJheC1zcGVjaWZpYy1jb250YWluZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYXgtZmxleC1jb250YWluZXJcIj5cbiAgICAgIDxheC1jaGVjay1ib3hcbiAgICAgICAgW2Rpc2FibGVkXT1cIiFpc0N1c3RvbVwiXG4gICAgICAgIFsobmdNb2RlbCldPVwibWludXRlc1NlcnZpY2UubWludXRlTW9kZWwuY3VzdG9tLnNwZWNpZmljLmlzU3BlY2lmaWNcIlxuICAgICAgPlxuICAgICAgPC9heC1jaGVjay1ib3g+XG4gICAgICA8bGFiZWw+e3sgJ1NwZWNpZmljIG1pbnV0ZShzKSAoY2hvb3NlIG9uZSBvciBtYW55KScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWw+XG4gICAgPC9kaXY+XG5cbiAgICA8YXgtZm9ybT5cbiAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNDdXN0b21cIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cImRyb3Bkb3duTGlzdFwiXG4gICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ3NlbGVjdCBtaW51dGUocyknIHwgdHJhbnNsYXRlIHwgYXN5bmNcIlxuICAgICAgICAgIFttdWx0aXBsZV09XCJ0cnVlXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiY2hhbmdlSGFuZGxlcigkZXZlbnQpXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxheC1jbGVhci1idXR0b24+PC9heC1jbGVhci1idXR0b24+XG4gICAgICAgIDwvYXgtc2VsZWN0LWJveD5cbiAgICAgIDwvYXgtZm9ybS1maWVsZD5cbiAgICA8L2F4LWZvcm0+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJheC1iZXR3ZWVuLWNvbnRhaW5lclwiPlxuICAgIDxkaXYgY2xhc3M9XCJheC1mbGV4LWNvbnRhaW5lclwiPlxuICAgICAgPGF4LWNoZWNrLWJveCBbZGlzYWJsZWRdPVwiIWlzQ3VzdG9tXCIgWyhuZ01vZGVsKV09XCJtaW51dGVzU2VydmljZS5taW51dGVNb2RlbC5jdXN0b20uYmV0d2Vlbi5pc0JldHdlZW5cIj5cbiAgICAgIDwvYXgtY2hlY2stYm94PlxuICAgICAgPGxhYmVsXG4gICAgICAgID57eyAnRXZlcnknIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX0ge3sgJ3RpbWUubWludXRlJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19XG4gICAgICAgIHt7ICdiZXR3ZWVuJyB8IHRyYW5zbGF0ZSB8IGFzeW5jIH19IHt7ICd0aW1lLm1pbnV0ZScgfCB0cmFuc2xhdGUgfCBhc3luYyB9fTwvbGFiZWxcbiAgICAgID5cbiAgICA8L2Rpdj5cblxuICAgIDxheC1mb3JtIGNsYXNzPVwiYXgtc21cIj5cbiAgICAgIDxheC1mb3JtLWZpZWxkPlxuICAgICAgICA8YXgtc2VsZWN0LWJveFxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhaXNDdXN0b21cIlxuICAgICAgICAgIFtkYXRhU291cmNlXT1cInplcm9UbzU5XCJcbiAgICAgICAgICB0ZXh0RmllbGQ9XCJ0ZXh0XCJcbiAgICAgICAgICB2YWx1ZUZpZWxkPVwiaWRcIlxuICAgICAgICAgIFsobmdNb2RlbCldPVwibWludXRlc1NlcnZpY2UubWludXRlTW9kZWwuY3VzdG9tLmJldHdlZW4uZnJvbVwiXG4gICAgICAgID5cbiAgICAgICAgPC9heC1zZWxlY3QtYm94PlxuICAgICAgPC9heC1mb3JtLWZpZWxkPlxuICAgIDwvYXgtZm9ybT5cblxuICAgIDxzcGFuPnt7ICdhbmQnIHwgdHJhbnNsYXRlIHwgYXN5bmMgfX08L3NwYW4+XG5cbiAgICA8YXgtZm9ybSBjbGFzcz1cImF4LXNtXCI+XG4gICAgICA8YXgtZm9ybS1maWVsZD5cbiAgICAgICAgPGF4LXNlbGVjdC1ib3hcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzQ3VzdG9tXCJcbiAgICAgICAgICBbZGF0YVNvdXJjZV09XCJ6ZXJvVG81OVwiXG4gICAgICAgICAgdGV4dEZpZWxkPVwidGV4dFwiXG4gICAgICAgICAgdmFsdWVGaWVsZD1cImlkXCJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cIm1pbnV0ZXNTZXJ2aWNlLm1pbnV0ZU1vZGVsLmN1c3RvbS5iZXR3ZWVuLnRvXCJcbiAgICAgICAgPlxuICAgICAgICA8L2F4LXNlbGVjdC1ib3g+XG4gICAgICA8L2F4LWZvcm0tZmllbGQ+XG4gICAgPC9heC1mb3JtPlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,8 @@
1
+ import { Custom, Type } from '../types/shared.model';
2
+ export class Minutes {
3
+ constructor() {
4
+ this.type = Type.Every;
5
+ this.custom = new Custom();
6
+ }
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludXRlcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9jcm9uLWpvYi9zcmMvbGliL21pbnV0ZXMvbWludXRlcy5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBRXJELE1BQU0sT0FBTyxPQUFPO0lBQXBCO1FBQ0UsU0FBSSxHQUFTLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDeEIsV0FBTSxHQUFXLElBQUksTUFBTSxFQUFFLENBQUM7SUFDaEMsQ0FBQztDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VzdG9tLCBUeXBlIH0gZnJvbSAnLi4vdHlwZXMvc2hhcmVkLm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIE1pbnV0ZXMge1xuICB0eXBlOiBUeXBlID0gVHlwZS5FdmVyeTtcbiAgY3VzdG9tOiBDdXN0b20gPSBuZXcgQ3VzdG9tKCk7XG59XG4iXX0=