@danske/sapphire-angular 2.8.0 → 3.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 (169) hide show
  1. package/esm2020/lib/avatar/public_api.mjs +3 -0
  2. package/esm2020/lib/avatar/src/avatar.component.mjs +53 -0
  3. package/esm2020/lib/avatar/src/avatar.module.mjs +16 -0
  4. package/esm2020/lib/badge/src/badge.component.mjs +11 -7
  5. package/esm2020/lib/button/src/button-group.component.mjs +3 -3
  6. package/esm2020/lib/button/src/button-icon.directive.mjs +2 -1
  7. package/esm2020/lib/button/src/button.component.mjs +19 -6
  8. package/esm2020/lib/button/src/icon-button.component.mjs +21 -8
  9. package/esm2020/lib/button/src/toggle-button-required-validator.mjs +2 -1
  10. package/esm2020/lib/button/src/toggle-button.component.mjs +19 -6
  11. package/esm2020/lib/checkbox/src/checkbox-group.component.mjs +3 -3
  12. package/esm2020/lib/checkbox/src/checkbox-required-validator.mjs +2 -1
  13. package/esm2020/lib/checkbox/src/checkbox.component.mjs +3 -3
  14. package/esm2020/lib/core.module.mjs +22 -1
  15. package/esm2020/lib/feedback-message/public_api.mjs +7 -0
  16. package/esm2020/lib/feedback-message/src/feedback-message.component.mjs +104 -0
  17. package/esm2020/lib/feedback-message/src/feedback-message.module.mjs +40 -0
  18. package/esm2020/lib/field/src/field-note.directive.mjs +18 -2
  19. package/esm2020/lib/field/src/field.component.mjs +33 -15
  20. package/esm2020/lib/field/src/field.module.mjs +7 -3
  21. package/esm2020/lib/help-button/src/help-button.component.mjs +15 -12
  22. package/esm2020/lib/icon/public_api.mjs +2 -1
  23. package/esm2020/lib/icon/src/icon-size-provider.mjs +1 -1
  24. package/esm2020/lib/icon/src/icon.component.mjs +30 -18
  25. package/esm2020/lib/icon/src/icon.module.mjs +4 -2
  26. package/esm2020/lib/icon/src/iconRegistry.service.mjs +37 -0
  27. package/esm2020/lib/icon/src/svgSanitizer.mjs +690 -0
  28. package/esm2020/lib/label/src/label.component.mjs +3 -3
  29. package/esm2020/lib/link/src/link.component.mjs +3 -8
  30. package/esm2020/lib/list/src/list.component.mjs +2 -2
  31. package/esm2020/lib/listbox/src/listbox-item.component.mjs +15 -15
  32. package/esm2020/lib/listbox/src/listbox.component.mjs +7 -10
  33. package/esm2020/lib/listbox/src/option-icon.directive.mjs +2 -1
  34. package/esm2020/lib/listbox/src/option-primary-text.directive.mjs +2 -1
  35. package/esm2020/lib/listbox/src/option-secondary-text.directive.mjs +2 -1
  36. package/esm2020/lib/listbox/src/option.component.mjs +2 -1
  37. package/esm2020/lib/listbox/src/section.directive.mjs +2 -1
  38. package/esm2020/lib/menu/src/menu-icon.component.mjs +2 -1
  39. package/esm2020/lib/menu/src/menu-item.component.mjs +4 -4
  40. package/esm2020/lib/menu/src/menu-primary-text.component.mjs +2 -1
  41. package/esm2020/lib/menu/src/menu-secondary-text.component.mjs +2 -1
  42. package/esm2020/lib/menu/src/menu-section.component.mjs +2 -2
  43. package/esm2020/lib/menu/src/menu-trigger.directive.mjs +2 -1
  44. package/esm2020/lib/menu/src/menu.component.mjs +8 -13
  45. package/esm2020/lib/modal/public_api.mjs +2 -1
  46. package/esm2020/lib/modal/src/dialog/alert-dialog.component.mjs +111 -0
  47. package/esm2020/lib/modal/src/dialog/confirmation-dialog.component.mjs +2 -2
  48. package/esm2020/lib/modal/src/dialog/danger-dialog.component.mjs +2 -2
  49. package/esm2020/lib/modal/src/dialog/dialog-trigger.directive.mjs +2 -1
  50. package/esm2020/lib/modal/src/dialog/dialog.component.mjs +3 -3
  51. package/esm2020/lib/modal/src/layout/modal-back-button.directive.mjs +2 -1
  52. package/esm2020/lib/modal/src/layout/modal-body.component.mjs +2 -1
  53. package/esm2020/lib/modal/src/layout/modal-close-button.directive.mjs +2 -1
  54. package/esm2020/lib/modal/src/layout/modal-footer.component.mjs +2 -2
  55. package/esm2020/lib/modal/src/layout/modal-header.component.mjs +15 -12
  56. package/esm2020/lib/modal/src/layout/modal-layout.component.mjs +3 -3
  57. package/esm2020/lib/modal/src/modal-base.component.mjs +2 -1
  58. package/esm2020/lib/modal/src/modal.module.mjs +27 -2
  59. package/esm2020/lib/modal/src/panel/panel-trigger.directive.mjs +2 -1
  60. package/esm2020/lib/modal/src/panel/panel.component.mjs +3 -3
  61. package/esm2020/lib/notification-badge/src/notification-badge.component.mjs +3 -3
  62. package/esm2020/lib/pagination/src/page-selection-row.component.mjs +3 -3
  63. package/esm2020/lib/pagination/src/pagination.component.mjs +16 -13
  64. package/esm2020/lib/popover/src/popover-close-button.directive.mjs +2 -1
  65. package/esm2020/lib/popover/src/popover-title.directive.mjs +2 -1
  66. package/esm2020/lib/popover/src/popover-trigger.directive.mjs +3 -2
  67. package/esm2020/lib/popover/src/popover.component.mjs +3 -3
  68. package/esm2020/lib/radio/src/radio-group.component.mjs +3 -3
  69. package/esm2020/lib/radio/src/radio.component.mjs +3 -3
  70. package/esm2020/lib/radio/src/segmented/segmented-radio-group.component.mjs +3 -3
  71. package/esm2020/lib/radio/src/segmented/segmented-radio.component.mjs +2 -2
  72. package/esm2020/lib/segmented-tabs/src/segmented-tab-content.directive.mjs +2 -1
  73. package/esm2020/lib/segmented-tabs/src/segmented-tab-label.directive.mjs +2 -1
  74. package/esm2020/lib/segmented-tabs/src/segmented-tab.component.mjs +3 -3
  75. package/esm2020/lib/segmented-tabs/src/segmented-tabs.component.mjs +3 -3
  76. package/esm2020/lib/select/public_api.mjs +2 -2
  77. package/esm2020/lib/select/src/common/hidden-select.component.mjs +2 -2
  78. package/esm2020/lib/select/src/select/searchable-select.directive.mjs +2 -1
  79. package/esm2020/lib/select/src/select/select.component.mjs +25 -20
  80. package/esm2020/lib/select/src/select/select.module.mjs +10 -10
  81. package/esm2020/lib/select/src/select/selection-text.directive.mjs +2 -1
  82. package/esm2020/lib/select/src/select-button/select-button.component.mjs +136 -0
  83. package/esm2020/lib/skeleton/src/skeleton-block.directive.mjs +2 -1
  84. package/esm2020/lib/skeleton/src/skeleton-circle.directive.mjs +2 -1
  85. package/esm2020/lib/skeleton/src/skeleton-text.directive.mjs +2 -1
  86. package/esm2020/lib/skeleton/src/skeleton.component.mjs +3 -3
  87. package/esm2020/lib/spinner/public_api.mjs +7 -0
  88. package/esm2020/lib/spinner/src/spinner.component.mjs +26 -0
  89. package/esm2020/lib/spinner/src/spinner.module.mjs +18 -0
  90. package/esm2020/lib/surface/src/surface.component.mjs +5 -3
  91. package/esm2020/lib/switch/src/switch-required-validator.mjs +2 -1
  92. package/esm2020/lib/switch/src/switch.component.mjs +3 -3
  93. package/esm2020/lib/table/src/table-body.directive.mjs +2 -1
  94. package/esm2020/lib/table/src/table-cell.directive.mjs +2 -1
  95. package/esm2020/lib/table/src/table-footer.directive.mjs +2 -1
  96. package/esm2020/lib/table/src/table-head-cell.component.mjs +16 -13
  97. package/esm2020/lib/table/src/table-head.directive.mjs +2 -1
  98. package/esm2020/lib/table/src/table-row.directive.mjs +2 -1
  99. package/esm2020/lib/table/src/table-sort-header.directive.mjs +2 -1
  100. package/esm2020/lib/table/src/table-sort.directive.mjs +2 -1
  101. package/esm2020/lib/table/src/table.component.mjs +3 -3
  102. package/esm2020/lib/table/src/table.directive.mjs +2 -1
  103. package/esm2020/lib/text-field/src/text-field-input.directive.mjs +2 -1
  104. package/esm2020/lib/text-field/src/text-field-postfix.directive.mjs +2 -1
  105. package/esm2020/lib/text-field/src/text-field-prefix.directive.mjs +2 -1
  106. package/esm2020/lib/text-field/src/text-field-textarea-autosize.directive.mjs +2 -1
  107. package/esm2020/lib/text-field/src/text-field.component.mjs +3 -3
  108. package/esm2020/lib/theme/src/themes.mjs +4 -4
  109. package/esm2020/lib/tooltip/src/tooltip.component.mjs +3 -3
  110. package/esm2020/lib/typography/public_api.mjs +4 -2
  111. package/esm2020/lib/typography/src/body.component.mjs +43 -0
  112. package/esm2020/lib/typography/src/caption.component.mjs +37 -0
  113. package/esm2020/lib/typography/src/heading.component.mjs +23 -13
  114. package/esm2020/lib/typography/src/subheading.component.mjs +37 -0
  115. package/esm2020/lib/typography/src/typography.module.mjs +23 -5
  116. package/esm2020/public-api.mjs +4 -1
  117. package/fesm2015/danske-sapphire-angular.mjs +1566 -235
  118. package/fesm2015/danske-sapphire-angular.mjs.map +1 -1
  119. package/fesm2020/danske-sapphire-angular.mjs +1566 -234
  120. package/fesm2020/danske-sapphire-angular.mjs.map +1 -1
  121. package/lib/avatar/public_api.d.ts +2 -0
  122. package/lib/avatar/src/avatar.component.d.ts +22 -0
  123. package/lib/avatar/src/avatar.module.d.ts +7 -0
  124. package/lib/badge/src/badge.component.d.ts +3 -3
  125. package/lib/button/src/button.component.d.ts +1 -1
  126. package/lib/button/src/icon-button.component.d.ts +2 -3
  127. package/lib/core.module.d.ts +23 -20
  128. package/lib/feedback-message/public_api.d.ts +2 -0
  129. package/lib/feedback-message/src/feedback-message.component.d.ts +33 -0
  130. package/lib/feedback-message/src/feedback-message.module.d.ts +10 -0
  131. package/lib/field/src/field-note.directive.d.ts +3 -1
  132. package/lib/field/src/field.component.d.ts +2 -1
  133. package/lib/field/src/field.module.d.ts +2 -1
  134. package/lib/help-button/src/help-button.component.d.ts +2 -0
  135. package/lib/icon/public_api.d.ts +1 -0
  136. package/lib/icon/src/icon-size-provider.d.ts +1 -1
  137. package/lib/icon/src/icon.component.d.ts +16 -9
  138. package/lib/icon/src/iconRegistry.service.d.ts +14 -0
  139. package/lib/icon/src/svgSanitizer.d.ts +1 -0
  140. package/lib/link/src/link.component.d.ts +1 -2
  141. package/lib/listbox/src/listbox-item.component.d.ts +3 -3
  142. package/lib/listbox/src/listbox.component.d.ts +2 -4
  143. package/lib/menu/src/menu-item.component.d.ts +1 -1
  144. package/lib/menu/src/menu.component.d.ts +1 -2
  145. package/lib/modal/public_api.d.ts +1 -0
  146. package/lib/modal/src/dialog/alert-dialog.component.d.ts +42 -0
  147. package/lib/modal/src/layout/modal-header.component.d.ts +2 -0
  148. package/lib/modal/src/modal.module.d.ts +13 -11
  149. package/lib/pagination/src/pagination.component.d.ts +2 -0
  150. package/lib/select/public_api.d.ts +1 -1
  151. package/lib/select/src/select/select.component.d.ts +3 -2
  152. package/lib/select/src/select/select.module.d.ts +2 -2
  153. package/lib/select/src/{basic-select/basic-select.component.d.ts → select-button/select-button.component.d.ts} +12 -11
  154. package/lib/spinner/public_api.d.ts +2 -0
  155. package/lib/spinner/src/spinner.component.d.ts +14 -0
  156. package/lib/spinner/src/spinner.module.d.ts +8 -0
  157. package/lib/surface/src/surface.component.d.ts +1 -1
  158. package/lib/table/src/table-head-cell.component.d.ts +3 -2
  159. package/lib/typography/public_api.d.ts +3 -1
  160. package/lib/typography/src/body.component.d.ts +16 -0
  161. package/lib/typography/src/caption.component.d.ts +14 -0
  162. package/lib/typography/src/heading.component.d.ts +5 -3
  163. package/lib/typography/src/subheading.component.d.ts +14 -0
  164. package/lib/typography/src/typography.module.d.ts +5 -3
  165. package/package.json +9 -8
  166. package/public-api.d.ts +3 -0
  167. package/esm2020/lib/select/src/basic-select/basic-select.component.mjs +0 -132
  168. package/esm2020/lib/typography/src/paragraph.component.mjs +0 -24
  169. package/lib/typography/src/paragraph.component.d.ts +0 -8
