@reusa/ngx-reusa-app-lib 0.0.732 → 0.1.731

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 (472) hide show
  1. package/{esm2020 → esm2022}/lib/annimations/app-animations.mjs +36 -36
  2. package/esm2022/lib/components/add-employer/add-employer.component.mjs +3027 -0
  3. package/esm2022/lib/components/add-participant/add-participant.component.mjs +394 -0
  4. package/esm2022/lib/components/add-payment/add-payment.component.mjs +187 -0
  5. package/esm2022/lib/components/address/address.component.mjs +487 -0
  6. package/esm2022/lib/components/bank-details/bank-details.component.mjs +276 -0
  7. package/esm2022/lib/components/captcha/captcha.component.mjs +181 -0
  8. package/esm2022/lib/components/card/card.component.mjs +55 -0
  9. package/esm2022/lib/components/contact-us/contact-us.component.mjs +970 -0
  10. package/esm2022/lib/components/content/content.component.mjs +61 -0
  11. package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +83 -0
  12. package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +223 -0
  13. package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +292 -0
  14. package/esm2022/lib/components/disclosure/disclosure.component.mjs +60 -0
  15. package/esm2022/lib/components/dropdown/dropdown.component.mjs +1974 -0
  16. package/esm2022/lib/components/dropdown/dropdown.interface.mjs +2 -0
  17. package/esm2022/lib/components/email-update/email-update.component.mjs +283 -0
  18. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +794 -0
  19. package/esm2022/lib/components/error/error.component.mjs +86 -0
  20. package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +163 -0
  21. package/{esm2020 → esm2022}/lib/components/file-download/file-download.component.mjs +104 -104
  22. package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +315 -0
  23. package/esm2022/lib/components/footer/footer.component.mjs +332 -0
  24. package/esm2022/lib/components/header/header.component.mjs +558 -0
  25. package/esm2022/lib/components/help/help.component.mjs +49 -0
  26. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +65 -0
  27. package/{esm2020 → esm2022}/lib/components/info/info.component.mjs +187 -188
  28. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +206 -0
  29. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +193 -0
  30. package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +43 -0
  31. package/esm2022/lib/components/mask/mask.component.mjs +48 -0
  32. package/esm2022/lib/components/menu/menu.component.mjs +423 -0
  33. package/esm2022/lib/components/mfa/mfa.component.mjs +444 -0
  34. package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +50 -0
  35. package/esm2022/lib/components/money-expect/money-expect.component.mjs +90 -0
  36. package/esm2022/lib/components/msg/msg.component.mjs +48 -0
  37. package/esm2022/lib/components/news/news.component.mjs +90 -0
  38. package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +213 -0
  39. package/esm2022/lib/components/page/page.component.mjs +136 -0
  40. package/esm2022/lib/components/profile/profile.component.mjs +177 -0
  41. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +63 -0
  42. package/esm2022/lib/components/questionnaire/AppValidators.mjs +487 -0
  43. package/{esm2020 → esm2022}/lib/components/questionnaire/FbConstants.mjs +7 -7
  44. package/{esm2020 → esm2022}/lib/components/questionnaire/SelectItem.mjs +1 -1
  45. package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +256 -0
  46. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +475 -0
  47. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +1094 -0
  48. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1882 -0
  49. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +1263 -0
  50. package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +244 -0
  51. package/{esm2020 → esm2022}/lib/components/questionnaire/input-focus.directive.mjs +44 -44
  52. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +256 -0
  53. package/{esm2020 → esm2022}/lib/components/questionnaire/question-base.mjs +2 -2
  54. package/{esm2020 → esm2022}/lib/components/questionnaire/question-control.service.mjs +420 -419
  55. package/{esm2020 → esm2022}/lib/components/questionnaire/question.service.mjs +33 -33
  56. package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +262 -0
  57. package/{esm2020 → esm2022}/lib/components/read-more/read-more.component.mjs +67 -67
  58. package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +690 -0
  59. package/esm2022/lib/components/search-employer/search-employer.component.mjs +142 -0
  60. package/esm2022/lib/components/select/select.component.mjs +154 -0
  61. package/esm2022/lib/components/ssn/ssn.component.mjs +44 -0
  62. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +151 -0
  63. package/esm2022/lib/components/test/test.component.mjs +19 -0
  64. package/esm2022/lib/components/user-login/user-login.component.mjs +398 -0
  65. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +442 -0
  66. package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +307 -0
  67. package/{esm2020 → esm2022}/lib/directives/auto-focus/auto-focus.directive.mjs +31 -31
  68. package/{esm2020 → esm2022}/lib/directives/caps-lock.directive.mjs +38 -38
  69. package/{esm2020 → esm2022}/lib/directives/required-roles/required-roles.directive.mjs +30 -30
  70. package/{esm2020 → esm2022}/lib/enums/EmailStatusEnum.mjs +8 -8
  71. package/{esm2020 → esm2022}/lib/guards/auth.guard.mjs +138 -138
  72. package/esm2022/lib/guards/no-login/no-login.guard.mjs +21 -0
  73. package/{esm2020 → esm2022}/lib/interceptors/error-interceptor/http-error-interceptor.mjs +107 -107
  74. package/{esm2020 → esm2022}/lib/interceptors/header-interceptor/http-header.interceptor.mjs +99 -99
  75. package/{esm2020 → esm2022}/lib/models/AddressComponentModel.mjs +2 -2
  76. package/{esm2020 → esm2022}/lib/models/BankDetailsComponentModel.mjs +2 -2
  77. package/{esm2020 → esm2022}/lib/models/BankDetailsModel.mjs +3 -3
  78. package/{esm2020 → esm2022}/lib/models/CinRequalificationCriteriaModel.mjs +3 -3
  79. package/{esm2020 → esm2022}/lib/models/EmployerDetailSearchResult.mjs +5 -5
  80. package/{esm2020 → esm2022}/lib/models/ErrorModel.mjs +5 -5
  81. package/{esm2020 → esm2022}/lib/models/FileModel.mjs +1 -1
  82. package/{esm2020 → esm2022}/lib/models/LibConstants.mjs +119 -119
  83. package/{esm2020 → esm2022}/lib/models/NewsAndAnnouncementModel.mjs +2 -2
  84. package/{esm2020 → esm2022}/lib/models/NotificationModel.mjs +5 -5
  85. package/{esm2020 → esm2022}/lib/models/OtpAuthModel.mjs +2 -2
  86. package/{esm2020 → esm2022}/lib/models/PaymentComponentModel.mjs +2 -2
  87. package/esm2022/lib/models/RequalifyLiftPageModel.mjs +11 -0
  88. package/{esm2020 → esm2022}/lib/models/SsaVerificationModel.mjs +3 -3
  89. package/{esm2020 → esm2022}/lib/models/TrendModel.mjs +2 -2
  90. package/{esm2020 → esm2022}/lib/models/UserDetailsModel.mjs +2 -2
  91. package/{esm2020 → esm2022}/lib/models/UserModel.mjs +5 -5
  92. package/{esm2020 → esm2022}/lib/models/case/CaseAttachmentModel.mjs +3 -3
  93. package/{esm2020 → esm2022}/lib/models/claimant/ClaimantModel.mjs +2 -2
  94. package/{esm2020 → esm2022}/lib/models/claimant/JobResultsData.mjs +2 -2
  95. package/{esm2020 → esm2022}/lib/models/claimant/MatchingJobs.mjs +2 -2
  96. package/{esm2020 → esm2022}/lib/models/claimant/ResetPasswordModel.mjs +2 -2
  97. package/esm2022/lib/models/cmp/CaseCoreModel.mjs +3 -0
  98. package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryModel.mjs +3 -3
  99. package/{esm2020 → esm2022}/lib/models/cmp/ComplaintCategoryOutputModel.mjs +5 -5
  100. package/esm2022/lib/models/cmp/ContactUsModel.mjs +3 -0
  101. package/{esm2020 → esm2022}/lib/models/cmp/EmailTemplateModel.mjs +3 -3
  102. package/esm2022/lib/models/cmp/contactUsInqueryModel.mjs +7 -0
  103. package/{esm2020 → esm2022}/lib/models/cmp/messageRourceModel.mjs +3 -3
  104. package/esm2022/lib/models/dashboard-model.mjs +3 -0
  105. package/esm2022/lib/models/dependent.model.mjs +8 -0
  106. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpRequestModel.mjs +2 -2
  107. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +7 -7
  108. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +5 -5
  109. package/{esm2020 → esm2022}/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +2 -2
  110. package/esm2022/lib/models/questionnaire/ComboModel.mjs +337 -0
  111. package/{esm2020 → esm2022}/lib/models/questionnaire/ElementsModel.mjs +7 -7
  112. package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerDetailSearchResult.mjs +2 -2
  113. package/{esm2020 → esm2022}/lib/models/questionnaire/EmployerWagesModel.mjs +3 -3
  114. package/{esm2020 → esm2022}/lib/models/questionnaire/FBConfigModel.mjs +5 -5
  115. package/{esm2020 → esm2022}/lib/models/questionnaire/KeyValueModel.mjs +2 -2
  116. package/{esm2020 → esm2022}/lib/models/questionnaire/LegalDiscaimarModel.mjs +2 -2
  117. package/{esm2020 → esm2022}/lib/models/questionnaire/LoaderModel.mjs +2 -2
  118. package/{esm2020 → esm2022}/lib/models/questionnaire/PollingStatusModel.mjs +3 -3
  119. package/{esm2020 → esm2022}/lib/models/questionnaire/QtrYearEmployerWageModel.mjs +2 -2
  120. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireQueryModel.mjs +7 -7
  121. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireReturnModel.mjs +10 -10
  122. package/{esm2020 → esm2022}/lib/models/questionnaire/QuestionnaireSaveModel.mjs +2 -2
  123. package/esm2022/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +3 -0
  124. package/{esm2020 → esm2022}/lib/models/questionnaire/ServiceActionResponseModel.mjs +3 -3
  125. package/esm2022/lib/models/questionnaire/StatusModel.mjs +6 -0
  126. package/{esm2020 → esm2022}/lib/models/questionnaire/SuccessPageElement.mjs +2 -2
  127. package/esm2022/lib/models/questionnaire/UI512AResponseModel.mjs +3 -0
  128. package/{esm2020 → esm2022}/lib/models/questionnaire/ValidationModel.mjs +2 -2
  129. package/esm2022/lib/ngx-reusa-app-lib.component.mjs +23 -0
  130. package/esm2022/lib/ngx-reusa-app-lib.module.mjs +402 -0
  131. package/{esm2020 → esm2022}/lib/ngx-reusa-app-lib.service.mjs +14 -14
  132. package/{esm2020 → esm2022}/lib/pages/BasePage.mjs +76 -76
  133. package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +81 -0
  134. package/esm2022/lib/pages/common/change-password/change-password.page.mjs +463 -0
  135. package/esm2022/lib/pages/common/landing/landing.component.mjs +208 -0
  136. package/esm2022/lib/pages/common/landing2/landing2.component.mjs +244 -0
  137. package/esm2022/lib/pages/common/login/login.component.mjs +526 -0
  138. package/esm2022/lib/pages/common/not-found/not-found.page.mjs +24 -0
  139. package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +306 -0
  140. package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +61 -0
  141. package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +24 -0
  142. package/esm2022/lib/pages/popovers/language/language.page.mjs +61 -0
  143. package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +204 -0
  144. package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +129 -0
  145. package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +251 -0
  146. package/{esm2020 → esm2022}/lib/pipes/filter.pipe.mjs +30 -30
  147. package/{esm2020 → esm2022}/lib/pipes/mask/mask.email.pipe.mjs +23 -23
  148. package/{esm2020 → esm2022}/lib/pipes/proper-case/proper-case.pipe.mjs +27 -27
  149. package/{esm2020 → esm2022}/lib/pipes/translate/dynamic-translate.pipe.mjs +44 -44
  150. package/{esm2020 → esm2022}/lib/pipes/trust-html/trust-html.pipe.mjs +20 -20
  151. package/{esm2020 → esm2022}/lib/services/base-service.mjs +49 -49
  152. package/{esm2020 → esm2022}/lib/services/captcha/captcha.service.mjs +46 -46
  153. package/{esm2020 → esm2022}/lib/services/case-service/case.service.mjs +47 -47
  154. package/{esm2020 → esm2022}/lib/services/chatbot/chatbot.service.mjs +257 -257
  155. package/esm2022/lib/services/chatbot/script.const.mjs +42 -0
  156. package/{esm2020 → esm2022}/lib/services/claimant/claimant.service.mjs +31 -31
  157. package/esm2022/lib/services/claimant-context/claimant-context.service.mjs +48 -0
  158. package/{esm2020 → esm2022}/lib/services/claimant-service/claimant.service.mjs +47 -47
  159. package/{esm2020 → esm2022}/lib/services/claims/claims.service.mjs +99 -99
  160. package/{esm2020 → esm2022}/lib/services/cmp-service/cmp.service.mjs +84 -84
  161. package/{esm2020 → esm2022}/lib/services/dms-service/dms.service.mjs +60 -60
  162. package/{esm2020 → esm2022}/lib/services/fpjs/fingerprint.service.mjs +70 -70
  163. package/{esm2020 → esm2022}/lib/services/google-analytics/google-analytics.service.mjs +29 -29
  164. package/{esm2020 → esm2022}/lib/services/help/help.service.mjs +63 -63
  165. package/{esm2020 → esm2022}/lib/services/idle/idle.service.mjs +159 -159
  166. package/{esm2020 → esm2022}/lib/services/logger/logger.service.mjs +67 -67
  167. package/esm2022/lib/services/login/login.service.mjs +330 -0
  168. package/{esm2020 → esm2022}/lib/services/maintenance/maintenance.service.mjs +21 -21
  169. package/{esm2020 → esm2022}/lib/services/notification/notification.service.mjs +113 -113
  170. package/{esm2020 → esm2022}/lib/services/questionnaire/questionnaire.service.mjs +69 -69
  171. package/{esm2020 → esm2022}/lib/services/questionnaire/validation.service.mjs +59 -59
  172. package/{esm2020 → esm2022}/lib/services/security-service/security.service.mjs +35 -35
  173. package/{esm2020 → esm2022}/lib/services/tour/tour.service.mjs +60 -60
  174. package/{esm2020 → esm2022}/lib/services/util/util.service.mjs +424 -424
  175. package/esm2022/lib/validations/AppRegex.mjs +45 -0
  176. package/{esm2020 → esm2022}/lib/validations/AppValidators.mjs +165 -165
  177. package/{esm2020 → esm2022}/public-api.mjs +131 -131
  178. package/{esm2020 → esm2022}/reusa-ngx-reusa-app-lib.mjs +4 -4
  179. package/{fesm2020 → fesm2022}/reusa-ngx-reusa-app-lib.mjs +27966 -27877
  180. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -0
  181. package/index.d.ts +5 -5
  182. package/lib/annimations/app-animations.d.ts +3 -3
  183. package/lib/components/add-employer/add-employer.component.d.ts +276 -276
  184. package/lib/components/add-participant/add-participant.component.d.ts +45 -45
  185. package/lib/components/add-payment/add-payment.component.d.ts +33 -33
  186. package/lib/components/address/address.component.d.ts +68 -68
  187. package/lib/components/address/address.component.d.ts.map +1 -1
  188. package/lib/components/bank-details/bank-details.component.d.ts +39 -39
  189. package/lib/components/captcha/captcha.component.d.ts +44 -44
  190. package/lib/components/card/card.component.d.ts +11 -11
  191. package/lib/components/contact-us/contact-us.component.d.ts +105 -107
  192. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  193. package/lib/components/content/content.component.d.ts +13 -13
  194. package/lib/components/correspondence-download/correspondence-download.component.d.ts +21 -21
  195. package/lib/components/dashboard-card/dashboard-card.component.d.ts +25 -25
  196. package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
  197. package/lib/components/dependent-grid/dependent-grid.component.d.ts +35 -35
  198. package/lib/components/disclosure/disclosure.component.d.ts +12 -12
  199. package/lib/components/dropdown/dropdown.component.d.ts +581 -207
  200. package/lib/components/dropdown/dropdown.component.d.ts.map +1 -1
  201. package/lib/components/dropdown/dropdown.interface.d.ts +155 -0
  202. package/lib/components/dropdown/dropdown.interface.d.ts.map +1 -0
  203. package/lib/components/email-update/email-update.component.d.ts +31 -31
  204. package/lib/components/employer-grid/employer-grid.component.d.ts +95 -94
  205. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  206. package/lib/components/error/error.component.d.ts +17 -17
  207. package/lib/components/fav-menu/fav-menu.component.d.ts +21 -21
  208. package/lib/components/file-download/file-download.component.d.ts +22 -22
  209. package/lib/components/file-uploader/file-uploader.component.d.ts +47 -47
  210. package/lib/components/footer/footer.component.d.ts +36 -36
  211. package/lib/components/header/header.component.d.ts +59 -58
  212. package/lib/components/header/header.component.d.ts.map +1 -1
  213. package/lib/components/help/help.component.d.ts +10 -10
  214. package/lib/components/idle-detector/idle-detector.component.d.ts +15 -15
  215. package/lib/components/info/info.component.d.ts +22 -22
  216. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +21 -21
  217. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +33 -33
  218. package/lib/components/maintenance-detector/maintenance-detector.component.d.ts +15 -15
  219. package/lib/components/mask/mask.component.d.ts +11 -11
  220. package/lib/components/menu/menu.component.d.ts +43 -43
  221. package/lib/components/mfa/mfa.component.d.ts +59 -59
  222. package/lib/components/mfa-popup/mfa-popup.component.d.ts +16 -16
  223. package/lib/components/money-expect/money-expect.component.d.ts +18 -18
  224. package/lib/components/msg/msg.component.d.ts +10 -10
  225. package/lib/components/news/news.component.d.ts +14 -14
  226. package/lib/components/overlay-info/overlay-info.component.d.ts +34 -34
  227. package/lib/components/page/page.component.d.ts +23 -23
  228. package/lib/components/profile/profile.component.d.ts +28 -28
  229. package/lib/components/profile-redirect/profile-redirect.component.d.ts +13 -13
  230. package/lib/components/questionnaire/AppValidators.d.ts +14 -14
  231. package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
  232. package/lib/components/questionnaire/FbConstants.d.ts +7 -7
  233. package/lib/components/questionnaire/SelectItem.d.ts +4 -4
  234. package/lib/components/questionnaire/account-success/account-success.page.d.ts +53 -53
  235. package/lib/components/questionnaire/common-success/common-success.page.d.ts +75 -75
  236. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  237. package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +46 -46
  238. package/lib/components/questionnaire/dynamic-form-question.component.d.ts +82 -82
  239. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  240. package/lib/components/questionnaire/dynamic-form.component.d.ts +130 -130
  241. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  242. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +66 -64
  243. package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
  244. package/lib/components/questionnaire/input-focus.directive.d.ts +11 -11
  245. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +38 -38
  246. package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
  247. package/lib/components/questionnaire/question-base.d.ts +16 -16
  248. package/lib/components/questionnaire/question-control.service.d.ts +19 -19
  249. package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
  250. package/lib/components/questionnaire/question.service.d.ts +18 -18
  251. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +75 -74
  252. package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
  253. package/lib/components/read-more/read-more.component.d.ts +14 -14
  254. package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +67 -67
  255. package/lib/components/search-employer/search-employer.component.d.ts +37 -36
  256. package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
  257. package/lib/components/select/select.component.d.ts +55 -55
  258. package/lib/components/ssn/ssn.component.d.ts +11 -11
  259. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +22 -22
  260. package/lib/components/test/test.component.d.ts +8 -8
  261. package/lib/components/user-login/user-login.component.d.ts +48 -48
  262. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +59 -59
  263. package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +45 -45
  264. package/lib/directives/auto-focus/auto-focus.directive.d.ts +12 -12
  265. package/lib/directives/caps-lock.directive.d.ts +11 -11
  266. package/lib/directives/required-roles/required-roles.directive.d.ts +14 -14
  267. package/lib/enums/EmailStatusEnum.d.ts +7 -7
  268. package/lib/guards/auth.guard.d.ts +28 -28
  269. package/lib/guards/auth.guard.d.ts.map +1 -1
  270. package/lib/guards/no-login/no-login.guard.d.ts +11 -11
  271. package/lib/guards/no-login/no-login.guard.d.ts.map +1 -1
  272. package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts +22 -22
  273. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts +21 -21
  274. package/lib/interceptors/header-interceptor/http-header.interceptor.d.ts.map +1 -1
  275. package/lib/models/AddressComponentModel.d.ts +12 -12
  276. package/lib/models/BankDetailsComponentModel.d.ts +11 -11
  277. package/lib/models/BankDetailsModel.d.ts +4 -4
  278. package/lib/models/CinRequalificationCriteriaModel.d.ts +10 -10
  279. package/lib/models/EmployerDetailSearchResult.d.ts +47 -47
  280. package/lib/models/ErrorModel.d.ts +6 -6
  281. package/lib/models/FileModel.d.ts +4 -4
  282. package/lib/models/LibConstants.d.ts +112 -112
  283. package/lib/models/NewsAndAnnouncementModel.d.ts +5 -5
  284. package/lib/models/NotificationModel.d.ts +10 -10
  285. package/lib/models/OtpAuthModel.d.ts +6 -6
  286. package/lib/models/PaymentComponentModel.d.ts +7 -7
  287. package/lib/models/RequalifyLiftPageModel.d.ts +11 -11
  288. package/lib/models/SsaVerificationModel.d.ts +8 -8
  289. package/lib/models/TrendModel.d.ts +13 -13
  290. package/lib/models/UserDetailsModel.d.ts +9 -9
  291. package/lib/models/UserModel.d.ts +46 -46
  292. package/lib/models/case/CaseAttachmentModel.d.ts +5 -5
  293. package/lib/models/claimant/ClaimantModel.d.ts +22 -22
  294. package/lib/models/claimant/JobResultsData.d.ts +7 -7
  295. package/lib/models/claimant/MatchingJobs.d.ts +12 -12
  296. package/lib/models/claimant/ResetPasswordModel.d.ts +8 -8
  297. package/lib/models/cmp/CaseCoreModel.d.ts +20 -20
  298. package/lib/models/cmp/ComplaintCategoryModel.d.ts +8 -8
  299. package/lib/models/cmp/ComplaintCategoryOutputModel.d.ts +5 -5
  300. package/lib/models/cmp/ContactUsModel.d.ts +22 -22
  301. package/lib/models/cmp/EmailTemplateModel.d.ts +6 -6
  302. package/lib/models/cmp/contactUsInqueryModel.d.ts +46 -46
  303. package/lib/models/cmp/messageRourceModel.d.ts +5 -5
  304. package/lib/models/dashboard-model.d.ts +43 -43
  305. package/lib/models/dependent.model.d.ts +11 -18
  306. package/lib/models/dependent.model.d.ts.map +1 -1
  307. package/lib/models/questionnaire/ClaimAppEmpRequestModel.d.ts +8 -8
  308. package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +16 -16
  309. package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +151 -151
  310. package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +16 -16
  311. package/lib/models/questionnaire/ComboModel.d.ts +85 -85
  312. package/lib/models/questionnaire/ElementsModel.d.ts +68 -68
  313. package/lib/models/questionnaire/EmployerDetailSearchResult.d.ts +17 -17
  314. package/lib/models/questionnaire/EmployerWagesModel.d.ts +4 -4
  315. package/lib/models/questionnaire/FBConfigModel.d.ts +11 -11
  316. package/lib/models/questionnaire/KeyValueModel.d.ts +10 -10
  317. package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +10 -10
  318. package/lib/models/questionnaire/LoaderModel.d.ts +4 -4
  319. package/lib/models/questionnaire/PollingStatusModel.d.ts +6 -6
  320. package/lib/models/questionnaire/QtrYearEmployerWageModel.d.ts +8 -8
  321. package/lib/models/questionnaire/QuestionnaireQueryModel.d.ts +23 -23
  322. package/lib/models/questionnaire/QuestionnaireReturnModel.d.ts +20 -20
  323. package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +24 -24
  324. package/lib/models/questionnaire/RequalifyLiftIssuesModel.d.ts +13 -13
  325. package/lib/models/questionnaire/ServiceActionResponseModel.d.ts +6 -6
  326. package/lib/models/questionnaire/StatusModel.d.ts +15 -15
  327. package/lib/models/questionnaire/SuccessPageElement.d.ts +8 -8
  328. package/lib/models/questionnaire/UI512AResponseModel.d.ts +12 -12
  329. package/lib/models/questionnaire/ValidationModel.d.ts +17 -17
  330. package/lib/ngx-reusa-app-lib.component.d.ts +8 -8
  331. package/lib/ngx-reusa-app-lib.module.d.ts +148 -145
  332. package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
  333. package/lib/ngx-reusa-app-lib.service.d.ts +6 -6
  334. package/lib/pages/BasePage.d.ts +26 -26
  335. package/lib/pages/common/accessibility-policy/accessibility-policy.page.d.ts +11 -11
  336. package/lib/pages/common/change-password/change-password.page.d.ts +40 -40
  337. package/lib/pages/common/landing/landing.component.d.ts +24 -24
  338. package/lib/pages/common/landing2/landing2.component.d.ts +30 -30
  339. package/lib/pages/common/login/login.component.d.ts +64 -64
  340. package/lib/pages/common/not-found/not-found.page.d.ts +8 -8
  341. package/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.d.ts +11 -11
  342. package/lib/pages/common/security-policy/security-policy.page.d.ts +11 -11
  343. package/lib/pages/common/unauthorized/unauthorized.page.d.ts +8 -8
  344. package/lib/pages/popovers/language/language.page.d.ts +16 -16
  345. package/lib/pages/popovers/my-notifications/my-notifications.page.d.ts +21 -21
  346. package/lib/pages/popovers/my-profile/my-profile.page.d.ts +20 -20
  347. package/lib/pages/popovers/user-search/user-search.component.d.ts +31 -31
  348. package/lib/pipes/filter.pipe.d.ts +7 -7
  349. package/lib/pipes/mask/mask.email.pipe.d.ts +10 -10
  350. package/lib/pipes/proper-case/proper-case.pipe.d.ts +8 -8
  351. package/lib/pipes/translate/dynamic-translate.pipe.d.ts +10 -10
  352. package/lib/pipes/trust-html/trust-html.pipe.d.ts +10 -10
  353. package/lib/services/base-service.d.ts +92 -92
  354. package/lib/services/captcha/captcha.service.d.ts +15 -15
  355. package/lib/services/case-service/case.service.d.ts +19 -19
  356. package/lib/services/chatbot/chatbot.service.d.ts +60 -60
  357. package/lib/services/chatbot/script.const.d.ts +15 -15
  358. package/lib/services/claimant/claimant.service.d.ts +17 -17
  359. package/lib/services/claimant-context/claimant-context.service.d.ts +18 -18
  360. package/lib/services/claimant-context/claimant-context.service.d.ts.map +1 -1
  361. package/lib/services/claimant-service/claimant.service.d.ts +19 -19
  362. package/lib/services/claims/claims.service.d.ts +39 -39
  363. package/lib/services/cmp-service/cmp.service.d.ts +33 -33
  364. package/lib/services/dms-service/dms.service.d.ts +23 -23
  365. package/lib/services/fpjs/fingerprint.service.d.ts +18 -18
  366. package/lib/services/google-analytics/google-analytics.service.d.ts +8 -8
  367. package/lib/services/help/help.service.d.ts +25 -25
  368. package/lib/services/help/help.service.d.ts.map +1 -1
  369. package/lib/services/idle/idle.service.d.ts +43 -43
  370. package/lib/services/logger/logger.service.d.ts +31 -31
  371. package/lib/services/logger/logger.service.d.ts.map +1 -1
  372. package/lib/services/login/login.service.d.ts +75 -75
  373. package/lib/services/login/login.service.d.ts.map +1 -1
  374. package/lib/services/maintenance/maintenance.service.d.ts +15 -15
  375. package/lib/services/notification/notification.service.d.ts +38 -38
  376. package/lib/services/questionnaire/questionnaire.service.d.ts +35 -35
  377. package/lib/services/questionnaire/validation.service.d.ts +81 -81
  378. package/lib/services/security-service/security.service.d.ts +14 -14
  379. package/lib/services/tour/tour.service.d.ts +24 -24
  380. package/lib/services/util/util.service.d.ts +190 -190
  381. package/lib/validations/AppRegex.d.ts +43 -43
  382. package/lib/validations/AppValidators.d.ts +53 -53
  383. package/package.json +6 -11
  384. package/public-api.d.ts +121 -121
  385. package/esm2020/lib/components/add-employer/add-employer.component.mjs +0 -3099
  386. package/esm2020/lib/components/add-participant/add-participant.component.mjs +0 -396
  387. package/esm2020/lib/components/add-payment/add-payment.component.mjs +0 -186
  388. package/esm2020/lib/components/address/address.component.mjs +0 -480
  389. package/esm2020/lib/components/bank-details/bank-details.component.mjs +0 -275
  390. package/esm2020/lib/components/captcha/captcha.component.mjs +0 -180
  391. package/esm2020/lib/components/card/card.component.mjs +0 -54
  392. package/esm2020/lib/components/contact-us/contact-us.component.mjs +0 -1004
  393. package/esm2020/lib/components/content/content.component.mjs +0 -60
  394. package/esm2020/lib/components/correspondence-download/correspondence-download.component.mjs +0 -82
  395. package/esm2020/lib/components/dashboard-card/dashboard-card.component.mjs +0 -219
  396. package/esm2020/lib/components/dependent-grid/dependent-grid.component.mjs +0 -297
  397. package/esm2020/lib/components/disclosure/disclosure.component.mjs +0 -59
  398. package/esm2020/lib/components/dropdown/dropdown.component.mjs +0 -1552
  399. package/esm2020/lib/components/email-update/email-update.component.mjs +0 -287
  400. package/esm2020/lib/components/employer-grid/employer-grid.component.mjs +0 -800
  401. package/esm2020/lib/components/error/error.component.mjs +0 -85
  402. package/esm2020/lib/components/fav-menu/fav-menu.component.mjs +0 -163
  403. package/esm2020/lib/components/file-uploader/file-uploader.component.mjs +0 -317
  404. package/esm2020/lib/components/footer/footer.component.mjs +0 -337
  405. package/esm2020/lib/components/header/header.component.mjs +0 -566
  406. package/esm2020/lib/components/help/help.component.mjs +0 -48
  407. package/esm2020/lib/components/idle-detector/idle-detector.component.mjs +0 -64
  408. package/esm2020/lib/components/job-search-result-page/job-search-result-page.component.mjs +0 -209
  409. package/esm2020/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +0 -192
  410. package/esm2020/lib/components/maintenance-detector/maintenance-detector.component.mjs +0 -42
  411. package/esm2020/lib/components/mask/mask.component.mjs +0 -48
  412. package/esm2020/lib/components/menu/menu.component.mjs +0 -430
  413. package/esm2020/lib/components/mfa/mfa.component.mjs +0 -451
  414. package/esm2020/lib/components/mfa-popup/mfa-popup.component.mjs +0 -49
  415. package/esm2020/lib/components/money-expect/money-expect.component.mjs +0 -89
  416. package/esm2020/lib/components/msg/msg.component.mjs +0 -48
  417. package/esm2020/lib/components/news/news.component.mjs +0 -89
  418. package/esm2020/lib/components/overlay-info/overlay-info.component.mjs +0 -235
  419. package/esm2020/lib/components/page/page.component.mjs +0 -138
  420. package/esm2020/lib/components/profile/profile.component.mjs +0 -182
  421. package/esm2020/lib/components/profile-redirect/profile-redirect.component.mjs +0 -62
  422. package/esm2020/lib/components/questionnaire/AppValidators.mjs +0 -523
  423. package/esm2020/lib/components/questionnaire/account-success/account-success.page.mjs +0 -259
  424. package/esm2020/lib/components/questionnaire/common-success/common-success.page.mjs +0 -483
  425. package/esm2020/lib/components/questionnaire/dynamic-form-panel.component.mjs +0 -1137
  426. package/esm2020/lib/components/questionnaire/dynamic-form-question.component.mjs +0 -1948
  427. package/esm2020/lib/components/questionnaire/dynamic-form.component.mjs +0 -1257
  428. package/esm2020/lib/components/questionnaire/form-builder/form-builder.page.mjs +0 -240
  429. package/esm2020/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +0 -259
  430. package/esm2020/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +0 -260
  431. package/esm2020/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +0 -703
  432. package/esm2020/lib/components/search-employer/search-employer.component.mjs +0 -142
  433. package/esm2020/lib/components/select/select.component.mjs +0 -153
  434. package/esm2020/lib/components/ssn/ssn.component.mjs +0 -43
  435. package/esm2020/lib/components/ssn-reverify/ssn-reverify.component.mjs +0 -150
  436. package/esm2020/lib/components/test/test.component.mjs +0 -18
  437. package/esm2020/lib/components/user-login/user-login.component.mjs +0 -401
  438. package/esm2020/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +0 -445
  439. package/esm2020/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +0 -308
  440. package/esm2020/lib/guards/no-login/no-login.guard.mjs +0 -21
  441. package/esm2020/lib/models/RequalifyLiftPageModel.mjs +0 -11
  442. package/esm2020/lib/models/cmp/CaseCoreModel.mjs +0 -3
  443. package/esm2020/lib/models/cmp/ContactUsModel.mjs +0 -3
  444. package/esm2020/lib/models/cmp/contactUsInqueryModel.mjs +0 -7
  445. package/esm2020/lib/models/dashboard-model.mjs +0 -3
  446. package/esm2020/lib/models/dependent.model.mjs +0 -8
  447. package/esm2020/lib/models/questionnaire/ComboModel.mjs +0 -337
  448. package/esm2020/lib/models/questionnaire/RequalifyLiftIssuesModel.mjs +0 -3
  449. package/esm2020/lib/models/questionnaire/StatusModel.mjs +0 -6
  450. package/esm2020/lib/models/questionnaire/UI512AResponseModel.mjs +0 -3
  451. package/esm2020/lib/ngx-reusa-app-lib.component.mjs +0 -22
  452. package/esm2020/lib/ngx-reusa-app-lib.module.mjs +0 -390
  453. package/esm2020/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +0 -80
  454. package/esm2020/lib/pages/common/change-password/change-password.page.mjs +0 -477
  455. package/esm2020/lib/pages/common/landing/landing.component.mjs +0 -207
  456. package/esm2020/lib/pages/common/landing2/landing2.component.mjs +0 -244
  457. package/esm2020/lib/pages/common/login/login.component.mjs +0 -542
  458. package/esm2020/lib/pages/common/not-found/not-found.page.mjs +0 -23
  459. package/esm2020/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +0 -305
  460. package/esm2020/lib/pages/common/security-policy/security-policy.page.mjs +0 -60
  461. package/esm2020/lib/pages/common/unauthorized/unauthorized.page.mjs +0 -23
  462. package/esm2020/lib/pages/popovers/language/language.page.mjs +0 -60
  463. package/esm2020/lib/pages/popovers/my-notifications/my-notifications.page.mjs +0 -205
  464. package/esm2020/lib/pages/popovers/my-profile/my-profile.page.mjs +0 -129
  465. package/esm2020/lib/pages/popovers/user-search/user-search.component.mjs +0 -253
  466. package/esm2020/lib/services/chatbot/script.const.mjs +0 -42
  467. package/esm2020/lib/services/claimant-context/claimant-context.service.mjs +0 -47
  468. package/esm2020/lib/services/login/login.service.mjs +0 -330
  469. package/esm2020/lib/validations/AppRegex.mjs +0 -45
  470. package/fesm2015/reusa-ngx-reusa-app-lib.mjs +0 -30728
  471. package/fesm2015/reusa-ngx-reusa-app-lib.mjs.map +0 -1
  472. package/fesm2020/reusa-ngx-reusa-app-lib.mjs.map +0 -1
