@reusa/ngx-reusa-app-lib 0.0.999 → 0.1.101
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.
- package/README.md +46 -46
- package/esm2022/lib/annimations/app-animations.mjs +1 -1
- package/esm2022/lib/components/add-employer/add-employer.component.mjs +1130 -2312
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +1 -1
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +16 -36
- package/esm2022/lib/components/address/address.component.mjs +58 -52
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +25 -29
- package/esm2022/lib/components/captcha/captcha.component.mjs +6 -6
- package/esm2022/lib/components/card/card.component.mjs +1 -1
- package/esm2022/lib/components/content/content.component.mjs +1 -1
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +1 -1
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +14 -19
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +6 -6
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
- package/esm2022/lib/components/email-update/email-update.component.mjs +32 -14
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +197 -192
- package/esm2022/lib/components/error/error.component.mjs +5 -22
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
- package/esm2022/lib/components/file-download/file-download.component.mjs +1 -1
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +1 -1
- package/esm2022/lib/components/footer/footer.component.mjs +67 -90
- package/esm2022/lib/components/header/header.component.mjs +105 -169
- package/esm2022/lib/components/help/help.component.mjs +1 -1
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +13 -13
- package/esm2022/lib/components/info/info.component.mjs +12 -4
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +1 -1
- package/esm2022/lib/components/job-title/job-title.component.mjs +94 -93
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +82 -93
- package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +329 -0
- package/esm2022/lib/components/link/link.component.mjs +1 -1
- package/esm2022/lib/components/maintenance-detector/maintenance-detector.component.mjs +1 -1
- package/esm2022/lib/components/mask/mask.component.mjs +1 -1
- package/esm2022/lib/components/menu/menu.component.mjs +35 -44
- package/esm2022/lib/components/mfa/mfa.component.mjs +305 -103
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +16 -7
- package/esm2022/lib/components/mfa2/mfa2.component.mjs +260 -0
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +36 -148
- package/esm2022/lib/components/msg/msg.component.mjs +1 -1
- package/esm2022/lib/components/news/news.component.mjs +1 -1
- package/esm2022/lib/components/overlay-info/overlay-info.component.mjs +1 -1
- package/esm2022/lib/components/page/page.component.mjs +1 -1
- package/esm2022/lib/components/profile/profile.component.mjs +213 -56
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +33 -106
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +14 -165
- package/esm2022/lib/components/questionnaire/FbConstants.mjs +1 -1
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +60 -110
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +123 -367
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +9 -9
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +1029 -769
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +325 -157
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +17 -9
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +26 -93
- package/esm2022/lib/components/questionnaire/question-base.mjs +1 -1
- package/esm2022/lib/components/questionnaire/question-control.service.mjs +1 -2
- package/esm2022/lib/components/questionnaire/question.service.mjs +7 -5
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +25 -14
- package/esm2022/lib/components/read-more/read-more.component.mjs +6 -6
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +196 -333
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +24 -47
- package/esm2022/lib/components/security-question/security-question.component.mjs +189 -0
- package/esm2022/lib/components/select/select.component.mjs +1 -1
- package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
- package/esm2022/lib/components/ssn/ssn.component.mjs +1 -1
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +4 -4
- package/esm2022/lib/components/test/test.component.mjs +1 -1
- package/esm2022/lib/components/user-login/user-login.component.mjs +226 -115
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +155 -287
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +46 -62
- package/esm2022/lib/directives/auto-focus/auto-focus.directive.mjs +1 -1
- package/esm2022/lib/directives/caps-lock.directive.mjs +1 -1
- package/esm2022/lib/directives/required-roles/required-roles.directive.mjs +1 -1
- package/esm2022/lib/enums/EmailStatusEnum.mjs +1 -1
- package/esm2022/lib/guards/auth.guard.mjs +4 -26
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
- package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +1 -1
- package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
- package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
- package/esm2022/lib/models/ErrorModel.mjs +1 -1
- package/esm2022/lib/models/FileModel.mjs +1 -1
- package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +2 -0
- package/esm2022/lib/models/LexisNexisResponseModel.mjs +3 -0
- package/esm2022/lib/models/LibConstants.mjs +15 -12
- package/esm2022/lib/models/NotificationModel.mjs +1 -1
- package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
- package/esm2022/lib/models/PartialEmploymentModel.mjs +3 -0
- package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
- package/esm2022/lib/models/SecurityQuestionModel.mjs +3 -0
- package/esm2022/lib/models/TrendModel.mjs +1 -1
- package/esm2022/lib/models/UserDetailsModel.mjs +1 -1
- package/esm2022/lib/models/UserModel.mjs +1 -1
- package/esm2022/lib/models/claimant/ClaimantModel.mjs +1 -1
- package/esm2022/lib/models/claimant/JobResultsData.mjs +1 -1
- package/esm2022/lib/models/claimant/MatchingJobs.mjs +1 -1
- package/esm2022/lib/models/claimant/ResetPasswordModel.mjs +1 -1
- package/esm2022/lib/models/dependent.model.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +1 -2
- package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +175 -73
- package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/KeyValueModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
- package/esm2022/lib/ngx-reusa-app-lib.component.mjs +5 -5
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +13 -27
- package/esm2022/lib/ngx-reusa-app-lib.service.mjs +1 -1
- package/esm2022/lib/pages/BasePage.mjs +22 -3
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +18 -22
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +124 -142
- package/esm2022/lib/pages/common/landing/landing.component.mjs +8 -7
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
- package/esm2022/lib/pages/common/login/login.component.mjs +5 -5
- package/esm2022/lib/pages/common/not-found/not-found.page.mjs +1 -1
- package/esm2022/lib/pages/common/privacy-disclaimer/privacy-disclaimer.page.mjs +14 -14
- package/esm2022/lib/pages/common/security-policy/security-policy.page.mjs +5 -5
- package/esm2022/lib/pages/common/unauthorized/unauthorized.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/language/language.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +1 -1
- package/esm2022/lib/pages/popovers/user-search/user-search.component.mjs +1 -1
- package/esm2022/lib/pipes/filter.pipe.mjs +1 -1
- package/esm2022/lib/pipes/mask/mask.email.pipe.mjs +1 -1
- package/esm2022/lib/pipes/proper-case/proper-case.pipe.mjs +1 -1
- package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +1 -1
- package/esm2022/lib/pipes/trust-html/trust-html.pipe.mjs +1 -1
- package/esm2022/lib/services/base-service.mjs +1 -1
- package/esm2022/lib/services/captcha/captcha.service.mjs +1 -1
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +2 -1
- package/esm2022/lib/services/chatbot/script.const.mjs +1 -1
- package/esm2022/lib/services/claimant/claimant.service.mjs +1 -1
- package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +36 -0
- package/esm2022/lib/services/claimant-service/claimant.service.mjs +13 -1
- package/esm2022/lib/services/claims/claims.service.mjs +14 -57
- package/esm2022/lib/services/dms-service/dms.service.mjs +1 -1
- package/esm2022/lib/services/fpjs/fingerprint.service.mjs +1 -1
- package/esm2022/lib/services/google-analytics/google-analytics.service.mjs +1 -1
- package/esm2022/lib/services/help/help.service.mjs +1 -1
- package/esm2022/lib/services/idle/idle.service.mjs +1 -1
- package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +49 -0
- package/esm2022/lib/services/logger/logger.service.mjs +1 -1
- package/esm2022/lib/services/login/login.service.mjs +11 -1
- package/esm2022/lib/services/maintenance/maintenance.service.mjs +1 -1
- package/esm2022/lib/services/notification/notification.service.mjs +1 -1
- package/esm2022/lib/services/ovp/ovp.service.mjs +43 -0
- package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +1 -4
- package/esm2022/lib/services/questionnaire/validation.service.mjs +1 -4
- package/esm2022/lib/services/security-service/security.service.mjs +6 -5
- package/esm2022/lib/services/tour/tour.service.mjs +1 -1
- package/esm2022/lib/services/util/util.service.mjs +5 -5
- package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +42 -0
- package/esm2022/lib/validations/AppRegex.mjs +1 -1
- package/esm2022/lib/validations/AppValidators.mjs +14 -34
- package/esm2022/public-api.mjs +5 -16
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +7480 -10431
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts +48 -77
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/add-payment/add-payment.component.d.ts +2 -7
- package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
- package/lib/components/address/address.component.d.ts +3 -2
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/email-update/email-update.component.d.ts +7 -1
- package/lib/components/email-update/email-update.component.d.ts.map +1 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts +3 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/error/error.component.d.ts +2 -3
- package/lib/components/error/error.component.d.ts.map +1 -1
- package/lib/components/footer/footer.component.d.ts.map +1 -1
- package/lib/components/header/header.component.d.ts +0 -1
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/job-title/job-title.component.d.ts +21 -22
- package/lib/components/job-title/job-title.component.d.ts.map +1 -1
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +2 -5
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +55 -0
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -0
- package/lib/components/menu/menu.component.d.ts.map +1 -1
- package/lib/components/mfa/mfa.component.d.ts +26 -3
- package/lib/components/mfa/mfa.component.d.ts.map +1 -1
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +4 -1
- package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
- package/lib/components/mfa2/mfa2.component.d.ts +48 -0
- package/lib/components/mfa2/mfa2.component.d.ts.map +1 -0
- package/lib/components/money-expect/money-expect.component.d.ts +4 -15
- package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
- package/lib/components/profile/profile.component.d.ts +32 -4
- package/lib/components/profile/profile.component.d.ts.map +1 -1
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +2 -9
- package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
- package/lib/components/questionnaire/AppValidators.d.ts +0 -1
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +10 -13
- package/lib/components/questionnaire/account-success/account-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/common-success/common-success.page.d.ts +0 -7
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +32 -14
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +24 -3
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +3 -0
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts.map +1 -1
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts +1 -6
- package/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.d.ts.map +1 -1
- package/lib/components/questionnaire/question-control.service.d.ts.map +1 -1
- package/lib/components/questionnaire/question.service.d.ts +1 -0
- package/lib/components/questionnaire/question.service.d.ts.map +1 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +3 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts.map +1 -1
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts +3 -6
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
- package/lib/components/search-employer/search-employer.component.d.ts +2 -1
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/security-question/security-question.component.d.ts +37 -0
- package/lib/components/security-question/security-question.component.d.ts.map +1 -0
- package/lib/components/user-login/user-login.component.d.ts +22 -5
- package/lib/components/user-login/user-login.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +0 -6
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts +0 -1
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
- package/lib/guards/auth.guard.d.ts +1 -3
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/models/EmployerDetailSearchResult.d.ts +1 -3
- package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
- package/lib/models/LexisNexisAccountCreationModel.d.ts +15 -0
- package/lib/models/LexisNexisAccountCreationModel.d.ts.map +1 -0
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +16 -0
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +1 -0
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +39 -0
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +1 -0
- package/lib/models/LexisNexisResponseModel.d.ts +7 -0
- package/lib/models/LexisNexisResponseModel.d.ts.map +1 -0
- package/lib/models/LibConstants.d.ts +12 -9
- package/lib/models/LibConstants.d.ts.map +1 -1
- package/lib/models/PartialEmploymentModel.d.ts +6 -0
- package/lib/models/PartialEmploymentModel.d.ts.map +1 -0
- package/lib/models/PaymentComponentModel.d.ts +1 -1
- package/lib/models/PaymentComponentModel.d.ts.map +1 -1
- package/lib/models/SecurityQuestionModel.d.ts +7 -0
- package/lib/models/SecurityQuestionModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +0 -1
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +3 -13
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +1 -2
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ComboModel.d.ts +16 -20
- package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ElementsModel.d.ts +1 -0
- package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +0 -2
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
- package/lib/models/questionnaire/StatusModel.d.ts +0 -1
- package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
- package/lib/ngx-reusa-app-lib.module.d.ts +86 -95
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/pages/BasePage.d.ts +6 -3
- package/lib/pages/BasePage.d.ts.map +1 -1
- package/lib/pages/common/change-password/change-password.page.d.ts +0 -3
- package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +16 -0
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +1 -0
- package/lib/services/claimant-service/claimant.service.d.ts +5 -0
- package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
- package/lib/services/claims/claims.service.d.ts +5 -24
- package/lib/services/claims/claims.service.d.ts.map +1 -1
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +23 -0
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +1 -0
- package/lib/services/login/login.service.d.ts +3 -0
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/ovp/ovp.service.d.ts +17 -0
- package/lib/services/ovp/ovp.service.d.ts.map +1 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts +0 -1
- package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
- package/lib/services/questionnaire/validation.service.d.ts +0 -3
- package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
- package/lib/services/security-service/security.service.d.ts +4 -5
- package/lib/services/security-service/security.service.d.ts.map +1 -1
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +17 -0
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -0
- package/lib/validations/AppValidators.d.ts +3 -7
- package/lib/validations/AppValidators.d.ts.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +4 -15
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/components/add-wage/add-wage.component.mjs +0 -160
- package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +0 -174
- package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +0 -335
- package/esm2022/lib/components/employer-info/employer-info.component.mjs +0 -326
- package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +0 -243
- package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +0 -302
- package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +0 -172
- package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +0 -179
- package/esm2022/lib/components/idme/idme.component.mjs +0 -80
- package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +0 -25
- package/esm2022/lib/components/sms/sms.component.mjs +0 -334
- package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +0 -274
- package/esm2022/lib/models/CountyModel.mjs +0 -3
- package/esm2022/lib/models/DuaRequestModel.mjs +0 -3
- package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +0 -6
- package/esm2022/lib/models/EmployerInfoComponentModel.mjs +0 -4
- package/esm2022/lib/models/EmployerPayInfoModel.mjs +0 -6
- package/esm2022/lib/models/FarmUsageComponentModel.mjs +0 -2
- package/esm2022/lib/models/GrossEarningsModel.mjs +0 -3
- package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +0 -3
- package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +0 -3
- package/esm2022/lib/models/RetroWeeksModel.mjs +0 -3
- package/esm2022/lib/models/SendOtpRequestModel.mjs +0 -3
- package/esm2022/lib/models/VerifyOtpRequestModel.mjs +0 -3
- package/esm2022/lib/models/WageInfoModel.mjs +0 -4
- package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +0 -3
- package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +0 -3
- package/esm2022/lib/services/employer/employer-service.mjs +0 -35
- package/lib/components/add-wage/add-wage.component.d.ts +0 -29
- package/lib/components/add-wage/add-wage.component.d.ts.map +0 -1
- package/lib/components/associate-ssn/associate-ssn.component.d.ts +0 -28
- package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +0 -1
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +0 -59
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +0 -1
- package/lib/components/employer-info/employer-info.component.d.ts +0 -48
- package/lib/components/employer-info/employer-info.component.d.ts.map +0 -1
- package/lib/components/employer-pay/employer-pay.component.d.ts +0 -51
- package/lib/components/employer-pay/employer-pay.component.d.ts.map +0 -1
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +0 -43
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +0 -1
- package/lib/components/farm-usage/farm-usage.component.d.ts +0 -33
- package/lib/components/farm-usage/farm-usage.component.d.ts.map +0 -1
- package/lib/components/gross-earnings/gross-earnings.component.d.ts +0 -37
- package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +0 -1
- package/lib/components/idme/idme.component.d.ts +0 -19
- package/lib/components/idme/idme.component.d.ts.map +0 -1
- package/lib/components/scrollable-text/scrollable-text.component.d.ts +0 -11
- package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +0 -1
- package/lib/components/sms/sms.component.d.ts +0 -63
- package/lib/components/sms/sms.component.d.ts.map +0 -1
- package/lib/components/wage-grid/wage-grid.component.d.ts +0 -43
- package/lib/components/wage-grid/wage-grid.component.d.ts.map +0 -1
- package/lib/models/CountyModel.d.ts +0 -8
- package/lib/models/CountyModel.d.ts.map +0 -1
- package/lib/models/DuaRequestModel.d.ts +0 -10
- package/lib/models/DuaRequestModel.d.ts.map +0 -1
- package/lib/models/DuaRetroWeeksComponentModel.d.ts +0 -5
- package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +0 -1
- package/lib/models/EmployerInfoComponentModel.d.ts +0 -9
- package/lib/models/EmployerInfoComponentModel.d.ts.map +0 -1
- package/lib/models/EmployerPayInfoModel.d.ts +0 -20
- package/lib/models/EmployerPayInfoModel.d.ts.map +0 -1
- package/lib/models/FarmUsageComponentModel.d.ts +0 -10
- package/lib/models/FarmUsageComponentModel.d.ts.map +0 -1
- package/lib/models/GrossEarningsModel.d.ts +0 -6
- package/lib/models/GrossEarningsModel.d.ts.map +0 -1
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +0 -7
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +0 -1
- package/lib/models/ReasonSeparationRequestModel.d.ts +0 -7
- package/lib/models/ReasonSeparationRequestModel.d.ts.map +0 -1
- package/lib/models/RetroWeeksModel.d.ts +0 -10
- package/lib/models/RetroWeeksModel.d.ts.map +0 -1
- package/lib/models/SendOtpRequestModel.d.ts +0 -12
- package/lib/models/SendOtpRequestModel.d.ts.map +0 -1
- package/lib/models/VerifyOtpRequestModel.d.ts +0 -8
- package/lib/models/VerifyOtpRequestModel.d.ts.map +0 -1
- package/lib/models/WageInfoModel.d.ts +0 -9
- package/lib/models/WageInfoModel.d.ts.map +0 -1
- package/lib/models/questionnaire/ScrollableTextModel.d.ts +0 -4
- package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +0 -1
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts +0 -4
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +0 -1
- package/lib/services/employer/employer-service.d.ts +0 -16
- package/lib/services/employer/employer-service.d.ts.map +0 -1
|
@@ -1,334 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Output, ViewChild, Input } from '@angular/core';
|
|
2
|
-
import { ComboOption } from '../../models/questionnaire/ComboModel';
|
|
3
|
-
import { Validators, UntypedFormControl } from '@angular/forms';
|
|
4
|
-
import { SendOtpRequestModel } from '../../models/SendOtpRequestModel';
|
|
5
|
-
import { VerifyOtpRequestModel } from '../../models/VerifyOtpRequestModel';
|
|
6
|
-
import { FbConstants } from '../questionnaire/FbConstants';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../services/logger/logger.service";
|
|
9
|
-
import * as i2 from "../../services/questionnaire/validation.service";
|
|
10
|
-
import * as i3 from "@angular/forms";
|
|
11
|
-
import * as i4 from "../../services/claims/claims.service";
|
|
12
|
-
import * as i5 from "../../services/security-service/security.service";
|
|
13
|
-
import * as i6 from "@angular/router";
|
|
14
|
-
import * as i7 from "@ionic/storage-angular";
|
|
15
|
-
import * as i8 from "@ionic/angular";
|
|
16
|
-
import * as i9 from "@angular/common";
|
|
17
|
-
import * as i10 from "primeng/inputtext";
|
|
18
|
-
import * as i11 from "primeng/selectbutton";
|
|
19
|
-
import * as i12 from "../error/error.component";
|
|
20
|
-
const _c0 = ["sendOtpRequestFormDirective"];
|
|
21
|
-
function SmsComponent_div_16_Template(rf, ctx) { if (rf & 1) {
|
|
22
|
-
const _r9 = i0.ɵɵgetCurrentView();
|
|
23
|
-
i0.ɵɵelementStart(0, "div", 15)(1, "ion-button", 16);
|
|
24
|
-
i0.ɵɵlistener("click", function SmsComponent_div_16_Template_ion_button_click_1_listener() { const restoredCtx = i0.ɵɵrestoreView(_r9); const phoneNum_r7 = restoredCtx.$implicit; const ctx_r8 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r8.select(phoneNum_r7)); });
|
|
25
|
-
i0.ɵɵelement(2, "ion-icon", 17);
|
|
26
|
-
i0.ɵɵelementEnd();
|
|
27
|
-
i0.ɵɵelementStart(3, "ion-label");
|
|
28
|
-
i0.ɵɵtext(4);
|
|
29
|
-
i0.ɵɵelementEnd()();
|
|
30
|
-
} if (rf & 2) {
|
|
31
|
-
const phoneNum_r7 = ctx.$implicit;
|
|
32
|
-
const ctx_r1 = i0.ɵɵnextContext();
|
|
33
|
-
i0.ɵɵadvance(1);
|
|
34
|
-
i0.ɵɵproperty("color", ctx_r1.selectedPhoneNumber === phoneNum_r7 ? "success" : "primary");
|
|
35
|
-
i0.ɵɵadvance(1);
|
|
36
|
-
i0.ɵɵproperty("name", ctx_r1.selectedPhoneNumber === phoneNum_r7 ? "checkmark-circle-outline" : "ellipse-outline");
|
|
37
|
-
i0.ɵɵadvance(2);
|
|
38
|
-
i0.ɵɵtextInterpolate("*** *** " + phoneNum_r7.slice(-4));
|
|
39
|
-
} }
|
|
40
|
-
const _c1 = () => ({ required: "required." });
|
|
41
|
-
function SmsComponent_ion_col_18_Template(rf, ctx) { if (rf & 1) {
|
|
42
|
-
i0.ɵɵelementStart(0, "ion-col", 18);
|
|
43
|
-
i0.ɵɵelement(1, "br");
|
|
44
|
-
i0.ɵɵelementStart(2, "label", 19);
|
|
45
|
-
i0.ɵɵtext(3, "Send code by");
|
|
46
|
-
i0.ɵɵelementEnd();
|
|
47
|
-
i0.ɵɵelement(4, "br")(5, "p-selectButton", 20)(6, "app-error", 8);
|
|
48
|
-
i0.ɵɵelementEnd();
|
|
49
|
-
} if (rf & 2) {
|
|
50
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
51
|
-
const _r0 = i0.ɵɵreference(1);
|
|
52
|
-
i0.ɵɵadvance(5);
|
|
53
|
-
i0.ɵɵproperty("options", ctx_r2.contactOptions)("formControl", ctx_r2.otpDeliveryMethod);
|
|
54
|
-
i0.ɵɵadvance(1);
|
|
55
|
-
i0.ɵɵclassMap("app-grid");
|
|
56
|
-
i0.ɵɵproperty("field", ctx_r2.otpDeliveryMethod)("form", _r0)("errDef", i0.ɵɵpureFunction0(7, _c1));
|
|
57
|
-
} }
|
|
58
|
-
function SmsComponent_div_20_Template(rf, ctx) { if (rf & 1) {
|
|
59
|
-
const _r11 = i0.ɵɵgetCurrentView();
|
|
60
|
-
i0.ɵɵelementStart(0, "div", 5);
|
|
61
|
-
i0.ɵɵelement(1, "br")(2, "br");
|
|
62
|
-
i0.ɵɵelementStart(3, "ion-button", 21);
|
|
63
|
-
i0.ɵɵlistener("click", function SmsComponent_div_20_Template_ion_button_click_3_listener() { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r10.getCode()); });
|
|
64
|
-
i0.ɵɵtext(4, "Get Code");
|
|
65
|
-
i0.ɵɵelementEnd()();
|
|
66
|
-
} if (rf & 2) {
|
|
67
|
-
const ctx_r3 = i0.ɵɵnextContext();
|
|
68
|
-
i0.ɵɵadvance(3);
|
|
69
|
-
i0.ɵɵproperty("disabled", ctx_r3.disableGetCode == true);
|
|
70
|
-
} }
|
|
71
|
-
function SmsComponent_div_23_Template(rf, ctx) { if (rf & 1) {
|
|
72
|
-
i0.ɵɵelementStart(0, "div", 2)(1, "label", 22);
|
|
73
|
-
i0.ɵɵtext(2, "Check your phone");
|
|
74
|
-
i0.ɵɵelementEnd();
|
|
75
|
-
i0.ɵɵelement(3, "br")(4, "input", 23)(5, "input", 24);
|
|
76
|
-
i0.ɵɵelementEnd();
|
|
77
|
-
} if (rf & 2) {
|
|
78
|
-
const ctx_r4 = i0.ɵɵnextContext();
|
|
79
|
-
i0.ɵɵadvance(4);
|
|
80
|
-
i0.ɵɵproperty("formControl", ctx_r4.otp);
|
|
81
|
-
} }
|
|
82
|
-
function SmsComponent_div_24_Template(rf, ctx) { if (rf & 1) {
|
|
83
|
-
i0.ɵɵelementStart(0, "div", 25);
|
|
84
|
-
i0.ɵɵtext(1);
|
|
85
|
-
i0.ɵɵelementEnd();
|
|
86
|
-
} if (rf & 2) {
|
|
87
|
-
const ctx_r5 = i0.ɵɵnextContext();
|
|
88
|
-
i0.ɵɵadvance(1);
|
|
89
|
-
i0.ɵɵtextInterpolate1(" ", ctx_r5.errorMessage, " ");
|
|
90
|
-
} }
|
|
91
|
-
function SmsComponent_div_25_Template(rf, ctx) { if (rf & 1) {
|
|
92
|
-
const _r13 = i0.ɵɵgetCurrentView();
|
|
93
|
-
i0.ɵɵelementStart(0, "div", 26)(1, "ion-button", 27);
|
|
94
|
-
i0.ɵɵlistener("click", function SmsComponent_div_25_Template_ion_button_click_1_listener() { i0.ɵɵrestoreView(_r13); const ctx_r12 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r12.verify()); });
|
|
95
|
-
i0.ɵɵelement(2, "ion-icon", 28);
|
|
96
|
-
i0.ɵɵtext(3, " Verify ");
|
|
97
|
-
i0.ɵɵelementEnd()();
|
|
98
|
-
} if (rf & 2) {
|
|
99
|
-
const ctx_r6 = i0.ɵɵnextContext();
|
|
100
|
-
i0.ɵɵadvance(1);
|
|
101
|
-
i0.ɵɵproperty("disabled", ctx_r6.disableVerifyButton);
|
|
102
|
-
i0.ɵɵadvance(1);
|
|
103
|
-
i0.ɵɵproperty("name", ctx_r6.successCheck ? "checkmark-circle-outline" : "ellipse-outline");
|
|
104
|
-
} }
|
|
105
|
-
export class SmsComponent {
|
|
106
|
-
constructor(logger, vs, formBuilder, cs, ss, activatedRoute, storage) {
|
|
107
|
-
this.logger = logger;
|
|
108
|
-
this.vs = vs;
|
|
109
|
-
this.formBuilder = formBuilder;
|
|
110
|
-
this.cs = cs;
|
|
111
|
-
this.ss = ss;
|
|
112
|
-
this.activatedRoute = activatedRoute;
|
|
113
|
-
this.storage = storage;
|
|
114
|
-
this.delay = false;
|
|
115
|
-
this.isDisabled = false;
|
|
116
|
-
this.contactOptions = ComboOption.CONTACT_OPTIONS;
|
|
117
|
-
this.disableGetCode = false;
|
|
118
|
-
this.disableVerifyButton = false;
|
|
119
|
-
this.showCodeInput = false;
|
|
120
|
-
this.successCheck = false;
|
|
121
|
-
this.displayCheckBox = false;
|
|
122
|
-
this.showResponse = false;
|
|
123
|
-
this.showError = false;
|
|
124
|
-
this.maxAllowedAttempts = 2;
|
|
125
|
-
this.attemptCount = 0;
|
|
126
|
-
this.process = "CLAP";
|
|
127
|
-
this.responseFormat = "JSON";
|
|
128
|
-
this.transactionId = null;
|
|
129
|
-
this.otpRequestId = null;
|
|
130
|
-
this.otpVerificationStatus = null;
|
|
131
|
-
this.accepted = new EventEmitter();
|
|
132
|
-
this.errorMessage = '';
|
|
133
|
-
this.uuid = null;
|
|
134
|
-
}
|
|
135
|
-
ngOnInit() {
|
|
136
|
-
this.getPhoneNumbersList();
|
|
137
|
-
this.initilizeSmsForm();
|
|
138
|
-
setTimeout(() => {
|
|
139
|
-
this.delay = true;
|
|
140
|
-
}, 1700);
|
|
141
|
-
}
|
|
142
|
-
async getIdentifier() {
|
|
143
|
-
let uuid;
|
|
144
|
-
let data = this.activatedRoute.snapshot.queryParamMap.get('identifier');
|
|
145
|
-
this.logger.debug("data for identifier is : ", data);
|
|
146
|
-
if (data) {
|
|
147
|
-
uuid = data;
|
|
148
|
-
}
|
|
149
|
-
else {
|
|
150
|
-
uuid = await this.storage.get(FbConstants.uuid);
|
|
151
|
-
}
|
|
152
|
-
return uuid;
|
|
153
|
-
}
|
|
154
|
-
async getPhoneNumbersList() {
|
|
155
|
-
this.uuid = await this.getIdentifier();
|
|
156
|
-
this.logger.debug('uuid is ====', this.uuid);
|
|
157
|
-
this.cs.getPhoneNumbersForOtpByUuid(this.uuid).subscribe(res => {
|
|
158
|
-
this.phoneNumbers = res.phoneNumbers;
|
|
159
|
-
this.transactionId = res.id;
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
initilizeSmsForm() {
|
|
163
|
-
let sendOtpRequestInfo = new SendOtpRequestModel();
|
|
164
|
-
this.sendOtpRequestForm = this.formBuilder.group({
|
|
165
|
-
'phoneNumber': [sendOtpRequestInfo.phoneNumber, Validators.required],
|
|
166
|
-
'otpDeliveryMethod': [sendOtpRequestInfo.otpDeliveryMethod, Validators.required],
|
|
167
|
-
'otp': []
|
|
168
|
-
});
|
|
169
|
-
this.form.addControl('lnVerifyHidden', new UntypedFormControl(null, [Validators.requiredTrue, Validators.required]));
|
|
170
|
-
this.question.name = "lnVerifyHidden";
|
|
171
|
-
}
|
|
172
|
-
getCode() {
|
|
173
|
-
this.disableGetCode = true;
|
|
174
|
-
this.logger.debug('Sending code');
|
|
175
|
-
this.showError = false;
|
|
176
|
-
if (this.sendOtpRequestForm.valid && this.attemptCount <= this.maxAllowedAttempts) {
|
|
177
|
-
this.showCodeInput = !this.showCodeInput;
|
|
178
|
-
let sendOtpRequestData = this.sendOtpRequestForm.value;
|
|
179
|
-
if (this.transactionId != null) {
|
|
180
|
-
sendOtpRequestData.id = this.transactionId;
|
|
181
|
-
sendOtpRequestData.process = this.process;
|
|
182
|
-
sendOtpRequestData.responseFormat = this.responseFormat;
|
|
183
|
-
//this.attemptCount = this.attemptCount + 1;
|
|
184
|
-
this.ss.sendOtpRequest(sendOtpRequestData).subscribe(res => {
|
|
185
|
-
var parsed = JSON.parse(JSON.stringify(res));
|
|
186
|
-
;
|
|
187
|
-
this.otpRequestId = parsed["otpRequestId"];
|
|
188
|
-
}, err => {
|
|
189
|
-
this.logger.debug('Get code error ', err);
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
}
|
|
194
|
-
verify() {
|
|
195
|
-
let verifyOtpRequestData = new VerifyOtpRequestModel();
|
|
196
|
-
verifyOtpRequestData.otp = this.sendOtpRequestForm.get('otp')?.value;
|
|
197
|
-
//Checking the length of the otp before trigger the verify API Call
|
|
198
|
-
if (verifyOtpRequestData.otp.length === 6) {
|
|
199
|
-
this.attemptCount = this.attemptCount + 1;
|
|
200
|
-
this.lnVerifyHidden.setValue(true);
|
|
201
|
-
this.logger.debug(' this.otpRequestId', this.otpRequestId);
|
|
202
|
-
this.logger.debug(' this.transactionId', this.transactionId);
|
|
203
|
-
verifyOtpRequestData.id = this.transactionId;
|
|
204
|
-
verifyOtpRequestData.process = this.process;
|
|
205
|
-
verifyOtpRequestData.responseFormat = this.responseFormat;
|
|
206
|
-
verifyOtpRequestData.otpRequestId = this.otpRequestId;
|
|
207
|
-
this.ss.verifyOtpRequest(verifyOtpRequestData).subscribe(res => {
|
|
208
|
-
var parsed = JSON.parse(JSON.stringify(res));
|
|
209
|
-
this.otpVerificationStatus = parsed["otpVerificationStatus"];
|
|
210
|
-
this.logger.debug('this otpVerificationStatus : ', this.otpVerificationStatus);
|
|
211
|
-
if (this.otpVerificationStatus === 'PASS') {
|
|
212
|
-
this.logger.debug('otpVerificationStatus is Pass');
|
|
213
|
-
this.showError = false;
|
|
214
|
-
this.successCheck = true;
|
|
215
|
-
this.lnVerifyHidden.setValue(true);
|
|
216
|
-
this.accepted.emit(true);
|
|
217
|
-
}
|
|
218
|
-
else {
|
|
219
|
-
this.logger.debug('otpVerificationStatus is Not Pass and attempts remaining', this.otpVerificationStatus);
|
|
220
|
-
this.errorMessage = 'wrong code';
|
|
221
|
-
this.showError = true;
|
|
222
|
-
this.showCodeInput = true;
|
|
223
|
-
this.sendOtpRequestForm.get('otp')?.patchValue(null);
|
|
224
|
-
if (this.attemptCount >= this.maxAllowedAttempts) {
|
|
225
|
-
this.errorMessage = 'only 2 tries allowed';
|
|
226
|
-
this.showError = true;
|
|
227
|
-
this.disableVerifyButton = true;
|
|
228
|
-
this.logger.debug('Reached max attempt limit, no need to try further..');
|
|
229
|
-
this.lnVerifyHidden.setValue(true);
|
|
230
|
-
this.accepted.emit(true);
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
}, err => {
|
|
234
|
-
this.logger.debug('Verify status error ', err);
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
else {
|
|
238
|
-
this.errorMessage = null;
|
|
239
|
-
this.lnVerifyHidden.setValue(false);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
select(phoneNum) {
|
|
243
|
-
if (this.selectedPhoneNumber === phoneNum) {
|
|
244
|
-
this.selectedPhoneNumber = null;
|
|
245
|
-
}
|
|
246
|
-
else {
|
|
247
|
-
this.selectedPhoneNumber = phoneNum;
|
|
248
|
-
this.sendOtpRequestForm.get('phoneNumber').setValue(phoneNum);
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
get lnVerifyHidden() {
|
|
252
|
-
return this.form.get('lnVerifyHidden');
|
|
253
|
-
}
|
|
254
|
-
get phoneNumber() {
|
|
255
|
-
return this.sendOtpRequestForm.controls['phoneNumber'];
|
|
256
|
-
}
|
|
257
|
-
get otpDeliveryMethod() {
|
|
258
|
-
return this.sendOtpRequestForm.controls['otpDeliveryMethod'];
|
|
259
|
-
}
|
|
260
|
-
get otp() {
|
|
261
|
-
return this.sendOtpRequestForm.controls['otp'];
|
|
262
|
-
}
|
|
263
|
-
static { this.ɵfac = function SmsComponent_Factory(t) { return new (t || SmsComponent)(i0.ɵɵdirectiveInject(i1.LoggerService), i0.ɵɵdirectiveInject(i2.ValidationService), i0.ɵɵdirectiveInject(i3.UntypedFormBuilder), i0.ɵɵdirectiveInject(i4.ClaimService), i0.ɵɵdirectiveInject(i5.SecurityService), i0.ɵɵdirectiveInject(i6.ActivatedRoute), i0.ɵɵdirectiveInject(i7.Storage)); }; }
|
|
264
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SmsComponent, selectors: [["app-sms"]], viewQuery: function SmsComponent_Query(rf, ctx) { if (rf & 1) {
|
|
265
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
266
|
-
} if (rf & 2) {
|
|
267
|
-
let _t;
|
|
268
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sendOtpRequestFormDirective = _t.first);
|
|
269
|
-
} }, inputs: { form: "form", question: "question" }, outputs: { accepted: "accepted" }, decls: 28, vars: 17, consts: [[3, "formGroup"], ["sendOtpRequestFormDirective", "ngForm"], [2, "margin-left", "-10px"], ["size", "auto"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "4.75", "sizeLg", "4.75", "sizeXl", "4.75"], [1, "p-fluid", "p-formgrid"], ["for", "phoneNumber", 2, "margin-left", "-15px"], ["style", "margin-left: -15px;", 4, "ngFor", "ngForOf"], [3, "field", "form", "errDef"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "3.75", "sizeLg", "3.75", "sizeXl", "3.75", 4, "ngIf"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "3.5", "sizeLg", "3.5", "sizeXl", "3.5"], ["class", "p-fluid p-formgrid", 4, "ngIf"], ["style", "margin-left: -10px;", 4, "ngIf"], ["style", "color:#e60e0e; margin-left: -10px; font-size: 15px", 4, "ngIf"], ["class", "p-fluid p-formgrid", "style", "margin-left: -15px", 4, "ngIf"], [2, "margin-left", "-15px"], ["size", "small", "fill", "outline", 1, "action-button", 3, "color", "click"], [2, "font-size", "25px", "font-weight", "bold", 3, "name"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "3.75", "sizeLg", "3.75", "sizeXl", "3.75"], ["for", "otpDeliveryMethod", 2, "padding-left", "2px"], ["optionLabel", "text", "optionValue", "value", 3, "options", "formControl"], ["shape", "round", "fill", "outline", "type", "submit", 2, "width", "80px", "margin-top", "-1px", "margin-bottom", "5px", 3, "disabled", "click"], ["for", "otp"], ["type", "input", "placeholder", "enter code", "pTextInput", "", "maxlength", "6", 2, "width", "110px", "height", "30px", "margin-top", "5px", 3, "formControl"], ["type", "text", "id", "lnVerifyHidden", "pInputText", "", "formControlName", "lnVerifyHidden", "hidden", ""], [2, "color", "#e60e0e", "margin-left", "-10px", "font-size", "15px"], [1, "p-fluid", "p-formgrid", 2, "margin-left", "-15px"], ["size", "small", "shape", "round", "fill", "outline", "type", "submit", 2, "width", "90px", "height", "20px", "margin-bottom", "-45px", "border-radius", "10px", 3, "disabled", "click"], ["slot", "start", 2, "font-size", "20px", "font-weight", "bold", 3, "name"]], template: function SmsComponent_Template(rf, ctx) { if (rf & 1) {
|
|
270
|
-
i0.ɵɵelementStart(0, "form", 0, 1)(2, "ion-grid")(3, "div", 2);
|
|
271
|
-
i0.ɵɵtext(4, "To protect you, we need to verify your identity. We'll send a code to your phone.");
|
|
272
|
-
i0.ɵɵelement(5, "br");
|
|
273
|
-
i0.ɵɵtext(6, "- The code is good for 5 minutes.");
|
|
274
|
-
i0.ɵɵelement(7, "br");
|
|
275
|
-
i0.ɵɵtext(8, "- You have two tries to enter the code correctly ");
|
|
276
|
-
i0.ɵɵelementEnd();
|
|
277
|
-
i0.ɵɵelementStart(9, "div")(10, "ion-row", 3)(11, "ion-col", 4)(12, "div", 5);
|
|
278
|
-
i0.ɵɵelement(13, "br");
|
|
279
|
-
i0.ɵɵelementStart(14, "label", 6);
|
|
280
|
-
i0.ɵɵtext(15, "Choose your phone number");
|
|
281
|
-
i0.ɵɵelementEnd();
|
|
282
|
-
i0.ɵɵtemplate(16, SmsComponent_div_16_Template, 5, 3, "div", 7);
|
|
283
|
-
i0.ɵɵelementEnd();
|
|
284
|
-
i0.ɵɵelement(17, "app-error", 8);
|
|
285
|
-
i0.ɵɵelementEnd();
|
|
286
|
-
i0.ɵɵtemplate(18, SmsComponent_ion_col_18_Template, 7, 8, "ion-col", 9);
|
|
287
|
-
i0.ɵɵelementStart(19, "ion-col", 10);
|
|
288
|
-
i0.ɵɵtemplate(20, SmsComponent_div_20_Template, 5, 1, "div", 11);
|
|
289
|
-
i0.ɵɵelementEnd()();
|
|
290
|
-
i0.ɵɵelementStart(21, "ion-row")(22, "div", 5);
|
|
291
|
-
i0.ɵɵtemplate(23, SmsComponent_div_23_Template, 6, 1, "div", 12)(24, SmsComponent_div_24_Template, 2, 1, "div", 13);
|
|
292
|
-
i0.ɵɵelementEnd();
|
|
293
|
-
i0.ɵɵtemplate(25, SmsComponent_div_25_Template, 4, 2, "div", 14);
|
|
294
|
-
i0.ɵɵelementEnd()();
|
|
295
|
-
i0.ɵɵelementStart(26, "div", 2);
|
|
296
|
-
i0.ɵɵelement(27, "app-error", 8);
|
|
297
|
-
i0.ɵɵelementEnd()()();
|
|
298
|
-
} if (rf & 2) {
|
|
299
|
-
const _r0 = i0.ɵɵreference(1);
|
|
300
|
-
i0.ɵɵproperty("formGroup", ctx.sendOtpRequestForm);
|
|
301
|
-
i0.ɵɵadvance(16);
|
|
302
|
-
i0.ɵɵproperty("ngForOf", ctx.phoneNumbers);
|
|
303
|
-
i0.ɵɵadvance(1);
|
|
304
|
-
i0.ɵɵclassMap("app-grid");
|
|
305
|
-
i0.ɵɵproperty("field", ctx.phoneNumber)("form", _r0)("errDef", i0.ɵɵpureFunction0(15, _c1));
|
|
306
|
-
i0.ɵɵadvance(1);
|
|
307
|
-
i0.ɵɵproperty("ngIf", ctx.delay);
|
|
308
|
-
i0.ɵɵadvance(2);
|
|
309
|
-
i0.ɵɵproperty("ngIf", ctx.phoneNumber.value && ctx.otpDeliveryMethod.value);
|
|
310
|
-
i0.ɵɵadvance(3);
|
|
311
|
-
i0.ɵɵproperty("ngIf", ctx.showCodeInput);
|
|
312
|
-
i0.ɵɵadvance(1);
|
|
313
|
-
i0.ɵɵproperty("ngIf", ctx.showError);
|
|
314
|
-
i0.ɵɵadvance(1);
|
|
315
|
-
i0.ɵɵproperty("ngIf", ctx.showCodeInput);
|
|
316
|
-
i0.ɵɵadvance(2);
|
|
317
|
-
i0.ɵɵproperty("field", ctx.lnVerifyHidden)("form", _r0)("errDef", i0.ɵɵpureFunction0(16, _c1));
|
|
318
|
-
} }, dependencies: [i8.IonButton, i8.IonCol, i8.IonGrid, i8.IonIcon, i8.IonLabel, i8.IonRow, i9.NgForOf, i9.NgIf, i3.ɵNgNoValidate, i3.DefaultValueAccessor, i3.NgControlStatus, i3.NgControlStatusGroup, i3.MaxLengthValidator, i3.FormControlDirective, i3.FormGroupDirective, i3.FormControlName, i10.InputText, i11.SelectButton, i12.ErrorComponent], styles: [".custom-checbox[_ngcontent-%COMP%]{text-align:left;--padding: 6px;--border-radius:20px;--border-width:1px;--border-color: var(--ion-color-light);--border-style: solid}.action-icon[_ngcontent-%COMP%]{margin-end:8px}.action-icon.checked[_ngcontent-%COMP%]{color:var(--ion-color-success)}.custom-checkbox.selected[_ngcontent-%COMP%]{--background: var(--ion-color-success);--border-color: var(--ion-color-success)}.custom-checkbox.selected[_ngcontent-%COMP%] .action-icon[_ngcontent-%COMP%]{display:block}"] }); }
|
|
319
|
-
}
|
|
320
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SmsComponent, [{
|
|
321
|
-
type: Component,
|
|
322
|
-
args: [{ selector: 'app-sms', template: "<form [formGroup]=\"sendOtpRequestForm\" #sendOtpRequestFormDirective=\"ngForm\">\r\n <ion-grid>\r\n <div style=\"margin-left: -10px\">To protect you, we need to verify your identity. We'll send a code to your\r\n phone.<br>- The code is good for 5 minutes.<br>- You have two tries to enter the code correctly\r\n </div>\r\n <div>\r\n <ion-row size=\"auto\">\r\n <ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"4.75\" sizeLg=\"4.75\" sizeXl=\"4.75\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <br><label style=\"margin-left: -15px\" for=\"phoneNumber\">Choose your phone number</label>\r\n <div style=\"margin-left: -15px;\" *ngFor=\"let phoneNum of phoneNumbers\">\r\n <ion-button size=\"small\" [color]=\"selectedPhoneNumber === phoneNum? 'success' : 'primary'\"\r\n fill=\"outline\" class=\"action-button\" (click)=\"select(phoneNum)\">\r\n <ion-icon\r\n [name]=\"selectedPhoneNumber === phoneNum? 'checkmark-circle-outline' : 'ellipse-outline'\"\r\n style=\"font-size: 25px; font-weight: bold;\"></ion-icon>\r\n </ion-button>\r\n <ion-label>{{ '*** *** ' + phoneNum.slice(-4) }}</ion-label>\r\n </div>\r\n </div>\r\n <app-error [class]=\"'app-grid'\" [field]='phoneNumber' [form]=\"sendOtpRequestFormDirective\" [errDef]=\"{ \r\n required: 'required.'\r\n }\"></app-error>\r\n </ion-col>\r\n <ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"3.75\" sizeLg=\"3.75\" sizeXl=\"3.75\" *ngIf=\"delay\">\r\n <br><label for=\"otpDeliveryMethod\" style=\"padding-left: 2px;\">Send code by</label><br>\r\n <p-selectButton [options]=\"contactOptions\" optionLabel=\"text\" optionValue=\"value\"\r\n [formControl]=\"otpDeliveryMethod\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='otpDeliveryMethod' [form]=\"sendOtpRequestFormDirective\"\r\n [errDef]=\"{ \r\n required: 'required.'\r\n }\"></app-error>\r\n </ion-col>\r\n <ion-col size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"3.5\" sizeLg=\"3.5\" sizeXl=\"3.5\">\r\n <div class=\"p-fluid p-formgrid\" *ngIf=\"phoneNumber.value && otpDeliveryMethod.value\">\r\n <br><br><ion-button shape=\"round\" style=\"width: 80px; margin-top: -1px; margin-bottom: 5px;\"\r\n fill=\"outline\" type=\"submit\" (click)=\"getCode()\" [disabled]=\"disableGetCode==true\">Get\r\n Code</ion-button>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <div class=\"p-fluid p-formgrid\">\r\n <div style=\"margin-left: -10px;\" *ngIf=\"showCodeInput\">\r\n <label for=\"otp\">Check your phone</label><br>\r\n <input style=\"width:110px; height:30px; margin-top: 5px;\" type=\"input\"\r\n placeholder=\"enter code\" [formControl]=\"otp\" pTextInput maxlength=\"6\" />\r\n <input type=\"text\" id=\"lnVerifyHidden\" pInputText formControlName=\"lnVerifyHidden\" hidden />\r\n </div> \r\n <div *ngIf=\"showError\" style=\"color:#e60e0e; margin-left: -10px; font-size: 15px\">\r\n {{ errorMessage }}\r\n </div>\r\n </div>\r\n <div class=\"p-fluid p-formgrid\" style=\"margin-left: -15px\" *ngIf=\"showCodeInput\">\r\n <ion-button size=\"small\" shape=\"round\" style=\"width: 90px; height: 20px; margin-bottom: -45px; border-radius: 10px;\"\r\n fill=\"outline\" type=\"submit\" [disabled]=\"disableVerifyButton\" (click)=\"verify()\">\r\n <ion-icon slot=\"start\" [name]=\"successCheck ? 'checkmark-circle-outline' : 'ellipse-outline'\"\r\n style=\"font-size: 20px; font-weight: bold;\"></ion-icon>\r\n Verify\r\n </ion-button>\r\n </div>\r\n </ion-row>\r\n </div>\r\n <div style=\"margin-left: -10px;\">\r\n <app-error [field]='lnVerifyHidden' [form]=\"sendOtpRequestFormDirective\" [errDef]=\"{\r\n required: 'required.'\r\n }\"></app-error>\r\n </div>\r\n </ion-grid>\r\n</form>", styles: [".custom-checbox{text-align:left;--padding: 6px;--border-radius:20px;--border-width:1px;--border-color: var(--ion-color-light);--border-style: solid}.action-icon{margin-end:8px}.action-icon.checked{color:var(--ion-color-success)}.custom-checkbox.selected{--background: var(--ion-color-success);--border-color: var(--ion-color-success)}.custom-checkbox.selected .action-icon{display:block}\n"] }]
|
|
323
|
-
}], () => [{ type: i1.LoggerService }, { type: i2.ValidationService }, { type: i3.UntypedFormBuilder }, { type: i4.ClaimService }, { type: i5.SecurityService }, { type: i6.ActivatedRoute }, { type: i7.Storage }], { accepted: [{
|
|
324
|
-
type: Output
|
|
325
|
-
}], form: [{
|
|
326
|
-
type: Input
|
|
327
|
-
}], question: [{
|
|
328
|
-
type: Input
|
|
329
|
-
}], sendOtpRequestFormDirective: [{
|
|
330
|
-
type: ViewChild,
|
|
331
|
-
args: ['sendOtpRequestFormDirective', { static: false }]
|
|
332
|
-
}] }); })();
|
|
333
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SmsComponent, { className: "SmsComponent", filePath: "lib\\components\\sms\\sms.component.ts", lineNumber: 21 }); })();
|
|
334
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9zbXMvc21zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9zbXMvc21zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFVLE1BQU0sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNwRSxPQUFPLEVBQW1FLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBR2pJLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBR3ZFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBSTNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNGbkMsK0JBQXVFLHFCQUFBO0lBRTFCLDZOQUFTLGVBQUEsMEJBQWdCLENBQUEsSUFBQztJQUMvRCwrQkFFMkQ7SUFDL0QsaUJBQWE7SUFDYixpQ0FBVztJQUFBLFlBQXFDO0lBQUEsaUJBQVksRUFBQTs7OztJQU5uQyxlQUFpRTtJQUFqRSwwRkFBaUU7SUFHbEYsZUFBeUY7SUFBekYsa0hBQXlGO0lBR3RGLGVBQXFDO0lBQXJDLHdEQUFxQzs7OztJQU81RCxtQ0FBbUc7SUFDL0YscUJBQUk7SUFBQSxpQ0FBMEQ7SUFBQSw0QkFBWTtJQUFBLGlCQUFRO0lBQUEscUJBQUkseUJBQUEsbUJBQUE7SUFPMUYsaUJBQVU7Ozs7SUFOVSxlQUEwQjtJ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Ozs7WUNwQnpCLGtDQUE2RSxlQUFBLGFBQUE7WUFFckMsaUdBQ3RCO1lBQUEscUJBQUk7WUFBQSxpREFBaUM7WUFBQSxxQkFBSTtZQUFBLGlFQUNuRDtZQUFBLGlCQUFNO1lBQ04sMkJBQUssa0JBQUEsa0JBQUEsY0FBQTtZQUlXLHNCQUFJO1lBQUEsaUNBQW9EO1lBQUEseUNBQXdCO1lBQUEsaUJBQVE7WUFDeEYsK0RBUU07WUFDVixpQkFBTTtZQUNOLGdDQUVlO1lBQ25CLGlCQUFVO1lBQ1YsdUVBUVU7WUFDVixvQ0FBa0Y7WUFDOUUsZ0VBSU07WUFDVixpQkFBVSxFQUFBO1lBRWQsZ0NBQVMsY0FBQTtZQUVHLGdFQUtNLG1EQUFBO1lBSVYsaUJBQU07WUFDTixnRUFPTTtZQUNkLGlCQUFVLEVBQUE7WUFFZCwrQkFBaUM7WUFDN0IsZ0NBRWlCO1lBQ3JCLGlCQUFNLEVBQUEsRUFBQTs7O1lBbkVSLGtEQUFnQztZQVV3QyxnQkFBZTtZQUFmLDBDQUFlO1lBVTlELGVBQW9CO1lBQXBCLHlCQUFvQjtZQUFDLHVDQUFxQixhQUFBLHVDQUFBO1lBSTZCLGVBQVc7WUFBWCxnQ0FBVztZQVU1RCxlQUFrRDtZQUFsRCwyRUFBa0Q7WUFTN0MsZUFBbUI7WUFBbkIsd0NBQW1CO1lBTS9DLGVBQWU7WUFBZixvQ0FBZTtZQUltQyxlQUFtQjtZQUFuQix3Q0FBbUI7WUFXNUUsZUFBd0I7WUFBeEIsMENBQXdCLGFBQUEsdUNBQUE7OztpRkQ1Q2xDLFlBQVk7Y0FOeEIsU0FBUzsyQkFDRSxTQUFTOzJOQXlCVCxRQUFRO2tCQUFqQixNQUFNO1lBQ0UsSUFBSTtrQkFBWixLQUFLO1lBQ0csUUFBUTtrQkFBaEIsS0FBSztZQU1DLDJCQUEyQjtrQkFEakMsU0FBUzttQkFBQyw2QkFBNkIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7O2tGQTNCaEQsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21ib09wdGlvbiB9IGZyb20gJy4uLy4uL21vZGVscy9xdWVzdGlvbm5haXJlL0NvbWJvTW9kZWwnO1xyXG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiwgTmdGb3JtLCBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAsIFZhbGlkYXRvcnMsIFVudHlwZWRGb3JtQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9xdWVzdGlvbm5haXJlL3ZhbGlkYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dnZXIvbG9nZ2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTZW5kT3RwUmVxdWVzdE1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1NlbmRPdHBSZXF1ZXN0TW9kZWwnO1xyXG5pbXBvcnQgeyBFbGVtZW50c01vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3F1ZXN0aW9ubmFpcmUvRWxlbWVudHNNb2RlbCc7XHJcbmltcG9ydCB7IENsYWltU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NsYWltcy9jbGFpbXMuc2VydmljZSc7XHJcbmltcG9ydCB7IFZlcmlmeU90cFJlcXVlc3RNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9WZXJpZnlPdHBSZXF1ZXN0TW9kZWwnO1xyXG5pbXBvcnQgeyBTZWN1cml0eVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zZWN1cml0eS1zZXJ2aWNlL3NlY3VyaXR5LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgRmJDb25zdGFudHMgfSBmcm9tICcuLi9xdWVzdGlvbm5haXJlL0ZiQ29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXNtcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Ntcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL3Ntcy5jb21wb25lbnQuY3NzJyxcclxufSlcclxuXHJcbmV4cG9ydCBjbGFzcyBTbXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIGRlbGF5PWZhbHNlO1xyXG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcclxuICBjb250YWN0T3B0aW9ucyA9IENvbWJvT3B0aW9uLkNPTlRBQ1RfT1BUSU9OUztcclxuICBkaXNhYmxlR2V0Q29kZSA9IGZhbHNlO1xyXG4gIGRpc2FibGVWZXJpZnlCdXR0b24gPSBmYWxzZTtcclxuICBzaG93Q29kZUlucHV0ID0gZmFsc2U7XHJcbiAgc3VjY2Vzc0NoZWNrID0gZmFsc2U7XHJcbiAgcGhvbmVOdW1iZXJzOiBzdHJpbmdbXTtcclxuICBzZWxlY3RlZFBob25lTnVtYmVyOiBzdHJpbmc7XHJcbiAgZGlzcGxheUNoZWNrQm94OiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd1Jlc3BvbnNlOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2hvd0Vycm9yOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbWF4QWxsb3dlZEF0dGVtcHRzIDogbnVtYmVyID0gMjtcclxuICBhdHRlbXB0Q291bnQ6IG51bWJlciA9IDA7XHJcbiAgcHJvY2Vzczogc3RyaW5nID0gXCJDTEFQXCI7XHJcbiAgcmVzcG9uc2VGb3JtYXQ6IHN0cmluZyA9IFwiSlNPTlwiO1xyXG4gIHRyYW5zYWN0aW9uSWQ6IG51bWJlciA9IG51bGw7XHJcbiAgb3RwUmVxdWVzdElkOiBzdHJpbmcgPSBudWxsO1xyXG4gIG90cFZlcmlmaWNhdGlvblN0YXR1czogc3RyaW5nID0gbnVsbDtcclxuICBAT3V0cHV0KCkgYWNjZXB0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQElucHV0KCkgZm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBASW5wdXQoKSBxdWVzdGlvbjogRWxlbWVudHNNb2RlbDtcclxuICBlcnJvck1lc3NhZ2U6IHN0cmluZyA9Jyc7XHJcbiAgXHJcbiAgdXVpZDogc3RyaW5nID0gbnVsbDtcclxuXHJcbiAgQFZpZXdDaGlsZCgnc2VuZE90cFJlcXVlc3RGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHNlbmRPdHBSZXF1ZXN0Rm9ybURpcmVjdGl2ZTogTmdGb3JtO1xyXG4gIHB1YmxpYyBzZW5kT3RwUmVxdWVzdEZvcm06IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBsb2dnZXI6IExvZ2dlclNlcnZpY2UsIHB1YmxpYyB2czogVmFsaWRhdGlvblNlcnZpY2UsIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBcclxuICAgIHB1YmxpYyBjczogQ2xhaW1TZXJ2aWNlLCBwdWJsaWMgc3M6IFNlY3VyaXR5U2VydmljZSwgcHVibGljIGFjdGl2YXRlZFJvdXRlIDogQWN0aXZhdGVkUm91dGUsIFxyXG4gICAgcHJpdmF0ZSBzdG9yYWdlIDogU3RvcmFnZSkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmdldFBob25lTnVtYmVyc0xpc3QoKTtcclxuICAgIHRoaXMuaW5pdGlsaXplU21zRm9ybSgpO1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZGVsYXk9dHJ1ZTtcclxuICAgIH0sMTcwMCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBnZXRJZGVudGlmaWVyKCl7XHJcbiAgICBsZXQgdXVpZDtcclxuICAgIGxldCBkYXRhID0gdGhpcy5hY3RpdmF0ZWRSb3V0ZS5zbmFwc2hvdC5xdWVyeVBhcmFtTWFwLmdldCgnaWRlbnRpZmllcicpO1xyXG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXCJkYXRhIGZvciBpZGVudGlmaWVyIGlzIDogXCIsIGRhdGEpXHJcbiAgICAgIGlmKGRhdGEpeyAgICAgICAgICBcclxuICAgICAgICB1dWlkID0gZGF0YTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB1dWlkID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldChGYkNvbnN0YW50cy51dWlkKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gdXVpZDtcclxuICB9XHJcbiAgYXN5bmMgZ2V0UGhvbmVOdW1iZXJzTGlzdCgpe1xyXG4gICAgdGhpcy51dWlkID0gYXdhaXQgdGhpcy5nZXRJZGVudGlmaWVyKClcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCd1dWlkIGlzID09PT0nLCB0aGlzLnV1aWQpO1xyXG4gICAgdGhpcy5jcy5nZXRQaG9uZU51bWJlcnNGb3JPdHBCeVV1aWQodGhpcy51dWlkKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlcyA9PiB7XHJcbiAgICAgIHRoaXMucGhvbmVOdW1iZXJzID0gcmVzLnBob25lTnVtYmVycztcclxuICAgICAgdGhpcy50cmFuc2FjdGlvbklkID0gcmVzLmlkO1xyXG4gICAgfSk7XHJcbiAgICBcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgaW5pdGlsaXplU21zRm9ybSgpIHtcclxuICAgIGxldCBzZW5kT3RwUmVxdWVzdEluZm8gPSBuZXcgU2VuZE90cFJlcXVlc3RNb2RlbCgpO1xyXG4gICAgdGhpcy5zZW5kT3RwUmVxdWVzdEZvcm0gPSB0aGlzLmZvcm1CdWlsZGVyLmdyb3VwKHtcclxuICAgICAgJ3Bob25lTnVtYmVyJzogW3NlbmRPdHBSZXF1ZXN0SW5mby5waG9uZU51bWJlciwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICdvdHBEZWxpdmVyeU1ldGhvZCc6IFtzZW5kT3RwUmVxdWVzdEluZm8ub3RwRGVsaXZlcnlNZXRob2QsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxyXG4gICAgICAnb3RwJzogW11cclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtLmFkZENvbnRyb2woJ2xuVmVyaWZ5SGlkZGVuJywgbmV3IFVudHlwZWRGb3JtQ29udHJvbChudWxsLFtWYWxpZGF0b3JzLnJlcXVpcmVkVHJ1ZSxWYWxpZGF0b3JzLnJlcXVpcmVkXSkpO1xyXG4gICAgdGhpcy5xdWVzdGlvbi5uYW1lPVwibG5WZXJpZnlIaWRkZW5cIjtcclxuICB9XHJcblxyXG4gIGdldENvZGUoKSB7ICBcclxuICAgIHRoaXMuZGlzYWJsZUdldENvZGU9dHJ1ZTtcclxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdTZW5kaW5nIGNvZGUnKTtcclxuICAgIHRoaXMuc2hvd0Vycm9yID0gZmFsc2U7XHJcbiAgICBpZih0aGlzLnNlbmRPdHBSZXF1ZXN0Rm9ybS52YWxpZCAmJiB0aGlzLmF0dGVtcHRDb3VudCA8PSB0aGlzLm1heEFsbG93ZWRBdHRlbXB0cyl7XHJcbiAgICAgICAgdGhpcy5zaG93Q29kZUlucHV0ID0gIXRoaXMuc2hvd0NvZGVJbnB1dDtcclxuICAgICAgICBsZXQgc2VuZE90cFJlcXVlc3REYXRhOiBTZW5kT3RwUmVxdWVzdE1vZGVsID0gdGhpcy5zZW5kT3RwUmVxdWVzdEZvcm0udmFsdWU7XHJcbiAgICAgICAgaWYodGhpcy50cmFuc2FjdGlvbklkICE9IG51bGwpe1xyXG4gICAgICAgICAgc2VuZE90cFJlcXVlc3REYXRhLmlkID0gdGhpcy50cmFuc2FjdGlvbklkO1xyXG4gICAgICAgICAgc2VuZE90cFJlcXVlc3REYXRhLnByb2Nlc3MgPSB0aGlzLnByb2Nlc3M7XHJcbiAgICAgICAgICBzZW5kT3RwUmVxdWVzdERhdGEucmVzcG9uc2VGb3JtYXQgPSB0aGlzLnJlc3BvbnNlRm9ybWF0O1xyXG4gICAgICAgICAgLy90aGlzLmF0dGVtcHRDb3VudCA9IHRoaXMuYXR0ZW1wdENvdW50ICsgMTtcclxuICAgICAgICAgIHRoaXMuc3Muc2VuZE90cFJlcXVlc3Qoc2VuZE90cFJlcXVlc3REYXRhKS5zdWJzY3JpYmUocmVzID0+IHsgIFxyXG4gICAgICAgICAgICB2YXIgcGFyc2VkID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShyZXMpKTs7XHJcbiAgICAgICAgICAgIHRoaXMub3RwUmVxdWVzdElkID0gcGFyc2VkW1wib3RwUmVxdWVzdElkXCJdO1xyXG4gICAgICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnR2V0IGNvZGUgZXJyb3IgJyxlcnIpO1xyXG4gICAgICAgICAgICAgXHJcbiAgICAgICAgICB9KTsgICAgXHJcbiAgICAgICAgfVxyXG4gICAgfSBcclxuICB9XHJcblxyXG4gIHZlcmlmeSgpe1xyXG4gICAgICAgIGxldCB2ZXJpZnlPdHBSZXF1ZXN0RGF0YTogVmVyaWZ5T3RwUmVxdWVzdE1vZGVsID0gbmV3IFZlcmlmeU90cFJlcXVlc3RNb2RlbCgpO1xyXG4gICAgICAgIHZlcmlmeU90cFJlcXVlc3REYXRhLm90cCA9IHRoaXMuc2VuZE90cFJlcXVlc3RGb3JtLmdldCgnb3RwJyk/LnZhbHVlO1xyXG4gICAgICAgIC8vQ2hlY2tpbmcgdGhlIGxlbmd0aCBvZiB0aGUgb3RwIGJlZm9yZSB0cmlnZ2VyIHRoZSB2ZXJpZnkgQVBJIENhbGwgIFxyXG4gICAgICAgIGlmICh2ZXJpZnlPdHBSZXF1ZXN0RGF0YS5vdHAubGVuZ3RoID09PSA2KSB7XHJcbiAgICAgICAgICB0aGlzLmF0dGVtcHRDb3VudCA9IHRoaXMuYXR0ZW1wdENvdW50ICsgMTtcclxuICAgICAgICAgIHRoaXMubG5WZXJpZnlIaWRkZW4uc2V0VmFsdWUodHJ1ZSk7XHJcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnIHRoaXMub3RwUmVxdWVzdElkJywgIHRoaXMub3RwUmVxdWVzdElkKTtcclxuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCcgdGhpcy50cmFuc2FjdGlvbklkJywgIHRoaXMudHJhbnNhY3Rpb25JZCk7XHJcbiAgICAgICAgICB2ZXJpZnlPdHBSZXF1ZXN0RGF0YS5pZCA9IHRoaXMudHJhbnNhY3Rpb25JZDtcclxuICAgICAgICAgIHZlcmlmeU90cFJlcXVlc3REYXRhLnByb2Nlc3MgPSB0aGlzLnByb2Nlc3M7XHJcbiAgICAgICAgICB2ZXJpZnlPdHBSZXF1ZXN0RGF0YS5yZXNwb25zZUZvcm1hdCA9IHRoaXMucmVzcG9uc2VGb3JtYXQ7XHJcbiAgICAgICAgICB2ZXJpZnlPdHBSZXF1ZXN0RGF0YS5vdHBSZXF1ZXN0SWQgPSB0aGlzLm90cFJlcXVlc3RJZDsgIFxyXG4gICAgICAgICAgdGhpcy5zcy52ZXJpZnlPdHBSZXF1ZXN0KHZlcmlmeU90cFJlcXVlc3REYXRhKS5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdmFyIHBhcnNlZCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkocmVzKSk7XHJcbiAgICAgICAgICAgIHRoaXMub3RwVmVyaWZpY2F0aW9uU3RhdHVzID0gcGFyc2VkW1wib3RwVmVyaWZpY2F0aW9uU3RhdHVzXCJdO1xyXG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZygndGhpcyBvdHBWZXJpZmljYXRpb25TdGF0dXMgOiAnLCB0aGlzLm90cFZlcmlmaWNhdGlvblN0YXR1cyk7XHJcbiAgICAgICAgICAgIGlmKHRoaXMub3RwVmVyaWZpY2F0aW9uU3RhdHVzID09PSAnUEFTUycpe1xyXG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdvdHBWZXJpZmljYXRpb25TdGF0dXMgaXMgUGFzcycpO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yPWZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMuc3VjY2Vzc0NoZWNrID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmxuVmVyaWZ5SGlkZGVuLnNldFZhbHVlKHRydWUpO1xyXG4gICAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWQuZW1pdCh0cnVlKTtcclxuICAgICAgICAgICAgfSBlbHNlIHsgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ290cFZlcmlmaWNhdGlvblN0YXR1cyBpcyBOb3QgUGFzcyBhbmQgYXR0ZW1wdHMgcmVtYWluaW5nJywgdGhpcy5vdHBWZXJpZmljYXRpb25TdGF0dXMpO1xyXG4gICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlPSd3cm9uZyBjb2RlJztcclxuICAgICAgICAgICAgICB0aGlzLnNob3dFcnJvciA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5zaG93Q29kZUlucHV0ID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLnNlbmRPdHBSZXF1ZXN0Rm9ybS5nZXQoJ290cCcpPy5wYXRjaFZhbHVlKG51bGwpO1xyXG4gICAgICAgICAgICAgIGlmKHRoaXMuYXR0ZW1wdENvdW50ID49IHRoaXMubWF4QWxsb3dlZEF0dGVtcHRzKXtcclxuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlPSdvbmx5IDIgdHJpZXMgYWxsb3dlZCc7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNob3dFcnJvcj10cnVlOyBcclxuICAgICAgICAgICAgICAgIHRoaXMuZGlzYWJsZVZlcmlmeUJ1dHRvbj10cnVlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1JlYWNoZWQgbWF4IGF0dGVtcHQgbGltaXQsIG5vIG5lZWQgdG8gdHJ5IGZ1cnRoZXIuLicpXHJcbiAgICAgICAgICAgICAgICB0aGlzLmxuVmVyaWZ5SGlkZGVuLnNldFZhbHVlKHRydWUpO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5hY2NlcHRlZC5lbWl0KHRydWUpO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSwgZXJyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1ZlcmlmeSBzdGF0dXMgZXJyb3IgJyxlcnIpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNle1xyXG4gICAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2U9bnVsbDtcclxuICAgICAgICAgIHRoaXMubG5WZXJpZnlIaWRkZW4uc2V0VmFsdWUoZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdChwaG9uZU51bTogc3RyaW5nKSB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZFBob25lTnVtYmVyID09PSBwaG9uZU51bSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUGhvbmVOdW1iZXIgPSBudWxsO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRQaG9uZU51bWJlciA9IHBob25lTnVtO1xyXG4gICAgICB0aGlzLnNlbmRPdHBSZXF1ZXN0Rm9ybS5nZXQoJ3Bob25lTnVtYmVyJykuc2V0VmFsdWUocGhvbmVOdW0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IGxuVmVyaWZ5SGlkZGVuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5nZXQoJ2xuVmVyaWZ5SGlkZGVuJyk7XHJcbiAgfVxyXG5cclxuICBnZXQgcGhvbmVOdW1iZXIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZW5kT3RwUmVxdWVzdEZvcm0uY29udHJvbHNbJ3Bob25lTnVtYmVyJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RwRGVsaXZlcnlNZXRob2QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zZW5kT3RwUmVxdWVzdEZvcm0uY29udHJvbHNbJ290cERlbGl2ZXJ5TWV0aG9kJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RwKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuc2VuZE90cFJlcXVlc3RGb3JtLmNvbnRyb2xzWydvdHAnXTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gW2Zvcm1Hcm91cF09XCJzZW5kT3RwUmVxdWVzdEZvcm1cIiAjc2VuZE90cFJlcXVlc3RGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICA8aW9uLWdyaWQ+XHJcbiAgICAgICAgPGRpdiBzdHlsZT1cIm1hcmdpbi1sZWZ0OiAtMTBweFwiPlRvIHByb3RlY3QgeW91LCB3ZSBuZWVkIHRvIHZlcmlmeSB5b3VyIGlkZW50aXR5LiBXZSdsbCBzZW5kIGEgY29kZSB0byB5b3VyXHJcbiAgICAgICAgICAgIHBob25lLjxicj4tIFRoZSBjb2RlIGlzIGdvb2QgZm9yIDUgbWludXRlcy48YnI+LSBZb3UgaGF2ZSB0d28gdHJpZXMgdG8gZW50ZXIgdGhlIGNvZGUgY29ycmVjdGx5XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgPGlvbi1yb3cgc2l6ZT1cImF1dG9cIj5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCI0Ljc1XCIgc2l6ZUxnPVwiNC43NVwiIHNpemVYbD1cIjQuNzVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxicj48bGFiZWwgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTE1cHhcIiBmb3I9XCJwaG9uZU51bWJlclwiPkNob29zZSB5b3VyIHBob25lIG51bWJlcjwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTE1cHg7XCIgKm5nRm9yPVwibGV0IHBob25lTnVtIG9mIHBob25lTnVtYmVyc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgW2NvbG9yXT1cInNlbGVjdGVkUGhvbmVOdW1iZXIgPT09IHBob25lTnVtPyAnc3VjY2VzcycgOiAncHJpbWFyeSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCIgY2xhc3M9XCJhY3Rpb24tYnV0dG9uXCIgKGNsaWNrKT1cInNlbGVjdChwaG9uZU51bSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwic2VsZWN0ZWRQaG9uZU51bWJlciA9PT0gcGhvbmVOdW0/ICdjaGVja21hcmstY2lyY2xlLW91dGxpbmUnIDogJ2VsbGlwc2Utb3V0bGluZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT1cImZvbnQtc2l6ZTogMjVweDsgZm9udC13ZWlnaHQ6IGJvbGQ7XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpb24tbGFiZWw+e3sgJyoqKiAqKiogJyArIHBob25lTnVtLnNsaWNlKC00KSB9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncGhvbmVOdW1iZXInIFtmb3JtXT1cInNlbmRPdHBSZXF1ZXN0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgICAgPC9pb24tY29sPlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjMuNzVcIiBzaXplTGc9XCIzLjc1XCIgc2l6ZVhsPVwiMy43NVwiICpuZ0lmPVwiZGVsYXlcIj5cclxuICAgICAgICAgICAgICAgICAgICA8YnI+PGxhYmVsIGZvcj1cIm90cERlbGl2ZXJ5TWV0aG9kXCIgc3R5bGU9XCJwYWRkaW5nLWxlZnQ6IDJweDtcIj5TZW5kIGNvZGUgYnk8L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwiY29udGFjdE9wdGlvbnNcIiBvcHRpb25MYWJlbD1cInRleHRcIiBvcHRpb25WYWx1ZT1cInZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cIm90cERlbGl2ZXJ5TWV0aG9kXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nb3RwRGVsaXZlcnlNZXRob2QnIFtmb3JtXT1cInNlbmRPdHBSZXF1ZXN0Rm9ybURpcmVjdGl2ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAncmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIHNpemU9XCIxMlwiIHNpemVTbT1cIjEyXCIgc2l6ZVhzPVwiMTJcIiBzaXplTWQ9XCIzLjVcIiBzaXplTGc9XCIzLjVcIiBzaXplWGw9XCIzLjVcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCIgKm5nSWY9XCJwaG9uZU51bWJlci52YWx1ZSAmJiBvdHBEZWxpdmVyeU1ldGhvZC52YWx1ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGJyPjxpb24tYnV0dG9uIHNoYXBlPVwicm91bmRcIiBzdHlsZT1cIndpZHRoOiA4MHB4OyBtYXJnaW4tdG9wOiAtMXB4OyBtYXJnaW4tYm90dG9tOiA1cHg7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCIgdHlwZT1cInN1Ym1pdFwiIChjbGljayk9XCJnZXRDb2RlKClcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZUdldENvZGU9PXRydWVcIj5HZXRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvZGU8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPVwibWFyZ2luLWxlZnQ6IC0xMHB4O1wiICpuZ0lmPVwic2hvd0NvZGVJbnB1dFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIm90cFwiPkNoZWNrIHlvdXIgcGhvbmU8L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbnB1dCBzdHlsZT1cIndpZHRoOjExMHB4OyBoZWlnaHQ6MzBweDsgbWFyZ2luLXRvcDogNXB4O1wiIHR5cGU9XCJpbnB1dFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlbnRlciBjb2RlXCIgW2Zvcm1Db250cm9sXT1cIm90cFwiIHBUZXh0SW5wdXQgbWF4bGVuZ3RoPVwiNlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cImxuVmVyaWZ5SGlkZGVuXCIgcElucHV0VGV4dCBmb3JtQ29udHJvbE5hbWU9XCJsblZlcmlmeUhpZGRlblwiIGhpZGRlbiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4gIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic2hvd0Vycm9yXCIgc3R5bGU9XCJjb2xvcjojZTYwZTBlOyBtYXJnaW4tbGVmdDogLTEwcHg7IGZvbnQtc2l6ZTogMTVweFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCIgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTE1cHhcIiAqbmdJZj1cInNob3dDb2RlSW5wdXRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGlvbi1idXR0b24gc2l6ZT1cInNtYWxsXCIgc2hhcGU9XCJyb3VuZFwiIHN0eWxlPVwid2lkdGg6IDkwcHg7IGhlaWdodDogMjBweDsgbWFyZ2luLWJvdHRvbTogLTQ1cHg7IGJvcmRlci1yYWRpdXM6IDEwcHg7XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJvdXRsaW5lXCIgdHlwZT1cInN1Ym1pdFwiIFtkaXNhYmxlZF09XCJkaXNhYmxlVmVyaWZ5QnV0dG9uXCIgKGNsaWNrKT1cInZlcmlmeSgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW9uLWljb24gc2xvdD1cInN0YXJ0XCIgW25hbWVdPVwic3VjY2Vzc0NoZWNrID8gJ2NoZWNrbWFyay1jaXJjbGUtb3V0bGluZScgOiAnZWxsaXBzZS1vdXRsaW5lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiZm9udC1zaXplOiAyMHB4OyBmb250LXdlaWdodDogYm9sZDtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyaWZ5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgc3R5bGU9XCJtYXJnaW4tbGVmdDogLTEwcHg7XCI+XHJcbiAgICAgICAgICAgIDxhcHAtZXJyb3IgW2ZpZWxkXT0nbG5WZXJpZnlIaWRkZW4nIFtmb3JtXT1cInNlbmRPdHBSZXF1ZXN0Rm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwie1xyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9pb24tZ3JpZD5cclxuPC9mb3JtPiJdfQ==
|