@@ -0,0 +1,690 @@
1
+ import sanitizeHtml from 'sanitize-html';
2
+ const allowedAttributes = {
3
+ svg: [
4
+ 'id',
5
+ 'class',
6
+ 'style',
7
+ 'xmlns',
8
+ 'width',
9
+ 'height',
10
+ 'viewBox',
11
+ 'preserveAspectRatio',
12
+ 'clip-path',
13
+ 'visibility',
14
+ 'pointer-events',
15
+ 'cursor',
16
+ 'display',
17
+ 'overflow',
18
+ 'fill',
19
+ ],
20
+ g: [
21
+ 'id',
22
+ 'class',
23
+ 'style',
24
+ 'transform',
25
+ 'clip-path',
26
+ 'visibility',
27
+ 'pointer-events',
28
+ 'cursor',
29
+ 'display',
30
+ 'fill',
31
+ ],
32
+ defs: [
33
+ 'id',
34
+ 'class',
35
+ 'style',
36
+ 'visibility',
37
+ 'pointer-events',
38
+ 'cursor',
39
+ 'display',
40
+ ],
41
+ symbol: [
42
+ 'id',
43
+ 'class',
44
+ 'style',
45
+ 'viewBox',
46
+ 'preserveAspectRatio',
47
+ 'clip-path',
48
+ 'visibility',
49
+ 'pointer-events',
50
+ 'cursor',
51
+ 'display',
52
+ ],
53
+ use: [
54
+ 'id',
55
+ 'class',
56
+ 'style',
57
+ 'href',
58
+ 'xlink:href',
59
+ 'transform',
60
+ 'clip-path',
61
+ 'visibility',
62
+ 'pointer-events',
63
+ 'cursor',
64
+ 'display',
65
+ ],
66
+ path: [
67
+ 'id',
68
+ 'class',
69
+ 'style',
70
+ 'd',
71
+ 'fill',
72
+ 'stroke',
73
+ 'stroke-width',
74
+ 'transform',
75
+ 'opacity',
76
+ 'clip-path',
77
+ 'stroke-dasharray',
78
+ 'stroke-dashoffset',
79
+ 'stroke-opacity',
80
+ 'fill-opacity',
81
+ 'visibility',
82
+ 'pointer-events',
83
+ 'cursor',
84
+ 'display',
85
+ 'filter',
86
+ ],
87
+ rect: [
88
+ 'id',
89
+ 'class',
90
+ 'style',
91
+ 'x',
92
+ 'y',
93
+ 'width',
94
+ 'height',
95
+ 'rx',
96
+ 'ry',
97
+ 'fill',
98
+ 'stroke',
99
+ 'stroke-width',
100
+ 'transform',
101
+ 'opacity',
102
+ 'clip-path',
103
+ 'stroke-dasharray',
104
+ 'stroke-dashoffset',
105
+ 'stroke-opacity',
106
+ 'fill-opacity',
107
+ 'visibility',
108
+ 'pointer-events',
109
+ 'cursor',
110
+ 'display',
111
+ 'filter',
112
+ ],
113
+ circle: [
114
+ 'id',
115
+ 'class',
116
+ 'style',
117
+ 'cx',
118
+ 'cy',
119
+ 'r',
120
+ 'fill',
121
+ 'stroke',
122
+ 'stroke-width',
123
+ 'transform',
124
+ 'opacity',
125
+ 'clip-path',
126
+ 'stroke-dasharray',
127
+ 'stroke-dashoffset',
128
+ 'stroke-opacity',
129
+ 'fill-opacity',
130
+ 'visibility',
131
+ 'pointer-events',
132
+ 'cursor',
133
+ 'display',
134
+ 'filter',
135
+ ],
136
+ ellipse: [
137
+ 'id',
138
+ 'class',
139
+ 'style',
140
+ 'cx',
141
+ 'cy',
142
+ 'rx',
143
+ 'ry',
144
+ 'fill',
145
+ 'stroke',
146
+ 'stroke-width',
147
+ 'transform',
148
+ 'opacity',
149
+ 'clip-path',
150
+ 'stroke-dasharray',
151
+ 'stroke-dashoffset',
152
+ 'stroke-opacity',
153
+ 'fill-opacity',
154
+ 'visibility',
155
+ 'pointer-events',
156
+ 'cursor',
157
+ 'display',
158
+ 'filter',
159
+ ],
160
+ line: [
161
+ 'id',
162
+ 'class',
163
+ 'style',
164
+ 'x1',
165
+ 'y1',
166
+ 'x2',
167
+ 'y2',
168
+ 'stroke',
169
+ 'stroke-width',
170
+ 'transform',
171
+ 'opacity',
172
+ 'clip-path',
173
+ 'stroke-dasharray',
174
+ 'stroke-dashoffset',
175
+ 'stroke-opacity',
176
+ 'visibility',
177
+ 'pointer-events',
178
+ 'cursor',
179
+ 'display',
180
+ 'filter',
181
+ ],
182
+ polyline: [
183
+ 'id',
184
+ 'class',
185
+ 'style',
186
+ 'points',
187
+ 'fill',
188
+ 'stroke',
189
+ 'stroke-width',
190
+ 'transform',
191
+ 'opacity',
192
+ 'clip-path',
193
+ 'stroke-dasharray',
194
+ 'stroke-dashoffset',
195
+ 'stroke-opacity',
196
+ 'fill-opacity',
197
+ 'visibility',
198
+ 'pointer-events',
199
+ 'cursor',
200
+ 'display',
201
+ 'filter',
202
+ ],
203
+ polygon: [
204
+ 'id',
205
+ 'class',
206
+ 'style',
207
+ 'points',
208
+ 'fill',
209
+ 'stroke',
210
+ 'stroke-width',
211
+ 'transform',
212
+ 'opacity',
213
+ 'clip-path',
214
+ 'stroke-dasharray',
215
+ 'stroke-dashoffset',
216
+ 'stroke-opacity',
217
+ 'fill-opacity',
218
+ 'visibility',
219
+ 'pointer-events',
220
+ 'cursor',
221
+ 'display',
222
+ 'filter',
223
+ ],
224
+ text: [
225
+ 'id',
226
+ 'class',
227
+ 'style',
228
+ 'x',
229
+ 'y',
230
+ 'fill',
231
+ 'stroke',
232
+ 'font-family',
233
+ 'font-size',
234
+ 'text-anchor',
235
+ 'alignment-baseline',
236
+ 'transform',
237
+ 'opacity',
238
+ 'clip-path',
239
+ 'fill-opacity',
240
+ 'visibility',
241
+ 'pointer-events',
242
+ 'cursor',
243
+ 'display',
244
+ 'filter',
245
+ ],
246
+ tspan: [
247
+ 'id',
248
+ 'class',
249
+ 'style',
250
+ 'x',
251
+ 'y',
252
+ 'dx',
253
+ 'dy',
254
+ 'fill',
255
+ 'stroke',
256
+ 'font-family',
257
+ 'font-size',
258
+ 'text-anchor',
259
+ 'alignment-baseline',
260
+ 'transform',
261
+ 'opacity',
262
+ 'clip-path',
263
+ 'fill-opacity',
264
+ 'visibility',
265
+ 'pointer-events',
266
+ 'cursor',
267
+ 'display',
268
+ 'filter',
269
+ ],
270
+ textPath: [
271
+ 'id',
272
+ 'class',
273
+ 'style',
274
+ 'href',
275
+ 'xlink:href',
276
+ 'startOffset',
277
+ 'method',
278
+ 'spacing',
279
+ 'fill',
280
+ 'stroke',
281
+ 'font-family',
282
+ 'font-size',
283
+ 'text-anchor',
284
+ 'alignment-baseline',
285
+ 'transform',
286
+ 'opacity',
287
+ 'clip-path',
288
+ 'fill-opacity',
289
+ 'visibility',
290
+ 'pointer-events',
291
+ 'cursor',
292
+ 'display',
293
+ 'filter',
294
+ ],
295
+ image: [
296
+ 'id',
297
+ 'class',
298
+ 'style',
299
+ 'x',
300
+ 'y',
301
+ 'width',
302
+ 'height',
303
+ 'href',
304
+ 'xlink:href',
305
+ 'transform',
306
+ 'opacity',
307
+ 'clip-path',
308
+ 'visibility',
309
+ 'pointer-events',
310
+ 'cursor',
311
+ 'display',
312
+ 'filter',
313
+ ],
314
+ clipPath: [
315
+ 'id',
316
+ 'class',
317
+ 'style',
318
+ 'clipPathUnits',
319
+ 'transform',
320
+ 'visibility',
321
+ 'pointer-events',
322
+ 'cursor',
323
+ 'display',
324
+ ],
325
+ mask: [
326
+ 'id',
327
+ 'class',
328
+ 'style',
329
+ 'x',
330
+ 'y',
331
+ 'width',
332
+ 'height',
333
+ 'maskUnits',
334
+ 'maskContentUnits',
335
+ 'transform',
336
+ 'clip-path',
337
+ 'visibility',
338
+ 'pointer-events',
339
+ 'cursor',
340
+ 'display',
341
+ ],
342
+ pattern: [
343
+ 'id',
344
+ 'class',
345
+ 'style',
346
+ 'x',
347
+ 'y',
348
+ 'width',
349
+ 'height',
350
+ 'patternUnits',
351
+ 'patternContentUnits',
352
+ 'viewBox',
353
+ 'preserveAspectRatio',
354
+ 'transform',
355
+ 'clip-path',
356
+ 'visibility',
357
+ 'pointer-events',
358
+ 'cursor',
359
+ 'display',
360
+ ],
361
+ linearGradient: [
362
+ 'id',
363
+ 'class',
364
+ 'style',
365
+ 'x1',
366
+ 'y1',
367
+ 'x2',
368
+ 'y2',
369
+ 'gradientUnits',
370
+ 'gradientTransform',
371
+ 'visibility',
372
+ 'pointer-events',
373
+ 'cursor',
374
+ 'display',
375
+ ],
376
+ radialGradient: [
377
+ 'id',
378
+ 'class',
379
+ 'style',
380
+ 'cx',
381
+ 'cy',
382
+ 'r',
383
+ 'fx',
384
+ 'fy',
385
+ 'gradientUnits',
386
+ 'gradientTransform',
387
+ 'visibility',
388
+ 'pointer-events',
389
+ 'cursor',
390
+ 'display',
391
+ ],
392
+ stop: [
393
+ 'id',
394
+ 'class',
395
+ 'style',
396
+ 'offset',
397
+ 'stop-color',
398
+ 'stop-opacity',
399
+ 'visibility',
400
+ 'pointer-events',
401
+ 'cursor',
402
+ 'display',
403
+ ],
404
+ filter: [
405
+ 'id',
406
+ 'class',
407
+ 'style',
408
+ 'x',
409
+ 'y',
410
+ 'width',
411
+ 'height',
412
+ 'filterUnits',
413
+ 'primitiveUnits',
414
+ 'transform',
415
+ 'clip-path',
416
+ 'visibility',
417
+ 'pointer-events',
418
+ 'cursor',
419
+ 'display',
420
+ ],
421
+ feGaussianBlur: [
422
+ 'id',
423
+ 'class',
424
+ 'style',
425
+ 'in',
426
+ 'stdDeviation',
427
+ 'visibility',
428
+ 'pointer-events',
429
+ 'cursor',
430
+ 'display',
431
+ ],
432
+ feColorMatrix: [
433
+ 'id',
434
+ 'class',
435
+ 'style',
436
+ 'in',
437
+ 'type',
438
+ 'values',
439
+ 'visibility',
440
+ 'pointer-events',
441
+ 'cursor',
442
+ 'display',
443
+ ],
444
+ feBlend: [
445
+ 'id',
446
+ 'class',
447
+ 'style',
448
+ 'in',
449
+ 'in2',
450
+ 'mode',
451
+ 'visibility',
452
+ 'pointer-events',
453
+ 'cursor',
454
+ 'display',
455
+ ],
456
+ feOffset: [
457
+ 'id',
458
+ 'class',
459
+ 'style',
460
+ 'in',
461
+ 'dx',
462
+ 'dy',
463
+ 'visibility',
464
+ 'pointer-events',
465
+ 'cursor',
466
+ 'display',
467
+ ],
468
+ feMerge: [
469
+ 'id',
470
+ 'class',
471
+ 'style',
472
+ 'visibility',
473
+ 'pointer-events',
474
+ 'cursor',
475
+ 'display',
476
+ ],
477
+ feMergeNode: [
478
+ 'id',
479
+ 'class',
480
+ 'style',
481
+ 'in',
482
+ 'visibility',
483
+ 'pointer-events',
484
+ 'cursor',
485
+ 'display',
486
+ ],
487
+ feComponentTransfer: [
488
+ 'id',
489
+ 'class',
490
+ 'style',
491
+ 'in',
492
+ 'visibility',
493
+ 'pointer-events',
494
+ 'cursor',
495
+ 'display',
496
+ ],
497
+ feFuncR: [
498
+ 'id',
499
+ 'class',
500
+ 'style',
501
+ 'type',
502
+ 'tableValues',
503
+ 'slope',
504
+ 'intercept',
505
+ 'amplitude',
506
+ 'exponent',
507
+ 'offset',
508
+ 'visibility',
509
+ 'pointer-events',
510
+ 'cursor',
511
+ 'display',
512
+ ],
513
+ feFuncG: [
514
+ 'id',
515
+ 'class',
516
+ 'style',
517
+ 'type',
518
+ 'tableValues',
519
+ 'slope',
520
+ 'intercept',
521
+ 'amplitude',
522
+ 'exponent',
523
+ 'offset',
524
+ 'visibility',
525
+ 'pointer-events',
526
+ 'cursor',
527
+ 'display',
528
+ ],
529
+ feFuncB: [
530
+ 'id',
531
+ 'class',
532
+ 'style',
533
+ 'type',
534
+ 'tableValues',
535
+ 'slope',
536
+ 'intercept',
537
+ 'amplitude',
538
+ 'exponent',
539
+ 'offset',
540
+ 'visibility',
541
+ 'pointer-events',
542
+ 'cursor',
543
+ 'display',
544
+ ],
545
+ feFuncA: [
546
+ 'id',
547
+ 'class',
548
+ 'style',
549
+ 'type',
550
+ 'tableValues',
551
+ 'slope',
552
+ 'intercept',
553
+ 'amplitude',
554
+ 'exponent',
555
+ 'offset',
556
+ 'visibility',
557
+ 'pointer-events',
558
+ 'cursor',
559
+ 'display',
560
+ ],
561
+ animate: [
562
+ 'id',
563
+ 'class',
564
+ 'style',
565
+ 'attributeName',
566
+ 'from',
567
+ 'to',
568
+ 'begin',
569
+ 'dur',
570
+ 'end',
571
+ 'repeatCount',
572
+ 'values',
573
+ 'keyTimes',
574
+ 'keySplines',
575
+ 'calcMode',
576
+ 'visibility',
577
+ 'pointer-events',
578
+ 'cursor',
579
+ 'display',
580
+ ],
581
+ animateTransform: [
582
+ 'id',
583
+ 'class',
584
+ 'style',
585
+ 'attributeName',
586
+ 'type',
587
+ 'from',
588
+ 'to',
589
+ 'begin',
590
+ 'dur',
591
+ 'end',
592
+ 'repeatCount',
593
+ 'values',
594
+ 'keyTimes',
595
+ 'keySplines',
596
+ 'calcMode',
597
+ 'visibility',
598
+ 'pointer-events',
599
+ 'cursor',
600
+ 'display',
601
+ ],
602
+ animateMotion: [
603
+ 'id',
604
+ 'class',
605
+ 'style',
606
+ 'path',
607
+ 'keyPoints',
608
+ 'rotate',
609
+ 'from',
610
+ 'to',
611
+ 'begin',
612
+ 'dur',
613
+ 'end',
614
+ 'repeatCount',
615
+ 'values',
616
+ 'keyTimes',
617
+ 'keySplines',
618
+ 'calcMode',
619
+ 'visibility',
620
+ 'pointer-events',
621
+ 'cursor',
622
+ 'display',
623
+ ],
624
+ set: [
625
+ 'id',
626
+ 'class',
627
+ 'style',
628
+ 'attributeName',
629
+ 'to',
630
+ 'begin',
631
+ 'dur',
632
+ 'end',
633
+ 'repeatCount',
634
+ 'visibility',
635
+ 'pointer-events',
636
+ 'cursor',
637
+ 'display',
638
+ ],
639
+ desc: [
640
+ 'id',
641
+ 'class',
642
+ 'style',
643
+ 'visibility',
644
+ 'pointer-events',
645
+ 'cursor',
646
+ 'display',
647
+ ],
648
+ title: [
649
+ 'id',
650
+ 'class',
651
+ 'style',
652
+ 'visibility',
653
+ 'pointer-events',
654
+ 'cursor',
655
+ 'display',
656
+ ],
657
+ };
658
+ const selfClosing = [
659
+ 'path',
660
+ 'rect',
661
+ 'circle',
662
+ 'ellipse',
663
+ 'line',
664
+ 'polyline',
665
+ 'polygon',
666
+ 'stop',
667
+ 'use',
668
+ 'image',
669
+ 'feGaussianBlur',
670
+ 'feColorMatrix',
671
+ 'feBlend',
672
+ 'feOffset',
673
+ 'feMergeNode',
674
+ 'feFuncR',
675
+ 'feFuncG',
676
+ 'feFuncB',
677
+ 'feFuncA',
678
+ ];
679
+ export const sanitizeSvg = (svg) => {
680
+ return sanitizeHtml(svg, {
681
+ allowedTags: Object.keys(allowedAttributes),
682
+ allowedAttributes,
683
+ selfClosing,
684
+ parser: {
685
+ lowerCaseTags: false,
686
+ lowerCaseAttributeNames: false,
687
+ },
688
+ });
689
+ };
690
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnU2FuaXRpemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9pY29uL3NyYy9zdmdTYW5pdGl6ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxZQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE1BQU0saUJBQWlCLEdBQUc7SUFDeEIsR0FBRyxFQUFFO1FBQ0gsSUFBSTtRQUNKLE9BQU87UUFDUCxPQUFPO1FBQ1AsT0FBTztRQUNQLE9BQU87UUFDUCxRQUFRO1FBQ1IsU0FBUztRQUNULHFCQUFxQjtRQUNyQixXQUFXO1FBQ1gsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixRQUFRO1FBQ1IsU0FBUztRQUNULFVBQVU7UUFDVixNQUFNO0tBQ1A7SUFDRCxDQUFDLEVBQUU7UUFDRCxJQUFJO1FBQ0osT0FBTztRQUNQLE9BQU87UUFDUCxXQUFXO1FBQ1gsV0FBVztRQUNYLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsUUFBUTtRQUNSLFNBQVM7UUFDVCxNQUFNO0tBQ1A7SUFDRCxJQUFJLEVBQUU7UUFDSixJQUFJO1FBQ0osT0FBTztRQUNQLE9BQU87UUFDUCxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFFBQVE7UUFDUixTQUFTO0tBQ1Y7SUFDRCxNQUFNLEVBQUU7UUFDTixJQUFJO1FBQ0osT0FBTztRQUNQLE9BQU87UUFDUCxTQUFTO1FBQ1QscUJBQXFCO1FBQ3JCLFdBQVc7UUFDWCxZQUFZO1FBQ1osZ0JBQWdCO1FBQ2hCLFFBQVE7UUFDUixTQUFTO0tBQ1Y7SUFDRCxHQUFHLEVBQUU7UUFDSCxJQUFJO1FBQ0osT0FBTztRQUNQLE9BQU87UUFDUCxNQUFNO1FBQ04sWUFBWTtRQUNaLFdBQVc7UUFDWCxXQUFXO1FBQ1gsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixRQUFRO1FBQ1IsU0FBUztLQUNWO0lBQ0QsSUFBSSxFQUFFO1FBQ0osSUFBSTtRQUNKLE9BQU87UUFDUCxPQUFPO1FBQ1AsR0FBRztR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QUFDLE1BQU0sV0FBVyxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUU7SUFDakQsT0FBTyxZQUFZLENBQUMsR0FBRyxFQUFFO1FBQ3ZCLFdBQVcsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1FBQzNDLGlCQUFpQjtRQUNqQixXQUFXO1FBQ1gsTUFBTSxFQUFFO1lBQ04sYUFBYSxFQUFFLEtBQUs7WUFDcEIsdUJBQXVCLEVBQUUsS0FBSztTQUMvQjtLQUNGLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzYW5pdGl6ZUh0bWwgZnJvbSAnc2FuaXRpemUtaHRtbCc7XG5cbmNvbnN0IGFsbG93ZWRBdHRyaWJ1dGVzID0ge1xuICBzdmc6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAneG1sbnMnLFxuICAgICd3aWR0aCcsXG4gICAgJ2hlaWdodCcsXG4gICAgJ3ZpZXdCb3gnLFxuICAgICdwcmVzZXJ2ZUFzcGVjdFJhdGlvJyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gICAgJ292ZXJmbG93JyxcbiAgICAnZmlsbCcsXG4gIF0sXG4gIGc6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAndHJhbnNmb3JtJyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gICAgJ2ZpbGwnLFxuICBdLFxuICBkZWZzOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBzeW1ib2w6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAndmlld0JveCcsXG4gICAgJ3ByZXNlcnZlQXNwZWN0UmF0aW8nLFxuICAgICdjbGlwLXBhdGgnLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgXSxcbiAgdXNlOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ2hyZWYnLFxuICAgICd4bGluazpocmVmJyxcbiAgICAndHJhbnNmb3JtJyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gIF0sXG4gIHBhdGg6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAnZCcsXG4gICAgJ2ZpbGwnLFxuICAgICdzdHJva2UnLFxuICAgICdzdHJva2Utd2lkdGgnLFxuICAgICd0cmFuc2Zvcm0nLFxuICAgICdvcGFjaXR5JyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAnc3Ryb2tlLWRhc2hhcnJheScsXG4gICAgJ3N0cm9rZS1kYXNob2Zmc2V0JyxcbiAgICAnc3Ryb2tlLW9wYWNpdHknLFxuICAgICdmaWxsLW9wYWNpdHknLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgICAnZmlsdGVyJyxcbiAgXSxcbiAgcmVjdDogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICd4JyxcbiAgICAneScsXG4gICAgJ3dpZHRoJyxcbiAgICAnaGVpZ2h0JyxcbiAgICAncngnLFxuICAgICdyeScsXG4gICAgJ2ZpbGwnLFxuICAgICdzdHJva2UnLFxuICAgICdzdHJva2Utd2lkdGgnLFxuICAgICd0cmFuc2Zvcm0nLFxuICAgICdvcGFjaXR5JyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAnc3Ryb2tlLWRhc2hhcnJheScsXG4gICAgJ3N0cm9rZS1kYXNob2Zmc2V0JyxcbiAgICAnc3Ryb2tlLW9wYWNpdHknLFxuICAgICdmaWxsLW9wYWNpdHknLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgICAnZmlsdGVyJyxcbiAgXSxcbiAgY2lyY2xlOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ2N4JyxcbiAgICAnY3knLFxuICAgICdyJyxcbiAgICAnZmlsbCcsXG4gICAgJ3N0cm9rZScsXG4gICAgJ3N0cm9rZS13aWR0aCcsXG4gICAgJ3RyYW5zZm9ybScsXG4gICAgJ29wYWNpdHknLFxuICAgICdjbGlwLXBhdGgnLFxuICAgICdzdHJva2UtZGFzaGFycmF5JyxcbiAgICAnc3Ryb2tlLWRhc2hvZmZzZXQnLFxuICAgICdzdHJva2Utb3BhY2l0eScsXG4gICAgJ2ZpbGwtb3BhY2l0eScsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICAgICdmaWx0ZXInLFxuICBdLFxuICBlbGxpcHNlOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ2N4JyxcbiAgICAnY3knLFxuICAgICdyeCcsXG4gICAgJ3J5JyxcbiAgICAnZmlsbCcsXG4gICAgJ3N0cm9rZScsXG4gICAgJ3N0cm9rZS13aWR0aCcsXG4gICAgJ3RyYW5zZm9ybScsXG4gICAgJ29wYWNpdHknLFxuICAgICdjbGlwLXBhdGgnLFxuICAgICdzdHJva2UtZGFzaGFycmF5JyxcbiAgICAnc3Ryb2tlLWRhc2hvZmZzZXQnLFxuICAgICdzdHJva2Utb3BhY2l0eScsXG4gICAgJ2ZpbGwtb3BhY2l0eScsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICAgICdmaWx0ZXInLFxuICBdLFxuICBsaW5lOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ3gxJyxcbiAgICAneTEnLFxuICAgICd4MicsXG4gICAgJ3kyJyxcbiAgICAnc3Ryb2tlJyxcbiAgICAnc3Ryb2tlLXdpZHRoJyxcbiAgICAndHJhbnNmb3JtJyxcbiAgICAnb3BhY2l0eScsXG4gICAgJ2NsaXAtcGF0aCcsXG4gICAgJ3N0cm9rZS1kYXNoYXJyYXknLFxuICAgICdzdHJva2UtZGFzaG9mZnNldCcsXG4gICAgJ3N0cm9rZS1vcGFjaXR5JyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gICAgJ2ZpbHRlcicsXG4gIF0sXG4gIHBvbHlsaW5lOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ3BvaW50cycsXG4gICAgJ2ZpbGwnLFxuICAgICdzdHJva2UnLFxuICAgICdzdHJva2Utd2lkdGgnLFxuICAgICd0cmFuc2Zvcm0nLFxuICAgICdvcGFjaXR5JyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAnc3Ryb2tlLWRhc2hhcnJheScsXG4gICAgJ3N0cm9rZS1kYXNob2Zmc2V0JyxcbiAgICAnc3Ryb2tlLW9wYWNpdHknLFxuICAgICdmaWxsLW9wYWNpdHknLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgICAnZmlsdGVyJyxcbiAgXSxcbiAgcG9seWdvbjogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdwb2ludHMnLFxuICAgICdmaWxsJyxcbiAgICAnc3Ryb2tlJyxcbiAgICAnc3Ryb2tlLXdpZHRoJyxcbiAgICAndHJhbnNmb3JtJyxcbiAgICAnb3BhY2l0eScsXG4gICAgJ2NsaXAtcGF0aCcsXG4gICAgJ3N0cm9rZS1kYXNoYXJyYXknLFxuICAgICdzdHJva2UtZGFzaG9mZnNldCcsXG4gICAgJ3N0cm9rZS1vcGFjaXR5JyxcbiAgICAnZmlsbC1vcGFjaXR5JyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gICAgJ2ZpbHRlcicsXG4gIF0sXG4gIHRleHQ6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAneCcsXG4gICAgJ3knLFxuICAgICdmaWxsJyxcbiAgICAnc3Ryb2tlJyxcbiAgICAnZm9udC1mYW1pbHknLFxuICAgICdmb250LXNpemUnLFxuICAgICd0ZXh0LWFuY2hvcicsXG4gICAgJ2FsaWdubWVudC1iYXNlbGluZScsXG4gICAgJ3RyYW5zZm9ybScsXG4gICAgJ29wYWNpdHknLFxuICAgICdjbGlwLXBhdGgnLFxuICAgICdmaWxsLW9wYWNpdHknLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgICAnZmlsdGVyJyxcbiAgXSxcbiAgdHNwYW46IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAneCcsXG4gICAgJ3knLFxuICAgICdkeCcsXG4gICAgJ2R5JyxcbiAgICAnZmlsbCcsXG4gICAgJ3N0cm9rZScsXG4gICAgJ2ZvbnQtZmFtaWx5JyxcbiAgICAnZm9udC1zaXplJyxcbiAgICAndGV4dC1hbmNob3InLFxuICAgICdhbGlnbm1lbnQtYmFzZWxpbmUnLFxuICAgICd0cmFuc2Zvcm0nLFxuICAgICdvcGFjaXR5JyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAnZmlsbC1vcGFjaXR5JyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gICAgJ2ZpbHRlcicsXG4gIF0sXG4gIHRleHRQYXRoOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ2hyZWYnLFxuICAgICd4bGluazpocmVmJyxcbiAgICAnc3RhcnRPZmZzZXQnLFxuICAgICdtZXRob2QnLFxuICAgICdzcGFjaW5nJyxcbiAgICAnZmlsbCcsXG4gICAgJ3N0cm9rZScsXG4gICAgJ2ZvbnQtZmFtaWx5JyxcbiAgICAnZm9udC1zaXplJyxcbiAgICAndGV4dC1hbmNob3InLFxuICAgICdhbGlnbm1lbnQtYmFzZWxpbmUnLFxuICAgICd0cmFuc2Zvcm0nLFxuICAgICdvcGFjaXR5JyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAnZmlsbC1vcGFjaXR5JyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gICAgJ2ZpbHRlcicsXG4gIF0sXG4gIGltYWdlOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ3gnLFxuICAgICd5JyxcbiAgICAnd2lkdGgnLFxuICAgICdoZWlnaHQnLFxuICAgICdocmVmJyxcbiAgICAneGxpbms6aHJlZicsXG4gICAgJ3RyYW5zZm9ybScsXG4gICAgJ29wYWNpdHknLFxuICAgICdjbGlwLXBhdGgnLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgICAnZmlsdGVyJyxcbiAgXSxcbiAgY2xpcFBhdGg6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAnY2xpcFBhdGhVbml0cycsXG4gICAgJ3RyYW5zZm9ybScsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBtYXNrOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ3gnLFxuICAgICd5JyxcbiAgICAnd2lkdGgnLFxuICAgICdoZWlnaHQnLFxuICAgICdtYXNrVW5pdHMnLFxuICAgICdtYXNrQ29udGVudFVuaXRzJyxcbiAgICAndHJhbnNmb3JtJyxcbiAgICAnY2xpcC1wYXRoJyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gIF0sXG4gIHBhdHRlcm46IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAneCcsXG4gICAgJ3knLFxuICAgICd3aWR0aCcsXG4gICAgJ2hlaWdodCcsXG4gICAgJ3BhdHRlcm5Vbml0cycsXG4gICAgJ3BhdHRlcm5Db250ZW50VW5pdHMnLFxuICAgICd2aWV3Qm94JyxcbiAgICAncHJlc2VydmVBc3BlY3RSYXRpbycsXG4gICAgJ3RyYW5zZm9ybScsXG4gICAgJ2NsaXAtcGF0aCcsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBsaW5lYXJHcmFkaWVudDogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICd4MScsXG4gICAgJ3kxJyxcbiAgICAneDInLFxuICAgICd5MicsXG4gICAgJ2dyYWRpZW50VW5pdHMnLFxuICAgICdncmFkaWVudFRyYW5zZm9ybScsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICByYWRpYWxHcmFkaWVudDogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdjeCcsXG4gICAgJ2N5JyxcbiAgICAncicsXG4gICAgJ2Z4JyxcbiAgICAnZnknLFxuICAgICdncmFkaWVudFVuaXRzJyxcbiAgICAnZ3JhZGllbnRUcmFuc2Zvcm0nLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgXSxcbiAgc3RvcDogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdvZmZzZXQnLFxuICAgICdzdG9wLWNvbG9yJyxcbiAgICAnc3RvcC1vcGFjaXR5JyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gIF0sXG4gIGZpbHRlcjogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICd4JyxcbiAgICAneScsXG4gICAgJ3dpZHRoJyxcbiAgICAnaGVpZ2h0JyxcbiAgICAnZmlsdGVyVW5pdHMnLFxuICAgICdwcmltaXRpdmVVbml0cycsXG4gICAgJ3RyYW5zZm9ybScsXG4gICAgJ2NsaXAtcGF0aCcsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBmZUdhdXNzaWFuQmx1cjogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdpbicsXG4gICAgJ3N0ZERldmlhdGlvbicsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBmZUNvbG9yTWF0cml4OiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ2luJyxcbiAgICAndHlwZScsXG4gICAgJ3ZhbHVlcycsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBmZUJsZW5kOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ2luJyxcbiAgICAnaW4yJyxcbiAgICAnbW9kZScsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBmZU9mZnNldDogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdpbicsXG4gICAgJ2R4JyxcbiAgICAnZHknLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgXSxcbiAgZmVNZXJnZTogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgXSxcbiAgZmVNZXJnZU5vZGU6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAnaW4nLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgXSxcbiAgZmVDb21wb25lbnRUcmFuc2ZlcjogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdpbicsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBmZUZ1bmNSOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ3R5cGUnLFxuICAgICd0YWJsZVZhbHVlcycsXG4gICAgJ3Nsb3BlJyxcbiAgICAnaW50ZXJjZXB0JyxcbiAgICAnYW1wbGl0dWRlJyxcbiAgICAnZXhwb25lbnQnLFxuICAgICdvZmZzZXQnLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgXSxcbiAgZmVGdW5jRzogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICd0eXBlJyxcbiAgICAndGFibGVWYWx1ZXMnLFxuICAgICdzbG9wZScsXG4gICAgJ2ludGVyY2VwdCcsXG4gICAgJ2FtcGxpdHVkZScsXG4gICAgJ2V4cG9uZW50JyxcbiAgICAnb2Zmc2V0JyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gIF0sXG4gIGZlRnVuY0I6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAndHlwZScsXG4gICAgJ3RhYmxlVmFsdWVzJyxcbiAgICAnc2xvcGUnLFxuICAgICdpbnRlcmNlcHQnLFxuICAgICdhbXBsaXR1ZGUnLFxuICAgICdleHBvbmVudCcsXG4gICAgJ29mZnNldCcsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxuICBmZUZ1bmNBOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ3R5cGUnLFxuICAgICd0YWJsZVZhbHVlcycsXG4gICAgJ3Nsb3BlJyxcbiAgICAnaW50ZXJjZXB0JyxcbiAgICAnYW1wbGl0dWRlJyxcbiAgICAnZXhwb25lbnQnLFxuICAgICdvZmZzZXQnLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgXSxcbiAgYW5pbWF0ZTogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdhdHRyaWJ1dGVOYW1lJyxcbiAgICAnZnJvbScsXG4gICAgJ3RvJyxcbiAgICAnYmVnaW4nLFxuICAgICdkdXInLFxuICAgICdlbmQnLFxuICAgICdyZXBlYXRDb3VudCcsXG4gICAgJ3ZhbHVlcycsXG4gICAgJ2tleVRpbWVzJyxcbiAgICAna2V5U3BsaW5lcycsXG4gICAgJ2NhbGNNb2RlJyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gIF0sXG4gIGFuaW1hdGVUcmFuc2Zvcm06IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAnYXR0cmlidXRlTmFtZScsXG4gICAgJ3R5cGUnLFxuICAgICdmcm9tJyxcbiAgICAndG8nLFxuICAgICdiZWdpbicsXG4gICAgJ2R1cicsXG4gICAgJ2VuZCcsXG4gICAgJ3JlcGVhdENvdW50JyxcbiAgICAndmFsdWVzJyxcbiAgICAna2V5VGltZXMnLFxuICAgICdrZXlTcGxpbmVzJyxcbiAgICAnY2FsY01vZGUnLFxuICAgICd2aXNpYmlsaXR5JyxcbiAgICAncG9pbnRlci1ldmVudHMnLFxuICAgICdjdXJzb3InLFxuICAgICdkaXNwbGF5JyxcbiAgXSxcbiAgYW5pbWF0ZU1vdGlvbjogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdwYXRoJyxcbiAgICAna2V5UG9pbnRzJyxcbiAgICAncm90YXRlJyxcbiAgICAnZnJvbScsXG4gICAgJ3RvJyxcbiAgICAnYmVnaW4nLFxuICAgICdkdXInLFxuICAgICdlbmQnLFxuICAgICdyZXBlYXRDb3VudCcsXG4gICAgJ3ZhbHVlcycsXG4gICAgJ2tleVRpbWVzJyxcbiAgICAna2V5U3BsaW5lcycsXG4gICAgJ2NhbGNNb2RlJyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gIF0sXG4gIHNldDogW1xuICAgICdpZCcsXG4gICAgJ2NsYXNzJyxcbiAgICAnc3R5bGUnLFxuICAgICdhdHRyaWJ1dGVOYW1lJyxcbiAgICAndG8nLFxuICAgICdiZWdpbicsXG4gICAgJ2R1cicsXG4gICAgJ2VuZCcsXG4gICAgJ3JlcGVhdENvdW50JyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gIF0sXG4gIGRlc2M6IFtcbiAgICAnaWQnLFxuICAgICdjbGFzcycsXG4gICAgJ3N0eWxlJyxcbiAgICAndmlzaWJpbGl0eScsXG4gICAgJ3BvaW50ZXItZXZlbnRzJyxcbiAgICAnY3Vyc29yJyxcbiAgICAnZGlzcGxheScsXG4gIF0sXG4gIHRpdGxlOiBbXG4gICAgJ2lkJyxcbiAgICAnY2xhc3MnLFxuICAgICdzdHlsZScsXG4gICAgJ3Zpc2liaWxpdHknLFxuICAgICdwb2ludGVyLWV2ZW50cycsXG4gICAgJ2N1cnNvcicsXG4gICAgJ2Rpc3BsYXknLFxuICBdLFxufTtcblxuY29uc3Qgc2VsZkNsb3NpbmcgPSBbXG4gICdwYXRoJyxcbiAgJ3JlY3QnLFxuICAnY2lyY2xlJyxcbiAgJ2VsbGlwc2UnLFxuICAnbGluZScsXG4gICdwb2x5bGluZScsXG4gICdwb2x5Z29uJyxcbiAgJ3N0b3AnLFxuICAndXNlJyxcbiAgJ2ltYWdlJyxcbiAgJ2ZlR2F1c3NpYW5CbHVyJyxcbiAgJ2ZlQ29sb3JNYXRyaXgnLFxuICAnZmVCbGVuZCcsXG4gICdmZU9mZnNldCcsXG4gICdmZU1lcmdlTm9kZScsXG4gICdmZUZ1bmNSJyxcbiAgJ2ZlRnVuY0cnLFxuICAnZmVGdW5jQicsXG4gICdmZUZ1bmNBJyxcbl07XG5cbmV4cG9ydCBjb25zdCBzYW5pdGl6ZVN2ZyA9IChzdmc6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIHJldHVybiBzYW5pdGl6ZUh0bWwoc3ZnLCB7XG4gICAgYWxsb3dlZFRhZ3M6IE9iamVjdC5rZXlzKGFsbG93ZWRBdHRyaWJ1dGVzKSxcbiAgICBhbGxvd2VkQXR0cmlidXRlcyxcbiAgICBzZWxmQ2xvc2luZyxcbiAgICBwYXJzZXI6IHtcbiAgICAgIGxvd2VyQ2FzZVRhZ3M6IGZhbHNlLFxuICAgICAgbG93ZXJDYXNlQXR0cmlidXRlTmFtZXM6IGZhbHNlLFxuICAgIH0sXG4gIH0pO1xufTtcbiJdfQ==