@reusa/ngx-reusa-app-lib 0.0.1320 → 0.0.1321

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 (589) hide show
  1. package/README.md +46 -46
  2. package/esm2022/lib/annimations/app-animations.mjs +1 -1
  3. package/esm2022/lib/components/add-employer/add-employer.component.mjs +2404 -1286
  4. package/esm2022/lib/components/add-participant/add-participant.component.mjs +159 -105
  5. package/esm2022/lib/components/add-payment/add-payment.component.mjs +59 -53
  6. package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
  7. package/esm2022/lib/components/address/address.component.mjs +285 -150
  8. package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
  9. package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
  10. package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
  11. package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
  12. package/esm2022/lib/components/bank-details/bank-details.component.mjs +79 -219
  13. package/esm2022/lib/components/captcha/captcha.component.mjs +6 -6
  14. package/esm2022/lib/components/card/card.component.mjs +1 -1
  15. package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
  16. package/esm2022/lib/components/contact-us/contact-us.component.mjs +17 -43
  17. package/esm2022/lib/components/content/content.component.mjs +1 -1
  18. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
  19. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
  20. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
  21. package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
  22. package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
  23. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
  24. package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
  25. package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
  26. package/esm2022/lib/components/email-update/email-update.component.mjs +63 -140
  27. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +363 -560
  28. package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
  29. package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
  30. package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
  31. package/esm2022/lib/components/error/error.component.mjs +22 -5
  32. package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
  33. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
  34. package/esm2022/lib/components/file-download/file-download.component.mjs +1 -1
  35. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
  36. package/esm2022/lib/components/footer/footer.component.mjs +94 -83
  37. package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
  38. package/esm2022/lib/components/header/header.component.mjs +440 -174
  39. package/esm2022/lib/components/help/help.component.mjs +1 -1
  40. package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
  41. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +25 -36
  42. package/esm2022/lib/components/idme/idme.component.mjs +84 -0
  43. package/esm2022/lib/components/info/info.component.mjs +4 -12
  44. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
  45. package/esm2022/lib/components/job-title/job-title.component.mjs +92 -97
  46. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +143 -513
  47. package/esm2022/lib/components/link/link.component.mjs +1 -1
  48. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +1 -1
  49. package/esm2022/lib/components/mask/mask.component.mjs +1 -1
  50. package/esm2022/lib/components/menu/menu.component.mjs +69 -100
  51. package/esm2022/lib/components/mfa/mfa.component.mjs +158 -287
  52. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
  53. package/esm2022/lib/components/money-expect/money-expect.component.mjs +158 -54
  54. package/esm2022/lib/components/msg/msg.component.mjs +1 -1
  55. package/esm2022/lib/components/news/news.component.mjs +1 -1
  56. package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
  57. package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
  58. package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
  59. package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
  60. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +1 -1
  61. package/esm2022/lib/components/page/page.component.mjs +1 -1
  62. package/esm2022/lib/components/profile/profile.component.mjs +717 -353
  63. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +108 -38
  64. package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
  65. package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
  66. package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
  67. package/esm2022/lib/components/questionnaire/FbConstants.mjs +1 -1
  68. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
  69. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +377 -173
  70. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +76 -95
  71. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +855 -1122
  72. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +207 -667
  73. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
  74. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +116 -32
  75. package/esm2022/lib/components/questionnaire/question-base.mjs +1 -1
  76. package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
  77. package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
  78. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
  79. package/esm2022/lib/components/read-more/read-more.component.mjs +6 -6
  80. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +491 -237
  81. package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
  82. package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -30
  83. package/esm2022/lib/components/select/select.component.mjs +5 -10
  84. package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
  85. package/esm2022/lib/components/sms/sms.component.mjs +336 -0
  86. package/esm2022/lib/components/ssn/ssn.component.mjs +1 -1
  87. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
  88. package/esm2022/lib/components/test/test.component.mjs +1 -1
  89. package/esm2022/lib/components/user-login/user-login.component.mjs +139 -357
  90. package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
  91. package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
  92. package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
  93. package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
  94. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +613 -237
  95. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +114 -59
  96. package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +806 -0
  97. package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
  98. package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
  99. package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
  100. package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
  101. package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
  102. package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
  103. package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +685 -0
  104. package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
  105. package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
  106. package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
  107. package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +1 -1
  108. package/esm2022/lib/directives/caps-lock.directive.mjs +1 -1
  109. package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +1 -1
  110. package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
  111. package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
  112. package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
  113. package/esm2022/lib/enums/EmailStatusEnum.mjs +1 -1
  114. package/esm2022/lib/guards/auth.guard.mjs +50 -2
  115. package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
  116. package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
  117. package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
  118. package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
  119. package/esm2022/lib/models/CountyModel.mjs +3 -0
  120. package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
  121. package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
  122. package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
  123. package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
  124. package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
  125. package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
  126. package/esm2022/lib/models/ErrorModel.mjs +1 -1
  127. package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
  128. package/esm2022/lib/models/FileModel.mjs +1 -1
  129. package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
  130. package/esm2022/lib/models/HelpConstants.mjs +5 -0
  131. package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
  132. package/esm2022/lib/models/LibConstants.mjs +45 -6
  133. package/esm2022/lib/models/NotificationModel.mjs +1 -1
  134. package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
  135. package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
  136. package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
  137. package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
  138. package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
  139. package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
  140. package/esm2022/lib/models/TrendModel.mjs +1 -1
  141. package/esm2022/lib/models/UserDetailsModel.mjs +1 -1
  142. package/esm2022/lib/models/UserModel.mjs +1 -1
  143. package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
  144. package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
  145. package/esm2022/lib/models/WageInfoModel.mjs +4 -0
  146. package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
  147. package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
  148. package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
  149. package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
  150. package/esm2022/lib/models/claimant/ClaimantModel.mjs +1 -1
  151. package/esm2022/lib/models/claimant/JobResultsData.mjs +1 -1
  152. package/esm2022/lib/models/claimant/MatchingJobs.mjs +1 -1
  153. package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +1 -1
  154. package/esm2022/lib/models/combo-model.mjs +343 -0
  155. package/esm2022/lib/models/dashboard-model.mjs +1 -1
  156. package/esm2022/lib/models/dependent.model.mjs +1 -1
  157. package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
  158. package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
  159. package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
  160. package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
  161. package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
  162. package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
  163. package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
  164. package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
  165. package/esm2022/lib/models/questionnaire/ComboModel.mjs +96 -653
  166. package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
  167. package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +1 -1
  168. package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
  169. package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
  170. package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
  171. package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
  172. package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
  173. package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
  174. package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
  175. package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
  176. package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
  177. package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
  178. package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
  179. package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
  180. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +5 -5
  181. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
  182. package/esm2022/lib/ngx-reusa-app-lib.service.mjs +1 -1
  183. package/esm2022/lib/pages/BasePage.mjs +4 -23
  184. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
  185. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
  186. package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
  187. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
  188. package/esm2022/lib/pages/common/login/login.component.mjs +7 -11
  189. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +1 -1
  190. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
  191. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
  192. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +1 -1
  193. package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -2
  194. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
  195. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
  196. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +1 -1
  197. package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
  198. package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
  199. package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +1 -1
  200. package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +1 -1
  201. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  202. package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +1 -1
  203. package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
  204. package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
  205. package/esm2022/lib/services/base-service.mjs +4 -1
  206. package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
  207. package/esm2022/lib/services/captcha/captcha.service.mjs +1 -1
  208. package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
  209. package/esm2022/lib/services/chatbot/script.const.mjs +1 -1
  210. package/esm2022/lib/services/claimant/claimant.service.mjs +1 -1
  211. package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
  212. package/esm2022/lib/services/claims/claims.service.mjs +102 -14
  213. package/esm2022/lib/services/dms-service/dms.service.mjs +1 -1
  214. package/esm2022/lib/services/employer/employer-service.mjs +35 -0
  215. package/esm2022/lib/services/event-service/event-service.mjs +44 -0
  216. package/esm2022/lib/services/fpjs/fingerprint.service.mjs +1 -1
  217. package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +1 -1
  218. package/esm2022/lib/services/help/help.service.mjs +1 -1
  219. package/esm2022/lib/services/idle/idle.service.mjs +1 -1
  220. package/esm2022/lib/services/logger/logger.service.mjs +1 -1
  221. package/esm2022/lib/services/login/login.service.mjs +29 -11
  222. package/esm2022/lib/services/maintenance/maintenance.service.mjs +1 -1
  223. package/esm2022/lib/services/notification/notification.service.mjs +1 -1
  224. package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
  225. package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
  226. package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
  227. package/esm2022/lib/services/security-service/security.service.mjs +23 -6
  228. package/esm2022/lib/services/tour/tour.service.mjs +1 -1
  229. package/esm2022/lib/services/util/util.service.mjs +61 -5
  230. package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
  231. package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
  232. package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
  233. package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
  234. package/esm2022/lib/validations/AppRegex.mjs +1 -3
  235. package/esm2022/lib/validations/AppValidators.mjs +84 -31
  236. package/esm2022/public-api.mjs +47 -5
  237. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +40573 -22575
  238. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  239. package/lib/components/add-employer/add-employer.component.d.ts +137 -50
  240. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  241. package/lib/components/add-participant/add-participant.component.d.ts +11 -5
  242. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  243. package/lib/components/add-payment/add-payment.component.d.ts +9 -3
  244. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  245. package/lib/components/add-wage/add-wage.component.d.ts +30 -0
  246. package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
  247. package/lib/components/address/address.component.d.ts +42 -15
  248. package/lib/components/address/address.component.d.ts.map +1 -1
  249. package/lib/components/address-popup/address-popup.component.d.ts +16 -0
  250. package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
  251. package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
  252. package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
  253. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
  254. package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
  255. package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
  256. package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
  257. package/lib/components/bank-details/bank-details.component.d.ts +1 -23
  258. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  259. package/lib/components/claim-info/claim-info.component.d.ts +49 -0
  260. package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
  261. package/lib/components/contact-us/contact-us.component.d.ts +1 -4
  262. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  263. package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
  264. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  265. package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
  266. package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
  267. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
  268. package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
  269. package/lib/components/email-update/email-update.component.d.ts +1 -12
  270. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  271. package/lib/components/employer-grid/employer-grid.component.d.ts +21 -14
  272. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  273. package/lib/components/employer-info/employer-info.component.d.ts +50 -0
  274. package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
  275. package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
  276. package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
  277. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
  278. package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
  279. package/lib/components/error/error.component.d.ts +3 -2
  280. package/lib/components/error/error.component.d.ts.map +1 -1
  281. package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
  282. package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
  283. package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
  284. package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
  285. package/lib/components/footer/footer.component.d.ts.map +1 -1
  286. package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
  287. package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
  288. package/lib/components/header/header.component.d.ts +17 -5
  289. package/lib/components/header/header.component.d.ts.map +1 -1
  290. package/lib/components/history-page/history-page.component.d.ts +80 -0
  291. package/lib/components/history-page/history-page.component.d.ts.map +1 -0
  292. package/lib/components/idme/idme.component.d.ts +19 -0
  293. package/lib/components/idme/idme.component.d.ts.map +1 -0
  294. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
  295. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  296. package/lib/components/job-title/job-title.component.d.ts +22 -23
  297. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  298. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -6
  299. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  300. package/lib/components/menu/menu.component.d.ts +3 -12
  301. package/lib/components/menu/menu.component.d.ts.map +1 -1
  302. package/lib/components/mfa/mfa.component.d.ts +7 -19
  303. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  304. package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
  305. package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
  306. package/lib/components/money-expect/money-expect.component.d.ts +15 -4
  307. package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
  308. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
  309. package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
  310. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
  311. package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
  312. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
  313. package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
  314. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
  315. package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
  316. package/lib/components/profile/profile.component.d.ts +81 -49
  317. package/lib/components/profile/profile.component.d.ts.map +1 -1
  318. package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
  319. package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
  320. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
  321. package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
  322. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
  323. package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
  324. package/lib/components/questionnaire/AppValidators.d.ts +1 -0
  325. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  326. package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
  327. package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
  328. package/lib/components/questionnaire/common-success/common-success.page.d.ts +7 -1
  329. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  330. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
  331. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
  332. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +31 -33
  333. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  334. package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
  335. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  336. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
  337. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  338. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +7 -1
  339. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  340. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  341. package/lib/components/questionnaire/question.service.d.ts +0 -1
  342. package/lib/components/questionnaire/question.service.d.ts.map +1 -1
  343. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
  344. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  345. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +11 -3
  346. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
  347. package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
  348. package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
  349. package/lib/components/search-employer/search-employer.component.d.ts +5 -4
  350. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  351. package/lib/components/sms/sms.component.d.ts +63 -0
  352. package/lib/components/sms/sms.component.d.ts.map +1 -0
  353. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
  354. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  355. package/lib/components/user-login/user-login.component.d.ts +5 -38
  356. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  357. package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
  358. package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
  359. package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
  360. package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
  361. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
  362. package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
  363. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
  364. package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
  365. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +27 -10
  366. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  367. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +9 -3
  368. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
  369. package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
  370. package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
  371. package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
  372. package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
  373. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
  374. package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
  375. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
  376. package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
  377. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
  378. package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
  379. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
  380. package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
  381. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
  382. package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
  383. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
  384. package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
  385. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
  386. package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
  387. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
  388. package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
  389. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
  390. package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
  391. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
  392. package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
  393. package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
  394. package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
  395. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
  396. package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
  397. package/lib/guards/auth.guard.d.ts.map +1 -1
  398. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
  399. package/lib/models/ActiveClaimModel.d.ts +8 -0
  400. package/lib/models/ActiveClaimModel.d.ts.map +1 -0
  401. package/lib/models/CountyModel.d.ts +8 -0
  402. package/lib/models/CountyModel.d.ts.map +1 -0
  403. package/lib/models/DuaAppDataModel.d.ts +5 -0
  404. package/lib/models/DuaAppDataModel.d.ts.map +1 -0
  405. package/lib/models/DuaRequestModel.d.ts +10 -0
  406. package/lib/models/DuaRequestModel.d.ts.map +1 -0
  407. package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
  408. package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
  409. package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
  410. package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
  411. package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
  412. package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
  413. package/lib/models/EmployerPayInfoModel.d.ts +20 -0
  414. package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
  415. package/lib/models/FarmUsageComponentModel.d.ts +10 -0
  416. package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
  417. package/lib/models/GrossEarningsModel.d.ts +6 -0
  418. package/lib/models/GrossEarningsModel.d.ts.map +1 -0
  419. package/lib/models/HelpConstants.d.ts +5 -0
  420. package/lib/models/HelpConstants.d.ts.map +1 -0
  421. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
  422. package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
  423. package/lib/models/LibConstants.d.ts +40 -1
  424. package/lib/models/LibConstants.d.ts.map +1 -1
  425. package/lib/models/PaymentComponentModel.d.ts +1 -1
  426. package/lib/models/PaymentComponentModel.d.ts.map +1 -1
  427. package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
  428. package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
  429. package/lib/models/RetroWeeksModel.d.ts +11 -0
  430. package/lib/models/RetroWeeksModel.d.ts.map +1 -0
  431. package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
  432. package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
  433. package/lib/models/SendOtpRequestModel.d.ts +12 -0
  434. package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
  435. package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
  436. package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
  437. package/lib/models/WageCalculatorModel.d.ts +15 -0
  438. package/lib/models/WageCalculatorModel.d.ts.map +1 -0
  439. package/lib/models/WageInfoModel.d.ts +9 -0
  440. package/lib/models/WageInfoModel.d.ts.map +1 -0
  441. package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
  442. package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
  443. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
  444. package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
  445. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
  446. package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
  447. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
  448. package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
  449. package/lib/models/combo-model.d.ts +42 -0
  450. package/lib/models/combo-model.d.ts.map +1 -0
  451. package/lib/models/dashboard-model.d.ts +22 -0
  452. package/lib/models/dashboard-model.d.ts.map +1 -1
  453. package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
  454. package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
  455. package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
  456. package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
  457. package/lib/models/fileupload/FileObject.d.ts +8 -0
  458. package/lib/models/fileupload/FileObject.d.ts.map +1 -0
  459. package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
  460. package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
  461. package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
  462. package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
  463. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
  464. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
  465. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +13 -4
  466. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
  467. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
  468. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
  469. package/lib/models/questionnaire/ComboModel.d.ts +14 -82
  470. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  471. package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
  472. package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
  473. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
  474. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
  475. package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
  476. package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
  477. package/lib/models/questionnaire/StatusModel.d.ts +1 -0
  478. package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
  479. package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
  480. package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
  481. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
  482. package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
  483. package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
  484. package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
  485. package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
  486. package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
  487. package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
  488. package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
  489. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
  490. package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
  491. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
  492. package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
  493. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
  494. package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
  495. package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
  496. package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
  497. package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
  498. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  499. package/lib/pages/BasePage.d.ts +3 -6
  500. package/lib/pages/BasePage.d.ts.map +1 -1
  501. package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
  502. package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
  503. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  504. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  505. package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
  506. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
  507. package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
  508. package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
  509. package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
  510. package/lib/services/appeal/appeal.service.d.ts +16 -0
  511. package/lib/services/appeal/appeal.service.d.ts.map +1 -0
  512. package/lib/services/base-service.d.ts +12 -0
  513. package/lib/services/base-service.d.ts.map +1 -1
  514. package/lib/services/birt-service/birt.service.d.ts +17 -0
  515. package/lib/services/birt-service/birt.service.d.ts.map +1 -0
  516. package/lib/services/claimant-service/claimant.service.d.ts +5 -6
  517. package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
  518. package/lib/services/claims/claims.service.d.ts +38 -5
  519. package/lib/services/claims/claims.service.d.ts.map +1 -1
  520. package/lib/services/employer/employer-service.d.ts +16 -0
  521. package/lib/services/employer/employer-service.d.ts.map +1 -0
  522. package/lib/services/event-service/event-service.d.ts +20 -0
  523. package/lib/services/event-service/event-service.d.ts.map +1 -0
  524. package/lib/services/login/login.service.d.ts +5 -3
  525. package/lib/services/login/login.service.d.ts.map +1 -1
  526. package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
  527. package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
  528. package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
  529. package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
  530. package/lib/services/questionnaire/validation.service.d.ts +3 -0
  531. package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
  532. package/lib/services/security-service/security.service.d.ts +12 -4
  533. package/lib/services/security-service/security.service.d.ts.map +1 -1
  534. package/lib/services/util/util.service.d.ts +6 -0
  535. package/lib/services/util/util.service.d.ts.map +1 -1
  536. package/lib/services/weekly-cert/review.service.d.ts +23 -0
  537. package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
  538. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
  539. package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
  540. package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
  541. package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
  542. package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
  543. package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
  544. package/lib/validations/AppRegex.d.ts +0 -2
  545. package/lib/validations/AppRegex.d.ts.map +1 -1
  546. package/lib/validations/AppValidators.d.ts +20 -14
  547. package/lib/validations/AppValidators.d.ts.map +1 -1
  548. package/package.json +2 -2
  549. package/public-api.d.ts +46 -4
  550. package/public-api.d.ts.map +1 -1
  551. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -402
  552. package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -285
  553. package/esm2022/lib/components/security-question/security-question.component.mjs +0 -199
  554. package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
  555. package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
  556. package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
  557. package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
  558. package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
  559. package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
  560. package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
  561. package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
  562. package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
  563. package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
  564. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
  565. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
  566. package/lib/components/mfa2/mfa2.component.d.ts +0 -48
  567. package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
  568. package/lib/components/security-question/security-question.component.d.ts +0 -37
  569. package/lib/components/security-question/security-question.component.d.ts.map +0 -1
  570. package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
  571. package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
  572. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
  573. package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
  574. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
  575. package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
  576. package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
  577. package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
  578. package/lib/models/LexisNexisResponseModel.d.ts +0 -7
  579. package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
  580. package/lib/models/PartialEmploymentModel.d.ts +0 -6
  581. package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
  582. package/lib/models/SecurityQuestionModel.d.ts +0 -7
  583. package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
  584. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
  585. package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
  586. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
  587. package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
  588. package/lib/services/ovp/ovp.service.d.ts +0 -17
  589. package/lib/services/ovp/ovp.service.d.ts.map +0 -1
@@ -3,47 +3,118 @@ 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';
6
8
  import * as i0 from "@angular/core";
7
9
  import * as i1 from "../../services/util/util.service";
8
10
  import * as i2 from "@angular/forms";
