@dsivd/prestations-ng 14.5.20 → 15.0.0-beta3

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 (334) hide show
  1. package/CHANGELOG.md +33 -6
  2. package/CONTRIBUTING.md +1 -1
  3. package/README.md +2 -0
  4. package/UPGRADING_V14.md +8 -11
  5. package/UPGRADING_V15.md +51 -0
  6. package/dsivd-prestations-ng-v15.0.0-beta3.tgz +0 -0
  7. package/esm2020/abstract-page-component.mjs +226 -0
  8. package/{esm2015/directives/currency-formatter.directive.js → esm2020/directives/currency-formatter.directive.mjs} +3 -3
  9. package/{esm2015/directives/formatter.module.js → esm2020/directives/formatter.module.mjs} +4 -4
  10. package/{esm2015/directives/iban-formatter.directive.js → esm2020/directives/iban-formatter.directive.mjs} +3 -3
  11. package/{esm2015/directives/ide-formatter.directive.js → esm2020/directives/ide-formatter.directive.mjs} +3 -3
  12. package/{esm2015/directives/ndc-formatter.directive.js → esm2020/directives/ndc-formatter.directive.mjs} +3 -3
  13. package/{esm2015/dsivd-prestations-ng.js → esm2020/dsivd-prestations-ng.mjs} +0 -0
  14. package/{esm2015/foehn-address/address.type.js → esm2020/foehn-address/address.type.mjs} +0 -0
  15. package/{esm2015/foehn-address/foehn-address.module.js → esm2020/foehn-address/foehn-address.module.mjs} +4 -4
  16. package/{esm2015/foehn-address/foehn-display-address.component.js → esm2020/foehn-address/foehn-display-address.component.mjs} +5 -9
  17. package/esm2020/foehn-address/foehn-input-address.component.mjs +366 -0
  18. package/esm2020/foehn-address/foehn-input-foreign-locality.component.mjs +66 -0
  19. package/{esm2015/foehn-address/foehn-input-foreign-street.component.js → esm2020/foehn-address/foehn-input-foreign-street.component.mjs} +6 -11
  20. package/esm2020/foehn-autocomplete/foehn-autocomplete.component.mjs +548 -0
  21. package/{esm2015/foehn-autocomplete/foehn-autocomplete.module.js → esm2020/foehn-autocomplete/foehn-autocomplete.module.mjs} +4 -4
  22. package/esm2020/foehn-boolean/foehn-boolean-checkbox.component.mjs +28 -0
  23. package/esm2020/foehn-boolean/foehn-boolean-radio.component.mjs +37 -0
  24. package/{esm2015/foehn-boolean/foehn-boolean.module.js → esm2020/foehn-boolean/foehn-boolean.module.mjs} +4 -4
  25. package/{esm2015/foehn-breadcrumb/breadcrumb-event.service.js → esm2020/foehn-breadcrumb/breadcrumb-event.service.mjs} +10 -10
  26. package/{esm2015/foehn-breadcrumb/breadcrumb.js → esm2020/foehn-breadcrumb/breadcrumb.mjs} +0 -0
  27. package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.component.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.component.mjs} +5 -9
  28. package/{esm2015/foehn-breadcrumb/foehn-breadcrumb.module.js → esm2020/foehn-breadcrumb/foehn-breadcrumb.module.mjs} +4 -4
  29. package/esm2020/foehn-checkables/foehn-checkable-group.component.mjs +283 -0
  30. package/{esm2015/foehn-checkables/foehn-checkables.module.js → esm2020/foehn-checkables/foehn-checkables.module.mjs} +4 -4
  31. package/esm2020/foehn-checkables/foehn-checkbox.component.mjs +36 -0
  32. package/esm2020/foehn-checkables/foehn-radio.component.mjs +63 -0
  33. package/esm2020/foehn-checkables/foehn-select.component.mjs +62 -0
  34. package/{esm2015/foehn-checkables/form-select-option-group.js → esm2020/foehn-checkables/form-select-option-group.mjs} +0 -0
  35. package/{esm2015/foehn-checkables/form-select-option.js → esm2020/foehn-checkables/form-select-option.mjs} +0 -0
  36. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal-content.js → esm2020/foehn-confirm-modal/foehn-confirm-modal-content.mjs} +0 -0
  37. package/esm2020/foehn-confirm-modal/foehn-confirm-modal.component.mjs +39 -0
  38. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.module.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.module.mjs} +4 -4
  39. package/{esm2015/foehn-confirm-modal/foehn-confirm-modal.service.js → esm2020/foehn-confirm-modal/foehn-confirm-modal.service.mjs} +3 -3
  40. package/{esm2015/foehn-date-picker/date-picker-navigation.helper.js → esm2020/foehn-date-picker/date-picker-navigation.helper.mjs} +7 -7
  41. package/{esm2015/foehn-date-picker/date-picker.helper.js → esm2020/foehn-date-picker/date-picker.helper.mjs} +4 -4
  42. package/{esm2015/foehn-date-picker/day-month.type.js → esm2020/foehn-date-picker/day-month.type.mjs} +0 -0
  43. package/{esm2015/foehn-date-picker/focused-day.type.js → esm2020/foehn-date-picker/focused-day.type.mjs} +0 -0
  44. package/{esm2015/foehn-date-picker/foehn-date-picker.component.js → esm2020/foehn-date-picker/foehn-date-picker.component.mjs} +22 -25
  45. package/{esm2015/foehn-date-picker/foehn-date-picker.module.js → esm2020/foehn-date-picker/foehn-date-picker.module.mjs} +4 -4
  46. package/{esm2015/foehn-date-picker/month-year.type.js → esm2020/foehn-date-picker/month-year.type.mjs} +0 -0
  47. package/esm2020/foehn-date-picker-button/foehn-date-picker-button.component.mjs +70 -0
  48. package/{esm2015/foehn-date-picker-button/foehn-date-picker-button.module.js → esm2020/foehn-date-picker-button/foehn-date-picker-button.module.mjs} +4 -4
  49. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.mjs} +8 -11
  50. package/{esm2015/foehn-debug-summary/foehn-debug-summary.component.module.js → esm2020/foehn-debug-summary/foehn-debug-summary.component.module.mjs} +4 -4
  51. package/esm2020/foehn-decision-electronique/foehn-decision-electronique.component.mjs +36 -0
  52. package/{esm2015/foehn-decision-electronique/foehn-decision-electronique.module.js → esm2020/foehn-decision-electronique/foehn-decision-electronique.module.mjs} +4 -4
  53. package/esm2020/foehn-footer/foehn-footer.component.mjs +129 -0
  54. package/{esm2015/foehn-footer/foehn-footer.module.js → esm2020/foehn-footer/foehn-footer.module.mjs} +4 -4
  55. package/{esm2015/foehn-footer/footer-link.type.js → esm2020/foehn-footer/footer-link.type.mjs} +0 -0
  56. package/{esm2015/foehn-form/foehn-form.component.js → esm2020/foehn-form/foehn-form.component.mjs} +5 -8
  57. package/{esm2015/foehn-form/foehn-form.module.js → esm2020/foehn-form/foehn-form.module.mjs} +4 -4
  58. package/{esm2015/foehn-growl/foehn-growl.component.js → esm2020/foehn-growl/foehn-growl.component.mjs} +8 -12
  59. package/{esm2015/foehn-growl/foehn-growl.module.js → esm2020/foehn-growl/foehn-growl.module.mjs} +4 -4
  60. package/{esm2015/foehn-growl/growl-broker.service.js → esm2020/foehn-growl/growl-broker.service.mjs} +3 -3
  61. package/{esm2015/foehn-growl/growl-message.js → esm2020/foehn-growl/growl-message.mjs} +0 -0
  62. package/{esm2015/foehn-growl/growl-types.js → esm2020/foehn-growl/growl-types.mjs} +0 -0
  63. package/esm2020/foehn-header/foehn-header.component.mjs +69 -0
  64. package/{esm2015/foehn-header/foehn-header.module.js → esm2020/foehn-header/foehn-header.module.mjs} +4 -4
  65. package/{esm2015/foehn-header/foehn-skip-link.component.js → esm2020/foehn-header/foehn-skip-link.component.mjs} +5 -8
  66. package/{esm2015/foehn-help-modal/foehn-help-modal.component.js → esm2020/foehn-help-modal/foehn-help-modal.component.mjs} +5 -9
  67. package/{esm2015/foehn-help-modal/foehn-help-modal.module.js → esm2020/foehn-help-modal/foehn-help-modal.module.mjs} +4 -4
  68. package/{esm2015/foehn-help-modal/foehn-help-modal.type.js → esm2020/foehn-help-modal/foehn-help-modal.type.mjs} +0 -0
  69. package/{esm2015/foehn-icons/abstract-icon-component.js → esm2020/foehn-icons/abstract-icon-component.mjs} +4 -4
  70. package/{esm2015/foehn-icons/foehn-icon-calendar.component.js → esm2020/foehn-icons/foehn-icon-calendar.component.mjs} +5 -8
  71. package/{esm2015/foehn-icons/foehn-icon-check-square-o.component.js → esm2020/foehn-icons/foehn-icon-check-square-o.component.mjs} +5 -8
  72. package/{esm2015/foehn-icons/foehn-icon-check.component.js → esm2020/foehn-icons/foehn-icon-check.component.mjs} +5 -8
  73. package/{esm2015/foehn-icons/foehn-icon-chevron-down.component.js → esm2020/foehn-icons/foehn-icon-chevron-down.component.mjs} +5 -8
  74. package/{esm2015/foehn-icons/foehn-icon-chevron-left.component.js → esm2020/foehn-icons/foehn-icon-chevron-left.component.mjs} +5 -8
  75. package/{esm2015/foehn-icons/foehn-icon-chevron-right.component.js → esm2020/foehn-icons/foehn-icon-chevron-right.component.mjs} +5 -8
  76. package/{esm2015/foehn-icons/foehn-icon-chevron-up.component.js → esm2020/foehn-icons/foehn-icon-chevron-up.component.mjs} +5 -8
  77. package/{esm2015/foehn-icons/foehn-icon-clock.component.js → esm2020/foehn-icons/foehn-icon-clock.component.mjs} +5 -8
  78. package/{esm2015/foehn-icons/foehn-icon-comment-dots.component.js → esm2020/foehn-icons/foehn-icon-comment-dots.component.mjs} +5 -8
  79. package/{esm2015/foehn-icons/foehn-icon-edit.component.js → esm2020/foehn-icons/foehn-icon-edit.component.mjs} +5 -8
  80. package/{esm2015/foehn-icons/foehn-icon-external-link-alt.component.js → esm2020/foehn-icons/foehn-icon-external-link-alt.component.mjs} +5 -8
  81. package/{esm2015/foehn-icons/foehn-icon-file-pdf.component.js → esm2020/foehn-icons/foehn-icon-file-pdf.component.mjs} +5 -8
  82. package/{esm2015/foehn-icons/foehn-icon-info-circle.component.js → esm2020/foehn-icons/foehn-icon-info-circle.component.mjs} +5 -8
  83. package/{esm2015/foehn-icons/foehn-icon-lock.component.js → esm2020/foehn-icons/foehn-icon-lock.component.mjs} +5 -8
  84. package/{esm2015/foehn-icons/foehn-icon-map-marker.component.js → esm2020/foehn-icons/foehn-icon-map-marker.component.mjs} +5 -8
  85. package/{esm2015/foehn-icons/foehn-icon-minus-circle.component.js → esm2020/foehn-icons/foehn-icon-minus-circle.component.mjs} +5 -8
  86. package/{esm2015/foehn-icons/foehn-icon-plus-circle.component.js → esm2020/foehn-icons/foehn-icon-plus-circle.component.mjs} +5 -8
  87. package/{esm2015/foehn-icons/foehn-icon-plus-square.component.js → esm2020/foehn-icons/foehn-icon-plus-square.component.mjs} +5 -8
  88. package/{esm2015/foehn-icons/foehn-icon-search.component.js → esm2020/foehn-icons/foehn-icon-search.component.mjs} +5 -8
  89. package/{esm2015/foehn-icons/foehn-icon-times.component.js → esm2020/foehn-icons/foehn-icon-times.component.mjs} +5 -8
  90. package/{esm2015/foehn-icons/foehn-icon-trash-alt.component.js → esm2020/foehn-icons/foehn-icon-trash-alt.component.mjs} +5 -8
  91. package/{esm2015/foehn-icons/foehn-icon-unlock-alt.component.js → esm2020/foehn-icons/foehn-icon-unlock-alt.component.mjs} +5 -8
  92. package/{esm2015/foehn-icons/foehn-icons.module.js → esm2020/foehn-icons/foehn-icons.module.mjs} +4 -4
  93. package/esm2020/foehn-input/foehn-input-email.component.mjs +50 -0
  94. package/esm2020/foehn-input/foehn-input-hidden.component.mjs +53 -0
  95. package/{esm2015/foehn-input/foehn-input-number.component.js → esm2020/foehn-input/foehn-input-number.component.mjs} +10 -15
  96. package/esm2020/foehn-input/foehn-input-password.component.mjs +50 -0
  97. package/{esm2015/foehn-input/foehn-input-phone.component.js → esm2020/foehn-input/foehn-input-phone.component.mjs} +6 -11
  98. package/{esm2015/foehn-input/foehn-input-string.component.js → esm2020/foehn-input/foehn-input-string.component.mjs} +3 -3
  99. package/{esm2015/foehn-input/foehn-input-text.component.js → esm2020/foehn-input/foehn-input-text.component.mjs} +6 -11
  100. package/{esm2015/foehn-input/foehn-input-textarea.component.js → esm2020/foehn-input/foehn-input-textarea.component.mjs} +6 -11
  101. package/{esm2015/foehn-input/foehn-input.component.js → esm2020/foehn-input/foehn-input.component.mjs} +14 -14
  102. package/{esm2015/foehn-input/foehn-input.module.js → esm2020/foehn-input/foehn-input.module.mjs} +4 -4
  103. package/{esm2015/foehn-input/pattern.const.js → esm2020/foehn-input/pattern.const.mjs} +0 -0
  104. package/esm2020/foehn-input-date/foehn-input-date.component.mjs +90 -0
  105. package/esm2020/foehn-input-time/foehn-input-time.component.mjs +75 -0
  106. package/esm2020/foehn-list/foehn-list.component.mjs +128 -0
  107. package/{esm2015/foehn-list/foehn-list.module.js → esm2020/foehn-list/foehn-list.module.mjs} +4 -4
  108. package/{esm2015/foehn-list/page-change-event.js → esm2020/foehn-list/page-change-event.mjs} +0 -0
  109. package/esm2020/foehn-menu-prestation/abstract-list-item-detail-page.component.mjs +122 -0
  110. package/{esm2015/foehn-menu-prestation/abstract-menu-page.component.js → esm2020/foehn-menu-prestation/abstract-menu-page.component.mjs} +3 -3
  111. package/{esm2015/foehn-menu-prestation/abstract-page-from-menu.component.js → esm2020/foehn-menu-prestation/abstract-page-from-menu.component.mjs} +3 -3
  112. package/{esm2015/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.js → esm2020/foehn-menu-prestation/foehn-error-pill/foehn-error-pill.component.mjs} +5 -8
  113. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item-description.mjs} +0 -0
  114. package/{esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-item.js → esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-item.mjs} +0 -0
  115. package/esm2020/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.mjs +71 -0
  116. package/esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.mjs +35 -0
  117. package/{esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.js → esm2020/foehn-menu-prestation/foehn-menu-items/foehn-menu-item-transmit/foehn-menu-item-transmit.component.mjs} +5 -8
  118. package/{esm2015/foehn-menu-prestation/foehn-menu-prestation.module.js → esm2020/foehn-menu-prestation/foehn-menu-prestation.module.mjs} +4 -4
  119. package/{esm2015/foehn-misc/foehn-abbr.component.js → esm2020/foehn-misc/foehn-abbr.component.mjs} +5 -9
  120. package/{esm2015/foehn-misc/foehn-misc.module.js → esm2020/foehn-misc/foehn-misc.module.mjs} +4 -4
  121. package/esm2020/foehn-modal/foehn-modal.component.mjs +96 -0
  122. package/{esm2015/foehn-modal/foehn-modal.module.js → esm2020/foehn-modal/foehn-modal.module.mjs} +4 -4
  123. package/esm2020/foehn-nav13/foehn-input-nav13.component.mjs +94 -0
  124. package/{esm2015/foehn-nav13/foehn-input-nav13.module.js → esm2020/foehn-nav13/foehn-input-nav13.module.mjs} +4 -4
  125. package/esm2020/foehn-navigation/foehn-navigation.component.mjs +94 -0
  126. package/{esm2015/foehn-navigation/foehn-navigation.module.js → esm2020/foehn-navigation/foehn-navigation.module.mjs} +4 -4
  127. package/{esm2015/foehn-navigation/foehn-navigation.service.js → esm2020/foehn-navigation/foehn-navigation.service.mjs} +12 -12
  128. package/{esm2015/foehn-notfound/foehn-notfound.component.js → esm2020/foehn-notfound/foehn-notfound.component.mjs} +5 -8
  129. package/{esm2015/foehn-notfound/foehn-notfound.module.js → esm2020/foehn-notfound/foehn-notfound.module.mjs} +4 -4
  130. package/{esm2015/foehn-page/foehn-page-counter.component.js → esm2020/foehn-page/foehn-page-counter.component.mjs} +5 -8
  131. package/esm2020/foehn-page/foehn-page-modal.component.mjs +52 -0
  132. package/{esm2015/foehn-page/foehn-page-modal.service.js → esm2020/foehn-page/foehn-page-modal.service.mjs} +3 -3
  133. package/esm2020/foehn-page/foehn-page.component.mjs +215 -0
  134. package/{esm2015/foehn-page/foehn-page.module.js → esm2020/foehn-page/foehn-page.module.mjs} +4 -4
  135. package/{esm2015/foehn-page/foehn-page.service.js → esm2020/foehn-page/foehn-page.service.mjs} +4 -4
  136. package/{esm2015/foehn-recap-section/foehn-recap-section.component.js → esm2020/foehn-recap-section/foehn-recap-section.component.mjs} +5 -8
  137. package/{esm2015/foehn-recap-section/foehn-recap-section.module.js → esm2020/foehn-recap-section/foehn-recap-section.module.mjs} +4 -4
  138. package/{esm2015/foehn-recap-section/foehn-recap-section.type.js → esm2020/foehn-recap-section/foehn-recap-section.type.mjs} +0 -0
  139. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.component.mjs} +5 -9
  140. package/{esm2015/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.js → esm2020/foehn-remaining-alerts-summary/foehn-remaining-alerts-summary.module.mjs} +4 -4
  141. package/esm2020/foehn-status-progress-bar/foehn-status-progress-bar.component.mjs +37 -0
  142. package/{esm2015/foehn-status-progress-bar/foehn-status-progress-bar.module.js → esm2020/foehn-status-progress-bar/foehn-status-progress-bar.module.mjs} +4 -4
  143. package/{esm2015/foehn-table/foehn-table-column-configuration.js → esm2020/foehn-table/foehn-table-column-configuration.mjs} +0 -0
  144. package/{esm2015/foehn-table/foehn-table-page-change-event.js → esm2020/foehn-table/foehn-table-page-change-event.mjs} +0 -0
  145. package/esm2020/foehn-table/foehn-table.component.mjs +147 -0
  146. package/{esm2015/foehn-table/foehn-table.module.js → esm2020/foehn-table/foehn-table.module.mjs} +4 -4
  147. package/{esm2015/foehn-table/tableSort.js → esm2020/foehn-table/tableSort.mjs} +0 -0
  148. package/{esm2015/foehn-upload/abstract-foehn-uploader.component.js → esm2020/foehn-upload/abstract-foehn-uploader.component.mjs} +17 -17
  149. package/{esm2015/foehn-upload/document-reference.js → esm2020/foehn-upload/document-reference.mjs} +0 -0
  150. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.service.mjs} +3 -3
  151. package/{esm2015/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.js → esm2020/foehn-upload/foehn-bo-multi-upload/bo-multi-upload.type.mjs} +0 -0
  152. package/esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.mjs +165 -0
  153. package/{esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.js → esm2020/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.module.mjs} +4 -4
  154. package/esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.mjs +214 -0
  155. package/{esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.js → esm2020/foehn-upload/foehn-multi-upload/foehn-multi-upload.module.mjs} +4 -4
  156. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.service.mjs} +3 -3
  157. package/{esm2015/foehn-upload/foehn-multi-upload/multi-upload.type.js → esm2020/foehn-upload/foehn-multi-upload/multi-upload.type.mjs} +0 -0
  158. package/{esm2015/foehn-upload/foehn-multi-upload/pending-upload.service.js → esm2020/foehn-upload/foehn-multi-upload/pending-upload.service.mjs} +3 -3
  159. package/esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.mjs +163 -0
  160. package/{esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.js → esm2020/foehn-upload/foehn-picture-upload/foehn-picture-upload.module.mjs} +4 -4
  161. package/{esm2015/foehn-upload/pending-upload.type.js → esm2020/foehn-upload/pending-upload.type.mjs} +0 -0
  162. package/esm2020/foehn-upload/uploader.helper.mjs +326 -0
  163. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.component.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.component.mjs} +5 -8
  164. package/{esm2015/foehn-user-connected-as/foehn-user-connected-as.module.js → esm2020/foehn-user-connected-as/foehn-user-connected-as.module.mjs} +4 -4
  165. package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.component.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.component.mjs} +5 -9
  166. package/{esm2015/foehn-validation-alert-summary/foehn-validation-alert-summary.module.js → esm2020/foehn-validation-alert-summary/foehn-validation-alert-summary.module.mjs} +4 -4
  167. package/esm2020/foehn-validation-alerts/foehn-validation-alerts.component.mjs +29 -0
  168. package/{esm2015/foehn-validation-alerts/foehn-validation-alerts.module.js → esm2020/foehn-validation-alerts/foehn-validation-alerts.module.mjs} +4 -4
  169. package/esm2020/form-error.mjs +2 -0
  170. package/esm2020/form-post-response.mjs +10 -0
  171. package/{esm2015/gesdem/gesdem-error-handler.service.js → esm2020/gesdem/gesdem-error-handler.service.mjs} +3 -3
  172. package/esm2020/gesdem/gesdem-event.service.mjs +38 -0
  173. package/esm2020/gesdem/gesdem-handler.service.mjs +151 -0
  174. package/{esm2015/gesdem/gesdem-loader.guard.js → esm2020/gesdem/gesdem-loader.guard.mjs} +3 -3
  175. package/{esm2015/gesdem/gesdem-statut-utils.js → esm2020/gesdem/gesdem-statut-utils.mjs} +0 -0
  176. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.js → esm2020/gesdem-action-recovery/gesdem-action-recovery-login/gesdem-action-recovery-login.component.mjs} +5 -10
  177. package/esm2020/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.mjs +128 -0
  178. package/{esm2015/gesdem-action-recovery/gesdem-action-recovery.module.js → esm2020/gesdem-action-recovery/gesdem-action-recovery.module.mjs} +4 -4
  179. package/esm2020/gesdem-action-recovery/gesdem-action-recovery.service.mjs +82 -0
  180. package/{esm2015/gesdem-action-recovery/reprise-info.js → esm2020/gesdem-action-recovery/reprise-info.mjs} +0 -0
  181. package/esm2020/gesdem-confirmation/gesdem-confirmation.component.mjs +189 -0
  182. package/{esm2015/gesdem-confirmation/gesdem-confirmation.module.js → esm2020/gesdem-confirmation/gesdem-confirmation.module.mjs} +4 -4
  183. package/{esm2015/gesdem-error/gesdem-error.component.js → esm2020/gesdem-error/gesdem-error.component.mjs} +5 -9
  184. package/{esm2015/gesdem-error/gesdem-error.module.js → esm2020/gesdem-error/gesdem-error.module.mjs} +4 -4
  185. package/{esm2015/helpers/object.helper.js → esm2020/helpers/object.helper.mjs} +2 -2
  186. package/{esm2015/i18n-form.js → esm2020/i18n-form.mjs} +0 -0
  187. package/{esm2015/index.js → esm2020/index.mjs} +3 -3
  188. package/{esm2015/pipes/currency.pipe.js → esm2020/pipes/currency.pipe.mjs} +3 -3
  189. package/{esm2015/pipes/date.pipe.js → esm2020/pipes/date.pipe.mjs} +3 -3
  190. package/{esm2015/pipes/formatIde.pipe.js → esm2020/pipes/formatIde.pipe.mjs} +3 -3
  191. package/{esm2015/pipes/pipes.module.js → esm2020/pipes/pipes.module.mjs} +4 -4
  192. package/{esm2015/prestations-ng-core.module.js → esm2020/prestations-ng-core.module.mjs} +4 -4
  193. package/{esm2015/sdk-appinfo/application-info.js → esm2020/sdk-appinfo/application-info.mjs} +0 -0
  194. package/esm2020/sdk-appinfo/application-info.service.mjs +102 -0
  195. package/{esm2015/sdk-currency/currency.helper.js → esm2020/sdk-currency/currency.helper.mjs} +3 -3
  196. package/esm2020/sdk-date/date.helper.mjs +91 -0
  197. package/{esm2015/sdk-dictionary/default-dictionary.js → esm2020/sdk-dictionary/default-dictionary.mjs} +0 -0
  198. package/{esm2015/sdk-dictionary/sdk-dictionary.module.js → esm2020/sdk-dictionary/sdk-dictionary.module.mjs} +4 -4
  199. package/{esm2015/sdk-dictionary/sdk-dictionary.pipe.js → esm2020/sdk-dictionary/sdk-dictionary.pipe.mjs} +5 -5
  200. package/{esm2015/sdk-dictionary/sdk-dictionary.service.js → esm2020/sdk-dictionary/sdk-dictionary.service.mjs} +3 -3
  201. package/{esm2015/sdk-epayment/model/EPaymentParameters.js → esm2020/sdk-epayment/model/EPaymentParameters.mjs} +0 -0
  202. package/esm2020/sdk-epayment/sdk-epayment.component.mjs +79 -0
  203. package/{esm2015/sdk-epayment/sdk-epayment.module.js → esm2020/sdk-epayment/sdk-epayment.module.mjs} +4 -4
  204. package/esm2020/sdk-epayment/sdk-epayment.service.mjs +51 -0
  205. package/{esm2015/sdk-recaptcha/grecaptcha/grecaptcha.component.js → esm2020/sdk-recaptcha/grecaptcha/grecaptcha.component.mjs} +5 -9
  206. package/esm2020/sdk-recaptcha/recaptcha.service.mjs +162 -0
  207. package/esm2020/sdk-recaptcha/sdk-recaptcha.component.mjs +68 -0
  208. package/{esm2015/sdk-recaptcha/sdk-recaptcha.module.js → esm2020/sdk-recaptcha/sdk-recaptcha.module.mjs} +4 -4
  209. package/{esm2015/sdk-redirect/iam-expired-interceptor.service.js → esm2020/sdk-redirect/iam-expired-interceptor.service.mjs} +3 -3
  210. package/{esm2015/sdk-redirect/redirect.component.js → esm2020/sdk-redirect/redirect.component.mjs} +5 -9
  211. package/{esm2015/sdk-redirect/sdk-redirect.module.js → esm2020/sdk-redirect/sdk-redirect.module.mjs} +4 -4
  212. package/{esm2015/sdk-session-info/session-info-data.js → esm2020/sdk-session-info/session-info-data.mjs} +1 -1
  213. package/{esm2015/sdk-session-info/session-info-with-application.service.js → esm2020/sdk-session-info/session-info-with-application.service.mjs} +3 -3
  214. package/esm2020/sdk-session-info/session-info.service.mjs +73 -0
  215. package/{esm2015/sdk-support-alert/support-alert-container.component.js → esm2020/sdk-support-alert/support-alert-container.component.mjs} +5 -9
  216. package/esm2020/sdk-support-alert/support-alert.component.mjs +34 -0
  217. package/{esm2015/sdk-support-alert/support-alert.model.js → esm2020/sdk-support-alert/support-alert.model.mjs} +0 -0
  218. package/{esm2015/sdk-support-alert/support-alert.module.js → esm2020/sdk-support-alert/support-alert.module.mjs} +4 -4
  219. package/{esm2015/sdk-support-alert/support-alert.service.js → esm2020/sdk-support-alert/support-alert.service.mjs} +3 -3
  220. package/{esm2015/service-locator.js → esm2020/service-locator.mjs} +0 -0
  221. package/esm2020/supported-browser.mjs +2 -0
  222. package/esm2020/validation/validation-handler.service.mjs +44 -0
  223. package/fesm2015/{dsivd-prestations-ng.js → dsivd-prestations-ng.mjs} +973 -1300
  224. package/fesm2015/dsivd-prestations-ng.mjs.map +1 -0
  225. package/fesm2020/dsivd-prestations-ng.mjs +11532 -0
  226. package/fesm2020/dsivd-prestations-ng.mjs.map +1 -0
  227. package/foehn-breadcrumb/breadcrumb-event.service.d.ts +2 -2
  228. package/foehn-checkables/foehn-checkable-group.component.d.ts +3 -3
  229. package/foehn-confirm-modal/foehn-confirm-modal.component.d.ts +1 -1
  230. package/foehn-date-picker/date-picker-navigation.helper.d.ts +1 -1
  231. package/foehn-date-picker/date-picker.helper.d.ts +1 -1
  232. package/foehn-date-picker/foehn-date-picker.component.d.ts +3 -3
  233. package/foehn-date-picker-button/foehn-date-picker-button.component.d.ts +2 -2
  234. package/foehn-debug-summary/foehn-debug-summary.component.d.ts +1 -1
  235. package/foehn-growl/foehn-growl.component.d.ts +1 -1
  236. package/foehn-header/foehn-header.component.d.ts +2 -2
  237. package/foehn-input/foehn-input-number.component.d.ts +1 -1
  238. package/foehn-input/foehn-input.component.d.ts +4 -4
  239. package/foehn-list/foehn-list.component.d.ts +2 -2
  240. package/foehn-menu-prestation/abstract-list-item-detail-page.component.d.ts +1 -1
  241. package/foehn-modal/foehn-modal.component.d.ts +1 -1
  242. package/foehn-navigation/foehn-navigation.service.d.ts +2 -2
  243. package/foehn-page/foehn-page.service.d.ts +2 -2
  244. package/foehn-table/foehn-table.component.d.ts +2 -2
  245. package/foehn-upload/abstract-foehn-uploader.component.d.ts +2 -2
  246. package/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.d.ts +1 -1
  247. package/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.d.ts +2 -2
  248. package/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.d.ts +1 -1
  249. package/foehn-upload/uploader.helper.d.ts +12 -12
  250. package/foehn-validation-alerts/foehn-validation-alerts.component.d.ts +3 -3
  251. package/{error-template.d.ts → form-error.d.ts} +1 -1
  252. package/form-post-response.d.ts +17 -0
  253. package/gesdem/gesdem-event.service.d.ts +6 -6
  254. package/gesdem/gesdem-handler.service.d.ts +3 -3
  255. package/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.d.ts +2 -2
  256. package/gesdem-action-recovery/gesdem-action-recovery.service.d.ts +2 -2
  257. package/gesdem-confirmation/gesdem-confirmation.component.d.ts +4 -4
  258. package/index.d.ts +2 -2
  259. package/package.json +26 -13
  260. package/schematics/ng-add/index.js +6 -6
  261. package/schematics/ng-update/migrations/update-13_1_0/index.js +2 -2
  262. package/schematics/ng-update/migrations/update-13_2_0/index.js +3 -3
  263. package/schematics/ng-update/migrations/update-13_5_1/index.js +2 -2
  264. package/schematics/ng-update/migrations/update-14_5_0/index.js +2 -2
  265. package/schematics/update-karma-config/index.js +2 -2
  266. package/schematics/utility/migrate-to-karma-coverage.js +3 -3
  267. package/sdk-appinfo/application-info.service.d.ts +2 -2
  268. package/sdk-epayment/sdk-epayment.component.d.ts +3 -13
  269. package/sdk-epayment/sdk-epayment.service.d.ts +2 -5
  270. package/sdk-recaptcha/recaptcha.service.d.ts +2 -2
  271. package/sdk-recaptcha/sdk-recaptcha.component.d.ts +2 -2
  272. package/sdk-session-info/session-info-data.d.ts +0 -1
  273. package/sdk-session-info/session-info.service.d.ts +9 -2
  274. package/validation/validation-handler.service.d.ts +4 -4
  275. package/backend-response.d.ts +0 -18
  276. package/bundles/dsivd-prestations-ng.umd.js +0 -13472
  277. package/bundles/dsivd-prestations-ng.umd.js.map +0 -1
  278. package/dsivd-prestations-ng-v14.5.20.tgz +0 -0
  279. package/esm2015/abstract-page-component.js +0 -224
  280. package/esm2015/backend-response.js +0 -10
  281. package/esm2015/error-template.js +0 -2
  282. package/esm2015/foehn-address/foehn-input-address.component.js +0 -365
  283. package/esm2015/foehn-address/foehn-input-foreign-locality.component.js +0 -71
  284. package/esm2015/foehn-autocomplete/foehn-autocomplete.component.js +0 -556
  285. package/esm2015/foehn-boolean/foehn-boolean-checkbox.component.js +0 -32
  286. package/esm2015/foehn-boolean/foehn-boolean-radio.component.js +0 -41
  287. package/esm2015/foehn-checkables/foehn-checkable-group.component.js +0 -294
  288. package/esm2015/foehn-checkables/foehn-checkbox.component.js +0 -40
  289. package/esm2015/foehn-checkables/foehn-radio.component.js +0 -67
  290. package/esm2015/foehn-checkables/foehn-select.component.js +0 -66
  291. package/esm2015/foehn-confirm-modal/foehn-confirm-modal.component.js +0 -42
  292. package/esm2015/foehn-date-picker-button/foehn-date-picker-button.component.js +0 -74
  293. package/esm2015/foehn-decision-electronique/foehn-decision-electronique.component.js +0 -40
  294. package/esm2015/foehn-footer/foehn-footer.component.js +0 -132
  295. package/esm2015/foehn-header/foehn-header.component.js +0 -73
  296. package/esm2015/foehn-input/foehn-input-email.component.js +0 -55
  297. package/esm2015/foehn-input/foehn-input-hidden.component.js +0 -57
  298. package/esm2015/foehn-input/foehn-input-password.component.js +0 -55
  299. package/esm2015/foehn-input-date/foehn-input-date.component.js +0 -94
  300. package/esm2015/foehn-input-time/foehn-input-time.component.js +0 -79
  301. package/esm2015/foehn-list/foehn-list.component.js +0 -134
  302. package/esm2015/foehn-menu-prestation/abstract-list-item-detail-page.component.js +0 -122
  303. package/esm2015/foehn-menu-prestation/foehn-list-summary/foehn-list-summary.component.js +0 -75
  304. package/esm2015/foehn-menu-prestation/foehn-menu-items/foehn-menu-item/foehn-menu-item.component.js +0 -38
  305. package/esm2015/foehn-modal/foehn-modal.component.js +0 -100
  306. package/esm2015/foehn-nav13/foehn-input-nav13.component.js +0 -98
  307. package/esm2015/foehn-navigation/foehn-navigation.component.js +0 -98
  308. package/esm2015/foehn-page/foehn-page-modal.component.js +0 -55
  309. package/esm2015/foehn-page/foehn-page.component.js +0 -217
  310. package/esm2015/foehn-status-progress-bar/foehn-status-progress-bar.component.js +0 -42
  311. package/esm2015/foehn-table/foehn-table.component.js +0 -151
  312. package/esm2015/foehn-upload/foehn-bo-multi-upload/foehn-bo-multi-upload.component.js +0 -171
  313. package/esm2015/foehn-upload/foehn-multi-upload/foehn-multi-upload.component.js +0 -220
  314. package/esm2015/foehn-upload/foehn-picture-upload/foehn-picture-upload.component.js +0 -167
  315. package/esm2015/foehn-upload/uploader.helper.js +0 -322
  316. package/esm2015/foehn-validation-alerts/foehn-validation-alerts.component.js +0 -32
  317. package/esm2015/gesdem/gesdem-event.service.js +0 -38
  318. package/esm2015/gesdem/gesdem-handler.service.js +0 -151
  319. package/esm2015/gesdem-action-recovery/gesdem-action-recovery-registration/gesdem-action-recovery-registration.component.js +0 -133
  320. package/esm2015/gesdem-action-recovery/gesdem-action-recovery.service.js +0 -82
  321. package/esm2015/gesdem-confirmation/gesdem-confirmation.component.js +0 -194
  322. package/esm2015/sdk-appinfo/application-info.service.js +0 -111
  323. package/esm2015/sdk-date/date.helper.js +0 -90
  324. package/esm2015/sdk-epayment/model/EPaymentRequest.js +0 -3
  325. package/esm2015/sdk-epayment/sdk-epayment.component.js +0 -113
  326. package/esm2015/sdk-epayment/sdk-epayment.service.js +0 -46
  327. package/esm2015/sdk-recaptcha/recaptcha.service.js +0 -162
  328. package/esm2015/sdk-recaptcha/sdk-recaptcha.component.js +0 -72
  329. package/esm2015/sdk-session-info/session-info.service.js +0 -44
  330. package/esm2015/sdk-support-alert/support-alert.component.js +0 -38
  331. package/esm2015/supported-browser.js +0 -2
  332. package/esm2015/validation/validation-handler.service.js +0 -44
  333. package/fesm2015/dsivd-prestations-ng.js.map +0 -1
  334. package/sdk-epayment/model/EPaymentRequest.d.ts +0 -5
