@reusa/ngx-reusa-app-lib 0.0.1374 → 0.0.1375
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/esm2022/lib/components/add-employer/add-employer.component.mjs +2392 -1322
- package/esm2022/lib/components/add-participant/add-participant.component.mjs +159 -105
- package/esm2022/lib/components/add-payment/add-payment.component.mjs +59 -53
- package/esm2022/lib/components/add-wage/add-wage.component.mjs +161 -0
- package/esm2022/lib/components/address/address.component.mjs +287 -152
- package/esm2022/lib/components/address-popup/address-popup.component.mjs +97 -0
- package/esm2022/lib/components/address-suggestion/address-suggestion.component.mjs +289 -0
- package/esm2022/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.mjs +245 -0
- package/esm2022/lib/components/associate-ssn/associate-ssn.component.mjs +203 -0
- package/esm2022/lib/components/bank-details/bank-details.component.mjs +79 -219
- package/esm2022/lib/components/claim-info/claim-info.component.mjs +408 -0
- package/esm2022/lib/components/contact-us/contact-us.component.mjs +17 -43
- package/esm2022/lib/components/correspondence-download/correspondence-download.component.mjs +3 -9
- package/esm2022/lib/components/dashboard-card/dashboard-card.component.mjs +32 -4
- package/esm2022/lib/components/dependent-grid/dependent-grid.component.mjs +30 -15
- package/esm2022/lib/components/disclosure/disclosure.component.mjs +1 -1
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/lib/components/dropdown/dropdown.interface.mjs +1 -1
- package/esm2022/lib/components/dua-request-page/dua-request-page.component.mjs +596 -0
- package/esm2022/lib/components/dua-request-popup/dua-request-popup.component.mjs +356 -0
- package/esm2022/lib/components/email-update/email-update.component.mjs +63 -140
- package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +422 -574
- package/esm2022/lib/components/employer-info/employer-info.component.mjs +319 -0
- package/esm2022/lib/components/employer-pay/employer-pay.component.mjs +238 -0
- package/esm2022/lib/components/employer-pay-grid/employer-pay-grid.component.mjs +302 -0
- package/esm2022/lib/components/error/error.component.mjs +22 -5
- package/esm2022/lib/components/farm-usage/farm-usage.component.mjs +172 -0
- package/esm2022/lib/components/fav-menu/fav-menu.component.mjs +1 -1
- package/esm2022/lib/components/file-uploader/file-uploader.component.mjs +178 -49
- package/esm2022/lib/components/footer/footer.component.mjs +112 -101
- package/esm2022/lib/components/gross-earnings/gross-earnings.component.mjs +201 -0
- package/esm2022/lib/components/header/header.component.mjs +440 -174
- package/esm2022/lib/components/history-page/history-page.component.mjs +571 -0
- package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +25 -36
- package/esm2022/lib/components/idme/idme.component.mjs +84 -0
- package/esm2022/lib/components/info/info.component.mjs +4 -12
- package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +16 -22
- package/esm2022/lib/components/job-title/job-title.component.mjs +92 -97
- package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +143 -513
- package/esm2022/lib/components/link/link.component.mjs +1 -1
- package/esm2022/lib/components/menu/menu.component.mjs +68 -100
- package/esm2022/lib/components/mfa/mfa.component.mjs +158 -288
- package/esm2022/lib/components/mfa-popup/mfa-popup.component.mjs +11 -18
- package/esm2022/lib/components/money-expect/money-expect.component.mjs +158 -54
- package/esm2022/lib/components/offline-add-employer/offline-add-employer.component.mjs +3661 -0
- package/esm2022/lib/components/offline-bank-details/offline-bank-details.component.mjs +258 -0
- package/esm2022/lib/components/offline-employer-grid/offline-employer-grid.component.mjs +853 -0
- package/esm2022/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.mjs +251 -0
- package/esm2022/lib/components/profile/profile.component.mjs +749 -353
- package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +108 -38
- package/esm2022/lib/components/proof-of-anything/proof-of-anything.component.mjs +261 -0
- package/esm2022/lib/components/proof-of-document-upload/proof-of-document-upload.component.mjs +560 -0
- package/esm2022/lib/components/questionnaire/AppValidators.mjs +296 -47
- package/esm2022/lib/components/questionnaire/account-success/account-success.page.mjs +110 -65
- package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +377 -173
- package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +76 -95
- package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +877 -1153
- package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +208 -699
- package/esm2022/lib/components/questionnaire/form-builder/form-builder.page.mjs +28 -22
- package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +128 -41
- package/esm2022/lib/components/questionnaire/question-control.service.mjs +2 -1
- package/esm2022/lib/components/questionnaire/question.service.mjs +5 -7
- package/esm2022/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.mjs +15 -29
- package/esm2022/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.mjs +497 -237
- package/esm2022/lib/components/scrollable-text/scrollable-text.component.mjs +25 -0
- package/esm2022/lib/components/search-employer/search-employer.component.mjs +155 -30
- package/esm2022/lib/components/select/select.component.mjs +5 -10
- package/esm2022/lib/components/sign-ssn/sign-ssn.component.mjs +3 -3
- package/esm2022/lib/components/sms/sms.component.mjs +336 -0
- package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +52 -72
- package/esm2022/lib/components/user-login/user-login.component.mjs +139 -360
- package/esm2022/lib/components/wage-calculator/wage-calculator.component.mjs +527 -0
- package/esm2022/lib/components/wage-grid/wage-grid.component.mjs +274 -0
- package/esm2022/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.mjs +147 -0
- package/esm2022/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.mjs +167 -0
- package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +655 -387
- package/esm2022/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.mjs +125 -61
- package/esm2022/lib/components/weekly-certification/weekly-certification.component.mjs +828 -0
- package/esm2022/lib/components/weekly-confirmation/confirmation.component.mjs +129 -0
- package/esm2022/lib/components/weekly-interim-confirmation/interim-confirmation.component.mjs +136 -0
- package/esm2022/lib/components/weekly-summary-v2/summary.component-v2.mjs +72 -0
- package/esm2022/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.mjs +50 -0
- package/esm2022/lib/components/weekly-work-search-counter/work-search-counter.component.mjs +92 -0
- package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs +1190 -0
- package/esm2022/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.mjs +690 -0
- package/esm2022/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.mjs +524 -0
- package/esm2022/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.mjs +394 -0
- package/esm2022/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.mjs +640 -0
- package/esm2022/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.mjs +33 -0
- package/esm2022/lib/enums/AddressValidationResponseEnum.mjs +9 -0
- package/esm2022/lib/enums/AddressValidationSourceFunctionEnum.mjs +5 -0
- package/esm2022/lib/guards/auth.guard.mjs +50 -2
- package/esm2022/lib/guards/no-login/no-login.guard.mjs +1 -1
- package/esm2022/lib/interceptors/error-interceptor/http-error-interceptor.mjs +51 -3
- package/esm2022/lib/interceptors/header-interceptor/http-header.interceptor.mjs +1 -1
- package/esm2022/lib/models/ActiveClaimModel.mjs +3 -0
- package/esm2022/lib/models/CountyModel.mjs +3 -0
- package/esm2022/lib/models/DuaAppDataModel.mjs +3 -0
- package/esm2022/lib/models/DuaRequestModel.mjs +3 -0
- package/esm2022/lib/models/DuaRetroWeeksComponentModel.mjs +6 -0
- package/esm2022/lib/models/EmployerDetailSearchResult.mjs +1 -1
- package/esm2022/lib/models/EmployerInfoComponentModel.mjs +4 -0
- package/esm2022/lib/models/EmployerPayInfoModel.mjs +6 -0
- package/esm2022/lib/models/FarmUsageComponentModel.mjs +2 -0
- package/esm2022/lib/models/GrossEarningsModel.mjs +3 -0
- package/esm2022/lib/models/HelpConstants.mjs +5 -0
- package/esm2022/lib/models/LexisNexisOtpDetailsResponseModel.mjs +3 -0
- package/esm2022/lib/models/LibConstants.mjs +45 -6
- package/esm2022/lib/models/OtpAuthModel.mjs +1 -1
- package/esm2022/lib/models/PaymentComponentModel.mjs +1 -1
- package/esm2022/lib/models/ReasonSeparationRequestModel.mjs +3 -0
- package/esm2022/lib/models/RetroWeeksModel.mjs +3 -0
- package/esm2022/lib/models/SecurityQuestionAnswerModel.mjs +3 -0
- package/esm2022/lib/models/SendOtpRequestModel.mjs +3 -0
- package/esm2022/lib/models/UserModel.mjs +1 -1
- package/esm2022/lib/models/VerifyOtpRequestModel.mjs +3 -0
- package/esm2022/lib/models/WageCalculatorModel.mjs +3 -0
- package/esm2022/lib/models/WageInfoModel.mjs +4 -0
- package/esm2022/lib/models/addressValidation/AddressRecommendationModel.mjs +3 -0
- package/esm2022/lib/models/addressValidation/AddressValidationRequestComponentModel.mjs +3 -0
- package/esm2022/lib/models/addressValidation/AddressValidationResponseComponentModel.mjs +3 -0
- package/esm2022/lib/models/addressValidation/AddressValidationReturnComponentModel.mjs +3 -0
- package/esm2022/lib/models/combo-model.mjs +343 -0
- package/esm2022/lib/models/dashboard-model.mjs +1 -1
- package/esm2022/lib/models/dependent.model.mjs +1 -1
- package/esm2022/lib/models/fileupload/DocUploadModel.mjs +7 -0
- package/esm2022/lib/models/fileupload/EmployerDataModel.mjs +3 -0
- package/esm2022/lib/models/fileupload/FileObject.mjs +3 -0
- package/esm2022/lib/models/fileupload/FileObjectArray.mjs +7 -0
- package/esm2022/lib/models/questionnaire/AppealParticipantModel.mjs +8 -0
- package/esm2022/lib/models/questionnaire/ClaimAppEmpResponseModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ClaimAppEmployerDetailsModel.mjs +2 -1
- package/esm2022/lib/models/questionnaire/ClaimOnlyEmployerDataModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ComboModel.mjs +96 -653
- package/esm2022/lib/models/questionnaire/ElementsModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/LegalDiscaimarModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/QuestionnaireSaveModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/ScrollableTextModel.mjs +3 -0
- package/esm2022/lib/models/questionnaire/StatusModel.mjs +1 -1
- package/esm2022/lib/models/questionnaire/WbaHelperTextModel.mjs +3 -0
- package/esm2022/lib/models/weekly-cert/WorkSearchWaiverModel.mjs +3 -0
- package/esm2022/lib/models/weekly-cert/address-detail-model.mjs +2 -0
- package/esm2022/lib/models/weekly-cert/admin-leave-details-model.mjs +7 -0
- package/esm2022/lib/models/weekly-cert/employer-info-v2-model.mjs +7 -0
- package/esm2022/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.mjs +6 -0
- package/esm2022/lib/models/weekly-cert/weekly-certification-v2-model.mjs +34 -0
- package/esm2022/lib/models/weekly-cert/work-search-record-v2-model.mjs +15 -0
- package/esm2022/lib/models/weekly-cert/work-search-v2-model.mjs +11 -0
- package/esm2022/lib/ngx-reusa-app-lib.module.mjs +135 -23
- package/esm2022/lib/pages/BasePage.mjs +4 -23
- package/esm2022/lib/pages/common/accessibility-policy/accessibility-policy.page.mjs +22 -18
- package/esm2022/lib/pages/common/change-password/change-password.page.mjs +142 -124
- package/esm2022/lib/pages/common/landing/landing.component.mjs +7 -8
- package/esm2022/lib/pages/common/landing2/landing2.component.mjs +4 -4
- package/esm2022/lib/pages/common/login/login.component.mjs +7 -13
- 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/popovers/language/language.page.mjs +1 -2
- package/esm2022/lib/pages/popovers/my-notifications/my-notifications.page.mjs +4 -4
- package/esm2022/lib/pages/popovers/my-profile/my-profile.page.mjs +7 -2
- package/esm2022/lib/pipes/format-worksearch/format-worksearch.pipe.mjs +101 -0
- package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
- package/esm2022/lib/services/address-validation-service/address-validation.service.mjs +151 -0
- package/esm2022/lib/services/appeal/appeal.service.mjs +37 -0
- package/esm2022/lib/services/base-service.mjs +4 -1
- package/esm2022/lib/services/birt-service/birt.service.mjs +57 -0
- package/esm2022/lib/services/chatbot/chatbot.service.mjs +1 -2
- package/esm2022/lib/services/claimant-service/claimant.service.mjs +7 -13
- package/esm2022/lib/services/claims/claims.service.mjs +105 -14
- package/esm2022/lib/services/employer/employer-service.mjs +35 -0
- package/esm2022/lib/services/event-service/event-service.mjs +44 -0
- package/esm2022/lib/services/help/help.service.mjs +1 -1
- package/esm2022/lib/services/logger/logger.service.mjs +1 -1
- package/esm2022/lib/services/login/login.service.mjs +29 -14
- package/esm2022/lib/services/offline-claims/offline-claims.service.mjs +327 -0
- package/esm2022/lib/services/questionnaire/questionnaire.service.mjs +4 -1
- package/esm2022/lib/services/questionnaire/validation.service.mjs +4 -1
- package/esm2022/lib/services/security-service/security.service.mjs +23 -6
- package/esm2022/lib/services/util/util.service.mjs +61 -5
- package/esm2022/lib/services/weekly-cert/review.service.mjs +101 -0
- package/esm2022/lib/services/weekly-cert/weekly-cert-v2.service.mjs +186 -14
- package/esm2022/lib/services/weekly-cert/weekly-cert.service.mjs +37 -0
- package/esm2022/lib/services/weekly-cert/work-search.service.mjs +58 -0
- package/esm2022/lib/validations/AppRegex.mjs +1 -3
- package/esm2022/lib/validations/AppValidators.mjs +78 -62
- package/esm2022/public-api.mjs +47 -5
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs +41277 -23401
- package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
- package/lib/components/add-employer/add-employer.component.d.ts +137 -53
- package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
- package/lib/components/add-participant/add-participant.component.d.ts +11 -5
- package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
- package/lib/components/add-payment/add-payment.component.d.ts +9 -3
- package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
- package/lib/components/add-wage/add-wage.component.d.ts +30 -0
- package/lib/components/add-wage/add-wage.component.d.ts.map +1 -0
- package/lib/components/address/address.component.d.ts +42 -15
- package/lib/components/address/address.component.d.ts.map +1 -1
- package/lib/components/address-popup/address-popup.component.d.ts +16 -0
- package/lib/components/address-popup/address-popup.component.d.ts.map +1 -0
- package/lib/components/address-suggestion/address-suggestion.component.d.ts +43 -0
- package/lib/components/address-suggestion/address-suggestion.component.d.ts.map +1 -0
- package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts +37 -0
- package/lib/components/appointment-self-scheduler/appointment-self-scheduler.component.d.ts.map +1 -0
- package/lib/components/associate-ssn/associate-ssn.component.d.ts +33 -0
- package/lib/components/associate-ssn/associate-ssn.component.d.ts.map +1 -0
- package/lib/components/bank-details/bank-details.component.d.ts +1 -23
- package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
- package/lib/components/claim-info/claim-info.component.d.ts +49 -0
- package/lib/components/claim-info/claim-info.component.d.ts.map +1 -0
- package/lib/components/contact-us/contact-us.component.d.ts +1 -4
- package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
- package/lib/components/correspondence-download/correspondence-download.component.d.ts.map +1 -1
- package/lib/components/dashboard-card/dashboard-card.component.d.ts.map +1 -1
- package/lib/components/dua-request-page/dua-request-page.component.d.ts +74 -0
- package/lib/components/dua-request-page/dua-request-page.component.d.ts.map +1 -0
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts +61 -0
- package/lib/components/dua-request-popup/dua-request-popup.component.d.ts.map +1 -0
- package/lib/components/email-update/email-update.component.d.ts +1 -12
- package/lib/components/email-update/email-update.component.d.ts.map +1 -1
- package/lib/components/employer-grid/employer-grid.component.d.ts +25 -15
- package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
- package/lib/components/employer-info/employer-info.component.d.ts +50 -0
- package/lib/components/employer-info/employer-info.component.d.ts.map +1 -0
- package/lib/components/employer-pay/employer-pay.component.d.ts +51 -0
- package/lib/components/employer-pay/employer-pay.component.d.ts.map +1 -0
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts +43 -0
- package/lib/components/employer-pay-grid/employer-pay-grid.component.d.ts.map +1 -0
- package/lib/components/error/error.component.d.ts +3 -2
- package/lib/components/error/error.component.d.ts.map +1 -1
- package/lib/components/farm-usage/farm-usage.component.d.ts +33 -0
- package/lib/components/farm-usage/farm-usage.component.d.ts.map +1 -0
- package/lib/components/file-uploader/file-uploader.component.d.ts +5 -1
- package/lib/components/file-uploader/file-uploader.component.d.ts.map +1 -1
- package/lib/components/footer/footer.component.d.ts.map +1 -1
- package/lib/components/gross-earnings/gross-earnings.component.d.ts +42 -0
- package/lib/components/gross-earnings/gross-earnings.component.d.ts.map +1 -0
- package/lib/components/header/header.component.d.ts +17 -5
- package/lib/components/header/header.component.d.ts.map +1 -1
- package/lib/components/history-page/history-page.component.d.ts +80 -0
- package/lib/components/history-page/history-page.component.d.ts.map +1 -0
- package/lib/components/idme/idme.component.d.ts +19 -0
- package/lib/components/idme/idme.component.d.ts.map +1 -0
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +1 -3
- package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
- package/lib/components/job-title/job-title.component.d.ts +22 -23
- package/lib/components/job-title/job-title.component.d.ts.map +1 -1
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -6
- package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
- package/lib/components/menu/menu.component.d.ts +3 -12
- package/lib/components/menu/menu.component.d.ts.map +1 -1
- package/lib/components/mfa/mfa.component.d.ts +7 -19
- package/lib/components/mfa/mfa.component.d.ts.map +1 -1
- package/lib/components/mfa-popup/mfa-popup.component.d.ts +6 -8
- package/lib/components/mfa-popup/mfa-popup.component.d.ts.map +1 -1
- package/lib/components/money-expect/money-expect.component.d.ts +15 -4
- package/lib/components/money-expect/money-expect.component.d.ts.map +1 -1
- package/lib/components/offline-add-employer/offline-add-employer.component.d.ts +311 -0
- package/lib/components/offline-add-employer/offline-add-employer.component.d.ts.map +1 -0
- package/lib/components/offline-bank-details/offline-bank-details.component.d.ts +33 -0
- package/lib/components/offline-bank-details/offline-bank-details.component.d.ts.map +1 -0
- package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts +97 -0
- package/lib/components/offline-employer-grid/offline-employer-grid.component.d.ts.map +1 -0
- package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts +33 -0
- package/lib/components/offline-legal-disclaimar/offline-legal-disclaimar.component.d.ts.map +1 -0
- package/lib/components/profile/profile.component.d.ts +82 -49
- package/lib/components/profile/profile.component.d.ts.map +1 -1
- package/lib/components/profile-redirect/profile-redirect.component.d.ts +9 -2
- package/lib/components/profile-redirect/profile-redirect.component.d.ts.map +1 -1
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts +54 -0
- package/lib/components/proof-of-anything/proof-of-anything.component.d.ts.map +1 -0
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts +74 -0
- package/lib/components/proof-of-document-upload/proof-of-document-upload.component.d.ts.map +1 -0
- package/lib/components/questionnaire/AppValidators.d.ts +1 -0
- package/lib/components/questionnaire/AppValidators.d.ts.map +1 -1
- package/lib/components/questionnaire/account-success/account-success.page.d.ts +13 -10
- 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 +7 -1
- package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts +3 -1
- package/lib/components/questionnaire/dynamic-form-panel.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts +33 -35
- package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
- package/lib/components/questionnaire/dynamic-form.component.d.ts +10 -34
- package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
- package/lib/components/questionnaire/form-builder/form-builder.page.d.ts +0 -7
- 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 +7 -1
- 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 +0 -1
- package/lib/components/questionnaire/question.service.d.ts.map +1 -1
- package/lib/components/questionnaire/render-questionnaire/render-questionnaire.page.d.ts +1 -7
- 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 +11 -3
- package/lib/components/requalify-lift-previous-issues/requalify-lift-previous-issues.component.d.ts.map +1 -1
- package/lib/components/scrollable-text/scrollable-text.component.d.ts +11 -0
- package/lib/components/scrollable-text/scrollable-text.component.d.ts.map +1 -0
- package/lib/components/search-employer/search-employer.component.d.ts +5 -4
- package/lib/components/search-employer/search-employer.component.d.ts.map +1 -1
- package/lib/components/sms/sms.component.d.ts +63 -0
- package/lib/components/sms/sms.component.d.ts.map +1 -0
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +1 -5
- package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
- package/lib/components/user-login/user-login.component.d.ts +5 -38
- package/lib/components/user-login/user-login.component.d.ts.map +1 -1
- package/lib/components/wage-calculator/wage-calculator.component.d.ts +44 -0
- package/lib/components/wage-calculator/wage-calculator.component.d.ts.map +1 -0
- package/lib/components/wage-grid/wage-grid.component.d.ts +43 -0
- package/lib/components/wage-grid/wage-grid.component.d.ts.map +1 -0
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts +28 -0
- package/lib/components/weekly-acknowledgement-ms/acknowledgement-ms.component.d.ts.map +1 -0
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts +28 -0
- package/lib/components/weekly-acknowledgement-v2/acknowledgement.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +27 -10
- 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 +9 -3
- package/lib/components/weekly-cert-employer-grid/weekly-cert-employer-grid.component.d.ts.map +1 -1
- package/lib/components/weekly-certification/weekly-certification.component.d.ts +101 -0
- package/lib/components/weekly-certification/weekly-certification.component.d.ts.map +1 -0
- package/lib/components/weekly-confirmation/confirmation.component.d.ts +21 -0
- package/lib/components/weekly-confirmation/confirmation.component.d.ts.map +1 -0
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts +34 -0
- package/lib/components/weekly-interim-confirmation/interim-confirmation.component.d.ts.map +1 -0
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts +17 -0
- package/lib/components/weekly-summary-v2/summary.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts +10 -0
- package/lib/components/weekly-work-performed-popup/weekly-work-performed-popup.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts +17 -0
- package/lib/components/weekly-work-search-counter/work-search-counter.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts +105 -0
- package/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts +71 -0
- package/lib/components/weekly-work-search-employer-ms/work-search-employer-ms.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts +59 -0
- package/lib/components/weekly-work-search-employer-v2/work-search-employer.component-v2.d.ts.map +1 -0
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts +47 -0
- package/lib/components/weekly-work-search-journal/weekly-work-search-journal.component.d.ts.map +1 -0
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts +78 -0
- package/lib/components/weekly-work-search-question-v2/work-search-question.component-v2.d.ts.map +1 -0
- package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts +8 -0
- package/lib/directives/strip-invisible-characters/strip-invisible-characters.directive.d.ts.map +1 -0
- package/lib/enums/AddressValidationResponseEnum.d.ts +8 -0
- package/lib/enums/AddressValidationResponseEnum.d.ts.map +1 -0
- package/lib/enums/AddressValidationSourceFunctionEnum.d.ts +4 -0
- package/lib/enums/AddressValidationSourceFunctionEnum.d.ts.map +1 -0
- package/lib/guards/auth.guard.d.ts.map +1 -1
- package/lib/interceptors/error-interceptor/http-error-interceptor.d.ts.map +1 -1
- package/lib/models/ActiveClaimModel.d.ts +8 -0
- package/lib/models/ActiveClaimModel.d.ts.map +1 -0
- package/lib/models/CountyModel.d.ts +8 -0
- package/lib/models/CountyModel.d.ts.map +1 -0
- package/lib/models/DuaAppDataModel.d.ts +5 -0
- package/lib/models/DuaAppDataModel.d.ts.map +1 -0
- package/lib/models/DuaRequestModel.d.ts +10 -0
- package/lib/models/DuaRequestModel.d.ts.map +1 -0
- package/lib/models/DuaRetroWeeksComponentModel.d.ts +5 -0
- package/lib/models/DuaRetroWeeksComponentModel.d.ts.map +1 -0
- package/lib/models/EmployerDetailSearchResult.d.ts +4 -1
- package/lib/models/EmployerDetailSearchResult.d.ts.map +1 -1
- package/lib/models/EmployerInfoComponentModel.d.ts +9 -0
- package/lib/models/EmployerInfoComponentModel.d.ts.map +1 -0
- package/lib/models/EmployerPayInfoModel.d.ts +20 -0
- package/lib/models/EmployerPayInfoModel.d.ts.map +1 -0
- package/lib/models/FarmUsageComponentModel.d.ts +10 -0
- package/lib/models/FarmUsageComponentModel.d.ts.map +1 -0
- package/lib/models/GrossEarningsModel.d.ts +6 -0
- package/lib/models/GrossEarningsModel.d.ts.map +1 -0
- package/lib/models/HelpConstants.d.ts +5 -0
- package/lib/models/HelpConstants.d.ts.map +1 -0
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts +7 -0
- package/lib/models/LexisNexisOtpDetailsResponseModel.d.ts.map +1 -0
- package/lib/models/LibConstants.d.ts +40 -1
- package/lib/models/LibConstants.d.ts.map +1 -1
- package/lib/models/OtpAuthModel.d.ts +0 -1
- package/lib/models/OtpAuthModel.d.ts.map +1 -1
- package/lib/models/PaymentComponentModel.d.ts +1 -1
- package/lib/models/PaymentComponentModel.d.ts.map +1 -1
- package/lib/models/ReasonSeparationRequestModel.d.ts +7 -0
- package/lib/models/ReasonSeparationRequestModel.d.ts.map +1 -0
- package/lib/models/RetroWeeksModel.d.ts +11 -0
- package/lib/models/RetroWeeksModel.d.ts.map +1 -0
- package/lib/models/SecurityQuestionAnswerModel.d.ts +7 -0
- package/lib/models/SecurityQuestionAnswerModel.d.ts.map +1 -0
- package/lib/models/SendOtpRequestModel.d.ts +12 -0
- package/lib/models/SendOtpRequestModel.d.ts.map +1 -0
- package/lib/models/UserModel.d.ts +0 -1
- package/lib/models/UserModel.d.ts.map +1 -1
- package/lib/models/VerifyOtpRequestModel.d.ts +8 -0
- package/lib/models/VerifyOtpRequestModel.d.ts.map +1 -0
- package/lib/models/WageCalculatorModel.d.ts +15 -0
- package/lib/models/WageCalculatorModel.d.ts.map +1 -0
- package/lib/models/WageInfoModel.d.ts +9 -0
- package/lib/models/WageInfoModel.d.ts.map +1 -0
- package/lib/models/addressValidation/AddressRecommendationModel.d.ts +12 -0
- package/lib/models/addressValidation/AddressRecommendationModel.d.ts.map +1 -0
- package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts +11 -0
- package/lib/models/addressValidation/AddressValidationRequestComponentModel.d.ts.map +1 -0
- package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts +6 -0
- package/lib/models/addressValidation/AddressValidationResponseComponentModel.d.ts.map +1 -0
- package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts +16 -0
- package/lib/models/addressValidation/AddressValidationReturnComponentModel.d.ts.map +1 -0
- package/lib/models/combo-model.d.ts +42 -0
- package/lib/models/combo-model.d.ts.map +1 -0
- package/lib/models/dashboard-model.d.ts +22 -0
- package/lib/models/dashboard-model.d.ts.map +1 -1
- package/lib/models/fileupload/DocUploadModel.d.ts +22 -0
- package/lib/models/fileupload/DocUploadModel.d.ts.map +1 -0
- package/lib/models/fileupload/EmployerDataModel.d.ts +6 -0
- package/lib/models/fileupload/EmployerDataModel.d.ts.map +1 -0
- package/lib/models/fileupload/FileObject.d.ts +8 -0
- package/lib/models/fileupload/FileObject.d.ts.map +1 -0
- package/lib/models/fileupload/FileObjectArray.d.ts +8 -0
- package/lib/models/fileupload/FileObjectArray.d.ts.map +1 -0
- package/lib/models/questionnaire/AppealParticipantModel.d.ts +17 -0
- package/lib/models/questionnaire/AppealParticipantModel.d.ts.map +1 -0
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts +3 -0
- package/lib/models/questionnaire/ClaimAppEmpResponseModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts +15 -4
- package/lib/models/questionnaire/ClaimAppEmployerDetailsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts +4 -1
- package/lib/models/questionnaire/ClaimOnlyEmployerDataModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ComboModel.d.ts +14 -82
- package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ElementsModel.d.ts +0 -1
- package/lib/models/questionnaire/ElementsModel.d.ts.map +1 -1
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts +2 -0
- package/lib/models/questionnaire/LegalDiscaimarModel.d.ts.map +1 -1
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts +0 -1
- package/lib/models/questionnaire/QuestionnaireSaveModel.d.ts.map +1 -1
- package/lib/models/questionnaire/ScrollableTextModel.d.ts +4 -0
- package/lib/models/questionnaire/ScrollableTextModel.d.ts.map +1 -0
- package/lib/models/questionnaire/StatusModel.d.ts +1 -0
- package/lib/models/questionnaire/StatusModel.d.ts.map +1 -1
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts +4 -0
- package/lib/models/questionnaire/WbaHelperTextModel.d.ts.map +1 -0
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts +9 -0
- package/lib/models/weekly-cert/WorkSearchWaiverModel.d.ts.map +1 -0
- package/lib/models/weekly-cert/address-detail-model.d.ts +14 -0
- package/lib/models/weekly-cert/address-detail-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts +15 -0
- package/lib/models/weekly-cert/admin-leave-details-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts +27 -0
- package/lib/models/weekly-cert/employer-info-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts +57 -0
- package/lib/models/weekly-cert/weekly-cert-eligibility-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts +59 -0
- package/lib/models/weekly-cert/weekly-certification-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts +66 -0
- package/lib/models/weekly-cert/work-search-record-v2-model.d.ts.map +1 -0
- package/lib/models/weekly-cert/work-search-v2-model.d.ts +18 -0
- package/lib/models/weekly-cert/work-search-v2-model.d.ts.map +1 -0
- package/lib/ngx-reusa-app-lib.module.d.ts +124 -86
- package/lib/ngx-reusa-app-lib.module.d.ts.map +1 -1
- package/lib/pages/BasePage.d.ts +3 -6
- package/lib/pages/BasePage.d.ts.map +1 -1
- package/lib/pages/common/change-password/change-password.page.d.ts +3 -0
- package/lib/pages/common/change-password/change-password.page.d.ts.map +1 -1
- package/lib/pages/common/login/login.component.d.ts.map +1 -1
- package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
- package/lib/pages/popovers/my-profile/my-profile.page.d.ts.map +1 -1
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts +14 -0
- package/lib/pipes/format-worksearch/format-worksearch.pipe.d.ts.map +1 -0
- package/lib/services/address-validation-service/address-validation.service.d.ts +44 -0
- package/lib/services/address-validation-service/address-validation.service.d.ts.map +1 -0
- package/lib/services/appeal/appeal.service.d.ts +16 -0
- package/lib/services/appeal/appeal.service.d.ts.map +1 -0
- package/lib/services/base-service.d.ts +12 -0
- package/lib/services/base-service.d.ts.map +1 -1
- package/lib/services/birt-service/birt.service.d.ts +17 -0
- package/lib/services/birt-service/birt.service.d.ts.map +1 -0
- package/lib/services/claimant-service/claimant.service.d.ts +5 -6
- package/lib/services/claimant-service/claimant.service.d.ts.map +1 -1
- package/lib/services/claims/claims.service.d.ts +39 -5
- package/lib/services/claims/claims.service.d.ts.map +1 -1
- package/lib/services/employer/employer-service.d.ts +16 -0
- package/lib/services/employer/employer-service.d.ts.map +1 -0
- package/lib/services/event-service/event-service.d.ts +20 -0
- package/lib/services/event-service/event-service.d.ts.map +1 -0
- package/lib/services/login/login.service.d.ts +5 -3
- package/lib/services/login/login.service.d.ts.map +1 -1
- package/lib/services/offline-claims/offline-claims.service.d.ts +64 -0
- package/lib/services/offline-claims/offline-claims.service.d.ts.map +1 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts +1 -0
- package/lib/services/questionnaire/questionnaire.service.d.ts.map +1 -1
- package/lib/services/questionnaire/validation.service.d.ts +3 -0
- package/lib/services/questionnaire/validation.service.d.ts.map +1 -1
- package/lib/services/security-service/security.service.d.ts +12 -4
- package/lib/services/security-service/security.service.d.ts.map +1 -1
- package/lib/services/util/util.service.d.ts +6 -0
- package/lib/services/util/util.service.d.ts.map +1 -1
- package/lib/services/weekly-cert/review.service.d.ts +23 -0
- package/lib/services/weekly-cert/review.service.d.ts.map +1 -0
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts +47 -5
- package/lib/services/weekly-cert/weekly-cert-v2.service.d.ts.map +1 -1
- package/lib/services/weekly-cert/weekly-cert.service.d.ts +17 -0
- package/lib/services/weekly-cert/weekly-cert.service.d.ts.map +1 -0
- package/lib/services/weekly-cert/work-search.service.d.ts +26 -0
- package/lib/services/weekly-cert/work-search.service.d.ts.map +1 -0
- package/lib/validations/AppRegex.d.ts +0 -2
- package/lib/validations/AppRegex.d.ts.map +1 -1
- package/lib/validations/AppValidators.d.ts +20 -24
- package/lib/validations/AppValidators.d.ts.map +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +46 -4
- package/public-api.d.ts.map +1 -1
- package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +0 -402
- package/esm2022/lib/components/mfa2/mfa2.component.mjs +0 -285
- package/esm2022/lib/components/security-question/security-question.component.mjs +0 -199
- package/esm2022/lib/models/LexisNexisAccountCreationModel.mjs +0 -2
- package/esm2022/lib/models/LexisNexisAuthSelectionRequestModel.mjs +0 -2
- package/esm2022/lib/models/LexisNexisAuthSelectionResponseModel.mjs +0 -2
- package/esm2022/lib/models/LexisNexisEnabledResponseModel.mjs +0 -2
- package/esm2022/lib/models/LexisNexisResponseModel.mjs +0 -3
- package/esm2022/lib/models/PartialEmploymentModel.mjs +0 -3
- package/esm2022/lib/models/SecurityQuestionModel.mjs +0 -3
- package/esm2022/lib/services/claimant-service/claimant-usps-redirect.service.mjs +0 -36
- package/esm2022/lib/services/lexis-nexis/lexis.nexis.service.mjs +0 -60
- package/esm2022/lib/services/ovp/ovp.service.mjs +0 -43
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts +0 -59
- package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +0 -1
- package/lib/components/mfa2/mfa2.component.d.ts +0 -48
- package/lib/components/mfa2/mfa2.component.d.ts.map +0 -1
- package/lib/components/security-question/security-question.component.d.ts +0 -37
- package/lib/components/security-question/security-question.component.d.ts.map +0 -1
- package/lib/models/LexisNexisAccountCreationModel.d.ts +0 -15
- package/lib/models/LexisNexisAccountCreationModel.d.ts.map +0 -1
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts +0 -16
- package/lib/models/LexisNexisAuthSelectionRequestModel.d.ts.map +0 -1
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts +0 -39
- package/lib/models/LexisNexisAuthSelectionResponseModel.d.ts.map +0 -1
- package/lib/models/LexisNexisEnabledResponseModel.d.ts +0 -5
- package/lib/models/LexisNexisEnabledResponseModel.d.ts.map +0 -1
- package/lib/models/LexisNexisResponseModel.d.ts +0 -7
- package/lib/models/LexisNexisResponseModel.d.ts.map +0 -1
- package/lib/models/PartialEmploymentModel.d.ts +0 -6
- package/lib/models/PartialEmploymentModel.d.ts.map +0 -1
- package/lib/models/SecurityQuestionModel.d.ts +0 -7
- package/lib/models/SecurityQuestionModel.d.ts.map +0 -1
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts +0 -16
- package/lib/services/claimant-service/claimant-usps-redirect.service.d.ts.map +0 -1
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts +0 -26
- package/lib/services/lexis-nexis/lexis.nexis.service.d.ts.map +0 -1
- package/lib/services/ovp/ovp.service.d.ts +0 -17
- package/lib/services/ovp/ovp.service.d.ts.map +0 -1
package/esm2022/lib/components/weekly-work-search-employer-me/work-search-employer.component-me.mjs
ADDED
|
@@ -0,0 +1,1190 @@
|
|
|
1
|
+
import { Component, ViewChild, EventEmitter, Output, Input } from '@angular/core';
|
|
2
|
+
import { Validators } from '@angular/forms';
|
|
3
|
+
import { ComboOption } from '../../models/combo-model';
|
|
4
|
+
import { WorkSearchRecordModel } from '../../models/weekly-cert/work-search-record-v2-model';
|
|
5
|
+
import { AppValidators } from '../../validations/AppValidators';
|
|
6
|
+
import { LibConstants } from '../../models/LibConstants';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "../../services/weekly-cert/weekly-cert-v2.service";
|
|
9
|
+
import * as i2 from "@angular/forms";
|
|
10
|
+
import * as i3 from "../../services/util/util.service";
|
|
11
|
+
import * as i4 from "@ionic/angular";
|
|
12
|
+
import * as i5 from "@angular/common";
|
|
13
|
+
import * as i6 from "primeng/dialog";
|
|
14
|
+
import * as i7 from "primeng/inputtext";
|
|
15
|
+
import * as i8 from "primeng/inputmask";
|
|
16
|
+
import * as i9 from "primeng/calendar";
|
|
17
|
+
import * as i10 from "primeng/selectbutton";
|
|
18
|
+
import * as i11 from "../error/error.component";
|
|
19
|
+
import * as i12 from "../overlay-info/overlay-info.component";
|
|
20
|
+
import * as i13 from "../search-employer/search-employer.component";
|
|
21
|
+
import * as i14 from "../dropdown/dropdown.component";
|
|
22
|
+
import * as i15 from "../../directives/strip-invisible-characters/strip-invisible-characters.directive";
|
|
23
|
+
import * as i16 from "@ngx-translate/core";
|
|
24
|
+
import * as i17 from "../../pipes/trust-html/trust-html.pipe";
|
|
25
|
+
const _c0 = ["wsrFormDirective"];
|
|
26
|
+
const _c1 = () => ({ required: "Required." });
|
|
27
|
+
function WorkSearchEmployerComponentME_section_19_Template(rf, ctx) { if (rf & 1) {
|
|
28
|
+
i0.ɵɵelementStart(0, "section")(1, "div", 6)(2, "label", 16);
|
|
29
|
+
i0.ɵɵtext(3);
|
|
30
|
+
i0.ɵɵpipe(4, "translate");
|
|
31
|
+
i0.ɵɵelementEnd();
|
|
32
|
+
i0.ɵɵelement(5, "p-selectButton", 17)(6, "app-error", 10);
|
|
33
|
+
i0.ɵɵelementEnd()();
|
|
34
|
+
} if (rf & 2) {
|
|
35
|
+
const ctx_r1 = i0.ɵɵnextContext();
|
|
36
|
+
const _r0 = i0.ɵɵreference(5);
|
|
37
|
+
i0.ɵɵadvance(3);
|
|
38
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 8, "work.search.journal.workOrPerformServiceType"));
|
|
39
|
+
i0.ɵɵadvance(2);
|
|
40
|
+
i0.ɵɵproperty("options", ctx_r1.employmentTypeOptions)("formControl", ctx_r1.workOrPerformServiceType);
|
|
41
|
+
i0.ɵɵadvance(1);
|
|
42
|
+
i0.ɵɵclassMap("app-grid");
|
|
43
|
+
i0.ɵɵproperty("field", ctx_r1.workOrPerformServiceType)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c1));
|
|
44
|
+
} }
|
|
45
|
+
function WorkSearchEmployerComponentME_section_20_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
46
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 19);
|
|
47
|
+
i0.ɵɵtext(2);
|
|
48
|
+
i0.ɵɵpipe(3, "translate");
|
|
49
|
+
i0.ɵɵelementEnd();
|
|
50
|
+
i0.ɵɵelement(4, "input", 20)(5, "app-error", 10);
|
|
51
|
+
i0.ɵɵelementEnd();
|
|
52
|
+
} if (rf & 2) {
|
|
53
|
+
const ctx_r8 = i0.ɵɵnextContext(2);
|
|
54
|
+
const _r0 = i0.ɵɵreference(5);
|
|
55
|
+
i0.ɵɵadvance(2);
|
|
56
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.unionName"));
|
|
57
|
+
i0.ɵɵadvance(2);
|
|
58
|
+
i0.ɵɵproperty("formControl", ctx_r8.unionName);
|
|
59
|
+
i0.ɵɵadvance(1);
|
|
60
|
+
i0.ɵɵclassMap("app-grid");
|
|
61
|
+
i0.ɵɵproperty("field", ctx_r8.unionName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
|
|
62
|
+
} }
|
|
63
|
+
function WorkSearchEmployerComponentME_section_20_div_8_Template(rf, ctx) { if (rf & 1) {
|
|
64
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 21);
|
|
65
|
+
i0.ɵɵtext(2);
|
|
66
|
+
i0.ɵɵpipe(3, "translate");
|
|
67
|
+
i0.ɵɵelementEnd();
|
|
68
|
+
i0.ɵɵelement(4, "input", 22)(5, "app-error", 10);
|
|
69
|
+
i0.ɵɵelementEnd();
|
|
70
|
+
} if (rf & 2) {
|
|
71
|
+
const ctx_r9 = i0.ɵɵnextContext(2);
|
|
72
|
+
const _r0 = i0.ɵɵreference(5);
|
|
73
|
+
i0.ɵɵadvance(2);
|
|
74
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.unionContactPersonName"));
|
|
75
|
+
i0.ɵɵadvance(2);
|
|
76
|
+
i0.ɵɵproperty("formControl", ctx_r9.unionContactPersonName);
|
|
77
|
+
i0.ɵɵadvance(1);
|
|
78
|
+
i0.ɵɵclassMap("app-grid");
|
|
79
|
+
i0.ɵɵproperty("field", ctx_r9.unionContactPersonName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
|
|
80
|
+
} }
|
|
81
|
+
function WorkSearchEmployerComponentME_section_20_div_9_Template(rf, ctx) { if (rf & 1) {
|
|
82
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 23);
|
|
83
|
+
i0.ɵɵtext(2);
|
|
84
|
+
i0.ɵɵpipe(3, "translate");
|
|
85
|
+
i0.ɵɵelementEnd();
|
|
86
|
+
i0.ɵɵelement(4, "p-calendar", 24)(5, "app-error", 10);
|
|
87
|
+
i0.ɵɵelementEnd();
|
|
88
|
+
} if (rf & 2) {
|
|
89
|
+
const ctx_r10 = i0.ɵɵnextContext(2);
|
|
90
|
+
const _r0 = i0.ɵɵreference(5);
|
|
91
|
+
i0.ɵɵadvance(2);
|
|
92
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 12, "work.search.journal.unionContactDate"));
|
|
93
|
+
i0.ɵɵadvance(2);
|
|
94
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r10.unionContactDate)("minDate", ctx_r10.sunDate)("maxDate", ctx_r10.satDate)("defaultDate", ctx_r10.sunDate)("selectOtherMonths", true);
|
|
95
|
+
i0.ɵɵadvance(1);
|
|
96
|
+
i0.ɵɵclassMap("app-grid");
|
|
97
|
+
i0.ɵɵproperty("field", ctx_r10.unionContactDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(14, _c1));
|
|
98
|
+
} }
|
|
99
|
+
function WorkSearchEmployerComponentME_section_20_Template(rf, ctx) { if (rf & 1) {
|
|
100
|
+
i0.ɵɵelementStart(0, "section")(1, "div", 6)(2, "label", 18);
|
|
101
|
+
i0.ɵɵtext(3);
|
|
102
|
+
i0.ɵɵpipe(4, "translate");
|
|
103
|
+
i0.ɵɵelementEnd();
|
|
104
|
+
i0.ɵɵelement(5, "p-selectButton", 17)(6, "app-error", 10);
|
|
105
|
+
i0.ɵɵelementEnd();
|
|
106
|
+
i0.ɵɵtemplate(7, WorkSearchEmployerComponentME_section_20_div_7_Template, 6, 10, "div", 12)(8, WorkSearchEmployerComponentME_section_20_div_8_Template, 6, 10, "div", 12)(9, WorkSearchEmployerComponentME_section_20_div_9_Template, 6, 15, "div", 12);
|
|
107
|
+
i0.ɵɵelementEnd();
|
|
108
|
+
} if (rf & 2) {
|
|
109
|
+
const ctx_r2 = i0.ɵɵnextContext();
|
|
110
|
+
const _r0 = i0.ɵɵreference(5);
|
|
111
|
+
i0.ɵɵadvance(3);
|
|
112
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 11, "work.search.journal.isInContactWithUnion"));
|
|
113
|
+
i0.ɵɵadvance(2);
|
|
114
|
+
i0.ɵɵproperty("options", ctx_r2.yesNoOptions)("formControl", ctx_r2.isInContactWithUnion);
|
|
115
|
+
i0.ɵɵadvance(1);
|
|
116
|
+
i0.ɵɵclassMap("app-grid");
|
|
117
|
+
i0.ɵɵproperty("field", ctx_r2.isInContactWithUnion)("form", _r0)("errDef", i0.ɵɵpureFunction0(13, _c1));
|
|
118
|
+
i0.ɵɵadvance(1);
|
|
119
|
+
i0.ɵɵproperty("ngIf", ctx_r2.isInContactWithUnion.value === "Y");
|
|
120
|
+
i0.ɵɵadvance(1);
|
|
121
|
+
i0.ɵɵproperty("ngIf", ctx_r2.isInContactWithUnion.value === "Y");
|
|
122
|
+
i0.ɵɵadvance(1);
|
|
123
|
+
i0.ɵɵproperty("ngIf", ctx_r2.isInContactWithUnion.value === "Y");
|
|
124
|
+
} }
|
|
125
|
+
function WorkSearchEmployerComponentME_section_21_Template(rf, ctx) { if (rf & 1) {
|
|
126
|
+
i0.ɵɵelementStart(0, "section")(1, "div", 6)(2, "label", 25);
|
|
127
|
+
i0.ɵɵtext(3);
|
|
128
|
+
i0.ɵɵpipe(4, "translate");
|
|
129
|
+
i0.ɵɵelementEnd();
|
|
130
|
+
i0.ɵɵelement(5, "input", 26)(6, "app-error", 10);
|
|
131
|
+
i0.ɵɵelementEnd()();
|
|
132
|
+
} if (rf & 2) {
|
|
133
|
+
const ctx_r3 = i0.ɵɵnextContext();
|
|
134
|
+
const _r0 = i0.ɵɵreference(5);
|
|
135
|
+
i0.ɵɵadvance(3);
|
|
136
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, "work.search.journal.workShopName"));
|
|
137
|
+
i0.ɵɵadvance(2);
|
|
138
|
+
i0.ɵɵproperty("formControl", ctx_r3.workShopName);
|
|
139
|
+
i0.ɵɵadvance(1);
|
|
140
|
+
i0.ɵɵclassMap("app-grid");
|
|
141
|
+
i0.ɵɵproperty("field", ctx_r3.workShopName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
|
|
142
|
+
} }
|
|
143
|
+
function WorkSearchEmployerComponentME_section_22_Template(rf, ctx) { if (rf & 1) {
|
|
144
|
+
i0.ɵɵelementStart(0, "section")(1, "div", 6)(2, "label", 27);
|
|
145
|
+
i0.ɵɵtext(3);
|
|
146
|
+
i0.ɵɵpipe(4, "translate");
|
|
147
|
+
i0.ɵɵelementEnd();
|
|
148
|
+
i0.ɵɵelement(5, "input", 28)(6, "app-error", 10);
|
|
149
|
+
i0.ɵɵelementEnd()();
|
|
150
|
+
} if (rf & 2) {
|
|
151
|
+
const ctx_r4 = i0.ɵɵnextContext();
|
|
152
|
+
const _r0 = i0.ɵɵreference(5);
|
|
153
|
+
i0.ɵɵadvance(3);
|
|
154
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 7, "work.search.journal.jobFairLocation"));
|
|
155
|
+
i0.ɵɵadvance(2);
|
|
156
|
+
i0.ɵɵproperty("formControl", ctx_r4.jobFairLocation);
|
|
157
|
+
i0.ɵɵadvance(1);
|
|
158
|
+
i0.ɵɵclassMap("app-grid");
|
|
159
|
+
i0.ɵɵproperty("field", ctx_r4.jobFairLocation)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
|
|
160
|
+
} }
|
|
161
|
+
const _c2 = "only letters, numbers, spaces, and . , & ' ( ) - # are allowed";
|
|
162
|
+
const _c3 = () => ({ required: "Required.", pattern: _c2 });
|
|
163
|
+
const _c4 = () => ({ required: "required" });
|
|
164
|
+
const _c5 = "City name can only contain letters, spaces, and hyphens";
|
|
165
|
+
const _c6 = () => ({ required: "Required.", invalidwsCityLength: "City should not exceed a length of 30 characters", pattern: _c5 });
|
|
166
|
+
const _c7 = () => ({ required: "Required.", invalidLength: "Zip code should be of 5 or 9 digits.", invalidNumber: "Zip code should only have numbers.", invalidZipCode: "please enter a valid zip code" });
|
|
167
|
+
function WorkSearchEmployerComponentME_section_23_Template(rf, ctx) { if (rf & 1) {
|
|
168
|
+
const _r12 = i0.ɵɵgetCurrentView();
|
|
169
|
+
i0.ɵɵelementStart(0, "section")(1, "div", 6)(2, "label", 29);
|
|
170
|
+
i0.ɵɵtext(3);
|
|
171
|
+
i0.ɵɵpipe(4, "translate");
|
|
172
|
+
i0.ɵɵelementEnd();
|
|
173
|
+
i0.ɵɵelementStart(5, "app-search-employer", 30);
|
|
174
|
+
i0.ɵɵlistener("onFound", function WorkSearchEmployerComponentME_section_23_Template_app_search_employer_onFound_5_listener($event) { i0.ɵɵrestoreView(_r12); const ctx_r11 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r11.setEmployer($event)); });
|
|
175
|
+
i0.ɵɵelementEnd();
|
|
176
|
+
i0.ɵɵelement(6, "app-error", 10);
|
|
177
|
+
i0.ɵɵelementEnd();
|
|
178
|
+
i0.ɵɵelementStart(7, "div", 6)(8, "label", 31);
|
|
179
|
+
i0.ɵɵtext(9);
|
|
180
|
+
i0.ɵɵpipe(10, "translate");
|
|
181
|
+
i0.ɵɵelementEnd();
|
|
182
|
+
i0.ɵɵelement(11, "br")(12, "app-dropdown", 32)(13, "app-error", 10);
|
|
183
|
+
i0.ɵɵelementEnd();
|
|
184
|
+
i0.ɵɵelementStart(14, "div", 6)(15, "label", 33);
|
|
185
|
+
i0.ɵɵtext(16);
|
|
186
|
+
i0.ɵɵpipe(17, "translate");
|
|
187
|
+
i0.ɵɵelementEnd();
|
|
188
|
+
i0.ɵɵelement(18, "input", 34)(19, "app-error", 10);
|
|
189
|
+
i0.ɵɵelementEnd();
|
|
190
|
+
i0.ɵɵelementStart(20, "div", 6)(21, "label", 35);
|
|
191
|
+
i0.ɵɵtext(22);
|
|
192
|
+
i0.ɵɵpipe(23, "translate");
|
|
193
|
+
i0.ɵɵelementEnd();
|
|
194
|
+
i0.ɵɵelement(24, "input", 36)(25, "app-error", 10);
|
|
195
|
+
i0.ɵɵelementEnd();
|
|
196
|
+
i0.ɵɵelementStart(26, "ion-row")(27, "ion-col", 37)(28, "div", 6)(29, "label", 38);
|
|
197
|
+
i0.ɵɵtext(30);
|
|
198
|
+
i0.ɵɵpipe(31, "translate");
|
|
199
|
+
i0.ɵɵelementEnd();
|
|
200
|
+
i0.ɵɵelement(32, "app-dropdown", 39)(33, "app-error", 10);
|
|
201
|
+
i0.ɵɵelementEnd()();
|
|
202
|
+
i0.ɵɵelement(34, "ion-col", 40);
|
|
203
|
+
i0.ɵɵelementStart(35, "ion-col", 37)(36, "div", 6)(37, "label", 41);
|
|
204
|
+
i0.ɵɵtext(38);
|
|
205
|
+
i0.ɵɵpipe(39, "translate");
|
|
206
|
+
i0.ɵɵelementEnd();
|
|
207
|
+
i0.ɵɵelement(40, "input", 42)(41, "app-error", 10);
|
|
208
|
+
i0.ɵɵelementEnd()()();
|
|
209
|
+
i0.ɵɵelementStart(42, "div", 6)(43, "label", 43);
|
|
210
|
+
i0.ɵɵtext(44);
|
|
211
|
+
i0.ɵɵpipe(45, "translate");
|
|
212
|
+
i0.ɵɵelementEnd();
|
|
213
|
+
i0.ɵɵelement(46, "p-inputMask", 44)(47, "app-error", 10);
|
|
214
|
+
i0.ɵɵelementEnd()();
|
|
215
|
+
} if (rf & 2) {
|
|
216
|
+
const ctx_r5 = i0.ɵɵnextContext();
|
|
217
|
+
const _r0 = i0.ɵɵreference(5);
|
|
218
|
+
i0.ɵɵadvance(3);
|
|
219
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 53, "work.search.journal.employerName"));
|
|
220
|
+
i0.ɵɵadvance(2);
|
|
221
|
+
i0.ɵɵproperty("formControl", ctx_r5.employerName)("empType", "REG");
|
|
222
|
+
i0.ɵɵadvance(1);
|
|
223
|
+
i0.ɵɵclassMap("app-grid");
|
|
224
|
+
i0.ɵɵproperty("field", ctx_r5.employerName)("form", _r0)("errDef", i0.ɵɵpureFunction0(67, _c3));
|
|
225
|
+
i0.ɵɵadvance(3);
|
|
226
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 55, "work.search.journal.country"));
|
|
227
|
+
i0.ɵɵadvance(3);
|
|
228
|
+
i0.ɵɵproperty("options", ctx_r5.countryOptions)("formControl", ctx_r5.country)("autoDisplayFirst", false);
|
|
229
|
+
i0.ɵɵadvance(1);
|
|
230
|
+
i0.ɵɵclassMap("app-grid");
|
|
231
|
+
i0.ɵɵproperty("field", ctx_r5.country)("form", _r0)("errDef", i0.ɵɵpureFunction0(68, _c4));
|
|
232
|
+
i0.ɵɵadvance(3);
|
|
233
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(17, 57, "work.search.journal.streetAddress"));
|
|
234
|
+
i0.ɵɵadvance(2);
|
|
235
|
+
i0.ɵɵproperty("formControl", ctx_r5.line1);
|
|
236
|
+
i0.ɵɵadvance(1);
|
|
237
|
+
i0.ɵɵclassMap("app-grid");
|
|
238
|
+
i0.ɵɵproperty("field", ctx_r5.line1)("form", _r0)("errDef", i0.ɵɵpureFunction0(69, _c3));
|
|
239
|
+
i0.ɵɵadvance(3);
|
|
240
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(23, 59, "work.search.journal.city"));
|
|
241
|
+
i0.ɵɵadvance(2);
|
|
242
|
+
i0.ɵɵproperty("formControl", ctx_r5.city);
|
|
243
|
+
i0.ɵɵadvance(1);
|
|
244
|
+
i0.ɵɵclassMap("app-grid");
|
|
245
|
+
i0.ɵɵproperty("field", ctx_r5.city)("form", _r0)("errDef", i0.ɵɵpureFunction0(70, _c6));
|
|
246
|
+
i0.ɵɵadvance(5);
|
|
247
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(31, 61, "work.search.journal.state"));
|
|
248
|
+
i0.ɵɵadvance(2);
|
|
249
|
+
i0.ɵɵproperty("options", ctx_r5.statesCombo)("formControl", ctx_r5.state);
|
|
250
|
+
i0.ɵɵadvance(1);
|
|
251
|
+
i0.ɵɵclassMap("app-grid");
|
|
252
|
+
i0.ɵɵproperty("field", ctx_r5.state)("form", _r0)("errDef", i0.ɵɵpureFunction0(71, _c1));
|
|
253
|
+
i0.ɵɵadvance(5);
|
|
254
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(39, 63, "work.search.journal.zip"));
|
|
255
|
+
i0.ɵɵadvance(2);
|
|
256
|
+
i0.ɵɵproperty("formControl", ctx_r5.zip);
|
|
257
|
+
i0.ɵɵadvance(1);
|
|
258
|
+
i0.ɵɵclassMap("app-grid");
|
|
259
|
+
i0.ɵɵproperty("field", ctx_r5.zip)("form", _r0)("errDef", i0.ɵɵpureFunction0(72, _c7));
|
|
260
|
+
i0.ɵɵadvance(3);
|
|
261
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(45, 65, "work.search.journal.phoneNo"));
|
|
262
|
+
i0.ɵɵadvance(2);
|
|
263
|
+
i0.ɵɵproperty("formControl", ctx_r5.employerPhone);
|
|
264
|
+
i0.ɵɵadvance(1);
|
|
265
|
+
i0.ɵɵclassMap("app-grid");
|
|
266
|
+
i0.ɵɵproperty("field", ctx_r5.employerPhone)("form", _r0)("errDef", i0.ɵɵpureFunction0(73, _c1));
|
|
267
|
+
} }
|
|
268
|
+
const _c8 = a1 => ({ required: "Required.", dateNotBetween: a1 });
|
|
269
|
+
function WorkSearchEmployerComponentME_div_26_Template(rf, ctx) { if (rf & 1) {
|
|
270
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 45);
|
|
271
|
+
i0.ɵɵtext(2);
|
|
272
|
+
i0.ɵɵpipe(3, "translate");
|
|
273
|
+
i0.ɵɵelementEnd();
|
|
274
|
+
i0.ɵɵelement(4, "p-calendar", 46)(5, "app-error", 10);
|
|
275
|
+
i0.ɵɵelementEnd();
|
|
276
|
+
} if (rf & 2) {
|
|
277
|
+
const ctx_r6 = i0.ɵɵnextContext();
|
|
278
|
+
const _r0 = i0.ɵɵreference(5);
|
|
279
|
+
i0.ɵɵadvance(2);
|
|
280
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 12, "work.search.journal.applicationDate"));
|
|
281
|
+
i0.ɵɵadvance(2);
|
|
282
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r6.workSearchDate)("minDate", ctx_r6.sunDate)("maxDate", ctx_r6.satDate)("defaultDate", ctx_r6.sunDate)("selectOtherMonths", true);
|
|
283
|
+
i0.ɵɵadvance(1);
|
|
284
|
+
i0.ɵɵclassMap("app-grid");
|
|
285
|
+
i0.ɵɵproperty("field", ctx_r6.workSearchDate)("form", _r0)("errDef", i0.ɵɵpureFunction1(14, _c8, "Date should be between " + ctx_r6.sunDateString + " and " + ctx_r6.satDateString + "."));
|
|
286
|
+
} }
|
|
287
|
+
function WorkSearchEmployerComponentME_section_27_div_13_Template(rf, ctx) { if (rf & 1) {
|
|
288
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 52);
|
|
289
|
+
i0.ɵɵtext(2);
|
|
290
|
+
i0.ɵɵpipe(3, "translate");
|
|
291
|
+
i0.ɵɵelementEnd();
|
|
292
|
+
i0.ɵɵelement(4, "p-inputMask", 53)(5, "app-error", 10);
|
|
293
|
+
i0.ɵɵelementEnd();
|
|
294
|
+
} if (rf & 2) {
|
|
295
|
+
const ctx_r13 = i0.ɵɵnextContext(2);
|
|
296
|
+
const _r0 = i0.ɵɵreference(5);
|
|
297
|
+
i0.ɵɵadvance(2);
|
|
298
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.phoneNo"));
|
|
299
|
+
i0.ɵɵadvance(2);
|
|
300
|
+
i0.ɵɵproperty("formControl", ctx_r13.contactPhone);
|
|
301
|
+
i0.ɵɵadvance(1);
|
|
302
|
+
i0.ɵɵclassMap("app-grid");
|
|
303
|
+
i0.ɵɵproperty("field", ctx_r13.contactPhone)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
|
|
304
|
+
} }
|
|
305
|
+
const _c9 = () => ({ required: "Required.", employerEmail: "Invalid email address." });
|
|
306
|
+
function WorkSearchEmployerComponentME_section_27_div_14_Template(rf, ctx) { if (rf & 1) {
|
|
307
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 54);
|
|
308
|
+
i0.ɵɵtext(2);
|
|
309
|
+
i0.ɵɵpipe(3, "translate");
|
|
310
|
+
i0.ɵɵelementEnd();
|
|
311
|
+
i0.ɵɵelement(4, "input", 55)(5, "app-error", 10);
|
|
312
|
+
i0.ɵɵelementEnd();
|
|
313
|
+
} if (rf & 2) {
|
|
314
|
+
const ctx_r14 = i0.ɵɵnextContext(2);
|
|
315
|
+
const _r0 = i0.ɵɵreference(5);
|
|
316
|
+
i0.ɵɵadvance(2);
|
|
317
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.email"));
|
|
318
|
+
i0.ɵɵadvance(2);
|
|
319
|
+
i0.ɵɵproperty("formControl", ctx_r14.employerEmail);
|
|
320
|
+
i0.ɵɵadvance(1);
|
|
321
|
+
i0.ɵɵclassMap("app-grid");
|
|
322
|
+
i0.ɵɵproperty("field", ctx_r14.employerEmail)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c9));
|
|
323
|
+
} }
|
|
324
|
+
function WorkSearchEmployerComponentME_section_27_div_15_Template(rf, ctx) { if (rf & 1) {
|
|
325
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 56);
|
|
326
|
+
i0.ɵɵtext(2);
|
|
327
|
+
i0.ɵɵpipe(3, "translate");
|
|
328
|
+
i0.ɵɵelementEnd();
|
|
329
|
+
i0.ɵɵelement(4, "input", 57)(5, "app-error", 10);
|
|
330
|
+
i0.ɵɵelementEnd();
|
|
331
|
+
} if (rf & 2) {
|
|
332
|
+
const ctx_r15 = i0.ɵɵnextContext(2);
|
|
333
|
+
const _r0 = i0.ɵɵreference(5);
|
|
334
|
+
i0.ɵɵadvance(2);
|
|
335
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.website"));
|
|
336
|
+
i0.ɵɵadvance(2);
|
|
337
|
+
i0.ɵɵproperty("formControl", ctx_r15.employerWebsite);
|
|
338
|
+
i0.ɵɵadvance(1);
|
|
339
|
+
i0.ɵɵclassMap("app-grid");
|
|
340
|
+
i0.ɵɵproperty("field", ctx_r15.employerWebsite)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
|
|
341
|
+
} }
|
|
342
|
+
function WorkSearchEmployerComponentME_section_27_div_16_Template(rf, ctx) { if (rf & 1) {
|
|
343
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 58);
|
|
344
|
+
i0.ɵɵtext(2);
|
|
345
|
+
i0.ɵɵpipe(3, "translate");
|
|
346
|
+
i0.ɵɵelementEnd();
|
|
347
|
+
i0.ɵɵelement(4, "input", 59)(5, "app-error", 10);
|
|
348
|
+
i0.ɵɵelementEnd();
|
|
349
|
+
} if (rf & 2) {
|
|
350
|
+
const ctx_r16 = i0.ɵɵnextContext(2);
|
|
351
|
+
const _r0 = i0.ɵɵreference(5);
|
|
352
|
+
i0.ɵɵadvance(2);
|
|
353
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.contactNameTitle"));
|
|
354
|
+
i0.ɵɵadvance(2);
|
|
355
|
+
i0.ɵɵproperty("formControl", ctx_r16.empContactPersonName);
|
|
356
|
+
i0.ɵɵadvance(1);
|
|
357
|
+
i0.ɵɵclassMap("app-grid");
|
|
358
|
+
i0.ɵɵproperty("field", ctx_r16.empContactPersonName)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
|
|
359
|
+
} }
|
|
360
|
+
function WorkSearchEmployerComponentME_section_27_div_23_Template(rf, ctx) { if (rf & 1) {
|
|
361
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 60);
|
|
362
|
+
i0.ɵɵtext(2);
|
|
363
|
+
i0.ɵɵpipe(3, "translate");
|
|
364
|
+
i0.ɵɵelementEnd();
|
|
365
|
+
i0.ɵɵelement(4, "input", 61)(5, "app-error", 10);
|
|
366
|
+
i0.ɵɵelementEnd();
|
|
367
|
+
} if (rf & 2) {
|
|
368
|
+
const ctx_r17 = i0.ɵɵnextContext(2);
|
|
369
|
+
const _r0 = i0.ɵɵreference(5);
|
|
370
|
+
i0.ɵɵadvance(2);
|
|
371
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 7, "work.search.journal.result.oth"));
|
|
372
|
+
i0.ɵɵadvance(2);
|
|
373
|
+
i0.ɵɵproperty("formControl", ctx_r17.othResult);
|
|
374
|
+
i0.ɵɵadvance(1);
|
|
375
|
+
i0.ɵɵclassMap("app-grid");
|
|
376
|
+
i0.ɵɵproperty("field", ctx_r17.othResult)("form", _r0)("errDef", i0.ɵɵpureFunction0(9, _c1));
|
|
377
|
+
} }
|
|
378
|
+
function WorkSearchEmployerComponentME_section_27_div_24_Template(rf, ctx) { if (rf & 1) {
|
|
379
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 62);
|
|
380
|
+
i0.ɵɵtext(2);
|
|
381
|
+
i0.ɵɵpipe(3, "translate");
|
|
382
|
+
i0.ɵɵelementEnd();
|
|
383
|
+
i0.ɵɵelement(4, "p-selectButton", 17)(5, "app-error", 10);
|
|
384
|
+
i0.ɵɵelementEnd();
|
|
385
|
+
} if (rf & 2) {
|
|
386
|
+
const ctx_r18 = i0.ɵɵnextContext(2);
|
|
387
|
+
const _r0 = i0.ɵɵreference(5);
|
|
388
|
+
i0.ɵɵadvance(2);
|
|
389
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 8, "work.search.journal.result.hasStartDate"));
|
|
390
|
+
i0.ɵɵadvance(2);
|
|
391
|
+
i0.ɵɵproperty("options", ctx_r18.yesNoOptions)("formControl", ctx_r18.hasStartDate);
|
|
392
|
+
i0.ɵɵadvance(1);
|
|
393
|
+
i0.ɵɵclassMap("app-grid");
|
|
394
|
+
i0.ɵɵproperty("field", ctx_r18.hasStartDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(10, _c1));
|
|
395
|
+
} }
|
|
396
|
+
function WorkSearchEmployerComponentME_section_27_div_25_Template(rf, ctx) { if (rf & 1) {
|
|
397
|
+
i0.ɵɵelementStart(0, "div", 6)(1, "label", 63);
|
|
398
|
+
i0.ɵɵtext(2);
|
|
399
|
+
i0.ɵɵpipe(3, "translate");
|
|
400
|
+
i0.ɵɵelementEnd();
|
|
401
|
+
i0.ɵɵelement(4, "p-calendar", 64)(5, "app-error", 10);
|
|
402
|
+
i0.ɵɵelementEnd();
|
|
403
|
+
} if (rf & 2) {
|
|
404
|
+
const ctx_r19 = i0.ɵɵnextContext(2);
|
|
405
|
+
const _r0 = i0.ɵɵreference(5);
|
|
406
|
+
i0.ɵɵadvance(2);
|
|
407
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(3, 11, "work.search.journal.result.startDate"));
|
|
408
|
+
i0.ɵɵadvance(2);
|
|
409
|
+
i0.ɵɵproperty("showIcon", true)("formControl", ctx_r19.workStartDate)("minDate", ctx_r19.sunDate)("defaultDate", ctx_r19.sunDate)("selectOtherMonths", true);
|
|
410
|
+
i0.ɵɵadvance(1);
|
|
411
|
+
i0.ɵɵclassMap("app-grid");
|
|
412
|
+
i0.ɵɵproperty("field", ctx_r19.workStartDate)("form", _r0)("errDef", i0.ɵɵpureFunction0(13, _c1));
|
|
413
|
+
} }
|
|
414
|
+
const _c10 = "Job Title can only contain letters, numbers, spaces, and hyphens";
|
|
415
|
+
const _c11 = () => ({ required: "Required.", pattern: _c10 });
|
|
416
|
+
function WorkSearchEmployerComponentME_section_27_Template(rf, ctx) { if (rf & 1) {
|
|
417
|
+
i0.ɵɵelementStart(0, "section")(1, "div", 6)(2, "label", 47);
|
|
418
|
+
i0.ɵɵtext(3);
|
|
419
|
+
i0.ɵɵpipe(4, "translate");
|
|
420
|
+
i0.ɵɵelementEnd();
|
|
421
|
+
i0.ɵɵelement(5, "input", 48)(6, "app-error", 10);
|
|
422
|
+
i0.ɵɵelementEnd();
|
|
423
|
+
i0.ɵɵelementStart(7, "div", 6)(8, "label", 49);
|
|
424
|
+
i0.ɵɵtext(9);
|
|
425
|
+
i0.ɵɵpipe(10, "translate");
|
|
426
|
+
i0.ɵɵelementEnd();
|
|
427
|
+
i0.ɵɵelement(11, "p-selectButton", 17)(12, "app-error", 10);
|
|
428
|
+
i0.ɵɵelementEnd();
|
|
429
|
+
i0.ɵɵtemplate(13, WorkSearchEmployerComponentME_section_27_div_13_Template, 6, 10, "div", 12)(14, WorkSearchEmployerComponentME_section_27_div_14_Template, 6, 10, "div", 12)(15, WorkSearchEmployerComponentME_section_27_div_15_Template, 6, 10, "div", 12)(16, WorkSearchEmployerComponentME_section_27_div_16_Template, 6, 10, "div", 12);
|
|
430
|
+
i0.ɵɵelementStart(17, "div", 6)(18, "label", 50);
|
|
431
|
+
i0.ɵɵtext(19);
|
|
432
|
+
i0.ɵɵpipe(20, "translate");
|
|
433
|
+
i0.ɵɵelementEnd();
|
|
434
|
+
i0.ɵɵelement(21, "app-dropdown", 51)(22, "app-error", 10);
|
|
435
|
+
i0.ɵɵelementEnd();
|
|
436
|
+
i0.ɵɵtemplate(23, WorkSearchEmployerComponentME_section_27_div_23_Template, 6, 10, "div", 12)(24, WorkSearchEmployerComponentME_section_27_div_24_Template, 6, 11, "div", 12)(25, WorkSearchEmployerComponentME_section_27_div_25_Template, 6, 14, "div", 12);
|
|
437
|
+
i0.ɵɵelementEnd();
|
|
438
|
+
} if (rf & 2) {
|
|
439
|
+
const ctx_r7 = i0.ɵɵnextContext();
|
|
440
|
+
const _r0 = i0.ɵɵreference(5);
|
|
441
|
+
i0.ɵɵadvance(3);
|
|
442
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(4, 30, "work.search.journal.jobTitle"));
|
|
443
|
+
i0.ɵɵadvance(2);
|
|
444
|
+
i0.ɵɵproperty("formControl", ctx_r7.positionAppliedFor);
|
|
445
|
+
i0.ɵɵadvance(1);
|
|
446
|
+
i0.ɵɵclassMap("app-grid");
|
|
447
|
+
i0.ɵɵproperty("field", ctx_r7.positionAppliedFor)("form", _r0)("errDef", i0.ɵɵpureFunction0(36, _c11));
|
|
448
|
+
i0.ɵɵadvance(3);
|
|
449
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(10, 32, "work.search.journal.contactMethod"));
|
|
450
|
+
i0.ɵɵadvance(2);
|
|
451
|
+
i0.ɵɵproperty("options", ctx_r7.workSearchMethodContact)("formControl", ctx_r7.contactMethod);
|
|
452
|
+
i0.ɵɵadvance(1);
|
|
453
|
+
i0.ɵɵclassMap("app-grid");
|
|
454
|
+
i0.ɵɵproperty("field", ctx_r7.contactMethod)("form", _r0)("errDef", i0.ɵɵpureFunction0(37, _c1));
|
|
455
|
+
i0.ɵɵadvance(1);
|
|
456
|
+
i0.ɵɵproperty("ngIf", ctx_r7.contactMethod.value == "TELE");
|
|
457
|
+
i0.ɵɵadvance(1);
|
|
458
|
+
i0.ɵɵproperty("ngIf", ctx_r7.contactMethod.value == "EMAL");
|
|
459
|
+
i0.ɵɵadvance(1);
|
|
460
|
+
i0.ɵɵproperty("ngIf", ctx_r7.contactMethod.value == "ONLI");
|
|
461
|
+
i0.ɵɵadvance(1);
|
|
462
|
+
i0.ɵɵproperty("ngIf", ctx_r7.contactMethod.value != "ONLI");
|
|
463
|
+
i0.ɵɵadvance(3);
|
|
464
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(20, 34, "work.search.journal.result"));
|
|
465
|
+
i0.ɵɵadvance(2);
|
|
466
|
+
i0.ɵɵproperty("options", ctx_r7.workSearchResultCombo)("formControl", ctx_r7.searchResult);
|
|
467
|
+
i0.ɵɵadvance(1);
|
|
468
|
+
i0.ɵɵclassMap("app-grid");
|
|
469
|
+
i0.ɵɵproperty("field", ctx_r7.searchResult)("form", _r0)("errDef", i0.ɵɵpureFunction0(38, _c1));
|
|
470
|
+
i0.ɵɵadvance(1);
|
|
471
|
+
i0.ɵɵproperty("ngIf", ctx_r7.searchResult.value == "OTHR");
|
|
472
|
+
i0.ɵɵadvance(1);
|
|
473
|
+
i0.ɵɵproperty("ngIf", ctx_r7.searchResult.value == "HIRE");
|
|
474
|
+
i0.ɵɵadvance(1);
|
|
475
|
+
i0.ɵɵproperty("ngIf", ctx_r7.hasStartDate.value == "Y" && ctx_r7.searchResult.value == "HIRE");
|
|
476
|
+
} }
|
|
477
|
+
const _c12 = () => ({ "1200px": "660px", "992px": "660px", "768px": "660px", "576px": "100vw" });
|
|
478
|
+
const _c13 = "You can only add one entry for this activity type this week.";
|
|
479
|
+
const _c14 = () => ({ required: "Required.", typeAlreadyUsed: _c13 });
|
|
480
|
+
export class WorkSearchEmployerComponentME {
|
|
481
|
+
constructor(wcService, formBuilder, util) {
|
|
482
|
+
this.wcService = wcService;
|
|
483
|
+
this.formBuilder = formBuilder;
|
|
484
|
+
this.util = util;
|
|
485
|
+
this.success = new EventEmitter();
|
|
486
|
+
this.onClose = new EventEmitter();
|
|
487
|
+
this.journal = false;
|
|
488
|
+
this.existingRecords = [];
|
|
489
|
+
this.workSearchMethodContact = ComboOption.WorkSearchMethodContact;
|
|
490
|
+
this.workSearchResultCombo = ComboOption.WorkSearchResultCareerCenterComboMe;
|
|
491
|
+
this.statesCombo = [];
|
|
492
|
+
this.isReadOnly = false;
|
|
493
|
+
this.workSearchRecordData = null;
|
|
494
|
+
this.countryOptions = ComboOption.COUNTRY;
|
|
495
|
+
this.displayEmployerQuestions = false;
|
|
496
|
+
this.displayCCQuestions = false;
|
|
497
|
+
this.displayJobFairQuestions = false;
|
|
498
|
+
this.displayUnionMemberQuestions = false;
|
|
499
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
500
|
+
this.yesNoOptions = ComboOption.YesNoOptions;
|
|
501
|
+
this.employmentTypeOptions = ComboOption.WorkSearchEmploymentType;
|
|
502
|
+
/** Raised when (local REEM + server REEM + current selection) > REEM_LIMIT */
|
|
503
|
+
this.reemExceededFlag = false;
|
|
504
|
+
/** Max REEM activities (previous weeks count + this weeks count + current addition) */
|
|
505
|
+
this.REEM_LIMIT = 2;
|
|
506
|
+
/** NEW: only these types are allowed once */
|
|
507
|
+
this.SINGLETON_TYPES = new Set(['UNON', 'WRKP']);
|
|
508
|
+
/** REEM Activity Types */
|
|
509
|
+
this.REEM_ACTIVITY_TYPES = new Set(['JBFR', 'CSVW']);
|
|
510
|
+
this.usZipcodeValidations = [Validators.required, AppValidators.isValidZipCode];
|
|
511
|
+
this.canadaZipcodeValidations = [Validators.required, AppValidators.isValidCanadianZipCode];
|
|
512
|
+
}
|
|
513
|
+
ngOnInit() {
|
|
514
|
+
if (!this.journal) {
|
|
515
|
+
this.satDate = this.util.getEnteredDate(this.wcService.getSaturdayDate());
|
|
516
|
+
this.sunDate = this.util.getEnteredDate(this.wcService.getSundayDate());
|
|
517
|
+
this.satDateString = this.wcService.getSaturdayDateAsString();
|
|
518
|
+
this.sunDateString = this.wcService.getSundayDateAsString();
|
|
519
|
+
}
|
|
520
|
+
this.dynamicParam = {
|
|
521
|
+
'saturday_date': this.satDateString,
|
|
522
|
+
'sunday_date': this.sunDateString,
|
|
523
|
+
};
|
|
524
|
+
this.initilizeWorkSearchForm();
|
|
525
|
+
}
|
|
526
|
+
initilizeWorkSearchForm() {
|
|
527
|
+
let wsr;
|
|
528
|
+
if (this.data) {
|
|
529
|
+
wsr = this.data;
|
|
530
|
+
}
|
|
531
|
+
else if (this.recordIndexToEdit == undefined || this.recordIndexToEdit == null) {
|
|
532
|
+
wsr = new WorkSearchRecordModel();
|
|
533
|
+
}
|
|
534
|
+
else {
|
|
535
|
+
wsr = this.wcService.getWorkSearchRecords()[this.recordIndexToEdit];
|
|
536
|
+
if (wsr.activityType == null) {
|
|
537
|
+
wsr.activityType = 'CNTC';
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
this.wsrForm = this.formBuilder.group({
|
|
541
|
+
'activityType': [wsr.activityType, Validators.required],
|
|
542
|
+
'workSearchDate': [wsr.workSearchDate != null ? this.getDate(wsr.workSearchDate) : ''],
|
|
543
|
+
'employerName': [wsr.employerName],
|
|
544
|
+
'city': [wsr.city],
|
|
545
|
+
'line1': [wsr.line1],
|
|
546
|
+
'line2': [wsr.line2],
|
|
547
|
+
'state': [wsr.state != null ? wsr.state : LibConstants.STATE],
|
|
548
|
+
'country': [wsr.country],
|
|
549
|
+
'contactMethod': [wsr.contactMethod != null ? wsr.contactMethod : ''],
|
|
550
|
+
'empContactPersonName': [wsr.empContactPersonName],
|
|
551
|
+
'empContactPersonTitle': [wsr.empContactPersonTitle],
|
|
552
|
+
'zip': [wsr.zip],
|
|
553
|
+
'employerPhone': [wsr.employerPhone != null ? wsr.employerPhone : ''],
|
|
554
|
+
'contactPhone': [wsr.contactPhone != null ? wsr.contactPhone : ''],
|
|
555
|
+
'employerEmail': [wsr.employerEmail],
|
|
556
|
+
'employerWebsite': [wsr.employerWebsite],
|
|
557
|
+
'employerFax': [wsr.employerFax != null ? wsr.employerFax : ''],
|
|
558
|
+
'positionAppliedFor': [wsr.positionAppliedFor],
|
|
559
|
+
'searchResult': [wsr.searchResult],
|
|
560
|
+
'wingsReferralWorkSearchId': [wsr.wingsReferralWorkSearchId],
|
|
561
|
+
'claimantWorkSearchJournalId': [wsr.claimantWorkSearchJournalId],
|
|
562
|
+
'wsrId': [wsr.wsrId],
|
|
563
|
+
'workShopName': [wsr.workShopName],
|
|
564
|
+
'jobFairLocation': [wsr.jobFairLocation],
|
|
565
|
+
'othResult': [wsr.othResult],
|
|
566
|
+
'hasStartDate': [wsr.hasStartDate],
|
|
567
|
+
'workStartDate': [wsr.workStartDate],
|
|
568
|
+
'typeOfWork': [wsr.typeOfWork],
|
|
569
|
+
'isInContactWithUnion': [wsr.isInContactWithUnion],
|
|
570
|
+
'unionName': [wsr.unionName],
|
|
571
|
+
'unionContactPersonName': [wsr.unionContactPersonName],
|
|
572
|
+
'unionContactDate': [wsr.unionContactDate],
|
|
573
|
+
'workOrPerformServiceType': [wsr.workOrPerformServiceType]
|
|
574
|
+
});
|
|
575
|
+
/** NEW: attach unique-type validator to activityType */
|
|
576
|
+
const prev = this.activityType.validator ? [this.activityType.validator] : [];
|
|
577
|
+
this.activityType.setValidators([...prev, this.uniqueActivityTypeValidator()]);
|
|
578
|
+
this.activityType.updateValueAndValidity({ emitEvent: false });
|
|
579
|
+
if (wsr.activityType == 'CNTC' || wsr.activityType == 'APLD' || wsr.activityType == 'NTRW') {
|
|
580
|
+
this.displayEmployerQuestions = true;
|
|
581
|
+
this.displayCCQuestions = false;
|
|
582
|
+
this.displayJobFairQuestions = false;
|
|
583
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
584
|
+
}
|
|
585
|
+
else if (wsr.activityType == 'JBFR') {
|
|
586
|
+
this.displayEmployerQuestions = false;
|
|
587
|
+
this.displayCCQuestions = false;
|
|
588
|
+
this.displayJobFairQuestions = true;
|
|
589
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
590
|
+
}
|
|
591
|
+
else if (wsr.activityType == 'CSVW' || wsr.activityType == 'RESR') {
|
|
592
|
+
this.displayEmployerQuestions = false;
|
|
593
|
+
this.displayCCQuestions = true;
|
|
594
|
+
this.displayJobFairQuestions = false;
|
|
595
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
596
|
+
}
|
|
597
|
+
else if (wsr.activityType == 'UNON') {
|
|
598
|
+
this.displayEmployerQuestions = false;
|
|
599
|
+
this.displayCCQuestions = false;
|
|
600
|
+
this.displayJobFairQuestions = false;
|
|
601
|
+
this.displayUnionMemberQuestions = true;
|
|
602
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
603
|
+
}
|
|
604
|
+
else if (wsr.activityType == 'WRKP') {
|
|
605
|
+
this.displayEmployerQuestions = false;
|
|
606
|
+
this.displayCCQuestions = false;
|
|
607
|
+
this.displayJobFairQuestions = false;
|
|
608
|
+
this.displayUnionMemberQuestions = false;
|
|
609
|
+
this.displayWorkingForAnEmployerQuestions = true;
|
|
610
|
+
}
|
|
611
|
+
this.activityTypeCombo = ComboOption.ActivityTypeCombo;
|
|
612
|
+
if (wsr.activityType == 'CNTC' || wsr.activityType == 'APLD') {
|
|
613
|
+
this.workSearchResultCombo = ComboOption.WorkSearchResultEmployerComboMe;
|
|
614
|
+
}
|
|
615
|
+
else {
|
|
616
|
+
this.workSearchResultCombo = ComboOption.WorkSearchResultCareerCenterComboMe;
|
|
617
|
+
}
|
|
618
|
+
this.workSearchMethodContact = ComboOption.WorkSearchMethodContactMe;
|
|
619
|
+
if (wsr.wingsReferralWorkSearchId != null && wsr.wingsReferralWorkSearchId != undefined) {
|
|
620
|
+
this.isReadOnly = true;
|
|
621
|
+
}
|
|
622
|
+
else {
|
|
623
|
+
this.isReadOnly = false;
|
|
624
|
+
}
|
|
625
|
+
this.contactMethod.setValue(wsr.contactMethod != null ? wsr.contactMethod : '');
|
|
626
|
+
this.contactMethod.valueChanges.subscribe(val => {
|
|
627
|
+
this.setContactInfoValidation(val);
|
|
628
|
+
});
|
|
629
|
+
this.activityType.valueChanges.subscribe(val => {
|
|
630
|
+
this.reemExceededFlag = false;
|
|
631
|
+
this.setActivityTypeValidation(val);
|
|
632
|
+
});
|
|
633
|
+
this.isInContactWithUnion.valueChanges.subscribe(val => {
|
|
634
|
+
this.setUnionValidation(val);
|
|
635
|
+
});
|
|
636
|
+
if (wsr.searchResult == 'HDRW') {
|
|
637
|
+
this.hasStartDate.setValue(wsr.hasStartDate != null ? wsr.hasStartDate : '');
|
|
638
|
+
this.workStartDate.setValue(wsr.workStartDate != null ? new Date(wsr.workStartDate) : '');
|
|
639
|
+
this.searchResult.setValue('HIRE');
|
|
640
|
+
}
|
|
641
|
+
else if (wsr.searchResult == 'HNSD') {
|
|
642
|
+
this.hasStartDate.setValue(wsr.hasStartDate != null ? wsr.hasStartDate : '');
|
|
643
|
+
this.searchResult.setValue('HIRE');
|
|
644
|
+
}
|
|
645
|
+
this.hasStartDate.valueChanges.subscribe(val => {
|
|
646
|
+
if (val == 'Y') {
|
|
647
|
+
this.util.setRequiredValidator(this.workStartDate);
|
|
648
|
+
}
|
|
649
|
+
else {
|
|
650
|
+
this.util.clearValidation(this.workStartDate);
|
|
651
|
+
}
|
|
652
|
+
});
|
|
653
|
+
this.setContactInfoValidation(this.contactMethod.value);
|
|
654
|
+
this.setActivityTypeValidation(this.activityType.value);
|
|
655
|
+
}
|
|
656
|
+
/** NEW: unique-type validator factory */
|
|
657
|
+
uniqueActivityTypeValidator() {
|
|
658
|
+
return (control) => {
|
|
659
|
+
const v = control?.value;
|
|
660
|
+
if (!v)
|
|
661
|
+
return null;
|
|
662
|
+
if (this.SINGLETON_TYPES.has(v) && this.hasType(v)) {
|
|
663
|
+
return { typeAlreadyUsed: true };
|
|
664
|
+
}
|
|
665
|
+
return null;
|
|
666
|
+
};
|
|
667
|
+
}
|
|
668
|
+
/** NEW: checks if UNON/WRKP already exists on another row */
|
|
669
|
+
hasType(type) {
|
|
670
|
+
// Prefer the passed-in list if provided; fall back to service
|
|
671
|
+
const list = (this.existingRecords && this.existingRecords.length > 0)
|
|
672
|
+
? this.existingRecords
|
|
673
|
+
: (this.wcService.getWorkSearchRecords() ?? []);
|
|
674
|
+
// Correctly detect if we are editing even when index is 0
|
|
675
|
+
const hasEditIdx = this.recordIndexToEdit !== null && this.recordIndexToEdit !== undefined;
|
|
676
|
+
const editIdx = hasEditIdx ? this.recordIndexToEdit : -1;
|
|
677
|
+
// Exclude the row being edited
|
|
678
|
+
return list.some((r, idx) => r?.activityType === type && idx !== editIdx);
|
|
679
|
+
}
|
|
680
|
+
filterState(event) {
|
|
681
|
+
let choice;
|
|
682
|
+
if (this.country?.value === 'US') {
|
|
683
|
+
const currentState = ComboOption.StatesCombo.find(state => state.NAME == this.util.getState());
|
|
684
|
+
choice = [currentState, ...ComboOption.StatesCombo.filter(state => state.NAME != this.util.getState())];
|
|
685
|
+
}
|
|
686
|
+
if (this.country?.value === 'CA') {
|
|
687
|
+
choice = ComboOption.CA_STATES;
|
|
688
|
+
}
|
|
689
|
+
this.statesCombo = choice;
|
|
690
|
+
}
|
|
691
|
+
setZipCodeValidationBasedOnCountry() {
|
|
692
|
+
this.country.valueChanges.subscribe(c => {
|
|
693
|
+
if (c == 'US') {
|
|
694
|
+
this.util.clearValidation(this.zip);
|
|
695
|
+
this.util.setValidation(this.zip, this.usZipcodeValidations);
|
|
696
|
+
}
|
|
697
|
+
else if (c == 'CA') {
|
|
698
|
+
this.util.clearValidation(this.zip);
|
|
699
|
+
this.util.setValidation(this.zip, this.canadaZipcodeValidations);
|
|
700
|
+
}
|
|
701
|
+
});
|
|
702
|
+
}
|
|
703
|
+
setUnionValidation(val) {
|
|
704
|
+
if (val == 'Y') {
|
|
705
|
+
this.util.setRequiredValidator(this.unionName);
|
|
706
|
+
this.util.setRequiredValidator(this.unionContactPersonName);
|
|
707
|
+
this.util.setRequiredValidator(this.unionContactDate);
|
|
708
|
+
}
|
|
709
|
+
else {
|
|
710
|
+
this.util.clearValidation(this.unionName);
|
|
711
|
+
this.util.clearValidation(this.unionContactPersonName);
|
|
712
|
+
this.util.clearValidation(this.unionContactDate);
|
|
713
|
+
}
|
|
714
|
+
}
|
|
715
|
+
setActivityTypeValidation(val) {
|
|
716
|
+
this.displayEmployerQuestions = false;
|
|
717
|
+
this.displayCCQuestions = false;
|
|
718
|
+
this.displayJobFairQuestions = false;
|
|
719
|
+
this.displayUnionMemberQuestions = false;
|
|
720
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
721
|
+
if (val == 'CNTC' || val == 'APLD' || val == 'NTRW') {
|
|
722
|
+
this.displayEmployerQuestions = true;
|
|
723
|
+
this.displayCCQuestions = false;
|
|
724
|
+
this.displayJobFairQuestions = false;
|
|
725
|
+
this.displayUnionMemberQuestions = false;
|
|
726
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
727
|
+
this.country.setValue("US");
|
|
728
|
+
this.country.valueChanges.subscribe(country => {
|
|
729
|
+
this.filterState(country);
|
|
730
|
+
});
|
|
731
|
+
this.setZipCodeValidationBasedOnCountry();
|
|
732
|
+
this.util.setValidation(this.workSearchDate, Validators.compose([Validators.required, AppValidators.isBetween(this.sunDate, this.satDate)]));
|
|
733
|
+
this.util.clearValidation(this.jobFairLocation);
|
|
734
|
+
this.util.clearValidation(this.workOrPerformServiceType);
|
|
735
|
+
this.util.clearValidation(this.workShopName);
|
|
736
|
+
this.util.clearValidation(this.isInContactWithUnion);
|
|
737
|
+
this.util.clearValidation(this.unionName);
|
|
738
|
+
this.util.clearValidation(this.unionContactPersonName);
|
|
739
|
+
this.util.clearValidation(this.unionContactDate);
|
|
740
|
+
this.util.setRequiredValidator(this.employerName);
|
|
741
|
+
this.employerName.addValidators([Validators.pattern(/^[A-Za-z0-9\s\.,&'()#-]+$/)]);
|
|
742
|
+
this.employerName.updateValueAndValidity();
|
|
743
|
+
this.util.setRequiredValidator(this.line1);
|
|
744
|
+
this.line1.addValidators([Validators.pattern(/^[0-9A-Za-z\s,'\-\.#\/]+$/)]);
|
|
745
|
+
this.line1.updateValueAndValidity();
|
|
746
|
+
this.util.setRequiredValidator(this.city);
|
|
747
|
+
this.city.addValidators([Validators.pattern(/^(?!-)[A-Za-z -]*$/)]);
|
|
748
|
+
this.city.updateValueAndValidity();
|
|
749
|
+
this.util.setRequiredValidator(this.country);
|
|
750
|
+
this.util.setRequiredValidator(this.state);
|
|
751
|
+
this.util.setRequiredValidator(this.zip);
|
|
752
|
+
this.util.setRequiredValidator(this.employerPhone);
|
|
753
|
+
this.util.setRequiredValidator(this.positionAppliedFor);
|
|
754
|
+
this.positionAppliedFor.addValidators([Validators.pattern(/^(?!-)[A-Za-z0-9 -]*$/)]);
|
|
755
|
+
this.positionAppliedFor.updateValueAndValidity();
|
|
756
|
+
this.util.setRequiredValidator(this.contactMethod);
|
|
757
|
+
this.util.setRequiredValidator(this.empContactPersonName);
|
|
758
|
+
this.util.setRequiredValidator(this.searchResult);
|
|
759
|
+
if (val == 'CNTC' || val == 'APLD') {
|
|
760
|
+
this.workSearchResultCombo = ComboOption.WorkSearchResultEmployerComboMe;
|
|
761
|
+
}
|
|
762
|
+
else {
|
|
763
|
+
this.workSearchResultCombo = ComboOption.WorkSearchResultCareerCenterComboMe;
|
|
764
|
+
}
|
|
765
|
+
}
|
|
766
|
+
if (val == 'JBFR') {
|
|
767
|
+
this.displayEmployerQuestions = false;
|
|
768
|
+
this.displayCCQuestions = false;
|
|
769
|
+
this.displayJobFairQuestions = true;
|
|
770
|
+
this.displayUnionMemberQuestions = false;
|
|
771
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
772
|
+
this.util.setRequiredValidator(this.jobFairLocation);
|
|
773
|
+
this.util.setValidation(this.workSearchDate, Validators.compose([Validators.required, AppValidators.isBetween(this.sunDate, this.satDate)]));
|
|
774
|
+
this.util.clearValidation(this.workOrPerformServiceType);
|
|
775
|
+
this.util.clearValidation(this.isInContactWithUnion);
|
|
776
|
+
this.util.clearValidation(this.unionName);
|
|
777
|
+
this.util.clearValidation(this.unionContactPersonName);
|
|
778
|
+
this.util.clearValidation(this.unionContactDate);
|
|
779
|
+
this.util.clearValidation(this.workShopName);
|
|
780
|
+
this.util.clearValidation(this.employerName);
|
|
781
|
+
this.util.clearValidation(this.line1);
|
|
782
|
+
this.util.clearValidation(this.city);
|
|
783
|
+
this.util.clearValidation(this.state);
|
|
784
|
+
this.util.clearValidation(this.country);
|
|
785
|
+
this.util.clearValidation(this.zip);
|
|
786
|
+
this.util.clearValidation(this.employerPhone);
|
|
787
|
+
this.util.clearValidation(this.positionAppliedFor);
|
|
788
|
+
this.util.clearValidation(this.contactMethod);
|
|
789
|
+
this.util.clearValidation(this.empContactPersonName);
|
|
790
|
+
this.util.clearValidation(this.searchResult);
|
|
791
|
+
}
|
|
792
|
+
if (val == 'CSVW' || val == 'RESR') {
|
|
793
|
+
this.displayEmployerQuestions = false;
|
|
794
|
+
this.displayCCQuestions = true;
|
|
795
|
+
this.displayJobFairQuestions = false;
|
|
796
|
+
this.displayUnionMemberQuestions = false;
|
|
797
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
798
|
+
this.util.setValidation(this.workSearchDate, Validators.compose([Validators.required, AppValidators.isBetween(this.sunDate, this.satDate)]));
|
|
799
|
+
this.util.clearValidation(this.jobFairLocation);
|
|
800
|
+
this.util.setRequiredValidator(this.workShopName);
|
|
801
|
+
this.util.clearValidation(this.workOrPerformServiceType);
|
|
802
|
+
this.util.clearValidation(this.isInContactWithUnion);
|
|
803
|
+
this.util.clearValidation(this.unionName);
|
|
804
|
+
this.util.clearValidation(this.unionContactPersonName);
|
|
805
|
+
this.util.clearValidation(this.unionContactDate);
|
|
806
|
+
this.util.clearValidation(this.employerName);
|
|
807
|
+
this.util.clearValidation(this.line1);
|
|
808
|
+
this.util.clearValidation(this.city);
|
|
809
|
+
this.util.clearValidation(this.state);
|
|
810
|
+
this.util.clearValidation(this.country);
|
|
811
|
+
this.util.clearValidation(this.zip);
|
|
812
|
+
this.util.clearValidation(this.employerPhone);
|
|
813
|
+
this.util.clearValidation(this.positionAppliedFor);
|
|
814
|
+
this.util.clearValidation(this.contactMethod);
|
|
815
|
+
this.util.clearValidation(this.empContactPersonName);
|
|
816
|
+
this.util.clearValidation(this.searchResult);
|
|
817
|
+
}
|
|
818
|
+
if (val == 'UNON') {
|
|
819
|
+
this.displayEmployerQuestions = false;
|
|
820
|
+
this.displayCCQuestions = false;
|
|
821
|
+
this.displayJobFairQuestions = false;
|
|
822
|
+
this.displayUnionMemberQuestions = true;
|
|
823
|
+
this.displayWorkingForAnEmployerQuestions = false;
|
|
824
|
+
this.util.setRequiredValidator(this.isInContactWithUnion);
|
|
825
|
+
if (this.workSearchDate.value === '' || this.workSearchDate.value === undefined) {
|
|
826
|
+
this.workSearchDate.setValue(null, { emitEvent: false });
|
|
827
|
+
}
|
|
828
|
+
this.util.clearValidation(this.workOrPerformServiceType);
|
|
829
|
+
this.util.clearValidation(this.workSearchDate);
|
|
830
|
+
this.util.clearValidation(this.jobFairLocation);
|
|
831
|
+
this.util.clearValidation(this.workShopName);
|
|
832
|
+
this.util.clearValidation(this.employerName);
|
|
833
|
+
this.util.clearValidation(this.line1);
|
|
834
|
+
this.util.clearValidation(this.city);
|
|
835
|
+
this.util.clearValidation(this.state);
|
|
836
|
+
this.util.clearValidation(this.country);
|
|
837
|
+
this.util.clearValidation(this.zip);
|
|
838
|
+
this.util.clearValidation(this.employerPhone);
|
|
839
|
+
this.util.clearValidation(this.positionAppliedFor);
|
|
840
|
+
this.util.clearValidation(this.contactMethod);
|
|
841
|
+
this.util.clearValidation(this.empContactPersonName);
|
|
842
|
+
this.util.clearValidation(this.searchResult);
|
|
843
|
+
}
|
|
844
|
+
if (val == 'WRKP') {
|
|
845
|
+
this.displayEmployerQuestions = false;
|
|
846
|
+
this.displayCCQuestions = false;
|
|
847
|
+
this.displayJobFairQuestions = false;
|
|
848
|
+
this.displayUnionMemberQuestions = false;
|
|
849
|
+
this.displayWorkingForAnEmployerQuestions = true;
|
|
850
|
+
this.util.setRequiredValidator(this.workOrPerformServiceType);
|
|
851
|
+
if (this.workSearchDate.value === '' || this.workSearchDate.value === undefined) {
|
|
852
|
+
this.workSearchDate.setValue(null, { emitEvent: false });
|
|
853
|
+
}
|
|
854
|
+
this.util.clearValidation(this.isInContactWithUnion);
|
|
855
|
+
this.util.clearValidation(this.workSearchDate);
|
|
856
|
+
this.util.clearValidation(this.unionName);
|
|
857
|
+
this.util.clearValidation(this.unionContactPersonName);
|
|
858
|
+
this.util.clearValidation(this.unionContactDate);
|
|
859
|
+
this.util.clearValidation(this.jobFairLocation);
|
|
860
|
+
this.util.clearValidation(this.workShopName);
|
|
861
|
+
this.util.clearValidation(this.employerName);
|
|
862
|
+
this.util.clearValidation(this.line1);
|
|
863
|
+
this.util.clearValidation(this.city);
|
|
864
|
+
this.util.clearValidation(this.state);
|
|
865
|
+
this.util.clearValidation(this.country);
|
|
866
|
+
this.util.clearValidation(this.zip);
|
|
867
|
+
this.util.clearValidation(this.employerPhone);
|
|
868
|
+
this.util.clearValidation(this.positionAppliedFor);
|
|
869
|
+
this.util.clearValidation(this.contactMethod);
|
|
870
|
+
this.util.clearValidation(this.empContactPersonName);
|
|
871
|
+
this.util.clearValidation(this.searchResult);
|
|
872
|
+
}
|
|
873
|
+
}
|
|
874
|
+
setContactInfoValidation(val) {
|
|
875
|
+
if (val == 'TELE') {
|
|
876
|
+
this.util.setRequiredValidator(this.employerPhone);
|
|
877
|
+
this.util.clearValidation(this.empContactPersonName);
|
|
878
|
+
this.util.clearValidation(this.employerEmail);
|
|
879
|
+
this.util.clearValidation(this.employerWebsite);
|
|
880
|
+
this.util.clearValidation(this.employerFax);
|
|
881
|
+
this.util.setRequiredValidator(this.contactPhone);
|
|
882
|
+
this.util.setRequiredValidator(this.empContactPersonName);
|
|
883
|
+
}
|
|
884
|
+
if (val == 'EMAL') {
|
|
885
|
+
this.util.setValidation(this.employerEmail, [Validators.required, Validators.email]);
|
|
886
|
+
this.util.clearValidation(this.empContactPersonName);
|
|
887
|
+
this.util.clearValidation(this.employerPhone);
|
|
888
|
+
this.util.clearValidation(this.employerWebsite);
|
|
889
|
+
this.util.clearValidation(this.employerFax);
|
|
890
|
+
this.util.setRequiredValidator(this.employerPhone);
|
|
891
|
+
this.util.setRequiredValidator(this.empContactPersonName);
|
|
892
|
+
}
|
|
893
|
+
if (val == 'ONLI') {
|
|
894
|
+
this.util.setRequiredValidator(this.employerWebsite);
|
|
895
|
+
this.util.clearValidation(this.empContactPersonName);
|
|
896
|
+
this.util.clearValidation(this.employerPhone);
|
|
897
|
+
this.util.clearValidation(this.employerEmail);
|
|
898
|
+
this.util.clearValidation(this.employerFax);
|
|
899
|
+
this.util.setRequiredValidator(this.employerPhone);
|
|
900
|
+
}
|
|
901
|
+
if (val == 'FAXN') {
|
|
902
|
+
this.util.setRequiredValidator(this.employerFax);
|
|
903
|
+
this.util.clearValidation(this.empContactPersonName);
|
|
904
|
+
this.util.clearValidation(this.employerPhone);
|
|
905
|
+
this.util.clearValidation(this.employerEmail);
|
|
906
|
+
this.util.clearValidation(this.employerWebsite);
|
|
907
|
+
this.util.setRequiredValidator(this.employerPhone);
|
|
908
|
+
}
|
|
909
|
+
if (val == 'MAIL' || val == 'PRSN') {
|
|
910
|
+
this.util.setRequiredValidator(this.empContactPersonName);
|
|
911
|
+
this.util.clearValidation(this.employerFax);
|
|
912
|
+
this.util.clearValidation(this.employerPhone);
|
|
913
|
+
this.util.clearValidation(this.employerEmail);
|
|
914
|
+
this.util.clearValidation(this.employerWebsite);
|
|
915
|
+
this.util.setRequiredValidator(this.employerPhone);
|
|
916
|
+
}
|
|
917
|
+
}
|
|
918
|
+
getDate(wsDate) {
|
|
919
|
+
if (!(wsDate instanceof Date)) {
|
|
920
|
+
return this.util.getEnteredDate(wsDate);
|
|
921
|
+
}
|
|
922
|
+
return wsDate;
|
|
923
|
+
}
|
|
924
|
+
get workSearchDate() {
|
|
925
|
+
return this.wsrForm.controls['workSearchDate'];
|
|
926
|
+
}
|
|
927
|
+
get employerName() {
|
|
928
|
+
return this.wsrForm.controls['employerName'];
|
|
929
|
+
}
|
|
930
|
+
get city() {
|
|
931
|
+
return this.wsrForm.controls['city'];
|
|
932
|
+
}
|
|
933
|
+
get line1() {
|
|
934
|
+
return this.wsrForm.controls['line1'];
|
|
935
|
+
}
|
|
936
|
+
get line2() {
|
|
937
|
+
return this.wsrForm.controls['line2'];
|
|
938
|
+
}
|
|
939
|
+
get state() {
|
|
940
|
+
return this.wsrForm.controls['state'];
|
|
941
|
+
}
|
|
942
|
+
get country() {
|
|
943
|
+
return this.wsrForm.controls['country'];
|
|
944
|
+
}
|
|
945
|
+
get contactMethod() {
|
|
946
|
+
return this.wsrForm.controls['contactMethod'];
|
|
947
|
+
}
|
|
948
|
+
get empContactPersonName() {
|
|
949
|
+
return this.wsrForm.controls['empContactPersonName'];
|
|
950
|
+
}
|
|
951
|
+
get empContactPersonTitle() {
|
|
952
|
+
return this.wsrForm.controls['empContactPersonTitle'];
|
|
953
|
+
}
|
|
954
|
+
get zip() {
|
|
955
|
+
return this.wsrForm.controls['zip'];
|
|
956
|
+
}
|
|
957
|
+
get employerPhone() {
|
|
958
|
+
return this.wsrForm.controls['employerPhone'];
|
|
959
|
+
}
|
|
960
|
+
get employerEmail() {
|
|
961
|
+
return this.wsrForm.controls['employerEmail'];
|
|
962
|
+
}
|
|
963
|
+
get employerWebsite() {
|
|
964
|
+
return this.wsrForm.controls['employerWebsite'];
|
|
965
|
+
}
|
|
966
|
+
get employerFax() {
|
|
967
|
+
return this.wsrForm.controls['employerFax'];
|
|
968
|
+
}
|
|
969
|
+
get positionAppliedFor() {
|
|
970
|
+
return this.wsrForm.controls['positionAppliedFor'];
|
|
971
|
+
}
|
|
972
|
+
get searchResult() {
|
|
973
|
+
return this.wsrForm.controls['searchResult'];
|
|
974
|
+
}
|
|
975
|
+
get wingsReferralWorkSearchId() {
|
|
976
|
+
return this.wsrForm.controls['wingsReferralWorkSearchId'];
|
|
977
|
+
}
|
|
978
|
+
get claimantWorkSearchJournalId() {
|
|
979
|
+
return this.wsrForm.controls['claimantWorkSearchJournalId'];
|
|
980
|
+
}
|
|
981
|
+
get wsrId() {
|
|
982
|
+
return this.wsrForm.controls['wsrId'];
|
|
983
|
+
}
|
|
984
|
+
get activityType() {
|
|
985
|
+
return this.wsrForm.controls['activityType'];
|
|
986
|
+
}
|
|
987
|
+
get contactPhone() {
|
|
988
|
+
return this.wsrForm.controls['contactPhone'];
|
|
989
|
+
}
|
|
990
|
+
get workShopName() {
|
|
991
|
+
return this.wsrForm.controls['workShopName'];
|
|
992
|
+
}
|
|
993
|
+
get jobFairLocation() {
|
|
994
|
+
return this.wsrForm.controls['jobFairLocation'];
|
|
995
|
+
}
|
|
996
|
+
get othResult() {
|
|
997
|
+
return this.wsrForm.controls['othResult'];
|
|
998
|
+
}
|
|
999
|
+
get hasStartDate() {
|
|
1000
|
+
return this.wsrForm.controls['hasStartDate'];
|
|
1001
|
+
}
|
|
1002
|
+
get workStartDate() {
|
|
1003
|
+
return this.wsrForm.controls['workStartDate'];
|
|
1004
|
+
}
|
|
1005
|
+
get typeOfWork() {
|
|
1006
|
+
return this.wsrForm.controls['typeOfWork'];
|
|
1007
|
+
}
|
|
1008
|
+
get isInContactWithUnion() {
|
|
1009
|
+
return this.wsrForm.controls['isInContactWithUnion'];
|
|
1010
|
+
}
|
|
1011
|
+
get unionName() {
|
|
1012
|
+
return this.wsrForm.controls['unionName'];
|
|
1013
|
+
}
|
|
1014
|
+
get unionContactPersonName() {
|
|
1015
|
+
return this.wsrForm.controls['unionContactPersonName'];
|
|
1016
|
+
}
|
|
1017
|
+
get unionContactDate() {
|
|
1018
|
+
return this.wsrForm.controls['unionContactDate'];
|
|
1019
|
+
}
|
|
1020
|
+
get workOrPerformServiceType() {
|
|
1021
|
+
return this.wsrForm.controls['workOrPerformServiceType'];
|
|
1022
|
+
}
|
|
1023
|
+
// --- ADD: count REEM activities in local list, optionally excluding edited row ---
|
|
1024
|
+
reemActivityCountForCurrentWeek(excludeIndex = null) {
|
|
1025
|
+
const list = this.wcService.getWorkSearchRecords() ?? [];
|
|
1026
|
+
let count = 0;
|
|
1027
|
+
for (let i = 0; i < list.length; i++) {
|
|
1028
|
+
if (excludeIndex !== null && i === excludeIndex)
|
|
1029
|
+
continue;
|
|
1030
|
+
const r = list[i];
|
|
1031
|
+
if (r && this.REEM_ACTIVITY_TYPES.has(r.activityType))
|
|
1032
|
+
count++;
|
|
1033
|
+
}
|
|
1034
|
+
return count;
|
|
1035
|
+
}
|
|
1036
|
+
reemActivityCheck(selectedType) {
|
|
1037
|
+
// >>> NEW: REEM cap check including the current selection <<<
|
|
1038
|
+
this.reemExceededFlag = false; // reset each submit
|
|
1039
|
+
const isReem = this.REEM_ACTIVITY_TYPES.has(selectedType);
|
|
1040
|
+
// local REEM
|
|
1041
|
+
const hasEditIdx = this.recordIndexToEdit !== null && this.recordIndexToEdit !== undefined;
|
|
1042
|
+
const editIdx = hasEditIdx ? this.recordIndexToEdit : null;
|
|
1043
|
+
const localReem = this.reemActivityCountForCurrentWeek(editIdx);
|
|
1044
|
+
// server REEM
|
|
1045
|
+
const serverReem = Number(this.wcService.weeklyCertServerData?.hidReemWorkSearchRecordCount ?? 0);
|
|
1046
|
+
// include the current selection in the total
|
|
1047
|
+
const totalIfSaved = localReem + serverReem + (isReem ? 1 : 0);
|
|
1048
|
+
if (isReem && totalIfSaved > this.REEM_LIMIT) {
|
|
1049
|
+
this.reemExceededFlag = true;
|
|
1050
|
+
}
|
|
1051
|
+
}
|
|
1052
|
+
/** UPDATED: add() sets the same validation error and stops */
|
|
1053
|
+
add() {
|
|
1054
|
+
const selectedType = this.activityType.value;
|
|
1055
|
+
this.reemActivityCheck(selectedType);
|
|
1056
|
+
// enforce singleton types at submit time too
|
|
1057
|
+
if (this.SINGLETON_TYPES.has(selectedType) && this.hasType(selectedType)) {
|
|
1058
|
+
const prev = this.activityType.errors || {};
|
|
1059
|
+
this.activityType.setErrors({ ...prev, typeAlreadyUsed: true });
|
|
1060
|
+
this.activityType.markAsTouched();
|
|
1061
|
+
return;
|
|
1062
|
+
}
|
|
1063
|
+
if (this.wsrForm.valid) {
|
|
1064
|
+
if (this.searchResult.value == 'HIRE' && this.hasStartDate.value == 'Y') {
|
|
1065
|
+
this.searchResult.setValue('HDRW');
|
|
1066
|
+
}
|
|
1067
|
+
else if (this.searchResult.value == 'HIRE' && this.hasStartDate.value == 'N') {
|
|
1068
|
+
this.searchResult.setValue('HNSD');
|
|
1069
|
+
}
|
|
1070
|
+
this.success.emit({
|
|
1071
|
+
...this.wsrForm.value,
|
|
1072
|
+
reemExceededFlag: this.reemExceededFlag
|
|
1073
|
+
});
|
|
1074
|
+
}
|
|
1075
|
+
else {
|
|
1076
|
+
this.wsrForm.markAllAsTouched();
|
|
1077
|
+
}
|
|
1078
|
+
}
|
|
1079
|
+
close() {
|
|
1080
|
+
this.onClose.emit();
|
|
1081
|
+
}
|
|
1082
|
+
setEmployer(employer) {
|
|
1083
|
+
this.employerName.setValue(employer.employerName);
|
|
1084
|
+
this.line1.setValue(employer.addressLine1);
|
|
1085
|
+
this.line2.setValue(employer.addressLine2);
|
|
1086
|
+
this.city.setValue(employer.city);
|
|
1087
|
+
this.state.setValue(employer.state.value);
|
|
1088
|
+
this.country.setValue(employer.country.value);
|
|
1089
|
+
this.zip.setValue(employer.zip);
|
|
1090
|
+
}
|
|
1091
|
+
static { this.ɵfac = function WorkSearchEmployerComponentME_Factory(t) { return new (t || WorkSearchEmployerComponentME)(i0.ɵɵdirectiveInject(i1.WeeklyCertServiceV2), i0.ɵɵdirectiveInject(i2.UntypedFormBuilder), i0.ɵɵdirectiveInject(i3.UtilService)); }; }
|
|
1092
|
+
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WorkSearchEmployerComponentME, selectors: [["app-work-search-employer-me"]], viewQuery: function WorkSearchEmployerComponentME_Query(rf, ctx) { if (rf & 1) {
|
|
1093
|
+
i0.ɵɵviewQuery(_c0, 5);
|
|
1094
|
+
} if (rf & 2) {
|
|
1095
|
+
let _t;
|
|
1096
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.wsrFormDirective = _t.first);
|
|
1097
|
+
} }, inputs: { recordIndexToEdit: "recordIndexToEdit", data: "data", satDate: "satDate", sunDate: "sunDate", satDateString: "satDateString", sunDateString: "sunDateString", journal: "journal", existingRecords: "existingRecords" }, outputs: { success: "success", onClose: "onClose" }, decls: 36, vars: 37, consts: [["visible", "true", "modal", "true", "appendTo", "body", "position", "top", 3, "showHeader", "breakpoints"], [2, "color", "var(--ion-color-grey)", "padding-left", "20px"], [3, "formGroup"], ["wsrFormDirective", "ngForm"], ["size", "12", "sizeSm", "12", "sizeXs", "12", "sizeMd", "6", "sizeLg", "6", "sizeXl", "6", 1, "ion-padding"], [1, "p-fluid", "p-formgrid"], [1, "field"], ["for", "activityType"], [2, "padding-left", "8px", "flex-grow", "1", 3, "overlayText"], ["optionLabel", "DESC", "optionValue", "NAME", "appendTo", "body", "inputId", "activityType", 3, "options", "formControl"], [3, "field", "form", "errDef"], [4, "ngIf"], ["class", "field", 4, "ngIf"], [1, "ion-text-right"], ["shape", "round", "fill", "outline", "type", "reset", 3, "click"], ["shape", "round", "type", "submit", 3, "click"], ["for", "workOrPerformServiceType"], ["optionLabel", "DESC", "optionValue", "NAME", 3, "options", "formControl"], ["for", "isInContactWithUnion"], ["for", "unionName"], ["id", "unionName", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "unionContactPersonName"], ["id", "unionContactPersonName", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "unionContactDate"], ["inputId", "unionContactDate", "appendTo", "body", 3, "showIcon", "formControl", "minDate", "maxDate", "defaultDate", "selectOtherMonths"], ["for", "workShopName"], ["id", "workShopName", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "jobFairLocation"], ["id", "jobFairLocation", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "employerName"], [3, "formControl", "empType", "onFound"], ["for", "country"], ["inputId", "country", "optionLabel", "DESC", "optionValue", "NAME", "appendTo", "body", "inputId", "country", 3, "options", "formControl", "autoDisplayFirst"], ["for", "line1"], ["id", "line1", "type", "input", "pInputText", "", "maxlength", "40", "appStripInvisibleChars", "", 3, "formControl"], ["for", "city"], ["id", "city", "type", "input", "pInputText", "", "maxlength", "30", "appStripInvisibleChars", "", 3, "formControl"], [2, "padding", "0px"], ["for", "state"], ["inputId", "state", "optionLabel", "DESC", "optionValue", "NAME", "appendTo", "body", "inputId", "state", 3, "options", "formControl"], ["size", "1"], ["for", "zip"], ["id", "zip", "type", "input", "pInputText", "", "minlength", "5", "maxlength", "9", "appStripInvisibleChars", "", 3, "formControl"], ["for", "employerPhone"], ["inputId", "employerPhone", "mask", "(999) 999-9999", "unmask", "true", 3, "formControl"], ["for", "workSearchDate"], ["inputId", "workSearchDate", "appendTo", "body", 3, "showIcon", "formControl", "minDate", "maxDate", "defaultDate", "selectOtherMonths"], ["for", "positionAppliedFor"], ["id", "positionAppliedFor", "type", "input", "pInputText", "", "maxlength", "50", "appStripInvisibleChars", "", 3, "formControl"], ["for", "contactMethod"], ["for", "searchResult"], ["optionLabel", "DESC", "optionValue", "NAME", "appendTo", "body", "inputId", "searchResult", 3, "options", "formControl"], ["for", "contactPhone"], ["inputId", "contactPhone", "mask", "(999) 999-9999", "unmask", "true", 3, "formControl"], ["for", "employerEmail"], ["id", "employerEmail", "type", "input", "pInputText", "", "placeholder", "emailid@example.com", "appStripInvisibleChars", "", 3, "formControl"], ["for", "employerWebsite"], ["id", "employerWebsite", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "empContactPersonName"], ["id", "empContactPersonName", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "othResult"], ["id", "othResult", "type", "input", "pInputText", "", "appStripInvisibleChars", "", 3, "formControl"], ["for", "hasStartDate"], ["for", "workStartDate"], ["inputId", "workStartDate", "appendTo", "body", 3, "showIcon", "formControl", "minDate", "defaultDate", "selectOtherMonths"]], template: function WorkSearchEmployerComponentME_Template(rf, ctx) { if (rf & 1) {
|
|
1098
|
+
i0.ɵɵelementStart(0, "p-dialog", 0)(1, "h4", 1);
|
|
1099
|
+
i0.ɵɵtext(2);
|
|
1100
|
+
i0.ɵɵpipe(3, "translate");
|
|
1101
|
+
i0.ɵɵelementEnd();
|
|
1102
|
+
i0.ɵɵelementStart(4, "form", 2, 3)(6, "ion-grid")(7, "ion-row")(8, "ion-col", 4)(9, "div", 5)(10, "div", 6)(11, "label", 7);
|
|
1103
|
+
i0.ɵɵtext(12);
|
|
1104
|
+
i0.ɵɵpipe(13, "translate");
|
|
1105
|
+
i0.ɵɵelementEnd();
|
|
1106
|
+
i0.ɵɵelement(14, "app-overlay-info", 8);
|
|
1107
|
+
i0.ɵɵpipe(15, "trustHtml");
|
|
1108
|
+
i0.ɵɵpipe(16, "translate");
|
|
1109
|
+
i0.ɵɵelement(17, "app-dropdown", 9)(18, "app-error", 10);
|
|
1110
|
+
i0.ɵɵelementEnd();
|
|
1111
|
+
i0.ɵɵtemplate(19, WorkSearchEmployerComponentME_section_19_Template, 7, 11, "section", 11)(20, WorkSearchEmployerComponentME_section_20_Template, 10, 14, "section", 11)(21, WorkSearchEmployerComponentME_section_21_Template, 7, 10, "section", 11)(22, WorkSearchEmployerComponentME_section_22_Template, 7, 10, "section", 11)(23, WorkSearchEmployerComponentME_section_23_Template, 48, 74, "section", 11);
|
|
1112
|
+
i0.ɵɵelementEnd()();
|
|
1113
|
+
i0.ɵɵelementStart(24, "ion-col", 4)(25, "div", 5);
|
|
1114
|
+
i0.ɵɵtemplate(26, WorkSearchEmployerComponentME_div_26_Template, 6, 16, "div", 12)(27, WorkSearchEmployerComponentME_section_27_Template, 26, 39, "section", 11);
|
|
1115
|
+
i0.ɵɵelementEnd()()();
|
|
1116
|
+
i0.ɵɵelementStart(28, "ion-row")(29, "ion-col", 13)(30, "ion-button", 14);
|
|
1117
|
+
i0.ɵɵlistener("click", function WorkSearchEmployerComponentME_Template_ion_button_click_30_listener() { return ctx.close(); });
|
|
1118
|
+
i0.ɵɵtext(31);
|
|
1119
|
+
i0.ɵɵpipe(32, "translate");
|
|
1120
|
+
i0.ɵɵelementEnd();
|
|
1121
|
+
i0.ɵɵelementStart(33, "ion-button", 15);
|
|
1122
|
+
i0.ɵɵlistener("click", function WorkSearchEmployerComponentME_Template_ion_button_click_33_listener() { return ctx.add(); });
|
|
1123
|
+
i0.ɵɵtext(34);
|
|
1124
|
+
i0.ɵɵpipe(35, "translate");
|
|
1125
|
+
i0.ɵɵelementEnd()()()()()();
|
|
1126
|
+
} if (rf & 2) {
|
|
1127
|
+
const _r0 = i0.ɵɵreference(5);
|
|
1128
|
+
i0.ɵɵproperty("showHeader", false)("breakpoints", i0.ɵɵpureFunction0(35, _c12));
|
|
1129
|
+
i0.ɵɵadvance(2);
|
|
1130
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind2(3, 22, "work.search.journal.activity.heading", ctx.dynamicParam));
|
|
1131
|
+
i0.ɵɵadvance(2);
|
|
1132
|
+
i0.ɵɵproperty("formGroup", ctx.wsrForm);
|
|
1133
|
+
i0.ɵɵadvance(8);
|
|
1134
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(13, 25, "work.search.journal.activity.type"));
|
|
1135
|
+
i0.ɵɵadvance(2);
|
|
1136
|
+
i0.ɵɵproperty("overlayText", i0.ɵɵpipeBind1(15, 27, i0.ɵɵpipeBind1(16, 29, "work.search.journal.activity.ip2095")));
|
|
1137
|
+
i0.ɵɵadvance(3);
|
|
1138
|
+
i0.ɵɵproperty("options", ctx.activityTypeCombo)("formControl", ctx.activityType);
|
|
1139
|
+
i0.ɵɵadvance(1);
|
|
1140
|
+
i0.ɵɵclassMap("app-grid");
|
|
1141
|
+
i0.ɵɵproperty("field", ctx.activityType)("form", _r0)("errDef", i0.ɵɵpureFunction0(36, _c14));
|
|
1142
|
+
i0.ɵɵadvance(1);
|
|
1143
|
+
i0.ɵɵproperty("ngIf", ctx.displayWorkingForAnEmployerQuestions);
|
|
1144
|
+
i0.ɵɵadvance(1);
|
|
1145
|
+
i0.ɵɵproperty("ngIf", ctx.displayUnionMemberQuestions);
|
|
1146
|
+
i0.ɵɵadvance(1);
|
|
1147
|
+
i0.ɵɵproperty("ngIf", ctx.displayCCQuestions);
|
|
1148
|
+
i0.ɵɵadvance(1);
|
|
1149
|
+
i0.ɵɵproperty("ngIf", ctx.displayJobFairQuestions);
|
|
1150
|
+
i0.ɵɵadvance(1);
|
|
1151
|
+
i0.ɵɵproperty("ngIf", ctx.displayEmployerQuestions);
|
|
1152
|
+
i0.ɵɵadvance(3);
|
|
1153
|
+
i0.ɵɵproperty("ngIf", !ctx.displayUnionMemberQuestions && !ctx.displayWorkingForAnEmployerQuestions);
|
|
1154
|
+
i0.ɵɵadvance(1);
|
|
1155
|
+
i0.ɵɵproperty("ngIf", ctx.displayEmployerQuestions);
|
|
1156
|
+
i0.ɵɵadvance(4);
|
|
1157
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(32, 31, "button.cancel"));
|
|
1158
|
+
i0.ɵɵadvance(3);
|
|
1159
|
+
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(35, 33, "button.add"));
|
|
1160
|
+
} }, dependencies: [i4.IonButton, i4.IonCol, i4.IonGrid, i4.IonRow, i5.NgIf, i2.ɵNgNoValidate, i2.DefaultValueAccessor, i2.NgControlStatus, i2.NgControlStatusGroup, i2.MinLengthValidator, i2.MaxLengthValidator, i2.FormControlDirective, i2.FormGroupDirective, i6.Dialog, i7.InputText, i8.InputMask, i9.Calendar, i10.SelectButton, i11.ErrorComponent, i12.OverlayInfoComponent, i13.SearchEmployerComponent, i14.Dropdown, i15.StripInvisibleCharsDirective, i16.TranslatePipe, i17.TrustHtmlPipe], styles: ["[_nghost-%COMP%] .p-dialog{width:90%!important}"] }); }
|
|
1161
|
+
}
|
|
1162
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WorkSearchEmployerComponentME, [{
|
|
1163
|
+
type: Component,
|
|
1164
|
+
args: [{ selector: 'app-work-search-employer-me', template: "<p-dialog visible=\"true\" modal=\"true\" appendTo=\"body\" position=\"top\" [showHeader]=\"false\" [breakpoints]=\"{'1200px': '660px', '992px': '660px', '768px': '660px', '576px': '100vw'}\">\r\n <h4 style=\"color: var(--ion-color-grey); padding-left: 20px;\">{{'work.search.journal.activity.heading' | translate:dynamicParam }}</h4>\r\n <form [formGroup]=\"wsrForm\" #wsrFormDirective=\"ngForm\">\r\n <ion-grid>\r\n <ion-row>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n \r\n <div class=\"field\">\r\n <label for=\"activityType\">{{'work.search.journal.activity.type' | translate}}</label>\r\n <app-overlay-info [overlayText]=\"'work.search.journal.activity.ip2095' | translate | trustHtml\" style=\"padding-left: 8px;flex-grow: 1;\"></app-overlay-info>\r\n <app-dropdown [options]=\"activityTypeCombo\" optionLabel=\"DESC\" optionValue=\"NAME\" [formControl]=\"activityType\" appendTo=\"body\" inputId=\"activityType\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='activityType' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n typeAlreadyUsed: 'You can only add one entry for this activity type this week.'\r\n }\"></app-error>\r\n </div>\r\n <section *ngIf=\"displayWorkingForAnEmployerQuestions\">\r\n <div class=\"field\">\r\n <label for=\"workOrPerformServiceType\">{{'work.search.journal.workOrPerformServiceType' | translate}}</label>\r\n <p-selectButton [options]=\"employmentTypeOptions\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n [formControl]=\"workOrPerformServiceType\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='workOrPerformServiceType' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </section>\r\n <section *ngIf=\"displayUnionMemberQuestions\">\r\n <div class=\"field\">\r\n <label for=\"isInContactWithUnion\">{{'work.search.journal.isInContactWithUnion' | translate}}</label>\r\n <p-selectButton [options]=\"yesNoOptions\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n [formControl]=\"isInContactWithUnion\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='isInContactWithUnion' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"isInContactWithUnion.value === 'Y'\">\r\n <label for=\"unionName\">{{'work.search.journal.unionName' | translate}}</label>\r\n <input id=\"unionName\" type=\"input\" pInputText [formControl]=\"unionName\" appStripInvisibleChars />\r\n <app-error [class]=\"'app-grid'\" [field]='unionName' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"isInContactWithUnion.value === 'Y'\">\r\n <label for=\"unionContactPersonName\">{{'work.search.journal.unionContactPersonName' | translate}}</label>\r\n <input id=\"unionContactPersonName\" type=\"input\" pInputText [formControl]=\"unionContactPersonName\"\r\n appStripInvisibleChars />\r\n <app-error [class]=\"'app-grid'\" [field]='unionContactPersonName' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"isInContactWithUnion.value === 'Y'\">\r\n <label for=\"unionContactDate\">{{'work.search.journal.unionContactDate'| translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"unionContactDate\" appendTo=\"body\" [formControl]=\"unionContactDate\"\r\n [minDate]=\"sunDate\" [maxDate]=\"satDate\" [defaultDate]=\"sunDate\" [selectOtherMonths]=\"true\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='unionContactDate' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </section>\r\n <section *ngIf=\"displayCCQuestions\">\r\n <div class=\"field\">\r\n <label for=\"workShopName\">{{'work.search.journal.workShopName' | translate}}</label>\r\n <input id=\"workShopName\" type=\"input\" pInputText [formControl]=\"workShopName\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='workShopName' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </section>\r\n <section *ngIf =\"displayJobFairQuestions\">\r\n <div class=\"field\">\r\n <label for=\"jobFairLocation\">{{'work.search.journal.jobFairLocation' | translate}}</label>\r\n <input id=\"jobFairLocation\" type=\"input\" pInputText [formControl]=\"jobFairLocation\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='jobFairLocation' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </section>\r\n <section *ngIf =\"displayEmployerQuestions\">\r\n <div class=\"field\">\r\n <label for=\"employerName\">{{'work.search.journal.employerName' | translate}}</label>\r\n <app-search-employer [formControl]=\"employerName\" (onFound)=\"setEmployer($event)\" [empType]=\"'REG'\"></app-search-employer>\r\n <app-error [class]=\"'app-grid'\" [field]='employerName' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.', pattern: 'only letters, numbers, spaces, and . , & \\' ( ) - # are allowed'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"country\">{{'work.search.journal.country' | translate}}</label><br>\r\n <app-dropdown inputId=\"country\" [options]=\"countryOptions\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n appendTo=\"body\" [formControl]=\"country\" [autoDisplayFirst]=\"false\" inputId=\"country\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='country' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'required'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"line1\">{{'work.search.journal.streetAddress' | translate}}</label>\r\n <input id=\"line1\" type=\"input\" pInputText [formControl]=\"line1\" maxlength=\"40\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='line1' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.', pattern: 'only letters, numbers, spaces, and . , & \\' ( ) - # are allowed'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\">\r\n <label for=\"city\">{{'work.search.journal.city' | translate}}</label>\r\n <input id=\"city\" type=\"input\" pInputText [formControl]=\"city\" maxlength=\"30\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='city' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n invalidwsCityLength: 'City should not exceed a length of 30 characters',\r\n pattern: 'City name can only contain letters, spaces, and hyphens'\r\n }\"></app-error>\r\n </div>\r\n <ion-row>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"state\">{{'work.search.journal.state'| translate}}</label>\r\n <app-dropdown inputId=\"state\" [options]=\"statesCombo\" optionLabel=\"DESC\" optionValue=\"NAME\"\r\n appendTo=\"body\" [formControl]=\"state\" inputId = \"state\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='state' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n <ion-col size=\"1\"></ion-col>\r\n <ion-col style=\"padding: 0px;\">\r\n <div class=\"field\">\r\n <label for=\"zip\">{{'work.search.journal.zip'| translate}}</label>\r\n <input id=\"zip\" type=\"input\" pInputText [formControl]=\"zip\" minlength=\"5\" maxlength=\"9\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='zip' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n invalidLength: 'Zip code should be of 5 or 9 digits.',\r\n invalidNumber: 'Zip code should only have numbers.',\r\n invalidZipCode: 'please enter a valid zip code'\r\n }\"></app-error>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <div class=\"field\" >\r\n <label for=\"employerPhone\">{{'work.search.journal.phoneNo' | translate}}</label>\r\n <p-inputMask inputId=\"employerPhone\" [formControl]=\"employerPhone\" mask=\"(999) 999-9999\" unmask=\"true\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='employerPhone' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n </section>\r\n </div>\r\n </ion-col>\r\n <ion-col class=\"ion-padding\" size=\"12\" sizeSm=\"12\" sizeXs=\"12\" sizeMd=\"6\" sizeLg=\"6\" sizeXl=\"6\">\r\n <div class=\"p-fluid p-formgrid\">\r\n <div class=\"field\" *ngIf=\"!displayUnionMemberQuestions && !displayWorkingForAnEmployerQuestions\">\r\n <label for=\"workSearchDate\">{{'work.search.journal.applicationDate'| translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"workSearchDate\" appendTo=\"body\" [formControl]=\"workSearchDate\" [minDate]=\"sunDate\" [maxDate]=\"satDate\" [defaultDate]=\"sunDate\" [selectOtherMonths]=\"true\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='workSearchDate' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n dateNotBetween: 'Date should be between ' + sunDateString + ' and ' + satDateString + '.'\r\n }\"></app-error>\r\n </div>\r\n <section *ngIf =\"displayEmployerQuestions\">\r\n <div class=\"field\">\r\n <label for=\"positionAppliedFor\">{{'work.search.journal.jobTitle'| translate}}</label>\r\n <input id=\"positionAppliedFor\" type=\"input\" pInputText [formControl]=\"positionAppliedFor\" maxlength=\"50\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='positionAppliedFor' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n pattern: 'Job Title can only contain letters, numbers, spaces, and hyphens'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"contactMethod\">{{'work.search.journal.contactMethod'| translate}}</label>\r\n <p-selectButton [options]=\"workSearchMethodContact\" optionLabel=\"DESC\" optionValue=\"NAME\" [formControl]=\"contactMethod\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='contactMethod' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\" *ngIf=\"contactMethod.value == 'TELE'\">\r\n <label for=\"contactPhone\">{{'work.search.journal.phoneNo' | translate}}</label>\r\n <p-inputMask inputId=\"contactPhone\" [formControl]=\"contactPhone\" mask=\"(999) 999-9999\" unmask=\"true\"></p-inputMask>\r\n <app-error [class]=\"'app-grid'\" [field]='contactPhone' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"contactMethod.value == 'EMAL'\">\r\n <label for=\"employerEmail\">{{'work.search.journal.email' | translate}}</label>\r\n <input id=\"employerEmail\" type=\"input\" pInputText [formControl]=\"employerEmail\" placeholder=\"emailid@example.com\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='employerEmail' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.',\r\n employerEmail: 'Invalid email address.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"contactMethod.value == 'ONLI'\">\r\n <label for=\"employerWebsite\">{{'work.search.journal.website' | translate}}</label>\r\n <input id=\"employerWebsite\" type=\"input\" pInputText [formControl]=\"employerWebsite\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='employerWebsite' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n \r\n <div class=\"field\" *ngIf=\"contactMethod.value !='ONLI'\">\r\n <label for=\"empContactPersonName\">{{'work.search.journal.contactNameTitle' | translate}}</label>\r\n <input id=\"empContactPersonName\" type=\"input\" pInputText [formControl]=\"empContactPersonName\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='empContactPersonName' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\">\r\n <label for=\"searchResult\">{{'work.search.journal.result' | translate}}</label>\r\n <app-dropdown [options]=\"workSearchResultCombo\" optionLabel=\"DESC\" optionValue=\"NAME\" [formControl]=\"searchResult\" appendTo=\"body\" inputId=\"searchResult\"></app-dropdown>\r\n <app-error [class]=\"'app-grid'\" [field]='searchResult' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n\r\n <div class=\"field\" *ngIf=\"searchResult.value == 'OTHR'\">\r\n <label for=\"othResult\">{{'work.search.journal.result.oth' | translate}}</label>\r\n <input id=\"othResult\" type=\"input\" pInputText [formControl]=\"othResult\" appStripInvisibleChars/>\r\n <app-error [class]=\"'app-grid'\" [field]='othResult' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"searchResult.value == 'HIRE'\">\r\n <label for=\"hasStartDate\">{{'work.search.journal.result.hasStartDate' | translate}}</label>\r\n <p-selectButton [options]=\"yesNoOptions\" optionLabel=\"DESC\" optionValue=\"NAME\" [formControl]=\"hasStartDate\"></p-selectButton>\r\n <app-error [class]=\"'app-grid'\" [field]='hasStartDate' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n </div>\r\n <div class=\"field\" *ngIf=\"hasStartDate.value == 'Y' && searchResult.value == 'HIRE'\">\r\n <label for=\"workStartDate\">{{'work.search.journal.result.startDate' | translate}}</label>\r\n <p-calendar [showIcon]=\"true\" inputId=\"workStartDate\" appendTo=\"body\" [formControl]=\"workStartDate\" [minDate]=\"sunDate\" [defaultDate]=\"sunDate\" [selectOtherMonths]=\"true\"></p-calendar>\r\n <app-error [class]=\"'app-grid'\" [field]='workStartDate' [form]=\"wsrFormDirective\" [errDef]=\"{ \r\n required: 'Required.'\r\n }\"></app-error>\r\n\r\n </div>\r\n </section>\r\n </div>\r\n </ion-col>\r\n </ion-row>\r\n <ion-row>\r\n <ion-col class=\"ion-text-right\">\r\n <ion-button shape=\"round\" fill=\"outline\" (click)=\"close()\" type=\"reset\">{{'button.cancel' | translate}}</ion-button>\r\n <ion-button shape=\"round\" (click)=\"add()\" type=\"submit\">{{'button.add' | translate}}</ion-button>\r\n </ion-col>\r\n </ion-row>\r\n </ion-grid>\r\n </form>\r\n</p-dialog>", styles: [":host ::ng-deep .p-dialog{width:90%!important}\n"] }]
|
|
1165
|
+
}], () => [{ type: i1.WeeklyCertServiceV2 }, { type: i2.UntypedFormBuilder }, { type: i3.UtilService }], { wsrFormDirective: [{
|
|
1166
|
+
type: ViewChild,
|
|
1167
|
+
args: ['wsrFormDirective', { static: false }]
|
|
1168
|
+
}], success: [{
|
|
1169
|
+
type: Output
|
|
1170
|
+
}], onClose: [{
|
|
1171
|
+
type: Output
|
|
1172
|
+
}], recordIndexToEdit: [{
|
|
1173
|
+
type: Input
|
|
1174
|
+
}], data: [{
|
|
1175
|
+
type: Input
|
|
1176
|
+
}], satDate: [{
|
|
1177
|
+
type: Input
|
|
1178
|
+
}], sunDate: [{
|
|
1179
|
+
type: Input
|
|
1180
|
+
}], satDateString: [{
|
|
1181
|
+
type: Input
|
|
1182
|
+
}], sunDateString: [{
|
|
1183
|
+
type: Input
|
|
1184
|
+
}], journal: [{
|
|
1185
|
+
type: Input
|
|
1186
|
+
}], existingRecords: [{
|
|
1187
|
+
type: Input
|
|
1188
|
+
}] }); })();
|
|
1189
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WorkSearchEmployerComponentME, { className: "WorkSearchEmployerComponentME", filePath: "lib\\components\\weekly-work-search-employer-me\\work-search-employer.component-me.ts", lineNumber: 16 }); })();
|
|
1190
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29yay1zZWFyY2gtZW1wbG95ZXIuY29tcG9uZW50LW1lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9jb21wb25lbnRzL3dlZWtseS13b3JrLXNlYXJjaC1lbXBsb3llci1tZS93b3JrLXNlYXJjaC1lbXBsb3llci5jb21wb25lbnQtbWUudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvd2Vla2x5LXdvcmstc2VhcmNoLWVtcGxveWVyLW1lL3dvcmstc2VhcmNoLWVtcGxveWVyLmNvbXBvbmVudC1tZS5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBNkQsVUFBVSxFQUFlLE1BQU0sZ0JBQWdCLENBQUM7QUFFcEgsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHNEQUFzRCxDQUFDO0FBRTdGLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUNTN0MsK0JBQXNELGFBQUEsZ0JBQUE7SUFFWixZQUE4RDs7SUFBQSxpQkFBUTtJQUM1RyxxQ0FDNEQsb0JBQUE7SUFJOUQsaUJBQU0sRUFBQTs7OztJQU5rQyxlQUE4RDtJQUE5RCwwRkFBOEQ7SUFDcEYsZUFBaUM7SUFBakMsc0RBQWlDLGdEQUFBO0lBRXRDLGVBQW9CO0lBQXBCLHlCQUFvQjtJQUFDLHVEQUFrQyxhQUFBLHVDQUFBOzs7SUFjcEUsOEJB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QUFuRCxpRkFBbUQ7WUFDM0QsZUFBNkU7WUFBN0UsbUhBQTZFO1lBQ2pGLGVBQTZCO1lBQTdCLCtDQUE2QixpQ0FBQTtZQUNoQyxlQUFvQjtZQUFwQix5QkFBb0I7WUFBQyx3Q0FBc0IsYUFBQSx3Q0FBQTtZQUs5QyxlQUEwQztZQUExQywrREFBMEM7WUFVMUMsZUFBaUM7WUFBakMsc0RBQWlDO1lBaUNqQyxlQUF3QjtZQUF4Qiw2Q0FBd0I7WUFTeEIsZUFBOEI7WUFBOUIsa0RBQThCO1lBUzlCLGVBQStCO1lBQS9CLG1EQUErQjtZQXFFckIsZUFBMkU7WUFBM0Usb0dBQTJFO1lBUXJGLGVBQStCO1lBQS9CLG1EQUErQjtZQXVGNkIsZUFBK0I7WUFBL0IsNkRBQStCO1lBQy9DLGVBQTRCO1lBQTVCLDBEQUE0Qjs7O2lGRHBPakYsNkJBQTZCO2NBTHpDLFNBQVM7MkJBQ0UsNkJBQTZCOytHQU9oQyxnQkFBZ0I7a0JBRHRCLFNBQVM7bUJBQUMsa0JBQWtCLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBSWhELE9BQU87a0JBRE4sTUFBTTtZQUlQLE9BQU87a0JBRE4sTUFBTTtZQUlBLGlCQUFpQjtrQkFEdkIsS0FBSztZQUlDLElBQUk7a0JBRFYsS0FBSztZQUlDLE9BQU87a0JBRGIsS0FBSztZQUlDLE9BQU87a0JBRGIsS0FBSztZQUlDLGFBQWE7a0JBRG5CLEtBQUs7WUFJQyxhQUFhO2tCQURuQixLQUFLO1lBSUMsT0FBTztrQkFEYixLQUFLO1lBSUMsZUFBZTtrQkFEckIsS0FBSzs7a0ZBaENLLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBWaWV3Q2hpbGQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBVbnR5cGVkRm9ybUdyb3VwLCBOZ0Zvcm0sIFZhbGlkYXRvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tYm9PcHRpb24gfSBmcm9tICcuLi8uLi9tb2RlbHMvY29tYm8tbW9kZWwnO1xyXG5pbXBvcnQgeyBFbXBsb3llclNlYXJjaFJlc3VsdCB9IGZyb20gJy4uLy4uL21vZGVscy9FbXBsb3llckRldGFpbFNlYXJjaFJlc3VsdCc7XHJcbmltcG9ydCB7IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy93ZWVrbHktY2VydC93b3JrLXNlYXJjaC1yZWNvcmQtdjItbW9kZWwnO1xyXG5pbXBvcnQgeyBXZWVrbHlDZXJ0U2VydmljZVYyIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvd2Vla2x5LWNlcnQvd2Vla2x5LWNlcnQtdjIuc2VydmljZSc7XHJcbmltcG9ydCB7IEFwcFZhbGlkYXRvcnMgfSBmcm9tICcuLi8uLi92YWxpZGF0aW9ucy9BcHBWYWxpZGF0b3JzJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC13b3JrLXNlYXJjaC1lbXBsb3llci1tZScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3dvcmstc2VhcmNoLWVtcGxveWVyLmNvbXBvbmVudC1tZS5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi93b3JrLXNlYXJjaC1lbXBsb3llci5jb21wb25lbnQtbWUuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgV29ya1NlYXJjaEVtcGxveWVyQ29tcG9uZW50TUUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBAVmlld0NoaWxkKCd3c3JGb3JtRGlyZWN0aXZlJywgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIHdzckZvcm1EaXJlY3RpdmU6IE5nRm9ybTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgc3VjY2VzczogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIG9uQ2xvc2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByZWNvcmRJbmRleFRvRWRpdDogbnVtYmVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkYXRhOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWw7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNhdERhdGU6IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN1bkRhdGU6IERhdGU7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNhdERhdGVTdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHN1bkRhdGVTdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGpvdXJuYWw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZXhpc3RpbmdSZWNvcmRzOiBXb3JrU2VhcmNoUmVjb3JkTW9kZWxbXSA9IFtdO1xyXG5cclxuICBwdWJsaWMgd29ya1NlYXJjaE1ldGhvZENvbnRhY3QgPSBDb21ib09wdGlvbi5Xb3JrU2VhcmNoTWV0aG9kQ29udGFjdDtcclxuICBwdWJsaWMgd29ya1NlYXJjaFJlc3VsdENvbWJvID0gQ29tYm9PcHRpb24uV29ya1NlYXJjaFJlc3VsdENhcmVlckNlbnRlckNvbWJvTWU7XHJcbiAgcHVibGljIHN0YXRlc0NvbWJvOiBhbnkgPSBbXTtcclxuICBwdWJsaWMgaXNSZWFkT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyB3b3JrU2VhcmNoUmVjb3JkRGF0YTogV29ya1NlYXJjaFJlY29yZE1vZGVsID0gbnVsbDtcclxuICBwdWJsaWMgd3NyRm9ybTogVW50eXBlZEZvcm1Hcm91cDtcclxuICBwdWJsaWMgY291bnRyeU9wdGlvbnMgPSBDb21ib09wdGlvbi5DT1VOVFJZO1xyXG5cclxuICBhY3Rpdml0eVR5cGVDb21ibzogQ29tYm9PcHRpb25bXTtcclxuICBkeW5hbWljUGFyYW06IGFueTtcclxuICBkaXNwbGF5RW1wbG95ZXJRdWVzdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkaXNwbGF5Q0NRdWVzdGlvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBkaXNwbGF5Sm9iRmFpclF1ZXN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlVbmlvbk1lbWJlclF1ZXN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGRpc3BsYXlXb3JraW5nRm9yQW5FbXBsb3llclF1ZXN0aW9uczogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHllc05vT3B0aW9ucyA9IENvbWJvT3B0aW9uLlllc05vT3B0aW9ucztcclxuICBlbXBsb3ltZW50VHlwZU9wdGlvbnMgPSBDb21ib09wdGlvbi5Xb3JrU2VhcmNoRW1wbG95bWVudFR5cGU7XHJcblxyXG4gIC8qKiBSYWlzZWQgd2hlbiAobG9jYWwgUkVFTSArIHNlcnZlciBSRUVNICsgY3VycmVudCBzZWxlY3Rpb24pID4gUkVFTV9MSU1JVCAqL1xyXG4gIHB1YmxpYyByZWVtRXhjZWVkZWRGbGFnOiBib29sZWFuID0gZmFsc2U7XHJcbiAgLyoqIE1heCBSRUVNIGFjdGl2aXRpZXMgKHByZXZpb3VzIHdlZWtzIGNvdW50ICsgdGhpcyB3ZWVrcyBjb3VudCArIGN1cnJlbnQgYWRkaXRpb24pICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBSRUVNX0xJTUlUID0gMjtcclxuXHJcbiAgLyoqIE5FVzogb25seSB0aGVzZSB0eXBlcyBhcmUgYWxsb3dlZCBvbmNlICovXHJcbiAgcHJpdmF0ZSByZWFkb25seSBTSU5HTEVUT05fVFlQRVMgPSBuZXcgU2V0KFsnVU5PTicsICdXUktQJ10pO1xyXG4gIC8qKiBSRUVNIEFjdGl2aXR5IFR5cGVzICovXHJcbiAgcHJpdmF0ZSBSRUVNX0FDVElWSVRZX1RZUEVTID0gbmV3IFNldChbJ0pCRlInLCAnQ1NWVyddKTtcclxuXHJcbiAgdXNaaXBjb2RlVmFsaWRhdGlvbnM6IFZhbGlkYXRvckZuW10gPSBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc1ZhbGlkWmlwQ29kZV07XHJcbiAgY2FuYWRhWmlwY29kZVZhbGlkYXRpb25zOiBWYWxpZGF0b3JGbltdID0gW1ZhbGlkYXRvcnMucmVxdWlyZWQsIEFwcFZhbGlkYXRvcnMuaXNWYWxpZENhbmFkaWFuWmlwQ29kZV07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB3Y1NlcnZpY2U6IFdlZWtseUNlcnRTZXJ2aWNlVjIsIHB1YmxpYyBmb3JtQnVpbGRlcjogVW50eXBlZEZvcm1CdWlsZGVyLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmpvdXJuYWwpIHtcclxuICAgICAgdGhpcy5zYXREYXRlID0gdGhpcy51dGlsLmdldEVudGVyZWREYXRlKHRoaXMud2NTZXJ2aWNlLmdldFNhdHVyZGF5RGF0ZSgpKVxyXG4gICAgICB0aGlzLnN1bkRhdGUgPSB0aGlzLnV0aWwuZ2V0RW50ZXJlZERhdGUodGhpcy53Y1NlcnZpY2UuZ2V0U3VuZGF5RGF0ZSgpKTtcclxuICAgICAgdGhpcy5zYXREYXRlU3RyaW5nID0gdGhpcy53Y1NlcnZpY2UuZ2V0U2F0dXJkYXlEYXRlQXNTdHJpbmcoKTtcclxuICAgICAgdGhpcy5zdW5EYXRlU3RyaW5nID0gdGhpcy53Y1NlcnZpY2UuZ2V0U3VuZGF5RGF0ZUFzU3RyaW5nKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmR5bmFtaWNQYXJhbSA9IHtcclxuICAgICAgJ3NhdHVyZGF5X2RhdGUnOiB0aGlzLnNhdERhdGVTdHJpbmcsXHJcbiAgICAgICdzdW5kYXlfZGF0ZSc6IHRoaXMuc3VuRGF0ZVN0cmluZyxcclxuICAgIH07XHJcbiAgICB0aGlzLmluaXRpbGl6ZVdvcmtTZWFyY2hGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWxpemVXb3JrU2VhcmNoRm9ybSgpIHtcclxuICAgIGxldCB3c3I6IFdvcmtTZWFyY2hSZWNvcmRNb2RlbDtcclxuICAgIGlmICh0aGlzLmRhdGEpIHtcclxuICAgICAgd3NyID0gdGhpcy5kYXRhO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09IHVuZGVmaW5lZCB8fCB0aGlzLnJlY29yZEluZGV4VG9FZGl0ID09IG51bGwpIHtcclxuICAgICAgd3NyID0gbmV3IFdvcmtTZWFyY2hSZWNvcmRNb2RlbCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgd3NyID0gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKVt0aGlzLnJlY29yZEluZGV4VG9FZGl0XTtcclxuICAgICAgaWYgKHdzci5hY3Rpdml0eVR5cGUgPT0gbnVsbCkge1xyXG4gICAgICAgIHdzci5hY3Rpdml0eVR5cGUgPSAnQ05UQyc7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy53c3JGb3JtID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7XHJcbiAgICAgICdhY3Rpdml0eVR5cGUnOiBbd3NyLmFjdGl2aXR5VHlwZSwgVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICd3b3JrU2VhcmNoRGF0ZSc6IFt3c3Iud29ya1NlYXJjaERhdGUgIT0gbnVsbCA/IHRoaXMuZ2V0RGF0ZSh3c3Iud29ya1NlYXJjaERhdGUpIDogJyddLFxyXG4gICAgICAnZW1wbG95ZXJOYW1lJzogW3dzci5lbXBsb3llck5hbWVdLFxyXG4gICAgICAnY2l0eSc6IFt3c3IuY2l0eV0sXHJcbiAgICAgICdsaW5lMSc6IFt3c3IubGluZTFdLFxyXG4gICAgICAnbGluZTInOiBbd3NyLmxpbmUyXSxcclxuICAgICAgJ3N0YXRlJzogW3dzci5zdGF0ZSAhPSBudWxsID8gd3NyLnN0YXRlIDogTGliQ29uc3RhbnRzLlNUQVRFXSxcclxuICAgICAgJ2NvdW50cnknOiBbd3NyLmNvdW50cnldLFxyXG4gICAgICAnY29udGFjdE1ldGhvZCc6IFt3c3IuY29udGFjdE1ldGhvZCAhPSBudWxsID8gd3NyLmNvbnRhY3RNZXRob2QgOiAnJ10sXHJcbiAgICAgICdlbXBDb250YWN0UGVyc29uTmFtZSc6IFt3c3IuZW1wQ29udGFjdFBlcnNvbk5hbWVdLFxyXG4gICAgICAnZW1wQ29udGFjdFBlcnNvblRpdGxlJzogW3dzci5lbXBDb250YWN0UGVyc29uVGl0bGVdLFxyXG4gICAgICAnemlwJzogW3dzci56aXBdLFxyXG4gICAgICAnZW1wbG95ZXJQaG9uZSc6IFt3c3IuZW1wbG95ZXJQaG9uZSAhPSBudWxsID8gd3NyLmVtcGxveWVyUGhvbmUgOiAnJ10sXHJcbiAgICAgICdjb250YWN0UGhvbmUnOiBbd3NyLmNvbnRhY3RQaG9uZSAhPSBudWxsID8gd3NyLmNvbnRhY3RQaG9uZSA6ICcnXSxcclxuICAgICAgJ2VtcGxveWVyRW1haWwnOiBbd3NyLmVtcGxveWVyRW1haWxdLFxyXG4gICAgICAnZW1wbG95ZXJXZWJzaXRlJzogW3dzci5lbXBsb3llcldlYnNpdGVdLFxyXG4gICAgICAnZW1wbG95ZXJGYXgnOiBbd3NyLmVtcGxveWVyRmF4ICE9IG51bGwgPyB3c3IuZW1wbG95ZXJGYXggOiAnJ10sXHJcbiAgICAgICdwb3NpdGlvbkFwcGxpZWRGb3InOiBbd3NyLnBvc2l0aW9uQXBwbGllZEZvcl0sXHJcbiAgICAgICdzZWFyY2hSZXN1bHQnOiBbd3NyLnNlYXJjaFJlc3VsdF0sXHJcbiAgICAgICd3aW5nc1JlZmVycmFsV29ya1NlYXJjaElkJzogW3dzci53aW5nc1JlZmVycmFsV29ya1NlYXJjaElkXSxcclxuICAgICAgJ2NsYWltYW50V29ya1NlYXJjaEpvdXJuYWxJZCc6IFt3c3IuY2xhaW1hbnRXb3JrU2VhcmNoSm91cm5hbElkXSxcclxuICAgICAgJ3dzcklkJzogW3dzci53c3JJZF0sXHJcbiAgICAgICd3b3JrU2hvcE5hbWUnOiBbd3NyLndvcmtTaG9wTmFtZV0sXHJcbiAgICAgICdqb2JGYWlyTG9jYXRpb24nOiBbd3NyLmpvYkZhaXJMb2NhdGlvbl0sXHJcbiAgICAgICdvdGhSZXN1bHQnOiBbd3NyLm90aFJlc3VsdF0sXHJcbiAgICAgICdoYXNTdGFydERhdGUnOiBbd3NyLmhhc1N0YXJ0RGF0ZV0sXHJcbiAgICAgICd3b3JrU3RhcnREYXRlJzogW3dzci53b3JrU3RhcnREYXRlXSxcclxuICAgICAgJ3R5cGVPZldvcmsnOiBbd3NyLnR5cGVPZldvcmtdLFxyXG4gICAgICAnaXNJbkNvbnRhY3RXaXRoVW5pb24nOiBbd3NyLmlzSW5Db250YWN0V2l0aFVuaW9uXSxcclxuICAgICAgJ3VuaW9uTmFtZSc6IFt3c3IudW5pb25OYW1lXSxcclxuICAgICAgJ3VuaW9uQ29udGFjdFBlcnNvbk5hbWUnOiBbd3NyLnVuaW9uQ29udGFjdFBlcnNvbk5hbWVdLFxyXG4gICAgICAndW5pb25Db250YWN0RGF0ZSc6IFt3c3IudW5pb25Db250YWN0RGF0ZV0sXHJcbiAgICAgICd3b3JrT3JQZXJmb3JtU2VydmljZVR5cGUnOiBbd3NyLndvcmtPclBlcmZvcm1TZXJ2aWNlVHlwZV1cclxuICAgIH0pO1xyXG5cclxuICAgIC8qKiBORVc6IGF0dGFjaCB1bmlxdWUtdHlwZSB2YWxpZGF0b3IgdG8gYWN0aXZpdHlUeXBlICovXHJcbiAgICBjb25zdCBwcmV2ID0gdGhpcy5hY3Rpdml0eVR5cGUudmFsaWRhdG9yID8gW3RoaXMuYWN0aXZpdHlUeXBlLnZhbGlkYXRvcl0gOiBbXTtcclxuICAgIHRoaXMuYWN0aXZpdHlUeXBlLnNldFZhbGlkYXRvcnMoWy4uLnByZXYsIHRoaXMudW5pcXVlQWN0aXZpdHlUeXBlVmFsaWRhdG9yKCldKTtcclxuICAgIHRoaXMuYWN0aXZpdHlUeXBlLnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG5cclxuICAgIGlmICh3c3IuYWN0aXZpdHlUeXBlID09ICdDTlRDJyB8fCB3c3IuYWN0aXZpdHlUeXBlID09ICdBUExEJyB8fCB3c3IuYWN0aXZpdHlUeXBlID09ICdOVFJXJykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlFbXBsb3llclF1ZXN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGlzcGxheUNDUXVlc3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGlzcGxheUpvYkZhaXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5V29ya2luZ0ZvckFuRW1wbG95ZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAod3NyLmFjdGl2aXR5VHlwZSA9PSAnSkJGUicpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5RW1wbG95ZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Q0NRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iRmFpclF1ZXN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGlzcGxheVdvcmtpbmdGb3JBbkVtcGxveWVyUXVlc3Rpb25zID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKHdzci5hY3Rpdml0eVR5cGUgPT0gJ0NTVlcnIHx8IHdzci5hY3Rpdml0eVR5cGUgPT0gJ1JFU1InKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheUVtcGxveWVyUXVlc3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGlzcGxheUNDUXVlc3Rpb25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iRmFpclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlXb3JraW5nRm9yQW5FbXBsb3llclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmICh3c3IuYWN0aXZpdHlUeXBlID09ICdVTk9OJykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlFbXBsb3llclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlDQ1F1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlKb2JGYWlyUXVlc3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGlzcGxheVVuaW9uTWVtYmVyUXVlc3Rpb25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXNwbGF5V29ya2luZ0ZvckFuRW1wbG95ZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgIH0gZWxzZSBpZiAod3NyLmFjdGl2aXR5VHlwZSA9PSAnV1JLUCcpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5RW1wbG95ZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Q0NRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iRmFpclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlVbmlvbk1lbWJlclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlXb3JraW5nRm9yQW5FbXBsb3llclF1ZXN0aW9ucyA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3Rpdml0eVR5cGVDb21ibyA9IENvbWJvT3B0aW9uLkFjdGl2aXR5VHlwZUNvbWJvO1xyXG4gICAgaWYgKHdzci5hY3Rpdml0eVR5cGUgPT0gJ0NOVEMnIHx8IHdzci5hY3Rpdml0eVR5cGUgPT0gJ0FQTEQnKSB7XHJcbiAgICAgIHRoaXMud29ya1NlYXJjaFJlc3VsdENvbWJvID0gQ29tYm9PcHRpb24uV29ya1NlYXJjaFJlc3VsdEVtcGxveWVyQ29tYm9NZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud29ya1NlYXJjaFJlc3VsdENvbWJvID0gQ29tYm9PcHRpb24uV29ya1NlYXJjaFJlc3VsdENhcmVlckNlbnRlckNvbWJvTWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy53b3JrU2VhcmNoTWV0aG9kQ29udGFjdCA9IENvbWJvT3B0aW9uLldvcmtTZWFyY2hNZXRob2RDb250YWN0TWU7XHJcblxyXG4gICAgaWYgKHdzci53aW5nc1JlZmVycmFsV29ya1NlYXJjaElkICE9IG51bGwgJiYgd3NyLndpbmdzUmVmZXJyYWxXb3JrU2VhcmNoSWQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuaXNSZWFkT25seSA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzUmVhZE9ubHkgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuY29udGFjdE1ldGhvZC5zZXRWYWx1ZSh3c3IuY29udGFjdE1ldGhvZCAhPSBudWxsID8gd3NyLmNvbnRhY3RNZXRob2QgOiAnJyk7XHJcbiAgICB0aGlzLmNvbnRhY3RNZXRob2QudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xyXG4gICAgICB0aGlzLnNldENvbnRhY3RJbmZvVmFsaWRhdGlvbih2YWwpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5hY3Rpdml0eVR5cGUudmFsdWVDaGFuZ2VzLnN1YnNjcmliZSh2YWwgPT4ge1xyXG4gICAgICB0aGlzLnJlZW1FeGNlZWRlZEZsYWcgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zZXRBY3Rpdml0eVR5cGVWYWxpZGF0aW9uKHZhbCk7XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmlzSW5Db250YWN0V2l0aFVuaW9uLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgdGhpcy5zZXRVbmlvblZhbGlkYXRpb24odmFsKTtcclxuICAgIH0pXHJcblxyXG4gICAgaWYgKHdzci5zZWFyY2hSZXN1bHQgPT0gJ0hEUlcnKSB7XHJcbiAgICAgIHRoaXMuaGFzU3RhcnREYXRlLnNldFZhbHVlKHdzci5oYXNTdGFydERhdGUgIT0gbnVsbCA/IHdzci5oYXNTdGFydERhdGUgOiAnJyk7XHJcbiAgICAgIHRoaXMud29ya1N0YXJ0RGF0ZS5zZXRWYWx1ZSh3c3Iud29ya1N0YXJ0RGF0ZSAhPSBudWxsID8gbmV3IERhdGUod3NyLndvcmtTdGFydERhdGUpIDogJycpO1xyXG4gICAgICB0aGlzLnNlYXJjaFJlc3VsdC5zZXRWYWx1ZSgnSElSRScpO1xyXG4gICAgfSBlbHNlIGlmICh3c3Iuc2VhcmNoUmVzdWx0ID09ICdITlNEJykge1xyXG4gICAgICB0aGlzLmhhc1N0YXJ0RGF0ZS5zZXRWYWx1ZSh3c3IuaGFzU3RhcnREYXRlICE9IG51bGwgPyB3c3IuaGFzU3RhcnREYXRlIDogJycpO1xyXG4gICAgICB0aGlzLnNlYXJjaFJlc3VsdC5zZXRWYWx1ZSgnSElSRScpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaGFzU3RhcnREYXRlLnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUodmFsID0+IHtcclxuICAgICAgaWYgKHZhbCA9PSAnWScpIHtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53b3JrU3RhcnREYXRlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya1N0YXJ0RGF0ZSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5zZXRDb250YWN0SW5mb1ZhbGlkYXRpb24odGhpcy5jb250YWN0TWV0aG9kLnZhbHVlKTtcclxuICAgIHRoaXMuc2V0QWN0aXZpdHlUeXBlVmFsaWRhdGlvbih0aGlzLmFjdGl2aXR5VHlwZS52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvKiogTkVXOiB1bmlxdWUtdHlwZSB2YWxpZGF0b3IgZmFjdG9yeSAqL1xyXG4gIHByaXZhdGUgdW5pcXVlQWN0aXZpdHlUeXBlVmFsaWRhdG9yKCk6IFZhbGlkYXRvckZuIHtcclxuICAgIHJldHVybiAoY29udHJvbCkgPT4ge1xyXG4gICAgICBjb25zdCB2ID0gY29udHJvbD8udmFsdWUgYXMgc3RyaW5nO1xyXG4gICAgICBpZiAoIXYpIHJldHVybiBudWxsO1xyXG4gICAgICBpZiAodGhpcy5TSU5HTEVUT05fVFlQRVMuaGFzKHYpICYmIHRoaXMuaGFzVHlwZSh2KSkge1xyXG4gICAgICAgIHJldHVybiB7IHR5cGVBbHJlYWR5VXNlZDogdHJ1ZSB9O1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gICAgIC8qKiBORVc6IGNoZWNrcyBpZiBVTk9OL1dSS1AgYWxyZWFkeSBleGlzdHMgb24gYW5vdGhlciByb3cgKi9cclxuICBwcml2YXRlIGhhc1R5cGUodHlwZTogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgLy8gUHJlZmVyIHRoZSBwYXNzZWQtaW4gbGlzdCBpZiBwcm92aWRlZDsgZmFsbCBiYWNrIHRvIHNlcnZpY2VcclxuICBjb25zdCBsaXN0ID1cclxuICAgICh0aGlzLmV4aXN0aW5nUmVjb3JkcyAmJiB0aGlzLmV4aXN0aW5nUmVjb3Jkcy5sZW5ndGggPiAwKVxyXG4gICAgICA/IHRoaXMuZXhpc3RpbmdSZWNvcmRzXHJcbiAgICAgIDogKHRoaXMud2NTZXJ2aWNlLmdldFdvcmtTZWFyY2hSZWNvcmRzKCkgPz8gW10pO1xyXG4gXHJcbiAgLy8gQ29ycmVjdGx5IGRldGVjdCBpZiB3ZSBhcmUgZWRpdGluZyBldmVuIHdoZW4gaW5kZXggaXMgMFxyXG4gIGNvbnN0IGhhc0VkaXRJZHggPSB0aGlzLnJlY29yZEluZGV4VG9FZGl0ICE9PSBudWxsICYmIHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgIT09IHVuZGVmaW5lZDtcclxuICBjb25zdCBlZGl0SWR4ID0gaGFzRWRpdElkeCA/IHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgOiAtMTtcclxuIFxyXG4gIC8vIEV4Y2x1ZGUgdGhlIHJvdyBiZWluZyBlZGl0ZWRcclxuICByZXR1cm4gbGlzdC5zb21lKChyLCBpZHgpID0+IHI/LmFjdGl2aXR5VHlwZSA9PT0gdHlwZSAmJiBpZHggIT09IGVkaXRJZHgpO1xyXG59XHJcblxyXG4gIGZpbHRlclN0YXRlKGV2ZW50KSB7XHJcbiAgICBsZXQgY2hvaWNlOiBhbnk7XHJcbiAgICBpZiAodGhpcy5jb3VudHJ5Py52YWx1ZSA9PT0gJ1VTJykge1xyXG4gICAgICBjb25zdCBjdXJyZW50U3RhdGUgPSBDb21ib09wdGlvbi5TdGF0ZXNDb21iby5maW5kKHN0YXRlID0+IHN0YXRlLk5BTUUgPT0gdGhpcy51dGlsLmdldFN0YXRlKCkpXHJcbiAgICAgIGNob2ljZSA9IFtjdXJyZW50U3RhdGUsIC4uLkNvbWJvT3B0aW9uLlN0YXRlc0NvbWJvLmZpbHRlcihzdGF0ZSA9PiBzdGF0ZS5OQU1FICE9IHRoaXMudXRpbC5nZXRTdGF0ZSgpKV07XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuY291bnRyeT8udmFsdWUgPT09ICdDQScpIHtcclxuICAgICAgY2hvaWNlID0gQ29tYm9PcHRpb24uQ0FfU1RBVEVTO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc3RhdGVzQ29tYm8gPSBjaG9pY2U7XHJcbiAgfVxyXG5cclxuICBzZXRaaXBDb2RlVmFsaWRhdGlvbkJhc2VkT25Db3VudHJ5KCkge1xyXG4gICAgdGhpcy5jb3VudHJ5LnZhbHVlQ2hhbmdlcy5zdWJzY3JpYmUoYyA9PiB7XHJcbiAgICAgIGlmIChjID09ICdVUycpIHtcclxuICAgICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuemlwKTtcclxuICAgICAgICB0aGlzLnV0aWwuc2V0VmFsaWRhdGlvbih0aGlzLnppcCwgdGhpcy51c1ppcGNvZGVWYWxpZGF0aW9ucyk7XHJcbiAgICAgIH0gZWxzZSBpZiAoYyA9PSAnQ0EnKSB7XHJcbiAgICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnppcCk7XHJcbiAgICAgICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy56aXAsIHRoaXMuY2FuYWRhWmlwY29kZVZhbGlkYXRpb25zKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHNldFVuaW9uVmFsaWRhdGlvbih2YWw6IGFueSl7XHJcbiAgICBpZih2YWwgPT0gJ1knKXtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudW5pb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMudW5pb25Db250YWN0UGVyc29uTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnVuaW9uQ29udGFjdERhdGUpO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudW5pb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnVuaW9uQ29udGFjdFBlcnNvbk5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudW5pb25Db250YWN0RGF0ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRBY3Rpdml0eVR5cGVWYWxpZGF0aW9uKHZhbDogYW55KSB7XHJcbiAgICB0aGlzLmRpc3BsYXlFbXBsb3llclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgdGhpcy5kaXNwbGF5Q0NRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgIHRoaXMuZGlzcGxheUpvYkZhaXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgIHRoaXMuZGlzcGxheVVuaW9uTWVtYmVyUXVlc3Rpb25zID0gZmFsc2U7XHJcbiAgICB0aGlzLmRpc3BsYXlXb3JraW5nRm9yQW5FbXBsb3llclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG5cclxuICAgIGlmICh2YWwgPT0gJ0NOVEMnIHx8IHZhbCA9PSAnQVBMRCcgfHwgdmFsID09ICdOVFJXJykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlFbXBsb3llclF1ZXN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGlzcGxheUNDUXVlc3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGlzcGxheUpvYkZhaXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5VW5pb25NZW1iZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5V29ya2luZ0ZvckFuRW1wbG95ZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jb3VudHJ5LnNldFZhbHVlKFwiVVNcIik7XHJcblxyXG4gICAgICB0aGlzLmNvdW50cnkudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShjb3VudHJ5ID0+IHtcclxuICAgICAgICB0aGlzLmZpbHRlclN0YXRlKGNvdW50cnkpXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5zZXRaaXBDb2RlVmFsaWRhdGlvbkJhc2VkT25Db3VudHJ5KCk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMud29ya1NlYXJjaERhdGUsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc0JldHdlZW4odGhpcy5zdW5EYXRlLCB0aGlzLnNhdERhdGUpXSkpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iRmFpckxvY2F0aW9uKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndvcmtPclBlcmZvcm1TZXJ2aWNlVHlwZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53b3JrU2hvcE5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuaXNJbkNvbnRhY3RXaXRoVW5pb24pO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudW5pb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnVuaW9uQ29udGFjdFBlcnNvbk5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMudW5pb25Db250YWN0RGF0ZSk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyTmFtZSk7XHJcbiAgICAgIHRoaXMuZW1wbG95ZXJOYW1lLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucGF0dGVybigvXltBLVphLXowLTlcXHNcXC4sJicoKSMtXSskLyldKTtcclxuICAgICAgdGhpcy5lbXBsb3llck5hbWUudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5saW5lMSk7XHJcbiAgICAgIHRoaXMubGluZTEuYWRkVmFsaWRhdG9ycyhbVmFsaWRhdG9ycy5wYXR0ZXJuKC9eWzAtOUEtWmEtelxccywnXFwtXFwuI1xcL10rJC8pXSk7XHJcbiAgICAgIHRoaXMubGluZTEudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5jaXR5KTtcclxuICAgICAgdGhpcy5jaXR5LmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucGF0dGVybigvXig/IS0pW0EtWmEteiAtXSokLyldKTtcclxuICAgICAgdGhpcy5jaXR5LnVwZGF0ZVZhbHVlQW5kVmFsaWRpdHkoKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuY291bnRyeSk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnN0YXRlKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuemlwKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW1wbG95ZXJQaG9uZSk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLnBvc2l0aW9uQXBwbGllZEZvcik7XHJcbiAgICAgIHRoaXMucG9zaXRpb25BcHBsaWVkRm9yLmFkZFZhbGlkYXRvcnMoW1ZhbGlkYXRvcnMucGF0dGVybigvXig/IS0pW0EtWmEtejAtOSAtXSokLyldKTtcclxuICAgICAgdGhpcy5wb3NpdGlvbkFwcGxpZWRGb3IudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5jb250YWN0TWV0aG9kKTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW1wQ29udGFjdFBlcnNvbk5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5zZWFyY2hSZXN1bHQpO1xyXG5cclxuICAgICAgaWYgKHZhbCA9PSAnQ05UQycgfHwgdmFsID09ICdBUExEJykge1xyXG4gICAgICAgIHRoaXMud29ya1NlYXJjaFJlc3VsdENvbWJvID0gQ29tYm9PcHRpb24uV29ya1NlYXJjaFJlc3VsdEVtcGxveWVyQ29tYm9NZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLndvcmtTZWFyY2hSZXN1bHRDb21ibyA9IENvbWJvT3B0aW9uLldvcmtTZWFyY2hSZXN1bHRDYXJlZXJDZW50ZXJDb21ib01lO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodmFsID09ICdKQkZSJykge1xyXG4gICAgICB0aGlzLmRpc3BsYXlFbXBsb3llclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlDQ1F1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlKb2JGYWlyUXVlc3Rpb25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXNwbGF5VW5pb25NZW1iZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5V29ya2luZ0ZvckFuRW1wbG95ZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuXHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmpvYkZhaXJMb2NhdGlvbik7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMud29ya1NlYXJjaERhdGUsIFZhbGlkYXRvcnMuY29tcG9zZShbVmFsaWRhdG9ycy5yZXF1aXJlZCwgQXBwVmFsaWRhdG9ycy5pc0JldHdlZW4odGhpcy5zdW5EYXRlLCB0aGlzLnNhdERhdGUpXSkpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmlzSW5Db250YWN0V2l0aFVuaW9uKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnVuaW9uTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy51bmlvbkNvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnVuaW9uQ29udGFjdERhdGUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya1Nob3BOYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5saW5lMSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jaXR5KTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnN0YXRlKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNvdW50cnkpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuemlwKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyUGhvbmUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMucG9zaXRpb25BcHBsaWVkRm9yKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNvbnRhY3RNZXRob2QpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wQ29udGFjdFBlcnNvbk5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc2VhcmNoUmVzdWx0KTtcclxuXHJcbiAgICB9XHJcbiAgICBpZiAodmFsID09ICdDU1ZXJyB8fCB2YWwgPT0gJ1JFU1InKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheUVtcGxveWVyUXVlc3Rpb25zID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuZGlzcGxheUNDUXVlc3Rpb25zID0gdHJ1ZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iRmFpclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlVbmlvbk1lbWJlclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlXb3JraW5nRm9yQW5FbXBsb3llclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG5cclxuICAgICAgdGhpcy51dGlsLnNldFZhbGlkYXRpb24odGhpcy53b3JrU2VhcmNoRGF0ZSwgVmFsaWRhdG9ycy5jb21wb3NlKFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBBcHBWYWxpZGF0b3JzLmlzQmV0d2Vlbih0aGlzLnN1bkRhdGUsIHRoaXMuc2F0RGF0ZSldKSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5qb2JGYWlyTG9jYXRpb24pO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53b3JrU2hvcE5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmlzSW5Db250YWN0V2l0aFVuaW9uKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnVuaW9uTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy51bmlvbkNvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnVuaW9uQ29udGFjdERhdGUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJOYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmxpbmUxKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNpdHkpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhdGUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY291bnRyeSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy56aXApO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJQaG9uZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wb3NpdGlvbkFwcGxpZWRGb3IpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY29udGFjdE1ldGhvZCk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBDb250YWN0UGVyc29uTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZWFyY2hSZXN1bHQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbCA9PSAnVU5PTicpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5RW1wbG95ZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Q0NRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iRmFpclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlVbmlvbk1lbWJlclF1ZXN0aW9ucyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGlzcGxheVdvcmtpbmdGb3JBbkVtcGxveWVyUXVlc3Rpb25zID0gZmFsc2U7XHJcblxyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5pc0luQ29udGFjdFdpdGhVbmlvbik7XHJcbiAgICAgIGlmICh0aGlzLndvcmtTZWFyY2hEYXRlLnZhbHVlID09PSAnJyB8fCB0aGlzLndvcmtTZWFyY2hEYXRlLnZhbHVlID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLndvcmtTZWFyY2hEYXRlLnNldFZhbHVlKG51bGwsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMud29ya09yUGVyZm9ybVNlcnZpY2VUeXBlKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndvcmtTZWFyY2hEYXRlKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmpvYkZhaXJMb2NhdGlvbik7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy53b3JrU2hvcE5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJOYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmxpbmUxKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmNpdHkpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuc3RhdGUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY291bnRyeSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy56aXApO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJQaG9uZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5wb3NpdGlvbkFwcGxpZWRGb3IpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY29udGFjdE1ldGhvZCk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBDb250YWN0UGVyc29uTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zZWFyY2hSZXN1bHQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHZhbCA9PSAnV1JLUCcpIHtcclxuICAgICAgdGhpcy5kaXNwbGF5RW1wbG95ZXJRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Q0NRdWVzdGlvbnMgPSBmYWxzZTtcclxuICAgICAgdGhpcy5kaXNwbGF5Sm9iRmFpclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlVbmlvbk1lbWJlclF1ZXN0aW9ucyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmRpc3BsYXlXb3JraW5nRm9yQW5FbXBsb3llclF1ZXN0aW9ucyA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUpO1xyXG4gICAgICBpZiAodGhpcy53b3JrU2VhcmNoRGF0ZS52YWx1ZSA9PT0gJycgfHwgdGhpcy53b3JrU2VhcmNoRGF0ZS52YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy53b3JrU2VhcmNoRGF0ZS5zZXRWYWx1ZShudWxsLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmlzSW5Db250YWN0V2l0aFVuaW9uKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndvcmtTZWFyY2hEYXRlKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnVuaW9uTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy51bmlvbkNvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnVuaW9uQ29udGFjdERhdGUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuam9iRmFpckxvY2F0aW9uKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLndvcmtTaG9wTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llck5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMubGluZTEpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuY2l0eSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5zdGF0ZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb3VudHJ5KTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnppcCk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llclBob25lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnBvc2l0aW9uQXBwbGllZEZvcik7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5jb250YWN0TWV0aG9kKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcENvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLnNlYXJjaFJlc3VsdCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNldENvbnRhY3RJbmZvVmFsaWRhdGlvbih2YWw6IHN0cmluZykge1xyXG4gICAgaWYgKHZhbCA9PSAnVEVMRScpIHtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW1wbG95ZXJQaG9uZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBDb250YWN0UGVyc29uTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llckVtYWlsKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyV2Vic2l0ZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llckZheCk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmNvbnRhY3RQaG9uZSk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcENvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgIH1cclxuICAgIGlmICh2YWwgPT0gJ0VNQUwnKSB7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJFbWFpbCwgW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMuZW1haWxdKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcENvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyUGhvbmUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJXZWJzaXRlKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyRmF4KTtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW1wbG95ZXJQaG9uZSk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcENvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgIH1cclxuICAgIGlmICh2YWwgPT0gJ09OTEknKSB7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyV2Vic2l0ZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBDb250YWN0UGVyc29uTmFtZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llclBob25lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyRW1haWwpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJGYXgpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbXBsb3llclBob25lKTtcclxuICAgIH1cclxuICAgIGlmICh2YWwgPT0gJ0ZBWE4nKSB7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyRmF4KTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcENvbnRhY3RQZXJzb25OYW1lKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyUGhvbmUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJFbWFpbCk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llcldlYnNpdGUpO1xyXG4gICAgICB0aGlzLnV0aWwuc2V0UmVxdWlyZWRWYWxpZGF0b3IodGhpcy5lbXBsb3llclBob25lKTtcclxuICAgIH1cclxuICAgIGlmICh2YWwgPT0gJ01BSUwnIHx8IHZhbCA9PSAnUFJTTicpIHtcclxuICAgICAgdGhpcy51dGlsLnNldFJlcXVpcmVkVmFsaWRhdG9yKHRoaXMuZW1wQ29udGFjdFBlcnNvbk5hbWUpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJGYXgpO1xyXG4gICAgICB0aGlzLnV0aWwuY2xlYXJWYWxpZGF0aW9uKHRoaXMuZW1wbG95ZXJQaG9uZSk7XHJcbiAgICAgIHRoaXMudXRpbC5jbGVhclZhbGlkYXRpb24odGhpcy5lbXBsb3llckVtYWlsKTtcclxuICAgICAgdGhpcy51dGlsLmNsZWFyVmFsaWRhdGlvbih0aGlzLmVtcGxveWVyV2Vic2l0ZSk7XHJcbiAgICAgIHRoaXMudXRpbC5zZXRSZXF1aXJlZFZhbGlkYXRvcih0aGlzLmVtcGxveWVyUGhvbmUpO1xyXG4gICAgfVxyXG4gIH1cclxuICBnZXREYXRlKHdzRGF0ZSk6IERhdGUge1xyXG4gICAgaWYgKCEod3NEYXRlIGluc3RhbmNlb2YgRGF0ZSkpIHtcclxuICAgICAgcmV0dXJuIHRoaXMudXRpbC5nZXRFbnRlcmVkRGF0ZSh3c0RhdGUpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHdzRGF0ZTtcclxuICB9XHJcblxyXG4gIGdldCB3b3JrU2VhcmNoRGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3dvcmtTZWFyY2hEYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1wbG95ZXJOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snZW1wbG95ZXJOYW1lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgY2l0eSgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2NpdHknXTtcclxuICB9XHJcblxyXG4gIGdldCBsaW5lMSgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2xpbmUxJ107XHJcbiAgfVxyXG5cclxuICBnZXQgbGluZTIoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydsaW5lMiddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHN0YXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snc3RhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBjb3VudHJ5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snY291bnRyeSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbnRhY3RNZXRob2QoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydjb250YWN0TWV0aG9kJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1wQ29udGFjdFBlcnNvbk5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydlbXBDb250YWN0UGVyc29uTmFtZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVtcENvbnRhY3RQZXJzb25UaXRsZSgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2VtcENvbnRhY3RQZXJzb25UaXRsZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHppcCgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3ppcCddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGVtcGxveWVyUGhvbmUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydlbXBsb3llclBob25lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgZW1wbG95ZXJFbWFpbCgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2VtcGxveWVyRW1haWwnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbXBsb3llcldlYnNpdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydlbXBsb3llcldlYnNpdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCBlbXBsb3llckZheCgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ2VtcGxveWVyRmF4J107XHJcbiAgfVxyXG5cclxuICBnZXQgcG9zaXRpb25BcHBsaWVkRm9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1sncG9zaXRpb25BcHBsaWVkRm9yJ107XHJcbiAgfVxyXG5cclxuICBnZXQgc2VhcmNoUmVzdWx0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snc2VhcmNoUmVzdWx0J107XHJcbiAgfVxyXG5cclxuICBnZXQgd2luZ3NSZWZlcnJhbFdvcmtTZWFyY2hJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3dpbmdzUmVmZXJyYWxXb3JrU2VhcmNoSWQnXTtcclxuICB9XHJcblxyXG4gIGdldCBjbGFpbWFudFdvcmtTZWFyY2hKb3VybmFsSWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWydjbGFpbWFudFdvcmtTZWFyY2hKb3VybmFsSWQnXTtcclxuICB9XHJcblxyXG4gIGdldCB3c3JJZCgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3dzcklkJ107XHJcbiAgfVxyXG5cclxuICBnZXQgYWN0aXZpdHlUeXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snYWN0aXZpdHlUeXBlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgY29udGFjdFBob25lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snY29udGFjdFBob25lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd29ya1Nob3BOYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snd29ya1Nob3BOYW1lJ107XHJcbiAgfVxyXG5cclxuICBnZXQgam9iRmFpckxvY2F0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snam9iRmFpckxvY2F0aW9uJ107XHJcbiAgfVxyXG5cclxuICBnZXQgb3RoUmVzdWx0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snb3RoUmVzdWx0J107XHJcbiAgfVxyXG5cclxuICBnZXQgaGFzU3RhcnREYXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snaGFzU3RhcnREYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd29ya1N0YXJ0RGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLndzckZvcm0uY29udHJvbHNbJ3dvcmtTdGFydERhdGUnXTtcclxuICB9XHJcblxyXG4gIGdldCB0eXBlT2ZXb3JrKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1sndHlwZU9mV29yayddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGlzSW5Db250YWN0V2l0aFVuaW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snaXNJbkNvbnRhY3RXaXRoVW5pb24nXTtcclxuICB9XHJcblxyXG4gIGdldCB1bmlvbk5hbWUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWyd1bmlvbk5hbWUnXTtcclxuICB9XHJcblxyXG4gIGdldCB1bmlvbkNvbnRhY3RQZXJzb25OYW1lKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1sndW5pb25Db250YWN0UGVyc29uTmFtZSddO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVuaW9uQ29udGFjdERhdGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53c3JGb3JtLmNvbnRyb2xzWyd1bmlvbkNvbnRhY3REYXRlJ107XHJcbiAgfVxyXG5cclxuICBnZXQgd29ya09yUGVyZm9ybVNlcnZpY2VUeXBlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud3NyRm9ybS5jb250cm9sc1snd29ya09yUGVyZm9ybVNlcnZpY2VUeXBlJ107XHJcbiAgfVxyXG5cclxuICAvLyAtLS0gQUREOiBjb3VudCBSRUVNIGFjdGl2aXRpZXMgaW4gbG9jYWwgbGlzdCwgb3B0aW9uYWxseSBleGNsdWRpbmcgZWRpdGVkIHJvdyAtLS1cclxuICBwcml2YXRlIHJlZW1BY3Rpdml0eUNvdW50Rm9yQ3VycmVudFdlZWsoZXhjbHVkZUluZGV4OiBudW1iZXIgfCBudWxsID0gbnVsbCk6IG51bWJlciB7XHJcbiAgICBjb25zdCBsaXN0ID0gdGhpcy53Y1NlcnZpY2UuZ2V0V29ya1NlYXJjaFJlY29yZHMoKSA/PyBbXTtcclxuICAgIGxldCBjb3VudCA9IDA7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyBpKyspIHtcclxuICAgICAgaWYgKGV4Y2x1ZGVJbmRleCAhPT0gbnVsbCAmJiBpID09PSBleGNsdWRlSW5kZXgpIGNvbnRpbnVlO1xyXG4gICAgICBjb25zdCByID0gbGlzdFtpXTtcclxuICAgICAgaWYgKHIgJiYgdGhpcy5SRUVNX0FDVElWSVRZX1RZUEVTLmhhcyhyLmFjdGl2aXR5VHlwZSkpIGNvdW50Kys7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gY291bnQ7XHJcbiAgfVxyXG5cclxuICByZWVtQWN0aXZpdHlDaGVjayhzZWxlY3RlZFR5cGU6IHN0cmluZykge1xyXG4gICAgLy8gPj4+IE5FVzogUkVFTSBjYXAgY2hlY2sgaW5jbHVkaW5nIHRoZSBjdXJyZW50IHNlbGVjdGlvbiA8PDxcclxuICAgIHRoaXMucmVlbUV4Y2VlZGVkRmxhZyA9IGZhbHNlOyAvLyByZXNldCBlYWNoIHN1Ym1pdFxyXG5cclxuICAgIGNvbnN0IGlzUmVlbSA9IHRoaXMuUkVFTV9BQ1RJVklUWV9UWVBFUy5oYXMoc2VsZWN0ZWRUeXBlKTtcclxuXHJcbiAgICAvLyBsb2NhbCBSRUVNXHJcbiAgICBjb25zdCBoYXNFZGl0SWR4ID0gdGhpcy5yZWNvcmRJbmRleFRvRWRpdCAhPT0gbnVsbCAmJiB0aGlzLnJlY29yZEluZGV4VG9FZGl0ICE9PSB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBlZGl0SWR4ID0gaGFzRWRpdElkeCA/IHRoaXMucmVjb3JkSW5kZXhUb0VkaXQgOiBudWxsO1xyXG4gICAgY29uc3QgbG9jYWxSZWVtID0gdGhpcy5yZWVtQWN0aXZpdHlDb3VudEZvckN1cnJlbnRXZWVrKGVkaXRJZHgpO1xyXG4gICAgLy8gc2VydmVyIFJFRU1cclxuICAgIGNvbnN0IHNlcnZlclJlZW0gPSBOdW1iZXIodGhpcy53Y1NlcnZpY2Uud2Vla2x5Q2VydFNlcnZlckRhdGE/LmhpZFJlZW1Xb3JrU2VhcmNoUmVjb3JkQ291bnQgPz8gMCk7XHJcbiAgICAvLyBpbmNsdWRlIHRoZSBjdXJyZW50IHNlbGVjdGlvbiBpbiB0aGUgdG90YWxcclxuICAgIGNvbnN0IHRvdGFsSWZTYXZlZCA9IGxvY2FsUmVlbSArIHNlcnZlclJlZW0gKyAoaXNSZWVtID8gMSA6IDApO1xyXG5cclxuICAgIGlmIChpc1JlZW0gJiYgdG90YWxJZlNhdmVkID4gdGhpcy5SRUVNX0xJTUlUKSB7XHJcbiAgICAgIHRoaXMucmVlbUV4Y2VlZGVkRmxhZyA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogVVBEQVRFRDogYWRkKCkgc2V0cyB0aGUgc2FtZSB2YWxpZGF0aW9uIGVycm9yIGFuZCBzdG9wcyAqL1xyXG4gIGFkZCgpIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkVHlwZSA9IHRoaXMuYWN0aXZpdHlUeXBlLnZhbHVlIGFzIHN0cmluZztcclxuICAgIHRoaXMucmVlbUFjdGl2aXR5Q2hlY2soc2VsZWN0ZWRUeXBlKTtcclxuICAgIC8vIGVuZm9yY2Ugc2luZ2xldG9uIHR5cGVzIGF0IHN1Ym1pdCB0aW1lIHRvb1xyXG4gICAgaWYgKHRoaXMuU0lOR0xFVE9OX1RZUEVTLmhhcyhzZWxlY3RlZFR5cGUpICYmIHRoaXMuaGFzVHlwZShzZWxlY3RlZFR5cGUpKSB7XHJcbiAgICAgIGNvbnN0IHByZXYgPSB0aGlzLmFjdGl2aXR5VHlwZS5lcnJvcnMgfHwge307XHJcbiAgICAgIHRoaXMuYWN0aXZpdHlUeXBlLnNldEVycm9ycyh7IC4uLnByZXYsIHR5cGVBbHJlYWR5VXNlZDogdHJ1ZSB9KTtcclxuICAgICAgdGhpcy5hY3Rpdml0eVR5cGUubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy53c3JGb3JtLnZhbGlkKSB7XHJcbiAgICAgIGlmICh0aGlzLnNlYXJjaFJlc3VsdC52YWx1ZSA9PSAnSElSRScgJiYgdGhpcy5oYXNTdGFydERhdGUudmFsdWUgPT0gJ1knKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHQuc2V0VmFsdWUoJ0hEUlcnKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLnNlYXJjaFJlc3VsdC52YWx1ZSA9PSAnSElSRScgJiYgdGhpcy5oYXNTdGFydERhdGUudmFsdWUgPT0gJ04nKSB7XHJcbiAgICAgICAgdGhpcy5zZWFyY2hSZXN1bHQuc2V0VmFsdWUoJ0hOU0QnKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnN1Y2Nlc3MuZW1pdCh7XHJcbiAgICAgICAgLi4udGhpcy53c3JGb3JtLnZhbHVlLFxyXG4gICAgICAgIHJlZW1FeGNlZWRlZEZsYWc6IHRoaXMucmVlbUV4Y2VlZGVkRmxhZ1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMud3NyRm9ybS5tYXJrQWxsQXNUb3VjaGVkKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMub25DbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBzZXRFbXBsb3llcihlbXBsb3llcjogRW1wbG95ZXJTZWFyY2hSZXN1bHQpIHtcclxuICAgIHRoaXMuZW1wbG95ZXJOYW1lLnNldFZhbHVlKGVtcGxveWVyLmVtcGxveWVyTmFtZSk7XHJcbiAgICB0aGlzLmxpbmUxLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMSk7XHJcbiAgICB0aGlzLmxpbmUyLnNldFZhbHVlKGVtcGxveWVyLmFkZHJlc3NMaW5lMik7XHJcbiAgICB0aGlzLmNpdHkuc2V0VmFsdWUoZW1wbG95ZXIuY2l0eSk7XHJcbiAgICB0aGlzLnN0YXRlLnNldFZhbHVlKGVtcGxveWVyLnN0YXRlLnZhbHVlKTtcclxuICAgIHRoaXMuY291bnRyeS5zZXRWYWx1ZShlbXBsb3llci5jb3VudHJ5LnZhbHVlKTtcclxuICAgIHRoaXMuemlwLnNldFZhbHVlKGVtcGxveWVyLnppcCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8cC1kaWFsb2cgdmlzaWJsZT1cInRydWVcIiBtb2RhbD1cInRydWVcIiBhcHBlbmRUbz1cImJvZHlcIiBwb3NpdGlvbj1cInRvcFwiIFtzaG93SGVhZGVyXT1cImZhbHNlXCIgW2JyZWFrcG9pbnRzXT1cInsnMTIwMHB4JzogJzY2MHB4JywgJzk5MnB4JzogJzY2MHB4JywgJzc2OHB4JzogJzY2MHB4JywgJzU3NnB4JzogJzEwMHZ3J31cIj5cclxuICA8aDQgc3R5bGU9XCJjb2xvcjogdmFyKC0taW9uLWNvbG9yLWdyZXkpOyBwYWRkaW5nLWxlZnQ6IDIwcHg7XCI+e3snd29yay5zZWFyY2guam91cm5hbC5hY3Rpdml0eS5oZWFkaW5nJyB8IHRyYW5zbGF0ZTpkeW5hbWljUGFyYW0gfX08L2g0PlxyXG4gIDxmb3JtIFtmb3JtR3JvdXBdPVwid3NyRm9ybVwiICN3c3JGb3JtRGlyZWN0aXZlPVwibmdGb3JtXCI+XHJcbiAgICA8aW9uLWdyaWQ+XHJcbiAgICAgIDxpb24tcm93PlxyXG4gICAgICAgIDxpb24tY29sIGNsYXNzPVwiaW9uLXBhZGRpbmdcIiBzaXplPVwiMTJcIiBzaXplU209XCIxMlwiIHNpemVYcz1cIjEyXCIgc2l6ZU1kPVwiNlwiIHNpemVMZz1cIjZcIiBzaXplWGw9XCI2XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicC1mbHVpZCBwLWZvcm1ncmlkXCI+XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiYWN0aXZpdHlUeXBlXCI+e3snd29yay5zZWFyY2guam91cm5hbC5hY3Rpdml0eS50eXBlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICA8YXBwLW92ZXJsYXktaW5mbyBbb3ZlcmxheVRleHRdPVwiJ3dvcmsuc2VhcmNoLmpvdXJuYWwuYWN0aXZpdHkuaXAyMDk1JyB8IHRyYW5zbGF0ZSB8IHRydXN0SHRtbFwiIHN0eWxlPVwicGFkZGluZy1sZWZ0OiA4cHg7ZmxleC1ncm93OiAxO1wiPjwvYXBwLW92ZXJsYXktaW5mbz5cclxuICAgICAgICAgICAgICA8YXBwLWRyb3Bkb3duIFtvcHRpb25zXT1cImFjdGl2aXR5VHlwZUNvbWJvXCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCIgW2Zvcm1Db250cm9sXT1cImFjdGl2aXR5VHlwZVwiIGFwcGVuZFRvPVwiYm9keVwiIGlucHV0SWQ9XCJhY3Rpdml0eVR5cGVcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nYWN0aXZpdHlUeXBlJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICAgICAgdHlwZUFscmVhZHlVc2VkOiAnWW91IGNhbiBvbmx5IGFkZCBvbmUgZW50cnkgZm9yIHRoaXMgYWN0aXZpdHkgdHlwZSB0aGlzIHdlZWsuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmPVwiZGlzcGxheVdvcmtpbmdGb3JBbkVtcGxveWVyUXVlc3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwid29ya09yUGVyZm9ybVNlcnZpY2VUeXBlXCI+e3snd29yay5zZWFyY2guam91cm5hbC53b3JrT3JQZXJmb3JtU2VydmljZVR5cGUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cImVtcGxveW1lbnRUeXBlT3B0aW9uc1wiIG9wdGlvbkxhYmVsPVwiREVTQ1wiIG9wdGlvblZhbHVlPVwiTkFNRVwiXHJcbiAgICAgICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJ3b3JrT3JQZXJmb3JtU2VydmljZVR5cGVcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtPclBlcmZvcm1TZXJ2aWNlVHlwZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cImRpc3BsYXlVbmlvbk1lbWJlclF1ZXN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImlzSW5Db250YWN0V2l0aFVuaW9uXCI+e3snd29yay5zZWFyY2guam91cm5hbC5pc0luQ29udGFjdFdpdGhVbmlvbicgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwieWVzTm9PcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCJcclxuICAgICAgICAgICAgICAgICAgW2Zvcm1Db250cm9sXT1cImlzSW5Db250YWN0V2l0aFVuaW9uXCI+PC9wLXNlbGVjdEJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdpc0luQ29udGFjdFdpdGhVbmlvbicgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzSW5Db250YWN0V2l0aFVuaW9uLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1bmlvbk5hbWVcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLnVuaW9uTmFtZScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJ1bmlvbk5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ1bmlvbk5hbWVcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzIC8+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndW5pb25OYW1lJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImlzSW5Db250YWN0V2l0aFVuaW9uLnZhbHVlID09PSAnWSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ1bmlvbkNvbnRhY3RQZXJzb25OYW1lXCI+e3snd29yay5zZWFyY2guam91cm5hbC51bmlvbkNvbnRhY3RQZXJzb25OYW1lJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInVuaW9uQ29udGFjdFBlcnNvbk5hbWVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJ1bmlvbkNvbnRhY3RQZXJzb25OYW1lXCJcclxuICAgICAgICAgICAgICAgICAgYXBwU3RyaXBJbnZpc2libGVDaGFycyAvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3VuaW9uQ29udGFjdFBlcnNvbk5hbWUnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiaXNJbkNvbnRhY3RXaXRoVW5pb24udmFsdWUgPT09ICdZJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInVuaW9uQ29udGFjdERhdGVcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLnVuaW9uQ29udGFjdERhdGUnfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1jYWxlbmRhciBbc2hvd0ljb25dPVwidHJ1ZVwiIGlucHV0SWQ9XCJ1bmlvbkNvbnRhY3REYXRlXCIgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cInVuaW9uQ29udGFjdERhdGVcIlxyXG4gICAgICAgICAgICAgICAgICBbbWluRGF0ZV09XCJzdW5EYXRlXCIgW21heERhdGVdPVwic2F0RGF0ZVwiIFtkZWZhdWx0RGF0ZV09XCJzdW5EYXRlXCIgW3NlbGVjdE90aGVyTW9udGhzXT1cInRydWVcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ndW5pb25Db250YWN0RGF0ZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9zZWN0aW9uPlxyXG4gICAgICAgICAgICA8c2VjdGlvbiAqbmdJZj1cImRpc3BsYXlDQ1F1ZXN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndvcmtTaG9wTmFtZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwud29ya1Nob3BOYW1lJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cIndvcmtTaG9wTmFtZVwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cIndvcmtTaG9wTmFtZVwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtTaG9wTmFtZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWYgPVwiZGlzcGxheUpvYkZhaXJRdWVzdGlvbnNcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJqb2JGYWlyTG9jYXRpb25cIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLmpvYkZhaXJMb2NhdGlvbicgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJqb2JGYWlyTG9jYXRpb25cIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJqb2JGYWlyTG9jYXRpb25cIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdqb2JGYWlyTG9jYXRpb24nIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICAgIDxzZWN0aW9uICpuZ0lmID1cImRpc3BsYXlFbXBsb3llclF1ZXN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyTmFtZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwuZW1wbG95ZXJOYW1lJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVyIFtmb3JtQ29udHJvbF09XCJlbXBsb3llck5hbWVcIiAob25Gb3VuZCk9XCJzZXRFbXBsb3llcigkZXZlbnQpXCIgW2VtcFR5cGVdPVwiJ1JFRydcIj48L2FwcC1zZWFyY2gtZW1wbG95ZXI+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJOYW1lJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsIHBhdHRlcm46ICdvbmx5IGxldHRlcnMsIG51bWJlcnMsIHNwYWNlcywgYW5kIC4gLCAmIFxcJyAoICkgLSAjIGFyZSBhbGxvd2VkJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb3VudHJ5XCI+e3snd29yay5zZWFyY2guam91cm5hbC5jb3VudHJ5JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBpbnB1dElkPVwiY291bnRyeVwiIFtvcHRpb25zXT1cImNvdW50cnlPcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCJcclxuICAgICAgICAgICAgICAgIGFwcGVuZFRvPVwiYm9keVwiIFtmb3JtQ29udHJvbF09XCJjb3VudHJ5XCIgW2F1dG9EaXNwbGF5Rmlyc3RdPVwiZmFsc2VcIiBpbnB1dElkPVwiY291bnRyeVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdjb3VudHJ5JyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdyZXF1aXJlZCdcclxuICAgICAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwibGluZTFcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLnN0cmVldEFkZHJlc3MnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVwibGluZTFcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJsaW5lMVwiIG1heGxlbmd0aD1cIjQwXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nbGluZTEnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJywgcGF0dGVybjogJ29ubHkgbGV0dGVycywgbnVtYmVycywgc3BhY2VzLCBhbmQgLiAsICYgXFwnICggKSAtICMgYXJlIGFsbG93ZWQnXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiY2l0eVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwuY2l0eScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJjaXR5XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiY2l0eVwiICBtYXhsZW5ndGg9XCIzMFwiIGFwcFN0cmlwSW52aXNpYmxlQ2hhcnMvPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NpdHknIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgICAgaW52YWxpZHdzQ2l0eUxlbmd0aDogJ0NpdHkgc2hvdWxkIG5vdCBleGNlZWQgYSBsZW5ndGggb2YgMzAgY2hhcmFjdGVycycsXHJcbiAgICAgICAgICAgICAgICAgIHBhdHRlcm46ICdDaXR5IG5hbWUgY2FuIG9ubHkgY29udGFpbiBsZXR0ZXJzLCBzcGFjZXMsIGFuZCBoeXBoZW5zJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxpb24tcm93PlxyXG4gICAgICAgICAgICAgICAgPGlvbi1jb2wgc3R5bGU9XCJwYWRkaW5nOiAwcHg7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJzdGF0ZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwuc3RhdGUnfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGFwcC1kcm9wZG93biBpbnB1dElkPVwic3RhdGVcIiBbb3B0aW9uc109XCJzdGF0ZXNDb21ib1wiIG9wdGlvbkxhYmVsPVwiREVTQ1wiIG9wdGlvblZhbHVlPVwiTkFNRVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBhcHBlbmRUbz1cImJvZHlcIiBbZm9ybUNvbnRyb2xdPVwic3RhdGVcIiBpbnB1dElkID0gXCJzdGF0ZVwiPjwvYXBwLWRyb3Bkb3duPlxyXG4gICAgICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzdGF0ZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgICA8aW9uLWNvbCBzaXplPVwiMVwiPjwvaW9uLWNvbD5cclxuICAgICAgICAgICAgICAgIDxpb24tY29sIHN0eWxlPVwicGFkZGluZzogMHB4O1wiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwiemlwXCI+e3snd29yay5zZWFyY2guam91cm5hbC56aXAnfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IGlkPVwiemlwXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiemlwXCIgbWlubGVuZ3RoPVwiNVwiIG1heGxlbmd0aD1cIjlcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nemlwJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgaW52YWxpZExlbmd0aDogJ1ppcCBjb2RlIHNob3VsZCBiZSBvZiA1IG9yIDkgZGlnaXRzLicsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkTnVtYmVyOiAnWmlwIGNvZGUgc2hvdWxkIG9ubHkgaGF2ZSBudW1iZXJzLicsXHJcbiAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkWmlwQ29kZTogJ3BsZWFzZSBlbnRlciBhIHZhbGlkIHppcCBjb2RlJ1xyXG4gICAgICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgICAgICAgICAgPC9pb24tcm93PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiID5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJlbXBsb3llclBob25lXCI+e3snd29yay5zZWFyY2guam91cm5hbC5waG9uZU5vJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxwLWlucHV0TWFzayBpbnB1dElkPVwiZW1wbG95ZXJQaG9uZVwiIFtmb3JtQ29udHJvbF09XCJlbXBsb3llclBob25lXCIgbWFzaz1cIig5OTkpIDk5OS05OTk5XCIgdW5tYXNrPVwidHJ1ZVwiPjwvcC1pbnB1dE1hc2s+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJQaG9uZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvc2VjdGlvbj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgICA8aW9uLWNvbCBjbGFzcz1cImlvbi1wYWRkaW5nXCIgc2l6ZT1cIjEyXCIgc2l6ZVNtPVwiMTJcIiBzaXplWHM9XCIxMlwiIHNpemVNZD1cIjZcIiBzaXplTGc9XCI2XCIgc2l6ZVhsPVwiNlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInAtZmx1aWQgcC1mb3JtZ3JpZFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cIiFkaXNwbGF5VW5pb25NZW1iZXJRdWVzdGlvbnMgJiYgIWRpc3BsYXlXb3JraW5nRm9yQW5FbXBsb3llclF1ZXN0aW9uc1wiPlxyXG4gICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJ3b3JrU2VhcmNoRGF0ZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwuYXBwbGljYXRpb25EYXRlJ3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgIDxwLWNhbGVuZGFyIFtzaG93SWNvbl09XCJ0cnVlXCIgaW5wdXRJZD1cIndvcmtTZWFyY2hEYXRlXCIgYXBwZW5kVG89XCJib2R5XCIgW2Zvcm1Db250cm9sXT1cIndvcmtTZWFyY2hEYXRlXCIgW21pbkRhdGVdPVwic3VuRGF0ZVwiIFttYXhEYXRlXT1cInNhdERhdGVcIiBbZGVmYXVsdERhdGVdPVwic3VuRGF0ZVwiIFtzZWxlY3RPdGhlck1vbnRoc109XCJ0cnVlXCI+PC9wLWNhbGVuZGFyPlxyXG4gICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSd3b3JrU2VhcmNoRGF0ZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJyxcclxuICAgICAgICAgICAgICAgIGRhdGVOb3RCZXR3ZWVuOiAnRGF0ZSBzaG91bGQgYmUgYmV0d2VlbiAnICsgc3VuRGF0ZVN0cmluZyArICcgYW5kICcgKyBzYXREYXRlU3RyaW5nICsgJy4nXHJcbiAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPHNlY3Rpb24gKm5nSWYgPVwiZGlzcGxheUVtcGxveWVyUXVlc3Rpb25zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCI+XHJcbiAgICAgICAgICAgICAgICA8bGFiZWwgZm9yPVwicG9zaXRpb25BcHBsaWVkRm9yXCI+e3snd29yay5zZWFyY2guam91cm5hbC5qb2JUaXRsZSd8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cInBvc2l0aW9uQXBwbGllZEZvclwiIHR5cGU9XCJpbnB1dFwiIHBJbnB1dFRleHQgW2Zvcm1Db250cm9sXT1cInBvc2l0aW9uQXBwbGllZEZvclwiIG1heGxlbmd0aD1cIjUwXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0ncG9zaXRpb25BcHBsaWVkRm9yJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLicsXHJcbiAgICAgICAgICAgICAgICAgIHBhdHRlcm46ICdKb2IgVGl0bGUgY2FuIG9ubHkgY29udGFpbiBsZXR0ZXJzLCBudW1iZXJzLCBzcGFjZXMsIGFuZCBoeXBoZW5zJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb250YWN0TWV0aG9kXCI+e3snd29yay5zZWFyY2guam91cm5hbC5jb250YWN0TWV0aG9kJ3wgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtc2VsZWN0QnV0dG9uIFtvcHRpb25zXT1cIndvcmtTZWFyY2hNZXRob2RDb250YWN0XCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCIgW2Zvcm1Db250cm9sXT1cImNvbnRhY3RNZXRob2RcIj48L3Atc2VsZWN0QnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2NvbnRhY3RNZXRob2QnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiY29udGFjdE1ldGhvZC52YWx1ZSA9PSAnVEVMRSdcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb250YWN0UGhvbmVcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLnBob25lTm8nIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtaW5wdXRNYXNrIGlucHV0SWQ9XCJjb250YWN0UGhvbmVcIiBbZm9ybUNvbnRyb2xdPVwiY29udGFjdFBob25lXCIgbWFzaz1cIig5OTkpIDk5OS05OTk5XCIgdW5tYXNrPVwidHJ1ZVwiPjwvcC1pbnB1dE1hc2s+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nY29udGFjdFBob25lJyBbZm9ybV09XCJ3c3JGb3JtRGlyZWN0aXZlXCIgW2VyckRlZl09XCJ7IFxyXG4gICAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJjb250YWN0TWV0aG9kLnZhbHVlID09ICdFTUFMJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyRW1haWxcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLmVtYWlsJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImVtcGxveWVyRW1haWxcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJlbXBsb3llckVtYWlsXCIgcGxhY2Vob2xkZXI9XCJlbWFpbGlkQGV4YW1wbGUuY29tXCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgICA8YXBwLWVycm9yIFtjbGFzc109XCInYXBwLWdyaWQnXCIgW2ZpZWxkXT0nZW1wbG95ZXJFbWFpbCcgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nLFxyXG4gICAgICAgICAgICAgICAgICBlbXBsb3llckVtYWlsOiAnSW52YWxpZCBlbWFpbCBhZGRyZXNzLidcclxuICAgICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkXCIgKm5nSWY9XCJjb250YWN0TWV0aG9kLnZhbHVlID09ICdPTkxJJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcGxveWVyV2Vic2l0ZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwud2Vic2l0ZScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8aW5wdXQgaWQ9XCJlbXBsb3llcldlYnNpdGVcIiB0eXBlPVwiaW5wdXRcIiBwSW5wdXRUZXh0IFtmb3JtQ29udHJvbF09XCJlbXBsb3llcldlYnNpdGVcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBsb3llcldlYnNpdGUnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwiY29udGFjdE1ldGhvZC52YWx1ZSAhPSdPTkxJJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImVtcENvbnRhY3RQZXJzb25OYW1lXCI+e3snd29yay5zZWFyY2guam91cm5hbC5jb250YWN0TmFtZVRpdGxlJyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBpZD1cImVtcENvbnRhY3RQZXJzb25OYW1lXCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwiZW1wQ29udGFjdFBlcnNvbk5hbWVcIiBhcHBTdHJpcEludmlzaWJsZUNoYXJzLz5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdlbXBDb250YWN0UGVyc29uTmFtZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgICAgcmVxdWlyZWQ6ICdSZXF1aXJlZC4nXHJcbiAgICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cInNlYXJjaFJlc3VsdFwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwucmVzdWx0JyB8IHRyYW5zbGF0ZX19PC9sYWJlbD5cclxuICAgICAgICAgICAgICAgIDxhcHAtZHJvcGRvd24gW29wdGlvbnNdPVwid29ya1NlYXJjaFJlc3VsdENvbWJvXCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaFJlc3VsdFwiIGFwcGVuZFRvPVwiYm9keVwiIGlucHV0SWQ9XCJzZWFyY2hSZXN1bHRcIj48L2FwcC1kcm9wZG93bj5cclxuICAgICAgICAgICAgICAgIDxhcHAtZXJyb3IgW2NsYXNzXT1cIidhcHAtZ3JpZCdcIiBbZmllbGRdPSdzZWFyY2hSZXN1bHQnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgICAgfVwiPjwvYXBwLWVycm9yPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cInNlYXJjaFJlc3VsdC52YWx1ZSA9PSAnT1RIUidcIj5cclxuICAgICAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJvdGhSZXN1bHRcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLnJlc3VsdC5vdGgnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPGlucHV0IGlkPVwib3RoUmVzdWx0XCIgdHlwZT1cImlucHV0XCIgcElucHV0VGV4dCBbZm9ybUNvbnRyb2xdPVwib3RoUmVzdWx0XCIgYXBwU3RyaXBJbnZpc2libGVDaGFycy8+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J290aFJlc3VsdCcgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZFwiICpuZ0lmPVwic2VhcmNoUmVzdWx0LnZhbHVlID09ICdISVJFJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhhc1N0YXJ0RGF0ZVwiPnt7J3dvcmsuc2VhcmNoLmpvdXJuYWwucmVzdWx0Lmhhc1N0YXJ0RGF0ZScgfCB0cmFuc2xhdGV9fTwvbGFiZWw+XHJcbiAgICAgICAgICAgICAgICA8cC1zZWxlY3RCdXR0b24gW29wdGlvbnNdPVwieWVzTm9PcHRpb25zXCIgb3B0aW9uTGFiZWw9XCJERVNDXCIgb3B0aW9uVmFsdWU9XCJOQU1FXCIgW2Zvcm1Db250cm9sXT1cImhhc1N0YXJ0RGF0ZVwiPjwvcC1zZWxlY3RCdXR0b24+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J2hhc1N0YXJ0RGF0ZScgW2Zvcm1dPVwid3NyRm9ybURpcmVjdGl2ZVwiIFtlcnJEZWZdPVwieyBcclxuICAgICAgICAgICAgICAgIHJlcXVpcmVkOiAnUmVxdWlyZWQuJ1xyXG4gICAgICAgICAgICAgIH1cIj48L2FwcC1lcnJvcj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGRcIiAqbmdJZj1cImhhc1N0YXJ0RGF0ZS52YWx1ZSA9PSAnWScgJiYgc2VhcmNoUmVzdWx0LnZhbHVlID09ICdISVJFJ1wiPlxyXG4gICAgICAgICAgICAgICAgPGxhYmVsIGZvcj1cIndvcmtTdGFydERhdGVcIj57eyd3b3JrLnNlYXJjaC5qb3VybmFsLnJlc3VsdC5zdGFydERhdGUnIHwgdHJhbnNsYXRlfX08L2xhYmVsPlxyXG4gICAgICAgICAgICAgICAgPHAtY2FsZW5kYXIgW3Nob3dJY29uXT1cInRydWVcIiBpbnB1dElkPVwid29ya1N0YXJ0RGF0ZVwiIGFwcGVuZFRvPVwiYm9keVwiIFtmb3JtQ29udHJvbF09XCJ3b3JrU3RhcnREYXRlXCIgW21pbkRhdGVdPVwic3VuRGF0ZVwiIFtkZWZhdWx0RGF0ZV09XCJzdW5EYXRlXCIgW3NlbGVjdE90aGVyTW9udGhzXT1cInRydWVcIj48L3AtY2FsZW5kYXI+XHJcbiAgICAgICAgICAgICAgPGFwcC1lcnJvciBbY2xhc3NdPVwiJ2FwcC1ncmlkJ1wiIFtmaWVsZF09J3dvcmtTdGFydERhdGUnIFtmb3JtXT1cIndzckZvcm1EaXJlY3RpdmVcIiBbZXJyRGVmXT1cInsgXHJcbiAgICAgICAgICAgICAgICByZXF1aXJlZDogJ1JlcXVpcmVkLidcclxuICAgICAgICAgICAgICB9XCI+PC9hcHAtZXJyb3I+XHJcblxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L3NlY3Rpb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2lvbi1jb2w+XHJcbiAgICAgIDwvaW9uLXJvdz5cclxuICAgICAgPGlvbi1yb3c+XHJcbiAgICAgICAgPGlvbi1jb2wgY2xhc3M9XCJpb24tdGV4dC1yaWdodFwiPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIGZpbGw9XCJvdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlKClcIiB0eXBlPVwicmVzZXRcIj57eydidXR0b24uY2FuY2VsJyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgICAgPGlvbi1idXR0b24gc2hhcGU9XCJyb3VuZFwiIChjbGljayk9XCJhZGQoKVwiIHR5cGU9XCJzdWJtaXRcIj57eydidXR0b24uYWRkJyB8IHRyYW5zbGF0ZX19PC9pb24tYnV0dG9uPlxyXG4gICAgICAgIDwvaW9uLWNvbD5cclxuICAgICAgPC9pb24tcm93PlxyXG4gICAgPC9pb24tZ3JpZD5cclxuICA8L2Zvcm0+XHJcbjwvcC1kaWFsb2c+Il19
|