9
11
  import * as i3 from "../../services/claims/claims.service";
10
- import * as i4 from "@ngx-translate/core";
11
- import * as i5 from "@ionic/angular";
12
- import * as i6 from "@angular/common";
13
- import * as i7 from "primeng/inputtext";
14
- import * as i8 from "primeng/inputmask";
15
- import * as i9 from "primeng/calendar";
16
- import * as i10 from "primeng/selectbutton";
17
- import * as i11 from "primeng/inputnumber";
18
- import * as i12 from "../error/error.component";
19
- import * as i13 from "../overlay-info/overlay-info.component";
20
- import * as i14 from "../search-employer/search-employer.component";
21
- import * as i15 from "../dropdown/dropdown.component";
22
- import * as i16 from "../../pipes/trust-html/trust-html.pipe";
12
+ import * as i4 from "@ionic/angular";
13
+ import * as i5 from "@angular/common";
14
+ import * as i6 from "primeng/inputtext";
15
+ import * as i7 from "primeng/inputmask";
16
+ import * as i8 from "primeng/calendar";
17
+ import * as i9 from "primeng/selectbutton";
18
+ import * as i10 from "primeng/inputnumber";
19
+ import * as i11 from "../error/error.component";
20
+ import * as i12 from "../overlay-info/overlay-info.component";
21
+ import * as i13 from "../search-employer/search-employer.component";
22
+ 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";
23
27
  const _c0 = ["empFormDirective"];
24
- const _c1 = a0 => ({ required: a0 });
25
- function WeeklyCertEmployerComponentQe_ion_row_3_div_63_Template(rf, ctx) { if (rf & 1) {
26
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 35);
27
- i0.ɵɵtext(2, "Do you know when you're returning to full-time work?");
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");
28
32
  i0.ɵɵelementEnd();
29
- i0.ɵɵelement(3, "p-selectButton", 36)(4, "app-error", 11);
33
+ i0.ɵɵelement(3, "br")(4, "app-dropdown", 30)(5, "app-error", 11);
30
34
  i0.ɵɵelementEnd();
31
35
  } if (rf & 2) {
32
36
  const ctx_r3 = i0.ɵɵnextContext(2);
33
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);
98
+ i0.ɵɵtext(2, "Do you know when you're returning to full-time work?");
99
+ i0.ɵɵelementEnd();
100
+ i0.ɵɵelement(3, "p-selectButton", 37)(4, "app-error", 11);
101
+ i0.ɵɵelementEnd();
102
+ } if (rf & 2) {
103
+ const ctx_r6 = i0.ɵɵnextContext(2);
104
+ const _r0 = i0.ɵɵreference(1);
34
105
  i0.ɵɵadvance(3);
35
- i0.ɵɵproperty("options", ctx_r3.yesNoOption)("formControl", ctx_r3.haveReturnToWorkDate);
106
+ i0.ɵɵproperty("options", ctx_r6.yesNoOption)("formControl", ctx_r6.haveReturnToWorkDate);
36
107
  i0.ɵɵadvance(1);
37
108
  i0.ɵɵclassMap("app-grid");
38
- i0.ɵɵproperty("field", ctx_r3.haveReturnToWorkDate)("form", _r0)("errDef", i0.ɵɵpureFunction1(7, _c1, ctx_r3.required));
109
+ i0.ɵɵproperty("field", ctx_r6.haveReturnToWorkDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c1));
39
110
  } }
40
- function WeeklyCertEmployerComponentQe_ion_row_3_div_64_Template(rf, ctx) { if (rf & 1) {
41
- const _r9 = i0.ɵɵgetCurrentView();
42
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 37);
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);
43
114
  i0.ɵɵtext(2, "When?");
44
115
  i0.ɵɵelementEnd();
45
- i0.ɵɵelementStart(3, "div", 38)(4, "p-calendar", 39);
46
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_3_div_64_Template_p_calendar_onInput_4_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r8 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r8.dateInput($event)); });
116
+ 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)); });
47
118
  i0.ɵɵelementEnd();
48
119
  i0.ɵɵelement(5, "app-overlay-info", 27);
49
120
  i0.ɵɵpipe(6, "trustHtml");
@@ -52,137 +123,198 @@ function WeeklyCertEmployerComponentQe_ion_row_3_div_64_Template(rf, ctx) { if (
52
123
  i0.ɵɵelement(8, "app-error", 11);
53
124
  i0.ɵɵelementEnd();
54
125
  } if (rf & 2) {
55
- const ctx_r4 = i0.ɵɵnextContext(2);
126
+ const ctx_r7 = i0.ɵɵnextContext(2);
56
127
  const _r0 = i0.ɵɵreference(1);
57
128
  i0.ɵɵadvance(4);
58
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r4.wcEmpLowRtwDate)("showOnFocus", false)("iconAriaLabel", "When?");
129
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r7.wcEmpLowRtwDate)("showOnFocus", false)("iconAriaLabel", "When?")("monthNavigator", true)("yearNavigator", true);
59
130
  i0.ɵɵadvance(1);
60
- i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(6, 10, i0.ɵɵpipeBind1(7, 12, "weeklies.v2.employment.rtw.info.popup.2155")));
131
+ i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(6, 12, i0.ɵɵpipeBind1(7, 14, "weeklies.v2.employment.rtw.info.popup.2155")));
61
132
  i0.ɵɵadvance(3);
62
133
  i0.ɵɵclassMap("app-grid");
63
- i0.ɵɵproperty("field", ctx_r4.wcEmpLowRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction1(14, _c1, ctx_r4.required));
134
+ i0.ɵɵproperty("field", ctx_r7.wcEmpLowRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(16, _c1));
64
135
  } }
65
- function WeeklyCertEmployerComponentQe_ion_row_3_div_65_Template(rf, ctx) { if (rf & 1) {
66
- const _r11 = i0.ɵɵgetCurrentView();
67
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 40);
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);
68
139
  i0.ɵɵtext(2, "Return to work date");
69
140
  i0.ɵɵelementEnd();
70
- i0.ɵɵelementStart(3, "p-calendar", 41);
71
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_3_div_65_Template_p_calendar_onInput_3_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.dateInput($event)); });
141
+ 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)); });
72
143
  i0.ɵɵelementEnd();
73
144
  i0.ɵɵelement(4, "app-error", 11);
74
145
  i0.ɵɵelementEnd();
75
146
  } if (rf & 2) {
76
- const ctx_r5 = i0.ɵɵnextContext(2);
147
+ const ctx_r8 = i0.ɵɵnextContext(2);
77
148
  const _r0 = i0.ɵɵreference(1);
78
149
  i0.ɵɵadvance(3);
79
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r5.wcEmpRtwDate)("showOnFocus", false)("iconAriaLabel", "Return to work date");
150
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r8.wcEmpRtwDate)("showOnFocus", false)("iconAriaLabel", "Return to work date")("monthNavigator", true)("yearNavigator", true);
80
151
  i0.ɵɵadvance(1);
81
152
  i0.ɵɵclassMap("app-grid");
82
- i0.ɵɵproperty("field", ctx_r5.wcEmpRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction1(9, _c1, ctx_r5.required));
153
+ i0.ɵɵproperty("field", ctx_r8.wcEmpRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
83
154
  } }
84
- const _c2 = () => ({ required: "required" });
85
- function WeeklyCertEmployerComponentQe_ion_row_3_div_66_Template(rf, ctx) { if (rf & 1) {
86
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 42);
155
+ function WeeklyCertEmployerComponentQe_ion_row_3_div_42_Template(rf, ctx) { if (rf & 1) {
156
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 43);
87
157
  i0.ɵɵtext(2);
88
158
  i0.ɵɵpipe(3, "translate");
89
159
  i0.ɵɵelementEnd();
90
- i0.ɵɵelement(4, "app-dropdown", 43)(5, "app-error", 11);
160
+ i0.ɵɵelement(4, "br")(5, "app-dropdown", 44)(6, "app-error", 11);
91
161
  i0.ɵɵelementEnd();
92
162
  } if (rf & 2) {
93
- const ctx_r6 = i0.ɵɵnextContext(2);
163
+ const ctx_r9 = i0.ɵɵnextContext(2);
94
164
  const _r0 = i0.ɵɵreference(1);
95
165
  i0.ɵɵadvance(2);
96
166
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.discharge"));
97
- i0.ɵɵadvance(2);
98
- i0.ɵɵproperty("options", ctx_r6.dischargeReasonOptionsAll)("formControl", ctx_r6.discharged)("autoDisplayFirst", false);
167
+ i0.ɵɵadvance(3);
168
+ i0.ɵɵproperty("options", ctx_r9.dischargeReasonOptionsAll)("formControl", ctx_r9.discharged)("autoDisplayFirst", false);
99
169
  i0.ɵɵadvance(1);
100
170
  i0.ɵɵclassMap("app-grid");
101
- i0.ɵɵproperty("field", ctx_r6.discharged)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c2));
171
+ i0.ɵɵproperty("field", ctx_r9.discharged)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
102
172
  } }
103
- function WeeklyCertEmployerComponentQe_ion_row_3_div_67_Template(rf, ctx) { if (rf & 1) {
104
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 44);
173
+ function WeeklyCertEmployerComponentQe_ion_row_3_div_43_Template(rf, ctx) { if (rf & 1) {
174
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 45);
105
175
  i0.ɵɵtext(2);
106
176
  i0.ɵɵpipe(3, "translate");
107
177
  i0.ɵɵelementEnd();
108
- i0.ɵɵelement(4, "app-dropdown", 45)(5, "app-error", 11);
178
+ i0.ɵɵelement(4, "br")(5, "app-dropdown", 46)(6, "app-error", 11);
109
179
  i0.ɵɵelementEnd();
110
180
  } if (rf & 2) {
111
- const ctx_r7 = i0.ɵɵnextContext(2);
181
+ const ctx_r10 = i0.ɵɵnextContext(2);
112
182
  const _r0 = i0.ɵɵreference(1);
113
183
  i0.ɵɵadvance(2);
114
184
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.quit"));
115
- i0.ɵɵadvance(2);
116
- i0.ɵɵproperty("options", ctx_r7.volQuitReasonOptionsAll)("formControl", ctx_r7.voluntaryQuit)("autoDisplayFirst", false);
185
+ i0.ɵɵadvance(3);
186
+ i0.ɵɵproperty("options", ctx_r10.volQuitReasonOptionsAll)("formControl", ctx_r10.voluntaryQuit)("autoDisplayFirst", false);
117
187
  i0.ɵɵadvance(1);
118
188
  i0.ɵɵclassMap("app-grid");
119
- i0.ɵɵproperty("field", ctx_r7.voluntaryQuit)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c2));
189
+ i0.ɵɵproperty("field", ctx_r10.voluntaryQuit)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
120
190
  } }
121
- const _c3 = (a0, a1, a2) => ({ required: a0, invalidLength: a1, invalidNumber: a2 });
122
- const _c4 = (a0, a1) => ({ required: a0, dateNotBetween: a1 });
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);
222
+ i0.ɵɵadvance(1);
223
+ 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);
249
+ } }
250
+ const _c4 = "only letters, numbers, spaces, and . , & ' ( ) - # are allowed";
251
+ const _c5 = () => ({ required: "required", pattern: _c4 });
252
+ const _c6 = "only letters, numbers, spaces, commas, periods, apostrophes, hyphens, # and / allowed";
253
+ const _c7 = () => ({ required: "required", pattern: _c6 });
254
+ const _c8 = "city name can only contain letters, spaces, and hyphens";
255
+ const _c9 = () => ({ required: "required", pattern: _c8 });
256
+ const _c10 = "If hours and earnings are both 0, employment status cannot be working-part time.";
257
+ const _c11 = () => ({ required: "required", changeEmpStatus: _c10 });
258
+ const _c12 = "total hours must not be greater than 168 for the week";
259
+ const _c13 = () => ({ required: "required", hoursPerWeekExceeded: _c12 });
260
+ const _c14 = () => ({ required: "required", earningsNotZero: "Gross Earnings cannot be zero." });
123
261
  function WeeklyCertEmployerComponentQe_ion_row_3_Template(rf, ctx) { if (rf & 1) {
124
- const _r13 = i0.ɵɵgetCurrentView();
262
+ const _r29 = i0.ɵɵgetCurrentView();
125
263
  i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 6)(2, "div", 7)(3, "div", 8)(4, "label", 9);
126
264
  i0.ɵɵtext(5, "Employer Name");
127
265
  i0.ɵɵelementEnd();
128
266
  i0.ɵɵelementStart(6, "app-search-employer", 10);
129
- i0.ɵɵlistener("onFound", function WeeklyCertEmployerComponentQe_ion_row_3_Template_app_search_employer_onFound_6_listener($event) { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.setEmployer($event)); });
267
+ 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
268
  i0.ɵɵelementEnd();
131
269
  i0.ɵɵelement(7, "app-error", 11);
132
270
  i0.ɵɵelementEnd();
133
- i0.ɵɵelementStart(8, "div", 8)(9, "label", 12);
134
- i0.ɵɵtext(10, "Street Address");
271
+ i0.ɵɵtemplate(8, WeeklyCertEmployerComponentQe_ion_row_3_div_8_Template, 6, 9, "div", 12);
272
+ i0.ɵɵelementStart(9, "div", 8)(10, "label", 13);
273
+ i0.ɵɵtext(11, "Street Address");
135
274
  i0.ɵɵelementEnd();
136
- i0.ɵɵelement(11, "input", 13)(12, "app-error", 11);
275
+ i0.ɵɵelement(12, "input", 14)(13, "app-error", 11);
137
276
  i0.ɵɵelementEnd();
138
- i0.ɵɵelementStart(13, "div", 8)(14, "label", 14);
139
- i0.ɵɵtext(15, "City");
277
+ i0.ɵɵelementStart(14, "div", 8)(15, "label", 15);
278
+ i0.ɵɵtext(16, "City");
140
279
  i0.ɵɵelementEnd();
141
- i0.ɵɵelement(16, "input", 15)(17, "app-error", 11);
280
+ i0.ɵɵelement(17, "input", 16)(18, "app-error", 11);
142
281
  i0.ɵɵelementEnd();
143
- i0.ɵɵelementStart(18, "ion-row")(19, "ion-col", 16)(20, "div", 8)(21, "label", 17);
144
- i0.ɵɵtext(22, "State");
282
+ 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);
283
+ i0.ɵɵelementStart(21, "div", 8)(22, "label", 17);
284
+ i0.ɵɵtext(23, "Last day you worked");
145
285
  i0.ɵɵelementEnd();
146
- i0.ɵɵelement(23, "app-dropdown", 18)(24, "app-error", 11);
147
- i0.ɵɵelementEnd()();
148
- i0.ɵɵelement(25, "ion-col", 19);
149
- i0.ɵɵelementStart(26, "ion-col", 16)(27, "div", 8)(28, "label", 20);
150
- i0.ɵɵtext(29, "Zip Code");
286
+ i0.ɵɵelementStart(24, "p-calendar", 18);
287
+ 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)); });
151
288
  i0.ɵɵelementEnd();
152
- i0.ɵɵelement(30, "input", 21)(31, "app-error", 11);
289
+ i0.ɵɵelement(25, "app-error", 11);
153
290
  i0.ɵɵelementEnd()()();
154
- i0.ɵɵelementStart(32, "div", 8)(33, "label", 22);
155
- i0.ɵɵtext(34, "Last day worked");
291
+ i0.ɵɵelementStart(26, "ion-col", 6)(27, "div", 7)(28, "div", 8)(29, "label", 19);
292
+ i0.ɵɵtext(30, "Phone No.");
156
293
  i0.ɵɵelementEnd();
157
- i0.ɵɵelement(35, "p-calendar", 23)(36, "app-error", 11);
158
- i0.ɵɵelementEnd()()();
159
- i0.ɵɵelementStart(37, "ion-col", 6)(38, "div", 7)(39, "div", 8)(40, "label", 24);
160
- i0.ɵɵtext(41, "Phone No.");
161
- i0.ɵɵelementEnd();
162
- i0.ɵɵelement(42, "p-inputMask", 25)(43, "app-error", 11);
163
- i0.ɵɵelementEnd();
164
- i0.ɵɵelementStart(44, "div", 8)(45, "label", 26);
165
- i0.ɵɵtext(46, "Total Gross Earnings");
294
+ i0.ɵɵelement(31, "p-inputMask", 20)(32, "app-error", 11);
166
295
  i0.ɵɵelementEnd();
167
- i0.ɵɵelement(47, "app-overlay-info", 27);
168
- i0.ɵɵpipe(48, "trustHtml");
169
- i0.ɵɵpipe(49, "translate");
170
- i0.ɵɵelement(50, "p-inputNumber", 28)(51, "app-error", 11);
296
+ i0.ɵɵelementStart(33, "div", 8)(34, "label", 21);
297
+ i0.ɵɵtext(35, "What's your employment status with this employer?");
171
298
  i0.ɵɵelementEnd();
172
- i0.ɵɵelementStart(52, "div", 8)(53, "label", 29);
173
- i0.ɵɵtext(54, "Hours worked");
299
+ i0.ɵɵelement(36, "app-dropdown", 22)(37, "br")(38, "app-error", 11);
174
300
  i0.ɵɵelementEnd();
175
- i0.ɵɵelement(55, "p-inputNumber", 30)(56, "app-error", 11);
301
+ 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);
176
302
  i0.ɵɵelementEnd();
177
- i0.ɵɵelementStart(57, "div", 8)(58, "label", 31);
178
- i0.ɵɵtext(59, "What's your employment status with this employer?");
303
+ i0.ɵɵelement(46, "input", 23);
304
+ i0.ɵɵtemplate(47, WeeklyCertEmployerComponentQe_ion_row_3_div_47_Template, 5, 1, "div", 12);
305
+ i0.ɵɵelementStart(48, "div", 8)(49, "label", 24);
306
+ i0.ɵɵtext(50, "Hours worked");
179
307
  i0.ɵɵelementEnd();
180
- i0.ɵɵelement(60, "app-dropdown", 32)(61, "br")(62, "app-error", 11);
308
+ i0.ɵɵelement(51, "br")(52, "p-inputNumber", 25)(53, "br")(54, "app-error", 11);
181
309
  i0.ɵɵelementEnd();
182
- i0.ɵɵtemplate(63, WeeklyCertEmployerComponentQe_ion_row_3_div_63_Template, 5, 9, "div", 33)(64, WeeklyCertEmployerComponentQe_ion_row_3_div_64_Template, 9, 16, "div", 33)(65, WeeklyCertEmployerComponentQe_ion_row_3_div_65_Template, 5, 11, "div", 33)(66, WeeklyCertEmployerComponentQe_ion_row_3_div_66_Template, 6, 12, "div", 33)(67, WeeklyCertEmployerComponentQe_ion_row_3_div_67_Template, 6, 12, "div", 33);
310
+ i0.ɵɵelementStart(55, "div", 8)(56, "label", 26);
311
+ i0.ɵɵtext(57, "Total Gross Earnings");
183
312
  i0.ɵɵelementEnd();
184
- i0.ɵɵelement(68, "input", 34);
185
- i0.ɵɵelementEnd()();
313
+ i0.ɵɵelement(58, "app-overlay-info", 27);
314
+ i0.ɵɵpipe(59, "trustHtml");
315
+ i0.ɵɵpipe(60, "translate");
316
+ i0.ɵɵelement(61, "br")(62, "p-inputNumber", 28)(63, "br")(64, "app-error", 11);
317
+ i0.ɵɵelementEnd()()();
186
318
  } if (rf & 2) {
187
319
  const ctx_r1 = i0.ɵɵnextContext();
188
320
  const _r0 = i0.ɵɵreference(1);
@@ -190,54 +322,38 @@ function WeeklyCertEmployerComponentQe_ion_row_3_Template(rf, ctx) { if (rf & 1)
190
322
  i0.ɵɵproperty("formControl", ctx_r1.wcEmpName)("empType", "REG");
191
323
  i0.ɵɵadvance(1);
192
324
  i0.ɵɵclassMap("app-grid");
193
- i0.ɵɵproperty("field", ctx_r1.wcEmpName)("form", _r0)("errDef", i0.ɵɵpureFunction1(81, _c1, ctx_r1.required));
325
+ i0.ɵɵproperty("field", ctx_r1.wcEmpName)("form", _r0)("errDef", i0.ɵɵpureFunction0(78, _c5));
326
+ i0.ɵɵadvance(1);
327
+ i0.ɵɵproperty("ngIf", ctx_r1.isME());
194
328
  i0.ɵɵadvance(4);
195
329
  i0.ɵɵproperty("formControl", ctx_r1.wcEmpAddressLine1);
196
330
  i0.ɵɵadvance(1);
197
331
  i0.ɵɵclassMap("app-grid");
198
- i0.ɵɵproperty("field", ctx_r1.wcEmpAddressLine1)("form", _r0)("errDef", i0.ɵɵpureFunction1(83, _c1, ctx_r1.required));
332
+ i0.ɵɵproperty("field", ctx_r1.wcEmpAddressLine1)("form", _r0)("errDef", i0.ɵɵpureFunction0(79, _c7));
199
333
  i0.ɵɵadvance(4);
200
334
  i0.ɵɵproperty("formControl", ctx_r1.wcEmpCity);
201
335
  i0.ɵɵadvance(1);
202
336
  i0.ɵɵclassMap("app-grid");
203
- i0.ɵɵproperty("field", ctx_r1.wcEmpCity)("form", _r0)("errDef", i0.ɵɵpureFunction1(85, _c1, ctx_r1.required));
204
- i0.ɵɵadvance(6);
205
- i0.ɵɵproperty("options", ctx_r1.statesCombo)("formControl", ctx_r1.wcEmpState)("autoDisplayFirst", false);
337
+ i0.ɵɵproperty("field", ctx_r1.wcEmpCity)("form", _r0)("errDef", i0.ɵɵpureFunction0(80, _c9));
206
338
  i0.ɵɵadvance(1);
207
- i0.ɵɵclassMap("app-grid");
208
- i0.ɵɵproperty("field", ctx_r1.wcEmpState)("form", _r0)("errDef", i0.ɵɵpureFunction1(87, _c1, ctx_r1.required));
209
- i0.ɵɵadvance(6);
210
- i0.ɵɵproperty("formControl", ctx_r1.wsZipCode);
339
+ i0.ɵɵproperty("ngIf", ctx_r1.isME());
211
340
  i0.ɵɵadvance(1);
212
- i0.ɵɵclassMap("app-grid");
213
- i0.ɵɵproperty("field", ctx_r1.wsZipCode)("form", _r0)("errDef", i0.ɵɵpureFunction3(89, _c3, ctx_r1.required, ctx_r1.zipLength, ctx_r1.zipOnlyNumbers));
341
+ i0.ɵɵproperty("ngIf", !ctx_r1.isME());
214
342
  i0.ɵɵadvance(4);
215
- 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
+ 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);
216
344
  i0.ɵɵadvance(1);
217
345
  i0.ɵɵclassMap("app-grid");
218
- i0.ɵɵproperty("field", ctx_r1.lastDayWorked)("form", _r0)("errDef", i0.ɵɵpureFunction2(93, _c4, ctx_r1.required, "Date should be between " + ctx_r1.dynamicParam.sunday_date + " and " + ctx_r1.dynamicParam.saturday_date + "."));
346
+ 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 + "."));
219
347
  i0.ɵɵadvance(6);
220
348
  i0.ɵɵproperty("formControl", ctx_r1.wsPhoneNumber);
221
349
  i0.ɵɵadvance(1);
222
350
  i0.ɵɵclassMap("app-grid");
223
- i0.ɵɵproperty("field", ctx_r1.wsPhoneNumber)("form", _r0)("errDef", i0.ɵɵpureFunction1(96, _c1, ctx_r1.required));
224
- i0.ɵɵadvance(4);
225
- i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(48, 77, i0.ɵɵpipeBind1(49, 79, "weeklies.v2.employment.rtw.info.popup.1000")));
226
- i0.ɵɵadvance(3);
227
- i0.ɵɵproperty("formControl", ctx_r1.wsEmpAmtEarned);
228
- i0.ɵɵadvance(1);
229
- i0.ɵɵclassMap("app-grid");
230
- i0.ɵɵproperty("field", ctx_r1.wsEmpAmtEarned)("form", _r0)("errDef", i0.ɵɵpureFunction1(98, _c1, ctx_r1.required));
231
- i0.ɵɵadvance(4);
232
- i0.ɵɵproperty("formControl", ctx_r1.wcEmpHoursWorked);
233
- i0.ɵɵadvance(1);
234
- i0.ɵɵclassMap("app-grid");
235
- i0.ɵɵproperty("field", ctx_r1.wcEmpHoursWorked)("form", _r0)("errDef", i0.ɵɵpureFunction1(100, _c1, ctx_r1.required));
351
+ i0.ɵɵproperty("field", ctx_r1.wsPhoneNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(83, _c1));
236
352
  i0.ɵɵadvance(4);
237
353
  i0.ɵɵproperty("options", ctx_r1.employmentStatusOptionsAll)("formControl", ctx_r1.wcEmpStatus)("autoDisplayFirst", false);
238
354
  i0.ɵɵadvance(2);
239
355
  i0.ɵɵclassMap("app-grid");
240
- i0.ɵɵproperty("field", ctx_r1.wcEmpStatus)("form", _r0)("errDef", i0.ɵɵpureFunction1(102, _c1, ctx_r1.required));
356
+ i0.ɵɵproperty("field", ctx_r1.wcEmpStatus)("form", _r0)("errDef", i0.ɵɵpureFunction0(84, _c11));
241
357
  i0.ɵɵadvance(1);
242
358
  i0.ɵɵproperty("ngIf", ctx_r1.wcEmpStatus.value == "LWLO");
243
359
  i0.ɵɵadvance(1);
@@ -249,30 +365,48 @@ function WeeklyCertEmployerComponentQe_ion_row_3_Template(rf, ctx) { if (rf & 1)
249
365
  i0.ɵɵadvance(1);
250
366
  i0.ɵɵproperty("ngIf", ctx_r1.wcEmpStatus.value == "VOLQ");
251
367
  i0.ɵɵadvance(1);
368
+ i0.ɵɵproperty("ngIf", ctx_r1.isMS() ? false : ctx_r1.wcEmpStatus.value == "VOLQ" || ctx_r1.wcEmpStatus.value == "SUSP" || ctx_r1.wcEmpStatus.value == "DCFI");
369
+ i0.ɵɵadvance(1);
370
+ 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");
371
+ i0.ɵɵadvance(1);
252
372
  i0.ɵɵproperty("formControl", ctx_r1.hidEmpId);
373
+ i0.ɵɵadvance(1);
374
+ i0.ɵɵproperty("ngIf", !ctx_r1.isME());
375
+ i0.ɵɵadvance(5);
376
+ i0.ɵɵproperty("formControl", ctx_r1.wcEmpHoursWorked)("minFractionDigits", 1)("maxFractionDigits", 2);
377
+ i0.ɵɵadvance(2);
378
+ i0.ɵɵclassMap("app-grid");
379
+ i0.ɵɵproperty("field", ctx_r1.wcEmpHoursWorked)("form", _r0)("errDef", i0.ɵɵpureFunction0(85, _c13));
380
+ i0.ɵɵadvance(4);
381
+ i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(59, 74, i0.ɵɵpipeBind1(60, 76, "weeklies.v2.employment.rtw.info.popup.1000")));
382
+ i0.ɵɵadvance(4);
383
+ i0.ɵɵproperty("formControl", ctx_r1.wsEmpAmtEarned);
384
+ i0.ɵɵadvance(2);
385
+ i0.ɵɵclassMap("app-grid");
386
+ i0.ɵɵproperty("field", ctx_r1.wsEmpAmtEarned)("form", _r0)("errDef", i0.ɵɵpureFunction0(86, _c14));
253
387
  } }
254
388
  function WeeklyCertEmployerComponentQe_ion_row_4_div_21_Template(rf, ctx) { if (rf & 1) {
255
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 35);
389
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 36);
256
390
  i0.ɵɵtext(2, "Do you know when you're returning to full-time work?");
257
391
  i0.ɵɵelementEnd();
258
- i0.ɵɵelement(3, "p-selectButton", 36)(4, "app-error", 11);
392
+ i0.ɵɵelement(3, "p-selectButton", 37)(4, "app-error", 11);
259
393
  i0.ɵɵelementEnd();
260
394
  } if (rf & 2) {
261
- const ctx_r14 = i0.ɵɵnextContext(2);
395
+ const ctx_r31 = i0.ɵɵnextContext(2);
262
396
  const _r0 = i0.ɵɵreference(1);
263
397
  i0.ɵɵadvance(3);
264
- i0.ɵɵproperty("options", ctx_r14.yesNoOption)("formControl", ctx_r14.haveReturnToWorkDate);
398
+ i0.ɵɵproperty("options", ctx_r31.yesNoOption)("formControl", ctx_r31.haveReturnToWorkDate);
265
399
  i0.ɵɵadvance(1);
266
400
  i0.ɵɵclassMap("app-grid");
267
- i0.ɵɵproperty("field", ctx_r14.haveReturnToWorkDate)("form", _r0)("errDef", i0.ɵɵpureFunction1(7, _c1, ctx_r14.required));
401
+ i0.ɵɵproperty("field", ctx_r31.haveReturnToWorkDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c1));
268
402
  } }
269
403
  function WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template(rf, ctx) { if (rf & 1) {
270
- const _r20 = i0.ɵɵgetCurrentView();
271
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 37);
404
+ const _r40 = i0.ɵɵgetCurrentView();
405
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 38);
272
406
  i0.ɵɵtext(2, "When?");
273
407
  i0.ɵɵelementEnd();
274
- i0.ɵɵelementStart(3, "div", 38)(4, "p-calendar", 39);
275
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template_p_calendar_onInput_4_listener($event) { i0.ɵɵrestoreView(_r20); const ctx_r19 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r19.dateInput($event)); });
408
+ i0.ɵɵelementStart(3, "div", 39)(4, "p-calendar", 40);
409
+ 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)); });
276
410
  i0.ɵɵelementEnd();
277
411
  i0.ɵɵelement(5, "app-overlay-info", 27);
278
412
  i0.ɵɵpipe(6, "trustHtml");
@@ -281,101 +415,164 @@ function WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template(rf, ctx) { if (
281
415
  i0.ɵɵelement(8, "app-error", 11);
282
416
  i0.ɵɵelementEnd();
283
417
  } if (rf & 2) {
284
- const ctx_r15 = i0.ɵɵnextContext(2);
418
+ const ctx_r32 = i0.ɵɵnextContext(2);
285
419
  const _r0 = i0.ɵɵreference(1);
286
420
  i0.ɵɵadvance(4);
287
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r15.wcEmpLowRtwDate)("showOnFocus", false)("iconAriaLabel", "When?");
421
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r32.wcEmpLowRtwDate)("showOnFocus", false)("iconAriaLabel", "When?")("monthNavigator", true)("yearNavigator", true);
288
422
  i0.ɵɵadvance(1);
289
- i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(6, 10, i0.ɵɵpipeBind1(7, 12, "weeklies.v2.employment.rtw.info.popup.2050")));
423
+ i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(6, 12, i0.ɵɵpipeBind1(7, 14, "weeklies.v2.employment.rtw.info.popup.2050")));
290
424
  i0.ɵɵadvance(3);
291
425
  i0.ɵɵclassMap("app-grid");
292
- i0.ɵɵproperty("field", ctx_r15.wcEmpLowRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction1(14, _c1, ctx_r15.required));
426
+ i0.ɵɵproperty("field", ctx_r32.wcEmpLowRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(16, _c1));
293
427
  } }
294
428
  function WeeklyCertEmployerComponentQe_ion_row_4_div_23_Template(rf, ctx) { if (rf & 1) {
295
- const _r22 = i0.ɵɵgetCurrentView();
296
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 40);
429
+ const _r42 = i0.ɵɵgetCurrentView();
430
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 41);
297
431
  i0.ɵɵtext(2, "Return to work date");
298
432
  i0.ɵɵelementEnd();
299
- i0.ɵɵelementStart(3, "p-calendar", 41);
300
- i0.ɵɵlistener("onInput", function WeeklyCertEmployerComponentQe_ion_row_4_div_23_Template_p_calendar_onInput_3_listener($event) { i0.ɵɵrestoreView(_r22); const ctx_r21 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r21.dateInput($event)); });
433
+ i0.ɵɵelementStart(3, "p-calendar", 42);
434
+ 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)); });
301
435
  i0.ɵɵelementEnd();
302
436
  i0.ɵɵelement(4, "app-error", 11);
303
437
  i0.ɵɵelementEnd();
304
438
  } if (rf & 2) {
305
- const ctx_r16 = i0.ɵɵnextContext(2);
439
+ const ctx_r33 = i0.ɵɵnextContext(2);
306
440
  const _r0 = i0.ɵɵreference(1);
307
441
  i0.ɵɵadvance(3);
308
- i0.ɵɵproperty("showIcon", true)("formControl", ctx_r16.wcEmpRtwDate)("showOnFocus", false)("iconAriaLabel", "Return to work date");
442
+ i0.ɵɵproperty("showIcon", true)("formControl", ctx_r33.wcEmpRtwDate)("showOnFocus", false)("iconAriaLabel", "Return to work date")("monthNavigator", true)("yearNavigator", true);
309
443
  i0.ɵɵadvance(1);
310
444
  i0.ɵɵclassMap("app-grid");
311
- i0.ɵɵproperty("field", ctx_r16.wcEmpRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction1(9, _c1, ctx_r16.required));
445
+ i0.ɵɵproperty("field", ctx_r33.wcEmpRtwDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
312
446
  } }
313
447
  function WeeklyCertEmployerComponentQe_ion_row_4_div_24_Template(rf, ctx) { if (rf & 1) {
314
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 42);
448
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 43);
315
449
  i0.ɵɵtext(2);
316
450
  i0.ɵɵpipe(3, "translate");
317
451
  i0.ɵɵelementEnd();
318
- i0.ɵɵelement(4, "app-dropdown", 48)(5, "app-error", 11);
452
+ i0.ɵɵelement(4, "br")(5, "app-dropdown", 56)(6, "app-error", 11);
319
453
  i0.ɵɵelementEnd();
320
454
  } if (rf & 2) {
321
- const ctx_r17 = i0.ɵɵnextContext(2);
455
+ const ctx_r34 = i0.ɵɵnextContext(2);
322
456
  const _r0 = i0.ɵɵreference(1);
323
457
  i0.ɵɵadvance(2);
324
458
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.discharge"));
325
- i0.ɵɵadvance(2);
326
- i0.ɵɵproperty("options", ctx_r17.dischargeReasonOptionsAll)("formControl", ctx_r17.discharged)("autoDisplayFirst", false);
459
+ i0.ɵɵadvance(3);
460
+ i0.ɵɵproperty("options", ctx_r34.dischargeReasonOptionsAll)("formControl", ctx_r34.discharged)("autoDisplayFirst", false);
327
461
  i0.ɵɵadvance(1);
328
462
  i0.ɵɵclassMap("app-grid");
329
- i0.ɵɵproperty("field", ctx_r17.discharged)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c2));
463
+ i0.ɵɵproperty("field", ctx_r34.discharged)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
330
464
  } }
331
465
  function WeeklyCertEmployerComponentQe_ion_row_4_div_25_Template(rf, ctx) { if (rf & 1) {
332
- i0.ɵɵelementStart(0, "div", 8)(1, "label", 44);
466
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 45);
333
467
  i0.ɵɵtext(2);
334
468
  i0.ɵɵpipe(3, "translate");
335
469
  i0.ɵɵelementEnd();
336
- i0.ɵɵelement(4, "app-dropdown", 49)(5, "app-error", 11);
470
+ i0.ɵɵelement(4, "br")(5, "app-dropdown", 57)(6, "app-error", 11);
337
471
  i0.ɵɵelementEnd();
338
472
  } if (rf & 2) {
339
- const ctx_r18 = i0.ɵɵnextContext(2);
473
+ const ctx_r35 = i0.ɵɵnextContext(2);
340
474
  const _r0 = i0.ɵɵreference(1);
341
475
  i0.ɵɵadvance(2);
342
476
  i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 9, "induction.confirm.employment.reason.separation.quit"));
343
- i0.ɵɵadvance(2);
344
- i0.ɵɵproperty("options", ctx_r18.volQuitReasonOptionsAll)("formControl", ctx_r18.voluntaryQuit)("autoDisplayFirst", false);
477
+ i0.ɵɵadvance(3);
478
+ i0.ɵɵproperty("options", ctx_r35.volQuitReasonOptionsAll)("formControl", ctx_r35.voluntaryQuit)("autoDisplayFirst", false);
479
+ i0.ɵɵadvance(1);
480
+ i0.ɵɵclassMap("app-grid");
481
+ i0.ɵɵproperty("field", ctx_r35.voluntaryQuit)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c1));
482
+ } }
483
+ function WeeklyCertEmployerComponentQe_ion_row_4_div_26_Template(rf, ctx) { if (rf & 1) {
484
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 49);
485
+ i0.ɵɵtext(2, "Job Title");
486
+ i0.ɵɵelementEnd();
487
+ i0.ɵɵelement(3, "input", 58)(4, "app-error", 11);
488
+ i0.ɵɵelementEnd();
489
+ } if (rf & 2) {
490
+ const ctx_r36 = i0.ɵɵnextContext(2);
491
+ const _r0 = i0.ɵɵreference(1);
492
+ i0.ɵɵadvance(3);
493
+ i0.ɵɵproperty("formControl", ctx_r36.jobTitle);
494
+ i0.ɵɵadvance(1);
495
+ i0.ɵɵclassMap("app-grid");
496
+ i0.ɵɵproperty("field", ctx_r36.jobTitle)("form", _r0)("errDef", i0.ɵɵpureFunction0(6, _c1));
497
+ } }
498
+ function WeeklyCertEmployerComponentQe_ion_row_4_div_27_Template(rf, ctx) { if (rf & 1) {
499
+ const _r44 = i0.ɵɵgetCurrentView();
500
+ i0.ɵɵelementStart(0, "div", 8)(1, "label", 47);
501
+ i0.ɵɵtext(2, "First day you worked");
502
+ i0.ɵɵelementEnd();
503
+ i0.ɵɵelementStart(3, "p-calendar", 48);
504
+ 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)); });
505
+ i0.ɵɵelementEnd();
506
+ i0.ɵɵelement(4, "app-error", 11);
507
+ i0.ɵɵelementEnd();
508
+ } if (rf & 2) {
509
+ const ctx_r37 = i0.ɵɵnextContext(2);
510
+ const _r0 = i0.ɵɵreference(1);
511
+ i0.ɵɵadvance(3);
512
+ 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
513
  i0.ɵɵadvance(1);
346
514
  i0.ɵɵclassMap("app-grid");
347
- i0.ɵɵproperty("field", ctx_r18.voluntaryQuit)("form", _r0)("errDef", i0.ɵɵpureFunction0(11, _c2));
515
+ 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 + "."));
516
+ } }
517
+ function WeeklyCertEmployerComponentQe_ion_row_4_div_33_div_4_Template(rf, ctx) { if (rf & 1) {
518
+ const _r47 = i0.ɵɵgetCurrentView();
519
+ i0.ɵɵelementStart(0, "div")(1, "app-wage-calculator", 52);
520
+ 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()); });
521
+ i0.ɵɵelementEnd()();
522
+ } if (rf & 2) {
523
+ const ctx_r45 = i0.ɵɵnextContext(3);
524
+ i0.ɵɵadvance(1);
525
+ i0.ɵɵproperty("dynamicParam", ctx_r45.dynamicParam)("showCalculatorPopup", true)("wageCalculatorSavedData", ctx_r45.wageCalculatorData);
526
+ } }
527
+ function WeeklyCertEmployerComponentQe_ion_row_4_div_33_Template(rf, ctx) { if (rf & 1) {
528
+ const _r52 = i0.ɵɵgetCurrentView();
529
+ i0.ɵɵelementStart(0, "div", 8)(1, "span", 51);
530
+ 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)); });
531
+ i0.ɵɵelementStart(2, "b");
532
+ i0.ɵɵtext(3, "Earnings Calculator");
533
+ i0.ɵɵelementEnd()();
534
+ i0.ɵɵtemplate(4, WeeklyCertEmployerComponentQe_ion_row_4_div_33_div_4_Template, 2, 3, "div", 2);
535
+ i0.ɵɵelementEnd();
536
+ } if (rf & 2) {
537
+ const ctx_r38 = i0.ɵɵnextContext(2);
538
+ i0.ɵɵadvance(4);
539
+ i0.ɵɵproperty("ngIf", ctx_r38.wageDialog);
348
540
  } }
