@reusa/ngx-reusa-app-lib 0.0.1331 → 0.0.1333

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 (528) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +1251 -2377
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +99 -158
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +16 -36
  4. package/esm2022/lib/components/address/address.component.mjs +81 -267
  5. package/esm2022/lib/components/bank-details/bank-details.component.mjs +123 -47
  6. package/esm2022/lib/components/contact-us/contact-us.component.mjs +16 -4
  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 -32
  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 +36 -16
  14. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +435 -319
  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 +67 -90
  19. package/esm2022/lib/components/header/header.component.mjs +136 -456
  20. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +13 -13
  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 +1 -1
  23. package/esm2022/lib/components/job-title/job-title.component.mjs +94 -93
  24. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +331 -142
  25. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +340 -0
  26. package/esm2022/lib/components/link/link.component.mjs +1 -1
  27. package/esm2022/lib/components/menu/menu.component.mjs +53 -60
  28. package/esm2022/lib/components/mfa/mfa.component.mjs +188 -116
  29. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +18 -11
  30. package/esm2022/lib/components/mfa2/mfa2.component.mjs +261 -0
  31. package/esm2022/lib/components/money-expect/money-expect.component.mjs +36 -148
  32. package/esm2022/lib/components/profile/profile.component.mjs +338 -748
  33. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +33 -110
  34. package/esm2022/lib/components/questionnaire/AppValidators.mjs +47 -296
  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 +129 -386
  37. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +70 -72
  38. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1085 -862
  39. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +565 -186
  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 +29 -113
  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 +237 -497
  46. package/esm2022/lib/components/search-employer/search-employer.component.mjs +27 -155
  47. package/esm2022/lib/components/security-question/security-question.component.mjs +189 -0
  48. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  49. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +4 -4
  50. package/esm2022/lib/components/user-login/user-login.component.mjs +300 -116
  51. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +241 -612
  52. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +59 -114
  53. package/esm2022/lib/guards/auth.guard.mjs +2 -50
  54. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  55. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +3 -51
  56. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  57. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  58. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
  59. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
  60. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
  61. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +2 -0
  62. package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
  63. package/esm2022/lib/models/LibConstants.mjs +6 -45
  64. package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
  65. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  66. package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
  67. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  68. package/esm2022/lib/models/dependent.model.mjs +1 -1
  69. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  70. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
  71. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  72. package/esm2022/lib/models/questionnaire/ComboModel.mjs +179 -101
  73. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  74. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  75. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  76. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +23 -135
  77. package/esm2022/lib/pages/BasePage.mjs +23 -4
  78. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
  79. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
  80. package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
  81. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  82. package/esm2022/lib/pages/common/login/login.component.mjs +5 -6
  83. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  84. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  85. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -1
  86. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  87. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +2 -7
  88. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +1 -1
  89. package/esm2022/lib/services/base-service.mjs +1 -4
  90. package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
  91. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
  92. package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -7
  93. package/esm2022/lib/services/claims/claims.service.mjs +14 -105
  94. package/esm2022/lib/services/help/help.service.mjs +1 -1
  95. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +60 -0
  96. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  97. package/esm2022/lib/services/login/login.service.mjs +11 -29
  98. package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
  99. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
  100. package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
  101. package/esm2022/lib/services/security-service/security.service.mjs +6 -23
  102. package/esm2022/lib/services/util/util.service.mjs +5 -61
  103. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +14 -186
  104. package/esm2022/lib/validations/AppRegex.mjs +3 -1
  105. package/esm2022/lib/validations/AppValidators.mjs +62 -78
  106. package/esm2022/public-api.mjs +5 -47
  107. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +25008 -44522
  108. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  109. package/lib/components/add-employer/add-employer.component.d.ts +52 -85
  110. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  111. package/lib/components/add-participant/add-participant.component.d.ts +2 -11
  112. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  113. package/lib/components/add-payment/add-payment.component.d.ts +2 -7
  114. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  115. package/lib/components/address/address.component.d.ts +5 -41
  116. package/lib/components/address/address.component.d.ts.map +1 -1
  117. package/lib/components/bank-details/bank-details.component.d.ts +6 -0
  118. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  119. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  120. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  121. package/lib/components/email-update/email-update.component.d.ts +7 -1
  122. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  123. package/lib/components/employer-grid/employer-grid.component.d.ts +12 -1
  124. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  125. package/lib/components/error/error.component.d.ts +2 -3
  126. package/lib/components/error/error.component.d.ts.map +1 -1
  127. package/lib/components/file-uploader/file-uploader.component.d.ts +1 -5
  128. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  129. package/lib/components/footer/footer.component.d.ts.map +1 -1
  130. package/lib/components/header/header.component.d.ts +2 -17
  131. package/lib/components/header/header.component.d.ts.map +1 -1
  132. package/lib/components/job-title/job-title.component.d.ts +21 -22
  133. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  134. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +2 -5
  135. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  136. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +59 -0
  137. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
  138. package/lib/components/menu/menu.component.d.ts +1 -2
  139. package/lib/components/menu/menu.component.d.ts.map +1 -1
  140. package/lib/components/mfa/mfa.component.d.ts +14 -7
  141. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  142. package/lib/components/mfa-popup/mfa-popup.component.d.ts +8 -6
  143. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  144. package/lib/components/mfa2/mfa2.component.d.ts +48 -0
  145. package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
  146. package/lib/components/money-expect/money-expect.component.d.ts +4 -15
  147. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  148. package/lib/components/profile/profile.component.d.ts +49 -82
  149. package/lib/components/profile/profile.component.d.ts.map +1 -1
  150. package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
  151. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  152. package/lib/components/questionnaire/AppValidators.d.ts +0 -1
  153. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  154. package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
  155. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  156. package/lib/components/questionnaire/common-success/common-success.page.d.ts +0 -7
  157. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  158. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +1 -3
  159. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  160. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +34 -31
  161. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  162. package/lib/components/questionnaire/dynamic-form.component.d.ts +34 -10
  163. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  164. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +7 -0
  165. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  166. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -7
  167. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  168. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  169. package/lib/components/questionnaire/question.service.d.ts +1 -0
  170. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  171. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +7 -1
  172. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  173. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -11
  174. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  175. package/lib/components/search-employer/search-employer.component.d.ts +4 -5
  176. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  177. package/lib/components/security-question/security-question.component.d.ts +37 -0
  178. package/lib/components/security-question/security-question.component.d.ts.map +1 -0
  179. package/lib/components/user-login/user-login.component.d.ts +32 -5
  180. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  181. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +3 -26
  182. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  183. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +3 -9
  184. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  185. package/lib/guards/auth.guard.d.ts.map +1 -1
  186. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  187. package/lib/models/EmployerDetailSearchResult.d.ts +1 -4
  188. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  189. package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
  190. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
  191. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
  192. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
  193. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
  194. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
  195. package/lib/models/LexisNexisEnabledResponseModel.d.ts +5 -0
  196. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +1 -0
  197. package/lib/models/LexisNexisResponseModel.d.ts +7 -0
  198. package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
  199. package/lib/models/LibConstants.d.ts +1 -40
  200. package/lib/models/LibConstants.d.ts.map +1 -1
  201. package/lib/models/PartialEmploymentModel.d.ts +6 -0
  202. package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
  203. package/lib/models/PaymentComponentModel.d.ts +1 -1
  204. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  205. package/lib/models/SecurityQuestionModel.d.ts +7 -0
  206. package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
  207. package/lib/models/dashboard-model.d.ts +0 -22
  208. package/lib/models/dashboard-model.d.ts.map +1 -1
  209. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -3
  210. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  211. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +4 -13
  212. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  213. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -4
  214. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  215. package/lib/models/questionnaire/ComboModel.d.ts +16 -28
  216. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  217. package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
  218. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  219. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
  220. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  221. package/lib/models/questionnaire/StatusModel.d.ts +0 -1
  222. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  223. package/lib/ngx-reusa-app-lib.module.d.ts +86 -124
  224. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  225. package/lib/pages/BasePage.d.ts +6 -3
  226. package/lib/pages/BasePage.d.ts.map +1 -1
  227. package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
  228. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  229. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  230. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  231. package/lib/services/base-service.d.ts +0 -12
  232. package/lib/services/base-service.d.ts.map +1 -1
  233. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
  234. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
  235. package/lib/services/claimant-service/claimant.service.d.ts +6 -5
  236. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  237. package/lib/services/claims/claims.service.d.ts +5 -39
  238. package/lib/services/claims/claims.service.d.ts.map +1 -1
  239. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +26 -0
  240. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
  241. package/lib/services/login/login.service.d.ts +3 -5
  242. package/lib/services/login/login.service.d.ts.map +1 -1
  243. package/lib/services/ovp/ovp.service.d.ts +17 -0
  244. package/lib/services/ovp/ovp.service.d.ts.map +1 -0
  245. package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
  246. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  247. package/lib/services/questionnaire/validation.service.d.ts +0 -3
  248. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  249. package/lib/services/security-service/security.service.d.ts +4 -12
  250. package/lib/services/security-service/security.service.d.ts.map +1 -1
  251. package/lib/services/util/util.service.d.ts +0 -6
  252. package/lib/services/util/util.service.d.ts.map +1 -1
  253. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +5 -47
  254. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  255. package/lib/validations/AppRegex.d.ts +2 -0
  256. package/lib/validations/AppRegex.d.ts.map +1 -1
  257. package/lib/validations/AppValidators.d.ts +24 -20
  258. package/lib/validations/AppValidators.d.ts.map +1 -1
  259. package/package.json +2 -2
  260. package/public-api.d.ts +4 -46
  261. package/public-api.d.ts.map +1 -1
  262. package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -161
  263. package/esm2022/lib/components/address-popup/address-popup.component.mjs +0 -97
  264. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +0 -289
  265. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +0 -245
  266. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -203
  267. package/esm2022/lib/components/claim-info/claim-info.component.mjs +0 -408
  268. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +0 -596
  269. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -356
  270. package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -319
  271. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -238
  272. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
  273. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
  274. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -201
  275. package/esm2022/lib/components/history-page/history-page.component.mjs +0 -571
  276. package/esm2022/lib/components/idme/idme.component.mjs +0 -84
  277. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +0 -3661
  278. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +0 -258
  279. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +0 -853
  280. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +0 -251
  281. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +0 -261
  282. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +0 -560
  283. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
  284. package/esm2022/lib/components/sms/sms.component.mjs +0 -336
  285. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +0 -527
  286. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
  287. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +0 -147
  288. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +0 -167
  289. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +0 -806
  290. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +0 -129
  291. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +0 -136
  292. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +0 -72
  293. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +0 -50
  294. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +0 -92
  295. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +0 -1190
  296. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +0 -684
  297. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +0 -524
  298. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +0 -394
  299. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +0 -640
  300. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +0 -33
  301. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +0 -9
  302. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +0 -5
  303. package/esm2022/lib/models/ActiveClaimModel.mjs +0 -3
  304. package/esm2022/lib/models/CountyModel.mjs +0 -3
  305. package/esm2022/lib/models/DuaAppDataModel.mjs +0 -3
  306. package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
  307. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
  308. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
  309. package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
  310. package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
  311. package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
  312. package/esm2022/lib/models/HelpConstants.mjs +0 -5
  313. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
  314. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
  315. package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
  316. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +0 -3
  317. package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
  318. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
  319. package/esm2022/lib/models/WageCalculatorModel.mjs +0 -3
  320. package/esm2022/lib/models/WageInfoModel.mjs +0 -4
  321. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +0 -3
  322. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +0 -3
  323. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +0 -3
  324. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +0 -3
  325. package/esm2022/lib/models/combo-model.mjs +0 -343
  326. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +0 -7
  327. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +0 -3
  328. package/esm2022/lib/models/fileupload/FileObject.mjs +0 -3
  329. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +0 -7
  330. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +0 -8
  331. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
  332. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
  333. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +0 -3
  334. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +0 -2
  335. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +0 -7
  336. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +0 -7
  337. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +0 -6
  338. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +0 -34
  339. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +0 -15
  340. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +0 -11
  341. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +0 -101
  342. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +0 -151
  343. package/esm2022/lib/services/appeal/appeal.service.mjs +0 -37
  344. package/esm2022/lib/services/birt-service/birt.service.mjs +0 -57
  345. package/esm2022/lib/services/employer/employer-service.mjs +0 -35
  346. package/esm2022/lib/services/event-service/event-service.mjs +0 -44
  347. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +0 -327
  348. package/esm2022/lib/services/weekly-cert/review.service.mjs +0 -101
  349. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +0 -37
  350. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +0 -58
  351. package/lib/components/add-wage/add-wage.component.d.ts +0 -30
  352. package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
  353. package/lib/components/address-popup/address-popup.component.d.ts +0 -16
  354. package/lib/components/address-popup/address-popup.component.d.ts.map +0 -1
  355. package/lib/components/address-suggestion/address-suggestion.component.d.ts +0 -43
  356. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +0 -1
  357. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +0 -37
  358. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +0 -1
  359. package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -33
  360. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
  361. package/lib/components/claim-info/claim-info.component.d.ts +0 -49
  362. package/lib/components/claim-info/claim-info.component.d.ts.map +0 -1
  363. package/lib/components/dua-request-page/dua-request-page.component.d.ts +0 -74
  364. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +0 -1
  365. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -61
  366. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
  367. package/lib/components/employer-info/employer-info.component.d.ts +0 -50
  368. package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
  369. package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
  370. package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
  371. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
  372. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
  373. package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
  374. package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
  375. package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -42
  376. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
  377. package/lib/components/history-page/history-page.component.d.ts +0 -80
  378. package/lib/components/history-page/history-page.component.d.ts.map +0 -1
  379. package/lib/components/idme/idme.component.d.ts +0 -19
  380. package/lib/components/idme/idme.component.d.ts.map +0 -1
  381. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +0 -311
  382. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +0 -1
  383. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +0 -33
  384. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +0 -1
  385. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +0 -97
  386. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +0 -1
  387. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +0 -33
  388. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +0 -1
  389. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +0 -54
  390. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +0 -1
  391. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +0 -74
  392. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +0 -1
  393. package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
  394. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
  395. package/lib/components/sms/sms.component.d.ts +0 -63
  396. package/lib/components/sms/sms.component.d.ts.map +0 -1
  397. package/lib/components/wage-calculator/wage-calculator.component.d.ts +0 -44
  398. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +0 -1
  399. package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
  400. package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
  401. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +0 -28
  402. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +0 -1
  403. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +0 -28
  404. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +0 -1
  405. package/lib/components/weekly-certification/weekly-certification.component.d.ts +0 -101
  406. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +0 -1
  407. package/lib/components/weekly-confirmation/confirmation.component.d.ts +0 -21
  408. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +0 -1
  409. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +0 -34
  410. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +0 -1
  411. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +0 -17
  412. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +0 -1
  413. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +0 -10
  414. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +0 -1
  415. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +0 -17
  416. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +0 -1
  417. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +0 -105
  418. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +0 -1
  419. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +0 -71
  420. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +0 -1
  421. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +0 -59
  422. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +0 -1
  423. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +0 -47
  424. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +0 -1
  425. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +0 -78
  426. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +0 -1
  427. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +0 -8
  428. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +0 -1
  429. package/lib/enums/AddressValidationResponseEnum.d.ts +0 -8
  430. package/lib/enums/AddressValidationResponseEnum.d.ts.map +0 -1
  431. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +0 -4
  432. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +0 -1
  433. package/lib/models/ActiveClaimModel.d.ts +0 -8
  434. package/lib/models/ActiveClaimModel.d.ts.map +0 -1
  435. package/lib/models/CountyModel.d.ts +0 -8
  436. package/lib/models/CountyModel.d.ts.map +0 -1
  437. package/lib/models/DuaAppDataModel.d.ts +0 -5
  438. package/lib/models/DuaAppDataModel.d.ts.map +0 -1
  439. package/lib/models/DuaRequestModel.d.ts +0 -10
  440. package/lib/models/DuaRequestModel.d.ts.map +0 -1
  441. package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
  442. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
  443. package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
  444. package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
  445. package/lib/models/EmployerPayInfoModel.d.ts +0 -20
  446. package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
  447. package/lib/models/FarmUsageComponentModel.d.ts +0 -10
  448. package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
  449. package/lib/models/GrossEarningsModel.d.ts +0 -6
  450. package/lib/models/GrossEarningsModel.d.ts.map +0 -1
  451. package/lib/models/HelpConstants.d.ts +0 -5
  452. package/lib/models/HelpConstants.d.ts.map +0 -1
  453. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
  454. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
  455. package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
  456. package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
  457. package/lib/models/RetroWeeksModel.d.ts +0 -11
  458. package/lib/models/RetroWeeksModel.d.ts.map +0 -1
  459. package/lib/models/SecurityQuestionAnswerModel.d.ts +0 -7
  460. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +0 -1
  461. package/lib/models/SendOtpRequestModel.d.ts +0 -12
  462. package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
  463. package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
  464. package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
  465. package/lib/models/WageCalculatorModel.d.ts +0 -15
  466. package/lib/models/WageCalculatorModel.d.ts.map +0 -1
  467. package/lib/models/WageInfoModel.d.ts +0 -9
  468. package/lib/models/WageInfoModel.d.ts.map +0 -1
  469. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +0 -12
  470. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +0 -1
  471. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +0 -11
  472. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +0 -1
  473. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +0 -6
  474. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +0 -1
  475. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +0 -16
  476. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +0 -1
  477. package/lib/models/combo-model.d.ts +0 -42
  478. package/lib/models/combo-model.d.ts.map +0 -1
  479. package/lib/models/fileupload/DocUploadModel.d.ts +0 -22
  480. package/lib/models/fileupload/DocUploadModel.d.ts.map +0 -1
  481. package/lib/models/fileupload/EmployerDataModel.d.ts +0 -6
  482. package/lib/models/fileupload/EmployerDataModel.d.ts.map +0 -1
  483. package/lib/models/fileupload/FileObject.d.ts +0 -8
  484. package/lib/models/fileupload/FileObject.d.ts.map +0 -1
  485. package/lib/models/fileupload/FileObjectArray.d.ts +0 -8
  486. package/lib/models/fileupload/FileObjectArray.d.ts.map +0 -1
  487. package/lib/models/questionnaire/AppealParticipantModel.d.ts +0 -17
  488. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +0 -1
  489. package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
  490. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
  491. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
  492. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
  493. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +0 -9
  494. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +0 -1
  495. package/lib/models/weekly-cert/address-detail-model.d.ts +0 -14
  496. package/lib/models/weekly-cert/address-detail-model.d.ts.map +0 -1
  497. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +0 -15
  498. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +0 -1
  499. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +0 -27
  500. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +0 -1
  501. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +0 -57
  502. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +0 -1
  503. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +0 -59
  504. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +0 -1
  505. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +0 -66
  506. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +0 -1
  507. package/lib/models/weekly-cert/work-search-v2-model.d.ts +0 -18
  508. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +0 -1
  509. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +0 -14
  510. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +0 -1
  511. package/lib/services/address-validation-service/address-validation.service.d.ts +0 -44
  512. package/lib/services/address-validation-service/address-validation.service.d.ts.map +0 -1
  513. package/lib/services/appeal/appeal.service.d.ts +0 -16
  514. package/lib/services/appeal/appeal.service.d.ts.map +0 -1
  515. package/lib/services/birt-service/birt.service.d.ts +0 -17
  516. package/lib/services/birt-service/birt.service.d.ts.map +0 -1
  517. package/lib/services/employer/employer-service.d.ts +0 -16
  518. package/lib/services/employer/employer-service.d.ts.map +0 -1
  519. package/lib/services/event-service/event-service.d.ts +0 -20
  520. package/lib/services/event-service/event-service.d.ts.map +0 -1
  521. package/lib/services/offline-claims/offline-claims.service.d.ts +0 -64
  522. package/lib/services/offline-claims/offline-claims.service.d.ts.map +0 -1
  523. package/lib/services/weekly-cert/review.service.d.ts +0 -23
  524. package/lib/services/weekly-cert/review.service.d.ts.map +0 -1
  525. package/lib/services/weekly-cert/weekly-cert.service.d.ts +0 -17
  526. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +0 -1
  527. package/lib/services/weekly-cert/work-search.service.d.ts +0 -26
  528. package/lib/services/weekly-cert/work-search.service.d.ts.map +0 -1
@@ -3,8 +3,6 @@ import { Validators } from '@angular/forms';
3
3
  import { EmployerInfoModel } from '../../models/EmployerDetailSearchResult';
4
4
  import { ComboOption } from '../../models/questionnaire/ComboModel';
5
5
  import { AppValidators } from '../../validations/AppValidators';
6
- import { BasePage } from '../../pages/BasePage';
7
- import { WageCalculatorModel } from '../../models/WageCalculatorModel';
8
6
  import * as i0 from "@angular/core";
9
7
  import * as i1 from "../../services/util/util.service";
10
8
  import * as i2 from "@angular/forms";
@@ -20,300 +18,173 @@ import * as i11 from "../error/error.component";
20
18
  import * as i12 from "../overlay-info/overlay-info.component";
21
19
  import * as i13 from "../search-employer/search-employer.component";
22
20
  import * as i14 from "../dropdown/dropdown.component";
23
- import * as i15 from "../wage-calculator/wage-calculator.component";
24
- import * as i16 from "../../directives/strip-invisible-characters/strip-invisible-characters.directive";
25
- import * as i17 from "@ngx-translate/core";
26
- import * as i18 from "../../pipes/trust-html/trust-html.pipe";
21
+ import * as i15 from "@ngx-translate/core";
22
+ import * as i16 from "../../pipes/trust-html/trust-html.pipe";
27
23
  const _c0 = ["empFormDirective"];
28
- const _c1 = () => ({ required: "required" });
29
- function WeeklyCertEmployerComponentQe_ion_row_3_div_8_Template(rf, ctx) { if (rf & 1) {
30
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 29);
31
- i0.ɵɵtext(2, "Country");
32
- i0.ɵɵelementEnd();
33
- i0.ɵɵelement(3, "br")(4, "app-dropdown", 30)(5, "app-error", 11);
34
- i0.ɵɵelementEnd();
35
- } if (rf & 2) {
36
- const ctx_r3 = i0.ɵɵnextContext(2);
37
- const _r0 = i0.ɵɵreference(1);
38
- i0.ɵɵadvance(4);
39
- i0.ɵɵproperty("options", ctx_r3.countryOptions)("formControl", ctx_r3.wcEmpCountry)("autoDisplayFirst", false);
40
- i0.ɵɵadvance(1);
41
- i0.ɵɵclassMap("app-grid");
42
- i0.ɵɵproperty("field", ctx_r3.wcEmpCountry)("form", _r0)("errDef", i0.ɵɵpureFunction0(8, _c1));
43
- } }
44
- const _c2 = () => ({ required: "required", invalidLength: "Zip code should be of 5 or 9 digits.", invalidNumber: "Zip code should only have numbers.", invalidZipCode: "please enter a valid zip code" });
45
- function WeeklyCertEmployerComponentQe_ion_row_3_div_19_Template(rf, ctx) { if (rf & 1) {
46
- i0.ɵɵelementStart(0, "div")(1, "ion-row")(2, "ion-col", 31)(3, "div", 8)(4, "label", 29);
47
- i0.ɵɵtext(5, "State");
48
- i0.ɵɵelementEnd();
49
- i0.ɵɵelement(6, "br")(7, "app-dropdown", 32)(8, "app-error", 11);
50
- i0.ɵɵelementEnd()();
51
- i0.ɵɵelement(9, "ion-col", 33);
52
- i0.ɵɵelementStart(10, "ion-col", 31)(11, "div", 8)(12, "label", 34);
53
- i0.ɵɵtext(13, "Zip Code");
54
- i0.ɵɵelementEnd();
55
- i0.ɵɵelement(14, "input", 35)(15, "app-error", 11);
56
- i0.ɵɵelementEnd()()()();
57
- } if (rf & 2) {
58
- const ctx_r4 = i0.ɵɵnextContext(2);
59
- const _r0 = i0.ɵɵreference(1);
60
- i0.ɵɵadvance(7);
61
- i0.ɵɵproperty("options", ctx_r4.statesCombo)("formControl", ctx_r4.wcEmpState)("autoDisplayFirst", false);
62
- i0.ɵɵadvance(1);
63
- i0.ɵɵclassMap("app-grid");
64
- i0.ɵɵproperty("field", ctx_r4.wcEmpState)("form", _r0)("errDef", i0.ɵɵpureFunction0(14, _c1));
65
- i0.ɵɵadvance(6);
66
- i0.ɵɵproperty("formControl", ctx_r4.wsZipCode);
67
- i0.ɵɵadvance(1);
68
- i0.ɵɵclassMap("app-grid");
69
- i0.ɵɵproperty("field", ctx_r4.wsZipCode)("form", _r0)("errDef", i0.ɵɵpureFunction0(15, _c2));
70
- } }
71
- function WeeklyCertEmployerComponentQe_ion_row_3_div_20_Template(rf, ctx) { if (rf & 1) {
72
- i0.ɵɵelementStart(0, "div")(1, "div", 8)(2, "label", 29);
73
- i0.ɵɵtext(3, "State");
74
- i0.ɵɵelementEnd();
75
- i0.ɵɵelement(4, "br")(5, "app-dropdown", 32)(6, "app-error", 11);
76
- i0.ɵɵelementEnd();
77
- i0.ɵɵelementStart(7, "div", 8)(8, "label", 34);
78
- i0.ɵɵtext(9, "Zip Code");
79
- i0.ɵɵelementEnd();
80
- i0.ɵɵelement(10, "input", 35)(11, "app-error", 11);
81
- i0.ɵɵelementEnd()();
82
- } if (rf & 2) {
83
- const ctx_r5 = i0.ɵɵnextContext(2);
84
- const _r0 = i0.ɵɵreference(1);
85
- i0.ɵɵadvance(5);
86
- i0.ɵɵproperty("options", ctx_r5.statesCombo)("formControl", ctx_r5.wcEmpState)("autoDisplayFirst", false);
87
- i0.ɵɵadvance(1);
88
- i0.ɵɵclassMap("app-grid");
89
- i0.ɵɵproperty("field", ctx_r5.wcEmpState)("form", _r0)("errDef", i0.ɵɵpureFunction0(14, _c1));
90
- i0.ɵɵadvance(4);
91
- i0.ɵɵproperty("formControl", ctx_r5.wsZipCode);
92
- i0.ɵɵadvance(1);
93
- i0.ɵɵclassMap("app-grid");
94
- i0.ɵɵproperty("field", ctx_r5.wsZipCode)("form", _r0)("errDef", i0.ɵɵpureFunction0(15, _c2));
95
- } }
96
- function WeeklyCertEmployerComponentQe_ion_row_3_div_39_Template(rf, ctx) { if (rf & 1) {
97
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 36);
24
+ const _c1 = () => ({ required: "Required." });
25
+ function WeeklyCertEmployerComponentQe_ion_row_3_div_63_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 36);
98
27
  i0.ɵɵtext(2, "Do you know when you're returning to full-time work?");
99
28
  i0.ɵɵelementEnd();
100
- i0.ɵɵelement(3, "p-selectButton", 37)(4, "app-error", 11);
29
+ i0.ɵɵelement(3, "p-selectButton", 37)(4, "app-error", 13);
101
30
  i0.ɵɵelementEnd();
102
31
  } if (rf & 2) {
103
- const ctx_r6 = i0.ɵɵnextContext(2);
32
+ const ctx_r4 = i0.ɵɵnextContext(2);
104
33
  const _r0 = i0.ɵɵreference(1);
105
34
  i0.ɵɵadvance(3);
106
- i0.ɵɵproperty("options", ctx_r6.yesNoOption)("formControl", ctx_r6.haveReturnToWorkDate);
35
+ i0.ɵɵproperty("options", ctx_r4.yesNoOption)("formControl", ctx_r4.haveReturnToWorkDate);
107
36
  i0.ɵɵadvance(1);
108
37
  i0.ɵɵclassMap("app-grid");
109
- i0.ɵɵproperty("field", ctx_r6.haveReturnToWorkDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c1));
38
+ i0.ɵɵproperty("field", ctx_r4.haveReturnToWorkDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c1));
110
39
  } }
111
- function WeeklyCertEmployerComponentQe_ion_row_3_div_40_Template(rf, ctx) { if (rf & 1) {
112
- const _r15 = i0.ɵɵgetCurrentView();
113
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 38);
40
+ function WeeklyCertEmployerComponentQe_ion_row_3_div_64_Template(rf, ctx) { if (rf & 1) {
41
+ const _r10 = i0.ɵɵgetCurrentView();
42
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 38);
114
43
  i0.ɵɵtext(2, "When?");
115
44
  i0.ɵɵelementEnd();
116
45
  i0.ɵɵelementStart(3, "div", 39)(4, "p-calendar", 40);
117
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_3_div_40_Template_p_calendar_onInput_4_listener($event) { i0.ɵɵrestoreView(_r15); const ctx_r14 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r14.dateInput($event)); });
46
+ i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_3_div_64_Template_p_calendar_onInput_4_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r9 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r9.dateInput($event)); });
118
47
  i0.ɵɵelementEnd();
119
- i0.ɵɵelement(5, "app-overlay-info", 27);
48
+ i0.ɵɵelement(5, "app-overlay-info", 29);
120
49
  i0.ɵɵpipe(6, "trustHtml");
121
50
  i0.ɵɵpipe(7, "translate");
122
51
  i0.ɵɵelementEnd();
123
- i0.ɵɵelement(8, "app-error", 11);
52
+ i0.ɵɵelement(8, "app-error", 13);
124
53
  i0.ɵɵelementEnd();
