af-connect-components 18.0.2 → 18.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (146) hide show
  1. package/{esm2020 → esm2022}/af-connect-components.mjs +4 -4
  2. package/{esm2020 → esm2022}/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.mjs +22 -22
  3. package/esm2022/lib/af-connect-button/af-connect-button.component.mjs +47 -0
  4. package/{esm2020 → esm2022}/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.mjs +33 -33
  5. package/esm2022/lib/af-connect-card/af-connect-card.component.mjs +17 -0
  6. package/{esm2020 → esm2022}/lib/af-connect-chart/af-connect-chart.component.mjs +11 -11
  7. package/esm2022/lib/af-connect-chip/af-connect-chip.component.mjs +23 -0
  8. package/{esm2020 → esm2022}/lib/af-connect-components.component.mjs +12 -12
  9. package/esm2022/lib/af-connect-components.module.mjs +245 -0
  10. package/{esm2020 → esm2022}/lib/af-connect-components.service.mjs +14 -14
  11. package/{esm2020 → esm2022}/lib/af-connect-content/af-connect-content.component.mjs +14 -14
  12. package/{esm2020 → esm2022}/lib/af-connect-datepicker/af-connect-datepicker.component.mjs +11 -11
  13. package/{esm2020 → esm2022}/lib/af-connect-error/af-connect-error.component.mjs +26 -26
  14. package/esm2022/lib/af-connect-footer/af-connect-footer.component.mjs +316 -0
  15. package/{esm2020 → esm2022}/lib/af-connect-form-group/af-connect-form-group.component.mjs +11 -11
  16. package/{esm2020 → esm2022}/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.mjs +21 -21
  17. package/esm2022/lib/af-connect-header/af-connect-header.component.mjs +77 -0
  18. package/{esm2020 → esm2022}/lib/af-connect-inline-error/af-connect-inline-error.component.mjs +29 -29
  19. package/esm2022/lib/af-connect-input/af-connect-input.component.mjs +92 -0
  20. package/{esm2020 → esm2022}/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.mjs +18 -18
  21. package/esm2022/lib/af-connect-modal/af-connect-modal.component.mjs +101 -0
  22. package/{esm2020 → esm2022}/lib/af-connect-no-content/af-connect-no-content.component.mjs +26 -26
  23. package/{esm2020 → esm2022}/lib/af-connect-notification/af-connect-notification.component.mjs +15 -15
  24. package/{esm2020 → esm2022}/lib/af-connect-products-carousel/af-connect-products-carousel.component.mjs +47 -47
  25. package/{esm2020 → esm2022}/lib/af-connect-products-carousel/defaultConfig.mjs +26 -26
  26. package/esm2022/lib/af-connect-products-carousel/image-card/image-card.component.mjs +27 -0
  27. package/esm2022/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.mjs +88 -0
  28. package/esm2022/lib/af-connect-progress-bar/af-connect-progress-bar.component.mjs +45 -0
  29. package/{esm2020 → esm2022}/lib/af-connect-radio-button/af-connect-radio-button.component.mjs +99 -99
  30. package/esm2022/lib/af-connect-radio-group/af-connect-radio-group.component.mjs +114 -0
  31. package/esm2022/lib/af-connect-savings-banner/af-connect-savings-banner.component.mjs +15 -0
  32. package/{esm2020 → esm2022}/lib/af-connect-section/af-connect-section.component.mjs +14 -14
  33. package/{esm2020 → esm2022}/lib/af-connect-section-header/af-connect-section-header.component.mjs +35 -35
  34. package/{esm2020 → esm2022}/lib/af-connect-select/af-connect-select.component.mjs +11 -11
  35. package/esm2022/lib/af-connect-solutions-product/af-connect-solutions-product.component.mjs +36 -0
  36. package/esm2022/lib/af-connect-solutions-product/af-connect-solutions-product.data.mjs +72 -0
  37. package/{esm2020 → esm2022}/lib/af-connect-svg-button/af-connect-svg-button.component.mjs +27 -27
  38. package/{esm2020 → esm2022}/lib/af-connect-tab/af-connect-tab.component.mjs +20 -20
  39. package/{esm2020 → esm2022}/lib/af-connect-table/af-connect-table.component.mjs +11 -11
  40. package/esm2022/lib/af-connect-tabs/af-connect-tabs.component.mjs +87 -0
  41. package/{esm2020 → esm2022}/lib/af-connect-toaster-message/af-connect-toaster-message.component.mjs +33 -33
  42. package/esm2022/lib/af-connect-toggle-button/af-connect-toggle-button.component.mjs +133 -0
  43. package/{esm2020 → esm2022}/lib/af-connect-tooltip/af-connect-tooltip.component.mjs +48 -48
  44. package/{esm2020 → esm2022}/lib/af-connect-tooltip/types.mjs +1 -1
  45. package/{esm2020 → esm2022}/lib/constants/animation.constants.mjs +121 -121
  46. package/{esm2020 → esm2022}/lib/constants/base.constants.mjs +9 -9
  47. package/{esm2020 → esm2022}/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.mjs +23 -23
  48. package/esm2022/lib/expandable/expandable-arrow/expandable-arrow.component.mjs +54 -0
  49. package/esm2022/lib/expandable/expandable-container/expandable-container.component.mjs +29 -0
  50. package/{esm2020 → esm2022}/lib/faq/faq/faq.component.mjs +22 -22
  51. package/{esm2020 → esm2022}/lib/faq/faq-item/faq-item.component.mjs +16 -16
  52. package/{esm2020 → esm2022}/lib/faq/faqItem.mjs +1 -1
  53. package/{esm2020 → esm2022}/lib/faq/image-fallback/image-fallback.component.mjs +55 -55
  54. package/{esm2020 → esm2022}/lib/models/notification-response.model.mjs +1 -1
  55. package/{esm2020 → esm2022}/lib/models/radio.model.mjs +1 -1
  56. package/{esm2020 → esm2022}/lib/models/url-config.mjs +1 -1
  57. package/esm2022/lib/services/breakpoint.service.mjs +17 -0
  58. package/{esm2020 → esm2022}/lib/utilities/number.util.mjs +3 -3
  59. package/esm2022/public-api.mjs +45 -0
  60. package/esm2022/shared/pipes/get-initials.mjs +20 -0
  61. package/fesm2022/af-connect-components.mjs +2360 -0
  62. package/fesm2022/af-connect-components.mjs.map +1 -0
  63. package/index.d.ts +5 -5
  64. package/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.d.ts +10 -10
  65. package/lib/af-connect-button/af-connect-button.component.d.ts +21 -21
  66. package/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.d.ts +14 -14
  67. package/lib/af-connect-card/af-connect-card.component.d.ts +8 -8
  68. package/lib/af-connect-chart/af-connect-chart.component.d.ts +5 -5
  69. package/lib/af-connect-chip/af-connect-chip.component.d.ts +12 -12
  70. package/lib/af-connect-components.component.d.ts +5 -5
  71. package/lib/af-connect-components.module.d.ts +53 -51
  72. package/lib/af-connect-components.service.d.ts +6 -6
  73. package/lib/af-connect-content/af-connect-content.component.d.ts +8 -8
  74. package/lib/af-connect-datepicker/af-connect-datepicker.component.d.ts +5 -5
  75. package/lib/af-connect-error/af-connect-error.component.d.ts +12 -12
  76. package/lib/af-connect-footer/af-connect-footer.component.d.ts +166 -166
  77. package/lib/af-connect-form-group/af-connect-form-group.component.d.ts +5 -5
  78. package/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.d.ts +10 -10
  79. package/lib/af-connect-header/af-connect-header.component.d.ts +30 -31
  80. package/lib/af-connect-inline-error/af-connect-inline-error.component.d.ts +13 -13
  81. package/lib/af-connect-input/af-connect-input.component.d.ts +36 -36
  82. package/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.d.ts +8 -8
  83. package/lib/af-connect-modal/af-connect-modal.component.d.ts +46 -46
  84. package/lib/af-connect-no-content/af-connect-no-content.component.d.ts +12 -12
  85. package/lib/af-connect-notification/af-connect-notification.component.d.ts +8 -8
  86. package/lib/af-connect-products-carousel/af-connect-products-carousel.component.d.ts +32 -32
  87. package/lib/af-connect-products-carousel/defaultConfig.d.ts +6 -6
  88. package/lib/af-connect-products-carousel/image-card/image-card.component.d.ts +13 -13
  89. package/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.d.ts +38 -37
  90. package/lib/af-connect-progress-bar/af-connect-progress-bar.component.d.ts +18 -18
  91. package/lib/af-connect-radio-button/af-connect-radio-button.component.d.ts +34 -34
  92. package/lib/af-connect-radio-group/af-connect-radio-group.component.d.ts +35 -35
  93. package/lib/af-connect-savings-banner/af-connect-savings-banner.component.d.ts +6 -0
  94. package/lib/af-connect-section/af-connect-section.component.d.ts +8 -8
  95. package/lib/af-connect-section-header/af-connect-section-header.component.d.ts +15 -15
  96. package/lib/af-connect-select/af-connect-select.component.d.ts +5 -5
  97. package/lib/af-connect-solutions-product/af-connect-solutions-product.component.d.ts +16 -0
  98. package/lib/af-connect-solutions-product/af-connect-solutions-product.data.d.ts +15 -0
  99. package/lib/af-connect-svg-button/af-connect-svg-button.component.d.ts +14 -14
  100. package/lib/af-connect-tab/af-connect-tab.component.d.ts +9 -9
  101. package/lib/af-connect-table/af-connect-table.component.d.ts +5 -5
  102. package/lib/af-connect-tabs/af-connect-tabs.component.d.ts +25 -25
  103. package/lib/af-connect-toaster-message/af-connect-toaster-message.component.d.ts +13 -13
  104. package/lib/af-connect-toggle-button/af-connect-toggle-button.component.d.ts +37 -37
  105. package/lib/af-connect-tooltip/af-connect-tooltip.component.d.ts +16 -16
  106. package/lib/af-connect-tooltip/types.d.ts +1 -1
  107. package/lib/constants/animation.constants.d.ts +13 -13
  108. package/lib/constants/base.constants.d.ts +10 -10
  109. package/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.d.ts +8 -8
  110. package/lib/expandable/expandable-arrow/expandable-arrow.component.d.ts +21 -21
  111. package/lib/expandable/expandable-container/expandable-container.component.d.ts +8 -8
  112. package/lib/faq/faq/faq.component.d.ts +9 -9
  113. package/lib/faq/faq-item/faq-item.component.d.ts +7 -7
  114. package/lib/faq/faqItem.d.ts +7 -7
  115. package/lib/faq/image-fallback/image-fallback.component.d.ts +18 -18
  116. package/lib/models/notification-response.model.d.ts +17 -17
  117. package/lib/models/radio.model.d.ts +3 -3
  118. package/lib/models/url-config.d.ts +5 -5
  119. package/lib/services/breakpoint.service.d.ts +10 -10
  120. package/lib/utilities/number.util.d.ts +1 -1
  121. package/package.json +5 -11
  122. package/public-api.d.ts +41 -39
  123. package/shared/pipes/get-initials.d.ts +10 -10
  124. package/esm2020/lib/af-connect-button/af-connect-button.component.mjs +0 -47
  125. package/esm2020/lib/af-connect-card/af-connect-card.component.mjs +0 -17
  126. package/esm2020/lib/af-connect-chip/af-connect-chip.component.mjs +0 -23
  127. package/esm2020/lib/af-connect-components.module.mjs +0 -235
  128. package/esm2020/lib/af-connect-footer/af-connect-footer.component.mjs +0 -316
  129. package/esm2020/lib/af-connect-header/af-connect-header.component.mjs +0 -79
  130. package/esm2020/lib/af-connect-input/af-connect-input.component.mjs +0 -92
  131. package/esm2020/lib/af-connect-modal/af-connect-modal.component.mjs +0 -101
  132. package/esm2020/lib/af-connect-products-carousel/image-card/image-card.component.mjs +0 -27
  133. package/esm2020/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.mjs +0 -85
  134. package/esm2020/lib/af-connect-progress-bar/af-connect-progress-bar.component.mjs +0 -45
  135. package/esm2020/lib/af-connect-radio-group/af-connect-radio-group.component.mjs +0 -114
  136. package/esm2020/lib/af-connect-tabs/af-connect-tabs.component.mjs +0 -87
  137. package/esm2020/lib/af-connect-toggle-button/af-connect-toggle-button.component.mjs +0 -133
  138. package/esm2020/lib/expandable/expandable-arrow/expandable-arrow.component.mjs +0 -54
  139. package/esm2020/lib/expandable/expandable-container/expandable-container.component.mjs +0 -29
  140. package/esm2020/lib/services/breakpoint.service.mjs +0 -17
  141. package/esm2020/public-api.mjs +0 -43
  142. package/esm2020/shared/pipes/get-initials.mjs +0 -20
  143. package/fesm2015/af-connect-components.mjs +0 -2244
  144. package/fesm2015/af-connect-components.mjs.map +0 -1
  145. package/fesm2020/af-connect-components.mjs +0 -2236
  146. package/fesm2020/af-connect-components.mjs.map +0 -1
