af-connect-components 0.0.35 → 18.0.0

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 (132) 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 +235 -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/{esm2020 → esm2022}/lib/af-connect-header/af-connect-header.component.mjs +46 -46
  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/{esm2020 → esm2022}/lib/af-connect-products-carousel/image-card/image-card.component.mjs +27 -27
  27. package/esm2022/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.mjs +69 -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/{esm2020 → esm2022}/lib/af-connect-section/af-connect-section.component.mjs +14 -14
  32. package/{esm2020 → esm2022}/lib/af-connect-section-header/af-connect-section-header.component.mjs +35 -35
  33. package/{esm2020 → esm2022}/lib/af-connect-select/af-connect-select.component.mjs +11 -11
  34. package/{esm2020 → esm2022}/lib/af-connect-svg-button/af-connect-svg-button.component.mjs +27 -27
  35. package/{esm2020 → esm2022}/lib/af-connect-tab/af-connect-tab.component.mjs +20 -20
  36. package/{esm2020 → esm2022}/lib/af-connect-table/af-connect-table.component.mjs +11 -11
  37. package/esm2022/lib/af-connect-tabs/af-connect-tabs.component.mjs +87 -0
  38. package/{esm2020 → esm2022}/lib/af-connect-toaster-message/af-connect-toaster-message.component.mjs +33 -33
  39. package/esm2022/lib/af-connect-toggle-button/af-connect-toggle-button.component.mjs +133 -0
  40. package/{esm2020 → esm2022}/lib/af-connect-tooltip/af-connect-tooltip.component.mjs +48 -48
  41. package/{esm2020 → esm2022}/lib/af-connect-tooltip/types.mjs +1 -1
  42. package/{esm2020 → esm2022}/lib/constants/animation.constants.mjs +121 -121
  43. package/{esm2020 → esm2022}/lib/constants/base.constants.mjs +9 -9
  44. package/{esm2020 → esm2022}/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.mjs +23 -23
  45. package/esm2022/lib/expandable/expandable-arrow/expandable-arrow.component.mjs +54 -0
  46. package/esm2022/lib/expandable/expandable-container/expandable-container.component.mjs +29 -0
  47. package/{esm2020 → esm2022}/lib/faq/faq/faq.component.mjs +22 -22
  48. package/{esm2020 → esm2022}/lib/faq/faq-item/faq-item.component.mjs +16 -16
  49. package/{esm2020 → esm2022}/lib/faq/faqItem.mjs +1 -1
  50. package/{esm2020 → esm2022}/lib/faq/image-fallback/image-fallback.component.mjs +55 -55
  51. package/{esm2020 → esm2022}/lib/models/notification-response.model.mjs +1 -1
  52. package/{esm2020 → esm2022}/lib/models/radio.model.mjs +1 -1
  53. package/{esm2020 → esm2022}/lib/services/breakpoint.service.mjs +16 -16
  54. package/{esm2020 → esm2022}/lib/utilities/number.util.mjs +3 -3
  55. package/{esm2020 → esm2022}/public-api.mjs +42 -42
  56. package/esm2022/shared/pipes/get-initials.mjs +20 -0
  57. package/{fesm2020 → fesm2022}/af-connect-components.mjs +2055 -2059
  58. package/{fesm2020 → fesm2022}/af-connect-components.mjs.map +1 -1
  59. package/index.d.ts +5 -5
  60. package/lib/af-connect-breadcrumb/af-connect-breadcrumb.component.d.ts +10 -10
  61. package/lib/af-connect-button/af-connect-button.component.d.ts +21 -21
  62. package/lib/af-connect-card/af-connect-card-header/af-connect-card-header.component.d.ts +14 -14
  63. package/lib/af-connect-card/af-connect-card.component.d.ts +8 -8
  64. package/lib/af-connect-chart/af-connect-chart.component.d.ts +5 -5
  65. package/lib/af-connect-chip/af-connect-chip.component.d.ts +12 -12
  66. package/lib/af-connect-components.component.d.ts +5 -5
  67. package/lib/af-connect-components.module.d.ts +51 -52
  68. package/lib/af-connect-components.service.d.ts +6 -6
  69. package/lib/af-connect-content/af-connect-content.component.d.ts +8 -8
  70. package/lib/af-connect-datepicker/af-connect-datepicker.component.d.ts +5 -5
  71. package/lib/af-connect-error/af-connect-error.component.d.ts +12 -12
  72. package/lib/af-connect-footer/af-connect-footer.component.d.ts +166 -166
  73. package/lib/af-connect-form-group/af-connect-form-group.component.d.ts +5 -5
  74. package/lib/af-connect-form-validation-errors/af-connect-form-validation-errors.component.d.ts +10 -10
  75. package/lib/af-connect-header/af-connect-header.component.d.ts +18 -18
  76. package/lib/af-connect-inline-error/af-connect-inline-error.component.d.ts +13 -13
  77. package/lib/af-connect-input/af-connect-input.component.d.ts +36 -36
  78. package/lib/af-connect-loading-spinner/af-connect-loading-spinner.component.d.ts +8 -8
  79. package/lib/af-connect-modal/af-connect-modal.component.d.ts +46 -46
  80. package/lib/af-connect-no-content/af-connect-no-content.component.d.ts +12 -12
  81. package/lib/af-connect-notification/af-connect-notification.component.d.ts +8 -8
  82. package/lib/af-connect-products-carousel/af-connect-products-carousel.component.d.ts +32 -32
  83. package/lib/af-connect-products-carousel/defaultConfig.d.ts +6 -6
  84. package/lib/af-connect-products-carousel/image-card/image-card.component.d.ts +13 -13
  85. package/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.d.ts +26 -26
  86. package/lib/af-connect-progress-bar/af-connect-progress-bar.component.d.ts +18 -18
  87. package/lib/af-connect-radio-button/af-connect-radio-button.component.d.ts +34 -34
  88. package/lib/af-connect-radio-group/af-connect-radio-group.component.d.ts +35 -35
  89. package/lib/af-connect-section/af-connect-section.component.d.ts +8 -8
  90. package/lib/af-connect-section-header/af-connect-section-header.component.d.ts +15 -15
  91. package/lib/af-connect-select/af-connect-select.component.d.ts +5 -5
  92. package/lib/af-connect-svg-button/af-connect-svg-button.component.d.ts +14 -14
  93. package/lib/af-connect-tab/af-connect-tab.component.d.ts +9 -9
  94. package/lib/af-connect-table/af-connect-table.component.d.ts +5 -5
  95. package/lib/af-connect-tabs/af-connect-tabs.component.d.ts +25 -25
  96. package/lib/af-connect-toaster-message/af-connect-toaster-message.component.d.ts +13 -13
  97. package/lib/af-connect-toggle-button/af-connect-toggle-button.component.d.ts +37 -37
  98. package/lib/af-connect-tooltip/af-connect-tooltip.component.d.ts +16 -16
  99. package/lib/af-connect-tooltip/types.d.ts +1 -1
  100. package/lib/constants/animation.constants.d.ts +13 -13
  101. package/lib/constants/base.constants.d.ts +10 -10
  102. package/lib/expandable/afc-expandable-wrapper/afc-expandable-wrapper.component.d.ts +8 -8
  103. package/lib/expandable/expandable-arrow/expandable-arrow.component.d.ts +21 -21
  104. package/lib/expandable/expandable-container/expandable-container.component.d.ts +8 -8
  105. package/lib/faq/faq/faq.component.d.ts +9 -9
  106. package/lib/faq/faq-item/faq-item.component.d.ts +7 -7
  107. package/lib/faq/faqItem.d.ts +7 -7
  108. package/lib/faq/image-fallback/image-fallback.component.d.ts +18 -18
  109. package/lib/models/notification-response.model.d.ts +17 -17
  110. package/lib/models/radio.model.d.ts +3 -3
  111. package/lib/services/breakpoint.service.d.ts +9 -9
  112. package/lib/utilities/number.util.d.ts +1 -1
  113. package/package.json +7 -13
  114. package/public-api.d.ts +39 -39
  115. package/shared/pipes/get-initials.d.ts +10 -10
  116. package/esm2020/lib/af-connect-button/af-connect-button.component.mjs +0 -47
  117. package/esm2020/lib/af-connect-card/af-connect-card.component.mjs +0 -17
  118. package/esm2020/lib/af-connect-chip/af-connect-chip.component.mjs +0 -23
  119. package/esm2020/lib/af-connect-components.module.mjs +0 -239
  120. package/esm2020/lib/af-connect-footer/af-connect-footer.component.mjs +0 -316
  121. package/esm2020/lib/af-connect-input/af-connect-input.component.mjs +0 -92
  122. package/esm2020/lib/af-connect-modal/af-connect-modal.component.mjs +0 -101
  123. package/esm2020/lib/af-connect-profile-dropdown/af-connect-profile-dropdown.component.mjs +0 -69
  124. package/esm2020/lib/af-connect-progress-bar/af-connect-progress-bar.component.mjs +0 -45
  125. package/esm2020/lib/af-connect-radio-group/af-connect-radio-group.component.mjs +0 -114
  126. package/esm2020/lib/af-connect-tabs/af-connect-tabs.component.mjs +0 -87
  127. package/esm2020/lib/af-connect-toggle-button/af-connect-toggle-button.component.mjs +0 -133
  128. package/esm2020/lib/expandable/expandable-arrow/expandable-arrow.component.mjs +0 -54
  129. package/esm2020/lib/expandable/expandable-container/expandable-container.component.mjs +0 -29
  130. package/esm2020/shared/pipes/get-initials.mjs +0 -20
  131. package/fesm2015/af-connect-components.mjs +0 -2204
  132. package/fesm2015/af-connect-components.mjs.map +0 -1
