@pepperi-addons/ngx-lib 0.5.0-ng16.7 → 0.5.0-ng17.1

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 (274) hide show
  1. package/core/http/interceptors/index.d.ts +2 -2
  2. package/esm2022/address/address.component.mjs +6 -6
  3. package/esm2022/address/address.module.mjs +4 -4
  4. package/esm2022/attachment/attachment.component.mjs +5 -5
  5. package/esm2022/attachment/attachment.module.mjs +4 -4
  6. package/esm2022/bread-crumbs/bread-crumbs.component.mjs +6 -6
  7. package/esm2022/bread-crumbs/bread-crumbs.module.mjs +5 -5
  8. package/esm2022/button/button.component.mjs +5 -5
  9. package/esm2022/button/button.module.mjs +4 -4
  10. package/esm2022/carousel/carousel-item.directive.mjs +6 -6
  11. package/esm2022/carousel/carousel.component.mjs +6 -6
  12. package/esm2022/carousel/carousel.module.mjs +4 -4
  13. package/esm2022/checkbox/checkbox.component.mjs +5 -5
  14. package/esm2022/checkbox/checkbox.module.mjs +5 -5
  15. package/esm2022/chips/chips.component.mjs +6 -6
  16. package/esm2022/chips/chips.module.mjs +5 -5
  17. package/esm2022/chips/chips.service.mjs +4 -4
  18. package/esm2022/color/color-picker.component.mjs +6 -6
  19. package/esm2022/color/color.component.mjs +5 -5
  20. package/esm2022/color/color.module.mjs +5 -5
  21. package/esm2022/core/clipboard/clipboard.directive.mjs +3 -3
  22. package/esm2022/core/clipboard/clipboard.service.mjs +3 -3
  23. package/esm2022/core/common/directives/auto-width.directive.mjs +5 -5
  24. package/esm2022/core/common/directives/base-destroyer.directive.mjs +4 -4
  25. package/esm2022/core/common/directives/button-blur.directive.mjs +5 -5
  26. package/esm2022/core/common/directives/button-loader.directive.mjs +6 -6
  27. package/esm2022/core/common/directives/data-qa.directive.mjs +5 -5
  28. package/esm2022/core/common/directives/div-loader.directive.mjs +6 -6
  29. package/esm2022/core/common/directives/menu-blur.directive.mjs +5 -5
  30. package/esm2022/core/common/directives/prevent-multi-click.directive.mjs +3 -3
  31. package/esm2022/core/common/directives/print.directive.mjs +3 -3
  32. package/esm2022/core/common/pipes/common-pipes.mjs +33 -33
  33. package/esm2022/core/common/pipes/date-ago.pipe.mjs +4 -4
  34. package/esm2022/core/common/services/addon.service.mjs +5 -5
  35. package/esm2022/core/common/services/color.service.mjs +3 -3
  36. package/esm2022/core/common/services/cookie.service.mjs +5 -5
  37. package/esm2022/core/common/services/data-convertor.service.mjs +3 -3
  38. package/esm2022/core/common/services/file.service.mjs +4 -4
  39. package/esm2022/core/common/services/jwt-helper.service.mjs +3 -3
  40. package/esm2022/core/common/services/session.service.mjs +4 -4
  41. package/esm2022/core/common/services/translate.service.mjs +4 -4
  42. package/esm2022/core/common/services/utilities.service.mjs +5 -5
  43. package/esm2022/core/common/services/validator.service.mjs +5 -5
  44. package/esm2022/core/common/services/window-scrolling.service.mjs +4 -4
  45. package/esm2022/core/customization/customization.service.mjs +4 -4
  46. package/esm2022/core/http/interceptors/error.interceptor.mjs +3 -3
  47. package/esm2022/core/http/interceptors/loader.interceptor.mjs +4 -4
  48. package/esm2022/core/http/interceptors/profiler.interceptor.mjs +3 -3
  49. package/esm2022/core/http/services/http.service.mjs +4 -4
  50. package/esm2022/core/http/services/loader.service.mjs +4 -4
  51. package/esm2022/core/layout/layout.service.mjs +5 -5
  52. package/esm2022/core/layout/rtl.directive.mjs +8 -8
  53. package/esm2022/core/portal/attach.directive.mjs +5 -5
  54. package/esm2022/core/portal/portal.service.mjs +4 -4
  55. package/esm2022/core/portal/target.directive.mjs +5 -5
  56. package/esm2022/core/scroll-to/scroll-to.service.mjs +3 -3
  57. package/esm2022/date/date.component.mjs +6 -6
  58. package/esm2022/date/date.model.mjs +10 -10
  59. package/esm2022/date/date.module.mjs +5 -5
  60. package/esm2022/dialog/default-dialog.component.mjs +6 -6
  61. package/esm2022/dialog/dialog.component.mjs +5 -5
  62. package/esm2022/dialog/dialog.module.mjs +5 -5
  63. package/esm2022/dialog/dialog.service.mjs +4 -4
  64. package/esm2022/draggable-items/draggable-item/draggable-item.component.mjs +5 -5
  65. package/esm2022/draggable-items/draggable-items.component.mjs +5 -5
  66. package/esm2022/draggable-items/draggable-items.module.mjs +5 -5
  67. package/esm2022/field-title/field-title.component.mjs +4 -4
  68. package/esm2022/field-title/field-title.module.mjs +5 -5
  69. package/esm2022/files-uploader/files-uploader.component.mjs +6 -6
  70. package/esm2022/files-uploader/files-uploader.module.mjs +5 -5
  71. package/esm2022/form/field-generator.component.mjs +4 -4
  72. package/esm2022/form/form.component.mjs +5 -5
  73. package/esm2022/form/form.module.mjs +5 -5
  74. package/esm2022/form/indicators.component.mjs +4 -4
  75. package/esm2022/form/internal-button.component.mjs +5 -5
  76. package/esm2022/form/internal-carusel.component.mjs +5 -5
  77. package/esm2022/form/internal-carusel.service.mjs +4 -4
  78. package/esm2022/form/internal-field-generator.component.mjs +4 -4
  79. package/esm2022/form/internal-form.component.mjs +5 -5
  80. package/esm2022/form/internal-list.component.mjs +5 -5
  81. package/esm2022/form/internal-menu.component.mjs +4 -4
  82. package/esm2022/form/internal-page.component.mjs +5 -5
  83. package/esm2022/form/internal-page.service.mjs +4 -4
  84. package/esm2022/group-buttons/group-buttons.component.mjs +5 -5
  85. package/esm2022/group-buttons/group-buttons.module.mjs +5 -5
  86. package/esm2022/icon/icon-registry.service.mjs +3 -3
  87. package/esm2022/icon/icon.component.mjs +5 -5
  88. package/esm2022/icon/icon.module.mjs +4 -4
  89. package/esm2022/icon/icon.service.mjs +5 -5
  90. package/esm2022/image/image.component.mjs +5 -5
  91. package/esm2022/image/image.module.mjs +5 -5
  92. package/esm2022/image/image.service.mjs +4 -4
  93. package/esm2022/images-filmstrip/images-filmstrip.component.mjs +6 -6
  94. package/esm2022/images-filmstrip/images-filmstrip.module.mjs +5 -5
  95. package/esm2022/link/link.component.mjs +5 -5
  96. package/esm2022/link/link.module.mjs +5 -5
  97. package/esm2022/link/link.pipes.mjs +3 -3
  98. package/esm2022/list/list-actions.component.mjs +5 -5
  99. package/esm2022/list/list-carousel.component.mjs +6 -6
  100. package/esm2022/list/list-chooser.component.mjs +5 -5
  101. package/esm2022/list/list-pager.component.mjs +7 -7
  102. package/esm2022/list/list-sorting.component.mjs +5 -5
  103. package/esm2022/list/list-total.component.mjs +5 -5
  104. package/esm2022/list/list-views.component.mjs +5 -5
  105. package/esm2022/list/list.component.mjs +5 -5
  106. package/esm2022/list/list.module.mjs +5 -5
  107. package/esm2022/list/list.pipes.mjs +6 -6
  108. package/esm2022/list/virtual-scroller.mjs +10 -10
  109. package/esm2022/menu/menu-item.component.mjs +5 -5
  110. package/esm2022/menu/menu.component.mjs +7 -7
  111. package/esm2022/menu/menu.module.mjs +5 -5
  112. package/esm2022/ngx-lib.module.mjs +4 -4
  113. package/esm2022/page-layout/page-layout.component.mjs +5 -5
  114. package/esm2022/page-layout/page-layout.module.mjs +4 -4
  115. package/esm2022/profile-data-views-list/profile-data-view/profile-data-view.component.mjs +5 -5
  116. package/esm2022/profile-data-views-list/profile-data-views-card/profile-data-views-card.component.mjs +5 -5
  117. package/esm2022/profile-data-views-list/profile-data-views-list.component.mjs +5 -5
  118. package/esm2022/profile-data-views-list/profile-data-views-list.module.mjs +5 -5
  119. package/esm2022/quantity-selector/quantity-selector-validation.directive.mjs +5 -5
  120. package/esm2022/quantity-selector/quantity-selector.component.mjs +7 -7
  121. package/esm2022/quantity-selector/quantity-selector.module.mjs +5 -5
  122. package/esm2022/quantity-selector/quantity-selector.pipes.mjs +3 -3
  123. package/esm2022/query-builder/common/services/output-query.service.mjs +4 -4
  124. package/esm2022/query-builder/common/services/query-structure.service.mjs +4 -4
  125. package/esm2022/query-builder/common/services/type-convertor.service.mjs +4 -4
  126. package/esm2022/query-builder/query-builder-item/query-builder-item.component.mjs +5 -5
  127. package/esm2022/query-builder/query-builder-section/query-builder-section.component.mjs +5 -5
  128. package/esm2022/query-builder/query-builder.component.mjs +5 -5
  129. package/esm2022/query-builder/query-builder.module.mjs +5 -5
  130. package/esm2022/query-builder/query-builder.service.mjs +4 -4
  131. package/esm2022/remote-loader/addon-block-loader.component.mjs +5 -5
  132. package/esm2022/remote-loader/addon-block-loader.service.mjs +4 -4
  133. package/esm2022/remote-loader/remote-loader-element.component.mjs +6 -6
  134. package/esm2022/remote-loader/remote-loader.component.mjs +7 -9
  135. package/esm2022/remote-loader/remote-loader.module.mjs +4 -4
  136. package/esm2022/remote-loader/remote-loader.service.mjs +4 -4
  137. package/esm2022/rich-html-textarea/rich-html-textarea.component.mjs +5 -5
  138. package/esm2022/rich-html-textarea/rich-html-textarea.module.mjs +5 -5
  139. package/esm2022/search/search.component.mjs +8 -8
  140. package/esm2022/search/search.module.mjs +5 -5
  141. package/esm2022/select/select.component.mjs +5 -5
  142. package/esm2022/select/select.module.mjs +5 -5
  143. package/esm2022/select-panel/select-panel.component.mjs +5 -5
  144. package/esm2022/select-panel/select-panel.module.mjs +4 -4
  145. package/esm2022/separator/separator.component.mjs +5 -5
  146. package/esm2022/separator/separator.module.mjs +4 -4
  147. package/esm2022/side-bar/side-bar.component.mjs +7 -7
  148. package/esm2022/side-bar/side-bar.module.mjs +5 -5
  149. package/esm2022/signature/signature-dialog.component.mjs +6 -6
  150. package/esm2022/signature/signature.component.mjs +5 -5
  151. package/esm2022/signature/signature.module.mjs +5 -5
  152. package/esm2022/size-detector/size-detector.component.mjs +5 -5
  153. package/esm2022/size-detector/size-detector.module.mjs +4 -4
  154. package/esm2022/skeleton-loader/skeleton-loader.component.mjs +6 -6
  155. package/esm2022/skeleton-loader/skeleton-loader.module.mjs +4 -4
  156. package/esm2022/slider/slider.component.mjs +5 -5
  157. package/esm2022/slider/slider.module.mjs +4 -4
  158. package/esm2022/smart-filters/boolean-filter/boolean-filter.component.mjs +4 -4
  159. package/esm2022/smart-filters/common/filter-actions.component.mjs +4 -4
  160. package/esm2022/smart-filters/common/model/base-filter-component.mjs +5 -5
  161. package/esm2022/smart-filters/date-filter/date-filter.component.mjs +4 -4
  162. package/esm2022/smart-filters/multi-select-filter/multi-select-filter.component.mjs +4 -4
  163. package/esm2022/smart-filters/number-filter/number-filter.component.mjs +4 -4
  164. package/esm2022/smart-filters/smart-filters.component.mjs +5 -5
  165. package/esm2022/smart-filters/smart-filters.module.mjs +5 -5
  166. package/esm2022/smart-filters/text-filter/text-filter.component.mjs +4 -4
  167. package/esm2022/snack-bar/default-snack-bar.component.mjs +6 -6
  168. package/esm2022/snack-bar/snack-bar.component.mjs +5 -5
  169. package/esm2022/snack-bar/snack-bar.module.mjs +5 -5
  170. package/esm2022/snack-bar/snack-bar.service.mjs +4 -4
  171. package/esm2022/textarea/textarea.component.mjs +5 -5
  172. package/esm2022/textarea/textarea.module.mjs +5 -5
  173. package/esm2022/textbox/textbox-validation.directive.mjs +5 -5
  174. package/esm2022/textbox/textbox.component.mjs +5 -5
  175. package/esm2022/textbox/textbox.module.mjs +5 -5
  176. package/esm2022/textbox-icon/textbox-icon.component.mjs +4 -4
  177. package/esm2022/textbox-icon/textbox-icon.module.mjs +5 -5
  178. package/esm2022/top-bar/top-bar.component.mjs +5 -5
  179. package/esm2022/top-bar/top-bar.module.mjs +5 -5
  180. package/fesm2022/pepperi-addons-ngx-lib-address.mjs +10 -10
  181. package/fesm2022/pepperi-addons-ngx-lib-address.mjs.map +1 -1
  182. package/fesm2022/pepperi-addons-ngx-lib-attachment.mjs +9 -9
  183. package/fesm2022/pepperi-addons-ngx-lib-attachment.mjs.map +1 -1
  184. package/fesm2022/pepperi-addons-ngx-lib-bread-crumbs.mjs +11 -11
  185. package/fesm2022/pepperi-addons-ngx-lib-bread-crumbs.mjs.map +1 -1
  186. package/fesm2022/pepperi-addons-ngx-lib-button.mjs +9 -9
  187. package/fesm2022/pepperi-addons-ngx-lib-button.mjs.map +1 -1
  188. package/fesm2022/pepperi-addons-ngx-lib-carousel.mjs +15 -15
  189. package/fesm2022/pepperi-addons-ngx-lib-carousel.mjs.map +1 -1
  190. package/fesm2022/pepperi-addons-ngx-lib-checkbox.mjs +10 -10
  191. package/fesm2022/pepperi-addons-ngx-lib-checkbox.mjs.map +1 -1
  192. package/fesm2022/pepperi-addons-ngx-lib-chips.mjs +15 -15
  193. package/fesm2022/pepperi-addons-ngx-lib-chips.mjs.map +1 -1
  194. package/fesm2022/pepperi-addons-ngx-lib-color.mjs +16 -16
  195. package/fesm2022/pepperi-addons-ngx-lib-color.mjs.map +1 -1
  196. package/fesm2022/pepperi-addons-ngx-lib-date.mjs +21 -21
  197. package/fesm2022/pepperi-addons-ngx-lib-date.mjs.map +1 -1
  198. package/fesm2022/pepperi-addons-ngx-lib-dialog.mjs +19 -19
  199. package/fesm2022/pepperi-addons-ngx-lib-dialog.mjs.map +1 -1
  200. package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs +14 -14
  201. package/fesm2022/pepperi-addons-ngx-lib-draggable-items.mjs.map +1 -1
  202. package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs +9 -9
  203. package/fesm2022/pepperi-addons-ngx-lib-field-title.mjs.map +1 -1
  204. package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs +11 -11
  205. package/fesm2022/pepperi-addons-ngx-lib-files-uploader.mjs.map +1 -1
  206. package/fesm2022/pepperi-addons-ngx-lib-form.mjs +50 -50
  207. package/fesm2022/pepperi-addons-ngx-lib-form.mjs.map +1 -1
  208. package/fesm2022/pepperi-addons-ngx-lib-group-buttons.mjs +10 -10
  209. package/fesm2022/pepperi-addons-ngx-lib-group-buttons.mjs.map +1 -1
  210. package/fesm2022/pepperi-addons-ngx-lib-icon.mjs +17 -17
  211. package/fesm2022/pepperi-addons-ngx-lib-icon.mjs.map +1 -1
  212. package/fesm2022/pepperi-addons-ngx-lib-image.mjs +14 -14
  213. package/fesm2022/pepperi-addons-ngx-lib-image.mjs.map +1 -1
  214. package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs +11 -11
  215. package/fesm2022/pepperi-addons-ngx-lib-images-filmstrip.mjs.map +1 -1
  216. package/fesm2022/pepperi-addons-ngx-lib-link.mjs +13 -13
  217. package/fesm2022/pepperi-addons-ngx-lib-link.mjs.map +1 -1
  218. package/fesm2022/pepperi-addons-ngx-lib-list.mjs +47 -47
  219. package/fesm2022/pepperi-addons-ngx-lib-list.mjs.map +1 -1
  220. package/fesm2022/pepperi-addons-ngx-lib-menu.mjs +17 -17
  221. package/fesm2022/pepperi-addons-ngx-lib-menu.mjs.map +1 -1
  222. package/fesm2022/pepperi-addons-ngx-lib-page-layout.mjs +9 -9
  223. package/fesm2022/pepperi-addons-ngx-lib-page-layout.mjs.map +1 -1
  224. package/fesm2022/pepperi-addons-ngx-lib-profile-data-views-list.mjs +18 -18
  225. package/fesm2022/pepperi-addons-ngx-lib-profile-data-views-list.mjs.map +1 -1
  226. package/fesm2022/pepperi-addons-ngx-lib-quantity-selector.mjs +20 -20
  227. package/fesm2022/pepperi-addons-ngx-lib-quantity-selector.mjs.map +1 -1
  228. package/fesm2022/pepperi-addons-ngx-lib-query-builder.mjs +34 -34
  229. package/fesm2022/pepperi-addons-ngx-lib-query-builder.mjs.map +1 -1
  230. package/fesm2022/pepperi-addons-ngx-lib-remote-loader.mjs +28 -30
  231. package/fesm2022/pepperi-addons-ngx-lib-remote-loader.mjs.map +1 -1
  232. package/fesm2022/pepperi-addons-ngx-lib-rich-html-textarea.mjs +10 -10
  233. package/fesm2022/pepperi-addons-ngx-lib-rich-html-textarea.mjs.map +1 -1
  234. package/fesm2022/pepperi-addons-ngx-lib-search.mjs +14 -14
  235. package/fesm2022/pepperi-addons-ngx-lib-search.mjs.map +1 -1
  236. package/fesm2022/pepperi-addons-ngx-lib-select-panel.mjs +9 -9
  237. package/fesm2022/pepperi-addons-ngx-lib-select-panel.mjs.map +1 -1
  238. package/fesm2022/pepperi-addons-ngx-lib-select.mjs +10 -10
  239. package/fesm2022/pepperi-addons-ngx-lib-select.mjs.map +1 -1
  240. package/fesm2022/pepperi-addons-ngx-lib-separator.mjs +9 -9
  241. package/fesm2022/pepperi-addons-ngx-lib-separator.mjs.map +1 -1
  242. package/fesm2022/pepperi-addons-ngx-lib-side-bar.mjs +12 -12
  243. package/fesm2022/pepperi-addons-ngx-lib-side-bar.mjs.map +1 -1
  244. package/fesm2022/pepperi-addons-ngx-lib-signature.mjs +15 -15
  245. package/fesm2022/pepperi-addons-ngx-lib-signature.mjs.map +1 -1
  246. package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs +9 -9
  247. package/fesm2022/pepperi-addons-ngx-lib-size-detector.mjs.map +1 -1
  248. package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs +10 -10
  249. package/fesm2022/pepperi-addons-ngx-lib-skeleton-loader.mjs.map +1 -1
  250. package/fesm2022/pepperi-addons-ngx-lib-slider.mjs +9 -9
  251. package/fesm2022/pepperi-addons-ngx-lib-slider.mjs.map +1 -1
  252. package/fesm2022/pepperi-addons-ngx-lib-smart-filters.mjs +32 -32
  253. package/fesm2022/pepperi-addons-ngx-lib-smart-filters.mjs.map +1 -1
  254. package/fesm2022/pepperi-addons-ngx-lib-snack-bar.mjs +19 -19
  255. package/fesm2022/pepperi-addons-ngx-lib-snack-bar.mjs.map +1 -1
  256. package/fesm2022/pepperi-addons-ngx-lib-textarea.mjs +10 -10
  257. package/fesm2022/pepperi-addons-ngx-lib-textarea.mjs.map +1 -1
  258. package/fesm2022/pepperi-addons-ngx-lib-textbox-icon.mjs +9 -9
  259. package/fesm2022/pepperi-addons-ngx-lib-textbox-icon.mjs.map +1 -1
  260. package/fesm2022/pepperi-addons-ngx-lib-textbox.mjs +14 -14
  261. package/fesm2022/pepperi-addons-ngx-lib-textbox.mjs.map +1 -1
  262. package/fesm2022/pepperi-addons-ngx-lib-top-bar.mjs +10 -10
  263. package/fesm2022/pepperi-addons-ngx-lib-top-bar.mjs.map +1 -1
  264. package/fesm2022/pepperi-addons-ngx-lib.mjs +178 -178
  265. package/fesm2022/pepperi-addons-ngx-lib.mjs.map +1 -1
  266. package/package.json +27 -27
  267. package/src/core/style/base/borderRadius.component.ts +2 -4
  268. package/src/core/style/base/breakpoints.component.ts +2 -4
  269. package/src/core/style/base/colors.component.ts +2 -4
  270. package/src/core/style/base/shadows.component.ts +2 -4
  271. package/src/core/style/base/spacing.component.ts +2 -4
  272. package/src/core/style/base/states.component.ts +2 -4
  273. package/src/core/style/base/typography.component.ts +2 -4
  274. package/src/core/style/base/zIndex.component.ts +2 -4
@@ -25,8 +25,8 @@ export class PepFilesUploaderModule {
25
25
  pepIconSystemProcessing,
26
26
  ]);
27
27
  }
28
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepFilesUploaderModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
29
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: PepFilesUploaderModule, declarations: [PepFilesUploaderComponent], imports: [CommonModule,
28
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepFilesUploaderModule, deps: [{ token: i1.PepIconRegistry }], target: i0.ɵɵFactoryTarget.NgModule });
29
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: PepFilesUploaderModule, declarations: [PepFilesUploaderComponent], imports: [CommonModule,
30
30
  ReactiveFormsModule,
31
31
  // Material modules,
32
32
  MatCommonModule,
@@ -42,7 +42,7 @@ export class PepFilesUploaderModule {
42
42
  PepNgxLibModule,
43
43
  PepIconModule,
44
44
  PepDialogModule], exports: [PepFilesUploaderComponent] });
45
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepFilesUploaderModule, imports: [CommonModule,
45
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepFilesUploaderModule, imports: [CommonModule,
46
46
  ReactiveFormsModule,
47
47
  // Material modules,
48
48
  MatCommonModule,
@@ -59,7 +59,7 @@ export class PepFilesUploaderModule {
59
59
  PepIconModule,
60
60
  PepDialogModule] });
61
61
  }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepFilesUploaderModule, decorators: [{
62
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepFilesUploaderModule, decorators: [{
63
63
  type: NgModule,
64
64
  args: [{
65
65
  imports: [
@@ -83,5 +83,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
83
83
  exports: [PepFilesUploaderComponent],
84
84
  declarations: [PepFilesUploaderComponent],
85
85
  }]
86
- }], ctorParameters: function () { return [{ type: i1.PepIconRegistry }]; } });
86
+ }], ctorParameters: () => [{ type: i1.PepIconRegistry }] });
87
87
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZXMtdXBsb2FkZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9maWxlcy11cGxvYWRlci9maWxlcy11cGxvYWRlci5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDMUQsT0FBTyxFQUNILGFBQWEsRUFFYixnQkFBZ0IsRUFDaEIsbUJBQW1CLEVBQ25CLDRCQUE0QixFQUM1Qix1QkFBdUIsR0FDMUIsTUFBTSw4QkFBOEIsQ0FBQztBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFakUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQXdCdkUsTUFBTSxPQUFPLHNCQUFzQjtJQUNYO0lBQXBCLFlBQW9CLGVBQWdDO1FBQWhDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoRCxJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQztZQUMvQixnQkFBZ0I7WUFDaEIsbUJBQW1CO1lBQ25CLDRCQUE0QjtZQUM1Qix1QkFBdUI7U0FDMUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzt3R0FSUSxzQkFBc0I7eUdBQXRCLHNCQUFzQixpQkFGaEIseUJBQXlCLGFBbEJwQyxZQUFZO1lBQ1osbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixlQUFlO1lBQ2YsZUFBZTtZQUNmLGtCQUFrQjtZQUNsQixjQUFjO1lBQ2QsYUFBYTtZQUNiLHFCQUFxQjtZQUNyQixlQUFlO1lBQ2YsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQixrQkFBa0I7WUFDbEIsZUFBZTtZQUNmLGFBQWE7WUFDYixlQUFlLGFBRVQseUJBQXlCO3lHQUcxQixzQkFBc0IsWUFwQjNCLFlBQVk7WUFDWixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCLGVBQWU7WUFDZixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxhQUFhO1lBQ2IscUJBQXFCO1lBQ3JCLGVBQWU7WUFDZixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLGtCQUFrQjtZQUNsQixlQUFlO1lBQ2YsYUFBYTtZQUNiLGVBQWU7OzRGQUtWLHNCQUFzQjtrQkF0QmxDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFO3dCQUNMLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQixvQkFBb0I7d0JBQ3BCLGVBQWU7d0JBQ2YsZUFBZTt3QkFDZixrQkFBa0I7d0JBQ2xCLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLGVBQWU7d0JBQ2YsbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixhQUFhO3dCQUNiLGVBQWU7cUJBQ2xCO29CQUNELE9BQU8sRUFBRSxDQUFDLHlCQUF5QixDQUFDO29CQUNwQyxZQUFZLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQztpQkFDNUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IE1hdENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5cbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZE1vZHVsZSB9IGZyb20gJ25nMi1maWxlLXVwbG9hZCc7XG5cbmltcG9ydCB7IFBlcE5neExpYk1vZHVsZSB9IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliJztcbmltcG9ydCB7XG4gICAgUGVwSWNvbk1vZHVsZSxcbiAgICBQZXBJY29uUmVnaXN0cnksXG4gICAgcGVwSWNvblN5c3RlbUJpbixcbiAgICBwZXBJY29uU3lzdGVtQXR0YWNoLFxuICAgIHBlcEljb25TeXN0ZW1GaWxlVXBsb2FkQ2xvdWQsXG4gICAgcGVwSWNvblN5c3RlbVByb2Nlc3NpbmcsXG59IGZyb20gJ0BwZXBwZXJpLWFkZG9ucy9uZ3gtbGliL2ljb24nO1xuaW1wb3J0IHsgUGVwRGlhbG9nTW9kdWxlIH0gZnJvbSAnQHBlcHBlcmktYWRkb25zL25neC1saWIvZGlhbG9nJztcblxuaW1wb3J0IHsgUGVwRmlsZXNVcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZmlsZXMtdXBsb2FkZXIuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENvbW1vbk1vZHVsZSxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgLy8gTWF0ZXJpYWwgbW9kdWxlcyxcbiAgICAgICAgTWF0Q29tbW9uTW9kdWxlLFxuICAgICAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgICAgIE1hdEZvcm1GaWVsZE1vZHVsZSxcbiAgICAgICAgTWF0SW5wdXRNb2R1bGUsXG4gICAgICAgIE1hdEljb25Nb2R1bGUsXG4gICAgICAgIC8vIFRyYW5zbGF0aW9uIG1vZHVsZVxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIC8vIEV4dGVybmFsIG1vZHVsZXNcbiAgICAgICAgRmlsZVVwbG9hZE1vZHVsZSxcbiAgICAgICAgLy8gbmd4LWxpYiBtb2R1bGVzXG4gICAgICAgIFBlcE5neExpYk1vZHVsZSxcbiAgICAgICAgUGVwSWNvbk1vZHVsZSxcbiAgICAgICAgUGVwRGlhbG9nTW9kdWxlLFxuICAgIF0sXG4gICAgZXhwb3J0czogW1BlcEZpbGVzVXBsb2FkZXJDb21wb25lbnRdLFxuICAgIGRlY2xhcmF0aW9uczogW1BlcEZpbGVzVXBsb2FkZXJDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBQZXBGaWxlc1VwbG9hZGVyTW9kdWxlIHtcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBlcEljb25SZWdpc3RyeTogUGVwSWNvblJlZ2lzdHJ5KSB7XG4gICAgICAgIHRoaXMucGVwSWNvblJlZ2lzdHJ5LnJlZ2lzdGVySWNvbnMoW1xuICAgICAgICAgICAgcGVwSWNvblN5c3RlbUJpbixcbiAgICAgICAgICAgIHBlcEljb25TeXN0ZW1BdHRhY2gsXG4gICAgICAgICAgICBwZXBJY29uU3lzdGVtRmlsZVVwbG9hZENsb3VkLFxuICAgICAgICAgICAgcGVwSWNvblN5c3RlbVByb2Nlc3NpbmcsXG4gICAgICAgIF0pO1xuICAgIH1cbn1cbiJdfQ==
@@ -116,10 +116,10 @@ export class PepFieldGeneratorComponent {
116
116
  ngOnDestroy() {
117
117
  //
118
118
  }
119
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepFieldGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
120
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: PepFieldGeneratorComponent, selector: "pep-field-generator", inputs: { field: "field", isActive: "isActive", uid: "uid", form: "form", layoutType: "layoutType", showTitle: "showTitle", checkForChanges: "checkForChanges" }, outputs: { valueChange: "valueChange", elementClick: "elementClick", internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick", formValueChange: "formValueChange", formFieldClick: "formFieldClick" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value?.toString() | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [allowDecimal]=\"field.allowDecimal\" [value]=\"field.value\"\n [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n [minFractionDigits]=\"field.digitsNumberAfterDecimalPoint\" (valueChange)=\"onValueChanged($event, field)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\" [renderTitle]=\"field.renderTitle\"\n [renderEnlargeButton]=\"field.renderEnlargeButton\" (valueChange)=\"onValueChanged($event, field)\"\n [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [autoSortOptions]=\"field.autoSortOptions\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" [emptyOption]=\"field.emptyOption\"\n (valueChange)=\"onValueChanged($event, field)\" \n [isActive]=\"isActive\">\n </pep-select>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [accessory]=\"field.accessory\" [label]=\"field.label\"\n [placeholder]=\"field.placeholder\" [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [regex]=\"field.regex\" [regexError]=\"field.regexError\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [minFractionDigits]=\"field.digitsNumberAfterDecimalPoint\"\n (valueChange)=\"onValueChanged($event, field)\" \n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [displayValue]=\"field.formattedValue\"\n [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (elementClick)=\"onClick($event)\">\n </pep-link>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel>\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PepAddressComponent, selector: "pep-address", inputs: ["key", "formattedValue", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "groupFields", "form", "layoutType", "visible"], outputs: ["addressValueChange"] }, { kind: "component", type: i4.PepAttachmentComponent, selector: "pep-attachment", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "handleActions", "hint"], outputs: ["chooseFile", "fileChange", "elementClick", "validationChange"] }, { kind: "component", type: i5.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i6.PepDateComponent, selector: "pep-date", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "chooseTime", "visible", "minValue", "maxValue", "minDateValue", "maxDateValue", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i7.PepImageComponent, selector: "pep-image", inputs: ["key", "srcLarge", "src", "options", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "indicatorsField", "menuField", "hasCampaignField", "visible", "form", "uid", "showTitle", "renderTitle", "layoutType", "isActive", "sizeLimitMB", "acceptImagesType", "handleActions", "hint"], outputs: ["chooseFile", "fileChange", "elementClick", "validationChange"] }, { kind: "component", type: i8.PepImagesFilmstripComponent, selector: "pep-images-filmstrip", inputs: ["key", "value", "label", "xAlignment", "rowSpan", "form", "uid", "showTitle", "renderTitle", "layoutType", "currIndex", "showThumbnails"] }, { kind: "component", type: i9.PepQuantitySelectorComponent, selector: "pep-quantity-selector", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "allowDecimal", "additionalValue", "notificationInfo", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "styleType", "isInFocus"], outputs: ["valueChange", "elementClick", "validationChange"] }, { kind: "component", type: i10.PepRichHtmlTextareaComponent, selector: "pep-rich-html-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "xAlignment", "sanitize", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "renderEnlargeButton", "layoutType", "inlineMode", "toolbarOptions"], outputs: ["valueChange", "editorCreated", "validationChange"] }, { kind: "component", type: i11.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "placeholder", "placeholderWhenDisabled", "autoSortOptions", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle", "typeaheadDebounceInterval", "addValueToOptionsIfNotExist"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i12.PepSeparatorComponent, selector: "pep-separator", inputs: ["key", "label", "xAlignment", "form", "layoutType", "visible"] }, { kind: "component", type: i13.PepSignatureComponent, selector: "pep-signature", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "signatureURL", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "handleActions"], outputs: ["chooseFile", "fileChange", "elementClick", "validationChange"] }, { kind: "component", type: i14.PepTextareaComponent, selector: "pep-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "component", type: i15.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "component", type: i16.PepLinkComponent, selector: "pep-link", inputs: ["key", "value", "displayValue", "label", "placeholder", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange", "elementClick", "keyup", "validationChange"] }, { kind: "component", type: i17.PepIndicatorsComponent, selector: "pep-indicators", inputs: ["key", "value", "layoutType"] }, { kind: "component", type: i18.PepInternalButtonComponent, selector: "pep-internal-button", inputs: ["key", "value", "formattedValue", "label", "referenceObjectInternalType", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "layoutType"], outputs: ["elementClick", "valueChange"] }, { kind: "component", type: i19.PepInternalMenuComponent, selector: "pep-internal-menu", inputs: ["key", "label", "disabled", "xAlignment", "options", "layoutType"], outputs: ["elementClick"] }, { kind: "component", type: i20.PepInternalPageComponent, selector: "pep-internal-page", inputs: ["field", "layoutType"], outputs: ["internalFormFieldChange", "internalFormFieldClick"] }, { kind: "component", type: i21.PepInternalCaruselComponent, selector: "pep-internal-carusel", inputs: ["field", "layoutType"], outputs: ["internalFormFieldChange", "internalFormFieldClick"] }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepFieldGeneratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
120
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: PepFieldGeneratorComponent, selector: "pep-field-generator", inputs: { field: "field", isActive: "isActive", uid: "uid", form: "form", layoutType: "layoutType", showTitle: "showTitle", checkForChanges: "checkForChanges" }, outputs: { valueChange: "valueChange", elementClick: "elementClick", internalFormFieldChange: "internalFormFieldChange", internalFormFieldClick: "internalFormFieldClick", formValueChange: "formValueChange", formFieldClick: "formFieldClick" }, usesOnChanges: true, ngImport: i0, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value?.toString() | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [allowDecimal]=\"field.allowDecimal\" [value]=\"field.value\"\n [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n [minFractionDigits]=\"field.digitsNumberAfterDecimalPoint\" (valueChange)=\"onValueChanged($event, field)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\" [renderTitle]=\"field.renderTitle\"\n [renderEnlargeButton]=\"field.renderEnlargeButton\" (valueChange)=\"onValueChanged($event, field)\"\n [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [autoSortOptions]=\"field.autoSortOptions\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" [emptyOption]=\"field.emptyOption\"\n (valueChange)=\"onValueChanged($event, field)\" \n [isActive]=\"isActive\">\n </pep-select>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [accessory]=\"field.accessory\" [label]=\"field.label\"\n [placeholder]=\"field.placeholder\" [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [regex]=\"field.regex\" [regexError]=\"field.regexError\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [minFractionDigits]=\"field.digitsNumberAfterDecimalPoint\"\n (valueChange)=\"onValueChanged($event, field)\" \n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [displayValue]=\"field.formattedValue\"\n [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (elementClick)=\"onClick($event)\">\n </pep-link>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel>\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{display:block;width:100%;height:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3.PepAddressComponent, selector: "pep-address", inputs: ["key", "formattedValue", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "groupFields", "form", "layoutType", "visible"], outputs: ["addressValueChange"] }, { kind: "component", type: i4.PepAttachmentComponent, selector: "pep-attachment", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "handleActions", "hint"], outputs: ["chooseFile", "fileChange", "elementClick", "validationChange"] }, { kind: "component", type: i5.PepCheckboxComponent, selector: "pep-checkbox", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "additionalValue", "form", "isActive", "showTitle", "renderTitle", "layoutType", "visible"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i6.PepDateComponent, selector: "pep-date", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "chooseTime", "visible", "minValue", "maxValue", "minDateValue", "maxDateValue", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i7.PepImageComponent, selector: "pep-image", inputs: ["key", "srcLarge", "src", "options", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "indicatorsField", "menuField", "hasCampaignField", "visible", "form", "uid", "showTitle", "renderTitle", "layoutType", "isActive", "sizeLimitMB", "acceptImagesType", "handleActions", "hint"], outputs: ["chooseFile", "fileChange", "elementClick", "validationChange"] }, { kind: "component", type: i8.PepImagesFilmstripComponent, selector: "pep-images-filmstrip", inputs: ["key", "value", "label", "xAlignment", "rowSpan", "form", "uid", "showTitle", "renderTitle", "layoutType", "currIndex", "showThumbnails"] }, { kind: "component", type: i9.PepQuantitySelectorComponent, selector: "pep-quantity-selector", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "label", "type", "mandatory", "disabled", "readonly", "textColor", "xAlignment", "rowSpan", "allowDecimal", "additionalValue", "notificationInfo", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "styleType", "isInFocus"], outputs: ["valueChange", "elementClick", "validationChange"] }, { kind: "component", type: i10.PepRichHtmlTextareaComponent, selector: "pep-rich-html-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "xAlignment", "sanitize", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "renderEnlargeButton", "layoutType", "inlineMode", "toolbarOptions"], outputs: ["valueChange", "editorCreated", "validationChange"] }, { kind: "component", type: i11.PepSelectComponent, selector: "pep-select", inputs: ["key", "value", "label", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "placeholder", "placeholderWhenDisabled", "autoSortOptions", "options", "visible", "emptyOption", "form", "layoutType", "parentFieldKey", "isActive", "showTitle", "renderTitle", "typeaheadDebounceInterval", "addValueToOptionsIfNotExist"], outputs: ["valueChange", "validationChange"] }, { kind: "component", type: i12.PepSeparatorComponent, selector: "pep-separator", inputs: ["key", "label", "xAlignment", "form", "layoutType", "visible"] }, { kind: "component", type: i13.PepSignatureComponent, selector: "pep-signature", inputs: ["key", "src", "label", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "signatureURL", "visible", "form", "showTitle", "renderTitle", "layoutType", "isActive", "handleActions"], outputs: ["chooseFile", "fileChange", "elementClick", "validationChange"] }, { kind: "component", type: i14.PepTextareaComponent, selector: "pep-textarea", inputs: ["key", "value", "label", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "layoutType"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "component", type: i15.PepTextboxComponent, selector: "pep-textbox", inputs: ["key", "value", "minFractionDigits", "maxFractionDigits", "accessory", "label", "placeholder", "type", "mandatory", "disabled", "readonly", "maxFieldCharacters", "hint", "textColor", "xAlignment", "rowSpan", "minValue", "maxValue", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType", "parentFieldKey", "regex", "regexError", "isInFocus"], outputs: ["valueChange", "keyup", "validationChange"] }, { kind: "component", type: i16.PepLinkComponent, selector: "pep-link", inputs: ["key", "value", "displayValue", "label", "placeholder", "mandatory", "disabled", "readonly", "maxFieldCharacters", "textColor", "xAlignment", "rowSpan", "visible", "form", "isActive", "showTitle", "renderTitle", "renderError", "renderSymbol", "layoutType"], outputs: ["valueChange", "elementClick", "keyup", "validationChange"] }, { kind: "component", type: i17.PepIndicatorsComponent, selector: "pep-indicators", inputs: ["key", "value", "layoutType"] }, { kind: "component", type: i18.PepInternalButtonComponent, selector: "pep-internal-button", inputs: ["key", "value", "formattedValue", "label", "referenceObjectInternalType", "type", "mandatory", "disabled", "readonly", "xAlignment", "rowSpan", "visible", "form", "showTitle", "layoutType"], outputs: ["elementClick", "valueChange"] }, { kind: "component", type: i19.PepInternalMenuComponent, selector: "pep-internal-menu", inputs: ["key", "label", "disabled", "xAlignment", "options", "layoutType"], outputs: ["elementClick"] }, { kind: "component", type: i20.PepInternalPageComponent, selector: "pep-internal-page", inputs: ["field", "layoutType"], outputs: ["internalFormFieldChange", "internalFormFieldClick"] }, { kind: "component", type: i21.PepInternalCaruselComponent, selector: "pep-internal-carusel", inputs: ["field", "layoutType"], outputs: ["internalFormFieldChange", "internalFormFieldClick"] }, { kind: "pipe", type: i1.LowerCasePipe, name: "lowercase" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
121
121
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: PepFieldGeneratorComponent, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: PepFieldGeneratorComponent, decorators: [{
123
123
  type: Component,
124
124
  args: [{ selector: 'pep-field-generator', encapsulation: ViewEncapsulation.Emulated, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"field.controlType\" [formGroup]=\"form\">\n\n <pep-address *ngSwitchCase=\"'address'\" [form]=\"form\" [key]=\"field.key\" [formattedValue]=\"field.formattedValue\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [groupFields]=\"field.groupFields\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (addressValueChange)=\"onAddressValueChanged($event, field)\">\n </pep-address>\n\n <pep-attachment *ngSwitchCase=\"'attachment'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-attachment>\n\n <pep-checkbox *ngSwitchCase=\"'checkbox'\" [form]=\"form\" [key]=\"field.key\"\n [value]=\"(field.value?.toString() | lowercase) == 'true' || field.value == '1' ? true : false\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [additionalValue]=\"field.additionalValue\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-checkbox>\n\n <pep-date *ngSwitchCase=\"'date'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [minValue]=\"field.minValue\"\n [maxValue]=\"field.maxValue\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-date>\n\n <pep-images-filmstrip *ngSwitchCase=\"'images'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [showTitle]=\"showTitle\" [rowSpan]=\"field.rowSpan\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-images-filmstrip>\n\n <pep-image *ngSwitchCase=\"'image'\" [uid]=\"uid\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.formattedValue\"\n [srcLarge]=\"field.value\" [options]=\"field.options\" [label]=\"field.label\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [indicatorsField]=\"field.indicatorsField\" [menuField]=\"field.menuField\"\n [hasCampaignField]=\"field.hasCampaignField\" [sizeLimitMB]=\"field.sizeLimitMB\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (fileChange)=\"onFileChanged($event, field)\">\n </pep-image>\n\n <pep-quantity-selector *ngSwitchCase=\"'qs'\" [form]=\"form\" [key]=\"field.key\" [allowDecimal]=\"field.allowDecimal\" [value]=\"field.value\"\n [label]=\"field.label\" [type]=\"field.type\" [mandatory]=\"field.mandatory\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [additionalValue]=\"field.additionalValue\" [notificationInfo]=\"field.notificationInfo\" [isActive]=\"isActive\"\n [layoutType]=\"layoutType\" [showTitle]=\"showTitle\" [visible]=\"field.visible\"\n [minFractionDigits]=\"field.digitsNumberAfterDecimalPoint\" (valueChange)=\"onValueChanged($event, field)\"\n (elementClick)=\"onClick($event)\">\n </pep-quantity-selector>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-rich-html-textarea *ngSwitchCase=\"'richhtmltextarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [label]=\"field.label\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\" [renderTitle]=\"field.renderTitle\"\n [renderEnlargeButton]=\"field.renderEnlargeButton\" (valueChange)=\"onValueChanged($event, field)\"\n [isActive]=\"isActive\">\n </pep-rich-html-textarea>\n\n <pep-select *ngSwitchCase=\"'select'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [autoSortOptions]=\"field.autoSortOptions\" [options]=\"field.options\" [showTitle]=\"showTitle\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" [emptyOption]=\"field.emptyOption\"\n (valueChange)=\"onValueChanged($event, field)\" \n [isActive]=\"isActive\">\n </pep-select>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-separator *ngSwitchCase=\"'separator'\" [form]=\"form\" [key]=\"field.key\" [label]=\"field.label\"\n [xAlignment]=\"field.xAlignment\" [layoutType]=\"layoutType\" [visible]=\"field.visible\">\n </pep-separator>\n\n <pep-signature *ngSwitchCase=\"'signature'\" [form]=\"form\" [key]=\"field.key\" [src]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [isActive]=\"isActive\" [layoutType]=\"layoutType\"\n [visible]=\"field.visible\" (fileChange)=\"onFileChanged($event, field)\">\n </pep-signature>\n\n <pep-textarea *ngSwitchCase=\"'textarea'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [label]=\"field.label\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [visible]=\"field.visible\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\">\n </pep-textarea>\n\n <pep-textbox *ngSwitchCase=\"'textbox'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [accessory]=\"field.accessory\" [label]=\"field.label\"\n [placeholder]=\"field.placeholder\" [type]=\"field.type\" [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\"\n [readonly]=\"field.readonly\" [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\"\n [xAlignment]=\"field.xAlignment\" [rowSpan]=\"field.rowSpan\" [regex]=\"field.regex\" [regexError]=\"field.regexError\"\n [showTitle]=\"showTitle\" [layoutType]=\"layoutType\" [minFractionDigits]=\"field.digitsNumberAfterDecimalPoint\"\n (valueChange)=\"onValueChanged($event, field)\" \n [isActive]=\"isActive\" [visible]=\"field.visible\">\n </pep-textbox>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-link *ngSwitchCase=\"'link'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\" [displayValue]=\"field.formattedValue\"\n [label]=\"field.label\" [placeholder]=\"field.placeholder\"\n [mandatory]=\"field.mandatory\" [disabled]=\"field.disabled\" [readonly]=\"field.readonly\"\n [maxFieldCharacters]=\"field.maxFieldCharacters\" [textColor]=\"field.textColor\" [xAlignment]=\"field.xAlignment\"\n [rowSpan]=\"field.rowSpan\" [showTitle]=\"showTitle\" [layoutType]=\"layoutType\"\n (valueChange)=\"onValueChanged($event, field)\" [isActive]=\"isActive\" [visible]=\"field.visible\"\n (elementClick)=\"onClick($event)\">\n </pep-link>\n <!-- (formValidationChange)=\"onFormValidationChanged($event)\" -->\n\n <pep-indicators *ngSwitchCase=\"'indicators'\" [key]=\"field.key\" [value]=\"field.value\" [layoutType]=\"layoutType\">\n </pep-indicators>\n <pep-internal-button *ngSwitchCase=\"'button'\" [form]=\"form\" [key]=\"field.key\" [value]=\"field.value\"\n [formattedValue]=\"field.formattedValue\" [label]=\"field.label\"\n [referenceObjectInternalType]=\"field.referenceObjectInternalType\" [type]=\"field.type\"\n [disabled]=\"field.disabled\" [readonly]=\"field.readonly\" [xAlignment]=\"field.xAlignment\"\n [layoutType]=\"layoutType\" [visible]=\"field.visible\" (elementClick)=\"onClick($event)\"\n (valueChange)=\"onValueChanged($event, field)\">\n </pep-internal-button>\n <pep-internal-menu *ngSwitchCase=\"'menu'\" [key]=\"field.key\" [label]=\"field.label\" [disabled]=\"field.disabled\"\n [xAlignment]=\"field.xAlignment\" [options]=\"field.options\" [layoutType]=\"layoutType\"\n (elementClick)=\"onClick($event)\">\n </pep-internal-menu>\n <pep-internal-page *ngSwitchCase=\"'internalPage'\" [field]=\"field\" [layoutType]=\"layoutType\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-page>\n\n <pep-internal-carusel *ngSwitchCase=\"'internalCarusel'\" [field]=\"field\"\n (internalFormFieldClick)=\"onInternalFormFieldClick($event)\"\n (internalFormFieldChange)=\"onInternalFormFieldChanged($event)\">\n </pep-internal-carusel>\n\n <ng-container *ngSwitchCase=\"'placeholder'\">\n </ng-container>\n</ng-container>", styles: [":host{display:block;width:100%;height:100%}\n"] }]
125
125
  }], propDecorators: { field: [{
@@ -149,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
149
149
  }], formFieldClick: [{
150
150
  type: Output
151
151
  }] } });
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ2VuZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvZm9ybS9maWVsZC1nZW5lcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9mb3JtL2ZpZWxkLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNqQix1QkFBdUIsRUFFMUIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBa0J2QixNQUFNLE9BQU8sMEJBQTBCO0lBQzNCLE1BQU0sQ0FBTTtJQUNwQixJQUNJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVRLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsR0FBRyxHQUFRLElBQUksQ0FBQztJQUNoQixJQUFJLENBQVk7SUFDaEIsVUFBVSxHQUFrQixNQUFNLENBQUM7SUFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUVqQixlQUFlLEdBQVEsSUFBSSxDQUFDO0lBRXJDLFdBQVcsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7SUFDckcsWUFBWTtJQUNaLDZFQUE2RTtJQUU3RSxZQUFZLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFDO0lBRWhGLHVCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3JFLHNCQUFzQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRzlFLGVBQWUsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7SUFFakgsY0FBYyxHQUEwQyxJQUFJLFlBQVksRUFBMkIsQ0FBQztJQUVwRyxJQUFJLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUvRCxJQUFJLFdBQVcsRUFBRTtnQkFDYixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7YUFDNUI7aUJBQU07Z0JBQ0gsT0FBTyxLQUFLLENBQUM7YUFDaEI7U0FDSjtJQUNMLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0QsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFhLEVBQUUsS0FBbUI7UUFDNUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsTUFBTSxnQkFBZ0IsR0FBRztZQUNyQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxLQUFLLEVBQUUsS0FBSztZQUNaLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUNqQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQscUJBQXFCLENBQ2pCLFdBQXNDLEVBQ3RDLEtBQW1CO1FBRW5CLE1BQU0sZ0JBQWdCLEdBQUc7WUFDckIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1lBQ3BCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztZQUN4QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVLEVBQUUsS0FBbUI7UUFDMUMsTUFBTSxnQkFBZ0IsR0FBRztZQUNyQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN2QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELDBCQUEwQixDQUFDLHVCQUE0QjtRQUNuRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCw0REFBNEQ7SUFDNUQsSUFBSTtJQUVKLE9BQU8sQ0FBQyxZQUFpQjtRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsc0JBQTJCO1FBQ2hELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBb0M7UUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQThCO1FBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBWTtRQUNwQixZQUFZO1FBQ1osZUFBZTtRQUNmLHFEQUFxRDtJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNQLEVBQUU7SUFDTixDQUFDO3dHQXZIUSwwQkFBMEI7NEZBQTFCLDBCQUEwQixxZUMzQnZDLDhnVUF1SWU7OzRGRDVHRiwwQkFBMEI7a0JBUHRDLFNBQVM7K0JBQ0kscUJBQXFCLGlCQUdoQixpQkFBaUIsQ0FBQyxRQUFRLG1CQUN4Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQUszQyxLQUFLO3NCQURSLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVOLFdBQVc7c0JBRFYsTUFBTTtnQkFLUCxZQUFZO3NCQURYLE1BQU07Z0JBR0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFHUCxlQUFlO3NCQURkLE1BQU07Z0JBR1AsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsICAgIFxuICAgIE9uQ2hhbmdlcyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLCAgICBcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgICAgXG4gICAgT25EZXN0cm95ICAgIFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgUGVwRmllbGRCYXNlLFxuICAgIFBlcExheW91dFR5cGUsXG4gICAgSVBlcEZpZWxkVmFsdWVDaGFuZ2VFdmVudCxcbiAgICBJUGVwRmllbGRDbGlja0V2ZW50LFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudCwgSVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Zvcm0ubW9kZWwnO1xuXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncGVwLWZpZWxkLWdlbmVyYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZ2VuZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFBlcEZpZWxkR2VuZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kgeyAgICAgIFxuICAgIHByaXZhdGUgX2ZpZWxkOiBhbnk7XG4gICAgQElucHV0KClcbiAgICBzZXQgZmllbGQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9maWVsZCA9IHZhbHVlOyAgICAgICBcbiAgICB9XG4gICAgZ2V0IGZpZWxkKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWVsZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHVpZDogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgY2hlY2tGb3JDaGFuZ2VzOiBhbnkgPSBudWxsO1xuICAgIEBPdXRwdXQoKVxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkVmFsdWVDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQ+KCk7XG4gICAgLy8gQE91dHB1dCgpXG4gICAgLy8gZm9ybVZhbGlkYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBlbGVtZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBpbnRlcm5hbEZvcm1GaWVsZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgaW50ZXJuYWxGb3JtRmllbGRDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBGb3JtRmllbGRWYWx1ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUZpZWxkQ2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGb3JtRmllbGRDbGlja0V2ZW50PigpO1xuXG4gICAgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnJlYWRvbmx5IHx8IHRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmtleSk7XG5cbiAgICAgICAgICAgIGlmIChmb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmb3JtQ29udHJvbC52YWxpZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGlzVG91Y2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmtleSk7XG4gICAgICAgIHJldHVybiBmb3JtQ29udHJvbCA/IGZvcm1Db250cm9sLnRvdWNoZWQgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXQgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmtleSk7XG4gICAgICAgIHJldHVybiBmb3JtQ29udHJvbCA/IGZvcm1Db250cm9sLmRpcnR5IDogZmFsc2U7XG4gICAgfVxuXG4gICAgb25GaWxlQ2hhbmdlZChmaWxlRGF0YTogYW55LCBmaWVsZDogUGVwRmllbGRCYXNlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZmlsZURhdGEgPyBKU09OLnN0cmluZ2lmeShmaWxlRGF0YSkgOiAnJztcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZUNoYW5nZSA9IHtcbiAgICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgY29udHJvbFR5cGU6IGZpZWxkLmNvbnRyb2xUeXBlLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZmllbGRWYWx1ZUNoYW5nZSk7XG4gICAgfVxuXG4gICAgb25BZGRyZXNzVmFsdWVDaGFuZ2VkKFxuICAgICAgICB2YWx1ZUNoYW5nZTogSVBlcEZpZWxkVmFsdWVDaGFuZ2VFdmVudCxcbiAgICAgICAgZmllbGQ6IFBlcEZpZWxkQmFzZVxuICAgICkge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlQ2hhbmdlID0ge1xuICAgICAgICAgICAga2V5OiB2YWx1ZUNoYW5nZS5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVDaGFuZ2UudmFsdWUsXG4gICAgICAgICAgICBjb250cm9sVHlwZTogZmllbGQuY29udHJvbFR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChmaWVsZFZhbHVlQ2hhbmdlKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlZCh2YWx1ZTogYW55LCBmaWVsZDogUGVwRmllbGRCYXNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWVDaGFuZ2UgPSB7XG4gICAgICAgICAgICBrZXk6IGZpZWxkLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZS50b1N0cmluZygpLFxuICAgICAgICAgICAgY29udHJvbFR5cGU6IGZpZWxkLmNvbnRyb2xUeXBlLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZmllbGRWYWx1ZUNoYW5nZSk7XG4gICAgfVxuXG4gICAgb25JbnRlcm5hbEZvcm1GaWVsZENoYW5nZWQoaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2U6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmludGVybmFsRm9ybUZpZWxkQ2hhbmdlLmVtaXQoaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UpO1xuICAgIH1cblxuICAgIC8vIG9uRm9ybVZhbGlkYXRpb25DaGFuZ2VkKGZvcm1WYWxpZGF0aW9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICAvLyAgICAgdGhpcy5mb3JtVmFsaWRhdGlvbkNoYW5nZS5lbWl0KGZvcm1WYWxpZGF0aW9uQ2hhbmdlKTtcbiAgICAvLyB9XG5cbiAgICBvbkNsaWNrKGZpZWxkQ2xpY2tlZDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoZmllbGRDbGlja2VkKTtcbiAgICB9XG5cbiAgICBvbkludGVybmFsRm9ybUZpZWxkQ2xpY2soaW50ZXJuYWxGb3JtRmllbGRDbGljazogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxGb3JtRmllbGRDbGljay5lbWl0KGludGVybmFsRm9ybUZpZWxkQ2xpY2spO1xuICAgIH1cblxuICAgIG9uRm9ybVZhbHVlQ2hhbmdlZChldmVudDogSVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgb25Gb3JtRmllbGRDbGljayhldmVudDogSVBlcEZvcm1GaWVsZENsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtRmllbGRDbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIC8vIEZvciB0ZXN0aW5nLlxuICAgICAgICAvLyB0aGlzLmZpZWxkLmRpc2FibGVkID0gdGhpcy5maWVsZC5yZWFkb25seSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkLmNvbnRyb2xUeXBlXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG5cbiAgICA8cGVwLWFkZHJlc3MgKm5nU3dpdGNoQ2FzZT1cIidhZGRyZXNzJ1wiIFtmb3JtXT1cImZvcm1cIiBba2V5XT1cImZpZWxkLmtleVwiIFtmb3JtYXR0ZWRWYWx1ZV09XCJmaWVsZC5mb3JtYXR0ZWRWYWx1ZVwiXG4gICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbZ3JvdXBGaWVsZHNdPVwiZmllbGQuZ3JvdXBGaWVsZHNcIlxuICAgICAgICBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCIgW3Zpc2libGVdPVwiZmllbGQudmlzaWJsZVwiIChhZGRyZXNzVmFsdWVDaGFuZ2UpPVwib25BZGRyZXNzVmFsdWVDaGFuZ2VkKCRldmVudCwgZmllbGQpXCI+XG4gICAgPC9wZXAtYWRkcmVzcz5cblxuICAgIDxwZXAtYXR0YWNobWVudCAqbmdTd2l0Y2hDYXNlPVwiJ2F0dGFjaG1lbnQnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW3NyY109XCJmaWVsZC52YWx1ZVwiXG4gICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIiBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiXG4gICAgICAgIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCIgKGVsZW1lbnRDbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAoZmlsZUNoYW5nZSk9XCJvbkZpbGVDaGFuZ2VkKCRldmVudCwgZmllbGQpXCI+XG4gICAgPC9wZXAtYXR0YWNobWVudD5cblxuICAgIDxwZXAtY2hlY2tib3ggKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIiBbZm9ybV09XCJmb3JtXCIgW2tleV09XCJmaWVsZC5rZXlcIlxuICAgICAgICBbdmFsdWVdPVwiKGZpZWxkLnZhbHVlPy50b1N0cmluZygpIHwgbG93ZXJjYXNlKSA9PSAndHJ1ZScgfHwgZmllbGQudmFsdWUgPT0gJzEnID8gdHJ1ZSA6IGZhbHNlXCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW3R5cGVdPVwiZmllbGQudHlwZVwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbYWRkaXRpb25hbFZhbHVlXT1cImZpZWxkLmFkZGl0aW9uYWxWYWx1ZVwiXG4gICAgICAgIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFt2aXNpYmxlXT1cImZpZWxkLnZpc2libGVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50LCBmaWVsZClcIiBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIj5cbiAgICA8L3BlcC1jaGVja2JveD5cblxuICAgIDxwZXAtZGF0ZSAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW3ZhbHVlXT1cImZpZWxkLnZhbHVlXCJcbiAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCIgW3R5cGVdPVwiZmllbGQudHlwZVwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCIgW3RleHRDb2xvcl09XCJmaWVsZC50ZXh0Q29sb3JcIlxuICAgICAgICBbeEFsaWdubWVudF09XCJmaWVsZC54QWxpZ25tZW50XCIgW3Jvd1NwYW5dPVwiZmllbGQucm93U3BhblwiIFttaW5WYWx1ZV09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICAgIFttYXhWYWx1ZV09XCJmaWVsZC5tYXhWYWx1ZVwiIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFt2aXNpYmxlXT1cImZpZWxkLnZpc2libGVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50LCBmaWVsZClcIiBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIj5cbiAgICA8L3BlcC1kYXRlPlxuXG4gICAgPHBlcC1pbWFnZXMtZmlsbXN0cmlwICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VzJ1wiIFt1aWRdPVwidWlkXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW3Nob3dUaXRsZV09XCJzaG93VGl0bGVcIiBbcm93U3Bhbl09XCJmaWVsZC5yb3dTcGFuXCIgW3ZhbHVlXT1cImZpZWxkLnZhbHVlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiPlxuICAgIDwvcGVwLWltYWdlcy1maWxtc3RyaXA+XG5cbiAgICA8cGVwLWltYWdlICpuZ1N3aXRjaENhc2U9XCInaW1hZ2UnXCIgW3VpZF09XCJ1aWRcIiBbZm9ybV09XCJmb3JtXCIgW2tleV09XCJmaWVsZC5rZXlcIiBbc3JjXT1cImZpZWxkLmZvcm1hdHRlZFZhbHVlXCJcbiAgICAgICAgW3NyY0xhcmdlXT1cImZpZWxkLnZhbHVlXCIgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCIgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiXG4gICAgICAgIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbaW5kaWNhdG9yc0ZpZWxkXT1cImZpZWxkLmluZGljYXRvcnNGaWVsZFwiIFttZW51RmllbGRdPVwiZmllbGQubWVudUZpZWxkXCJcbiAgICAgICAgW2hhc0NhbXBhaWduRmllbGRdPVwiZmllbGQuaGFzQ2FtcGFpZ25GaWVsZFwiIFtzaXplTGltaXRNQl09XCJmaWVsZC5zaXplTGltaXRNQlwiIFtpc0FjdGl2ZV09XCJpc0FjdGl2ZVwiXG4gICAgICAgIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCIgKGVsZW1lbnRDbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAoZmlsZUNoYW5nZSk9XCJvbkZpbGVDaGFuZ2VkKCRldmVudCwgZmllbGQpXCI+XG4gICAgPC9wZXAtaW1hZ2U+XG5cbiAgICA8cGVwLXF1YW50aXR5LXNlbGVjdG9yICpuZ1N3aXRjaENhc2U9XCIncXMnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW2FsbG93RGVjaW1hbF09XCJmaWVsZC5hbGxvd0RlY2ltYWxcIiBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIiBbdHlwZV09XCJmaWVsZC50eXBlXCIgW21hbmRhdG9yeV09XCJmaWVsZC5tYW5kYXRvcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIiBbdGV4dENvbG9yXT1cImZpZWxkLnRleHRDb2xvclwiXG4gICAgICAgIFt4QWxpZ25tZW50XT1cImZpZWxkLnhBbGlnbm1lbnRcIiBbcm93U3Bhbl09XCJmaWVsZC5yb3dTcGFuXCJcbiAgICAgICAgW2FkZGl0aW9uYWxWYWx1ZV09XCJmaWVsZC5hZGRpdGlvbmFsVmFsdWVcIiBbbm90aWZpY2F0aW9uSW5mb109XCJmaWVsZC5ub3RpZmljYXRpb25JbmZvXCIgW2lzQWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgICAgICAgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW3Zpc2libGVdPVwiZmllbGQudmlzaWJsZVwiXG4gICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCJmaWVsZC5kaWdpdHNOdW1iZXJBZnRlckRlY2ltYWxQb2ludFwiICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiXG4gICAgICAgIChlbGVtZW50Q2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgPC9wZXAtcXVhbnRpdHktc2VsZWN0b3I+XG4gICAgPCEtLSAoZm9ybVZhbGlkYXRpb25DaGFuZ2UpPVwib25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoJGV2ZW50KVwiICAtLT5cblxuICAgIDxwZXAtcmljaC1odG1sLXRleHRhcmVhICpuZ1N3aXRjaENhc2U9XCIncmljaGh0bWx0ZXh0YXJlYSdcIiBbZm9ybV09XCJmb3JtXCIgW2tleV09XCJmaWVsZC5rZXlcIiBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIiBbbWFuZGF0b3J5XT1cImZpZWxkLm1hbmRhdG9yeVwiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtyZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICAgIFttYXhGaWVsZENoYXJhY3RlcnNdPVwiZmllbGQubWF4RmllbGRDaGFyYWN0ZXJzXCIgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIlxuICAgICAgICBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCIgW3JlbmRlclRpdGxlXT1cImZpZWxkLnJlbmRlclRpdGxlXCJcbiAgICAgICAgW3JlbmRlckVubGFyZ2VCdXR0b25dPVwiZmllbGQucmVuZGVyRW5sYXJnZUJ1dHRvblwiICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiXG4gICAgICAgIFtpc0FjdGl2ZV09XCJpc0FjdGl2ZVwiPlxuICAgIDwvcGVwLXJpY2gtaHRtbC10ZXh0YXJlYT5cblxuICAgIDxwZXAtc2VsZWN0ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiIFtmb3JtXT1cImZvcm1cIiBba2V5XT1cImZpZWxkLmtleVwiIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICAgIFt0eXBlXT1cImZpZWxkLnR5cGVcIiBbbWFuZGF0b3J5XT1cImZpZWxkLm1hbmRhdG9yeVwiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtyZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICAgIFt4QWxpZ25tZW50XT1cImZpZWxkLnhBbGlnbm1lbnRcIiBbcm93U3Bhbl09XCJmaWVsZC5yb3dTcGFuXCIgW2F1dG9Tb3J0T3B0aW9uc109XCJmaWVsZC5hdXRvU29ydE9wdGlvbnNcIiBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCIgW3Nob3dUaXRsZV09XCJzaG93VGl0bGVcIlxuICAgICAgICBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCIgW3Zpc2libGVdPVwiZmllbGQudmlzaWJsZVwiIFtlbXB0eU9wdGlvbl09XCJmaWVsZC5lbXB0eU9wdGlvblwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiIFxuICAgICAgICBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIj5cbiAgICA8L3BlcC1zZWxlY3Q+XG4gICAgPCEtLSAoZm9ybVZhbGlkYXRpb25DaGFuZ2UpPVwib25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoJGV2ZW50KVwiIC0tPlxuXG4gICAgPHBlcC1zZXBhcmF0b3IgKm5nU3dpdGNoQ2FzZT1cIidzZXBhcmF0b3InXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCI+XG4gICAgPC9wZXAtc2VwYXJhdG9yPlxuXG4gICAgPHBlcC1zaWduYXR1cmUgKm5nU3dpdGNoQ2FzZT1cIidzaWduYXR1cmUnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW3NyY109XCJmaWVsZC52YWx1ZVwiIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICAgIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIiBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCJcbiAgICAgICAgW3Zpc2libGVdPVwiZmllbGQudmlzaWJsZVwiIChmaWxlQ2hhbmdlKT1cIm9uRmlsZUNoYW5nZWQoJGV2ZW50LCBmaWVsZClcIj5cbiAgICA8L3BlcC1zaWduYXR1cmU+XG5cbiAgICA8cGVwLXRleHRhcmVhICpuZ1N3aXRjaENhc2U9XCIndGV4dGFyZWEnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW3ZhbHVlXT1cImZpZWxkLnZhbHVlXCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW21hbmRhdG9yeV09XCJmaWVsZC5tYW5kYXRvcnlcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgICBbbWF4RmllbGRDaGFyYWN0ZXJzXT1cImZpZWxkLm1heEZpZWxkQ2hhcmFjdGVyc1wiIFt0ZXh0Q29sb3JdPVwiZmllbGQudGV4dENvbG9yXCIgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiXG4gICAgICAgIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudCwgZmllbGQpXCIgW2lzQWN0aXZlXT1cImlzQWN0aXZlXCI+XG4gICAgPC9wZXAtdGV4dGFyZWE+XG5cbiAgICA8cGVwLXRleHRib3ggKm5nU3dpdGNoQ2FzZT1cIid0ZXh0Ym94J1wiIFtmb3JtXT1cImZvcm1cIiBba2V5XT1cImZpZWxkLmtleVwiIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiXG4gICAgICAgIFthY2Nlc3NvcnldPVwiZmllbGQuYWNjZXNzb3J5XCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCIgW3R5cGVdPVwiZmllbGQudHlwZVwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCIgW21heEZpZWxkQ2hhcmFjdGVyc109XCJmaWVsZC5tYXhGaWVsZENoYXJhY3RlcnNcIiBbdGV4dENvbG9yXT1cImZpZWxkLnRleHRDb2xvclwiXG4gICAgICAgIFt4QWxpZ25tZW50XT1cImZpZWxkLnhBbGlnbm1lbnRcIiBbcm93U3Bhbl09XCJmaWVsZC5yb3dTcGFuXCIgW3JlZ2V4XT1cImZpZWxkLnJlZ2V4XCIgW3JlZ2V4RXJyb3JdPVwiZmllbGQucmVnZXhFcnJvclwiXG4gICAgICAgIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFttaW5GcmFjdGlvbkRpZ2l0c109XCJmaWVsZC5kaWdpdHNOdW1iZXJBZnRlckRlY2ltYWxQb2ludFwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiIFxuICAgICAgICBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCI+XG4gICAgPC9wZXAtdGV4dGJveD5cbiAgICA8IS0tIChmb3JtVmFsaWRhdGlvbkNoYW5nZSk9XCJvbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgLS0+XG5cbiAgICA8cGVwLWxpbmsgKm5nU3dpdGNoQ2FzZT1cIidsaW5rJ1wiIFtmb3JtXT1cImZvcm1cIiBba2V5XT1cImZpZWxkLmtleVwiIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiIFtkaXNwbGF5VmFsdWVdPVwiZmllbGQuZm9ybWF0dGVkVmFsdWVcIlxuICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIiBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICBbbWFuZGF0b3J5XT1cImZpZWxkLm1hbmRhdG9yeVwiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtyZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICAgIFttYXhGaWVsZENoYXJhY3RlcnNdPVwiZmllbGQubWF4RmllbGRDaGFyYWN0ZXJzXCIgW3RleHRDb2xvcl09XCJmaWVsZC50ZXh0Q29sb3JcIiBbeEFsaWdubWVudF09XCJmaWVsZC54QWxpZ25tZW50XCJcbiAgICAgICAgW3Jvd1NwYW5dPVwiZmllbGQucm93U3BhblwiIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiIFtpc0FjdGl2ZV09XCJpc0FjdGl2ZVwiIFt2aXNpYmxlXT1cImZpZWxkLnZpc2libGVcIlxuICAgICAgICAoZWxlbWVudENsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgIDwvcGVwLWxpbms+XG4gICAgPCEtLSAoZm9ybVZhbGlkYXRpb25DaGFuZ2UpPVwib25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoJGV2ZW50KVwiICAtLT5cblxuICAgIDxwZXAtaW5kaWNhdG9ycyAqbmdTd2l0Y2hDYXNlPVwiJ2luZGljYXRvcnMnXCIgW2tleV09XCJmaWVsZC5rZXlcIiBbdmFsdWVdPVwiZmllbGQudmFsdWVcIiBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCI+XG4gICAgPC9wZXAtaW5kaWNhdG9ycz5cbiAgICA8cGVwLWludGVybmFsLWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIiBbZm9ybV09XCJmb3JtXCIgW2tleV09XCJmaWVsZC5rZXlcIiBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgICBbZm9ybWF0dGVkVmFsdWVdPVwiZmllbGQuZm9ybWF0dGVkVmFsdWVcIiBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgICBbcmVmZXJlbmNlT2JqZWN0SW50ZXJuYWxUeXBlXT1cImZpZWxkLnJlZmVyZW5jZU9iamVjdEludGVybmFsVHlwZVwiIFt0eXBlXT1cImZpZWxkLnR5cGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIiBbeEFsaWdubWVudF09XCJmaWVsZC54QWxpZ25tZW50XCJcbiAgICAgICAgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFt2aXNpYmxlXT1cImZpZWxkLnZpc2libGVcIiAoZWxlbWVudENsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiPlxuICAgIDwvcGVwLWludGVybmFsLWJ1dHRvbj5cbiAgICA8cGVwLWludGVybmFsLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidtZW51J1wiIFtrZXldPVwiZmllbGQua2V5XCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtvcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIiBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCJcbiAgICAgICAgKGVsZW1lbnRDbGljayk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICA8L3BlcC1pbnRlcm5hbC1tZW51PlxuICAgIDxwZXAtaW50ZXJuYWwtcGFnZSAqbmdTd2l0Y2hDYXNlPVwiJ2ludGVybmFsUGFnZSdcIiBbZmllbGRdPVwiZmllbGRcIiBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCJcbiAgICAgICAgKGludGVybmFsRm9ybUZpZWxkQ2xpY2spPVwib25JbnRlcm5hbEZvcm1GaWVsZENsaWNrKCRldmVudClcIlxuICAgICAgICAoaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UpPVwib25JbnRlcm5hbEZvcm1GaWVsZENoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvcGVwLWludGVybmFsLXBhZ2U+XG5cbiAgICA8cGVwLWludGVybmFsLWNhcnVzZWwgKm5nU3dpdGNoQ2FzZT1cIidpbnRlcm5hbENhcnVzZWwnXCIgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgICAgKGludGVybmFsRm9ybUZpZWxkQ2xpY2spPVwib25JbnRlcm5hbEZvcm1GaWVsZENsaWNrKCRldmVudClcIlxuICAgICAgICAoaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UpPVwib25JbnRlcm5hbEZvcm1GaWVsZENoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvcGVwLWludGVybmFsLWNhcnVzZWw+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncGxhY2Vob2xkZXInXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj4iXX0=
152
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ2VuZXJhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1saWIvZm9ybS9maWVsZC1nZW5lcmF0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWxpYi9mb3JtL2ZpZWxkLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUVULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixFQUNqQix1QkFBdUIsRUFFMUIsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBZ0J2QixNQUFNLE9BQU8sMEJBQTBCO0lBQzNCLE1BQU0sQ0FBTTtJQUNwQixJQUNJLEtBQUssQ0FBQyxLQUFVO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFJLEtBQUs7UUFDTCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVRLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDakIsR0FBRyxHQUFRLElBQUksQ0FBQztJQUNoQixJQUFJLENBQVk7SUFDaEIsVUFBVSxHQUFrQixNQUFNLENBQUM7SUFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQztJQUVqQixlQUFlLEdBQVEsSUFBSSxDQUFDO0lBRXJDLFdBQVcsR0FBNEMsSUFBSSxZQUFZLEVBQTZCLENBQUM7SUFDckcsWUFBWTtJQUNaLDZFQUE2RTtJQUU3RSxZQUFZLEdBQXNDLElBQUksWUFBWSxFQUF1QixDQUFDO0lBRWhGLHVCQUF1QixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBQ3JFLHNCQUFzQixHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBRzlFLGVBQWUsR0FBZ0QsSUFBSSxZQUFZLEVBQWlDLENBQUM7SUFFakgsY0FBYyxHQUEwQyxJQUFJLFlBQVksRUFBMkIsQ0FBQztJQUVwRyxJQUFJLE9BQU87UUFDUCxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzVDLE9BQU8sSUFBSSxDQUFDO1NBQ2Y7YUFBTTtZQUNILE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUvRCxJQUFJLFdBQVcsRUFBRTtnQkFDYixPQUFPLFdBQVcsQ0FBQyxLQUFLLENBQUM7YUFDNUI7aUJBQU07Z0JBQ0gsT0FBTyxLQUFLLENBQUM7YUFDaEI7U0FDSjtJQUNMLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0QsT0FBTyxXQUFXLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUNyRCxDQUFDO0lBRUQsSUFBSSxPQUFPO1FBQ1AsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQy9ELE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbkQsQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUFhLEVBQUUsS0FBbUI7UUFDNUMsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDdkQsTUFBTSxnQkFBZ0IsR0FBRztZQUNyQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxLQUFLLEVBQUUsS0FBSztZQUNaLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUNqQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQscUJBQXFCLENBQ2pCLFdBQXNDLEVBQ3RDLEtBQW1CO1FBRW5CLE1BQU0sZ0JBQWdCLEdBQUc7WUFDckIsR0FBRyxFQUFFLFdBQVcsQ0FBQyxHQUFHO1lBQ3BCLEtBQUssRUFBRSxXQUFXLENBQUMsS0FBSztZQUN4QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGNBQWMsQ0FBQyxLQUFVLEVBQUUsS0FBbUI7UUFDMUMsTUFBTSxnQkFBZ0IsR0FBRztZQUNyQixHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUc7WUFDZCxLQUFLLEVBQUUsS0FBSyxDQUFDLFFBQVEsRUFBRTtZQUN2QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7U0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELDBCQUEwQixDQUFDLHVCQUE0QjtRQUNuRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELDZEQUE2RDtJQUM3RCw0REFBNEQ7SUFDNUQsSUFBSTtJQUVKLE9BQU8sQ0FBQyxZQUFpQjtRQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsd0JBQXdCLENBQUMsc0JBQTJCO1FBQ2hELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsa0JBQWtCLENBQUMsS0FBb0M7UUFDbkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQThCO1FBQzNDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBWTtRQUNwQixZQUFZO1FBQ1osZUFBZTtRQUNmLHFEQUFxRDtJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNQLEVBQUU7SUFDTixDQUFDO3dHQXZIUSwwQkFBMEI7NEZBQTFCLDBCQUEwQixxZUN6QnZDLDhnVUF1SWU7OzRGRDlHRiwwQkFBMEI7a0JBTHRDLFNBQVM7K0JBQVkscUJBQXFCLGlCQUd4QixpQkFBaUIsQ0FBQyxRQUFRLG1CQUN4Qix1QkFBdUIsQ0FBQyxNQUFNOzhCQUkzQyxLQUFLO3NCQURSLEtBQUs7Z0JBUUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFRyxlQUFlO3NCQUF2QixLQUFLO2dCQUVOLFdBQVc7c0JBRFYsTUFBTTtnQkFLUCxZQUFZO3NCQURYLE1BQU07Z0JBR0csdUJBQXVCO3NCQUFoQyxNQUFNO2dCQUNHLHNCQUFzQjtzQkFBL0IsTUFBTTtnQkFHUCxlQUFlO3NCQURkLE1BQU07Z0JBR1AsY0FBYztzQkFEYixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsICAgIFxuICAgIE9uQ2hhbmdlcyxcbiAgICBJbnB1dCxcbiAgICBPdXRwdXQsXG4gICAgRXZlbnRFbWl0dGVyLCAgICBcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgICAgXG4gICAgT25EZXN0cm95ICAgIFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7XG4gICAgUGVwRmllbGRCYXNlLFxuICAgIFBlcExheW91dFR5cGUsXG4gICAgSVBlcEZpZWxkVmFsdWVDaGFuZ2VFdmVudCxcbiAgICBJUGVwRmllbGRDbGlja0V2ZW50LFxufSBmcm9tICdAcGVwcGVyaS1hZGRvbnMvbmd4LWxpYic7XG5pbXBvcnQgeyBJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudCwgSVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnQgfSBmcm9tICcuL2Zvcm0ubW9kZWwnO1xuXG5cbkBDb21wb25lbnQoe3NlbGVjdG9yOiAncGVwLWZpZWxkLWdlbmVyYXRvcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWdlbmVyYXRvci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZmllbGQtZ2VuZXJhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uRW11bGF0ZWQsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2h9KVxuZXhwb3J0IGNsYXNzIFBlcEZpZWxkR2VuZXJhdG9yQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBPbkRlc3Ryb3kgeyAgICAgIFxuICAgIHByaXZhdGUgX2ZpZWxkOiBhbnk7XG4gICAgQElucHV0KClcbiAgICBzZXQgZmllbGQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9maWVsZCA9IHZhbHVlOyAgICAgICBcbiAgICB9XG4gICAgZ2V0IGZpZWxkKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9maWVsZDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBpc0FjdGl2ZSA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIHVpZDogYW55ID0gbnVsbDtcbiAgICBASW5wdXQoKSBmb3JtOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KCkgbGF5b3V0VHlwZTogUGVwTGF5b3V0VHlwZSA9ICdmb3JtJztcbiAgICBASW5wdXQoKSBzaG93VGl0bGUgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgY2hlY2tGb3JDaGFuZ2VzOiBhbnkgPSBudWxsO1xuICAgIEBPdXRwdXQoKVxuICAgIHZhbHVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkVmFsdWVDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGaWVsZFZhbHVlQ2hhbmdlRXZlbnQ+KCk7XG4gICAgLy8gQE91dHB1dCgpXG4gICAgLy8gZm9ybVZhbGlkYXRpb25DaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcbiAgICBAT3V0cHV0KClcbiAgICBlbGVtZW50Q2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRmllbGRDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZpZWxkQ2xpY2tFdmVudD4oKTtcblxuICAgIEBPdXRwdXQoKSBpbnRlcm5hbEZvcm1GaWVsZENoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgaW50ZXJuYWxGb3JtRmllbGRDbGljazogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGZvcm1WYWx1ZUNoYW5nZTogRXZlbnRFbWl0dGVyPElQZXBGb3JtRmllbGRWYWx1ZUNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8SVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnQ+KCk7XG4gICAgQE91dHB1dCgpXG4gICAgZm9ybUZpZWxkQ2xpY2s6IEV2ZW50RW1pdHRlcjxJUGVwRm9ybUZpZWxkQ2xpY2tFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPElQZXBGb3JtRmllbGRDbGlja0V2ZW50PigpO1xuXG4gICAgZ2V0IGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICh0aGlzLmZpZWxkLnJlYWRvbmx5IHx8IHRoaXMuZmllbGQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmtleSk7XG5cbiAgICAgICAgICAgIGlmIChmb3JtQ29udHJvbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBmb3JtQ29udHJvbC52YWxpZDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0IGlzVG91Y2hlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmtleSk7XG4gICAgICAgIHJldHVybiBmb3JtQ29udHJvbCA/IGZvcm1Db250cm9sLnRvdWNoZWQgOiBmYWxzZTtcbiAgICB9XG5cbiAgICBnZXQgaXNEaXJ0eSgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgZm9ybUNvbnRyb2wgPSB0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmdldCh0aGlzLmZpZWxkLmtleSk7XG4gICAgICAgIHJldHVybiBmb3JtQ29udHJvbCA/IGZvcm1Db250cm9sLmRpcnR5IDogZmFsc2U7XG4gICAgfVxuXG4gICAgb25GaWxlQ2hhbmdlZChmaWxlRGF0YTogYW55LCBmaWVsZDogUGVwRmllbGRCYXNlKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZmlsZURhdGEgPyBKU09OLnN0cmluZ2lmeShmaWxlRGF0YSkgOiAnJztcbiAgICAgICAgY29uc3QgZmllbGRWYWx1ZUNoYW5nZSA9IHtcbiAgICAgICAgICAgIGtleTogZmllbGQua2V5LFxuICAgICAgICAgICAgdmFsdWU6IHZhbHVlLFxuICAgICAgICAgICAgY29udHJvbFR5cGU6IGZpZWxkLmNvbnRyb2xUeXBlLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZmllbGRWYWx1ZUNoYW5nZSk7XG4gICAgfVxuXG4gICAgb25BZGRyZXNzVmFsdWVDaGFuZ2VkKFxuICAgICAgICB2YWx1ZUNoYW5nZTogSVBlcEZpZWxkVmFsdWVDaGFuZ2VFdmVudCxcbiAgICAgICAgZmllbGQ6IFBlcEZpZWxkQmFzZVxuICAgICkge1xuICAgICAgICBjb25zdCBmaWVsZFZhbHVlQ2hhbmdlID0ge1xuICAgICAgICAgICAga2V5OiB2YWx1ZUNoYW5nZS5rZXksXG4gICAgICAgICAgICB2YWx1ZTogdmFsdWVDaGFuZ2UudmFsdWUsXG4gICAgICAgICAgICBjb250cm9sVHlwZTogZmllbGQuY29udHJvbFR5cGUsXG4gICAgICAgIH07XG4gICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChmaWVsZFZhbHVlQ2hhbmdlKTtcbiAgICB9XG5cbiAgICBvblZhbHVlQ2hhbmdlZCh2YWx1ZTogYW55LCBmaWVsZDogUGVwRmllbGRCYXNlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZpZWxkVmFsdWVDaGFuZ2UgPSB7XG4gICAgICAgICAgICBrZXk6IGZpZWxkLmtleSxcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZS50b1N0cmluZygpLFxuICAgICAgICAgICAgY29udHJvbFR5cGU6IGZpZWxkLmNvbnRyb2xUeXBlLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZmllbGRWYWx1ZUNoYW5nZSk7XG4gICAgfVxuXG4gICAgb25JbnRlcm5hbEZvcm1GaWVsZENoYW5nZWQoaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2U6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmludGVybmFsRm9ybUZpZWxkQ2hhbmdlLmVtaXQoaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UpO1xuICAgIH1cblxuICAgIC8vIG9uRm9ybVZhbGlkYXRpb25DaGFuZ2VkKGZvcm1WYWxpZGF0aW9uQ2hhbmdlOiBhbnkpOiB2b2lkIHtcbiAgICAvLyAgICAgdGhpcy5mb3JtVmFsaWRhdGlvbkNoYW5nZS5lbWl0KGZvcm1WYWxpZGF0aW9uQ2hhbmdlKTtcbiAgICAvLyB9XG5cbiAgICBvbkNsaWNrKGZpZWxkQ2xpY2tlZDogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZWxlbWVudENsaWNrLmVtaXQoZmllbGRDbGlja2VkKTtcbiAgICB9XG5cbiAgICBvbkludGVybmFsRm9ybUZpZWxkQ2xpY2soaW50ZXJuYWxGb3JtRmllbGRDbGljazogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW50ZXJuYWxGb3JtRmllbGRDbGljay5lbWl0KGludGVybmFsRm9ybUZpZWxkQ2xpY2spO1xuICAgIH1cblxuICAgIG9uRm9ybVZhbHVlQ2hhbmdlZChldmVudDogSVBlcEZvcm1GaWVsZFZhbHVlQ2hhbmdlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVDaGFuZ2UuZW1pdChldmVudCk7XG4gICAgfVxuXG4gICAgb25Gb3JtRmllbGRDbGljayhldmVudDogSVBlcEZvcm1GaWVsZENsaWNrRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtRmllbGRDbGljay5lbWl0KGV2ZW50KTtcbiAgICB9XG5cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgLy8gZGVidWdnZXI7XG4gICAgICAgIC8vIEZvciB0ZXN0aW5nLlxuICAgICAgICAvLyB0aGlzLmZpZWxkLmRpc2FibGVkID0gdGhpcy5maWVsZC5yZWFkb25seSA9IGZhbHNlO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICAvL1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImZpZWxkLmNvbnRyb2xUeXBlXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XG5cbiAgICA8cGVwLWFkZHJlc3MgKm5nU3dpdGNoQ2FzZT1cIidhZGRyZXNzJ1wiIFtmb3JtXT1cImZvcm1cIiBba2V5XT1cImZpZWxkLmtleVwiIFtmb3JtYXR0ZWRWYWx1ZV09XCJmaWVsZC5mb3JtYXR0ZWRWYWx1ZVwiXG4gICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbZ3JvdXBGaWVsZHNdPVwiZmllbGQuZ3JvdXBGaWVsZHNcIlxuICAgICAgICBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCIgW3Zpc2libGVdPVwiZmllbGQudmlzaWJsZVwiIChhZGRyZXNzVmFsdWVDaGFuZ2UpPVwib25BZGRyZXNzVmFsdWVDaGFuZ2VkKCRldmVudCwgZmllbGQpXCI+XG4gICAgPC9wZXAtYWRkcmVzcz5cblxuICAgIDxwZXAtYXR0YWNobWVudCAqbmdTd2l0Y2hDYXNlPVwiJ2F0dGFjaG1lbnQnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW3NyY109XCJmaWVsZC52YWx1ZVwiXG4gICAgICAgIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIiBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiXG4gICAgICAgIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCIgKGVsZW1lbnRDbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAoZmlsZUNoYW5nZSk9XCJvbkZpbGVDaGFuZ2VkKCRldmVudCwgZmllbGQpXCI+XG4gICAgPC9wZXAtYXR0YWNobWVudD5cblxuICAgIDxwZXAtY2hlY2tib3ggKm5nU3dpdGNoQ2FzZT1cIidjaGVja2JveCdcIiBbZm9ybV09XCJmb3JtXCIgW2tleV09XCJmaWVsZC5rZXlcIlxuICAgICAgICBbdmFsdWVdPVwiKGZpZWxkLnZhbHVlPy50b1N0cmluZygpIHwgbG93ZXJjYXNlKSA9PSAndHJ1ZScgfHwgZmllbGQudmFsdWUgPT0gJzEnID8gdHJ1ZSA6IGZhbHNlXCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW3R5cGVdPVwiZmllbGQudHlwZVwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbYWRkaXRpb25hbFZhbHVlXT1cImZpZWxkLmFkZGl0aW9uYWxWYWx1ZVwiXG4gICAgICAgIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFt2aXNpYmxlXT1cImZpZWxkLnZpc2libGVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50LCBmaWVsZClcIiBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIj5cbiAgICA8L3BlcC1jaGVja2JveD5cblxuICAgIDxwZXAtZGF0ZSAqbmdTd2l0Y2hDYXNlPVwiJ2RhdGUnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW3ZhbHVlXT1cImZpZWxkLnZhbHVlXCJcbiAgICAgICAgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCIgW3R5cGVdPVwiZmllbGQudHlwZVwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCIgW3RleHRDb2xvcl09XCJmaWVsZC50ZXh0Q29sb3JcIlxuICAgICAgICBbeEFsaWdubWVudF09XCJmaWVsZC54QWxpZ25tZW50XCIgW3Jvd1NwYW5dPVwiZmllbGQucm93U3BhblwiIFttaW5WYWx1ZV09XCJmaWVsZC5taW5WYWx1ZVwiXG4gICAgICAgIFttYXhWYWx1ZV09XCJmaWVsZC5tYXhWYWx1ZVwiIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFt2aXNpYmxlXT1cImZpZWxkLnZpc2libGVcIlxuICAgICAgICAodmFsdWVDaGFuZ2UpPVwib25WYWx1ZUNoYW5nZWQoJGV2ZW50LCBmaWVsZClcIiBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIj5cbiAgICA8L3BlcC1kYXRlPlxuXG4gICAgPHBlcC1pbWFnZXMtZmlsbXN0cmlwICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VzJ1wiIFt1aWRdPVwidWlkXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW3Nob3dUaXRsZV09XCJzaG93VGl0bGVcIiBbcm93U3Bhbl09XCJmaWVsZC5yb3dTcGFuXCIgW3ZhbHVlXT1cImZpZWxkLnZhbHVlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiPlxuICAgIDwvcGVwLWltYWdlcy1maWxtc3RyaXA+XG5cbiAgICA8cGVwLWltYWdlICpuZ1N3aXRjaENhc2U9XCInaW1hZ2UnXCIgW3VpZF09XCJ1aWRcIiBbZm9ybV09XCJmb3JtXCIgW2tleV09XCJmaWVsZC5rZXlcIiBbc3JjXT1cImZpZWxkLmZvcm1hdHRlZFZhbHVlXCJcbiAgICAgICAgW3NyY0xhcmdlXT1cImZpZWxkLnZhbHVlXCIgW29wdGlvbnNdPVwiZmllbGQub3B0aW9uc1wiIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCIgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiXG4gICAgICAgIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbaW5kaWNhdG9yc0ZpZWxkXT1cImZpZWxkLmluZGljYXRvcnNGaWVsZFwiIFttZW51RmllbGRdPVwiZmllbGQubWVudUZpZWxkXCJcbiAgICAgICAgW2hhc0NhbXBhaWduRmllbGRdPVwiZmllbGQuaGFzQ2FtcGFpZ25GaWVsZFwiIFtzaXplTGltaXRNQl09XCJmaWVsZC5zaXplTGltaXRNQlwiIFtpc0FjdGl2ZV09XCJpc0FjdGl2ZVwiXG4gICAgICAgIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCIgKGVsZW1lbnRDbGljayk9XCJvbkNsaWNrKCRldmVudClcIlxuICAgICAgICAoZmlsZUNoYW5nZSk9XCJvbkZpbGVDaGFuZ2VkKCRldmVudCwgZmllbGQpXCI+XG4gICAgPC9wZXAtaW1hZ2U+XG5cbiAgICA8cGVwLXF1YW50aXR5LXNlbGVjdG9yICpuZ1N3aXRjaENhc2U9XCIncXMnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW2FsbG93RGVjaW1hbF09XCJmaWVsZC5hbGxvd0RlY2ltYWxcIiBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIiBbdHlwZV09XCJmaWVsZC50eXBlXCIgW21hbmRhdG9yeV09XCJmaWVsZC5tYW5kYXRvcnlcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIiBbdGV4dENvbG9yXT1cImZpZWxkLnRleHRDb2xvclwiXG4gICAgICAgIFt4QWxpZ25tZW50XT1cImZpZWxkLnhBbGlnbm1lbnRcIiBbcm93U3Bhbl09XCJmaWVsZC5yb3dTcGFuXCJcbiAgICAgICAgW2FkZGl0aW9uYWxWYWx1ZV09XCJmaWVsZC5hZGRpdGlvbmFsVmFsdWVcIiBbbm90aWZpY2F0aW9uSW5mb109XCJmaWVsZC5ub3RpZmljYXRpb25JbmZvXCIgW2lzQWN0aXZlXT1cImlzQWN0aXZlXCJcbiAgICAgICAgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW3Zpc2libGVdPVwiZmllbGQudmlzaWJsZVwiXG4gICAgICAgIFttaW5GcmFjdGlvbkRpZ2l0c109XCJmaWVsZC5kaWdpdHNOdW1iZXJBZnRlckRlY2ltYWxQb2ludFwiICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiXG4gICAgICAgIChlbGVtZW50Q2xpY2spPVwib25DbGljaygkZXZlbnQpXCI+XG4gICAgPC9wZXAtcXVhbnRpdHktc2VsZWN0b3I+XG4gICAgPCEtLSAoZm9ybVZhbGlkYXRpb25DaGFuZ2UpPVwib25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoJGV2ZW50KVwiICAtLT5cblxuICAgIDxwZXAtcmljaC1odG1sLXRleHRhcmVhICpuZ1N3aXRjaENhc2U9XCIncmljaGh0bWx0ZXh0YXJlYSdcIiBbZm9ybV09XCJmb3JtXCIgW2tleV09XCJmaWVsZC5rZXlcIiBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIiBbbWFuZGF0b3J5XT1cImZpZWxkLm1hbmRhdG9yeVwiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtyZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICAgIFttYXhGaWVsZENoYXJhY3RlcnNdPVwiZmllbGQubWF4RmllbGRDaGFyYWN0ZXJzXCIgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIlxuICAgICAgICBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCIgW3JlbmRlclRpdGxlXT1cImZpZWxkLnJlbmRlclRpdGxlXCJcbiAgICAgICAgW3JlbmRlckVubGFyZ2VCdXR0b25dPVwiZmllbGQucmVuZGVyRW5sYXJnZUJ1dHRvblwiICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiXG4gICAgICAgIFtpc0FjdGl2ZV09XCJpc0FjdGl2ZVwiPlxuICAgIDwvcGVwLXJpY2gtaHRtbC10ZXh0YXJlYT5cblxuICAgIDxwZXAtc2VsZWN0ICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiIFtmb3JtXT1cImZvcm1cIiBba2V5XT1cImZpZWxkLmtleVwiIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICAgIFt0eXBlXT1cImZpZWxkLnR5cGVcIiBbbWFuZGF0b3J5XT1cImZpZWxkLm1hbmRhdG9yeVwiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtyZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICAgIFt4QWxpZ25tZW50XT1cImZpZWxkLnhBbGlnbm1lbnRcIiBbcm93U3Bhbl09XCJmaWVsZC5yb3dTcGFuXCIgW2F1dG9Tb3J0T3B0aW9uc109XCJmaWVsZC5hdXRvU29ydE9wdGlvbnNcIiBbb3B0aW9uc109XCJmaWVsZC5vcHRpb25zXCIgW3Nob3dUaXRsZV09XCJzaG93VGl0bGVcIlxuICAgICAgICBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCIgW3Zpc2libGVdPVwiZmllbGQudmlzaWJsZVwiIFtlbXB0eU9wdGlvbl09XCJmaWVsZC5lbXB0eU9wdGlvblwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiIFxuICAgICAgICBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIj5cbiAgICA8L3BlcC1zZWxlY3Q+XG4gICAgPCEtLSAoZm9ybVZhbGlkYXRpb25DaGFuZ2UpPVwib25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoJGV2ZW50KVwiIC0tPlxuXG4gICAgPHBlcC1zZXBhcmF0b3IgKm5nU3dpdGNoQ2FzZT1cIidzZXBhcmF0b3InXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCI+XG4gICAgPC9wZXAtc2VwYXJhdG9yPlxuXG4gICAgPHBlcC1zaWduYXR1cmUgKm5nU3dpdGNoQ2FzZT1cIidzaWduYXR1cmUnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW3NyY109XCJmaWVsZC52YWx1ZVwiIFtsYWJlbF09XCJmaWVsZC5sYWJlbFwiXG4gICAgICAgIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCIgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIiBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCJcbiAgICAgICAgW3Zpc2libGVdPVwiZmllbGQudmlzaWJsZVwiIChmaWxlQ2hhbmdlKT1cIm9uRmlsZUNoYW5nZWQoJGV2ZW50LCBmaWVsZClcIj5cbiAgICA8L3BlcC1zaWduYXR1cmU+XG5cbiAgICA8cGVwLXRleHRhcmVhICpuZ1N3aXRjaENhc2U9XCIndGV4dGFyZWEnXCIgW2Zvcm1dPVwiZm9ybVwiIFtrZXldPVwiZmllbGQua2V5XCIgW3ZhbHVlXT1cImZpZWxkLnZhbHVlXCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW21hbmRhdG9yeV09XCJmaWVsZC5tYW5kYXRvcnlcIiBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIlxuICAgICAgICBbbWF4RmllbGRDaGFyYWN0ZXJzXT1cImZpZWxkLm1heEZpZWxkQ2hhcmFjdGVyc1wiIFt0ZXh0Q29sb3JdPVwiZmllbGQudGV4dENvbG9yXCIgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiXG4gICAgICAgIFtyb3dTcGFuXT1cImZpZWxkLnJvd1NwYW5cIiBbc2hvd1RpdGxlXT1cInNob3dUaXRsZVwiIFtsYXlvdXRUeXBlXT1cImxheW91dFR5cGVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCJcbiAgICAgICAgKHZhbHVlQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2VkKCRldmVudCwgZmllbGQpXCIgW2lzQWN0aXZlXT1cImlzQWN0aXZlXCI+XG4gICAgPC9wZXAtdGV4dGFyZWE+XG5cbiAgICA8cGVwLXRleHRib3ggKm5nU3dpdGNoQ2FzZT1cIid0ZXh0Ym94J1wiIFtmb3JtXT1cImZvcm1cIiBba2V5XT1cImZpZWxkLmtleVwiIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiXG4gICAgICAgIFthY2Nlc3NvcnldPVwiZmllbGQuYWNjZXNzb3J5XCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCJcbiAgICAgICAgW3BsYWNlaG9sZGVyXT1cImZpZWxkLnBsYWNlaG9sZGVyXCIgW3R5cGVdPVwiZmllbGQudHlwZVwiIFttYW5kYXRvcnldPVwiZmllbGQubWFuZGF0b3J5XCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCJcbiAgICAgICAgW3JlYWRvbmx5XT1cImZpZWxkLnJlYWRvbmx5XCIgW21heEZpZWxkQ2hhcmFjdGVyc109XCJmaWVsZC5tYXhGaWVsZENoYXJhY3RlcnNcIiBbdGV4dENvbG9yXT1cImZpZWxkLnRleHRDb2xvclwiXG4gICAgICAgIFt4QWxpZ25tZW50XT1cImZpZWxkLnhBbGlnbm1lbnRcIiBbcm93U3Bhbl09XCJmaWVsZC5yb3dTcGFuXCIgW3JlZ2V4XT1cImZpZWxkLnJlZ2V4XCIgW3JlZ2V4RXJyb3JdPVwiZmllbGQucmVnZXhFcnJvclwiXG4gICAgICAgIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFttaW5GcmFjdGlvbkRpZ2l0c109XCJmaWVsZC5kaWdpdHNOdW1iZXJBZnRlckRlY2ltYWxQb2ludFwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiIFxuICAgICAgICBbaXNBY3RpdmVdPVwiaXNBY3RpdmVcIiBbdmlzaWJsZV09XCJmaWVsZC52aXNpYmxlXCI+XG4gICAgPC9wZXAtdGV4dGJveD5cbiAgICA8IS0tIChmb3JtVmFsaWRhdGlvbkNoYW5nZSk9XCJvbkZvcm1WYWxpZGF0aW9uQ2hhbmdlZCgkZXZlbnQpXCIgLS0+XG5cbiAgICA8cGVwLWxpbmsgKm5nU3dpdGNoQ2FzZT1cIidsaW5rJ1wiIFtmb3JtXT1cImZvcm1cIiBba2V5XT1cImZpZWxkLmtleVwiIFt2YWx1ZV09XCJmaWVsZC52YWx1ZVwiIFtkaXNwbGF5VmFsdWVdPVwiZmllbGQuZm9ybWF0dGVkVmFsdWVcIlxuICAgICAgICBbbGFiZWxdPVwiZmllbGQubGFiZWxcIiBbcGxhY2Vob2xkZXJdPVwiZmllbGQucGxhY2Vob2xkZXJcIlxuICAgICAgICBbbWFuZGF0b3J5XT1cImZpZWxkLm1hbmRhdG9yeVwiIFtkaXNhYmxlZF09XCJmaWVsZC5kaXNhYmxlZFwiIFtyZWFkb25seV09XCJmaWVsZC5yZWFkb25seVwiXG4gICAgICAgIFttYXhGaWVsZENoYXJhY3RlcnNdPVwiZmllbGQubWF4RmllbGRDaGFyYWN0ZXJzXCIgW3RleHRDb2xvcl09XCJmaWVsZC50ZXh0Q29sb3JcIiBbeEFsaWdubWVudF09XCJmaWVsZC54QWxpZ25tZW50XCJcbiAgICAgICAgW3Jvd1NwYW5dPVwiZmllbGQucm93U3BhblwiIFtzaG93VGl0bGVdPVwic2hvd1RpdGxlXCIgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiIFtpc0FjdGl2ZV09XCJpc0FjdGl2ZVwiIFt2aXNpYmxlXT1cImZpZWxkLnZpc2libGVcIlxuICAgICAgICAoZWxlbWVudENsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiPlxuICAgIDwvcGVwLWxpbms+XG4gICAgPCEtLSAoZm9ybVZhbGlkYXRpb25DaGFuZ2UpPVwib25Gb3JtVmFsaWRhdGlvbkNoYW5nZWQoJGV2ZW50KVwiICAtLT5cblxuICAgIDxwZXAtaW5kaWNhdG9ycyAqbmdTd2l0Y2hDYXNlPVwiJ2luZGljYXRvcnMnXCIgW2tleV09XCJmaWVsZC5rZXlcIiBbdmFsdWVdPVwiZmllbGQudmFsdWVcIiBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCI+XG4gICAgPC9wZXAtaW5kaWNhdG9ycz5cbiAgICA8cGVwLWludGVybmFsLWJ1dHRvbiAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIiBbZm9ybV09XCJmb3JtXCIgW2tleV09XCJmaWVsZC5rZXlcIiBbdmFsdWVdPVwiZmllbGQudmFsdWVcIlxuICAgICAgICBbZm9ybWF0dGVkVmFsdWVdPVwiZmllbGQuZm9ybWF0dGVkVmFsdWVcIiBbbGFiZWxdPVwiZmllbGQubGFiZWxcIlxuICAgICAgICBbcmVmZXJlbmNlT2JqZWN0SW50ZXJuYWxUeXBlXT1cImZpZWxkLnJlZmVyZW5jZU9iamVjdEludGVybmFsVHlwZVwiIFt0eXBlXT1cImZpZWxkLnR5cGVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiZmllbGQuZGlzYWJsZWRcIiBbcmVhZG9ubHldPVwiZmllbGQucmVhZG9ubHlcIiBbeEFsaWdubWVudF09XCJmaWVsZC54QWxpZ25tZW50XCJcbiAgICAgICAgW2xheW91dFR5cGVdPVwibGF5b3V0VHlwZVwiIFt2aXNpYmxlXT1cImZpZWxkLnZpc2libGVcIiAoZWxlbWVudENsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlZCgkZXZlbnQsIGZpZWxkKVwiPlxuICAgIDwvcGVwLWludGVybmFsLWJ1dHRvbj5cbiAgICA8cGVwLWludGVybmFsLW1lbnUgKm5nU3dpdGNoQ2FzZT1cIidtZW51J1wiIFtrZXldPVwiZmllbGQua2V5XCIgW2xhYmVsXT1cImZpZWxkLmxhYmVsXCIgW2Rpc2FibGVkXT1cImZpZWxkLmRpc2FibGVkXCJcbiAgICAgICAgW3hBbGlnbm1lbnRdPVwiZmllbGQueEFsaWdubWVudFwiIFtvcHRpb25zXT1cImZpZWxkLm9wdGlvbnNcIiBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCJcbiAgICAgICAgKGVsZW1lbnRDbGljayk9XCJvbkNsaWNrKCRldmVudClcIj5cbiAgICA8L3BlcC1pbnRlcm5hbC1tZW51PlxuICAgIDxwZXAtaW50ZXJuYWwtcGFnZSAqbmdTd2l0Y2hDYXNlPVwiJ2ludGVybmFsUGFnZSdcIiBbZmllbGRdPVwiZmllbGRcIiBbbGF5b3V0VHlwZV09XCJsYXlvdXRUeXBlXCJcbiAgICAgICAgKGludGVybmFsRm9ybUZpZWxkQ2xpY2spPVwib25JbnRlcm5hbEZvcm1GaWVsZENsaWNrKCRldmVudClcIlxuICAgICAgICAoaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UpPVwib25JbnRlcm5hbEZvcm1GaWVsZENoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvcGVwLWludGVybmFsLXBhZ2U+XG5cbiAgICA8cGVwLWludGVybmFsLWNhcnVzZWwgKm5nU3dpdGNoQ2FzZT1cIidpbnRlcm5hbENhcnVzZWwnXCIgW2ZpZWxkXT1cImZpZWxkXCJcbiAgICAgICAgKGludGVybmFsRm9ybUZpZWxkQ2xpY2spPVwib25JbnRlcm5hbEZvcm1GaWVsZENsaWNrKCRldmVudClcIlxuICAgICAgICAoaW50ZXJuYWxGb3JtRmllbGRDaGFuZ2UpPVwib25JbnRlcm5hbEZvcm1GaWVsZENoYW5nZWQoJGV2ZW50KVwiPlxuICAgIDwvcGVwLWludGVybmFsLWNhcnVzZWw+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncGxhY2Vob2xkZXInXCI+XG4gICAgPC9uZy1jb250YWluZXI+XG48L25nLWNvbnRhaW5lcj4iXX0=