125
54
  } if (rf & 2) {
126
- const ctx_r7 = i0.ɵɵnextContext(2);
55
+ const ctx_r5 = i0.ɵɵnextContext(2);
127
56
  const _r0 = i0.ɵɵreference(1);
128
57
  i0.ɵɵadvance(4);
129
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r7.wcEmpLowRtwDate)("showOnFocus", false)("iconAriaLabel", "When?")("monthNavigator", true)("yearNavigator", true);
58
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r5.wcEmpLowRtwDate)("showOnFocus", false)("iconAriaLabel", "When?");
130
59
  i0.ɵɵadvance(1);
131
- i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(6, 12, i0.ɵɵpipeBind1(7, 14, "weeklies.v2.employment.rtw.info.popup.2155")));
60
+ i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(6, 10, i0.ɵɵpipeBind1(7, 12, "weeklies.v2.employment.rtw.info.popup.2155")));
132
61
  i0.ɵɵadvance(3);
133
62
  i0.ɵɵclassMap("app-grid");
134
- i0.ɵɵproperty("field", ctx_r7.wcEmpLowRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(16, _c1));
63
+ i0.ɵɵproperty("field", ctx_r5.wcEmpLowRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(14, _c1));
135
64
  } }
136
- function WeeklyCertEmployerComponentQe_ion_row_3_div_41_Template(rf, ctx) { if (rf & 1) {
137
- const _r17 = i0.ɵɵgetCurrentView();
138
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 41);
65
+ function WeeklyCertEmployerComponentQe_ion_row_3_div_65_Template(rf, ctx) { if (rf & 1) {
66
+ const _r12 = i0.ɵɵgetCurrentView();
67
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 41);
139
68
  i0.ɵɵtext(2, "Return to work date");
140
69
  i0.ɵɵelementEnd();
141
70
  i0.ɵɵelementStart(3, "p-calendar", 42);
142
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_3_div_41_Template_p_calendar_onInput_3_listener($event) { i0.ɵɵrestoreView(_r17); const ctx_r16 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r16.dateInput($event)); });
71
+ i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_3_div_65_Template_p_calendar_onInput_3_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r11.dateInput($event)); });
143
72
  i0.ɵɵelementEnd();
144
- i0.ɵɵelement(4, "app-error", 11);
73
+ i0.ɵɵelement(4, "app-error", 13);
145
74
  i0.ɵɵelementEnd();
146
75
  } if (rf & 2) {
147
- const ctx_r8 = i0.ɵɵnextContext(2);
76
+ const ctx_r6 = i0.ɵɵnextContext(2);
148
77
  const _r0 = i0.ɵɵreference(1);
149
78
  i0.ɵɵadvance(3);
150
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r8.wcEmpRtwDate)("showOnFocus", false)("iconAriaLabel", "Return to work date")("monthNavigator", true)("yearNavigator", true);
79
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r6.wcEmpRtwDate)("showOnFocus", false)("iconAriaLabel", "Return to work date");
151
80
  i0.ɵɵadvance(1);
152
81
  i0.ɵɵclassMap("app-grid");
153
- i0.ɵɵproperty("field", ctx_r8.wcEmpRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
82
+ i0.ɵɵproperty("field", ctx_r6.wcEmpRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
154
83
  } }
155
- function WeeklyCertEmployerComponentQe_ion_row_3_div_42_Template(rf, ctx) { if (rf & 1) {
156
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 43);
84
+ const _c2 = () => ({ required: "required" });
85
+ function WeeklyCertEmployerComponentQe_ion_row_3_div_66_Template(rf, ctx) { if (rf & 1) {
86
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 43);
157
87
  i0.ɵɵtext(2);
158
88
  i0.ɵɵpipe(3, "translate");
159
89
  i0.ɵɵelementEnd();
160
- i0.ɵɵelement(4, "br")(5, "app-dropdown", 44)(6, "app-error", 11);
90
+ i0.ɵɵelement(4, "app-dropdown", 44)(5, "app-error", 13);
161
91
  i0.ɵɵelementEnd();
162
92
  } if (rf & 2) {
163
- const ctx_r9 = i0.ɵɵnextContext(2);
93
+ const ctx_r7 = i0.ɵɵnextContext(2);
164
94
  const _r0 = i0.ɵɵreference(1);
165
95
  i0.ɵɵadvance(2);
166
96
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.discharge"));
167
- i0.ɵɵadvance(3);
168
- i0.ɵɵproperty("options", ctx_r9.dischargeReasonOptionsAll)("formControl", ctx_r9.discharged)("autoDisplayFirst", false);
97
+ i0.ɵɵadvance(2);
98
+ i0.ɵɵproperty("options", ctx_r7.dischargeReasonOptionsAll)("formControl", ctx_r7.discharged)("autoDisplayFirst", false);
169
99
  i0.ɵɵadvance(1);
170
100
  i0.ɵɵclassMap("app-grid");
171
- i0.ɵɵproperty("field", ctx_r9.discharged)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
101
+ i0.ɵɵproperty("field", ctx_r7.discharged)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c2));
172
102
  } }
173
- function WeeklyCertEmployerComponentQe_ion_row_3_div_43_Template(rf, ctx) { if (rf & 1) {
174
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 45);
103
+ function WeeklyCertEmployerComponentQe_ion_row_3_div_67_Template(rf, ctx) { if (rf & 1) {
104
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 45);
175
105
  i0.ɵɵtext(2);
176
106
  i0.ɵɵpipe(3, "translate");
177
107
  i0.ɵɵelementEnd();
178
- i0.ɵɵelement(4, "br")(5, "app-dropdown", 46)(6, "app-error", 11);
108
+ i0.ɵɵelement(4, "app-dropdown", 46)(5, "app-error", 13);
179
109
  i0.ɵɵelementEnd();
180
110
  } if (rf & 2) {
181
- const ctx_r10 = i0.ɵɵnextContext(2);
111
+ const ctx_r8 = i0.ɵɵnextContext(2);
182
112
  const _r0 = i0.ɵɵreference(1);
183
113
  i0.ɵɵadvance(2);
184
114
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.quit"));
185
- i0.ɵɵadvance(3);
186
- i0.ɵɵproperty("options", ctx_r10.volQuitReasonOptionsAll)("formControl", ctx_r10.voluntaryQuit)("autoDisplayFirst", false);
187
- i0.ɵɵadvance(1);
188
- i0.ɵɵclassMap("app-grid");
189
- i0.ɵɵproperty("field", ctx_r10.voluntaryQuit)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
190
- } }
191
- const _c3 = a1 => ({ required: "required", dateNotBetween: a1 });
192
- function WeeklyCertEmployerComponentQe_ion_row_3_div_44_Template(rf, ctx) { if (rf & 1) {
193
- const _r19 = i0.ɵɵgetCurrentView();
194
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 47);
195
- i0.ɵɵtext(2, "First day you worked");
196
- i0.ɵɵelementEnd();
197
- i0.ɵɵelementStart(3, "p-calendar", 48);
198
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_3_div_44_Template_p_calendar_onInput_3_listener($event) { i0.ɵɵrestoreView(_r19); const ctx_r18 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r18.dateInput($event)); });
199
- i0.ɵɵelementEnd();
200
- i0.ɵɵelement(4, "app-error", 11);
201
- i0.ɵɵelementEnd();
202
- } if (rf & 2) {
203
- const ctx_r11 = i0.ɵɵnextContext(2);
204
- const _r0 = i0.ɵɵreference(1);
205
- i0.ɵɵadvance(3);
206
- i0.ɵɵproperty("iconAriaLabel", "Start day worked")("showIcon", true)("formControl", ctx_r11.startDayWorked)("maxDate", ctx_r11.maxStartDate)("defaultDate", ctx_r11.sunDate)("selectOtherMonths", true)("monthNavigator", true)("yearNavigator", true);
207
- i0.ɵɵadvance(1);
208
- i0.ɵɵclassMap("app-grid");
209
- i0.ɵɵproperty("field", ctx_r11.startDayWorked)("form", _r0)("errDef", i0.ɵɵpureFunction1(13, _c3, "Date should be between " + ctx_r11.dynamicParam.sunday_date + " and " + ctx_r11.dynamicParam.saturday_date + "."));
210
- } }
211
- function WeeklyCertEmployerComponentQe_ion_row_3_div_45_Template(rf, ctx) { if (rf & 1) {
212
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 49);
213
- i0.ɵɵtext(2, "Job Title");
214
- i0.ɵɵelementEnd();
215
- i0.ɵɵelement(3, "input", 50)(4, "app-error", 11);
216
- i0.ɵɵelementEnd();
217
- } if (rf & 2) {
218
- const ctx_r12 = i0.ɵɵnextContext(2);
219
- const _r0 = i0.ɵɵreference(1);
220
- i0.ɵɵadvance(3);
221
- i0.ɵɵproperty("formControl", ctx_r12.jobTitle);
115
+ i0.ɵɵadvance(2);
116
+ i0.ɵɵproperty("options", ctx_r8.volQuitReasonOptionsAll)("formControl", ctx_r8.voluntaryQuit)("autoDisplayFirst", false);
222
117
  i0.ɵɵadvance(1);
223
118
  i0.ɵɵclassMap("app-grid");
224
- i0.ɵɵproperty("field", ctx_r12.jobTitle)("form", _r0)("errDef", i0.ɵɵpureFunction0(6, _c1));
225
- } }
226
- function WeeklyCertEmployerComponentQe_ion_row_3_div_47_div_4_Template(rf, ctx) { if (rf & 1) {
227
- const _r22 = i0.ɵɵgetCurrentView();
228
- i0.ɵɵelementStart(0, "div")(1, "app-wage-calculator", 52);
229
- i0.ɵɵlistener("grossEarningsChange", function WeeklyCertEmployerComponentQe_ion_row_3_div_47_div_4_Template_app_wage_calculator_grossEarningsChange_1_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r21.updateGrossEarnings($event)); })("totalHoursChange", function WeeklyCertEmployerComponentQe_ion_row_3_div_47_div_4_Template_app_wage_calculator_totalHoursChange_1_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r23 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r23.updateTotalHours($event)); })("saveClicked", function WeeklyCertEmployerComponentQe_ion_row_3_div_47_div_4_Template_app_wage_calculator_saveClicked_1_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r24 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r24.onDialogSave($event)); })("cancelClicked", function WeeklyCertEmployerComponentQe_ion_row_3_div_47_div_4_Template_app_wage_calculator_cancelClicked_1_listener() { i0.ɵɵrestoreView(_r22); const ctx_r25 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r25.onDialogCancel()); });
230
- i0.ɵɵelementEnd()();
231
- } if (rf & 2) {
232
- const ctx_r20 = i0.ɵɵnextContext(3);
233
- i0.ɵɵadvance(1);
234
- i0.ɵɵproperty("dynamicParam", ctx_r20.dynamicParam)("showCalculatorPopup", true)("wageCalculatorSavedData", ctx_r20.wageCalculatorData);
235
- } }
236
- function WeeklyCertEmployerComponentQe_ion_row_3_div_47_Template(rf, ctx) { if (rf & 1) {
237
- const _r27 = i0.ɵɵgetCurrentView();
238
- i0.ɵɵelementStart(0, "div", 8)(1, "span", 51);
239
- i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_ion_row_3_div_47_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r27); const ctx_r26 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r26.setWageFlag($event)); });
240
- i0.ɵɵelementStart(2, "b");
241
- i0.ɵɵtext(3, "Earnings Calculator");
242
- i0.ɵɵelementEnd()();
243
- i0.ɵɵtemplate(4, WeeklyCertEmployerComponentQe_ion_row_3_div_47_div_4_Template, 2, 3, "div", 2);
244
- i0.ɵɵelementEnd();
245
- } if (rf & 2) {
246
- const ctx_r13 = i0.ɵɵnextContext(2);
247
- i0.ɵɵadvance(4);
248
- i0.ɵɵproperty("ngIf", ctx_r13.wageDialog);
119
+ i0.ɵɵproperty("field", ctx_r8.voluntaryQuit)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c2));
249
120
  } }
250
- const _c4 = () => ({ required: "required", pattern: "%, <, >, ^, _, {, } are not allowed" });
251
- const _c5 = "only letters, numbers, spaces, commas, periods, apostrophes, hyphens, # and / allowed";
252
- const _c6 = () => ({ required: "required", pattern: _c5 });
253
- const _c7 = "city name can only contain letters, spaces, and hyphens";
254
- const _c8 = () => ({ required: "required", pattern: _c7 });
255
- const _c9 = "If hours and earnings are both 0, employment status cannot be working-part time.";
256
- const _c10 = () => ({ required: "required", changeEmpStatus: _c9 });
257
- const _c11 = "total hours must not be greater than 168 for the week";
258
- const _c12 = () => ({ required: "required", hoursPerWeekExceeded: _c11 });
259
- const _c13 = () => ({ required: "required", earningsNotZero: "Gross Earnings cannot be zero." });
121
+ const _c3 = () => ({ required: "Required.", invalidLength: "Zip code should be of 5 or 9 digits.", invalidNumber: "Zip code should only have numbers." });
122
+ const _c4 = a1 => ({ required: "Required.", dateNotBetween: a1 });
123
+ const _c5 = () => ({ required: "Required.", earningsRequired: "Please report gross earnings." });
124
+ const _c6 = () => ({ required: "Required.", earningsRequired: "Please report hours worked." });
260
125
  function WeeklyCertEmployerComponentQe_ion_row_3_Template(rf, ctx) { if (rf & 1) {
261
- const _r29 = i0.ɵɵgetCurrentView();
262
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 6)(2, "div", 7)(3, "div", 8)(4, "label", 9);
126
+ const _r14 = i0.ɵɵgetCurrentView();
127
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 8)(2, "div", 9)(3, "div", 10)(4, "label", 11);
263
128
  i0.ɵɵtext(5, "Employer Name");
264
129
  i0.ɵɵelementEnd();
265
- i0.ɵɵelementStart(6, "app-search-employer", 10);
266
- i0.ɵɵlistener("onFound", function WeeklyCertEmployerComponentQe_ion_row_3_Template_app_search_employer_onFound_6_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r28 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r28.setEmployer($event)); });
130
+ i0.ɵɵelementStart(6, "app-search-employer", 12);
131
+ i0.ɵɵlistener("onFound", function WeeklyCertEmployerComponentQe_ion_row_3_Template_app_search_employer_onFound_6_listener($event) { i0.ɵɵrestoreView(_r14); const ctx_r13 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r13.setEmployer($event)); });
267
132
  i0.ɵɵelementEnd();
268
- i0.ɵɵelement(7, "app-error", 11);
133
+ i0.ɵɵelement(7, "app-error", 13);
269
134
  i0.ɵɵelementEnd();
270
- i0.ɵɵtemplate(8, WeeklyCertEmployerComponentQe_ion_row_3_div_8_Template, 6, 9, "div", 12);
271
- i0.ɵɵelementStart(9, "div", 8)(10, "label", 13);
272
- i0.ɵɵtext(11, "Street Address");
135
+ i0.ɵɵelementStart(8, "div", 10)(9, "label", 14);
136
+ i0.ɵɵtext(10, "Street Address");
273
137
  i0.ɵɵelementEnd();
274
- i0.ɵɵelement(12, "input", 14)(13, "app-error", 11);
138
+ i0.ɵɵelement(11, "input", 15)(12, "app-error", 13);
275
139
  i0.ɵɵelementEnd();
276
- i0.ɵɵelementStart(14, "div", 8)(15, "label", 15);
277
- i0.ɵɵtext(16, "City");
140
+ i0.ɵɵelementStart(13, "div", 10)(14, "label", 16);
141
+ i0.ɵɵtext(15, "City");
278
142
  i0.ɵɵelementEnd();
279
- i0.ɵɵelement(17, "input", 16)(18, "app-error", 11);
143
+ i0.ɵɵelement(16, "input", 17)(17, "app-error", 13);
280
144
  i0.ɵɵelementEnd();
281
- i0.ɵɵtemplate(19, WeeklyCertEmployerComponentQe_ion_row_3_div_19_Template, 16, 16, "div", 2)(20, WeeklyCertEmployerComponentQe_ion_row_3_div_20_Template, 12, 16, "div", 2);
282
- i0.ɵɵelementStart(21, "div", 8)(22, "label", 17);
283
- i0.ɵɵtext(23, "Last day you worked");
145
+ i0.ɵɵelementStart(18, "ion-row")(19, "ion-col", 18)(20, "div", 10)(21, "label", 19);
146
+ i0.ɵɵtext(22, "State");
284
147
  i0.ɵɵelementEnd();
285
- i0.ɵɵelementStart(24, "p-calendar", 18);
286
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_3_Template_p_calendar_onInput_24_listener($event) { i0.ɵɵrestoreView(_r29); const ctx_r30 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r30.dateInput($event)); });
148
+ i0.ɵɵelement(23, "app-dropdown", 20)(24, "app-error", 13);
149
+ i0.ɵɵelementEnd()();
150
+ i0.ɵɵelement(25, "ion-col", 21);
151
+ i0.ɵɵelementStart(26, "ion-col", 18)(27, "div", 10)(28, "label", 22);
152
+ i0.ɵɵtext(29, "Zip Code");
287
153
  i0.ɵɵelementEnd();
288
- i0.ɵɵelement(25, "app-error", 11);
154
+ i0.ɵɵelement(30, "input", 23)(31, "app-error", 13);
289
155
  i0.ɵɵelementEnd()()();
290
- i0.ɵɵelementStart(26, "ion-col", 6)(27, "div", 7)(28, "div", 8)(29, "label", 19);
291
- i0.ɵɵtext(30, "Phone No.");
156
+ i0.ɵɵelementStart(32, "div", 10)(33, "label", 24);
157
+ i0.ɵɵtext(34, "Last day worked");
292
158
  i0.ɵɵelementEnd();
293
- i0.ɵɵelement(31, "p-inputMask", 20)(32, "app-error", 11);
159
+ i0.ɵɵelement(35, "p-calendar", 25)(36, "app-error", 13);
160
+ i0.ɵɵelementEnd()()();
161
+ i0.ɵɵelementStart(37, "ion-col", 8)(38, "div", 9)(39, "div", 10)(40, "label", 26);
162
+ i0.ɵɵtext(41, "Phone No.");
294
163
  i0.ɵɵelementEnd();
295
- i0.ɵɵelementStart(33, "div", 8)(34, "label", 21);
296
- i0.ɵɵtext(35, "What's your employment status with this employer?");
164
+ i0.ɵɵelement(42, "p-inputMask", 27)(43, "app-error", 13);
297
165
  i0.ɵɵelementEnd();
298
- i0.ɵɵelement(36, "app-dropdown", 22)(37, "br")(38, "app-error", 11);
166
+ i0.ɵɵelementStart(44, "div", 10)(45, "label", 28);
167
+ i0.ɵɵtext(46, "Total Gross Earnings");
299
168
  i0.ɵɵelementEnd();
300
- i0.ɵɵtemplate(39, WeeklyCertEmployerComponentQe_ion_row_3_div_39_Template, 5, 8, "div", 12)(40, WeeklyCertEmployerComponentQe_ion_row_3_div_40_Template, 9, 17, "div", 12)(41, WeeklyCertEmployerComponentQe_ion_row_3_div_41_Template, 5, 12, "div", 12)(42, WeeklyCertEmployerComponentQe_ion_row_3_div_42_Template, 7, 12, "div", 12)(43, WeeklyCertEmployerComponentQe_ion_row_3_div_43_Template, 7, 12, "div", 12)(44, WeeklyCertEmployerComponentQe_ion_row_3_div_44_Template, 5, 15, "div", 12)(45, WeeklyCertEmployerComponentQe_ion_row_3_div_45_Template, 5, 7, "div", 12);
169
+ i0.ɵɵelement(47, "app-overlay-info", 29);
170
+ i0.ɵɵpipe(48, "trustHtml");
171
+ i0.ɵɵpipe(49, "translate");
172
+ i0.ɵɵelement(50, "p-inputNumber", 30)(51, "app-error", 13);
301
173
  i0.ɵɵelementEnd();
302
- i0.ɵɵelement(46, "input", 23);
303
- i0.ɵɵtemplate(47, WeeklyCertEmployerComponentQe_ion_row_3_div_47_Template, 5, 1, "div", 12);
304
- i0.ɵɵelementStart(48, "div", 8)(49, "label", 24);
305
- i0.ɵɵtext(50, "Hours worked");
174
+ i0.ɵɵelementStart(52, "div", 10)(53, "label", 31);
175
+ i0.ɵɵtext(54, "Hours worked");
306
176
  i0.ɵɵelementEnd();
307
- i0.ɵɵelement(51, "br")(52, "p-inputNumber", 25)(53, "br")(54, "app-error", 11);
177
+ i0.ɵɵelement(55, "p-inputNumber", 32)(56, "app-error", 13);
308
178
  i0.ɵɵelementEnd();
309
- i0.ɵɵelementStart(55, "div", 8)(56, "label", 26);
310
- i0.ɵɵtext(57, "Total Gross Earnings");
179
+ i0.ɵɵelementStart(57, "div", 10)(58, "label", 33);
180
+ i0.ɵɵtext(59, "What's your employment status with this employer?");
311
181
  i0.ɵɵelementEnd();
312
- i0.ɵɵelement(58, "app-overlay-info", 27);
313
- i0.ɵɵpipe(59, "trustHtml");
314
- i0.ɵɵpipe(60, "translate");
315
- i0.ɵɵelement(61, "br")(62, "p-inputNumber", 28)(63, "br")(64, "app-error", 11);
316
- i0.ɵɵelementEnd()()();
182
+ i0.ɵɵelement(60, "app-dropdown", 34)(61, "br")(62, "app-error", 13);
183
+ i0.ɵɵelementEnd();
184
+ i0.ɵɵtemplate(63, WeeklyCertEmployerComponentQe_ion_row_3_div_63_Template, 5, 8, "div", 4)(64, WeeklyCertEmployerComponentQe_ion_row_3_div_64_Template, 9, 15, "div", 4)(65, WeeklyCertEmployerComponentQe_ion_row_3_div_65_Template, 5, 10, "div", 4)(66, WeeklyCertEmployerComponentQe_ion_row_3_div_66_Template, 6, 12, "div", 4)(67, WeeklyCertEmployerComponentQe_ion_row_3_div_67_Template, 6, 12, "div", 4);
185
+ i0.ɵɵelementEnd();
186
+ i0.ɵɵelement(68, "input", 35);
187
+ i0.ɵɵelementEnd()();
317
188
  } if (rf & 2) {
318
189
  const ctx_r1 = i0.ɵɵnextContext();
319
190
  const _r0 = i0.ɵɵreference(1);
@@ -321,38 +192,54 @@ function WeeklyCertEmployerComponentQe_ion_row_3_Template(rf, ctx) { if (rf & 1)
321
192
  i0.ɵɵproperty("formControl", ctx_r1.wcEmpName)("empType", "REG");
322
193
  i0.ɵɵadvance(1);
323
194
  i0.ɵɵclassMap("app-grid");
324
- i0.ɵɵproperty("field", ctx_r1.wcEmpName)("form", _r0)("errDef", i0.ɵɵpureFunction0(78, _c4));
325
- i0.ɵɵadvance(1);
326
- i0.ɵɵproperty("ngIf", ctx_r1.isME());
195
+ i0.ɵɵproperty("field", ctx_r1.wcEmpName)("form", _r0)("errDef", i0.ɵɵpureFunction0(81, _c1));
327
196
  i0.ɵɵadvance(4);
328
197
  i0.ɵɵproperty("formControl", ctx_r1.wcEmpAddressLine1);
329
198
  i0.ɵɵadvance(1);
330
199
  i0.ɵɵclassMap("app-grid");
331
- i0.ɵɵproperty("field", ctx_r1.wcEmpAddressLine1)("form", _r0)("errDef", i0.ɵɵpureFunction0(79, _c6));
200
+ i0.ɵɵproperty("field", ctx_r1.wcEmpAddressLine1)("form", _r0)("errDef", i0.ɵɵpureFunction0(82, _c1));
332
201
  i0.ɵɵadvance(4);
333
202
  i0.ɵɵproperty("formControl", ctx_r1.wcEmpCity);
334
203
  i0.ɵɵadvance(1);
335
204
  i0.ɵɵclassMap("app-grid");
336
- i0.ɵɵproperty("field", ctx_r1.wcEmpCity)("form", _r0)("errDef", i0.ɵɵpureFunction0(80, _c8));
205
+ i0.ɵɵproperty("field", ctx_r1.wcEmpCity)("form", _r0)("errDef", i0.ɵɵpureFunction0(83, _c1));
206
+ i0.ɵɵadvance(6);
207
+ i0.ɵɵproperty("options", ctx_r1.statesCombo)("formControl", ctx_r1.wcEmpState)("autoDisplayFirst", false);
337
208
  i0.ɵɵadvance(1);
338
- i0.ɵɵproperty("ngIf", ctx_r1.isME());
209
+ i0.ɵɵclassMap("app-grid");
210
+ i0.ɵɵproperty("field", ctx_r1.wcEmpState)("form", _r0)("errDef", i0.ɵɵpureFunction0(84, _c1));
211
+ i0.ɵɵadvance(6);
212
+ i0.ɵɵproperty("formControl", ctx_r1.wsZipCode);
339
213
  i0.ɵɵadvance(1);
340
- i0.ɵɵproperty("ngIf", !ctx_r1.isME());
214
+ i0.ɵɵclassMap("app-grid");
215
+ i0.ɵɵproperty("field", ctx_r1.wsZipCode)("form", _r0)("errDef", i0.ɵɵpureFunction0(85, _c3));
341
216
  i0.ɵɵadvance(4);
342
- i0.ɵɵproperty("iconAriaLabel", "Last day worked")("showIcon", true)("formControl", ctx_r1.lastDayWorked)("minDate", ctx_r1.sunDate)("maxDate", ctx_r1.satDate)("defaultDate", ctx_r1.sunDate)("selectOtherMonths", true)("monthNavigator", true)("yearNavigator", true);
217
+ i0.ɵɵproperty("iconAriaLabel", "Last day worked")("showIcon", true)("formControl", ctx_r1.lastDayWorked)("minDate", ctx_r1.sunDate)("maxDate", ctx_r1.satDate)("defaultDate", ctx_r1.sunDate);
343
218
  i0.ɵɵadvance(1);
344
219
  i0.ɵɵclassMap("app-grid");
345
- i0.ɵɵproperty("field", ctx_r1.lastDayWorked)("form", _r0)("errDef", i0.ɵɵpureFunction1(81, _c3, "Date should be between " + ctx_r1.dynamicParam.sunday_date + " and " + ctx_r1.dynamicParam.saturday_date + "."));
220
+ i0.ɵɵproperty("field", ctx_r1.lastDayWorked)("form", _r0)("errDef", i0.ɵɵpureFunction1(86, _c4, "Date should be between " + ctx_r1.dynamicParam.sunday_date + " and " + ctx_r1.dynamicParam.saturday_date + "."));
346
221
  i0.ɵɵadvance(6);
347
222
  i0.ɵɵproperty("formControl", ctx_r1.wsPhoneNumber);
348
223
  i0.ɵɵadvance(1);
349
224
  i0.ɵɵclassMap("app-grid");
350
- i0.ɵɵproperty("field", ctx_r1.wsPhoneNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(83, _c1));
225
+ i0.ɵɵproperty("field", ctx_r1.wsPhoneNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(88, _c1));
226
+ i0.ɵɵadvance(4);
227
+ i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(48, 77, i0.ɵɵpipeBind1(49, 79, "weeklies.v2.employment.rtw.info.popup.1000")));
228
+ i0.ɵɵadvance(3);
229
+ i0.ɵɵproperty("formControl", ctx_r1.wsEmpAmtEarned);
230
+ i0.ɵɵadvance(1);
231
+ i0.ɵɵclassMap("app-grid");
232
+ i0.ɵɵproperty("field", ctx_r1.wsEmpAmtEarned)("form", _r0)("errDef", i0.ɵɵpureFunction0(89, _c5));
233
+ i0.ɵɵadvance(4);
234
+ i0.ɵɵproperty("formControl", ctx_r1.wcEmpHoursWorked);
235
+ i0.ɵɵadvance(1);
236
+ i0.ɵɵclassMap("app-grid");
237
+ i0.ɵɵproperty("field", ctx_r1.wcEmpHoursWorked)("form", _r0)("errDef", i0.ɵɵpureFunction0(90, _c6));
351
238
  i0.ɵɵadvance(4);
352
239
  i0.ɵɵproperty("options", ctx_r1.employmentStatusOptionsAll)("formControl", ctx_r1.wcEmpStatus)("autoDisplayFirst", false);
353
240
  i0.ɵɵadvance(2);
354
241
  i0.ɵɵclassMap("app-grid");
355
- i0.ɵɵproperty("field", ctx_r1.wcEmpStatus)("form", _r0)("errDef", i0.ɵɵpureFunction0(84, _c10));
242
+ i0.ɵɵproperty("field", ctx_r1.wcEmpStatus)("form", _r0)("errDef", i0.ɵɵpureFunction0(91, _c1));
356
243
  i0.ɵɵadvance(1);
357
244
  i0.ɵɵproperty("ngIf", ctx_r1.wcEmpStatus.value == "LWLO");
358
245
  i0.ɵɵadvance(1);
@@ -364,214 +251,133 @@ function WeeklyCertEmployerComponentQe_ion_row_3_Template(rf, ctx) { if (rf & 1)
364
251
  i0.ɵɵadvance(1);
365
252
  i0.ɵɵproperty("ngIf", ctx_r1.wcEmpStatus.value == "VOLQ");
366
253
  i0.ɵɵadvance(1);
367
- i0.ɵɵproperty("ngIf", ctx_r1.isMS() ? false : ctx_r1.wcEmpStatus.value == "VOLQ" || ctx_r1.wcEmpStatus.value == "SUSP" || ctx_r1.wcEmpStatus.value == "DCFI");
368
- i0.ɵɵadvance(1);
369
- i0.ɵɵproperty("ngIf", ctx_r1.isMS() ? false : ctx_r1.wcEmpStatus.value == "VOLQ" || ctx_r1.wcEmpStatus.value == "SUSP" || ctx_r1.wcEmpStatus.value == "DCFI" || ctx_r1.wcEmpStatus.value == "STLO");
370
- i0.ɵɵadvance(1);
371
254
  i0.ɵɵproperty("formControl", ctx_r1.hidEmpId);
372
- i0.ɵɵadvance(1);
373
- i0.ɵɵproperty("ngIf", !ctx_r1.isME());
374
- i0.ɵɵadvance(5);
375
- i0.ɵɵproperty("formControl", ctx_r1.wcEmpHoursWorked)("minFractionDigits", 1)("maxFractionDigits", 2);
376
- i0.ɵɵadvance(2);
377
- i0.ɵɵclassMap("app-grid");
378
- i0.ɵɵproperty("field", ctx_r1.wcEmpHoursWorked)("form", _r0)("errDef", i0.ɵɵpureFunction0(85, _c12));
379
- i0.ɵɵadvance(4);
380
- i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(59, 74, i0.ɵɵpipeBind1(60, 76, "weeklies.v2.employment.rtw.info.popup.1000")));
381
- i0.ɵɵadvance(4);
382
- i0.ɵɵproperty("formControl", ctx_r1.wsEmpAmtEarned);
383
- i0.ɵɵadvance(2);
384
- i0.ɵɵclassMap("app-grid");
385
- i0.ɵɵproperty("field", ctx_r1.wsEmpAmtEarned)("form", _r0)("errDef", i0.ɵɵpureFunction0(86, _c13));
386
255
  } }
387
256
  function WeeklyCertEmployerComponentQe_ion_row_4_div_21_Template(rf, ctx) { if (rf & 1) {
388
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 36);
257
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 36);
389
258
  i0.ɵɵtext(2, "Do you know when you're returning to full-time work?");
390
259
  i0.ɵɵelementEnd();
391
- i0.ɵɵelement(3, "p-selectButton", 37)(4, "app-error", 11);
260
+ i0.ɵɵelement(3, "p-selectButton", 37)(4, "app-error", 13);
392
261
  i0.ɵɵelementEnd();
393
262
  } if (rf & 2) {
394
- const ctx_r31 = i0.ɵɵnextContext(2);
263
+ const ctx_r15 = i0.ɵɵnextContext(2);
395
264
  const _r0 = i0.ɵɵreference(1);
396
265
  i0.ɵɵadvance(3);
397
- i0.ɵɵproperty("options", ctx_r31.yesNoOption)("formControl", ctx_r31.haveReturnToWorkDate);
266
+ i0.ɵɵproperty("options", ctx_r15.yesNoOption)("formControl", ctx_r15.haveReturnToWorkDate);
398
267
  i0.ɵɵadvance(1);
399
268
  i0.ɵɵclassMap("app-grid");
400
- i0.ɵɵproperty("field", ctx_r31.haveReturnToWorkDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c1));
269
+ i0.ɵɵproperty("field", ctx_r15.haveReturnToWorkDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c1));
401
270
  } }
402
271
  function WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template(rf, ctx) { if (rf & 1) {
403
- const _r40 = i0.ɵɵgetCurrentView();
404
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 38);
272
+ const _r21 = i0.ɵɵgetCurrentView();
273
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 38);
405
274
  i0.ɵɵtext(2, "When?");
406
275
  i0.ɵɵelementEnd();
407
276
  i0.ɵɵelementStart(3, "div", 39)(4, "p-calendar", 40);
408
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template_p_calendar_onInput_4_listener($event) { i0.ɵɵrestoreView(_r40); const ctx_r39 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r39.dateInput($event)); });
277
+ i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template_p_calendar_onInput_4_listener($event) { i0.ɵɵrestoreView(_r21); const ctx_r20 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r20.dateInput($event)); });
409
278
  i0.ɵɵelementEnd();
410
- i0.ɵɵelement(5, "app-overlay-info", 27);
279
+ i0.ɵɵelement(5, "app-overlay-info", 29);
411
280
  i0.ɵɵpipe(6, "trustHtml");
412
281
  i0.ɵɵpipe(7, "translate");
413
282
  i0.ɵɵelementEnd();
414
- i0.ɵɵelement(8, "app-error", 11);
283
+ i0.ɵɵelement(8, "app-error", 13);
415
284
  i0.ɵɵelementEnd();
416
285
  } if (rf & 2) {
417
- const ctx_r32 = i0.ɵɵnextContext(2);
286
+ const ctx_r16 = i0.ɵɵnextContext(2);
418
287
  const _r0 = i0.ɵɵreference(1);
419
288
  i0.ɵɵadvance(4);
420
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r32.wcEmpLowRtwDate)("showOnFocus", false)("iconAriaLabel", "When?")("monthNavigator", true)("yearNavigator", true);
289
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r16.wcEmpLowRtwDate)("showOnFocus", false)("iconAriaLabel", "When?");
421
290
  i0.ɵɵadvance(1);
422
- i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(6, 12, i0.ɵɵpipeBind1(7, 14, "weeklies.v2.employment.rtw.info.popup.2050")));
291
+ i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(6, 10, i0.ɵɵpipeBind1(7, 12, "weeklies.v2.employment.rtw.info.popup.2050")));
423
292
  i0.ɵɵadvance(3);
424
293
  i0.ɵɵclassMap("app-grid");
425
- i0.ɵɵproperty("field", ctx_r32.wcEmpLowRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(16, _c1));
294
+ i0.ɵɵproperty("field", ctx_r16.wcEmpLowRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(14, _c1));
426
295
  } }
427
296
  function WeeklyCertEmployerComponentQe_ion_row_4_div_23_Template(rf, ctx) { if (rf & 1) {
428
- const _r42 = i0.ɵɵgetCurrentView();
429
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 41);
297
+ const _r23 = i0.ɵɵgetCurrentView();
298
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 41);
430
299
  i0.ɵɵtext(2, "Return to work date");
431
300
  i0.ɵɵelementEnd();
432
301
  i0.ɵɵelementStart(3, "p-calendar", 42);
433
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_4_div_23_Template_p_calendar_onInput_3_listener($event) { i0.ɵɵrestoreView(_r42); const ctx_r41 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r41.dateInput($event)); });
302
+ i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_4_div_23_Template_p_calendar_onInput_3_listener($event) { i0.ɵɵrestoreView(_r23); const ctx_r22 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r22.dateInput($event)); });
434
303
  i0.ɵɵelementEnd();
435
- i0.ɵɵelement(4, "app-error", 11);
304
+ i0.ɵɵelement(4, "app-error", 13);
436
305
  i0.ɵɵelementEnd();
437
306
  } if (rf & 2) {
438
- const ctx_r33 = i0.ɵɵnextContext(2);
307
+ const ctx_r17 = i0.ɵɵnextContext(2);
439
308
  const _r0 = i0.ɵɵreference(1);
440
309
  i0.ɵɵadvance(3);
441
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r33.wcEmpRtwDate)("showOnFocus", false)("iconAriaLabel", "Return to work date")("monthNavigator", true)("yearNavigator", true);
310
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r17.wcEmpRtwDate)("showOnFocus", false)("iconAriaLabel", "Return to work date");
442
311
  i0.ɵɵadvance(1);
443
312
  i0.ɵɵclassMap("app-grid");
444
- i0.ɵɵproperty("field", ctx_r33.wcEmpRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
313
+ i0.ɵɵproperty("field", ctx_r17.wcEmpRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
445
314
  } }
446
315
  function WeeklyCertEmployerComponentQe_ion_row_4_div_24_Template(rf, ctx) { if (rf & 1) {
447
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 43);
316
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 43);
448
317
  i0.ɵɵtext(2);
449
318
  i0.ɵɵpipe(3, "translate");
450
319
  i0.ɵɵelementEnd();
451
- i0.ɵɵelement(4, "br")(5, "app-dropdown", 56)(6, "app-error", 11);
320
+ i0.ɵɵelement(4, "app-dropdown", 49)(5, "app-error", 13);
452
321
  i0.ɵɵelementEnd();
453
322
  } if (rf & 2) {
454
- const ctx_r34 = i0.ɵɵnextContext(2);
323
+ const ctx_r18 = i0.ɵɵnextContext(2);
455
324
  const _r0 = i0.ɵɵreference(1);
456
325
  i0.ɵɵadvance(2);
457
326
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.discharge"));
458
- i0.ɵɵadvance(3);
459
- i0.ɵɵproperty("options", ctx_r34.dischargeReasonOptionsAll)("formControl", ctx_r34.discharged)("autoDisplayFirst", false);
327
+ i0.ɵɵadvance(2);
328
+ i0.ɵɵproperty("options", ctx_r18.dischargeReasonOptionsAll)("formControl", ctx_r18.discharged)("autoDisplayFirst", false);
460
329
  i0.ɵɵadvance(1);
461
330
  i0.ɵɵclassMap("app-grid");
462
- i0.ɵɵproperty("field", ctx_r34.discharged)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
331
+ i0.ɵɵproperty("field", ctx_r18.discharged)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c2));
463
332
  } }
464
333
  function WeeklyCertEmployerComponentQe_ion_row_4_div_25_Template(rf, ctx) { if (rf & 1) {
465
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 45);
334
+ i0.ɵɵelementStart(0, "div", 10)(1, "label", 45);
466
335
  i0.ɵɵtext(2);
467
336
  i0.ɵɵpipe(3, "translate");
468
337
  i0.ɵɵelementEnd();
469
- i0.ɵɵelement(4, "br")(5, "app-dropdown", 57)(6, "app-error", 11);
338
+ i0.ɵɵelement(4, "app-dropdown", 50)(5, "app-error", 13);
470
339
  i0.ɵɵelementEnd();
471
340
  } if (rf & 2) {
472
- const ctx_r35 = i0.ɵɵnextContext(2);
341
+ const ctx_r19 = i0.ɵɵnextContext(2);
473
342
  const _r0 = i0.ɵɵreference(1);
474
343
  i0.ɵɵadvance(2);
475
344
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.quit"));
476
- i0.ɵɵadvance(3);
477
- i0.ɵɵproperty("options", ctx_r35.volQuitReasonOptionsAll)("formControl", ctx_r35.voluntaryQuit)("autoDisplayFirst", false);
478
- i0.ɵɵadvance(1);
479
- i0.ɵɵclassMap("app-grid");
480
- i0.ɵɵproperty("field", ctx_r35.voluntaryQuit)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
481
- } }
482
- function WeeklyCertEmployerComponentQe_ion_row_4_div_26_Template(rf, ctx) { if (rf & 1) {
483
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 49);
484
- i0.ɵɵtext(2, "Job Title");
485
- i0.ɵɵelementEnd();
486
- i0.ɵɵelement(3, "input", 58)(4, "app-error", 11);
487
- i0.ɵɵelementEnd();
488
- } if (rf & 2) {
489
- const ctx_r36 = i0.ɵɵnextContext(2);
490
- const _r0 = i0.ɵɵreference(1);
491
- i0.ɵɵadvance(3);
492
- i0.ɵɵproperty("formControl", ctx_r36.jobTitle);
493
- i0.ɵɵadvance(1);
494
- i0.ɵɵclassMap("app-grid");
495
- i0.ɵɵproperty("field", ctx_r36.jobTitle)("form", _r0)("errDef", i0.ɵɵpureFunction0(6, _c1));
496
- } }
497
- function WeeklyCertEmployerComponentQe_ion_row_4_div_27_Template(rf, ctx) { if (rf & 1) {
498
- const _r44 = i0.ɵɵgetCurrentView();
499
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 47);
500
- i0.ɵɵtext(2, "First day you worked");
501
- i0.ɵɵelementEnd();
502
- i0.ɵɵelementStart(3, "p-calendar", 48);
503
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_4_div_27_Template_p_calendar_onInput_3_listener($event) { i0.ɵɵrestoreView(_r44); const ctx_r43 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r43.dateInput($event)); });
504
- i0.ɵɵelementEnd();
505
- i0.ɵɵelement(4, "app-error", 11);
506
- i0.ɵɵelementEnd();
507
- } if (rf & 2) {
508
- const ctx_r37 = i0.ɵɵnextContext(2);
509
- const _r0 = i0.ɵɵreference(1);
510
- i0.ɵɵadvance(3);
511
- i0.ɵɵproperty("iconAriaLabel", "Start day worked")("showIcon", true)("formControl", ctx_r37.startDayWorked)("maxDate", ctx_r37.maxStartDate)("defaultDate", ctx_r37.sunDate)("selectOtherMonths", true)("monthNavigator", true)("yearNavigator", true);
345
+ i0.ɵɵadvance(2);
346
+ i0.ɵɵproperty("options", ctx_r19.volQuitReasonOptionsAll)("formControl", ctx_r19.voluntaryQuit)("autoDisplayFirst", false);
512
347
  i0.ɵɵadvance(1);
513
348
  i0.ɵɵclassMap("app-grid");
514
- i0.ɵɵproperty("field", ctx_r37.startDayWorked)("form", _r0)("errDef", i0.ɵɵpureFunction1(13, _c3, "Date should be between " + ctx_r37.dynamicParam.sunday_date + " and " + ctx_r37.dynamicParam.saturday_date + "."));
515
- } }
516
- function WeeklyCertEmployerComponentQe_ion_row_4_div_33_div_4_Template(rf, ctx) { if (rf & 1) {
517
- const _r47 = i0.ɵɵgetCurrentView();
518
- i0.ɵɵelementStart(0, "div")(1, "app-wage-calculator", 52);
519
- i0.ɵɵlistener("grossEarningsChange", function WeeklyCertEmployerComponentQe_ion_row_4_div_33_div_4_Template_app_wage_calculator_grossEarningsChange_1_listener($event) { i0.ɵɵrestoreView(_r47); const ctx_r46 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r46.updateGrossEarnings($event)); })("totalHoursChange", function WeeklyCertEmployerComponentQe_ion_row_4_div_33_div_4_Template_app_wage_calculator_totalHoursChange_1_listener($event) { i0.ɵɵrestoreView(_r47); const ctx_r48 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r48.updateTotalHours($event)); })("saveClicked", function WeeklyCertEmployerComponentQe_ion_row_4_div_33_div_4_Template_app_wage_calculator_saveClicked_1_listener($event) { i0.ɵɵrestoreView(_r47); const ctx_r49 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r49.onDialogSave($event)); })("cancelClicked", function WeeklyCertEmployerComponentQe_ion_row_4_div_33_div_4_Template_app_wage_calculator_cancelClicked_1_listener() { i0.ɵɵrestoreView(_r47); const ctx_r50 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(ctx_r50.onDialogCancel()); });
520
- i0.ɵɵelementEnd()();
521
- } if (rf & 2) {
522
- const ctx_r45 = i0.ɵɵnextContext(3);
523
- i0.ɵɵadvance(1);
524
- i0.ɵɵproperty("dynamicParam", ctx_r45.dynamicParam)("showCalculatorPopup", true)("wageCalculatorSavedData", ctx_r45.wageCalculatorData);
525
- } }
526
- function WeeklyCertEmployerComponentQe_ion_row_4_div_33_Template(rf, ctx) { if (rf & 1) {
527
- const _r52 = i0.ɵɵgetCurrentView();
528
- i0.ɵɵelementStart(0, "div", 8)(1, "span", 51);
529
- i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_ion_row_4_div_33_Template_span_click_1_listener($event) { i0.ɵɵrestoreView(_r52); const ctx_r51 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r51.setWageFlag($event)); });
530
- i0.ɵɵelementStart(2, "b");
531
- i0.ɵɵtext(3, "Earnings Calculator");
532
- i0.ɵɵelementEnd()();
533
- i0.ɵɵtemplate(4, WeeklyCertEmployerComponentQe_ion_row_4_div_33_div_4_Template, 2, 3, "div", 2);
534
- i0.ɵɵelementEnd();
535
- } if (rf & 2) {
536
- const ctx_r38 = i0.ɵɵnextContext(2);
537
- i0.ɵɵadvance(4);
538
- i0.ɵɵproperty("ngIf", ctx_r38.wageDialog);
349
+ i0.ɵɵproperty("field", ctx_r19.voluntaryQuit)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c2));
539
350
  } }
540
351
  function WeeklyCertEmployerComponentQe_ion_row_4_Template(rf, ctx) { if (rf & 1) {
541
- const _r54 = i0.ɵɵgetCurrentView();
542
- i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 6)(2, "div", 7)(3, "div", 8)(4, "b");
352
+ i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 8)(2, "div", 9)(3, "div", 10)(4, "b");
543
353
  i0.ɵɵtext(5);
544
354
  i0.ɵɵelementEnd()();
545
- i0.ɵɵelementStart(6, "section", 53);
546
- i0.ɵɵelement(7, "input", 23)(8, "input", 23)(9, "input", 23)(10, "input", 23)(11, "input", 23)(12, "input", 23)(13, "input", 23)(14, "input", 23);
355
+ i0.ɵɵelementStart(6, "section", 47);
356
+ i0.ɵɵelement(7, "input", 35)(8, "input", 35)(9, "input", 35)(10, "input", 35)(11, "input", 35)(12, "input", 35)(13, "input", 35)(14, "input", 35);
547
357
  i0.ɵɵelementEnd();
548
- i0.ɵɵelementStart(15, "div", 8)(16, "label", 21);
358
+ i0.ɵɵelementStart(15, "div", 10)(16, "label", 33);
549
359
  i0.ɵɵtext(17, "What's your employment status with this employer?");
550
360
  i0.ɵɵelementEnd();
551
- i0.ɵɵelement(18, "app-dropdown", 54)(19, "br")(20, "app-error", 11);
361
+ i0.ɵɵelement(18, "app-dropdown", 48)(19, "br")(20, "app-error", 13);
552
362
  i0.ɵɵelementEnd();
553
- i0.ɵɵtemplate(21, WeeklyCertEmployerComponentQe_ion_row_4_div_21_Template, 5, 8, "div", 12)(22, WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template, 9, 17, "div", 12)(23, WeeklyCertEmployerComponentQe_ion_row_4_div_23_Template, 5, 12, "div", 12)(24, WeeklyCertEmployerComponentQe_ion_row_4_div_24_Template, 7, 12, "div", 12)(25, WeeklyCertEmployerComponentQe_ion_row_4_div_25_Template, 7, 12, "div", 12)(26, WeeklyCertEmployerComponentQe_ion_row_4_div_26_Template, 5, 7, "div", 12)(27, WeeklyCertEmployerComponentQe_ion_row_4_div_27_Template, 5, 15, "div", 12);
554
- i0.ɵɵelementStart(28, "div", 8)(29, "label", 17);
555
- i0.ɵɵtext(30, "Last day you worked");
363
+ i0.ɵɵtemplate(21, WeeklyCertEmployerComponentQe_ion_row_4_div_21_Template, 5, 8, "div", 4)(22, WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template, 9, 15, "div", 4)(23, WeeklyCertEmployerComponentQe_ion_row_4_div_23_Template, 5, 10, "div", 4)(24, WeeklyCertEmployerComponentQe_ion_row_4_div_24_Template, 6, 12, "div", 4)(25, WeeklyCertEmployerComponentQe_ion_row_4_div_25_Template, 6, 12, "div", 4);
364
+ i0.ɵɵelementStart(26, "div", 10)(27, "label", 24);
365
+ i0.ɵɵtext(28, "Last day worked");
556
366
  i0.ɵɵelementEnd();
557
- i0.ɵɵelementStart(31, "p-calendar", 55);
558
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_4_Template_p_calendar_onInput_31_listener($event) { i0.ɵɵrestoreView(_r54); const ctx_r53 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r53.dateInput($event)); });
367
+ i0.ɵɵelement(29, "p-calendar", 25)(30, "app-error", 13);
559
368
  i0.ɵɵelementEnd();
560
- i0.ɵɵelement(32, "app-error", 11);
369
+ i0.ɵɵelementStart(31, "div", 10)(32, "label", 28);
370
+ i0.ɵɵtext(33, "Total Gross Earnings");
561
371
  i0.ɵɵelementEnd();
562
- i0.ɵɵtemplate(33, WeeklyCertEmployerComponentQe_ion_row_4_div_33_Template, 5, 1, "div", 12);
563
- i0.ɵɵelementStart(34, "div", 8)(35, "label", 24);
564
- i0.ɵɵtext(36, "Hours worked");
372
+ i0.ɵɵelement(34, "app-overlay-info", 29);
373
+ i0.ɵɵpipe(35, "trustHtml");
374
+ i0.ɵɵpipe(36, "translate");
375
+ i0.ɵɵelement(37, "p-inputNumber", 30)(38, "app-error", 13);
565
376
  i0.ɵɵelementEnd();
566
- i0.ɵɵelement(37, "p-inputNumber", 25)(38, "app-error", 11);
377
+ i0.ɵɵelementStart(39, "div", 10)(40, "label", 31);
378
+ i0.ɵɵtext(41, "Hours worked");
567
379
  i0.ɵɵelementEnd();
568
- i0.ɵɵelementStart(39, "div", 8)(40, "label", 26);
569
- i0.ɵɵtext(41, "Total Gross Earnings");
570
- i0.ɵɵelementEnd();
571
- i0.ɵɵelement(42, "app-overlay-info", 27);
572
- i0.ɵɵpipe(43, "trustHtml");
573
- i0.ɵɵpipe(44, "translate");
574
- i0.ɵɵelement(45, "p-inputNumber", 28)(46, "app-error", 11);
380
+ i0.ɵɵelement(42, "p-inputNumber", 32)(43, "app-error", 13);
575
381
  i0.ɵɵelementEnd()()()();
576
382
  } if (rf & 2) {
577
383
  const ctx_r2 = i0.ɵɵnextContext();
@@ -598,7 +404,7 @@ function WeeklyCertEmployerComponentQe_ion_row_4_Template(rf, ctx) { if (rf & 1)
598
404
  i0.ɵɵproperty("options", ctx_r2.employmentStatusOptionsAll)("formControl", ctx_r2.wcEmpStatus)("autoDisplayFirst", false);
599
405
  i0.ɵɵadvance(2);
600
406
  i0.ɵɵclassMap("app-grid");
601
- i0.ɵɵproperty("field", ctx_r2.wcEmpStatus)("form", _r0)("errDef", i0.ɵɵpureFunction0(58, _c10));
407
+ i0.ɵɵproperty("field", ctx_r2.wcEmpStatus)("form", _r0)("errDef", i0.ɵɵpureFunction0(50, _c1));
602
408
  i0.ɵɵadvance(1);
603
409
  i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "LWLO");
604
410
  i0.ɵɵadvance(1);
@@ -609,33 +415,38 @@ function WeeklyCertEmployerComponentQe_ion_row_4_Template(rf, ctx) { if (rf & 1)
609
415
  i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "DCFI");
610
416
  i0.ɵɵadvance(1);
611
417
  i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "VOLQ");
612
- i0.ɵɵadvance(1);
613
- i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "VOLQ" || ctx_r2.wcEmpStatus.value == "SUSP" || ctx_r2.wcEmpStatus.value == "DCFI" || ctx_r2.wcEmpStatus.value == "STLO");
614
- i0.ɵɵadvance(1);
615
- i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "VOLQ" || ctx_r2.wcEmpStatus.value == "SUSP" || ctx_r2.wcEmpStatus.value == "DCFI");
616
418
  i0.ɵɵadvance(4);
617
- i0.ɵɵproperty("iconAriaLabel", "Last day worked")("showIcon", true)("formControl", ctx_r2.lastDayWorked)("minDate", ctx_r2.sunDate)("maxDate", ctx_r2.satDate)("defaultDate", ctx_r2.sunDate)("selectOtherMonths", true)("monthNavigator", true)("yearNavigator", true);
419
+ i0.ɵɵproperty("iconAriaLabel", "Last day worked")("showIcon", true)("formControl", ctx_r2.lastDayWorked)("minDate", ctx_r2.sunDate)("maxDate", ctx_r2.satDate)("defaultDate", ctx_r2.sunDate);
618
420
  i0.ɵɵadvance(1);
619
421
  i0.ɵɵclassMap("app-grid");
620
- i0.ɵɵproperty("field", ctx_r2.lastDayWorked)("form", _r0)("errDef", i0.ɵɵpureFunction1(59, _c3, "Date should be between " + ctx_r2.dynamicParam.sunday_date + " and " + ctx_r2.dynamicParam.saturday_date + "."));
621
- i0.ɵɵadvance(1);
622
- i0.ɵɵproperty("ngIf", !ctx_r2.isME());
422
+ i0.ɵɵproperty("field", ctx_r2.lastDayWorked)("form", _r0)("errDef", i0.ɵɵpureFunction1(51, _c4, "Date should be between " + ctx_r2.dynamicParam.sunday_date + " and " + ctx_r2.dynamicParam.saturday_date + "."));
623
423
  i0.ɵɵadvance(4);
624
- i0.ɵɵproperty("formControl", ctx_r2.wcEmpHoursWorked)("minFractionDigits", 1)("maxFractionDigits", 2);
424
+ i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(35, 46, i0.ɵɵpipeBind1(36, 48, "weeklies.v2.employment.rtw.info.popup.1000")));
425
+ i0.ɵɵadvance(3);
426
+ i0.ɵɵproperty("formControl", ctx_r2.wsEmpAmtEarned);
625
427
  i0.ɵɵadvance(1);
626
428
  i0.ɵɵclassMap("app-grid");
627
- i0.ɵɵproperty("field", ctx_r2.wcEmpHoursWorked)("form", _r0)("errDef", i0.ɵɵpureFunction0(61, _c12));
429
+ i0.ɵɵproperty("field", ctx_r2.wsEmpAmtEarned)("form", _r0)("errDef", i0.ɵɵpureFunction0(53, _c5));
628
430
  i0.ɵɵadvance(4);
629
- i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(43, 54, i0.ɵɵpipeBind1(44, 56, "weeklies.v2.employment.rtw.info.popup.1000")));
630
- i0.ɵɵadvance(3);
631
- i0.ɵɵproperty("formControl", ctx_r2.wsEmpAmtEarned);
431
+ i0.ɵɵproperty("formControl", ctx_r2.wcEmpHoursWorked);
632
432
  i0.ɵɵadvance(1);
633
433
  i0.ɵɵclassMap("app-grid");
634
- i0.ɵɵproperty("field", ctx_r2.wsEmpAmtEarned)("form", _r0)("errDef", i0.ɵɵpureFunction0(62, _c13));
434
+ i0.ɵɵproperty("field", ctx_r2.wcEmpHoursWorked)("form", _r0)("errDef", i0.ɵɵpureFunction0(54, _c6));
435
+ } }
436
+ const _c7 = a0 => ({ earningsRequired: a0 });
437
+ function WeeklyCertEmployerComponentQe_div_7_Template(rf, ctx) { if (rf & 1) {
438
+ i0.ɵɵelementStart(0, "div", 10);
439
+ i0.ɵɵelement(1, "app-error", 51);
440
+ i0.ɵɵpipe(2, "date");
441
+ i0.ɵɵelementEnd();
442
+ } if (rf & 2) {
443
+ const ctx_r3 = i0.ɵɵnextContext();
444
+ const _r0 = i0.ɵɵreference(1);
445
+ i0.ɵɵadvance(1);
446
+ i0.ɵɵproperty("form", _r0)("field", ctx_r3.empForm)("errDef", i0.ɵɵpureFunction1(6, _c7, "Please report gross earnings and hours worked for the week ending " + i0.ɵɵpipeBind2(2, 3, ctx_r3.satDate, "MM/dd/yyyy") + "."));
635
447
  } }
636
- export class WeeklyCertEmployerComponentQe extends BasePage {
448
+ export class WeeklyCertEmployerComponentQe {
637
449
  constructor(util, formBuilder, cs) {
638
- super();
639
450
  this.util = util;
640
451
  this.formBuilder = formBuilder;
641
452
  this.cs = cs;
@@ -643,29 +454,16 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
643
454
  this.onClose = new EventEmitter();
644
455
  this.empToEdit = new EmployerInfoModel();
645
456
  this.yesNoOption = ComboOption.YES_NO;
646
- this.statesCombo = [];
647
- this.countryOptions = ComboOption.COUNTRY;
648
- this.isEditMode = false;
457
+ this.statesCombo = ComboOption.US_STATES;
649
458
  this.dischargeReasonOptionsAll = [];
650
459
  this.volQuitReasonOptionsAll = [];
651
460
  this.employmentStatusOptionsAll = [];
652
- this.wageCalculatorData = new WageCalculatorModel();
653
- this.usZipcodeValidations = [Validators.required, AppValidators.isValidZipCode];
654
- this.canadaZipcodeValidations = [Validators.required, AppValidators.isValidCanadianZipCode];
655
461
  }
656
462
  ngOnInit() {
657
463
  this.loadMasterData();
658
464
  this.satDate = this.util.getEnteredDateFromString(this.dynamicParam.saturday_date);
659
465
  this.sunDate = this.util.getEnteredDateFromString(this.dynamicParam.sunday_date);
660
466
  this.initilizeEmployerInforForm();
661
- this.isEditMode = !!this.empToEdit;
662
- this.wcEmpHoursWorked.valueChanges.subscribe(val => {
663
- if (val) {
664
- if (val > 168) {
665
- this.wcEmpHoursWorked.setErrors({ hoursPerWeekExceeded: true });
666
- }
667
- }
668
- });
669
467
  }
670
468
  loadMasterData() {
671
469
  this.cs.loadMasterData();
@@ -680,20 +478,14 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
680
478
  });
681
479
  }
682
480
  add() {
683
- //this.setValidationForHoursAndWagesOnActivityType();
481
+ // Mark all controls as touched to trigger validation display
482
+ this.empForm.markAllAsTouched();
483
+ // Manually update value and validity
484
+ this.empForm.updateValueAndValidity();
485
+ // Check if form is valid after conditional validation
684
486
  if (this.empForm.valid) {
685
487
  this.empForm.value.isPartTimeEmployerEdited = true;
686
488
  this.success.emit(this.empForm.value);
687
- this.isEditMode = false;
688
- }
689
- }
690
- save() {
691
- //this.setValidationForHoursAndWagesOnActivityType();
692
- if (this.empForm.valid) {
693
- this.empForm.value.isPartTimeEmployerEdited = true;
694
- this.success.emit(this.empForm.value);
695
- this.initilizeEmployerInforForm();
696
- this.isEditMode = true;
697
489
  }
698
490
  }
699
491
  close() {
@@ -702,13 +494,12 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
702
494
  initilizeEmployerInforForm() {
703
495
  let empInfo = this.empToEdit ? this.empToEdit : new EmployerInfoModel();
704
496
  this.empForm = this.formBuilder.group({
705
- 'lastDayWorked': [empInfo.lastDayWorked != null ? this.getDate(empInfo.lastDayWorked) : '', Validators.compose([Validators.required, AppValidators.isBetweenDate(this.sunDate, this.satDate)])],
706
- 'employerName': [empInfo.employerName, [Validators.required, Validators.pattern(/^(?!.*[%<>\^_{}])[A-Za-z0-9\s\.,&'()#!@:$\/\\\-\+?"]+$/)]],
707
- 'line1': [empInfo.line1, [Validators.required, Validators.pattern(/^[0-9A-Za-z\s,'\-\.#\/]+$/)]],
497
+ 'lastDayWorked': [empInfo.lastDayWorked, Validators.compose([Validators.required, AppValidators.isBetween(this.sunDate, this.satDate)])],
498
+ 'employerName': [empInfo.employerName, Validators.required],
499
+ 'line1': [empInfo.line1, Validators.required],
708
500
  'line2': [empInfo.line2],
709
- 'city': [empInfo.city, Validators.compose([Validators.required, Validators.pattern(/^(?!-)[A-Za-z -]*$/)])],
501
+ 'city': [empInfo.city, Validators.required],
710
502
  'state': [empInfo.state != undefined ? empInfo.state : this.util.getState(), Validators.required],
711
- 'country': [empInfo.country],
712
503
  'grossEarning': [empInfo.grossEarning, Validators.compose([Validators.required])],
713
504
  'reasonSeparation': [empInfo.reasonSeparation != undefined ? empInfo.reasonSeparation : '', Validators.required],
714
505
  'haveReturnToWorkDate': [empInfo.haveReturnToWorkDate],
@@ -721,83 +512,37 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
721
512
  'employerId': [empInfo.employerId],
722
513
  'tempWcEmployerId': [empInfo.tempWcEmployerId ? empInfo.tempWcEmployerId : new Date().getTime()],
723
514
  'potentialIssueId': [empInfo.potentialIssueId ? empInfo.potentialIssueId : null],
724
- 'isPartTimeEmployer': [empInfo.isPartTimeEmployer ? empInfo.isPartTimeEmployer : null],
725
- 'jobTitle': [empInfo.jobTitle, Validators.maxLength(50)],
726
- 'startDayWorked': [empInfo.startDayWorked]
727
- });
728
- this.lastDayWorked.valueChanges.subscribe(val => {
729
- if (val) {
730
- this.maxStartDate = new Date(val);
731
- if (this.startDayWorked.value) {
732
- let startDate = new Date(this.startDayWorked.value);
733
- if (startDate > this.maxStartDate) {
734
- this.startDayWorked.patchValue(null);
735
- this.startDayWorked.updateValueAndValidity();
736
- }
737
- }
738
- }
515
+ 'isPartTimeEmployer': [empInfo.isPartTimeEmployer ? empInfo.isPartTimeEmployer : null]
516
+ }, {
517
+ validators: AppValidators.requireEarningsIfWorked(this.sunDate, this.satDate)
739
518
  });
740
519
  this.wcEmpStatus.valueChanges.subscribe(val => {
741
- this.setValidationBasedOnEmploymentStatus(val);
742
- });
743
- if (empInfo.reasonSeparation) {
744
- this.setValidationBasedOnEmploymentStatus(empInfo.reasonSeparation);
745
- }
746
- if (this.lastDayWorked.value) {
747
- this.maxStartDate = new Date(this.lastDayWorked.value);
748
- }
749
- if (this.isME()) {
750
- this.util.setRequiredValidator(this.wcEmpCountry);
751
- this.setZipCodeValidationBasedOnCountry();
752
- this.wcEmpCountry.valueChanges.subscribe(country => {
753
- this.filterState(country);
754
- });
755
- this.wcEmpCountry.setValue("US");
756
- }
757
- else {
758
- this.statesCombo = ComboOption.US_STATES;
759
- }
760
- }
761
- setZipCodeValidationBasedOnCountry() {
762
- this.wcEmpCountry.valueChanges.subscribe(c => {
763
- if (c == 'US') {
764
- this.util.clearValidation(this.wsZipCode);
765
- this.util.setValidation(this.wsZipCode, this.usZipcodeValidations);
520
+ if (val && val == 'RTWF') {
521
+ this.util.setRequiredValidator(this.wcEmpLowRtwDate);
522
+ }
523
+ else {
524
+ this.util.clearValidation(this.wcEmpLowRtwDate);
525
+ }
526
+ if (val && val == 'LWLO') {
527
+ this.util.setRequiredValidator(this.haveReturnToWorkDate);
528
+ }
529
+ else {
530
+ this.util.clearValidation(this.haveReturnToWorkDate);
766
531
  }
767
- else if (c == 'CA') {
768
- this.util.clearValidation(this.wsZipCode);
769
- this.util.setValidation(this.wsZipCode, this.canadaZipcodeValidations);
532
+ if (val && val == 'DCFI') {
533
+ this.util.setRequiredValidator(this.discharged);
534
+ }
535
+ else {
536
+ this.util.clearValidation(this.discharged);
537
+ }
538
+ if (val && val == 'VOLQ') {
539
+ this.util.setRequiredValidator(this.voluntaryQuit);
540
+ }
541
+ else {
542
+ this.util.clearValidation(this.voluntaryQuit);
770
543
  }
771
544
  });
772
545
  }
773
- filterState(event) {
774
- console.log(event, this.wcEmpCountry?.value);
775
- let choice;
776
- if (this.wcEmpCountry?.value === 'US') {
777
- const currentState = ComboOption.US_STATES.find(state => state.value == this.util.getState());
778
- choice = [currentState, ...ComboOption.US_STATES.filter(state => state.value != this.util.getState())];
779
- }
780
- if (this.wcEmpCountry?.value === 'CA') {
781
- choice = ComboOption.CA_STATES;
782
- }
783
- this.statesCombo = choice;
784
- }
785
- updateGrossEarnings(grossEarnings) {
786
- if (grossEarnings === 0) {
787
- this.empForm.controls['grossEarning'].reset();
788
- }
789
- else {
790
- this.empForm.patchValue({ grossEarning: grossEarnings });
791
- }
792
- }
793
- updateTotalHours(totalHours) {
794
- if (totalHours === 0) {
795
- this.empForm.controls['hoursWorkedInWeek'].reset();
796
- }
797
- else {
798
- this.empForm.patchValue({ hoursWorkedInWeek: totalHours });
799
- }
800
- }
801
546
  get haveReturnToWorkDate() {
802
547
  return this.empForm.controls['haveReturnToWorkDate'];
803
548
  }
@@ -825,9 +570,6 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
825
570
  get wcEmpState() {
826
571
  return this.empForm.controls['state'];
827
572
  }
828
- get wcEmpCountry() {
829
- return this.empForm.controls['country'];
830
- }
831
573
  get wsEmpAmtEarned() {
832
574
  return this.empForm.controls['grossEarning'];
833
575
  }
@@ -858,111 +600,12 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
858
600
  get isPartTimeEmployer() {
859
601
  return this.empForm.controls['isPartTimeEmployer'];
860
602
  }
861
- get jobTitle() {
862
- return this.empForm.controls['jobTitle'];
863
- }
864
- get startDayWorked() {
865
- return this.empForm.controls['startDayWorked'];
866
- }
867
- setValidationForHoursAndWagesOnActivityType() {
868
- if (this.empToEdit?.isPartTimeEmployer) {
869
- if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
870
- && (this.wcEmpHoursWorked.value === 0.0 || this.wcEmpHoursWorked.value === 0)
871
- && this.wcEmpStatus.value === 'WRPT') {
872
- this.util.clearValidation(this.wsEmpAmtEarned);
873
- this.wcEmpStatus.setErrors({ 'changeEmpStatus': true });
874
- }
875
- else if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
876
- && (this.wcEmpHoursWorked.value > 0.0 || this.wcEmpHoursWorked.value > 0)
877
- && this.wcEmpStatus.value === 'WRPT') {
878
- this.util.clearValidation(this.wcEmpStatus);
879
- this.wsEmpAmtEarned.setErrors({ 'earningsNotZero': true });
880
- }
881
- else if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
882
- && (this.wcEmpHoursWorked.value > 0.0 || this.wcEmpHoursWorked.value > 0 ||
883
- this.wcEmpHoursWorked.value === 0.0 || this.wcEmpHoursWorked.value === 0)
884
- && this.wcEmpStatus.value !== 'WRPT') {
885
- this.util.clearValidation(this.wcEmpStatus);
886
- this.wsEmpAmtEarned.setErrors({ 'earningsNotZero': true });
887
- }
888
- }
889
- else {
890
- if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
891
- && (this.wcEmpHoursWorked.value === 0.0 || this.wcEmpHoursWorked.value === 0)
892
- && this.wcEmpStatus.value === 'WRPT') {
893
- this.util.clearValidation(this.wsEmpAmtEarned);
894
- this.wcEmpStatus.setErrors({ 'changeEmpStatus': true });
895
- }
896
- if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
897
- && (this.wcEmpHoursWorked.value > 0.0 || this.wcEmpHoursWorked.value > 0)
898
- && this.wcEmpStatus.value === 'WRPT') {
899
- this.util.clearValidation(this.wcEmpStatus);
900
- this.wsEmpAmtEarned.setErrors({ 'earningsNotZero': true });
901
- }
902
- }
903
- }
904
- setValidationBasedOnEmploymentStatus(val) {
905
- if (val && val == 'RTWF') {
906
- this.util.setRequiredValidator(this.wcEmpLowRtwDate);
907
- }
908
- else {
909
- this.util.clearValidation(this.wcEmpLowRtwDate);
910
- }
911
- if (val && val == 'LWLO') {
912
- this.jobTitle.clearValidators;
913
- this.util.setRequiredValidator(this.haveReturnToWorkDate);
914
- }
915
- else {
916
- this.util.clearValidation(this.haveReturnToWorkDate);
917
- }
918
- if (val && val == 'DCFI') {
919
- this.util.setRequiredValidator(this.discharged);
920
- if (!this.isMS()) {
921
- this.util.setRequiredValidator(this.jobTitle);
922
- this.util.setRequiredValidator(this.startDayWorked);
923
- }
924
- }
925
- else {
926
- this.util.clearValidation(this.jobTitle);
927
- this.util.clearValidation(this.startDayWorked);
928
- this.util.clearValidation(this.discharged);
929
- }
930
- if (val && val == 'VOLQ') {
931
- this.util.setRequiredValidator(this.voluntaryQuit);
932
- if (!this.isMS()) {
933
- this.util.setRequiredValidator(this.jobTitle);
934
- this.util.setRequiredValidator(this.startDayWorked);
935
- }
936
- }
937
- else {
938
- this.util.clearValidation(this.jobTitle);
939
- this.util.clearValidation(this.startDayWorked);
940
- this.util.clearValidation(this.voluntaryQuit);
941
- }
942
- if (val && val == 'SUSP' && !this.isMS()) {
943
- this.util.setRequiredValidator(this.jobTitle);
944
- this.util.setRequiredValidator(this.startDayWorked);
945
- }
946
- else {
947
- this.util.clearValidation(this.jobTitle);
948
- this.util.clearValidation(this.startDayWorked);
949
- }
950
- if (val && val == 'STLO' && !this.isMS()) {
951
- this.util.setRequiredValidator(this.jobTitle);
952
- }
953
- else {
954
- this.util.clearValidation(this.jobTitle);
955
- }
956
- }
957
603
  setEmployer(employer) {
958
604
  this.wcEmpName.setValue(employer.employerName);
959
605
  this.wcEmpAddressLine1.setValue(employer.addressLine1);
960
606
  this.wcEmpAddressLine2.setValue(employer.addressLine2);
961
607
  this.wcEmpCity.setValue(employer.city);
962
608
  this.wcEmpState.setValue(employer.state.value);
963
- if (this.isME()) {
964
- this.wcEmpCountry.setValue(employer.country.value);
965
- }
966
609
  this.wsZipCode.setValue(employer.zip);
967
610
  this.hidEmpId.setValue(employer.employerId);
968
611
  }
@@ -977,39 +620,25 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
977
620
  }
978
621
  }
979
622
  }
980
- getDate(wsDate) {
981
- if (!(wsDate instanceof Date)) {
982
- return this.util.getEnteredDate(wsDate);
983
- }
984
- return wsDate;
985
- }
986
- setWageFlag(event) {
987
- event.preventDefault();
988
- this.wageDialog = true;
989
- }
990
- onDialogSave(wageCalculatorSavedData) {
991
- this.wageCalculatorData = wageCalculatorSavedData;
992
- this.wageDialog = false;
993
- }
994
- onDialogCancel() {
995
- this.wageDialog = false;
996
- }
997
623
  static { this.ɵfac = function WeeklyCertEmployerComponentQe_Factory(t) { return new (t || WeeklyCertEmployerComponentQe)(i0.ɵɵdirectiveInject(i1.UtilService), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.ClaimService)); }; }
998
624
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WeeklyCertEmployerComponentQe, selectors: [["app-weekly-cert-employer-qe"]], viewQuery: function WeeklyCertEmployerComponentQe_Query(rf, ctx) { if (rf & 1) {
999
625
  i0.ɵɵviewQuery(_c0, 5);
1000
626
  } if (rf & 2) {
1001
627
  let _t;
1002
628
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.empFormDirective = _t.first);
1003
- } }, inputs: { empToEdit: "empToEdit", dynamicParam: "dynamicParam" }, outputs: { success: "success", onClose: "onClose" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 11, vars: 4, consts: [[3, "formGroup"], ["empFormDirective", "ngForm"], [4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["shape", "round", "type", "submit", 3, "click"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "formgrid"], [1, "field"], ["for", "wcEmpName"], ["id", "wcEmployerName", 3, "formControl", "empType", "onFound"], [3, "field", "form", "errDef"], ["class", "field", 4, "ngIf"], ["for", "wcEmpAddressLine1"], ["id", "wcEmpAddressLine1", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "wcEmpCity"], ["id", "wcEmpCity", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "lastDayWorked"], ["inputId", "lastDayWorked", "appendTo", "body", "placeholder", "mm/dd/yyyy", "dateFormat", "mm/dd/yy", "yearRange", "1901:2050", 3, "iconAriaLabel", "showIcon", "formControl", "minDate", "maxDate", "defaultDate", "selectOtherMonths", "monthNavigator", "yearNavigator", "onInput"], ["for", "wsPhoneNumber"], ["inputId", "wsPhoneNumber", "mask", "(999) 999-9999", "unmask", "true", 3, "formControl"], ["for", "wcEmpStatus"], ["inputId", "wcEmpStatus", "optionLabel", "text", "optionValue", "value", "appendTo", "body", "inputId", "wcEmpStatus1", 3, "options", "formControl", "autoDisplayFirst"], ["type", "hidden", 3, "formControl"], ["for", "wcEmpHoursWorked"], ["inputId", "wcEmpHoursWorked", "maxlength", "10", "mode", "decimal", 3, "formControl", "minFractionDigits", "maxFractionDigits"], ["for", "wsEmpAmtEarned"], [2, "padding-left", "8px", "padding-top", "3px", 3, "overlayText"], ["inputId", "wsEmpAmtEarned", "mode", "currency", "currency", "USD", "locale", "en-US", "maxlength", "10", "placeholder", "$0.00", 3, "formControl"], ["for", "wcEmpState"], ["inputId", "wcEmpCountry", "optionLabel", "text", "optionValue", "value", "appendTo", "body", "inputId", "wcEmpCountry", 3, "options", "formControl", "autoDisplayFirst"], [2, "padding", "0px"], ["inputId", "wcEmpState", "optionLabel", "text", "optionValue", "value", "appendTo", "body", "inputId", "wcEmpState", 3, "options", "formControl", "autoDisplayFirst"], ["size", "1"], ["for", "wsZipCode"], ["id", "wsZipCode", "type", "input", "pInputText", "", "minlength", "5", "maxlength", "9", "appStripInvisibleChars", "", 3, "formControl"], ["for", "haveReturnToWorkDate"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "wcEmpLowRtwDate"], [2, "display", "flex"], ["inputId", "wcEmpLowRtwDate", "appendTo", "body", "placeholder", "mm/dd/yyyy", "yearRange", "1901:2050", 3, "showIcon", "formControl", "showOnFocus", "iconAriaLabel", "monthNavigator", "yearNavigator", "onInput"], ["for", "wcEmpRtwDate"], ["inputId", "wcEmpRtwDate", "appendTo", "body", "placeholder", "mm/dd/yyyy", "optionValue", "value", "yearRange", "1901:2050", 3, "showIcon", "formControl", "showOnFocus", "iconAriaLabel", "monthNavigator", "yearNavigator", "onInput"], ["for", "dischargeDetail"], ["optionLabel", "text", "appendTo", "body", "optionValue", "value", "inputId", "discharged1", 3, "options", "formControl", "autoDisplayFirst"], ["for", "volQuitDetails"], ["optionLabel", "text", "appendTo", "body", "optionValue", "value", "inputId", "voluntaryQuit1", 3, "options", "formControl", "autoDisplayFirst"], ["for", "startDayWorked"], ["inputId", "startDayWorked", "appendTo", "body", "placeholder", "mm/dd/yyyy", "yearRange", "1901:2050", 3, "iconAriaLabel", "showIcon", "formControl", "maxDate", "defaultDate", "selectOtherMonths", "monthNavigator", "yearNavigator", "onInput"], ["for", "jobTitle"], ["id", "jobTitle", "type", "input", "pInputText", "", "required", "", "appStripInvisibleChars", "", 3, "formControl"], [1, "underline-blue", 2, "cursor", "pointer", 3, "click"], [3, "dynamicParam", "showCalculatorPopup", "wageCalculatorSavedData", "grossEarningsChange", "totalHoursChange", "saveClicked", "cancelClicked"], ["hidden", ""], ["inputId", "wcEmpStatus", "optionLabel", "text", "optionValue", "value", "appendTo", "body", "inputId", "wcEmpStatus2", 3, "options", "formControl", "autoDisplayFirst"], ["inputId", "lastDayWorked", "appendTo", "body", "dateFormat", "mm/dd/yy", "placeholder", "mm/dd/yyyy", "yearRange", "1901:2050", 3, "iconAriaLabel", "showIcon", "formControl", "minDate", "maxDate", "defaultDate", "selectOtherMonths", "monthNavigator", "yearNavigator", "onInput"], ["optionLabel", "text", "appendTo", "body", "optionValue", "value", "inputId", "discharged2", 3, "options", "formControl", "autoDisplayFirst"], ["optionLabel", "text", "appendTo", "body", "optionValue", "value", "inputId", "voluntaryQuit2", 3, "options", "formControl", "autoDisplayFirst"], ["id", "jobTitle", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"]], template: function WeeklyCertEmployerComponentQe_Template(rf, ctx) { if (rf & 1) {
629
+ } }, inputs: { empToEdit: "empToEdit", dynamicParam: "dynamicParam" }, outputs: { success: "success", onClose: "onClose" }, decls: 14, vars: 4, consts: [[3, "formGroup"], ["empFormDirective", "ngForm"], [4, "ngIf"], [2, "margin", "0 10px auto"], ["class", "field", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["shape", "round", "type", "submit", 3, "click"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "formgrid"], [1, "field"], ["for", "wcEmpName"], [3, "formControl", "empType", "onFound"], [3, "field", "form", "errDef"], ["for", "wcEmpAddressLine1"], ["id", "wcEmpAddressLine1", "type", "input", "pInputText", "", 3, "formControl"], ["for", "wcEmpCity"], ["id", "wcEmpCity", "type", "input", "pInputText", "", 3, "formControl"], [2, "padding", "0px"], ["for", "wcEmpState"], ["inputId", "wcEmpState", "optionLabel", "text", "optionValue", "value", "appendTo", "body", "inputId", "wcEmpState", 3, "options", "formControl", "autoDisplayFirst"], ["size", "1"], ["for", "wsZipCode"], ["id", "wsZipCode", "type", "input", "pInputText", "", "minlength", "5", "maxlength", "9", 3, "formControl"], ["for", "lastDayWorked"], ["inputId", "lastDayWorked", "appendTo", "body", 3, "iconAriaLabel", "showIcon", "formControl", "minDate", "maxDate", "defaultDate"], ["for", "wsPhoneNumber"], ["inputId", "wsPhoneNumber", "mask", "(999) 999-9999", "unmask", "true", 3, "formControl"], ["for", "wsEmpAmtEarned"], [2, "padding-left", "8px", "padding-top", "3px", 3, "overlayText"], ["inputId", "wsEmpAmtEarned", "mode", "currency", "currency", "USD", "locale", "en-US", "maxlength", "10", 3, "formControl"], ["for", "wcEmpHoursWorked"], ["inputId", "wcEmpHoursWorked", "maxlength", "10", "useGrouping", "false", 3, "formControl"], ["for", "wcEmpStatus"], ["inputId", "wcEmpStatus", "optionLabel", "text", "optionValue", "value", "appendTo", "body", "inputId", "wcEmpStatus1", 3, "options", "formControl", "autoDisplayFirst"], ["type", "hidden", 3, "formControl"], ["for", "haveReturnToWorkDate"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["for", "wcEmpLowRtwDate"], [2, "display", "flex"], ["inputId", "wcEmpLowRtwDate", "appendTo", "body", "placeholder", "mm/dd/yyyy", 3, "showIcon", "formControl", "showOnFocus", "iconAriaLabel", "onInput"], ["for", "wcEmpRtwDate"], ["inputId", "wcEmpRtwDate", "appendTo", "body", "placeholder", "mm/dd/yyyy", "optionValue", "value", 3, "showIcon", "formControl", "showOnFocus", "iconAriaLabel", "onInput"], ["for", "dischargeDetail"], ["optionLabel", "text", "appendTo", "body", "optionValue", "value", "inputId", "discharged1", 3, "options", "formControl", "autoDisplayFirst"], ["for", "volQuitDetails"], ["optionLabel", "text", "appendTo", "body", "optionValue", "value", "inputId", "voluntaryQuit1", 3, "options", "formControl", "autoDisplayFirst"], ["hidden", ""], ["inputId", "wcEmpStatus", "optionLabel", "text", "optionValue", "value", "appendTo", "body", "inputId", "wcEmpStatus2", 3, "options", "formControl", "autoDisplayFirst"], ["optionLabel", "text", "appendTo", "body", "optionValue", "value", "inputId", "discharged2", 3, "options", "formControl", "autoDisplayFirst"], ["optionLabel", "text", "appendTo", "body", "optionValue", "value", "inputId", "voluntaryQuit2", 3, "options", "formControl", "autoDisplayFirst"], [3, "form", "field", "errDef"]], template: function WeeklyCertEmployerComponentQe_Template(rf, ctx) { if (rf & 1) {
1004
630
  i0.ɵɵelementStart(0, "form", 0, 1)(2, "ion-grid");
1005
- i0.ɵɵtemplate(3, WeeklyCertEmployerComponentQe_ion_row_3_Template, 65, 87, "ion-row", 2)(4, WeeklyCertEmployerComponentQe_ion_row_4_Template, 47, 63, "ion-row", 2);
1006
- i0.ɵɵelementStart(5, "ion-row")(6, "ion-col", 3)(7, "ion-button", 4);
1007
- i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_Template_ion_button_click_7_listener() { return ctx.close(); });
1008
- i0.ɵɵtext(8, "Clear");
631
+ i0.ɵɵtemplate(3, WeeklyCertEmployerComponentQe_ion_row_3_Template, 69, 92, "ion-row", 2)(4, WeeklyCertEmployerComponentQe_ion_row_4_Template, 44, 55, "ion-row", 2);
632
+ i0.ɵɵelementStart(5, "ion-row", 3)(6, "ion-col");
633
+ i0.ɵɵtemplate(7, WeeklyCertEmployerComponentQe_div_7_Template, 3, 8, "div", 4);
634
+ i0.ɵɵelementEnd()();
635
+ i0.ɵɵelementStart(8, "ion-row")(9, "ion-col", 5)(10, "ion-button", 6);
636
+ i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_Template_ion_button_click_10_listener() { return ctx.close(); });
637
+ i0.ɵɵtext(11, "Clear");
1009
638
  i0.ɵɵelementEnd();
1010
- i0.ɵɵelementStart(9, "ion-button", 5);
1011
- i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_Template_ion_button_click_9_listener() { return ctx.isEditMode ? ctx.save() : ctx.add(); });
1012
- i0.ɵɵtext(10);
639
+ i0.ɵɵelementStart(12, "ion-button", 7);
640
+ i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_Template_ion_button_click_12_listener() { return ctx.add(); });
641
+ i0.ɵɵtext(13, "Add");
1013
642
  i0.ɵɵelementEnd()()()()();
1014
643
  } if (rf & 2) {
1015
644
  i0.ɵɵproperty("formGroup", ctx.empForm);
@@ -1017,13 +646,13 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
1017
646
  i0.ɵɵproperty("ngIf", !(ctx.empToEdit == null ? null : ctx.empToEdit.isPartTimeEmployer));
1018
647
  i0.ɵɵadvance(1);
1019
648
  i0.ɵɵproperty("ngIf", ctx.empToEdit == null ? null : ctx.empToEdit.isPartTimeEmployer);
1020
- i0.ɵɵadvance(6);
1021
- i0.ɵɵtextInterpolate1(" ", ctx.isEditMode ? "Save" : "Add", " ");
1022
- } }, dependencies: [i4.IonButton, i4.IonCol, i4.IonGrid, i4.IonRow, i5.NgIf, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.RequiredValidator, i2.MinLengthValidator, i2.MaxLengthValidator, i2.FormControlDirective, i2.FormGroupDirective, i6.InputText, i7.InputMask, i8.Calendar, i9.SelectButton, i10.InputNumber, i11.ErrorComponent, i12.OverlayInfoComponent, i13.SearchEmployerComponent, i14.Dropdown, i15.WageCalculatorComponent, i16.StripInvisibleCharsDirective, i17.TranslatePipe, i18.TrustHtmlPipe], styles: ["[_nghost-%COMP%] .p-fluid .p-buttonset{display:inline-flex!important}.underline-blue[_ngcontent-%COMP%]{color:#4478aa;text-decoration:underline}"] }); }
649
+ i0.ɵɵadvance(3);
650
+ i0.ɵɵproperty("ngIf", ctx.empForm.invalid && (ctx.empForm.errors == null ? null : ctx.empForm.errors.earningsRequired));
651
+ } }, dependencies: [i4.IonButton, i4.IonCol, i4.IonGrid, i4.IonRow, i5.NgIf, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.MinLengthValidator, i2.MaxLengthValidator, i2.FormControlDirective, i2.FormGroupDirective, i6.InputText, i7.InputMask, i8.Calendar, i9.SelectButton, i10.InputNumber, i11.ErrorComponent, i12.OverlayInfoComponent, i13.SearchEmployerComponent, i14.Dropdown, i5.DatePipe, i15.TranslatePipe, i16.TrustHtmlPipe], styles: ["[_nghost-%COMP%] .p-fluid .p-buttonset{display:inline-flex!important}"] }); }
1023
652
  }
1024
653
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WeeklyCertEmployerComponentQe, [{
1025
654
  type: Component,
1026
- args: [{ selector: 'app-weekly-cert-employer-qe', template: "<form [formGroup]=\"empForm\" #empFormDirective=\"ngForm\">\r\n <ion-grid>\r\n <ion-row *ngIf=\"!empToEdit?.isPartTimeEmployer\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid formgrid\">\r\n \r\n <div class=\"field\">\r\n <label for=\"wcEmpName\">Employer Name</label>\r\n <app-search-employer id=\"wcEmployerName\" [formControl]=\"wcEmpName\" (onFound)=\"setEmployer($event)\"\r\n [empType]=\"'REG'\"></app-search-employer>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpName' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', pattern: '%, <, >, ^, _, {, } are not allowed'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"isME()\">\r\n <label for=\"wcEmpState\">Country</label><br>\r\n <app-dropdown inputId=\"wcEmpCountry\" [options]=\"countryOptions\" optionLabel=\"text\" optionValue=\"value\"\r\n appendTo=\"body\" [formControl]=\"wcEmpCountry\" [autoDisplayFirst]=\"false\" inputId=\"wcEmpCountry\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpCountry' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wcEmpAddressLine1\">Street Address</label>\r\n <input id=\"wcEmpAddressLine1\" type=\"input\" pInputText [formControl]=\"wcEmpAddressLine1\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpAddressLine1' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', pattern: 'only letters, numbers, spaces, commas, periods, apostrophes, hyphens, # and / allowed'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wcEmpCity\">City</label>\r\n <input id=\"wcEmpCity\" type=\"input\" pInputText [formControl]=\"wcEmpCity\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpCity' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', pattern: 'city name can only contain letters, spaces, and hyphens'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div *ngIf=\"isME()\">\r\n <ion-row>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"wcEmpState\">State</label><br>\r\n <app-dropdown inputId=\"wcEmpState\" [options]=\"statesCombo\" optionLabel=\"text\" optionValue=\"value\"\r\n appendTo=\"body\" [formControl]=\"wcEmpState\" [autoDisplayFirst]=\"false\" inputId=\"wcEmpState\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpState' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"wsZipCode\">Zip Code</label>\r\n <input id=\"wsZipCode\" type=\"input\" pInputText [formControl]=\"wsZipCode\" minlength=\"5\" maxlength=\"9\"\r\n appStripInvisibleChars />\r\n <app-error [class]=\"'app-grid'\" [field]='wsZipCode' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required',\r\n invalidLength: 'Zip code should be of 5 or 9 digits.',\r\n invalidNumber: 'Zip code should only have numbers.',\r\n invalidZipCode: 'please enter a valid zip code'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n </div>\r\n\r\n <div *ngIf=\"!isME()\">\r\n <div class=\"field\">\r\n <label for=\"wcEmpState\">State</label><br>\r\n <app-dropdown inputId=\"wcEmpState\" [options]=\"statesCombo\" optionLabel=\"text\" optionValue=\"value\" appendTo=\"body\"\r\n [formControl]=\"wcEmpState\" [autoDisplayFirst]=\"false\" inputId=\"wcEmpState\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpState' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"wsZipCode\">Zip Code</label>\r\n <input id=\"wsZipCode\" type=\"input\" pInputText [formControl]=\"wsZipCode\" minlength=\"5\" maxlength=\"9\"\r\n appStripInvisibleChars />\r\n <app-error [class]=\"'app-grid'\" [field]='wsZipCode' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required',\r\n invalidLength: 'Zip code should be of 5 or 9 digits.',\r\n invalidNumber: 'Zip code should only have numbers.',\r\n invalidZipCode: 'please enter a valid zip code'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"lastDayWorked\">Last day you worked</label>\r\n <p-calendar [iconAriaLabel]=\"'Last day worked'\" [showIcon]=\"true\" inputId=\"lastDayWorked\" appendTo=\"body\"\r\n [formControl]=\"lastDayWorked\" [minDate]=\"sunDate\" [maxDate]=\"satDate\"\r\n [defaultDate]=\"sunDate\" [selectOtherMonths]=\"true\" placeholder=\"mm/dd/yyyy\" dateFormat=\"mm/dd/yy\"\r\n [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='lastDayWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required',\r\n dateNotBetween: 'Date should be between ' + dynamicParam.sunday_date + ' and ' + dynamicParam.saturday_date + '.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n </ion-col>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid formgrid\">\r\n\r\n \r\n\r\n <div class=\"field\">\r\n <label for=\"wsPhoneNumber\">Phone No.</label>\r\n <p-inputMask inputId=\"wsPhoneNumber\" [formControl]=\"wsPhoneNumber\" mask=\"(999) 999-9999\"\r\n unmask=\"true\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='wsPhoneNumber' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wcEmpStatus\">What's your employment status with this employer?</label>\r\n <app-dropdown inputId=\"wcEmpStatus\" [options]=\"employmentStatusOptionsAll\" optionLabel=\"text\"\r\n optionValue=\"value\" appendTo=\"body\" [formControl]=\"wcEmpStatus\" [autoDisplayFirst]=\"false\"\r\n inputId=\"wcEmpStatus1\"></app-dropdown><br />\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpStatus' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', changeEmpStatus: 'If hours and earnings are both 0, employment status cannot be working-part time.' \r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'LWLO'\">\r\n <label for=\"haveReturnToWorkDate\">Do you know when you're returning to full-time work?</label>\r\n <p-selectButton [options]=\"yesNoOption\" [formControl]=\"haveReturnToWorkDate\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='haveReturnToWorkDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'LWLO' && haveReturnToWorkDate.value == 'Y'\">\r\n <label for=\"wcEmpLowRtwDate\">When?</label>\r\n <div style=\"display: flex;\">\r\n <p-calendar [showIcon]=\"true\" inputId=\"wcEmpLowRtwDate\" appendTo=\"body\" [formControl]=\"wcEmpLowRtwDate\"\r\n placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n [iconAriaLabel]=\"'When?'\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"></p-calendar>\r\n <app-overlay-info [overlayText]=\"'weeklies.v2.employment.rtw.info.popup.2155' | translate | trustHtml\"\r\n style=\"padding-left: 8px; padding-top:3px\"></app-overlay-info>\r\n </div>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpLowRtwDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'RTWF'\">\r\n <label for=\"wcEmpRtwDate\">Return to work date</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"wcEmpRtwDate\" appendTo=\"body\" [formControl]=\"wcEmpRtwDate\"\r\n placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\" optionValue=\"value\"\r\n [iconAriaLabel]=\"'Return to work date'\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpRtwDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'DCFI'\">\r\n <label\r\n for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label><br>\r\n <app-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"discharged\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" optionValue=\"value\" inputId=\"discharged1\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='discharged' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'VOLQ'\">\r\n <label for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label><br>\r\n <app-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"voluntaryQuit\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" optionValue=\"value\" inputId=\"voluntaryQuit1\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='voluntaryQuit' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"isMS() ? false : (wcEmpStatus.value == 'VOLQ' || wcEmpStatus.value =='SUSP' || wcEmpStatus.value =='DCFI')\">\r\n <label for=\"startDayWorked\">First day you worked</label>\r\n <p-calendar [iconAriaLabel]=\"'Start day worked'\" [showIcon]=\"true\" inputId=\"startDayWorked\" appendTo=\"body\"\r\n [formControl]=\"startDayWorked\" [maxDate]=\"maxStartDate\"\r\n [defaultDate]=\"sunDate\" [selectOtherMonths]=\"true\" placeholder=\"mm/dd/yyyy\" \r\n [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='startDayWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required',\r\n dateNotBetween: 'Date should be between ' + dynamicParam.sunday_date + ' and ' + dynamicParam.saturday_date + '.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"isMS() ? false : (wcEmpStatus.value == 'VOLQ' || wcEmpStatus.value =='SUSP' || wcEmpStatus.value =='DCFI' || wcEmpStatus.value =='STLO')\">\r\n <label for=\"jobTitle\">Job Title</label>\r\n <input id=\"jobTitle\" type=\"input\" pInputText [formControl]=\"jobTitle\" required appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='jobTitle' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <input type=\"hidden\" [formControl]=\"hidEmpId\" />\r\n\r\n <div class=\"field\" *ngIf=\"!isME()\">\r\n <span (click)=\"setWageFlag($event)\" class=\"underline-blue\" style=\"cursor:pointer;\">\r\n <b>Earnings Calculator</b>\r\n </span>\r\n <div *ngIf=\"wageDialog\">\r\n <app-wage-calculator [dynamicParam]=\"dynamicParam\" [showCalculatorPopup]=\"true\" \r\n (grossEarningsChange)=\"updateGrossEarnings($event)\" (totalHoursChange)=\"updateTotalHours($event)\"\r\n (saveClicked)=\"onDialogSave($event)\" (cancelClicked)=\"onDialogCancel()\" [wageCalculatorSavedData]=\"wageCalculatorData\"></app-wage-calculator>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wcEmpHoursWorked\">Hours worked</label><br/>\r\n <p-inputNumber inputId=\"wcEmpHoursWorked\" [formControl]=\"wcEmpHoursWorked\" maxlength=\"10\"\r\n mode=\"decimal\" [minFractionDigits]=\"1\" [maxFractionDigits]=\"2\"></p-inputNumber><br>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpHoursWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', hoursPerWeekExceeded: 'total hours must not be greater than 168 for the week'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wsEmpAmtEarned\">Total Gross Earnings</label>\r\n <app-overlay-info [overlayText]=\"'weeklies.v2.employment.rtw.info.popup.1000' | translate | trustHtml\"\r\n style=\"padding-left: 8px; padding-top:3px\"></app-overlay-info><br/>\r\n <p-inputNumber inputId=\"wsEmpAmtEarned\" mode=\"currency\" currency=\"USD\" locale=\"en-US\"\r\n [formControl]=\"wsEmpAmtEarned\" maxlength=\"10\" placeholder=\"$0.00\"></p-inputNumber><br>\r\n <app-error [class]=\"'app-grid'\" [field]='wsEmpAmtEarned' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', earningsNotZero: 'Gross Earnings cannot be zero.'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf=\"empToEdit?.isPartTimeEmployer\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid formgrid\">\r\n <div class=\"field\">\r\n <b>{{wcEmpName.value}}</b>\r\n </div>\r\n <section hidden>\r\n <input type=\"hidden\" [formControl]=\"wcEmpName\" />\r\n <input type=\"hidden\" [formControl]=\"wcEmpAddressLine1\" />\r\n <input type=\"hidden\" [formControl]=\"wcEmpCity\" />\r\n <input type=\"hidden\" [formControl]=\"wcEmpState\" />\r\n <input type=\"hidden\" [formControl]=\"wsZipCode\" />\r\n <input type=\"hidden\" [formControl]=\"wsPhoneNumber\" />\r\n <input type=\"hidden\" [formControl]=\"hidEmpId\" />\r\n <input type=\"hidden\" [formControl]=\"isPartTimeEmployer\" />\r\n </section>\r\n <div class=\"field\">\r\n <label for=\"wcEmpStatus\">What's your employment status with this employer?</label>\r\n <app-dropdown inputId=\"wcEmpStatus\" [options]=\"employmentStatusOptionsAll\" optionLabel=\"text\"\r\n optionValue=\"value\" appendTo=\"body\" [formControl]=\"wcEmpStatus\" [autoDisplayFirst]=\"false\"\r\n inputId=\"wcEmpStatus2\"></app-dropdown><br />\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpStatus' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', changeEmpStatus: 'If hours and earnings are both 0, employment status cannot be working-part time.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'LWLO'\">\r\n <label for=\"haveReturnToWorkDate\">Do you know when you're returning to full-time work?</label>\r\n <p-selectButton [options]=\"yesNoOption\" [formControl]=\"haveReturnToWorkDate\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='haveReturnToWorkDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'LWLO' && haveReturnToWorkDate.value == 'Y'\">\r\n <label for=\"wcEmpLowRtwDate\">When?</label>\r\n <div style=\"display: flex;\">\r\n <p-calendar [showIcon]=\"true\" inputId=\"wcEmpLowRtwDate\" appendTo=\"body\" [formControl]=\"wcEmpLowRtwDate\"\r\n placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\"\r\n [iconAriaLabel]=\"'When?'\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"></p-calendar>\r\n <app-overlay-info [overlayText]=\"'weeklies.v2.employment.rtw.info.popup.2050' | translate | trustHtml\"\r\n style=\"padding-left: 8px; padding-top:3px\"></app-overlay-info>\r\n </div>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpLowRtwDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'RTWF'\">\r\n <label for=\"wcEmpRtwDate\">Return to work date</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"wcEmpRtwDate\" appendTo=\"body\" [formControl]=\"wcEmpRtwDate\"\r\n placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\" optionValue=\"value\"\r\n [iconAriaLabel]=\"'Return to work date'\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpRtwDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'DCFI'\">\r\n <label\r\n for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label><br>\r\n <app-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"discharged\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" optionValue=\"value\" inputId=\"discharged2\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='discharged' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'VOLQ'\">\r\n <label for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label><br>\r\n <app-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"voluntaryQuit\" optionLabel=\"text\"\r\n appendTo=\"body\" [autoDisplayFirst]=\"false\" optionValue=\"value\" inputId=\"voluntaryQuit2\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='voluntaryQuit' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'VOLQ' || wcEmpStatus.value =='SUSP' || wcEmpStatus.value =='DCFI' || wcEmpStatus.value =='STLO'\">\r\n <label for=\"jobTitle\">Job Title</label>\r\n <input id=\"jobTitle\" type=\"input\" pInputText [formControl]=\"jobTitle\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='jobTitle' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'VOLQ' || wcEmpStatus.value =='SUSP' || wcEmpStatus.value =='DCFI'\">\r\n <label for=\"startDayWorked\">First day you worked</label>\r\n <p-calendar [iconAriaLabel]=\"'Start day worked'\" [showIcon]=\"true\" inputId=\"startDayWorked\" appendTo=\"body\"\r\n [formControl]=\"startDayWorked\" [maxDate]=\"maxStartDate\"\r\n [defaultDate]=\"sunDate\" [selectOtherMonths]=\"true\" placeholder=\"mm/dd/yyyy\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='startDayWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required',\r\n dateNotBetween: 'Date should be between ' + dynamicParam.sunday_date + ' and ' + dynamicParam.saturday_date + '.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"lastDayWorked\">Last day you worked</label>\r\n <p-calendar [iconAriaLabel]=\"'Last day worked'\" [showIcon]=\"true\" inputId=\"lastDayWorked\" appendTo=\"body\"\r\n [formControl]=\"lastDayWorked\" [minDate]=\"sunDate\" [maxDate]=\"satDate\" dateFormat=\"mm/dd/yy\"\r\n [defaultDate]=\"sunDate\" [selectOtherMonths]=\"true\" placeholder=\"mm/dd/yyyy\" \r\n [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1901:2050\" (onInput)=\"dateInput($event)\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='lastDayWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required',\r\n dateNotBetween: 'Date should be between ' + dynamicParam.sunday_date + ' and ' + dynamicParam.saturday_date + '.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\" *ngIf=\"!isME()\">\r\n <span (click)=\"setWageFlag($event)\" class=\"underline-blue\" style=\"cursor:pointer;\">\r\n <b>Earnings Calculator</b>\r\n </span>\r\n <div *ngIf=\"wageDialog\">\r\n <app-wage-calculator [dynamicParam]=\"dynamicParam\" [showCalculatorPopup]=\"true\"\r\n (grossEarningsChange)=\"updateGrossEarnings($event)\" (totalHoursChange)=\"updateTotalHours($event)\"\r\n (saveClicked)=\"onDialogSave($event)\" (cancelClicked)=\"onDialogCancel()\"\r\n [wageCalculatorSavedData]=\"wageCalculatorData\"></app-wage-calculator>\r\n </div>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wcEmpHoursWorked\">Hours worked</label>\r\n <p-inputNumber inputId=\"wcEmpHoursWorked\" [formControl]=\"wcEmpHoursWorked\" maxlength=\"10\"\r\n mode=\"decimal\" [minFractionDigits]=\"1\" [maxFractionDigits]=\"2\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpHoursWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', hoursPerWeekExceeded: 'total hours must not be greater than 168 for the week'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wsEmpAmtEarned\">Total Gross Earnings</label>\r\n <app-overlay-info [overlayText]=\"'weeklies.v2.employment.rtw.info.popup.1000' | translate | trustHtml\"\r\n style=\"padding-left: 8px; padding-top:3px\"></app-overlay-info>\r\n <p-inputNumber inputId=\"wsEmpAmtEarned\" mode=\"currency\" currency=\"USD\" locale=\"en-US\"\r\n [formControl]=\"wsEmpAmtEarned\" maxlength=\"10\" placeholder=\"$0.00\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='wsEmpAmtEarned' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required', earningsNotZero: 'Gross Earnings cannot be zero.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">Clear</ion-button>\r\n <ion-button shape=\"round\" (click)=\"isEditMode ? save() : add()\" type=\"submit\">\r\n {{ isEditMode ? 'Save' : 'Add' }}\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n</form>", styles: [":host ::ng-deep .p-fluid .p-buttonset{display:inline-flex!important}.underline-blue{color:#4478aa;text-decoration:underline}\n"] }]
655
+ args: [{ selector: 'app-weekly-cert-employer-qe', template: "\r\n <form [formGroup]=\"empForm\" #empFormDirective=\"ngForm\">\r\n <ion-grid>\r\n <ion-row *ngIf = \"!empToEdit?.isPartTimeEmployer\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid formgrid\">\r\n <div class=\"field\">\r\n <label for=\"wcEmpName\">Employer Name</label>\r\n <app-search-employer [formControl]=\"wcEmpName\" (onFound)=\"setEmployer($event)\" [empType]=\"'REG'\"></app-search-employer>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpName' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"wcEmpAddressLine1\">Street Address</label>\r\n <input id=\"wcEmpAddressLine1\" type=\"input\" pInputText [formControl]=\"wcEmpAddressLine1\" />\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpAddressLine1' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"wcEmpCity\">City</label>\r\n <input id=\"wcEmpCity\" type=\"input\" pInputText [formControl]=\"wcEmpCity\" />\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpCity' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <ion-row>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"wcEmpState\">State</label>\r\n <app-dropdown inputId=\"wcEmpState\" [options]=\"statesCombo\" optionLabel=\"text\" optionValue=\"value\"\r\n appendTo=\"body\" [formControl]=\"wcEmpState\" [autoDisplayFirst]=\"false\" inputId=\"wcEmpState\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpState' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"wsZipCode\">Zip Code</label>\r\n <input id=\"wsZipCode\" type=\"input\" pInputText [formControl]=\"wsZipCode\" minlength=\"5\" maxlength=\"9\"/>\r\n <app-error [class]=\"'app-grid'\" [field]='wsZipCode' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n invalidLength: 'Zip code should be of 5 or 9 digits.',\r\n invalidNumber: 'Zip code should only have numbers.'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n\r\n <div class=\"field\">\r\n <label for=\"lastDayWorked\">Last day worked</label>\r\n <p-calendar [iconAriaLabel]=\"'Last day worked'\" [showIcon]=\"true\" inputId=\"lastDayWorked\" appendTo=\"body\" [formControl]=\"lastDayWorked\" [minDate]=\"sunDate\" [maxDate]=\"satDate\" [defaultDate]=\"sunDate\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='lastDayWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n dateNotBetween: 'Date should be between ' + dynamicParam.sunday_date + ' and ' + dynamicParam.saturday_date + '.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n </ion-col>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid formgrid\">\r\n \r\n <div class=\"field\">\r\n <label for=\"wsPhoneNumber\">Phone No.</label>\r\n <p-inputMask inputId=\"wsPhoneNumber\" [formControl]=\"wsPhoneNumber\" mask=\"(999) 999-9999\" unmask=\"true\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='wsPhoneNumber' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wsEmpAmtEarned\">Total Gross Earnings</label>\r\n <app-overlay-info [overlayText]=\"'weeklies.v2.employment.rtw.info.popup.1000' | translate | trustHtml\" style=\"padding-left: 8px; padding-top:3px\"></app-overlay-info>\r\n <p-inputNumber inputId=\"wsEmpAmtEarned\" mode=\"currency\" currency=\"USD\" locale=\"en-US\" [formControl]=\"wsEmpAmtEarned\" maxlength=\"10\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='wsEmpAmtEarned' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n earningsRequired: 'Please report gross earnings.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wcEmpHoursWorked\">Hours worked</label>\r\n <p-inputNumber inputId=\"wcEmpHoursWorked\" [formControl]=\"wcEmpHoursWorked\" maxlength=\"10\" useGrouping=\"false\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpHoursWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n earningsRequired: 'Please report hours worked.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"wcEmpStatus\">What's your employment status with this employer?</label>\r\n <app-dropdown inputId=\"wcEmpStatus\" [options]=\"employmentStatusOptionsAll\" optionLabel=\"text\" optionValue=\"value\"\r\n appendTo=\"body\" [formControl]=\"wcEmpStatus\" [autoDisplayFirst]=\"false\" inputId=\"wcEmpStatus1\" ></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpStatus' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'LWLO'\">\r\n <label for=\"haveReturnToWorkDate\">Do you know when you're returning to full-time work?</label>\r\n <p-selectButton [options]=\"yesNoOption\" [formControl]=\"haveReturnToWorkDate\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='haveReturnToWorkDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'LWLO' && haveReturnToWorkDate.value == 'Y'\">\r\n <label for=\"wcEmpLowRtwDate\">When?</label>\r\n <div style=\"display: flex;\">\r\n <p-calendar [showIcon]=\"true\" inputId=\"wcEmpLowRtwDate\" appendTo=\"body\" [formControl]=\"wcEmpLowRtwDate\"\r\n placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\" [iconAriaLabel]=\"'When?'\"></p-calendar>\r\n <app-overlay-info [overlayText]=\"'weeklies.v2.employment.rtw.info.popup.2155' | translate | trustHtml\" style=\"padding-left: 8px; padding-top:3px\"></app-overlay-info>\r\n </div>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpLowRtwDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'RTWF'\">\r\n <label for=\"wcEmpRtwDate\">Return to work date</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"wcEmpRtwDate\" appendTo=\"body\" [formControl]=\"wcEmpRtwDate\"\r\n placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\" optionValue=\"value\" [iconAriaLabel]=\"'Return to work date'\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpRtwDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'DCFI'\">\r\n <label for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label> \r\n <app-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"discharged\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" optionValue=\"value\" inputId=\"discharged1\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='discharged' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'VOLQ'\">\r\n <label for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label> \r\n <app-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"voluntaryQuit\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" optionValue=\"value\" inputId=\"voluntaryQuit1\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='voluntaryQuit' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n <input type=\"hidden\" [formControl]=\"hidEmpId\"/>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row *ngIf = \"empToEdit?.isPartTimeEmployer\">\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid formgrid\">\r\n <div class=\"field\">\r\n <b>{{wcEmpName.value}}</b>\r\n </div>\r\n <section hidden>\r\n <input type=\"hidden\" [formControl]=\"wcEmpName\"/>\r\n <input type=\"hidden\" [formControl]=\"wcEmpAddressLine1\"/>\r\n <input type=\"hidden\" [formControl]=\"wcEmpCity\"/>\r\n <input type=\"hidden\" [formControl]=\"wcEmpState\"/>\r\n <input type=\"hidden\" [formControl]=\"wsZipCode\"/>\r\n <input type=\"hidden\" [formControl]=\"wsPhoneNumber\"/>\r\n <input type=\"hidden\" [formControl]=\"hidEmpId\"/>\r\n <input type=\"hidden\" [formControl]=\"isPartTimeEmployer\"/>\r\n </section>\r\n <div class=\"field\">\r\n <label for=\"wcEmpStatus\">What's your employment status with this employer?</label>\r\n <app-dropdown inputId=\"wcEmpStatus\" [options]=\"employmentStatusOptionsAll\" optionLabel=\"text\" optionValue=\"value\"\r\n appendTo=\"body\" [formControl]=\"wcEmpStatus\" [autoDisplayFirst]=\"false\" inputId=\"wcEmpStatus2\"></app-dropdown><br/>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpStatus' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'LWLO'\">\r\n <label for=\"haveReturnToWorkDate\">Do you know when you're returning to full-time work?</label>\r\n <p-selectButton [options]=\"yesNoOption\" [formControl]=\"haveReturnToWorkDate\" optionLabel=\"text\"\r\n optionValue=\"value\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='haveReturnToWorkDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'LWLO' && haveReturnToWorkDate.value == 'Y'\">\r\n <label for=\"wcEmpLowRtwDate\">When?</label>\r\n <div style=\"display: flex;\">\r\n <p-calendar [showIcon]=\"true\" inputId=\"wcEmpLowRtwDate\" appendTo=\"body\" [formControl]=\"wcEmpLowRtwDate\"\r\n placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\" [iconAriaLabel]=\"'When?'\"></p-calendar>\r\n <app-overlay-info [overlayText]=\"'weeklies.v2.employment.rtw.info.popup.2050' | translate | trustHtml\" style=\"padding-left: 8px; padding-top:3px\"></app-overlay-info>\r\n </div>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpLowRtwDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'RTWF'\">\r\n <label for=\"wcEmpRtwDate\">Return to work date</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"wcEmpRtwDate\" appendTo=\"body\" [formControl]=\"wcEmpRtwDate\"\r\n placeholder=\"mm/dd/yyyy\" [showOnFocus]=\"false\" (onInput)=\"dateInput($event)\" optionValue=\"value\" [iconAriaLabel]=\"'Return to work date'\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpRtwDate' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'DCFI'\">\r\n <label for=\"dischargeDetail\">{{\"induction.confirm.employment.reason.separation.discharge\"|translate}}</label> \r\n <app-dropdown [options]=\"dischargeReasonOptionsAll\" [formControl]=\"discharged\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" optionValue=\"value\" inputId=\"discharged2\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='discharged' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\" *ngIf=\"wcEmpStatus.value == 'VOLQ'\">\r\n <label for=\"volQuitDetails\">{{\"induction.confirm.employment.reason.separation.quit\"|translate}}</label> \r\n <app-dropdown [options]=\"volQuitReasonOptionsAll\" [formControl]=\"voluntaryQuit\" optionLabel=\"text\" appendTo=\"body\"\r\n [autoDisplayFirst]=\"false\" optionValue=\"value\" inputId=\"voluntaryQuit2\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='voluntaryQuit' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\">\r\n <label for=\"lastDayWorked\">Last day worked</label>\r\n <p-calendar [iconAriaLabel]=\"'Last day worked'\" [showIcon]=\"true\" inputId=\"lastDayWorked\" appendTo=\"body\" [formControl]=\"lastDayWorked\" [minDate]=\"sunDate\" [maxDate]=\"satDate\" [defaultDate]=\"sunDate\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='lastDayWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n dateNotBetween: 'Date should be between ' + dynamicParam.sunday_date + ' and ' + dynamicParam.saturday_date + '.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\">\r\n <label for=\"wsEmpAmtEarned\">Total Gross Earnings</label>\r\n <app-overlay-info [overlayText]=\"'weeklies.v2.employment.rtw.info.popup.1000' | translate | trustHtml\" style=\"padding-left: 8px; padding-top:3px\"></app-overlay-info>\r\n <p-inputNumber inputId=\"wsEmpAmtEarned\" mode=\"currency\" currency=\"USD\" locale=\"en-US\" [formControl]=\"wsEmpAmtEarned\" maxlength=\"10\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='wsEmpAmtEarned' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n earningsRequired: 'Please report gross earnings.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\">\r\n <label for=\"wcEmpHoursWorked\">Hours worked</label>\r\n <p-inputNumber inputId=\"wcEmpHoursWorked\" [formControl]=\"wcEmpHoursWorked\" maxlength=\"10\" useGrouping=\"false\"></p-inputNumber>\r\n <app-error [class]=\"'app-grid'\" [field]='wcEmpHoursWorked' [form]=\"empFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n earningsRequired: 'Please report hours worked.'\r\n }\"></app-error>\r\n </div>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row style=\"margin: 0 10px auto;\">\r\n <ion-col>\r\n <div class=\"field\" *ngIf=\"empForm.invalid && empForm.errors?.earningsRequired\">\r\n <app-error \r\n [form]=\"empFormDirective\"\r\n [field]=\"empForm\"\r\n [errDef]=\"{ \r\n earningsRequired: 'Please report gross earnings and hours worked for the week ending ' + (satDate | date:'MM/dd/yyyy') + '.' \r\n }\">\r\n </app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">Clear</ion-button>\r\n <ion-button shape=\"round\" (click)=\"add()\" type=\"submit\">Add</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </form>", styles: [":host ::ng-deep .p-fluid .p-buttonset{display:inline-flex!important}\n"] }]
1027
656
  }], () => [{ type: i1.UtilService }, { type: i2.UntypedFormBuilder }, { type: i3.ClaimService }], { empFormDirective: [{
1028
657
  type: ViewChild,
1029
658
  args: ['empFormDirective', { static: false }]
@@ -1036,5 +665,5 @@ export class WeeklyCertEmployerComponentQe extends BasePage {
1036
665
  }], dynamicParam: [{
1037
666
  type: Input
1038
667
  }] }); })();