@@ -1,316 +0,0 @@
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
- }
298
- AfConnectFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectFooterComponent, deps: [{ token: i1.BreakpointLibService }], target: i0.ɵɵFactoryTarget.Component });
299
- AfConnectFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", 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:100%;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" }] });
300
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", 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:100%;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: function () { return [{ 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb290ZXIvYWYtY29ubmVjdC1mb290ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1mb290ZXIvYWYtY29ubmVjdC1mb290ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7QUFnQ2pELE1BQU0sYUFBYSxHQUFHLFNBQVMsQ0FBQTtBQU8vQixNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQW1CLGlCQUF1QztRQUF2QyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXNCO1FBRzFELFdBQU0sR0FBNkIsU0FBUyxDQUFDO1FBQ3BDLHlCQUFvQixHQUFHLEtBQUssQ0FBQztRQUM3QiwwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFDOUIsb0JBQWUsR0FBRyxhQUFhLENBQUM7UUFDaEMsYUFBUSxHQUFHLEtBQUssQ0FBQztRQXVDMUI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2FBaUhLO1FBRUUsa0JBQWEsR0FBaUI7WUFDbkMsUUFBUSxFQUFFO2dCQUNSO29CQUNFLEtBQUssRUFBRSxTQUFTO29CQUNoQixZQUFZLEVBQUU7d0JBQ1o7NEJBQ0UsS0FBSyxFQUFFLG9CQUFvQjs0QkFDM0IsSUFBSSxFQUFFLG1DQUFtQzt5QkFDMUM7d0JBQ0Q7NEJBQ0UsS0FBSyxFQUFFLFNB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Q0FBQyxlQUFlO2dCQUN4Qyx1QkFBdUIsRUFBRSxnQ0FBZ0M7Z0JBQ3pELGlCQUFpQixFQUFFLFFBQVE7YUFDNUIsQ0FBQTtTQUNGO1FBRUQsT0FBTztZQUNILGtCQUFrQixFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ3hDLHVCQUF1QixFQUFFLHdDQUF3QztTQUNsRSxDQUFBO0lBQ0wsQ0FBQzs7cUhBL1NVLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHFSQ3ZDckMsNDdTQTRHQTsyRkRyRWEsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QjsyR0FTakMsTUFBTTtzQkFETCxLQUFLO2dCQUVHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFDRyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQVdPLGNBQWM7c0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEJyZWFrcG9pbnRMaWJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYnJlYWtwb2ludC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU29jaWFsTGluayB7XHJcbiAgbGluazogc3RyaW5nLFxyXG4gIGlzSGlkZGVuPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWN0aW9uSXRlbSB7XHJcbiAgdGl0bGU6IHN0cmluZyxcclxuICBsaW5rPzogc3RyaW5nLFxyXG4gIGlzSGlkZGVuPzogYm9vbGVhbixcclxuICBib2xkPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTZWN0aW9uIHtcclxuICB0aXRsZT86IHN0cmluZyxcclxuICBzZWN0aW9uSXRlbXM6IFNlY3Rpb25JdGVtW107XHJcbn1cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEZvb3RlckNvbmZpZyB7XHJcbiAgYmFubmVyVGl0bGU/OiBzdHJpbmcgfCB1bmRlZmluZWQsXHJcbiAgaW5zdGFncmFtPzogU29jaWFsTGluayxcclxuICBsaW5rZWRJbj86IFNvY2lhbExpbmssXHJcbiAgZmFjZWJvb2s/OiBTb2NpYWxMaW5rLFxyXG4gIHR3aXR0ZXI/OiBTb2NpYWxMaW5rLFxyXG4gIHdoYXRzYXBwPzogU29jaWFsTGluayxcclxuICBzZWN0aW9ucz86IFNlY3Rpb25bXSxcclxuICBhZGRyZXNzPzogU2VjdGlvbltdLFxyXG59XHJcblxyXG5jb25zdCBERUZBVUxUX0NPTE9SID0gJyMxNTgwOEQnXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hZi1jb25uZWN0LWZvb3RlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FmLWNvbm5lY3QtZm9vdGVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZi1jb25uZWN0LWZvb3Rlci5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBZkNvbm5lY3RGb290ZXJDb21wb25lbnQge1xyXG5cclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgYnJlYWtwb2ludFNlcnZpY2U6IEJyZWFrcG9pbnRMaWJTZXJ2aWNlKSB7IH1cclxuXHJcbiAgQElucHV0KClcclxuICBjb25maWc6IEZvb3RlckNvbmZpZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcclxuICBASW5wdXQoKSBpc0JvdHRvbUJhbm5lckhpZGRlbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzRm9vdGVyQ29udGVudEhpZGRlbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGJhY2tncm91bmRDb2xvciA9IERFRkFVTFRfQ09MT1I7XHJcbiAgQElucHV0KCkgY2VudGVyZWQgPSBmYWxzZTtcclxuXHJcbiAgcHVibGljIGdldCBnZXRNb2JpbGVBZGRyZXNzKCk6IHN0cmluZyB7XHJcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZyA/IHRoaXMuY29uZmlnIDogdGhpcy5kZWZhdWx0Q29uZmlnO1xyXG4gICAgY29uc3QgYWRkcmVzc0RhdGE6IFNlY3Rpb25JdGVtW10gfCB1bmRlZmluZWQgPSBjb25maWc/LmFkZHJlc3M/LmZpbmQoYWRkcmVzcyA9PiAhYWRkcmVzcy50aXRsZSk/LnNlY3Rpb25JdGVtc1xyXG4gICAgY29uc3QgdGl0bGVTdHJpbmcgPSBhZGRyZXNzRGF0YT8ucmVkdWNlKChwcmV2OiBzdHJpbmcsIGN1cnI6IFNlY3Rpb25JdGVtLCBpKSA9PiB7XHJcbiAgICAgIHJldHVybiBgJHtwcmV2fSR7aSA9PT0gMCA/ICcnIDogJyd9JHtpID09PSAxID8gJyA6ICcgOiAnJ30ke2kgPiAxID8gJywnIDogJyd9ICR7Y3Vyci50aXRsZX1gO1xyXG4gICAgfSwgJycpO1xyXG4gICAgcmV0dXJuIHRpdGxlU3RyaW5nIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IHNob3dDYWxsTWVCYWNrKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZyAmJlxyXG4gICAgICB0aGlzLmRlZmF1bHRDb25maWcuc2VjdGlvbnMgJiZcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNlY3Rpb25zWzFdICYmXHJcbiAgICAgIHRoaXMuZGVmYXVsdENvbmZpZy5zZWN0aW9uc1sxXS5zZWN0aW9uSXRlbXMgJiZcclxuICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNlY3Rpb25zWzFdLnNlY3Rpb25JdGVtc1sxXVxyXG4gICAgKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlnLnNlY3Rpb25zWzFdLnNlY3Rpb25JdGVtc1sxXS5pc0hpZGRlbiA9ICF2YWx1ZTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENvbmZpZy5hZGRyZXNzICYmIHRoaXMuZGVmYXVsdENvbmZpZy5hZGRyZXNzWzBdICYmIHRoaXMuZGVmYXVsdENvbmZpZy5hZGRyZXNzWzBdLnNlY3Rpb25JdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRDb25maWcuYWRkcmVzc1swXS5zZWN0aW9uSXRlbXNbMF0uYm9sZCA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMuZGVmYXVsdENvbmZpZy5hZGRyZXNzICYmIHRoaXMuZGVmYXVsdENvbmZpZy5hZGRyZXNzWzFdICYmIHRoaXMuZGVmYXVsdENvbmZpZy5hZGRyZXNzWzFdLnNlY3Rpb25JdGVtcykge1xyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRDb25maWcuYWRkcmVzc1sxXS5zZWN0aW9uSXRlbXNbMF0uYm9sZCA9IHZhbHVlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvbmZpZy5zZWN0aW9uc1sxXS50aXRsZSA9IFwiQ3VzdG9tZXIgUmVzb3VyY2VzXCI7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICBsZXQgdGVtcCA9IHRoaXMuZGVmYXVsdENvbmZpZy5zZWN0aW9uc1sxXS5zZWN0aW9uSXRlbXNbMl07XHJcbiAgICAgICAgICAgIHRoaXMuZGVmYXVsdENvbmZpZy5zZWN0aW9uc1sxXS5zZWN0aW9uSXRlbXNbMl0gPSB0aGlzLmRlZmF1bHRDb25maWcuc2VjdGlvbnNbMV0uc2VjdGlvbkl0ZW1zWzNdO1xyXG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRDb25maWcuc2VjdGlvbnNbMV0uc2VjdGlvbkl0ZW1zWzNdID0gdGVtcDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgICBGb290ZXIgY29tcG9uZW50IGZvciBBRiBBbmd1bGFyIFdlYnNpdGVzLiBBIGNvbmZpZyBvYmplY3QgY2FuIGJlIHBhc3NlZCB0byBjaGFuZ2UgZGF0YSBwYXJ0aWFsbHkgb3IgZnVsbHkuXHJcblxyXG4gICAgIHB1YmxpYyBleGFtcGxlVGVzdENvbmZpZzogRm9vdGVyQ29uZmlnID0ge1xyXG4gICAgICBiYW5uZXJUaXRsZTogJ3Rlc3QnXHJcbiAgICAgfVxyXG5cclxuICAgICBQYXNzaW5nIHRoZSBleGFtcGxlVGVzdENvbmZpZyB3aWxsIHJlcGxhY2Ugb25seSB0aGUgYmFubmVyLiBFdmVyeXRoaW5nIGVsc2Ugd2lsbCBiZSBsb2FkZWQgZnJvbSB0aGUgZGVmYXVsdCBjb25maWcuXHJcblxyXG5cclxuICAgICBkZWZhdWx0Q29uZmlnOiBGb290ZXJDb25maWcgPSB7XHJcbiAgICBzZWN0aW9uczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdDT01QQU5ZJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdJbnZlc3RvciByZWxhdGlvbnMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly9pbnZlc3RvcnMuYWxleGZvcmJlcy5jb20vJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDYXJlZXJzJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2Fib3V0L2NhcmVlcnMuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUHJvY3VyZW1lbnQnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vYWJvdXQvcHJvY3VyZW1lbnQuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnUmlzayAmIENvbXBsaWFuY2UnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGFuZGVyZm9yYmVzaW52ZXN0bWVudHMuY28uemEvYWJvdXQtdXMvcmlzay1hbmQtY29tcGxpYW5jZSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSRVNPVVJDRVMnLFxyXG4gICAgICAgIHNlY3Rpb25JdGVtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0J1c2luZXNzIGRpcmVjdG9yeScsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L2J1c2luZXNzLWRpcmVjdG9yeS5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDb21wbGltZW50cycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L2NvbXBsaW1lbnRzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NvbXBsYWludHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29udGFjdC9Db21wbGFpbnRzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1JlcG9ydCBmcmF1ZCcsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L1JlcG9ydC1mcmF1ZC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdVbmNsYWltZWQgYmVuZWZpdHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29ycG9yYXRlL3Byb2R1Y3RzLWNvcnBvcmF0ZS91bmNsYWltZWQtYmVuZWZpdHMtZnVuZC5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYWRkcmVzczogW1xyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdIZWFkIE9mZmljZScsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29udGFjdCBpbmZvcm1hdGlvbicsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0VtYWlsIDogaW5mb0BhbGV4Zm9yYmVzLmNvbScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1RlbGVwaG9uZSA6ICsyNyAxMSAyNjkgMDAwMCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0ZheCA6ICsyNyAxMSAyNjMgMDE0OScsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIF1cclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgICBzZWN0aW9uSXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdBZGRyZXNzJyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWxleGZvcmJlcycsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJzExNSBXZXN0IFN0cmVldCcsXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1NhbmR0b24sIDIxOTYnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICBdLFxyXG4gICAgYmFubmVyVGl0bGU6ICdDb3B5cmlnaHQgMjAyMiBBbGV4YW5kZXIgRm9yYmVzIEdyb3VwIEhvbGRpbmdzIExpbWl0ZWQuJyxcclxuICAgIGluc3RhZ3JhbToge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9hbGV4Zm9yYmVzb2ZmaWNpYWwnLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgbGlua2VkSW46IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmxpbmtlZGluLmNvbS9jb21wYW55L2FsZXhmb3JiZXNvZmZpY2lhbCcsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICBmYWNlYm9vazoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2FsZXhmb3JiZXNvZmZpY2lhbC8nLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgdHdpdHRlcjoge1xyXG4gICAgICBsaW5rOiAnaHR0cHM6Ly90d2l0dGVyLmNvbS9hbGV4Zm9yYmVzJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfVxyXG4gIH1cclxuICAgICAqL1xyXG5cclxuICBwdWJsaWMgZGVmYXVsdENvbmZpZzogRm9vdGVyQ29uZmlnID0ge1xyXG4gICAgc2VjdGlvbnM6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnQ29tcGFueScsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnSW52ZXN0b3IgcmVsYXRpb25zJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vaW52ZXN0b3JzLmFsZXhmb3JiZXMuY29tLydcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ2FyZWVycycsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9hYm91dC9jYXJlZXJzLmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1Byb2N1cmVtZW50JyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2Fib3V0L3Byb2N1cmVtZW50Lmh0bWwnXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ1Jpc2sgJiBjb21wbGlhbmNlJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vaW52ZXN0b3JzLmFsZXhmb3JiZXMuY29tL2dvdmVybmFuY2UvIzE2NDkxNDI0OTQyMTgtMjUzMjUtMDhkYSdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgdGl0bGU6ICdSZXNvdXJjZXMnLFxyXG4gICAgICAgIHNlY3Rpb25JdGVtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0J1c2luZXNzIGRpcmVjdG9yeScsXHJcbiAgICAgICAgICAgIGxpbms6ICdodHRwczovL3d3dy5hbGV4Zm9yYmVzLmNvbS96YS9lbi9jb250YWN0L2J1c2luZXNzLWRpcmVjdG9yeS5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDYWxsIG1lIGJhY2snLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly9rZnRhLmFwcC5hbGV4YW5kZXJmb3JiZXMuY28uemEvVG90YWxBZ2lsaXR5L0Zvcm1zL0RpZ2l0YWwvQ29udGFjdF9Vcy5mb3JtJyxcclxuICAgICAgICAgICAgaXNIaWRkZW46IHRydWVcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQ29tcGxpbWVudHMnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29udGFjdC9jb21wbGltZW50cy5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdDb21wbGFpbnRzJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvbnRhY3QvQ29tcGxhaW50cy5odG1sJ1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdSZXBvcnQgZnJhdWQnLFxyXG4gICAgICAgICAgICBsaW5rOiAnaHR0cHM6Ly93d3cuYWxleGZvcmJlcy5jb20vemEvZW4vY29udGFjdC9SZXBvcnQtZnJhdWQuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnVW5jbGFpbWVkIGJlbmVmaXRzJyxcclxuICAgICAgICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmFsZXhmb3JiZXMuY29tL3phL2VuL2NvcnBvcmF0ZS9wcm9kdWN0cy1jb3Jwb3JhdGUvdW5jbGFpbWVkLWJlbmVmaXRzLWZ1bmQuaHRtbCdcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIGFkZHJlc3M6IFtcclxuICAgICAge1xyXG4gICAgICAgIHRpdGxlOiAnSGVhZCBPZmZpY2UnLFxyXG4gICAgICAgIHNlY3Rpb25JdGVtczogW1xyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0NvbnRhY3QgaW5mb3JtYXRpb24nLFxyXG4gICAgICAgICAgICBib2xkOiBmYWxzZVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdFbWFpbCA6IGluZm9AYWxleGZvcmJlcy5jb20nLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdUZWxlcGhvbmUgOiArMjcgMTEgMjY5IDAwMDAnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdGYXggOiArMjcgMTEgMjYzIDAxNDknLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICBdXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgICAgc2VjdGlvbkl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHRpdGxlOiAnQWRkcmVzcycsXHJcbiAgICAgICAgICAgIGJvbGQ6IGZhbHNlXHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICB0aXRsZTogJ0FsZXhmb3JiZXMnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICcxMTUgV2VzdCBTdHJlZXQnLFxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdGl0bGU6ICdTYW5kdG9uLCAyMTk2JyxcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgXVxyXG4gICAgICB9LFxyXG4gICAgXSxcclxuICAgIGJhbm5lclRpdGxlOiAnQ29weXJpZ2h0IDIwMjQgQWxleGFuZGVyIEZvcmJlcyBHcm91cCBIb2xkaW5ncyBMaW1pdGVkLicsXHJcbiAgICBpbnN0YWdyYW06IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vd3d3Lmluc3RhZ3JhbS5jb20vYWxleGZvcmJlc29mZmljaWFsJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIGxpbmtlZEluOiB7XHJcbiAgICAgIGxpbms6ICdodHRwczovL3d3dy5saW5rZWRpbi5jb20vY29tcGFueS9hbGV4Zm9yYmVzb2ZmaWNpYWwnLFxyXG4gICAgICBpc0hpZGRlbjogZmFsc2UsXHJcbiAgICB9LFxyXG4gICAgZmFjZWJvb2s6IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9hbGV4Zm9yYmVzb2ZmaWNpYWwvJyxcclxuICAgICAgaXNIaWRkZW46IGZhbHNlLFxyXG4gICAgfSxcclxuICAgIHR3aXR0ZXI6IHtcclxuICAgICAgbGluazogJ2h0dHBzOi8vdHdpdHRlci5jb20vYWxleGZvcmJlcycsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH0sXHJcbiAgICB3aGF0c2FwcDoge1xyXG4gICAgICBsaW5rOidodHRwczovL2FwaS53aGF0c2FwcC5jb20vc2VuZC8/cGhvbmU9Mjc2MDA0Mzk2MDEmdGV4dD1oZWxwJnR5cGU9cGhvbmVfbnVtYmVyJmFwcF9hYnNlbnQ9MCcsXHJcbiAgICAgIGlzSGlkZGVuOiBmYWxzZSxcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9wZW5MZWdhbFRlcm1zKCkge1xyXG4gICAgd2luZG93Lm9wZW4oJ2h0dHBzOi8vbXlhcGkuYWxleGFuZGVyZm9yYmVzLmNvLnphL2NvbnRlbnQvZG93bmxvYWQvYWZpbnZlc3RtZW50cy9pbnZlc3RtZW50c29sdXRpb25zcGRmZmlsZXM/cGF0aD1MZWdhbF9UZXJtcy5wZGYnKVxyXG4gIH1cclxuXHJcbiAgb3BlblByaXZhY3lQb2xpY3koKSB7XHJcbiAgICB3aW5kb3cub3BlbignaHR0cHM6Ly9teWFwaS5hbGV4YW5kZXJmb3JiZXMuY28uemEvY29udGVudC9kb3dubG9hZC9hZmludmVzdG1lbnRzL2ludmVzdG1lbnRzb2x1dGlvbnNwZGZmaWxlcz9wYXRoPVByaXZhY3lfUG9saWN5LnBkZicpXHJcbiAgfVxyXG5cclxuICBvcGVuUGFpYU1hbnVhbCgpIHtcclxuICAgIHdpbmRvdy5vcGVuKCdodHRwczovL215YXBpLmFsZXhhbmRlcmZvcmJlcy5jby56YS9jb250ZW50L2Rvd25sb2FkL2FmaW52ZXN0bWVudHMvaW52ZXN0bWVudHNvbHV0aW9uc3BkZmZpbGVzP3BhdGg9UEFJQV9NYW51YWwucGRmJylcclxuICB9XHJcblxyXG4gIGdldEZvb3RlclN0eWxpbmcoKSB7XHJcbiAgICBpZiAodGhpcy5jZW50ZXJlZCkge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhpcy5iYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgICAgJ2dyaWQtdGVtcGxhdGUtY29sdW1ucyc6ICdyZXBlYXQoNCwgbWlubWF4KDE5MHB4LCBhdXRvKSknLFxyXG4gICAgICAgICdqdXN0aWZ5LWNvbnRlbnQnOiAnY2VudGVyJ1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHtcclxuICAgICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgICdncmlkLXRlbXBsYXRlLWNvbHVtbnMnOiAncmVwZWF0KGF1dG8tZmlsbCwgbWlubWF4KDE5MHB4LCBhdXRvKSknXHJcbiAgICAgIH1cclxuICB9XHJcbn1cclxuIiwiXHJcbjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNGb290ZXJDb250ZW50SGlkZGVuXCI+ICBcclxuICAgIDxkaXYgKm5nSWY9XCJicmVha3BvaW50U2VydmljZS5pc01vYmlsZSQgfCBhc3luY1wiICBjbGFzcz1cImZvb3Rlci1jb250YWluZXJcIiBbbmdTdHlsZV09XCJnZXRGb290ZXJTdHlsaW5nKClcIj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBzZWN0aW9uIG9mIGNvbmZpZz8uc2VjdGlvbnM/Lmxlbmd0aCA/IGNvbmZpZz8uc2VjdGlvbnMgOiBkZWZhdWx0Q29uZmlnLnNlY3Rpb25zXCIgY2xhc3M9XCJzZWN0aW9ucy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGgyIGNsYXNzPVwic2VjdGlvbi10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAge3tzZWN0aW9uLnRpdGxlfX1cclxuICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBzZWN0aW9uLnNlY3Rpb25JdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiIWxpbmsuaXNIaWRkZW5cIiBjbGFzcz1cInNlY3Rpb24tbGlua1wiIFtocmVmXT1cImxpbmsubGlua1wiIHRhcmdldD1cIl9ibGFua1wiPnt7bGluay50aXRsZX19PC9hPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBhZGRyZXNzIG9mIGNvbmZpZz8uYWRkcmVzcz8ubGVuZ3RoID8gY29uZmlnPy5hZGRyZXNzIDogZGVmYXVsdENvbmZpZy5hZGRyZXNzXCIgY2xhc3M9XCJzZWN0aW9ucy1jb250YWluZXIgYWRkcmVzcy1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGgyIGNsYXNzPVwic2VjdGlvbi10aXRsZSBhZGRyZXNzLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICB7e2FkZHJlc3MudGl0bGV9fVxyXG4gICAgICAgICAgICA8L2gyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBsaW5rIG9mIGFkZHJlc3Muc2VjdGlvbkl0ZW1zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzZWN0aW9uLWxpbmsgYWRkcmVzcy1saW5rXCIgW25nU3R5bGVdPVwieydmb250LXdlaWdodCc6IGxpbmsuYm9sZCA/ICc2MDAnIDogJzUwMCcgfVwiPnt7bGluay50aXRsZX19PC9zcGFuPlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCIhKGJyZWFrcG9pbnRTZXJ2aWNlLmlzTW9iaWxlJCB8IGFzeW5jKVwiICBjbGFzcz1cImZvb3Rlci1jb250YWluZXJcIiBbbmdTdHlsZV09XCJ7YmFja2dyb3VuZENvbG9yfVwiPlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHNlY3Rpb24gb2YgY29uZmlnPy5zZWN0aW9ucz8ubGVuZ3RoID8gY29uZmlnPy5zZWN0aW9ucyA6IGRlZmF1bHRDb25maWcuc2VjdGlvbnNcIiBjbGFzcz1cInNlY3Rpb25zLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICA8YWZjLWV4cGFuZGFibGUtd3JhcHBlcj5cclxuICAgICAgICAgICAgICAgIDxkaXYgdHJpZ2dlcmFibGUgY2xhc3M9XCJ0aXRsZS1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJzZWN0aW9uLXRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7c2VjdGlvbi50aXRsZX19XHJcbiAgICAgICAgICAgICAgICAgICAgPC9oMj5cclxuICAgICAgICAgICAgICAgICAgICA8YWZjLWV4cGFuZGFibGUtYXJyb3cgY29sb3I9XCJyZ2JhKDI1NSwyNTUsMjU1LCAwLjcpXCI+PC9hZmMtZXhwYW5kYWJsZS1hcnJvdz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGFmYy1leHBhbmRhYmxlLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2VjdGlvbnMtY29udGFpbmVyX19tb2JpbGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgbGluayBvZiBzZWN0aW9uLnNlY3Rpb25JdGVtc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhICpuZ0lmPVwiIWxpbmsuaXNIaWRkZW5cIiBjbGFzcz1cInNlY3Rpb24tbGluayBhZGRyZXNzLWxpbmtcIiBbaHJlZl09XCJsaW5rLmxpbmtcIiB0YXJnZXQ9XCJfYmxhbmtcIj57e2xpbmsudGl0bGV9fTwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2FmYy1leHBhbmRhYmxlLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9hZmMtZXhwYW5kYWJsZS13cmFwcGVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGFkZHJlc3Mgb2YgY29uZmlnPy5hZGRyZXNzPy5sZW5ndGggPyBjb25maWc/LmFkZHJlc3MgOiBkZWZhdWx0Q29uZmlnLmFkZHJlc3NcIiBbbmdDbGFzc109XCJbYWRkcmVzcy50aXRsZSA/ICdzZWN0aW9ucy1jb250YWluZXIgYWRkcmVzcy1jb250YWluZXInIDogJyddXCI+XHJcbiAgICAgICAgICAgIDxhZmMtZXhwYW5kYWJsZS13cmFwcGVyICpuZ0lmPVwiYWRkcmVzcy50aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiB0cmlnZ2VyYWJsZSBjbGFzcz1cInRpdGxlLWNvbnRhaW5lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cInNlY3Rpb24tdGl0bGUgYWRkcmVzcy10aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7e2FkZHJlc3MudGl0bGV9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvaDI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFmYy1leHBhbmRhYmxlLWFycm93IGNvbG9yPVwicmdiYSgyNTUsMjU1LDI1NSwgMC43KVwiPjwvYWZjLWV4cGFuZGFibGUtYXJyb3c+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxhZmMtZXhwYW5kYWJsZS1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNlY3Rpb25zLWNvbnRhaW5lcl9fbW9iaWxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGxpbmsgb2YgYWRkcmVzcy5zZWN0aW9uSXRlbXNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2VjdGlvbi1saW5rXCI+e3tsaW5rLnRpdGxlfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInNlY3Rpb24tbGluayBhZGRyZXNzLWxpbmtcIj57e2dldE1vYmlsZUFkZHJlc3N9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvYWZjLWV4cGFuZGFibGUtY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8L2FmYy1leHBhbmRhYmxlLXdyYXBwZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy1jb250YWluZXI+IFxyXG5cclxuPGRpdiBjbGFzcz1cImJvdHRvbS1iYW5uZXItY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieydjZW50ZXJlZCc6IGNlbnRlcmVkfVwiPlxyXG4gICAgPGRpdiAqbmdJZj1cIiFpc0JvdHRvbUJhbm5lckhpZGRlblwiIGNsYXNzPVwiYm90dG9tLWJhbm5lclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJiYW5uZXItdGl0bGVcIj5cclxuICAgICAgICAgICAge3tjb25maWc/LmJhbm5lclRpdGxlID8gY29uZmlnPy5iYW5uZXJUaXRsZSA6IGRlZmF1bHRDb25maWcuYmFubmVyVGl0bGV9fVxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRpdGxlLWxpbmtzXCIgKGNsaWNrKT1cIm9wZW5MZWdhbFRlcm1zKClcIj5MZWdhbCB0ZXJtcyB8IDwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZS1saW5rc1wiIChjbGljayk9XCJvcGVuUHJpdmFjeVBvbGljeSgpXCI+UHJpdmFjeSBwb2xpY3kgfCA8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGUtbGlua3NcIiAoY2xpY2spPVwib3BlblBhaWFNYW51YWwoKVwiPlBBSUEgbWFudWFsPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInNvY2lhbC1jb250YWluZXJcIj5cclxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhY29uZmlnPy5pbnN0YWdyYW0/LmlzSGlkZGVuXCIgY2xhc3M9XCJpbWFnZS1jb250YWluZXJcIiBbaHJlZl09XCJjb25maWc/Lmluc3RhZ3JhbT8ubGluayA/IGNvbmZpZz8uaW5zdGFncmFtPy5saW5rIDogZGVmYXVsdENvbmZpZy5pbnN0YWdyYW0/LmxpbmtcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgaWQ9XCJHcm91cF84ODhcIiBkYXRhLW5hbWU9XCJHcm91cCA4ODhcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNS42MThcIiBoZWlnaHQ9XCIxNS42NzZcIiB2aWV3Qm94PVwiMCAwIDE1LjYxOCAxNS42NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlBhdGhfOFwiIGRhdGEtbmFtZT1cIlBhdGggOFwiIGQ9XCJNMjEuMzI3LDEzLjRjMS4wMzkuMDM3LDIuMTE1LjAzNywzLjE1NC4wNzRhNS4zMSw1LjMxLDAsMCwxLDIuNi42NjgsMy45MzcsMy45MzcsMCwwLDEsMS44OTIsMi43NDYsMjEuMDUxLDIxLjA1MSwwLDAsMSwuMTg2LDIuMTUyYy4wMzcsMS41NTgsMCwzLjExNywwLDQuNjc1YTcuNTUzLDcuNTUzLDAsMCwxLS4zLDIuNDEyLDMuOTMxLDMuOTMxLDAsMCwxLTMuMTU0LDIuNzQ2LDE0LjA0NiwxNC4wNDYsMCwwLDEtMi4xNTIuMTg2Yy0xLjU1OS4wMzctMy4wOCwwLTQuNjM4LDBhNy41NTMsNy41NTMsMCwwLDEtMi40MTItLjMsMy45MzEsMy45MzEsMCwwLDEtMi43NDYtMy4xNTQsMTQuMDQ2LDE0LjA0NiwwLDAsMS0uMTg2LTIuMTUyYy0uMDM3LTEuNTU4LDAtMy4xMTcsMC00LjY3NWE3LjU1Myw3LjU1MywwLDAsMSwuMy0yLjQxMiwzLjkzMSwzLjkzMSwwLDAsMSwzLjE1NC0yLjc0NiwxNC4wNDcsMTQuMDQ3LDAsMCwxLDIuMTUyLS4xODZjLjcwNS0uMDM3LDEuNDEtLjAzNywyLjE1Mi0uMDM3Wm02LjQyLDcuNjgxaDBjLS4wMzctLjYzMS0uMDM3LTEuMjI1LS4wMzctMS44NTVhMTQuMzQ3LDE0LjM0NywwLDAsMC0uMTExLTEuNzgxLDIuNjUzLDIuNjUzLDAsMCwwLTIuMjI2LTIuNDg2LDkuOCw5LjgsMCwwLDAtMi4wNzgtLjE0OGMtMS4zMzYtLjAzNy0yLjYzNS0uMDM3LTMuOTcsMGExMS40MTQsMTEuNDE0LDAsMCwwLTEuOTY3LjE0OCwyLjYxNiwyLjYxNiwwLDAsMC0yLjIyNiwxLjkzQTUuODEzLDUuODEzLDAsMCwwLDE0Ljk0NSwxOGMtLjAzNywxLjQxLS4wMzcsMi44Mi0uMDM3LDQuMjMsMCwuODkxLjAzNywxLjgxOC4xMTEsMi43MDlhMi41ODcsMi41ODcsMCwwLDAsMi4yNjQsMi40ODYsMTIuNzQ2LDEyLjc0NiwwLDAsMCwyLjA3OC4xNDhjMS4zLjAzNywyLjYsMCwzLjkzMywwYTE0LjM0OCwxNC4zNDgsMCwwLDAsMS43ODEtLjExMUEyLjU5NCwyLjU5NCwwLDAsMCwyNi42LDI2Ljg3YTIuODQ4LDIuODQ4LDAsMCwwLDEuMDM5LTIuMjY0QzI3LjcxLDIzLjQ5MywyNy43MSwyMi4zMDYsMjcuNzQ3LDIxLjA4MVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTEzLjU1NiAtMTMuNClcIiBmaWxsPVwiI2YxZjJmNVwiLz5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlBhdGhfOVwiIGRhdGEtbmFtZT1cIlBhdGggOVwiIGQ9XCJNMzEuNzE1LDI3LjcwOGE0LjAwOCw0LjAwOCwwLDEsMS0zLjk3LTQuMDA4QTMuOTkxLDMuOTkxLDAsMCwxLDMxLjcxNSwyNy43MDhabS00LjAwOCwyLjZhMi42LDIuNiwwLDEsMC0yLjYtMi42QTIuNTgxLDIuNTgxLDAsMCwwLDI3LjcwOCwzMC4zWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMTkuOTM2IC0xOS44NzgpXCIgZmlsbD1cIiNmMWYyZjVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzEwXCIgZGF0YS1uYW1lPVwiUGF0aCAxMFwiIGQ9XCJNNDUuMDUyLDIxLjYyOGEuOTUxLjk1MSwwLDAsMS0uOTI4Ljk2NS45NDYuOTQ2LDAsMSwxLC45MjgtLjk2NVpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTMyLjE5NiAtMTcuOTkxKVwiIGZpbGw9XCIjZjFmMmY1XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiIWNvbmZpZz8ubGlua2VkSW4/LmlzSGlkZGVuXCIgY2xhc3M9XCJpbWFnZS1jb250YWluZXJcIiBbaHJlZl09XCJjb25maWc/LmxpbmtlZEluPy5saW5rID8gY29uZmlnPy5saW5rZWRJbj8ubGluayA6IGRlZmF1bHRDb25maWcubGlua2VkSW4/LmxpbmtcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTUuNjE4XCIgaGVpZ2h0PVwiMTQuOTAyXCIgdmlld0JveD1cIjAgMCAxNS42MTggMTQuOTAyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJQYXRoXzdcIiBkYXRhLW5hbWU9XCJQYXRoIDdcIiBkPVwiTTMyLjgxOCwyNC42MzVWMzAuNEgyOS40NVYyNS4wMTRjMC0xLjM0Ny0uNDYzLTIuMjczLTEuNjg0LTIuMjczYTEuODY4LDEuODY4LDAsMCwwLTEuNzI2LDEuMjIxLDIuMjc4LDIuMjc4LDAsMCwwLS4xMjYuOFYzMC40SDIyLjU0NnMuMDQyLTkuMTM1LDAtMTAuMDYxaDMuMzY4djEuNDMxYS4wNDEuMDQxLDAsMCwxLS4wNDIuMDQyaC4wNDJ2LS4wNDJhMy4zNjMsMy4zNjMsMCwwLDEsMy4wMzEtMS42ODRjMi4xODksMCwzLjg3MywxLjQ3MywzLjg3Myw0LjU0NlpNMTkuMDk0LDE1LjVBMS43NTMsMS43NTMsMCwwLDAsMTcuMiwxNy4yMjZhMS43MTYsMS43MTYsMCwwLDAsMS44NTIsMS43MjZoLjA0MmExLjcyOSwxLjcyOSwwLDAsMCwxLjg5NC0xLjcyNkExLjc3NywxLjc3NywwLDAsMCwxOS4wOTQsMTUuNVpNMTcuMzY4LDMwLjRoMy4zMjZWMjAuMzQxSDE3LjM2OFptMCwwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0xNy4yIC0xNS41KVwiIGZpbGw9XCIjZjFmMmY1XCIvPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPGEgKm5nSWY9XCIhY29uZmlnPy5mYWNlYm9vaz8uaXNIaWRkZW5cIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiIFtocmVmXT1cImNvbmZpZz8uZmFjZWJvb2s/LmxpbmsgPyBjb25maWc/LmZhY2Vib29rPy5saW5rIDogZGVmYXVsdENvbmZpZy5mYWNlYm9vaz8ubGlua1wiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNVwiIGhlaWdodD1cIjE1XCIgdmlld0JveD1cIjAgMCA3LjIzNSAxNS42MThcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cIlBhdGhfMTNcIiBkYXRhLW5hbWU9XCJQYXRoIDEzXCIgZD1cIk0zMS45NjcsMjEuOTA5SDI5Ljc4NXY3LjgwOUgyNi41MzFWMjEuOTA5SDI1VjE5LjE1M2gxLjUzMXYtMS44QTMuMDMyLDMuMDMyLDAsMCwxLDI5Ljc4NSwxNC4xSDMyLjJ2Mi42OEgzMC40NzRhLjY3OS42NzksMCwwLDAtLjY4OS43NjZ2MS42MDhoMi40NVptMCwwXCIgdHJhbnNmb3JtPVwidHJhbnNsYXRlKC0yNSAtMTQuMSlcIiBmaWxsPVwiI2YxZjJmNVwiLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiIWNvbmZpZz8udHdpdHRlcj8uaXNIaWRkZW5cIiBjbGFzcz1cImltYWdlLWNvbnRhaW5lclwiIFtocmVmXT1cImNvbmZpZz8udHdpdHRlcj8ubGluayA/IGNvbmZpZz8udHdpdHRlcj8ubGluayA6IGRlZmF1bHRDb25maWcudHdpdHRlcj8ubGlua1wiIHRhcmdldD1cIl9ibGFua1wiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNS45NjZcIiBoZWlnaHQ9XCIxNS42MThcIiB2aWV3Qm94PVwiMCAwIDE1Ljk2NiAxNS42MThcIj5cclxuICAgICAgICAgICAgICAgICAgICA8cGF0aCBpZD1cImljb25zOC10d2l0dGVyeFwiIGQ9XCJNMTkuODQ2LDE5LjYxOGwtNi4yNDQtOS4xLjAxMS4wMDlMMTkuMjQzLDRIMTcuMzYxTDEyLjc3NSw5LjMxLDkuMTMzLDRINC4ybDUuODI5LDguNWgwTDMuODgsMTkuNjE4SDUuNzYxbDUuMS01LjkwOCw0LjA1Miw1LjkwOFpNOC4zODgsNS40MiwxNy4xNDgsMTguMkgxNS42NThMNi44OSw1LjQyWlwiIHRyYW5zZm9ybT1cInRyYW5zbGF0ZSgtMy44OCAtNClcIiBmaWxsPVwiI2YxZjJmNVwiLz5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgIDxhICpuZ0lmPVwiIWNvbmZpZz8ud2hhdHNhcHA/LmlzSGlkZGVuXCIgY2xhc3M9XCJpbWFnZS1jb250YWluZXJcIiBbaHJlZl09XCJjb25maWc/LndoYXRzYXBwPy5saW5rID8gY29uZmlnPy53aGF0c2FwcD8ubGluayA6IGRlZmF1bHRDb25maWcud2hhdHNhcHA/LmxpbmtcIiB0YXJnZXQ9XCJfYmxhbmtcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTUuNjY2XCIgaGVpZ2h0PVwiMTUuNjc2XCIgdmlld0JveD1cIjAgMCAxNS42NjYgMTUuNjc2XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9XCJ3aGF0c2FwcC1zdmdyZXBvLWNvbVwiIGQ9XCJNMTcuMzI0LDYuMjczQTcuNjkxLDcuNjkxLDAsMCwwLDExLjgzOCw0LDcuNzc5LDcuNzc5LDAsMCwwLDUuMSwxNS42NDlMNCwxOS42NzYsOC4xMTUsMTguNmE3Ljc2Miw3Ljc2MiwwLDAsMCw5LjIxLTEyLjMyNVpNMTEuODM4LDE4LjIzNmE2LjQ0Niw2LjQ0NiwwLDAsMS0zLjI5Mi0uOWwtLjIzNS0uMTQ3LTIuNDQuNjQ3LjY0Ny0yLjM4MS0uMTU3LS4yNDVhNi40OTIsNi40OTIsMCwxLDEsNS40NzcsMy4wMjdabTMuNTM3LTQuODRjLS4yLS4xLTEuMTQ2LS41NjgtMS4zMjMtLjYyN3MtLjMxNC0uMS0uNDQxLjFhOC44MjIsOC44MjIsMCwwLDEtLjYxNy43NTRjLS4xMDguMTM3LS4yMjUuMTQ3LS40MjEsMGE1LjIyMiw1LjIyMiwwLDAsMS0yLjYzNS0yLjNjLS4yMDYtLjM0My4yLS4zMjMuNTY4LTEuMDU4YS4zNzIuMzcyLDAsMCwwLDAtLjM0M2MwLS4xLS40NDEtMS4wNTgtLjYtMS40NHMtLjMxNC0uMzIzLS40NDEtLjMzM0g5LjA4NWEuNy43LDAsMCwwLS41MTkuMjQ1LDIuMTQ2LDIuMTQ2LDAsMCwwLS42NDcsMS42NTYsMy43NDIsMy43NDIsMCwwLDAsLjc5NCwyLjAwOCw4LjcxLDguNzEsMCwwLDAsMy4zMjEsMi45MzksMy43NzMsMy43NzMsMCwwLDAsMi4zMzIuNDksMS45NiwxLjk2LDAsMCwwLDEuMy0uOTIxLDEuNTg3LDEuNTg3LDAsMCwwLC4xMTgtLjkyMUExLjM2OCwxLjM2OCwwLDAsMCwxNS4zNzUsMTMuNFpcIiB0cmFuc2Zvcm09XCJ0cmFuc2xhdGUoLTQgLTQpXCIgZmlsbD1cIiNmZmZcIi8+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9hPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
@@ -1,92 +0,0 @@
1
- import { Component, Input, Output, EventEmitter } from '@angular/core';
2
- import { NgControl } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/common";
5
- import * as i2 from "@angular/forms";
6
- import * as i3 from "../af-connect-form-validation-errors/af-connect-form-validation-errors.component";
7
- export class AfConnectInputComponent {
8
- constructor(injector, cdr) {
9
- this.injector = injector;
10
- this.cdr = cdr;
11
- this.placeholder = '';
12
- this.isDisabled = true;
13
- this.withAsterisk = false;
14
- this.variant = 'editable';
15
- this.type = 'text';
16
- this.maxLength = 50;
17
- this.noFormEnabledBorder = false;
18
- this.onChange = new EventEmitter();
19
- this.propagateChange = (_) => { };
20
- this.propagateTouch = (_) => { };
21
- }
22
- handleInputChange($event) {
23
- this.onChange.emit($event);
24
- }
25
- get value() {
26
- return this._value;
27
- }
28
- set value(value) {
29
- this._value = value;
30
- this.propagateChange(value);
31
- }
32
- ngOnInit() {
33
- if (this.variant === 'editable') {
34
- this.isDisabled = false;
35
- }
36
- }
37
- ngAfterViewInit() {
38
- const ngControl = this.injector.get(NgControl);
39
- if (ngControl) {
40
- this.control = ngControl.control;
41
- this.cdr.detectChanges();
42
- }
43
- }
44
- writeValue(obj) {
45
- this.value = obj;
46
- }
47
- registerOnChange(fn) {
48
- this.propagateChange = fn;
49
- }
50
- registerOnTouched(fn) {
51
- this.propagateTouch = fn;
52
- }
53
- setDisabledState(isDisabled) {
54
- this.isDisabled = isDisabled;
55
- }
56
- onBlur() {
57
- this.propagateTouch();
58
- }
59
- }
60
- AfConnectInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectInputComponent, deps: [{ token: i0.Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
61
- AfConnectInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.1.0", type: AfConnectInputComponent, selector: "lib-af-connect-input", inputs: { label: "label", errorReferenceText: "errorReferenceText", placeholder: "placeholder", isDisabled: "isDisabled", withAsterisk: "withAsterisk", variant: "variant", type: "type", maxLength: "maxLength", id: "id", step: "step", noFormEnabledBorder: "noFormEnabledBorder", value: "value" }, outputs: { onChange: "onChange" }, ngImport: i0, template: "<div class=\"field-container\">\r\n <div class=\"label-container\">\r\n <label class=\"label\" [for]=\"id\"> {{ label }}<span *ngIf=\"withAsterisk\" class=\"asterisk\">*</span></label>\r\n <lib-af-connect-form-validation-errors [control]=\"control\" [fieldText]=\"errorReferenceText || label\"></lib-af-connect-form-validation-errors>\r\n </div>\r\n <input\r\n [type]=\"type\"\r\n [step]=\"step\"\r\n size=\"10\"\r\n class=\"field-container-input\"\r\n [ngClass]=\"[\r\n variant,\r\n isDisabled ? 'disabled' : 'not-disabled',\r\n noFormEnabledBorder ? 'no-form-border' : '',\r\n control && control.errors && control.dirty && control.touched ? 'hasError' : '',\r\n control && variant === 'read-only' && control.disabled ? 'non-editable' : ''\r\n ]\"\r\n [maxLength]=\"maxLength\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled || variant === 'read-only'\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"handleInputChange($event)\"\r\n />\r\n <div *ngIf=\"control && control.errors && control.dirty && control.touched\" class=\"error-container\">\r\n <img src=\"../../../assets/icons/warning.svg\" />\r\n </div>\r\n </div>\r\n ", styles: [":host{font-family:var(--standard-font-family-hero-new);font-size:.875rem;color:var(--secondary-space-color);width:100%;position:relative}:host input:focus{outline:transparent}.field-container{display:flex;flex-direction:column}.field-container .label .asterisk{color:var(--primary-orange-mobile-color)}.field-container .label-container{display:flex;flex-wrap:wrap;padding-bottom:.5rem;gap:.5rem;justify-content:space-between}.field-container .field-container-input{font-family:var(--standard-font-family-hero-new);font-size:.875rem;padding:11px 11px 11px 1.25rem;border:1px solid transparent;outline:1px solid transparent;transition-property:outline-color,border-color,background-color;transition-duration:.2s}.field-container .field-container-input:focus{outline:1px solid var(--primary-dark-teal-color)}.field-container .field-container-input.hasError{padding-right:3rem;border:1px solid var(--primary-connected-orange-color)!important;background-color:var(--neutral-inline-error-color)}.field-container .field-container-input.hasError:focus{outline-color:var(--primary-connected-orange-color)}.field-container .field-container-input.editable.not-disabled.no-form-border{border-color:transparent}@media (max-width: 768px){.field-container .field-container-input{border-radius:var(--input-border-radius);box-shadow:var(--input-box-shadow)}}.field-container .read-only{background-color:var(--neutral-button-color);color:var(--warm-grey-color)}.field-container .non-editable{background-color:var(--main-white-color);color:var(--warm-grey-color)}.field-container .editable{background-color:var(--main-white-color)}.field-container .editable.disabled{color:var(--secondary-space-color)}.field-container .editable.not-disabled{border-color:var(--primary-dark-teal-color)}.error-container{position:relative;display:flex;min-height:100%;justify-content:center;align-items:center}img{position:absolute;cursor:pointer;right:25px;top:-31px;width:18px;height:18px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.AfConnectFormValidationErrorsComponent, selector: "lib-af-connect-form-validation-errors", inputs: ["fieldText", "control"] }] });
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.0", ngImport: i0, type: AfConnectInputComponent, decorators: [{
63
- type: Component,
64
- args: [{ selector: 'lib-af-connect-input', template: "<div class=\"field-container\">\r\n <div class=\"label-container\">\r\n <label class=\"label\" [for]=\"id\"> {{ label }}<span *ngIf=\"withAsterisk\" class=\"asterisk\">*</span></label>\r\n <lib-af-connect-form-validation-errors [control]=\"control\" [fieldText]=\"errorReferenceText || label\"></lib-af-connect-form-validation-errors>\r\n </div>\r\n <input\r\n [type]=\"type\"\r\n [step]=\"step\"\r\n size=\"10\"\r\n class=\"field-container-input\"\r\n [ngClass]=\"[\r\n variant,\r\n isDisabled ? 'disabled' : 'not-disabled',\r\n noFormEnabledBorder ? 'no-form-border' : '',\r\n control && control.errors && control.dirty && control.touched ? 'hasError' : '',\r\n control && variant === 'read-only' && control.disabled ? 'non-editable' : ''\r\n ]\"\r\n [maxLength]=\"maxLength\"\r\n [(ngModel)]=\"value\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"isDisabled || variant === 'read-only'\"\r\n (blur)=\"onBlur()\"\r\n (keyup)=\"handleInputChange($event)\"\r\n />\r\n <div *ngIf=\"control && control.errors && control.dirty && control.touched\" class=\"error-container\">\r\n <img src=\"../../../assets/icons/warning.svg\" />\r\n </div>\r\n </div>\r\n ", styles: [":host{font-family:var(--standard-font-family-hero-new);font-size:.875rem;color:var(--secondary-space-color);width:100%;position:relative}:host input:focus{outline:transparent}.field-container{display:flex;flex-direction:column}.field-container .label .asterisk{color:var(--primary-orange-mobile-color)}.field-container .label-container{display:flex;flex-wrap:wrap;padding-bottom:.5rem;gap:.5rem;justify-content:space-between}.field-container .field-container-input{font-family:var(--standard-font-family-hero-new);font-size:.875rem;padding:11px 11px 11px 1.25rem;border:1px solid transparent;outline:1px solid transparent;transition-property:outline-color,border-color,background-color;transition-duration:.2s}.field-container .field-container-input:focus{outline:1px solid var(--primary-dark-teal-color)}.field-container .field-container-input.hasError{padding-right:3rem;border:1px solid var(--primary-connected-orange-color)!important;background-color:var(--neutral-inline-error-color)}.field-container .field-container-input.hasError:focus{outline-color:var(--primary-connected-orange-color)}.field-container .field-container-input.editable.not-disabled.no-form-border{border-color:transparent}@media (max-width: 768px){.field-container .field-container-input{border-radius:var(--input-border-radius);box-shadow:var(--input-box-shadow)}}.field-container .read-only{background-color:var(--neutral-button-color);color:var(--warm-grey-color)}.field-container .non-editable{background-color:var(--main-white-color);color:var(--warm-grey-color)}.field-container .editable{background-color:var(--main-white-color)}.field-container .editable.disabled{color:var(--secondary-space-color)}.field-container .editable.not-disabled{border-color:var(--primary-dark-teal-color)}.error-container{position:relative;display:flex;min-height:100%;justify-content:center;align-items:center}img{position:absolute;cursor:pointer;right:25px;top:-31px;width:18px;height:18px}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
65
- }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { label: [{
66
- type: Input
67
- }], errorReferenceText: [{
68
- type: Input
69
- }], placeholder: [{
70
- type: Input
71
- }], isDisabled: [{
72
- type: Input
73
- }], withAsterisk: [{
74
- type: Input
75
- }], variant: [{
76
- type: Input
77
- }], type: [{
78
- type: Input
79
- }], maxLength: [{
80
- type: Input
81
- }], id: [{
82
- type: Input
83
- }], step: [{
84
- type: Input
85
- }], noFormEnabledBorder: [{
86
- type: Input
87
- }], onChange: [{
88
- type: Output
89
- }], value: [{
90
- type: Input
91
- }] } });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWYtY29ubmVjdC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hZi1jb25uZWN0LWNvbXBvbmVudHMvc3JjL2xpYi9hZi1jb25uZWN0LWlucHV0L2FmLWNvbm5lY3QtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYWYtY29ubmVjdC1jb21wb25lbnRzL3NyYy9saWIvYWYtY29ubmVjdC1pbnB1dC9hZi1jb25uZWN0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBcUIsU0FBUyxFQUF3QixLQUFLLEVBQVUsTUFBTSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4SCxPQUFPLEVBQXFDLFNBQVMsRUFBcUIsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFPakcsTUFBTSxPQUFPLHVCQUF1QjtJQThCbEMsWUFBb0IsUUFBa0IsRUFBVSxHQUFzQjtRQUFsRCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUExQjdELGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pCLGVBQVUsR0FBWSxJQUFJLENBQUM7UUFDM0IsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsWUFBTyxHQUE4QyxVQUFVLENBQUM7UUFDaEUsU0FBSSxHQUE0QyxNQUFNLENBQUM7UUFDdkQsY0FBUyxHQUFXLEVBQUUsQ0FBQztRQUd2Qix3QkFBbUIsR0FBWSxLQUFLLENBQUM7UUFDcEMsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFpQ2hDLG9CQUFlLEdBQWEsQ0FBQyxDQUFTLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUM5QyxtQkFBYyxHQUFhLENBQUMsQ0FBUyxFQUFFLEVBQUUsR0FBRSxDQUFDLENBQUM7SUFqQm9CLENBQUM7SUFmbkUsaUJBQWlCLENBQUMsTUFBYTtRQUNwQyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBSUQsSUFBVyxLQUFLO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFvQixLQUFLLENBQUMsS0FBYTtRQUNyQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFJRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFVBQVUsRUFBRTtZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7SUFFRCxlQUFlO1FBQ2IsTUFBTSxTQUFTLEdBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQVksU0FBUyxDQUFDLENBQUM7UUFDckUsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLFNBQVMsQ0FBQyxPQUFzQixDQUFDO1lBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBS00sVUFBVSxDQUFDLEdBQVE7UUFDeEIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUM7SUFDbkIsQ0FBQztJQUVNLGdCQUFnQixDQUFDLEVBQU87UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEVBQU87UUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELGdCQUFnQixDQUFFLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7SUFFTSxNQUFNO1FBQ1gsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7O29IQW5FVSx1QkFBdUI7d0dBQXZCLHVCQUF1Qix1WUNScEMseXdDQTRCRTsyRkRwQlcsdUJBQXVCO2tCQUxuQyxTQUFTOytCQUNFLHNCQUFzQjsrSEFNdkIsS0FBSztzQkFBYixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0ksUUFBUTtzQkFBakIsTUFBTTtnQkFZYSxLQUFLO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3JtQ29udHJvbCwgTmdDb250cm9sLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFmLWNvbm5lY3QtaW5wdXQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hZi1jb25uZWN0LWlucHV0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hZi1jb25uZWN0LWlucHV0LmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIEFmQ29ubmVjdElucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XHJcbiAgcHJpdmF0ZSBfdmFsdWU6IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVycm9yUmVmZXJlbmNlVGV4dDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBpc0Rpc2FibGVkOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSB3aXRoQXN0ZXJpc2s6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSB2YXJpYW50OiAnZWRpdGFibGUnIHwgJ25vbi1lZGl0YWJsZScgfCAncmVhZC1vbmx5JyA9ICdlZGl0YWJsZSc7XHJcbiAgQElucHV0KCkgdHlwZTogJ3RleHQnIHwgJ251bWJlcicgfCAnZGF0ZScgfCAncGFzc3dvcmQnID0gJ3RleHQnO1xyXG4gIEBJbnB1dCgpIG1heExlbmd0aDogbnVtYmVyID0gNTA7XHJcbiAgQElucHV0KCkgaWQ6IHN0cmluZztcclxuICBASW5wdXQoKSBzdGVwOiBudW1iZXI7XHJcbiAgQElucHV0KCkgbm9Gb3JtRW5hYmxlZEJvcmRlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgcHVibGljIGhhbmRsZUlucHV0Q2hhbmdlKCRldmVudDogRXZlbnQpIHtcclxuICAgIHRoaXMub25DaGFuZ2UuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbnRyb2w6IEZvcm1Db250cm9sO1xyXG5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKSBwdWJsaWMgc2V0IHZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGluamVjdG9yOiBJbmplY3RvciwgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdlZGl0YWJsZScpIHtcclxuICAgICAgdGhpcy5pc0Rpc2FibGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBuZ0NvbnRyb2w6IE5nQ29udHJvbCA9IHRoaXMuaW5qZWN0b3IuZ2V0PE5nQ29udHJvbD4oTmdDb250cm9sKTtcclxuICAgIGlmIChuZ0NvbnRyb2wpIHtcclxuICAgICAgdGhpcy5jb250cm9sID0gbmdDb250cm9sLmNvbnRyb2wgYXMgRm9ybUNvbnRyb2w7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgcHJvcGFnYXRlQ2hhbmdlOiBGdW5jdGlvbiA9IChfOiBzdHJpbmcpID0+IHt9O1xyXG4gIHByaXZhdGUgcHJvcGFnYXRlVG91Y2g6IEZ1bmN0aW9uID0gKF86IHN0cmluZykgPT4ge307XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnZhbHVlID0gb2JqO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZVRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBzZXREaXNhYmxlZFN0YXRlPyhpc0Rpc2FibGVkOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQmx1cigpOiB2b2lkIHtcclxuICAgIHRoaXMucHJvcGFnYXRlVG91Y2goKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZpZWxkLWNvbnRhaW5lclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiPlxyXG4gICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbFwiIFtmb3JdPVwiaWRcIj4ge3sgbGFiZWwgfX08c3BhbiAqbmdJZj1cIndpdGhBc3Rlcmlza1wiIGNsYXNzPVwiYXN0ZXJpc2tcIj4qPC9zcGFuPjwvbGFiZWw+XHJcbiAgICAgIDxsaWItYWYtY29ubmVjdC1mb3JtLXZhbGlkYXRpb24tZXJyb3JzIFtjb250cm9sXT1cImNvbnRyb2xcIiBbZmllbGRUZXh0XT1cImVycm9yUmVmZXJlbmNlVGV4dCB8fCBsYWJlbFwiPjwvbGliLWFmLWNvbm5lY3QtZm9ybS12YWxpZGF0aW9uLWVycm9ycz5cclxuICAgIDwvZGl2PlxyXG4gICAgPGlucHV0XHJcbiAgICAgIFt0eXBlXT1cInR5cGVcIlxyXG4gICAgICBbc3RlcF09XCJzdGVwXCJcclxuICAgICAgc2l6ZT1cIjEwXCJcclxuICAgICAgY2xhc3M9XCJmaWVsZC1jb250YWluZXItaW5wdXRcIlxyXG4gICAgICBbbmdDbGFzc109XCJbXHJcbiAgICAgICAgdmFyaWFudCxcclxuICAgICAgICBpc0Rpc2FibGVkID8gJ2Rpc2FibGVkJyA6ICdub3QtZGlzYWJsZWQnLFxyXG4gICAgICAgIG5vRm9ybUVuYWJsZWRCb3JkZXIgPyAnbm8tZm9ybS1ib3JkZXInIDogJycsXHJcbiAgICAgICAgY29udHJvbCAmJiBjb250cm9sLmVycm9ycyAmJiBjb250cm9sLmRpcnR5ICYmIGNvbnRyb2wudG91Y2hlZCA/ICdoYXNFcnJvcicgOiAnJyxcclxuICAgICAgICBjb250cm9sICYmIHZhcmlhbnQgPT09ICdyZWFkLW9ubHknICYmIGNvbnRyb2wuZGlzYWJsZWQgPyAnbm9uLWVkaXRhYmxlJyA6ICcnXHJcbiAgICAgIF1cIlxyXG4gICAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICBbZGlzYWJsZWRdPVwiaXNEaXNhYmxlZCB8fCB2YXJpYW50ID09PSAncmVhZC1vbmx5J1wiXHJcbiAgICAgIChibHVyKT1cIm9uQmx1cigpXCJcclxuICAgICAgKGtleXVwKT1cImhhbmRsZUlucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gICAgLz5cclxuICAgIDxkaXYgKm5nSWY9XCJjb250cm9sICYmIGNvbnRyb2wuZXJyb3JzICYmIGNvbnRyb2wuZGlydHkgJiYgY29udHJvbC50b3VjaGVkXCIgY2xhc3M9XCJlcnJvci1jb250YWluZXJcIj5cclxuICAgICAgPGltZyBzcmM9XCIuLi8uLi8uLi9hc3NldHMvaWNvbnMvd2FybmluZy5zdmdcIiAvPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgIl19