@senior-gestao-pessoas/payroll-core 8.7.0 → 9.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (872) hide show
  1. package/bundles/senior-gestao-pessoas-payroll-core.umd.js +3024 -10904
  2. package/bundles/senior-gestao-pessoas-payroll-core.umd.js.map +1 -1
  3. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js +1 -1
  4. package/bundles/senior-gestao-pessoas-payroll-core.umd.min.js.map +1 -1
  5. package/components/workstationgroup-lookup/autocomplete.service.d.ts +31 -0
  6. package/esm2015/components/admission-draft-summary/admission-draft-summary.component.js +106 -0
  7. package/esm2015/components/admission-draft-summary/admission-draft-summary.module.js +17 -0
  8. package/esm2015/components/admission-draft-summary/admission-draft-summary.service.js +27 -0
  9. package/esm2015/components/admission-draft-summary/index.js +4 -0
  10. package/esm2015/components/block-ui/block-ui.component.js +19 -0
  11. package/esm2015/components/block-ui/block-ui.module.js +25 -0
  12. package/esm2015/components/block-ui/index.js +3 -0
  13. package/esm2015/components/breadcrumb/breadcrumb.component.js +76 -0
  14. package/esm2015/components/breadcrumb/breadcrumb.module.js +25 -0
  15. package/esm2015/components/breadcrumb/index.js +3 -0
  16. package/esm2015/components/control-messages-error/control-messages-error.component.js +28 -0
  17. package/esm2015/components/control-messages-error/control-messages-error.module.js +17 -0
  18. package/esm2015/components/control-messages-error/index.js +3 -0
  19. package/esm2015/components/custom-fields/custom-fields.component.js +32 -0
  20. package/esm2015/components/custom-fields/custom-fields.module.js +31 -0
  21. package/esm2015/components/custom-fields/index.js +3 -0
  22. package/esm2015/components/data-list/data-list.component.js +305 -0
  23. package/esm2015/components/data-list/data-list.module.js +28 -0
  24. package/esm2015/components/data-list/data-list.service.js +19 -0
  25. package/esm2015/components/data-list/entity-odata-response.js +26 -0
  26. package/esm2015/components/data-list/index.js +2 -0
  27. package/esm2015/components/data-list-rest/data-list-rest.component.js +239 -0
  28. package/esm2015/components/data-list-rest/data-list-rest.module.js +28 -0
  29. package/esm2015/components/data-list-rest/data-list-rest.service.js +19 -0
  30. package/esm2015/components/data-list-rest/index.js +2 -0
  31. package/esm2015/components/directives/directives.module.js +17 -0
  32. package/esm2015/components/directives/index.js +4 -0
  33. package/esm2015/components/directives/name-not-spaces.directive.js +31 -0
  34. package/esm2015/components/directives/only-number.directive.js +41 -0
  35. package/esm2015/components/employee-selector/employee-selector.component.js +65 -0
  36. package/esm2015/components/employee-selector/employee-selector.module.js +18 -0
  37. package/esm2015/components/employee-selector/index.js +3 -0
  38. package/esm2015/components/employee-summary/employee-summary.component.js +108 -0
  39. package/esm2015/components/employee-summary/employee-summary.module.js +17 -0
  40. package/esm2015/components/employee-summary/employee-summary.service.js +33 -0
  41. package/esm2015/components/employee-summary/index.js +4 -0
  42. package/esm2015/components/error-page/error-page.component.js +15 -0
  43. package/esm2015/components/error-page/error-page.module.js +16 -0
  44. package/esm2015/components/error-page/index.js +3 -0
  45. package/esm2015/components/field-validator/field-validator.component.js +40 -0
  46. package/esm2015/components/field-validator/field-validator.module.js +18 -0
  47. package/esm2015/components/field-validator/index.js +3 -0
  48. package/esm2015/components/file-upload/file-upload.component.js +135 -0
  49. package/esm2015/components/file-upload/file-upload.module.js +19 -0
  50. package/esm2015/components/file-upload/file-upload.service.js +44 -0
  51. package/esm2015/components/file-upload/index.js +3 -0
  52. package/esm2015/components/from-to/from-to.component.js +16 -0
  53. package/esm2015/components/from-to/from-to.module.js +19 -0
  54. package/esm2015/components/from-to/index.js +3 -0
  55. package/esm2015/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +332 -0
  56. package/esm2015/components/historical-bank-account/historical-bank-account.component.js +329 -0
  57. package/esm2015/components/historical-bank-account/historical-bank-account.module.js +56 -0
  58. package/esm2015/components/historical-bank-account/historical-bank-account.service.js +20 -0
  59. package/esm2015/components/historical-bank-account/index.js +4 -0
  60. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.component.js +223 -0
  61. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.module.js +39 -0
  62. package/esm2015/components/historical-bank-account-list/historical-bank-account-list.service.js +35 -0
  63. package/esm2015/components/historical-bank-account-list/index.js +4 -0
  64. package/esm2015/components/image-cropper/image-crop.component.js +146 -0
  65. package/esm2015/components/image-cropper/image-crop.module.js +39 -0
  66. package/esm2015/components/image-cropper/image-crop.service.js +88 -0
  67. package/esm2015/components/image-cropper/index.js +4 -0
  68. package/esm2015/components/input-date/index.js +3 -0
  69. package/esm2015/components/input-date/input-date.component.js +115 -0
  70. package/esm2015/components/input-date/input-date.module.js +17 -0
  71. package/esm2015/components/input-date-model/index.js +3 -0
  72. package/esm2015/components/input-date-model/input-date-model.component.js +100 -0
  73. package/esm2015/components/input-date-model/input-date-model.module.js +17 -0
  74. package/esm2015/components/input-rest-auto-complete/index.js +4 -0
  75. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.component.js +303 -0
  76. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.module.js +21 -0
  77. package/esm2015/components/input-rest-auto-complete/input-rest-auto-complete.service.js +20 -0
  78. package/esm2015/components/input-rest-auto-complete-employee/index.js +3 -0
  79. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +190 -0
  80. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +28 -0
  81. package/esm2015/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +20 -0
  82. package/esm2015/components/input-rest-auto-complete-employee-model/index.js +3 -0
  83. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +179 -0
  84. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +28 -0
  85. package/esm2015/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +20 -0
  86. package/esm2015/components/input-rest-auto-complete-enum/index.js +4 -0
  87. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +146 -0
  88. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +28 -0
  89. package/esm2015/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +23 -0
  90. package/esm2015/components/input-rest-auto-complete-jobposition/index.js +4 -0
  91. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +173 -0
  92. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +28 -0
  93. package/esm2015/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +20 -0
  94. package/esm2015/components/input-rest-auto-complete-model/index.js +3 -0
  95. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +227 -0
  96. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +28 -0
  97. package/esm2015/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +20 -0
  98. package/esm2015/components/input-rest-auto-complete-model-enum/index.js +3 -0
  99. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +124 -0
  100. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +28 -0
  101. package/esm2015/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +23 -0
  102. package/esm2015/components/list-rest/index.js +3 -0
  103. package/esm2015/components/list-rest/list-rest.component.js +117 -0
  104. package/esm2015/components/list-rest/list-rest.module.js +33 -0
  105. package/esm2015/components/list-rest/list-rest.service.js +23 -0
  106. package/esm2015/components/lookup/index.js +2 -0
  107. package/esm2015/components/lookup/lookup.component.js +324 -0
  108. package/esm2015/components/lookup/lookup.module.js +20 -0
  109. package/esm2015/components/lookup/lookup.service.js +52 -0
  110. package/esm2015/components/shared/http-client.service.js +165 -0
  111. package/esm2015/components/shared/shared.module.js +21 -0
  112. package/esm2015/components/spinner/index.js +3 -0
  113. package/esm2015/components/spinner/spinner-loader.component.js +12 -0
  114. package/esm2015/components/spinner/spinner-loader.module.js +23 -0
  115. package/esm2015/components/toast/index.js +4 -0
  116. package/esm2015/components/toast/toast.component.js +88 -0
  117. package/esm2015/components/toast/toast.module.js +20 -0
  118. package/esm2015/components/toast/toast.service.js +42 -0
  119. package/esm2015/components/type-admission/index.js +3 -0
  120. package/esm2015/components/type-admission/type-admission.module.js +14 -0
  121. package/esm2015/components/type-admission/type-admission.services.js +62 -0
  122. package/esm2015/components/utils/cnpj-validator.js +62 -0
  123. package/esm2015/components/utils/cpf-validator.js +45 -0
  124. package/esm2015/components/utils/date-validator/date-validators.js +144 -0
  125. package/esm2015/components/utils/helpers.js +476 -0
  126. package/esm2015/components/utils/validations.js +127 -0
  127. package/esm2015/components/vanilla/string-methods.js +22 -0
  128. package/esm2015/components/workstationgroup-lookup/autocomplete.service.js +111 -0
  129. package/esm2015/components/workstationgroup-lookup/index.js +3 -0
  130. package/esm2015/components/workstationgroup-lookup/lookup.service.js +142 -0
  131. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.component.js +587 -0
  132. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +48 -0
  133. package/esm2015/components/workstationgroup-lookup/workstationgroup-lookup.module.js +21 -0
  134. package/esm2015/core/entities/entity-odata-parameter.js +33 -0
  135. package/esm2015/core/entities/index.js +2 -0
  136. package/esm2015/core/enums/companyIndicationType.js +18 -0
  137. package/esm2015/core/enums/comparetype.enumeration.js +14 -0
  138. package/esm2015/core/enums/coreFieldType.js +5 -0
  139. package/esm2015/core/enums/direction.enumeration.js +6 -0
  140. package/esm2015/core/enums/httpRequestType.js +6 -0
  141. package/esm2015/core/enums/index.js +14 -0
  142. package/esm2015/core/enums/menu-type.enumeration.js +6 -0
  143. package/esm2015/core/enums/moduleType.js +22 -0
  144. package/esm2015/core/enums/operators.enumeration.js +14 -0
  145. package/esm2015/core/enums/parameter-type.enumeration.js +12 -0
  146. package/esm2015/core/enums/report-format.enumeration.js +12 -0
  147. package/esm2015/core/enums/report-stage.enumeration.js +12 -0
  148. package/esm2015/core/enums/serviceType.js +9 -0
  149. package/esm2015/core/enums/usingType.js +42 -0
  150. package/esm2015/core/interfaces/date-compare-options.js +1 -0
  151. package/esm2015/core/interfaces/date-validate-options.js +1 -0
  152. package/esm2015/core/interfaces/field-validators-object.js +1 -0
  153. package/esm2015/core/interfaces/index.js +1 -0
  154. package/esm2015/core/interfaces/pagination-data.js +1 -0
  155. package/esm2015/core/interfaces/report/domain-service.interface.js +1 -0
  156. package/esm2015/core/interfaces/report/generation-status.interface.js +1 -0
  157. package/esm2015/core/interfaces/report/get-parameters-out.interface.js +1 -0
  158. package/esm2015/core/interfaces/report/index.js +1 -0
  159. package/esm2015/core/interfaces/report/lookup-parameter.interface.js +1 -0
  160. package/esm2015/core/interfaces/report/parameter-def.interface.js +1 -0
  161. package/esm2015/core/interfaces/report/parameter-value.interface.js +1 -0
  162. package/esm2015/core/interfaces/report/report-header.interface.js +1 -0
  163. package/esm2015/core/interfaces/report/report-in.interface.js +1 -0
  164. package/esm2015/core/interfaces/report/report-menu.interface.js +1 -0
  165. package/esm2015/core/interfaces/report/report-out.interface.js +1 -0
  166. package/esm2015/core/interfaces/report/report.interface.js +1 -0
  167. package/esm2015/public_api.js +52 -58
  168. package/esm2015/senior-gestao-pessoas-payroll-core.js +19 -24
  169. package/esm2015/services/autocomplete-parameters.service.js +116 -0
  170. package/esm2015/services/company-indications.service.js +42 -0
  171. package/esm2015/services/form-comparator.service.js +99 -0
  172. package/esm2015/services/integration.service.js +19 -0
  173. package/esm2015/services/lookup-parameters.service.js +345 -0
  174. package/esm2015/services/permissions.service.js +89 -0
  175. package/esm2015/services/report.service.js +109 -0
  176. package/esm2015/services/services.module.js +29 -0
  177. package/esm2015/services/workflow-data.service.js +26 -0
  178. package/esm2015/services/workflow-integrator.service.js +248 -0
  179. package/esm5/components/admission-draft-summary/admission-draft-summary.component.js +109 -0
  180. package/esm5/components/admission-draft-summary/admission-draft-summary.module.js +20 -0
  181. package/esm5/components/admission-draft-summary/admission-draft-summary.service.js +28 -0
  182. package/esm5/components/admission-draft-summary/index.js +4 -0
  183. package/esm5/components/block-ui/block-ui.component.js +22 -0
  184. package/esm5/components/block-ui/block-ui.module.js +28 -0
  185. package/esm5/components/block-ui/index.js +3 -0
  186. package/esm5/components/breadcrumb/breadcrumb.component.js +79 -0
  187. package/esm5/components/breadcrumb/breadcrumb.module.js +28 -0
  188. package/esm5/components/breadcrumb/index.js +3 -0
  189. package/esm5/components/control-messages-error/control-messages-error.component.js +34 -0
  190. package/esm5/components/control-messages-error/control-messages-error.module.js +20 -0
  191. package/esm5/components/control-messages-error/index.js +3 -0
  192. package/esm5/components/custom-fields/custom-fields.component.js +33 -0
  193. package/esm5/components/custom-fields/custom-fields.module.js +34 -0
  194. package/esm5/components/custom-fields/index.js +3 -0
  195. package/esm5/components/data-list/data-list.component.js +338 -0
  196. package/esm5/components/data-list/data-list.module.js +31 -0
  197. package/esm5/components/data-list/data-list.service.js +20 -0
  198. package/esm5/components/data-list/entity-odata-response.js +40 -0
  199. package/esm5/components/data-list/index.js +2 -0
  200. package/esm5/components/data-list-rest/data-list-rest.component.js +264 -0
  201. package/esm5/components/data-list-rest/data-list-rest.module.js +31 -0
  202. package/esm5/components/data-list-rest/data-list-rest.service.js +20 -0
  203. package/esm5/components/data-list-rest/index.js +2 -0
  204. package/esm5/components/directives/directives.module.js +20 -0
  205. package/esm5/components/directives/index.js +4 -0
  206. package/esm5/components/directives/name-not-spaces.directive.js +32 -0
  207. package/esm5/components/directives/only-number.directive.js +42 -0
  208. package/esm5/components/employee-selector/employee-selector.component.js +75 -0
  209. package/esm5/components/employee-selector/employee-selector.module.js +21 -0
  210. package/esm5/components/employee-selector/index.js +3 -0
  211. package/esm5/components/employee-summary/employee-summary.component.js +111 -0
  212. package/esm5/components/employee-summary/employee-summary.module.js +20 -0
  213. package/esm5/components/employee-summary/employee-summary.service.js +34 -0
  214. package/esm5/components/employee-summary/index.js +4 -0
  215. package/esm5/components/error-page/error-page.component.js +17 -0
  216. package/esm5/components/error-page/error-page.module.js +19 -0
  217. package/esm5/components/error-page/index.js +3 -0
  218. package/esm5/components/field-validator/field-validator.component.js +42 -0
  219. package/esm5/components/field-validator/field-validator.module.js +21 -0
  220. package/esm5/components/field-validator/index.js +3 -0
  221. package/esm5/components/file-upload/file-upload.component.js +138 -0
  222. package/esm5/components/file-upload/file-upload.module.js +22 -0
  223. package/esm5/components/file-upload/file-upload.service.js +45 -0
  224. package/esm5/components/file-upload/index.js +3 -0
  225. package/esm5/components/from-to/from-to.component.js +18 -0
  226. package/esm5/components/from-to/from-to.module.js +22 -0
  227. package/esm5/components/from-to/index.js +3 -0
  228. package/esm5/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +353 -0
  229. package/esm5/components/historical-bank-account/historical-bank-account.component.js +363 -0
  230. package/esm5/components/historical-bank-account/historical-bank-account.module.js +59 -0
  231. package/esm5/components/historical-bank-account/historical-bank-account.service.js +22 -0
  232. package/esm5/components/historical-bank-account/index.js +4 -0
  233. package/esm5/components/historical-bank-account-list/historical-bank-account-list.component.js +243 -0
  234. package/esm5/components/historical-bank-account-list/historical-bank-account-list.module.js +42 -0
  235. package/esm5/components/historical-bank-account-list/historical-bank-account-list.service.js +37 -0
  236. package/esm5/components/historical-bank-account-list/index.js +4 -0
  237. package/esm5/components/image-cropper/image-crop.component.js +164 -0
  238. package/esm5/components/image-cropper/image-crop.module.js +41 -0
  239. package/esm5/components/image-cropper/image-crop.service.js +106 -0
  240. package/esm5/components/image-cropper/index.js +4 -0
  241. package/esm5/components/input-date/index.js +3 -0
  242. package/esm5/components/input-date/input-date.component.js +129 -0
  243. package/esm5/components/input-date/input-date.module.js +20 -0
  244. package/esm5/components/input-date-model/index.js +3 -0
  245. package/esm5/components/input-date-model/input-date-model.component.js +110 -0
  246. package/esm5/components/input-date-model/input-date-model.module.js +20 -0
  247. package/esm5/components/input-rest-auto-complete/index.js +4 -0
  248. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.component.js +317 -0
  249. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.module.js +24 -0
  250. package/esm5/components/input-rest-auto-complete/input-rest-auto-complete.service.js +22 -0
  251. package/esm5/components/input-rest-auto-complete-employee/index.js +3 -0
  252. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +192 -0
  253. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +31 -0
  254. package/esm5/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +21 -0
  255. package/esm5/components/input-rest-auto-complete-employee-model/index.js +3 -0
  256. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +185 -0
  257. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +31 -0
  258. package/esm5/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +21 -0
  259. package/esm5/components/input-rest-auto-complete-enum/index.js +4 -0
  260. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +162 -0
  261. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +31 -0
  262. package/esm5/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +24 -0
  263. package/esm5/components/input-rest-auto-complete-jobposition/index.js +4 -0
  264. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +176 -0
  265. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +31 -0
  266. package/esm5/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +21 -0
  267. package/esm5/components/input-rest-auto-complete-model/index.js +3 -0
  268. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +234 -0
  269. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +31 -0
  270. package/esm5/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +22 -0
  271. package/esm5/components/input-rest-auto-complete-model-enum/index.js +3 -0
  272. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +130 -0
  273. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +31 -0
  274. package/esm5/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +24 -0
  275. package/esm5/components/list-rest/index.js +3 -0
  276. package/esm5/components/list-rest/list-rest.component.js +119 -0
  277. package/esm5/components/list-rest/list-rest.module.js +36 -0
  278. package/esm5/components/list-rest/list-rest.service.js +24 -0
  279. package/esm5/components/lookup/index.js +2 -0
  280. package/esm5/components/lookup/lookup.component.js +339 -0
  281. package/esm5/components/lookup/lookup.module.js +23 -0
  282. package/esm5/components/lookup/lookup.service.js +54 -0
  283. package/esm5/components/shared/http-client.service.js +179 -0
  284. package/esm5/components/shared/shared.module.js +22 -0
  285. package/esm5/components/spinner/index.js +3 -0
  286. package/esm5/components/spinner/spinner-loader.component.js +15 -0
  287. package/esm5/components/spinner/spinner-loader.module.js +26 -0
  288. package/esm5/components/toast/index.js +4 -0
  289. package/esm5/components/toast/toast.component.js +88 -0
  290. package/esm5/components/toast/toast.module.js +23 -0
  291. package/esm5/components/toast/toast.service.js +47 -0
  292. package/esm5/components/type-admission/index.js +3 -0
  293. package/esm5/components/type-admission/type-admission.module.js +17 -0
  294. package/esm5/components/type-admission/type-admission.services.js +75 -0
  295. package/esm5/components/utils/cnpj-validator.js +66 -0
  296. package/esm5/components/utils/cpf-validator.js +49 -0
  297. package/esm5/components/utils/date-validator/date-validators.js +149 -0
  298. package/esm5/components/utils/helpers.js +502 -0
  299. package/esm5/components/utils/validations.js +131 -0
  300. package/esm5/components/vanilla/string-methods.js +24 -0
  301. package/esm5/components/workstationgroup-lookup/autocomplete.service.js +124 -0
  302. package/esm5/components/workstationgroup-lookup/index.js +3 -0
  303. package/esm5/components/workstationgroup-lookup/lookup.service.js +147 -0
  304. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.component.js +609 -0
  305. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +50 -0
  306. package/esm5/components/workstationgroup-lookup/workstationgroup-lookup.module.js +24 -0
  307. package/esm5/core/entities/entity-odata-parameter.js +47 -0
  308. package/esm5/core/entities/index.js +2 -0
  309. package/esm5/core/enums/companyIndicationType.js +18 -0
  310. package/esm5/core/enums/comparetype.enumeration.js +14 -0
  311. package/esm5/core/enums/coreFieldType.js +5 -0
  312. package/esm5/core/enums/direction.enumeration.js +6 -0
  313. package/esm5/core/enums/httpRequestType.js +6 -0
  314. package/esm5/core/enums/index.js +14 -0
  315. package/esm5/core/enums/menu-type.enumeration.js +6 -0
  316. package/esm5/core/enums/moduleType.js +22 -0
  317. package/esm5/core/enums/operators.enumeration.js +14 -0
  318. package/esm5/core/enums/parameter-type.enumeration.js +12 -0
  319. package/esm5/core/enums/report-format.enumeration.js +12 -0
  320. package/esm5/core/enums/report-stage.enumeration.js +12 -0
  321. package/esm5/core/enums/serviceType.js +9 -0
  322. package/esm5/core/enums/usingType.js +42 -0
  323. package/esm5/core/interfaces/date-compare-options.js +1 -0
  324. package/esm5/core/interfaces/date-validate-options.js +1 -0
  325. package/esm5/core/interfaces/field-validators-object.js +1 -0
  326. package/esm5/core/interfaces/index.js +1 -0
  327. package/esm5/core/interfaces/pagination-data.js +1 -0
  328. package/esm5/core/interfaces/report/domain-service.interface.js +1 -0
  329. package/esm5/core/interfaces/report/generation-status.interface.js +1 -0
  330. package/esm5/core/interfaces/report/get-parameters-out.interface.js +1 -0
  331. package/esm5/core/interfaces/report/index.js +1 -0
  332. package/esm5/core/interfaces/report/lookup-parameter.interface.js +1 -0
  333. package/esm5/core/interfaces/report/parameter-def.interface.js +1 -0
  334. package/esm5/core/interfaces/report/parameter-value.interface.js +1 -0
  335. package/esm5/core/interfaces/report/report-header.interface.js +1 -0
  336. package/esm5/core/interfaces/report/report-in.interface.js +1 -0
  337. package/esm5/core/interfaces/report/report-menu.interface.js +1 -0
  338. package/esm5/core/interfaces/report/report-out.interface.js +1 -0
  339. package/esm5/core/interfaces/report/report.interface.js +1 -0
  340. package/esm5/public_api.js +52 -58
  341. package/esm5/senior-gestao-pessoas-payroll-core.js +19 -24
  342. package/esm5/services/autocomplete-parameters.service.js +129 -0
  343. package/esm5/services/company-indications.service.js +43 -0
  344. package/esm5/services/form-comparator.service.js +119 -0
  345. package/esm5/services/integration.service.js +20 -0
  346. package/esm5/services/lookup-parameters.service.js +362 -0
  347. package/esm5/services/permissions.service.js +100 -0
  348. package/esm5/services/report.service.js +110 -0
  349. package/esm5/services/services.module.js +32 -0
  350. package/esm5/services/workflow-data.service.js +27 -0
  351. package/esm5/services/workflow-integrator.service.js +361 -0
  352. package/fesm2015/senior-gestao-pessoas-payroll-core.js +2939 -8866
  353. package/fesm2015/senior-gestao-pessoas-payroll-core.js.map +1 -1
  354. package/fesm5/senior-gestao-pessoas-payroll-core.js +2999 -10876
  355. package/fesm5/senior-gestao-pessoas-payroll-core.js.map +1 -1
  356. package/package.json +7 -1
  357. package/public_api.d.ts +52 -52
  358. package/senior-gestao-pessoas-payroll-core.d.ts +17 -17
  359. package/senior-gestao-pessoas-payroll-core.metadata.json +1 -1
  360. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.component.js +0 -203
  361. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.module.js +0 -20
  362. package/esm2015/lib/components/admission-draft-summary/admission-draft-summary.service.js +0 -59
  363. package/esm2015/lib/components/admission-draft-summary/index.js +0 -9
  364. package/esm2015/lib/components/block-ui/block-ui.component.js +0 -26
  365. package/esm2015/lib/components/block-ui/block-ui.module.js +0 -28
  366. package/esm2015/lib/components/block-ui/index.js +0 -8
  367. package/esm2015/lib/components/breadcrumb/breadcrumb.component.js +0 -151
  368. package/esm2015/lib/components/breadcrumb/breadcrumb.module.js +0 -28
  369. package/esm2015/lib/components/breadcrumb/index.js +0 -8
  370. package/esm2015/lib/components/control-messages-error/control-messages-error.component.js +0 -41
  371. package/esm2015/lib/components/control-messages-error/control-messages-error.module.js +0 -20
  372. package/esm2015/lib/components/control-messages-error/index.js +0 -8
  373. package/esm2015/lib/components/custom-fields/custom-fields.component.js +0 -65
  374. package/esm2015/lib/components/custom-fields/custom-fields.module.js +0 -34
  375. package/esm2015/lib/components/custom-fields/index.js +0 -8
  376. package/esm2015/lib/components/data-list/data-list.component.js +0 -456
  377. package/esm2015/lib/components/data-list/data-list.module.js +0 -31
  378. package/esm2015/lib/components/data-list/data-list.service.js +0 -38
  379. package/esm2015/lib/components/data-list/entity-odata-response.js +0 -72
  380. package/esm2015/lib/components/data-list/index.js +0 -7
  381. package/esm2015/lib/components/data-list-rest/data-list-rest.component.js +0 -354
  382. package/esm2015/lib/components/data-list-rest/data-list-rest.module.js +0 -31
  383. package/esm2015/lib/components/data-list-rest/data-list-rest.service.js +0 -38
  384. package/esm2015/lib/components/data-list-rest/index.js +0 -7
  385. package/esm2015/lib/components/directives/directives.module.js +0 -20
  386. package/esm2015/lib/components/directives/index.js +0 -9
  387. package/esm2015/lib/components/directives/name-not-spaces.directive.js +0 -59
  388. package/esm2015/lib/components/directives/only-number.directive.js +0 -60
  389. package/esm2015/lib/components/employee-selector/employee-selector.component.js +0 -145
  390. package/esm2015/lib/components/employee-selector/employee-selector.module.js +0 -21
  391. package/esm2015/lib/components/employee-selector/index.js +0 -8
  392. package/esm2015/lib/components/employee-summary/employee-summary.component.js +0 -200
  393. package/esm2015/lib/components/employee-summary/employee-summary.module.js +0 -20
  394. package/esm2015/lib/components/employee-summary/employee-summary.service.js +0 -74
  395. package/esm2015/lib/components/employee-summary/index.js +0 -9
  396. package/esm2015/lib/components/error-page/error-page.component.js +0 -23
  397. package/esm2015/lib/components/error-page/error-page.module.js +0 -19
  398. package/esm2015/lib/components/error-page/index.js +0 -8
  399. package/esm2015/lib/components/field-validator/field-validator.component.js +0 -64
  400. package/esm2015/lib/components/field-validator/field-validator.module.js +0 -21
  401. package/esm2015/lib/components/field-validator/index.js +0 -8
  402. package/esm2015/lib/components/file-upload/file-upload.component.js +0 -220
  403. package/esm2015/lib/components/file-upload/file-upload.module.js +0 -22
  404. package/esm2015/lib/components/file-upload/file-upload.service.js +0 -83
  405. package/esm2015/lib/components/file-upload/index.js +0 -8
  406. package/esm2015/lib/components/from-to/from-to.component.js +0 -25
  407. package/esm2015/lib/components/from-to/from-to.module.js +0 -22
  408. package/esm2015/lib/components/from-to/index.js +0 -8
  409. package/esm2015/lib/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +0 -514
  410. package/esm2015/lib/components/historical-bank-account/historical-bank-account.component.js +0 -542
  411. package/esm2015/lib/components/historical-bank-account/historical-bank-account.module.js +0 -59
  412. package/esm2015/lib/components/historical-bank-account/historical-bank-account.service.js +0 -40
  413. package/esm2015/lib/components/historical-bank-account/index.js +0 -9
  414. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.component.js +0 -359
  415. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.module.js +0 -42
  416. package/esm2015/lib/components/historical-bank-account-list/historical-bank-account-list.service.js +0 -62
  417. package/esm2015/lib/components/historical-bank-account-list/index.js +0 -9
  418. package/esm2015/lib/components/image-cropper/image-crop.component.js +0 -248
  419. package/esm2015/lib/components/image-cropper/image-crop.module.js +0 -38
  420. package/esm2015/lib/components/image-cropper/image-crop.service.js +0 -164
  421. package/esm2015/lib/components/image-cropper/index.js +0 -9
  422. package/esm2015/lib/components/input-date/index.js +0 -8
  423. package/esm2015/lib/components/input-date/input-date.component.js +0 -189
  424. package/esm2015/lib/components/input-date/input-date.module.js +0 -20
  425. package/esm2015/lib/components/input-date-model/index.js +0 -8
  426. package/esm2015/lib/components/input-date-model/input-date-model.component.js +0 -169
  427. package/esm2015/lib/components/input-date-model/input-date-model.module.js +0 -20
  428. package/esm2015/lib/components/input-rest-auto-complete/index.js +0 -9
  429. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.component.js +0 -444
  430. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.module.js +0 -24
  431. package/esm2015/lib/components/input-rest-auto-complete/input-rest-auto-complete.service.js +0 -40
  432. package/esm2015/lib/components/input-rest-auto-complete-employee/index.js +0 -8
  433. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +0 -263
  434. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +0 -31
  435. package/esm2015/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +0 -40
  436. package/esm2015/lib/components/input-rest-auto-complete-employee-model/index.js +0 -8
  437. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +0 -253
  438. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +0 -31
  439. package/esm2015/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +0 -40
  440. package/esm2015/lib/components/input-rest-auto-complete-enum/index.js +0 -9
  441. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +0 -209
  442. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +0 -31
  443. package/esm2015/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +0 -44
  444. package/esm2015/lib/components/input-rest-auto-complete-jobposition/index.js +0 -9
  445. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +0 -254
  446. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +0 -31
  447. package/esm2015/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +0 -40
  448. package/esm2015/lib/components/input-rest-auto-complete-model/index.js +0 -8
  449. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +0 -331
  450. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +0 -31
  451. package/esm2015/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +0 -40
  452. package/esm2015/lib/components/input-rest-auto-complete-model-enum/index.js +0 -8
  453. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +0 -176
  454. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +0 -31
  455. package/esm2015/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +0 -44
  456. package/esm2015/lib/components/list-rest/index.js +0 -8
  457. package/esm2015/lib/components/list-rest/list-rest.component.js +0 -192
  458. package/esm2015/lib/components/list-rest/list-rest.module.js +0 -36
  459. package/esm2015/lib/components/list-rest/list-rest.service.js +0 -48
  460. package/esm2015/lib/components/lookup/index.js +0 -7
  461. package/esm2015/lib/components/lookup/lookup.component.js +0 -471
  462. package/esm2015/lib/components/lookup/lookup.module.js +0 -23
  463. package/esm2015/lib/components/lookup/lookup.service.js +0 -91
  464. package/esm2015/lib/components/shared/http-client.service.js +0 -293
  465. package/esm2015/lib/components/shared/shared.module.js +0 -26
  466. package/esm2015/lib/components/spinner/index.js +0 -8
  467. package/esm2015/lib/components/spinner/spinner-loader.component.js +0 -15
  468. package/esm2015/lib/components/spinner/spinner-loader.module.js +0 -26
  469. package/esm2015/lib/components/toast/index.js +0 -9
  470. package/esm2015/lib/components/toast/toast.component.js +0 -156
  471. package/esm2015/lib/components/toast/toast.module.js +0 -23
  472. package/esm2015/lib/components/toast/toast.service.js +0 -76
  473. package/esm2015/lib/components/type-admission/index.js +0 -8
  474. package/esm2015/lib/components/type-admission/type-admission.module.js +0 -17
  475. package/esm2015/lib/components/type-admission/type-admission.services.js +0 -135
  476. package/esm2015/lib/components/utils/cnpj-validator.js +0 -82
  477. package/esm2015/lib/components/utils/cpf-validator.js +0 -76
  478. package/esm2015/lib/components/utils/date-validator/date-validators.js +0 -184
  479. package/esm2015/lib/components/utils/helpers.js +0 -737
  480. package/esm2015/lib/components/utils/validations.js +0 -237
  481. package/esm2015/lib/components/vanilla/string-methods.js +0 -37
  482. package/esm2015/lib/components/workstationgroup-lookup/autocomplete.service.js +0 -175
  483. package/esm2015/lib/components/workstationgroup-lookup/index.js +0 -8
  484. package/esm2015/lib/components/workstationgroup-lookup/lookup.service.js +0 -254
  485. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.component.js +0 -832
  486. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +0 -193
  487. package/esm2015/lib/components/workstationgroup-lookup/workstationgroup-lookup.module.js +0 -24
  488. package/esm2015/lib/core/entities/entity-odata-parameter.js +0 -82
  489. package/esm2015/lib/core/entities/index.js +0 -7
  490. package/esm2015/lib/core/enums/companyIndicationType.js +0 -24
  491. package/esm2015/lib/core/enums/comparetype.enumeration.js +0 -16
  492. package/esm2015/lib/core/enums/coreFieldType.js +0 -11
  493. package/esm2015/lib/core/enums/direction.enumeration.js +0 -12
  494. package/esm2015/lib/core/enums/httpRequestType.js +0 -12
  495. package/esm2015/lib/core/enums/index.js +0 -19
  496. package/esm2015/lib/core/enums/menu-type.enumeration.js +0 -12
  497. package/esm2015/lib/core/enums/moduleType.js +0 -28
  498. package/esm2015/lib/core/enums/operators.enumeration.js +0 -20
  499. package/esm2015/lib/core/enums/parameter-type.enumeration.js +0 -18
  500. package/esm2015/lib/core/enums/report-format.enumeration.js +0 -18
  501. package/esm2015/lib/core/enums/report-stage.enumeration.js +0 -18
  502. package/esm2015/lib/core/enums/serviceType.js +0 -15
  503. package/esm2015/lib/core/enums/usingType.js +0 -48
  504. package/esm2015/lib/core/interfaces/date-compare-options.js +0 -19
  505. package/esm2015/lib/core/interfaces/date-validate-options.js +0 -17
  506. package/esm2015/lib/core/interfaces/field-validators-object.js +0 -20
  507. package/esm2015/lib/core/interfaces/index.js +0 -10
  508. package/esm2015/lib/core/interfaces/pagination-data.js +0 -18
  509. package/esm2015/lib/core/interfaces/report/domain-service.interface.js +0 -16
  510. package/esm2015/lib/core/interfaces/report/generation-status.interface.js +0 -22
  511. package/esm2015/lib/core/interfaces/report/get-parameters-out.interface.js +0 -16
  512. package/esm2015/lib/core/interfaces/report/index.js +0 -15
  513. package/esm2015/lib/core/interfaces/report/lookup-parameter.interface.js +0 -20
  514. package/esm2015/lib/core/interfaces/report/parameter-def.interface.js +0 -20
  515. package/esm2015/lib/core/interfaces/report/parameter-value.interface.js +0 -16
  516. package/esm2015/lib/core/interfaces/report/report-header.interface.js +0 -16
  517. package/esm2015/lib/core/interfaces/report/report-in.interface.js +0 -20
  518. package/esm2015/lib/core/interfaces/report/report-menu.interface.js +0 -18
  519. package/esm2015/lib/core/interfaces/report/report-out.interface.js +0 -14
  520. package/esm2015/lib/core/interfaces/report/report.interface.js +0 -48
  521. package/esm2015/lib/services/autocomplete-parameters.service.js +0 -180
  522. package/esm2015/lib/services/company-indications.service.js +0 -101
  523. package/esm2015/lib/services/form-comparator.service.js +0 -208
  524. package/esm2015/lib/services/integration.service.js +0 -37
  525. package/esm2015/lib/services/lookup-parameters.service.js +0 -557
  526. package/esm2015/lib/services/permissions.service.js +0 -218
  527. package/esm2015/lib/services/report.service.js +0 -161
  528. package/esm2015/lib/services/services.module.js +0 -32
  529. package/esm2015/lib/services/workflow-data.service.js +0 -57
  530. package/esm2015/lib/services/workflow-integrator.service.js +0 -416
  531. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.component.js +0 -214
  532. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.module.js +0 -24
  533. package/esm5/lib/components/admission-draft-summary/admission-draft-summary.service.js +0 -71
  534. package/esm5/lib/components/admission-draft-summary/index.js +0 -9
  535. package/esm5/lib/components/block-ui/block-ui.component.js +0 -30
  536. package/esm5/lib/components/block-ui/block-ui.module.js +0 -32
  537. package/esm5/lib/components/block-ui/index.js +0 -8
  538. package/esm5/lib/components/breadcrumb/breadcrumb.component.js +0 -170
  539. package/esm5/lib/components/breadcrumb/breadcrumb.module.js +0 -32
  540. package/esm5/lib/components/breadcrumb/index.js +0 -8
  541. package/esm5/lib/components/control-messages-error/control-messages-error.component.js +0 -48
  542. package/esm5/lib/components/control-messages-error/control-messages-error.module.js +0 -24
  543. package/esm5/lib/components/control-messages-error/index.js +0 -8
  544. package/esm5/lib/components/custom-fields/custom-fields.component.js +0 -70
  545. package/esm5/lib/components/custom-fields/custom-fields.module.js +0 -38
  546. package/esm5/lib/components/custom-fields/index.js +0 -8
  547. package/esm5/lib/components/data-list/data-list.component.js +0 -557
  548. package/esm5/lib/components/data-list/data-list.module.js +0 -35
  549. package/esm5/lib/components/data-list/data-list.service.js +0 -42
  550. package/esm5/lib/components/data-list/entity-odata-response.js +0 -83
  551. package/esm5/lib/components/data-list/index.js +0 -7
  552. package/esm5/lib/components/data-list-rest/data-list-rest.component.js +0 -414
  553. package/esm5/lib/components/data-list-rest/data-list-rest.module.js +0 -35
  554. package/esm5/lib/components/data-list-rest/data-list-rest.service.js +0 -42
  555. package/esm5/lib/components/data-list-rest/index.js +0 -7
  556. package/esm5/lib/components/directives/directives.module.js +0 -24
  557. package/esm5/lib/components/directives/index.js +0 -9
  558. package/esm5/lib/components/directives/name-not-spaces.directive.js +0 -66
  559. package/esm5/lib/components/directives/only-number.directive.js +0 -63
  560. package/esm5/lib/components/employee-selector/employee-selector.component.js +0 -168
  561. package/esm5/lib/components/employee-selector/employee-selector.module.js +0 -25
  562. package/esm5/lib/components/employee-selector/index.js +0 -8
  563. package/esm5/lib/components/employee-summary/employee-summary.component.js +0 -212
  564. package/esm5/lib/components/employee-summary/employee-summary.module.js +0 -24
  565. package/esm5/lib/components/employee-summary/employee-summary.service.js +0 -95
  566. package/esm5/lib/components/employee-summary/index.js +0 -9
  567. package/esm5/lib/components/error-page/error-page.component.js +0 -29
  568. package/esm5/lib/components/error-page/error-page.module.js +0 -23
  569. package/esm5/lib/components/error-page/index.js +0 -8
  570. package/esm5/lib/components/field-validator/field-validator.component.js +0 -74
  571. package/esm5/lib/components/field-validator/field-validator.module.js +0 -25
  572. package/esm5/lib/components/field-validator/index.js +0 -8
  573. package/esm5/lib/components/file-upload/file-upload.component.js +0 -261
  574. package/esm5/lib/components/file-upload/file-upload.module.js +0 -26
  575. package/esm5/lib/components/file-upload/file-upload.service.js +0 -99
  576. package/esm5/lib/components/file-upload/index.js +0 -8
  577. package/esm5/lib/components/from-to/from-to.component.js +0 -28
  578. package/esm5/lib/components/from-to/from-to.module.js +0 -26
  579. package/esm5/lib/components/from-to/index.js +0 -8
  580. package/esm5/lib/components/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.js +0 -657
  581. package/esm5/lib/components/historical-bank-account/historical-bank-account.component.js +0 -624
  582. package/esm5/lib/components/historical-bank-account/historical-bank-account.module.js +0 -63
  583. package/esm5/lib/components/historical-bank-account/historical-bank-account.service.js +0 -46
  584. package/esm5/lib/components/historical-bank-account/index.js +0 -9
  585. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.component.js +0 -402
  586. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.module.js +0 -46
  587. package/esm5/lib/components/historical-bank-account-list/historical-bank-account-list.service.js +0 -68
  588. package/esm5/lib/components/historical-bank-account-list/index.js +0 -9
  589. package/esm5/lib/components/image-cropper/image-crop.component.js +0 -287
  590. package/esm5/lib/components/image-cropper/image-crop.module.js +0 -39
  591. package/esm5/lib/components/image-cropper/image-crop.service.js +0 -221
  592. package/esm5/lib/components/image-cropper/index.js +0 -9
  593. package/esm5/lib/components/input-date/index.js +0 -8
  594. package/esm5/lib/components/input-date/input-date.component.js +0 -218
  595. package/esm5/lib/components/input-date/input-date.module.js +0 -24
  596. package/esm5/lib/components/input-date-model/index.js +0 -8
  597. package/esm5/lib/components/input-date-model/input-date-model.component.js +0 -190
  598. package/esm5/lib/components/input-date-model/input-date-model.module.js +0 -24
  599. package/esm5/lib/components/input-rest-auto-complete/index.js +0 -9
  600. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.component.js +0 -497
  601. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.module.js +0 -28
  602. package/esm5/lib/components/input-rest-auto-complete/input-rest-auto-complete.service.js +0 -46
  603. package/esm5/lib/components/input-rest-auto-complete-employee/index.js +0 -8
  604. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.js +0 -300
  605. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.js +0 -35
  606. package/esm5/lib/components/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.js +0 -44
  607. package/esm5/lib/components/input-rest-auto-complete-employee-model/index.js +0 -8
  608. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.js +0 -291
  609. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.js +0 -35
  610. package/esm5/lib/components/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.js +0 -44
  611. package/esm5/lib/components/input-rest-auto-complete-enum/index.js +0 -9
  612. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.js +0 -252
  613. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.js +0 -35
  614. package/esm5/lib/components/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.js +0 -48
  615. package/esm5/lib/components/input-rest-auto-complete-jobposition/index.js +0 -9
  616. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.js +0 -302
  617. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.js +0 -35
  618. package/esm5/lib/components/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.js +0 -44
  619. package/esm5/lib/components/input-rest-auto-complete-model/index.js +0 -8
  620. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.component.js +0 -379
  621. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.module.js +0 -35
  622. package/esm5/lib/components/input-rest-auto-complete-model/input-rest-auto-complete-model.service.js +0 -46
  623. package/esm5/lib/components/input-rest-auto-complete-model-enum/index.js +0 -8
  624. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.js +0 -206
  625. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.js +0 -35
  626. package/esm5/lib/components/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.js +0 -48
  627. package/esm5/lib/components/list-rest/index.js +0 -8
  628. package/esm5/lib/components/list-rest/list-rest.component.js +0 -219
  629. package/esm5/lib/components/list-rest/list-rest.module.js +0 -40
  630. package/esm5/lib/components/list-rest/list-rest.service.js +0 -57
  631. package/esm5/lib/components/lookup/index.js +0 -7
  632. package/esm5/lib/components/lookup/lookup.component.js +0 -600
  633. package/esm5/lib/components/lookup/lookup.module.js +0 -27
  634. package/esm5/lib/components/lookup/lookup.service.js +0 -94
  635. package/esm5/lib/components/shared/http-client.service.js +0 -355
  636. package/esm5/lib/components/shared/shared.module.js +0 -28
  637. package/esm5/lib/components/spinner/index.js +0 -8
  638. package/esm5/lib/components/spinner/spinner-loader.component.js +0 -19
  639. package/esm5/lib/components/spinner/spinner-loader.module.js +0 -30
  640. package/esm5/lib/components/toast/index.js +0 -9
  641. package/esm5/lib/components/toast/toast.component.js +0 -173
  642. package/esm5/lib/components/toast/toast.module.js +0 -27
  643. package/esm5/lib/components/toast/toast.service.js +0 -123
  644. package/esm5/lib/components/type-admission/index.js +0 -8
  645. package/esm5/lib/components/type-admission/type-admission.module.js +0 -21
  646. package/esm5/lib/components/type-admission/type-admission.services.js +0 -191
  647. package/esm5/lib/components/utils/cnpj-validator.js +0 -94
  648. package/esm5/lib/components/utils/cpf-validator.js +0 -98
  649. package/esm5/lib/components/utils/date-validator/date-validators.js +0 -289
  650. package/esm5/lib/components/utils/helpers.js +0 -763
  651. package/esm5/lib/components/utils/validations.js +0 -241
  652. package/esm5/lib/components/vanilla/string-methods.js +0 -42
  653. package/esm5/lib/components/workstationgroup-lookup/autocomplete.service.js +0 -250
  654. package/esm5/lib/components/workstationgroup-lookup/index.js +0 -8
  655. package/esm5/lib/components/workstationgroup-lookup/lookup.service.js +0 -318
  656. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.component.js +0 -908
  657. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.dto.js +0 -200
  658. package/esm5/lib/components/workstationgroup-lookup/workstationgroup-lookup.module.js +0 -28
  659. package/esm5/lib/core/entities/entity-odata-parameter.js +0 -96
  660. package/esm5/lib/core/entities/index.js +0 -7
  661. package/esm5/lib/core/enums/companyIndicationType.js +0 -24
  662. package/esm5/lib/core/enums/comparetype.enumeration.js +0 -16
  663. package/esm5/lib/core/enums/coreFieldType.js +0 -11
  664. package/esm5/lib/core/enums/direction.enumeration.js +0 -12
  665. package/esm5/lib/core/enums/httpRequestType.js +0 -12
  666. package/esm5/lib/core/enums/index.js +0 -19
  667. package/esm5/lib/core/enums/menu-type.enumeration.js +0 -12
  668. package/esm5/lib/core/enums/moduleType.js +0 -28
  669. package/esm5/lib/core/enums/operators.enumeration.js +0 -20
  670. package/esm5/lib/core/enums/parameter-type.enumeration.js +0 -18
  671. package/esm5/lib/core/enums/report-format.enumeration.js +0 -18
  672. package/esm5/lib/core/enums/report-stage.enumeration.js +0 -18
  673. package/esm5/lib/core/enums/serviceType.js +0 -15
  674. package/esm5/lib/core/enums/usingType.js +0 -48
  675. package/esm5/lib/core/interfaces/date-compare-options.js +0 -19
  676. package/esm5/lib/core/interfaces/date-validate-options.js +0 -17
  677. package/esm5/lib/core/interfaces/field-validators-object.js +0 -20
  678. package/esm5/lib/core/interfaces/index.js +0 -10
  679. package/esm5/lib/core/interfaces/pagination-data.js +0 -18
  680. package/esm5/lib/core/interfaces/report/domain-service.interface.js +0 -16
  681. package/esm5/lib/core/interfaces/report/generation-status.interface.js +0 -22
  682. package/esm5/lib/core/interfaces/report/get-parameters-out.interface.js +0 -16
  683. package/esm5/lib/core/interfaces/report/index.js +0 -15
  684. package/esm5/lib/core/interfaces/report/lookup-parameter.interface.js +0 -20
  685. package/esm5/lib/core/interfaces/report/parameter-def.interface.js +0 -20
  686. package/esm5/lib/core/interfaces/report/parameter-value.interface.js +0 -16
  687. package/esm5/lib/core/interfaces/report/report-header.interface.js +0 -16
  688. package/esm5/lib/core/interfaces/report/report-in.interface.js +0 -20
  689. package/esm5/lib/core/interfaces/report/report-menu.interface.js +0 -18
  690. package/esm5/lib/core/interfaces/report/report-out.interface.js +0 -14
  691. package/esm5/lib/core/interfaces/report/report.interface.js +0 -48
  692. package/esm5/lib/services/autocomplete-parameters.service.js +0 -255
  693. package/esm5/lib/services/company-indications.service.js +0 -126
  694. package/esm5/lib/services/form-comparator.service.js +0 -278
  695. package/esm5/lib/services/integration.service.js +0 -40
  696. package/esm5/lib/services/lookup-parameters.service.js +0 -748
  697. package/esm5/lib/services/permissions.service.js +0 -253
  698. package/esm5/lib/services/report.service.js +0 -231
  699. package/esm5/lib/services/services.module.js +0 -36
  700. package/esm5/lib/services/workflow-data.service.js +0 -73
  701. package/esm5/lib/services/workflow-integrator.service.js +0 -715
  702. package/lib/components/workstationgroup-lookup/autocomplete.service.d.ts +0 -31
  703. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.component.d.ts +0 -0
  704. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.module.d.ts +0 -0
  705. /package/{lib/components → components}/admission-draft-summary/admission-draft-summary.service.d.ts +0 -0
  706. /package/{lib/components → components}/admission-draft-summary/index.d.ts +0 -0
  707. /package/{lib/components → components}/block-ui/block-ui.component.d.ts +0 -0
  708. /package/{lib/components → components}/block-ui/block-ui.module.d.ts +0 -0
  709. /package/{lib/components → components}/block-ui/index.d.ts +0 -0
  710. /package/{lib/components → components}/breadcrumb/breadcrumb.component.d.ts +0 -0
  711. /package/{lib/components → components}/breadcrumb/breadcrumb.module.d.ts +0 -0
  712. /package/{lib/components → components}/breadcrumb/index.d.ts +0 -0
  713. /package/{lib/components → components}/control-messages-error/control-messages-error.component.d.ts +0 -0
  714. /package/{lib/components → components}/control-messages-error/control-messages-error.module.d.ts +0 -0
  715. /package/{lib/components → components}/control-messages-error/index.d.ts +0 -0
  716. /package/{lib/components → components}/custom-fields/custom-fields.component.d.ts +0 -0
  717. /package/{lib/components → components}/custom-fields/custom-fields.module.d.ts +0 -0
  718. /package/{lib/components → components}/custom-fields/index.d.ts +0 -0
  719. /package/{lib/components → components}/data-list/data-list.component.d.ts +0 -0
  720. /package/{lib/components → components}/data-list/data-list.module.d.ts +0 -0
  721. /package/{lib/components → components}/data-list/data-list.service.d.ts +0 -0
  722. /package/{lib/components → components}/data-list/entity-odata-response.d.ts +0 -0
  723. /package/{lib/components → components}/data-list/index.d.ts +0 -0
  724. /package/{lib/components → components}/data-list-rest/data-list-rest.component.d.ts +0 -0
  725. /package/{lib/components → components}/data-list-rest/data-list-rest.module.d.ts +0 -0
  726. /package/{lib/components → components}/data-list-rest/data-list-rest.service.d.ts +0 -0
  727. /package/{lib/components → components}/data-list-rest/index.d.ts +0 -0
  728. /package/{lib/components → components}/directives/directives.module.d.ts +0 -0
  729. /package/{lib/components → components}/directives/index.d.ts +0 -0
  730. /package/{lib/components → components}/directives/name-not-spaces.directive.d.ts +0 -0
  731. /package/{lib/components → components}/directives/only-number.directive.d.ts +0 -0
  732. /package/{lib/components → components}/employee-selector/employee-selector.component.d.ts +0 -0
  733. /package/{lib/components → components}/employee-selector/employee-selector.module.d.ts +0 -0
  734. /package/{lib/components → components}/employee-selector/index.d.ts +0 -0
  735. /package/{lib/components → components}/employee-summary/employee-summary.component.d.ts +0 -0
  736. /package/{lib/components → components}/employee-summary/employee-summary.module.d.ts +0 -0
  737. /package/{lib/components → components}/employee-summary/employee-summary.service.d.ts +0 -0
  738. /package/{lib/components → components}/employee-summary/index.d.ts +0 -0
  739. /package/{lib/components → components}/error-page/error-page.component.d.ts +0 -0
  740. /package/{lib/components → components}/error-page/error-page.module.d.ts +0 -0
  741. /package/{lib/components → components}/error-page/index.d.ts +0 -0
  742. /package/{lib/components → components}/field-validator/field-validator.component.d.ts +0 -0
  743. /package/{lib/components → components}/field-validator/field-validator.module.d.ts +0 -0
  744. /package/{lib/components → components}/field-validator/index.d.ts +0 -0
  745. /package/{lib/components → components}/file-upload/file-upload.component.d.ts +0 -0
  746. /package/{lib/components → components}/file-upload/file-upload.module.d.ts +0 -0
  747. /package/{lib/components → components}/file-upload/file-upload.service.d.ts +0 -0
  748. /package/{lib/components → components}/file-upload/index.d.ts +0 -0
  749. /package/{lib/components → components}/from-to/from-to.component.d.ts +0 -0
  750. /package/{lib/components → components}/from-to/from-to.module.d.ts +0 -0
  751. /package/{lib/components → components}/from-to/index.d.ts +0 -0
  752. /package/{lib/components → components}/historical-bank-account/historical-bank-account-form/historical-bank-account-form.component.d.ts +0 -0
  753. /package/{lib/components → components}/historical-bank-account/historical-bank-account.component.d.ts +0 -0
  754. /package/{lib/components → components}/historical-bank-account/historical-bank-account.module.d.ts +0 -0
  755. /package/{lib/components → components}/historical-bank-account/historical-bank-account.service.d.ts +0 -0
  756. /package/{lib/components → components}/historical-bank-account/index.d.ts +0 -0
  757. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.component.d.ts +0 -0
  758. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.module.d.ts +0 -0
  759. /package/{lib/components → components}/historical-bank-account-list/historical-bank-account-list.service.d.ts +0 -0
  760. /package/{lib/components → components}/historical-bank-account-list/index.d.ts +0 -0
  761. /package/{lib/components → components}/image-cropper/image-crop.component.d.ts +0 -0
  762. /package/{lib/components → components}/image-cropper/image-crop.module.d.ts +0 -0
  763. /package/{lib/components → components}/image-cropper/image-crop.service.d.ts +0 -0
  764. /package/{lib/components → components}/image-cropper/index.d.ts +0 -0
  765. /package/{lib/components → components}/input-date/index.d.ts +0 -0
  766. /package/{lib/components → components}/input-date/input-date.component.d.ts +0 -0
  767. /package/{lib/components → components}/input-date/input-date.module.d.ts +0 -0
  768. /package/{lib/components → components}/input-date-model/index.d.ts +0 -0
  769. /package/{lib/components → components}/input-date-model/input-date-model.component.d.ts +0 -0
  770. /package/{lib/components → components}/input-date-model/input-date-model.module.d.ts +0 -0
  771. /package/{lib/components → components}/input-rest-auto-complete/index.d.ts +0 -0
  772. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.component.d.ts +0 -0
  773. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.module.d.ts +0 -0
  774. /package/{lib/components → components}/input-rest-auto-complete/input-rest-auto-complete.service.d.ts +0 -0
  775. /package/{lib/components → components}/input-rest-auto-complete-employee/index.d.ts +0 -0
  776. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.component.d.ts +0 -0
  777. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.module.d.ts +0 -0
  778. /package/{lib/components → components}/input-rest-auto-complete-employee/input-rest-auto-complete-employee.service.d.ts +0 -0
  779. /package/{lib/components → components}/input-rest-auto-complete-employee-model/index.d.ts +0 -0
  780. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.component.d.ts +0 -0
  781. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.module.d.ts +0 -0
  782. /package/{lib/components → components}/input-rest-auto-complete-employee-model/input-rest-auto-complete-employee-model.service.d.ts +0 -0
  783. /package/{lib/components → components}/input-rest-auto-complete-enum/index.d.ts +0 -0
  784. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.component.d.ts +0 -0
  785. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.module.d.ts +0 -0
  786. /package/{lib/components → components}/input-rest-auto-complete-enum/input-rest-auto-complete-enum.service.d.ts +0 -0
  787. /package/{lib/components → components}/input-rest-auto-complete-jobposition/index.d.ts +0 -0
  788. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.component.d.ts +0 -0
  789. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.module.d.ts +0 -0
  790. /package/{lib/components → components}/input-rest-auto-complete-jobposition/input-rest-auto-complete-jobposition.service.d.ts +0 -0
  791. /package/{lib/components → components}/input-rest-auto-complete-model/index.d.ts +0 -0
  792. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.component.d.ts +0 -0
  793. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.module.d.ts +0 -0
  794. /package/{lib/components → components}/input-rest-auto-complete-model/input-rest-auto-complete-model.service.d.ts +0 -0
  795. /package/{lib/components → components}/input-rest-auto-complete-model-enum/index.d.ts +0 -0
  796. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.component.d.ts +0 -0
  797. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.module.d.ts +0 -0
  798. /package/{lib/components → components}/input-rest-auto-complete-model-enum/input-rest-auto-complete-model-enum.service.d.ts +0 -0
  799. /package/{lib/components → components}/list-rest/index.d.ts +0 -0
  800. /package/{lib/components → components}/list-rest/list-rest.component.d.ts +0 -0
  801. /package/{lib/components → components}/list-rest/list-rest.module.d.ts +0 -0
  802. /package/{lib/components → components}/list-rest/list-rest.service.d.ts +0 -0
  803. /package/{lib/components → components}/lookup/index.d.ts +0 -0
  804. /package/{lib/components → components}/lookup/lookup.component.d.ts +0 -0
  805. /package/{lib/components → components}/lookup/lookup.module.d.ts +0 -0
  806. /package/{lib/components → components}/lookup/lookup.service.d.ts +0 -0
  807. /package/{lib/components → components}/shared/http-client.service.d.ts +0 -0
  808. /package/{lib/components → components}/shared/shared.module.d.ts +0 -0
  809. /package/{lib/components → components}/spinner/index.d.ts +0 -0
  810. /package/{lib/components → components}/spinner/spinner-loader.component.d.ts +0 -0
  811. /package/{lib/components → components}/spinner/spinner-loader.module.d.ts +0 -0
  812. /package/{lib/components → components}/toast/index.d.ts +0 -0
  813. /package/{lib/components → components}/toast/toast.component.d.ts +0 -0
  814. /package/{lib/components → components}/toast/toast.module.d.ts +0 -0
  815. /package/{lib/components → components}/toast/toast.service.d.ts +0 -0
  816. /package/{lib/components → components}/type-admission/index.d.ts +0 -0
  817. /package/{lib/components → components}/type-admission/type-admission.module.d.ts +0 -0
  818. /package/{lib/components → components}/type-admission/type-admission.services.d.ts +0 -0
  819. /package/{lib/components → components}/utils/cnpj-validator.d.ts +0 -0
  820. /package/{lib/components → components}/utils/cpf-validator.d.ts +0 -0
  821. /package/{lib/components → components}/utils/date-validator/date-validators.d.ts +0 -0
  822. /package/{lib/components → components}/utils/helpers.d.ts +0 -0
  823. /package/{lib/components → components}/utils/validations.d.ts +0 -0
  824. /package/{lib/components → components}/vanilla/string-methods.d.ts +0 -0
  825. /package/{lib/components → components}/workstationgroup-lookup/index.d.ts +0 -0
  826. /package/{lib/components → components}/workstationgroup-lookup/lookup.service.d.ts +0 -0
  827. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.component.d.ts +0 -0
  828. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.dto.d.ts +0 -0
  829. /package/{lib/components → components}/workstationgroup-lookup/workstationgroup-lookup.module.d.ts +0 -0
  830. /package/{lib/core → core}/entities/entity-odata-parameter.d.ts +0 -0
  831. /package/{lib/core → core}/entities/index.d.ts +0 -0
  832. /package/{lib/core → core}/enums/companyIndicationType.d.ts +0 -0
  833. /package/{lib/core → core}/enums/comparetype.enumeration.d.ts +0 -0
  834. /package/{lib/core → core}/enums/coreFieldType.d.ts +0 -0
  835. /package/{lib/core → core}/enums/direction.enumeration.d.ts +0 -0
  836. /package/{lib/core → core}/enums/httpRequestType.d.ts +0 -0
  837. /package/{lib/core → core}/enums/index.d.ts +0 -0
  838. /package/{lib/core → core}/enums/menu-type.enumeration.d.ts +0 -0
  839. /package/{lib/core → core}/enums/moduleType.d.ts +0 -0
  840. /package/{lib/core → core}/enums/operators.enumeration.d.ts +0 -0
  841. /package/{lib/core → core}/enums/parameter-type.enumeration.d.ts +0 -0
  842. /package/{lib/core → core}/enums/report-format.enumeration.d.ts +0 -0
  843. /package/{lib/core → core}/enums/report-stage.enumeration.d.ts +0 -0
  844. /package/{lib/core → core}/enums/serviceType.d.ts +0 -0
  845. /package/{lib/core → core}/enums/usingType.d.ts +0 -0
  846. /package/{lib/core → core}/interfaces/date-compare-options.d.ts +0 -0
  847. /package/{lib/core → core}/interfaces/date-validate-options.d.ts +0 -0
  848. /package/{lib/core → core}/interfaces/field-validators-object.d.ts +0 -0
  849. /package/{lib/core → core}/interfaces/index.d.ts +0 -0
  850. /package/{lib/core → core}/interfaces/pagination-data.d.ts +0 -0
  851. /package/{lib/core → core}/interfaces/report/domain-service.interface.d.ts +0 -0
  852. /package/{lib/core → core}/interfaces/report/generation-status.interface.d.ts +0 -0
  853. /package/{lib/core → core}/interfaces/report/get-parameters-out.interface.d.ts +0 -0
  854. /package/{lib/core → core}/interfaces/report/index.d.ts +0 -0
  855. /package/{lib/core → core}/interfaces/report/lookup-parameter.interface.d.ts +0 -0
  856. /package/{lib/core → core}/interfaces/report/parameter-def.interface.d.ts +0 -0
  857. /package/{lib/core → core}/interfaces/report/parameter-value.interface.d.ts +0 -0
  858. /package/{lib/core → core}/interfaces/report/report-header.interface.d.ts +0 -0
  859. /package/{lib/core → core}/interfaces/report/report-in.interface.d.ts +0 -0
  860. /package/{lib/core → core}/interfaces/report/report-menu.interface.d.ts +0 -0
  861. /package/{lib/core → core}/interfaces/report/report-out.interface.d.ts +0 -0
  862. /package/{lib/core → core}/interfaces/report/report.interface.d.ts +0 -0
  863. /package/{lib/services → services}/autocomplete-parameters.service.d.ts +0 -0
  864. /package/{lib/services → services}/company-indications.service.d.ts +0 -0
  865. /package/{lib/services → services}/form-comparator.service.d.ts +0 -0
  866. /package/{lib/services → services}/integration.service.d.ts +0 -0
  867. /package/{lib/services → services}/lookup-parameters.service.d.ts +0 -0
  868. /package/{lib/services → services}/permissions.service.d.ts +0 -0
  869. /package/{lib/services → services}/report.service.d.ts +0 -0
  870. /package/{lib/services → services}/services.module.d.ts +0 -0
  871. /package/{lib/services → services}/workflow-data.service.d.ts +0 -0
  872. /package/{lib/services → services}/workflow-integrator.service.d.ts +0 -0
@@ -1,832 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: lib/components/workstationgroup-lookup/workstationgroup-lookup.component.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import * as tslib_1 from "tslib";
7
- import { Component, ViewChild, ElementRef, Input, Output, EventEmitter, ChangeDetectorRef, } from "@angular/core";
8
- import { FormGroup } from "@angular/forms";
9
- import { TranslateService } from "@ngx-translate/core";
10
- import { FieldType, FormField } from "@seniorsistemas/angular-components";
11
- import * as moment_ from "moment";
12
- import { now } from "moment";
13
- import { Subject, BehaviorSubject } from "rxjs";
14
- import { takeUntil } from "rxjs/operators";
15
- import { ServiceType } from "../../core/enums";
16
- import { invertFieldDate, getNowDate } from "../utils/helpers";
17
- import { AutocompleteService } from "./autocomplete.service";
18
- import { LookupService } from "./lookup.service";
19
- import { WorkstationgroupLookupDto } from "./workstationgroup-lookup.dto";
20
- /** @type {?} */
21
- const moment = moment_;
22
- export class WorkstationgroupLookupComponent {
23
- /**
24
- * @param {?} translate
25
- * @param {?} cd
26
- * @param {?} autocompleteParametersService
27
- * @param {?} lookupParametersService
28
- */
29
- constructor(translate, cd, autocompleteParametersService, lookupParametersService) {
30
- this.translate = translate;
31
- this.cd = cd;
32
- this.autocompleteParametersService = autocompleteParametersService;
33
- this.lookupParametersService = lookupParametersService;
34
- this.currentCompanyId = null;
35
- this.currentCompanyName = null;
36
- this.onSelect = new EventEmitter();
37
- this.onClear = new EventEmitter();
38
- this.onBlur = new EventEmitter();
39
- this.companyBranchId = null;
40
- this.lookupSuggestions = [];
41
- this.searchGridData = [];
42
- this.suggestionsObservable = new BehaviorSubject([]);
43
- this.totalRecords = 0;
44
- this.valueEnumShift = [
45
- {
46
- label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_FIRST_SHIFT"),
47
- value: "0",
48
- enum: "FIRST_SHIFT",
49
- },
50
- {
51
- label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_SECOND_SHIFT"),
52
- value: "1",
53
- enum: "SECOND_SHIFT",
54
- },
55
- {
56
- label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_THIRD_SHIFT"),
57
- value: "2",
58
- enum: "THIRD_SHIFT",
59
- },
60
- {
61
- label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_FOURTH_SHIFT"),
62
- value: "3",
63
- enum: "FOURTH_SHIFT",
64
- },
65
- {
66
- label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_MIXED"),
67
- value: "4",
68
- enum: "MIXED",
69
- },
70
- {
71
- label: this.translate.instant("hcm.payroll.enum_WorkshiftScale_GENERAL"),
72
- value: "5",
73
- enum: "GENERAL",
74
- },
75
- ];
76
- this.concatFieldsName = [
77
- new FormField({
78
- name: "code",
79
- label: this.translate.instant("hcm.payroll.code"),
80
- type: FieldType.String,
81
- }),
82
- new FormField({
83
- name: "name",
84
- label: this.translate.instant("hcm.payroll.employees_addition_workstation"),
85
- type: FieldType.String,
86
- }),
87
- ];
88
- this.concatName = [
89
- new FormField({
90
- name: "code",
91
- label: this.translate.instant("hcm.payroll.code"),
92
- type: FieldType.String,
93
- }),
94
- ];
95
- this.gridFields = [
96
- new FormField({
97
- name: "name",
98
- label: this.translate.instant("hcm.payroll.employees_addition_workstation"),
99
- type: FieldType.String,
100
- }),
101
- new FormField({
102
- name: "manager",
103
- label: this.translate.instant("hcm.payroll.workstation_form_lookup_search_manager_label"),
104
- type: FieldType.String,
105
- }),
106
- ];
107
- this.searchFields = [
108
- ...this.concatName,
109
- {
110
- name: "name",
111
- label: this.translate.instant("hcm.payroll.movimentation_name"),
112
- type: FieldType.String,
113
- },
114
- {
115
- name: "headoffice",
116
- type: FieldType.Autocomplete,
117
- label: this.translate.instant("hcm.payroll.employees_company"),
118
- dataKey: "id",
119
- appendTo: "body",
120
- fullWidth: true,
121
- suggestionsObservable: this.suggestionsObservable,
122
- displayField: "companyname",
123
- },
124
- {
125
- name: "branchoffice",
126
- type: FieldType.Autocomplete,
127
- label: this.translate.instant("hcm.payroll.employees_addition_branch"),
128
- dataKey: "id",
129
- appendTo: "body",
130
- fullWidth: true,
131
- onRemove: (/**
132
- * @return {?}
133
- */
134
- () => this.companyBranchId = null),
135
- onSelect: (/**
136
- * @param {?} __0
137
- * @return {?}
138
- */
139
- ({ id }) => this.companyBranchId = id),
140
- onSearch: (/**
141
- * @param {?} val
142
- * @return {?}
143
- */
144
- (val) => {
145
- this.getAutocomplete("company", val ? { companyname: val, code: val } : null, "code", "companyname", { headquarter: this.currentCompanyId ? this.currentCompanyId : "not null" });
146
- }),
147
- suggestionsObservable: this.suggestionsObservable,
148
- displayField: "companyname",
149
- },
150
- {
151
- name: "manager",
152
- type: FieldType.Autocomplete,
153
- multiple: false,
154
- label: this.translate.instant("hcm.payroll.workstation_form_lookup_search_manager_label"),
155
- appendTo: "body",
156
- fullWidth: true,
157
- onSearch: (/**
158
- * @param {?} val
159
- * @return {?}
160
- */
161
- (val) => {
162
- this.getAutocompleteQuery("autocompleteManager", {
163
- valueSearch: val ? val : "",
164
- companyId: { tableId: this.currentCompanyId },
165
- companyBranchId: { tableId: this.companyBranchId ? this.companyBranchId : "" },
166
- });
167
- }),
168
- suggestionsObservable: this.suggestionsObservable,
169
- displayField: "manager",
170
- },
171
- {
172
- name: "department",
173
- type: FieldType.Autocomplete,
174
- label: this.translate.instant("hcm.payroll.movimentation_historical_department_tab"),
175
- dataKey: "id",
176
- appendTo: "body",
177
- fullWidth: true,
178
- onSearch: (/**
179
- * @param {?} val
180
- * @return {?}
181
- */
182
- (val) => {
183
- this.getAutocompleteQuery("autocompleteDepartmentQuery", {
184
- searchText: val ? val : "",
185
- companyId: this.currentCompanyId,
186
- referenceDate: moment(now()).format("YYYY-MM-DD"),
187
- });
188
- }),
189
- suggestionsObservable: this.suggestionsObservable,
190
- displayField: "name",
191
- },
192
- {
193
- name: "costcenter",
194
- type: FieldType.Autocomplete,
195
- label: this.translate.instant("hcm.payroll.employees_addition_cost_center"),
196
- dataKey: "id",
197
- appendTo: "body",
198
- fullWidth: true,
199
- onSearch: (/**
200
- * @param {?} val
201
- * @return {?}
202
- */
203
- (val) => {
204
- this.getAutocomplete("costcenter", val ? { name: val, code: val } : null, "code", "name", this.currentCompanyId ? { company: this.currentCompanyId } : null, true, ServiceType.ORGANIZATION_REGISTER);
205
- }),
206
- suggestionsObservable: this.suggestionsObservable,
207
- displayField: "name",
208
- },
209
- {
210
- name: "jobposition",
211
- type: FieldType.Autocomplete,
212
- multiple: true,
213
- label: this.translate.instant("hcm.payroll.movimentation_historical_job_position_tab"),
214
- dataKey: "tableId",
215
- appendTo: "body",
216
- fullWidth: true,
217
- onSearch: (/**
218
- * @param {?} val
219
- * @return {?}
220
- */
221
- (val) => {
222
- this.getAutocompleteQuery("autocompleteJobpositionQuery", {
223
- searchText: val ? val : "",
224
- companyId: this.currentCompanyId,
225
- creationDate: moment().format("YYYY-MM-DD"),
226
- expirationDate: moment().format("YYYY-MM-DD"),
227
- });
228
- }),
229
- suggestionsObservable: this.suggestionsObservable,
230
- displayField: "name",
231
- },
232
- {
233
- name: "syndicate",
234
- type: FieldType.Autocomplete,
235
- label: this.translate.instant("hcm.payroll.employees_addition_syndicate"),
236
- dataKey: "id",
237
- appendTo: "body",
238
- fullWidth: true,
239
- onSearch: (/**
240
- * @param {?} val
241
- * @return {?}
242
- */
243
- (val) => {
244
- this.getAutocomplete("syndicate", val ? { name: val, code: val } : null, "code", "name");
245
- }),
246
- suggestionsObservable: this.suggestionsObservable,
247
- displayField: "name",
248
- },
249
- {
250
- name: "workshiftScale",
251
- type: FieldType.Enum,
252
- label: this.translate.instant("hcm.payroll.SHIFT"),
253
- showClear: true,
254
- size: { md: 12 },
255
- onChange: (/**
256
- * @return {?}
257
- */
258
- () => {
259
- this.resetDependenciesOfShift(true);
260
- }),
261
- options: this.valueEnumShift,
262
- },
263
- {
264
- name: "workshiftId",
265
- type: FieldType.Autocomplete,
266
- label: this.translate.instant("hcm.payroll.employees_addition_scale"),
267
- dataKey: "id",
268
- appendTo: "body",
269
- fullWidth: true,
270
- onSearch: (/**
271
- * @param {?} val
272
- * @return {?}
273
- */
274
- (val) => {
275
- this.getAutocomplete("workshift", val ? { description: val, code: val } : null, "code", "description", this.workstationFilterForm.get("workshiftScale").value ?
276
- { workshiftScale: this.valueEnumShift[this.workstationFilterForm.get("workshiftScale").value].enum } : null);
277
- }),
278
- onSelect: (/**
279
- * @return {?}
280
- */
281
- () => {
282
- this.resetDependenciesOfShift();
283
- }),
284
- suggestionsObservable: this.suggestionsObservable,
285
- displayField: "description",
286
- },
287
- {
288
- name: "workshiftGroupId",
289
- type: FieldType.Autocomplete,
290
- label: this.translate.instant("hcm.payroll.employees_addition_workshift-group"),
291
- dataKey: "id",
292
- appendTo: "body",
293
- fullWidth: true,
294
- onSearch: (/**
295
- * @param {?} val
296
- * @return {?}
297
- */
298
- (val) => {
299
- this.getAutocomplete("workshiftGroup", val ? { code: val } : null, "code", "baseDate", this.workstationFilterForm.get("workshiftId").value ?
300
- { workshift: this.workstationFilterForm.get("workshiftId").value.id } : null);
301
- }),
302
- suggestionsObservable: this.suggestionsObservable,
303
- displayField: "baseDate",
304
- },
305
- {
306
- name: "intervalGroupId",
307
- type: FieldType.Autocomplete,
308
- label: this.translate.instant("hcm.payroll.employees_addition_class_interval"),
309
- dataKey: "id",
310
- appendTo: "body",
311
- fullWidth: true,
312
- onSearch: (/**
313
- * @param {?} val
314
- * @return {?}
315
- */
316
- (val) => {
317
- this.getAutocomplete("intervalGroup", val ? { description: val, code: val } : null, "code", "description", this.workstationFilterForm.get("workshiftId").value ?
318
- { workshift: this.workstationFilterForm.get("workshiftId").value.id } : null);
319
- }),
320
- suggestionsObservable: this.suggestionsObservable,
321
- displayField: "description",
322
- },
323
- {
324
- name: "scaleTeamId",
325
- type: FieldType.Autocomplete,
326
- label: this.translate.instant("hcm.payroll.employees_addition_scale_team"),
327
- dataKey: "id",
328
- appendTo: "body",
329
- fullWidth: true,
330
- onSearch: (/**
331
- * @param {?} val
332
- * @return {?}
333
- */
334
- (val) => {
335
- this.getAutocomplete("scaleTeam", val ? { name: val, code: val } : null, "code", "name");
336
- }),
337
- suggestionsObservable: this.suggestionsObservable,
338
- displayField: "name",
339
- },
340
- {
341
- name: "scaleCategoryId",
342
- type: FieldType.Autocomplete,
343
- label: this.translate.instant("hcm.payroll.employees_addition_scale_category"),
344
- dataKey: "id",
345
- appendTo: "body",
346
- fullWidth: true,
347
- onSearch: (/**
348
- * @param {?} val
349
- * @return {?}
350
- */
351
- (val) => {
352
- this.getAutocomplete("scaleCategory", val ? { name: val, code: val } : null, "code", "name");
353
- }),
354
- suggestionsObservable: this.suggestionsObservable,
355
- displayField: "name",
356
- },
357
- {
358
- name: "employmentRelationshipId",
359
- type: FieldType.Autocomplete,
360
- label: this.translate.instant("hcm.payroll.employees_addition_employment_relationship"),
361
- dataKey: "id",
362
- appendTo: "body",
363
- fullWidth: true,
364
- onSearch: (/**
365
- * @param {?} val
366
- * @return {?}
367
- */
368
- (val) => {
369
- this.getAutocomplete("employmentRelationship", val ? { name: val, code: val } : null, "code", "name");
370
- }),
371
- suggestionsObservable: this.suggestionsObservable,
372
- displayField: "name",
373
- },
374
- {
375
- name: "contractType",
376
- type: FieldType.Enum,
377
- label: this.translate.instant("hcm.payroll.employees_temporary_contract_temporary_contract_type"),
378
- showClear: true,
379
- size: { md: 12 },
380
- options: [
381
- {
382
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Employee"),
383
- value: "0",
384
- },
385
- {
386
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Manager"),
387
- value: 1,
388
- },
389
- {
390
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_FarmWorker"),
391
- value: 2,
392
- },
393
- {
394
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Retired"),
395
- value: 3,
396
- },
397
- {
398
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Trainee"),
399
- value: 4,
400
- },
401
- {
402
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Apprentice"),
403
- value: 5,
404
- },
405
- {
406
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_FixedDueDate"),
407
- value: 6,
408
- },
409
- {
410
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_RetiredManager"),
411
- value: 7,
412
- },
413
- {
414
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_PublicAgent"),
415
- value: 8,
416
- },
417
- {
418
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_Teacher"),
419
- value: 9,
420
- },
421
- {
422
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_CooperativeWorker"),
423
- value: 10,
424
- },
425
- {
426
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_DomesticWorker"),
427
- value: 11,
428
- },
429
- {
430
- label: this.translate.instant("hcm.payroll.enum_EmployeeContractType_TeacherFixedDueDate"),
431
- value: 12,
432
- },
433
- ],
434
- },
435
- {
436
- name: "expenseNatureId",
437
- type: FieldType.Autocomplete,
438
- label: this.translate.instant("hcm.payroll.employees_addition_expense_nature"),
439
- dataKey: "id",
440
- appendTo: "body",
441
- fullWidth: true,
442
- onSearch: (/**
443
- * @param {?} val
444
- * @return {?}
445
- */
446
- (val) => {
447
- this.getAutocomplete("expenseNature", val ? { name: val, code: val } : null, "code", "name");
448
- }),
449
- suggestionsObservable: this.suggestionsObservable,
450
- displayField: "name",
451
- },
452
- {
453
- name: "allowDeficient",
454
- type: FieldType.Enum,
455
- label: this.translate.instant("hcm.payroll.allow_deficient"),
456
- showClear: true,
457
- size: { md: 12 },
458
- options: [
459
- {
460
- label: this.translate.instant("hcm.payroll.enum_DecisionPcD_No"),
461
- value: "0",
462
- },
463
- {
464
- label: this.translate.instant("hcm.payroll.enum_DecisionPcD_Also"),
465
- value: 1,
466
- },
467
- {
468
- label: this.translate.instant("hcm.payroll.enum_DecisionPcD_Only"),
469
- value: 2,
470
- },
471
- ],
472
- },
473
- {
474
- name: "disabilityIds",
475
- type: FieldType.Autocomplete,
476
- multiple: true,
477
- label: this.translate.instant("hcm.payroll.employees_addition_disability"),
478
- dataKey: "id",
479
- appendTo: "body",
480
- fullWidth: true,
481
- // visible: () => Number(this.workstationFilterForm.get('allowDeficient').value),
482
- onSearch: (/**
483
- * @param {?} val
484
- * @return {?}
485
- */
486
- (val) => {
487
- this.getAutocomplete("disability", val ? { name: val, code: val } : null, "code", "name");
488
- }),
489
- suggestionsObservable: this.suggestionsObservable,
490
- displayField: "name",
491
- },
492
- ];
493
- this.ngUnsubscribe = new Subject();
494
- }
495
- /**
496
- * @return {?}
497
- */
498
- ngOnInit() {
499
- }
500
- /**
501
- * @return {?}
502
- */
503
- ngOnDestroy() {
504
- this.ngUnsubscribe.next();
505
- this.ngUnsubscribe.complete();
506
- }
507
- /**
508
- * @return {?}
509
- */
510
- ngAfterViewInit() {
511
- this.cd.detectChanges();
512
- /** @type {?} */
513
- const companyForm = this.workstationFilterForm.get("headoffice");
514
- companyForm.setValue({ id: this.currentCompanyId, companyname: this.currentCompanyName });
515
- companyForm.disable();
516
- }
517
- /**
518
- * @return {?}
519
- */
520
- get workstationFilterForm() {
521
- return this.workstationgroupEl && this.workstationgroupEl["formGroupDialog"];
522
- }
523
- /**
524
- * @param {?} option
525
- * @return {?}
526
- */
527
- selectOption(option) {
528
- this.onSelect.emit(option);
529
- }
530
- /**
531
- * @param {?} option
532
- * @return {?}
533
- */
534
- onClearItem(option) {
535
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
536
- yield this.onClear.emit(option);
537
- this.form.get(this.name).reset();
538
- });
539
- }
540
- /**
541
- * @private
542
- * @param {?=} isShift
543
- * @return {?}
544
- */
545
- resetDependenciesOfShift(isShift = false) {
546
- if (isShift) {
547
- this.workstationFilterForm.get("workshiftId").reset();
548
- }
549
- this.workstationFilterForm.get("workshiftGroupId").reset();
550
- this.workstationFilterForm.get("intervalGroupId").reset();
551
- }
552
- /**
553
- * @param {?} $event
554
- * @return {?}
555
- */
556
- searchRequest($event) {
557
- /** @type {?} */
558
- const endpoint = "hcm/payroll/queries/workstationgroupFilterQuery";
559
- /** @type {?} */
560
- const company = this.workstationFilterForm.get("headoffice");
561
- /** @type {?} */
562
- const isLookupOpen = $event && $event.filterData;
563
- company.setValue({
564
- id: this.currentCompanyId,
565
- companyname: this.currentCompanyName,
566
- });
567
- $event = Object.assign({}, this.getValueEvent($event, isLookupOpen));
568
- /** @type {?} */
569
- const referenceDate = this.getHireDate().replace(/\'/g, "");
570
- /** @type {?} */
571
- const filter = new WorkstationgroupLookupDto($event, referenceDate);
572
- this.lookupParametersService.lookupRequestPost(filter.getToFilter(), endpoint, [...this.concatFieldsName], "name")
573
- .pipe(takeUntil(this.ngUnsubscribe))
574
- .subscribe((/**
575
- * @param {?} data
576
- * @return {?}
577
- */
578
- (data) => {
579
- if (isLookupOpen) {
580
- this.searchGridData = data && [...data.contents];
581
- }
582
- else {
583
- this.lookupSuggestions = data && [...data.contents];
584
- }
585
- this.totalRecords = data && data.totalPages;
586
- }));
587
- }
588
- /**
589
- * @private
590
- * @param {?} $event
591
- * @param {?} isLookupOpen
592
- * @return {?}
593
- */
594
- getValueEvent($event, isLookupOpen) {
595
- if (isLookupOpen) {
596
- $event.filterData.headoffice = this.currentCompanyId;
597
- }
598
- else {
599
- $event = {
600
- filterData: {
601
- headoffice: this.currentCompanyId,
602
- searchText: $event
603
- },
604
- };
605
- }
606
- return $event;
607
- }
608
- /**
609
- * @private
610
- * @param {?} nameQuery
611
- * @param {?} searchValue
612
- * @return {?}
613
- */
614
- getAutocompleteQuery(nameQuery, searchValue) {
615
- this.autocompleteParametersService.getAutoCompleteQuery(nameQuery, searchValue)
616
- .pipe(takeUntil(this.ngUnsubscribe))
617
- .subscribe((/**
618
- * @param {?} data
619
- * @return {?}
620
- */
621
- (data) => {
622
- if (nameQuery === "autocompleteDepartmentQuery") {
623
- data.filter((/**
624
- * @param {?} field
625
- * @return {?}
626
- */
627
- (field) => {
628
- if (field.fields && field.fields[0]) {
629
- field["name"] = `${field.fields[1].value} - ${field.fields[0].value}`;
630
- }
631
- }));
632
- }
633
- else if (nameQuery === "autocompleteJobpositionQuery") {
634
- data.filter((/**
635
- * @param {?} field
636
- * @return {?}
637
- */
638
- (field) => {
639
- if (field.fields && field.fields[0] && field.fields[1]) {
640
- field["name"] = `${field.fields[0].value} - ${field.fields[1].value}`;
641
- }
642
- }));
643
- }
644
- else if (nameQuery === "autocompleteManager") {
645
- data.map((/**
646
- * @param {?} field
647
- * @return {?}
648
- */
649
- (field) => {
650
- field["manager"] = field.fields[0].value ? field.fields[0].value : field.fields[3].value;
651
- }));
652
- }
653
- this.suggestionsObservable.next(data);
654
- }));
655
- }
656
- /**
657
- * @private
658
- * @param {?} nameEntity
659
- * @param {?} searchValue
660
- * @param {?} concatOtherFields
661
- * @param {?} nameFieldConcat
662
- * @param {?=} additionalParams
663
- * @param {?=} codeIsString
664
- * @param {?=} service
665
- * @return {?}
666
- */
667
- getAutocomplete(nameEntity, searchValue, concatOtherFields, nameFieldConcat, additionalParams = null, codeIsString = false, service = ServiceType.PAYROLL) {
668
- this.autocompleteParametersService.getAutoComplete(nameEntity, Object.assign({}, additionalParams, { searchValue: Object.assign({}, searchValue) }), this.searchFields, codeIsString, service)
669
- .pipe(takeUntil(this.ngUnsubscribe))
670
- .subscribe((/**
671
- * @param {?} data
672
- * @return {?}
673
- */
674
- (data) => {
675
- if (nameEntity === "workshiftGroup") {
676
- data.filter((/**
677
- * @param {?} filterData
678
- * @return {?}
679
- */
680
- (filterData) => {
681
- if (filterData.baseDate) {
682
- /** @type {?} */
683
- const dateIsMoment = moment(filterData.baseDate, "YYYY-MM-DD");
684
- if (dateIsMoment.isValid()) {
685
- return filterData.baseDate = dateIsMoment.format(this.dateFormat);
686
- }
687
- }
688
- }));
689
- }
690
- this.suggestionsObservable.next(this.getConcatFields(data, concatOtherFields, nameFieldConcat));
691
- }));
692
- }
693
- /**
694
- * @private
695
- * @param {?} data
696
- * @param {?} concatOtherFields
697
- * @param {?} nameFieldConcat
698
- * @return {?}
699
- */
700
- getConcatFields(data, concatOtherFields, nameFieldConcat) {
701
- if (nameFieldConcat && concatOtherFields) {
702
- data.filter((/**
703
- * @param {?} field
704
- * @return {?}
705
- */
706
- (field) => {
707
- field[nameFieldConcat] = `${field[concatOtherFields]} - ${field[nameFieldConcat]}`;
708
- }));
709
- }
710
- return data;
711
- }
712
- /**
713
- * @return {?}
714
- */
715
- getHireDate() {
716
- /** @type {?} */
717
- const momentHireDate = moment(this.hireDate).format(this.dateFormat);
718
- return momentHireDate ? `'${invertFieldDate(momentHireDate, this.dateFormat)}'` : `'${getNowDate()}'`;
719
- }
720
- }
721
- WorkstationgroupLookupComponent.decorators = [
722
- { type: Component, args: [{
723
- // tslint:disable-next-line:component-selector
724
- selector: "c-workstationgroup-lookup",
725
- template: "<div [formGroup]=\"form\">\n <s-lookup\n #workstationgroupEl\n id=\"workstationGroup\"\n dataKey=\"code\"\n (onSelect)=\"selectOption($event)\"\n (onClear)=\"onClearItem($event)\"\n [formControlName]=\"name\"\n (onLookupRequest)=\"searchRequest($event)\"\n (onSearchRequest)=\"searchRequest($event)\"\n filterTitle=\"{{ 'hcm.payroll.filters' | translate }}\"\n filterLabel=\"{{ 'hcm.payroll.filter' | translate }}\"\n clearLabel=\"{{ 'hcm.payroll.lookup_generic_clean_filter_label' | translate }}\"\n cancelLabel=\"{{ 'hcm.payroll.cancel' | translate }}\"\n selectLabel=\"{{ 'hcm.payroll.lookup_btn_select_label' | translate }}\"\n [disabled]=\"disabled\"\n [lookupSuggestions]=\"lookupSuggestions\"\n lookupEmptyMessage=\"{{ 'hcm.payroll.lookup_auto_complete_empty_message' | translate }}\"\n [searchGridData]=\"searchGridData\"\n [searchFields]=\"searchFields\"\n placeholder=\"{{'hcm.payroll.suggestions' | translate}}\"\n [searchTotalRecords]=\"totalRecords\"\n searchTotalRecordsLabel=\"{{ totalRecords }} {{\n 'hcm.payroll.admission_registers' | translate\n }}\"\n [searchGridFields]=\"gridFields\"\n searchTitle=\"{{ 'hcm.payroll.employees_addition_workstation' | translate }}\"\n lookupDisplayField=\"name\"\n ></s-lookup>\n\n</div>\n"
726
- }] }
727
- ];
728
- /** @nocollapse */
729
- WorkstationgroupLookupComponent.ctorParameters = () => [
730
- { type: TranslateService },
731
- { type: ChangeDetectorRef },
732
- { type: AutocompleteService },
733
- { type: LookupService }
734
- ];
735
- WorkstationgroupLookupComponent.propDecorators = {
736
- workstationgroupEl: [{ type: ViewChild, args: ["workstationgroupEl", { static: false },] }],
737
- currentCompanyId: [{ type: Input }],
738
- currentCompanyName: [{ type: Input }],
739
- hireDate: [{ type: Input }],
740
- dateFormat: [{ type: Input }],
741
- required: [{ type: Input }],
742
- disabled: [{ type: Input }],
743
- form: [{ type: Input }],
744
- name: [{ type: Input }],
745
- onSelect: [{ type: Output }],
746
- onClear: [{ type: Output }],
747
- onBlur: [{ type: Output }]
748
- };
749
- if (false) {
750
- /** @type {?} */
751
- WorkstationgroupLookupComponent.prototype.workstationgroupEl;
752
- /** @type {?} */
753
- WorkstationgroupLookupComponent.prototype.currentCompanyId;
754
- /** @type {?} */
755
- WorkstationgroupLookupComponent.prototype.currentCompanyName;
756
- /** @type {?} */
757
- WorkstationgroupLookupComponent.prototype.hireDate;
758
- /** @type {?} */
759
- WorkstationgroupLookupComponent.prototype.dateFormat;
760
- /** @type {?} */
761
- WorkstationgroupLookupComponent.prototype.required;
762
- /** @type {?} */
763
- WorkstationgroupLookupComponent.prototype.disabled;
764
- /** @type {?} */
765
- WorkstationgroupLookupComponent.prototype.form;
766
- /** @type {?} */
767
- WorkstationgroupLookupComponent.prototype.name;
768
- /** @type {?} */
769
- WorkstationgroupLookupComponent.prototype.onSelect;
770
- /** @type {?} */
771
- WorkstationgroupLookupComponent.prototype.onClear;
772
- /** @type {?} */
773
- WorkstationgroupLookupComponent.prototype.onBlur;
774
- /**
775
- * @type {?}
776
- * @private
777
- */
778
- WorkstationgroupLookupComponent.prototype.companyBranchId;
779
- /** @type {?} */
780
- WorkstationgroupLookupComponent.prototype.lookupSuggestions;
781
- /** @type {?} */
782
- WorkstationgroupLookupComponent.prototype.searchGridData;
783
- /** @type {?} */
784
- WorkstationgroupLookupComponent.prototype.suggestionsObservable;
785
- /** @type {?} */
786
- WorkstationgroupLookupComponent.prototype.totalRecords;
787
- /**
788
- * @type {?}
789
- * @private
790
- */
791
- WorkstationgroupLookupComponent.prototype.valueEnumShift;
792
- /**
793
- * @type {?}
794
- * @private
795
- */
796
- WorkstationgroupLookupComponent.prototype.concatFieldsName;
797
- /**
798
- * @type {?}
799
- * @private
800
- */
801
- WorkstationgroupLookupComponent.prototype.concatName;
802
- /** @type {?} */
803
- WorkstationgroupLookupComponent.prototype.gridFields;
804
- /** @type {?} */
805
- WorkstationgroupLookupComponent.prototype.searchFields;
806
- /**
807
- * @type {?}
808
- * @private
809
- */
810
- WorkstationgroupLookupComponent.prototype.ngUnsubscribe;
811
- /**
812
- * @type {?}
813
- * @private
814
- */
815
- WorkstationgroupLookupComponent.prototype.translate;
816
- /**
817
- * @type {?}
818
- * @private
819
- */
820
- WorkstationgroupLookupComponent.prototype.cd;
821
- /**
822
- * @type {?}
823
- * @private
824
- */
825
- WorkstationgroupLookupComponent.prototype.autocompleteParametersService;
826
- /**
827
- * @type {?}
828
- * @private
829
- */
830
- WorkstationgroupLookupComponent.prototype.lookupParametersService;
831
- }
832
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya3N0YXRpb25ncm91cC1sb29rdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHNlbmlvci1nZXN0YW8tcGVzc29hcy9wYXlyb2xsLWNvcmUvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy93b3Jrc3RhdGlvbmdyb3VwLWxvb2t1cC93b3Jrc3RhdGlvbmdyb3VwLWxvb2t1cC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUNILFNBQVMsRUFHVCxTQUFTLEVBQ1QsVUFBVSxFQUNWLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLGlCQUFpQixHQUNwQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUMxRSxPQUFPLEtBQUssT0FBTyxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzdCLE9BQU8sRUFBRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDakQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0JBQStCLENBQUM7O01BRXBFLE1BQU0sR0FBRyxPQUFP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Y0FBYyxFQUFFLElBQUksQ0FBQyxVQUFVLENBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFLLFVBQVUsRUFBRyxHQUFHLENBQUM7SUFDOUcsQ0FBQzs7O1lBMW5CSixTQUFTLFNBQUM7O2dCQUVQLFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLDg4Q0FBdUQ7YUFDMUQ7Ozs7WUFsQlEsZ0JBQWdCO1lBSHJCLGlCQUFpQjtZQVdaLG1CQUFtQjtZQUNuQixhQUFhOzs7aUNBWWpCLFNBQVMsU0FBQyxvQkFBb0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7K0JBR2pELEtBQUs7aUNBRUwsS0FBSzt1QkFFTCxLQUFLO3lCQUVMLEtBQUs7dUJBRUwsS0FBSzt1QkFFTCxLQUFLO21CQUVMLEtBQUs7bUJBRUwsS0FBSzt1QkFHTCxNQUFNO3NCQUVOLE1BQU07cUJBRU4sTUFBTTs7OztJQXhCUCw2REFDK0I7O0lBRS9CLDJEQUN1Qzs7SUFDdkMsNkRBQ3lDOztJQUN6QyxtREFDd0I7O0lBQ3hCLHFEQUMwQjs7SUFDMUIsbURBQ3lCOztJQUN6QixtREFDeUI7O0lBQ3pCLCtDQUN1Qjs7SUFDdkIsK0NBQ29COztJQUVwQixtREFDd0Q7O0lBQ3hELGtEQUN1RDs7SUFDdkQsaURBQ3NEOzs7OztJQUV0RCwwREFBdUM7O0lBRXZDLDREQUFxQzs7SUFDckMseURBQXdDOztJQUN4QyxnRUFBNkU7O0lBQzdFLHVEQUFnQzs7Ozs7SUFDaEMseURBK0JFOzs7OztJQUNGLDJEQVdFOzs7OztJQUVGLHFEQU1FOztJQUNGLHFEQVdFOztJQUNGLHVEQXdYRTs7Ozs7SUFFRix3REFBc0M7Ozs7O0lBR2xDLG9EQUFtQzs7Ozs7SUFDbkMsNkNBQTZCOzs7OztJQUM3Qix3RUFBMEQ7Ozs7O0lBQzFELGtFQUE4QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSBcIkBuZ3gtdHJhbnNsYXRlL2NvcmVcIjtcbmltcG9ydCB7IEZpZWxkVHlwZSwgRm9ybUZpZWxkIH0gZnJvbSBcIkBzZW5pb3JzaXN0ZW1hcy9hbmd1bGFyLWNvbXBvbmVudHNcIjtcbmltcG9ydCAqIGFzIG1vbWVudF8gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgbm93IH0gZnJvbSBcIm1vbWVudFwiO1xuaW1wb3J0IHsgU3ViamVjdCwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHsgU2VydmljZVR5cGUgfSBmcm9tIFwiLi4vLi4vY29yZS9lbnVtc1wiO1xuaW1wb3J0IHsgaW52ZXJ0RmllbGREYXRlLCBnZXROb3dEYXRlIH0gZnJvbSBcIi4uL3V0aWxzL2hlbHBlcnNcIjtcbmltcG9ydCB7IEF1dG9jb21wbGV0ZVNlcnZpY2UgfSBmcm9tIFwiLi9hdXRvY29tcGxldGUuc2VydmljZVwiO1xuaW1wb3J0IHsgTG9va3VwU2VydmljZSB9IGZyb20gXCIuL2xvb2t1cC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBXb3Jrc3RhdGlvbmdyb3VwTG9va3VwRHRvIH0gZnJvbSBcIi4vd29ya3N0YXRpb25ncm91cC1sb29rdXAuZHRvXCI7XG5cbmNvbnN0IG1vbWVudCA9IG1vbWVudF87XG5cbkBDb21wb25lbnQoe1xuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpjb21wb25lbnQtc2VsZWN0b3JcbiAgICBzZWxlY3RvcjogXCJjLXdvcmtzdGF0aW9uZ3JvdXAtbG9va3VwXCIsXG4gICAgdGVtcGxhdGVVcmw6IFwiLi93b3Jrc3RhdGlvbmdyb3VwLWxvb2t1cC5jb21wb25lbnQuaHRtbFwiLFxufSlcbmV4cG9ydCBjbGFzcyBXb3Jrc3RhdGlvbmdyb3VwTG9va3VwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQge1xuXG4gICAgQFZpZXdDaGlsZChcIndvcmtzdGF0aW9uZ3JvdXBFbFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICB3b3Jrc3RhdGlvbmdyb3VwRWw6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBjdXJyZW50Q29tcGFueUlkOiBzdHJpbmcgPSBudWxsO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGN1cnJlbnRDb21wYW55TmFtZTogc3RyaW5nID0gbnVsbDtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBoaXJlRGF0ZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRhdGVGb3JtYXQ6IHN0cmluZztcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkaXNhYmxlZDogYm9vbGVhbjtcbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBmb3JtOiBGb3JtR3JvdXA7XG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uU2VsZWN0OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgb25DbGVhcjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIG9uQmx1cjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBwcml2YXRlIGNvbXBhbnlCcmFuY2hJZDogc3RyaW5nID0gbnVsbDtcblxuICAgIHB1YmxpYyBsb29rdXBTdWdnZXN0aW9uczogYW55W10gPSBbXTtcbiAgICBwdWJsaWMgc2VhcmNoR3JpZERhdGE6IEZvcm1GaWVsZFtdID0gW107XG4gICAgcHVibGljIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogQmVoYXZpb3JTdWJqZWN0PGFueT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KFtdKTtcbiAgICBwdWJsaWMgdG90YWxSZWNvcmRzOiBudW1iZXIgPSAwO1xuICAgIHByaXZhdGUgdmFsdWVFbnVtU2hpZnQgPSBbXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9GSVJTVF9TSElGVFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjBcIixcbiAgICAgICAgICAgIGVudW06IFwiRklSU1RfU0hJRlRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX1dvcmtzaGlmdFNjYWxlX1NFQ09ORF9TSElGVFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjFcIixcbiAgICAgICAgICAgIGVudW06IFwiU0VDT05EX1NISUZUXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9USElSRF9TSElGVFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjJcIixcbiAgICAgICAgICAgIGVudW06IFwiVEhJUkRfU0hJRlRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX1dvcmtzaGlmdFNjYWxlX0ZPVVJUSF9TSElGVFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjNcIixcbiAgICAgICAgICAgIGVudW06IFwiRk9VUlRIX1NISUZUXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9Xb3Jrc2hpZnRTY2FsZV9NSVhFRFwiKSxcbiAgICAgICAgICAgIHZhbHVlOiBcIjRcIixcbiAgICAgICAgICAgIGVudW06IFwiTUlYRURcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX1dvcmtzaGlmdFNjYWxlX0dFTkVSQUxcIiksXG4gICAgICAgICAgICB2YWx1ZTogXCI1XCIsXG4gICAgICAgICAgICBlbnVtOiBcIkdFTkVSQUxcIixcbiAgICAgICAgfSxcbiAgICBdO1xuICAgIHByaXZhdGUgY29uY2F0RmllbGRzTmFtZSA9IFtcbiAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICBuYW1lOiBcImNvZGVcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuY29kZVwiKSxcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5TdHJpbmcsXG4gICAgICAgIH0pLFxuICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgIG5hbWU6IFwibmFtZVwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fd29ya3N0YXRpb25cIiksXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICB9KSxcbiAgICBdO1xuXG4gICAgcHJpdmF0ZSBjb25jYXROYW1lID0gW1xuICAgICAgICBuZXcgRm9ybUZpZWxkKHtcbiAgICAgICAgICAgIG5hbWU6IFwiY29kZVwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5jb2RlXCIpLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgfSksXG4gICAgXTtcbiAgICBwdWJsaWMgZ3JpZEZpZWxkcyA9IFtcbiAgICAgICAgbmV3IEZvcm1GaWVsZCh7XG4gICAgICAgICAgICBuYW1lOiBcIm5hbWVcIixcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3dvcmtzdGF0aW9uXCIpLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgfSksXG4gICAgICAgIG5ldyBGb3JtRmllbGQoe1xuICAgICAgICAgICAgbmFtZTogXCJtYW5hZ2VyXCIsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLndvcmtzdGF0aW9uX2Zvcm1fbG9va3VwX3NlYXJjaF9tYW5hZ2VyX2xhYmVsXCIpLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLlN0cmluZyxcbiAgICAgICAgfSksXG4gICAgXTtcbiAgICBwdWJsaWMgc2VhcmNoRmllbGRzID0gW1xuICAgICAgICAuLi50aGlzLmNvbmNhdE5hbWUsXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwibmFtZVwiLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5tb3ZpbWVudGF0aW9uX25hbWVcIiksXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuU3RyaW5nLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImhlYWRvZmZpY2VcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19jb21wYW55XCIpLFxuICAgICAgICAgICAgZGF0YUtleTogXCJpZFwiLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJjb21wYW55bmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImJyYW5jaG9mZmljZVwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX2JyYW5jaFwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uUmVtb3ZlOiAoKSA9PiB0aGlzLmNvbXBhbnlCcmFuY2hJZCA9IG51bGwsXG4gICAgICAgICAgICBvblNlbGVjdDogKHsgaWQgfTogeyBpZDogc3RyaW5nIH0pID0+IHRoaXMuY29tcGFueUJyYW5jaElkID0gaWQsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwiY29tcGFueVwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IGNvbXBhbnluYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwiY29tcGFueW5hbWVcIixcbiAgICAgICAgICAgICAgICAgICAgeyBoZWFkcXVhcnRlcjogdGhpcy5jdXJyZW50Q29tcGFueUlkID8gdGhpcy5jdXJyZW50Q29tcGFueUlkIDogXCJub3QgbnVsbFwiIH0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcImNvbXBhbnluYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwibWFuYWdlclwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiBmYWxzZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwud29ya3N0YXRpb25fZm9ybV9sb29rdXBfc2VhcmNoX21hbmFnZXJfbGFiZWxcIiksXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGVRdWVyeShcbiAgICAgICAgICAgICAgICAgICAgXCJhdXRvY29tcGxldGVNYW5hZ2VyXCIsXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlU2VhcmNoOiB2YWwgPyB2YWwgOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFueUlkOiB7dGFibGVJZDogdGhpcy5jdXJyZW50Q29tcGFueUlkfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhbnlCcmFuY2hJZDoge3RhYmxlSWQ6IHRoaXMuY29tcGFueUJyYW5jaElkID8gdGhpcy5jb21wYW55QnJhbmNoSWQgOiBcIlwifSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibWFuYWdlclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImRlcGFydG1lbnRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLm1vdmltZW50YXRpb25faGlzdG9yaWNhbF9kZXBhcnRtZW50X3RhYlwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZVF1ZXJ5KFxuICAgICAgICAgICAgICAgICAgICBcImF1dG9jb21wbGV0ZURlcGFydG1lbnRRdWVyeVwiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiB2YWwgPyB2YWwgOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFueUlkOiB0aGlzLmN1cnJlbnRDb21wYW55SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICByZWZlcmVuY2VEYXRlOiBtb21lbnQobm93KCkpLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJjb3N0Y2VudGVyXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fY29zdF9jZW50ZXJcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwiY29zdGNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IG5hbWU6IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJuYW1lXCIsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY3VycmVudENvbXBhbnlJZCA/IHsgY29tcGFueTogdGhpcy5jdXJyZW50Q29tcGFueUlkIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBTZXJ2aWNlVHlwZS5PUkdBTklaQVRJT05fUkVHSVNURVIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJqb2Jwb3NpdGlvblwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5tb3ZpbWVudGF0aW9uX2hpc3RvcmljYWxfam9iX3Bvc2l0aW9uX3RhYlwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwidGFibGVJZFwiLFxuICAgICAgICAgICAgYXBwZW5kVG86IFwiYm9keVwiLFxuICAgICAgICAgICAgZnVsbFdpZHRoOiB0cnVlLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlUXVlcnkoXG4gICAgICAgICAgICAgICAgICAgIFwiYXV0b2NvbXBsZXRlSm9icG9zaXRpb25RdWVyeVwiLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWFyY2hUZXh0OiB2YWwgPyB2YWwgOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29tcGFueUlkOiB0aGlzLmN1cnJlbnRDb21wYW55SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGlvbkRhdGU6IG1vbWVudCgpLmZvcm1hdChcIllZWVktTU0tRERcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBpcmF0aW9uRGF0ZTogbW9tZW50KCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInN5bmRpY2F0ZVwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW1wbG95ZWVzX2FkZGl0aW9uX3N5bmRpY2F0ZVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJzeW5kaWNhdGVcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwid29ya3NoaWZ0U2NhbGVcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5FbnVtLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5TSElGVFwiKSxcbiAgICAgICAgICAgIHNob3dDbGVhcjogdHJ1ZSxcbiAgICAgICAgICAgIHNpemU6IHsgbWQ6IDEyIH0sXG4gICAgICAgICAgICBvbkNoYW5nZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXREZXBlbmRlbmNpZXNPZlNoaWZ0KHRydWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHRoaXMudmFsdWVFbnVtU2hpZnQsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwid29ya3NoaWZ0SWRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl9zY2FsZVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJ3b3Jrc2hpZnRcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBkZXNjcmlwdGlvbjogdmFsLCBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcImRlc2NyaXB0aW9uXCIsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdFNjYWxlXCIpLnZhbHVlID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHsgd29ya3NoaWZ0U2NhbGU6IHRoaXMudmFsdWVFbnVtU2hpZnRbdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwid29ya3NoaWZ0U2NhbGVcIikudmFsdWVdLmVudW0gfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvblNlbGVjdDogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMucmVzZXREZXBlbmRlbmNpZXNPZlNoaWZ0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcIndvcmtzaGlmdEdyb3VwSWRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl93b3Jrc2hpZnQtZ3JvdXBcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwid29ya3NoaWZ0R3JvdXBcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcImJhc2VEYXRlXCIsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdElkXCIpLnZhbHVlID9cbiAgICAgICAgICAgICAgICAgICAgICAgIHsgd29ya3NoaWZ0OiB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRJZFwiKS52YWx1ZS5pZCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwiYmFzZURhdGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJpbnRlcnZhbEdyb3VwSWRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl9jbGFzc19pbnRlcnZhbFwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJpbnRlcnZhbEdyb3VwXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgZGVzY3JpcHRpb246IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICAgICAgICAgICAgICB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRJZFwiKS52YWx1ZSA/XG4gICAgICAgICAgICAgICAgICAgICAgeyB3b3Jrc2hpZnQ6IHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdElkXCIpLnZhbHVlLmlkIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJkZXNjcmlwdGlvblwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcInNjYWxlVGVhbUlkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fc2NhbGVfdGVhbVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJzY2FsZVRlYW1cIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwic2NhbGVDYXRlZ29yeUlkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fc2NhbGVfY2F0ZWdvcnlcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwic2NhbGVDYXRlZ29yeVwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IG5hbWU6IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJuYW1lXCIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJlbXBsb3ltZW50UmVsYXRpb25zaGlwSWRcIixcbiAgICAgICAgICAgIHR5cGU6IEZpZWxkVHlwZS5BdXRvY29tcGxldGUsXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc19hZGRpdGlvbl9lbXBsb3ltZW50X3JlbGF0aW9uc2hpcFwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIG9uU2VhcmNoOiAodmFsOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmdldEF1dG9jb21wbGV0ZShcbiAgICAgICAgICAgICAgICAgICAgXCJlbXBsb3ltZW50UmVsYXRpb25zaGlwXCIsXG4gICAgICAgICAgICAgICAgICAgIHZhbCA/IHsgbmFtZTogdmFsLCBjb2RlOiB2YWwgfSA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIFwiY29kZVwiLCBcIm5hbWVcIixcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Z2dlc3Rpb25zT2JzZXJ2YWJsZTogdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUsXG4gICAgICAgICAgICBkaXNwbGF5RmllbGQ6IFwibmFtZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBuYW1lOiBcImNvbnRyYWN0VHlwZVwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVtcGxveWVlc190ZW1wb3JhcnlfY29udHJhY3RfdGVtcG9yYXJ5X2NvbnRyYWN0X3R5cGVcIiksXG4gICAgICAgICAgICBzaG93Q2xlYXI6IHRydWUsXG4gICAgICAgICAgICBzaXplOiB7IG1kOiAxMiB9LFxuICAgICAgICAgICAgb3B0aW9uczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0VtcGxveWVlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogXCIwXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9NYW5hZ2VyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0Zhcm1Xb3JrZXJcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfUmV0aXJlZFwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDMsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9UcmFpbmVlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0FwcHJlbnRpY2VcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiA1LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfRml4ZWREdWVEYXRlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX1JldGlyZWRNYW5hZ2VyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogNyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX1B1YmxpY0FnZW50XCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogOCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX1RlYWNoZXJcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiA5LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRW1wbG95ZWVDb250cmFjdFR5cGVfQ29vcGVyYXRpdmVXb3JrZXJcIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxMCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0VtcGxveWVlQ29udHJhY3RUeXBlX0RvbWVzdGljV29ya2VyXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTEsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KFwiaGNtLnBheXJvbGwuZW51bV9FbXBsb3llZUNvbnRyYWN0VHlwZV9UZWFjaGVyRml4ZWREdWVEYXRlXCIpLFxuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogMTIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiZXhwZW5zZU5hdHVyZUlkXCIsXG4gICAgICAgICAgICB0eXBlOiBGaWVsZFR5cGUuQXV0b2NvbXBsZXRlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fZXhwZW5zZV9uYXR1cmVcIiksXG4gICAgICAgICAgICBkYXRhS2V5OiBcImlkXCIsXG4gICAgICAgICAgICBhcHBlbmRUbzogXCJib2R5XCIsXG4gICAgICAgICAgICBmdWxsV2lkdGg6IHRydWUsXG4gICAgICAgICAgICBvblNlYXJjaDogKHZhbDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5nZXRBdXRvY29tcGxldGUoXG4gICAgICAgICAgICAgICAgICAgIFwiZXhwZW5zZU5hdHVyZVwiLFxuICAgICAgICAgICAgICAgICAgICB2YWwgPyB7IG5hbWU6IHZhbCwgY29kZTogdmFsIH0gOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBcImNvZGVcIiwgXCJuYW1lXCIsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWdnZXN0aW9uc09ic2VydmFibGU6IHRoaXMuc3VnZ2VzdGlvbnNPYnNlcnZhYmxlLFxuICAgICAgICAgICAgZGlzcGxheUZpZWxkOiBcIm5hbWVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgbmFtZTogXCJhbGxvd0RlZmljaWVudFwiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkVudW0sXG4gICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmFsbG93X2RlZmljaWVudFwiKSxcbiAgICAgICAgICAgIHNob3dDbGVhcjogdHJ1ZSxcbiAgICAgICAgICAgIHNpemU6IHsgbWQ6IDEyIH0sXG4gICAgICAgICAgICBvcHRpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRGVjaXNpb25QY0RfTm9cIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBcIjBcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbnVtX0RlY2lzaW9uUGNEX0Fsc29cIiksXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAxLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBsYWJlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudChcImhjbS5wYXlyb2xsLmVudW1fRGVjaXNpb25QY0RfT25seVwiKSxcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIG5hbWU6IFwiZGlzYWJpbGl0eUlkc1wiLFxuICAgICAgICAgICAgdHlwZTogRmllbGRUeXBlLkF1dG9jb21wbGV0ZSxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICAgICAgbGFiZWw6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoXCJoY20ucGF5cm9sbC5lbXBsb3llZXNfYWRkaXRpb25fZGlzYWJpbGl0eVwiKSxcbiAgICAgICAgICAgIGRhdGFLZXk6IFwiaWRcIixcbiAgICAgICAgICAgIGFwcGVuZFRvOiBcImJvZHlcIixcbiAgICAgICAgICAgIGZ1bGxXaWR0aDogdHJ1ZSxcbiAgICAgICAgICAgIC8vIHZpc2libGU6ICgpID0+IE51bWJlcih0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoJ2FsbG93RGVmaWNpZW50JykudmFsdWUpLFxuICAgICAgICAgICAgb25TZWFyY2g6ICh2YWw6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICAgICAgICAgICAgICBcImRpc2FiaWxpdHlcIixcbiAgICAgICAgICAgICAgICAgICAgdmFsID8geyBuYW1lOiB2YWwsIGNvZGU6IHZhbCB9IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgXCJjb2RlXCIsIFwibmFtZVwiLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc3VnZ2VzdGlvbnNPYnNlcnZhYmxlOiB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZSxcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogXCJuYW1lXCIsXG4gICAgICAgIH0sXG4gICAgXTtcblxuICAgIHByaXZhdGUgbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0KCk7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIGF1dG9jb21wbGV0ZVBhcmFtZXRlcnNTZXJ2aWNlOiBBdXRvY29tcGxldGVTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIGxvb2t1cFBhcmFtZXRlcnNTZXJ2aWNlOiBMb29rdXBTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCkge1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICAgICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IGNvbXBhbnlGb3JtID0gdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwiaGVhZG9mZmljZVwiKTtcbiAgICAgICAgY29tcGFueUZvcm0uc2V0VmFsdWUoeyBpZDogdGhpcy5jdXJyZW50Q29tcGFueUlkLCBjb21wYW55bmFtZTogdGhpcy5jdXJyZW50Q29tcGFueU5hbWUgfSk7XG4gICAgICAgIGNvbXBhbnlGb3JtLmRpc2FibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHdvcmtzdGF0aW9uRmlsdGVyRm9ybSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMud29ya3N0YXRpb25ncm91cEVsICYmIHRoaXMud29ya3N0YXRpb25ncm91cEVsW1wiZm9ybUdyb3VwRGlhbG9nXCJdO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZWxlY3RPcHRpb24ob3B0aW9uOiBvYmplY3QpIHtcbiAgICAgICAgdGhpcy5vblNlbGVjdC5lbWl0KG9wdGlvbik7XG4gICAgfVxuXG4gICAgYXN5bmMgb25DbGVhckl0ZW0ob3B0aW9uOiBvYmplY3QpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5vbkNsZWFyLmVtaXQob3B0aW9uKTtcbiAgICAgICAgdGhpcy5mb3JtLmdldCh0aGlzLm5hbWUpLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZXNldERlcGVuZGVuY2llc09mU2hpZnQoaXNTaGlmdDogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1NoaWZ0KSB7XG4gICAgICAgICAgICB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJ3b3Jrc2hpZnRJZFwiKS5yZXNldCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMud29ya3N0YXRpb25GaWx0ZXJGb3JtLmdldChcIndvcmtzaGlmdEdyb3VwSWRcIikucmVzZXQoKTtcbiAgICAgICAgdGhpcy53b3Jrc3RhdGlvbkZpbHRlckZvcm0uZ2V0KFwiaW50ZXJ2YWxHcm91cElkXCIpLnJlc2V0KCk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaFJlcXVlc3QoJGV2ZW50OiBhbnkpIHtcbiAgICAgICAgY29uc3QgZW5kcG9pbnQgPSBcImhjbS9wYXlyb2xsL3F1ZXJpZXMvd29ya3N0YXRpb25ncm91cEZpbHRlclF1ZXJ5XCI7XG4gICAgICAgIGNvbnN0IGNvbXBhbnkgPSB0aGlzLndvcmtzdGF0aW9uRmlsdGVyRm9ybS5nZXQoXCJoZWFkb2ZmaWNlXCIpO1xuICAgICAgICBjb25zdCBpc0xvb2t1cE9wZW46IGJvb2xlYW4gPSAkZXZlbnQgJiYgJGV2ZW50LmZpbHRlckRhdGE7XG4gICAgICAgIGNvbXBhbnkuc2V0VmFsdWUoe1xuICAgICAgICAgICAgaWQ6IHRoaXMuY3VycmVudENvbXBhbnlJZCxcbiAgICAgICAgICAgIGNvbXBhbnluYW1lOiB0aGlzLmN1cnJlbnRDb21wYW55TmFtZSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgJGV2ZW50ID0geyAuLi50aGlzLmdldFZhbHVlRXZlbnQoJGV2ZW50LCBpc0xvb2t1cE9wZW4pfTtcblxuICAgICAgICBjb25zdCByZWZlcmVuY2VEYXRlID0gdGhpcy5nZXRIaXJlRGF0ZSgpLnJlcGxhY2UoL1xcJy9nLCBcIlwiKTtcbiAgICAgICAgY29uc3QgZmlsdGVyID0gbmV3IFdvcmtzdGF0aW9uZ3JvdXBMb29rdXBEdG8oJGV2ZW50LCByZWZlcmVuY2VEYXRlKTtcbiAgICAgICAgdGhpcy5sb29rdXBQYXJhbWV0ZXJzU2VydmljZS5sb29rdXBSZXF1ZXN0UG9zdChmaWx0ZXIuZ2V0VG9GaWx0ZXIoKSwgZW5kcG9pbnQsIFsuLi50aGlzLmNvbmNhdEZpZWxkc05hbWVdLCBcIm5hbWVcIilcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlzTG9va3VwT3Blbikge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlYXJjaEdyaWREYXRhID0gZGF0YSAmJiBbLi4uZGF0YS5jb250ZW50c107XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5sb29rdXBTdWdnZXN0aW9ucyA9IGRhdGEgJiYgWy4uLmRhdGEuY29udGVudHNdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnRvdGFsUmVjb3JkcyA9IGRhdGEgJiYgZGF0YS50b3RhbFBhZ2VzO1xuICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VmFsdWVFdmVudCgkZXZlbnQ6IGFueSwgaXNMb29rdXBPcGVuOiBib29sZWFuKTogT2JqZWN0IHtcbiAgICAgICAgaWYgKGlzTG9va3VwT3Blbikge1xuICAgICAgICAgICAgJGV2ZW50LmZpbHRlckRhdGEuaGVhZG9mZmljZSA9IHRoaXMuY3VycmVudENvbXBhbnlJZDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICRldmVudCA9IHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJEYXRhOiB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRvZmZpY2U6IHRoaXMuY3VycmVudENvbXBhbnlJZCxcbiAgICAgICAgICAgICAgICAgICAgc2VhcmNoVGV4dDogJGV2ZW50XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICRldmVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEF1dG9jb21wbGV0ZVF1ZXJ5KG5hbWVRdWVyeTogc3RyaW5nLCBzZWFyY2hWYWx1ZTogb2JqZWN0KSB7XG4gICAgICAgIHRoaXMuYXV0b2NvbXBsZXRlUGFyYW1ldGVyc1NlcnZpY2UuZ2V0QXV0b0NvbXBsZXRlUXVlcnkobmFtZVF1ZXJ5LCBzZWFyY2hWYWx1ZSlcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWVRdWVyeSA9PT0gXCJhdXRvY29tcGxldGVEZXBhcnRtZW50UXVlcnlcIikge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLmZpbHRlcigoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmZpZWxkcyAmJiBmaWVsZC5maWVsZHNbMF0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWVsZFtcIm5hbWVcIl0gPSBgJHsgZmllbGQuZmllbGRzWzFdLnZhbHVlIH0gLSAkeyBmaWVsZC5maWVsZHNbMF0udmFsdWUgfWA7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAobmFtZVF1ZXJ5ID09PSBcImF1dG9jb21wbGV0ZUpvYnBvc2l0aW9uUXVlcnlcIikge1xuICAgICAgICAgICAgICAgICAgICBkYXRhLmZpbHRlcigoZmllbGQ6IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpZWxkLmZpZWxkcyAmJiBmaWVsZC5maWVsZHNbMF0gJiYgZmllbGQuZmllbGRzWzFdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGRbXCJuYW1lXCJdID0gYCR7IGZpZWxkLmZpZWxkc1swXS52YWx1ZSB9IC0gJHsgZmllbGQuZmllbGRzWzFdLnZhbHVlIH1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5hbWVRdWVyeSA9PT0gXCJhdXRvY29tcGxldGVNYW5hZ2VyXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGF0YS5tYXAoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpZWxkW1wibWFuYWdlclwiXSA9IGZpZWxkLmZpZWxkc1swXS52YWx1ZSA/IGZpZWxkLmZpZWxkc1swXS52YWx1ZSA6IGZpZWxkLmZpZWxkc1szXS52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5zdWdnZXN0aW9uc09ic2VydmFibGUubmV4dChkYXRhKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QXV0b2NvbXBsZXRlKFxuICAgICAgICBuYW1lRW50aXR5OiBzdHJpbmcsXG4gICAgICAgIHNlYXJjaFZhbHVlOiBvYmplY3QsXG4gICAgICAgIGNvbmNhdE90aGVyRmllbGRzOiBzdHJpbmcsXG4gICAgICAgIG5hbWVGaWVsZENvbmNhdDogc3RyaW5nLFxuICAgICAgICBhZGRpdGlvbmFsUGFyYW1zOiBvYmplY3QgPSBudWxsLFxuICAgICAgICBjb2RlSXNTdHJpbmc6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgc2VydmljZTogU2VydmljZVR5cGUgPSBTZXJ2aWNlVHlwZS5QQVlST0xMLFxuICAgICkge1xuICAgICAgICB0aGlzLmF1dG9jb21wbGV0ZVBhcmFtZXRlcnNTZXJ2aWNlLmdldEF1dG9Db21wbGV0ZShcbiAgICAgICAgICAgIG5hbWVFbnRpdHksIHtcbiAgICAgICAgICAgICAgICAuLi5hZGRpdGlvbmFsUGFyYW1zLFxuICAgICAgICAgICAgICAgIHNlYXJjaFZhbHVlOiB7IC4uLnNlYXJjaFZhbHVlIH0sXG4gICAgICAgICAgICB9LCB0aGlzLnNlYXJjaEZpZWxkcywgY29kZUlzU3RyaW5nLCBzZXJ2aWNlKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChkYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobmFtZUVudGl0eSA9PT0gXCJ3b3Jrc2hpZnRHcm91cFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGRhdGEuZmlsdGVyKChmaWx0ZXJEYXRhOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaWx0ZXJEYXRhLmJhc2VEYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZGF0ZUlzTW9tZW50ID0gbW9tZW50KGZpbHRlckRhdGEuYmFzZURhdGUsIFwiWVlZWS1NTS1ERFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZGF0ZUlzTW9tZW50LmlzVmFsaWQoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmlsdGVyRGF0YS5iYXNlRGF0ZSA9IGRhdGVJc01vbWVudC5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnN1Z2dlc3Rpb25zT2JzZXJ2YWJsZS5uZXh0KHRoaXMuZ2V0Q29uY2F0RmllbGRzKGRhdGEsIGNvbmNhdE90aGVyRmllbGRzLCBuYW1lRmllbGRDb25jYXQpKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q29uY2F0RmllbGRzKGRhdGE6IGFueSwgY29uY2F0T3RoZXJGaWVsZHM6IHN0cmluZywgbmFtZUZpZWxkQ29uY2F0OiBzdHJpbmcpIHtcbiAgICAgICAgaWYgKG5hbWVGaWVsZENvbmNhdCAmJiBjb25jYXRPdGhlckZpZWxkcykge1xuICAgICAgICAgICAgZGF0YS5maWx0ZXIoKGZpZWxkOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICBmaWVsZFtuYW1lRmllbGRDb25jYXRdID0gYCR7IGZpZWxkW2NvbmNhdE90aGVyRmllbGRzXSB9IC0gJHsgZmllbGRbbmFtZUZpZWxkQ29uY2F0XSB9YDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRIaXJlRGF0ZSgpIHtcbiAgICAgICAgY29uc3QgbW9tZW50SGlyZURhdGUgPSBtb21lbnQodGhpcy5oaXJlRGF0ZSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgIHJldHVybiBtb21lbnRIaXJlRGF0ZSA/IGAnJHsgaW52ZXJ0RmllbGREYXRlKG1vbWVudEhpcmVEYXRlLCB0aGlzLmRhdGVGb3JtYXQpIH0nYCA6IGAnJHsgZ2V0Tm93RGF0ZSgpIH0nYDtcbiAgICB9XG5cbn1cbiJdfQ==