349
541
  function WeeklyCertEmployerComponentQe_ion_row_4_Template(rf, ctx) { if (rf & 1) {
542
+ const _r54 = i0.ɵɵgetCurrentView();
350
543
  i0.ɵɵelementStart(0, "ion-row")(1, "ion-col", 6)(2, "div", 7)(3, "div", 8)(4, "b");
351
544
  i0.ɵɵtext(5);
352
545
  i0.ɵɵelementEnd()();
353
- i0.ɵɵelementStart(6, "section", 46);
354
- i0.ɵɵelement(7, "input", 34)(8, "input", 34)(9, "input", 34)(10, "input", 34)(11, "input", 34)(12, "input", 34)(13, "input", 34)(14, "input", 34);
546
+ i0.ɵɵelementStart(6, "section", 53);
547
+ 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
548
  i0.ɵɵelementEnd();
356
- i0.ɵɵelementStart(15, "div", 8)(16, "label", 31);
549
+ i0.ɵɵelementStart(15, "div", 8)(16, "label", 21);
357
550
  i0.ɵɵtext(17, "What's your employment status with this employer?");
358
551
  i0.ɵɵelementEnd();
359
- i0.ɵɵelement(18, "app-dropdown", 47)(19, "br")(20, "app-error", 11);
552
+ i0.ɵɵelement(18, "app-dropdown", 54)(19, "br")(20, "app-error", 11);
360
553
  i0.ɵɵelementEnd();
361
- i0.ɵɵtemplate(21, WeeklyCertEmployerComponentQe_ion_row_4_div_21_Template, 5, 9, "div", 33)(22, WeeklyCertEmployerComponentQe_ion_row_4_div_22_Template, 9, 16, "div", 33)(23, WeeklyCertEmployerComponentQe_ion_row_4_div_23_Template, 5, 11, "div", 33)(24, WeeklyCertEmployerComponentQe_ion_row_4_div_24_Template, 6, 12, "div", 33)(25, WeeklyCertEmployerComponentQe_ion_row_4_div_25_Template, 6, 12, "div", 33);
362
- i0.ɵɵelementStart(26, "div", 8)(27, "label", 22);
363
- i0.ɵɵtext(28, "Last day worked");
554
+ 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);
555
+ i0.ɵɵelementStart(28, "div", 8)(29, "label", 17);
556
+ i0.ɵɵtext(30, "Last day you worked");
364
557
  i0.ɵɵelementEnd();
365
- i0.ɵɵelement(29, "p-calendar", 23)(30, "app-error", 11);
558
+ i0.ɵɵelementStart(31, "p-calendar", 55);
559
+ 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)); });
366
560
  i0.ɵɵelementEnd();
367
- i0.ɵɵelementStart(31, "div", 8)(32, "label", 26);
368
- i0.ɵɵtext(33, "Total Gross Earnings");
561
+ i0.ɵɵelement(32, "app-error", 11);
369
562
  i0.ɵɵelementEnd();
370
- i0.ɵɵelement(34, "app-overlay-info", 27);
371
- i0.ɵɵpipe(35, "trustHtml");
372
- i0.ɵɵpipe(36, "translate");
373
- i0.ɵɵelement(37, "p-inputNumber", 28)(38, "app-error", 11);
563
+ i0.ɵɵtemplate(33, WeeklyCertEmployerComponentQe_ion_row_4_div_33_Template, 5, 1, "div", 12);
564
+ i0.ɵɵelementStart(34, "div", 8)(35, "label", 24);
565
+ i0.ɵɵtext(36, "Hours worked");
374
566
  i0.ɵɵelementEnd();
375
- i0.ɵɵelementStart(39, "div", 8)(40, "label", 29);
376
- i0.ɵɵtext(41, "Hours worked");
567
+ i0.ɵɵelement(37, "p-inputNumber", 25)(38, "app-error", 11);
377
568
  i0.ɵɵelementEnd();
378
- i0.ɵɵelement(42, "p-inputNumber", 30)(43, "app-error", 11);
569
+ i0.ɵɵelementStart(39, "div", 8)(40, "label", 26);
570
+ i0.ɵɵtext(41, "Total Gross Earnings");
571
+ i0.ɵɵelementEnd();
572
+ i0.ɵɵelement(42, "app-overlay-info", 27);
573
+ i0.ɵɵpipe(43, "trustHtml");
574
+ i0.ɵɵpipe(44, "translate");
575
+ i0.ɵɵelement(45, "p-inputNumber", 28)(46, "app-error", 11);
379
576
  i0.ɵɵelementEnd()()()();
380
577
  } if (rf & 2) {
381
578
  const ctx_r2 = i0.ɵɵnextContext();
@@ -402,7 +599,7 @@ function WeeklyCertEmployerComponentQe_ion_row_4_Template(rf, ctx) { if (rf & 1)
402
599
  i0.ɵɵproperty("options", ctx_r2.employmentStatusOptionsAll)("formControl", ctx_r2.wcEmpStatus)("autoDisplayFirst", false);
403
600
  i0.ɵɵadvance(2);
404
601
  i0.ɵɵclassMap("app-grid");
405
- i0.ɵɵproperty("field", ctx_r2.wcEmpStatus)("form", _r0)("errDef", i0.ɵɵpureFunction1(50, _c1, ctx_r2.required));
602
+ i0.ɵɵproperty("field", ctx_r2.wcEmpStatus)("form", _r0)("errDef", i0.ɵɵpureFunction0(58, _c11));
406
603
  i0.ɵɵadvance(1);
407
604
  i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "LWLO");
408
605
  i0.ɵɵadvance(1);
@@ -413,53 +610,63 @@ function WeeklyCertEmployerComponentQe_ion_row_4_Template(rf, ctx) { if (rf & 1)
413
610
  i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "DCFI");
414
611
  i0.ɵɵadvance(1);
415
612
  i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "VOLQ");
613
+ i0.ɵɵadvance(1);
614
+ i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "VOLQ" || ctx_r2.wcEmpStatus.value == "SUSP" || ctx_r2.wcEmpStatus.value == "DCFI" || ctx_r2.wcEmpStatus.value == "STLO");
615
+ i0.ɵɵadvance(1);
616
+ i0.ɵɵproperty("ngIf", ctx_r2.wcEmpStatus.value == "VOLQ" || ctx_r2.wcEmpStatus.value == "SUSP" || ctx_r2.wcEmpStatus.value == "DCFI");
416
617
  i0.ɵɵadvance(4);
417
- 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
+ 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);
418
619
  i0.ɵɵadvance(1);
419
620
  i0.ɵɵclassMap("app-grid");
420
- i0.ɵɵproperty("field", ctx_r2.lastDayWorked)("form", _r0)("errDef", i0.ɵɵpureFunction2(52, _c4, ctx_r2.required, "Date should be between " + ctx_r2.dynamicParam.sunday_date + " and " + ctx_r2.dynamicParam.saturday_date + "."));
621
+ 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 + "."));
622
+ i0.ɵɵadvance(1);
623
+ i0.ɵɵproperty("ngIf", !ctx_r2.isME());
421
624
  i0.ɵɵadvance(4);
422
- i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(35, 46, i0.ɵɵpipeBind1(36, 48, "weeklies.v2.employment.rtw.info.popup.1000")));
423
- i0.ɵɵadvance(3);
424
- i0.ɵɵproperty("formControl", ctx_r2.wsEmpAmtEarned);
625
+ i0.ɵɵproperty("formControl", ctx_r2.wcEmpHoursWorked)("minFractionDigits", 1)("maxFractionDigits", 2);
425
626
  i0.ɵɵadvance(1);
426
627
  i0.ɵɵclassMap("app-grid");
427
- i0.ɵɵproperty("field", ctx_r2.wsEmpAmtEarned)("form", _r0)("errDef", i0.ɵɵpureFunction1(55, _c1, ctx_r2.required));
628
+ i0.ɵɵproperty("field", ctx_r2.wcEmpHoursWorked)("form", _r0)("errDef", i0.ɵɵpureFunction0(61, _c13));
428
629
  i0.ɵɵadvance(4);
429
- i0.ɵɵproperty("formControl", ctx_r2.wcEmpHoursWorked);
630
+ i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(43, 54, i0.ɵɵpipeBind1(44, 56, "weeklies.v2.employment.rtw.info.popup.1000")));
631
+ i0.ɵɵadvance(3);
632
+ i0.ɵɵproperty("formControl", ctx_r2.wsEmpAmtEarned);
430
633
  i0.ɵɵadvance(1);
431
634
  i0.ɵɵclassMap("app-grid");
432
- i0.ɵɵproperty("field", ctx_r2.wcEmpHoursWorked)("form", _r0)("errDef", i0.ɵɵpureFunction1(57, _c1, ctx_r2.required));
635
+ i0.ɵɵproperty("field", ctx_r2.wsEmpAmtEarned)("form", _r0)("errDef", i0.ɵɵpureFunction0(62, _c14));
433
636
  } }
434
- export class WeeklyCertEmployerComponentQe {
435
- constructor(util, formBuilder, cs, translateService) {
637
+ export class WeeklyCertEmployerComponentQe extends BasePage {
638
+ constructor(util, formBuilder, cs) {
639
+ super();
436
640
  this.util = util;
437
641
  this.formBuilder = formBuilder;
438
642
  this.cs = cs;
439
- this.translateService = translateService;
440
643
  this.success = new EventEmitter();
441
644
  this.onClose = new EventEmitter();
442
645
  this.empToEdit = new EmployerInfoModel();
443
646
  this.yesNoOption = ComboOption.YES_NO;
444
- this.statesCombo = ComboOption.US_STATES;
647
+ this.statesCombo = [];
648
+ this.countryOptions = ComboOption.COUNTRY;
649
+ this.isEditMode = false;
445
650
  this.dischargeReasonOptionsAll = [];
446
651
  this.volQuitReasonOptionsAll = [];
447
652
  this.employmentStatusOptionsAll = [];
448
- this.translateService.use(localStorage.getItem("language"));
653
+ this.wageCalculatorData = new WageCalculatorModel();
654
+ this.usZipcodeValidations = [Validators.required, AppValidators.isValidZipCode];
655
+ this.canadaZipcodeValidations = [Validators.required, AppValidators.isValidCanadianZipCode];
449
656
  }
450
657
  ngOnInit() {
451
658
  this.loadMasterData();
452
- if (localStorage.getItem("language") === "es") {
453
- this.yesNoOption = ComboOption.YES_NO_ES;
454
- this.statesCombo = ComboOption.US_STATES_ES;
455
- }
456
- else {
457
- this.yesNoOption = ComboOption.YES_NO;
458
- this.statesCombo = ComboOption.US_STATES;
459
- }
460
659
  this.satDate = this.util.getEnteredDateFromString(this.dynamicParam.saturday_date);
461
660
  this.sunDate = this.util.getEnteredDateFromString(this.dynamicParam.sunday_date);
462
661
  this.initilizeEmployerInforForm();
662
+ this.isEditMode = !!this.empToEdit;
663
+ this.wcEmpHoursWorked.valueChanges.subscribe(val => {
664
+ if (val) {
665
+ if (val > 168) {
666
+ this.wcEmpHoursWorked.setErrors({ hoursPerWeekExceeded: true });
667
+ }
668
+ }
669
+ });
463
670
  }
464
671
  loadMasterData() {
465
672
  this.cs.loadMasterData();
@@ -474,9 +681,20 @@ export class WeeklyCertEmployerComponentQe {
474
681
  });
475
682
  }
476
683
  add() {
684
+ //this.setValidationForHoursAndWagesOnActivityType();
477
685
  if (this.empForm.valid) {
478
686
  this.empForm.value.isPartTimeEmployerEdited = true;
479
687
  this.success.emit(this.empForm.value);
688
+ this.isEditMode = false;
689
+ }
690
+ }
691
+ save() {
692
+ //this.setValidationForHoursAndWagesOnActivityType();
693
+ if (this.empForm.valid) {
694
+ this.empForm.value.isPartTimeEmployerEdited = true;
695
+ this.success.emit(this.empForm.value);
696
+ this.initilizeEmployerInforForm();
697
+ this.isEditMode = true;
480
698
  }
481
699
  }
482
700
  close() {
@@ -485,12 +703,13 @@ export class WeeklyCertEmployerComponentQe {
485
703
  initilizeEmployerInforForm() {
486
704
  let empInfo = this.empToEdit ? this.empToEdit : new EmployerInfoModel();
487
705
  this.empForm = this.formBuilder.group({
488
- 'lastDayWorked': [empInfo.lastDayWorked, Validators.compose([Validators.required, AppValidators.isBetween(this.sunDate, this.satDate)])],
489
- 'employerName': [empInfo.employerName, Validators.required],
490
- 'line1': [empInfo.line1, Validators.required],
706
+ 'lastDayWorked': [empInfo.lastDayWorked != null ? this.getDate(empInfo.lastDayWorked) : '', Validators.compose([Validators.required, AppValidators.isBetweenDate(this.sunDate, this.satDate)])],
707
+ 'employerName': [empInfo.employerName, [Validators.required, Validators.pattern(/^[A-Za-z0-9\s\.,&'()#-]+$/)]],
708
+ 'line1': [empInfo.line1, [Validators.required, Validators.pattern(/^[0-9A-Za-z\s,'\-\.#\/]+$/)]],
491
709
  'line2': [empInfo.line2],
492
- 'city': [empInfo.city, Validators.required],
710
+ 'city': [empInfo.city, Validators.compose([Validators.required, Validators.pattern(/^(?!-)[A-Za-z -]*$/)])],
493
711
  'state': [empInfo.state != undefined ? empInfo.state : this.util.getState(), Validators.required],
712
+ 'country': [empInfo.country],
494
713
  'grossEarning': [empInfo.grossEarning, Validators.compose([Validators.required])],
495
714
  'reasonSeparation': [empInfo.reasonSeparation != undefined ? empInfo.reasonSeparation : '', Validators.required],
496
715
  'haveReturnToWorkDate': [empInfo.haveReturnToWorkDate],
@@ -503,35 +722,83 @@ export class WeeklyCertEmployerComponentQe {
503
722
  'employerId': [empInfo.employerId],
504
723
  'tempWcEmployerId': [empInfo.tempWcEmployerId ? empInfo.tempWcEmployerId : new Date().getTime()],
505
724
  'potentialIssueId': [empInfo.potentialIssueId ? empInfo.potentialIssueId : null],
506
- 'isPartTimeEmployer': [empInfo.isPartTimeEmployer ? empInfo.isPartTimeEmployer : null]
725
+ 'isPartTimeEmployer': [empInfo.isPartTimeEmployer ? empInfo.isPartTimeEmployer : null],
726
+ 'jobTitle': [empInfo.jobTitle, Validators.maxLength(50)],
727
+ 'startDayWorked': [empInfo.startDayWorked]
507
728
  });
508
- this.wcEmpStatus.valueChanges.subscribe(val => {
509
- if (val && val == 'RTWF') {
510
- this.util.setRequiredValidator(this.wcEmpLowRtwDate);
511
- }
512
- else {
513
- this.util.clearValidation(this.wcEmpLowRtwDate);
729
+ this.lastDayWorked.valueChanges.subscribe(val => {
730
+ if (val) {
731
+ this.maxStartDate = new Date(val);
732
+ if (this.startDayWorked.value) {
733
+ let startDate = new Date(this.startDayWorked.value);
734
+ if (startDate > this.maxStartDate) {
735
+ this.startDayWorked.patchValue(null);
736
+ this.startDayWorked.updateValueAndValidity();
737
+ }
738
+ }
514
739
  }
515
- if (val && val == 'LWLO') {
516
- this.util.setRequiredValidator(this.haveReturnToWorkDate);
517
- }
518
- else {
519
- this.util.clearValidation(this.haveReturnToWorkDate);
520
- }
521
- if (val && val == 'DCFI') {
522
- this.util.setRequiredValidator(this.discharged);
523
- }
524
- else {
525
- this.util.clearValidation(this.discharged);
526
- }
527
- if (val && val == 'VOLQ') {
528
- this.util.setRequiredValidator(this.voluntaryQuit);
740
+ });
741
+ this.wcEmpStatus.valueChanges.subscribe(val => {
742
+ this.setValidationBasedOnEmploymentStatus(val);
743
+ });
744
+ if (empInfo.reasonSeparation) {
745
+ this.setValidationBasedOnEmploymentStatus(empInfo.reasonSeparation);
746
+ }
747
+ if (this.lastDayWorked.value) {
748
+ this.maxStartDate = new Date(this.lastDayWorked.value);
749
+ }
750
+ if (this.isME()) {
751
+ this.util.setRequiredValidator(this.wcEmpCountry);
752
+ this.setZipCodeValidationBasedOnCountry();
753
+ this.wcEmpCountry.valueChanges.subscribe(country => {
754
+ this.filterState(country);
755
+ });
756
+ this.wcEmpCountry.setValue("US");
757
+ }
758
+ else {
759
+ this.statesCombo = ComboOption.US_STATES;
760
+ }
761
+ }
762
+ setZipCodeValidationBasedOnCountry() {
763
+ this.wcEmpCountry.valueChanges.subscribe(c => {
764
+ if (c == 'US') {
765
+ this.util.clearValidation(this.wsZipCode);
766
+ this.util.setValidation(this.wsZipCode, this.usZipcodeValidations);
529
767
  }
530
- else {
531
- this.util.clearValidation(this.voluntaryQuit);
768
+ else if (c == 'CA') {
769
+ this.util.clearValidation(this.wsZipCode);
770
+ this.util.setValidation(this.wsZipCode, this.canadaZipcodeValidations);
532
771
  }
533
772
  });
534
773
  }
774
+ filterState(event) {
775
+ console.log(event, this.wcEmpCountry?.value);
776
+ let choice;
777
+ if (this.wcEmpCountry?.value === 'US') {
778
+ const currentState = ComboOption.US_STATES.find(state => state.value == this.util.getState());
779
+ choice = [currentState, ...ComboOption.US_STATES.filter(state => state.value != this.util.getState())];
780
+ }
781
+ if (this.wcEmpCountry?.value === 'CA') {
782
+ choice = ComboOption.CA_STATES;
783
+ }
784
+ this.statesCombo = choice;
785
+ }
786
+ updateGrossEarnings(grossEarnings) {
787
+ if (grossEarnings === 0) {
788
+ this.empForm.controls['grossEarning'].reset();
789
+ }
790
+ else {
791
+ this.empForm.patchValue({ grossEarning: grossEarnings });
792
+ }
793
+ }
794
+ updateTotalHours(totalHours) {
795
+ if (totalHours === 0) {
796
+ this.empForm.controls['hoursWorkedInWeek'].reset();
797
+ }
798
+ else {
799
+ this.empForm.patchValue({ hoursWorkedInWeek: totalHours });
800
+ }
801
+ }
535
802
  get haveReturnToWorkDate() {
536
803
  return this.empForm.controls['haveReturnToWorkDate'];
537
804
  }
@@ -559,6 +826,9 @@ export class WeeklyCertEmployerComponentQe {
559
826
  get wcEmpState() {
560
827
  return this.empForm.controls['state'];
561
828
  }
829
+ get wcEmpCountry() {
830
+ return this.empForm.controls['country'];
831
+ }
562
832
  get wsEmpAmtEarned() {
563
833
  return this.empForm.controls['grossEarning'];
564
834
  }
@@ -589,12 +859,111 @@ export class WeeklyCertEmployerComponentQe {
589
859
  get isPartTimeEmployer() {
590
860
  return this.empForm.controls['isPartTimeEmployer'];
591
861
  }
862
+ get jobTitle() {
863
+ return this.empForm.controls['jobTitle'];
864
+ }
865
+ get startDayWorked() {
866
+ return this.empForm.controls['startDayWorked'];
867
+ }
868
+ setValidationForHoursAndWagesOnActivityType() {
869
+ if (this.empToEdit?.isPartTimeEmployer) {
870
+ if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
871
+ && (this.wcEmpHoursWorked.value === 0.0 || this.wcEmpHoursWorked.value === 0)
872
+ && this.wcEmpStatus.value === 'WRPT') {
873
+ this.util.clearValidation(this.wsEmpAmtEarned);
874
+ this.wcEmpStatus.setErrors({ 'changeEmpStatus': true });
875
+ }
876
+ else if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
877
+ && (this.wcEmpHoursWorked.value > 0.0 || this.wcEmpHoursWorked.value > 0)
878
+ && this.wcEmpStatus.value === 'WRPT') {
879
+ this.util.clearValidation(this.wcEmpStatus);
880
+ this.wsEmpAmtEarned.setErrors({ 'earningsNotZero': true });
881
+ }
882
+ else if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
883
+ && (this.wcEmpHoursWorked.value > 0.0 || this.wcEmpHoursWorked.value > 0 ||
884
+ this.wcEmpHoursWorked.value === 0.0 || this.wcEmpHoursWorked.value === 0)
885
+ && this.wcEmpStatus.value !== 'WRPT') {
886
+ this.util.clearValidation(this.wcEmpStatus);
887
+ this.wsEmpAmtEarned.setErrors({ 'earningsNotZero': true });
888
+ }
889
+ }
890
+ else {
891
+ if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
892
+ && (this.wcEmpHoursWorked.value === 0.0 || this.wcEmpHoursWorked.value === 0)
893
+ && this.wcEmpStatus.value === 'WRPT') {
894
+ this.util.clearValidation(this.wsEmpAmtEarned);
895
+ this.wcEmpStatus.setErrors({ 'changeEmpStatus': true });
896
+ }
897
+ if ((this.wsEmpAmtEarned.value === 0.0 || this.wsEmpAmtEarned.value === 0)
898
+ && (this.wcEmpHoursWorked.value > 0.0 || this.wcEmpHoursWorked.value > 0)
899
+ && this.wcEmpStatus.value === 'WRPT') {
900
+ this.util.clearValidation(this.wcEmpStatus);
901
+ this.wsEmpAmtEarned.setErrors({ 'earningsNotZero': true });
902
+ }
903
+ }
904
+ }
905
+ setValidationBasedOnEmploymentStatus(val) {
906
+ if (val && val == 'RTWF') {
907
+ this.util.setRequiredValidator(this.wcEmpLowRtwDate);
908
+ }
909
+ else {
910
+ this.util.clearValidation(this.wcEmpLowRtwDate);
911
+ }
912
+ if (val && val == 'LWLO') {
913
+ this.jobTitle.clearValidators;
914
+ this.util.setRequiredValidator(this.haveReturnToWorkDate);
915
+ }
916
+ else {
917
+ this.util.clearValidation(this.haveReturnToWorkDate);
918
+ }
919
+ if (val && val == 'DCFI') {
920
+ this.util.setRequiredValidator(this.discharged);
921
+ if (!this.isMS()) {
922
+ this.util.setRequiredValidator(this.jobTitle);
923
+ this.util.setRequiredValidator(this.startDayWorked);
924
+ }
925
+ }
926
+ else {
927
+ this.util.clearValidation(this.jobTitle);
928
+ this.util.clearValidation(this.startDayWorked);
929
+ this.util.clearValidation(this.discharged);
930
+ }
931
+ if (val && val == 'VOLQ') {
932
+ this.util.setRequiredValidator(this.voluntaryQuit);
933
+ if (!this.isMS()) {
934
+ this.util.setRequiredValidator(this.jobTitle);
935
+ this.util.setRequiredValidator(this.startDayWorked);
936
+ }
937
+ }
938
+ else {
939
+ this.util.clearValidation(this.jobTitle);
940
+ this.util.clearValidation(this.startDayWorked);
941
+ this.util.clearValidation(this.voluntaryQuit);
942
+ }
943
+ if (val && val == 'SUSP' && !this.isMS()) {
944
+ this.util.setRequiredValidator(this.jobTitle);
945
+ this.util.setRequiredValidator(this.startDayWorked);
946
+ }
947
+ else {
948
+ this.util.clearValidation(this.jobTitle);
949
+ this.util.clearValidation(this.startDayWorked);
950
+ }
951
+ if (val && val == 'STLO' && !this.isMS()) {
952
+ this.util.setRequiredValidator(this.jobTitle);
953
+ }
954
+ else {
955
+ this.util.clearValidation(this.jobTitle);
956
+ }
957
+ }
592
958
  setEmployer(employer) {
593
959
  this.wcEmpName.setValue(employer.employerName);
594
960
  this.wcEmpAddressLine1.setValue(employer.addressLine1);
595
961
  this.wcEmpAddressLine2.setValue(employer.addressLine2);
596
962
  this.wcEmpCity.setValue(employer.city);
597
963
  this.wcEmpState.setValue(employer.state.value);
964
+ if (this.isME()) {
965
+ this.wcEmpCountry.setValue(employer.country.value);
966
+ }
598
967
  this.wsZipCode.setValue(employer.zip);
599
968
  this.hidEmpId.setValue(employer.employerId);
600
969
  }
@@ -609,34 +978,39 @@ export class WeeklyCertEmployerComponentQe {
609
978
  }
610
979
  }
611
980
  }
612
- get required() {
613
- return this.translateService.instant('common.required');
981
+ getDate(wsDate) {
982
+ if (!(wsDate instanceof Date)) {
983
+ return this.util.getEnteredDate(wsDate);
984
+ }
985
+ return wsDate;
614
986
  }
615
- get zipLength() {
616
- return this.translateService.instant('common.zipcode.length');
987
+ setWageFlag(event) {
988
+ event.preventDefault();
989
+ this.wageDialog = true;
617
990
  }
618
- get zipOnlyNumbers() {
619
- return this.translateService.instant('common.zipcode.only.numbers');
991
+ onDialogSave(wageCalculatorSavedData) {
992
+ this.wageCalculatorData = wageCalculatorSavedData;
993
+ this.wageDialog = false;
620
994
  }
621
- get zipInvalid() {
622
- return this.translateService.instant('common.zipcode.invalid');
995
+ onDialogCancel() {
996
+ this.wageDialog = false;
623
997
  }
624
- static { this.ɵfac = function WeeklyCertEmployerComponentQe_Factory(t) { return new (t || WeeklyCertEmployerComponentQe)(i0.ɵɵdirectiveInject(i1.UtilService), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.ClaimService), i0.ɵɵdirectiveInject(i4.TranslateService)); }; }
998
+ static { this.ɵfac = function WeeklyCertEmployerComponentQe_Factory(t) { return new (t || WeeklyCertEmployerComponentQe)(i0.ɵɵdirectiveInject(i1.UtilService), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.ClaimService)); }; }
625
999
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WeeklyCertEmployerComponentQe, selectors: [["app-weekly-cert-employer-qe"]], viewQuery: function WeeklyCertEmployerComponentQe_Query(rf, ctx) { if (rf & 1) {
626
1000
  i0.ɵɵviewQuery(_c0, 5);
627
1001
  } if (rf & 2) {
628
1002
  let _t;
629
1003
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.empFormDirective = _t.first);
630
- } }, inputs: { empToEdit: "empToEdit", dynamicParam: "dynamicParam" }, outputs: { success: "success", onClose: "onClose" }, decls: 11, vars: 3, 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"], [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"], ["class", "field", 4, "ngIf"], ["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"]], template: function WeeklyCertEmployerComponentQe_Template(rf, ctx) { if (rf & 1) {
1004
+ } }, 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) {
631
1005
  i0.ɵɵelementStart(0, "form", 0, 1)(2, "ion-grid");
632
- i0.ɵɵtemplate(3, WeeklyCertEmployerComponentQe_ion_row_3_Template, 69, 104, "ion-row", 2)(4, WeeklyCertEmployerComponentQe_ion_row_4_Template, 44, 59, "ion-row", 2);
1006
+ i0.ɵɵtemplate(3, WeeklyCertEmployerComponentQe_ion_row_3_Template, 65, 87, "ion-row", 2)(4, WeeklyCertEmployerComponentQe_ion_row_4_Template, 47, 63, "ion-row", 2);
633
1007
  i0.ɵɵelementStart(5, "ion-row")(6, "ion-col", 3)(7, "ion-button", 4);
634
1008
  i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_Template_ion_button_click_7_listener() { return ctx.close(); });
635
1009
  i0.ɵɵtext(8, "Clear");
636
1010
  i0.ɵɵelementEnd();
637
1011
  i0.ɵɵelementStart(9, "ion-button", 5);
638
- i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_Template_ion_button_click_9_listener() { return ctx.add(); });
639
- i0.ɵɵtext(10, "Add");
1012
+ i0.ɵɵlistener("click", function WeeklyCertEmployerComponentQe_Template_ion_button_click_9_listener() { return ctx.isEditMode ? ctx.save() : ctx.add(); });
1013
+ i0.ɵɵtext(10);
640
1014
  i0.ɵɵelementEnd()()()()();
641
1015
  } if (rf & 2) {
642
1016
  i0.ɵɵproperty("formGroup", ctx.empForm);
@@ -644,12 +1018,14 @@ export class WeeklyCertEmployerComponentQe {
644
1018
  i0.ɵɵproperty("ngIf", !(ctx.empToEdit == null ? null : ctx.empToEdit.isPartTimeEmployer));
645
1019
  i0.ɵɵadvance(1);
646
1020
  i0.ɵɵproperty("ngIf", ctx.empToEdit == null ? null : ctx.empToEdit.isPartTimeEmployer);
647
- } }, dependencies: [i5.IonButton, i5.IonCol, i5.IonGrid, i5.IonRow, i6.NgIf, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.MinLengthValidator, i2.MaxLengthValidator, i2.FormControlDirective, i2.FormGroupDirective, i7.InputText, i8.InputMask, i9.Calendar, i10.SelectButton, i11.InputNumber, i12.ErrorComponent, i13.OverlayInfoComponent, i14.SearchEmployerComponent, i15.Dropdown, i4.TranslatePipe, i16.TrustHtmlPipe], styles: ["[_nghost-%COMP%] .p-fluid .p-buttonset{display:inline-flex!important}"] }); }
1021
+ i0.ɵɵadvance(6);
1022
+ i0.ɵɵtextInterpolate1(" ", ctx.isEditMode ? "Save" : "Add", " ");
1023
+ } }, 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}"] }); }
648
1024
  }
649
1025
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WeeklyCertEmployerComponentQe, [{
650
1026
  type: Component,
651
- 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: zipLength,\r\n invalidNumber: zipOnlyNumbers\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 }\"></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 }\"></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 }\"></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 }\"></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)=\"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"] }]
652
- }], () => [{ type: i1.UtilService }, { type: i2.UntypedFormBuilder }, { type: i3.ClaimService }, { type: i4.TranslateService }], { empFormDirective: [{
1027
+ 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: 'only letters, numbers, spaces, and . , & \\' ( ) - # are 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"] }]
1028
+ }], () => [{ type: i1.UtilService }, { type: i2.UntypedFormBuilder }, { type: i3.ClaimService }], { empFormDirective: [{
653
1029
  type: ViewChild,
654
1030
  args: ['empFormDirective', { static: false }]
655
1031
  }], success: [{
@@ -661,5 +1037,5 @@ export class WeeklyCertEmployerComponentQe {
661
1037
  }], dynamicParam: [{
662
1038
  type: Input
663
1039
  }] }); })();