@@ -9,14 +9,14 @@ import { ImageCropperModule } from 'ngx-image-cropper';
9
9
  import * as i0 from "@angular/core";
10
10
  export class FoehnPictureUploadModule {
11
11
  }
12
- FoehnPictureUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
- FoehnPictureUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadModule, declarations: [FoehnPictureUploadComponent], imports: [CommonModule,
12
+ FoehnPictureUploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPictureUploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
13
+ FoehnPictureUploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPictureUploadModule, declarations: [FoehnPictureUploadComponent], imports: [CommonModule,
14
14
  FoehnIconsModule,
15
15
  FoehnValidationAlertsModule,
16
16
  SdkDictionaryModule,
17
17
  FormsModule,
18
18
  ImageCropperModule], exports: [FoehnPictureUploadComponent] });
19
- FoehnPictureUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadModule, imports: [[
19
+ FoehnPictureUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPictureUploadModule, imports: [[
20
20
  CommonModule,
21
21
  FoehnIconsModule,
22
22
  FoehnValidationAlertsModule,
@@ -24,7 +24,7 @@ FoehnPictureUploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0"
24
24
  FormsModule,
25
25
  ImageCropperModule
26
26
  ]] });
27
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnPictureUploadModule, decorators: [{
27
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnPictureUploadModule, decorators: [{
28
28
  type: NgModule,
29
29
  args: [{
30
30
  imports: [
@@ -0,0 +1,326 @@
1
+ import { DocumentReferenceWithFile } from './document-reference';
2
+ export class UploaderHelper {
3
+ constructor(dictionaryService, applicationInfoService) {
4
+ this.dictionaryService = dictionaryService;
5
+ this.applicationInfoService = applicationInfoService;
6
+ this._accept = '.pdf';
7
+ this._maxSizeInMo = 1;
8
+ this._maxFileNameLength = 64;
9
+ this._illegalCharacters = '/,\\,?,%,*,:,|,",<,>,°';
10
+ this._fileMinSizeInBytes = 20;
11
+ this.CHAR_TO_REPLACE = new RegExp('[^a-zA-Z0-9]', 'g');
12
+ this.applicationInfoService.data.subscribe((appInfo) => {
13
+ if (appInfo.configuration.document) {
14
+ this.accept = appInfo.configuration.document.fileExtensions;
15
+ this.maxFileNameLength = Number(appInfo.configuration.document.maxFileNameLength);
16
+ this.maxSizeInMo = Number(appInfo.configuration.document.maxFileSizeInMo);
17
+ this.illegalCharacters =
18
+ appInfo.configuration.document.illegalCharacters;
19
+ }
20
+ });
21
+ }
22
+ get fileMinSizeInBytes() {
23
+ return this._fileMinSizeInBytes;
24
+ }
25
+ set fileMinSizeInBytes(value) {
26
+ this._fileMinSizeInBytes = value;
27
+ }
28
+ // eslint-disable-next-line @typescript-eslint/member-ordering
29
+ get illegalCharacters() {
30
+ return this._illegalCharacters;
31
+ }
32
+ set illegalCharacters(value) {
33
+ this._illegalCharacters = value;
34
+ }
35
+ // eslint-disable-next-line @typescript-eslint/member-ordering
36
+ get maxFileNameLength() {
37
+ return this._maxFileNameLength;
38
+ }
39
+ set maxFileNameLength(value) {
40
+ this._maxFileNameLength = value;
41
+ }
42
+ // eslint-disable-next-line @typescript-eslint/member-ordering
43
+ get maxSizeInMo() {
44
+ return this._maxSizeInMo;
45
+ }
46
+ set maxSizeInMo(value) {
47
+ this._maxSizeInMo = value;
48
+ }
49
+ // eslint-disable-next-line @typescript-eslint/member-ordering
50
+ get accept() {
51
+ return this._accept;
52
+ }
53
+ set accept(value) {
54
+ this._accept = value;
55
+ }
56
+ isFileTooBig(fileSizeInBytes, overrideMaxSizeInMo) {
57
+ if (!!overrideMaxSizeInMo) {
58
+ return this.isTooBig(fileSizeInBytes, overrideMaxSizeInMo);
59
+ }
60
+ if (!this.maxSizeInMo) {
61
+ return false;
62
+ }
63
+ return this.isTooBig(fileSizeInBytes, this.maxSizeInMo);
64
+ }
65
+ isFileTooSmall(fileSizeInBytes) {
66
+ if (!this.fileMinSizeInBytes) {
67
+ return false;
68
+ }
69
+ return fileSizeInBytes < this.fileMinSizeInBytes;
70
+ }
71
+ isFileNameLengthValid(filename, overrideMaxFileNameLength) {
72
+ const maxFileLenght = !!overrideMaxFileNameLength
73
+ ? overrideMaxFileNameLength
74
+ : this.maxFileNameLength;
75
+ return filename.length <= maxFileLenght;
76
+ }
77
+ isFileNameNameValid(filename, overrideIllegalCharacters) {
78
+ const illegalCharacters = !!overrideIllegalCharacters
79
+ ? overrideIllegalCharacters.split(',')
80
+ : this.illegalCharacters.split(',');
81
+ let isValid = true;
82
+ for (const illegalCharacter of illegalCharacters) {
83
+ if (filename.includes(illegalCharacter)) {
84
+ isValid = false;
85
+ break;
86
+ }
87
+ }
88
+ return isValid;
89
+ }
90
+ getFileExtension(filename) {
91
+ return `.${filename.split('.').pop()}`;
92
+ }
93
+ isFileExtensionValid(fileExtension, overrideAcceptedExtensions) {
94
+ const acceptedExtensions = !!overrideAcceptedExtensions
95
+ ? overrideAcceptedExtensions
96
+ : this.accept;
97
+ return (!!fileExtension &&
98
+ acceptedExtensions
99
+ .toUpperCase()
100
+ .split(',')
101
+ .includes(fileExtension.toUpperCase()));
102
+ }
103
+ getUniqueErrorByCode(name, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
104
+ const uniqSuffix = new Date().getTime();
105
+ return {
106
+ name,
107
+ code: `${errorCode}_${uniqSuffix}`,
108
+ message: this.replaceErrorMessageKeys(customErrors[errorCode], fileName, errorCode, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters)
109
+ };
110
+ }
111
+ addCustomErrorOrDefault(name, destinationErrors, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
112
+ // Check if we have a custom error to manage
113
+ if (customErrors[errorCode]) {
114
+ // Need to create unique error to ensure ability to display multiple error messages
115
+ destinationErrors.push(this.getUniqueErrorByCode(name, errorCode, fileName, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
116
+ }
117
+ else {
118
+ destinationErrors.push({
119
+ name,
120
+ code: errorCode,
121
+ message: this.getDefaultUnknownErrorMessage(fileName)
122
+ });
123
+ }
124
+ }
125
+ createDefaultCustomErrors(customErrors) {
126
+ customErrors.FILENAME_TOO_LONG = this.dictionaryService.getKeySync('errors.FILENAME_TOO_LONG');
127
+ customErrors.FILE_TOO_SMALL = this.dictionaryService.getKeySync('errors.FILE_TOO_SMALL');
128
+ customErrors.PDF_PASSWORD_LOCKED = this.dictionaryService.getKeySync('errors.PDF_PASSWORD_LOCKED');
129
+ customErrors.PDF_CONTAINS_SCRIPT = this.dictionaryService.getKeySync('errors.PDF_CONTAINS_SCRIPT');
130
+ customErrors.PDF_HAS_ATTACHMENTS = this.dictionaryService.getKeySync('errors.PDF_HAS_ATTACHMENTS');
131
+ customErrors.EMPTY_PDF = this.dictionaryService.getKeySync('errors.EMPTY_PDF');
132
+ customErrors.PDF_GENERAL_PROBLEM = this.dictionaryService.getKeySync('errors.PDF_GENERAL_PROBLEM');
133
+ customErrors.PDF_HAS_RESTRICTIONS = this.dictionaryService.getKeySync('errors.PDF_HAS_RESTRICTIONS');
134
+ customErrors.FILENAME_SHOULD_NOT_CONTAIN = this.dictionaryService.getKeySync('errors.FILENAME_SHOULD_NOT_CONTAIN');
135
+ customErrors['406'] = this.dictionaryService.getKeySync('errors.406');
136
+ customErrors['413'] = this.dictionaryService.getKeySync('errors.413');
137
+ customErrors['415'] = this.dictionaryService.getKeySync('errors.415');
138
+ customErrors['422'] = this.dictionaryService.getKeySync('errors.422');
139
+ customErrors['500'] = this.dictionaryService.getKeySync('errors.500');
140
+ // MultiPartException from Zuul returns HTTP 0
141
+ customErrors['0'] = customErrors['413'];
142
+ }
143
+ getLocalErrors(name, files, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
144
+ const errors = [];
145
+ files.forEach(file => {
146
+ // File bad extension
147
+ const fileExtension = this.getFileExtension(file.name);
148
+ if (!this.isFileExtensionValid(fileExtension, overrideAcceptedExtensions)) {
149
+ // Default custom error 415 exist (see function 'createDefaultCustomErrors')
150
+ // Need to create unique error to ensure ability to display multiple error messages
151
+ errors.push(this.getUniqueErrorByCode(name, '415', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
152
+ }
153
+ // File name contains illegal characters
154
+ if (!this.isFileNameNameValid(file.name, overrideIllegalCharacters)) {
155
+ // Default custom error FILENAME_SHOULD_NOT_CONTAIN exist (see function 'createDefaultCustomErrors')
156
+ // Need to create unique error to ensure ability to display multiple error messages
157
+ errors.push(this.getUniqueErrorByCode(name, 'FILENAME_SHOULD_NOT_CONTAIN', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
158
+ }
159
+ // Files too big
160
+ if (this.isFileTooBig(file.size, overrideMaxSizeInMo)) {
161
+ // Default custom error 413 exist (see function 'createDefaultCustomErrors')
162
+ // Need to create unique error to ensure ability to display multiple error messages
163
+ errors.push(this.getUniqueErrorByCode(name, '413', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
164
+ }
165
+ if (this.isFileTooSmall(file.size)) {
166
+ // Default custom error FILE_TOO_SMALL exist (see function 'createDefaultCustomErrors')
167
+ // Need to create unique error to ensure ability to display multiple error messages
168
+ errors.push(this.getUniqueErrorByCode(name, 'FILE_TOO_SMALL', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
169
+ }
170
+ // File name too long (64 chars max)
171
+ if (!this.isFileNameLengthValid(file.name, overrideMaxFileNameLength)) {
172
+ // Default custom error FILENAME_TOO_LONG exist (see function 'createDefaultCustomErrors')
173
+ // Need to create unique error to ensure ability to display multiple error messages
174
+ errors.push(this.getUniqueErrorByCode(name, 'FILENAME_TOO_LONG', file.name, customErrors, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters));
175
+ }
176
+ });
177
+ return errors;
178
+ }
179
+ hasLiveUploadErrors(errors) {
180
+ return (!!errors &&
181
+ !!errors.find(e => e.code.startsWith('413') ||
182
+ e.code.startsWith('415') ||
183
+ e.code.startsWith('PDF_PASSWORD_LOCKED') ||
184
+ e.code.startsWith('PDF_CONTAINS_SCRIPT') ||
185
+ e.code.startsWith('PDF_HAS_ATTACHMENTS') ||
186
+ e.code.startsWith('EMPTY_PDF') ||
187
+ e.code.startsWith('PDF_GENERAL_PROBLEM') ||
188
+ e.code.startsWith('PDF_HAS_RESTRICTIONS') ||
189
+ e.code.startsWith('FILENAME_TOO_LONG') ||
190
+ e.code.startsWith('FILE_TOO_SMALL') ||
191
+ e.code.startsWith('FILENAME_SHOULD_NOT_CONTAIN')));
192
+ }
193
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
194
+ preventAndStop(event) {
195
+ event.preventDefault();
196
+ event.stopPropagation();
197
+ }
198
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
199
+ getAllFilesCount(data) {
200
+ if (!data) {
201
+ return null;
202
+ }
203
+ return `${data.length}`;
204
+ }
205
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
206
+ getAllFilesSizeInMo(data) {
207
+ if (!data) {
208
+ return null;
209
+ }
210
+ const fileSizeInBytes = data.reduce(
211
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
212
+ (totalDocSize, document) => {
213
+ if (document.hasOwnProperty('fileSize')) {
214
+ return totalDocSize + document.fileSize;
215
+ }
216
+ return totalDocSize + document.size;
217
+ }, 0);
218
+ return this.toMegaOctets(fileSizeInBytes);
219
+ }
220
+ toMegaOctets(size) {
221
+ return `${(size / (1024 * 1024)).toFixed(2)}`;
222
+ }
223
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
224
+ getTransfer(event) {
225
+ if (!!event.dataTransfer) {
226
+ return event.dataTransfer.files;
227
+ }
228
+ return null;
229
+ }
230
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
231
+ getGlobalInfos(data) {
232
+ return `${this.getAllFilesCount(data)} fichiers pour un total de ${this.getAllFilesSizeInMo(data)} <abbr title="Megaoctet">Mo</abbr>`;
233
+ }
234
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
235
+ showGlobalInfos(data, hideGlobalInfos) {
236
+ return !hideGlobalInfos && !!data && !!data.length && data.length > 1;
237
+ }
238
+ mapToDocumentReference(file, label, key, isMultiple, uniqPrefix, globalSequence) {
239
+ const document = new DocumentReferenceWithFile();
240
+ if (isMultiple) {
241
+ // Override key to ensures that GesDem can accept the document key (length of 64 char. max.)
242
+ key = `doc${uniqPrefix}${globalSequence}`;
243
+ document.key = this.normalizeKey(key);
244
+ }
245
+ document.key = key;
246
+ document.filename = file.name;
247
+ document.mimeType = file.type;
248
+ document.fileSize = file.size;
249
+ document.label = label;
250
+ document.file = file;
251
+ return document;
252
+ }
253
+ mapToFormData(documents, formKey, language) {
254
+ const formData = new FormData();
255
+ documents.forEach(({ file, key, label }) => {
256
+ formData.append('keys', key);
257
+ formData.append('labels', this.removeCommasInLabel(label));
258
+ formData.append('files', file, file.name);
259
+ });
260
+ formData.append('formKey', formKey);
261
+ formData.append('language', language);
262
+ return formData;
263
+ }
264
+ /**
265
+ * Commas are removed to avoid a wrong interpretation as an array of string in formData.
266
+ *
267
+ * @param label to be cleaned from comma
268
+ * @returns string
269
+ */
270
+ removeCommasInLabel(label) {
271
+ return label.split(',').join('');
272
+ }
273
+ isTooBig(fileSizeInBytes, limitInMo) {
274
+ return fileSizeInBytes / (1024 * 1024) > limitInMo;
275
+ }
276
+ replaceErrorMessageKeys(errorMsg, fileName, errorCode, overrideMaxSizeInMo, overrideAcceptedExtensions, overrideMaxFileNameLength, overrideIllegalCharacters) {
277
+ const formattedErrorMsg = errorMsg.replace('%1$s', fileName);
278
+ if (errorCode.startsWith('413')) {
279
+ // REQUEST_ENTITY_TOO_LARGE_ERROR_MSG
280
+ const fileMaxSize = (overrideMaxSizeInMo
281
+ ? overrideMaxSizeInMo
282
+ : this.maxSizeInMo).toString();
283
+ return formattedErrorMsg.replace('%2$s', fileMaxSize);
284
+ }
285
+ if (errorCode.startsWith('415')) {
286
+ // UNSUPPORTED_MEDIA_TYPE_ERROR_MSG
287
+ const fileExtensions = (overrideAcceptedExtensions
288
+ ? overrideAcceptedExtensions
289
+ : this.accept)
290
+ .toUpperCase()
291
+ .replace(/,/g, ' ou ');
292
+ return formattedErrorMsg.replace('%2$s', fileExtensions);
293
+ }
294
+ if (errorCode.startsWith('FILENAME_TOO_LONG')) {
295
+ const maxFileNameLength = (overrideMaxFileNameLength
296
+ ? overrideMaxFileNameLength
297
+ : this.maxFileNameLength).toString();
298
+ return formattedErrorMsg.replace('%2$s', maxFileNameLength);
299
+ }
300
+ if (errorCode.startsWith('FILE_TOO_SMALL')) {
301
+ return formattedErrorMsg.replace('%2$s', this.fileMinSizeInBytes.toString());
302
+ }
303
+ if (errorCode.startsWith('FILENAME_SHOULD_NOT_CONTAIN')) {
304
+ const fileNameIllegalCharacters = (overrideIllegalCharacters
305
+ ? overrideIllegalCharacters
306
+ : this.illegalCharacters).replace(/,/g, '');
307
+ return formattedErrorMsg.replace('%2$s', fileNameIllegalCharacters);
308
+ }
309
+ return formattedErrorMsg;
310
+ }
311
+ getDefaultUnknownErrorMessage(fileName) {
312
+ const msg = 'Impossible de transmettre le fichier';
313
+ if (!!fileName && !!fileName.length) {
314
+ return `${msg} ${fileName}.`;
315
+ }
316
+ return `${msg}.`;
317
+ }
318
+ /**
319
+ * @param key to be normalized
320
+ * @returns string
321
+ */
322
+ normalizeKey(key) {
323
+ return key ? key.toLowerCase().replace(this.CHAR_TO_REPLACE, '') : null;
324
+ }
325
+ }
326
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkZXIuaGVscGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVwbG9hZC91cGxvYWRlci5oZWxwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFakUsTUFBTSxPQUFPLGNBQWM7SUFTdkIsWUFDWSxpQkFBdUMsRUFDdkMsc0JBQThDO1FBRDlDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBc0I7UUFDdkMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF3QjtRQVZsRCxZQUFPLEdBQUcsTUFBTSxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsQ0FBQyxDQUFDO1FBQ2pCLHVCQUFrQixHQUFHLEVBQUUsQ0FBQztRQUN4Qix1QkFBa0IsR0FBRyx3QkFBd0IsQ0FBQztRQUM5Qyx3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFFaEIsb0JBQWUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFNL0QsSUFBSSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQ3RDLENBQUMsT0FBd0IsRUFBRSxFQUFFO1lBQ3pCLElBQUksT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hDLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDO2dCQUM1RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUMzQixPQUFPLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FDbkQsQ0FBQztnQkFDRixJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FDckIsT0FBTyxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUNqRCxDQUFDO2dCQUNGLElBQUksQ0FBQyxpQkFBaUI7b0JBQ2xC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IGZyb20gJy4uL2Zvcm0tZXJyb3InO1xuaW1wb3J0IHsgU2RrRGljdGlvbmFyeVNlcnZpY2UgfSBmcm9tICcuLi9zZGstZGljdGlvbmFyeS9zZGstZGljdGlvbmFyeS5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uSW5mb1NlcnZpY2UgfSBmcm9tICcuLi9zZGstYXBwaW5mby9hcHBsaWNhdGlvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25JbmZvIH0gZnJvbSAnLi4vc2RrLWFwcGluZm8vYXBwbGljYXRpb24taW5mbyc7XG5pbXBvcnQgeyBEb2N1bWVudFJlZmVyZW5jZVdpdGhGaWxlIH0gZnJvbSAnLi9kb2N1bWVudC1yZWZlcmVuY2UnO1xuXG5leHBvcnQgY2xhc3MgVXBsb2FkZXJIZWxwZXIge1xuICAgIHByaXZhdGUgX2FjY2VwdCA9ICcucGRmJztcbiAgICBwcml2YXRlIF9tYXhTaXplSW5NbyA9IDE7XG4gICAgcHJpdmF0ZSBfbWF4RmlsZU5hbWVMZW5ndGggPSA2NDtcbiAgICBwcml2YXRlIF9pbGxlZ2FsQ2hhcmFjdGVycyA9ICcvLFxcXFwsPywlLCosOix8LFwiLDwsPizCsCc7XG4gICAgcHJpdmF0ZSBfZmlsZU1pblNpemVJbkJ5dGVzID0gMjA7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IENIQVJfVE9fUkVQTEFDRSA9IG5ldyBSZWdFeHAoJ1teYS16QS1aMC05XScsICdnJyk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSBkaWN0aW9uYXJ5U2VydmljZTogU2RrRGljdGlvbmFyeVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgYXBwbGljYXRpb25JbmZvU2VydmljZTogQXBwbGljYXRpb25JbmZvU2VydmljZVxuICAgICkge1xuICAgICAgICB0aGlzLmFwcGxpY2F0aW9uSW5mb1NlcnZpY2UuZGF0YS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAoYXBwSW5mbzogQXBwbGljYXRpb25JbmZvKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudCkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFjY2VwdCA9IGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudC5maWxlRXh0ZW5zaW9ucztcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tYXhGaWxlTmFtZUxlbmd0aCA9IE51bWJlcihcbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudC5tYXhGaWxlTmFtZUxlbmd0aFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLm1heFNpemVJbk1vID0gTnVtYmVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgYXBwSW5mby5jb25maWd1cmF0aW9uLmRvY3VtZW50Lm1heEZpbGVTaXplSW5Nb1xuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmlsbGVnYWxDaGFyYWN0ZXJzID1cbiAgICAgICAgICAgICAgICAgICAgICAgIGFwcEluZm8uY29uZmlndXJhdGlvbi5kb2N1bWVudC5pbGxlZ2FsQ2hhcmFjdGVycztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgZ2V0IGZpbGVNaW5TaXplSW5CeXRlcygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsZU1pblNpemVJbkJ5dGVzO1xuICAgIH1cblxuICAgIHNldCBmaWxlTWluU2l6ZUluQnl0ZXModmFsdWU6IG51bWJlcikge1xuICAgICAgICB0aGlzLl9maWxlTWluU2l6ZUluQnl0ZXMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBpbGxlZ2FsQ2hhcmFjdGVycygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5faWxsZWdhbENoYXJhY3RlcnM7XG4gICAgfVxuXG4gICAgc2V0IGlsbGVnYWxDaGFyYWN0ZXJzKHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5faWxsZWdhbENoYXJhY3RlcnMgPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBtYXhGaWxlTmFtZUxlbmd0aCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4RmlsZU5hbWVMZW5ndGg7XG4gICAgfVxuXG4gICAgc2V0IG1heEZpbGVOYW1lTGVuZ3RoKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbWF4RmlsZU5hbWVMZW5ndGggPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBtYXhTaXplSW5NbygpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fbWF4U2l6ZUluTW87XG4gICAgfVxuXG4gICAgc2V0IG1heFNpemVJbk1vKHZhbHVlOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fbWF4U2l6ZUluTW8gPSB2YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21lbWJlci1vcmRlcmluZ1xuICAgIGdldCBhY2NlcHQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjY2VwdDtcbiAgICB9XG5cbiAgICBzZXQgYWNjZXB0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fYWNjZXB0ID0gdmFsdWU7XG4gICAgfVxuXG4gICAgaXNGaWxlVG9vQmlnKFxuICAgICAgICBmaWxlU2l6ZUluQnl0ZXM6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbzogbnVtYmVyXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghIW92ZXJyaWRlTWF4U2l6ZUluTW8pIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmlzVG9vQmlnKGZpbGVTaXplSW5CeXRlcywgb3ZlcnJpZGVNYXhTaXplSW5Nbyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLm1heFNpemVJbk1vKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuaXNUb29CaWcoZmlsZVNpemVJbkJ5dGVzLCB0aGlzLm1heFNpemVJbk1vKTtcbiAgICB9XG5cbiAgICBpc0ZpbGVUb29TbWFsbChmaWxlU2l6ZUluQnl0ZXM6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICBpZiAoIXRoaXMuZmlsZU1pblNpemVJbkJ5dGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpbGVTaXplSW5CeXRlcyA8IHRoaXMuZmlsZU1pblNpemVJbkJ5dGVzO1xuICAgIH1cblxuICAgIGlzRmlsZU5hbWVMZW5ndGhWYWxpZChcbiAgICAgICAgZmlsZW5hbWU6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICAgIGNvbnN0IG1heEZpbGVMZW5naHQgPSAhIW92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGhcbiAgICAgICAgICAgID8gb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aFxuICAgICAgICAgICAgOiB0aGlzLm1heEZpbGVOYW1lTGVuZ3RoO1xuXG4gICAgICAgIHJldHVybiBmaWxlbmFtZS5sZW5ndGggPD0gbWF4RmlsZUxlbmdodDtcbiAgICB9XG5cbiAgICBpc0ZpbGVOYW1lTmFtZVZhbGlkKFxuICAgICAgICBmaWxlbmFtZTogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaWxsZWdhbENoYXJhY3RlcnMgPSAhIW92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgID8gb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVycy5zcGxpdCgnLCcpXG4gICAgICAgICAgICA6IHRoaXMuaWxsZWdhbENoYXJhY3RlcnMuc3BsaXQoJywnKTtcblxuICAgICAgICBsZXQgaXNWYWxpZCA9IHRydWU7XG4gICAgICAgIGZvciAoY29uc3QgaWxsZWdhbENoYXJhY3RlciBvZiBpbGxlZ2FsQ2hhcmFjdGVycykge1xuICAgICAgICAgICAgaWYgKGZpbGVuYW1lLmluY2x1ZGVzKGlsbGVnYWxDaGFyYWN0ZXIpKSB7XG4gICAgICAgICAgICAgICAgaXNWYWxpZCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGlzVmFsaWQ7XG4gICAgfVxuXG4gICAgZ2V0RmlsZUV4dGVuc2lvbihmaWxlbmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAuJHtmaWxlbmFtZS5zcGxpdCgnLicpLnBvcCgpfWA7XG4gICAgfVxuXG4gICAgaXNGaWxlRXh0ZW5zaW9uVmFsaWQoXG4gICAgICAgIGZpbGVFeHRlbnNpb246IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZ1xuICAgICk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCBhY2NlcHRlZEV4dGVuc2lvbnMgPSAhIW92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICA/IG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zXG4gICAgICAgICAgICA6IHRoaXMuYWNjZXB0O1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIWZpbGVFeHRlbnNpb24gJiZcbiAgICAgICAgICAgIGFjY2VwdGVkRXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgIC50b1VwcGVyQ2FzZSgpXG4gICAgICAgICAgICAgICAgLnNwbGl0KCcsJylcbiAgICAgICAgICAgICAgICAuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbi50b1VwcGVyQ2FzZSgpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIGdldFVuaXF1ZUVycm9yQnlDb2RlKFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIGVycm9yQ29kZTogc3RyaW5nLFxuICAgICAgICBmaWxlTmFtZTogc3RyaW5nLFxuICAgICAgICBjdXN0b21FcnJvcnM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0sXG4gICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW86IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnM6IHN0cmluZyxcbiAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aDogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzOiBzdHJpbmdcbiAgICApOiBGb3JtRXJyb3Ige1xuICAgICAgICBjb25zdCB1bmlxU3VmZml4ID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgY29kZTogYCR7ZXJyb3JDb2RlfV8ke3VuaXFTdWZmaXh9YCxcbiAgICAgICAgICAgIG1lc3NhZ2U6IHRoaXMucmVwbGFjZUVycm9yTWVzc2FnZUtleXMoXG4gICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzW2Vycm9yQ29kZV0sXG4gICAgICAgICAgICAgICAgZmlsZU5hbWUsXG4gICAgICAgICAgICAgICAgZXJyb3JDb2RlLFxuICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW8sXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICApXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgYWRkQ3VzdG9tRXJyb3JPckRlZmF1bHQoXG4gICAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgICAgZGVzdGluYXRpb25FcnJvcnM6IEZvcm1FcnJvcltdLFxuICAgICAgICBlcnJvckNvZGU6IHN0cmluZyxcbiAgICAgICAgZmlsZU5hbWU6IHN0cmluZyxcbiAgICAgICAgY3VzdG9tRXJyb3JzOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9LFxuICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGg6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyczogc3RyaW5nXG4gICAgKTogdm9pZCB7XG4gICAgICAgIC8vIENoZWNrIGlmIHdlIGhhdmUgYSBjdXN0b20gZXJyb3IgdG8gbWFuYWdlXG4gICAgICAgIGlmIChjdXN0b21FcnJvcnNbZXJyb3JDb2RlXSkge1xuICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgIGRlc3RpbmF0aW9uRXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JDb2RlLFxuICAgICAgICAgICAgICAgICAgICBmaWxlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZXN0aW5hdGlvbkVycm9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIGNvZGU6IGVycm9yQ29kZSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLmdldERlZmF1bHRVbmtub3duRXJyb3JNZXNzYWdlKGZpbGVOYW1lKVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzKGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgICAgICBjdXN0b21FcnJvcnMuRklMRU5BTUVfVE9PX0xPTkcgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLkZJTEVOQU1FX1RPT19MT05HJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuRklMRV9UT09fU01BTEwgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLkZJTEVfVE9PX1NNQUxMJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX1BBU1NXT1JEX0xPQ0tFRCA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYyhcbiAgICAgICAgICAgICdlcnJvcnMuUERGX1BBU1NXT1JEX0xPQ0tFRCdcbiAgICAgICAgKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzLlBERl9DT05UQUlOU19TQ1JJUFQgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLlBERl9DT05UQUlOU19TQ1JJUFQnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5QREZfSEFTX0FUVEFDSE1FTlRTID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfSEFTX0FUVEFDSE1FTlRTJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuRU1QVFlfUERGID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5FTVBUWV9QREYnXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5QREZfR0VORVJBTF9QUk9CTEVNJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuUERGX0hBU19SRVNUUklDVElPTlMgPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoXG4gICAgICAgICAgICAnZXJyb3JzLlBERl9IQVNfUkVTVFJJQ1RJT05TJ1xuICAgICAgICApO1xuICAgICAgICBjdXN0b21FcnJvcnMuRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKFxuICAgICAgICAgICAgJ2Vycm9ycy5GSUxFTkFNRV9TSE9VTERfTk9UX0NPTlRBSU4nXG4gICAgICAgICk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNDA2J10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy40MDYnKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzWyc0MTMnXSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLjQxMycpO1xuICAgICAgICBjdXN0b21FcnJvcnNbJzQxNSddID0gdGhpcy5kaWN0aW9uYXJ5U2VydmljZS5nZXRLZXlTeW5jKCdlcnJvcnMuNDE1Jyk7XG4gICAgICAgIGN1c3RvbUVycm9yc1snNDIyJ10gPSB0aGlzLmRpY3Rpb25hcnlTZXJ2aWNlLmdldEtleVN5bmMoJ2Vycm9ycy40MjInKTtcbiAgICAgICAgY3VzdG9tRXJyb3JzWyc1MDAnXSA9IHRoaXMuZGljdGlvbmFyeVNlcnZpY2UuZ2V0S2V5U3luYygnZXJyb3JzLjUwMCcpO1xuXG4gICAgICAgIC8vIE11bHRpUGFydEV4Y2VwdGlvbiBmcm9tIFp1dWwgcmV0dXJucyBIVFRQIDBcbiAgICAgICAgY3VzdG9tRXJyb3JzWycwJ10gPSBjdXN0b21FcnJvcnNbJzQxMyddO1xuICAgIH1cblxuICAgIGdldExvY2FsRXJyb3JzKFxuICAgICAgICBuYW1lOiBzdHJpbmcsXG4gICAgICAgIGZpbGVzOiBGaWxlW10sXG4gICAgICAgIGN1c3RvbUVycm9yczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSxcbiAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbzogbnVtYmVyLFxuICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uczogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnM6IHN0cmluZ1xuICAgICk6IEZvcm1FcnJvcltdIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBGb3JtRXJyb3JbXSA9IFtdO1xuXG4gICAgICAgIGZpbGVzLmZvckVhY2goZmlsZSA9PiB7XG4gICAgICAgICAgICAvLyBGaWxlIGJhZCBleHRlbnNpb25cbiAgICAgICAgICAgIGNvbnN0IGZpbGVFeHRlbnNpb24gPSB0aGlzLmdldEZpbGVFeHRlbnNpb24oZmlsZS5uYW1lKTtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAhdGhpcy5pc0ZpbGVFeHRlbnNpb25WYWxpZChcbiAgICAgICAgICAgICAgICAgICAgZmlsZUV4dGVuc2lvbixcbiAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnNcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGN1c3RvbSBlcnJvciA0MTUgZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnNDE1JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUubmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGN1c3RvbUVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4U2l6ZUluTW8sXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9ucyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRmlsZSBuYW1lIGNvbnRhaW5zIGlsbGVnYWwgY2hhcmFjdGVyc1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlzRmlsZU5hbWVOYW1lVmFsaWQoZmlsZS5uYW1lLCBvdmVycmlkZUlsbGVnYWxDaGFyYWN0ZXJzKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ0ZJTEVOQU1FX1NIT1VMRF9OT1RfQ09OVEFJTicsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZpbGVzIHRvbyBiaWdcbiAgICAgICAgICAgIGlmICh0aGlzLmlzRmlsZVRvb0JpZyhmaWxlLnNpemUsIG92ZXJyaWRlTWF4U2l6ZUluTW8pKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgNDEzIGV4aXN0IChzZWUgZnVuY3Rpb24gJ2NyZWF0ZURlZmF1bHRDdXN0b21FcnJvcnMnKVxuICAgICAgICAgICAgICAgIC8vIE5lZWQgdG8gY3JlYXRlIHVuaXF1ZSBlcnJvciB0byBlbnN1cmUgYWJpbGl0eSB0byBkaXNwbGF5IG11bHRpcGxlIGVycm9yIG1lc3NhZ2VzXG4gICAgICAgICAgICAgICAgZXJyb3JzLnB1c2goXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0VW5pcXVlRXJyb3JCeUNvZGUoXG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgJzQxMycsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLmlzRmlsZVRvb1NtYWxsKGZpbGUuc2l6ZSkpIHtcbiAgICAgICAgICAgICAgICAvLyBEZWZhdWx0IGN1c3RvbSBlcnJvciBGSUxFX1RPT19TTUFMTCBleGlzdCAoc2VlIGZ1bmN0aW9uICdjcmVhdGVEZWZhdWx0Q3VzdG9tRXJyb3JzJylcbiAgICAgICAgICAgICAgICAvLyBOZWVkIHRvIGNyZWF0ZSB1bmlxdWUgZXJyb3IgdG8gZW5zdXJlIGFiaWxpdHkgdG8gZGlzcGxheSBtdWx0aXBsZSBlcnJvciBtZXNzYWdlc1xuICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldFVuaXF1ZUVycm9yQnlDb2RlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICdGSUxFX1RPT19TTUFMTCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxlLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBjdXN0b21FcnJvcnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEZpbGUgbmFtZSB0b28gbG9uZyAoNjQgY2hhcnMgbWF4KVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICF0aGlzLmlzRmlsZU5hbWVMZW5ndGhWYWxpZChcbiAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gRGVmYXVsdCBjdXN0b20gZXJyb3IgRklMRU5BTUVfVE9PX0xPTkcgZXhpc3QgKHNlZSBmdW5jdGlvbiAnY3JlYXRlRGVmYXVsdEN1c3RvbUVycm9ycycpXG4gICAgICAgICAgICAgICAgLy8gTmVlZCB0byBjcmVhdGUgdW5pcXVlIGVycm9yIHRvIGVuc3VyZSBhYmlsaXR5IHRvIGRpc3BsYXkgbXVsdGlwbGUgZXJyb3IgbWVzc2FnZXNcbiAgICAgICAgICAgICAgICBlcnJvcnMucHVzaChcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRVbmlxdWVFcnJvckJ5Q29kZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAnRklMRU5BTUVfVE9PX0xPTkcnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZS5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3VzdG9tRXJyb3JzLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhTaXplSW5NbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcnJpZGVNYXhGaWxlTmFtZUxlbmd0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIG92ZXJyaWRlSWxsZWdhbENoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuXG4gICAgaGFzTGl2ZVVwbG9hZEVycm9ycyhlcnJvcnM6IEZvcm1FcnJvcltdKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAhIWVycm9ycyAmJlxuICAgICAgICAgICAgISEoZXJyb3JzIGFzIEZvcm1FcnJvcltdKS5maW5kKFxuICAgICAgICAgICAgICAgIGUgPT5cbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJzQxMycpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCc0MTUnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX1BBU1NXT1JEX0xPQ0tFRCcpIHx8XG4gICAgICAgICAgICAgICAgICAgIGUuY29kZS5zdGFydHNXaXRoKCdQREZfQ09OVEFJTlNfU0NSSVBUJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJ1BERl9IQVNfQVRUQUNITUVOVFMnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnRU1QVFlfUERGJykgfHxcbiAgICAgICAgICAgICAgICAgICAgZS5jb2RlLnN0YXJ0c1dpdGgoJ1BERl9HRU5FUkFMX1BST0JMRU0nKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnUERGX0hBU19SRVNUUklDVElPTlMnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnRklMRU5BTUVfVE9PX0xPTkcnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnRklMRV9UT09fU01BTEwnKSB8fFxuICAgICAgICAgICAgICAgICAgICBlLmNvZGUuc3RhcnRzV2l0aCgnRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJylcbiAgICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIHByZXZlbnRBbmRTdG9wKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICBnZXRBbGxGaWxlc0NvdW50KGRhdGE6IGFueSk6IHN0cmluZyB7XG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYCR7ZGF0YS5sZW5ndGh9YDtcbiAgICB9XG5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAgIGdldEFsbEZpbGVzU2l6ZUluTW8oZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGZpbGVTaXplSW5CeXRlcyA9IGRhdGEucmVkdWNlKFxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgICAgICAgICAgICh0b3RhbERvY1NpemU6IG51bWJlciwgZG9jdW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5oYXNPd25Qcm9wZXJ0eSgnZmlsZVNpemUnKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdG90YWxEb2NTaXplICsgZG9jdW1lbnQuZmlsZVNpemU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0b3RhbERvY1NpemUgKyBkb2N1bWVudC5zaXplO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIDBcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gdGhpcy50b01lZ2FPY3RldHMoZmlsZVNpemVJbkJ5dGVzKTtcbiAgICB9XG5cbiAgICB0b01lZ2FPY3RldHMoc2l6ZTogbnVtYmVyKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAkeyhzaXplIC8gKDEwMjQgKiAxMDI0KSkudG9GaXhlZCgyKX1gO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0VHJhbnNmZXIoZXZlbnQ6IGFueSk6IEZpbGVMaXN0IHtcbiAgICAgICAgaWYgKCEhZXZlbnQuZGF0YVRyYW5zZmVyKSB7XG4gICAgICAgICAgICByZXR1cm4gZXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgZ2V0R2xvYmFsSW5mb3MoZGF0YTogYW55KTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuZ2V0QWxsRmlsZXNDb3VudChcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgKX0gZmljaGllcnMgcG91ciB1biB0b3RhbCBkZSAke3RoaXMuZ2V0QWxsRmlsZXNTaXplSW5NbyhcbiAgICAgICAgICAgIGRhdGFcbiAgICAgICAgKX0gPGFiYnIgdGl0bGU9XCJNZWdhb2N0ZXRcIj5NbzwvYWJicj5gO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XG4gICAgc2hvd0dsb2JhbEluZm9zKGRhdGE6IGFueSwgaGlkZUdsb2JhbEluZm9zOiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhaGlkZUdsb2JhbEluZm9zICYmICEhZGF0YSAmJiAhIWRhdGEubGVuZ3RoICYmIGRhdGEubGVuZ3RoID4gMTtcbiAgICB9XG5cbiAgICBtYXBUb0RvY3VtZW50UmVmZXJlbmNlKFxuICAgICAgICBmaWxlOiBGaWxlLFxuICAgICAgICBsYWJlbDogc3RyaW5nLFxuICAgICAgICBrZXk6IHN0cmluZyxcbiAgICAgICAgaXNNdWx0aXBsZTogYm9vbGVhbixcbiAgICAgICAgdW5pcVByZWZpeDogbnVtYmVyLFxuICAgICAgICBnbG9iYWxTZXF1ZW5jZTogbnVtYmVyXG4gICAgKTogRG9jdW1lbnRSZWZlcmVuY2VXaXRoRmlsZSB7XG4gICAgICAgIGNvbnN0IGRvY3VtZW50ID0gbmV3IERvY3VtZW50UmVmZXJlbmNlV2l0aEZpbGUoKTtcblxuICAgICAgICBpZiAoaXNNdWx0aXBsZSkge1xuICAgICAgICAgICAgLy8gT3ZlcnJpZGUga2V5IHRvIGVuc3VyZXMgdGhhdCBHZXNEZW0gY2FuIGFjY2VwdCB0aGUgZG9jdW1lbnQga2V5IChsZW5ndGggb2YgNjQgY2hhci4gbWF4LilcbiAgICAgICAgICAgIGtleSA9IGBkb2Mke3VuaXFQcmVmaXh9JHtnbG9iYWxTZXF1ZW5jZX1gO1xuICAgICAgICAgICAgZG9jdW1lbnQua2V5ID0gdGhpcy5ub3JtYWxpemVLZXkoa2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRvY3VtZW50LmtleSA9IGtleTtcbiAgICAgICAgZG9jdW1lbnQuZmlsZW5hbWUgPSBmaWxlLm5hbWU7XG4gICAgICAgIGRvY3VtZW50Lm1pbWVUeXBlID0gZmlsZS50eXBlO1xuICAgICAgICBkb2N1bWVudC5maWxlU2l6ZSA9IGZpbGUuc2l6ZTtcbiAgICAgICAgZG9jdW1lbnQubGFiZWwgPSBsYWJlbDtcbiAgICAgICAgZG9jdW1lbnQuZmlsZSA9IGZpbGU7XG5cbiAgICAgICAgcmV0dXJuIGRvY3VtZW50O1xuICAgIH1cblxuICAgIG1hcFRvRm9ybURhdGEoXG4gICAgICAgIGRvY3VtZW50czogRG9jdW1lbnRSZWZlcmVuY2VXaXRoRmlsZVtdLFxuICAgICAgICBmb3JtS2V5OiBzdHJpbmcsXG4gICAgICAgIGxhbmd1YWdlOiBzdHJpbmdcbiAgICApOiBGb3JtRGF0YSB7XG4gICAgICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG5cbiAgICAgICAgZG9jdW1lbnRzLmZvckVhY2goKHsgZmlsZSwga2V5LCBsYWJlbCB9KSA9PiB7XG4gICAgICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2tleXMnLCBrZXkpO1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdsYWJlbHMnLCB0aGlzLnJlbW92ZUNvbW1hc0luTGFiZWwobGFiZWwpKTtcbiAgICAgICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZXMnLCBmaWxlLCBmaWxlLm5hbWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2Zvcm1LZXknLCBmb3JtS2V5KTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdsYW5ndWFnZScsIGxhbmd1YWdlKTtcblxuICAgICAgICByZXR1cm4gZm9ybURhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29tbWFzIGFyZSByZW1vdmVkIHRvIGF2b2lkIGEgd3JvbmcgaW50ZXJwcmV0YXRpb24gYXMgYW4gYXJyYXkgb2Ygc3RyaW5nIGluIGZvcm1EYXRhLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxhYmVsIHRvIGJlIGNsZWFuZWQgZnJvbSBjb21tYVxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHJlbW92ZUNvbW1hc0luTGFiZWwobGFiZWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBsYWJlbC5zcGxpdCgnLCcpLmpvaW4oJycpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaXNUb29CaWcoZmlsZVNpemVJbkJ5dGVzOiBudW1iZXIsIGxpbWl0SW5NbzogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBmaWxlU2l6ZUluQnl0ZXMgLyAoMTAyNCAqIDEwMjQpID4gbGltaXRJbk1vO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVwbGFjZUVycm9yTWVzc2FnZUtleXMoXG4gICAgICAgIGVycm9yTXNnOiBzdHJpbmcsXG4gICAgICAgIGZpbGVOYW1lOiBzdHJpbmcsXG4gICAgICAgIGVycm9yQ29kZTogc3RyaW5nLFxuICAgICAgICBvdmVycmlkZU1heFNpemVJbk1vOiBudW1iZXIsXG4gICAgICAgIG92ZXJyaWRlQWNjZXB0ZWRFeHRlbnNpb25zOiBzdHJpbmcsXG4gICAgICAgIG92ZXJyaWRlTWF4RmlsZU5hbWVMZW5ndGg6IG51bWJlcixcbiAgICAgICAgb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyczogc3RyaW5nXG4gICAgKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkRXJyb3JNc2cgPSBlcnJvck1zZy5yZXBsYWNlKCclMSRzJywgZmlsZU5hbWUpO1xuXG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnNDEzJykpIHtcbiAgICAgICAgICAgIC8vIFJFUVVFU1RfRU5USVRZX1RPT19MQVJHRV9FUlJPUl9NU0dcbiAgICAgICAgICAgIGNvbnN0IGZpbGVNYXhTaXplID0gKG92ZXJyaWRlTWF4U2l6ZUluTW9cbiAgICAgICAgICAgICAgICA/IG92ZXJyaWRlTWF4U2l6ZUluTW9cbiAgICAgICAgICAgICAgICA6IHRoaXMubWF4U2l6ZUluTW9cbiAgICAgICAgICAgICkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKCclMiRzJywgZmlsZU1heFNpemUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnNDE1JykpIHtcbiAgICAgICAgICAgIC8vIFVOU1VQUE9SVEVEX01FRElBX1RZUEVfRVJST1JfTVNHXG4gICAgICAgICAgICBjb25zdCBmaWxlRXh0ZW5zaW9ucyA9IChvdmVycmlkZUFjY2VwdGVkRXh0ZW5zaW9uc1xuICAgICAgICAgICAgICAgID8gb3ZlcnJpZGVBY2NlcHRlZEV4dGVuc2lvbnNcbiAgICAgICAgICAgICAgICA6IHRoaXMuYWNjZXB0XG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRvVXBwZXJDYXNlKClcbiAgICAgICAgICAgICAgICAucmVwbGFjZSgvLC9nLCAnIG91ICcpO1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnLnJlcGxhY2UoJyUyJHMnLCBmaWxlRXh0ZW5zaW9ucyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yQ29kZS5zdGFydHNXaXRoKCdGSUxFTkFNRV9UT09fTE9ORycpKSB7XG4gICAgICAgICAgICBjb25zdCBtYXhGaWxlTmFtZUxlbmd0aCA9IChvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICAgICAgPyBvdmVycmlkZU1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICAgICAgOiB0aGlzLm1heEZpbGVOYW1lTGVuZ3RoXG4gICAgICAgICAgICApLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICByZXR1cm4gZm9ybWF0dGVkRXJyb3JNc2cucmVwbGFjZSgnJTIkcycsIG1heEZpbGVOYW1lTGVuZ3RoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JDb2RlLnN0YXJ0c1dpdGgoJ0ZJTEVfVE9PX1NNQUxMJykpIHtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKFxuICAgICAgICAgICAgICAgICclMiRzJyxcbiAgICAgICAgICAgICAgICB0aGlzLmZpbGVNaW5TaXplSW5CeXRlcy50b1N0cmluZygpXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnJvckNvZGUuc3RhcnRzV2l0aCgnRklMRU5BTUVfU0hPVUxEX05PVF9DT05UQUlOJykpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lSWxsZWdhbENoYXJhY3RlcnMgPSAob3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgID8gb3ZlcnJpZGVJbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgIDogdGhpcy5pbGxlZ2FsQ2hhcmFjdGVyc1xuICAgICAgICAgICAgKS5yZXBsYWNlKC8sL2csICcnKTtcbiAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWRFcnJvck1zZy5yZXBsYWNlKCclMiRzJywgZmlsZU5hbWVJbGxlZ2FsQ2hhcmFjdGVycyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvcm1hdHRlZEVycm9yTXNnO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGVmYXVsdFVua25vd25FcnJvck1lc3NhZ2UoZmlsZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IG1zZyA9ICdJbXBvc3NpYmxlIGRlIHRyYW5zbWV0dHJlIGxlIGZpY2hpZXInO1xuICAgICAgICBpZiAoISFmaWxlTmFtZSAmJiAhIWZpbGVOYW1lLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuIGAke21zZ30gJHtmaWxlTmFtZX0uYDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCR7bXNnfS5gO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBrZXkgdG8gYmUgbm9ybWFsaXplZFxuICAgICAqIEByZXR1cm5zIHN0cmluZ1xuICAgICAqL1xuICAgIHByaXZhdGUgbm9ybWFsaXplS2V5KGtleTogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGtleSA/IGtleS50b0xvd2VyQ2FzZSgpLnJlcGxhY2UodGhpcy5DSEFSX1RPX1JFUExBQ0UsICcnKSA6IG51bGw7XG4gICAgfVxufVxuIl19
@@ -11,13 +11,10 @@ export class FoehnUserConnectedAsComponent {
11
11
  this.connectedAs = this.sessionInfo.data.pipe(filter(userInfo => !!userInfo), map((userInfo) => userInfo.espaceLabel));
12
12
  }
13
13
  }
14
- FoehnUserConnectedAsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsComponent, deps: [{ token: i1.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
15
- FoehnUserConnectedAsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as", ngImport: i0, template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsComponent, decorators: [{
14
+ FoehnUserConnectedAsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsComponent, deps: [{ token: i1.SessionInfo }], target: i0.ɵɵFactoryTarget.Component });
15
+ FoehnUserConnectedAsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnUserConnectedAsComponent, selector: "foehn-user-connected-as", ngImport: i0, template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n", directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2.AsyncPipe } });
16
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsComponent, decorators: [{
17
17
  type: Component,
18
- args: [{
19
- selector: 'foehn-user-connected-as',
20
- templateUrl: './foehn-user-connected-as.component.html'
21
- }]
18
+ args: [{ selector: 'foehn-user-connected-as', template: "<!-- prettier-ignore -->\n<p\n *ngIf=\"(connectedAs | async) as userConnectedAs\"\n class=\"h2\"\n>\n La demande sera effectu\u00E9e pour <em>&laquo;{{ userConnectedAs }}&raquo;</em>\n</p>\n" }]
22
19
  }], ctorParameters: function () { return [{ type: i1.SessionInfo }]; } });
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRN0MsTUFBTSxPQUFPLDZCQUE2QjtJQUd0QyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQzlCLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7OzBIQVZRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLCtEQ1YxQyx5TUFPQTsyRkRHYSw2QkFBNkI7a0JBSnpDLFNBQVM7bUJBQUM7b0JBQ1AsUUFBUSxFQUFFLHlCQUF5QjtvQkFDbkMsV0FBVyxFQUFFLDBDQUEwQztpQkFDMUQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2Vzc2lvbkluZm9EYXRhIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8tZGF0YSc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFNlc3Npb25JbmZvIH0gZnJvbSAnLi4vc2RrLXNlc3Npb24taW5mby9zZXNzaW9uLWluZm8uc2VydmljZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tdXNlci1jb25uZWN0ZWQtYXMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgRm9laG5Vc2VyQ29ubmVjdGVkQXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIGNvbm5lY3RlZEFzOiBPYnNlcnZhYmxlPHN0cmluZz47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHNlc3Npb25JbmZvOiBTZXNzaW9uSW5mbykge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvbm5lY3RlZEFzID0gdGhpcy5zZXNzaW9uSW5mby5kYXRhLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIodXNlckluZm8gPT4gISF1c2VySW5mbyksXG4gICAgICAgICAgICBtYXAoKHVzZXJJbmZvOiBTZXNzaW9uSW5mb0RhdGEpID0+IHVzZXJJbmZvLmVzcGFjZUxhYmVsKVxuICAgICAgICApO1xuICAgIH1cbn1cbiIsIjwhLS0gcHJldHRpZXItaWdub3JlIC0tPlxuPHBcbiAgICAqbmdJZj1cIihjb25uZWN0ZWRBcyB8IGFzeW5jKSBhcyB1c2VyQ29ubmVjdGVkQXNcIlxuICAgIGNsYXNzPVwiaDJcIlxuPlxuICAgIExhIGRlbWFuZGUgc2VyYSBlZmZlY3R1w6llIHBvdXIgPGVtPiZsYXF1bzt7eyB1c2VyQ29ubmVjdGVkQXMgfX0mcmFxdW87PC9lbT5cbjwvcD5cbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJlc3RhdGlvbnMtbmcvc3JjL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzL2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy9mb2Vobi11c2VyLWNvbm5lY3RlZC1hcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBRWxELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7QUFRN0MsTUFBTSxPQUFPLDZCQUE2QjtJQUd0QyxZQUFvQixXQUF3QjtRQUF4QixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUFHLENBQUM7SUFFaEQsUUFBUTtRQUNKLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUN6QyxNQUFNLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQzlCLEdBQUcsQ0FBQyxDQUFDLFFBQXlCLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FDM0QsQ0FBQztJQUNOLENBQUM7OzBIQVZRLDZCQUE2Qjs4R0FBN0IsNkJBQTZCLCtEQ1YxQyx5TUFPQTsyRkRHYSw2QkFBNkI7a0JBSnpDLFNBQVM7K0JBQ0kseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlc3Npb25JbmZvRGF0YSB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLWRhdGEnO1xuaW1wb3J0IHsgZmlsdGVyLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBTZXNzaW9uSW5mbyB9IGZyb20gJy4uL3Nkay1zZXNzaW9uLWluZm8vc2Vzc2lvbi1pbmZvLnNlcnZpY2UnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXVzZXItY29ubmVjdGVkLWFzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdXNlci1jb25uZWN0ZWQtYXMuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuVXNlckNvbm5lY3RlZEFzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBjb25uZWN0ZWRBczogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXNzaW9uSW5mbzogU2Vzc2lvbkluZm8pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb25uZWN0ZWRBcyA9IHRoaXMuc2Vzc2lvbkluZm8uZGF0YS5waXBlKFxuICAgICAgICAgICAgZmlsdGVyKHVzZXJJbmZvID0+ICEhdXNlckluZm8pLFxuICAgICAgICAgICAgbWFwKCh1c2VySW5mbzogU2Vzc2lvbkluZm9EYXRhKSA9PiB1c2VySW5mby5lc3BhY2VMYWJlbClcbiAgICAgICAgKTtcbiAgICB9XG59XG4iLCI8IS0tIHByZXR0aWVyLWlnbm9yZSAtLT5cbjxwXG4gICAgKm5nSWY9XCIoY29ubmVjdGVkQXMgfCBhc3luYykgYXMgdXNlckNvbm5lY3RlZEFzXCJcbiAgICBjbGFzcz1cImgyXCJcbj5cbiAgICBMYSBkZW1hbmRlIHNlcmEgZWZmZWN0dcOpZSBwb3VyIDxlbT4mbGFxdW87e3sgdXNlckNvbm5lY3RlZEFzIH19JnJhcXVvOzwvZW0+XG48L3A+XG4iXX0=
@@ -4,10 +4,10 @@ import { FoehnUserConnectedAsComponent } from './foehn-user-connected-as.compone
4
4
  import * as i0 from "@angular/core";
5
5
  export class FoehnUserConnectedAsModule {
6
6
  }
7
- FoehnUserConnectedAsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
- FoehnUserConnectedAsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, declarations: [FoehnUserConnectedAsComponent], imports: [CommonModule], exports: [FoehnUserConnectedAsComponent] });
9
- FoehnUserConnectedAsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, imports: [[CommonModule]] });
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnUserConnectedAsModule, decorators: [{
7
+ FoehnUserConnectedAsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ FoehnUserConnectedAsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsModule, declarations: [FoehnUserConnectedAsComponent], imports: [CommonModule], exports: [FoehnUserConnectedAsComponent] });
9
+ FoehnUserConnectedAsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsModule, imports: [[CommonModule]] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnUserConnectedAsModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  imports: [CommonModule],
@@ -71,18 +71,14 @@ export class FoehnValidationAlertSummaryComponent {
71
71
  return null;
72
72
  }
73
73
  }
74
- FoehnValidationAlertSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryComponent, deps: [{ token: i1.ValidationHandlerService }], target: i0.ɵɵFactoryTarget.Component });
75
- FoehnValidationAlertSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.4", type: FoehnValidationAlertSummaryComponent, selector: "foehn-validation-alert-summary", inputs: { form: "form" }, ngImport: i0, template: "<div\n aria-labelledby=\"error-summary-title\"\n id=\"error-summary\"\n class=\"vd-error-summary\"\n *ngIf=\"shouldDisplayAlertSummary && errors.length\"\n role=\"alert\"\n tabindex=\"-1\"\n>\n <h2 id=\"error-summary-title\">\n {{ 'errors.summary.title' | fromDictionary }}\n </h2>\n <ul>\n <li *ngFor=\"let error of errors; trackBy: trackByError; let i = index\">\n <a\n class=\"text-danger\"\n href=\"\"\n [id]=\"'foehn-error-summary-list-item-' + i\"\n (click)=\"scrollToError($event, error.name)\"\n >\n <span [innerHTML]=\"error.componentLabel\"></span>\n <span [innerHTML]=\"error.message\"></span>\n </a>\n </li>\n </ul>\n</div>\n", styles: [".vd-error-summary{margin-bottom:1rem}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fromDictionary": i3.SdkDictionaryPipe } });
76
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryComponent, decorators: [{
74
+ FoehnValidationAlertSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryComponent, deps: [{ token: i1.ValidationHandlerService }], target: i0.ɵɵFactoryTarget.Component });
75
+ FoehnValidationAlertSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.3", type: FoehnValidationAlertSummaryComponent, selector: "foehn-validation-alert-summary", inputs: { form: "form" }, ngImport: i0, template: "<div\n aria-labelledby=\"error-summary-title\"\n id=\"error-summary\"\n class=\"vd-error-summary\"\n *ngIf=\"shouldDisplayAlertSummary && errors.length\"\n role=\"alert\"\n tabindex=\"-1\"\n>\n <h2 id=\"error-summary-title\">\n {{ 'errors.summary.title' | fromDictionary }}\n </h2>\n <ul>\n <li *ngFor=\"let error of errors; trackBy: trackByError; let i = index\">\n <a\n class=\"text-danger\"\n href=\"\"\n [id]=\"'foehn-error-summary-list-item-' + i\"\n (click)=\"scrollToError($event, error.name)\"\n >\n <span [innerHTML]=\"error.componentLabel\"></span>\n <span [innerHTML]=\"error.message\"></span>\n </a>\n </li>\n </ul>\n</div>\n", styles: [".vd-error-summary{margin-bottom:1rem}\n"], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "fromDictionary": i3.SdkDictionaryPipe } });
76
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryComponent, decorators: [{
77
77
  type: Component,
78
- args: [{
79
- selector: 'foehn-validation-alert-summary',
80
- templateUrl: './foehn-validation-alert-summary.component.html',
81
- styleUrls: ['./foehn-validation-alert-summary.component.css']
82
- }]
78
+ args: [{ selector: 'foehn-validation-alert-summary', template: "<div\n aria-labelledby=\"error-summary-title\"\n id=\"error-summary\"\n class=\"vd-error-summary\"\n *ngIf=\"shouldDisplayAlertSummary && errors.length\"\n role=\"alert\"\n tabindex=\"-1\"\n>\n <h2 id=\"error-summary-title\">\n {{ 'errors.summary.title' | fromDictionary }}\n </h2>\n <ul>\n <li *ngFor=\"let error of errors; trackBy: trackByError; let i = index\">\n <a\n class=\"text-danger\"\n href=\"\"\n [id]=\"'foehn-error-summary-list-item-' + i\"\n (click)=\"scrollToError($event, error.name)\"\n >\n <span [innerHTML]=\"error.componentLabel\"></span>\n <span [innerHTML]=\"error.message\"></span>\n </a>\n </li>\n </ul>\n</div>\n", styles: [".vd-error-summary{margin-bottom:1rem}\n"] }]
83
79
  }], ctorParameters: function () { return [{ type: i1.ValidationHandlerService }]; }, propDecorators: { form: [{
84
80
  type: Input
85
81
  }] } });