@@ -0,0 +1,316 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../services/breakpoint.service";
4
+ import * as i2 from "@angular/common";
5
+ import * as i3 from "../expandable/expandable-container/expandable-container.component";
6
+ import * as i4 from "../expandable/expandable-arrow/expandable-arrow.component";
7
+ import * as i5 from "../expandable/afc-expandable-wrapper/afc-expandable-wrapper.component";
8
+ const DEFAULT_COLOR = '#15808D';
9
+ export class AfConnectFooterComponent {
10
+ constructor(breakpointService) {
11
+ this.breakpointService = breakpointService;
12
+ this.config = undefined;
13
+ this.isBottomBannerHidden = false;
14
+ this.isFooterContentHidden = false;
15
+ this.backgroundColor = DEFAULT_COLOR;
16
+ this.centered = false;
17
+ /**
18
+ Footer component for AF Angular Websites. A config object can be passed to change data partially or fully.
19
+
20
+ public exampleTestConfig: FooterConfig = {
21
+ bannerTitle: 'test'
22
+ }
23
+
24
+ Passing the exampleTestConfig will replace only the banner. Everything else will be loaded from the default config.
25
+
26
+
27
+ defaultConfig: FooterConfig = {
28
+ sections: [
29
+ {
30
+ title: 'COMPANY',
31
+ sectionItems: [
32
+ {
33
+ title: 'Investor relations',
34
+ link: 'https://investors.alexforbes.com/'
35
+ },
36
+ {
37
+ title: 'Careers',
38
+ link: 'https://www.alexforbes.com/za/en/about/careers.html'
39
+ },
40
+ {
41
+ title: 'Procurement',
42
+ link: 'https://www.alexforbes.com/za/en/about/procurement.html'
43
+ },
44
+ {
45
+ title: 'Risk & Compliance',
46
+ link: 'https://www.alexanderforbesinvestments.co.za/about-us/risk-and-compliance'
47
+ },
48
+ ]
49
+ },
50
+ {
51
+ title: 'RESOURCES',
52
+ sectionItems: [
53
+ {
54
+ title: 'Business directory',
55
+ link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'
56
+ },
57
+ {
58
+ title: 'Compliments',
59
+ link: 'https://www.alexforbes.com/za/en/contact/compliments.html'
60
+ },
61
+ {
62
+ title: 'Complaints',
63
+ link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'
64
+ },
65
+ {
66
+ title: 'Report fraud',
67
+ link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'
68
+ },
69
+ {
70
+ title: 'Unclaimed benefits',
71
+ link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'
72
+ },
73
+ ]
74
+ },
75
+ ],
76
+ address: [
77
+ {
78
+ title: 'Head Office',
79
+ sectionItems: [
80
+ {
81
+ title: 'Contact information',
82
+ },
83
+ {
84
+ title: 'Email : info@alexforbes.com',
85
+ },
86
+ {
87
+ title: 'Telephone : +27 11 269 0000',
88
+ },
89
+ {
90
+ title: 'Fax : +27 11 263 0149',
91
+ },
92
+ ]
93
+ },
94
+ {
95
+ title: '',
96
+ sectionItems: [
97
+ {
98
+ title: 'Address',
99
+ },
100
+ {
101
+ title: 'Alexforbes',
102
+ },
103
+ {
104
+ title: '115 West Street',
105
+ },
106
+ {
107
+ title: 'Sandton, 2196',
108
+ },
109
+ ]
110
+ },
111
+ ],
112
+ bannerTitle: 'Copyright 2022 Alexander Forbes Group Holdings Limited.',
113
+ instagram: {
114
+ link: 'https://www.instagram.com/alexforbesofficial',
115
+ isHidden: false,
116
+ },
117
+ linkedIn: {
118
+ link: 'https://www.linkedin.com/company/alexforbesofficial',
119
+ isHidden: false,
120
+ },
121
+ facebook: {
122
+ link: 'https://www.facebook.com/alexforbesofficial/',
123
+ isHidden: false,
124
+ },
125
+ twitter: {
126
+ link: 'https://twitter.com/alexforbes',
127
+ isHidden: false,
128
+ }
129
+ }
130
+ */
131
+ this.defaultConfig = {
132
+ sections: [
133
+ {
134
+ title: 'Company',
135
+ sectionItems: [
136
+ {
137
+ title: 'Investor relations',
138
+ link: 'https://investors.alexforbes.com/'
139
+ },
140
+ {
141
+ title: 'Careers',
142
+ link: 'https://www.alexforbes.com/za/en/about/careers.html'
143
+ },
144
+ {
145
+ title: 'Procurement',
146
+ link: 'https://www.alexforbes.com/za/en/about/procurement.html'
147
+ },
148
+ {
149
+ title: 'Risk & compliance',
150
+ link: 'https://investors.alexforbes.com/governance/#1649142494218-25325-08da'
151
+ },
152
+ ]
153
+ },
154
+ {
155
+ title: 'Resources',
156
+ sectionItems: [
157
+ {
158
+ title: 'Business directory',
159
+ link: 'https://www.alexforbes.com/za/en/contact/business-directory.html'
160
+ },
161
+ {
162
+ title: 'Call me back',
163
+ link: 'https://kfta.app.alexanderforbes.co.za/TotalAgility/Forms/Digital/Contact_Us.form',
164
+ isHidden: true
165
+ },
166
+ {
167
+ title: 'Compliments',
168
+ link: 'https://www.alexforbes.com/za/en/contact/compliments.html'
169
+ },
170
+ {
171
+ title: 'Complaints',
172
+ link: 'https://www.alexforbes.com/za/en/contact/Complaints.html'
173
+ },
174
+ {
175
+ title: 'Report fraud',
176
+ link: 'https://www.alexforbes.com/za/en/contact/Report-fraud.html'
177
+ },
178
+ {
179
+ title: 'Unclaimed benefits',
180
+ link: 'https://www.alexforbes.com/za/en/corporate/products-corporate/unclaimed-benefits-fund.html'
181
+ },
182
+ ]
183
+ },
184
+ ],
185
+ address: [
186
+ {
187
+ title: 'Head Office',
188
+ sectionItems: [
189
+ {
190
+ title: 'Contact information',
191
+ bold: false
192
+ },
193
+ {
194
+ title: 'Email : info@alexforbes.com',
195
+ },
196
+ {
197
+ title: 'Telephone : +27 11 269 0000',
198
+ },
199
+ {
200
+ title: 'Fax : +27 11 263 0149',
201
+ },
202
+ ]
203
+ },
204
+ {
205
+ title: '',
206
+ sectionItems: [
207
+ {
208
+ title: 'Address',
209
+ bold: false
210
+ },
211
+ {
212
+ title: 'Alexforbes',
213
+ },
214
+ {
215
+ title: '115 West Street',
216
+ },
217
+ {
218
+ title: 'Sandton, 2196',
219
+ },
220
+ ]
221
+ },
222
+ ],
223
+ bannerTitle: 'Copyright 2024 Alexander Forbes Group Holdings Limited.',
224
+ instagram: {
225
+ link: 'https://www.instagram.com/alexforbesofficial',
226
+ isHidden: false,
227
+ },
228
+ linkedIn: {
229
+ link: 'https://www.linkedin.com/company/alexforbesofficial',
230
+ isHidden: false,
231
+ },
232
+ facebook: {
233
+ link: 'https://www.facebook.com/alexforbesofficial/',
234
+ isHidden: false,
235
+ },
236
+ twitter: {
237
+ link: 'https://twitter.com/alexforbes',
238
+ isHidden: false,
239
+ },
240
+ whatsapp: {
241
+ link: 'https://api.whatsapp.com/send/?phone=27600439601&text=help&type=phone_number&app_absent=0',
242
+ isHidden: false,
243
+ }
244
+ };
245
+ }
246
+ get getMobileAddress() {
247
+ const config = this.config ? this.config : this.defaultConfig;
248
+ const addressData = config?.address?.find(address => !address.title)?.sectionItems;
249
+ const titleString = addressData?.reduce((prev, curr, i) => {
250
+ return `${prev}${i === 0 ? '' : ''}${i === 1 ? ' : ' : ''}${i > 1 ? ',' : ''} ${curr.title}`;
251
+ }, '');
252
+ return titleString || '';
253
+ }
254
+ set showCallMeBack(value) {
255
+ if (this.defaultConfig &&
256
+ this.defaultConfig.sections &&
257
+ this.defaultConfig.sections[1] &&
258
+ this.defaultConfig.sections[1].sectionItems &&
259
+ this.defaultConfig.sections[1].sectionItems[1]) {
260
+ this.defaultConfig.sections[1].sectionItems[1].isHidden = !value;
261
+ if (this.defaultConfig.address && this.defaultConfig.address[0] && this.defaultConfig.address[0].sectionItems) {
262
+ this.defaultConfig.address[0].sectionItems[0].bold = value;
263
+ }
264
+ if (this.defaultConfig.address && this.defaultConfig.address[1] && this.defaultConfig.address[1].sectionItems) {
265
+ this.defaultConfig.address[1].sectionItems[0].bold = value;
266
+ }
267
+ if (value) {
268
+ this.defaultConfig.sections[1].title = "Customer Resources";
269
+ let temp = this.defaultConfig.sections[1].sectionItems[2];
270
+ this.defaultConfig.sections[1].sectionItems[2] = this.defaultConfig.sections[1].sectionItems[3];
271
+ this.defaultConfig.sections[1].sectionItems[3] = temp;
272
+ }
273
+ }
274
+ }
275
+ openLegalTerms() {
276
+ window.open('https://myapi.alexanderforbes.co.za/content/download/afinvestments/investmentsolutionspdffiles?path=Legal_Terms.pdf');
277
+ }
278
+ openPrivacyPolicy() {
279
+ window.open('https://myapi.alexanderforbes.co.za/content/download/afinvestments/investmentsolutionspdffiles?path=Privacy_Policy.pdf');
280
+ }
281
+ openPaiaManual() {
282
+ window.open('https://myapi.alexanderforbes.co.za/content/download/afinvestments/investmentsolutionspdffiles?path=PAIA_Manual.pdf');
283
+ }
284
+ getFooterStyling() {
285
+ if (this.centered) {
286
+ return {
287
+ 'background-color': this.backgroundColor,
288
+ 'grid-template-columns': 'repeat(4, minmax(190px, auto))',
289
+ 'justify-content': 'center'
290
+ };
291
+ }
292
+ return {
293
+ 'background-color': this.backgroundColor,
294
+ 'grid-template-columns': 'repeat(auto-fill, minmax(190px, auto))'
295
+ };
296
+ }
297
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFooterComponent, deps: [{ token: i1.BreakpointLibService }], target: i0.ɵɵFactoryTarget.Component }); }
298
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectFooterComponent, selector: "lib-af-connect-footer", inputs: { config: "config", isBottomBannerHidden: "isBottomBannerHidden", isFooterContentHidden: "isFooterContentHidden", backgroundColor: "backgroundColor", centered: "centered", showCallMeBack: "showCallMeBack" }, ngImport: i0, template: "\r\n<ng-container *ngIf=\"!isFooterContentHidden\"> \r\n <div *ngIf=\"!(breakpointService.isMobile$ | async)\" class=\"footer-container\" [ngStyle]=\"getFooterStyling()\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a *ngIf=\"!link.isHidden\" class=\"section-link\" [href]=\"link.link\" target=\"_blank\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" class=\"sections-container address-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link address-link\" [ngStyle]=\"{'font-weight': link.bold ? '600' : '500' }\">{{link.title}}</span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"breakpointService.isMobile$ | async\" class=\"footer-container\" [ngStyle]=\"{backgroundColor}\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"rgba(255,255,255, 0.7)\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a *ngIf=\"!link.isHidden\" class=\"section-link address-link\" [href]=\"link.link\" target=\"_blank\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" [ngClass]=\"[address.title ? 'sections-container address-container' : '']\">\r\n <afc-expandable-wrapper *ngIf=\"address.title\">\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"rgba(255,255,255, 0.7)\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link\">{{link.title}}</span>\r\n </ng-container>\r\n <span class=\"section-link address-link\">{{getMobileAddress}}</span>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n </div>\r\n</ng-container> \r\n\r\n<div class=\"bottom-banner-container\" [ngClass]=\"{'centered': centered}\">\r\n <div *ngIf=\"!isBottomBannerHidden\" class=\"bottom-banner\">\r\n <div class=\"banner-title\">\r\n {{config?.bannerTitle ? config?.bannerTitle : defaultConfig.bannerTitle}}\r\n <span class=\"title-links\" (click)=\"openLegalTerms()\">Legal terms | </span>\r\n <span class=\"title-links\" (click)=\"openPrivacyPolicy()\">Privacy policy | </span>\r\n <span class=\"title-links\" (click)=\"openPaiaManual()\">PAIA manual</span>\r\n </div>\r\n \r\n <div class=\"social-container\">\r\n <a *ngIf=\"!config?.instagram?.isHidden\" class=\"image-container\" [href]=\"config?.instagram?.link ? config?.instagram?.link : defaultConfig.instagram?.link\" target=\"_blank\">\r\n <svg id=\"Group_888\" data-name=\"Group 888\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"15.676\" viewBox=\"0 0 15.618 15.676\">\r\n <path id=\"Path_8\" data-name=\"Path 8\" d=\"M21.327,13.4c1.039.037,2.115.037,3.154.074a5.31,5.31,0,0,1,2.6.668,3.937,3.937,0,0,1,1.892,2.746,21.051,21.051,0,0,1,.186,2.152c.037,1.558,0,3.117,0,4.675a7.553,7.553,0,0,1-.3,2.412,3.931,3.931,0,0,1-3.154,2.746,14.046,14.046,0,0,1-2.152.186c-1.559.037-3.08,0-4.638,0a7.553,7.553,0,0,1-2.412-.3,3.931,3.931,0,0,1-2.746-3.154,14.046,14.046,0,0,1-.186-2.152c-.037-1.558,0-3.117,0-4.675a7.553,7.553,0,0,1,.3-2.412,3.931,3.931,0,0,1,3.154-2.746,14.047,14.047,0,0,1,2.152-.186c.705-.037,1.41-.037,2.152-.037Zm6.42,7.681h0c-.037-.631-.037-1.225-.037-1.855a14.347,14.347,0,0,0-.111-1.781,2.653,2.653,0,0,0-2.226-2.486,9.8,9.8,0,0,0-2.078-.148c-1.336-.037-2.635-.037-3.97,0a11.414,11.414,0,0,0-1.967.148,2.616,2.616,0,0,0-2.226,1.93A5.813,5.813,0,0,0,14.945,18c-.037,1.41-.037,2.82-.037,4.23,0,.891.037,1.818.111,2.709a2.587,2.587,0,0,0,2.264,2.486,12.746,12.746,0,0,0,2.078.148c1.3.037,2.6,0,3.933,0a14.348,14.348,0,0,0,1.781-.111A2.594,2.594,0,0,0,26.6,26.87a2.848,2.848,0,0,0,1.039-2.264C27.71,23.493,27.71,22.306,27.747,21.081Z\" transform=\"translate(-13.556 -13.4)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_9\" data-name=\"Path 9\" d=\"M31.715,27.708a4.008,4.008,0,1,1-3.97-4.008A3.991,3.991,0,0,1,31.715,27.708Zm-4.008,2.6a2.6,2.6,0,1,0-2.6-2.6A2.581,2.581,0,0,0,27.708,30.3Z\" transform=\"translate(-19.936 -19.878)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_10\" data-name=\"Path 10\" d=\"M45.052,21.628a.951.951,0,0,1-.928.965.946.946,0,1,1,.928-.965Z\" transform=\"translate(-32.196 -17.991)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.linkedIn?.isHidden\" class=\"image-container\" [href]=\"config?.linkedIn?.link ? config?.linkedIn?.link : defaultConfig.linkedIn?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"14.902\" viewBox=\"0 0 15.618 14.902\">\r\n <path id=\"Path_7\" data-name=\"Path 7\" d=\"M32.818,24.635V30.4H29.45V25.014c0-1.347-.463-2.273-1.684-2.273a1.868,1.868,0,0,0-1.726,1.221,2.278,2.278,0,0,0-.126.8V30.4H22.546s.042-9.135,0-10.061h3.368v1.431a.041.041,0,0,1-.042.042h.042v-.042a3.363,3.363,0,0,1,3.031-1.684c2.189,0,3.873,1.473,3.873,4.546ZM19.094,15.5A1.753,1.753,0,0,0,17.2,17.226a1.716,1.716,0,0,0,1.852,1.726h.042a1.729,1.729,0,0,0,1.894-1.726A1.777,1.777,0,0,0,19.094,15.5ZM17.368,30.4h3.326V20.341H17.368Zm0,0\" transform=\"translate(-17.2 -15.5)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.facebook?.isHidden\" class=\"image-container\" [href]=\"config?.facebook?.link ? config?.facebook?.link : defaultConfig.facebook?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 7.235 15.618\">\r\n <path id=\"Path_13\" data-name=\"Path 13\" d=\"M31.967,21.909H29.785v7.809H26.531V21.909H25V19.153h1.531v-1.8A3.032,3.032,0,0,1,29.785,14.1H32.2v2.68H30.474a.679.679,0,0,0-.689.766v1.608h2.45Zm0,0\" transform=\"translate(-25 -14.1)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.twitter?.isHidden\" class=\"image-container\" [href]=\"config?.twitter?.link ? config?.twitter?.link : defaultConfig.twitter?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.966\" height=\"15.618\" viewBox=\"0 0 15.966 15.618\">\r\n <path id=\"icons8-twitterx\" d=\"M19.846,19.618l-6.244-9.1.011.009L19.243,4H17.361L12.775,9.31,9.133,4H4.2l5.829,8.5h0L3.88,19.618H5.761l5.1-5.908,4.052,5.908ZM8.388,5.42,17.148,18.2H15.658L6.89,5.42Z\" transform=\"translate(-3.88 -4)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.whatsapp?.isHidden\" class=\"image-container\" [href]=\"config?.whatsapp?.link ? config?.whatsapp?.link : defaultConfig.whatsapp?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.666\" height=\"15.676\" viewBox=\"0 0 15.666 15.676\">\r\n <path id=\"whatsapp-svgrepo-com\" d=\"M17.324,6.273A7.691,7.691,0,0,0,11.838,4,7.779,7.779,0,0,0,5.1,15.649L4,19.676,8.115,18.6a7.762,7.762,0,0,0,9.21-12.325ZM11.838,18.236a6.446,6.446,0,0,1-3.292-.9l-.235-.147-2.44.647.647-2.381-.157-.245a6.492,6.492,0,1,1,5.477,3.027Zm3.537-4.84c-.2-.1-1.146-.568-1.323-.627s-.314-.1-.441.1a8.822,8.822,0,0,1-.617.754c-.108.137-.225.147-.421,0a5.222,5.222,0,0,1-2.635-2.3c-.206-.343.2-.323.568-1.058a.372.372,0,0,0,0-.343c0-.1-.441-1.058-.6-1.44s-.314-.323-.441-.333H9.085a.7.7,0,0,0-.519.245,2.146,2.146,0,0,0-.647,1.656,3.742,3.742,0,0,0,.794,2.008,8.71,8.71,0,0,0,3.321,2.939,3.773,3.773,0,0,0,2.332.49,1.96,1.96,0,0,0,1.3-.921,1.587,1.587,0,0,0,.118-.921A1.368,1.368,0,0,0,15.375,13.4Z\" transform=\"translate(-4 -4)\" fill=\"#fff\"/>\r\n </svg>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [":host{z-index:1000;width:100%}.footer-container{font-family:Hero New SemiBold;min-height:200px;position:relative;padding:3% 5% 2% 5.3%;z-index:1000;display:grid;grid-column-gap:4rem;grid-row-gap:1.5rem}@media (min-width: 769px) and (max-width: 1023px){.footer-container{grid-column-gap:2rem}}@media (min-width: 1024px) and (max-width: 1200px){.footer-container{grid-column-gap:2rem}}@media (max-width: 768px){.footer-container{grid-column-gap:0px;grid-row-gap:0px;display:flex;flex-wrap:wrap;flex-direction:column;padding:0rem 1rem}}.sections-container,.sections-container__mobile{display:flex;flex-wrap:wrap;justify-content:flex-start;flex-direction:column;gap:.5rem}@media (max-width: 768px){.sections-container,.sections-container__mobile{gap:20px;border-bottom:1px solid white}}@media (max-width: 768px){.sections-container__mobile{padding-bottom:20px}}.sections-container .section-title,.sections-container__mobile .section-title{font-size:1.25rem;font-family:Hero New Bold;margin:0 0 12px;color:#f1f2f5}@media (max-width: 768px){.sections-container .section-title,.sections-container__mobile .section-title{margin:0;font-size:1.125rem}}.sections-container:last-of-type,.sections-container__mobile:last-of-type{border-bottom:none}.sections-container:nth-last-of-type(2),.sections-container__mobile:nth-last-of-type(2){border-bottom:none}.section-link{font-family:Hero New;color:#fff;text-decoration:none;opacity:70%}.section-link.address-link{cursor:initial}@media (max-width: 768px){.section-link{font-size:.875rem}}@media (hover: hover){.section-link:hover{opacity:100%}}.bottom-banner-container{width:100%;background-color:#124e57}.bottom-banner-container.centered{display:flex;justify-content:center}.bottom-banner{color:#f1f2f5;padding:2% 5%;display:flex;justify-content:space-between;align-items:center;max-height:120px;position:relative;z-index:1001;width:90%;max-width:1440px}@media (max-width: 768px){.bottom-banner{flex-direction:column;justify-content:center;text-align:center;gap:11px;align-items:center;font-size:.6875rem;padding:16px 8px;line-height:22px}}.social-container{display:flex;gap:40px;margin-left:4%}@media (max-width: 768px){.social-container{gap:35px;margin-left:0%}}.image-container{cursor:pointer;display:flex;justify-content:center;align-items:center;width:18px;height:18px}img{height:16px;width:16px}.section-link{cursor:pointer}.address-title{min-height:28px}.address-container a:first-of-type{opacity:100%}.title-container{display:flex;justify-content:space-between;align-items:center;cursor:pointer}@media (max-width: 768px){.title-container{padding-top:16px;padding-bottom:16px;width:100%}}.margin-div{width:100%;height:20px}.title-links{cursor:pointer}.title-links:hover{text-decoration:underline}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i3.ExpandableContainerComponent, selector: "afc-expandable-container" }, { kind: "component", type: i4.ExpandableArrowComponent, selector: "afc-expandable-arrow", inputs: ["color", "startPosition", "endPosition"] }, { kind: "component", type: i5.ExpandableWrapperComponent, selector: "afc-expandable-wrapper" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
299
+ }
300
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFooterComponent, decorators: [{
301
+ type: Component,
302
+ args: [{ selector: 'lib-af-connect-footer', template: "\r\n<ng-container *ngIf=\"!isFooterContentHidden\"> \r\n <div *ngIf=\"!(breakpointService.isMobile$ | async)\" class=\"footer-container\" [ngStyle]=\"getFooterStyling()\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a *ngIf=\"!link.isHidden\" class=\"section-link\" [href]=\"link.link\" target=\"_blank\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" class=\"sections-container address-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link address-link\" [ngStyle]=\"{'font-weight': link.bold ? '600' : '500' }\">{{link.title}}</span>\r\n </ng-container>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"breakpointService.isMobile$ | async\" class=\"footer-container\" [ngStyle]=\"{backgroundColor}\">\r\n <div *ngFor=\"let section of config?.sections?.length ? config?.sections : defaultConfig.sections\" class=\"sections-container\">\r\n <afc-expandable-wrapper>\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title\">\r\n {{section.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"rgba(255,255,255, 0.7)\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of section.sectionItems\">\r\n <a *ngIf=\"!link.isHidden\" class=\"section-link address-link\" [href]=\"link.link\" target=\"_blank\">{{link.title}}</a>\r\n </ng-container>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n <div *ngFor=\"let address of config?.address?.length ? config?.address : defaultConfig.address\" [ngClass]=\"[address.title ? 'sections-container address-container' : '']\">\r\n <afc-expandable-wrapper *ngIf=\"address.title\">\r\n <div triggerable class=\"title-container\">\r\n <h2 class=\"section-title address-title\">\r\n {{address.title}}\r\n </h2>\r\n <afc-expandable-arrow color=\"rgba(255,255,255, 0.7)\"></afc-expandable-arrow>\r\n </div>\r\n <afc-expandable-container>\r\n <div class=\"sections-container__mobile\">\r\n <ng-container *ngFor=\"let link of address.sectionItems\">\r\n <span class=\"section-link\">{{link.title}}</span>\r\n </ng-container>\r\n <span class=\"section-link address-link\">{{getMobileAddress}}</span>\r\n </div>\r\n </afc-expandable-container>\r\n </afc-expandable-wrapper>\r\n </div>\r\n </div>\r\n</ng-container> \r\n\r\n<div class=\"bottom-banner-container\" [ngClass]=\"{'centered': centered}\">\r\n <div *ngIf=\"!isBottomBannerHidden\" class=\"bottom-banner\">\r\n <div class=\"banner-title\">\r\n {{config?.bannerTitle ? config?.bannerTitle : defaultConfig.bannerTitle}}\r\n <span class=\"title-links\" (click)=\"openLegalTerms()\">Legal terms | </span>\r\n <span class=\"title-links\" (click)=\"openPrivacyPolicy()\">Privacy policy | </span>\r\n <span class=\"title-links\" (click)=\"openPaiaManual()\">PAIA manual</span>\r\n </div>\r\n \r\n <div class=\"social-container\">\r\n <a *ngIf=\"!config?.instagram?.isHidden\" class=\"image-container\" [href]=\"config?.instagram?.link ? config?.instagram?.link : defaultConfig.instagram?.link\" target=\"_blank\">\r\n <svg id=\"Group_888\" data-name=\"Group 888\" xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"15.676\" viewBox=\"0 0 15.618 15.676\">\r\n <path id=\"Path_8\" data-name=\"Path 8\" d=\"M21.327,13.4c1.039.037,2.115.037,3.154.074a5.31,5.31,0,0,1,2.6.668,3.937,3.937,0,0,1,1.892,2.746,21.051,21.051,0,0,1,.186,2.152c.037,1.558,0,3.117,0,4.675a7.553,7.553,0,0,1-.3,2.412,3.931,3.931,0,0,1-3.154,2.746,14.046,14.046,0,0,1-2.152.186c-1.559.037-3.08,0-4.638,0a7.553,7.553,0,0,1-2.412-.3,3.931,3.931,0,0,1-2.746-3.154,14.046,14.046,0,0,1-.186-2.152c-.037-1.558,0-3.117,0-4.675a7.553,7.553,0,0,1,.3-2.412,3.931,3.931,0,0,1,3.154-2.746,14.047,14.047,0,0,1,2.152-.186c.705-.037,1.41-.037,2.152-.037Zm6.42,7.681h0c-.037-.631-.037-1.225-.037-1.855a14.347,14.347,0,0,0-.111-1.781,2.653,2.653,0,0,0-2.226-2.486,9.8,9.8,0,0,0-2.078-.148c-1.336-.037-2.635-.037-3.97,0a11.414,11.414,0,0,0-1.967.148,2.616,2.616,0,0,0-2.226,1.93A5.813,5.813,0,0,0,14.945,18c-.037,1.41-.037,2.82-.037,4.23,0,.891.037,1.818.111,2.709a2.587,2.587,0,0,0,2.264,2.486,12.746,12.746,0,0,0,2.078.148c1.3.037,2.6,0,3.933,0a14.348,14.348,0,0,0,1.781-.111A2.594,2.594,0,0,0,26.6,26.87a2.848,2.848,0,0,0,1.039-2.264C27.71,23.493,27.71,22.306,27.747,21.081Z\" transform=\"translate(-13.556 -13.4)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_9\" data-name=\"Path 9\" d=\"M31.715,27.708a4.008,4.008,0,1,1-3.97-4.008A3.991,3.991,0,0,1,31.715,27.708Zm-4.008,2.6a2.6,2.6,0,1,0-2.6-2.6A2.581,2.581,0,0,0,27.708,30.3Z\" transform=\"translate(-19.936 -19.878)\" fill=\"#f1f2f5\"/>\r\n <path id=\"Path_10\" data-name=\"Path 10\" d=\"M45.052,21.628a.951.951,0,0,1-.928.965.946.946,0,1,1,.928-.965Z\" transform=\"translate(-32.196 -17.991)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.linkedIn?.isHidden\" class=\"image-container\" [href]=\"config?.linkedIn?.link ? config?.linkedIn?.link : defaultConfig.linkedIn?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.618\" height=\"14.902\" viewBox=\"0 0 15.618 14.902\">\r\n <path id=\"Path_7\" data-name=\"Path 7\" d=\"M32.818,24.635V30.4H29.45V25.014c0-1.347-.463-2.273-1.684-2.273a1.868,1.868,0,0,0-1.726,1.221,2.278,2.278,0,0,0-.126.8V30.4H22.546s.042-9.135,0-10.061h3.368v1.431a.041.041,0,0,1-.042.042h.042v-.042a3.363,3.363,0,0,1,3.031-1.684c2.189,0,3.873,1.473,3.873,4.546ZM19.094,15.5A1.753,1.753,0,0,0,17.2,17.226a1.716,1.716,0,0,0,1.852,1.726h.042a1.729,1.729,0,0,0,1.894-1.726A1.777,1.777,0,0,0,19.094,15.5ZM17.368,30.4h3.326V20.341H17.368Zm0,0\" transform=\"translate(-17.2 -15.5)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.facebook?.isHidden\" class=\"image-container\" [href]=\"config?.facebook?.link ? config?.facebook?.link : defaultConfig.facebook?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15\" height=\"15\" viewBox=\"0 0 7.235 15.618\">\r\n <path id=\"Path_13\" data-name=\"Path 13\" d=\"M31.967,21.909H29.785v7.809H26.531V21.909H25V19.153h1.531v-1.8A3.032,3.032,0,0,1,29.785,14.1H32.2v2.68H30.474a.679.679,0,0,0-.689.766v1.608h2.45Zm0,0\" transform=\"translate(-25 -14.1)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.twitter?.isHidden\" class=\"image-container\" [href]=\"config?.twitter?.link ? config?.twitter?.link : defaultConfig.twitter?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.966\" height=\"15.618\" viewBox=\"0 0 15.966 15.618\">\r\n <path id=\"icons8-twitterx\" d=\"M19.846,19.618l-6.244-9.1.011.009L19.243,4H17.361L12.775,9.31,9.133,4H4.2l5.829,8.5h0L3.88,19.618H5.761l5.1-5.908,4.052,5.908ZM8.388,5.42,17.148,18.2H15.658L6.89,5.42Z\" transform=\"translate(-3.88 -4)\" fill=\"#f1f2f5\"/>\r\n </svg>\r\n </a>\r\n <a *ngIf=\"!config?.whatsapp?.isHidden\" class=\"image-container\" [href]=\"config?.whatsapp?.link ? config?.whatsapp?.link : defaultConfig.whatsapp?.link\" target=\"_blank\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"15.666\" height=\"15.676\" viewBox=\"0 0 15.666 15.676\">\r\n <path id=\"whatsapp-svgrepo-com\" d=\"M17.324,6.273A7.691,7.691,0,0,0,11.838,4,7.779,7.779,0,0,0,5.1,15.649L4,19.676,8.115,18.6a7.762,7.762,0,0,0,9.21-12.325ZM11.838,18.236a6.446,6.446,0,0,1-3.292-.9l-.235-.147-2.44.647.647-2.381-.157-.245a6.492,6.492,0,1,1,5.477,3.027Zm3.537-4.84c-.2-.1-1.146-.568-1.323-.627s-.314-.1-.441.1a8.822,8.822,0,0,1-.617.754c-.108.137-.225.147-.421,0a5.222,5.222,0,0,1-2.635-2.3c-.206-.343.2-.323.568-1.058a.372.372,0,0,0,0-.343c0-.1-.441-1.058-.6-1.44s-.314-.323-.441-.333H9.085a.7.7,0,0,0-.519.245,2.146,2.146,0,0,0-.647,1.656,3.742,3.742,0,0,0,.794,2.008,8.71,8.71,0,0,0,3.321,2.939,3.773,3.773,0,0,0,2.332.49,1.96,1.96,0,0,0,1.3-.921,1.587,1.587,0,0,0,.118-.921A1.368,1.368,0,0,0,15.375,13.4Z\" transform=\"translate(-4 -4)\" fill=\"#fff\"/>\r\n </svg>\r\n </a>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [":host{z-index:1000;width:100%}.footer-container{font-family:Hero New SemiBold;min-height:200px;position:relative;padding:3% 5% 2% 5.3%;z-index:1000;display:grid;grid-column-gap:4rem;grid-row-gap:1.5rem}@media (min-width: 769px) and (max-width: 1023px){.footer-container{grid-column-gap:2rem}}@media (min-width: 1024px) and (max-width: 1200px){.footer-container{grid-column-gap:2rem}}@media (max-width: 768px){.footer-container{grid-column-gap:0px;grid-row-gap:0px;display:flex;flex-wrap:wrap;flex-direction:column;padding:0rem 1rem}}.sections-container,.sections-container__mobile{display:flex;flex-wrap:wrap;justify-content:flex-start;flex-direction:column;gap:.5rem}@media (max-width: 768px){.sections-container,.sections-container__mobile{gap:20px;border-bottom:1px solid white}}@media (max-width: 768px){.sections-container__mobile{padding-bottom:20px}}.sections-container .section-title,.sections-container__mobile .section-title{font-size:1.25rem;font-family:Hero New Bold;margin:0 0 12px;color:#f1f2f5}@media (max-width: 768px){.sections-container .section-title,.sections-container__mobile .section-title{margin:0;font-size:1.125rem}}.sections-container:last-of-type,.sections-container__mobile:last-of-type{border-bottom:none}.sections-container:nth-last-of-type(2),.sections-container__mobile:nth-last-of-type(2){border-bottom:none}.section-link{font-family:Hero New;color:#fff;text-decoration:none;opacity:70%}.section-link.address-link{cursor:initial}@media (max-width: 768px){.section-link{font-size:.875rem}}@media (hover: hover){.section-link:hover{opacity:100%}}.bottom-banner-container{width:100%;background-color:#124e57}.bottom-banner-container.centered{display:flex;justify-content:center}.bottom-banner{color:#f1f2f5;padding:2% 5%;display:flex;justify-content:space-between;align-items:center;max-height:120px;position:relative;z-index:1001;width:90%;max-width:1440px}@media (max-width: 768px){.bottom-banner{flex-direction:column;justify-content:center;text-align:center;gap:11px;align-items:center;font-size:.6875rem;padding:16px 8px;line-height:22px}}.social-container{display:flex;gap:40px;margin-left:4%}@media (max-width: 768px){.social-container{gap:35px;margin-left:0%}}.image-container{cursor:pointer;display:flex;justify-content:center;align-items:center;width:18px;height:18px}img{height:16px;width:16px}.section-link{cursor:pointer}.address-title{min-height:28px}.address-container a:first-of-type{opacity:100%}.title-container{display:flex;justify-content:space-between;align-items:center;cursor:pointer}@media (max-width: 768px){.title-container{padding-top:16px;padding-bottom:16px;width:100%}}.margin-div{width:100%;height:20px}.title-links{cursor:pointer}.title-links:hover{text-decoration:underline}\n"] }]
303
+ }], ctorParameters: () => [{ type: i1.BreakpointLibService }], propDecorators: { config: [{
304
+ type: Input
305
+ }], isBottomBannerHidden: [{
306
+ type: Input
307
+ }], isFooterContentHidden: [{
308
+ type: Input
309
+ }], backgroundColor: [{
310
+ type: Input
311
+ }], centered: [{
312
+ type: Input
313
+ }], showCallMeBack: [{
314
+ type: Input
315
+ }] } });
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb290ZXIvYWYtY29ubmVjdC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb290ZXIvYWYtY29ubmVjdC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFnQ2pELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQTtBQU8vQixNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQW1CLGlCQUF1QztRQUF2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBRzFELFdBQU0sR0FBNkIsU0FBUyxDQUFDO1FBQ3BDLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxhQUFhLENBQUM7UUFDaEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQXVDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2FBaUhLO1FBRUUsa0JBQWEsR0FBaUI7WUFDbkMsUUFBUSxFQUFFO2dCQUNSO29CQUNFLEtBQUssRUFBRSxTQUFTO29CQUNoQixZQUFZLEVBQUU7d0JBQ1o7NEJBQ0UsS0FBSyxFQUFFLG9CQUFvQjs0QkFDM0IsSUFBSSxFQUFFLG1DQUFtQzt5QkFDMUM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLFNBQVM7NEJBQ2hCLElBQUksRUFBRSxxREFBcUQ7eUJBQzVEO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxhQUFhOzRCQUNwQixJQUFJLEVBQUUseURBQXlEO3lCQUNoRTt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsbUJBQW1COzRCQUMxQixJQUFJLEVBQUUsdUVBQXVFO3lCQUM5RTtxQkFDRjtpQkFDRjtnQkFDRDtvQkFDRSxLQUFLLEVBQUUsV0FBVztvQkFDbEIsWUFBWSxFQUFFO3dCQUNaOzRCQUNFLEtBQUssRUFBRSxvQkFBb0I7NEJBQzNCLElBQUksRUFBRSxrRUFBa0U7eUJBQ3pFO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxjQUFjOzRCQUNyQixJQUFJLEVBQUUsbUZBQW1GOzRCQUN6RixRQUFRLEVBQUUsSUFBSTt5QkFDZjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsYUFBYTs0QkFDcEIsSUFBSSxFQUFFLDJEQUEyRDt5QkFDbEU7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLFlBQVk7NEJBQ25CLElBQUksRUFBRSwwREFBMEQ7eUJBQ2pFO3dCQUNEOzRCQUNFLEtBQUssRUFBRSxjQUFjOzRCQUNyQixJQUFJLEVBQUUsNERBQTREO3lCQUNuRTt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsb0JBQW9COzRCQUMzQixJQUFJLEVBQUUsNEZBQTRGO3lCQUNuRztxQkFDRjtpQkFDRjthQUNGO1lBQ0QsT0FBTyxFQUFFO2dCQUNQO29CQUNFLEtBQUssRUFBRSxhQUFhO29CQUNwQixZQUFZLEVBQUU7d0JBQ1o7NEJBQ0UsS0FBSyxFQUFFLHFCQUFxQjs0QkFDNUIsSUFBSSxFQUFFLEtBQUs7eUJBQ1o7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLDZCQUE2Qjt5QkFDckM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLDZCQUE2Qjt5QkFDckM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLHVCQUF1Qjt5QkFDL0I7cUJBQ0Y7aUJBQ0Y7Z0JBQ0Q7b0JBQ0UsS0FBSyxFQUFFLEVBQUU7b0JBQ1QsWUFBWSxFQUFFO3dCQUNaOzRCQUNFLEtBQUssRUFBRSxTQUFTOzRCQUNoQixJQUFJLEVBQUUsS0FBSzt5QkFDWjt3QkFDRDs0QkFDRSxLQUFLLEVBQUUsWUFBWTt5QkFDcEI7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLGlCQUFpQjt5QkFDekI7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLGVBQWU7eUJBQ3ZCO3FCQUNGO2lCQUNGO2FBQ0Y7WUFDRCxXQUFXLEVBQUUseURBQXlEO1lBQ3RFLFNBQVMsRUFBRTtnQkFDVCxJQUFJLEVBQUUsOENBQThDO2dCQUNwRCxRQUFRLEVBQUUsS0FBSzthQUNoQjtZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUscURBQXFEO2dCQUMzRCxRQUFRLEVBQUUsS0FBSzthQUNoQjtZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUUsOENBQThDO2dCQUNwRCxRQUFRLEVBQUUsS0FBSzthQUNoQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxJQUFJLEVBQUUsZ0NBQWdDO2dCQUN0QyxRQUFRLEVBQUUsS0FBSzthQUNoQjtZQUNELFFBQVEsRUFBRTtnQkFDUixJQUFJLEVBQUMsMkZBQTJGO2dCQUNoRyxRQUFRLEVBQUUsS0FBSzthQUNoQjtTQUNGLENBQUE7SUFsUjZELENBQUM7SUFTL0QsSUFBVyxnQkFBZ0I7UUFDekIsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQztRQUM5RCxNQUFNLFdBQVcsR0FBOEIsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLENBQUE7UUFDN0csTUFBTSxXQUFXLEdBQUcsV0FBVyxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQVksRUFBRSxJQUFpQixFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzdFLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQy9GLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNQLE9BQU8sV0FBVyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBYSxjQUFjLENBQUMsS0FBYztRQUN4QyxJQUNFLElBQUksQ0FBQyxhQUFhO1lBQ2xCLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUTtZQUMzQixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDOUIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWTtZQUMzQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQzlDLENBQUM7WUFDQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxHQUFHLENBQUMsS0FBSyxDQUFDO1lBRWpFLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUM7Z0JBQzVHLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1lBQy9ELENBQUM7WUFFRCxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUM1RyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztZQUMvRCxDQUFDO1lBRUQsSUFBSSxLQUFLLEVBQUUsQ0FBQztnQkFDUixJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsb0JBQW9CLENBQUM7Z0JBRTVELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDaEcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUMxRCxDQUFDO1FBQ0wsQ0FBQztJQUNILENBQUM7SUF3T0QsY0FBYztRQUNaLE1BQU0sQ0FBQyxJQUFJLENBQUMscUhBQXFILENBQUMsQ0FBQTtJQUNwSSxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsTUFBTSxDQUFDLElBQUksQ0FBQyx3SEFBd0gsQ0FBQyxDQUFBO0lBQ3ZJLENBQUM7SUFFRCxjQUFjO1FBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxxSEFBcUgsQ0FBQyxDQUFBO0lBQ3BJLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixPQUFPO2dCQUNMLGtCQUFrQixFQUFFLElBQUksQ0FBQyxlQUFlO2dCQUN4Qyx1QkFBdUIsRUFBRSxnQ0FBZ0M7Z0JBQ3pELGlCQUFpQixFQUFFLFFBQVE7YUFDNUIsQ0FBQTtRQUNILENBQUM7UUFFRCxPQUFPO1lBQ0gsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGVBQWU7WUFDeEMsdUJBQXVCLEVBQUUsd0NBQXdDO1NBQ2xFLENBQUE7SUFDTCxDQUFDOytHQS9TVSx3QkFBd0I7bUdBQXhCLHdCQUF3QixxUkN2Q3JDLDQ3U0E0R0E7OzRGRHJFYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCO3lGQVNqQyxNQUFNO3NCQURMLEtBQUs7Z0JBRUcsb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLHFCQUFxQjtzQkFBN0IsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBV08sY0FBYztzQkFBMUIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQnJlYWtwb2ludExpYlNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9icmVha3BvaW50LnNlcnZpY2UnO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTb2NpYWxMaW5rIHtcclxuICBsaW5rOiBzdHJpbmcsXHJcbiAgaXNIaWRkZW4/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlY3Rpb25JdGVtIHtcclxuICB0aXRsZTogc3RyaW5nLFxyXG4gIGxpbms/OiBzdHJpbmcsXHJcbiAgaXNIaWRkZW4/OiBib29sZWFuLFxyXG4gIGJvbGQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNlY3Rpb24ge1xyXG4gIHRpdGxlPzogc3RyaW5nLFxyXG4gIHNlY3Rpb25JdGVtczogU2VjdGlvbkl0ZW1bXTtcclxufVxyXG5cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRm9vdGVyQ29uZmlnIHtcclxuICBiYW5uZXJUaXRsZT86IHN0cmluZyB8IHVuZGVmaW5lZCxcclxuICBpbnN0YWdyYW0/OiBTb2NpYWxMaW5rLFxyXG4gIGxpbmtlZEluPzogU29jaWFsTGluayxcclxuICBmYWNlYm9vaz86IFNvY2lhbExpbmssXHJcbiAgdHdpdHRlcj86IFNvY2lhbExpbmssXHJcbiAgd2hhdHNhcHA/OiBTb2NpYWxMaW5rLFxyXG4gIHNlY3Rpb25zPzogU2VjdGlvbltdLFxyXG4gIGFkZHJlc3M/OiBTZWN0aW9uW10sXHJcbn1cclxuXHJcbmNvbnN0IERFRkFVTFRfQ09MT1IgPSAnIzE1ODA4RCdcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtZm9vdGVyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWYtY29ubmVjdC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FmLWNvbm5lY3QtZm9vdGVyLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdEZvb3RlckNvbXBvbmVudCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBicmVha3BvaW50U2VydmljZTogQnJlYWtwb2ludExpYlNlcnZpY2UpIHsgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIGNvbmZpZzogRm9vdGVyQ29uZmlnIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xyXG4gIEBJbnB1dCgpIGlzQm90dG9tQmFubmVySGlkZGVuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNGb290ZXJDb250ZW50SGlkZGVuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYmFja2dyb3VuZENvbG9yID0gREVGQVVMVF9DT0xPUjtcclxuICBASW5wdXQoKSBjZW50ZXJlZCA9IGZhbHNlO1xyXG5cclxuICBwdWJsaWMgZ2V0IGdldE1vYmlsZUFkZHJlc3MoKTogc3RyaW5nIHtcclxuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnID8gdGhpcy5jb25maWcgOiB0aGlzLmRlZmF1bHRDb25maWc7XHJcbiAgICBjb25zdCBhZGRyZXNzRGF0YTogU2VjdGlvbkl0ZW1bXSB8IHVuZGVmaW5lZCA9IGNvbmZpZz8uYWRkcmVzcz8uZmluZChhZGRyZXNzID0+ICFhZGRyZXNzLnRpdGxlKT8uc2VjdGlvbkl0ZW1zXHJcbiAgICBjb25zdCB0aXRsZVN0cmluZyA9IGFkZHJlc3NEYXRhPy5yZWR1Y2UoKHByZXY6IHN0cmluZywgY3VycjogU2VjdGlvbkl0ZW0sIGkpID0+IHtcclxuICAgICAgcmV0dXJuIGAke3ByZXZ9JHtpID09PSAwID8gJycgOiAnJ30ke2kgPT09IDEgPyAnIDogJyA6ICcnfSR7aSA+IDEgPyAnLCcgOiAnJ30gJHtjdXJyLnRpdGxlfWA7XHJcbiAgICB9LCAnJyk7XHJcbiAgICByZXR1cm4gdGl0bGVTdHJpbmcgfHwgJyc7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBzZXQgc2hvd0NhbGxNZUJhY2sodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnICYmXHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZy5zZWN0aW9ucyAmJlxyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuc2VjdGlvbnNbMV0gJiZcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNlY3Rpb25zWzFdLnNlY3Rpb25JdGVtcyAmJlxyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuc2VjdGlvbnNbMV0uc2VjdGlvbkl0ZW1zWzFdXHJcbiAgICApIHtcclxuICAgICAgICB0aGlzLmRlZmF1bHRDb25maWcuc2VjdGlvbnNbMV0uc2VjdGlvbkl0ZW1zWzFdLmlzSGlkZGVuID0gIXZhbHVlO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q29uZmlnLmFkZHJlc3MgJiYgdGhpcy5kZWZhdWx0Q29uZmlnLmFkZHJlc3NbMF0gJiYgdGhpcy5kZWZhdWx0Q29uZmlnLmFkZHJlc3NbMF0uc2VjdGlvbkl0ZW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvbmZpZy5hZGRyZXNzWzBdLnNlY3Rpb25JdGVtc1swXS5ib2xkID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5kZWZhdWx0Q29uZmlnLmFkZHJlc3MgJiYgdGhpcy5kZWZhdWx0Q29uZmlnLmFkZHJlc3NbMV0gJiYgdGhpcy5kZWZhdWx0Q29uZmlnLmFkZHJlc3NbMV0uc2VjdGlvbkl0ZW1zKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvbmZpZy5hZGRyZXNzWzFdLnNlY3Rpb25JdGVtc1swXS5ib2xkID0gdmFsdWU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodmFsdWUpIHtcclxuICAgICAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNlY3Rpb25zWzFdLnRpdGxlID0gXCJDdXN0b21lciBSZXNvdXJjZXNcIjtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIGxldCB0ZW1wID0gdGhpcy5kZWZhdWx0Q29uZmlnLnNlY3Rpb25zWzFdLnNlY3Rpb25JdGVtc1syXTtcclxuICAgICAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNlY3Rpb25zWzFdLnNlY3Rpb25JdGVtc1syXSA9IHRoaXMuZGVmYXVsdENvbmZpZy5zZWN0aW9uc1sxXS5zZWN0aW9uSXRlbXNbM107XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvbmZpZy5zZWN0aW9uc1sxXS5zZWN0aW9uSXRlbXNbM10gPSB0ZW1wO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAgIEZvb3RlciBjb21wb25lbnQgZm9yIEFGIEFuZ3VsYXIgV2Vic2l0ZXMuIEEgY29uZmlnIG9iamVjdCBjYW4gYmUgcGFzc2VkIHRvIGNoYW5nZSBkYXRhIHBhcnRpYWxseSBvciBmdWxseS5cclxuXHJcbiAgICAgcHVibGljIGV4YW1wbGVUZXN0Q29uZmlnOiBGb290ZXJDb25maWcgPSB7XHJcbiAgICAgIGJhbm5lclRpdGxlOiAndGVzdCdcclxuICAgICB9XHJcblxyXG4gICAgIFBhc3NpbmcgdGhlIGV4YW1wbGVUZXN0Q29uZmlnIHdpbGwgcmVwbGFjZSBvbmx5IHRoZSBiYW5uZXIuIEV2ZXJ5dGhpbmcgZWxzZSB3aWxsIGJlIGxvYWRlZCBmcm9tIHRoZSBkZWZhdWx0IGNvbmZpZy5cclxuXHJcblxyXG4gICAgIGRlZmF1bHRDb25maWc6IEZvb3RlckNvbmZpZyA9IHtcclxuICAgIHNlY3Rpb25zOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ0NPTVBBTlknLFxyXG4gICAgICAgIHNlY3Rpb25JdGVtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0ludmVzdG9yIHJlbGF0aW9ucycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL2ludmVzdG9ycy5hbGV4Zm9yYmVzLmNvbS8nXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NhcmVlcnMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vYWJvdXQvY2FyZWVycy5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdQcm9jdXJlbWVudCcsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9hYm91dC9wcm9jdXJlbWVudC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdSaXNrICYgQ29tcGxpYW5jZScsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4YW5kZXJmb3JiZXNpbnZlc3RtZW50cy5jby56YS9hYm91dC11cy9yaXNrLWFuZC1jb21wbGlhbmNlJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1JFU09VUkNFUycsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQnVzaW5lc3MgZGlyZWN0b3J5JyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvbnRhY3QvYnVzaW5lc3MtZGlyZWN0b3J5Lmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NvbXBsaW1lbnRzJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvbnRhY3QvY29tcGxpbWVudHMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29tcGxhaW50cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L0NvbXBsYWludHMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmVwb3J0IGZyYXVkJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvbnRhY3QvUmVwb3J0LWZyYXVkLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1VuY2xhaW1lZCBiZW5lZml0cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb3Jwb3JhdGUvcHJvZHVjdHMtY29ycG9yYXRlL3VuY2xhaW1lZC1iZW5lZml0cy1mdW5kLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBhZGRyZXNzOiBbXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ0hlYWQgT2ZmaWNlJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDb250YWN0IGluZm9ybWF0aW9uJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnRW1haWwgOiBpbmZvQGFsZXhmb3JiZXMuY29tJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnVGVsZXBob25lIDogKzI3IDExIDI2OSAwMDAwJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnRmF4IDogKzI3IDExIDI2MyAwMTQ5JyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICcnLFxyXG4gICAgICAgIHNlY3Rpb25JdGVtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0FkZHJlc3MnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdBbGV4Zm9yYmVzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnMTE1IFdlc3QgU3RyZWV0JyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnU2FuZHRvbiwgMjE5NicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgIF0sXHJcbiAgICBiYW5uZXJUaXRsZTogJ0NvcHlyaWdodCAyMDIyIEFsZXhhbmRlciBGb3JiZXMgR3JvdXAgSG9sZGluZ3MgTGltaXRlZC4nLFxyXG4gICAgaW5zdGFncmFtOiB7XHJcbiAgICAgIGxpbms6ICdodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2FsZXhmb3JiZXNvZmZpY2lhbCcsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBsaW5rZWRJbjoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cubGlua2VkaW4uY29tL2NvbXBhbnkvYWxleGZvcmJlc29mZmljaWFsJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIGZhY2Vib29rOiB7XHJcbiAgICAgIGxpbms6ICdodHRwczovL3d3dy5mYWNlYm9vay5jb20vYWxleGZvcmJlc29mZmljaWFsLycsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB0d2l0dGVyOiB7XHJcbiAgICAgIGxpbms6ICdodHRwczovL3R3aXR0ZXIuY29tL2FsZXhmb3JiZXMnLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9XHJcbiAgfVxyXG4gICAgICovXHJcblxyXG4gIHB1YmxpYyBkZWZhdWx0Q29uZmlnOiBGb290ZXJDb25maWcgPSB7XHJcbiAgICBzZWN0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdDb21wYW55JyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJbnZlc3RvciByZWxhdGlvbnMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly9pbnZlc3RvcnMuYWxleGZvcmJlcy5jb20vJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDYXJlZXJzJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2Fib3V0L2NhcmVlcnMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUHJvY3VyZW1lbnQnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vYWJvdXQvcHJvY3VyZW1lbnQuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlzayAmIGNvbXBsaWFuY2UnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly9pbnZlc3RvcnMuYWxleGZvcmJlcy5jb20vZ292ZXJuYW5jZS8jMTY0OTE0MjQ5NDIxOC0yNTMyNS0wOGRhJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJ1Jlc291cmNlcycsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQnVzaW5lc3MgZGlyZWN0b3J5JyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvbnRhY3QvYnVzaW5lc3MtZGlyZWN0b3J5Lmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NhbGwgbWUgYmFjaycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL2tmdGEuYXBwLmFsZXhhbmRlcmZvcmJlcy5jby56YS9Ub3RhbEFnaWxpdHkvRm9ybXMvRGlnaXRhbC9Db250YWN0X1VzLmZvcm0nLFxyXG4gICAgICAgICAgICBpc0hpZGRlbjogdHJ1ZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDb21wbGltZW50cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L2NvbXBsaW1lbnRzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NvbXBsYWludHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29udGFjdC9Db21wbGFpbnRzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1JlcG9ydCBmcmF1ZCcsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L1JlcG9ydC1mcmF1ZC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdVbmNsYWltZWQgYmVuZWZpdHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29ycG9yYXRlL3Byb2R1Y3RzLWNvcnBvcmF0ZS91bmNsYWltZWQtYmVuZWZpdHMtZnVuZC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYWRkcmVzczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdIZWFkIE9mZmljZScsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29udGFjdCBpbmZvcm1hdGlvbicsXHJcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0VtYWlsIDogaW5mb0BhbGV4Zm9yYmVzLmNvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1RlbGVwaG9uZSA6ICsyNyAxMSAyNjkgMDAwMCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0ZheCA6ICsyNyAxMSAyNjMgMDE0OScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdBZGRyZXNzJyxcclxuICAgICAgICAgICAgYm9sZDogZmFsc2VcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWxleGZvcmJlcycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJzExNSBXZXN0IFN0cmVldCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1NhbmR0b24sIDIxOTYnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYmFubmVyVGl0bGU6ICdDb3B5cmlnaHQgMjAyNCBBbGV4YW5kZXIgRm9yYmVzIEdyb3VwIEhvbGRpbmdzIExpbWl0ZWQuJyxcclxuICAgIGluc3RhZ3JhbToge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9hbGV4Zm9yYmVzb2ZmaWNpYWwnLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgbGlua2VkSW46IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2FsZXhmb3JiZXNvZmZpY2lhbCcsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBmYWNlYm9vazoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2FsZXhmb3JiZXNvZmZpY2lhbC8nLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgdHdpdHRlcjoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly90d2l0dGVyLmNvbS9hbGV4Zm9yYmVzJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHdoYXRzYXBwOiB7XHJcbiAgICAgIGxpbms6J2h0dHBzOi8vYXBpLndoYXRzYXBwLmNvbS9zZW5kLz9waG9uZT0yNzYwMDQzOTYwMSZ0ZXh0PWhlbHAmdHlwZT1waG9uZV9udW1iZXImYXBwX2Fic2VudD0wJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkxlZ2FsVGVybXMoKSB7XHJcbiAgICB3aW5kb3cub3BlbignaHR0cHM6Ly9teWFwaS5hbGV4YW5kZXJmb3JiZXMuY28uemEvY29udGVudC9kb3dubG9hZC9hZmludmVzdG1lbnRzL2ludmVzdG1lbnRzb2x1dGlvbnNwZGZmaWxlcz9wYXRoPUxlZ2FsX1Rlcm1zLnBkZicpXHJcbiAgfVxyXG5cclxuICBvcGVuUHJpdmFjeVBvbGljeSgpIHtcclxuICAgIHdpbmRvdy5vcGVuKCdodHRwczovL215YXBpLmFsZXhhbmRlcmZvcmJlcy5jby56YS9jb250ZW50L2Rvd25sb2FkL2FmaW52ZXN0bWVudHMvaW52ZXN0bWVudHNvbHV0aW9uc3BkZmZpbGVzP3BhdGg9UHJpdmFjeV9Qb2xpY3kucGRmJylcclxuICB9XHJcblxyXG4gIG9wZW5QYWlhTWFudWFsKCkge1xyXG4gICAgd2luZG93Lm9wZW4oJ2h0dHBzOi8vbXlhcGkuYWxleGFuZGVyZm9yYmVzLmNvLnphL2NvbnRlbnQvZG93bmxvYWQvYWZpbnZlc3RtZW50cy9pbnZlc3RtZW50c29sdXRpb25zcGRmZmlsZXM/cGF0aD1QQUlBX01hbnVhbC5wZGYnKVxyXG4gIH1cclxuXHJcbiAgZ2V0Rm9vdGVyU3R5bGluZygpIHtcclxuICAgIGlmICh0aGlzLmNlbnRlcmVkKSB7XHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiB0aGlzLmJhY2tncm91bmRDb2xvcixcclxuICAgICAgICAnZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zJzogJ3JlcGVhdCg0LCBtaW5tYXgoMTkwcHgsIGF1dG8pKScsXHJcbiAgICAgICAgJ2p1c3RpZnktY29udGVudCc6ICdjZW50ZXInXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhpcy5iYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMTkwcHgsIGF1dG8pKSdcclxuICAgICAgfVxyXG4gIH1cclxufVxyXG4iLCJcclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFpc0Zvb3RlckNvbnRlbnRIaWRkZW5cIj4gIFxyXG4gICAgPGRpdiAqbmdJZj1cIiEoYnJlYWtwb2ludFNlcnZpY2UuaXNNb2JpbGUkIHwgYXN5bmMpXCIgIGNsYXNzPVwiZm9vdGVyLWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cImdldEZvb3RlclN0eWxpbmcoKVwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgY29uZmlnPy5zZWN0aW9ucz8ubGVuZ3RoID8gY29uZmlnPy5zZWN0aW9ucyA6IGRlZmF1bHRDb25maWcuc2VjdGlvbnNcIiBjbGFzcz1cInNlY3Rpb25zLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICB7e3NlY3Rpb24udGl0bGV9fVxyXG4gICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIHNlY3Rpb24uc2VjdGlvbkl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGEgKm5nSWY9XCIhbGluay5pc0hpZGRlblwiIGNsYXNzPVwic2VjdGlvbi1saW5rXCIgW2hyZWZdPVwibGluay5saW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3tsaW5rLnRpdGxlfX08L2E+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFkZHJlc3Mgb2YgY29uZmlnPy5hZGRyZXNzPy5sZW5ndGggPyBjb25maWc/LmFkZHJlc3MgOiBkZWZhdWx0Q29uZmlnLmFkZHJlc3NcIiBjbGFzcz1cInNlY3Rpb25zLWNvbnRhaW5lciBhZGRyZXNzLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8aDIgY2xhc3M9XCJzZWN0aW9uLXRpdGxlIGFkZHJlc3MtdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgIHt7YWRkcmVzcy50aXRsZX19XHJcbiAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgYWRkcmVzcy5zZWN0aW9uSXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY3Rpb24tbGluayBhZGRyZXNzLWxpbmtcIiBbbmdTdHlsZV09XCJ7J2ZvbnQtd2VpZ2h0JzogbGluay5ib2xkID8gJzYwMCcgOiAnNTAwJyB9XCI+e3tsaW5rLnRpdGxlfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cImJyZWFrcG9pbnRTZXJ2aWNlLmlzTW9iaWxlJCB8IGFzeW5jXCIgIGNsYXNzPVwiZm9vdGVyLWNvbnRhaW5lclwiIFtuZ1N0eWxlXT1cIntiYWNrZ3JvdW5kQ29sb3J9XCI+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgc2VjdGlvbiBvZiBjb25maWc/LnNlY3Rpb25zPy5sZW5ndGggPyBjb25maWc/LnNlY3Rpb25zIDogZGVmYXVsdENvbmZpZy5zZWN0aW9uc1wiIGNsYXNzPVwic2VjdGlvbnMtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgIDxhZmMtZXhwYW5kYWJsZS13cmFwcGVyPlxyXG4gICAgICAgICAgICAgICAgPGRpdiB0cmlnZ2VyYWJsZSBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInNlY3Rpb24tdGl0bGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAge3tzZWN0aW9uLnRpdGxlfX1cclxuICAgICAgICAgICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhZmMtZXhwYW5kYWJsZS1hcnJvdyBjb2xvcj1cInJnYmEoMjU1LDI1NSwyNTUsIDAuNylcIj48L2FmYy1leHBhbmRhYmxlLWFycm93PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YWZjLWV4cGFuZGFibGUtY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzZWN0aW9ucy1jb250YWluZXJfX21vYmlsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIHNlY3Rpb24uc2VjdGlvbkl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgKm5nSWY9XCIhbGluay5pc0hpZGRlblwiIGNsYXNzPVwic2VjdGlvbi1saW5rIGFkZHJlc3MtbGlua1wiIFtocmVmXT1cImxpbmsubGlua1wiIHRhcmdldD1cIl9ibGFua1wiPnt7bGluay50aXRsZX19PC9hPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYWZjLWV4cGFuZGFibGUtY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2FmYy1leHBhbmRhYmxlLXdyYXBwZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYWRkcmVzcyBvZiBjb25maWc/LmFkZHJlc3M/Lmxlbmd0aCA/IGNvbmZpZz8uYWRkcmVzcyA6IGRlZmF1bHRDb25maWcuYWRkcmVzc1wiIFtuZ0NsYXNzXT1cIlthZGRyZXNzLnRpdGxlID8gJ3NlY3Rpb25zLWNvbnRhaW5lciBhZGRyZXNzLWNvbnRhaW5lcicgOiAnJ11cIj5cclxuICAgICAgICAgICAgPGFmYy1leHBhbmRhYmxlLXdyYXBwZXIgKm5nSWY9XCJhZGRyZXNzLnRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHRyaWdnZXJhYmxlIGNsYXNzPVwidGl0bGUtY29udGFpbmVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwic2VjdGlvbi10aXRsZSBhZGRyZXNzLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7YWRkcmVzcy50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgICAgICAgICA8YWZjLWV4cGFuZGFibGUtYXJyb3cgY29sb3I9XCJyZ2JhKDI1NSwyNTUsMjU1LCAwLjcpXCI+PC9hZmMtZXhwYW5kYWJsZS1hcnJvdz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGFmYy1leHBhbmRhYmxlLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbnMtY29udGFpbmVyX19tb2JpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBhZGRyZXNzLnNlY3Rpb25JdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWN0aW9uLWxpbmtcIj57e2xpbmsudGl0bGV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VjdGlvbi1saW5rIGFkZHJlc3MtbGlua1wiPnt7Z2V0TW9iaWxlQWRkcmVzc319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9hZmMtZXhwYW5kYWJsZS1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDwvYWZjLWV4cGFuZGFibGUtd3JhcHBlcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG48L25nLWNvbnRhaW5lcj4gXHJcblxyXG48ZGl2IGNsYXNzPVwiYm90dG9tLWJhbm5lci1jb250YWluZXJcIiBbbmdDbGFzc109XCJ7J2NlbnRlcmVkJzogY2VudGVyZWR9XCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiIWlzQm90dG9tQmFubmVySGlkZGVuXCIgY2xhc3M9XCJib3R0b20tYmFubmVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJhbm5lci10aXRsZVwiPlxyXG4gICAgICAgICAgICB7e2NvbmZpZz8uYmFubmVyVGl0bGUgPyBjb25maWc/LmJhbm5lclRpdGxlIDogZGVmYXVsdENvbmZpZy5iYW5uZXJUaXRsZX19XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtbGlua3NcIiAoY2xpY2spPVwib3BlbkxlZ2FsVGVybXMoKVwiPkxlZ2FsIHRlcm1zIHwgPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWxpbmtzXCIgKGNsaWNrKT1cIm9wZW5Qcml2YWN5UG9saWN5KClcIj5Qcml2YWN5IHBvbGljeSB8IDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS1saW5rc1wiIChjbGljayk9XCJvcGVuUGFpYU1hbnVhbCgpXCI+UEFJQSBtYW51YWw8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICBcclxuICAgICAgICA8ZGl2IGNsYXNzPVwic29jaWFsLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8YSAqbmdJZj1cIiFjb25maWc/Lmluc3RhZ3JhbT8uaXNIaWRkZW5cIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiIFtocmVmXT1cImNvbmZpZz8uaW5zdGFncmFtPy5saW5rID8gY29uZmlnPy5pbnN0YWdyYW0/LmxpbmsgOiBkZWZhdWx0Q29uZmlnLmluc3RhZ3JhbT8ubGlua1wiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyBpZD1cIkdyb3VwXzg4OFwiIGRhdGEtbmFtZT1cIkdyb3VwIDg4OFwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE1LjYxOFwiIGhlaWdodD1cIjE1LjY3NlwiIHZpZXdCb3g9XCIwIDAgMTUuNjE4IDE1LjY3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiUGF0aF84XCIgZGF0YS1uYW1lPVwiUGF0aCA4XCIgZD1cIk0yMS4zMjcsMTMuNGMxLjAzOS4wMzcsMi4xMTUuMDM3LDMuMTU0LjA3NGE1LjMxLDUuMzEsMCwwLDEsMi42LjY2OCwzLjkzNywzLjkzNywwLDAsMSwxLjg5MiwyLjc0NiwyMS4wNTEsMjEuMDUxLDAsMCwxLC4xODYsMi4xNTJjLjAzNywxLjU1OCwwLDMuMTE3LDAsNC42NzVhNy41NTMsNy41NTMsMCwwLDEtLjMsMi40MTIsMy45MzEsMy45MzEsMCwwLDEtMy4xNTQsMi43NDYsMTQuMDQ2LDE0LjA0NiwwLDAsMS0yLjE1Mi4xODZjLTEuNTU5LjAzNy0zLjA4LDAtNC42MzgsMGE3LjU1Myw3LjU1MywwLDAsMS0yLjQxMi0uMywzLjkzMSwzLjkzMSwwLDAsMS0yLjc0Ni0zLjE1NCwxNC4wNDYsMTQuMDQ2LDAsMCwxLS4xODYtMi4xNTJjLS4wMzctMS41NTgsMC0zLjExNywwLTQuNjc1YTcuNTUzLDcuNTUzLDAsMCwxLC4zLTIuNDEyLDMuOTMxLDMuOTMxLDAsMCwxLDMuMTU0LTIuNzQ2LDE0LjA0NywxNC4wNDcsMCwwLDEsMi4xNTItLjE4NmMuNzA1LS4wMzcsMS40MS0uMDM3LDIuMTUyLS4wMzdabTYuNDIsNy42ODFoMGMtLjAzNy0uNjMxLS4wMzctMS4yMjUtLjAzNy0xLjg1NWExNC4zNDcsMTQuMzQ3LDAsMCwwLS4xMTEtMS43ODEsMi42NTMsMi42NTMsMCwwLDAtMi4yMjYtMi40ODYsOS44LDkuOCwwLDAsMC0yLjA3OC0uMTQ4Yy0xLjMzNi0uMDM3LTIuNjM1LS4wMzctMy45NywwYTExLjQxNCwxMS40MTQsMCwwLDAtMS45NjcuMTQ4LDIuNjE2LDIuNjE2LDAsMCwwLTIuMjI2LDEuOTNBNS44MTMsNS44MTMsMCwwLDAsMTQuOTQ1LDE4Yy0uMDM3LDEuNDEtLjAzNywyLjgyLS4wMzcsNC4yMywwLC44OTEuMDM3LDEuODE4LjExMSwyLjcwOWEyLjU4NywyLjU4NywwLDAsMCwyLjI2NCwyLjQ4NiwxMi43NDYsMTIuNzQ2LDAsMCwwLDIuMDc4LjE0OGMxLjMuMDM3LDIuNiwwLDMuOTMzLDBhMTQuMzQ4LDE0LjM0OCwwLDAsMCwxLjc4MS0uMTExQTIuNTk0LDIuNTk0LDAsMCwwLDI2LjYsMjYuODdhMi44NDgsMi44NDgsMCwwLDAsMS4wMzktMi4yNjRDMjcuNzEsMjMuNDkzLDI3LjcxLDIyLjMwNiwyNy43NDcsMjEuMDgxWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTMuNTU2IC0xMy40KVwiIGZpbGw9XCIjZjFmMmY1XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiUGF0aF85XCIgZGF0YS1uYW1lPVwiUGF0aCA5XCIgZD1cIk0zMS43MTUsMjcuNzA4YTQuMDA4LDQuMDA4LDAsMSwxLTMuOTctNC4wMDhBMy45OTEsMy45OTEsMCwwLDEsMzEuNzE1LDI3LjcwOFptLTQuMDA4LDIuNmEyLjYsMi42LDAsMSwwLTIuNi0yLjZBMi41ODEsMi41ODEsMCwwLDAsMjcuNzA4LDMwLjNaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xOS45MzYgLTE5Ljg3OClcIiBmaWxsPVwiI2YxZjJmNVwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlBhdGhfMTBcIiBkYXRhLW5hbWU9XCJQYXRoIDEwXCIgZD1cIk00NS4wNTIsMjEuNjI4YS45NTEuOTUxLDAsMCwxLS45MjguOTY1Ljk0Ni45NDYsMCwxLDEsLjkyOC0uOTY1WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMzIuMTk2IC0xNy45OTEpXCIgZmlsbD1cIiNmMWYyZjVcIi8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhY29uZmlnPy5saW5rZWRJbj8uaXNIaWRkZW5cIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiIFtocmVmXT1cImNvbmZpZz8ubGlua2VkSW4/LmxpbmsgPyBjb25maWc/LmxpbmtlZEluPy5saW5rIDogZGVmYXVsdENvbmZpZy5saW5rZWRJbj8ubGlua1wiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNS42MThcIiBoZWlnaHQ9XCIxNC45MDJcIiB2aWV3Qm94PVwiMCAwIDE1LjYxOCAxNC45MDJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlBhdGhfN1wiIGRhdGEtbmFtZT1cIlBhdGggN1wiIGQ9XCJNMzIuODE4LDI0LjYzNVYzMC40SDI5LjQ1VjI1LjAxNGMwLTEuMzQ3LS40NjMtMi4yNzMtMS42ODQtMi4yNzNhMS44NjgsMS44NjgsMCwwLDAtMS43MjYsMS4yMjEsMi4yNzgsMi4yNzgsMCwwLDAtLjEyNi44VjMwLjRIMjIuNTQ2cy4wNDItOS4xMzUsMC0xMC4wNjFoMy4zNjh2MS40MzFhLjA0MS4wNDEsMCwwLDEtLjA0Mi4wNDJoLjA0MnYtLjA0MmEzLjM2MywzLjM2MywwLDAsMSwzLjAzMS0xLjY4NGMyLjE4OSwwLDMuODczLDEuNDczLDMuODczLDQuNTQ2Wk0xOS4wOTQsMTUuNUExLjc1MywxLjc1MywwLDAsMCwxNy4yLDE3LjIyNmExLjcxNiwxLjcxNiwwLDAsMCwxLjg1MiwxLjcyNmguMDQyYTEuNzI5LDEuNzI5LDAsMCwwLDEuODk0LTEuNzI2QTEuNzc3LDEuNzc3LDAsMCwwLDE5LjA5NCwxNS41Wk0xNy4zNjgsMzAuNGgzLjMyNlYyMC4zNDFIMTcuMzY4Wm0wLDBcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTE3LjIgLTE1LjUpXCIgZmlsbD1cIiNmMWYyZjVcIi8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgICAgICA8YSAqbmdJZj1cIiFjb25maWc/LmZhY2Vib29rPy5pc0hpZGRlblwiIGNsYXNzPVwiaW1hZ2UtY29udGFpbmVyXCIgW2hyZWZdPVwiY29uZmlnPy5mYWNlYm9vaz8ubGluayA/IGNvbmZpZz8uZmFjZWJvb2s/LmxpbmsgOiBkZWZhdWx0Q29uZmlnLmZhY2Vib29rPy5saW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE1XCIgaGVpZ2h0PVwiMTVcIiB2aWV3Qm94PVwiMCAwIDcuMjM1IDE1LjYxOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiUGF0aF8xM1wiIGRhdGEtbmFtZT1cIlBhdGggMTNcIiBkPVwiTTMxLjk2NywyMS45MDlIMjkuNzg1djcuODA5SDI2LjUzMVYyMS45MDlIMjVWMTkuMTUzaDEuNTMxdi0xLjhBMy4wMzIsMy4wMzIsMCwwLDEsMjkuNzg1LDE0LjFIMzIuMnYyLjY4SDMwLjQ3NGEuNjc5LjY3OSwwLDAsMC0uNjg5Ljc2NnYxLjYwOGgyLjQ1Wm0wLDBcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTI1IC0xNC4xKVwiIGZpbGw9XCIjZjFmMmY1XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhY29uZmlnPy50d2l0dGVyPy5pc0hpZGRlblwiIGNsYXNzPVwiaW1hZ2UtY29udGFpbmVyXCIgW2hyZWZdPVwiY29uZmlnPy50d2l0dGVyPy5saW5rID8gY29uZmlnPy50d2l0dGVyPy5saW5rIDogZGVmYXVsdENvbmZpZy50d2l0dGVyPy5saW5rXCIgdGFyZ2V0PVwiX2JsYW5rXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE1Ljk2NlwiIGhlaWdodD1cIjE1LjYxOFwiIHZpZXdCb3g9XCIwIDAgMTUuOTY2IDE1LjYxOFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGlkPVwiaWNvbnM4LXR3aXR0ZXJ4XCIgZD1cIk0xOS44NDYsMTkuNjE4bC02LjI0NC05LjEuMDExLjAwOUwxOS4yNDMsNEgxNy4zNjFMMTIuNzc1LDkuMzEsOS4xMzMsNEg0LjJsNS44MjksOC41aDBMMy44OCwxOS42MThINS43NjFsNS4xLTUuOTA4LDQuMDUyLDUuOTA4Wk04LjM4OCw1LjQyLDE3LjE0OCwxOC4ySDE1LjY1OEw2Ljg5LDUuNDJaXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0zLjg4IC00KVwiIGZpbGw9XCIjZjFmMmY1XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhY29uZmlnPy53aGF0c2FwcD8uaXNIaWRkZW5cIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiIFtocmVmXT1cImNvbmZpZz8ud2hhdHNhcHA/LmxpbmsgPyBjb25maWc/LndoYXRzYXBwPy5saW5rIDogZGVmYXVsdENvbmZpZy53aGF0c2FwcD8ubGlua1wiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNS42NjZcIiBoZWlnaHQ9XCIxNS42NzZcIiB2aWV3Qm94PVwiMCAwIDE1LjY2NiAxNS42NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIndoYXRzYXBwLXN2Z3JlcG8tY29tXCIgZD1cIk0xNy4zMjQsNi4yNzNBNy42OTEsNy42OTEsMCwwLDAsMTEuODM4LDQsNy43NzksNy43NzksMCwwLDAsNS4xLDE1LjY0OUw0LDE5LjY3Niw4LjExNSwxOC42YTcuNzYyLDcuNzYyLDAsMCwwLDkuMjEtMTIuMzI1Wk0xMS44MzgsMTguMjM2YTYuNDQ2LDYuNDQ2LDAsMCwxLTMuMjkyLS45bC0uMjM1LS4xNDctMi40NC42NDcuNjQ3LTIuMzgxLS4xNTctLjI0NWE2LjQ5Miw2LjQ5MiwwLDEsMSw1LjQ3NywzLjAyN1ptMy41MzctNC44NGMtLjItLjEtMS4xNDYtLjU2OC0xLjMyMy0uNjI3cy0uMzE0LS4xLS40NDEuMWE4LjgyMiw4LjgyMiwwLDAsMS0uNjE3Ljc1NGMtLjEwOC4xMzctLjIyNS4xNDctLjQyMSwwYTUuMjIyLDUuMjIyLDAsMCwxLTIuNjM1LTIuM2MtLjIwNi0uMzQzLjItLjMyMy41NjgtMS4wNThhLjM3Mi4zNzIsMCwwLDAsMC0uMzQzYzAtLjEtLjQ0MS0xLjA1OC0uNi0xLjQ0cy0uMzE0LS4zMjMtLjQ0MS0uMzMzSDkuMDg1YS43LjcsMCwwLDAtLjUxOS4yNDUsMi4xNDYsMi4xNDYsMCwwLDAtLjY0NywxLjY1NiwzLjc0MiwzLjc0MiwwLDAsMCwuNzk0LDIuMDA4LDguNzEsOC43MSwwLDAsMCwzLjMyMSwyLjkzOSwzLjc3MywzLjc3MywwLDAsMCwyLjMzMi40OSwxLjk2LDEuOTYsMCwwLDAsMS4zLS45MjEsMS41ODcsMS41ODcsMCwwLDAsLjExOC0uOTIxQTEuMzY4LDEuMzY4LDAsMCwwLDE1LjM3NSwxMy40WlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtNCAtNClcIiBmaWxsPVwiI2ZmZlwiLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIl19
@@ -1,11 +1,11 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class AfConnectFormGroupComponent {
4
- }
5
- AfConnectFormGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectFormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
6
- AfConnectFormGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AfConnectFormGroupComponent, selector: "lib-af-connect-form-group", ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2rem;align-items:end}@media (max-width: 1024px){:host{grid-template-columns:repeat(2,1fr);column-gap:1.5rem;row-gap:1.5rem}}@media (max-width: 480px){:host{grid-template-columns:auto}}\n"] });
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectFormGroupComponent, decorators: [{
8
- type: Component,
9
- args: [{ selector: 'lib-af-connect-form-group', template: "<ng-content></ng-content>\r\n", styles: [":host{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2rem;align-items:end}@media (max-width: 1024px){:host{grid-template-columns:repeat(2,1fr);column-gap:1.5rem;row-gap:1.5rem}}@media (max-width: 480px){:host{grid-template-columns:auto}}\n"] }]
10
- }] });
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb3JtLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3QtZm9ybS1ncm91cC9hZi1jb25uZWN0LWZvcm0tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb3JtLWdyb3VwL2FmLWNvbm5lY3QtZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sMkJBQTJCOzt3SEFBM0IsMkJBQTJCOzRHQUEzQiwyQkFBMkIsaUVDUHhDLCtCQUNBOzJGRE1hLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtZm9ybS1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3QtZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWYtY29ubmVjdC1mb3JtLWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdEZvcm1Hcm91cENvbXBvbmVudCB7XHJcblxyXG59XHJcbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
1
+ import { Component } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class AfConnectFormGroupComponent {
4
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFormGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectFormGroupComponent, selector: "lib-af-connect-form-group", ngImport: i0, template: "<ng-content></ng-content>\r\n", styles: [":host{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2rem;align-items:end}@media (max-width: 1024px){:host{grid-template-columns:repeat(2,1fr);column-gap:1.5rem;row-gap:1.5rem}}@media (max-width: 480px){:host{grid-template-columns:auto}}\n"] }); }
6
+ }
7
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFormGroupComponent, decorators: [{
8
+ type: Component,
9
+ args: [{ selector: 'lib-af-connect-form-group', template: "<ng-content></ng-content>\r\n", styles: [":host{display:grid;grid-template-columns:repeat(3,1fr);column-gap:2rem;align-items:end}@media (max-width: 1024px){:host{grid-template-columns:repeat(2,1fr);column-gap:1.5rem;row-gap:1.5rem}}@media (max-width: 480px){:host{grid-template-columns:auto}}\n"] }]
10
+ }] });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb3JtLWdyb3VwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3QtZm9ybS1ncm91cC9hZi1jb25uZWN0LWZvcm0tZ3JvdXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb3JtLWdyb3VwL2FmLWNvbm5lY3QtZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU8xQyxNQUFNLE9BQU8sMkJBQTJCOytHQUEzQiwyQkFBMkI7bUdBQTNCLDJCQUEyQixpRUNQeEMsK0JBQ0E7OzRGRE1hLDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSwyQkFBMkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtZm9ybS1ncm91cCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3QtZm9ybS1ncm91cC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWYtY29ubmVjdC1mb3JtLWdyb3VwLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdEZvcm1Hcm91cENvbXBvbmVudCB7XHJcblxyXG59XHJcbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuIl19
@@ -1,21 +1,21 @@
1
- import { Component, Input } from '@angular/core';
2
- import { numberWithCommas } from '../utilities/number.util';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- export class AfConnectFormValidationErrorsComponent {
6
- constructor() {
7
- this.fieldText = 'Field';
8
- this.convertToNumberWithCommas = numberWithCommas;
9
- }
10
- }
11
- AfConnectFormValidationErrorsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectFormValidationErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
12
- AfConnectFormValidationErrorsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AfConnectFormValidationErrorsComponent, selector: "lib-af-connect-form-validation-errors", inputs: { fieldText: "fieldText", control: "control" }, ngImport: i0, template: "<div class=\"container\" *ngIf=\"control && control.errors && control.dirty && control.touched\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['required']\">{{ fieldText }} is required</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['emptyValue']\">Please enter a {{ fieldText }}</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['minlength']\">\r\n {{ fieldText }} must have be least {{ control.errors['minlength'].requiredLength }} symbols long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['maxlength']\">\r\n {{ fieldText }} must be no more than {{ control.errors['maxlength'].requiredLength }} symbols\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['existingProductName']\">\r\n Please enter a unique Product Name. Example: Alexforbes Life Cover\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['email']\">Invalid Email address</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['NAN']\">Please enter a valid number</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['positiveNumber']\">\r\n Please enter a positive number. Example: R100 000\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['integerNumber']\">\r\n Please enter a number without any digits after the decimal point\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['max']\">\r\n Please enter a number less than or equal to {{ convertToNumberWithCommas(control.errors['max'].max) }}\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['length']\">\r\n {{ fieldText }} must be {{ control.errors['length'] }} digits long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['alphabetic']\">\r\n {{ fieldText }} cannot contain numbers or special characters\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['selectOptions']\">\r\n Please select a valid {{ fieldText }} from the dropdown list\r\n </div>\r\n </div>\r\n \r\n <div class=\"container\" *ngIf=\"control && control.errors && control.dirty\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['startDateBeforeEndDate']\">\r\n You have selected an incorrect date\r\n </div>\r\n </div>\r\n ", styles: [".container__error{color:var(--primary-orange-mobile-color);font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
13
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectFormValidationErrorsComponent, decorators: [{
14
- type: Component,
15
- args: [{ selector: 'lib-af-connect-form-validation-errors', template: "<div class=\"container\" *ngIf=\"control && control.errors && control.dirty && control.touched\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['required']\">{{ fieldText }} is required</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['emptyValue']\">Please enter a {{ fieldText }}</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['minlength']\">\r\n {{ fieldText }} must have be least {{ control.errors['minlength'].requiredLength }} symbols long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['maxlength']\">\r\n {{ fieldText }} must be no more than {{ control.errors['maxlength'].requiredLength }} symbols\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['existingProductName']\">\r\n Please enter a unique Product Name. Example: Alexforbes Life Cover\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['email']\">Invalid Email address</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['NAN']\">Please enter a valid number</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['positiveNumber']\">\r\n Please enter a positive number. Example: R100 000\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['integerNumber']\">\r\n Please enter a number without any digits after the decimal point\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['max']\">\r\n Please enter a number less than or equal to {{ convertToNumberWithCommas(control.errors['max'].max) }}\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['length']\">\r\n {{ fieldText }} must be {{ control.errors['length'] }} digits long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['alphabetic']\">\r\n {{ fieldText }} cannot contain numbers or special characters\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['selectOptions']\">\r\n Please select a valid {{ fieldText }} from the dropdown list\r\n </div>\r\n </div>\r\n \r\n <div class=\"container\" *ngIf=\"control && control.errors && control.dirty\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['startDateBeforeEndDate']\">\r\n You have selected an incorrect date\r\n </div>\r\n </div>\r\n ", styles: [".container__error{color:var(--primary-orange-mobile-color);font-size:12px}\n"] }]
16
- }], propDecorators: { fieldText: [{
17
- type: Input
18
- }], control: [{
19
- type: Input
20
- }] } });
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy9hZi1jb25uZWN0LWZvcm0tdmFsaWRhdGlvbi1lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTzVELE1BQU0sT0FBTyxzQ0FBc0M7SUFMbkQ7UUFNVyxjQUFTLEdBQVcsT0FBTyxDQUFDO1FBRTlCLDhCQUF5QixHQUFHLGdCQUFnQixDQUFDO0tBQ3JEOzttSUFKWSxzQ0FBc0M7dUhBQXRDLHNDQUFzQyxxSUNUbkQscTFFQXVDRTsyRkQ5Qlcsc0NBQXNDO2tCQUxsRCxTQUFTOytCQUNFLHVDQUF1Qzs4QkFLeEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBudW1iZXJXaXRoQ29tbWFzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL251bWJlci51dGlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdEZvcm1WYWxpZGF0aW9uRXJyb3JzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBmaWVsZFRleHQ6IHN0cmluZyA9ICdGaWVsZCc7XHJcbiAgQElucHV0KCkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgcHVibGljIGNvbnZlcnRUb051bWJlcldpdGhDb21tYXMgPSBudW1iZXJXaXRoQ29tbWFzO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiAqbmdJZj1cImNvbnRyb2wgJiYgY29udHJvbC5lcnJvcnMgJiYgY29udHJvbC5kaXJ0eSAmJiBjb250cm9sLnRvdWNoZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1sncmVxdWlyZWQnXVwiPnt7IGZpZWxkVGV4dCB9fSBpcyByZXF1aXJlZDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydlbXB0eVZhbHVlJ11cIj5QbGVhc2UgZW50ZXIgYSB7eyBmaWVsZFRleHQgfX08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IG11c3QgaGF2ZSBiZSBsZWFzdCB7eyBjb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGggfX0gc3ltYm9scyBsb25nXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IG11c3QgYmUgbm8gbW9yZSB0aGFuIHt7IGNvbnRyb2wuZXJyb3JzWydtYXhsZW5ndGgnXS5yZXF1aXJlZExlbmd0aCB9fSBzeW1ib2xzXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snZXhpc3RpbmdQcm9kdWN0TmFtZSddXCI+XHJcbiAgICAgIFBsZWFzZSBlbnRlciBhIHVuaXF1ZSBQcm9kdWN0IE5hbWUuIEV4YW1wbGU6IEFsZXhmb3JiZXMgTGlmZSBDb3ZlclxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19lcnJvclwiICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ2VtYWlsJ11cIj5JbnZhbGlkIEVtYWlsIGFkZHJlc3M8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snTkFOJ11cIj5QbGVhc2UgZW50ZXIgYSB2YWxpZCBudW1iZXI8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1sncG9zaXRpdmVOdW1iZXInXVwiPlxyXG4gICAgICBQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSBudW1iZXIuIEV4YW1wbGU6IFIxMDAgMDAwXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snaW50ZWdlck51bWJlciddXCI+XHJcbiAgICAgIFBsZWFzZSBlbnRlciBhIG51bWJlciB3aXRob3V0IGFueSBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnRcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydtYXgnXVwiPlxyXG4gICAgICBQbGVhc2UgZW50ZXIgYSBudW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHt7IGNvbnZlcnRUb051bWJlcldpdGhDb21tYXMoY29udHJvbC5lcnJvcnNbJ21heCddLm1heCkgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydsZW5ndGgnXVwiPlxyXG4gICAgICB7eyBmaWVsZFRleHQgfX0gbXVzdCBiZSB7eyBjb250cm9sLmVycm9yc1snbGVuZ3RoJ10gfX0gZGlnaXRzIGxvbmdcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydhbHBoYWJldGljJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IGNhbm5vdCBjb250YWluIG51bWJlcnMgb3Igc3BlY2lhbCBjaGFyYWN0ZXJzXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snc2VsZWN0T3B0aW9ucyddXCI+XHJcbiAgICAgIFBsZWFzZSBzZWxlY3QgYSB2YWxpZCB7eyBmaWVsZFRleHQgfX0gZnJvbSB0aGUgZHJvcGRvd24gbGlzdFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiICpuZ0lmPVwiY29udHJvbCAmJiBjb250cm9sLmVycm9ycyAmJiBjb250cm9sLmRpcnR5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19lcnJvclwiICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ3N0YXJ0RGF0ZUJlZm9yZUVuZERhdGUnXVwiPlxyXG4gICAgICBZb3UgaGF2ZSBzZWxlY3RlZCBhbiBpbmNvcnJlY3QgZGF0ZVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgIl19
1
+ import { Component, Input } from '@angular/core';
2
+ import { numberWithCommas } from '../utilities/number.util';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class AfConnectFormValidationErrorsComponent {
6
+ constructor() {
7
+ this.fieldText = 'Field';
8
+ this.convertToNumberWithCommas = numberWithCommas;
9
+ }
10
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFormValidationErrorsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
11
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AfConnectFormValidationErrorsComponent, selector: "lib-af-connect-form-validation-errors", inputs: { fieldText: "fieldText", control: "control" }, ngImport: i0, template: "<div class=\"container\" *ngIf=\"control && control.errors && control.dirty && control.touched\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['required']\">{{ fieldText }} is required</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['emptyValue']\">Please enter a {{ fieldText }}</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['minlength']\">\r\n {{ fieldText }} must have be least {{ control.errors['minlength'].requiredLength }} symbols long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['maxlength']\">\r\n {{ fieldText }} must be no more than {{ control.errors['maxlength'].requiredLength }} symbols\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['existingProductName']\">\r\n Please enter a unique Product Name. Example: Alexforbes Life Cover\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['email']\">Invalid Email address</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['NAN']\">Please enter a valid number</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['positiveNumber']\">\r\n Please enter a positive number. Example: R100 000\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['integerNumber']\">\r\n Please enter a number without any digits after the decimal point\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['max']\">\r\n Please enter a number less than or equal to {{ convertToNumberWithCommas(control.errors['max'].max) }}\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['length']\">\r\n {{ fieldText }} must be {{ control.errors['length'] }} digits long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['alphabetic']\">\r\n {{ fieldText }} cannot contain numbers or special characters\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['selectOptions']\">\r\n Please select a valid {{ fieldText }} from the dropdown list\r\n </div>\r\n </div>\r\n \r\n <div class=\"container\" *ngIf=\"control && control.errors && control.dirty\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['startDateBeforeEndDate']\">\r\n You have selected an incorrect date\r\n </div>\r\n </div>\r\n ", styles: [".container__error{color:var(--primary-orange-mobile-color);font-size:12px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
12
+ }
13
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AfConnectFormValidationErrorsComponent, decorators: [{
14
+ type: Component,
15
+ args: [{ selector: 'lib-af-connect-form-validation-errors', template: "<div class=\"container\" *ngIf=\"control && control.errors && control.dirty && control.touched\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['required']\">{{ fieldText }} is required</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['emptyValue']\">Please enter a {{ fieldText }}</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['minlength']\">\r\n {{ fieldText }} must have be least {{ control.errors['minlength'].requiredLength }} symbols long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['maxlength']\">\r\n {{ fieldText }} must be no more than {{ control.errors['maxlength'].requiredLength }} symbols\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['existingProductName']\">\r\n Please enter a unique Product Name. Example: Alexforbes Life Cover\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['email']\">Invalid Email address</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['NAN']\">Please enter a valid number</div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['positiveNumber']\">\r\n Please enter a positive number. Example: R100 000\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['integerNumber']\">\r\n Please enter a number without any digits after the decimal point\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['max']\">\r\n Please enter a number less than or equal to {{ convertToNumberWithCommas(control.errors['max'].max) }}\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['length']\">\r\n {{ fieldText }} must be {{ control.errors['length'] }} digits long\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['alphabetic']\">\r\n {{ fieldText }} cannot contain numbers or special characters\r\n </div>\r\n <div class=\"container__error\" *ngIf=\"control.errors['selectOptions']\">\r\n Please select a valid {{ fieldText }} from the dropdown list\r\n </div>\r\n </div>\r\n \r\n <div class=\"container\" *ngIf=\"control && control.errors && control.dirty\">\r\n <div class=\"container__error\" *ngIf=\"control.errors['startDateBeforeEndDate']\">\r\n You have selected an incorrect date\r\n </div>\r\n </div>\r\n ", styles: [".container__error{color:var(--primary-orange-mobile-color);font-size:12px}\n"] }]
16
+ }], propDecorators: { fieldText: [{
17
+ type: Input
18
+ }], control: [{
19
+ type: Input
20
+ }] } });
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FmLWNvbm5lY3QtY29tcG9uZW50cy9zcmMvbGliL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy9hZi1jb25uZWN0LWZvcm0tdmFsaWRhdGlvbi1lcnJvcnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7O0FBTzVELE1BQU0sT0FBTyxzQ0FBc0M7SUFMbkQ7UUFNVyxjQUFTLEdBQVcsT0FBTyxDQUFDO1FBRTlCLDhCQUF5QixHQUFHLGdCQUFnQixDQUFDO0tBQ3JEOytHQUpZLHNDQUFzQzttR0FBdEMsc0NBQXNDLHFJQ1RuRCxxMUVBdUNFOzs0RkQ5Qlcsc0NBQXNDO2tCQUxsRCxTQUFTOytCQUNFLHVDQUF1Qzs4QkFLeEMsU0FBUztzQkFBakIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBudW1iZXJXaXRoQ29tbWFzIH0gZnJvbSAnLi4vdXRpbGl0aWVzL251bWJlci51dGlsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdEZvcm1WYWxpZGF0aW9uRXJyb3JzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBmaWVsZFRleHQ6IHN0cmluZyA9ICdGaWVsZCc7XHJcbiAgQElucHV0KCkgY29udHJvbDogRm9ybUNvbnRyb2w7XHJcbiAgcHVibGljIGNvbnZlcnRUb051bWJlcldpdGhDb21tYXMgPSBudW1iZXJXaXRoQ29tbWFzO1xyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJjb250YWluZXJcIiAqbmdJZj1cImNvbnRyb2wgJiYgY29udHJvbC5lcnJvcnMgJiYgY29udHJvbC5kaXJ0eSAmJiBjb250cm9sLnRvdWNoZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1sncmVxdWlyZWQnXVwiPnt7IGZpZWxkVGV4dCB9fSBpcyByZXF1aXJlZDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydlbXB0eVZhbHVlJ11cIj5QbGVhc2UgZW50ZXIgYSB7eyBmaWVsZFRleHQgfX08L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IG11c3QgaGF2ZSBiZSBsZWFzdCB7eyBjb250cm9sLmVycm9yc1snbWlubGVuZ3RoJ10ucmVxdWlyZWRMZW5ndGggfX0gc3ltYm9scyBsb25nXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snbWF4bGVuZ3RoJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IG11c3QgYmUgbm8gbW9yZSB0aGFuIHt7IGNvbnRyb2wuZXJyb3JzWydtYXhsZW5ndGgnXS5yZXF1aXJlZExlbmd0aCB9fSBzeW1ib2xzXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snZXhpc3RpbmdQcm9kdWN0TmFtZSddXCI+XHJcbiAgICAgIFBsZWFzZSBlbnRlciBhIHVuaXF1ZSBQcm9kdWN0IE5hbWUuIEV4YW1wbGU6IEFsZXhmb3JiZXMgTGlmZSBDb3ZlclxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19lcnJvclwiICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ2VtYWlsJ11cIj5JbnZhbGlkIEVtYWlsIGFkZHJlc3M8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snTkFOJ11cIj5QbGVhc2UgZW50ZXIgYSB2YWxpZCBudW1iZXI8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1sncG9zaXRpdmVOdW1iZXInXVwiPlxyXG4gICAgICBQbGVhc2UgZW50ZXIgYSBwb3NpdGl2ZSBudW1iZXIuIEV4YW1wbGU6IFIxMDAgMDAwXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snaW50ZWdlck51bWJlciddXCI+XHJcbiAgICAgIFBsZWFzZSBlbnRlciBhIG51bWJlciB3aXRob3V0IGFueSBkaWdpdHMgYWZ0ZXIgdGhlIGRlY2ltYWwgcG9pbnRcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydtYXgnXVwiPlxyXG4gICAgICBQbGVhc2UgZW50ZXIgYSBudW1iZXIgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHt7IGNvbnZlcnRUb051bWJlcldpdGhDb21tYXMoY29udHJvbC5lcnJvcnNbJ21heCddLm1heCkgfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydsZW5ndGgnXVwiPlxyXG4gICAgICB7eyBmaWVsZFRleHQgfX0gbXVzdCBiZSB7eyBjb250cm9sLmVycm9yc1snbGVuZ3RoJ10gfX0gZGlnaXRzIGxvbmdcclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lcl9fZXJyb3JcIiAqbmdJZj1cImNvbnRyb2wuZXJyb3JzWydhbHBoYWJldGljJ11cIj5cclxuICAgICAge3sgZmllbGRUZXh0IH19IGNhbm5vdCBjb250YWluIG51bWJlcnMgb3Igc3BlY2lhbCBjaGFyYWN0ZXJzXHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJfX2Vycm9yXCIgKm5nSWY9XCJjb250cm9sLmVycm9yc1snc2VsZWN0T3B0aW9ucyddXCI+XHJcbiAgICAgIFBsZWFzZSBzZWxlY3QgYSB2YWxpZCB7eyBmaWVsZFRleHQgfX0gZnJvbSB0aGUgZHJvcGRvd24gbGlzdFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgXHJcbiAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiICpuZ0lmPVwiY29udHJvbCAmJiBjb250cm9sLmVycm9ycyAmJiBjb250cm9sLmRpcnR5XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyX19lcnJvclwiICpuZ0lmPVwiY29udHJvbC5lcnJvcnNbJ3N0YXJ0RGF0ZUJlZm9yZUVuZERhdGUnXVwiPlxyXG4gICAgICBZb3UgaGF2ZSBzZWxlY3RlZCBhbiBpbmNvcnJlY3QgZGF0ZVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgIl19