@reusa/ngx-reusa-app-lib 0.0.1304 → 0.0.1305

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 (536) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +1296 -2414
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +105 -159
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +53 -59
  4. package/esm2022/lib/components/address/address.component.mjs +150 -285
  5. package/esm2022/lib/components/bank-details/bank-details.component.mjs +219 -79
  6. package/esm2022/lib/components/contact-us/contact-us.component.mjs +43 -17
  7. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +9 -3
  8. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +4 -21
  9. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +15 -30
  10. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  11. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  12. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  13. package/esm2022/lib/components/email-update/email-update.component.mjs +140 -63
  14. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +560 -363
  15. package/esm2022/lib/components/error/error.component.mjs +5 -22
  16. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  17. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +49 -178
  18. package/esm2022/lib/components/footer/footer.component.mjs +83 -94
  19. package/esm2022/lib/components/header/header.component.mjs +171 -439
  20. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +36 -25
  21. package/esm2022/lib/components/info/info.component.mjs +12 -4
  22. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
  23. package/esm2022/lib/components/job-title/job-title.component.mjs +97 -92
  24. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +513 -143
  25. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +402 -0
  26. package/esm2022/lib/components/link/link.component.mjs +1 -1
  27. package/esm2022/lib/components/menu/menu.component.mjs +100 -69
  28. package/esm2022/lib/components/mfa/mfa.component.mjs +287 -158
  29. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
  30. package/esm2022/lib/components/mfa2/mfa2.component.mjs +285 -0
  31. package/esm2022/lib/components/money-expect/money-expect.component.mjs +54 -158
  32. package/esm2022/lib/components/profile/profile.component.mjs +354 -717
  33. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +38 -108
  34. package/esm2022/lib/components/questionnaire/AppValidators.mjs +43 -289
  35. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +65 -110
  36. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +173 -377
  37. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +95 -76
  38. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1070 -849
  39. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +667 -207
  40. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +22 -28
  41. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +32 -116
  42. package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
  43. package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
  44. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +29 -15
  45. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +233 -457
  46. package/esm2022/lib/components/search-employer/search-employer.component.mjs +30 -155
  47. package/esm2022/lib/components/security-question/security-question.component.mjs +199 -0
  48. package/esm2022/lib/components/select/select.component.mjs +10 -5
  49. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  50. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
  51. package/esm2022/lib/components/user-login/user-login.component.mjs +357 -139
  52. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +237 -613
  53. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +59 -114
  54. package/esm2022/lib/guards/auth.guard.mjs +2 -50
  55. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  56. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
  57. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  58. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  59. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  60. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  61. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  62. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  63. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  64. package/esm2022/lib/models/LibConstants.mjs +6 -45
  65. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  66. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  67. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  68. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  69. package/esm2022/lib/models/dependent.model.mjs +1 -1
  70. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  71. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
  72. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  73. package/esm2022/lib/models/questionnaire/ComboModel.mjs +653 -96
  74. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  75. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  76. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  77. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
  78. package/esm2022/lib/pages/BasePage.mjs +23 -4
  79. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
  80. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
  81. package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
  82. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  83. package/esm2022/lib/pages/common/login/login.component.mjs +11 -7
  84. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  85. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  86. package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
  87. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  88. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
  89. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  90. package/esm2022/lib/services/base-service.mjs +1 -4
  91. package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
  92. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  93. package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
  94. package/esm2022/lib/services/claims/claims.service.mjs +14 -102
  95. package/esm2022/lib/services/help/help.service.mjs +1 -1
  96. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  97. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  98. package/esm2022/lib/services/login/login.service.mjs +11 -29
  99. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  100. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
  101. package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
  102. package/esm2022/lib/services/security-service/security.service.mjs +6 -23
  103. package/esm2022/lib/services/util/util.service.mjs +5 -61
  104. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
  105. package/esm2022/lib/validations/AppRegex.mjs +3 -1
  106. package/esm2022/lib/validations/AppValidators.mjs +31 -84
  107. package/esm2022/public-api.mjs +5 -47
  108. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +26206 -44145
  109. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  110. package/lib/components/add-employer/add-employer.component.d.ts +50 -137
  111. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  112. package/lib/components/add-participant/add-participant.component.d.ts +5 -11
  113. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  114. package/lib/components/add-payment/add-payment.component.d.ts +3 -9
  115. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  116. package/lib/components/address/address.component.d.ts +15 -42
  117. package/lib/components/address/address.component.d.ts.map +1 -1
  118. package/lib/components/bank-details/bank-details.component.d.ts +23 -1
  119. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  120. package/lib/components/contact-us/contact-us.component.d.ts +4 -1
  121. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  122. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  123. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  124. package/lib/components/email-update/email-update.component.d.ts +12 -1
  125. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  126. package/lib/components/employer-grid/employer-grid.component.d.ts +14 -21
  127. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  128. package/lib/components/error/error.component.d.ts +2 -3
  129. package/lib/components/error/error.component.d.ts.map +1 -1
  130. package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
  131. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  132. package/lib/components/footer/footer.component.d.ts.map +1 -1
  133. package/lib/components/header/header.component.d.ts +5 -17
  134. package/lib/components/header/header.component.d.ts.map +1 -1
  135. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
  136. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  137. package/lib/components/job-title/job-title.component.d.ts +23 -22
  138. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  139. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +6 -5
  140. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  141. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  142. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  143. package/lib/components/menu/menu.component.d.ts +12 -3
  144. package/lib/components/menu/menu.component.d.ts.map +1 -1
  145. package/lib/components/mfa/mfa.component.d.ts +19 -7
  146. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  147. package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
  148. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  149. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  150. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  151. package/lib/components/money-expect/money-expect.component.d.ts +4 -15
  152. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  153. package/lib/components/profile/profile.component.d.ts +49 -83
  154. package/lib/components/profile/profile.component.d.ts.map +1 -1
  155. package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
  156. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  157. package/lib/components/questionnaire/AppValidators.d.ts +0 -1
  158. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  159. package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
  160. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  161. package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -7
  162. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  163. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
  164. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  165. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -31
  166. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  167. package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
  168. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  169. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
  170. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  171. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
  172. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  173. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  174. package/lib/components/questionnaire/question.service.d.ts +1 -0
  175. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  176. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
  177. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  178. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -10
  179. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  180. package/lib/components/search-employer/search-employer.component.d.ts +4 -5
  181. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  182. package/lib/components/security-question/security-question.component.d.ts +37 -0
  183. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  184. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
  185. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  186. package/lib/components/user-login/user-login.component.d.ts +38 -5
  187. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  188. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +10 -27
  189. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  190. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
  191. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  192. package/lib/guards/auth.guard.d.ts.map +1 -1
  193. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  194. package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
  195. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  196. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  197. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  198. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  199. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  200. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  201. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  202. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  203. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  204. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  205. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  206. package/lib/models/LibConstants.d.ts +1 -40
  207. package/lib/models/LibConstants.d.ts.map +1 -1
  208. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  209. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  210. package/lib/models/PaymentComponentModel.d.ts +1 -1
  211. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  212. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  213. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  214. package/lib/models/dashboard-model.d.ts +0 -16
  215. package/lib/models/dashboard-model.d.ts.map +1 -1
  216. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
  217. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  218. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -13
  219. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  220. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
  221. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  222. package/lib/models/questionnaire/ComboModel.d.ts +82 -14
  223. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  224. package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
  225. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  226. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
  227. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  228. package/lib/models/questionnaire/StatusModel.d.ts +0 -1
  229. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  230. package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
  231. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  232. package/lib/pages/BasePage.d.ts +6 -3
  233. package/lib/pages/BasePage.d.ts.map +1 -1
  234. package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
  235. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  236. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  237. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  238. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  239. package/lib/services/base-service.d.ts +0 -12
  240. package/lib/services/base-service.d.ts.map +1 -1
  241. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  242. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  243. package/lib/services/claimant-service/claimant.service.d.ts +6 -5
  244. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  245. package/lib/services/claims/claims.service.d.ts +5 -38
  246. package/lib/services/claims/claims.service.d.ts.map +1 -1
  247. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  248. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  249. package/lib/services/login/login.service.d.ts +3 -5
  250. package/lib/services/login/login.service.d.ts.map +1 -1
  251. package/lib/services/ovp/ovp.service.d.ts +17 -0
  252. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  253. package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
  254. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  255. package/lib/services/questionnaire/validation.service.d.ts +0 -3
  256. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  257. package/lib/services/security-service/security.service.d.ts +4 -12
  258. package/lib/services/security-service/security.service.d.ts.map +1 -1
  259. package/lib/services/util/util.service.d.ts +0 -6
  260. package/lib/services/util/util.service.d.ts.map +1 -1
  261. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
  262. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  263. package/lib/validations/AppRegex.d.ts +2 -0
  264. package/lib/validations/AppRegex.d.ts.map +1 -1
  265. package/lib/validations/AppValidators.d.ts +14 -20
  266. package/lib/validations/AppValidators.d.ts.map +1 -1
  267. package/package.json +2 -2
  268. package/public-api.d.ts +4 -46
  269. package/public-api.d.ts.map +1 -1
  270. package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
  271. package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
  272. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -281
  273. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
  274. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
  275. package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
  276. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
  277. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
  278. package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
  279. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
  280. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
  281. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
  282. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
  283. package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
  284. package/esm2022/lib/components/idme/idme.component.mjs +0 -84
  285. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
  286. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
  287. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
  288. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
  289. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
  290. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -510
  291. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
  292. package/esm2022/lib/components/sms/sms.component.mjs +0 -336
  293. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
  294. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
  295. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
  296. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
  297. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -804
  298. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
  299. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
  300. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
  301. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
  302. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
  303. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
  304. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -683
  305. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
  306. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
  307. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
  308. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
  309. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
  310. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
  311. package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
  312. package/esm2022/lib/models/CountyModel.mjs +0 -3
  313. package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
  314. package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
  315. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
  316. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
  317. package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
  318. package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
  319. package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
  320. package/esm2022/lib/models/HelpConstants.mjs +0 -5
  321. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
  322. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
  323. package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
  324. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
  325. package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
  326. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
  327. package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
  328. package/esm2022/lib/models/WageInfoModel.mjs +0 -4
  329. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
  330. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
  331. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
  332. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
  333. package/esm2022/lib/models/combo-model.mjs +0 -343
  334. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
  335. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
  336. package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
  337. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
  338. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
  339. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
  340. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
  341. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
  342. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
  343. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
  344. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
  345. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
  346. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
  347. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
  348. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
  349. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
  350. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
  351. package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
  352. package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
  353. package/esm2022/lib/services/employer/employer-service.mjs +0 -35
  354. package/esm2022/lib/services/event-service/event-service.mjs +0 -44
  355. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
  356. package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
  357. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
  358. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
  359. package/lib/components/add-wage/add-wage.component.d.ts +0 -30
  360. package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
  361. package/lib/components/address-popup/address-popup.component.d.ts +0 -16
  362. package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
  363. package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
  364. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
  365. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
  366. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
  367. package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
  368. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
  369. package/lib/components/claim-info/claim-info.component.d.ts +0 -49
  370. package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
  371. package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
  372. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
  373. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
  374. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
  375. package/lib/components/employer-info/employer-info.component.d.ts +0 -50
  376. package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
  377. package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
  378. package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
  379. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
  380. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
  381. package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
  382. package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
  383. package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
  384. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
  385. package/lib/components/history-page/history-page.component.d.ts +0 -80
  386. package/lib/components/history-page/history-page.component.d.ts.map +0 -1
  387. package/lib/components/idme/idme.component.d.ts +0 -19
  388. package/lib/components/idme/idme.component.d.ts.map +0 -1
  389. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
  390. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
  391. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
  392. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
  393. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
  394. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
  395. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
  396. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
  397. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
  398. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
  399. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
  400. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
  401. package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
  402. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
  403. package/lib/components/sms/sms.component.d.ts +0 -63
  404. package/lib/components/sms/sms.component.d.ts.map +0 -1
  405. package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
  406. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
  407. package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
  408. package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
  409. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
  410. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
  411. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
  412. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
  413. package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -99
  414. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
  415. package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
  416. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
  417. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
  418. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
  419. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
  420. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
  421. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
  422. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
  423. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
  424. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
  425. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
  426. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
  427. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -69
  428. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
  429. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
  430. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
  431. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
  432. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
  433. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
  434. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
  435. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
  436. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
  437. package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
  438. package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
  439. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
  440. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
  441. package/lib/models/ActiveClaimModel.d.ts +0 -8
  442. package/lib/models/ActiveClaimModel.d.ts.map +0 -1
  443. package/lib/models/CountyModel.d.ts +0 -8
  444. package/lib/models/CountyModel.d.ts.map +0 -1
  445. package/lib/models/DuaAppDataModel.d.ts +0 -5
  446. package/lib/models/DuaAppDataModel.d.ts.map +0 -1
  447. package/lib/models/DuaRequestModel.d.ts +0 -10
  448. package/lib/models/DuaRequestModel.d.ts.map +0 -1
  449. package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
  450. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
  451. package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
  452. package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
  453. package/lib/models/EmployerPayInfoModel.d.ts +0 -20
  454. package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
  455. package/lib/models/FarmUsageComponentModel.d.ts +0 -10
  456. package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
  457. package/lib/models/GrossEarningsModel.d.ts +0 -6
  458. package/lib/models/GrossEarningsModel.d.ts.map +0 -1
  459. package/lib/models/HelpConstants.d.ts +0 -5
  460. package/lib/models/HelpConstants.d.ts.map +0 -1
  461. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
  462. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
  463. package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
  464. package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
  465. package/lib/models/RetroWeeksModel.d.ts +0 -11
  466. package/lib/models/RetroWeeksModel.d.ts.map +0 -1
  467. package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
  468. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
  469. package/lib/models/SendOtpRequestModel.d.ts +0 -12
  470. package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
  471. package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
  472. package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
  473. package/lib/models/WageCalculatorModel.d.ts +0 -15
  474. package/lib/models/WageCalculatorModel.d.ts.map +0 -1
  475. package/lib/models/WageInfoModel.d.ts +0 -9
  476. package/lib/models/WageInfoModel.d.ts.map +0 -1
  477. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
  478. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
  479. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
  480. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
  481. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
  482. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
  483. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
  484. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
  485. package/lib/models/combo-model.d.ts +0 -42
  486. package/lib/models/combo-model.d.ts.map +0 -1
  487. package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
  488. package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
  489. package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
  490. package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
  491. package/lib/models/fileupload/FileObject.d.ts +0 -8
  492. package/lib/models/fileupload/FileObject.d.ts.map +0 -1
  493. package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
  494. package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
  495. package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
  496. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
  497. package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
  498. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
  499. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
  500. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
  501. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
  502. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
  503. package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
  504. package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
  505. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
  506. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
  507. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
  508. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
  509. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
  510. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
  511. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
  512. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
  513. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
  514. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
  515. package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
  516. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
  517. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
  518. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
  519. package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
  520. package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
  521. package/lib/services/appeal/appeal.service.d.ts +0 -16
  522. package/lib/services/appeal/appeal.service.d.ts.map +0 -1
  523. package/lib/services/birt-service/birt.service.d.ts +0 -17
  524. package/lib/services/birt-service/birt.service.d.ts.map +0 -1
  525. package/lib/services/employer/employer-service.d.ts +0 -16
  526. package/lib/services/employer/employer-service.d.ts.map +0 -1
  527. package/lib/services/event-service/event-service.d.ts +0 -20
  528. package/lib/services/event-service/event-service.d.ts.map +0 -1
  529. package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
  530. package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
  531. package/lib/services/weekly-cert/review.service.d.ts +0 -23
  532. package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
  533. package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
  534. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
  535. package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
  536. package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
@@ -1,510 +0,0 @@
1
- import { Component, EventEmitter, Output, ViewChildren, Input, ViewChild } from '@angular/core';
2
- import { NG_VALUE_ACCESSOR, Validators } from '@angular/forms';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@angular/forms";
5
- import * as i2 from "@ionic/angular";
6
- import * as i3 from "@angular/common";
7
- import * as i4 from "primeng/api";
8
- import * as i5 from "primeng/tooltip";
9
- import * as i6 from "primeng/table";
10
- import * as i7 from "primeng/card";
11
- import * as i8 from "@fortawesome/angular-fontawesome";
12
- import * as i9 from "primeng/dropdown";
13
- import * as i10 from "../overlay-info/overlay-info.component";
14
- const _c0 = ["uploadFileFormDirective"];
15
- const _c1 = ["fileInput"];
16
- function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_2_div_5_Template(rf, ctx) { if (rf & 1) {
17
- i0.ɵɵelementStart(0, "div", 11);
18
- i0.ɵɵelement(1, "app-overlay-info", 12);
19
- i0.ɵɵelementEnd();
20
- } if (rf & 2) {
21
- const ctx_r7 = i0.ɵɵnextContext(4);
22
- i0.ɵɵadvance(1);
23
- i0.ɵɵproperty("overlayText", ctx_r7.iconInfo);
24
- } }
25
- function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_2_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementStart(0, "tr")(1, "th");
27
- i0.ɵɵtext(2, "Document Name");
28
- i0.ɵɵelementEnd();
29
- i0.ɵɵelementStart(3, "th", 9);
30
- i0.ɵɵtext(4, " Document Type ");
31
- i0.ɵɵtemplate(5, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_2_div_5_Template, 2, 1, "div", 10);
32
- i0.ɵɵelementEnd();
33
- i0.ɵɵelement(6, "th");
34
- i0.ɵɵelementEnd();
35
- } if (rf & 2) {
36
- const ctx_r4 = i0.ɵɵnextContext(3);
37
- i0.ɵɵadvance(5);
38
- i0.ɵɵproperty("ngIf", ctx_r4.proofOfAnything);
39
- } }
40
- const _c2 = () => ({ "width": "90%" });
41
- const _c3 = a0 => ({ "ng-invalid": a0 });
42
- function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template(rf, ctx) { if (rf & 1) {
43
- const _r11 = i0.ɵɵgetCurrentView();
44
- i0.ɵɵelementContainerStart(0, 13);
45
- i0.ɵɵelementStart(1, "tr", 14)(2, "td");
46
- i0.ɵɵtext(3);
47
- i0.ɵɵelementEnd();
48
- i0.ɵɵelementStart(4, "td")(5, "p-dropdown", 15);
49
- i0.ɵɵlistener("ngModelChange", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template_p_dropdown_ngModelChange_5_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r11); const fileObjectQueue_r8 = restoredCtx.$implicit; return i0.ɵɵresetView(fileObjectQueue_r8.selectedDocumentType = $event); })("onChange", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template_p_dropdown_onChange_5_listener($event) { const restoredCtx = i0.ɵɵrestoreView(_r11); const fileObjectQueue_r8 = restoredCtx.$implicit; const ctx_r12 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r12.changeDocType(fileObjectQueue_r8, $event)); })("onClear", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template_p_dropdown_onClear_5_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const fileObjectQueue_r8 = restoredCtx.$implicit; const ctx_r13 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r13.clearDocType(fileObjectQueue_r8)); });
50
- i0.ɵɵelementEnd()();
51
- i0.ɵɵelementStart(6, "td", 16)(7, "ion-button", 17);
52
- i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template_ion_button_click_7_listener() { const restoredCtx = i0.ɵɵrestoreView(_r11); const fileObjectQueue_r8 = restoredCtx.$implicit; const ctx_r14 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r14.removeFromQueue(fileObjectQueue_r8)); });
53
- i0.ɵɵelement(8, "ion-icon", 18);
54
- i0.ɵɵelementEnd()()();
55
- i0.ɵɵelementContainerEnd();
56
- } if (rf & 2) {
57
- const fileObjectQueue_r8 = ctx.$implicit;
58
- const rowIndex_r9 = ctx.rowIndex;
59
- const ctx_r5 = i0.ɵɵnextContext(3);
60
- let tmp_6_0;
61
- i0.ɵɵadvance(1);
62
- i0.ɵɵproperty("formGroupName", rowIndex_r9);
63
- i0.ɵɵadvance(2);
64
- i0.ɵɵtextInterpolate(fileObjectQueue_r8 == null ? null : fileObjectQueue_r8.fileName);
65
- i0.ɵɵadvance(2);
66
- i0.ɵɵstyleMap(i0.ɵɵpureFunction0(8, _c2));
67
- i0.ɵɵproperty("options", ctx_r5.docTypeDropdown)("ngModel", fileObjectQueue_r8.selectedDocumentType)("showClear", true)("ngClass", i0.ɵɵpureFunction1(9, _c3, (tmp_6_0 = ctx_r5.tableRows.controls[rowIndex_r9].get("docType")) == null ? null : tmp_6_0.invalid));
68
- } }
69
- const _c4 = () => ["fal", "plus"];
70
- function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_td_1_Template(rf, ctx) { if (rf & 1) {
71
- const _r20 = i0.ɵɵgetCurrentView();
72
- i0.ɵɵelementStart(0, "td", 20)(1, "div", 21)(2, "b");
73
- i0.ɵɵtext(3, "+ Add");
74
- i0.ɵɵelementEnd();
75
- i0.ɵɵtext(4, " document");
76
- i0.ɵɵelementEnd();
77
- i0.ɵɵelementStart(5, "input", 22, 23);
78
- i0.ɵɵlistener("change", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_td_1_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r19.addToQueue($event)); });
79
- i0.ɵɵelementEnd();
80
- i0.ɵɵelementStart(7, "ion-button", 24);
81
- i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_td_1_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r20); const _r18 = i0.ɵɵreference(6); return i0.ɵɵresetView(_r18.click()); });
82
- i0.ɵɵelement(8, "fa-icon", 25);
83
- i0.ɵɵelementEnd()();
84
- } if (rf & 2) {
85
- const ctx_r16 = i0.ɵɵnextContext(5);
86
- i0.ɵɵadvance(5);
87
- i0.ɵɵproperty("accept", ctx_r16.allowedFileType);
88
- i0.ɵɵadvance(3);
89
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(2, _c4));
90
- } }
91
- function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_td_2_Template(rf, ctx) { if (rf & 1) {
92
- const _r24 = i0.ɵɵgetCurrentView();
93
- i0.ɵɵelementStart(0, "td", 20)(1, "div", 21)(2, "b");
94
- i0.ɵɵtext(3, "+ Add");
95
- i0.ɵɵelementEnd();
96
- i0.ɵɵtext(4, " any other document");
97
- i0.ɵɵelementEnd();
98
- i0.ɵɵelementStart(5, "input", 22, 23);
99
- i0.ɵɵlistener("change", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_td_2_Template_input_change_5_listener($event) { i0.ɵɵrestoreView(_r24); const ctx_r23 = i0.ɵɵnextContext(5); return i0.ɵɵresetView(ctx_r23.addToQueue($event)); });
100
- i0.ɵɵelementEnd();
101
- i0.ɵɵelementStart(7, "ion-button", 24);
102
- i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_td_2_Template_ion_button_click_7_listener() { i0.ɵɵrestoreView(_r24); const _r22 = i0.ɵɵreference(6); return i0.ɵɵresetView(_r22.click()); });
103
- i0.ɵɵelement(8, "fa-icon", 25);
104
- i0.ɵɵelementEnd()();
105
- } if (rf & 2) {
106
- const ctx_r17 = i0.ɵɵnextContext(5);
107
- i0.ɵɵadvance(5);
108
- i0.ɵɵproperty("accept", ctx_r17.allowedFileType);
109
- i0.ɵɵadvance(3);
110
- i0.ɵɵproperty("icon", i0.ɵɵpureFunction0(2, _c4));
111
- } }
112
- function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_Template(rf, ctx) { if (rf & 1) {
113
- i0.ɵɵelementStart(0, "tr");
114
- i0.ɵɵtemplate(1, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_td_1_Template, 9, 3, "td", 19)(2, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_td_2_Template, 9, 3, "td", 19);
115
- i0.ɵɵelement(3, "td")(4, "td");
116
- i0.ɵɵelementEnd();
117
- } if (rf & 2) {
118
- const ctx_r15 = i0.ɵɵnextContext(4);
119
- i0.ɵɵadvance(1);
120
- i0.ɵɵproperty("ngIf", ctx_r15.fileObjectQueue.length == 0);
121
- i0.ɵɵadvance(1);
122
- i0.ɵɵproperty("ngIf", ctx_r15.fileObjectQueue.length > 0);
123
- } }
124
- function ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_Template(rf, ctx) { if (rf & 1) {
125
- i0.ɵɵtemplate(0, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_tr_0_Template, 5, 2, "tr", 4);
126
- } if (rf & 2) {
127
- const ctx_r6 = i0.ɵɵnextContext(3);
128
- i0.ɵɵproperty("ngIf", ctx_r6.proofOfAnything);
129
- } }
130
- function ProofOfDocumentUploadComponent_form_0_section_2_Template(rf, ctx) { if (rf & 1) {
131
- i0.ɵɵelementStart(0, "section")(1, "p-table", 5);
132
- i0.ɵɵtemplate(2, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_2_Template, 7, 1, "ng-template", 6)(3, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_3_Template, 9, 11, "ng-template", 7)(4, ProofOfDocumentUploadComponent_form_0_section_2_ng_template_4_Template, 1, 1, "ng-template", 8);
133
- i0.ɵɵelementEnd()();
134
- } if (rf & 2) {
135
- const ctx_r3 = i0.ɵɵnextContext(2);
136
- i0.ɵɵadvance(1);
137
- i0.ɵɵproperty("value", ctx_r3.fileObjectQueue)("loading", ctx_r3.showProgress);
138
- } }
139
- function ProofOfDocumentUploadComponent_form_0_Template(rf, ctx) { if (rf & 1) {
140
- i0.ɵɵelementStart(0, "form", 2, 3);
141
- i0.ɵɵtemplate(2, ProofOfDocumentUploadComponent_form_0_section_2_Template, 5, 2, "section", 4);
142
- i0.ɵɵelementEnd();
143
- } if (rf & 2) {
144
- const ctx_r0 = i0.ɵɵnextContext();
145
- i0.ɵɵproperty("formGroup", ctx_r0.formArray);
146
- i0.ɵɵadvance(2);
147
- i0.ɵɵproperty("ngIf", ctx_r0.context != "signature" && ctx_r0.context != "uploadZipCodes");
148
- } }
149
- function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template(rf, ctx) { if (rf & 1) {
150
- const _r40 = i0.ɵɵgetCurrentView();
151
- i0.ɵɵelementStart(0, "div", 35);
152
- i0.ɵɵelement(1, "i", 36);
153
- i0.ɵɵelementStart(2, "input", 37, 23);
154
- i0.ɵɵlistener("change", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template_input_change_2_listener($event) { i0.ɵɵrestoreView(_r40); const employer_r27 = i0.ɵɵnextContext(2).$implicit; const ctx_r38 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r38.addFileToEmployerData($event, employer_r27)); });
155
- i0.ɵɵelementEnd();
156
- i0.ɵɵelementStart(4, "ion-button", 38);
157
- i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template_ion_button_click_4_listener() { i0.ɵɵrestoreView(_r40); const _r37 = i0.ɵɵreference(3); return i0.ɵɵresetView(_r37.click()); });
158
- i0.ɵɵtext(5, " Upload ");
159
- i0.ɵɵelementEnd()();
160
- } if (rf & 2) {
161
- const ctx_r35 = i0.ɵɵnextContext(4);
162
- i0.ɵɵadvance(2);
163
- i0.ɵɵproperty("accept", ctx_r35.allowedFileType);
164
- } }
165
- function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_7_Template(rf, ctx) { if (rf & 1) {
166
- const _r44 = i0.ɵɵgetCurrentView();
167
- i0.ɵɵelementStart(0, "div")(1, "div", 39)(2, "div", 40)(3, "span");
168
- i0.ɵɵelement(4, "i", 41);
169
- i0.ɵɵtext(5);
170
- i0.ɵɵelementEnd();
171
- i0.ɵɵelementStart(6, "ion-button", 42);
172
- i0.ɵɵlistener("click", function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_7_Template_ion_button_click_6_listener() { i0.ɵɵrestoreView(_r44); const employer_r27 = i0.ɵɵnextContext(2).$implicit; const ctx_r42 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r42.removeFileFromEmployerData(employer_r27)); });
173
- i0.ɵɵelement(7, "ion-icon", 18);
174
- i0.ɵɵelementEnd()()()();
175
- } if (rf & 2) {
176
- const employer_r27 = i0.ɵɵnextContext(2).$implicit;
177
- i0.ɵɵadvance(5);
178
- i0.ɵɵtextInterpolate1("", employer_r27.file.fileName, " ");
179
- } }
180
- function ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_Template(rf, ctx) { if (rf & 1) {
181
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 31)(2, "h4", 32);
182
- i0.ɵɵtext(3);
183
- i0.ɵɵelementEnd();
184
- i0.ɵɵelement(4, "app-overlay-info", 12);
185
- i0.ɵɵelementEnd()();
186
- i0.ɵɵelementStart(5, "div", 33);
187
- i0.ɵɵtemplate(6, ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_6_Template, 6, 1, "div", 34)(7, ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_div_7_Template, 8, 1, "div", 4);
188
- i0.ɵɵelementEnd();
189
- } if (rf & 2) {
190
- const employer_r27 = i0.ɵɵnextContext().$implicit;
191
- const ctx_r29 = i0.ɵɵnextContext(2);
192
- i0.ɵɵadvance(3);
193
- i0.ɵɵtextInterpolate(employer_r27.employerName);
194
- i0.ɵɵadvance(1);
195
- i0.ɵɵproperty("overlayText", ctx_r29.iconInfo);
196
- i0.ɵɵadvance(2);
197
- i0.ɵɵproperty("ngIf", !employer_r27.file);
198
- i0.ɵɵadvance(1);
199
- i0.ɵɵproperty("ngIf", employer_r27.file);
200
- } }
201
- function ProofOfDocumentUploadComponent_ul_1_li_1_Template(rf, ctx) { if (rf & 1) {
202
- i0.ɵɵelementStart(0, "li", 28)(1, "p-card", 29);
203
- i0.ɵɵtemplate(2, ProofOfDocumentUploadComponent_ul_1_li_1_ng_template_2_Template, 8, 4, "ng-template", 30);
204
- i0.ɵɵelementEnd()();
205
- } }
206
- function ProofOfDocumentUploadComponent_ul_1_Template(rf, ctx) { if (rf & 1) {
207
- i0.ɵɵelementStart(0, "ul", 26);
208
- i0.ɵɵtemplate(1, ProofOfDocumentUploadComponent_ul_1_li_1_Template, 3, 0, "li", 27);
209
- i0.ɵɵelementEnd();
210
- } if (rf & 2) {
211
- const ctx_r1 = i0.ɵɵnextContext();
212
- i0.ɵɵadvance(1);
213
- i0.ɵɵproperty("ngForOf", ctx_r1.employerDataModel);
214
- } }
215
- export class ProofOfDocumentUploadComponent {
216
- constructor(formBuilder, toastController) {
217
- this.formBuilder = formBuilder;
218
- this.toastController = toastController;
219
- this.showProgress = false;
220
- this.upload = new EventEmitter();
221
- this.files = new EventEmitter();
222
- this.uploadEmployerFile = new EventEmitter();
223
- this.docForm = new EventEmitter();
224
- this.queue = [];
225
- this.fileObjectQueue = [];
226
- this.mapOfFiles = new Map();
227
- this.multiple = false;
228
- this.proofOfAnything = false;
229
- this.showSeparateAttachButton = false;
230
- this.docUploadModel = null;
231
- this.selectedDocumentType = null;
232
- this.expandedRows = {};
233
- this.onChange = () => {
234
- };
235
- }
236
- get uploadFileCtrl() {
237
- return this.uploadFileForm.controls['uploadFileCtrl'];
238
- }
239
- ngOnInit() {
240
- this.formArray = this.formBuilder.group({
241
- tableRowArray: this.formBuilder.array([])
242
- });
243
- this.docForm.emit(this.formArray);
244
- this.docTypeDropdown = this.docType.map((i) => ({
245
- label: i.docDescription,
246
- value: i,
247
- disabled: false
248
- }));
249
- this.fileTypes = this.allowedFileType.split(',');
250
- }
251
- writeValue() {
252
- }
253
- registerOnChange(fn) {
254
- this.onChange = fn;
255
- }
256
- registerOnTouched() {
257
- }
258
- ngOnChanges() {
259
- }
260
- get tableRows() {
261
- return this.formArray.get('tableRowArray');
262
- }
263
- checkFileType(file, approvedFileType) {
264
- for (let type of approvedFileType) {
265
- if (file.type === type) {
266
- return true;
267
- }
268
- }
269
- return false;
270
- }
271
- async addToQueue(event) {
272
- let curUpldFileLen = event.target.files.length;
273
- let preUpldFileLen = this.fileObjectQueue.length;
274
- console.log('curUpldFileLen = ', curUpldFileLen);
275
- console.log('preUpldFileLen = ', preUpldFileLen);
276
- console.log('this.docUploadModel.totalDocs == ', this.docUploadModel.totalDocs);
277
- if (this.docUploadModel.totalDocs !== null && (curUpldFileLen + preUpldFileLen) > this.docUploadModel.totalDocs) {
278
- this.error("You can not upload more than " + this.docUploadModel.totalDocs + " file(s).");
279
- return;
280
- }
281
- this.showProgress = true;
282
- for (var i = 0; i < event.target.files.length; i++) {
283
- const file = event.target.files[i];
284
- let encoded;
285
- console.log('size = ', this.getSizeInMB(file?.size));
286
- if (this.fileObjectQueue.some(e => e.fileName === file.name)) {
287
- this.error('Document with the same file name already exists.');
288
- this.showProgress = false;
289
- return;
290
- }
291
- if (this.docUploadModel.size !== null && this.getSizeInMB(file?.size) > this.docUploadModel.size) {
292
- this.error('File size can not be more than ' + this.docUploadModel.size + ' MB.');
293
- this.showProgress = false;
294
- return;
295
- }
296
- if (!this.checkFileType(file, this.fileTypes)) {
297
- this.error('File type not allowed');
298
- this.showProgress = false;
299
- return;
300
- }
301
- if (file) {
302
- encoded = await toBase64(file);
303
- }
304
- const fileObject = new FileObject(this.selectedDocumentType?.docType, this.selectedDocumentType?.docDescription, file.name, file.type, encoded);
305
- var uploadFileForm = this.formBuilder.group({
306
- 'docType': [null, Validators.required]
307
- });
308
- this.tableRows.push(uploadFileForm);
309
- this.fileObjectQueue.push(fileObject);
310
- this.upload.emit(this.fileObjectQueue);
311
- }
312
- event.target.value = '';
313
- this.showProgress = false;
314
- }
315
- async addFileToEmployerData(event, employer) {
316
- for (var i = 0; i < event.target.files.length; i++) {
317
- const file = event.target.files[i];
318
- let encoded;
319
- if (this.docUploadModel.size !== null && this.getSizeInMB(file?.size) > this.docUploadModel.size) {
320
- this.error('File size can not be more than ' + this.docUploadModel.size + ' MB.');
321
- this.showProgress = false;
322
- return;
323
- }
324
- if (!this.checkFileType(file, this.fileTypes)) {
325
- this.error('File type not allowed');
326
- this.showProgress = false;
327
- return;
328
- }
329
- if (file) {
330
- encoded = await toBase64(file);
331
- }
332
- const fileObject = new FileObject(this.selectedDocumentType?.docType, this.selectedDocumentType?.docDescription, file.name, file.type, encoded, employer.recordId, employer.employerName);
333
- employer.file = fileObject;
334
- this.uploadEmployerFile.emit(this.employerDataModel);
335
- }
336
- event.target.value = '';
337
- this.showProgress = false;
338
- }
339
- removeFileFromEmployerData(employer) {
340
- employer.file = null;
341
- this.uploadEmployerFile.emit(this.employerDataModel);
342
- }
343
- removeFromQueue(fileToRemove) {
344
- let index;
345
- for (var i = 0; i < this.fileObjectQueue.length; i++) {
346
- if (this.fileObjectQueue[i].fileName === fileToRemove.fileName) {
347
- index = i;
348
- }
349
- }
350
- for (var i = 0; i < this.docTypeDropdown.length; i++) {
351
- if (this.docTypeDropdown[i].value.docType === fileToRemove.docType) {
352
- this.docTypeDropdown[i].disabled = false;
353
- }
354
- }
355
- this.showProgress = true;
356
- this.fileObjectQueue.splice(index, 1);
357
- this.tableRows.removeAt(index);
358
- this.mapOfFiles.delete(fileToRemove);
359
- this.showProgress = false;
360
- this.upload.emit(Array.from(this.mapOfFiles.values()));
361
- this.files.emit(this.mapOfFiles);
362
- }
363
- changeDocType(file, event) {
364
- console.log("166 changeDocType");
365
- if (event.value === null) {
366
- return;
367
- }
368
- let index;
369
- let prevSelectedDoc;
370
- for (var i = 0; i < this.fileObjectQueue.length; i++) {
371
- if (this.fileObjectQueue[i].fileName === file.fileName) {
372
- index = i;
373
- prevSelectedDoc = this.fileObjectQueue[index].docType;
374
- }
375
- }
376
- this.fileObjectQueue[index].docType = event.value.docType;
377
- this.fileObjectQueue[index].name = event.value.docDescription;
378
- for (var i = 0; i < this.docTypeDropdown.length; i++) {
379
- if (event.value.docType === this.docTypeDropdown[i].value.docType) {
380
- this.docTypeDropdown[i].disabled = true;
381
- }
382
- else if (this.docTypeDropdown[i].value.docType === prevSelectedDoc) {
383
- this.docTypeDropdown[i].disabled = false;
384
- }
385
- }
386
- }
387
- clearDocType(file) {
388
- let index;
389
- let prevSelectedDoc;
390
- for (var i = 0; i < this.fileObjectQueue.length; i++) {
391
- if (this.fileObjectQueue[i].fileName === file.fileName) {
392
- index = i;
393
- prevSelectedDoc = this.fileObjectQueue[index].docType;
394
- }
395
- }
396
- this.fileObjectQueue[index].docType = null;
397
- this.fileObjectQueue[index].name = null;
398
- for (var i = 0; i < this.docTypeDropdown.length; i++) {
399
- if (this.docTypeDropdown[i].value.docType === prevSelectedDoc) {
400
- this.docTypeDropdown[i].disabled = false;
401
- }
402
- }
403
- }
404
- updateQueueWithType(fileObject) {
405
- console.log("166 updateQueueWithType");
406
- for (var i = 0; i < this.fileObjectQueue.length; i++) {
407
- if (this.fileObjectQueue[i].fileName === fileObject.fileName) {
408
- this.fileObjectQueue[i].docType = this.selectedDocumentType.docType;
409
- }
410
- }
411
- }
412
- async presentToast(msg, color) {
413
- const toast = await this.toastController.create({
414
- message: msg,
415
- duration: 5000,
416
- color: color,
417
- position: 'bottom'
418
- });
419
- toast.present();
420
- }
421
- success(msg) {
422
- this.presentToast(msg, 'primary');
423
- }
424
- error(msg) {
425
- this.presentToast(msg, 'danger');
426
- }
427
- getSizeInMB(num) {
428
- return num / 1024 / 1024;
429
- }
430
- static { this.ɵfac = function ProofOfDocumentUploadComponent_Factory(t) { return new (t || ProofOfDocumentUploadComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.ToastController)); }; }
431
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ProofOfDocumentUploadComponent, selectors: [["app-proof-of-document-upload"]], viewQuery: function ProofOfDocumentUploadComponent_Query(rf, ctx) { if (rf & 1) {
432
- i0.ɵɵviewQuery(_c0, 5);
433
- i0.ɵɵviewQuery(_c1, 5);
434
- } if (rf & 2) {
435
- let _t;
436
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.uploadFileFormDirective = _t.first);
437
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.fileInput = _t);
438
- } }, inputs: { allowedFileType: "allowedFileType", multiple: "multiple", proofOfAnything: "proofOfAnything", context: "context", showSeparateAttachButton: "showSeparateAttachButton", docUploadModel: "docUploadModel", selectedDocumentType: "selectedDocumentType", docType: "docType", iconInfo: "iconInfo", employerDataModel: "employerDataModel" }, outputs: { upload: "upload", files: "files", uploadEmployerFile: "uploadEmployerFile", docForm: "docForm" }, features: [i0.ɵɵProvidersFeature([{
439
- provide: NG_VALUE_ACCESSOR,
440
- useExisting: ProofOfDocumentUploadComponent,
441
- multi: true
442
- }]), i0.ɵɵNgOnChangesFeature], decls: 2, vars: 2, consts: [[3, "formGroup", 4, "ngIf"], ["class", "no-bullets gap-3", 4, "ngIf"], [3, "formGroup"], ["uploadFileFormDirective", "ngForm"], [4, "ngIf"], ["dataKey", "fileName", "responsiveLayout", "scroll", 3, "value", "loading"], ["pTemplate", "header"], ["pTemplate", "body"], ["pTemplate", "footer"], [1, "flex", "flex-row", "align-items-center"], ["class", "pl-1", 4, "ngIf"], [1, "pl-1"], [2, "margin-top", "2px", "margin-left", "6px", 3, "overlayText"], ["formArrayName", "tableRowArray"], [3, "formGroupName"], ["formControlName", "docType", "optionLabel", "label", "optionValue", "value", "placeholder", "Select a Document Type", "appendTo", "body", 1, "ng-invalid", "ng-dirty", 3, "options", "ngModel", "showClear", "ngClass", "ngModelChange", "onChange", "onClear"], [1, "ion-text-right", 2, "padding-right", "unset"], ["shape", "round", "fill", "outline", "size", "small", "pTooltip", "Remove", "tooltipPosition", "bottom", 1, "ion-padding-left", 3, "click"], ["name", "trash-outline"], ["class", "file-input-container flex flex-row align-items-center", 4, "ngIf"], [1, "file-input-container", "flex", "flex-row", "align-items-center"], [1, "pr-1"], ["type", "file", 3, "accept", "change"], ["fileInput", ""], ["aria-label", "Add Files", "fill", "outline", "size", "small", 1, "action-button", 3, "click"], [1, "action-icon", 3, "icon"], [1, "no-bullets", "gap-3"], ["class", "pb-3", 4, "ngFor", "ngForOf"], [1, "pb-3"], [1, "pb-2", "gap-3"], ["class", "p-3", "pTemplate", "content"], [1, "flex", "flex-row", "align-items-center", "gap-1"], ["stlye", "margin: 0", 1, "m-0"], [1, "flex", "align-items-center", "justify-content-center", "flex-column", "border-2", "border-dashed", "border-400", "rounded-sm", "p-2"], ["class", "flex align-items-center justify-content-center flex-column", 4, "ngIf"], [1, "flex", "align-items-center", "justify-content-center", "flex-column"], [1, "pi", "pi-upload", "border-2", "border-circle", "p-2", "m-2", "text-xl", "text-400"], ["id", "employerWorkSearchFileInput", "type", "file", 2, "display", "none", 3, "accept", "change"], ["aria-label", "Add Files", "fill", "outline", "size", "small", 1, "action-button", 2, "float", "inline-end", 3, "click"], [1, "flex", "align-items-center", "justify-content-center", "flex-column", "p-0", "sm:p-2", "gap-5"], [1, "card", "m-0", "px-6", "flex", "align-items-center", "justify-content-center", "flex-column", "gap-2"], [1, "pi", "pi-file", 2, "color", "#4478AA"], ["aria-label", "Remove Files", "fill", "outline", "size", "small", "pTooltip", "Remove", "tooltipPosition", "bottom", 1, "ion-padding-left", 2, "float", "inline-end", 3, "click"]], template: function ProofOfDocumentUploadComponent_Template(rf, ctx) { if (rf & 1) {
443
- i0.ɵɵtemplate(0, ProofOfDocumentUploadComponent_form_0_Template, 3, 2, "form", 0)(1, ProofOfDocumentUploadComponent_ul_1_Template, 2, 1, "ul", 1);
444
- } if (rf & 2) {
445
- i0.ɵɵproperty("ngIf", !ctx.employerDataModel);
446
- i0.ɵɵadvance(1);
447
- i0.ɵɵproperty("ngIf", ctx.employerDataModel);
448
- } }, dependencies: [i2.IonButton, i2.IonCol, i2.IonIcon, i2.IonRow, i3.NgClass, i3.NgForOf, i3.NgIf, i4.PrimeTemplate, i5.Tooltip, i1.ɵNgNoValidate, i1.NgControlStatus, i1.NgControlStatusGroup, i1.FormGroupDirective, i1.FormControlName, i1.FormGroupName, i1.FormArrayName, i6.Table, i7.Card, i8.FaIconComponent, i9.Dropdown, i10.OverlayInfoComponent], styles: [".file-input-container[_ngcontent-%COMP%]{text-align:right}.file-input-container[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{display:none}.file-input-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{border:1px solid #ccc;padding:6px 12px;cursor:pointer}.upload-input-container[_ngcontent-%COMP%] input[type=file][_ngcontent-%COMP%]{display:none}.upload-input-container[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{border:1px solid #ccc;cursor:pointer}[_nghost-%COMP%] .p-datatable .p-datatable-thead>tr>th{background:#fff!important;background-color:#fff!important}ol[_ngcontent-%COMP%], ul[_ngcontent-%COMP%]{list-style:none}ul[_ngcontent-%COMP%]{list-style-type:square}li[_ngcontent-%COMP%]{color:var(--ion-color-grey)}.ng-invalid[_ngcontent-%COMP%]{border-color:#f44336}.seperate-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:not(:first-child):not(:last-child){border-left:none;border-right:none}.seperate-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:first-child{border-right:none}.seperate-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]:last-child{border-left:none;padding:1rem .55rem;padding-right:20px}.seperate-row[_ngcontent-%COMP%] td[_ngcontent-%COMP%]{border:1px solid #e4e4e4;font-family:\"Open Sans, Light\";font-size:26px;padding:1rem .55rem}.no-bullets[_ngcontent-%COMP%]{list-style-type:none;padding-left:0}[_nghost-%COMP%] .remove-header .p-fileupload-buttonbar{display:none}[_nghost-%COMP%] .remove-header .p-fileupload-content{border-top-right-radius:4px;border-top-left-radius:4px;padding:1rem}[_nghost-%COMP%] .p-card .p-card-body .p-card-content{padding:1rem!important}.border-400[_ngcontent-%COMP%]{border-color:#4478aa!important;border-radius:6px}"] }); }
449
- }
450
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ProofOfDocumentUploadComponent, [{
451
- type: Component,
452
- args: [{ selector: 'app-proof-of-document-upload', providers: [{
453
- provide: NG_VALUE_ACCESSOR,
454
- useExisting: ProofOfDocumentUploadComponent,
455
- multi: true
456
- }], template: "<form [formGroup]=\"formArray\" #uploadFileFormDirective=\"ngForm\" *ngIf=\"!employerDataModel\">\r\n <section *ngIf=\"this.context != 'signature' && this.context !='uploadZipCodes'\">\r\n <p-table dataKey=\"fileName\" [value]=\"fileObjectQueue\" responsiveLayout=\"scroll\" [loading]=\"showProgress\">\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th>Document Name</th>\r\n <th class=\"flex flex-row align-items-center\">\r\n Document Type\r\n <div *ngIf=\"proofOfAnything\" class=\"pl-1\">\r\n <app-overlay-info [overlayText]=\"iconInfo\"\r\n style=\"margin-top: 2px; margin-left: 6px; \"></app-overlay-info>\r\n </div>\r\n </th>\r\n <th></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-fileObjectQueue let-rowIndex=\"rowIndex\">\r\n <ng-container formArrayName=\"tableRowArray\">\r\n <tr [formGroupName]=\"rowIndex\">\r\n <td>{{ fileObjectQueue?.fileName }}</td>\r\n <td>\r\n <p-dropdown [options]=\"docTypeDropdown\" formControlName=\"docType\" [(ngModel)]=\"fileObjectQueue.selectedDocumentType\" \r\n (onChange)=\"changeDocType(fileObjectQueue,$event)\" \r\n optionLabel=\"label\" optionValue=\"value\" placeholder=\"Select a Document Type\" appendTo=body\r\n [style]=\"{'width':'90%'}\"\r\n class=\"ng-invalid ng-dirty\"\r\n [showClear]=\"true\"\r\n (onClear)=\"clearDocType(fileObjectQueue)\"\r\n [ngClass]=\"{'ng-invalid':tableRows.controls[rowIndex].get('docType')?.invalid}\"/>\r\n </td>\r\n <td class=\"ion-text-right\" style=\"padding-right: unset\">\r\n <ion-button shape=\"round\" fill=\"outline\" size=\"small\" pTooltip=\"Remove\" (click)=\"removeFromQueue(fileObjectQueue)\"\r\n tooltipPosition=\"bottom\" class=\"ion-padding-left\">\r\n <ion-icon name=\"trash-outline\"></ion-icon>\r\n </ion-button>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n \r\n </ng-template>\r\n <ng-template pTemplate=\"footer\"> \r\n <tr *ngIf=\"proofOfAnything\">\r\n <td *ngIf=\"fileObjectQueue.length == 0\" class=\"file-input-container flex flex-row align-items-center\">\r\n <div class=\"pr-1\"><b>+ Add</b> document</div >\r\n <input type=\"file\" #fileInput [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button aria-label=\"Add Files\" (click)=\"fileInput.click()\" fill=\"outline\" size=\"small\" class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td *ngIf=\"fileObjectQueue.length > 0\" class=\"file-input-container flex flex-row align-items-center\">\r\n <div class=\"pr-1\"><b>+ Add</b> any other document</div >\r\n <input type=\"file\" #fileInput [accept]=\"allowedFileType\"\r\n (change)=\"addToQueue($event)\" />\r\n <ion-button aria-label=\"Add Files\" (click)=\"fileInput.click()\" fill=\"outline\" size=\"small\" class=\"action-button\">\r\n <fa-icon [icon]=\"['fal', 'plus']\" class=\"action-icon\"></fa-icon>\r\n </ion-button>\r\n </td>\r\n <td></td>\r\n <td >\r\n \r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </section>\r\n </form>\r\n <ul *ngIf=\"employerDataModel\" class=\"no-bullets gap-3\">\r\n <li class=\"pb-3\" *ngFor=\"let employer of employerDataModel; let i = index\">\r\n <p-card class=\"pb-2 gap-3\">\r\n <ng-template class=\"p-3\" pTemplate=\"content\" let-files let-uploadedFiles=\"uploadedFiles\" let-removeFileCallback=\"removeFileCallback\" let-removeUploadedFileCallback=\"removeUploadedFileCallback\" let-chooseCallback=\"chooseCallback\">\r\n \r\n <ion-row>\r\n <ion-col class=\"flex flex-row align-items-center gap-1\">\r\n <h4 class=\"m-0\" stlye=\"margin: 0\">{{employer.employerName}}</h4>\r\n <app-overlay-info [overlayText]=\"iconInfo\"\r\n style=\"margin-top: 2px; margin-left: 6px;\"></app-overlay-info>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"flex align-items-center justify-content-center flex-column border-2 border-dashed border-400 rounded-sm p-2\">\r\n <div *ngIf=\"!employer.file\" class=\"flex align-items-center justify-content-center flex-column\">\r\n <i class=\"pi pi-upload border-2 border-circle p-2 m-2 text-xl text-400\"></i>\r\n <input id=\"employerWorkSearchFileInput\" type=\"file\" #fileInput [accept]=\"allowedFileType\"\r\n (change)=\"addFileToEmployerData($event,employer)\" style=\"display: none\" />\r\n <ion-button aria-label=\"Add Files\" (click)=\"fileInput.click()\" fill=\"outline\" size=\"small\" class=\"action-button\" style=\"float:inline-end\">\r\n Upload\r\n </ion-button>\r\n </div>\r\n <div *ngIf=\"employer.file\">\r\n\r\n <div class=\"flex align-items-center justify-content-center flex-column p-0 sm:p-2 gap-5\">\r\n <div\r\n class=\"card m-0 px-6 flex align-items-center justify-content-center flex-column gap-2\"\r\n > \r\n <span>\r\n <i class=\"pi pi-file\" style=\"color: #4478AA\"></i>{{ employer.file.fileName }}\r\n </span>\r\n <ion-button aria-label=\"Remove Files\" fill=\"outline\" size=\"small\" pTooltip=\"Remove\" (click)=\"removeFileFromEmployerData(employer)\"\r\n tooltipPosition=\"bottom\" class=\"ion-padding-left\" style=\"float: inline-end\">\r\n <ion-icon name=\"trash-outline\"></ion-icon>\r\n </ion-button>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n\r\n \r\n </ng-template>\r\n </p-card>\r\n </li>\r\n </ul>", styles: [".file-input-container{text-align:right}.file-input-container input[type=file]{display:none}.file-input-container label{border:1px solid #ccc;padding:6px 12px;cursor:pointer}.upload-input-container input[type=file]{display:none}.upload-input-container label{border:1px solid #ccc;cursor:pointer}:host ::ng-deep .p-datatable .p-datatable-thead>tr>th{background:#fff!important;background-color:#fff!important}ol,ul{list-style:none}ul{list-style-type:square}li{color:var(--ion-color-grey)}.ng-invalid{border-color:#f44336}.seperate-row td:not(:first-child):not(:last-child){border-left:none;border-right:none}.seperate-row td:first-child{border-right:none}.seperate-row td:last-child{border-left:none;padding:1rem .55rem;padding-right:20px}.seperate-row td{border:1px solid #e4e4e4;font-family:\"Open Sans, Light\";font-size:26px;padding:1rem .55rem}.no-bullets{list-style-type:none;padding-left:0}:host ::ng-deep .remove-header .p-fileupload-buttonbar{display:none}:host ::ng-deep .remove-header .p-fileupload-content{border-top-right-radius:4px;border-top-left-radius:4px;padding:1rem}:host ::ng-deep .p-card .p-card-body .p-card-content{padding:1rem!important}.border-400{border-color:#4478aa!important;border-radius:6px}\n"] }]
457
- }], () => [{ type: i1.UntypedFormBuilder }, { type: i2.ToastController }], { uploadFileFormDirective: [{
458
- type: ViewChild,
459
- args: ['uploadFileFormDirective', { static: false }]
460
- }], upload: [{
461
- type: Output
462
- }], files: [{
463
- type: Output
464
- }], uploadEmployerFile: [{
465
- type: Output
466
- }], docForm: [{
467
- type: Output
468
- }], fileInput: [{
469
- type: ViewChildren,
470
- args: ['fileInput']
471
- }], allowedFileType: [{
472
- type: Input
473
- }], multiple: [{
474
- type: Input
475
- }], proofOfAnything: [{
476
- type: Input
477
- }], context: [{
478
- type: Input
479
- }], showSeparateAttachButton: [{
480
- type: Input
481
- }], docUploadModel: [{
482
- type: Input
483
- }], selectedDocumentType: [{
484
- type: Input
485
- }], docType: [{
486
- type: Input
487
- }], iconInfo: [{
488
- type: Input
489
- }], employerDataModel: [{
490
- type: Input
491
- }] }); })();
492
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(ProofOfDocumentUploadComponent, { className: "ProofOfDocumentUploadComponent", filePath: "lib\\components\\proof-of-document-upload\\proof-of-document-upload.component.ts", lineNumber: 20 }); })();
493
- const toBase64 = file => new Promise((resolve, reject) => {
494
- const reader = new FileReader();
495
- reader.readAsDataURL(file);
496
- reader.onload = () => resolve(reader.result);
497
- reader.onerror = reject;
498
- });
499
- export class FileObject {
500
- constructor(docType, name, fileName, contentType, fileInBased64, recordId, employerName) {
501
- this.docType = docType;
502
- this.name = name;
503
- this.fileName = fileName;
504
- this.contentType = contentType;
505
- this.fileInBased64 = fileInBased64;
506
- this.recordId = recordId;
507
- this.employerName = employerName;
508
- }
509
- }
510
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQvcHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9wcm9vZi1vZi1kb2N1bWVudC11cGxvYWQvcHJvb2Ytb2YtZG9jdW1lbnQtdXBsb2FkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUE0QixTQUFTLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFDL0ksT0FBTyxFQUFpRSxpQkFBaUIsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7O0lDT2xILCtCQUEwQztJQUN4Qyx1Q0FDNkQ7SUFDL0QsaUJBQU07OztJQUZjLGVBQXdCO0lBQXhCLDZDQUF3Qjs7O0lBTGhELDBCQUFJLFNBQUE7SUFDRSw2QkFBYTtJQUFBLGlCQUFLO0lBQ3RCLDZCQUE2QztJQUMzQywrQkFDQTtJQUFBLCtHQUdNO0lBQ1IsaUJBQUs7SUFDTCxxQkFBUztJQUNYLGlCQUFLOzs7SUFOSyxlQUFxQjtJQUFyQiw2Q0FBcUI7Ozs7OztJQVMvQixpQ0FBNEM7SUFDMUMsOEJBQStCLFNBQUE7SUFDekIsWUFBK0I7SUFBQSxpQkFBSztJQUN4QywwQkFBSSxxQkFBQTtJQUNnRSxrUUFBYSxnRUFDekYsSUFEOEgsZ1JBQ3hHLGVBQUEsaURBQXFDLENBQUEsSUFEbUUsd1FBTXpHLGVBQUEsd0NBQTZCLENBQUEsSUFONEU7SUFBcEgs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TUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsRUFBRTtJQUN2RCxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsTUFBTSxDQUFDLE1BQU0sR0FBRyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzdDLE1BQU0sQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFDO0FBQzFCLENBQUMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxPQUFPLFVBQVU7SUFVckIsWUFBWSxPQUFlLEVBQUMsSUFBWSxFQUFFLFFBQWdCLEVBQUUsV0FBbUIsRUFBRSxhQUFxQixFQUFFLFFBQWdCLEVBQUUsWUFBb0I7UUFDNUksSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUM7UUFDL0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUM7UUFDbkMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsSUFBSSxDQUFDLFlBQVksR0FBRyxZQUFZLENBQUM7SUFDbkMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGRyZW4sIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiAgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLFVudHlwZWRGb3JtQXJyYXksIE5nRm9ybSwgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBDYXB0Y2hhU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NhcHRjaGEvY2FwdGNoYS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ2xhaW1hbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtc2VydmljZS9jbGFpbWFudC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVG9hc3RDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBEb2NUeXBlVXBsb2FkLCBEb2NVcGxvYWRNb2RlbCwgRG9jVHlwZURyb3Bkb3duT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZpbGV1cGxvYWQvRG9jVXBsb2FkTW9kZWwnO1xyXG5pbXBvcnQgeyBFbXBsb3llckRhdGFNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9maWxldXBsb2FkL0VtcGxveWVyRGF0YU1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXByb29mLW9mLWRvY3VtZW50LXVwbG9hZCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb29mLW9mLWRvY3VtZW50LXVwbG9hZC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Byb29mLW9mLWRvY3VtZW50LXVwbG9hZC5jb21wb25lbnQuc2NzcycsXHJcbiAgcHJvdmlkZXJzOiBbe1xyXG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICB1c2VFeGlzdGluZzogUHJvb2ZPZkRvY3VtZW50VXBsb2FkQ29tcG9uZW50LFxyXG4gICAgbXVsdGk6IHRydWVcclxuICB9XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvb2ZPZkRvY3VtZW50VXBsb2FkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0e1xyXG5cclxuICBwdWJsaWMgc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHVwbG9hZEZpbGVGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHVwbG9hZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIGZpbGVzOiBFdmVudEVtaXR0ZXI8TWFwPEZpbGUsIHN0cmluZz4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICB1cGxvYWRFbXBsb3llckZpbGU6IEV2ZW50RW1pdHRlcjxFbXBsb3llckRhdGFNb2RlbFtdPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQE91dHB1dCgpIFxyXG4gIGRvY0Zvcm06IEV2ZW50RW1pdHRlcjxVbnR5cGVkRm9ybUdyb3VwPiA9IG5ldyBFdmVudEVtaXR0ZXI8VW50eXBlZEZvcm1Hcm91cD4oKTtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbignZmlsZUlucHV0JykgZmlsZUlucHV0O1xyXG4gIFxyXG4gIHF1ZXVlOiBGaWxlW10gPSBbXTtcclxuXHJcbiAgZmlsZU9iamVjdFF1ZXVlOiBGaWxlT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgbWFwT2ZGaWxlczogTWFwPEZpbGUsIHN0cmluZz4gPSBuZXcgTWFwKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgYWxsb3dlZEZpbGVUeXBlOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwcm9vZk9mQW55dGhpbmc6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBjb250ZXh0OiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgc2hvd1NlcGFyYXRlQXR0YWNoQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZG9jVXBsb2FkTW9kZWw6IERvY1VwbG9hZE1vZGVsID0gbnVsbDtcclxuXHJcbiAgQElucHV0KClcclxuICBzZWxlY3RlZERvY3VtZW50VHlwZTogRG9jVHlwZVVwbG9hZCA9IG51bGw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgZG9jVHlwZTpEb2NUeXBlVXBsb2FkW10gfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgaWNvbkluZm86c3RyaW5nO1xyXG5cclxuICBASW5wdXQoKSBlbXBsb3llckRhdGFNb2RlbCA6IEVtcGxveWVyRGF0YU1vZGVsW107XHJcbiAgZG9jVHlwZURyb3Bkb3duOiBEb2NUeXBlRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZDtcclxuXHJcbiAgcHVibGljIHVwbG9hZEZpbGVGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xyXG4gIGZvcm1BcnJheTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBpbWFnZUh0bWw6IHN0cmluZztcclxuICBkb2N1bWVudFR5cGVzOiBEb2NUeXBlVXBsb2FkW10gfCB1bmRlZmluZWQ7XHJcbiAgZmlsZVR5cGVzOiBzdHJpbmdbXTtcclxuICBleHBhbmRlZFJvd3M6IHsgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9ID0ge307XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBcclxuICAgIHB1YmxpYyB0b2FzdENvbnRyb2xsZXI6IFRvYXN0Q29udHJvbGxlcikge1xyXG4gICAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0IHVwbG9hZEZpbGVDdHJsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudXBsb2FkRmlsZUZvcm0uY29udHJvbHNbJ3VwbG9hZEZpbGVDdHJsJ107XHJcbiAgfVxyXG5cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmZvcm1BcnJheSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICB0YWJsZVJvd0FycmF5OiB0aGlzLmZvcm1CdWlsZGVyLmFycmF5KFtcclxuICAgICAgXSlcclxuICAgIH0pXHJcbiAgICB0aGlzLmRvY0Zvcm0uZW1pdCh0aGlzLmZvcm1BcnJheSk7XHJcbiAgICB0aGlzLmRvY1R5cGVEcm9wZG93biA9IHRoaXMuZG9jVHlwZS5tYXAoKGkpPT4oe1xyXG4gICAgICBsYWJlbDogaS5kb2NEZXNjcmlwdGlvbixcclxuICAgICAgdmFsdWU6IGksXHJcbiAgICAgIGRpc2FibGVkOiBmYWxzZVxyXG4gICAgfSkpO1xyXG5cclxuICAgIHRoaXMuZmlsZVR5cGVzID0gdGhpcy5hbGxvd2VkRmlsZVR5cGUuc3BsaXQoJywnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2U6IEZ1bmN0aW9uID0gKCkgPT4ge1xyXG5cclxuICB9O1xyXG4gIHdyaXRlVmFsdWUoKTogdm9pZCB7XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge1xyXG4gIH1cclxuXHJcblxyXG4gIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xyXG5cclxuICB9XHJcblxyXG4gIGdldCB0YWJsZVJvd3MoKTogVW50eXBlZEZvcm1BcnJheSB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtQXJyYXkuZ2V0KCd0YWJsZVJvd0FycmF5JykgYXMgVW50eXBlZEZvcm1BcnJheTtcclxuICB9XHJcblxyXG4gIGNoZWNrRmlsZVR5cGUoZmlsZTpGaWxlLCBhcHByb3ZlZEZpbGVUeXBlOnN0cmluZ1tdKTpib29sZWFue1xyXG4gICAgZm9yKGxldCB0eXBlIG9mIGFwcHJvdmVkRmlsZVR5cGUpe1xyXG4gICAgICBpZihmaWxlLnR5cGU9PT10eXBlKXtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuICBcclxuICBhc3luYyBhZGRUb1F1ZXVlKGV2ZW50KSB7XHJcbiAgICBsZXQgY3VyVXBsZEZpbGVMZW46IG51bWJlciA9IGV2ZW50LnRhcmdldC5maWxlcy5sZW5ndGg7XHJcbiAgICBsZXQgcHJlVXBsZEZpbGVMZW46IG51bWJlciA9IHRoaXMuZmlsZU9iamVjdFF1ZXVlLmxlbmd0aDtcclxuICAgIGNvbnNvbGUubG9nKCdjdXJVcGxkRmlsZUxlbiA9ICcsIGN1clVwbGRGaWxlTGVuKTtcclxuICAgIGNvbnNvbGUubG9nKCdwcmVVcGxkRmlsZUxlbiA9ICcsIHByZVVwbGRGaWxlTGVuKTtcclxuICAgIGNvbnNvbGUubG9nKCd0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyA9PSAnLCB0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyk7XHJcbiAgICBpZiAodGhpcy5kb2NVcGxvYWRNb2RlbC50b3RhbERvY3MhPT1udWxsICYmKGN1clVwbGRGaWxlTGVuICsgcHJlVXBsZEZpbGVMZW4pID4gdGhpcy5kb2NVcGxvYWRNb2RlbC50b3RhbERvY3MpIHtcclxuICAgICAgdGhpcy5lcnJvcihcIllvdSBjYW4gbm90IHVwbG9hZCBtb3JlIHRoYW4gXCIgKyB0aGlzLmRvY1VwbG9hZE1vZGVsLnRvdGFsRG9jcyArIFwiIGZpbGUocykuXCIpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBldmVudC50YXJnZXQuZmlsZXMubGVuZ3RoOyBpKyspIHtcclxuICAgICAgY29uc3QgZmlsZTogRmlsZSA9IGV2ZW50LnRhcmdldC5maWxlc1tpXTtcclxuICAgICAgbGV0IGVuY29kZWQ7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdzaXplID0gJywgdGhpcy5nZXRTaXplSW5NQihmaWxlPy5zaXplKSlcclxuICAgICAgaWYodGhpcy5maWxlT2JqZWN0UXVldWUuc29tZShlPT5lLmZpbGVOYW1lPT09IGZpbGUubmFtZSkpe1xyXG4gICAgICAgIHRoaXMuZXJyb3IoJ0RvY3VtZW50IHdpdGggdGhlIHNhbWUgZmlsZSBuYW1lIGFscmVhZHkgZXhpc3RzLicpO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLmRvY1VwbG9hZE1vZGVsLnNpemUhPT1udWxsICYmIHRoaXMuZ2V0U2l6ZUluTUIoZmlsZT8uc2l6ZSkgPiB0aGlzLmRvY1VwbG9hZE1vZGVsLnNpemUpIHtcclxuICAgICAgICB0aGlzLmVycm9yKCdGaWxlIHNpemUgY2FuIG5vdCBiZSBtb3JlIHRoYW4gJyArIHRoaXMuZG9jVXBsb2FkTW9kZWwuc2l6ZSArICcgTUIuJyk7XHJcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYoIXRoaXMuY2hlY2tGaWxlVHlwZShmaWxlLHRoaXMuZmlsZVR5cGVzKSl7XHJcbiAgICAgICAgdGhpcy5lcnJvcignRmlsZSB0eXBlIG5vdCBhbGxvd2VkJyk7XHJcbiAgICAgICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgaWYgKGZpbGUpIHtcclxuICAgICAgICBlbmNvZGVkID0gYXdhaXQgdG9CYXNlNjQoZmlsZSk7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZmlsZU9iamVjdCA9IG5ldyBGaWxlT2JqZWN0KHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGU/LmRvY1R5cGUsdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZT8uZG9jRGVzY3JpcHRpb24sIGZpbGUubmFtZSwgZmlsZS50eXBlLCBlbmNvZGVkKTtcclxuICAgICAgdmFyIHVwbG9hZEZpbGVGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICAgJ2RvY1R5cGUnOltudWxsLCBWYWxpZGF0b3JzLnJlcXVpcmVkXVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy50YWJsZVJvd3MucHVzaCh1cGxvYWRGaWxlRm9ybSlcclxuICAgICAgdGhpcy5maWxlT2JqZWN0UXVldWUucHVzaChmaWxlT2JqZWN0KTtcclxuICAgICBcclxuICAgICAgdGhpcy51cGxvYWQuZW1pdCh0aGlzLmZpbGVPYmplY3RRdWV1ZSk7XHJcbiAgICB9XHJcbiAgICBldmVudC50YXJnZXQudmFsdWUgPSAnJztcclxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcblxyXG4gIH1cclxuXHJcbiAgYXN5bmMgYWRkRmlsZVRvRW1wbG95ZXJEYXRhKGV2ZW50LGVtcGxveWVyKXtcclxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXZlbnQudGFyZ2V0LmZpbGVzLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGNvbnN0IGZpbGU6IEZpbGUgPSBldmVudC50YXJnZXQuZmlsZXNbaV07XHJcbiAgICAgIGxldCBlbmNvZGVkO1xyXG4gICAgICBpZiAodGhpcy5kb2NVcGxvYWRNb2RlbC5zaXplIT09bnVsbCAmJiB0aGlzLmdldFNpemVJbk1CKGZpbGU/LnNpemUpID4gdGhpcy5kb2NVcGxvYWRNb2RlbC5zaXplKSB7XHJcbiAgICAgICAgdGhpcy5lcnJvcignRmlsZSBzaXplIGNhbiBub3QgYmUgbW9yZSB0aGFuICcgKyB0aGlzLmRvY1VwbG9hZE1vZGVsLnNpemUgKyAnIE1CLicpO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmKCF0aGlzLmNoZWNrRmlsZVR5cGUoZmlsZSx0aGlzLmZpbGVUeXBlcykpe1xyXG4gICAgICAgIHRoaXMuZXJyb3IoJ0ZpbGUgdHlwZSBub3QgYWxsb3dlZCcpO1xyXG4gICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChmaWxlKSB7XHJcbiAgICAgICAgZW5jb2RlZCA9IGF3YWl0IHRvQmFzZTY0KGZpbGUpO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGZpbGVPYmplY3QgPSBuZXcgRmlsZU9iamVjdCh0aGlzLnNlbGVjdGVkRG9jdW1lbnRUeXBlPy5kb2NUeXBlLHRoaXMuc2VsZWN0ZWREb2N1bWVudFR5cGU/LmRvY0Rlc2NyaXB0aW9uLCBmaWxlLm5hbWUsIGZpbGUudHlwZSwgZW5jb2RlZCxlbXBsb3llci5yZWNvcmRJZCwgZW1wbG95ZXIuZW1wbG95ZXJOYW1lKTsgICAgICBcclxuICAgICAgZW1wbG95ZXIuZmlsZSA9IGZpbGVPYmplY3RcclxuICAgICAgdGhpcy51cGxvYWRFbXBsb3llckZpbGUuZW1pdCh0aGlzLmVtcGxveWVyRGF0YU1vZGVsKTtcclxuICAgIH1cclxuICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSBmYWxzZTtcclxuICB9XHJcbiAgXHJcbiAgcmVtb3ZlRmlsZUZyb21FbXBsb3llckRhdGEoZW1wbG95ZXIpe1xyXG4gICAgZW1wbG95ZXIuZmlsZSA9IG51bGxcclxuICAgIHRoaXMudXBsb2FkRW1wbG95ZXJGaWxlLmVtaXQodGhpcy5lbXBsb3llckRhdGFNb2RlbCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVGcm9tUXVldWUoZmlsZVRvUmVtb3ZlKSB7XHJcbiAgICBsZXQgaW5kZXg7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsZU9iamVjdFF1ZXVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0aGlzLmZpbGVPYmplY3RRdWV1ZVtpXS5maWxlTmFtZSA9PT0gZmlsZVRvUmVtb3ZlLmZpbGVOYW1lKSB7XHJcbiAgICAgICAgaW5kZXggPSBpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGZvcih2YXIgaSA9IDA7IGkgPCB0aGlzLmRvY1R5cGVEcm9wZG93bi5sZW5ndGg7IGkrKyl7XHJcbiAgICAgIGlmKHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLnZhbHVlLmRvY1R5cGU9PT1maWxlVG9SZW1vdmUuZG9jVHlwZSl7XHJcbiAgICAgICAgIHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICB9XHJcbiAgICAgfVxyXG4gICAgdGhpcy5zaG93UHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgdGhpcy5maWxlT2JqZWN0UXVldWUuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIHRoaXMudGFibGVSb3dzLnJlbW92ZUF0KGluZGV4KTtcclxuICAgIHRoaXMubWFwT2ZGaWxlcy5kZWxldGUoZmlsZVRvUmVtb3ZlKTtcclxuICAgIHRoaXMuc2hvd1Byb2dyZXNzID0gZmFsc2U7XHJcbiAgICB0aGlzLnVwbG9hZC5lbWl0KEFycmF5LmZyb20odGhpcy5tYXBPZkZpbGVzLnZhbHVlcygpKSk7XHJcbiAgICB0aGlzLmZpbGVzLmVtaXQodGhpcy5tYXBPZkZpbGVzKTtcclxuXHJcbiAgfVxyXG5cclxuICBjaGFuZ2VEb2NUeXBlKGZpbGUsZXZlbnQpe1xyXG5cdFx0ICBjb25zb2xlLmxvZyhcIjE2NiBjaGFuZ2VEb2NUeXBlXCIpO1xyXG4gICAgaWYoZXZlbnQudmFsdWUgPT09IG51bGwpe1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgaW5kZXg7XHJcbiAgICBsZXQgcHJldlNlbGVjdGVkRG9jIDogc3RyaW5nO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbGVPYmplY3RRdWV1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5maWxlT2JqZWN0UXVldWVbaV0uZmlsZU5hbWUgPT09IGZpbGUuZmlsZU5hbWUpIHtcclxuICAgICAgICBpbmRleCA9IGk7XHJcbiAgICAgICAgcHJldlNlbGVjdGVkRG9jID0gdGhpcy5maWxlT2JqZWN0UXVldWVbaW5kZXhdLmRvY1R5cGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZmlsZU9iamVjdFF1ZXVlW2luZGV4XS5kb2NUeXBlID0gZXZlbnQudmFsdWUuZG9jVHlwZTtcclxuICAgIHRoaXMuZmlsZU9iamVjdFF1ZXVlW2luZGV4XS5uYW1lID0gZXZlbnQudmFsdWUuZG9jRGVzY3JpcHRpb247XHJcblxyXG4gICAgZm9yKHZhciBpID0gMDsgaSA8IHRoaXMuZG9jVHlwZURyb3Bkb3duLmxlbmd0aDsgaSsrKXtcclxuICAgICAgaWYoZXZlbnQudmFsdWUuZG9jVHlwZT09PXRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLnZhbHVlLmRvY1R5cGUpe1xyXG4gICAgICAgIHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgfWVsc2UgaWYodGhpcy5kb2NUeXBlRHJvcGRvd25baV0udmFsdWUuZG9jVHlwZT09PXByZXZTZWxlY3RlZERvYyl7XHJcbiAgICAgICAgdGhpcy5kb2NUeXBlRHJvcGRvd25baV0uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG4gIGNsZWFyRG9jVHlwZShmaWxlKXtcclxuICAgIGxldCBpbmRleDtcclxuICAgIGxldCBwcmV2U2VsZWN0ZWREb2MgOiBzdHJpbmc7XHJcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuZmlsZU9iamVjdFF1ZXVlLmxlbmd0aDsgaSsrKSB7XHJcbiAgICAgIGlmICh0aGlzLmZpbGVPYmplY3RRdWV1ZVtpXS5maWxlTmFtZSA9PT0gZmlsZS5maWxlTmFtZSkge1xyXG4gICAgICAgIGluZGV4ID0gaTtcclxuICAgICAgICBwcmV2U2VsZWN0ZWREb2MgPSB0aGlzLmZpbGVPYmplY3RRdWV1ZVtpbmRleF0uZG9jVHlwZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5maWxlT2JqZWN0UXVldWVbaW5kZXhdLmRvY1R5cGUgPW51bGw7XHJcbiAgICB0aGlzLmZpbGVPYmplY3RRdWV1ZVtpbmRleF0ubmFtZSA9IG51bGw7XHJcbiAgICBmb3IodmFyIGkgPSAwOyBpIDwgdGhpcy5kb2NUeXBlRHJvcGRvd24ubGVuZ3RoOyBpKyspe1xyXG4gICAgIGlmKHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLnZhbHVlLmRvY1R5cGU9PT1wcmV2U2VsZWN0ZWREb2Mpe1xyXG4gICAgICAgIHRoaXMuZG9jVHlwZURyb3Bkb3duW2ldLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgdXBkYXRlUXVldWVXaXRoVHlwZShmaWxlT2JqZWN0KSB7XHJcbiAgICBjb25zb2xlLmxvZyhcIjE2NiB1cGRhdGVRdWV1ZVdpdGhUeXBlXCIpO1xyXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLmZpbGVPYmplY3RRdWV1ZS5sZW5ndGg7IGkrKykge1xyXG4gICAgICBpZiAodGhpcy5maWxlT2JqZWN0UXVldWVbaV0uZmlsZU5hbWUgPT09IGZpbGVPYmplY3QuZmlsZU5hbWUpIHtcclxuICAgICAgICB0aGlzLmZpbGVPYmplY3RRdWV1ZVtpXS5kb2NUeXBlID0gdGhpcy5zZWxlY3RlZERvY3VtZW50VHlwZS5kb2NUeXBlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXNlbnRUb2FzdChtc2csIGNvbG9yKSB7XHJcbiAgICBjb25zdCB0b2FzdCA9IGF3YWl0IHRoaXMudG9hc3RDb250cm9sbGVyLmNyZWF0ZSh7XHJcbiAgICAgIG1lc3NhZ2U6IG1zZyxcclxuICAgICAgZHVyYXRpb246IDUwMDAsXHJcbiAgICAgIGNvbG9yOiBjb2xvcixcclxuICAgICAgcG9zaXRpb246ICdib3R0b20nXHJcbiAgICB9KTtcclxuICAgIHRvYXN0LnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIHN1Y2Nlc3MobXNnKSB7XHJcbiAgICB0aGlzLnByZXNlbnRUb2FzdChtc2csICdwcmltYXJ5Jyk7XHJcbiAgfVxyXG5cclxuICBlcnJvcihtc2cpIHtcclxuICAgIHRoaXMucHJlc2VudFRvYXN0KG1zZywgJ2RhbmdlcicpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2l6ZUluTUIobnVtOiBudW1iZXIpIHtcclxuICAgIHJldHVybiBudW0gLyAxMDI0IC8gMTAyNFxyXG4gIH1cclxuICBcclxufVxyXG5cclxuY29uc3QgdG9CYXNlNjQgPSBmaWxlID0+IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUpO1xyXG4gIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQpO1xyXG4gIHJlYWRlci5vbmVycm9yID0gcmVqZWN0O1xyXG59KVxyXG5cclxuZXhwb3J0IGNsYXNzIEZpbGVPYmplY3Qge1xyXG4gIGZpbGU6IEZpbGU7XHJcbiAgZG9jVHlwZTogc3RyaW5nO1xyXG4gIGZpbGVOYW1lOiBzdHJpbmc7XHJcbiAgY29udGVudFR5cGU6IHN0cmluZztcclxuICBmaWxlSW5CYXNlZDY0OiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG5cdHJlY29yZElkPzogc3RyaW5nO1xyXG4gIGVtcGxveWVyTmFtZT86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoZG9jVHlwZTogc3RyaW5nLG5hbWU6IHN0cmluZywgZmlsZU5hbWU6IHN0cmluZywgY29udGVudFR5cGU6IHN0cmluZywgZmlsZUluQmFzZWQ2NDogc3RyaW5nLCByZWNvcmRJZD86c3RyaW5nLCBlbXBsb3llck5hbWU/OnN0cmluZykge1xyXG4gICAgdGhpcy5kb2NUeXBlID0gZG9jVHlwZTtcclxuICAgIHRoaXMubmFtZSA9IG5hbWU7XHJcbiAgICB0aGlzLmZpbGVOYW1lID0gZmlsZU5hbWU7XHJcbiAgICB0aGlzLmNvbnRlbnRUeXBlID0gY29udGVudFR5cGU7XHJcbiAgICB0aGlzLmZpbGVJbkJhc2VkNjQgPSBmaWxlSW5CYXNlZDY0O1xyXG4gICAgdGhpcy5yZWNvcmRJZCA9IHJlY29yZElkO1xyXG4gICAgdGhpcy5lbXBsb3llck5hbWUgPSBlbXBsb3llck5hbWU7IFxyXG4gIH1cclxufSIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybUFycmF5XCIgI3VwbG9hZEZpbGVGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCIgKm5nSWY9XCIhZW1wbG95ZXJEYXRhTW9kZWxcIj5cclxuICAgIDxzZWN0aW9uICpuZ0lmPVwidGhpcy5jb250ZXh0ICE9ICdzaWduYXR1cmUnICYmIHRoaXMuY29udGV4dCAhPSd1cGxvYWRaaXBDb2RlcydcIj5cclxuICAgIDxwLXRhYmxlIGRhdGFLZXk9XCJmaWxlTmFtZVwiIFt2YWx1ZV09XCJmaWxlT2JqZWN0UXVldWVcIiByZXNwb25zaXZlTGF5b3V0PVwic2Nyb2xsXCIgW2xvYWRpbmddPVwic2hvd1Byb2dyZXNzXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJoZWFkZXJcIj5cclxuICAgICAgICA8dHI+XHJcbiAgICAgICAgICA8dGg+RG9jdW1lbnQgTmFtZTwvdGg+XHJcbiAgICAgICAgICA8dGggY2xhc3M9XCJmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICBEb2N1bWVudCBUeXBlXHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJwcm9vZk9mQW55dGhpbmdcIiBjbGFzcz1cInBsLTFcIj5cclxuICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiaWNvbkluZm9cIlxyXG4gICAgICAgICAgICBzdHlsZT1cIm1hcmdpbi10b3A6IDJweDsgbWFyZ2luLWxlZnQ6IDZweDsgXCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICA8dGg+PC90aD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiYm9keVwiIGxldC1maWxlT2JqZWN0UXVldWUgbGV0LXJvd0luZGV4PVwicm93SW5kZXhcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIGZvcm1BcnJheU5hbWU9XCJ0YWJsZVJvd0FycmF5XCI+XHJcbiAgICAgICAgICA8dHIgW2Zvcm1Hcm91cE5hbWVdPVwicm93SW5kZXhcIj5cclxuICAgICAgICAgICAgPHRkPnt7IGZpbGVPYmplY3RRdWV1ZT8uZmlsZU5hbWUgfX08L3RkPlxyXG4gICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgPHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZG9jVHlwZURyb3Bkb3duXCIgZm9ybUNvbnRyb2xOYW1lPVwiZG9jVHlwZVwiIFsobmdNb2RlbCldPVwiZmlsZU9iamVjdFF1ZXVlLnNlbGVjdGVkRG9jdW1lbnRUeXBlXCIgXHJcbiAgICAgICAgICAgICAgKG9uQ2hhbmdlKT1cImNoYW5nZURvY1R5cGUoZmlsZU9iamVjdFF1ZXVlLCRldmVudClcIiBcclxuICAgICAgICAgICAgICBvcHRpb25MYWJlbD1cImxhYmVsXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGEgRG9jdW1lbnQgVHlwZVwiIGFwcGVuZFRvPWJvZHlcclxuICAgICAgICAgICAgICBbc3R5bGVdPVwieyd3aWR0aCc6JzkwJSd9XCJcclxuICAgICAgICAgICAgICBjbGFzcz1cIm5nLWludmFsaWQgbmctZGlydHlcIlxyXG4gICAgICAgICAgICAgIFtzaG93Q2xlYXJdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKG9uQ2xlYXIpPVwiY2xlYXJEb2NUeXBlKGZpbGVPYmplY3RRdWV1ZSlcIlxyXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbmctaW52YWxpZCc6dGFibGVSb3dzLmNvbnRyb2xzW3Jvd0luZGV4XS5nZXQoJ2RvY1R5cGUnKT8uaW52YWxpZH1cIi8+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgIDx0ZCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCIgc3R5bGU9XCJwYWRkaW5nLXJpZ2h0OiB1bnNldFwiPlxyXG4gICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIHBUb29sdGlwPVwiUmVtb3ZlXCIgKGNsaWNrKT1cInJlbW92ZUZyb21RdWV1ZShmaWxlT2JqZWN0UXVldWUpXCJcclxuICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIGNsYXNzPVwiaW9uLXBhZGRpbmctbGVmdFwiPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJ0cmFzaC1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8L3RyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIFxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8bmctdGVtcGxhdGUgcFRlbXBsYXRlPVwiZm9vdGVyXCI+IFxyXG4gICAgICAgIDx0ciAqbmdJZj1cInByb29mT2ZBbnl0aGluZ1wiPlxyXG4gICAgICAgICAgPHRkICpuZ0lmPVwiZmlsZU9iamVjdFF1ZXVlLmxlbmd0aCA9PSAwXCIgY2xhc3M9XCJmaWxlLWlucHV0LWNvbnRhaW5lciBmbGV4IGZsZXgtcm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHItMVwiPjxiPisgQWRkPC9iPiBkb2N1bWVudDwvZGl2ID5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGVJbnB1dCBbYWNjZXB0XT1cImFsbG93ZWRGaWxlVHlwZVwiXHJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImFkZFRvUXVldWUoJGV2ZW50KVwiIC8+XHJcbiAgICAgICAgICAgICAgPGlvbi1idXR0b24gYXJpYS1sYWJlbD1cIkFkZCBGaWxlc1wiIChjbGljayk9XCJmaWxlSW5wdXQuY2xpY2soKVwiIGZpbGw9XCJvdXRsaW5lXCIgc2l6ZT1cInNtYWxsXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZmEtaWNvbiBbaWNvbl09XCJbJ2ZhbCcsICdwbHVzJ11cIiBjbGFzcz1cImFjdGlvbi1pY29uXCI+PC9mYS1pY29uPlxyXG4gICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICA8dGQgKm5nSWY9XCJmaWxlT2JqZWN0UXVldWUubGVuZ3RoID4gMFwiIGNsYXNzPVwiZmlsZS1pbnB1dC1jb250YWluZXIgZmxleCBmbGV4LXJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByLTFcIj48Yj4rIEFkZDwvYj4gYW55IG90aGVyIGRvY3VtZW50PC9kaXYgPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiYWRkVG9RdWV1ZSgkZXZlbnQpXCIgLz5cclxuICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiQWRkIEZpbGVzXCIgKGNsaWNrKT1cImZpbGVJbnB1dC5jbGljaygpXCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiBjbGFzcz1cImFjdGlvbi1idXR0b25cIj5cclxuICAgICAgICAgICAgICAgIDxmYS1pY29uIFtpY29uXT1cIlsnZmFsJywgJ3BsdXMnXVwiIGNsYXNzPVwiYWN0aW9uLWljb25cIj48L2ZhLWljb24+XHJcbiAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDx0ZD48L3RkPlxyXG4gICAgICAgICAgPHRkID5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgIDwvcC10YWJsZT5cclxuICA8L3NlY3Rpb24+XHJcbiAgPC9mb3JtPlxyXG4gIDx1bCAqbmdJZj1cImVtcGxveWVyRGF0YU1vZGVsXCIgY2xhc3M9XCJuby1idWxsZXRzIGdhcC0zXCI+XHJcbiAgICA8bGkgY2xhc3M9XCJwYi0zXCIgKm5nRm9yPVwibGV0IGVtcGxveWVyIG9mIGVtcGxveWVyRGF0YU1vZGVsOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgIDxwLWNhcmQgY2xhc3M9XCJwYi0yIGdhcC0zXCI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSBjbGFzcz1cInAtM1wiIHBUZW1wbGF0ZT1cImNvbnRlbnRcIiBsZXQtZmlsZXMgbGV0LXVwbG9hZGVkRmlsZXM9XCJ1cGxvYWRlZEZpbGVzXCIgbGV0LXJlbW92ZUZpbGVDYWxsYmFjaz1cInJlbW92ZUZpbGVDYWxsYmFja1wiIGxldC1yZW1vdmVVcGxvYWRlZEZpbGVDYWxsYmFjaz1cInJlbW92ZVVwbG9hZGVkRmlsZUNhbGxiYWNrXCIgbGV0LWNob29zZUNhbGxiYWNrPVwiY2hvb3NlQ2FsbGJhY2tcIj5cclxuICAgICAgICBcclxuICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImZsZXggZmxleC1yb3cgYWxpZ24taXRlbXMtY2VudGVyIGdhcC0xXCI+XHJcbiAgICAgICAgICAgICAgPGg0IGNsYXNzPVwibS0wXCIgc3RseWU9XCJtYXJnaW46IDBcIj57e2VtcGxveWVyLmVtcGxveWVyTmFtZX19PC9oND5cclxuICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiaWNvbkluZm9cIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwibWFyZ2luLXRvcDogMnB4OyBtYXJnaW4tbGVmdDogNnB4O1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW4gYm9yZGVyLTIgYm9yZGVyLWRhc2hlZCBib3JkZXItNDAwIHJvdW5kZWQtc20gcC0yXCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhZW1wbG95ZXIuZmlsZVwiIGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8aSBjbGFzcz1cInBpIHBpLXVwbG9hZCBib3JkZXItMiBib3JkZXItY2lyY2xlIHAtMiBtLTIgdGV4dC14bCB0ZXh0LTQwMFwiPjwvaT5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwiZW1wbG95ZXJXb3JrU2VhcmNoRmlsZUlucHV0XCIgdHlwZT1cImZpbGVcIiAjZmlsZUlucHV0IFthY2NlcHRdPVwiYWxsb3dlZEZpbGVUeXBlXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJhZGRGaWxlVG9FbXBsb3llckRhdGEoJGV2ZW50LGVtcGxveWVyKVwiIHN0eWxlPVwiZGlzcGxheTogbm9uZVwiIC8+XHJcbiAgICAgICAgICAgIDxpb24tYnV0dG9uIGFyaWEtbGFiZWw9XCJBZGQgRmlsZXNcIiAoY2xpY2spPVwiZmlsZUlucHV0LmNsaWNrKClcIiBmaWxsPVwib3V0bGluZVwiIHNpemU9XCJzbWFsbFwiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvblwiIHN0eWxlPVwiZmxvYXQ6aW5saW5lLWVuZFwiPlxyXG4gICAgICAgICAgICAgIFVwbG9hZFxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJlbXBsb3llci5maWxlXCI+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBmbGV4LWNvbHVtbiBwLTAgc206cC0yIGdhcC01XCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJjYXJkIG0tMCBweC02IGZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXIgZmxleC1jb2x1bW4gZ2FwLTJcIlxyXG4gICAgICAgICAgICAgID4gXHJcbiAgICAgICAgICAgICAgICA8c3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPGkgY2xhc3M9XCJwaSBwaS1maWxlXCIgc3R5bGU9XCJjb2xvcjogIzQ0NzhBQVwiPjwvaT57eyBlbXBsb3llci5maWxlLmZpbGVOYW1lIH19XHJcbiAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBhcmlhLWxhYmVsPVwiUmVtb3ZlIEZpbGVzXCIgZmlsbD1cIm91dGxpbmVcIiBzaXplPVwic21hbGxcIiBwVG9vbHRpcD1cIlJlbW92ZVwiIChjbGljayk9XCJyZW1vdmVGaWxlRnJvbUVtcGxveWVyRGF0YShlbXBsb3llcilcIlxyXG4gICAgICAgICAgICAgICAgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCIgY2xhc3M9XCJpb24tcGFkZGluZy1sZWZ0XCIgc3R5bGU9XCJmbG9hdDogaW5saW5lLWVuZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInRyYXNoLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG5cclxuICAgICAgXHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvcC1jYXJkPlxyXG4gICAgPC9saT5cclxuICA8L3VsPiJdfQ==