86
82
  export class ComponentError {
87
83
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUlqRCxzQ0FBc0M7QUFNdEMsTUFBTSxPQUFPLG9DQUFvQztJQUk3QyxZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7SUFFMUUsSUFBSSx5QkFBeUI7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoRCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNCLElBQ0ksU0FBUyxDQUFDLGtCQUFrQixFQUFFO2dCQUM5QixDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFDcEM7Z0JBQ0UsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0JBQ1IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FDN0MsU0FBUyxFQUNULEtBQUssQ0FDUjt3QkFDRCxjQUFjLEVBQUUsU0FBUyxDQUFDLEtBQUs7NEJBQzNCLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEtBQUs7NEJBQ3pCLENBQUMsQ0FBQyxFQUFFO3FCQUNYLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVksRUFBRSxPQUFlO1FBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxPQUFPLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixPQUFPLENBQUMsSUFBSSxDQUNSLElBQ0ksT0FBTztZQUNQLG1DQUFtQztZQUN2Qyx1SUFBdUksQ0FDMUksQ0FBQztZQUNGLE9BQU87U0FDVjtRQUNELG1EQUFtRDtRQUNuRCxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVsQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLFlBQVksRUFBRTtZQUNkLHNDQUFzQztZQUN0QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7YUFBTTtZQUNILHVIQUF1SDtZQUN2SCxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUN2RCxjQUFjLE9BQU8sSUFBSSxDQUM1QixDQUFDO1lBQ0YsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQ3RELGlCQUFpQixDQUNwQixDQUFDO2dCQUNGLElBQUksWUFBWSxFQUFFO29CQUNkLHNDQUFzQztvQkFDdEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUN4QjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQWlCO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRVMsZ0NBQWdDLENBQ3RDLGlCQUFzQztRQUV0QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUMzQyxDQUFDLENBQ2dCLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtnQkFDNUIsT0FBTyxnQkFBZ0IsQ0FBQzthQUMzQjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7aUlBeEZRLG9DQUFvQztxSEFBcEMsb0NBQW9DLGdHQ1ZqRCw2eUJBeUJBOzJGRGZhLG9DQUFvQztrQkFMaEQsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsZ0NBQWdDO29CQUMxQyxXQUFXLEVBQUUsaURBQWlEO29CQUM5RCxTQUFTLEVBQUUsQ0FBQyxnREFBZ0QsQ0FBQztpQkFDaEU7K0dBR0csSUFBSTtzQkFESCxLQUFLOztBQTBGVixNQUFNLE9BQU8sY0FBYztDQUkxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgRm9laG5Gb3JtQ29tcG9uZW50IH0gZnJvbSAnLi4vZm9laG4tZm9ybS9mb2Vobi1mb3JtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uSGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi92YWxpZGF0aW9uL3ZhbGlkYXRpb24taGFuZGxlci5zZXJ2aWNlJztcblxuLy8gZXNsaW50LWRpc2FibGUgbWF4LWNsYXNzZXMtcGVyLWZpbGVcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5JyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEZvZWhuVmFsaWRhdGlvbkFsZXJ0U3VtbWFyeUNvbXBvbmVudCB7XG4gICAgQElucHV0KClcbiAgICBmb3JtOiBGb2VobkZvcm1Db21wb25lbnQ7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbGlkYXRpb25IYW5kbGVyU2VydmljZTogVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlKSB7fVxuXG4gICAgZ2V0IHNob3VsZERpc3BsYXlBbGVydFN1bW1hcnkoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uc2hvdWxkRGlzcGxheUFsZXJ0U3VtbWFyeTtcbiAgICB9XG5cbiAgICBnZXQgZXJyb3JzKCk6IENvbXBvbmVudEVycm9yW10ge1xuICAgICAgICBjb25zdCBlcnJvcnM6IENvbXBvbmVudEVycm9yW10gPSBbXTtcbiAgICAgICAgY29uc3QgY29tcG9uZW50cyA9IHRoaXMuZm9ybS5nZXRBbGxDb21wb25lbnRzKCk7XG4gICAgICAgIGNvbXBvbmVudHMuZm9yRWFjaChjb21wb25lbnQgPT4ge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGNvbXBvbmVudC5oYXNFcnJvcnNUb0Rpc3BsYXkoKSAmJlxuICAgICAgICAgICAgICAgICFjb21wb25lbnQuZXhjbHVkZUZyb21FcnJvclN1bW1hcnlcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudC5lcnJvcnMuZm9yRWFjaChlcnJvciA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGVycm9ycy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IGVycm9yLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBtZXNzYWdlOiB0aGlzLnZhbGlkYXRpb25IYW5kbGVyU2VydmljZS5nZXRNZXNzYWdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudExhYmVsOiBjb21wb25lbnQubGFiZWxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAke2NvbXBvbmVudC5sYWJlbH0gOiBgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAnJ1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGVycm9ycztcbiAgICB9XG5cbiAgICBzY3JvbGxUb0Vycm9yKGV2ZW50OiBFdmVudCwgZXJyb3JJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRDb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtlcnJvcklkfUNvbnRhaW5lcmApO1xuICAgICAgICBpZiAoIWVsZW1lbnRDb250YWluZXIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICAgICBgXCIke1xuICAgICAgICAgICAgICAgICAgICBlcnJvcklkXG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtbGVuXG4gICAgICAgICAgICAgICAgfVwiIGVycm9yIGNhbm5vdCBiZSBzY3JvbGxlZCB0byBub3IgZm9jdXNlZC4gUGxlYXNlIG1ha2Ugc3VyZSB0aGF0IHlvdXIgSFRNTCBGb2VobiBlbGVtZW50IHRhZyBhdHRyaWJ1dHMgXCJpZFwiIGFuZCBcIm5hbWVcIiBhcmUgaWRlbnRpY2FsLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gU2Nyb2xsIGluIHZpZXcgc2hvdWxkIGJlIGRvbmUgb24gaW5wdXQgY29udGFpbmVyXG4gICAgICAgIGVsZW1lbnRDb250YWluZXIuc2Nyb2xsSW50b1ZpZXcoKTtcblxuICAgICAgICBjb25zdCBlbGVtZW50Q2hpbGQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtlcnJvcklkfUNoaWxkYCk7XG4gICAgICAgIGlmIChlbGVtZW50Q2hpbGQpIHtcbiAgICAgICAgICAgIC8vIEZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQgaXRzZWxmXG4gICAgICAgICAgICBlbGVtZW50Q2hpbGQuZm9jdXMoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIEZvciBtb3JlIGNvbXBsZXggY29tcG9uZW50cyBzdWNoIGFzIGZvZWhuLWlucHV0LWRhdGUsIGZvZWhuLWlucHV0LXRpbWUsIGZvZWhuLW5hdjEzLCBmb2Vobi1yYWRpbywgZm9laG4tY2hlY2tib3gsLi4uXG4gICAgICAgICAgICBjb25zdCBlbGVtZW50Tm9kZUxpc3RPZiA9IGVsZW1lbnRDb250YWluZXIucXVlcnlTZWxlY3RvckFsbChcbiAgICAgICAgICAgICAgICBgaW5wdXRbaWRePVwiJHtlcnJvcklkfVwiXWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBpZiAoZWxlbWVudE5vZGVMaXN0T2YgJiYgZWxlbWVudE5vZGVMaXN0T2YubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuZmluZEZpcnN0SHRtbElucHV0RWxlbWVudEVuYWJsZWQoXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnROb2RlTGlzdE9mXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEZvY3VzIHNob3VsZCBiZSBvbiB0aGUgaW5wdXQgaXRzZWxmXG4gICAgICAgICAgICAgICAgICAgIGlucHV0RWxlbWVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRyYWNrQnlFcnJvcihlOiBDb21wb25lbnRFcnJvcik6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBlLm5hbWU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGZpbmRGaXJzdEh0bWxJbnB1dEVsZW1lbnRFbmFibGVkKFxuICAgICAgICBlbGVtZW50Tm9kZUxpc3RPZjogTm9kZUxpc3RPZjxFbGVtZW50PlxuICAgICk6IEhUTUxJbnB1dEVsZW1lbnQge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnROb2RlTGlzdE9mLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBodG1sSW5wdXRFbGVtZW50ID0gZWxlbWVudE5vZGVMaXN0T2YuaXRlbShcbiAgICAgICAgICAgICAgICBpXG4gICAgICAgICAgICApIGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoIWh0bWxJbnB1dEVsZW1lbnQuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaHRtbElucHV0RWxlbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFcnJvciB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBjb21wb25lbnRMYWJlbDogc3RyaW5nO1xufVxuIiwiPGRpdlxuICAgIGFyaWEtbGFiZWxsZWRieT1cImVycm9yLXN1bW1hcnktdGl0bGVcIlxuICAgIGlkPVwiZXJyb3Itc3VtbWFyeVwiXG4gICAgY2xhc3M9XCJ2ZC1lcnJvci1zdW1tYXJ5XCJcbiAgICAqbmdJZj1cInNob3VsZERpc3BsYXlBbGVydFN1bW1hcnkgJiYgZXJyb3JzLmxlbmd0aFwiXG4gICAgcm9sZT1cImFsZXJ0XCJcbiAgICB0YWJpbmRleD1cIi0xXCJcbj5cbiAgICA8aDIgaWQ9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCI+XG4gICAgICAgIHt7ICdlcnJvcnMuc3VtbWFyeS50aXRsZScgfCBmcm9tRGljdGlvbmFyeSB9fVxuICAgIDwvaDI+XG4gICAgPHVsPlxuICAgICAgICA8bGkgKm5nRm9yPVwibGV0IGVycm9yIG9mIGVycm9yczsgdHJhY2tCeTogdHJhY2tCeUVycm9yOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgICAgICAgICA8YVxuICAgICAgICAgICAgICAgIGNsYXNzPVwidGV4dC1kYW5nZXJcIlxuICAgICAgICAgICAgICAgIGhyZWY9XCJcIlxuICAgICAgICAgICAgICAgIFtpZF09XCInZm9laG4tZXJyb3Itc3VtbWFyeS1saXN0LWl0ZW0tJyArIGlcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJzY3JvbGxUb0Vycm9yKCRldmVudCwgZXJyb3IubmFtZSlcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZXJyb3IuY29tcG9uZW50TGFiZWxcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJlcnJvci5tZXNzYWdlXCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2xpPlxuICAgIDwvdWw+XG48L2Rpdj5cbiJdfQ==
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXN0YXRpb25zLW5nL3NyYy9mb2Vobi12YWxpZGF0aW9uLWFsZXJ0LXN1bW1hcnkvZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUlqRCxzQ0FBc0M7QUFNdEMsTUFBTSxPQUFPLG9DQUFvQztJQUk3QyxZQUFvQix3QkFBa0Q7UUFBbEQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUEwQjtJQUFHLENBQUM7SUFFMUUsSUFBSSx5QkFBeUI7UUFDekIsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLE1BQU07UUFDTixNQUFNLE1BQU0sR0FBcUIsRUFBRSxDQUFDO1FBQ3BDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoRCxVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzNCLElBQ0ksU0FBUyxDQUFDLGtCQUFrQixFQUFFO2dCQUM5QixDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsRUFDcEM7Z0JBQ0UsU0FBUyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7b0JBQzdCLE1BQU0sQ0FBQyxJQUFJLENBQUM7d0JBQ1IsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO3dCQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsQ0FDN0MsU0FBUyxFQUNULEtBQUssQ0FDUjt3QkFDRCxjQUFjLEVBQUUsU0FBUyxDQUFDLEtBQUs7NEJBQzNCLENBQUMsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxLQUFLLEtBQUs7NEJBQ3pCLENBQUMsQ0FBQyxFQUFFO3FCQUNYLENBQUMsQ0FBQztnQkFDUCxDQUFDLENBQUMsQ0FBQzthQUNOO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLE1BQU0sQ0FBQztJQUNsQixDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVksRUFBRSxPQUFlO1FBQ3ZDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixNQUFNLGdCQUFnQixHQUFHLFFBQVEsQ0FBQyxjQUFjLENBQUMsR0FBRyxPQUFPLFdBQVcsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUNuQixPQUFPLENBQUMsSUFBSSxDQUNSLElBQ0ksT0FBTztZQUNQLG1DQUFtQztZQUN2Qyx1SUFBdUksQ0FDMUksQ0FBQztZQUNGLE9BQU87U0FDVjtRQUNELG1EQUFtRDtRQUNuRCxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUVsQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLEdBQUcsT0FBTyxPQUFPLENBQUMsQ0FBQztRQUNoRSxJQUFJLFlBQVksRUFBRTtZQUNkLHNDQUFzQztZQUN0QyxZQUFZLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDeEI7YUFBTTtZQUNILHVIQUF1SDtZQUN2SCxNQUFNLGlCQUFpQixHQUFHLGdCQUFnQixDQUFDLGdCQUFnQixDQUN2RCxjQUFjLE9BQU8sSUFBSSxDQUM1QixDQUFDO1lBQ0YsSUFBSSxpQkFBaUIsSUFBSSxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsZ0NBQWdDLENBQ3RELGlCQUFpQixDQUNwQixDQUFDO2dCQUNGLElBQUksWUFBWSxFQUFFO29CQUNkLHNDQUFzQztvQkFDdEMsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO2lCQUN4QjthQUNKO1NBQ0o7SUFDTCxDQUFDO0lBRUQsWUFBWSxDQUFDLENBQWlCO1FBQzFCLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQztJQUNsQixDQUFDO0lBRVMsZ0NBQWdDLENBQ3RDLGlCQUFzQztRQUV0QyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsaUJBQWlCLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQy9DLE1BQU0sZ0JBQWdCLEdBQUcsaUJBQWlCLENBQUMsSUFBSSxDQUMzQyxDQUFDLENBQ2dCLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsRUFBRTtnQkFDNUIsT0FBTyxnQkFBZ0IsQ0FBQzthQUMzQjtTQUNKO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDaEIsQ0FBQzs7aUlBeEZRLG9DQUFvQztxSEFBcEMsb0NBQW9DLGdHQ1ZqRCw2eUJBeUJBOzJGRGZhLG9DQUFvQztrQkFMaEQsU0FBUzsrQkFDSSxnQ0FBZ0M7K0dBTTFDLElBQUk7c0JBREgsS0FBSzs7QUEwRlYsTUFBTSxPQUFPLGNBQWM7Q0FJMUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IEZvZWhuRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2ZvZWhuLWZvcm0vZm9laG4tZm9ybS5jb21wb25lbnQnO1xuaW1wb3J0IHsgVmFsaWRhdGlvbkhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vdmFsaWRhdGlvbi92YWxpZGF0aW9uLWhhbmRsZXIuc2VydmljZSc7XG5cbi8vIGVzbGludC1kaXNhYmxlIG1heC1jbGFzc2VzLXBlci1maWxlXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZvZWhuLXZhbGlkYXRpb24tYWxlcnQtc3VtbWFyeScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2ZvZWhuLXZhbGlkYXRpb24tYWxlcnQtc3VtbWFyeS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZm9laG4tdmFsaWRhdGlvbi1hbGVydC1zdW1tYXJ5LmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBGb2VoblZhbGlkYXRpb25BbGVydFN1bW1hcnlDb21wb25lbnQge1xuICAgIEBJbnB1dCgpXG4gICAgZm9ybTogRm9laG5Gb3JtQ29tcG9uZW50O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB2YWxpZGF0aW9uSGFuZGxlclNlcnZpY2U6IFZhbGlkYXRpb25IYW5kbGVyU2VydmljZSkge31cblxuICAgIGdldCBzaG91bGREaXNwbGF5QWxlcnRTdW1tYXJ5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLnNob3VsZERpc3BsYXlBbGVydFN1bW1hcnk7XG4gICAgfVxuXG4gICAgZ2V0IGVycm9ycygpOiBDb21wb25lbnRFcnJvcltdIHtcbiAgICAgICAgY29uc3QgZXJyb3JzOiBDb21wb25lbnRFcnJvcltdID0gW107XG4gICAgICAgIGNvbnN0IGNvbXBvbmVudHMgPSB0aGlzLmZvcm0uZ2V0QWxsQ29tcG9uZW50cygpO1xuICAgICAgICBjb21wb25lbnRzLmZvckVhY2goY29tcG9uZW50ID0+IHtcbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBjb21wb25lbnQuaGFzRXJyb3JzVG9EaXNwbGF5KCkgJiZcbiAgICAgICAgICAgICAgICAhY29tcG9uZW50LmV4Y2x1ZGVGcm9tRXJyb3JTdW1tYXJ5XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb21wb25lbnQuZXJyb3JzLmZvckVhY2goZXJyb3IgPT4ge1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBlcnJvci5uYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogdGhpcy52YWxpZGF0aW9uSGFuZGxlclNlcnZpY2UuZ2V0TWVzc2FnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRMYWJlbDogY29tcG9uZW50LmxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBgJHtjb21wb25lbnQubGFiZWx9IDogYFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHJldHVybiBlcnJvcnM7XG4gICAgfVxuXG4gICAgc2Nyb2xsVG9FcnJvcihldmVudDogRXZlbnQsIGVycm9ySWQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBjb25zdCBlbGVtZW50Q29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7ZXJyb3JJZH1Db250YWluZXJgKTtcbiAgICAgICAgaWYgKCFlbGVtZW50Q29udGFpbmVyKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICAgICAgICAgYFwiJHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JJZFxuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbWF4LWxlblxuICAgICAgICAgICAgICAgIH1cIiBlcnJvciBjYW5ub3QgYmUgc2Nyb2xsZWQgdG8gbm9yIGZvY3VzZWQuIFBsZWFzZSBtYWtlIHN1cmUgdGhhdCB5b3VyIEhUTUwgRm9laG4gZWxlbWVudCB0YWcgYXR0cmlidXRzIFwiaWRcIiBhbmQgXCJuYW1lXCIgYXJlIGlkZW50aWNhbC5gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNjcm9sbCBpbiB2aWV3IHNob3VsZCBiZSBkb25lIG9uIGlucHV0IGNvbnRhaW5lclxuICAgICAgICBlbGVtZW50Q29udGFpbmVyLnNjcm9sbEludG9WaWV3KCk7XG5cbiAgICAgICAgY29uc3QgZWxlbWVudENoaWxkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYCR7ZXJyb3JJZH1DaGlsZGApO1xuICAgICAgICBpZiAoZWxlbWVudENoaWxkKSB7XG4gICAgICAgICAgICAvLyBGb2N1cyBzaG91bGQgYmUgb24gdGhlIGlucHV0IGl0c2VsZlxuICAgICAgICAgICAgZWxlbWVudENoaWxkLmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBGb3IgbW9yZSBjb21wbGV4IGNvbXBvbmVudHMgc3VjaCBhcyBmb2Vobi1pbnB1dC1kYXRlLCBmb2Vobi1pbnB1dC10aW1lLCBmb2Vobi1uYXYxMywgZm9laG4tcmFkaW8sIGZvZWhuLWNoZWNrYm94LC4uLlxuICAgICAgICAgICAgY29uc3QgZWxlbWVudE5vZGVMaXN0T2YgPSBlbGVtZW50Q29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoXG4gICAgICAgICAgICAgICAgYGlucHV0W2lkXj1cIiR7ZXJyb3JJZH1cIl1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgaWYgKGVsZW1lbnROb2RlTGlzdE9mICYmIGVsZW1lbnROb2RlTGlzdE9mLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLmZpbmRGaXJzdEh0bWxJbnB1dEVsZW1lbnRFbmFibGVkKFxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50Tm9kZUxpc3RPZlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKGlucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBGb2N1cyBzaG91bGQgYmUgb24gdGhlIGlucHV0IGl0c2VsZlxuICAgICAgICAgICAgICAgICAgICBpbnB1dEVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0cmFja0J5RXJyb3IoZTogQ29tcG9uZW50RXJyb3IpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gZS5uYW1lO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBmaW5kRmlyc3RIdG1sSW5wdXRFbGVtZW50RW5hYmxlZChcbiAgICAgICAgZWxlbWVudE5vZGVMaXN0T2Y6IE5vZGVMaXN0T2Y8RWxlbWVudD5cbiAgICApOiBIVE1MSW5wdXRFbGVtZW50IHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50Tm9kZUxpc3RPZi5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgaHRtbElucHV0RWxlbWVudCA9IGVsZW1lbnROb2RlTGlzdE9mLml0ZW0oXG4gICAgICAgICAgICAgICAgaVxuICAgICAgICAgICAgKSBhcyBIVE1MSW5wdXRFbGVtZW50O1xuICAgICAgICAgICAgaWYgKCFodG1sSW5wdXRFbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGh0bWxJbnB1dEVsZW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50RXJyb3Ige1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gICAgY29tcG9uZW50TGFiZWw6IHN0cmluZztcbn1cbiIsIjxkaXZcbiAgICBhcmlhLWxhYmVsbGVkYnk9XCJlcnJvci1zdW1tYXJ5LXRpdGxlXCJcbiAgICBpZD1cImVycm9yLXN1bW1hcnlcIlxuICAgIGNsYXNzPVwidmQtZXJyb3Itc3VtbWFyeVwiXG4gICAgKm5nSWY9XCJzaG91bGREaXNwbGF5QWxlcnRTdW1tYXJ5ICYmIGVycm9ycy5sZW5ndGhcIlxuICAgIHJvbGU9XCJhbGVydFwiXG4gICAgdGFiaW5kZXg9XCItMVwiXG4+XG4gICAgPGgyIGlkPVwiZXJyb3Itc3VtbWFyeS10aXRsZVwiPlxuICAgICAgICB7eyAnZXJyb3JzLnN1bW1hcnkudGl0bGUnIHwgZnJvbURpY3Rpb25hcnkgfX1cbiAgICA8L2gyPlxuICAgIDx1bD5cbiAgICAgICAgPGxpICpuZ0Zvcj1cImxldCBlcnJvciBvZiBlcnJvcnM7IHRyYWNrQnk6IHRyYWNrQnlFcnJvcjsgbGV0IGkgPSBpbmRleFwiPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtZGFuZ2VyXCJcbiAgICAgICAgICAgICAgICBocmVmPVwiXCJcbiAgICAgICAgICAgICAgICBbaWRdPVwiJ2ZvZWhuLWVycm9yLXN1bW1hcnktbGlzdC1pdGVtLScgKyBpXCJcbiAgICAgICAgICAgICAgICAoY2xpY2spPVwic2Nyb2xsVG9FcnJvcigkZXZlbnQsIGVycm9yLm5hbWUpXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8c3BhbiBbaW5uZXJIVE1MXT1cImVycm9yLmNvbXBvbmVudExhYmVsXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIFtpbm5lckhUTUxdPVwiZXJyb3IubWVzc2FnZVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvYT5cbiAgICAgICAgPC9saT5cbiAgICA8L3VsPlxuPC9kaXY+XG4iXX0=
@@ -5,10 +5,10 @@ import { SdkDictionaryModule } from '../sdk-dictionary/sdk-dictionary.module';
5
5
  import * as i0 from "@angular/core";
6
6
  export class FoehnValidationAlertSummaryModule {
7
7
  }
8
- FoehnValidationAlertSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
- FoehnValidationAlertSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryModule, declarations: [FoehnValidationAlertSummaryComponent], imports: [CommonModule, SdkDictionaryModule], exports: [FoehnValidationAlertSummaryComponent] });
10
- FoehnValidationAlertSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryModule, imports: [[CommonModule, SdkDictionaryModule]] });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.4", ngImport: i0, type: FoehnValidationAlertSummaryModule, decorators: [{
8
+ FoehnValidationAlertSummaryModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
9
+ FoehnValidationAlertSummaryModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryModule, declarations: [FoehnValidationAlertSummaryComponent], imports: [CommonModule, SdkDictionaryModule], exports: [FoehnValidationAlertSummaryComponent] });
10
+ FoehnValidationAlertSummaryModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryModule, imports: [[CommonModule, SdkDictionaryModule]] });
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: FoehnValidationAlertSummaryModule, decorators: [{
12
12
  type: NgModule,
13
13
  args: [{
14
14
  imports: [CommonModule, SdkDictionaryModule],