664
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WeeklyCertEmployerComponentQe, { className: "WeeklyCertEmployerComponentQe", filePath: "lib\\components\\weekly-cert-employer\\weekly-cert-employer.component.ts", lineNumber: 16 }); })();
665
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LWNlcnQtZW1wbG95ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS1jZXJ0LWVtcGxveWVyL3dlZWtseS1jZXJ0LWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy93ZWVrbHktY2VydC1lbXBsb3llci93ZWVrbHktY2VydC1lbXBsb3llci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQWdELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFGLE9BQU8sRUFBRSxpQkFBaUIsRUFBd0IsTUFBTSx5Q0FBeUMsQ0FBQztBQUNsRyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFHcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUM0RnBELDhCQUF1RCxnQkFBQTtJQUNuQixvRUFBb0Q7SUFBQSxpQkFBUTtJQUM5RixxQ0FDcUMsb0JBQUE7SUFJdkMsaUJBQU07Ozs7SUFMWSxlQUF1QjtJQUF2Qiw0Q0FBdUIsNENBQUE7SUFFNUIsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsbURBQThCLGFBQUEsdURBQUE7Ozs7SUFJaEUsOEJBQTRGLGdCQUFBO0lBQzdELHFCQUFLO0lBQUEsaUJBQVE7SUFDMUMsK0JBQTRCLHFCQUFBO0lBRXFCLG9NQUFXLGVBQUEsd0JBQWlCLENBQUEsSUFBQztJQUEyQixpQkFBYTtJQUNwSCx1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OztZQTNQMUUsdUNBQXFCO1lBRWIsZUFBc0M7WUFBdEMseUZBQXNDO1lBa0p0QyxlQUFxQztZQUFyQyxzRkFBcUM7OztpRkR0SXhDLDZCQUE2QjtjQUx6QyxTQUFTOzJCQUNFLDZCQUE2Qjt1SUFPaEMsZ0JBQWdCO2tCQUR0QixTQUFTO21CQUFDLGtCQUFrQixFQUFFLEVBQUMsTUFBTSxFQUFHLEtBQUssRUFBQztZQUkvQyxPQUFPO2tCQUROLE1BQU07WUFJUCxPQUFPO2tCQUROLE1BQU07WUFJQSxTQUFTO2tCQURmLEtBQUs7WUFJQyxZQUFZO2tCQURsQixLQUFLOztrRkFkSyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1CdWlsZGVyLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IENob2ljZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9BZGRyZXNzQ29tcG9uZW50TW9kZWwnO1xyXG5pbXBvcnQgeyBFbXBsb3llckluZm9Nb2RlbCwgRW1wbG95ZXJTZWFyY2hSZXN1bHQgfSBmcm9tICcuLi8uLi9tb2RlbHMvRW1wbG95ZXJEZXRhaWxTZWFyY2hSZXN1bHQnO1xyXG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xyXG5pbXBvcnQgeyBDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbXMvY2xhaW1zLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQXBwVmFsaWRhdG9ycyB9IGZyb20gJy4uLy4uL3ZhbGlkYXRpb25zL0FwcFZhbGlkYXRvcnMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC13ZWVrbHktY2VydC1lbXBsb3llci1xZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dlZWtseS1jZXJ0LWVtcGxveWVyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93ZWVrbHktY2VydC1lbXBsb3llci5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgV2Vla2x5Q2VydEVtcGxveWVyQ29tcG9uZW50UWUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAVmlld0NoaWxkKCdlbXBGb3JtRGlyZWN0aXZlJywge3N0YXRpYyA6IGZhbHNlfSkgXHJcbiAgcHVibGljIGVtcEZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcclxuXHJcbiAgQE91dHB1dCgpIFxyXG4gIHN1Y2Nlc3M6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBAT3V0cHV0KCkgXHJcbiAgb25DbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGVtcFRvRWRpdCA9IG5ldyBFbXBsb3llckluZm9Nb2RlbCgpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkeW5hbWljUGFyYW06IGFueTtcclxuXHJcbiAgcHVibGljIHllc05vT3B0aW9uID0gQ29tYm9PcHRpb24uWUVTX05PO1xyXG5cclxuICBwdWJsaWMgZW1wRm9ybSA6IFVudHlwZWRGb3JtR3JvdXA7XHJcbiAgcHVibGljIHN0YXRlc0NvbWJvID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xyXG4gIHB1YmxpYyBzYXREYXRlIDogRGF0ZTtcclxuICBwdWJsaWMgc3VuRGF0ZSA6IERhdGU7XHJcblxyXG4gIHB1YmxpYyBkaXNjaGFyZ2VSZWFzb25PcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyB2b2xRdWl0UmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcclxuICBwdWJsaWMgZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHB1YmxpYyBmb3JtQnVpbGRlciA6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIGNzIDogQ2xhaW1TZXJ2aWNlLCBwdWJsaWMgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZVxyXG4gICkge3RoaXMudHJhbnNsYXRlU2VydmljZS51c2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSk7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmxvYWRNYXN0ZXJEYXRhKCk7XHJcbiAgICBpZihsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpID09PSBcImVzXCIpe1xyXG4gICAgICB0aGlzLnllc05vT3B0aW9uID0gQ29tYm9PcHRpb24uWUVTX05PX0VTO1xyXG4gICAgICB0aGlzLnN0YXRlc0NvbWJvID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTX0VTO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLnllc05vT3B0aW9uID0gQ29tYm9PcHRpb24uWUVTX05PO1xyXG4gICAgICB0aGlzLnN0YXRlc0NvbWJvID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zYXREYXRlID0gdGhpcy51dGlsLmdldEVudGVyZWREYXRlRnJvbVN0cmluZyh0aGlzLmR5bmFtaWNQYXJhbS5zYXR1cmRheV9kYXRlKTtcclxuICAgIHRoaXMuc3VuRGF0ZSA9IHRoaXMudXRpbC5nZXRFbnRlcmVkRGF0ZUZyb21TdHJpbmcodGhpcy5keW5hbWljUGFyYW0uc3VuZGF5X2RhdGUpO1xyXG4gICAgdGhpcy5pbml0aWxpemVFbXBsb3llckluZm9yRm9ybSgpO1xyXG4gIH1cclxuICBcclxuICBsb2FkTWFzdGVyRGF0YSgpIHtcclxuICAgIHRoaXMuY3MubG9hZE1hc3RlckRhdGEoKTtcclxuXHJcbiAgICB0aGlzLmNzLmdldFJlYXNvblNlcGFyYXRpb24oKS5zdWJzY3JpYmUoXHJcbiAgICAgIHZhbHVlID0+IHtcclxuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiAgdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5wdXNoKGFycikpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMuY3MuZ2V0RGlzY2hhcmdlUmVhc29ucygpLnN1YnNjcmliZShcclxuICAgICAgdmFsdWUgPT4ge1xyXG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+ICB0aGlzLmRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuXHJcbiAgICB0aGlzLmNzLmdldFF1aXRSZWFzb25zKCkuc3Vic2NyaWJlKFxyXG4gICAgICB2YWx1ZSA9PiB7XHJcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gIHRoaXMudm9sUXVpdFJlYXNvbk9wdGlvbnNBbGwucHVzaChhcnIpKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGFkZCgpe1xyXG4gICAgaWYodGhpcy5lbXBGb3JtLnZhbGlkKXtcclxuICAgICAgdGhpcy5lbXBGb3JtLnZhbHVlLmlzUGFydFRpbWVFbXBsb3llckVkaXRlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuZW1wRm9ybS52YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpe1xyXG4gICAgdGhpcy5vbkNsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIGluaXRpbGl6ZUVtcGxveWVySW5mb3JGb3JtKCl7XHJcbiAgICBsZXQgZW1wSW5mbyA9IHRoaXMuZW1wVG9FZGl0ID8gdGhpcy5lbXBUb0VkaXQgOiBuZXcgRW1wbG95ZXJJbmZvTW9kZWwoKTtcclxuICAgIHRoaXMuZW1wRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xyXG4gICAgICAnbGFzdERheVdvcmtlZCcgOiBbZW1wSW5mby5sYXN0RGF5V29ya2VkLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMuaXNCZXR3ZWVuKHRoaXMuc3VuRGF0ZSwgdGhpcy5zYXREYXRlKV0pXSxcclxuICAgICAgJ2VtcGxveWVyTmFtZScgOiBbZW1wSW5mby5lbXBsb3llck5hbWUsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnbGluZTEnIDogW2VtcEluZm8ubGluZTEsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnbGluZTInIDogW2VtcEluZm8ubGluZTIgXSxcclxuICAgICAgJ2NpdHknIDogW2VtcEluZm8uY2l0eSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdzdGF0ZScgOiBbZW1wSW5mby5zdGF0ZSAhPSB1bmRlZmluZWQgPyBlbXBJbmZvLnN0YXRlIDogdGhpcy51dGlsLmdldFN0YXRlKCksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnZ3Jvc3NFYXJuaW5nJyA6IFtlbXBJbmZvLmdyb3NzRWFybmluZywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxyXG4gICAgICAncmVhc29uU2VwYXJhdGlvbicgOiBbZW1wSW5mby5yZWFzb25TZXBhcmF0aW9uICE9IHVuZGVmaW5lZCA/IGVtcEluZm8ucmVhc29uU2VwYXJhdGlvbiA6ICcnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgJ2hhdmVSZXR1cm5Ub1dvcmtEYXRlJyA6IFtlbXBJbmZvLmhhdmVSZXR1cm5Ub1dvcmtEYXRlXSxcclxuICAgICAgJ3JldHVyblRvV29ya0RhdGUnIDogW2VtcEluZm8ucmV0dXJuVG9Xb3JrRGF0ZV0sXHJcbiAgICAgICd2b2x1bnRhcnlRdWl0JyA6IFtlbXBJbmZvLnZvbHVudGFyeVF1aXRdLFxyXG4gICAgICAnZGlzY2hhcmdlZCcgOiBbZW1wSW5mby5kaXNjaGFyZ2VkXSxcclxuICAgICAgJ2hvdXJzV29ya2VkSW5XZWVrJyA6IFtlbXBJbmZvLmhvdXJzV29ya2VkSW5XZWVrLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWRdKV0sXHJcbiAgICAgICd6aXAnIDogW2VtcEluZm8uemlwICE9IHVuZGVmaW5lZCA/IGVtcEluZm8uemlwIDogJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkWmlwQ29kZV0pXSxcclxuICAgICAgJ2VtcGxveWVyUGhvbmUnIDogW2VtcEluZm8uZW1wbG95ZXJQaG9uZSAhPSB1bmRlZmluZWQgPyBlbXBJbmZvLmVtcGxveWVyUGhvbmUgOiAnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxyXG4gICAgICAnZW1wbG95ZXJJZCcgOiBbZW1wSW5mby5lbXBsb3llcklkXSxcclxuICAgICAgJ3RlbXBXY0VtcGxveWVySWQnIDogW2VtcEluZm8udGVtcFdjRW1wbG95ZXJJZCA/IGVtcEluZm8udGVtcFdjRW1wbG95ZXJJZCA6IG5ldyBEYXRlKCkuZ2V0VGltZSgpXSxcclxuICAgICAgJ3BvdGVudGlhbElzc3VlSWQnIDogW2VtcEluZm8ucG90ZW50aWFsSXNzdWVJZCA/IGVtcEluZm8ucG90ZW50aWFsSXNzdWVJZCA6IG51bGxdLFxyXG4gICAgICAnaXNQYXJ0VGltZUVtcGxveWVyJyA6IFtlbXBJbmZvLmlzUGFydFRpbWVFbXBsb3llciA/IGVtcEluZm8uaXNQYXJ0VGltZUVtcGxveWVyIDogbnVsbF1cclxuXHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLndjRW1wU3RhdHVzLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgaWYodmFsICYmIHZhbCA9PSAnUlRXRicpe1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLndjRW1wTG93UnR3RGF0ZSk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53Y0VtcExvd1J0d0RhdGUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZih2YWwgJiYgdmFsID09ICdMV0xPJyl7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaGF2ZVJldHVyblRvV29ya0RhdGUpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaGF2ZVJldHVyblRvV29ya0RhdGUpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZih2YWwgJiYgdmFsID09ICdEQ0ZJJyl7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZGlzY2hhcmdlZCk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5kaXNjaGFyZ2VkKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYodmFsICYmIHZhbCA9PSAnVk9MUScpe1xyXG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnZvbHVudGFyeVF1aXQpO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudm9sdW50YXJ5UXVpdCk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBnZXQgaGF2ZVJldHVyblRvV29ya0RhdGUoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2hhdmVSZXR1cm5Ub1dvcmtEYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgdm9sdW50YXJ5UXVpdCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1sndm9sdW50YXJ5UXVpdCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRpc2NoYXJnZWQoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2Rpc2NoYXJnZWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBsYXN0RGF5V29ya2VkKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydsYXN0RGF5V29ya2VkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd2NFbXBOYW1lKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydlbXBsb3llck5hbWUnXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcEFkZHJlc3NMaW5lMSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snbGluZTEnXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcEFkZHJlc3NMaW5lMigpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snbGluZTInXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcENpdHkoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2NpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcFN0YXRlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydzdGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdzRW1wQW10RWFybmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydncm9zc0Vhcm5pbmcnXTtcclxuICB9XHJcblxyXG4gIGdldCB3Y0VtcFN0YXR1cygpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1sncmVhc29uU2VwYXJhdGlvbiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdjRW1wTG93UnR3RGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1sncmV0dXJuVG9Xb3JrRGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdjRW1wUnR3RGF0ZSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1sncmV0dXJuVG9Xb3JrRGF0ZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdjRW1wV29ya2VkRm9yTW9yZUVtcGxveWVyKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWyd3Y0VtcFdvcmtlZEZvck1vcmVFbXBsb3llciddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHdjRW1wSG91cnNXb3JrZWQoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2hvdXJzV29ya2VkSW5XZWVrJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd3NaaXBDb2RlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWyd6aXAnXTtcclxuICB9XHJcblxyXG4gIGdldCB3c1Bob25lTnVtYmVyKCl7XHJcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydlbXBsb3llclBob25lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgaGlkRW1wSWQoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2VtcGxveWVySWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBpc1BhcnRUaW1lRW1wbG95ZXIoKXtcclxuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2lzUGFydFRpbWVFbXBsb3llciddO1xyXG4gIH1cclxuICBzZXRFbXBsb3llcihlbXBsb3llciA6IEVtcGxveWVyU2VhcmNoUmVzdWx0KXtcclxuICAgIHRoaXMud2NFbXBOYW1lLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVyTmFtZSk7XHJcbiAgICB0aGlzLndjRW1wQWRkcmVzc0xpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XHJcbiAgICB0aGlzLndjRW1wQWRkcmVzc0xpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XHJcbiAgICB0aGlzLndjRW1wQ2l0eS5zZXRWYWx1ZShlbXBsb3llci5jaXR5KTtcclxuICAgIHRoaXMud2NFbXBTdGF0ZS5zZXRWYWx1ZShlbXBsb3llci5zdGF0ZS52YWx1ZSk7XHJcbiAgICB0aGlzLndzWmlwQ29kZS5zZXRWYWx1ZShlbXBsb3llci56aXApO1xyXG4gICAgdGhpcy5oaWRFbXBJZC5zZXRWYWx1ZShlbXBsb3llci5lbXBsb3llcklkKTtcclxuICB9XHJcblxyXG4gIGRhdGVJbnB1dChldmVudCl7XHJcbiAgICBsZXQgY3VycmVudFZhbHVlIDogc3RyaW5nID0gZXZlbnQuc3JjRWxlbWVudC52YWx1ZTtcclxuICAgIGlmKGN1cnJlbnRWYWx1ZSl7XHJcbiAgICAgICAgaWYoY3VycmVudFZhbHVlLmxlbmd0aCA9PSAyICYmIGN1cnJlbnRWYWx1ZS5jaGFyQXQoMikgIT0gJy8nKXtcclxuICAgICAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGN1cnJlbnRWYWx1ZS5sZW5ndGggPT0gNSAmJiBjdXJyZW50VmFsdWUuY2hhckF0KDUpICE9ICcvJyl7XHJcbiAgICAgICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCByZXF1aXJlZCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24ucmVxdWlyZWQnKTtcclxuICB9XHJcbiAgXHJcbiAgZ2V0IHppcExlbmd0aCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uemlwY29kZS5sZW5ndGgnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBPbmx5TnVtYmVycygpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uemlwY29kZS5vbmx5Lm51bWJlcnMnKTtcclxuICB9XHJcblxyXG4gIGdldCB6aXBJbnZhbGlkKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi56aXBjb2RlLmludmFsaWQnKTtcclxuICB9XHJcbn1cclxuIiwiXHJcbiAgPGZvcm0gW2Zvcm1Hcm91cF09XCJlbXBGb3JtXCIgI2VtcEZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj5cclxuICAgIDxpb24tZ3JpZD5cclxuICAgICAgPGlvbi1yb3cgKm5nSWYgPSBcIiFlbXBUb0VkaXQ/LmlzUGFydFRpbWVFbXBsb3llclwiPlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBmb3JtZ3JpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBOYW1lXCI+RW1wbG95ZXIgTmFtZTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgW2Zvcm1Db250cm9sXT1cIndjRW1wTmFtZVwiIChvbkZvdW5kKT1cInNldEVtcGxveWVyKCRldmVudClcIiBbZW1wVHlwZV09XCInUkVHJ1wiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBOYW1lJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wQWRkcmVzc0xpbmUxXCI+U3RyZWV0IEFkZHJlc3M8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndjRW1wQWRkcmVzc0xpbmUxXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid2NFbXBBZGRyZXNzTGluZTFcIiAvPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcEFkZHJlc3NMaW5lMScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcENpdHlcIj5DaXR5PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ3Y0VtcENpdHlcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ3Y0VtcENpdHlcIiAvPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcENpdHknIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aW9uLXJvdz5cclxuICAgICAgICAgICAgICA8aW9uLWNvbCBzdHlsZT1cInBhZGRpbmc6IDBweDtcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBTdGF0ZVwiPlN0YXRlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBpbnB1dElkPVwid2NFbXBTdGF0ZVwiIFtvcHRpb25zXT1cInN0YXRlc0NvbWJvXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndjRW1wU3RhdGVcIiBbYXV0b0Rpc3BsYXlGaXJzdF09XCJmYWxzZVwiIGlucHV0SWQ9XCJ3Y0VtcFN0YXRlXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcFN0YXRlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjFcIj48L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndzWmlwQ29kZVwiPlppcCBDb2RlPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwid3NaaXBDb2RlXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwid3NaaXBDb2RlXCIgbWlubGVuZ3RoPVwiNVwiIG1heGxlbmd0aD1cIjlcIi8+XHJcbiAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3c1ppcENvZGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICAgIGludmFsaWRMZW5ndGg6IHppcExlbmd0aCxcclxuICAgICAgICAgICAgICAgICAgICBpbnZhbGlkTnVtYmVyOiB6aXBPbmx5TnVtYmVyc1xyXG4gICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJsYXN0RGF5V29ya2VkXCI+TGFzdCBkYXkgd29ya2VkPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbaWNvbkFyaWFMYWJlbF09XCInTGFzdCBkYXkgd29ya2VkJ1wiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImxhc3REYXlXb3JrZWRcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwibGFzdERheVdvcmtlZFwiIFttaW5EYXRlXT1cInN1bkRhdGVcIiBbbWF4RGF0ZV09XCJzYXREYXRlXCIgW2RlZmF1bHREYXRlXT1cInN1bkRhdGVcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2xhc3REYXlXb3JrZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBkYXRlTm90QmV0d2VlbjogJ0RhdGUgc2hvdWxkIGJlIGJldHdlZW4gJyArIGR5bmFtaWNQYXJhbS5zdW5kYXlfZGF0ZSArICcgYW5kICcgKyBkeW5hbWljUGFyYW0uc2F0dXJkYXlfZGF0ZSArICcuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIGZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid3NQaG9uZU51bWJlclwiPlBob25lIE5vLjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtaW5wdXRNYXNrIGlucHV0SWQ9XCJ3c1Bob25lTnVtYmVyXCIgW2Zvcm1Db250cm9sXT1cIndzUGhvbmVOdW1iZXJcIiBtYXNrPVwiKDk5OSkgOTk5LTk5OTlcIiB1bm1hc2s9XCJ0cnVlXCI+PC9wLWlucHV0TWFzaz5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd3NQaG9uZU51bWJlcicgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid3NFbXBBbXRFYXJuZWRcIj5Ub3RhbCBHcm9zcyBFYXJuaW5nczwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cIid3ZWVrbGllcy52Mi5lbXBsb3ltZW50LnJ0dy5pbmZvLnBvcHVwLjEwMDAnIHwgdHJhbnNsYXRlIHwgdHJ1c3RIdG1sXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy10b3A6M3B4XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJ3c0VtcEFtdEVhcm5lZFwiIG1vZGU9XCJjdXJyZW5jeVwiIGN1cnJlbmN5PVwiVVNEXCIgbG9jYWxlPVwiZW4tVVNcIiBbZm9ybUNvbnRyb2xdPVwid3NFbXBBbXRFYXJuZWRcIiBtYXhsZW5ndGg9XCIxMFwiPjwvcC1pbnB1dE51bWJlcj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd3NFbXBBbXRFYXJuZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wSG91cnNXb3JrZWRcIj5Ib3VycyB3b3JrZWQ8L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJ3Y0VtcEhvdXJzV29ya2VkXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wSG91cnNXb3JrZWRcIiBtYXhsZW5ndGg9XCIxMFwiIHVzZUdyb3VwaW5nPVwiZmFsc2VcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wSG91cnNXb3JrZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wU3RhdHVzXCI+V2hhdCdzIHlvdXIgZW1wbG95bWVudCBzdGF0dXMgd2l0aCB0aGlzIGVtcGxveWVyPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBpbnB1dElkPVwid2NFbXBTdGF0dXNcIiBbb3B0aW9uc109XCJlbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIG9wdGlvblZhbHVlPVwidmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndjRW1wU3RhdHVzXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwid2NFbXBTdGF0dXMxXCIgPjwvYXBwLWRyb3Bkb3duPjxici8+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wU3RhdHVzJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwid2NFbXBTdGF0dXMudmFsdWUgPT0gJ0xXTE8nXCI+XHJcbiAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhhdmVSZXR1cm5Ub1dvcmtEYXRlXCI+RG8geW91IGtub3cgd2hlbiB5b3UncmUgcmV0dXJuaW5nIHRvIGZ1bGwtdGltZSB3b3JrPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInllc05vT3B0aW9uXCIgW2Zvcm1Db250cm9sXT1cImhhdmVSZXR1cm5Ub1dvcmtEYXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICBvcHRpb25WYWx1ZT1cInZhbHVlXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0naGF2ZVJldHVyblRvV29ya0RhdGUnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdMV0xPJyAmJiBoYXZlUmV0dXJuVG9Xb3JrRGF0ZS52YWx1ZSA9PSAnWSdcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBMb3dSdHdEYXRlXCI+V2hlbj88L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJkaXNwbGF5OiBmbGV4O1wiPlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwid2NFbXBMb3dSdHdEYXRlXCIgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndjRW1wTG93UnR3RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiIFtpY29uQXJpYUxhYmVsXT1cIidXaGVuPydcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiJ3dlZWtsaWVzLnYyLmVtcGxveW1lbnQucnR3LmluZm8ucG9wdXAuMjE1NScgfCB0cmFuc2xhdGUgfCB0cnVzdEh0bWxcIiBzdHlsZT1cInBhZGRpbmctbGVmdDogOHB4OyBwYWRkaW5nLXRvcDozcHhcIj48L2FwcC1vdmVybGF5LWluZm8+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wTG93UnR3RGF0ZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdSVFdGJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcFJ0d0RhdGVcIj5SZXR1cm4gdG8gd29yayBkYXRlPC9sYWJlbD5cclxuICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJ3Y0VtcFJ0d0RhdGVcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBSdHdEYXRlXCJcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBbaWNvbkFyaWFMYWJlbF09XCInUmV0dXJuIHRvIHdvcmsgZGF0ZSdcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wUnR3RGF0ZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiByZXF1aXJlZFxyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdEQ0ZJJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJkaXNjaGFyZ2VEZXRhaWxcIj57e1wiaW5kdWN0aW9uLmNvbmZpcm0uZW1wbG95bWVudC5yZWFzb24uc2VwYXJhdGlvbi5kaXNjaGFyZ2VcInx0cmFuc2xhdGV9fTwvbGFiZWw+IFxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwiZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbFwiIFtmb3JtQ29udHJvbF09XCJkaXNjaGFyZ2VkXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCIgYXBwZW5kVG89XCJib2R5XCJcclxuICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCIgaW5wdXRJZD1cImRpc2NoYXJnZWQxXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2Rpc2NoYXJnZWQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ3JlcXVpcmVkJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdWT0xRJ1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ2b2xRdWl0RGV0YWlsc1wiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlYXNvbi5zZXBhcmF0aW9uLnF1aXRcInx0cmFuc2xhdGV9fTwvbGFiZWw+IFxyXG4gICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwidm9sUXVpdFJlYXNvbk9wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwidm9sdW50YXJ5UXVpdFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIGlucHV0SWQ9XCJ2b2x1bnRhcnlRdWl0MVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd2b2x1bnRhcnlRdWl0JyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJoaWRFbXBJZFwiLz5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPGlvbi1yb3cgKm5nSWYgPSBcImVtcFRvRWRpdD8uaXNQYXJ0VGltZUVtcGxveWVyXCI+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tcGFkZGluZ1wiIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI2XCIgc2l6ZUxnPVwiNlwiIHNpemVYbD1cIjZcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLWZsdWlkIGZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8Yj57e3djRW1wTmFtZS52YWx1ZX19PC9iPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxzZWN0aW9uIGhpZGRlbj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wTmFtZVwiLz5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wQWRkcmVzc0xpbmUxXCIvPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBDaXR5XCIvPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbZm9ybUNvbnRyb2xdPVwid2NFbXBTdGF0ZVwiLz5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cIndzWmlwQ29kZVwiLz5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cIndzUGhvbmVOdW1iZXJcIi8+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImhpZGRlblwiIFtmb3JtQ29udHJvbF09XCJoaWRFbXBJZFwiLz5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW2Zvcm1Db250cm9sXT1cImlzUGFydFRpbWVFbXBsb3llclwiLz5cclxuICAgICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid2NFbXBTdGF0dXNcIj5XaGF0J3MgeW91ciBlbXBsb3ltZW50IHN0YXR1cyB3aXRoIHRoaXMgZW1wbG95ZXI/PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gaW5wdXRJZD1cIndjRW1wU3RhdHVzXCIgW29wdGlvbnNdPVwiZW1wbG95bWVudFN0YXR1c09wdGlvbnNBbGxcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndjRW1wU3RhdHVzXCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwid2NFbXBTdGF0dXMyXCI+PC9hcHAtZHJvcGRvd24+PGJyLz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3Y0VtcFN0YXR1cycgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJ3Y0VtcFN0YXR1cy52YWx1ZSA9PSAnTFdMTydcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYXZlUmV0dXJuVG9Xb3JrRGF0ZVwiPkRvIHlvdSBrbm93IHdoZW4geW91J3JlIHJldHVybmluZyB0byBmdWxsLXRpbWUgd29yaz88L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cInllc05vT3B0aW9uXCIgW2Zvcm1Db250cm9sXT1cImhhdmVSZXR1cm5Ub1dvcmtEYXRlXCIgb3B0aW9uTGFiZWw9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgICAgIG9wdGlvblZhbHVlPVwidmFsdWVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hhdmVSZXR1cm5Ub1dvcmtEYXRlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdMV0xPJyAmJiBoYXZlUmV0dXJuVG9Xb3JrRGF0ZS52YWx1ZSA9PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcExvd1J0d0RhdGVcIj5XaGVuPzwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwiZGlzcGxheTogZmxleDtcIj5cclxuICAgICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwid2NFbXBMb3dSdHdEYXRlXCIgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndjRW1wTG93UnR3RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwibW0vZGQveXl5eVwiIFtzaG93T25Gb2N1c109XCJmYWxzZVwiIChvbklucHV0KT1cImRhdGVJbnB1dCgkZXZlbnQpXCIgW2ljb25BcmlhTGFiZWxdPVwiJ1doZW4/J1wiPjwvcC1jYWxlbmRhcj5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cIid3ZWVrbGllcy52Mi5lbXBsb3ltZW50LnJ0dy5pbmZvLnBvcHVwLjIwNTAnIHwgdHJhbnNsYXRlIHwgdHJ1c3RIdG1sXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy10b3A6M3B4XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBMb3dSdHdEYXRlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdSVFdGJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndjRW1wUnR3RGF0ZVwiPlJldHVybiB0byB3b3JrIGRhdGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwid2NFbXBSdHdEYXRlXCIgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndjRW1wUnR3RGF0ZVwiXHJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIm1tL2RkL3l5eXlcIiBbc2hvd09uRm9jdXNdPVwiZmFsc2VcIiAob25JbnB1dCk9XCJkYXRlSW5wdXQoJGV2ZW50KVwiIG9wdGlvblZhbHVlPVwidmFsdWVcIiBbaWNvbkFyaWFMYWJlbF09XCInUmV0dXJuIHRvIHdvcmsgZGF0ZSdcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBSdHdEYXRlJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdEQ0ZJJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImRpc2NoYXJnZURldGFpbFwiPnt7XCJpbmR1Y3Rpb24uY29uZmlybS5lbXBsb3ltZW50LnJlYXNvbi5zZXBhcmF0aW9uLmRpc2NoYXJnZVwifHRyYW5zbGF0ZX19PC9sYWJlbD4gXHJcbiAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGxcIiBbZm9ybUNvbnRyb2xdPVwiZGlzY2hhcmdlZFwiIG9wdGlvbkxhYmVsPVwidGV4dFwiIGFwcGVuZFRvPVwiYm9keVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCIgaW5wdXRJZD1cImRpc2NoYXJnZWQyXCI+PC9hcHAtZHJvcGRvd24+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZGlzY2hhcmdlZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIndjRW1wU3RhdHVzLnZhbHVlID09ICdWT0xRJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInZvbFF1aXREZXRhaWxzXCI+e3tcImluZHVjdGlvbi5jb25maXJtLmVtcGxveW1lbnQucmVhc29uLnNlcGFyYXRpb24ucXVpdFwifHRyYW5zbGF0ZX19PC9sYWJlbD4gXHJcbiAgICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cInZvbFF1aXRSZWFzb25PcHRpb25zQWxsXCIgW2Zvcm1Db250cm9sXT1cInZvbHVudGFyeVF1aXRcIiBvcHRpb25MYWJlbD1cInRleHRcIiBhcHBlbmRUbz1cImJvZHlcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdXRvRGlzcGxheUZpcnN0XT1cImZhbHNlXCIgb3B0aW9uVmFsdWU9XCJ2YWx1ZVwiIGlucHV0SWQ9XCJ2b2x1bnRhcnlRdWl0MlwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3ZvbHVudGFyeVF1aXQnIFtmb3JtXT1cImVtcEZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibGFzdERheVdvcmtlZFwiPkxhc3QgZGF5IHdvcmtlZDwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbaWNvbkFyaWFMYWJlbF09XCInTGFzdCBkYXkgd29ya2VkJ1wiIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cImxhc3REYXlXb3JrZWRcIiBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwibGFzdERheVdvcmtlZFwiIFttaW5EYXRlXT1cInN1bkRhdGVcIiBbbWF4RGF0ZV09XCJzYXREYXRlXCIgW2RlZmF1bHREYXRlXT1cInN1bkRhdGVcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbGFzdERheVdvcmtlZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgICBkYXRlTm90QmV0d2VlbjogJ0RhdGUgc2hvdWxkIGJlIGJldHdlZW4gJyArIGR5bmFtaWNQYXJhbS5zdW5kYXlfZGF0ZSArICcgYW5kICcgKyBkeW5hbWljUGFyYW0uc2F0dXJkYXlfZGF0ZSArICcuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndzRW1wQW10RWFybmVkXCI+VG90YWwgR3Jvc3MgRWFybmluZ3M8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1vdmVybGF5LWluZm8gW292ZXJsYXlUZXh0XT1cIid3ZWVrbGllcy52Mi5lbXBsb3ltZW50LnJ0dy5pbmZvLnBvcHVwLjEwMDAnIHwgdHJhbnNsYXRlIHwgdHJ1c3RIdG1sXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDhweDsgcGFkZGluZy10b3A6M3B4XCI+PC9hcHAtb3ZlcmxheS1pbmZvPlxyXG4gICAgICAgICAgICAgICAgPHAtaW5wdXROdW1iZXIgaW5wdXRJZD1cIndzRW1wQW10RWFybmVkXCIgbW9kZT1cImN1cnJlbmN5XCIgY3VycmVuY3k9XCJVU0RcIiBsb2NhbGU9XCJlbi1VU1wiIFtmb3JtQ29udHJvbF09XCJ3c0VtcEFtdEVhcm5lZFwiIG1heGxlbmd0aD1cIjEwXCI+PC9wLWlucHV0TnVtYmVyPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dzRW1wQW10RWFybmVkJyBbZm9ybV09XCJlbXBGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogcmVxdWlyZWRcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcEhvdXJzV29ya2VkXCI+SG91cnMgd29ya2VkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLWlucHV0TnVtYmVyIGlucHV0SWQ9XCJ3Y0VtcEhvdXJzV29ya2VkXCIgW2Zvcm1Db250cm9sXT1cIndjRW1wSG91cnNXb3JrZWRcIiBtYXhsZW5ndGg9XCIxMFwiIHVzZUdyb3VwaW5nPVwiZmFsc2VcIj48L3AtaW5wdXROdW1iZXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nd2NFbXBIb3Vyc1dvcmtlZCcgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6IHJlcXVpcmVkXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIiB0eXBlPVwicmVzZXRcIj5DbGVhcjwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiAoY2xpY2spPVwiYWRkKClcIiB0eXBlPVwic3VibWl0XCI+QWRkPC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9pb24tZ3JpZD5cclxuICA8L2Zvcm0+Il19
1040
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WeeklyCertEmployerComponentQe, { className: "WeeklyCertEmployerComponentQe", filePath: "lib\\components\\weekly-cert-employer\\weekly-cert-employer.component.ts", lineNumber: 17 }); })();
1041
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2Vla2x5LWNlcnQtZW1wbG95ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS1jZXJ0LWVtcGxveWVyL3dlZWtseS1jZXJ0LWVtcGxveWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy93ZWVrbHktY2VydC1lbXBsb3llci93ZWVrbHktY2VydC1lbXBsb3llci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUErQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdkgsT0FBTyxFQUFnRCxVQUFVLEVBQWUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2RyxPQUFPLEVBQUUsaUJBQWlCLEVBQXdCLE1BQU0seUNBQXlDLENBQUM7QUFDbEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBR3BFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lDTTdELDhCQUFrQyxnQkFBQTtJQUNOLHVCQUFPO0lBQUEsaUJBQVE7SUFBQSxxQkFBSSx1QkFBQSxvQkFBQTtJQU03QyxpQkFBTTs7OztJQUxpQyxlQUEwQjtJQUExQiwrQ0FBMEIsb0NBQUEsMkJBQUE7SUFFcEQsZUFBb0I7SUFBcEIseUJBQW9CO0lBQUMsMkNBQXNCLGFBQUEsc0NBQUE7Ozs7SUFxQjFELDJCQUFvQixj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U0FBUzsyQkFDRSw2QkFBNkI7d0dBT2hDLGdCQUFnQjtrQkFEdEIsU0FBUzttQkFBQyxrQkFBa0IsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFJaEQsT0FBTztrQkFETixNQUFNO1lBSVAsT0FBTztrQkFETixNQUFNO1lBSUEsU0FBUztrQkFEZixLQUFLO1lBSUMsWUFBWTtrQkFEbEIsS0FBSzs7a0ZBZEssNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCwgU2ltcGxlQ2hhbmdlLCBTaW1wbGVDaGFuZ2VzLCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFVudHlwZWRGb3JtQnVpbGRlciwgVW50eXBlZEZvcm1Hcm91cCwgTmdGb3JtLCBWYWxpZGF0b3JzLCBWYWxpZGF0b3JGbiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IENob2ljZXNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9BZGRyZXNzQ29tcG9uZW50TW9kZWwnO1xuaW1wb3J0IHsgRW1wbG95ZXJJbmZvTW9kZWwsIEVtcGxveWVyU2VhcmNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vbW9kZWxzL0VtcGxveWVyRGV0YWlsU2VhcmNoUmVzdWx0JztcbmltcG9ydCB7IENvbWJvT3B0aW9uIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvQ29tYm9Nb2RlbCc7XG5pbXBvcnQgeyBDbGFpbVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbXMvY2xhaW1zLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBBcHBWYWxpZGF0b3JzIH0gZnJvbSAnLi4vLi4vdmFsaWRhdGlvbnMvQXBwVmFsaWRhdG9ycyc7XG5pbXBvcnQgeyBCYXNlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL0Jhc2VQYWdlJztcbmltcG9ydCB7IFdhZ2VDYWxjdWxhdG9yTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvV2FnZUNhbGN1bGF0b3JNb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC13ZWVrbHktY2VydC1lbXBsb3llci1xZScsXG4gIHRlbXBsYXRlVXJsOiAnLi93ZWVrbHktY2VydC1lbXBsb3llci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3dlZWtseS1jZXJ0LWVtcGxveWVyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIFdlZWtseUNlcnRFbXBsb3llckNvbXBvbmVudFFlIGV4dGVuZHMgQmFzZVBhZ2UgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ2VtcEZvcm1EaXJlY3RpdmUnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgcHVibGljIGVtcEZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcblxuICBAT3V0cHV0KClcbiAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgQE91dHB1dCgpXG4gIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBlbXBUb0VkaXQgPSBuZXcgRW1wbG95ZXJJbmZvTW9kZWwoKTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZHluYW1pY1BhcmFtOiBhbnk7XG5cbiAgcHVibGljIHllc05vT3B0aW9uID0gQ29tYm9PcHRpb24uWUVTX05PO1xuXG4gIHB1YmxpYyBlbXBGb3JtOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc3RhdGVzQ29tYm86IGFueSA9IFtdO1xuICBwdWJsaWMgY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xuICBwdWJsaWMgc2F0RGF0ZTogRGF0ZTtcbiAgcHVibGljIHN1bkRhdGU6IERhdGU7XG4gIHB1YmxpYyBtYXhTdGFydERhdGU6IERhdGU7XG5cbiAgcHVibGljIGlzRWRpdE1vZGU6IEJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIHdhZ2VEaWFsb2c6IGJvb2xlYW47XG5cbiAgcHVibGljIGRpc2NoYXJnZVJlYXNvbk9wdGlvbnNBbGw6IENob2ljZXNNb2RlbFtdID0gW107XG4gIHB1YmxpYyB2b2xRdWl0UmVhc29uT3B0aW9uc0FsbDogQ2hvaWNlc01vZGVsW10gPSBbXTtcbiAgcHVibGljIGVtcGxveW1lbnRTdGF0dXNPcHRpb25zQWxsOiBDaG9pY2VzTW9kZWxbXSA9IFtdO1xuICB3YWdlQ2FsY3VsYXRvckRhdGEgOiBXYWdlQ2FsY3VsYXRvck1vZGVsID0gbmV3IFdhZ2VDYWxjdWxhdG9yTW9kZWwoKTtcblxuICB1c1ppcGNvZGVWYWxpZGF0aW9uczogVmFsaWRhdG9yRm5bXSA9IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLmlzVmFsaWRaaXBDb2RlXTtcbiAgY2FuYWRhWmlwY29kZVZhbGlkYXRpb25zOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMuaXNWYWxpZENhbmFkaWFuWmlwQ29kZV07XG5cbiAgY29uc3RydWN0b3IocHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgZm9ybUJ1aWxkZXI6IFVudHlwZWRGb3JtQnVpbGRlciwgcHVibGljIGNzOiBDbGFpbVNlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5sb2FkTWFzdGVyRGF0YSgpO1xuICAgIHRoaXMuc2F0RGF0ZSA9IHRoaXMudXRpbC5nZXRFbnRlcmVkRGF0ZUZyb21TdHJpbmcodGhpcy5keW5hbWljUGFyYW0uc2F0dXJkYXlfZGF0ZSk7XG4gICAgdGhpcy5zdW5EYXRlID0gdGhpcy51dGlsLmdldEVudGVyZWREYXRlRnJvbVN0cmluZyh0aGlzLmR5bmFtaWNQYXJhbS5zdW5kYXlfZGF0ZSk7XG4gICAgdGhpcy5pbml0aWxpemVFbXBsb3llckluZm9yRm9ybSgpO1xuICAgIHRoaXMuaXNFZGl0TW9kZSA9ICEhdGhpcy5lbXBUb0VkaXQ7XG4gICAgdGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcbiAgICAgIGlmKHZhbCl7XG4gICAgICAgIGlmKHZhbCA+IDE2OCl7XG4gICAgICAgICAgdGhpcy53Y0VtcEhvdXJzV29ya2VkLnNldEVycm9ycyh7IGhvdXJzUGVyV2Vla0V4Y2VlZGVkOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGxvYWRNYXN0ZXJEYXRhKCkge1xuICAgIHRoaXMuY3MubG9hZE1hc3RlckRhdGEoKTtcblxuICAgIHRoaXMuY3MuZ2V0UmVhc29uU2VwYXJhdGlvbigpLnN1YnNjcmliZShcbiAgICAgIHZhbHVlID0+IHtcbiAgICAgICAgdmFsdWUuZm9yRWFjaChhcnIgPT4gdGhpcy5lbXBsb3ltZW50U3RhdHVzT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNzLmdldERpc2NoYXJnZVJlYXNvbnMoKS5zdWJzY3JpYmUoXG4gICAgICB2YWx1ZSA9PiB7XG4gICAgICAgIHZhbHVlLmZvckVhY2goYXJyID0+IHRoaXMuZGlzY2hhcmdlUmVhc29uT3B0aW9uc0FsbC5wdXNoKGFycikpO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmNzLmdldFF1aXRSZWFzb25zKCkuc3Vic2NyaWJlKFxuICAgICAgdmFsdWUgPT4ge1xuICAgICAgICB2YWx1ZS5mb3JFYWNoKGFyciA9PiB0aGlzLnZvbFF1aXRSZWFzb25PcHRpb25zQWxsLnB1c2goYXJyKSk7XG4gICAgICB9XG4gICAgKTtcbiAgfVxuXG4gIGFkZCgpIHtcbiAgICAvL3RoaXMuc2V0VmFsaWRhdGlvbkZvckhvdXJzQW5kV2FnZXNPbkFjdGl2aXR5VHlwZSgpO1xuICAgIGlmICh0aGlzLmVtcEZvcm0udmFsaWQpIHtcbiAgICAgIHRoaXMuZW1wRm9ybS52YWx1ZS5pc1BhcnRUaW1lRW1wbG95ZXJFZGl0ZWQgPSB0cnVlO1xuICAgICAgdGhpcy5zdWNjZXNzLmVtaXQodGhpcy5lbXBGb3JtLnZhbHVlKTtcbiAgICAgIHRoaXMuaXNFZGl0TW9kZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHNhdmUoKSB7XG4gICAgLy90aGlzLnNldFZhbGlkYXRpb25Gb3JIb3Vyc0FuZFdhZ2VzT25BY3Rpdml0eVR5cGUoKTtcbiAgICBpZiAodGhpcy5lbXBGb3JtLnZhbGlkKSB7XG4gICAgICB0aGlzLmVtcEZvcm0udmFsdWUuaXNQYXJ0VGltZUVtcGxveWVyRWRpdGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3VjY2Vzcy5lbWl0KHRoaXMuZW1wRm9ybS52YWx1ZSk7XG4gICAgICB0aGlzLmluaXRpbGl6ZUVtcGxveWVySW5mb3JGb3JtKCk7XG4gICAgICB0aGlzLmlzRWRpdE1vZGUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XG4gIH1cblxuICBpbml0aWxpemVFbXBsb3llckluZm9yRm9ybSgpIHtcbiAgICBsZXQgZW1wSW5mbyA9IHRoaXMuZW1wVG9FZGl0ID8gdGhpcy5lbXBUb0VkaXQgOiBuZXcgRW1wbG95ZXJJbmZvTW9kZWwoKTtcbiAgICB0aGlzLmVtcEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcbiAgICAgICdsYXN0RGF5V29ya2VkJzogW2VtcEluZm8ubGFzdERheVdvcmtlZCAhPSBudWxsID8gdGhpcy5nZXREYXRlKGVtcEluZm8ubGFzdERheVdvcmtlZCkgOiAnJywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLmlzQmV0d2VlbkRhdGUodGhpcy5zdW5EYXRlLCB0aGlzLnNhdERhdGUpXSldLFxuICAgICAgJ2VtcGxveWVyTmFtZSc6IFtlbXBJbmZvLmVtcGxveWVyTmFtZSwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5wYXR0ZXJuKC9eW0EtWmEtejAtOVxcc1xcLiwmJygpIy1dKyQvKV1dLFxuICAgICAgJ2xpbmUxJzogW2VtcEluZm8ubGluZTEsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLnBhdHRlcm4oL15bMC05QS1aYS16XFxzLCdcXC1cXC4jXFwvXSskLyldXSxcbiAgICAgICdsaW5lMic6IFtlbXBJbmZvLmxpbmUyXSxcbiAgICAgICdjaXR5JzogW2VtcEluZm8uY2l0eSwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLFZhbGlkYXRvcnMucGF0dGVybigvXig/IS0pW0EtWmEteiAtXSokLyldKV0sXG4gICAgICAnc3RhdGUnOiBbZW1wSW5mby5zdGF0ZSAhPSB1bmRlZmluZWQgPyBlbXBJbmZvLnN0YXRlIDogdGhpcy51dGlsLmdldFN0YXRlKCksIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgICAgJ2NvdW50cnknOiBbZW1wSW5mby5jb3VudHJ5XSxcbiAgICAgICdncm9zc0Vhcm5pbmcnOiBbZW1wSW5mby5ncm9zc0Vhcm5pbmcsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgICdyZWFzb25TZXBhcmF0aW9uJzogW2VtcEluZm8ucmVhc29uU2VwYXJhdGlvbiAhPSB1bmRlZmluZWQgPyBlbXBJbmZvLnJlYXNvblNlcGFyYXRpb24gOiAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAnaGF2ZVJldHVyblRvV29ya0RhdGUnOiBbZW1wSW5mby5oYXZlUmV0dXJuVG9Xb3JrRGF0ZV0sXG4gICAgICAncmV0dXJuVG9Xb3JrRGF0ZSc6IFtlbXBJbmZvLnJldHVyblRvV29ya0RhdGVdLFxuICAgICAgJ3ZvbHVudGFyeVF1aXQnOiBbZW1wSW5mby52b2x1bnRhcnlRdWl0XSxcbiAgICAgICdkaXNjaGFyZ2VkJzogW2VtcEluZm8uZGlzY2hhcmdlZF0sXG4gICAgICAnaG91cnNXb3JrZWRJbldlZWsnOiBbZW1wSW5mby5ob3Vyc1dvcmtlZEluV2VlaywgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkXSldLFxuICAgICAgJ3ppcCc6IFtlbXBJbmZvLnppcCAhPSB1bmRlZmluZWQgPyBlbXBJbmZvLnppcCA6ICcnLCBWYWxpZGF0b3JzLmNvbXBvc2UoW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMuaXNWYWxpZFppcENvZGVdKV0sXG4gICAgICAnZW1wbG95ZXJQaG9uZSc6IFtlbXBJbmZvLmVtcGxveWVyUGhvbmUgIT0gdW5kZWZpbmVkID8gZW1wSW5mby5lbXBsb3llclBob25lIDogJycsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZF0pXSxcbiAgICAgICdlbXBsb3llcklkJzogW2VtcEluZm8uZW1wbG95ZXJJZF0sXG4gICAgICAndGVtcFdjRW1wbG95ZXJJZCc6IFtlbXBJbmZvLnRlbXBXY0VtcGxveWVySWQgPyBlbXBJbmZvLnRlbXBXY0VtcGxveWVySWQgOiBuZXcgRGF0ZSgpLmdldFRpbWUoKV0sXG4gICAgICAncG90ZW50aWFsSXNzdWVJZCc6IFtlbXBJbmZvLnBvdGVudGlhbElzc3VlSWQgPyBlbXBJbmZvLnBvdGVudGlhbElzc3VlSWQgOiBudWxsXSxcbiAgICAgICdpc1BhcnRUaW1lRW1wbG95ZXInOiBbZW1wSW5mby5pc1BhcnRUaW1lRW1wbG95ZXIgPyBlbXBJbmZvLmlzUGFydFRpbWVFbXBsb3llciA6IG51bGxdLFxuICAgICAgJ2pvYlRpdGxlJzogW2VtcEluZm8uam9iVGl0bGUsIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDUwKV0sXG4gICAgICAnc3RhcnREYXlXb3JrZWQnOiBbZW1wSW5mby5zdGFydERheVdvcmtlZF1cbiAgICB9KTtcblxuICAgIHRoaXMubGFzdERheVdvcmtlZC52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICBpZiAodmFsKSB7XG4gICAgICAgIHRoaXMubWF4U3RhcnREYXRlID0gbmV3IERhdGUodmFsKTtcbiAgICAgICAgaWYgKHRoaXMuc3RhcnREYXlXb3JrZWQudmFsdWUpIHtcbiAgICAgICAgICBsZXQgc3RhcnREYXRlID0gbmV3IERhdGUodGhpcy5zdGFydERheVdvcmtlZC52YWx1ZSk7XG4gICAgICAgICAgaWYgKHN0YXJ0RGF0ZSA+IHRoaXMubWF4U3RhcnREYXRlKSB7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0RGF5V29ya2VkLnBhdGNoVmFsdWUobnVsbCk7XG4gICAgICAgICAgICB0aGlzLnN0YXJ0RGF5V29ya2VkLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuXG4gICAgdGhpcy53Y0VtcFN0YXR1cy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbCA9PiB7XG4gICAgICB0aGlzLnNldFZhbGlkYXRpb25CYXNlZE9uRW1wbG95bWVudFN0YXR1cyh2YWwpO1xuICAgIH0pO1xuXG4gICAgaWYgKGVtcEluZm8ucmVhc29uU2VwYXJhdGlvbikge1xuICAgICAgdGhpcy5zZXRWYWxpZGF0aW9uQmFzZWRPbkVtcGxveW1lbnRTdGF0dXMoZW1wSW5mby5yZWFzb25TZXBhcmF0aW9uKTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGFzdERheVdvcmtlZC52YWx1ZSkge1xuICAgICAgdGhpcy5tYXhTdGFydERhdGUgPSBuZXcgRGF0ZSh0aGlzLmxhc3REYXlXb3JrZWQudmFsdWUpO1xuICAgIH1cblxuICAgIGlmKHRoaXMuaXNNRSgpKXsgIFxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMud2NFbXBDb3VudHJ5KTtcbiAgICAgIHRoaXMuc2V0WmlwQ29kZVZhbGlkYXRpb25CYXNlZE9uQ291bnRyeSgpO1xuICAgICAgdGhpcy53Y0VtcENvdW50cnkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjb3VudHJ5ID0+IHtcbiAgICAgICAgdGhpcy5maWx0ZXJTdGF0ZShjb3VudHJ5KVxuICAgICAgfSk7XG4gICAgICB0aGlzLndjRW1wQ291bnRyeS5zZXRWYWx1ZShcIlVTXCIpO1xuICAgIH0gZWxzZXtcbiAgICAgIHRoaXMuc3RhdGVzQ29tYm8gPSBDb21ib09wdGlvbi5VU19TVEFURVM7XG4gICAgfSAgICBcbiAgfVxuXG4gIHNldFppcENvZGVWYWxpZGF0aW9uQmFzZWRPbkNvdW50cnkoKXtcbiAgICB0aGlzLndjRW1wQ291bnRyeS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKGMgPT4ge1xuICAgICAgaWYoYyA9PSAnVVMnKXtcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndzWmlwQ29kZSk7XG4gICAgICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMud3NaaXBDb2RlLCB0aGlzLnVzWmlwY29kZVZhbGlkYXRpb25zKTtcbiAgICAgIH0gZWxzZSBpZihjID09ICdDQScpe1xuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud3NaaXBDb2RlKTtcbiAgICAgICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy53c1ppcENvZGUsIHRoaXMuY2FuYWRhWmlwY29kZVZhbGlkYXRpb25zKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgZmlsdGVyU3RhdGUoZXZlbnQpIHtcbiAgICBjb25zb2xlLmxvZyhldmVudCwgdGhpcy53Y0VtcENvdW50cnk/LnZhbHVlKTtcbiAgICBsZXQgY2hvaWNlOiBhbnk7XG4gICAgaWYgKHRoaXMud2NFbXBDb3VudHJ5Py52YWx1ZSA9PT0gJ1VTJykge1xuICAgICAgY29uc3QgY3VycmVudFN0YXRlID0gQ29tYm9PcHRpb24uVVNfU1RBVEVTLmZpbmQoc3RhdGUgPT4gc3RhdGUudmFsdWUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXG4gICAgICBjaG9pY2UgPSBbY3VycmVudFN0YXRlLCAuLi5Db21ib09wdGlvbi5VU19TVEFURVMuZmlsdGVyKHN0YXRlID0+IHN0YXRlLnZhbHVlICE9IHRoaXMudXRpbC5nZXRTdGF0ZSgpKV07XG4gICAgfVxuXG4gICAgaWYgKHRoaXMud2NFbXBDb3VudHJ5Py52YWx1ZSA9PT0gJ0NBJykge1xuICAgICAgY2hvaWNlID0gQ29tYm9PcHRpb24uQ0FfU1RBVEVTO1xuICAgIH1cblxuICAgIHRoaXMuc3RhdGVzQ29tYm8gPSBjaG9pY2U7XG4gIH1cblxuICB1cGRhdGVHcm9zc0Vhcm5pbmdzKGdyb3NzRWFybmluZ3M6IG51bWJlcikge1xuICAgIGlmKGdyb3NzRWFybmluZ3MgPT09IDApe1xuICAgICAgdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydncm9zc0Vhcm5pbmcnXS5yZXNldCgpO1xuICAgIH0gZWxzZXtcbiAgICAgIHRoaXMuZW1wRm9ybS5wYXRjaFZhbHVlKHsgZ3Jvc3NFYXJuaW5nOiBncm9zc0Vhcm5pbmdzIH0pO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVRvdGFsSG91cnModG90YWxIb3VyczogbnVtYmVyKSB7XG4gICAgaWYodG90YWxIb3VycyA9PT0gMCl7XG4gICAgICB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2hvdXJzV29ya2VkSW5XZWVrJ10ucmVzZXQoKTtcbiAgICB9IGVsc2V7XG4gICAgdGhpcy5lbXBGb3JtLnBhdGNoVmFsdWUoe2hvdXJzV29ya2VkSW5XZWVrIDogdG90YWxIb3Vyc30pO1xuICAgIH1cbiAgfVxuXG4gIGdldCBoYXZlUmV0dXJuVG9Xb3JrRGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydoYXZlUmV0dXJuVG9Xb3JrRGF0ZSddO1xuICB9XG5cbiAgZ2V0IHZvbHVudGFyeVF1aXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1sndm9sdW50YXJ5UXVpdCddO1xuICB9XG5cbiAgZ2V0IGRpc2NoYXJnZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snZGlzY2hhcmdlZCddO1xuICB9XG5cbiAgZ2V0IGxhc3REYXlXb3JrZWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snbGFzdERheVdvcmtlZCddO1xuICB9XG5cbiAgZ2V0IHdjRW1wTmFtZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydlbXBsb3llck5hbWUnXTtcbiAgfVxuXG4gIGdldCB3Y0VtcEFkZHJlc3NMaW5lMSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydsaW5lMSddO1xuICB9XG5cbiAgZ2V0IHdjRW1wQWRkcmVzc0xpbmUyKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2xpbmUyJ107XG4gIH1cblxuICBnZXQgd2NFbXBDaXR5KCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2NpdHknXTtcbiAgfVxuXG4gIGdldCB3Y0VtcFN0YXRlKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3N0YXRlJ107XG4gIH1cblxuICBnZXQgd2NFbXBDb3VudHJ5KCl7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snY291bnRyeSddO1xuICB9XG5cbiAgZ2V0IHdzRW1wQW10RWFybmVkKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2dyb3NzRWFybmluZyddO1xuICB9XG5cbiAgZ2V0IHdjRW1wU3RhdHVzKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3JlYXNvblNlcGFyYXRpb24nXTtcbiAgfVxuXG4gIGdldCB3Y0VtcExvd1J0d0RhdGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1sncmV0dXJuVG9Xb3JrRGF0ZSddO1xuICB9XG5cbiAgZ2V0IHdjRW1wUnR3RGF0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydyZXR1cm5Ub1dvcmtEYXRlJ107XG4gIH1cblxuICBnZXQgd2NFbXBXb3JrZWRGb3JNb3JlRW1wbG95ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snd2NFbXBXb3JrZWRGb3JNb3JlRW1wbG95ZXInXTtcbiAgfVxuXG4gIGdldCB3Y0VtcEhvdXJzV29ya2VkKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2hvdXJzV29ya2VkSW5XZWVrJ107XG4gIH1cblxuICBnZXQgd3NaaXBDb2RlKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ3ppcCddO1xuICB9XG5cbiAgZ2V0IHdzUGhvbmVOdW1iZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snZW1wbG95ZXJQaG9uZSddO1xuICB9XG5cbiAgZ2V0IGhpZEVtcElkKCkge1xuICAgIHJldHVybiB0aGlzLmVtcEZvcm0uY29udHJvbHNbJ2VtcGxveWVySWQnXTtcbiAgfVxuXG4gIGdldCBpc1BhcnRUaW1lRW1wbG95ZXIoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snaXNQYXJ0VGltZUVtcGxveWVyJ107XG4gIH1cblxuICBnZXQgam9iVGl0bGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuZW1wRm9ybS5jb250cm9sc1snam9iVGl0bGUnXTtcbiAgfVxuXG4gIGdldCBzdGFydERheVdvcmtlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5lbXBGb3JtLmNvbnRyb2xzWydzdGFydERheVdvcmtlZCddO1xuICB9XG5cbiAgc2V0VmFsaWRhdGlvbkZvckhvdXJzQW5kV2FnZXNPbkFjdGl2aXR5VHlwZSgpe1xuICAgIGlmKHRoaXMuZW1wVG9FZGl0Py5pc1BhcnRUaW1lRW1wbG95ZXIpe1xuICAgICAgaWYoKHRoaXMud3NFbXBBbXRFYXJuZWQudmFsdWUgPT09IDAuMCB8fCB0aGlzLndzRW1wQW10RWFybmVkLnZhbHVlID09PSAwKVxuICAgICAgICAmJiAodGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID09PSAwLjAgfHwgdGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID09PSAwKVxuICAgICAgICAmJiB0aGlzLndjRW1wU3RhdHVzLnZhbHVlID09PSAnV1JQVCcpe1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53c0VtcEFtdEVhcm5lZCk7XG4gICAgICAgICAgdGhpcy53Y0VtcFN0YXR1cy5zZXRFcnJvcnMoeydjaGFuZ2VFbXBTdGF0dXMnIDogdHJ1ZX0pO1xuICAgICAgfSBlbHNlIGlmKCh0aGlzLndzRW1wQW10RWFybmVkLnZhbHVlID09PSAwLjAgfHwgdGhpcy53c0VtcEFtdEVhcm5lZC52YWx1ZSA9PT0gMClcbiAgICAgICAgJiYgKHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA+IDAuMCB8fCB0aGlzLndjRW1wSG91cnNXb3JrZWQudmFsdWUgPiAwKVxuICAgICAgICAmJiB0aGlzLndjRW1wU3RhdHVzLnZhbHVlID09PSAnV1JQVCcpe1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53Y0VtcFN0YXR1cyk7XG4gICAgICAgICAgdGhpcy53c0VtcEFtdEVhcm5lZC5zZXRFcnJvcnMoeydlYXJuaW5nc05vdFplcm8nOiB0cnVlfSk7XG4gICAgICB9ZWxzZSBpZigodGhpcy53c0VtcEFtdEVhcm5lZC52YWx1ZSA9PT0gMC4wIHx8IHRoaXMud3NFbXBBbXRFYXJuZWQudmFsdWUgPT09IDApXG4gICAgICAgICYmICh0aGlzLndjRW1wSG91cnNXb3JrZWQudmFsdWUgPiAwLjAgfHwgdGhpcy53Y0VtcEhvdXJzV29ya2VkLnZhbHVlID4gMCB8fFxuICAgICAgICAgIHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA9PT0gMC4wIHx8IHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA9PT0gMClcbiAgICAgICAgJiYgdGhpcy53Y0VtcFN0YXR1cy52YWx1ZSAhPT0gJ1dSUFQnKXtcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud2NFbXBTdGF0dXMpO1xuICAgICAgICAgIHRoaXMud3NFbXBBbXRFYXJuZWQuc2V0RXJyb3JzKHsnZWFybmluZ3NOb3RaZXJvJzogdHJ1ZX0pO1xuICAgICAgfVxuICAgIH0gZWxzZXtcbiAgICAgIGlmKCh0aGlzLndzRW1wQW10RWFybmVkLnZhbHVlID09PSAwLjAgfHwgdGhpcy53c0VtcEFtdEVhcm5lZC52YWx1ZSA9PT0gMClcbiAgICAgICAgJiYgKHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA9PT0gMC4wIHx8IHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA9PT0gMClcbiAgICAgICAgJiYgdGhpcy53Y0VtcFN0YXR1cy52YWx1ZSA9PT0gJ1dSUFQnKXtcbiAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud3NFbXBBbXRFYXJuZWQpO1xuICAgICAgICAgIHRoaXMud2NFbXBTdGF0dXMuc2V0RXJyb3JzKHsnY2hhbmdlRW1wU3RhdHVzJyA6IHRydWV9KTtcbiAgICAgIH1cbiAgICAgIGlmKCh0aGlzLndzRW1wQW10RWFybmVkLnZhbHVlID09PSAwLjAgfHwgdGhpcy53c0VtcEFtdEVhcm5lZC52YWx1ZSA9PT0gMClcbiAgICAgICAgJiYgKHRoaXMud2NFbXBIb3Vyc1dvcmtlZC52YWx1ZSA+IDAuMCB8fCB0aGlzLndjRW1wSG91cnNXb3JrZWQudmFsdWUgPiAwKVxuICAgICAgICAmJiB0aGlzLndjRW1wU3RhdHVzLnZhbHVlID09PSAnV1JQVCcpe1xuICAgICAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53Y0VtcFN0YXR1cyk7XG4gICAgICAgICAgdGhpcy53c0VtcEFtdEVhcm5lZC5zZXRFcnJvcnMoeydlYXJuaW5nc05vdFplcm8nOiB0cnVlfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VmFsaWRhdGlvbkJhc2VkT25FbXBsb3ltZW50U3RhdHVzKHZhbDogU3RyaW5nKSB7XG4gICAgaWYgKHZhbCAmJiB2YWwgPT0gJ1JUV0YnKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53Y0VtcExvd1J0d0RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud2NFbXBMb3dSdHdEYXRlKTtcbiAgICB9XG5cbiAgICBpZiAodmFsICYmIHZhbCA9PSAnTFdMTycpIHtcbiAgICAgIHRoaXMuam9iVGl0bGUuY2xlYXJWYWxpZGF0b3JzO1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuaGF2ZVJldHVyblRvV29ya0RhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaGF2ZVJldHVyblRvV29ya0RhdGUpO1xuICAgIH1cblxuICAgIGlmICh2YWwgJiYgdmFsID09ICdEQ0ZJJykge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZGlzY2hhcmdlZCk7XG4gICAgICBpZighdGhpcy5pc01TKCkpe1xuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5qb2JUaXRsZSk7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXJ0RGF5V29ya2VkKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmpvYlRpdGxlKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGFydERheVdvcmtlZCk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZGlzY2hhcmdlZCk7XG4gICAgfVxuXG4gICAgaWYgKHZhbCAmJiB2YWwgPT0gJ1ZPTFEnKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy52b2x1bnRhcnlRdWl0KTtcbiAgICAgIGlmKCF0aGlzLmlzTVMoKSl7XG4gICAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmpvYlRpdGxlKTtcbiAgICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuc3RhcnREYXlXb3JrZWQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iVGl0bGUpO1xuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXJ0RGF5V29ya2VkKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy52b2x1bnRhcnlRdWl0KTtcbiAgICB9XG5cbiAgICBpZiAodmFsICYmIHZhbCA9PSAnU1VTUCcgJiYgIXRoaXMuaXNNUygpKSB7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5qb2JUaXRsZSk7XG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zdGFydERheVdvcmtlZCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5qb2JUaXRsZSk7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhcnREYXlXb3JrZWQpO1xuICAgIH1cblxuICAgIGlmICh2YWwgJiYgdmFsID09ICdTVExPJyYmICF0aGlzLmlzTVMoKSkge1xuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuam9iVGl0bGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iVGl0bGUpO1xuICAgIH1cbiAgfVxuXG4gIHNldEVtcGxveWVyKGVtcGxveWVyOiBFbXBsb3llclNlYXJjaFJlc3VsdCkge1xuICAgIHRoaXMud2NFbXBOYW1lLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVyTmFtZSk7XG4gICAgdGhpcy53Y0VtcEFkZHJlc3NMaW5lMS5zZXRWYWx1ZShlbXBsb3llci5hZGRyZXNzTGluZTEpO1xuICAgIHRoaXMud2NFbXBBZGRyZXNzTGluZTIuc2V0VmFsdWUoZW1wbG95ZXIuYWRkcmVzc0xpbmUyKTtcbiAgICB0aGlzLndjRW1wQ2l0eS5zZXRWYWx1ZShlbXBsb3llci5jaXR5KTtcbiAgICB0aGlzLndjRW1wU3RhdGUuc2V0VmFsdWUoZW1wbG95ZXIuc3RhdGUudmFsdWUpO1xuICAgIGlmKHRoaXMuaXNNRSgpKXtcbiAgICAgIHRoaXMud2NFbXBDb3VudHJ5LnNldFZhbHVlKGVtcGxveWVyLmNvdW50cnkudmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLndzWmlwQ29kZS5zZXRWYWx1ZShlbXBsb3llci56aXApO1xuICAgIHRoaXMuaGlkRW1wSWQuc2V0VmFsdWUoZW1wbG95ZXIuZW1wbG95ZXJJZCk7XG4gIH1cblxuICBkYXRlSW5wdXQoZXZlbnQpIHtcbiAgICBsZXQgY3VycmVudFZhbHVlOiBzdHJpbmcgPSBldmVudC5zcmNFbGVtZW50LnZhbHVlO1xuICAgIGlmIChjdXJyZW50VmFsdWUpIHtcbiAgICAgIGlmIChjdXJyZW50VmFsdWUubGVuZ3RoID09IDIgJiYgY3VycmVudFZhbHVlLmNoYXJBdCgyKSAhPSAnLycpIHtcbiAgICAgICAgZXZlbnQudGFyZ2V0LnZhbHVlID0gY3VycmVudFZhbHVlICsgXCIvXCI7XG4gICAgICB9XG4gICAgICBpZiAoY3VycmVudFZhbHVlLmxlbmd0aCA9PSA1ICYmIGN1cnJlbnRWYWx1ZS5jaGFyQXQoNSkgIT0gJy8nKSB7XG4gICAgICAgIGV2ZW50LnRhcmdldC52YWx1ZSA9IGN1cnJlbnRWYWx1ZSArIFwiL1wiO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGdldERhdGUod3NEYXRlKTogRGF0ZSB7XG4gICAgaWYoISh3c0RhdGUgaW5zdGFuY2VvZiBEYXRlKSl7XG4gICAgICByZXR1cm4gdGhpcy51dGlsLmdldEVudGVyZWREYXRlKHdzRGF0ZSk7XG4gICAgfVxuICAgIHJldHVybiB3c0RhdGU7XG4gIH1cblxuICBzZXRXYWdlRmxhZyhldmVudDogRXZlbnQpe1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy53YWdlRGlhbG9nID0gdHJ1ZTtcbiAgfVxuXG4gIG9uRGlhbG9nU2F2ZSh3YWdlQ2FsY3VsYXRvclNhdmVkRGF0YTogV2FnZUNhbGN1bGF0b3JNb2RlbCl7XG4gICAgdGhpcy53YWdlQ2FsY3VsYXRvckRhdGEgPSB3YWdlQ2FsY3VsYXRvclNhdmVkRGF0YTtcbiAgICB0aGlzLndhZ2VEaWFsb2cgPSBmYWxzZTtcbiAgfVxuIFxuICBvbkRpYWxvZ0NhbmNlbCgpe1xuICAgIHRoaXMud2FnZURpYWxvZyA9IGZhbHNlO1xuICB9XG59XG4iLCI8Zm9ybSBbZm9ybUdyb3VwXT1cImVtcEZvcm1cIiAjZW1wRm9ybURpcmVjdGl2ZT1cIm5nRm9ybVwiPlxyXG4gIDxpb24tZ3JpZD5cclxuICAgIDxpb24tcm93ICpuZ0lmPVwiIWVtcFRvRWRpdD8uaXNQYXJ0VGltZUVtcGxveWVyXCI+XHJcbiAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgZm9ybWdyaWRcIj5cclxuICAgICAgICAgIFxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3Y0VtcE5hbWVcIj5FbXBsb3llciBOYW1lPC9sYWJlbD5cclxuICAgICAgICAgICAgPGFwcC1zZWFyY2gtZW1wbG95ZXIgaWQ9XCJ3Y0VtcGxveWVyTmFtZVwiIFtmb3JtQ29udHJvbF09XCJ3Y0VtcE5hbWVcIiAob25Gb3VuZCk9XCJzZXRFbXBsb3llcigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbZW1wVHlwZV09XCInUkVHJ1wiPjwvYXBwLXNlYXJjaC1lbXBsb3llcj5cclxuICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3djRW1wTmFtZScgW2Zvcm1dPVwiZW1wRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQnLCBwYXR0ZXJuOiAnb25seSBsZXR0ZXJzLCBudW1iZXJzLCBzcGFjZXMsIGFuZCAuICwgJiBcXCcgKCApIC0gIyBhcmUgYWxsb3dlZCdcclxuICAgICAgICAgICAgICB9XCI+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