@@ -1,542 +0,0 @@
1
- import { Component, ViewChild } from '@angular/core';
2
- import { Validators } from '@angular/forms';
3
- import { BasePage } from '../../BasePage';
4
- import { UserModel } from '../../../models/UserModel';
5
- import { LanguagePage } from '../../popovers/language/language.page';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@angular/forms";
8
- import * as i2 from "../../../services/login/login.service";
9
- import * as i3 from "@angular/router";
10
- import * as i4 from "../../../services/util/util.service";
11
- import * as i5 from "@ionic/angular";
12
- import * as i6 from "../../../services/captcha/captcha.service";
13
- import * as i7 from "@angular/common";
14
- import * as i8 from "ngx-joyride";
15
- import * as i9 from "primeng/tooltip";
16
- import * as i10 from "@angular/material/form-field";
17
- import * as i11 from "primeng/api";
18
- import * as i12 from "primeng/dialog";
19
- import * as i13 from "@angular/material/input";
20
- import * as i14 from "@angular/material/stepper";
21
- import * as i15 from "primeng/toast";
22
- import * as i16 from "primeng/password";
23
- import * as i17 from "../../../components/mask/mask.component";
24
- import * as i18 from "../../../components/page/page.component";
25
- import * as i19 from "../../../directives/caps-lock.directive";
26
- import * as i20 from "../../../components/content/content.component";
27
- import * as i21 from "../../../components/msg/msg.component";
28
- import * as i22 from "../../../components/card/card.component";
29
- import * as i23 from "../../../directives/auto-focus/auto-focus.directive";
30
- import * as i24 from "../../../components/error/error.component";
31
- import * as i25 from "@ngx-translate/core";
32
- const _c0 = ["loginRef"];
33
- const _c1 = ["stepper"];
34
- const _c2 = ["loginFormDirective"];
35
- const _c3 = ["loginTypeFormDirective"];
36
- function LoginComponent_div_8_Template(rf, ctx) { if (rf & 1) {
37
- i0.ɵɵelementStart(0, "div");
38
- i0.ɵɵelement(1, "br");
39
- i0.ɵɵtext(2, "- Employers may call 601-321-6334 ");
40
- i0.ɵɵelementEnd();
41
- } }
42
- function LoginComponent_div_9_Template(rf, ctx) { if (rf & 1) {
43
- i0.ɵɵelementStart(0, "div");
44
- i0.ɵɵelement(1, "br");
45
- i0.ɵɵtext(2, "- Employers may call 207-621-5120 ");
46
- i0.ɵɵelement(3, "br");
47
- i0.ɵɵtext(4, "- Claimants may call 1-800-593-7660. ");
48
- i0.ɵɵelementEnd();
49
- } }
50
- function LoginComponent_ng_template_19_Template(rf, ctx) { if (rf & 1) {
51
- i0.ɵɵelement(0, "app-msg", 40);
52
- } }
53
- function LoginComponent_mat_error_31_Template(rf, ctx) { if (rf & 1) {
54
- i0.ɵɵelementStart(0, "mat-error");
55
- i0.ɵɵtext(1, " User ID is ");
56
- i0.ɵɵelementStart(2, "strong");
57
- i0.ɵɵtext(3, "required");
58
- i0.ɵɵelementEnd()();
59
- } }
60
- function LoginComponent_mat_error_32_Template(rf, ctx) { if (rf & 1) {
61
- i0.ɵɵelementStart(0, "mat-error");
62
- i0.ɵɵtext(1, " User ID should have minimum ");
63
- i0.ɵɵelementStart(2, "strong");
64
- i0.ɵɵtext(3, "5 characters");
65
- i0.ɵɵelementEnd()();
66
- } }
67
- function LoginComponent_ng_template_58_Template(rf, ctx) { if (rf & 1) {
68
- i0.ɵɵelement(0, "app-msg", 41);
69
- } }
70
- function LoginComponent_app_mask_66_Template(rf, ctx) { if (rf & 1) {
71
- i0.ɵɵelement(0, "app-mask", 42);
72
- } if (rf & 2) {
73
- const ctx_r9 = i0.ɵɵnextContext();
74
- i0.ɵɵproperty("value", ctx_r9.userId.value + "");
75
- } }
76
- const _c4 = function () { return { required: "Authcode is required.", minlength: "Authcode should have minimum 6 characters." }; };
77
- function LoginComponent_div_69_Template(rf, ctx) { if (rf & 1) {
78
- i0.ɵɵelementStart(0, "div")(1, "span", 43);
79
- i0.ɵɵelement(2, "p-password", 44);
80
- i0.ɵɵelementStart(3, "label", 45);
81
- i0.ɵɵtext(4, "Authcode");
82
- i0.ɵɵelementEnd()();
83
- i0.ɵɵelement(5, "app-error", 46);
84
- i0.ɵɵelementEnd();
85
- } if (rf & 2) {
86
- const ctx_r10 = i0.ɵɵnextContext();
87
- const _r7 = i0.ɵɵreference(57);
88
- i0.ɵɵadvance(2);
89
- i0.ɵɵproperty("formControl", ctx_r10.otp)("toggleMask", true)("feedback", false);
90
- i0.ɵɵadvance(3);
91
- i0.ɵɵproperty("field", ctx_r10.otp)("form", _r7)("errDef", i0.ɵɵpureFunction0(6, _c4));
92
- } }
93
- const _c5 = function () { return { required: "Password is required." }; };
94
- function LoginComponent_div_70_Template(rf, ctx) { if (rf & 1) {
95
- i0.ɵɵelementStart(0, "div")(1, "span", 43);
96
- i0.ɵɵelement(2, "p-password", 44);
97
- i0.ɵɵelementStart(3, "label", 45);
98
- i0.ɵɵtext(4, "Password");
99
- i0.ɵɵelementEnd()();
100
- i0.ɵɵelement(5, "app-error", 46);
101
- i0.ɵɵelementEnd();
102
- } if (rf & 2) {
103
- const ctx_r11 = i0.ɵɵnextContext();
104
- const _r7 = i0.ɵɵreference(57);
105
- i0.ɵɵadvance(2);
106
- i0.ɵɵproperty("formControl", ctx_r11.signInPassword)("toggleMask", true)("feedback", false);
107
- i0.ɵɵadvance(3);
108
- i0.ɵɵproperty("field", ctx_r11.signInPassword)("form", _r7)("errDef", i0.ɵɵpureFunction0(6, _c5));
109
- } }
110
- function LoginComponent_label_71_Template(rf, ctx) { if (rf & 1) {
111
- i0.ɵɵelementStart(0, "label", 47)(1, "strong");
112
- i0.ɵɵtext(2, "Caps Lock is On");
113
- i0.ɵɵelementEnd()();
114
- } }
115
- function LoginComponent_ion_grid_84_Template(rf, ctx) { if (rf & 1) {
116
- i0.ɵɵelementStart(0, "ion-grid")(1, "ion-row", 25)(2, "ion-col", 7)(3, "a", 48);
117
- i0.ɵɵtext(4, "Forgot user ID?");
118
- i0.ɵɵelementEnd()();
119
- i0.ɵɵelementStart(5, "ion-col", 7)(6, "a", 48);
120
- i0.ɵɵtext(7, "Forgot Password?");
121
- i0.ɵɵelementEnd()()()();
122
- } }
123
- export class LoginComponent extends BasePage {
124
- constructor(fb, loginService, router, util, popup, nav, cs) {
125
- super();
126
- this.fb = fb;
127
- this.loginService = loginService;
128
- this.router = router;
129
- this.util = util;
130
- this.popup = popup;
131
- this.nav = nav;
132
- this.cs = cs;
133
- this.LOGIN_AUTH_CODE_ACTION_NAME = "LOGIN_AUTH_CODE";
134
- this.capsOn = false;
135
- this.displayDialog = false;
136
- this.opt = 'signin';
137
- this.enableOtp = false;
138
- this.enablePassword = false;
139
- this.enableSignin = false;
140
- this.isLoginInProgress = false;
141
- this.faq = 'pua';
142
- this.showProgressBar = false;
143
- this.hidePassword = true;
144
- }
145
- showDialog() {
146
- this.displayDialog = true;
147
- }
148
- ionViewDidEnter() {
149
- this.reset();
150
- }
151
- enableOtpField() {
152
- if (this.loginForm.invalid) {
153
- return;
154
- }
155
- this.util
156
- .showLoader()
157
- .then(() => {
158
- this.cs.generateCaptchaToken(this.LOGIN_AUTH_CODE_ACTION_NAME)
159
- .subscribe((token) => {
160
- this.cs.setInvisibelCaptcha(token);
161
- this.loginService
162
- .generateOtp(this.userId.value, "email")
163
- .subscribe(res => {
164
- if (!this.enableOtp) {
165
- this.stepper.next();
166
- this.enablePassword = false;
167
- this.enableSignin = true;
168
- this.util.setValidation(this.otp, [Validators.required, Validators.minLength(6), Validators.maxLength(6)]);
169
- this.util.clearValidation(this.signInPassword);
170
- this.enableOtp = true;
171
- }
172
- this.util.hideLoader();
173
- }, (err => {
174
- this.util.errorHandler(err);
175
- this.util.hideLoader();
176
- }));
177
- }, err => {
178
- this.util.hideLoader();
179
- this.util.showError('Captcha verification failed. Please retry.');
180
- });
181
- });
182
- }
183
- enablePasswordField() {
184
- if (this.loginForm.invalid) {
185
- return;
186
- }
187
- if (!this.enablePassword) {
188
- this.enableOtp = false;
189
- this.enablePassword = true;
190
- this.enableSignin = true;
191
- this.stepper.next();
192
- this.util.clearValidation(this.otp);
193
- }
194
- }
195
- reset() {
196
- this.enableOtp = false;
197
- this.enablePassword = false;
198
- this.enableSignin = false;
199
- this.signInPassword.reset();
200
- this.showProgressBar = false;
201
- this.stepper.reset();
202
- this.otp.reset();
203
- this.loginTypeForm.reset();
204
- this.loginForm.reset();
205
- this.loginFormDirective.resetForm();
206
- this.loginTypeFormDirective.resetForm();
207
- }
208
- ngOnInit() {
209
- this.initilizeLoginForm();
210
- }
211
- initilizeLoginForm() {
212
- this.loginForm = this.fb.group({
213
- 'userId': ['', Validators.required],
214
- });
215
- this.signupForm = this.fb.group({
216
- 'signUpUserId': ['', Validators.required],
217
- 'password': ['', Validators.required],
218
- 'firstName': ['', Validators.required],
219
- 'middleName': ['', Validators.required],
220
- 'lastName': ['', Validators.required],
221
- 'dob': ['', Validators.required]
222
- });
223
- this.loginTypeForm = this.fb.group({
224
- 'otp': [''],
225
- 'signInPassword': [''],
226
- });
227
- }
228
- get signInPassword() {
229
- return this.loginTypeForm.controls['signInPassword'];
230
- }
231
- get userId() {
232
- return this.loginForm.controls['userId'];
233
- }
234
- get otp() {
235
- return this.loginTypeForm.controls['otp'];
236
- }
237
- get signUpUserId() {
238
- return this.signupForm.controls['signUpUserId'];
239
- }
240
- get password() {
241
- return this.signupForm.controls['password'];
242
- }
243
- get firstName() {
244
- return this.signupForm.controls['firstName'];
245
- }
246
- get middleName() {
247
- return this.signupForm.controls['middleName'];
248
- }
249
- get lastName() {
250
- return this.signupForm.controls['lastName'];
251
- }
252
- get dob() {
253
- return this.signupForm.controls['dob'];
254
- }
255
- generateOtp(isRegistered) {
256
- if (isRegistered) {
257
- this.util.showLoader();
258
- this.loginService
259
- .generateOtp(this.userId.value, "email")
260
- .subscribe(res => {
261
- this.enableOtp = true;
262
- this.enablePassword = false;
263
- this.util.hideLoader();
264
- }, (err => {
265
- this.util.errorHandler(err);
266
- this.enableOtp = false;
267
- this.enablePassword = false;
268
- this.util.hideLoader();
269
- }));
270
- }
271
- else {
272
- this.loginService
273
- .generateOtpUnregistered(this.signUpUserId.value)
274
- .subscribe(res => {
275
- this.presentPopover();
276
- }, (err => {
277
- this.util.errorHandler(err);
278
- }));
279
- }
280
- }
281
- async presentPopover() { }
282
- async signIn() {
283
- if (this.loginForm.invalid || this.loginTypeForm.invalid) {
284
- return;
285
- }
286
- this.isLoginInProgress = true;
287
- //this.showProgressBar = true;
288
- let auth = {};
289
- auth.userId = this.userId.value;
290
- if (this.enableOtp) {
291
- auth.password = this.otp.value;
292
- }
293
- else if (this.enablePassword) {
294
- auth.password = this.signInPassword.value;
295
- }
296
- this.util
297
- .showLoader()
298
- .then(() => {
299
- this.loginService.login(auth)
300
- .subscribe(res => {
301
- let userModel = res;
302
- this.loginService.setUser(userModel).then(res => {
303
- if (userModel.changePwd) {
304
- this.nav.navigateRoot('change-password');
305
- this.showProgressBar = false;
306
- this.isLoginInProgress = false;
307
- }
308
- else {
309
- this.showProgressBar = false;
310
- this.isLoginInProgress = false;
311
- this.nav.navigateRoot('welcome');
312
- }
313
- this.util.hideLoader();
314
- });
315
- }, err => {
316
- this.otp.setValue('');
317
- if (!this.enableOtp) {
318
- this.reset();
319
- }
320
- this.showProgressBar = false;
321
- this.isLoginInProgress = false;
322
- this.util.errorHandler(err);
323
- this.util.hideLoader();
324
- });
325
- });
326
- }
327
- signUp(otp) {
328
- if (otp == null || otp == undefined) {
329
- this.util.showError('OTP Verification Failed. Please verify again.');
330
- }
331
- let userModel = new UserModel();
332
- userModel.firstName = this.firstName.value;
333
- userModel.middleName = this.middleName.value;
334
- userModel.lastName = this.lastName.value;
335
- userModel.dob = this.dob.value;
336
- userModel.username = this.signUpUserId.value;
337
- userModel.password = this.password.value;
338
- this.loginService.setUser(userModel);
339
- this.loginService.signUp(userModel).subscribe(res => {
340
- this.opt = 'signin';
341
- this.util.success('You have been successfully registered in ReEmployMS. Please login to use to the features of the app.');
342
- this.signupForm.reset();
343
- this.loginService.reset();
344
- }, err => {
345
- this.util.errorHandler(err);
346
- this.loginService.reset();
347
- });
348
- }
349
- async changeLanguage(event) {
350
- const popover = await this.popup.create({
351
- component: LanguagePage,
352
- event: event,
353
- translucent: true,
354
- backdropDismiss: false,
355
- cssClass: 'bottom-sheet-popover'
356
- });
357
- return await popover.present();
358
- }
359
- initiateForgotPassword() {
360
- if (this.loginForm.invalid) {
361
- return;
362
- }
363
- this.util
364
- .showLoader()
365
- .then(() => {
366
- this.loginService
367
- .initiateForgotPassword(this.userId.value)
368
- .subscribe(res => {
369
- this.util.success('Your password has been reset. You should receive an email with a temporary password and login instructions.');
370
- this.loginForm.reset();
371
- this.loginService.reset();
372
- this.loginFormDirective.resetForm();
373
- this.util.hideLoader();
374
- }, err => {
375
- this.util.errorHandler(err);
376
- this.loginForm.reset();
377
- this.loginService.reset();
378
- this.loginFormDirective.resetForm();
379
- this.util.hideLoader();
380
- });
381
- });
382
- }
383
- }
384
- LoginComponent.ɵfac = function LoginComponent_Factory(t) { return new (t || LoginComponent)(i0.ɵɵdirectiveInject(i1.UntypedFormBuilder), i0.ɵɵdirectiveInject(i2.LoginService), i0.ɵɵdirectiveInject(i3.Router), i0.ɵɵdirectiveInject(i4.UtilService), i0.ɵɵdirectiveInject(i5.PopoverController), i0.ɵɵdirectiveInject(i5.NavController), i0.ɵɵdirectiveInject(i6.CaptchaService)); };
385
- LoginComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: LoginComponent, selectors: [["app-login"]], viewQuery: function LoginComponent_Query(rf, ctx) { if (rf & 1) {
386
- i0.ɵɵviewQuery(_c0, 7);
387
- i0.ɵɵviewQuery(_c1, 5);
388
- i0.ɵɵviewQuery(_c2, 5);
389
- i0.ɵɵviewQuery(_c3, 5);
390
- } if (rf & 2) {
391
- let _t;
392
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loginElement = _t.first);
393
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.stepper = _t.first);
394
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loginFormDirective = _t.first);
395
- i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.loginTypeFormDirective = _t.first);
396
- } }, features: [i0.ɵɵInheritDefinitionFeature], decls: 85, vars: 44, consts: [[1, "background"], ["position", "top-center"], [3, "showHelp"], [3, "src", "hideCard"], ["title", "login.card.title"], ["header", "Message", "modal", "true", 3, "visible", "visibleChange"], [4, "ngIf"], [1, "ion-text-center"], ["shape", "round", "type", "submit", "color", "success", 3, "click"], ["slot", "start", "name", "close-sharp"], [3, "linear"], ["stepper", ""], [3, "stepControl"], ["matStepLabel", ""], [3, "formGroup"], ["loginFormDirective", "ngForm"], ["color", "primary", "joyrideStep", "step1", 1, "ion-justify-content-center", 3, "title", "text"], [1, "ion-align-self-center"], [1, "ion-justify-content-center"], ["appearance", "outline"], ["matInput", "", "minlength", "5", "autocomplete", "off", "appAutofocus", "", 3, "formControl", "errorStateMatcher"], ["joyrideStep", "step2", 1, "justify-content-center", 3, "title", "text"], ["shape", "round", "type", "submit", "expand", "block", "color", "success", "pTooltip", "Login with password", "tooltipPosition", "bottom", "joyrideStep", "step3", 3, "title", "text", "click"], ["slot", "start", "name", "log-in-outline"], ["shape", "round", "type", "submit", "expand", "block", "expand", "block", "color", "success", "pTooltip", "Login with authcode", "tooltipPosition", "bottom", "joyrideStep", "step4", 3, "title", "text", "click"], [1, "justify-content-center"], ["joyrideStep", "step5", "title", "Forgot User ID?", "text", "Provides assistance if you forget your User ID to login", "shape", "round", "type", "submit", "expand", "outline", "color", "success", "pTooltip", "Forgot User ID?", "tooltipPosition", "bottom", "size", "small", 3, "click"], ["joyrideStep", "step6", "title", "Forgot password?", "text", "Provides assistance to reset your password using your registered email address", "shape", "round", "type", "submit", "expand", "outline", "color", "success", "pTooltip", "Forgot Password?", "tooltipPosition", "bottom", "size", "small", 3, "click"], ["loginTypeFormDirective", "ngForm"], [1, "ion-padding-top"], ["color", "primary", 1, "ion-justify-content-center"], [1, "ion-justify-content-center", 3, "capsLock"], [1, "ion-padding-right"], [1, "ion-padding-left", 2, "float", "right"], [3, "value", 4, "ngIf"], ["style", "color:#b3411d;", 4, "ngIf"], [1, "justify-content-center", 3, "hidden"], ["shape", "round", "type", "submit", "expand", "block", "color", "success", 3, "click"], ["shape", "round", "type", "reset", "expand", "block", "expand", "block", "color", "medium", 3, "click"], ["slot", "start", "name", "refresh"], ["key", "login.card.step1"], ["key", "login.card.step2"], [3, "value"], [1, "p-float-label"], ["inputId", "signInPassword", 3, "formControl", "toggleMask", "feedback"], ["for", "float-input"], [3, "field", "form", "errDef"], [2, "color", "#b3411d"], ["href", "#"]], template: function LoginComponent_Template(rf, ctx) { if (rf & 1) {
397
- i0.ɵɵelementStart(0, "ion-content", 0);
398
- i0.ɵɵelement(1, "p-toast", 1);
399
- i0.ɵɵelementStart(2, "app-content", 2)(3, "app-page", 3)(4, "div")(5, "app-card", 4)(6, "p-dialog", 5);
400
- i0.ɵɵlistener("visibleChange", function LoginComponent_Template_p_dialog_visibleChange_6_listener($event) { return ctx.displayDialog = $event; });
401
- i0.ɵɵtext(7, " Maybe you forgot your User ID, a Customer Service Representative is available to assist you Monday through Friday from 8 AM to 5 PM. if weather permits ");
402
- i0.ɵɵtemplate(8, LoginComponent_div_8_Template, 3, 0, "div", 6);
403
- i0.ɵɵtemplate(9, LoginComponent_div_9_Template, 5, 0, "div", 6);
404
- i0.ɵɵelement(10, "br");
405
- i0.ɵɵelementStart(11, "p-footer")(12, "div", 7)(13, "ion-button", 8);
406
- i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_13_listener() { return ctx.displayDialog = !ctx.displayDialog; });
407
- i0.ɵɵelement(14, "ion-icon", 9);
408
- i0.ɵɵtext(15, " Close ");
409
- i0.ɵɵelementEnd()()()();
410
- i0.ɵɵelementStart(16, "mat-horizontal-stepper", 10, 11)(18, "mat-step", 12);
411
- i0.ɵɵtemplate(19, LoginComponent_ng_template_19_Template, 1, 0, "ng-template", 13);
412
- i0.ɵɵelementStart(20, "form", 14, 15)(22, "ion-row", 16);
413
- i0.ɵɵpipe(23, "translate");
414
- i0.ɵɵpipe(24, "translate");
415
- i0.ɵɵelementStart(25, "ion-col", 17)(26, "div", 18)(27, "mat-form-field", 19)(28, "mat-label");
416
- i0.ɵɵtext(29, "User ID");
417
- i0.ɵɵelementEnd();
418
- i0.ɵɵelement(30, "input", 20);
419
- i0.ɵɵtemplate(31, LoginComponent_mat_error_31_Template, 4, 0, "mat-error", 6);
420
- i0.ɵɵtemplate(32, LoginComponent_mat_error_32_Template, 4, 0, "mat-error", 6);
421
- i0.ɵɵelementEnd()()()();
422
- i0.ɵɵelementStart(33, "ion-row", 21);
423
- i0.ɵɵpipe(34, "translate");
424
- i0.ɵɵpipe(35, "translate");
425
- i0.ɵɵelementStart(36, "ion-col")(37, "ion-button", 22);
426
- i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_37_listener() { return ctx.enablePasswordField(); });
427
- i0.ɵɵpipe(38, "translate");
428
- i0.ɵɵpipe(39, "translate");
429
- i0.ɵɵelement(40, "ion-icon", 23);
430
- i0.ɵɵtext(41, " Password ");
431
- i0.ɵɵelementEnd()();
432
- i0.ɵɵelementStart(42, "ion-col")(43, "ion-button", 24);
433
- i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_43_listener() { return ctx.enableOtpField(); });
434
- i0.ɵɵpipe(44, "translate");
435
- i0.ɵɵpipe(45, "translate");
436
- i0.ɵɵelement(46, "ion-icon", 23);
437
- i0.ɵɵtext(47, " Authcode ");
438
- i0.ɵɵelementEnd()()();
439
- i0.ɵɵelementStart(48, "ion-row", 25)(49, "ion-col", 7)(50, "ion-button", 26);
440
- i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_50_listener() { return ctx.showDialog(); });
441
- i0.ɵɵtext(51, " Forgot User ID? ");
442
- i0.ɵɵelementEnd()();
443
- i0.ɵɵelementStart(52, "ion-col", 7)(53, "ion-button", 27);
444
- i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_53_listener() { return ctx.initiateForgotPassword(); });
445
- i0.ɵɵtext(54, " Forgot Password? ");
446
- i0.ɵɵelementEnd()()()()();
447
- i0.ɵɵelementStart(55, "mat-step")(56, "form", 14, 28);
448
- i0.ɵɵtemplate(58, LoginComponent_ng_template_58_Template, 1, 0, "ng-template", 13);
449
- i0.ɵɵelementStart(59, "ion-grid", 29)(60, "ion-row", 30)(61, "ion-col", 17)(62, "div", 31);
450
- i0.ɵɵlistener("capsLock", function LoginComponent_Template_div_capsLock_62_listener($event) { return ctx.capsOn = $event; });
451
- i0.ɵɵelementStart(63, "mat-label", 32);
452
- i0.ɵɵtext(64, "User ID");
453
- i0.ɵɵelementEnd();
454
- i0.ɵɵelementStart(65, "mat-label", 33);
455
- i0.ɵɵtemplate(66, LoginComponent_app_mask_66_Template, 1, 1, "app-mask", 34);
456
- i0.ɵɵelementEnd();
457
- i0.ɵɵelement(67, "br")(68, "br");
458
- i0.ɵɵtemplate(69, LoginComponent_div_69_Template, 6, 7, "div", 6);
459
- i0.ɵɵtemplate(70, LoginComponent_div_70_Template, 6, 7, "div", 6);
460
- i0.ɵɵtemplate(71, LoginComponent_label_71_Template, 3, 0, "label", 35);
461
- i0.ɵɵelementEnd();
462
- i0.ɵɵelementStart(72, "div", 18)(73, "ion-grid")(74, "ion-row", 36)(75, "ion-col")(76, "ion-button", 37);
463
- i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_76_listener() { return ctx.signIn(); });
464
- i0.ɵɵelement(77, "ion-icon", 23);
465
- i0.ɵɵtext(78, " Sign In ");
466
- i0.ɵɵelementEnd()();
467
- i0.ɵɵelementStart(79, "ion-col")(80, "ion-button", 38);
468
- i0.ɵɵlistener("click", function LoginComponent_Template_ion_button_click_80_listener() { return ctx.reset(); });
469
- i0.ɵɵelement(81, "ion-icon", 39);
470
- i0.ɵɵtext(82, " Reset ");
471
- i0.ɵɵelementEnd()()()();
472
- i0.ɵɵelement(83, "br");
473
- i0.ɵɵtemplate(84, LoginComponent_ion_grid_84_Template, 8, 0, "ion-grid", 6);
474
- i0.ɵɵelementEnd()()()()()()()()()()()();
475
- } if (rf & 2) {
476
- i0.ɵɵadvance(2);
477
- i0.ɵɵproperty("showHelp", true);
478
- i0.ɵɵadvance(1);
479
- i0.ɵɵpropertyInterpolate1("src", "assets/icon/ReEmploy", ctx.util.getState(), ".svg");
480
- i0.ɵɵproperty("hideCard", true);
481
- i0.ɵɵadvance(3);
482
- i0.ɵɵproperty("visible", ctx.displayDialog);
483
- i0.ɵɵadvance(2);
484
- i0.ɵɵproperty("ngIf", ctx.isMS());
485
- i0.ɵɵadvance(1);
486
- i0.ɵɵproperty("ngIf", ctx.isME());
487
- i0.ɵɵadvance(7);
488
- i0.ɵɵproperty("linear", true);
489
- i0.ɵɵadvance(2);
490
- i0.ɵɵproperty("stepControl", ctx.loginForm);
491
- i0.ɵɵadvance(2);
492
- i0.ɵɵproperty("formGroup", ctx.loginForm);
493
- i0.ɵɵadvance(2);
494
- i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(23, 28, "guide.login.userid.title"));
495
- i0.ɵɵpropertyInterpolate("text", i0.ɵɵpipeBind1(24, 30, "guide.login.userid.message"));
496
- i0.ɵɵadvance(8);
497
- i0.ɵɵproperty("formControl", ctx.userId)("errorStateMatcher", ctx.matcher);
498
- i0.ɵɵadvance(1);
499
- i0.ɵɵproperty("ngIf", ctx.userId.hasError("required"));
500
- i0.ɵɵadvance(1);
501
- i0.ɵɵproperty("ngIf", ctx.userId.hasError("minlength"));
502
- i0.ɵɵadvance(1);
503
- i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(34, 32, "guide.login.options.title"));
504
- i0.ɵɵpropertyInterpolate("text", i0.ɵɵpipeBind1(35, 34, "guide.login.options.message"));
505
- i0.ɵɵadvance(4);
506
- i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(38, 36, "guide.login.password.title"));
507
- i0.ɵɵpropertyInterpolate("text", i0.ɵɵpipeBind1(39, 38, "guide.login.password.message"));
508
- i0.ɵɵadvance(6);
509
- i0.ɵɵpropertyInterpolate("title", i0.ɵɵpipeBind1(44, 40, "guide.login.authcode.title"));
510
- i0.ɵɵpropertyInterpolate("text", i0.ɵɵpipeBind1(45, 42, "guide.login.authcode.message"));
511
- i0.ɵɵadvance(13);
512
- i0.ɵɵproperty("formGroup", ctx.loginTypeForm);
513
- i0.ɵɵadvance(10);
514
- i0.ɵɵproperty("ngIf", ctx.userId.value);
515
- i0.ɵɵadvance(3);
516
- i0.ɵɵproperty("ngIf", ctx.enableOtp);
517
- i0.ɵɵadvance(1);
518
- i0.ɵɵproperty("ngIf", ctx.enablePassword);
519
- i0.ɵɵadvance(1);
520
- i0.ɵɵproperty("ngIf", ctx.capsOn);
521
- i0.ɵɵadvance(3);
522
- i0.ɵɵproperty("hidden", !ctx.enableSignin);
523
- i0.ɵɵadvance(10);
524
- i0.ɵɵproperty("ngIf", false);
525
- } }, dependencies: [i5.IonButton, i5.IonCol, i5.IonContent, i5.IonGrid, i5.IonIcon, i5.IonRow, i7.NgIf, i8.JoyrideDirective, i9.Tooltip, i10.MatError, i10.MatFormField, i10.MatLabel, i11.Footer, i1.ɵNgNoValidate, i1.DefaultValueAccessor, i1.NgControlStatus, i1.NgControlStatusGroup, i1.MinLengthValidator, i1.FormControlDirective, i1.FormGroupDirective, i12.Dialog, i13.MatInput, i14.MatStep, i14.MatStepLabel, i14.MatStepper, i15.Toast, i16.Password, i17.MaskComponent, i18.PageComponent, i19.CapsLockDirective, i20.ContentComponent, i21.MsgComponent, i22.CardComponent, i23.AutofocusDirective, i24.ErrorComponent, i25.TranslatePipe], styles: [".group-3[_ngcontent-%COMP%]{height:518px;width:946px}mat-form-field[_ngcontent-%COMP%]{width:-webkit-fill-available}div.mat-form-field-outline[_ngcontent-%COMP%]{background:white!important}.ui-messages-close[_ngcontent-%COMP%]{font-size:.5em!important}[_nghost-%COMP%] .p-inputwrapper, [_nghost-%COMP%] .p-inputtext{width:100%}"] });
526
- (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(LoginComponent, [{
527
- type: Component,
528
- args: [{ selector: 'app-login', template: "<ion-content class=\"background\">\r\n <p-toast position=\"top-center\" ></p-toast>\r\n <app-content [showHelp]=\"true\">\r\n <app-page src=\"assets/icon/ReEmploy{{util.getState()}}.svg\" [hideCard]=\"true\">\r\n <div>\r\n <app-card title=\"login.card.title\">\r\n <p-dialog header=\"Message\" [(visible)]=\"displayDialog\" modal=\"true\">\r\n Maybe you forgot your User ID, a Customer Service Representative is available to assist you Monday through Friday from 8 AM to 5 PM. if weather permits\r\n <div *ngIf=\"isMS()\">\r\n <br/>- Employers may call 601-321-6334 \r\n </div>\r\n <div *ngIf=\"isME()\">\r\n <br/>- Employers may call 207-621-5120\r\n <br/>- Claimants may call 1-800-593-7660.\r\n </div>\r\n <br/>\r\n <p-footer>\r\n <div class=\"ion-text-center\">\r\n <ion-button shape=\"round\" type=\"submit\" (click)=\"displayDialog = !displayDialog\" color=\"success\">\r\n <ion-icon slot=\"start\" name=\"close-sharp\"></ion-icon>\r\n Close\r\n </ion-button>\r\n </div>\r\n </p-footer>\r\n </p-dialog>\r\n <mat-horizontal-stepper [linear]=\"true\" #stepper>\r\n <mat-step [stepControl]=\"loginForm\">\r\n <ng-template matStepLabel>\r\n <app-msg key=\"login.card.step1\"></app-msg>\r\n </ng-template>\r\n <form [formGroup]=\"loginForm\" #loginFormDirective=\"ngForm\">\r\n <ion-row color=\"primary\" class=\"ion-justify-content-center\" joyrideStep=\"step1\" title=\"{{'guide.login.userid.title' | translate}}\" \r\n text=\"{{'guide.login.userid.message' | translate}}\">\r\n <ion-col class=\"ion-align-self-center\">\r\n <div class=\"ion-justify-content-center\">\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label >User ID</mat-label>\r\n <input matInput [formControl]=\"userId\" [errorStateMatcher]=\"matcher\" minlength=\"5\"\r\n autocomplete=\"off\" appAutofocus>\r\n <mat-error *ngIf=\"userId.hasError('required')\">\r\n User ID is <strong>required</strong>\r\n </mat-error>\r\n <mat-error *ngIf=\"userId.hasError('minlength')\">\r\n User ID should have minimum <strong>5 characters</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row class=\"justify-content-center\" joyrideStep=\"step2\" title=\"{{'guide.login.options.title' | translate}}\" \r\n text=\"{{'guide.login.options.message' | translate}}\">\r\n <ion-col>\r\n <ion-button shape=\"round\" type=\"submit\" expand=\"block\" (click)=\"enablePasswordField()\"\r\n color=\"success\" pTooltip=\"Login with password\" tooltipPosition=\"bottom\"\r\n joyrideStep=\"step3\" title=\"{{'guide.login.password.title' | translate}}\" \r\n text=\"{{'guide.login.password.message' | translate}}\">\r\n <ion-icon slot=\"start\" name=\"log-in-outline\"></ion-icon>\r\n Password\r\n </ion-button>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" type=\"submit\" expand=\"block\" expand=\"block\" (click)=\"enableOtpField()\"\r\n color=\"success\" pTooltip=\"Login with authcode\" tooltipPosition=\"bottom\" \r\n joyrideStep=\"step4\" title=\"{{'guide.login.authcode.title' | translate}}\" \r\n text=\"{{'guide.login.authcode.message' | translate}}\"\r\n >\r\n <ion-icon slot=\"start\" name=\"log-in-outline\"></ion-icon>\r\n Authcode\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row class=\"justify-content-center\">\r\n <ion-col class=\"ion-text-center\">\r\n <ion-button joyrideStep=\"step5\" title=\"Forgot User ID?\" \r\n text=\"Provides assistance if you forget your User ID to login\" \r\n shape=\"round\" type=\"submit\" expand=\"outline\" color=\"success\" pTooltip=\"Forgot User ID?\"\r\n tooltipPosition=\"bottom\" size=\"small\" (click)=\"showDialog()\">\r\n Forgot User ID?\r\n </ion-button>\r\n </ion-col>\r\n <ion-col class=\"ion-text-center\">\r\n <ion-button \r\n joyrideStep=\"step6\" title=\"Forgot password?\" \r\n text=\"Provides assistance to reset your password using your registered email address\" \r\n shape=\"round\" type=\"submit\" expand=\"outline\" color=\"success\" pTooltip=\"Forgot Password?\"\r\n tooltipPosition=\"bottom\" size=\"small\" (click)=\"initiateForgotPassword()\">\r\n Forgot Password?\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </form>\r\n </mat-step>\r\n <mat-step>\r\n <form [formGroup]=\"loginTypeForm\" #loginTypeFormDirective=\"ngForm\">\r\n <ng-template matStepLabel>\r\n <app-msg key=\"login.card.step2\"></app-msg>\r\n </ng-template>\r\n <ion-grid class=\"ion-padding-top\">\r\n <ion-row color=\"primary\" class=\"ion-justify-content-center\">\r\n <ion-col class=\"ion-align-self-center\">\r\n <div class=\"ion-justify-content-center\" (capsLock)=\"capsOn=$event\">\r\n <mat-label class=\"ion-padding-right\">User ID</mat-label>\r\n <mat-label class=\"ion-padding-left\" style=\"float: right;\">\r\n <app-mask [value]=\"userId.value + ''\" *ngIf=\"userId.value\"></app-mask>\r\n </mat-label>\r\n <br /><br />\r\n\r\n <div *ngIf=\"enableOtp\">\r\n <span class=\"p-float-label\">\r\n <p-password [formControl]=\"otp\" inputId=\"signInPassword\" [toggleMask]='true' [feedback]='false'></p-password>\r\n <label for=\"float-input\">Authcode</label>\r\n </span>\r\n <app-error [field]='otp' [form]=\"loginTypeFormDirective\" [errDef]=\"{ \r\n required: 'Authcode is required.',\r\n minlength: 'Authcode should have minimum 6 characters.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div *ngIf=\"enablePassword\">\r\n <span class=\"p-float-label\">\r\n <p-password [formControl]=\"signInPassword\" inputId=\"signInPassword\" [toggleMask]='true' [feedback]='false'></p-password>\r\n <label for=\"float-input\">Password</label>\r\n </span>\r\n <app-error [field]='signInPassword' [form]=\"loginTypeFormDirective\" [errDef]=\"{ \r\n required: 'Password is required.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <label *ngIf=\"capsOn\" style=\"color:#b3411d;\"><strong>Caps Lock is On</strong></label>\r\n </div>\r\n <div class=\"ion-justify-content-center\">\r\n <ion-grid>\r\n <ion-row class=\"justify-content-center\" [hidden]=\"!enableSignin\">\r\n <ion-col>\r\n <ion-button shape=\"round\" type=\"submit\" expand=\"block\" (click)=\"signIn()\" color=\"success\">\r\n <ion-icon slot=\"start\" name=\"log-in-outline\"></ion-icon>\r\n Sign In\r\n </ion-button>\r\n </ion-col>\r\n <ion-col>\r\n <ion-button shape=\"round\" type=\"reset\" expand=\"block\" expand=\"block\" (click)=\"reset()\"\r\n color=\"medium\">\r\n <ion-icon slot=\"start\" name=\"refresh\"></ion-icon>\r\n Reset\r\n </ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n <br />\r\n <ion-grid *ngIf=\"false\">\r\n <ion-row class=\"justify-content-center\">\r\n <ion-col class=\"ion-text-center\">\r\n <a href=\"#\">Forgot user ID?</a>\r\n </ion-col>\r\n <ion-col class=\"ion-text-center\">\r\n <a href=\"#\">Forgot Password?</a>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </div>\r\n \r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n </mat-step>\r\n </mat-horizontal-stepper>\r\n \r\n </app-card>\r\n </div>\r\n <!-- <div class=\"g-signin2\" data-width=\"300\" data-height=\"200\" data-longtitle=\"true\"></div> -->\r\n </app-page>\r\n </app-content>\r\n </ion-content>\r\n\r\n\r\n\r\n", styles: [".group-3{height:518px;width:946px}mat-form-field{width:-webkit-fill-available}div.mat-form-field-outline{background:white!important}.ui-messages-close{font-size:.5em!important}:host ::ng-deep .p-inputwrapper,:host ::ng-deep .p-inputtext{width:100%}\n"] }]
529
- }], function () { return [{ type: i1.UntypedFormBuilder }, { type: i2.LoginService }, { type: i3.Router }, { type: i4.UtilService }, { type: i5.PopoverController }, { type: i5.NavController }, { type: i6.CaptchaService }]; }, { loginElement: [{
530
- type: ViewChild,
531
- args: ['loginRef', { static: true }]
532
- }], stepper: [{
533
- type: ViewChild,
534
- args: ['stepper']
535
- }], loginFormDirective: [{
536
- type: ViewChild,
537
- args: ['loginFormDirective', { static: false }]
538
- }], loginTypeFormDirective: [{
539
- type: ViewChild,
540
- args: ['loginTypeFormDirective', { static: false }]
541
- }] }); })();
542
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9wYWdlcy9jb21tb24vbG9naW4vbG9naW4uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9wYWdlcy9jb21tb24vbG9naW4vbG9naW4uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxTQUFTLEVBQTZELE1BQU0sZUFBZSxDQUFDO0FBQ3hILE9BQU8sRUFBc0IsVUFBVSxFQUE2RCxNQUFNLGdCQUFnQixDQUFDO0FBSTNILE9BQU8sRUFBRSxRQUFRLEVBQTJCLE1BQU0sZ0JBQWdCLENBQUM7QUFHbkUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNEdkQsMkJBQW9CO0lBQ2xCLHFCQUFLO0lBQUEsa0RBQ1A7SUFBQSxpQkFBTTs7O0lBQ04sMkJBQW9CO0lBQ2xCLHFCQUFLO0lBQUEsa0RBQ0w7SUFBQSxxQkFBSztJQUFBLHFEQUNQO0lBQUEsaUJBQU07OztJQWNGLDhCQUEwQzs7O0lBV2xDLGlDQUErQztJQUM3Qyw0QkFBVztJQUFBLDhCQUFRO0lBQUEsd0JBQVE7SUFBQSxpQkFBUyxFQUFBOzs7SUFFdEMsaUNBQWdEO0lBQzlDLDZDQUE0QjtJQUFBLDhCQUFRO0lBQUEsNEJBQVk7SUFBQSxpQkFBUyxFQUFBOzs7SUFvRGpFLDhCQUEwQzs7O0lBUWxDLCtCQUF1RTs7O0lBQTdELGdEQUE0Qjs7OztJQUl4QywyQkFBdUIsZUFBQTtJQUVuQixpQ0FBNkc7SUFDN0csaUNBQXlCO0lB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O1lBRXVDLGtCQUFrQjtrQkFBNUUsU0FBUzttQkFBQyxvQkFBb0IsRUFBRSxFQUFDLE1BQU0sRUFBRyxLQUFLLEVBQUM7WUFFYyxzQkFBc0I7a0JBQXBGLFNBQVM7bUJBQUMsd0JBQXdCLEVBQUUsRUFBQyxNQUFNLEVBQUcsS0FBSyxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIFZpZXdDaGlsZCwgRWxlbWVudFJlZiwgRGlyZWN0aXZlLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtR3JvdXAsIEZvcm1Db250cm9sLCBGb3JtR3JvdXBEaXJlY3RpdmUsIE5nRm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBQb3BvdmVyQ29udHJvbGxlciwgTmF2Q29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcbmltcG9ydCB7TWF0U3RlcHBlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc3RlcHBlcic7XG5pbXBvcnQgeyBCYXNlUGFnZSwgQ3VzdG9tRXJyb3JTdGF0ZU1hdGNoZXIgfSBmcm9tICcuLi8uLi9CYXNlUGFnZSc7XG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XG5pbXBvcnQgeyBMYW5ndWFnZVBhZ2UgfSBmcm9tICcuLi8uLi9wb3BvdmVycy9sYW5ndWFnZS9sYW5ndWFnZS5wYWdlJztcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xuaW1wb3J0IHsgQ2FwdGNoYVNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXB0Y2hhL2NhcHRjaGEuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1sb2dpbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2xvZ2luLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgTG9naW5Db21wb25lbnQgZXh0ZW5kcyBCYXNlUGFnZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBMT0dJTl9BVVRIX0NPREVfQUNUSU9OX05BTUUgPSBcIkxPR0lOX0FVVEhfQ09ERVwiO1xuXG4gIHB1YmxpYyBjYXBzT24gPSBmYWxzZTtcblxuICBwdWJsaWMgZGlzcGxheURpYWxvZyA9IGZhbHNlO1xuXG4gIEBWaWV3Q2hpbGQoJ2xvZ2luUmVmJywge3N0YXRpYzogdHJ1ZSB9KSBsb2dpbkVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgQFZpZXdDaGlsZCgnc3RlcHBlcicpIHN0ZXBwZXI6IE1hdFN0ZXBwZXI7XG5cbiAgQFZpZXdDaGlsZCgnbG9naW5Gb3JtRGlyZWN0aXZlJywge3N0YXRpYyA6IGZhbHNlfSkgcHJpdmF0ZSBsb2dpbkZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcblxuICBAVmlld0NoaWxkKCdsb2dpblR5cGVGb3JtRGlyZWN0aXZlJywge3N0YXRpYyA6IGZhbHNlfSkgcHJpdmF0ZSBsb2dpblR5cGVGb3JtRGlyZWN0aXZlOiBOZ0Zvcm07XG5cbiAgYXV0aDI6IGFueTtcbiAgcHJpdmF0ZSBsb2dpbkVycm9yU3RyaW5nOiBzdHJpbmc7XG4gIHB1YmxpYyBvcHQ6IHN0cmluZyA9ICdzaWduaW4nO1xuICBwdWJsaWMgbG9naW5Gb3JtIDogVW50eXBlZEZvcm1Hcm91cDtcbiAgcHVibGljIGxvZ2luVHlwZUZvcm0gOiBVbnR5cGVkRm9ybUdyb3VwO1xuICBwdWJsaWMgc2lnbnVwRm9ybSA6IFVudHlwZWRGb3JtR3JvdXA7XG4gIHB1YmxpYyBlbmFibGVPdHAgOiBib29sZWFuID0gZmFsc2U7XG4gIHB1YmxpYyBlbmFibGVQYXNzd29yZCA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGVuYWJsZVNpZ25pbiA6IGJvb2xlYW4gPSBmYWxzZTtcbiAgcHVibGljIGlzTG9naW5JblByb2dyZXNzID0gZmFsc2U7XG4gIHB1YmxpYyBmYXEgPSAncHVhJztcbiAgcHVibGljIHNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xuICBwdWJsaWMgaGlkZVBhc3N3b3JkID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZmIgOiBVbnR5cGVkRm9ybUJ1aWxkZXIsIHB1YmxpYyBsb2dpblNlcnZpY2UgOiBMb2dpblNlcnZpY2UsIHB1YmxpYyByb3V0ZXIgOiBSb3V0ZXIsIHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsXG4gICAgICAgICAgICAgIHB1YmxpYyBwb3B1cDogUG9wb3ZlckNvbnRyb2xsZXIsIHByaXZhdGUgbmF2OiBOYXZDb250cm9sbGVyLCBwcml2YXRlIGNzOiBDYXB0Y2hhU2VydmljZSkgeyBcbiAgICAgICAgICAgICAgIHN1cGVyKCk7XG4gIH1cblxuICBzaG93RGlhbG9nKCkge1xuICAgIHRoaXMuZGlzcGxheURpYWxvZyA9IHRydWU7XG4gIH1cbiAgXG4gIGlvblZpZXdEaWRFbnRlcigpe1xuICAgIHRoaXMucmVzZXQoKTtcbiAgfVxuXG4gIGVuYWJsZU90cEZpZWxkKCl7XG4gICAgaWYodGhpcy5sb2dpbkZvcm0uaW52YWxpZCl7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy51dGlsXG4gICAgICAgIC5zaG93TG9hZGVyKClcbiAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgIHRoaXMuY3MuZ2VuZXJhdGVDYXB0Y2hhVG9rZW4odGhpcy5MT0dJTl9BVVRIX0NPREVfQUNUSU9OX05BTUUpXG4gICAgICAgIC5zdWJzY3JpYmUoKHRva2VuOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICB0aGlzLmNzLnNldEludmlzaWJlbENhcHRjaGEodG9rZW4pO1xuICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlXG4gICAgICAgICAgICAgIC5nZW5lcmF0ZU90cCh0aGlzLnVzZXJJZC52YWx1ZSwgXCJlbWFpbFwiKVxuICAgICAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgaWYoIXRoaXMuZW5hYmxlT3RwKXtcbiAgICAgICAgICAgICAgICAgIHRoaXMuc3RlcHBlci5uZXh0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZVBhc3N3b3JkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICB0aGlzLmVuYWJsZVNpZ25pbiA9IHRydWU7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLm90cCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsVmFsaWRhdG9ycy5taW5MZW5ndGgoNiksIFZhbGlkYXRvcnMubWF4TGVuZ3RoKDYpXSk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2lnbkluUGFzc3dvcmQpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5lbmFibGVPdHAgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAoZXJyID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgIH0sIGVyciA9PiB7XG4gICAgICAgICAgICAgIHRoaXMudXRpbC5oaWRlTG9hZGVyKCk7XG4gICAgICAgICAgICAgIHRoaXMudXRpbC5zaG93RXJyb3IoJ0NhcHRjaGEgdmVyaWZpY2F0aW9uIGZhaWxlZC4gUGxlYXNlIHJldHJ5LicpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgfVxuXG4gIGVuYWJsZVBhc3N3b3JkRmllbGQoKXtcbiAgICBpZih0aGlzLmxvZ2luRm9ybS5pbnZhbGlkKXtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYoIXRoaXMuZW5hYmxlUGFzc3dvcmQpe1xuICAgICAgdGhpcy5lbmFibGVPdHAgPSBmYWxzZTtcbiAgICAgIHRoaXMuZW5hYmxlUGFzc3dvcmQgPSB0cnVlO1xuICAgICAgdGhpcy5lbmFibGVTaWduaW4gPSB0cnVlO1xuICAgICAgdGhpcy5zdGVwcGVyLm5leHQoKTtcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5vdHApO1xuICAgIH1cbiAgfVxuXG4gIHJlc2V0KCl7XG4gICAgdGhpcy5lbmFibGVPdHAgPSBmYWxzZTtcbiAgICB0aGlzLmVuYWJsZVBhc3N3b3JkID0gZmFsc2U7XG4gICAgdGhpcy5lbmFibGVTaWduaW4gPSBmYWxzZTtcbiAgICB0aGlzLnNpZ25JblBhc3N3b3JkLnJlc2V0KCk7XG4gICAgdGhpcy5zaG93UHJvZ3Jlc3NCYXIgPSBmYWxzZTtcbiAgICB0aGlzLnN0ZXBwZXIucmVzZXQoKTtcbiAgICB0aGlzLm90cC5yZXNldCgpO1xuICAgIHRoaXMubG9naW5UeXBlRm9ybS5yZXNldCgpO1xuICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XG4gICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XG4gICAgdGhpcy5sb2dpblR5cGVGb3JtRGlyZWN0aXZlLnJlc2V0Rm9ybSgpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5pbml0aWxpemVMb2dpbkZvcm0oKTtcbiAgfVxuICBcbiAgaW5pdGlsaXplTG9naW5Gb3JtKCl7XG4gICAgdGhpcy5sb2dpbkZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgICd1c2VySWQnIDogWycnLFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgIH0pO1xuXG4gICAgdGhpcy5zaWdudXBGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAnc2lnblVwVXNlcklkJyA6IFsnJyxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdwYXNzd29yZCcgOiBbJycsVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAnZmlyc3ROYW1lJyA6IFsnJyxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdtaWRkbGVOYW1lJyA6IFsnJyxWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICdsYXN0TmFtZScgOiBbJycsVmFsaWRhdG9ycy5yZXF1aXJlZF0sXG4gICAgICAnZG9iJyA6IFsnJyxWYWxpZGF0b3JzLnJlcXVpcmVkXVxuICAgIH0pO1xuXG4gICAgdGhpcy5sb2dpblR5cGVGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAnb3RwJyA6IFsnJ10sXG4gICAgICAnc2lnbkluUGFzc3dvcmQnIDogWycnXSxcbiAgICB9KTtcbiAgfVxuXG5cbiAgZ2V0IHNpZ25JblBhc3N3b3JkKCl7XG4gICAgcmV0dXJuIHRoaXMubG9naW5UeXBlRm9ybS5jb250cm9sc1snc2lnbkluUGFzc3dvcmQnXTtcbiAgfVxuXG4gIGdldCB1c2VySWQoKXtcbiAgICByZXR1cm4gdGhpcy5sb2dpbkZvcm0uY29udHJvbHNbJ3VzZXJJZCddO1xuICB9XG5cbiAgZ2V0IG90cCgpe1xuICAgIHJldHVybiB0aGlzLmxvZ2luVHlwZUZvcm0uY29udHJvbHNbJ290cCddO1xuICB9XG5cbiAgZ2V0IHNpZ25VcFVzZXJJZCgpe1xuICAgIHJldHVybiB0aGlzLnNpZ251cEZvcm0uY29udHJvbHNbJ3NpZ25VcFVzZXJJZCddO1xuICB9XG5cbiAgZ2V0IHBhc3N3b3JkKCl7XG4gICAgcmV0dXJuIHRoaXMuc2lnbnVwRm9ybS5jb250cm9sc1sncGFzc3dvcmQnXTtcbiAgfVxuXG4gIGdldCBmaXJzdE5hbWUoKXtcbiAgICByZXR1cm4gdGhpcy5zaWdudXBGb3JtLmNvbnRyb2xzWydmaXJzdE5hbWUnXTtcbiAgfVxuXG4gIGdldCBtaWRkbGVOYW1lKCl7XG4gICAgcmV0dXJuIHRoaXMuc2lnbnVwRm9ybS5jb250cm9sc1snbWlkZGxlTmFtZSddO1xuICB9XG5cbiAgZ2V0IGxhc3ROYW1lKCl7XG4gICAgcmV0dXJuIHRoaXMuc2lnbnVwRm9ybS5jb250cm9sc1snbGFzdE5hbWUnXTtcbiAgfVxuXG4gIGdldCBkb2IoKXtcbiAgICByZXR1cm4gdGhpcy5zaWdudXBGb3JtLmNvbnRyb2xzWydkb2InXTtcbiAgfVxuICBcblxuXG4gIGdlbmVyYXRlT3RwKGlzUmVnaXN0ZXJlZCA6IGJvb2xlYW4pe1xuICAgIGlmKGlzUmVnaXN0ZXJlZCl7XG4gICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpO1xuICAgICAgdGhpcy5sb2dpblNlcnZpY2VcbiAgICAgICAgICAuZ2VuZXJhdGVPdHAodGhpcy51c2VySWQudmFsdWUsIFwiZW1haWxcIilcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZU90cCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZVBhc3N3b3JkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKGVyciA9PiB7XG4gICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICB0aGlzLmVuYWJsZU90cCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5lbmFibGVQYXNzd29yZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICB9KSk7XG4gICAgfWVsc2V7XG4gICAgICB0aGlzLmxvZ2luU2VydmljZVxuICAgICAgICAgIC5nZW5lcmF0ZU90cFVucmVnaXN0ZXJlZCh0aGlzLnNpZ25VcFVzZXJJZC52YWx1ZSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICB0aGlzLnByZXNlbnRQb3BvdmVyKCk7XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyID0+IHtcbiAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICB9KSk7XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcHJlc2VudFBvcG92ZXIoKSB7fVxuXG4gIGFzeW5jIHNpZ25Jbigpe1xuICAgIGlmKHRoaXMubG9naW5Gb3JtLmludmFsaWQgfHwgdGhpcy5sb2dpblR5cGVGb3JtLmludmFsaWQpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmlzTG9naW5JblByb2dyZXNzID0gdHJ1ZTtcbiAgICAvL3RoaXMuc2hvd1Byb2dyZXNzQmFyID0gdHJ1ZTtcbiAgICBsZXQgYXV0aCA6IGFueT0ge307XG4gICAgYXV0aC51c2VySWQgPSB0aGlzLnVzZXJJZC52YWx1ZTtcbiAgICBpZih0aGlzLmVuYWJsZU90cCl7XG4gICAgICBhdXRoLnBhc3N3b3JkID0gdGhpcy5vdHAudmFsdWU7XG4gICAgfWVsc2UgaWYodGhpcy5lbmFibGVQYXNzd29yZCl7XG4gICAgICBhdXRoLnBhc3N3b3JkID0gdGhpcy5zaWduSW5QYXNzd29yZC52YWx1ZTtcbiAgICB9XG5cbiAgICB0aGlzLnV0aWxcbiAgICAgICAgLnNob3dMb2FkZXIoKVxuICAgICAgICAudGhlbihcbiAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5sb2dpbihhdXRoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgdXNlck1vZGVsIDogVXNlck1vZGVsID0gcmVzO1xuICAgICAgICAgICAgICAgIHRoaXMubG9naW5TZXJ2aWNlLnNldFVzZXIodXNlck1vZGVsKS50aGVuKFxuICAgICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYodXNlck1vZGVsLmNoYW5nZVB3ZCl7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCdjaGFuZ2UtcGFzc3dvcmQnKTtcbiAgICAgICAgICAgICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNle1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2hvd1Byb2dyZXNzQmFyID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgdGhpcy5pc0xvZ2luSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnd2VsY29tZScpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBlcnIgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub3RwLnNldFZhbHVlKCcnKTtcbiAgICAgICAgICAgICAgICBpZighdGhpcy5lbmFibGVPdHApe1xuICAgICAgICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNob3dQcm9ncmVzc0JhciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2dpbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLnV0aWwuZXJyb3JIYW5kbGVyKGVycik7XG4gICAgICAgICAgICAgICAgdGhpcy51dGlsLmhpZGVMb2FkZXIoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgfVxuXG4gIHNpZ25VcChvdHApe1xuXG4gICAgaWYob3RwID09IG51bGwgfHwgb3RwID09IHVuZGVmaW5lZCl7XG4gICAgICB0aGlzLnV0aWwuc2hvd0Vycm9yKCdPVFAgVmVyaWZpY2F0aW9uIEZhaWxlZC4gUGxlYXNlIHZlcmlmeSBhZ2Fpbi4nKTtcbiAgICB9XG5cbiAgICBsZXQgdXNlck1vZGVsIDogVXNlck1vZGVsID0gbmV3IFVzZXJNb2RlbCgpO1xuICAgIHVzZXJNb2RlbC5maXJzdE5hbWUgPSB0aGlzLmZpcnN0TmFtZS52YWx1ZTtcbiAgICB1c2VyTW9kZWwubWlkZGxlTmFtZSA9IHRoaXMubWlkZGxlTmFtZS52YWx1ZTtcbiAgICB1c2VyTW9kZWwubGFzdE5hbWUgPSB0aGlzLmxhc3ROYW1lLnZhbHVlO1xuICAgIHVzZXJNb2RlbC5kb2IgPSB0aGlzLmRvYi52YWx1ZTtcbiAgICB1c2VyTW9kZWwudXNlcm5hbWUgPSB0aGlzLnNpZ25VcFVzZXJJZC52YWx1ZTtcbiAgICB1c2VyTW9kZWwucGFzc3dvcmQgPSB0aGlzLnBhc3N3b3JkLnZhbHVlO1xuXG4gICAgdGhpcy5sb2dpblNlcnZpY2Uuc2V0VXNlcih1c2VyTW9kZWwpO1xuICAgIHRoaXMubG9naW5TZXJ2aWNlLnNpZ25VcCh1c2VyTW9kZWwpLnN1YnNjcmliZShcbiAgICAgIHJlcyA9PiB7XG4gICAgICAgIHRoaXMub3B0ID0gJ3NpZ25pbic7XG4gICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdZb3UgaGF2ZSBiZWVuIHN1Y2Nlc3NmdWxseSByZWdpc3RlcmVkIGluIFJlRW1wbG95TVMuIFBsZWFzZSBsb2dpbiB0byB1c2UgdG8gdGhlIGZlYXR1cmVzIG9mIHRoZSBhcHAuJyk7XG4gICAgICAgIHRoaXMuc2lnbnVwRm9ybS5yZXNldCgpO1xuICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgICAgfSxcbiAgICAgIGVyciA9PiB7XG4gICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgdGhpcy5sb2dpblNlcnZpY2UucmVzZXQoKTtcbiAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgYXN5bmMgY2hhbmdlTGFuZ3VhZ2UoZXZlbnQpIHtcbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3B1cC5jcmVhdGUoe1xuICAgICAgY29tcG9uZW50OiBMYW5ndWFnZVBhZ2UsXG4gICAgICBldmVudDogZXZlbnQsXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogZmFsc2UsXG4gICAgICBjc3NDbGFzczogJ2JvdHRvbS1zaGVldC1wb3BvdmVyJ1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xuICB9XG5cbiAgaW5pdGlhdGVGb3Jnb3RQYXNzd29yZCgpe1xuICAgIGlmKHRoaXMubG9naW5Gb3JtLmludmFsaWQpe1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLnV0aWxcbiAgICAgICAgLnNob3dMb2FkZXIoKVxuICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgdGhpcy5sb2dpblNlcnZpY2VcbiAgICAgICAgICAgICAgLmluaXRpYXRlRm9yZ290UGFzc3dvcmQodGhpcy51c2VySWQudmFsdWUpXG4gICAgICAgICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5zdWNjZXNzKCdZb3VyIHBhc3N3b3JkIGhhcyBiZWVuIHJlc2V0LiAgWW91IHNob3VsZCByZWNlaXZlIGFuIGVtYWlsIHdpdGggYSB0ZW1wb3JhcnkgcGFzc3dvcmQgYW5kIGxvZ2luIGluc3RydWN0aW9ucy4nKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyID0+IHtcbiAgICAgICAgICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgICAgICAgICAgIHRoaXMubG9naW5Gb3JtLnJlc2V0KCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLmxvZ2luU2VydmljZS5yZXNldCgpO1xuICAgICAgICAgICAgICAgICAgdGhpcy5sb2dpbkZvcm1EaXJlY3RpdmUucmVzZXRGb3JtKCk7XG4gICAgICAgICAgICAgICAgICB0aGlzLnV0aWwuaGlkZUxvYWRlcigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgfSk7XG4gIH1cbn1cbiIsIjxpb24tY29udGVudCBjbGFzcz1cImJhY2tncm91bmRcIj5cclxuICA8cC10b2FzdCBwb3NpdGlvbj1cInRvcC1jZW50ZXJcIiA+PC9wLXRvYXN0PlxyXG4gICAgPGFwcC1jb250ZW50IFtzaG93SGVscF09XCJ0cnVlXCI+XHJcbiAgICAgIDxhcHAtcGFnZSBzcmM9XCJhc3NldHMvaWNvbi9SZUVtcGxveXt7dXRpbC5nZXRTdGF0ZSgpfX0uc3ZnXCIgW2hpZGVDYXJkXT1cInRydWVcIj5cclxuICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgPGFwcC1jYXJkIHRpdGxlPVwibG9naW4uY2FyZC50aXRsZVwiPlxyXG4gICAgICAgICAgICA8cC1kaWFsb2cgaGVhZGVyPVwiTWVzc2FnZVwiIFsodmlzaWJsZSldPVwiZGlzcGxheURpYWxvZ1wiIG1vZGFsPVwidHJ1ZVwiPlxyXG4gICAgICAgICAgICAgIE1heWJlIHlvdSBmb3Jnb3QgeW91ciBVc2VyIElELCBhIEN1c3RvbWVyIFNlcnZpY2UgUmVwcmVzZW50YXRpdmUgaXMgYXZhaWxhYmxlIHRvIGFzc2lzdCB5b3UgTW9uZGF5IHRocm91Z2ggRnJpZGF5IGZyb20gOCBBTSB0byA1IFBNLiAgaWYgd2VhdGhlciBwZXJtaXRzXHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzTVMoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGJyLz4tIEVtcGxveWVycyBtYXkgY2FsbCA2MDEtMzIxLTYzMzQgXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlzTUUoKVwiPlxyXG4gICAgICAgICAgICAgICAgPGJyLz4tIEVtcGxveWVycyBtYXkgY2FsbCAyMDctNjIxLTUxMjBcclxuICAgICAgICAgICAgICAgIDxici8+LSBDbGFpbWFudHMgbWF5IGNhbGwgMS04MDAtNTkzLTc2NjAuXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGJyLz5cclxuICAgICAgICAgICAgICA8cC1mb290ZXI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgKGNsaWNrKT1cImRpc3BsYXlEaWFsb2cgPSAhZGlzcGxheURpYWxvZ1wiIGNvbG9yPVwic3VjY2Vzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwiY2xvc2Utc2hhcnBcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIENsb3NlXHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvcC1mb290ZXI+XHJcbiAgICAgICAgICA8L3AtZGlhbG9nPlxyXG4gICAgICAgICAgICA8bWF0LWhvcml6b250YWwtc3RlcHBlciBbbGluZWFyXT1cInRydWVcIiAjc3RlcHBlcj5cclxuICAgICAgICAgICAgICA8bWF0LXN0ZXAgW3N0ZXBDb250cm9sXT1cImxvZ2luRm9ybVwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIG1hdFN0ZXBMYWJlbD5cclxuICAgICAgICAgICAgICAgICAgPGFwcC1tc2cga2V5PVwibG9naW4uY2FyZC5zdGVwMVwiPjwvYXBwLW1zZz5cclxuICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybVwiICNsb2dpbkZvcm1EaXJlY3RpdmU9XCJuZ0Zvcm1cIj5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlclwiIGpveXJpZGVTdGVwPVwic3RlcDFcIiB0aXRsZT1cInt7J2d1aWRlLmxvZ2luLnVzZXJpZC50aXRsZScgfCB0cmFuc2xhdGV9fVwiIFxyXG4gICAgICAgICAgICAgICAgICB0ZXh0PVwie3snZ3VpZGUubG9naW4udXNlcmlkLm1lc3NhZ2UnIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1hbGlnbi1zZWxmLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtbGFiZWwgPlVzZXIgSUQ8L21hdC1sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgIG1hdElucHV0IFtmb3JtQ29udHJvbF09XCJ1c2VySWRcIiBbZXJyb3JTdGF0ZU1hdGNoZXJdPVwibWF0Y2hlclwiIG1pbmxlbmd0aD1cIjVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCIgYXBwQXV0b2ZvY3VzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJ1c2VySWQuaGFzRXJyb3IoJ3JlcXVpcmVkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFVzZXIgSUQgaXMgPHN0cm9uZz5yZXF1aXJlZDwvc3Ryb25nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxtYXQtZXJyb3IgKm5nSWY9XCJ1c2VySWQuaGFzRXJyb3IoJ21pbmxlbmd0aCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBVc2VyIElEIHNob3VsZCBoYXZlIG1pbmltdW0gPHN0cm9uZz41IGNoYXJhY3RlcnM8L3N0cm9uZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hdC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImp1c3RpZnktY29udGVudC1jZW50ZXJcIiBqb3lyaWRlU3RlcD1cInN0ZXAyXCIgdGl0bGU9XCJ7eydndWlkZS5sb2dpbi5vcHRpb25zLnRpdGxlJyB8IHRyYW5zbGF0ZX19XCIgXHJcbiAgICAgICAgICAgICAgICAgIHRleHQ9XCJ7eydndWlkZS5sb2dpbi5vcHRpb25zLm1lc3NhZ2UnIHwgdHJhbnNsYXRlfX1cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgZXhwYW5kPVwiYmxvY2tcIiAoY2xpY2spPVwiZW5hYmxlUGFzc3dvcmRGaWVsZCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJzdWNjZXNzXCIgcFRvb2x0aXA9XCJMb2dpbiB3aXRoIHBhc3N3b3JkXCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgam95cmlkZVN0ZXA9XCJzdGVwM1wiIHRpdGxlPVwie3snZ3VpZGUubG9naW4ucGFzc3dvcmQudGl0bGUnIHwgdHJhbnNsYXRlfX1cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PVwie3snZ3VpZGUubG9naW4ucGFzc3dvcmQubWVzc2FnZScgfCB0cmFuc2xhdGV9fVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImxvZy1pbi1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgUGFzc3dvcmRcclxuICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGV4cGFuZD1cImJsb2NrXCIgZXhwYW5kPVwiYmxvY2tcIiAoY2xpY2spPVwiZW5hYmxlT3RwRmllbGQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwic3VjY2Vzc1wiIHBUb29sdGlwPVwiTG9naW4gd2l0aCBhdXRoY29kZVwiIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBqb3lyaWRlU3RlcD1cInN0ZXA0XCIgdGl0bGU9XCJ7eydndWlkZS5sb2dpbi5hdXRoY29kZS50aXRsZScgfCB0cmFuc2xhdGV9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ9XCJ7eydndWlkZS5sb2dpbi5hdXRoY29kZS5tZXNzYWdlJyB8IHRyYW5zbGF0ZX19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cImxvZy1pbi1vdXRsaW5lXCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgQXV0aGNvZGVcclxuICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIGpveXJpZGVTdGVwPVwic3RlcDVcIiB0aXRsZT1cIkZvcmdvdCBVc2VyIElEP1wiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dD1cIlByb3ZpZGVzIGFzc2lzdGFuY2UgaWYgeW91IGZvcmdldCB5b3VyIFVzZXIgSUQgdG8gbG9naW5cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGV4cGFuZD1cIm91dGxpbmVcIiBjb2xvcj1cInN1Y2Nlc3NcIiBwVG9vbHRpcD1cIkZvcmdvdCBVc2VyIElEP1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXBQb3NpdGlvbj1cImJvdHRvbVwiIHNpemU9XCJzbWFsbFwiIChjbGljayk9XCJzaG93RGlhbG9nKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgRm9yZ290IFVzZXIgSUQ/XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBcclxuICAgICAgICAgICAgICAgICAgICAgIGpveXJpZGVTdGVwPVwic3RlcDZcIiB0aXRsZT1cIkZvcmdvdCBwYXNzd29yZD9cIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0PVwiUHJvdmlkZXMgYXNzaXN0YW5jZSB0byByZXNldCB5b3VyIHBhc3N3b3JkIHVzaW5nIHlvdXIgcmVnaXN0ZXJlZCBlbWFpbCBhZGRyZXNzXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInN1Ym1pdFwiIGV4cGFuZD1cIm91dGxpbmVcIiBjb2xvcj1cInN1Y2Nlc3NcIiBwVG9vbHRpcD1cIkZvcmdvdCBQYXNzd29yZD9cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwiaW5pdGlhdGVGb3Jnb3RQYXNzd29yZCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIEZvcmdvdCBQYXNzd29yZD9cclxuICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICA8L21hdC1zdGVwPlxyXG4gICAgICAgICAgICAgIDxtYXQtc3RlcD5cclxuICAgICAgICAgICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwibG9naW5UeXBlRm9ybVwiICNsb2dpblR5cGVGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSBtYXRTdGVwTGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1tc2cga2V5PVwibG9naW4uY2FyZC5zdGVwMlwiPjwvYXBwLW1zZz5cclxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgICAgPGlvbi1ncmlkIGNsYXNzPVwiaW9uLXBhZGRpbmctdG9wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgY29sb3I9XCJwcmltYXJ5XCIgY2xhc3M9XCJpb24tanVzdGlmeS1jb250ZW50LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tYWxpZ24tc2VsZi1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgKGNhcHNMb2NrKT1cImNhcHNPbj0kZXZlbnRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWF0LWxhYmVsIGNsYXNzPVwiaW9uLXBhZGRpbmctcmlnaHRcIj5Vc2VyIElEPC9tYXQtbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hdC1sYWJlbCBjbGFzcz1cImlvbi1wYWRkaW5nLWxlZnRcIiBzdHlsZT1cImZsb2F0OiByaWdodDtcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtbWFzayBbdmFsdWVdPVwidXNlcklkLnZhbHVlICArICcnXCIgKm5nSWY9XCJ1c2VySWQudmFsdWVcIj48L2FwcC1tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPjxiciAvPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW5hYmxlT3RwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInAtZmxvYXQtbGFiZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAtcGFzc3dvcmQgW2Zvcm1Db250cm9sXT1cIm90cFwiIGlucHV0SWQ9XCJzaWduSW5QYXNzd29yZFwiIFt0b2dnbGVNYXNrXT0ndHJ1ZScgW2ZlZWRiYWNrXT0nZmFsc2UnPjwvcC1wYXNzd29yZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImZsb2F0LWlucHV0XCI+QXV0aGNvZGU8L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbZmllbGRdPSdvdHAnIFtmb3JtXT1cImxvZ2luVHlwZUZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdBdXRoY29kZSBpcyByZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pbmxlbmd0aDogJ0F1dGhjb2RlIHNob3VsZCBoYXZlIG1pbmltdW0gNiBjaGFyYWN0ZXJzLidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZW5hYmxlUGFzc3dvcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicC1mbG9hdC1sYWJlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cC1wYXNzd29yZCBbZm9ybUNvbnRyb2xdPVwic2lnbkluUGFzc3dvcmRcIiBpbnB1dElkPVwic2lnbkluUGFzc3dvcmRcIiBbdG9nZ2xlTWFza109J3RydWUnIFtmZWVkYmFja109J2ZhbHNlJz48L3AtcGFzc3dvcmQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJmbG9hdC1pbnB1dFwiPlBhc3N3b3JkPC9sYWJlbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0nc2lnbkluUGFzc3dvcmQnIFtmb3JtXT1cImxvZ2luVHlwZUZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdQYXNzd29yZCBpcyByZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgKm5nSWY9XCJjYXBzT25cIiBzdHlsZT1cImNvbG9yOiNiMzQxMWQ7XCI+PHN0cm9uZz5DYXBzIExvY2sgaXMgT248L3N0cm9uZz48L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImlvbi1qdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1ncmlkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1yb3cgY2xhc3M9XCJqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCIgW2hpZGRlbl09XCIhZW5hYmxlU2lnbmluXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiB0eXBlPVwic3VibWl0XCIgZXhwYW5kPVwiYmxvY2tcIiAoY2xpY2spPVwic2lnbkluKClcIiBjb2xvcj1cInN1Y2Nlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24taWNvbiBzbG90PVwic3RhcnRcIiBuYW1lPVwibG9nLWluLW91dGxpbmVcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2lnbiBJblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWJ1dHRvbiBzaGFwZT1cInJvdW5kXCIgdHlwZT1cInJlc2V0XCIgZXhwYW5kPVwiYmxvY2tcIiBleHBhbmQ9XCJibG9ja1wiIChjbGljayk9XCJyZXNldCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yPVwibWVkaXVtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgbmFtZT1cInJlZnJlc2hcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVzZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2lvbi1ncmlkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxiciAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tZ3JpZCAqbmdJZj1cImZhbHNlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLXJvdyBjbGFzcz1cImp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPkZvcmdvdCB1c2VyIElEPzwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi10ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+Rm9yZ290IFBhc3N3b3JkPzwvYT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWdyaWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgICAgICAgPC9pb24tZ3JpZD5cclxuICAgICAgICAgICAgICAgIDwvZm9ybT5cclxuICAgICAgICAgICAgICA8L21hdC1zdGVwPlxyXG4gICAgICAgICAgICA8L21hdC1ob3Jpem9udGFsLXN0ZXBwZXI+XHJcbiAgXHJcbiAgICAgICAgICA8L2FwcC1jYXJkPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImctc2lnbmluMlwiIGRhdGEtd2lkdGg9XCIzMDBcIiBkYXRhLWhlaWdodD1cIjIwMFwiIGRhdGEtbG9uZ3RpdGxlPVwidHJ1ZVwiPjwvZGl2PiAtLT5cclxuICAgICAgPC9hcHAtcGFnZT5cclxuICAgIDwvYXBwLWNvbnRlbnQ+XHJcbiAgPC9pb24tY29udGVudD5cclxuXHJcblxyXG5cclxuIl19