1039
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WeeklyCertEmployerComponentQe, { className: "WeeklyCertEmployerComponentQe", filePath: "lib\\components\\weekly-cert-employer\\weekly-cert-employer.component.ts", lineNumber: 17 }); })();
1040
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LWNlcnQtZW1wbG95ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS1jZXJ0LWVtcGxveWVyL3dlZWtseS1jZXJ0LWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy93ZWVrbHktY2VydC1lbXBsb3llci93ZWVrbHktY2VydC1lbXBsb3llci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUErQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFnRCxVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0seUNBQXlDLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDTTdELDhCQUFrQyxnQkFBQTtJQUNOLHVCQUFPO0lBQUEsaUJBQVE7SUFBQSxxQkFBSSx1QkFBQSxvQkFBQTtJQU03QyxpQkFBTTs7OztJQUxpQyxlQUEwQjtJQUExQiwrQ0FBMEIsb0NBQUEsMkJBQUE7SUFFcEQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsMkNBQXNCLGFBQUEsc0NBQUE7Ozs7SUFxQjFELDJCQUFvQixj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QUFTOzJCQUNFLDZCQUE2Qjt3R0FPaEMsZ0JBQWdCO2tCQUR0QixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUloRCxPQUFPO2tCQUROLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJQSxTQUFTO2tCQURmLEtBQUs7WUFJQyxZQUFZO2tCQURsQixLQUFLOztrRkFkSyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2UsIFNpbXBsZUNoYW5nZXMsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQ2hvaWNlc01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0FkZHJlc3NDb21wb25lbnRNb2RlbCc7XG5pbXBvcnQgeyBFbXBsb3llckluZm9Nb2RlbCwgRW1wbG95ZXJTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQnO1xuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9Db21ib01vZGVsJztcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcbmltcG9ydCB7IEJhc2VQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvQmFzZVBhZ2UnO1xuaW1wb3J0IHsgV2FnZUNhbGN1bGF0b3JNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9XYWdlQ2FsY3VsYXRvck1vZGVsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXdlZWtseS1jZXJ0LWVtcGxveWVyLXFlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3dlZWtseS1jZXJ0LWVtcGxveWVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vd2Vla2x5LWNlcnQtZW1wbG95ZXIuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgV2Vla2x5Q2VydEVtcGxveWVyQ29tcG9uZW50UWUgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQFZpZXdDaGlsZCgnZW1wRm9ybURpcmVjdGl2ZScsIHsgc3RhdGljOiBmYWxzZSB9KVxuICBwdWJsaWMgZW1wRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xuXG4gIEBPdXRwdXQoKVxuICBzdWNjZXNzOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgb25DbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGVtcFRvRWRpdCA9IG5ldyBFbXBsb3llckluZm9Nb2RlbCgpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBkeW5hbWljUGFyYW06IGFueTtcblxuICBwdWJsaWMgeWVzTm9PcHRpb24gPSBDb21ib09wdGlvbi5ZRVNfTk87XG5cbiAgcHVibGljIGVtcEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XG4gIHB1YmxpYyBzdGF0ZXNDb21ibzogYW55ID0gW107XG4gIHB1YmxpYyBjb3VudHJ5T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPVU5UUlk7XG4gIHB1YmxpYyBzYXREYXRlOiBEYXRlO1xuICBwdWJsaWMgc3VuRGF0ZTogRGF0ZTtcbiAgcHVibGljIG1heFN0YXJ0RGF0ZTogRGF0ZTtcblxuICBwdWJsaWMgaXNFZGl0TW9kZTogQm9vbGVhbiA9IGZhbHNlO1xuICBwdWJsaWMgd2FnZURpYWxvZzogYm9vbGVhbjtcblxuICBwdWJsaWMgZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHdhZ2VDYWxjdWxhdG9yRGF0YSA6IFdhZ2VDYWxjdWxhdG9yTW9kZWwgPSBuZXcgV2FnZUNhbGN1bGF0b3JNb2RlbCgpO1xuXG4gIHVzWmlwY29kZVZhbGlkYXRpb25zOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMuaXNWYWxpZFppcENvZGVdO1xuICBjYW5hZGFaaXBjb2RlVmFsaWRhdGlvbnM6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkQ2FuYWRpYW5aaXBDb2RlXTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgY3M6IENsYWltU2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XG4gICAgdGhpcy5zYXREYXRlID0gdGhpcy51dGlsLmdldEVudGVyZWREYXRlRnJvbVN0cmluZyh0aGlzLmR5bmFtaWNQYXJhbS5zYXR1cmRheV9kYXRlKTtcbiAgICB0aGlzLnN1bkRhdGUgPSB0aGlzLnV0aWwuZ2V0RW50ZXJlZERhdGVGcm9tU3RyaW5nKHRoaXMuZHluYW1pY1BhcmFtLnN1bmRheV9kYXRlKTtcbiAgICB0aGlzLmluaXRpbGl6ZUVtcGxveWVySW5mb3JGb3JtKCk7XG4gICAgdGhpcy5pc0VkaXRNb2RlID0gISF0aGlzLmVtcFRvRWRpdDtcbiAgICB0aGlzLndjRW1wSG91cnNXb3JrZWQudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xuICAgICAgaWYodmFsKXtcbiAgICAgICAgaWYodmFsID4gMTY4KXtcbiAgICAgICAgICB0aGlzLndjRW1wSG91cnNXb3JrZWQuc2V0RXJyb3JzKHsgaG91cnNQZXJXZWVrRXhjZWVkZWQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgbG9hZE1hc3RlckRhdGEoKSB7XG4gICAgdGhpcy5jcy5sb2FkTWFzdGVyRGF0YSgpO1xuXG4gICAgdGhpcy5jcy5nZXRSZWFzb25TZXBhcmF0aW9uKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiB0aGlzLmVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuY3MuZ2V0RGlzY2hhcmdlUmVhc29ucygpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICB9XG4gICAgKTtcblxuICAgIHRoaXMuY3MuZ2V0UXVpdFJlYXNvbnMoKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+IHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYWRkKCkge1xuICAgIC8vdGhpcy5zZXRWYWxpZGF0aW9uRm9ySG91cnNBbmRXYWdlc09uQWN0aXZpdHlUeXBlKCk7XG4gICAgaWYgKHRoaXMuZW1wRm9ybS52YWxpZCkge1xuICAgICAgdGhpcy5lbXBGb3JtLnZhbHVlLmlzUGFydFRpbWVFbXBsb3llckVkaXRlZCA9IHRydWU7XG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmVtcEZvcm0udmFsdWUpO1xuICAgICAgdGhpcy5pc0VkaXRNb2RlID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICAvL3RoaXMuc2V0VmFsaWRhdGlvbkZvckhvdXJzQW5kV2FnZXNPbkFjdGl2aXR5VHlwZSgpO1xuICAgIGlmICh0aGlzLmVtcEZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZW1wRm9ybS52YWx1ZS5pc1BhcnRUaW1lRW1wbG95ZXJFZGl0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5lbXBGb3JtLnZhbHVlKTtcbiAgICAgIHRoaXMuaW5pdGlsaXplRW1wbG95ZXJJbmZvckZvcm0oKTtcbiAgICAgIHRoaXMuaXNFZGl0TW9kZSA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcbiAgfVxuXG4gIGluaXRpbGl6ZUVtcGxveWVySW5mb3JGb3JtKCkge1xuICAgIGxldCBlbXBJbmZvID0gdGhpcy5lbXBUb0VkaXQgPyB0aGlzLmVtcFRvRWRpdCA6IG5ldyBFbXBsb3llckluZm9Nb2RlbCgpO1xuICAgIHRoaXMuZW1wRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgJ2xhc3REYXlXb3JrZWQnOiBbZW1wSW5mby5sYXN0RGF5V29ya2VkICE9IG51bGwgPyB0aGlzLmdldERhdGUoZW1wSW5mby5sYXN0RGF5V29ya2VkKSA6ICcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMuaXNCZXR3ZWVuRGF0ZSh0aGlzLnN1bkRhdGUsIHRoaXMuc2F0RGF0ZSldKV0sXG4gICAgICAnZW1wbG95ZXJOYW1lJzogW2VtcEluZm8uZW1wbG95ZXJOYW1lLCBbVmFsaWRhdG9ycy5yZXF1aXJlZCxWYWxpZGF0b3JzLnBhdHRlcm4oL14oPyEuKlslPD5cXF5fe31dKVtBLVphLXowLTlcXHNcXC4sJicoKSMhQDokXFwvXFxcXFxcLVxcKz9cIl0rJC8pXV0sXG4gICAgICAnbGluZTEnOiBbZW1wSW5mby5saW5lMSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMucGF0dGVybigvXlswLTlBLVphLXpcXHMsJ1xcLVxcLiNcXC9dKyQvKV1dLFxuICAgICAgJ2xpbmUyJzogW2VtcEluZm8ubGluZTJdLFxuICAgICAgJ2NpdHknOiBbZW1wSW5mby5jaXR5LCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5wYXR0ZXJuKC9eKD8hLSlbQS1aYS16IC1dKiQvKV0pXSxcbiAgICAgICdzdGF0ZSc6IFtlbXBJbmZvLnN0YXRlICE9IHVuZGVmaW5lZCA/IGVtcEluZm8uc3RhdGUgOiB0aGlzLnV0aWwuZ2V0U3RhdGUoKSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAnY291bnRyeSc6IFtlbXBJbmZvLmNvdW50cnldLFxuICAgICAgJ2dyb3NzRWFybmluZyc6IFtlbXBJbmZvLmdyb3NzRWFybmluZywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgJ3JlYXNvblNlcGFyYXRpb24nOiBbZW1wSW5mby5yZWFzb25TZXBhcmF0aW9uICE9IHVuZGVmaW5lZCA/IGVtcEluZm8ucmVhc29uU2VwYXJhdGlvbiA6ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdoYXZlUmV0dXJuVG9Xb3JrRGF0ZSc6IFtlbXBJbmZvLmhhdmVSZXR1cm5Ub1dvcmtEYXRlXSxcbiAgICAgICdyZXR1cm5Ub1dvcmtEYXRlJzogW2VtcEluZm8ucmV0dXJuVG9Xb3JrRGF0ZV0sXG4gICAgICAndm9sdW50YXJ5UXVpdCc6IFtlbXBJbmZvLnZvbHVudGFyeVF1aXRdLFxuICAgICAgJ2Rpc2NoYXJnZWQnOiBbZW1wSW5mby5kaXNjaGFyZ2VkXSxcbiAgICAgICdob3Vyc1dvcmtlZEluV2Vlayc6IFtlbXBJbmZvLmhvdXJzV29ya2VkSW5XZWVrLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXG4gICAgICAnemlwJzogW2VtcEluZm8uemlwICE9IHVuZGVmaW5lZCA/IGVtcEluZm8uemlwIDogJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkWmlwQ29kZV0pXSxcbiAgICAgICdlbXBsb3llclBob25lJzogW2VtcEluZm8uZW1wbG95ZXJQaG9uZSAhPSB1bmRlZmluZWQgPyBlbXBJbmZvLmVtcGxveWVyUGhvbmUgOiAnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgJ2VtcGxveWVySWQnOiBbZW1wSW5mby5lbXBsb3llcklkXSxcbiAgICAgICd0ZW1wV2NFbXBsb3llcklkJzogW2VtcEluZm8udGVtcFdjRW1wbG95ZXJJZCA/IGVtcEluZm8udGVtcFdjRW1wbG95ZXJJZCA6IG5ldyBEYXRlKCkuZ2V0VGltZSgpXSxcbiAgICAgICdwb3RlbnRpYWxJc3N1ZUlkJzogW2VtcEluZm8ucG90ZW50aWFsSXNzdWVJZCA/IGVtcEluZm8ucG90ZW50aWFsSXNzdWVJZCA6IG51bGxdLFxuICAgICAgJ2lzUGFydFRpbWVFbXBsb3llcic6IFtlbXBJbmZvLmlzUGFydFRpbWVFbXBsb3llciA/IGVtcEluZm8uaXNQYXJ0VGltZUVtcGxveWVyIDogbnVsbF0sXG4gICAgICAnam9iVGl0bGUnOiBbZW1wSW5mby5qb2JUaXRsZSwgVmFsaWRhdG9ycy5tYXhMZW5ndGgoNTApXSxcbiAgICAgICdzdGFydERheVdvcmtlZCc6IFtlbXBJbmZvLnN0YXJ0RGF5V29ya2VkXVxuICAgIH0pO1xuXG4gICAgdGhpcy5sYXN0RGF5V29ya2VkLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgdGhpcy5tYXhTdGFydERhdGUgPSBuZXcgRGF0ZSh2YWwpO1xuICAgICAgICBpZiAodGhpcy5zdGFydERheVdvcmtlZC52YWx1ZSkge1xuICAgICAgICAgIGxldCBzdGFydERhdGUgPSBuZXcgRGF0ZSh0aGlzLnN0YXJ0RGF5V29ya2VkLnZhbHVlKTtcbiAgICAgICAgICBpZiAoc3RhcnREYXRlID4gdGhpcy5tYXhTdGFydERhdGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhcnREYXlXb3JrZWQucGF0Y2hWYWx1ZShudWxsKTtcbiAgICAgICAgICAgIHRoaXMuc3RhcnREYXlXb3JrZWQudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pXG5cbiAgICB0aGlzLndjRW1wU3RhdHVzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIHRoaXMuc2V0VmFsaWRhdGlvbkJhc2VkT25FbXBsb3ltZW50U3RhdHVzKHZhbCk7XG4gICAgfSk7XG5cbiAgICBpZiAoZW1wSW5mby5yZWFzb25TZXBhcmF0aW9uKSB7XG4gICAgICB0aGlzLnNldFZhbGlkYXRpb25CYXNlZE9uRW1wbG95bWVudFN0YXR1cyhlbXBJbmZvLnJlYXNvblNlcGFyYXRpb24pO1xuICAgIH1cbiAgICBpZiAodGhpcy5sYXN0RGF5V29ya2VkLnZhbHVlKSB7XG4gICAgICB0aGlzLm1heFN0YXJ0RGF0ZSA9IG5ldyBEYXRlKHRoaXMubGFzdERheVdvcmtlZC52YWx1ZSk7XG4gICAgfVxuXG4gICAgaWYodGhpcy5pc01FKCkpeyAgXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53Y0VtcENvdW50cnkpO1xuICAgICAgdGhpcy5zZXRaaXBDb2RlVmFsaWRhdGlvbkJhc2VkT25Db3VudHJ5KCk7XG4gICAgICB0aGlzLndjRW1wQ291bnRyeS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGNvdW50cnkgPT4ge1xuICAgICAgICB0aGlzLmZpbHRlclN0YXRlKGNvdW50cnkpXG4gICAgICB9KTtcbiAgICAgIHRoaXMud2NFbXBDb3VudHJ5LnNldFZhbHVlKFwiVVNcIik7XG4gICAgfSBlbHNle1xuICAgICAgdGhpcy5zdGF0ZXNDb21ibyA9IENvbWJvT3B0aW9uLlVTX1NUQVRFUztcbiAgICB9ICAgIFxuICB9XG5cbiAgc2V0WmlwQ29kZVZhbGlkYXRpb25CYXNlZE9uQ291bnRyeSgpe1xuICAgIHRoaXMud2NFbXBDb3VudHJ5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoYyA9PiB7XG4gICAgICBpZihjID09ICdVUycpe1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud3NaaXBDb2RlKTtcbiAgICAgICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy53c1ppcENvZGUsIHRoaXMudXNaaXBjb2RlVmFsaWRhdGlvbnMpO1xuICAgICAgfSBlbHNlIGlmKGMgPT0gJ0NBJyl7XG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53c1ppcENvZGUpO1xuICAgICAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLndzWmlwQ29kZSwgdGhpcy5jYW5hZGFaaXBjb2RlVmFsaWRhdGlvbnMpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBmaWx0ZXJTdGF0ZShldmVudCkge1xuICAgIGNvbnNvbGUubG9nKGV2ZW50LCB0aGlzLndjRW1wQ291bnRyeT8udmFsdWUpO1xuICAgIGxldCBjaG9pY2U6IGFueTtcbiAgICBpZiAodGhpcy53Y0VtcENvdW50cnk/LnZhbHVlID09PSAnVVMnKSB7XG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBDb21ib09wdGlvbi5VU19TVEFURVMuZmluZChzdGF0ZSA9PiBzdGF0ZS52YWx1ZSA9PSB0aGlzLnV0aWwuZ2V0U3RhdGUoKSlcbiAgICAgIGNob2ljZSA9IFtjdXJyZW50U3RhdGUsIC4uLkNvbWJvT3B0aW9uLlVTX1NUQVRFUy5maWx0ZXIoc3RhdGUgPT4gc3RhdGUudmFsdWUgIT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy53Y0VtcENvdW50cnk/LnZhbHVlID09PSAnQ0EnKSB7XG4gICAgICBjaG9pY2UgPSBDb21ib09wdGlvbi5DQV9TVEFURVM7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZXNDb21ibyA9IGNob2ljZTtcbiAgfVxuXG4gIHVwZGF0ZUdyb3NzRWFybmluZ3MoZ3Jvc3NFYXJuaW5nczogbnVtYmVyKSB7XG4gICAgaWYoZ3Jvc3NFYXJuaW5ncyA9PT0gMCl7XG4gICAgICB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2dyb3NzRWFybmluZyddLnJlc2V0KCk7XG4gICAgfSBlbHNle1xuICAgICAgdGhpcy5lbXBGb3JtLnBhdGNoVmFsdWUoeyBncm9zc0Vhcm5pbmc6IGdyb3NzRWFybmluZ3MgfSk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVG90YWxIb3Vycyh0b3RhbEhvdXJzOiBudW1iZXIpIHtcbiAgICBpZih0b3RhbEhvdXJzID09PSAwKXtcbiAgICAgIHRoaXMuZW1wRm9ybS5jb250cm9sc1snaG91cnNXb3JrZWRJbldlZWsnXS5yZXNldCgpO1xuICAgIH0gZWxzZXtcbiAgICB0aGlzLmVtcEZvcm0ucGF0Y2hWYWx1ZSh7aG91cnNXb3JrZWRJbldlZWsgOiB0b3RhbEhvdXJzfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGhhdmVSZXR1cm5Ub1dvcmtEYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2hhdmVSZXR1cm5Ub1dvcmtEYXRlJ107XG4gIH1cblxuICBnZXQgdm9sdW50YXJ5UXVpdCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWyd2b2x1bnRhcnlRdWl0J107XG4gIH1cblxuICBnZXQgZGlzY2hhcmdlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydkaXNjaGFyZ2VkJ107XG4gIH1cblxuICBnZXQgbGFzdERheVdvcmtlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydsYXN0RGF5V29ya2VkJ107XG4gIH1cblxuICBnZXQgd2NFbXBOYW1lKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2VtcGxveWVyTmFtZSddO1xuICB9XG5cbiAgZ2V0IHdjRW1wQWRkcmVzc0xpbmUxKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2xpbmUxJ107XG4gIH1cblxuICBnZXQgd2NFbXBBZGRyZXNzTGluZTIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snbGluZTInXTtcbiAgfVxuXG4gIGdldCB3Y0VtcENpdHkoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snY2l0eSddO1xuICB9XG5cbiAgZ2V0IHdjRW1wU3RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snc3RhdGUnXTtcbiAgfVxuXG4gIGdldCB3Y0VtcENvdW50cnkoKXtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydjb3VudHJ5J107XG4gIH1cblxuICBnZXQgd3NFbXBBbXRFYXJuZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snZ3Jvc3NFYXJuaW5nJ107XG4gIH1cblxuICBnZXQgd2NFbXBTdGF0dXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1sncmVhc29uU2VwYXJhdGlvbiddO1xuICB9XG5cbiAgZ2V0IHdjRW1wTG93UnR3RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydyZXR1cm5Ub1dvcmtEYXRlJ107XG4gIH1cblxuICBnZXQgd2NFbXBSdHdEYXRlKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3JldHVyblRvV29ya0RhdGUnXTtcbiAgfVxuXG4gIGdldCB3Y0VtcFdvcmtlZEZvck1vcmVFbXBsb3llcigpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWyd3Y0VtcFdvcmtlZEZvck1vcmVFbXBsb3llciddO1xuICB9XG5cbiAgZ2V0IHdjRW1wSG91cnNXb3JrZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snaG91cnNXb3JrZWRJbldlZWsnXTtcbiAgfVxuXG4gIGdldCB3c1ppcENvZGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snemlwJ107XG4gIH1cblxuICBnZXQgd3NQaG9uZU51bWJlcigpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydlbXBsb3llclBob25lJ107XG4gIH1cblxuICBnZXQgaGlkRW1wSWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snZW1wbG95ZXJJZCddO1xuICB9XG5cbiAgZ2V0IGlzUGFydFRpbWVFbXBsb3llcigpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydpc1BhcnRUaW1lRW1wbG95ZXInXTtcbiAgfVxuXG4gIGdldCBqb2JUaXRsZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydqb2JUaXRsZSddO1xuICB9XG5cbiAgZ2V0IHN0YXJ0RGF5V29ya2VkKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3N0YXJ0RGF5V29ya2VkJ107XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uRm9ySG91cnNBbmRXYWdlc09uQWN0aXZpdHlUeXBlKCl7XG4gICAgaWYodGhpcy5lbXBUb0VkaXQ/LmlzUGFydFRpbWVFbXBsb3llcil7XG4gICAgICBpZigodGhpcy53c0VtcEFtdEVhcm5lZC52YWx1ZSA9PT0gMC4wIHx8IHRoaXMud3NFbXBBbXRFYXJuZWQudmFsdWUgPT09IDApXG4gICAgICAgICYmICh0aGlzLndjRW1wSG91cnNXb3JrZWQudmFsdWUgPT09IDAuMCB8fCB0aGlzLndjRW1wSG91cnNXb3JrZWQudmFsdWUgPT09IDApXG4gICAgICAgICYmIHRoaXMud2NFbXBTdGF0dXMudmFsdWUgPT09ICdXUlBUJyl7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndzRW1wQW10RWFybmVkKTtcbiAgICAgICAgICB0aGlzLndjRW1wU3RhdHVzLnNldEVycm9ycyh7J2NoYW5nZUVtcFN0YXR1cycgOiB0cnVlfSk7XG4gICAgICB9IGVsc2UgaWYoKHRoaXMud3NFbXBBbXRFYXJuZWQudmFsdWUgPT09IDAuMCB8fCB0aGlzLndzRW1wQW10RWFybmVkLnZhbHVlID09PSAwKVxuICAgICAgICAmJiAodGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID4gMC4wIHx8IHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA+IDApXG4gICAgICAgICYmIHRoaXMud2NFbXBTdGF0dXMudmFsdWUgPT09ICdXUlBUJyl7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndjRW1wU3RhdHVzKTtcbiAgICAgICAgICB0aGlzLndzRW1wQW10RWFybmVkLnNldEVycm9ycyh7J2Vhcm5pbmdzTm90WmVybyc6IHRydWV9KTtcbiAgICAgIH1lbHNlIGlmKCh0aGlzLndzRW1wQW10RWFybmVkLnZhbHVlID09PSAwLjAgfHwgdGhpcy53c0VtcEFtdEVhcm5lZC52YWx1ZSA9PT0gMClcbiAgICAgICAgJiYgKHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA+IDAuMCB8fCB0aGlzLndjRW1wSG91cnNXb3JrZWQudmFsdWUgPiAwIHx8XG4gICAgICAgICAgdGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID09PSAwLjAgfHwgdGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID09PSAwKVxuICAgICAgICAmJiB0aGlzLndjRW1wU3RhdHVzLnZhbHVlICE9PSAnV1JQVCcpe1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53Y0VtcFN0YXR1cyk7XG4gICAgICAgICAgdGhpcy53c0VtcEFtdEVhcm5lZC5zZXRFcnJvcnMoeydlYXJuaW5nc05vdFplcm8nOiB0cnVlfSk7XG4gICAgICB9XG4gICAgfSBlbHNle1xuICAgICAgaWYoKHRoaXMud3NFbXBBbXRFYXJuZWQudmFsdWUgPT09IDAuMCB8fCB0aGlzLndzRW1wQW10RWFybmVkLnZhbHVlID09PSAwKVxuICAgICAgICAmJiAodGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID09PSAwLjAgfHwgdGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID09PSAwKVxuICAgICAgICAmJiB0aGlzLndjRW1wU3RhdHVzLnZhbHVlID09PSAnV1JQVCcpe1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53c0VtcEFtdEVhcm5lZCk7XG4gICAgICAgICAgdGhpcy53Y0VtcFN0YXR1cy5zZXRFcnJvcnMoeydjaGFuZ2VFbXBTdGF0dXMnIDogdHJ1ZX0pO1xuICAgICAgfVxuICAgICAgaWYoKHRoaXMud3NFbXBBbXRFYXJuZWQudmFsdWUgPT09IDAuMCB8fCB0aGlzLndzRW1wQW10RWFybmVkLnZhbHVlID09PSAwKVxuICAgICAgICAmJiAodGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID4gMC4wIHx8IHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA+IDApXG4gICAgICAgICYmIHRoaXMud2NFbXBTdGF0dXMudmFsdWUgPT09ICdXUlBUJyl7XG4gICAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndjRW1wU3RhdHVzKTtcbiAgICAgICAgICB0aGlzLndzRW1wQW10RWFybmVkLnNldEVycm9ycyh7J2Vhcm5pbmdzTm90WmVybyc6IHRydWV9KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRWYWxpZGF0aW9uQmFzZWRPbkVtcGxveW1lbnRTdGF0dXModmFsOiBTdHJpbmcpIHtcbiAgICBpZiAodmFsICYmIHZhbCA9PSAnUlRXRicpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLndjRW1wTG93UnR3RGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53Y0VtcExvd1J0d0RhdGUpO1xuICAgIH1cblxuICAgIGlmICh2YWwgJiYgdmFsID09ICdMV0xPJykge1xuICAgICAgdGhpcy5qb2JUaXRsZS5jbGVhclZhbGlkYXRvcnM7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5oYXZlUmV0dXJuVG9Xb3JrRGF0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5oYXZlUmV0dXJuVG9Xb3JrRGF0ZSk7XG4gICAgfVxuXG4gICAgaWYgKHZhbCAmJiB2YWwgPT0gJ0RDRkknKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5kaXNjaGFyZ2VkKTtcbiAgICAgIGlmKCF0aGlzLmlzTVMoKSl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmpvYlRpdGxlKTtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXlXb3JrZWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iVGl0bGUpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF5V29ya2VkKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kaXNjaGFyZ2VkKTtcbiAgICB9XG5cbiAgICBpZiAodmFsICYmIHZhbCA9PSAnVk9MUScpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnZvbHVudGFyeVF1aXQpO1xuICAgICAgaWYoIXRoaXMuaXNNUygpKXtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuam9iVGl0bGUpO1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERheVdvcmtlZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5qb2JUaXRsZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXlXb3JrZWQpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnZvbHVudGFyeVF1aXQpO1xuICAgIH1cblxuICAgIGlmICh2YWwgJiYgdmFsID09ICdTVVNQJyAmJiAhdGhpcy5pc01TKCkpIHtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmpvYlRpdGxlKTtcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF5V29ya2VkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmpvYlRpdGxlKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERheVdvcmtlZCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbCAmJiB2YWwgPT0gJ1NUTE8nJiYgIXRoaXMuaXNNUygpKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5qb2JUaXRsZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5qb2JUaXRsZSk7XG4gICAgfVxuICB9XG5cbiAgc2V0RW1wbG95ZXIoZW1wbG95ZXI6IEVtcGxveWVyU2VhcmNoUmVzdWx0KSB7XG4gICAgdGhpcy53Y0VtcE5hbWUuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJOYW1lKTtcbiAgICB0aGlzLndjRW1wQWRkcmVzc0xpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XG4gICAgdGhpcy53Y0VtcEFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xuICAgIHRoaXMud2NFbXBDaXR5LnNldFZhbHVlKGVtcGxveWVyLmNpdHkpO1xuICAgIHRoaXMud2NFbXBTdGF0ZS5zZXRWYWx1ZShlbXBsb3llci5zdGF0ZS52YWx1ZSk7XG4gICAgaWYodGhpcy5pc01FKCkpe1xuICAgICAgdGhpcy53Y0VtcENvdW50cnkuc2V0VmFsdWUoZW1wbG95ZXIuY291bnRyeS52YWx1ZSk7XG4gICAgfVxuICAgIHRoaXMud3NaaXBDb2RlLnNldFZhbHVlKGVtcGxveWVyLnppcCk7XG4gICAgdGhpcy5oaWRFbXBJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcbiAgfVxuXG4gIGRhdGVJbnB1dChldmVudCkge1xuICAgIGxldCBjdXJyZW50VmFsdWU6IHN0cmluZyA9IGV2ZW50LnNyY0VsZW1lbnQudmFsdWU7XG4gICAgaWYgKGN1cnJlbnRWYWx1ZSkge1xuICAgICAgaWYgKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gMiAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDIpICE9ICcvJykge1xuICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcbiAgICAgIH1cbiAgICAgIGlmIChjdXJyZW50VmFsdWUubGVuZ3RoID09IDUgJiYgY3VycmVudFZhbHVlLmNoYXJBdCg1KSAhPSAnLycpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZ2V0RGF0ZSh3c0RhdGUpOiBEYXRlIHtcbiAgICBpZighKHdzRGF0ZSBpbnN0YW5jZW9mIERhdGUpKXtcbiAgICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0RW50ZXJlZERhdGUod3NEYXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIHdzRGF0ZTtcbiAgfVxuXG4gIHNldFdhZ2VGbGFnKGV2ZW50OiBFdmVudCl7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLndhZ2VEaWFsb2cgPSB0cnVlO1xuICB9XG5cbiAgb25EaWFsb2dTYXZlKHdhZ2VDYWxjdWxhdG9yU2F2ZWREYXRhOiBXYWdlQ2FsY3VsYXRvck1vZGVsKXtcbiAgICB0aGlzLndhZ2VDYWxjdWxhdG9yRGF0YSA9IHdhZ2VDYWxjdWxhdG9yU2F2ZWREYXRhO1xuICAgIHRoaXMud2FnZURpYWxvZyA9IGZhbHNlO1xuICB9XG4gXG4gIG9uRGlhbG9nQ2FuY2VsKCl7XG4gICAgdGhpcy53YWdlRGlhbG9nID0gZmFsc2U7XG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZW1wRm9ybVwiICNlbXBGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgPGlvbi1ncmlkPlxyXG4gICAgPGlvbi1yb3cgKm5nSWY9XCIhZW1wVG9FZGl0Py5pc1BhcnRUaW1lRW1wbG95ZXJcIj5cclxuICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBmb3JtZ3JpZFwiPlxyXG4gICAgICAgICAgXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wTmFtZVwiPkVtcGxveWVyIE5hbWU8L2xhYmVsPlxyXG4gICAgICAgICAgICA8YXBwLXNlYXJjaC1lbXBsb3llciBpZD1cIndjRW1wbG95ZXJOYW1lXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wTmFtZVwiIChvbkZvdW5kKT1cInNldEVtcGxveWVyKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIFtlbXBUeXBlXT1cIidSRUcnXCI+PC9hcHAtc2VhcmNoLWVtcGxveWVyPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBOYW1lJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCcsIHBhdHRlcm46ICclLCA8LCA+LCBeLCBfLCB7LCB9IGFyZSBub3QgYWxsb3dlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzTUUoKVwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcFN0YXRlXCI+Q291bnRyeTwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gaW5wdXRJZD1cIndjRW1wQ291bnRyeVwiIFtvcHRpb25zXT1cImNvdW50cnlPcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBDb3VudHJ5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwid2NFbXBDb3VudHJ5XCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wQ291bnRyeScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wQWRkcmVzc0xpbmUxXCI+U3RyZWV0IEFkZHJlc3M8L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJ3Y0VtcEFkZHJlc3NMaW5lMVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIndjRW1wQWRkcmVzc0xpbmUxXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcEFkZHJlc3NMaW5lMScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnLCBwYXR0ZXJuOiAnb25seSBsZXR0ZXJzLCBudW1iZXJzLCBzcGFjZXMsIGNvbW1hcywgcGVyaW9kcywgYXBvc3Ryb3BoZXMsIGh5cGhlbnMsICMgYW5kIC8gYWxsb3dlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wQ2l0eVwiPkNpdHk8L2xhYmVsPlxyXG4gICAgICAgICAgICA8aW5wdXQgaWQ9XCJ3Y0VtcENpdHlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3Y0VtcENpdHlcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wQ2l0eScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnLCBwYXR0ZXJuOiAnY2l0eSBuYW1lIGNhbiBvbmx5IGNvbnRhaW4gbGV0dGVycywgc3BhY2VzLCBhbmQgaHlwaGVucydcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cImlzTUUoKVwiPlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBTdGF0ZVwiPlN0YXRlPC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gaW5wdXRJZD1cIndjRW1wU3RhdGVcIiBbb3B0aW9uc109XCJzdGF0ZXNDb21ib1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcFN0YXRlXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwid2NFbXBTdGF0ZVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBTdGF0ZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid3NaaXBDb2RlXCI+WmlwIENvZGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ3c1ppcENvZGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3c1ppcENvZGVcIiBtaW5sZW5ndGg9XCI1XCIgbWF4bGVuZ3RoPVwiOVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwU3RyaXBJbnZpc2libGVDaGFycyAvPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd3NaaXBDb2RlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZExlbmd0aDogJ1ppcCBjb2RlIHNob3VsZCBiZSBvZiA1IG9yIDkgZGlnaXRzLicsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWROdW1iZXI6ICdaaXAgY29kZSBzaG91bGQgb25seSBoYXZlIG51bWJlcnMuJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZFppcENvZGU6ICdwbGVhc2UgZW50ZXIgYSB2YWxpZCB6aXAgY29kZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiAqbmdJZj1cIiFpc01FKClcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wU3RhdGVcIj5TdGF0ZTwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gaW5wdXRJZD1cIndjRW1wU3RhdGVcIiBbb3B0aW9uc109XCJzdGF0ZXNDb21ib1wiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIndjRW1wU3RhdGVcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ3Y0VtcFN0YXRlXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wU3RhdGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3c1ppcENvZGVcIj5aaXAgQ29kZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwid3NaaXBDb2RlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid3NaaXBDb2RlXCIgbWlubGVuZ3RoPVwiNVwiIG1heGxlbmd0aD1cIjlcIlxyXG4gICAgICAgICAgICAgICAgYXBwU3RyaXBJbnZpc2libGVDaGFycyAvPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3c1ppcENvZGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludmFsaWRMZW5ndGg6ICdaaXAgY29kZSBzaG91bGQgYmUgb2YgNSBvciA5IGRpZ2l0cy4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZE51bWJlcjogJ1ppcCBjb2RlIHNob3VsZCBvbmx5IGhhdmUgbnVtYmVycy4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52YWxpZFppcENvZGU6ICdwbGVhc2UgZW50ZXIgYSB2YWxpZCB6aXAgY29kZSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJsYXN0RGF5V29ya2VkXCI+TGFzdCBkYXkgeW91IHdvcmtlZDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtpY29uQXJpYUxhYmVsXT1cIidMYXN0IGRheSB3b3JrZWQnXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwibGFzdERheVdvcmtlZFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImxhc3REYXlXb3JrZWRcIiBbbWluRGF0ZV09XCJzdW5EYXRlXCIgW21heERhdGVdPVwic2F0RGF0ZVwiXHJcbiAgICAgICAgICAgICAgW2RlZmF1bHREYXRlXT1cInN1bkRhdGVcIiBbc2VsZWN0T3RoZXJNb250aHNdPVwidHJ1ZVwiIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIGRhdGVGb3JtYXQ9XCJtbS9kZC95eVwiXHJcbiAgICAgICAgICAgICAgW21vbnRoTmF2aWdhdG9yXT1cInRydWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdsYXN0RGF5V29ya2VkJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCcsXHJcbiAgICAgICAgICAgICAgICBkYXRlTm90QmV0d2VlbjogJ0RhdGUgc2hvdWxkIGJlIGJldHdlZW4gJyArIGR5bmFtaWNQYXJhbS5zdW5kYXlfZGF0ZSArICcgYW5kICcgKyBkeW5hbWljUGFyYW0uc2F0dXJkYXlfZGF0ZSArICcuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgZm9ybWdyaWRcIj5cclxuXHJcbiAgICAgICAgICBcclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndzUGhvbmVOdW1iZXJcIj5QaG9uZSBOby48L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1pbnB1dE1hc2sgaW5wdXRJZD1cIndzUGhvbmVOdW1iZXJcIiBbZm9ybUNvbnRyb2xdPVwid3NQaG9uZU51bWJlclwiIG1hc2s9XCIoOTk5KSA5OTktOTk5OVwiXHJcbiAgICAgICAgICAgICAgdW5tYXNrPVwidHJ1ZVwiPjwvcC1pbnB1dE1hc2s+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3c1Bob25lTnVtYmVyJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wU3RhdHVzXCI+V2hhdCdzIHlvdXIgZW1wbG95bWVudCBzdGF0dXMgd2l0aCB0aGlzIGVtcGxveWVyPzwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gaW5wdXRJZD1cIndjRW1wU3RhdHVzXCIgW29wdGlvbnNdPVwiZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGxcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBTdGF0dXNcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgaW5wdXRJZD1cIndjRW1wU3RhdHVzMVwiPjwvYXBwLWRyb3Bkb3duPjxiciAvPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBTdGF0dXMnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJywgY2hhbmdlRW1wU3RhdHVzOiAnSWYgaG91cnMgYW5kIGVhcm5pbmdzIGFyZSBib3RoIDAsIGVtcGxveW1lbnQgc3RhdHVzIGNhbm5vdCBiZSB3b3JraW5nLXBhcnQgdGltZS4nIFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ0xXTE8nXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYXZlUmV0dXJuVG9Xb3JrRGF0ZVwiPkRvIHlvdSBrbm93IHdoZW4geW91J3JlIHJldHVybmluZyB0byBmdWxsLXRpbWUgd29yaz88L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwieWVzTm9PcHRpb25cIiBbZm9ybUNvbnRyb2xdPVwiaGF2ZVJldHVyblRvV29ya0RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGF2ZVJldHVyblRvV29ya0RhdGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3Y0VtcFN0YXR1cy52YWx1ZSA9PSAnTFdMTycgJiYgaGF2ZVJldHVyblRvV29ya0RhdGUudmFsdWUgPT0gJ1knXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcExvd1J0d0RhdGVcIj5XaGVuPzwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG4gICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cIndjRW1wTG93UnR3RGF0ZVwiIGFwcGVuZFRvPVwiYm9keVwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcExvd1J0d0RhdGVcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25BcmlhTGFiZWxdPVwiJ1doZW4/J1wiIFttb250aE5hdmlnYXRvcl09XCJ0cnVlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiJ3dlZWtsaWVzLnYyLmVtcGxveW1lbnQucnR3LmluZm8ucG9wdXAuMjE1NScgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIlxyXG4gICAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy10b3A6M3B4XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wTG93UnR3RGF0ZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3Y0VtcFN0YXR1cy52YWx1ZSA9PSAnUlRXRidcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wUnR3RGF0ZVwiPlJldHVybiB0byB3b3JrIGRhdGU8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJ3Y0VtcFJ0d0RhdGVcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBSdHdEYXRlXCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgIFtpY29uQXJpYUxhYmVsXT1cIidSZXR1cm4gdG8gd29yayBkYXRlJ1wiIFttb250aE5hdmlnYXRvcl09XCJ0cnVlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wUnR3RGF0ZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3Y0VtcFN0YXR1cy52YWx1ZSA9PSAnRENGSSdcIj5cclxuICAgICAgICAgICAgPGxhYmVsXHJcbiAgICAgICAgICAgICAgZm9yPVwiZGlzY2hhcmdlRGV0YWlsXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24uZGlzY2hhcmdlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cImRpc2NoYXJnZWRcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIGlucHV0SWQ9XCJkaXNjaGFyZ2VkMVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3Y0VtcFN0YXR1cy52YWx1ZSA9PSAnVk9MUSdcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwidm9sUXVpdFJlYXNvbk9wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwidm9sdW50YXJ5UXVpdFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCIgaW5wdXRJZD1cInZvbHVudGFyeVF1aXQxXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd2b2x1bnRhcnlRdWl0JyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzTVMoKSA/IGZhbHNlIDogKHdjRW1wU3RhdHVzLnZhbHVlID09ICdWT0xRJyB8fCB3Y0VtcFN0YXR1cy52YWx1ZSA9PSdTVVNQJyB8fCB3Y0VtcFN0YXR1cy52YWx1ZSA9PSdEQ0ZJJylcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cInN0YXJ0RGF5V29ya2VkXCI+Rmlyc3QgZGF5IHlvdSB3b3JrZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbaWNvbkFyaWFMYWJlbF09XCInU3RhcnQgZGF5IHdvcmtlZCdcIiBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJzdGFydERheVdvcmtlZFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cInN0YXJ0RGF5V29ya2VkXCIgW21heERhdGVdPVwibWF4U3RhcnREYXRlXCJcclxuICAgICAgICAgICAgICBbZGVmYXVsdERhdGVdPVwic3VuRGF0ZVwiIFtzZWxlY3RPdGhlck1vbnRoc109XCJ0cnVlXCIgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgXHJcbiAgICAgICAgICAgICAgW21vbnRoTmF2aWdhdG9yXT1cInRydWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGFydERheVdvcmtlZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnLFxyXG4gICAgICAgICAgICAgICAgZGF0ZU5vdEJldHdlZW46ICdEYXRlIHNob3VsZCBiZSBiZXR3ZWVuICcgKyBkeW5hbWljUGFyYW0uc3VuZGF5X2RhdGUgKyAnIGFuZCAnICsgZHluYW1pY1BhcmFtLnNhdHVyZGF5X2RhdGUgKyAnLidcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzTVMoKSA/IGZhbHNlIDogKHdjRW1wU3RhdHVzLnZhbHVlID09ICdWT0xRJyB8fCB3Y0VtcFN0YXR1cy52YWx1ZSA9PSdTVVNQJyB8fCB3Y0VtcFN0YXR1cy52YWx1ZSA9PSdEQ0ZJJyB8fCB3Y0VtcFN0YXR1cy52YWx1ZSA9PSdTVExPJylcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImpvYlRpdGxlXCI+Sm9iIFRpdGxlPC9sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwiam9iVGl0bGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJqb2JUaXRsZVwiIHJlcXVpcmVkIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nam9iVGl0bGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cImhpZEVtcElkXCIgLz5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCIhaXNNRSgpXCI+XHJcbiAgICAgICAgPHNwYW4gKGNsaWNrKT1cInNldFdhZ2VGbGFnKCRldmVudClcIiBjbGFzcz1cInVuZGVybGluZS1ibHVlXCIgc3R5bGU9XCJjdXJzb3I6cG9pbnRlcjtcIj5cclxuICAgICAgICAgIDxiPkVhcm5pbmdzIENhbGN1bGF0b3I8L2I+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0lmPVwid2FnZURpYWxvZ1wiPlxyXG4gICAgICAgICAgICA8YXBwLXdhZ2UtY2FsY3VsYXRvciBbZHluYW1pY1BhcmFtXT1cImR5bmFtaWNQYXJhbVwiIFtzaG93Q2FsY3VsYXRvclBvcHVwXT1cInRydWVcIiBcclxuICAgICAgICAgICAgKGdyb3NzRWFybmluZ3NDaGFuZ2UpPVwidXBkYXRlR3Jvc3NFYXJuaW5ncygkZXZlbnQpXCIgKHRvdGFsSG91cnNDaGFuZ2UpPVwidXBkYXRlVG90YWxIb3VycygkZXZlbnQpXCJcclxuICAgICAgICAgICAgKHNhdmVDbGlja2VkKT1cIm9uRGlhbG9nU2F2ZSgkZXZlbnQpXCIgKGNhbmNlbENsaWNrZWQpPVwib25EaWFsb2dDYW5jZWwoKVwiIFt3YWdlQ2FsY3VsYXRvclNhdmVkRGF0YV09XCJ3YWdlQ2FsY3VsYXRvckRhdGFcIj48L2FwcC13YWdlLWNhbGN1bGF0b3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBIb3Vyc1dvcmtlZFwiPkhvdXJzIHdvcmtlZDwvbGFiZWw+PGJyLz5cclxuICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJ3Y0VtcEhvdXJzV29ya2VkXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wSG91cnNXb3JrZWRcIiBtYXhsZW5ndGg9XCIxMFwiXHJcbiAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiIFttaW5GcmFjdGlvbkRpZ2l0c109XCIxXCIgW21heEZyYWN0aW9uRGlnaXRzXT1cIjJcIj48L3AtaW5wdXROdW1iZXI+PGJyPlxyXG4gICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wSG91cnNXb3JrZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCcsIGhvdXJzUGVyV2Vla0V4Y2VlZGVkOiAndG90YWwgaG91cnMgbXVzdCBub3QgYmUgZ3JlYXRlciB0aGFuIDE2OCBmb3IgdGhlIHdlZWsnXHJcbiAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICA8bGFiZWwgZm9yPVwid3NFbXBBbXRFYXJuZWRcIj5Ub3RhbCBHcm9zcyBFYXJuaW5nczwvbGFiZWw+XHJcbiAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiJ3dlZWtsaWVzLnYyLmVtcGxveW1lbnQucnR3LmluZm8ucG9wdXAuMTAwMCcgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIlxyXG4gICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj48L2FwcC1vdmVybGF5LWluZm8+PGJyLz5cclxuICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJ3c0VtcEFtdEVhcm5lZFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbG9jYWxlPVwiZW4tVVNcIlxyXG4gICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwid3NFbXBBbXRFYXJuZWRcIiBtYXhsZW5ndGg9XCIxMFwiIHBsYWNlaG9sZGVyPVwiJDAuMDBcIj48L3AtaW5wdXROdW1iZXI+PGJyPlxyXG4gICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dzRW1wQW10RWFybmVkJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnLCBlYXJuaW5nc05vdFplcm86ICdHcm9zcyBFYXJuaW5ncyBjYW5ub3QgYmUgemVyby4nXHJcbiAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9pb24tY29sPlxyXG4gICAgPC9pb24tcm93PlxyXG4gICAgPGlvbi1yb3cgKm5nSWY9XCJlbXBUb0VkaXQ/LmlzUGFydFRpbWVFbXBsb3llclwiPlxyXG4gICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIGZvcm1ncmlkXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGI+e3t3Y0VtcE5hbWUudmFsdWV9fTwvYj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPHNlY3Rpb24gaGlkZGVuPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcE5hbWVcIiAvPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcEFkZHJlc3NMaW5lMVwiIC8+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wQ2l0eVwiIC8+XHJcbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wU3RhdGVcIiAvPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJ3c1ppcENvZGVcIiAvPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJ3c1Bob25lTnVtYmVyXCIgLz5cclxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbZm9ybUNvbnRyb2xdPVwiaGlkRW1wSWRcIiAvPlxyXG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJpc1BhcnRUaW1lRW1wbG95ZXJcIiAvPlxyXG4gICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcFN0YXR1c1wiPldoYXQncyB5b3VyIGVtcGxveW1lbnQgc3RhdHVzIHdpdGggdGhpcyBlbXBsb3llcj88L2xhYmVsPlxyXG4gICAgICAgICAgICA8YXBwLWRyb3Bkb3duIGlucHV0SWQ9XCJ3Y0VtcFN0YXR1c1wiIFtvcHRpb25zXT1cImVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCIgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndjRW1wU3RhdHVzXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgIGlucHV0SWQ9XCJ3Y0VtcFN0YXR1czJcIj48L2FwcC1kcm9wZG93bj48YnIgLz5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wU3RhdHVzJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJywgY2hhbmdlRW1wU3RhdHVzOiAnSWYgaG91cnMgYW5kIGVhcm5pbmdzIGFyZSBib3RoIDAsIGVtcGxveW1lbnQgc3RhdHVzIGNhbm5vdCBiZSB3b3JraW5nLXBhcnQgdGltZS4nXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdMV0xPJ1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGF2ZVJldHVyblRvV29ya0RhdGVcIj5EbyB5b3Uga25vdyB3aGVuIHlvdSdyZSByZXR1cm5pbmcgdG8gZnVsbC10aW1lIHdvcms/PC9sYWJlbD5cclxuICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInllc05vT3B0aW9uXCIgW2Zvcm1Db250cm9sXT1cImhhdmVSZXR1cm5Ub1dvcmtEYXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hhdmVSZXR1cm5Ub1dvcmtEYXRlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdMV0xPJyAmJiBoYXZlUmV0dXJuVG9Xb3JrRGF0ZS52YWx1ZSA9PSAnWSdcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wTG93UnR3RGF0ZVwiPldoZW4/PC9sYWJlbD5cclxuICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XHJcbiAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwid2NFbXBMb3dSdHdEYXRlXCIgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndjRW1wTG93UnR3RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICBbaWNvbkFyaWFMYWJlbF09XCInV2hlbj8nXCIgW21vbnRoTmF2aWdhdG9yXT1cInRydWVcIiBbeWVhck5hdmlnYXRvcl09XCJ0cnVlXCIgeWVhclJhbmdlPVwiMTkwMToyMDUwXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCInd2Vla2xpZXMudjIuZW1wbG95bWVudC5ydHcuaW5mby5wb3B1cC4yMDUwJyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiXHJcbiAgICAgICAgICAgICAgICBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBMb3dSdHdEYXRlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3Y0VtcFN0YXR1cy52YWx1ZSA9PSAnUlRXRidcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wUnR3RGF0ZVwiPlJldHVybiB0byB3b3JrIGRhdGU8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJ3Y0VtcFJ0d0RhdGVcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBSdHdEYXRlXCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgIFtpY29uQXJpYUxhYmVsXT1cIidSZXR1cm4gdG8gd29yayBkYXRlJ1wiIFttb250aE5hdmlnYXRvcl09XCJ0cnVlXCIgW3llYXJOYXZpZ2F0b3JdPVwidHJ1ZVwiIHllYXJSYW5nZT1cIjE5MDE6MjA1MFwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wUnR3RGF0ZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ0RDRkknXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbFxyXG4gICAgICAgICAgICAgIGZvcj1cImRpc2NoYXJnZURldGFpbFwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlYXNvbi5zZXBhcmF0aW9uLmRpc2NoYXJnZVwifHRyYW5zbGF0ZX19PC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJkaXNjaGFyZ2VkXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBpbnB1dElkPVwiZGlzY2hhcmdlZDJcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2Rpc2NoYXJnZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdWT0xRJ1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwidm9sUXVpdERldGFpbHNcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5xdWl0XCJ8dHJhbnNsYXRlfX08L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2x1bnRhcnlRdWl0XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBpbnB1dElkPVwidm9sdW50YXJ5UXVpdDJcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZvbHVudGFyeVF1aXQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3Y0VtcFN0YXR1cy52YWx1ZSA9PSAnVk9MUScgfHwgd2NFbXBTdGF0dXMudmFsdWUgPT0nU1VTUCcgfHwgd2NFbXBTdGF0dXMudmFsdWUgPT0nRENGSScgfHwgd2NFbXBTdGF0dXMudmFsdWUgPT0nU1RMTydcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImpvYlRpdGxlXCI+Sm9iIFRpdGxlPC9sYWJlbD5cclxuICAgICAgICAgICAgPGlucHV0IGlkPVwiam9iVGl0bGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJqb2JUaXRsZVwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nam9iVGl0bGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdWT0xRJyB8fCB3Y0VtcFN0YXR1cy52YWx1ZSA9PSdTVVNQJyB8fCB3Y0VtcFN0YXR1cy52YWx1ZSA9PSdEQ0ZJJ1wiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwic3RhcnREYXlXb3JrZWRcIj5GaXJzdCBkYXkgeW91IHdvcmtlZDwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtpY29uQXJpYUxhYmVsXT1cIidTdGFydCBkYXkgd29ya2VkJ1wiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cInN0YXJ0RGF5V29ya2VkXCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwic3RhcnREYXlXb3JrZWRcIiBbbWF4RGF0ZV09XCJtYXhTdGFydERhdGVcIlxyXG4gICAgICAgICAgICAgIFtkZWZhdWx0RGF0ZV09XCJzdW5EYXRlXCIgW3NlbGVjdE90aGVyTW9udGhzXT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbbW9udGhOYXZpZ2F0b3JdPVwidHJ1ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3N0YXJ0RGF5V29ya2VkJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCcsXHJcbiAgICAgICAgICAgICAgICBkYXRlTm90QmV0d2VlbjogJ0RhdGUgc2hvdWxkIGJlIGJldHdlZW4gJyArIGR5bmFtaWNQYXJhbS5zdW5kYXlfZGF0ZSArICcgYW5kICcgKyBkeW5hbWljUGFyYW0uc2F0dXJkYXlfZGF0ZSArICcuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwibGFzdERheVdvcmtlZFwiPkxhc3QgZGF5IHlvdSB3b3JrZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1jYWxlbmRhciBbaWNvbkFyaWFMYWJlbF09XCInTGFzdCBkYXkgd29ya2VkJ1wiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImxhc3REYXlXb3JrZWRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJsYXN0RGF5V29ya2VkXCIgW21pbkRhdGVdPVwic3VuRGF0ZVwiIFttYXhEYXRlXT1cInNhdERhdGVcIiBkYXRlRm9ybWF0PVwibW0vZGQveXlcIlxyXG4gICAgICAgICAgICAgIFtkZWZhdWx0RGF0ZV09XCJzdW5EYXRlXCIgW3NlbGVjdE90aGVyTW9udGhzXT1cInRydWVcIiBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBcclxuICAgICAgICAgICAgICBbbW9udGhOYXZpZ2F0b3JdPVwidHJ1ZVwiIFt5ZWFyTmF2aWdhdG9yXT1cInRydWVcIiB5ZWFyUmFuZ2U9XCIxOTAxOjIwNTBcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2xhc3REYXlXb3JrZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnLFxyXG4gICAgICAgICAgICAgICAgICBkYXRlTm90QmV0d2VlbjogJ0RhdGUgc2hvdWxkIGJlIGJldHdlZW4gJyArIGR5bmFtaWNQYXJhbS5zdW5kYXlfZGF0ZSArICcgYW5kICcgKyBkeW5hbWljUGFyYW0uc2F0dXJkYXlfZGF0ZSArICcuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiIWlzTUUoKVwiPlxyXG4gICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwic2V0V2FnZUZsYWcoJGV2ZW50KVwiIGNsYXNzPVwidW5kZXJsaW5lLWJsdWVcIiBzdHlsZT1cImN1cnNvcjpwb2ludGVyO1wiPlxyXG4gICAgICAgICAgICAgIDxiPkVhcm5pbmdzIENhbGN1bGF0b3I8L2I+XHJcbiAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIndhZ2VEaWFsb2dcIj5cclxuICAgICAgICAgICAgICA8YXBwLXdhZ2UtY2FsY3VsYXRvciBbZHluYW1pY1BhcmFtXT1cImR5bmFtaWNQYXJhbVwiIFtzaG93Q2FsY3VsYXRvclBvcHVwXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgKGdyb3NzRWFybmluZ3NDaGFuZ2UpPVwidXBkYXRlR3Jvc3NFYXJuaW5ncygkZXZlbnQpXCIgKHRvdGFsSG91cnNDaGFuZ2UpPVwidXBkYXRlVG90YWxIb3VycygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgIChzYXZlQ2xpY2tlZCk9XCJvbkRpYWxvZ1NhdmUoJGV2ZW50KVwiIChjYW5jZWxDbGlja2VkKT1cIm9uRGlhbG9nQ2FuY2VsKClcIlxyXG4gICAgICAgICAgICAgICAgW3dhZ2VDYWxjdWxhdG9yU2F2ZWREYXRhXT1cIndhZ2VDYWxjdWxhdG9yRGF0YVwiPjwvYXBwLXdhZ2UtY2FsY3VsYXRvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wSG91cnNXb3JrZWRcIj5Ib3VycyB3b3JrZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwid2NFbXBIb3Vyc1dvcmtlZFwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcEhvdXJzV29ya2VkXCIgbWF4bGVuZ3RoPVwiMTBcIlxyXG4gICAgICAgICAgICBtb2RlPVwiZGVjaW1hbFwiIFttaW5GcmFjdGlvbkRpZ2l0c109XCIxXCIgW21heEZyYWN0aW9uRGlnaXRzXT1cIjJcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcEhvdXJzV29ya2VkJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJywgaG91cnNQZXJXZWVrRXhjZWVkZWQ6ICd0b3RhbCBob3VycyBtdXN0IG5vdCBiZSBncmVhdGVyIHRoYW4gMTY4IGZvciB0aGUgd2VlaydcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwid3NFbXBBbXRFYXJuZWRcIj5Ub3RhbCBHcm9zcyBFYXJuaW5nczwvbGFiZWw+XHJcbiAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCInd2Vla2xpZXMudjIuZW1wbG95bWVudC5ydHcuaW5mby5wb3B1cC4xMDAwJyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiXHJcbiAgICAgICAgICAgICAgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy10b3A6M3B4XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwid3NFbXBBbXRFYXJuZWRcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIGxvY2FsZT1cImVuLVVTXCJcclxuICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwid3NFbXBBbXRFYXJuZWRcIiBtYXhsZW5ndGg9XCIxMFwiIHBsYWNlaG9sZGVyPVwiJDAuMDBcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3c0VtcEFtdEVhcm5lZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCcsIGVhcm5pbmdzTm90WmVybzogJ0dyb3NzIEVhcm5pbmdzIGNhbm5vdCBiZSB6ZXJvLidcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2lvbi1jb2w+XHJcbiAgICA8L2lvbi1yb3c+XHJcbiAgICA8aW9uLXJvdz5cclxuICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBmaWxsPVwib3V0bGluZVwiIChjbGljayk9XCJjbG9zZSgpXCIgdHlwZT1cInJlc2V0XCI+Q2xlYXI8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJpc0VkaXRNb2RlID8gc2F2ZSgpIDogYWRkKClcIiB0eXBlPVwic3VibWl0XCI+XHJcbiAgICAgICAgICB7eyBpc0VkaXRNb2RlID8gJ1NhdmUnIDogJ0FkZCcgfX1cclxuICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgIDwvaW9uLWNvbD5cclxuICAgIDwvaW9uLXJvdz5cclxuICA8L2lvbi1ncmlkPlxyXG48L2Zvcm0+Il19
668
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WeeklyCertEmployerComponentQe, { className: "WeeklyCertEmployerComponentQe", filePath: "lib\\components\\weekly-cert-employer\\weekly-cert-employer.component.ts", lineNumber: 15 }); })();
669
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LWNlcnQtZW1wbG95ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS1jZXJ0LWVtcGxveWVyL3dlZWtseS1jZXJ0LWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy93ZWVrbHktY2VydC1lbXBsb3llci93ZWVrbHktY2VydC1lbXBsb3llci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQWdELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFHcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUM4RnBELCtCQUF1RCxnQkFBQTtJQUNuQixvRUFBb0Q7SUFBQSxpQkFBUTtJQUM5RixxQ0FDcUMsb0JBQUE7SUFJdkMsaUJBQU07Ozs7SUFMWSxlQUF1QjtJQUF2Qiw0Q0FBdUIsNENBQUE7SUFFNUIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsbURBQThCLGFBQUEsc0NBQUE7Ozs7SUFJaEUsK0JBQTRGLGdCQUFBO0lBQzdELHFCQUFLO0lBQUEsaUJBQVE7SUFDMUMsK0JBQTRCLHFCQUFBO0lBRXFCLHFNQUFXLGVBQUEsd0JBQWlCLENBQUEsSUFBQztJQUEyQixpQkFBYTtJQUNwSCx1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QUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUM7Z0JBQ3pELEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFlBQVksR0FBRyxHQUFHLENBQUM7YUFDM0M7WUFDRCxJQUFHLFlBQVksQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFDO2dCQUN6RCxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxZQUFZLEdBQUcsR0FBRyxDQUFDO2FBQzNDO1NBQ0o7SUFDSCxDQUFDOzhGQWxPVSw2QkFBNkI7b0VBQTdCLDZCQUE2Qjs7Ozs7O1lDYnhDLGtDQUF1RCxlQUFBO1lBRW5ELHdGQW1KVSwyRUFBQTtZQXVHVixrQ0FBc0MsY0FBQTtZQUVsQyw4RUFRUTtZQUNWLGlCQUFVLEVBQUE7WUFFWiwrQkFBUyxpQkFBQSxxQkFBQTtZQUVvQywrR0FBUyxXQUFPLElBQUM7WUFBYyxzQkFBSztZQUFBLGlCQUFhO1lBQzFGLHNDQUF3RDtZQUE5QiwrR0FBUyxTQUFLLElBQUM7WUFBZSxvQkFBRztZQUFBLGlCQUFhLEVBQUEsRUFBQSxFQUFBLEVBQUE7O1lBNVExRSx1Q0FBcUI7WUFFYixlQUFzQztZQUF0Qyx5RkFBc0M7WUFvSnRDLGVBQXFDO1lBQXJDLHNGQUFxQztZQXdHdkIsZUFBeUQ7WUFBekQsdUhBQXlEOzs7aUZEalAxRSw2QkFBNkI7Y0FMekMsU0FBUzsyQkFDRSw2QkFBNkI7d0dBT2hDLGdCQUFnQjtrQkFEdEIsU0FBUzttQkFBQyxrQkFBa0IsRUFBRSxFQUFDLE1BQU0sRUFBRyxLQUFLLEVBQUM7WUFJL0MsT0FBTztrQkFETixNQUFNO1lBSVAsT0FBTztrQkFETixNQUFNO1lBSUEsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSzs7a0ZBZEssNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgTmdGb3JtLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBDaG9pY2VzTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvQWRkcmVzc0NvbXBvbmVudE1vZGVsJztcclxuaW1wb3J0IHsgRW1wbG95ZXJJbmZvTW9kZWwsIEVtcGxveWVyU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL0VtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0JztcclxuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvcXVlc3Rpb25uYWlyZS9Db21ib01vZGVsJztcclxuaW1wb3J0IHsgQ2xhaW1TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1zL2NsYWltcy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXdlZWtseS1jZXJ0LWVtcGxveWVyLXFlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vd2Vla2x5LWNlcnQtZW1wbG95ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3dlZWtseS1jZXJ0LWVtcGxveWVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBXZWVrbHlDZXJ0RW1wbG95ZXJDb21wb25lbnRRZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2VtcEZvcm1EaXJlY3RpdmUnLCB7c3RhdGljIDogZmFsc2V9KSBcclxuICBwdWJsaWMgZW1wRm9ybURpcmVjdGl2ZTogTmdGb3JtO1xyXG5cclxuICBAT3V0cHV0KCkgXHJcbiAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKSBcclxuICBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1wVG9FZGl0ID0gbmV3IEVtcGxveWVySW5mb01vZGVsKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGR5bmFtaWNQYXJhbTogYW55O1xyXG5cclxuICBwdWJsaWMgeWVzTm9PcHRpb24gPSBDb21ib09wdGlvbi5ZRVNfTk87XHJcblxyXG4gIHB1YmxpYyBlbXBGb3JtIDogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgc3RhdGVzQ29tYm8gPSBDb21ib09wdGlvbi5VU19TVEFURVM7XHJcbiAgcHVibGljIHNhdERhdGUgOiBEYXRlO1xyXG4gIHB1YmxpYyBzdW5EYXRlIDogRGF0ZTtcclxuXHJcbiAgcHVibGljIGRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHZvbFF1aXRSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIHV0aWwgOiBVdGlsU2VydmljZSwgcHVibGljIGZvcm1CdWlsZGVyIDogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgY3MgOiBDbGFpbVNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMubG9hZE1hc3RlckRhdGEoKTtcclxuICAgIHRoaXMuc2F0RGF0ZSA9IHRoaXMudXRpbC5nZXRFbnRlcmVkRGF0ZUZyb21TdHJpbmcodGhpcy5keW5hbWljUGFyYW0uc2F0dXJkYXlfZGF0ZSk7XHJcbiAgICB0aGlzLnN1bkRhdGUgPSB0aGlzLnV0aWwuZ2V0RW50ZXJlZERhdGVGcm9tU3RyaW5nKHRoaXMuZHluYW1pY1BhcmFtLnN1bmRheV9kYXRlKTtcclxuICAgIHRoaXMuaW5pdGlsaXplRW1wbG95ZXJJbmZvckZvcm0oKTtcclxuICB9XHJcbiAgXHJcbiAgbG9hZE1hc3RlckRhdGEoKSB7XHJcbiAgICB0aGlzLmNzLmxvYWRNYXN0ZXJEYXRhKCk7XHJcblxyXG4gICAgdGhpcy5jcy5nZXRSZWFzb25TZXBhcmF0aW9uKCkuc3Vic2NyaWJlKFxyXG4gICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMuZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGwucHVzaChhcnIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNzLmdldERpc2NoYXJnZVJlYXNvbnMoKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZhbHVlID0+IHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5kaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jcy5nZXRRdWl0UmVhc29ucygpLnN1YnNjcmliZShcclxuICAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XHJcbiAgICAgIH1cclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBhZGQoKXtcclxuICAgIC8vIE1hcmsgYWxsIGNvbnRyb2xzIGFzIHRvdWNoZWQgdG8gdHJpZ2dlciB2YWxpZGF0aW9uIGRpc3BsYXlcclxuICAgIHRoaXMuZW1wRm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICBcclxuICAgIC8vIE1hbnVhbGx5IHVwZGF0ZSB2YWx1ZSBhbmQgdmFsaWRpdHlcclxuICAgIHRoaXMuZW1wRm9ybS51cGRhdGVWYWx1ZUFuZFZhbGlkaXR5KCk7XHJcbiAgICBcclxuICAgIC8vIENoZWNrIGlmIGZvcm0gaXMgdmFsaWQgYWZ0ZXIgY29uZGl0aW9uYWwgdmFsaWRhdGlvblxyXG4gICAgaWYgKHRoaXMuZW1wRm9ybS52YWxpZCl7XHJcbiAgICAgIHRoaXMuZW1wRm9ybS52YWx1ZS5pc1BhcnRUaW1lRW1wbG95ZXJFZGl0ZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh0aGlzLmVtcEZvcm0udmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKXtcclxuICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWxpemVFbXBsb3llckluZm9yRm9ybSgpe1xyXG4gICAgbGV0IGVtcEluZm8gPSB0aGlzLmVtcFRvRWRpdCA/IHRoaXMuZW1wVG9FZGl0IDogbmV3IEVtcGxveWVySW5mb01vZGVsKCk7XHJcbiAgICB0aGlzLmVtcEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ2xhc3REYXlXb3JrZWQnIDogW2VtcEluZm8ubGFzdERheVdvcmtlZCwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLmlzQmV0d2Vlbih0aGlzLnN1bkRhdGUsIHRoaXMuc2F0RGF0ZSldKV0sXHJcbiAgICAgICdlbXBsb3llck5hbWUnIDogW2VtcEluZm8uZW1wbG95ZXJOYW1lLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ2xpbmUxJyA6IFtlbXBJbmZvLmxpbmUxLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ2xpbmUyJyA6IFtlbXBJbmZvLmxpbmUyIF0sXHJcbiAgICAgICdjaXR5JyA6IFtlbXBJbmZvLmNpdHksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnc3RhdGUnIDogW2VtcEluZm8uc3RhdGUgIT0gdW5kZWZpbmVkID8gZW1wSW5mby5zdGF0ZSA6IHRoaXMudXRpbC5nZXRTdGF0ZSgpLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ2dyb3NzRWFybmluZycgOiBbZW1wSW5mby5ncm9zc0Vhcm5pbmcsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcclxuICAgICAgJ3JlYXNvblNlcGFyYXRpb24nIDogW2VtcEluZm8ucmVhc29uU2VwYXJhdGlvbiAhPSB1bmRlZmluZWQgPyBlbXBJbmZvLnJlYXNvblNlcGFyYXRpb24gOiAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdoYXZlUmV0dXJuVG9Xb3JrRGF0ZScgOiBbZW1wSW5mby5oYXZlUmV0dXJuVG9Xb3JrRGF0ZV0sXHJcbiAgICAgICdyZXR1cm5Ub1dvcmtEYXRlJyA6IFtlbXBJbmZvLnJldHVyblRvV29ya0RhdGVdLFxyXG4gICAgICAndm9sdW50YXJ5UXVpdCcgOiBbZW1wSW5mby52b2x1bnRhcnlRdWl0XSxcclxuICAgICAgJ2Rpc2NoYXJnZWQnIDogW2VtcEluZm8uZGlzY2hhcmdlZF0sXHJcbiAgICAgICdob3Vyc1dvcmtlZEluV2VlaycgOiBbZW1wSW5mby5ob3Vyc1dvcmtlZEluV2VlaywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxyXG4gICAgICAnemlwJyA6IFtlbXBJbmZvLnppcCAhPSB1bmRlZmluZWQgPyBlbXBJbmZvLnppcCA6ICcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMuaXNWYWxpZFppcENvZGVdKV0sXHJcbiAgICAgICdlbXBsb3llclBob25lJyA6IFtlbXBJbmZvLmVtcGxveWVyUGhvbmUgIT0gdW5kZWZpbmVkID8gZW1wSW5mby5lbXBsb3llclBob25lIDogJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcclxuICAgICAgJ2VtcGxveWVySWQnIDogW2VtcEluZm8uZW1wbG95ZXJJZF0sXHJcbiAgICAgICd0ZW1wV2NFbXBsb3llcklkJyA6IFtlbXBJbmZvLnRlbXBXY0VtcGxveWVySWQgPyBlbXBJbmZvLnRlbXBXY0VtcGxveWVySWQgOiBuZXcgRGF0ZSgpLmdldFRpbWUoKV0sXHJcbiAgICAgICdwb3RlbnRpYWxJc3N1ZUlkJyA6IFtlbXBJbmZvLnBvdGVudGlhbElzc3VlSWQgPyBlbXBJbmZvLnBvdGVudGlhbElzc3VlSWQgOiBudWxsXSxcclxuICAgICAgJ2lzUGFydFRpbWVFbXBsb3llcicgOiBbZW1wSW5mby5pc1BhcnRUaW1lRW1wbG95ZXIgPyBlbXBJbmZvLmlzUGFydFRpbWVFbXBsb3llciA6IG51bGxdXHJcblxyXG4gICAgfSwge1xyXG4gICAgICB2YWxpZGF0b3JzOiBBcHBWYWxpZGF0b3JzLnJlcXVpcmVFYXJuaW5nc0lmV29ya2VkKHRoaXMuc3VuRGF0ZSwgdGhpcy5zYXREYXRlKVxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy53Y0VtcFN0YXR1cy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XHJcbiAgICAgIGlmKHZhbCAmJiB2YWwgPT0gJ1JUV0YnKXtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53Y0VtcExvd1J0d0RhdGUpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud2NFbXBMb3dSdHdEYXRlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYodmFsICYmIHZhbCA9PSAnTFdMTycpe1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmhhdmVSZXR1cm5Ub1dvcmtEYXRlKTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmhhdmVSZXR1cm5Ub1dvcmtEYXRlKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYodmFsICYmIHZhbCA9PSAnRENGSScpe1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmRpc2NoYXJnZWQpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZGlzY2hhcmdlZCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmKHZhbCAmJiB2YWwgPT0gJ1ZPTFEnKXtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy52b2x1bnRhcnlRdWl0KTtcclxuICAgICAgfWVsc2V7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnZvbHVudGFyeVF1aXQpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0IGhhdmVSZXR1cm5Ub1dvcmtEYXRlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydoYXZlUmV0dXJuVG9Xb3JrRGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZvbHVudGFyeVF1aXQoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3ZvbHVudGFyeVF1aXQnXTtcclxuICB9XHJcblxyXG4gIGdldCBkaXNjaGFyZ2VkKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydkaXNjaGFyZ2VkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbGFzdERheVdvcmtlZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snbGFzdERheVdvcmtlZCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdjRW1wTmFtZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snZW1wbG95ZXJOYW1lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd2NFbXBBZGRyZXNzTGluZTEoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2xpbmUxJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd2NFbXBBZGRyZXNzTGluZTIoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2xpbmUyJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd2NFbXBDaXR5KCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydjaXR5J107XHJcbiAgfVxyXG5cclxuICBnZXQgd2NFbXBTdGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snc3RhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCB3c0VtcEFtdEVhcm5lZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snZ3Jvc3NFYXJuaW5nJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd2NFbXBTdGF0dXMoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcExvd1J0d0RhdGUoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3JldHVyblRvV29ya0RhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcFJ0d0RhdGUoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3JldHVyblRvV29ya0RhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcFdvcmtlZEZvck1vcmVFbXBsb3llcigpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snd2NFbXBXb3JrZWRGb3JNb3JlRW1wbG95ZXInXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcEhvdXJzV29ya2VkKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydob3Vyc1dvcmtlZEluV2VlayddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdzWmlwQ29kZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snemlwJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd3NQaG9uZU51bWJlcigpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snZW1wbG95ZXJQaG9uZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhpZEVtcElkKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydlbXBsb3llcklkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgaXNQYXJ0VGltZUVtcGxveWVyKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydpc1BhcnRUaW1lRW1wbG95ZXInXTtcclxuICB9XHJcbiAgc2V0RW1wbG95ZXIoZW1wbG95ZXIgOiBFbXBsb3llclNlYXJjaFJlc3VsdCl7XHJcbiAgICB0aGlzLndjRW1wTmFtZS5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llck5hbWUpO1xyXG4gICAgdGhpcy53Y0VtcEFkZHJlc3NMaW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xyXG4gICAgdGhpcy53Y0VtcEFkZHJlc3NMaW5lMi5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTIpO1xyXG4gICAgdGhpcy53Y0VtcENpdHkuc2V0VmFsdWUoZW1wbG95ZXIuY2l0eSk7XHJcbiAgICB0aGlzLndjRW1wU3RhdGUuc2V0VmFsdWUoZW1wbG95ZXIuc3RhdGUudmFsdWUpO1xyXG4gICAgdGhpcy53c1ppcENvZGUuc2V0VmFsdWUoZW1wbG95ZXIuemlwKTtcclxuICAgIHRoaXMuaGlkRW1wSWQuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XHJcbiAgfVxyXG5cclxuICBkYXRlSW5wdXQoZXZlbnQpe1xyXG4gICAgbGV0IGN1cnJlbnRWYWx1ZSA6IHN0cmluZyA9IGV2ZW50LnNyY0VsZW1lbnQudmFsdWU7XHJcbiAgICBpZihjdXJyZW50VmFsdWUpe1xyXG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gMiAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDIpICE9ICcvJyl7XHJcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihjdXJyZW50VmFsdWUubGVuZ3RoID09IDUgJiYgY3VycmVudFZhbHVlLmNoYXJBdCg1KSAhPSAnLycpe1xyXG4gICAgICAgICAgICBldmVudC50YXJnZXQudmFsdWUgPSBjdXJyZW50VmFsdWUgKyBcIi9cIjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCJcclxuICA8Zm9ybSBbZm9ybUdyb3VwXT1cImVtcEZvcm1cIiAjZW1wRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gICAgPGlvbi1ncmlkPlxyXG4gICAgICA8aW9uLXJvdyAqbmdJZiA9IFwiIWVtcFRvRWRpdD8uaXNQYXJ0VGltZUVtcGxveWVyXCI+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIGZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcE5hbWVcIj5FbXBsb3llciBOYW1lPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLXNlYXJjaC1lbXBsb3llciBbZm9ybUNvbnRyb2xdPVwid2NFbXBOYW1lXCIgKG9uRm91bmQpPVwic2V0RW1wbG95ZXIoJGV2ZW50KVwiIFtlbXBUeXBlXT1cIidSRUcnXCI+PC9hcHAtc2VhcmNoLWVtcGxveWVyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcE5hbWUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBBZGRyZXNzTGluZTFcIj5TdHJlZXQgQWRkcmVzczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGlucHV0IGlkPVwid2NFbXBBZGRyZXNzTGluZTFcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3Y0VtcEFkZHJlc3NMaW5lMVwiIC8+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wQWRkcmVzc0xpbmUxJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wQ2l0eVwiPkNpdHk8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndjRW1wQ2l0eVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIndjRW1wQ2l0eVwiIC8+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wQ2l0eScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcFN0YXRlXCI+U3RhdGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIGlucHV0SWQ9XCJ3Y0VtcFN0YXRlXCIgW29wdGlvbnNdPVwic3RhdGVzQ29tYm9cIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBTdGF0ZVwiIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgaW5wdXRJZD1cIndjRW1wU3RhdGVcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wU3RhdGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid3NaaXBDb2RlXCI+WmlwIENvZGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ3c1ppcENvZGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3c1ppcENvZGVcIiBtaW5sZW5ndGg9XCI1XCIgbWF4bGVuZ3RoPVwiOVwiLz5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dzWmlwQ29kZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZExlbmd0aDogJ1ppcCBjb2RlIHNob3VsZCBiZSBvZiA1IG9yIDkgZGlnaXRzLicsXHJcbiAgICAgICAgICAgICAgICAgICAgaW52YWxpZE51bWJlcjogJ1ppcCBjb2RlIHNob3VsZCBvbmx5IGhhdmUgbnVtYmVycy4nXHJcbiAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImxhc3REYXlXb3JrZWRcIj5MYXN0IGRheSB3b3JrZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtpY29uQXJpYUxhYmVsXT1cIidMYXN0IGRheSB3b3JrZWQnXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwibGFzdERheVdvcmtlZFwiIGFwcGVuZFRvPVwiYm9keVwiIFtmb3JtQ29udHJvbF09XCJsYXN0RGF5V29ya2VkXCIgW21pbkRhdGVdPVwic3VuRGF0ZVwiIFttYXhEYXRlXT1cInNhdERhdGVcIiBbZGVmYXVsdERhdGVdPVwic3VuRGF0ZVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbGFzdERheVdvcmtlZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgIGRhdGVOb3RCZXR3ZWVuOiAnRGF0ZSBzaG91bGQgYmUgYmV0d2VlbiAnICsgZHluYW1pY1BhcmFtLnN1bmRheV9kYXRlICsgJyBhbmQgJyArIGR5bmFtaWNQYXJhbS5zYXR1cmRheV9kYXRlICsgJy4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgZm9ybWdyaWRcIj5cclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3c1Bob25lTnVtYmVyXCI+UGhvbmUgTm8uPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1pbnB1dE1hc2sgaW5wdXRJZD1cIndzUGhvbmVOdW1iZXJcIiBbZm9ybUNvbnRyb2xdPVwid3NQaG9uZU51bWJlclwiIG1hc2s9XCIoOTk5KSA5OTktOTk5OVwiIHVubWFzaz1cInRydWVcIj48L3AtaW5wdXRNYXNrPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3c1Bob25lTnVtYmVyJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3c0VtcEFtdEVhcm5lZFwiPlRvdGFsIEdyb3NzIEVhcm5pbmdzPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiJ3dlZWtsaWVzLnYyLmVtcGxveW1lbnQucnR3LmluZm8ucG9wdXAuMTAwMCcgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cIndzRW1wQW10RWFybmVkXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBsb2NhbGU9XCJlbi1VU1wiIFtmb3JtQ29udHJvbF09XCJ3c0VtcEFtdEVhcm5lZFwiIG1heGxlbmd0aD1cIjEwXCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3c0VtcEFtdEVhcm5lZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgIGVhcm5pbmdzUmVxdWlyZWQ6ICdQbGVhc2UgcmVwb3J0IGdyb3NzIGVhcm5pbmdzLidcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wSG91cnNXb3JrZWRcIj5Ib3VycyB3b3JrZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJ3Y0VtcEhvdXJzV29ya2VkXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wSG91cnNXb3JrZWRcIiBtYXhsZW5ndGg9XCIxMFwiIHVzZUdyb3VwaW5nPVwiZmFsc2VcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wSG91cnNXb3JrZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICBlYXJuaW5nc1JlcXVpcmVkOiAnUGxlYXNlIHJlcG9ydCBob3VycyB3b3JrZWQuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBTdGF0dXNcIj5XaGF0J3MgeW91ciBlbXBsb3ltZW50IHN0YXR1cyB3aXRoIHRoaXMgZW1wbG95ZXI/PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIGlucHV0SWQ9XCJ3Y0VtcFN0YXR1c1wiIFtvcHRpb25zXT1cImVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBTdGF0dXNcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ3Y0VtcFN0YXR1czFcIiA+PC9hcHAtZHJvcGRvd24+PGJyLz5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBTdGF0dXMnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3Y0VtcFN0YXR1cy52YWx1ZSA9PSAnTFdMTydcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGF2ZVJldHVyblRvV29ya0RhdGVcIj5EbyB5b3Uga25vdyB3aGVuIHlvdSdyZSByZXR1cm5pbmcgdG8gZnVsbC10aW1lIHdvcms/PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwieWVzTm9PcHRpb25cIiBbZm9ybUNvbnRyb2xdPVwiaGF2ZVJldHVyblRvV29ya0RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdoYXZlUmV0dXJuVG9Xb3JrRGF0ZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ0xXTE8nICYmIGhhdmVSZXR1cm5Ub1dvcmtEYXRlLnZhbHVlID09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcExvd1J0d0RhdGVcIj5XaGVuPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGRpdiBzdHlsZT1cImRpc3BsYXk6IGZsZXg7XCI+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJ3Y0VtcExvd1J0d0RhdGVcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBMb3dSdHdEYXRlXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCIgW2ljb25BcmlhTGFiZWxdPVwiJ1doZW4/J1wiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtb3ZlcmxheS1pbmZvIFtvdmVybGF5VGV4dF09XCInd2Vla2xpZXMudjIuZW1wbG95bWVudC5ydHcuaW5mby5wb3B1cC4yMTU1JyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHg7IHBhZGRpbmctdG9wOjNweFwiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBMb3dSdHdEYXRlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ1JUV0YnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wUnR3RGF0ZVwiPlJldHVybiB0byB3b3JrIGRhdGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cIndjRW1wUnR3RGF0ZVwiIGFwcGVuZFRvPVwiYm9keVwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcFJ0d0RhdGVcIlxyXG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIFtpY29uQXJpYUxhYmVsXT1cIidSZXR1cm4gdG8gd29yayBkYXRlJ1wiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBSdHdEYXRlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ0RDRkknXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRpc2NoYXJnZURldGFpbFwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlYXNvbi5zZXBhcmF0aW9uLmRpc2NoYXJnZVwifHRyYW5zbGF0ZX19PC9sYWJlbD4gXHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cImRpc2NoYXJnZWRcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBpbnB1dElkPVwiZGlzY2hhcmdlZDFcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ1ZPTFEnXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD4gXHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBbb3B0aW9uc109XCJ2b2xRdWl0UmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJ2b2x1bnRhcnlRdWl0XCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCIgaW5wdXRJZD1cInZvbHVudGFyeVF1aXQxXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZvbHVudGFyeVF1aXQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cImhpZEVtcElkXCIvPlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgICA8aW9uLXJvdyAqbmdJZiA9IFwiZW1wVG9FZGl0Py5pc1BhcnRUaW1lRW1wbG95ZXJcIj5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgZm9ybWdyaWRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxiPnt7d2NFbXBOYW1lLnZhbHVlfX08L2I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPHNlY3Rpb24gaGlkZGVuPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBOYW1lXCIvPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBBZGRyZXNzTGluZTFcIi8+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcENpdHlcIi8+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcFN0YXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbZm9ybUNvbnRyb2xdPVwid3NaaXBDb2RlXCIvPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbZm9ybUNvbnRyb2xdPVwid3NQaG9uZU51bWJlclwiLz5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cImhpZEVtcElkXCIvPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbZm9ybUNvbnRyb2xdPVwiaXNQYXJ0VGltZUVtcGxveWVyXCIvPlxyXG4gICAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcFN0YXR1c1wiPldoYXQncyB5b3VyIGVtcGxveW1lbnQgc3RhdHVzIHdpdGggdGhpcyBlbXBsb3llcj88L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBpbnB1dElkPVwid2NFbXBTdGF0dXNcIiBbb3B0aW9uc109XCJlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBTdGF0dXNcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ3Y0VtcFN0YXR1czJcIj48L2FwcC1kcm9wZG93bj48YnIvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wU3RhdHVzJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdMV0xPJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhhdmVSZXR1cm5Ub1dvcmtEYXRlXCI+RG8geW91IGtub3cgd2hlbiB5b3UncmUgcmV0dXJuaW5nIHRvIGZ1bGwtdGltZSB3b3JrPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwieWVzTm9PcHRpb25cIiBbZm9ybUNvbnRyb2xdPVwiaGF2ZVJldHVyblRvV29ya0RhdGVcIiBvcHRpb25MYWJlbD1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGF2ZVJldHVyblRvV29ya0RhdGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ0xXTE8nICYmIGhhdmVSZXR1cm5Ub1dvcmtEYXRlLnZhbHVlID09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wTG93UnR3RGF0ZVwiPldoZW4/PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJ3Y0VtcExvd1J0d0RhdGVcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBMb3dSdHdEYXRlXCJcclxuICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJtbS9kZC95eXl5XCIgW3Nob3dPbkZvY3VzXT1cImZhbHNlXCIgKG9uSW5wdXQpPVwiZGF0ZUlucHV0KCRldmVudClcIiBbaWNvbkFyaWFMYWJlbF09XCInV2hlbj8nXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiJ3dlZWtsaWVzLnYyLmVtcGxveW1lbnQucnR3LmluZm8ucG9wdXAuMjA1MCcgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcExvd1J0d0RhdGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ1JUV0YnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBSdHdEYXRlXCI+UmV0dXJuIHRvIHdvcmsgZGF0ZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJ3Y0VtcFJ0d0RhdGVcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBSdHdEYXRlXCJcclxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIFtpY29uQXJpYUxhYmVsXT1cIidSZXR1cm4gdG8gd29yayBkYXRlJ1wiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcFJ0d0RhdGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ0RDRkknXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiZGlzY2hhcmdlRGV0YWlsXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24uZGlzY2hhcmdlXCJ8dHJhbnNsYXRlfX08L2xhYmVsPiBcclxuICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJkaXNjaGFyZ2VkXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgICBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBpbnB1dElkPVwiZGlzY2hhcmdlZDJcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdkaXNjaGFyZ2VkJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ1ZPTFEnXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwidm9sUXVpdERldGFpbHNcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5xdWl0XCJ8dHJhbnNsYXRlfX08L2xhYmVsPiBcclxuICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwidm9sUXVpdFJlYXNvbk9wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwidm9sdW50YXJ5UXVpdFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCIgaW5wdXRJZD1cInZvbHVudGFyeVF1aXQyXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndm9sdW50YXJ5UXVpdCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJsYXN0RGF5V29ya2VkXCI+TGFzdCBkYXkgd29ya2VkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtpY29uQXJpYUxhYmVsXT1cIidMYXN0IGRheSB3b3JrZWQnXCIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwibGFzdERheVdvcmtlZFwiIGFwcGVuZFRvPVwiYm9keVwiIFtmb3JtQ29udHJvbF09XCJsYXN0RGF5V29ya2VkXCIgW21pbkRhdGVdPVwic3VuRGF0ZVwiIFttYXhEYXRlXT1cInNhdERhdGVcIiBbZGVmYXVsdERhdGVdPVwic3VuRGF0ZVwiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdsYXN0RGF5V29ya2VkJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICAgIGRhdGVOb3RCZXR3ZWVuOiAnRGF0ZSBzaG91bGQgYmUgYmV0d2VlbiAnICsgZHluYW1pY1BhcmFtLnN1bmRheV9kYXRlICsgJyBhbmQgJyArIGR5bmFtaWNQYXJhbS5zYXR1cmRheV9kYXRlICsgJy4nXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid3NFbXBBbXRFYXJuZWRcIj5Ub3RhbCBHcm9zcyBFYXJuaW5nczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiJ3dlZWtsaWVzLnYyLmVtcGxveW1lbnQucnR3LmluZm8ucG9wdXAuMTAwMCcgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgICA8cC1pbnB1dE51bWJlciBpbnB1dElkPVwid3NFbXBBbXRFYXJuZWRcIiBtb2RlPVwiY3VycmVuY3lcIiBjdXJyZW5jeT1cIlVTRFwiIGxvY2FsZT1cImVuLVVTXCIgW2Zvcm1Db250cm9sXT1cIndzRW1wQW10RWFybmVkXCIgbWF4bGVuZ3RoPVwiMTBcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd3NFbXBBbXRFYXJuZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgICAgZWFybmluZ3NSZXF1aXJlZDogJ1BsZWFzZSByZXBvcnQgZ3Jvc3MgZWFybmluZ3MuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wSG91cnNXb3JrZWRcIj5Ib3VycyB3b3JrZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cIndjRW1wSG91cnNXb3JrZWRcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBIb3Vyc1dvcmtlZFwiIG1heGxlbmd0aD1cIjEwXCIgdXNlR3JvdXBpbmc9XCJmYWxzZVwiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcEhvdXJzV29ya2VkJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICAgIGVhcm5pbmdzUmVxdWlyZWQ6ICdQbGVhc2UgcmVwb3J0IGhvdXJzIHdvcmtlZC4nXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPGlvbi1yb3cgc3R5bGU9XCJtYXJnaW46IDAgMTBweCBhdXRvO1wiPlxyXG4gICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJlbXBGb3JtLmludmFsaWQgJiYgZW1wRm9ybS5lcnJvcnM/LmVhcm5pbmdzUmVxdWlyZWRcIj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFxyXG4gICAgICAgICAgICAgICAgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICBbZmllbGRdPVwiZW1wRm9ybVwiXHJcbiAgICAgICAgICAgICAgICBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIGVhcm5pbmdzUmVxdWlyZWQ6ICdQbGVhc2UgcmVwb3J0IGdyb3NzIGVhcm5pbmdzIGFuZCBob3VycyB3b3JrZWQgZm9yIHRoZSB3ZWVrIGVuZGluZyAnICsgKHNhdERhdGUgfCBkYXRlOidNTS9kZC95eXl5JykgKyAnLicgXHJcbiAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgPC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgICA8aW9uLXJvdz5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LXJpZ2h0XCI+XHJcbiAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgZmlsbD1cIm91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2UoKVwiIHR5cGU9XCJyZXNldFwiPkNsZWFyPC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJhZGQoKVwiIHR5cGU9XCJzdWJtaXRcIj5BZGQ8L2lvbi1idXR0b24+XHJcbiAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICA8L2lvbi1yb3c+XHJcbiAgICA8L2lvbi1ncmlkPlxyXG4gIDwvZm9ybT4iXX0=