@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
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BaseService } from '../base-service';
|
|
3
|
+
import { LibConstants } from '../../models/LibConstants';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common/http";
|
|
6
|
+
export class EventService extends BaseService {
|
|
7
|
+
constructor(http) {
|
|
8
|
+
super(http);
|
|
9
|
+
this.http = http;
|
|
10
|
+
}
|
|
11
|
+
setServiceContext() {
|
|
12
|
+
this.serviceContext = LibConstants.event_service.context;
|
|
13
|
+
}
|
|
14
|
+
setServiceHost() {
|
|
15
|
+
this.host = LibConstants.event_service.host;
|
|
16
|
+
}
|
|
17
|
+
setServicePort() {
|
|
18
|
+
this.servicePort = LibConstants.event_service.port;
|
|
19
|
+
}
|
|
20
|
+
setServiceProtocol() {
|
|
21
|
+
this.protocol = LibConstants.event_service.protocol;
|
|
22
|
+
}
|
|
23
|
+
getAllHintsOfLoggedinUser() {
|
|
24
|
+
return this.get('event/hint');
|
|
25
|
+
}
|
|
26
|
+
getHistoryOfLoggedinUser() {
|
|
27
|
+
return this.get('event/history');
|
|
28
|
+
}
|
|
29
|
+
deactivateHint(transactionId, hintKey) {
|
|
30
|
+
return this.patch(`event/hint/deactivate/${transactionId}/${hintKey}`, null);
|
|
31
|
+
}
|
|
32
|
+
disableHistoryButton(transactionId, historyKey) {
|
|
33
|
+
return this.patch(`event/history/deactivate/${transactionId}/${historyKey}`, null);
|
|
34
|
+
}
|
|
35
|
+
static { this.ɵfac = function EventService_Factory(t) { return new (t || EventService)(i0.ɵɵinject(i1.HttpClient)); }; }
|
|
36
|
+
static { this.ɵprov = /*@__PURE__*/ i0.ɵɵdefineInjectable({ token: EventService, factory: EventService.ɵfac, providedIn: 'root' }); }
|
|
37
|
+
}
|
|
38
|
+
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(EventService, [{
|
|
39
|
+
type: Injectable,
|
|
40
|
+
args: [{
|
|
41
|
+
providedIn: 'root'
|
|
42
|
+
}]
|
|
43
|
+
}], () => [{ type: i1.HttpClient }], null); })();
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnQtc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvZXZlbnQtc2VydmljZS9ldmVudC1zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRzlDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7O0FBTXpELE1BQU0sT0FBTyxZQUFhLFNBQVEsV0FBVztJQUUzQyxZQUFvQixJQUFnQjtRQUNsQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFETSxTQUFJLEdBQUosSUFBSSxDQUFZO0lBRXBDLENBQUM7SUFDRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDO0lBQzNELENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLElBQUksR0FBRyxZQUFZLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYztRQUNaLElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUM7SUFDckQsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsUUFBUSxHQUFHLFlBQVksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3RELENBQUM7SUFFRCx5QkFBeUI7UUFDdkIsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFrQixZQUFZLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBWSxlQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYyxDQUFDLGFBQWEsRUFBRSxPQUFPO1FBQ25DLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyx5QkFBeUIsYUFBYSxJQUFJLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9FLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxhQUFhLEVBQUUsVUFBVTtRQUM1QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsNEJBQTRCLGFBQWEsSUFBSSxVQUFVLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNyRixDQUFDOzZFQW5DVSxZQUFZO3VFQUFaLFlBQVksV0FBWixZQUFZLG1CQUhYLE1BQU07O2lGQUdQLFlBQVk7Y0FKeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBCYXNlU2VydmljZSB9IGZyb20gJy4uL2Jhc2Utc2VydmljZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgRGFzaGJvYXJkTW9kZWxzLCBIaXN0b3JpZXMgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGFzaGJvYXJkLW1vZGVsJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgRXZlbnRTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2Uge1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQpIHtcclxuICAgIHN1cGVyKGh0dHApO1xyXG4gIH1cclxuICBzZXRTZXJ2aWNlQ29udGV4dCgpIHtcclxuICAgIHRoaXMuc2VydmljZUNvbnRleHQgPSBMaWJDb25zdGFudHMuZXZlbnRfc2VydmljZS5jb250ZXh0O1xyXG4gIH1cclxuXHJcbiAgc2V0U2VydmljZUhvc3QoKSB7XHJcbiAgICB0aGlzLmhvc3QgPSBMaWJDb25zdGFudHMuZXZlbnRfc2VydmljZS5ob3N0O1xyXG4gIH1cclxuXHJcbiAgc2V0U2VydmljZVBvcnQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2VQb3J0ID0gTGliQ29uc3RhbnRzLmV2ZW50X3NlcnZpY2UucG9ydDtcclxuICB9XHJcblxyXG4gIHNldFNlcnZpY2VQcm90b2NvbCgpIHtcclxuICAgIHRoaXMucHJvdG9jb2wgPSBMaWJDb25zdGFudHMuZXZlbnRfc2VydmljZS5wcm90b2NvbDtcclxuICB9XHJcblxyXG4gIGdldEFsbEhpbnRzT2ZMb2dnZWRpblVzZXIoKSA6IE9ic2VydmFibGU8RGFzaGJvYXJkTW9kZWxzPntcclxuICAgIHJldHVybiB0aGlzLmdldDxEYXNoYm9hcmRNb2RlbHM+KCdldmVudC9oaW50Jyk7XHJcbiAgfVxyXG5cclxuICBnZXRIaXN0b3J5T2ZMb2dnZWRpblVzZXIoKSA6IE9ic2VydmFibGU8SGlzdG9yaWVzPntcclxuICAgIHJldHVybiB0aGlzLmdldDxIaXN0b3JpZXM+KCdldmVudC9oaXN0b3J5Jyk7XHJcbiAgfVxyXG5cclxuICBkZWFjdGl2YXRlSGludCh0cmFuc2FjdGlvbklkLCBoaW50S2V5KXtcclxuICAgIHJldHVybiB0aGlzLnBhdGNoKGBldmVudC9oaW50L2RlYWN0aXZhdGUvJHt0cmFuc2FjdGlvbklkfS8ke2hpbnRLZXl9YCwgbnVsbCk7XHJcbiAgfVxyXG5cclxuICBkaXNhYmxlSGlzdG9yeUJ1dHRvbih0cmFuc2FjdGlvbklkLCBoaXN0b3J5S2V5KXtcclxuICAgIHJldHVybiB0aGlzLnBhdGNoKGBldmVudC9oaXN0b3J5L2RlYWN0aXZhdGUvJHt0cmFuc2FjdGlvbklkfS8ke2hpc3RvcnlLZXl9YCwgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -60,4 +60,4 @@ export class HelpService {
|
|
|
60
60
|
providedIn: 'root'
|
|
61
61
|
}]
|
|
62
62
|
}], () => [{ type: i1.Storage }], null); })();
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXJldXNhLWFwcC1saWIvc3JjL2xpYi9zZXJ2aWNlcy9oZWxwL2hlbHAuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7OztBQUt2QyxNQUFNLE9BQU8sV0FBVztJQVF0QixZQUFtQixPQUFpQjtRQUFqQixZQUFPLEdBQVAsT0FBTyxDQUFVO1FBSjVCLFlBQU8sR0FBYSxLQUFLLENBQUM7UUFFMUIsbUJBQWMsR0FBOEIsSUFBSSxlQUFlLENBQVUsS0FBSyxDQUFDLENBQUM7SUFFaEQsQ0FBQztJQUV6Qyx5QkFBeUIsQ0FBQyxXQUFxRDtRQUM3RSxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQztRQUVuQyxJQUFJLENBQUMsb0NBQW9DLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU8sb0NBQW9DO1FBQzFDLElBQUksQ0FBQyxlQUFlO2FBQ2YsT0FBTyxDQUFDLEtBQUssRUFBQyxVQUFVLEVBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNuRCxJQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLFNBQVMsRUFBQztnQkFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7YUFDekQ7UUFDUCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDdEIsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztJQUN2QixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBRUQsbUJBQW1CLENBQUMsV0FBcUI7UUFDdkMsSUFBRyxDQUFDLFdBQVcsRUFBQztZQUNkLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO1FBQ0QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELHVCQUF1QjtRQUNyQixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFhLEVBQUUsS0FBZTtRQUMxQyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFhO1FBQ3pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELEtBQUssQ0FBQywyQkFBMkIsQ0FBQyxJQUFhO1FBQzdDLElBQUksSUFBSSxHQUFHLE1BQU0sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUUxQyxJQUFHLElBQUksRUFBRTtZQUNQLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUNiO0lBQ0gsQ0FBQzs0RUEvRFUsV0FBVzt1RUFBWCxXQUFXLFdBQVgsV0FBVyxtQkFGVixNQUFNOztpRkFFUCxXQUFXO2NBSHZCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tICdAaW9uaWMvc3RvcmFnZS1hbmd1bGFyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBIZWxwU2VydmljZSB7XG5cbiAgcHJpdmF0ZSBoZWxwUHJlZmVyZW5jZXMgOiB7bmFtZSA6IHN0cmluZywgc2hvd09uTG9hZCA6IGJvb2xlYW59W107XG5cbiAgcHJpdmF0ZSBzaG93aW5nIDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgc2hvd0hlbHBCdXR0b24gOiBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgc3RvcmFnZSA6IFN0b3JhZ2UpIHsgfVxuXG4gIHNldHVwRGVmYXVsdEhlbHBCZWhhdmlvdXIocHJlZmVyZW5jZXMgOiB7bmFtZSA6IHN0cmluZywgc2hvd09uTG9hZCA6IGJvb2xlYW59W10pe1xuICAgIHRoaXMuaGVscFByZWZlcmVuY2VzID0gcHJlZmVyZW5jZXM7XG5cbiAgICB0aGlzLnNldHVwUHJlZmVyZW5jZUluU3RvcmFnZUlmTm90UHJlc2VudCgpO1xuICB9XG4gIFxuICBwcml2YXRlIHNldHVwUHJlZmVyZW5jZUluU3RvcmFnZUlmTm90UHJlc2VudCgpIHtcbiAgICB0aGlzLmhlbHBQcmVmZXJlbmNlc1xuICAgICAgICAuZm9yRWFjaChhc3luYyBwcmVmZXJlbmNlID0+IHtcbiAgICAgICAgICBsZXQgcHJlZiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQocHJlZmVyZW5jZS5uYW1lKTtcbiAgICAgICAgICBpZihwcmVmID09IG51bGwgfHwgcHJlZiA9PSB1bmRlZmluZWQpe1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlLnNldChwcmVmZXJlbmNlLm5hbWUsIHByZWZlcmVuY2Uuc2hvd09uTG9hZClcbiAgICAgICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBzaG93KCl7XG4gICAgdGhpcy5zaG93aW5nID0gdHJ1ZTtcbiAgfVxuXG4gIGhpZGUoKXtcbiAgICB0aGlzLnNob3dpbmcgPSBmYWxzZTtcbiAgfVxuXG4gIGlzU2hvd2luZygpe1xuICAgIHJldHVybiB0aGlzLnNob3dpbmc7XG4gIH1cblxuICBzZXRIZWxwQXZhaWxhYmlsaXR5KGlzQXZhaWxhYmxlIDogYm9vbGVhbil7XG4gICAgaWYoIWlzQXZhaWxhYmxlKXtcbiAgICAgIHRoaXMuaGlkZSgpO1xuICAgIH1cbiAgICB0aGlzLnNob3dIZWxwQnV0dG9uLm5leHQoaXNBdmFpbGFibGUpO1xuICB9XG5cbiAgc2hvdWxkRGlzcGxheUhlbHBCdXR0b24oKXtcbiAgICByZXR1cm4gdGhpcy5zaG93SGVscEJ1dHRvbjtcbiAgfVxuXG4gIHNldFByZWZlcmVuY2UobmFtZSA6IHN0cmluZywgdmFsdWUgOiBib29sZWFuKXtcbiAgICB0aGlzLnN0b3JhZ2Uuc2V0KG5hbWUsIHZhbHVlKTtcbiAgfVxuXG4gIGdldFByZWZlcmVuY2UobmFtZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMuc3RvcmFnZS5nZXQobmFtZSk7XG4gIH1cblxuICBhc3luYyBzaG93RGlhbG9nSWZQcmVmZXJlbmNlQWxsb3cobmFtZSA6IHN0cmluZyl7XG4gICAgbGV0IHByZWYgPSBhd2FpdCB0aGlzLmdldFByZWZlcmVuY2UobmFtZSk7XG5cbiAgICBpZihwcmVmKSB7XG4gICAgICB0aGlzLnNob3coKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -64,4 +64,4 @@ export class LoggerService {
|
|
|
64
64
|
providedIn: 'root'
|
|
65
65
|
}]
|
|
66
66
|
}], () => [{ type: i1.NGXLogger }], null); })();
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL3NlcnZpY2VzL2xvZ2dlci9sb2dnZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHM0M7Ozs7Ozs7O0tBUUs7QUFLTCxNQUFNLE9BQU8sYUFBYTtJQUV4QixZQUFvQixNQUFpQjtRQUFqQixXQUFNLEdBQU4sTUFBTSxDQUFXO1FBQ25DLE1BQU0sQ0FBQyxJQUFJLENBQUMseUNBQXlDLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3RDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsSUFBSSxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3JDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsR0FBRyxDQUFDLE9BQVksRUFBRSxHQUFHLFVBQWlCO1FBQ3BDLElBQUksR0FBRyxHQUFHLE9BQU8sQ0FBQztRQUNsQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELElBQUksQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUNyQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxPQUFZLEVBQUUsR0FBRyxVQUFpQjtRQUN0QyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELG9CQUFvQixDQUFDLE9BQW9CO1FBQ3ZDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDNUMsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFrQjtRQUNoQyxJQUFJLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsNkJBQTZCLENBQUMsZUFBd0I7UUFDcEQsSUFBSSxDQUFDLE1BQU0sQ0FBQyw2QkFBNkIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRUQsZUFBZSxDQUFDLE9BQTBCO1FBQ3hDLElBQUksQ0FBQyxNQUFNLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLENBQUMsTUFBd0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELGlCQUFpQjtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQ3pDLENBQUM7OEVBekRVLGFBQWE7dUVBQWIsYUFBYSxXQUFiLGFBQWEsbUJBRlosTUFBTTs7aUZBRVAsYUFBYTtjQUh6QixVQUFVO2VBQUM7Z0JBQ1YsVUFBVSxFQUFFLE1BQU07YUFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycywgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IElOR1hMb2dnZXJDb25maWcsIElOR1hMb2dnZXJNb25pdG9yLCBOR1hMb2dnZXIgfSBmcm9tICduZ3gtbG9nZ2VyJztcblxuLyoqXG4gKiBMb2dnZXIgc2VydmljZXMgcmVzcG9uc2libGUgZm9yIGxvZ2dpbmcgdmFyaW91cyBtZXNzYWdlcyBpbiBicm93c2VyJ3MgY29uc29sZS4gRGV2ZWxvcGVycyBhcmUgYWR2aXNlZCB0byB1c2UgdGhpcyBjbGFzcyBmb3JcbiAqIGFueSBsb2dnaW4gcmVsYXRlZCBhY3Rpdml0eSBpbnN0ZWFkIG9mIGNvbnNvbGUubG9nLiBUaGlzIHNlcnZpY2Ugd2lsbCBhbHNvIHNlbmQgYW55IGVycm9ycyB0byByZW1vdGUgbG9nZ2luIHNlcnZlciBmb3IgZGVidWdnaW5nXG4gKiBwdXJwb3NlLlxuICogXG4gKiBAc2VlIGh0dHBzOi8vd3d3Lm5wbWpzLmNvbS9wYWNrYWdlL25neC1sb2dnZXIgZm9yIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgY29uZmlndXJhdGlvbnMuXG4gKiBcbiAqIEBhdXRob3IgUHJlcmFrIFRpd2FyaVxuICogKi9cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTG9nZ2VyU2VydmljZSB7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dnZXI6IE5HWExvZ2dlcikgeyBcbiAgICBsb2dnZXIuaW5mbygnTG9nZ2VyU2VydmljZSBpbml0aWFsaXplZCBTdWNjZXNzZnVsbHkuJyk7XG4gIH1cblxuICB0cmFjZShtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIudHJhY2UobWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBkZWJ1ZyhtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcobWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBpbmZvKG1lc3NhZ2U6IGFueSwgLi4uYWRkaXRpb25hbDogYW55W10pOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKG1lc3NhZ2UsIGFkZGl0aW9uYWwpO1xuICB9XG5cbiAgbG9nKG1lc3NhZ2U6IGFueSwgLi4uYWRkaXRpb25hbDogYW55W10pOiB2b2lkIHtcbiAgICBsZXQgbXNnID0gbWVzc2FnZTtcbiAgICB0aGlzLmxvZ2dlci5sb2cobXNnLCBhZGRpdGlvbmFsKTtcbiAgfVxuXG4gIHdhcm4obWVzc2FnZTogYW55LCAuLi5hZGRpdGlvbmFsOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLndhcm4obWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBlcnJvcihtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZXJyb3IobWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBmYXRhbChtZXNzYWdlOiBhbnksIC4uLmFkZGl0aW9uYWw6IGFueVtdKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuZmF0YWwobWVzc2FnZSwgYWRkaXRpb25hbCk7XG4gIH1cblxuICBzZXRDdXN0b21IdHRwSGVhZGVycyhoZWFkZXJzOiBIdHRwSGVhZGVycyk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLnNldEN1c3RvbUh0dHBIZWFkZXJzKGhlYWRlcnMpO1xuICB9XG5cbiAgc2V0Q3VzdG9tUGFyYW1zKHBhcmFtczogSHR0cFBhcmFtcyk6IHZvaWQge1xuICAgIHRoaXMubG9nZ2VyLnNldEN1c3RvbVBhcmFtcyhwYXJhbXMpO1xuICB9XG5cbiAgc2V0V2l0aENyZWRlbnRpYWxzT3B0aW9uVmFsdWUod2l0aENyZWRlbnRpYWxzOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuc2V0V2l0aENyZWRlbnRpYWxzT3B0aW9uVmFsdWUod2l0aENyZWRlbnRpYWxzKTtcbiAgfVxuICBcbiAgcmVnaXN0ZXJNb25pdG9yKG1vbml0b3I6IElOR1hMb2dnZXJNb25pdG9yKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIucmVnaXN0ZXJNb25pdG9yKG1vbml0b3IpO1xuICB9XG4gIFxuICB1cGRhdGVDb25maWcoY29uZmlnOiBJTkdYTG9nZ2VyQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIudXBkYXRlQ29uZmlnKGNvbmZpZyk7XG4gIH1cblxuICBnZXRDb25maWdTbmFwc2hvdCgpOiBJTkdYTG9nZ2VyQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy5sb2dnZXIuZ2V0Q29uZmlnU25hcHNob3QoKTtcbiAgfVxufVxuIl19
|
|
@@ -44,7 +44,6 @@ export class LoginService {
|
|
|
44
44
|
user.expiration = res.expiration;
|
|
45
45
|
user.expires_in = res.expires_in;
|
|
46
46
|
user.ssn = res.ssn;
|
|
47
|
-
user.language = res.language;
|
|
48
47
|
user.claimantId = res.claimantId;
|
|
49
48
|
user.employerId = res.employerId;
|
|
50
49
|
user.cookieName = res.cookieName;
|
|
@@ -104,16 +103,6 @@ export class LoginService {
|
|
|
104
103
|
generateOtp(userId, type) {
|
|
105
104
|
return this.util.get(`user/v2/otp/${userId}?type=${type}`);
|
|
106
105
|
}
|
|
107
|
-
generateOtpForNewUserCreation(phone, type) {
|
|
108
|
-
return this.util.get(`user/otp/phone/${phone}?type=${type}`);
|
|
109
|
-
}
|
|
110
|
-
generateOtpForLoggedInUser() {
|
|
111
|
-
return this.util.get(`user/generate/otp`);
|
|
112
|
-
}
|
|
113
|
-
verifyOtpForPhoneNumber(code, phone, isReturningUser, ssn) {
|
|
114
|
-
const url = `user/otp/phone/verify/${code}?phone=${phone}&isReturningUser=${isReturningUser}&ssn=${ssn ? ssn : ""}`;
|
|
115
|
-
return this.util.get(url);
|
|
116
|
-
}
|
|
117
106
|
login(auth) {
|
|
118
107
|
let headers = new HttpHeaders({
|
|
119
108
|
//"Accept" : "application/x-www-form-urlencoded"
|
|
@@ -123,7 +112,6 @@ export class LoginService {
|
|
|
123
112
|
authData.set('grant_type', 'password');
|
|
124
113
|
authData.set('username', auth.userId);
|
|
125
114
|
authData.set('password', auth.password);
|
|
126
|
-
authData.set('language', auth.language);
|
|
127
115
|
return this.util.postFormData('oauth/token', authData, this.options);
|
|
128
116
|
}
|
|
129
117
|
loginAndCheckForMFA(auth) {
|
|
@@ -135,7 +123,6 @@ export class LoginService {
|
|
|
135
123
|
authData.set('grant_type', 'mfa');
|
|
136
124
|
authData.set('username', auth.userId);
|
|
137
125
|
authData.set('password', auth.password);
|
|
138
|
-
authData.set('language', localStorage.getItem("language"));
|
|
139
126
|
if (auth.otp) {
|
|
140
127
|
authData.set('mfa_code', auth.otp);
|
|
141
128
|
authData.set('is_trusted_device', auth.istrustedDevice);
|
|
@@ -154,6 +141,25 @@ export class LoginService {
|
|
|
154
141
|
authData.set('refresh_token', refreshToken);
|
|
155
142
|
return this.util.postFormData(`oauth/token`, authData, this.options).toPromise();
|
|
156
143
|
}
|
|
144
|
+
async refreshTokenWings(refreshToken) {
|
|
145
|
+
let headers = new HttpHeaders({
|
|
146
|
+
"Accept": "application/x-www-form-urlencoded",
|
|
147
|
+
'Authorization': `Basic ` + btoa(`${LibConstants.oauthWingsClientUser}:${LibConstants.oauthWingsClientSecret}`)
|
|
148
|
+
});
|
|
149
|
+
this.options = { headers: headers };
|
|
150
|
+
let authData = new FormData();
|
|
151
|
+
authData.set('grant_type', 'refresh_token');
|
|
152
|
+
authData.set('client_id', LibConstants.oauthWingsClientUser);
|
|
153
|
+
authData.set('refresh_token', refreshToken);
|
|
154
|
+
return this.util.postFormData(`oauth/token`, authData, this.options).toPromise();
|
|
155
|
+
}
|
|
156
|
+
async createTokenPostSsoValidation() {
|
|
157
|
+
const headers = new HttpHeaders().set('Content-Type', 'application/x-www-form-urlencoded');
|
|
158
|
+
const body = new URLSearchParams({
|
|
159
|
+
grant_type: 'custom_sso'
|
|
160
|
+
}).toString();
|
|
161
|
+
return this.util.postFormData('oauth/token', body, { headers, withCredentials: true }).toPromise();
|
|
162
|
+
}
|
|
157
163
|
async loadUserInfo() {
|
|
158
164
|
let headers = new HttpHeaders({
|
|
159
165
|
"Accept": "application/x-www-form-urlencoded"
|
|
@@ -281,6 +287,15 @@ export class LoginService {
|
|
|
281
287
|
isCsr() {
|
|
282
288
|
return this.getUser() && this.getUser().userType === 'MDES';
|
|
283
289
|
}
|
|
290
|
+
isTaxAuditSupervisor() {
|
|
291
|
+
return this.getUser() && this.hasRole('taxauditsupervisor') && this.getUser().userType === 'MDES';
|
|
292
|
+
}
|
|
293
|
+
isTaxAuditAuditor() {
|
|
294
|
+
return this.getUser() && this.hasRole('taxauditspecialist') && this.getUser().userType === 'MDES';
|
|
295
|
+
}
|
|
296
|
+
isTaxAuditDirector() {
|
|
297
|
+
return this.getUser() && this.hasRole('taxAuditDirector') && this.getUser().userType === 'MDES';
|
|
298
|
+
}
|
|
284
299
|
isEmployer() {
|
|
285
300
|
return this.getUser() && this.getUser().userType === 'EMPL';
|
|
286
301
|
}
|
|
@@ -340,4 +355,4 @@ export class LoginService {
|
|
|
340
355
|
providedIn: 'root'
|
|
341
356
|
}]
|
|
342
357
|
}], () => [{ type: i1.UtilService }, { type: i2.Storage }, { type: i3.ClaimantContextService }], null); })();
|
|
343
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxZQUFZO0lBWXZCLFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlO1FBQzNCLElBQUcsR0FBRyxFQUFDO1lBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxJQUFJLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUE7WUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxHQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7WUFDekIsSUFBSSxDQUFDLHNCQUFzQixHQUFHLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQztZQUN6RCxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQztZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEdBQUcsQ0FBQztZQUNuQixJQUFJLENBQUMsUUFBUSxHQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUM7WUFDM0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQztZQUNqQyxJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDakMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO1lBQ25DLElBQUksQ0FBQyxRQUFRLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEdBQUcsQ0FBQyxVQUFVLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxzQkFBc0IsR0FBRyxHQUFHLENBQUMsc0JBQXNCLENBQUM7WUFDekQsSUFBSSxDQUFDLDJCQUEyQixHQUFHLEdBQUcsQ0FBQywyQkFBMkIsQ0FBQztZQUNuRSxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7WUFDbkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQzNDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUMsaUJBQWlCLENBQUM7WUFDL0MsSUFBRyxHQUFHLENBQUMsWUFBWSxJQUFJLEdBQUcsQ0FBQyxhQUFhLEVBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLFlBQVksQ0FBQztnQkFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFDO2dCQUN2QyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQ3pELE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUM1RDtpQkFBSTtnQkFDSCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2dCQUMzQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO2dCQUM3QyxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMvRCxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ2xFO1lBQ0QsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ3hELElBQUksZUFBZSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUNoRSxJQUFHLGVBQWUsSUFBSSxJQUFJLElBQUksZUFBZSxJQUFJLFNBQVMsSUFBSSxlQUFlLElBQUksT0FBTyxFQUFDO2dCQUN2RixNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixFQUFFLE1BQU0sQ0FBQyxDQUFDO2FBQ25EO1lBQ0QsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQzVCLElBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUM7Z0JBQ3pCLElBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFDO29CQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2lCQUN6RjthQUNGO1NBQ0Y7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7SUFDL0ksQ0FBQztJQUVELHdCQUF3QjtRQUNwQixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztJQUM5QyxDQUFDO0lBRUQsWUFBbUIsSUFBa0IsRUFBVSxPQUFnQixFQUFVLHNCQUErQztRQUFyRyxTQUFJLEdBQUosSUFBSSxDQUFjO1FBQVUsWUFBTyxHQUFQLE9BQU8sQ0FBUztRQUFVLDJCQUFzQixHQUF0QixzQkFBc0IsQ0FBeUI7UUFsR3hILFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFTCxXQUFNLEdBQWdDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hFLG1CQUFjLEdBQWtDLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFFLFdBQU0sR0FBaUMsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7SUFnR3pFLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBbUIsZUFBZSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDL0UsQ0FBQztJQUVELFdBQVcsQ0FBQyxNQUFlLEVBQUUsSUFBYTtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsTUFBTSxTQUFTLElBQUksRUFBRSxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELDZCQUE2QixDQUFDLEtBQWEsRUFBRSxJQUFZO1FBQ3ZELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsa0JBQWtCLEtBQUssU0FBUyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCwwQkFBMEI7UUFDeEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxJQUFZLEVBQUUsS0FBYSxFQUFFLGVBQXdCLEVBQUUsR0FBVztRQUN4RixNQUFNLEdBQUcsR0FBRyx5QkFBeUIsSUFBSSxVQUFVLEtBQUssb0JBQW9CLGVBQWUsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7UUFDcEgsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsS0FBSyxDQUFDLElBQW1CO1FBQ3ZCLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1FBQzVCLGdEQUFnRDtTQUNqRCxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXBDLElBQUksUUFBUSxHQUFjLElBQUksUUFBUSxFQUFFLENBQUM7UUFDekMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxDQUFDLENBQUM7UUFDdkMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBWSxhQUFhLEVBQUUsUUFBUSxFQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBRUQsbUJBQW1CLENBQUMsSUFBbUI7UUFDckMsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUM7UUFDNUIsZ0RBQWdEO1NBQ2pELENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxPQUFPLEdBQUcsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLENBQUM7UUFFcEMsSUFBSSxRQUFRLEdBQWMsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUN6QyxRQUFRLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsQyxRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxFQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUMxRCxJQUFHLElBQUksQ0FBQyxHQUFHLEVBQUM7WUFDVixRQUFRLENBQUMsR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDbkMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7U0FDekQ7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFZLGFBQWEsRUFBRSxRQUFRLEVBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2pGLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWSxDQUFDLFlBQVk7UUFDN0IsSUFBSSxPQUFPLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDNUIsUUFBUSxFQUFHLG1DQUFtQztZQUM5QyxlQUFlLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLFlBQVksQ0FBQyxlQUFlLElBQUksWUFBWSxDQUFDLGlCQUFpQixFQUFFLENBQUM7U0FDdEcsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUVwQyxJQUFJLFFBQVEsR0FBYyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ3pDLFFBQVEsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzVDLFFBQVEsQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFlBQVksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN4RCxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUM1QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFZLGFBQWEsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBQzlGLENBQUM7SUFFRCxLQUFLLENBQUMsWUFBWTtRQUNkLElBQUksT0FBTyxHQUFHLElBQUksV0FBVyxDQUFDO1lBQzVCLFFBQVEsRUFBRyxtQ0FBbUM7U0FDL0MsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNwQyxJQUFJLFNBQVMsR0FBRyxNQUFNLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1FBQ2xELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVksMkJBQTJCLFNBQVMsRUFBRSxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDeEYsQ0FBQztJQUVELEtBQUssQ0FBQyxvQkFBb0I7UUFDeEIsSUFBSSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRSxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0lBRUQsdUJBQXVCLENBQUMsUUFBaUI7UUFDdkMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsR0FBRyxRQUFRLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsTUFBTSxDQUFDLFNBQXFCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFRCxxQkFBcUIsQ0FBQyxPQUEwQjtRQUM5QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsYUFBYTtRQUNYLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsWUFBWSxDQUFDLFVBQVU7UUFDckIsSUFBSSxNQUFNLEdBQUcsR0FBRyxVQUFVLGdDQUFnQyxZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkYsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLFVBQVU7UUFDeEMsSUFBSSxNQUFNLEdBQUcsR0FBRyxVQUFVLElBQUksS0FBSyxhQUFhLFVBQVUsR0FBRyxNQUFNLG9CQUFvQixZQUFZLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDaEgsUUFBUSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDSixJQUFHLElBQUksQ0FBQyxJQUFJLEVBQUM7WUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUM7aUJBQzNCLFNBQVMsQ0FDUixHQUFHLENBQUMsRUFBRTtnQkFDSixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixDQUFDLEVBQ0QsR0FBRyxDQUFDLEVBQUU7Z0JBQ0osSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLENBQUMsQ0FDRixDQUFBO1NBQ0Y7YUFBSTtZQUNILElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0MsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7SUFDOUMsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFnQjtRQUM1QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQVcsRUFBRSxXQUFXLEVBQUUsZUFBZTtRQUN0RCxJQUFJLGNBQWMsR0FBc0UsRUFBQyxXQUFXLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBQyxDQUFDO1FBQzVLLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNwRixDQUFDO0lBRUQsc0JBQXNCLENBQUMsTUFBZTtRQUNwQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLHVCQUF1QixNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxNQUFlO1FBQ3RDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsMEJBQTBCLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELE9BQU8sQ0FBQyxRQUFpQjtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzVFLENBQUM7SUFFRCxXQUFXLENBQUMsWUFBcUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUN4RixDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQUcsS0FBZ0I7UUFDMUIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFHLENBQUMsR0FBRyxLQUFLLENBQUMsTUFBTSxFQUFHLENBQUMsRUFBRSxFQUFDO1lBQ3JDLElBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsRUFBQztnQkFDbkMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDakIsTUFBTTthQUNQO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsWUFBWSxDQUFDLEdBQUcsU0FBb0I7UUFDbEMsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLEtBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFHLENBQUMsR0FBRyxTQUFTLENBQUMsTUFBTSxFQUFHLENBQUMsRUFBRSxFQUFDO1lBQ3pDLElBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBQztnQkFDaEMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDakIsTUFBTTthQUNQO1NBQ0Y7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQWdCO1FBQ3pCLElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN0QixLQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLE1BQU0sRUFBRyxDQUFDLEVBQUUsRUFBQztZQUNyQyxJQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUM7Z0JBQ25DLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLE1BQU07YUFDUDtTQUNGO1FBQ0QsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELGNBQWMsQ0FBQyxTQUFvQjtRQUNqQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsS0FBSSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQyxNQUFNLEVBQUcsQ0FBQyxFQUFFLEVBQUM7WUFDekMsSUFBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFDO2dCQUNoQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNqQixNQUFNO2FBQ1A7U0FDRjtRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxLQUFLO1FBQ0gsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUE7SUFDN0QsQ0FBQztJQUVELFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxLQUFLLE1BQU0sQ0FBQTtJQUM3RCxDQUFDO0lBRUQsS0FBSztRQUNILE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFBO0lBQzVELENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUE7SUFDN0QsQ0FBQztJQUVELGdCQUFnQjtRQUNkLE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEtBQUssTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFHLEtBQUssU0FBUyxDQUFBO0lBQ2pHLENBQUM7SUFFRCxZQUFZO1FBQ1YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSxPQUFPLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQWU7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBYSxZQUFZLE1BQU0sRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7SUFFRCxTQUFTLENBQUMsTUFBZTtRQUN2QixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFhLFlBQVksTUFBTSxFQUFFLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBYSxVQUFVLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWEsZUFBZSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFhO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsVUFBVTtRQUNSLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELHdCQUF3QixDQUFDLEtBQWM7UUFDckMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxjQUFjLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFFRCxjQUFjLENBQUMsSUFBYTtRQUMxQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxHQUFZO1FBQy9CLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsMEJBQTBCLEdBQUcsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0IsQ0FBQztJQUVELGlDQUFpQyxDQUFDLE1BQWU7UUFDL0MsSUFBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUk7WUFDdkMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQWMsWUFBWSxNQUFNLEVBQUUsQ0FBQztpQkFDM0MsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUN6RCxDQUFDOzZFQXBZVSxZQUFZO3VFQUFaLFlBQVksV0FBWixZQUFZLG1CQUZYLE1BQU07O2lGQUVQLFlBQVk7Y0FIeEIsVUFBVTtlQUFDO2dCQUNWLFVBQVUsRUFBRSxNQUFNO2FBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhlYWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBPdHBBdXRoTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvT3RwQXV0aE1vZGVsJztcclxuaW1wb3J0IHsgVXNlckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyRGV0YWlsc01vZGVsJztcclxuaW1wb3J0IHsgVXNlck1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1VzZXJNb2RlbCc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XHJcbmltcG9ydCB7IE1lbnVJdGVtIH0gZnJvbSAncHJpbWVuZy9hcGknO1xyXG5pbXBvcnQgeyBDbGFpbWFudENvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvY2xhaW1hbnQtY29udGV4dC9jbGFpbWFudC1jb250ZXh0LnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgTG9naW5TZXJ2aWNlIHtcclxuXHJcbiAgb3B0aW9ucyA9IHt9O1xyXG5cclxuICBwcml2YXRlIHVzZXJCcyA6IEJlaGF2aW9yU3ViamVjdDxVc2VyTW9kZWw+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcclxuICBwcml2YXRlIHVzZXJJZEluVW5pdEJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XHJcbiAgcHJpdmF0ZSBtZW51QnMgOiBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xyXG5cclxuICBwcml2YXRlIHVzZXIgOiBVc2VyTW9kZWw7XHJcblxyXG4gIHByaXZhdGUgYXV0aENvZGUgOiBzdHJpbmc7XHJcblxyXG4gIHNldEF1dGhDb2RlKGF1dGhjb2RlIDogc3RyaW5nKXtcclxuICAgIHRoaXMuYXV0aENvZGUgPSBhdXRoY29kZTtcclxuICB9XHJcblxyXG4gIGdldEF1dGhjb2RlKCl7XHJcbiAgICByZXR1cm4gdGhpcy5hdXRoQ29kZTtcclxuICB9XHJcblxyXG4gIGdldFVzZXIoKSA6IFVzZXJNb2RlbHtcclxuICAgIHJldHVybiB0aGlzLnVzZXJCcy5nZXRWYWx1ZSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckJzKCkgOiBCZWhhdmlvclN1YmplY3Q8VXNlck1vZGVsPntcclxuICAgIHJldHVybiB0aGlzLnVzZXJCcztcclxuICB9XHJcblxyXG4gIGdldE1lbnVCcygpIDogQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+e1xyXG4gICAgcmV0dXJuIHRoaXMubWVudUJzO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgc2V0VXNlcihyZXMgOiBVc2VyTW9kZWwpe1xyXG4gICAgaWYocmVzKXtcclxuICAgICAgbGV0IHVzZXIgPSBuZXcgVXNlck1vZGVsKCk7XHJcbiAgICAgIHVzZXIuZmlyc3ROYW1lID0gcmVzLmZpcnN0TmFtZTtcclxuICAgICAgdXNlci5sYXN0TmFtZSA9IHJlcy5sYXN0TmFtZTtcclxuICAgICAgdXNlci51c2VybmFtZSA9IHJlc1sndXNlcl9uYW1lJ107XHJcbiAgICAgIHVzZXIubWlkZGxlTmFtZSA9IHJlcy5taWRkbGVOYW1lO1xyXG4gICAgICB1c2VyLmlzQWN0aXZlID0gcmVzLmlzQWN0aXZlXHJcbiAgICAgIHVzZXIucm9sZXMgPSByZXMucm9sZXM7XHJcbiAgICAgIHVzZXIuZnVuY3Rpb25zID0gcmVzLmZ1bmN0aW9ucztcclxuICAgICAgdXNlci5kb2IgPSByZXMuZG9iO1xyXG4gICAgICB1c2VyLnVzZXJUeXBlID0gcmVzLnVzZXJUeXBlO1xyXG4gICAgICB1c2VyLmdlbmRlciA9IHJlcy5nZW5kZXI7XHJcbiAgICAgIHVzZXIuZW1haWxJZD1yZXMuZW1haWxJZDtcclxuICAgICAgdXNlci5wYXNzd29yZEV4cGlyYXRpb25EYXRlID0gcmVzLnBhc3N3b3JkRXhwaXJhdGlvbkRhdGU7XHJcbiAgICAgIHVzZXIuZW1haWxTdGF0dXMgPSByZXMuZW1haWxTdGF0dXM7XHJcbiAgICAgIHVzZXIuaXNMb2dnZWRJbiA9IHJlcy5pc0xvZ2dlZEluO1xyXG4gICAgICB1c2VyLmNoYW5nZVB3ZCA9IHJlcy5jaGFuZ2VQd2Q7XHJcbiAgICAgIHVzZXIuZXhwaXJhdGlvbiA9IHJlcy5leHBpcmF0aW9uO1xyXG4gICAgICB1c2VyLmV4cGlyZXNfaW4gPSByZXMuZXhwaXJlc19pbjtcclxuICAgICAgdXNlci5zc24gPSByZXMuc3NuO1xyXG4gICAgICB1c2VyLmxhbmd1YWdlPXJlcy5sYW5ndWFnZTtcclxuICAgICAgdXNlci5jbGFpbWFudElkID0gcmVzLmNsYWltYW50SWQ7XHJcbiAgICAgIHVzZXIuZW1wbG95ZXJJZCA9IHJlcy5lbXBsb3llcklkO1xyXG4gICAgICB1c2VyLmNvb2tpZU5hbWUgPSByZXMuY29va2llTmFtZTtcclxuICAgICAgdXNlci5jb29raWVWYWx1ZSA9IHJlcy5jb29raWVWYWx1ZTtcclxuICAgICAgdXNlci51c2VyVW5pdCA9IHJlcy51c2VyVW5pdDtcclxuICAgICAgdXNlci5kb21haW5OYW1lID0gcmVzLmRvbWFpbk5hbWU7XHJcbiAgICAgIHVzZXIuaXMyRkFSZXF1aXJlZCA9IHJlcy5pczJGQVJlcXVpcmVkO1xyXG4gICAgICB1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgPSByZXMuZGF5c1RpbGxQYXNzd29yZEV4cGlyZTtcclxuICAgICAgdXNlci5pc0VtYWlsVmVyaWZpY2F0aW9uUmVxdWlyZWQgPSByZXMuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkO1xyXG4gICAgICB1c2VyLmNlbGxwaG9uZU5vID0gcmVzLmNlbGxwaG9uZU5vO1xyXG4gICAgICB1c2VyLmNlbGxwaG9uZVN0YXR1cyA9IHJlcy5jZWxscGhvbmVTdGF0dXM7XHJcbiAgICAgIHVzZXIuc3VwcG9ydGVkTWZhVHlwZXMgPSByZXMuc3VwcG9ydGVkTWZhVHlwZXM7XHJcbiAgICAgIGlmKHJlcy5hY2Nlc3NfdG9rZW4gJiYgcmVzLnJlZnJlc2hfdG9rZW4pe1xyXG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gcmVzLmFjY2Vzc190b2tlbjtcclxuICAgICAgICB1c2VyLnJlZnJlc2hfdG9rZW4gPSByZXMucmVmcmVzaF90b2tlbjtcclxuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdhY2Nlc3NfdG9rZW4nLCByZXMuYWNjZXNzX3Rva2VuKTtcclxuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVzLnJlZnJlc2hfdG9rZW4pO1xyXG4gICAgICB9ZWxzZXtcclxuICAgICAgICB1c2VyLmFjY2Vzc190b2tlbiA9IHRoaXMudXNlci5hY2Nlc3NfdG9rZW47XHJcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gdGhpcy51c2VyLnJlZnJlc2hfdG9rZW47XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgnYWNjZXNzX3Rva2VuJywgdGhpcy51c2VyLmFjY2Vzc190b2tlbik7XHJcbiAgICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgncmVmcmVzaF90b2tlbicsIHRoaXMudXNlci5yZWZyZXNoX3Rva2VuKTtcclxuICAgICAgfVxyXG4gICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCd1c2VybmFtZScsIGJ0b2EodXNlci51c2VybmFtZSkpO1xyXG4gICAgICBsZXQgc2hvd19kaXNjbG9zdXJlID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldCgnc2hvd19kaXNjbG9zdXJlJyk7XHJcbiAgICAgIGlmKHNob3dfZGlzY2xvc3VyZSA9PSBudWxsIHx8IHNob3dfZGlzY2xvc3VyZSA9PSB1bmRlZmluZWQgfHwgc2hvd19kaXNjbG9zdXJlICE9ICdmYWxzZScpe1xyXG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ3Nob3dfZGlzY2xvc3VyZScsICd0cnVlJyk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51c2VyID0gdXNlcjtcclxuICAgICAgdGhpcy51c2VyQnMubmV4dCh0aGlzLnVzZXIpO1xyXG4gICAgICBpZih0aGlzLnV0aWwuaXNTdGF0ZSgnbXMnKSl7XHJcbiAgICAgICAgaWYoIXVzZXIuaXMyRkFSZXF1aXJlZCl7XHJcbiAgICAgICAgICB0aGlzLmNyZWF0ZUNvb2tpZShMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSwgYFwiJHt1c2VyLmNvb2tpZVZhbHVlfVwiYCwgdXNlci5leHBpcmF0aW9uKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZ1bGxOYW1lKCl7XHJcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkuZmlyc3ROYW1lICsgKHRoaXMuZ2V0VXNlcigpLm1pZGRsZU5hbWUgIT0gbnVsbCA/ICcgJyArIHRoaXMuZ2V0VXNlcigpLm1pZGRsZU5hbWUgOiAnJykgKyAnICcgKyB0aGlzLmdldFVzZXIoKS5sYXN0TmFtZTtcclxuICB9XHJcblxyXG4gIGdldElzVXNlclByb2ZpbGVDb21wbGV0ZSgpe1xyXG4gICAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkudXNlclByb2ZpbGVDb21wbGV0ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgcHJpdmF0ZSBjbGFpbWFudENvbnRleHRTZXJ2aWNlIDogQ2xhaW1hbnRDb250ZXh0U2VydmljZSkgeyBcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlclBlcnNvbmFsRGV0YWlscygpIDogT2JzZXJ2YWJsZTxVc2VyRGV0YWlsc01vZGVsPntcclxuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PFVzZXJEZXRhaWxzTW9kZWw+KCd1c2VyL2RldGFpbHMvJyArIHRoaXMudXNlci51c2VybmFtZSk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZU90cCh1c2VySWQgOiBzdHJpbmcsIHR5cGUgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvb3RwLyR7dXNlcklkfT90eXBlPSR7dHlwZX1gKTtcclxuICB9XHJcblxyXG4gIGdlbmVyYXRlT3RwRm9yTmV3VXNlckNyZWF0aW9uKHBob25lOiBzdHJpbmcsIHR5cGU6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9vdHAvcGhvbmUvJHtwaG9uZX0/dHlwZT0ke3R5cGV9YCk7XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZU90cEZvckxvZ2dlZEluVXNlcigpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvZ2VuZXJhdGUvb3RwYCk7XHJcbiAgfVxyXG5cclxuICB2ZXJpZnlPdHBGb3JQaG9uZU51bWJlcihjb2RlOiBzdHJpbmcsIHBob25lOiBzdHJpbmcsIGlzUmV0dXJuaW5nVXNlcjogYm9vbGVhbiwgc3NuOiBTdHJpbmcpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcclxuICAgIGNvbnN0IHVybCA9IGB1c2VyL290cC9waG9uZS92ZXJpZnkvJHtjb2RlfT9waG9uZT0ke3Bob25lfSZpc1JldHVybmluZ1VzZXI9JHtpc1JldHVybmluZ1VzZXJ9JnNzbj0ke3NzbiA/IHNzbiA6IFwiXCJ9YDtcclxuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KHVybCk7XHJcbiAgfVxyXG5cclxuICBsb2dpbihhdXRoIDogT3RwQXV0aE1vZGVsKXtcclxuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgLy9cIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcclxuXHJcbiAgICBsZXQgYXV0aERhdGEgOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJyk7XHJcbiAgICBhdXRoRGF0YS5zZXQoJ3VzZXJuYW1lJywgYXV0aC51c2VySWQpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdsYW5ndWFnZScsYXV0aC5sYW5ndWFnZSk7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGF1dGhEYXRhLHRoaXMub3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICBsb2dpbkFuZENoZWNrRm9yTUZBKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xyXG4gICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xyXG4gICAgICAvL1wiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiXHJcbiAgICB9KTtcclxuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xyXG5cclxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XHJcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAnbWZhJyk7XHJcbiAgICBhdXRoRGF0YS5zZXQoJ3VzZXJuYW1lJywgYXV0aC51c2VySWQpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdsYW5ndWFnZScsbG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJsYW5ndWFnZVwiKSk7XHJcbiAgICBpZihhdXRoLm90cCl7XHJcbiAgICAgIGF1dGhEYXRhLnNldCgnbWZhX2NvZGUnLCBhdXRoLm90cCk7XHJcbiAgICAgIGF1dGhEYXRhLnNldCgnaXNfdHJ1c3RlZF9kZXZpY2UnLCBhdXRoLmlzdHJ1c3RlZERldmljZSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0Rm9ybURhdGE8VXNlck1vZGVsPignb2F1dGgvdG9rZW4nLCBhdXRoRGF0YSx0aGlzLm9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVmcmVzaFRva2VuKHJlZnJlc2hUb2tlbil7XHJcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XHJcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxyXG4gICAgICAnQXV0aG9yaXphdGlvbic6IGBCYXNpYyBgICsgYnRvYShgJHtMaWJDb25zdGFudHMub2F1dGhDbGllbnRVc2VyfToke0xpYkNvbnN0YW50cy5vYXV0aENsaWVudFNlY3JldH1gKVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcclxuXHJcbiAgICBsZXQgYXV0aERhdGEgOiBGb3JtRGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xyXG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKTtcclxuICAgIGF1dGhEYXRhLnNldCgnY2xpZW50X2lkJywgTGliQ29uc3RhbnRzLm9hdXRoQ2xpZW50VXNlcik7XHJcbiAgICBhdXRoRGF0YS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZWZyZXNoVG9rZW4pOyAgXHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KGBvYXV0aC90b2tlbmAsIGF1dGhEYXRhLCB0aGlzLm9wdGlvbnMpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbG9hZFVzZXJJbmZvKCl7XHJcbiAgICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcclxuICAgICAgICBcIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5vcHRpb25zID0geyBoZWFkZXJzOiBoZWFkZXJzIH07XHJcbiAgICAgIGxldCBhdXRoVG9rZW4gPSBhd2FpdCB0aGlzLmdldFN0b3JlZEFjY2Vzc1RvcGVuKCk7XHJcbiAgICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PFVzZXJNb2RlbD4oYG9hdXRoL2NoZWNrX3Rva2VuP3Rva2VuPSR7YXV0aFRva2VufWApLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgZ2V0U3RvcmVkQWNjZXNzVG9wZW4oKXtcclxuICAgIGxldCBhY2Nlc3NUb2tlbiA9IGF3YWl0IHRoaXMuc3RvcmFnZS5nZXQoJ2FjY2Vzc190b2tlbicpLnRoZW4ocmVzID0+IHJlcyk7XHJcbiAgICByZXR1cm4gYWNjZXNzVG9rZW47XHJcbiAgfVxyXG5cclxuICBnZW5lcmF0ZU90cFVucmVnaXN0ZXJlZChtb2JpbGVObyA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldCgnYXV0aC9vdHAvbmV3dXNlci8nICsgbW9iaWxlTm8pO1xyXG4gIH1cclxuXHJcbiAgc2lnblVwKHVzZXJNb2RlbCA6IFVzZXJNb2RlbCl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoJ3VzZXInLCB1c2VyTW9kZWwpO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUGVyc29uYWxEZXRhaWxzKHVzckR0bHMgOiBVc2VyRGV0YWlsc01vZGVsKXtcclxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9kZXRhaWxzJywgdXNyRHRscyk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpe1xyXG4gICAgdGhpcy51c2VyID0gbnVsbDtcclxuICAgIHRoaXMudXNlckJzLm5leHQobnVsbCk7XHJcbiAgICB0aGlzLm1lbnVCcy5uZXh0KG51bGwpO1xyXG4gICAgdGhpcy5zdG9yYWdlLnJlbW92ZSgnYWNjZXNzX3Rva2VuJyk7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdyZWZyZXNoX3Rva2VuJyk7XHJcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdzaG93X2Rpc2Nsb3N1cmUnKTtcclxuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ3VzZXJuYW1lJyk7XHJcbiAgICB0aGlzLmNsYWltYW50Q29udGV4dFNlcnZpY2UuY2xlYXJDb250ZXh0KCk7XHJcbiAgICB0aGlzLnJlbW92ZUNvb2tpZXMoKTtcclxuICB9XHJcblxyXG4gIHJlbW92ZUNvb2tpZXMoKXtcclxuICAgIHRoaXMuZGVsZXRlQ29va2llKCdhdCcpO1xyXG4gICAgdGhpcy5kZWxldGVDb29raWUoJ3J0Jyk7XHJcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZShMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVDb29raWUoY29va2llTmFtZSl7XHJcbiAgICBsZXQgY29va2llID0gYCR7Y29va2llTmFtZX09OyBNYXgtQWdlPTA7IHBhdGg9LzsgZG9tYWluPSR7TGliQ29uc3RhbnRzLnNzb0RvbWFpbn1gO1xyXG4gICAgZG9jdW1lbnQuY29va2llID0gY29va2llO1xyXG4gIH1cclxuXHJcbiAgY3JlYXRlQ29va2llKGNvb2tpZU5hbWUsIHZhbHVlLCBleHBpcmF0aW9uKXtcclxuICAgIGxldCBjb29raWUgPSBgJHtjb29raWVOYW1lfT0ke3ZhbHVlfTsgZXhwaXJlcz0ke2V4cGlyYXRpb24gKyAnLjAwMCd9OyBwYXRoPS87IGRvbWFpbj0ke0xpYkNvbnN0YW50cy5zc29Eb21haW59YDtcclxuICAgIGRvY3VtZW50LmNvb2tpZSA9IGNvb2tpZTtcclxuICB9XHJcblxyXG4gIGxvZ291dCgpe1xyXG4gICAgaWYodGhpcy51c2VyKXtcclxuICAgICAgdGhpcy51dGlsLmdldCgndXNlci9sb2dvdXQnKVxyXG4gICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xyXG4gICAgICAgICAgdGhpcy51dGlsLmVycm9ySGFuZGxlcihlcnIpO1xyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgfWVsc2V7XHJcbiAgICAgIHRoaXMucmVzZXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlzTG9nZ2VkSW4oKXtcclxuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLmlzTG9nZ2VkSW47XHJcbiAgfVxyXG5cclxuICBpczJGQVJlcXVpcmVkKCl7XHJcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5pczJGQVJlcXVpcmVkO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlUHJvZmlsZSh1c2VyIDogVXNlck1vZGVsKXtcclxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9wcm9maWxlJywgdXNlcik7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVQYXNzd29yZChvbGRQYXNzd29yZCwgbmV3UGFzc3dvcmQsIGNvbmZpcm1QYXNzd29yZCl7XHJcbiAgICBsZXQgcHdkQ2hhbmdlTW9kZWwgOiB7b2xkUGFzc3dvcmQ6IHN0cmluZywgcGFzc3dvcmQ6IHN0cmluZywgY29uZmlybVBhc3N3b3JkOiBzdHJpbmd9ID0ge29sZFBhc3N3b3JkOiBvbGRQYXNzd29yZCwgcGFzc3dvcmQ6IG5ld1Bhc3N3b3JkLCBjb25maXJtUGFzc3dvcmQ6IGNvbmZpcm1QYXNzd29yZH07XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3QoYHVzZXIvcGFzc3dvcmQvJHt0aGlzLmdldFVzZXIoKS51c2VybmFtZX1gLCBwd2RDaGFuZ2VNb2RlbCk7XHJcbiAgfVxyXG5cclxuICBpbml0aWF0ZUZvcmdvdFBhc3N3b3JkKHVzZXJJZCA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9wYXNzd29yZC9yZXNldC8ke3VzZXJJZH1gKTtcclxuICB9XHJcblxyXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmRWMih1c2VySWQgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvcGFzc3dvcmQvcmVzZXQvJHt1c2VySWR9YCk7XHJcbiAgfVxyXG5cclxuICBoYXNSb2xlKHJvbGVOYW1lIDogc3RyaW5nKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5yb2xlcyAmJiB0aGlzLnVzZXIucm9sZXMuaW5jbHVkZXMocm9sZU5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGFzRnVuY3Rpb24oZnVuY3Rpb25OYW1lIDogc3RyaW5nKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5mdW5jdGlvbnMgJiYgdGhpcy51c2VyLmZ1bmN0aW9ucy5pbmNsdWRlcyhmdW5jdGlvbk5hbWUpO1xyXG4gIH1cclxuXHJcbiAgaGFzUm9sZXMoLi4ucm9sZXMgOiBzdHJpbmdbXSl7XHJcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XHJcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IHJvbGVzLmxlbmd0aCA7IGkrKyl7XHJcbiAgICAgIGlmKHRoaXMuaGFzUm9sZShyb2xlc1tpXS50b1N0cmluZygpKSl7XHJcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGlzUHJlc2VudDtcclxuICB9XHJcblxyXG4gIGhhc0Z1bmN0aW9ucyguLi5mdW5jdGlvbnMgOiBzdHJpbmdbXSl7XHJcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XHJcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IGZ1bmN0aW9ucy5sZW5ndGggOyBpKyspe1xyXG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xyXG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpc1ByZXNlbnQ7XHJcbiAgfVxyXG5cclxuICBjaGVja1JvbGVzKHJvbGVzIDogc3RyaW5nW10pe1xyXG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xyXG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCByb2xlcy5sZW5ndGggOyBpKyspe1xyXG4gICAgICBpZih0aGlzLmhhc1JvbGUocm9sZXNbaV0udG9TdHJpbmcoKSkpe1xyXG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpc1ByZXNlbnQ7XHJcbiAgfVxyXG5cclxuICBjaGVja0Z1bmN0aW9ucyhmdW5jdGlvbnMgOiBzdHJpbmdbXSl7XHJcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XHJcbiAgICBmb3IodmFyIGkgPSAwIDsgaSA8IGZ1bmN0aW9ucy5sZW5ndGggOyBpKyspe1xyXG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xyXG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpc1ByZXNlbnQ7XHJcbiAgfVxyXG5cclxuICBpc0Nzcigpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUydcclxuICB9XHJcblxyXG4gIGlzRW1wbG95ZXIoKXtcclxuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ0VNUEwnXHJcbiAgfVxyXG5cclxuICBpc1RwYSgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnVFBBJ1xyXG4gIH1cclxuXHJcbiAgaXNDbGFpbWFudCgpe1xyXG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnQ0xNVCdcclxuICB9XHJcblxyXG4gIGhhc1NzbkFzc29jaWF0ZWQoKSA6IGJvb2xlYW57XHJcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdDTE1UJyAmJiB0aGlzLmdldFVzZXIoKS5zc24gIT09IHVuZGVmaW5lZCBcclxuICB9XHJcblxyXG4gIGdldFVzZXJNZW51cygpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvYCk7XHJcbiAgfVxyXG5cclxuICBtYXJrRmF2KG1lbnVJZCA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3Q8TWVudUl0ZW1bXT4oYG1lbnUvZmF2LyR7bWVudUlkfWAsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgcmVtb3ZlRmF2KG1lbnVJZCA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmRlbGV0ZTxNZW51SXRlbVtdPihgbWVudS9mYXYvJHttZW51SWR9YCk7XHJcbiAgfVxyXG5cclxuICBnZXRGYXZvdXJpdGVNZW51KCl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxNZW51SXRlbVtdPihgbWVudS9mYXZgKTtcclxuICB9XHJcblxyXG4gIGdldFRyZW5kaW5nTWVudSgpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvdHJlbmRpbmdgKTtcclxuICB9XHJcblxyXG4gIHZlcmlmeUVtYWlsKGNvZGUgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGB1c2VyL2VtYWlsLyR7Y29kZX1gLCBudWxsKTtcclxuICB9XHJcblxyXG4gIGdldE5ld0NvZGUoKXtcclxuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KGB1c2VyL2VtYWlsYCk7XHJcbiAgfVxyXG5cclxuICB1cGRhdGVFbWFpbEFuZEdldE5ld0NvZGUoZW1haWwgOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wYXRjaChgdXNlci9lbWFpbC8ke2VtYWlsfWAsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0TmV3QXV0aENvZGUodHlwZSA6IHN0cmluZyl7XHJcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9vdHA/dHlwZT0ke3R5cGV9YCk7XHJcbiAgfVxyXG5cclxuICBhc3NvY2lhdGVTc25Ub1VzZXJJZChzc24gOiBzdHJpbmcpe1xyXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGBjbGFpbWFudC9hc3NvY2lhdGUtc3NuLyR7c3NufWAsIG51bGwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VXNlcklkSW5Vbml0QnMoKXtcclxuICAgIHJldHVybiB0aGlzLnVzZXJJZEluVW5pdEJzO1xyXG4gIH1cclxuXHJcbiAgbG9hZFVzZXJJZHNGcm9tVW5pdE9mTG9nZ2VkSW5Vc2VyKHVuaXRJZCA6IHN0cmluZyl7XHJcbiAgICBpZih0aGlzLnVzZXJJZEluVW5pdEJzLmdldFZhbHVlKCkgPT0gbnVsbClcclxuICAgICAgdGhpcy51dGlsLmdldDxVc2VyTW9kZWxbXT4oYHVzZXIvYWxsLyR7dW5pdElkfWApXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB0aGlzLnVzZXJJZEluVW5pdEJzLm5leHQocmVzKSk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
358
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUd6RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7O0FBU25ELE1BQU0sT0FBTyxZQUFZO0lBWXZCLFdBQVcsQ0FBQyxRQUFpQjtRQUMzQixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztJQUMzQixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN2QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsU0FBUztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFlO1FBQzNCLElBQUcsR0FBRyxFQUFDO1lBQ0wsSUFBSSxJQUFJLEdBQUcsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUM7WUFDL0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDO1lBQzdCLElBQUksQ0FBQyxR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QUFJLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQWE7UUFDMUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsb0JBQW9CLENBQUMsR0FBWTtRQUMvQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQzdCLENBQUM7SUFFRCxpQ0FBaUMsQ0FBQyxNQUFlO1FBQy9DLElBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJO1lBQ3ZDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFjLFlBQVksTUFBTSxFQUFFLENBQUM7aUJBQzNDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDekQsQ0FBQzs2RUExWlUsWUFBWTt1RUFBWixZQUFZLFdBQVosWUFBWSxtQkFGWCxNQUFNOztpRkFFUCxZQUFZO2NBSHhCLFVBQVU7ZUFBQztnQkFDVixVQUFVLEVBQUUsTUFBTTthQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMaWJDb25zdGFudHMgfSBmcm9tICcuLi8uLi9tb2RlbHMvTGliQ29uc3RhbnRzJztcbmltcG9ydCB7IE90cEF1dGhNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9PdHBBdXRoTW9kZWwnO1xuaW1wb3J0IHsgVXNlckRldGFpbHNNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyRGV0YWlsc01vZGVsJztcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi91dGlsL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSAnQGlvbmljL3N0b3JhZ2UtYW5ndWxhcic7XG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IENsYWltYW50Q29udGV4dFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9jbGFpbWFudC1jb250ZXh0L2NsYWltYW50LWNvbnRleHQuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExvZ2luU2VydmljZSB7XG5cbiAgb3B0aW9ucyA9IHt9O1xuXG4gIHByaXZhdGUgdXNlckJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD4gPSBuZXcgQmVoYXZpb3JTdWJqZWN0KG51bGwpO1xuICBwcml2YXRlIHVzZXJJZEluVW5pdEJzIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbFtdPiA9IG5ldyBCZWhhdmlvclN1YmplY3QobnVsbCk7XG4gIHByaXZhdGUgbWVudUJzIDogQmVoYXZpb3JTdWJqZWN0PE1lbnVJdGVtW10+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChudWxsKTtcblxuICBwcml2YXRlIHVzZXIgOiBVc2VyTW9kZWw7XG5cbiAgcHJpdmF0ZSBhdXRoQ29kZSA6IHN0cmluZztcblxuICBzZXRBdXRoQ29kZShhdXRoY29kZSA6IHN0cmluZyl7XG4gICAgdGhpcy5hdXRoQ29kZSA9IGF1dGhjb2RlO1xuICB9XG5cbiAgZ2V0QXV0aGNvZGUoKXtcbiAgICByZXR1cm4gdGhpcy5hdXRoQ29kZTtcbiAgfVxuXG4gIGdldFVzZXIoKSA6IFVzZXJNb2RlbHtcbiAgICByZXR1cm4gdGhpcy51c2VyQnMuZ2V0VmFsdWUoKTtcbiAgfVxuXG4gIGdldFVzZXJCcygpIDogQmVoYXZpb3JTdWJqZWN0PFVzZXJNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXNlckJzO1xuICB9XG5cbiAgZ2V0TWVudUJzKCkgOiBCZWhhdmlvclN1YmplY3Q8TWVudUl0ZW1bXT57XG4gICAgcmV0dXJuIHRoaXMubWVudUJzO1xuICB9XG5cbiAgYXN5bmMgc2V0VXNlcihyZXMgOiBVc2VyTW9kZWwpe1xuICAgIGlmKHJlcyl7XG4gICAgICBsZXQgdXNlciA9IG5ldyBVc2VyTW9kZWwoKTtcbiAgICAgIHVzZXIuZmlyc3ROYW1lID0gcmVzLmZpcnN0TmFtZTtcbiAgICAgIHVzZXIubGFzdE5hbWUgPSByZXMubGFzdE5hbWU7XG4gICAgICB1c2VyLnVzZXJuYW1lID0gcmVzWyd1c2VyX25hbWUnXTtcbiAgICAgIHVzZXIubWlkZGxlTmFtZSA9IHJlcy5taWRkbGVOYW1lO1xuICAgICAgdXNlci5pc0FjdGl2ZSA9IHJlcy5pc0FjdGl2ZVxuICAgICAgdXNlci5yb2xlcyA9IHJlcy5yb2xlcztcbiAgICAgIHVzZXIuZnVuY3Rpb25zID0gcmVzLmZ1bmN0aW9ucztcbiAgICAgIHVzZXIuZG9iID0gcmVzLmRvYjtcbiAgICAgIHVzZXIudXNlclR5cGUgPSByZXMudXNlclR5cGU7XG4gICAgICB1c2VyLmdlbmRlciA9IHJlcy5nZW5kZXI7XG4gICAgICB1c2VyLmVtYWlsSWQ9cmVzLmVtYWlsSWQ7XG4gICAgICB1c2VyLnBhc3N3b3JkRXhwaXJhdGlvbkRhdGUgPSByZXMucGFzc3dvcmRFeHBpcmF0aW9uRGF0ZTtcbiAgICAgIHVzZXIuZW1haWxTdGF0dXMgPSByZXMuZW1haWxTdGF0dXM7XG4gICAgICB1c2VyLmlzTG9nZ2VkSW4gPSByZXMuaXNMb2dnZWRJbjtcbiAgICAgIHVzZXIuY2hhbmdlUHdkID0gcmVzLmNoYW5nZVB3ZDtcbiAgICAgIHVzZXIuZXhwaXJhdGlvbiA9IHJlcy5leHBpcmF0aW9uO1xuICAgICAgdXNlci5leHBpcmVzX2luID0gcmVzLmV4cGlyZXNfaW47XG4gICAgICB1c2VyLnNzbiA9IHJlcy5zc247XG4gICAgICB1c2VyLmNsYWltYW50SWQgPSByZXMuY2xhaW1hbnRJZDtcbiAgICAgIHVzZXIuZW1wbG95ZXJJZCA9IHJlcy5lbXBsb3llcklkO1xuICAgICAgdXNlci5jb29raWVOYW1lID0gcmVzLmNvb2tpZU5hbWU7XG4gICAgICB1c2VyLmNvb2tpZVZhbHVlID0gcmVzLmNvb2tpZVZhbHVlO1xuICAgICAgdXNlci51c2VyVW5pdCA9IHJlcy51c2VyVW5pdDtcbiAgICAgIHVzZXIuZG9tYWluTmFtZSA9IHJlcy5kb21haW5OYW1lO1xuICAgICAgdXNlci5pczJGQVJlcXVpcmVkID0gcmVzLmlzMkZBUmVxdWlyZWQ7XG4gICAgICB1c2VyLmRheXNUaWxsUGFzc3dvcmRFeHBpcmUgPSByZXMuZGF5c1RpbGxQYXNzd29yZEV4cGlyZTtcbiAgICAgIHVzZXIuaXNFbWFpbFZlcmlmaWNhdGlvblJlcXVpcmVkID0gcmVzLmlzRW1haWxWZXJpZmljYXRpb25SZXF1aXJlZDtcbiAgICAgIHVzZXIuY2VsbHBob25lTm8gPSByZXMuY2VsbHBob25lTm87XG4gICAgICB1c2VyLmNlbGxwaG9uZVN0YXR1cyA9IHJlcy5jZWxscGhvbmVTdGF0dXM7XG4gICAgICB1c2VyLnN1cHBvcnRlZE1mYVR5cGVzID0gcmVzLnN1cHBvcnRlZE1mYVR5cGVzO1xuICAgICAgaWYocmVzLmFjY2Vzc190b2tlbiAmJiByZXMucmVmcmVzaF90b2tlbil7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gcmVzLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gcmVzLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHJlcy5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgcmVzLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfWVsc2V7XG4gICAgICAgIHVzZXIuYWNjZXNzX3Rva2VuID0gdGhpcy51c2VyLmFjY2Vzc190b2tlbjtcbiAgICAgICAgdXNlci5yZWZyZXNoX3Rva2VuID0gdGhpcy51c2VyLnJlZnJlc2hfdG9rZW47XG4gICAgICAgIGF3YWl0IHRoaXMuc3RvcmFnZS5zZXQoJ2FjY2Vzc190b2tlbicsIHRoaXMudXNlci5hY2Nlc3NfdG9rZW4pO1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdyZWZyZXNoX3Rva2VuJywgdGhpcy51c2VyLnJlZnJlc2hfdG9rZW4pO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5zdG9yYWdlLnNldCgndXNlcm5hbWUnLCBidG9hKHVzZXIudXNlcm5hbWUpKTtcbiAgICAgIGxldCBzaG93X2Rpc2Nsb3N1cmUgPSBhd2FpdCB0aGlzLnN0b3JhZ2UuZ2V0KCdzaG93X2Rpc2Nsb3N1cmUnKTtcbiAgICAgIGlmKHNob3dfZGlzY2xvc3VyZSA9PSBudWxsIHx8IHNob3dfZGlzY2xvc3VyZSA9PSB1bmRlZmluZWQgfHwgc2hvd19kaXNjbG9zdXJlICE9ICdmYWxzZScpe1xuICAgICAgICBhd2FpdCB0aGlzLnN0b3JhZ2Uuc2V0KCdzaG93X2Rpc2Nsb3N1cmUnLCAndHJ1ZScpO1xuICAgICAgfVxuICAgICAgdGhpcy51c2VyID0gdXNlcjtcbiAgICAgIHRoaXMudXNlckJzLm5leHQodGhpcy51c2VyKTtcbiAgICAgIGlmKHRoaXMudXRpbC5pc1N0YXRlKCdtcycpKXtcbiAgICAgICAgaWYoIXVzZXIuaXMyRkFSZXF1aXJlZCl7XG4gICAgICAgICAgdGhpcy5jcmVhdGVDb29raWUoTGliQ29uc3RhbnRzLnNzb0Nvb2tpZU5hbWUsIGBcIiR7dXNlci5jb29raWVWYWx1ZX1cImAsIHVzZXIuZXhwaXJhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBnZXRGdWxsTmFtZSgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKS5maXJzdE5hbWUgKyAodGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSAhPSBudWxsID8gJyAnICsgdGhpcy5nZXRVc2VyKCkubWlkZGxlTmFtZSA6ICcnKSArICcgJyArIHRoaXMuZ2V0VXNlcigpLmxhc3ROYW1lO1xuICB9XG5cbiAgZ2V0SXNVc2VyUHJvZmlsZUNvbXBsZXRlKCl7XG4gICAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkudXNlclByb2ZpbGVDb21wbGV0ZTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyB1dGlsIDogVXRpbFNlcnZpY2UsIHByaXZhdGUgc3RvcmFnZTogU3RvcmFnZSwgcHJpdmF0ZSBjbGFpbWFudENvbnRleHRTZXJ2aWNlIDogQ2xhaW1hbnRDb250ZXh0U2VydmljZSkgeyBcbiAgICBcbiAgfVxuXG4gIGdldFVzZXJQZXJzb25hbERldGFpbHMoKSA6IE9ic2VydmFibGU8VXNlckRldGFpbHNNb2RlbD57XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8VXNlckRldGFpbHNNb2RlbD4oJ3VzZXIvZGV0YWlscy8nICsgdGhpcy51c2VyLnVzZXJuYW1lKTtcbiAgfVxuXG4gIGdlbmVyYXRlT3RwKHVzZXJJZCA6IHN0cmluZywgdHlwZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoYHVzZXIvdjIvb3RwLyR7dXNlcklkfT90eXBlPSR7dHlwZX1gKTtcbiAgfVxuXG4gIGxvZ2luKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3Bhc3N3b3JkJyk7XG4gICAgYXV0aERhdGEuc2V0KCd1c2VybmFtZScsIGF1dGgudXNlcklkKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3Bhc3N3b3JkJywgYXV0aC5wYXNzd29yZCk7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KCdvYXV0aC90b2tlbicsIGF1dGhEYXRhLHRoaXMub3B0aW9ucyk7XG4gIH1cblxuICBsb2dpbkFuZENoZWNrRm9yTUZBKGF1dGggOiBPdHBBdXRoTW9kZWwpe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIC8vXCJBY2NlcHRcIiA6IFwiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkXCJcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ21mYScpO1xuICAgIGF1dGhEYXRhLnNldCgndXNlcm5hbWUnLCBhdXRoLnVzZXJJZCk7XG4gICAgYXV0aERhdGEuc2V0KCdwYXNzd29yZCcsIGF1dGgucGFzc3dvcmQpO1xuICAgIGlmKGF1dGgub3RwKXtcbiAgICAgIGF1dGhEYXRhLnNldCgnbWZhX2NvZGUnLCBhdXRoLm90cCk7XG4gICAgICBhdXRoRGF0YS5zZXQoJ2lzX3RydXN0ZWRfZGV2aWNlJywgYXV0aC5pc3RydXN0ZWREZXZpY2UpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYXV0aERhdGEsdGhpcy5vcHRpb25zKTtcbiAgfVxuXG4gIGFzeW5jIHJlZnJlc2hUb2tlbihyZWZyZXNoVG9rZW4pe1xuICAgIGxldCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgIFwiQWNjZXB0XCIgOiBcImFwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZFwiLFxuICAgICAgJ0F1dGhvcml6YXRpb24nOiBgQmFzaWMgYCArIGJ0b2EoYCR7TGliQ29uc3RhbnRzLm9hdXRoQ2xpZW50VXNlcn06JHtMaWJDb25zdGFudHMub2F1dGhDbGllbnRTZWNyZXR9YClcbiAgICB9KTtcbiAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcblxuICAgIGxldCBhdXRoRGF0YSA6IEZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgYXV0aERhdGEuc2V0KCdncmFudF90eXBlJywgJ3JlZnJlc2hfdG9rZW4nKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2NsaWVudF9pZCcsIExpYkNvbnN0YW50cy5vYXV0aENsaWVudFVzZXIpO1xuICAgIGF1dGhEYXRhLnNldCgncmVmcmVzaF90b2tlbicsIHJlZnJlc2hUb2tlbik7XG5cbiAgICByZXR1cm4gdGhpcy51dGlsLnBvc3RGb3JtRGF0YTxVc2VyTW9kZWw+KGBvYXV0aC90b2tlbmAsIGF1dGhEYXRhLCB0aGlzLm9wdGlvbnMpLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgYXN5bmMgcmVmcmVzaFRva2VuV2luZ3MocmVmcmVzaFRva2VuKXtcbiAgICBsZXQgaGVhZGVycyA9IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICBcIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIixcbiAgICAgICdBdXRob3JpemF0aW9uJzogYEJhc2ljIGAgKyBidG9hKGAke0xpYkNvbnN0YW50cy5vYXV0aFdpbmdzQ2xpZW50VXNlcn06JHtMaWJDb25zdGFudHMub2F1dGhXaW5nc0NsaWVudFNlY3JldH1gKVxuICAgIH0pO1xuICAgIHRoaXMub3B0aW9ucyA9IHsgaGVhZGVyczogaGVhZGVycyB9O1xuXG4gICAgbGV0IGF1dGhEYXRhIDogRm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBhdXRoRGF0YS5zZXQoJ2dyYW50X3R5cGUnLCAncmVmcmVzaF90b2tlbicpO1xuICAgIGF1dGhEYXRhLnNldCgnY2xpZW50X2lkJywgTGliQ29uc3RhbnRzLm9hdXRoV2luZ3NDbGllbnRVc2VyKTtcbiAgICBhdXRoRGF0YS5zZXQoJ3JlZnJlc2hfdG9rZW4nLCByZWZyZXNoVG9rZW4pO1xuXG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0Rm9ybURhdGE8VXNlck1vZGVsPihgb2F1dGgvdG9rZW5gLCBhdXRoRGF0YSwgdGhpcy5vcHRpb25zKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGNyZWF0ZVRva2VuUG9zdFNzb1ZhbGlkYXRpb24oKXtcbiAgICBjb25zdCBoZWFkZXJzID0gbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdDb250ZW50LVR5cGUnLCAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkJyk7XG4gICAgY29uc3QgYm9keSA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoe1xuICAgICAgZ3JhbnRfdHlwZTogJ2N1c3RvbV9zc28nXG4gICAgfSkudG9TdHJpbmcoKTtcblxuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdEZvcm1EYXRhPFVzZXJNb2RlbD4oJ29hdXRoL3Rva2VuJywgYm9keSwgeyBoZWFkZXJzLHdpdGhDcmVkZW50aWFsczogdHJ1ZSB9KS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWRVc2VySW5mbygpe1xuICAgICAgbGV0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICBcIkFjY2VwdFwiIDogXCJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWRcIlxuICAgICAgfSk7XG4gICAgICB0aGlzLm9wdGlvbnMgPSB7IGhlYWRlcnM6IGhlYWRlcnMgfTtcbiAgICAgIGxldCBhdXRoVG9rZW4gPSBhd2FpdCB0aGlzLmdldFN0b3JlZEFjY2Vzc1RvcGVuKCk7XG4gICAgICByZXR1cm4gdGhpcy51dGlsLmdldDxVc2VyTW9kZWw+KGBvYXV0aC9jaGVja190b2tlbj90b2tlbj0ke2F1dGhUb2tlbn1gKS50b1Byb21pc2UoKTtcbiAgfVxuXG4gIGFzeW5jIGdldFN0b3JlZEFjY2Vzc1RvcGVuKCl7XG4gICAgbGV0IGFjY2Vzc1Rva2VuID0gYXdhaXQgdGhpcy5zdG9yYWdlLmdldCgnYWNjZXNzX3Rva2VuJykudGhlbihyZXMgPT4gcmVzKTtcbiAgICByZXR1cm4gYWNjZXNzVG9rZW47XG4gIH1cblxuICBnZW5lcmF0ZU90cFVucmVnaXN0ZXJlZChtb2JpbGVObyA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQoJ2F1dGgvb3RwL25ld3VzZXIvJyArIG1vYmlsZU5vKTtcbiAgfVxuXG4gIHNpZ25VcCh1c2VyTW9kZWwgOiBVc2VyTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlcicsIHVzZXJNb2RlbCk7XG4gIH1cblxuICB1cGRhdGVQZXJzb25hbERldGFpbHModXNyRHRscyA6IFVzZXJEZXRhaWxzTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9kZXRhaWxzJywgdXNyRHRscyk7XG4gIH1cblxuICByZXNldCgpe1xuICAgIHRoaXMudXNlciA9IG51bGw7XG4gICAgdGhpcy51c2VyQnMubmV4dChudWxsKTtcbiAgICB0aGlzLm1lbnVCcy5uZXh0KG51bGwpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ2FjY2Vzc190b2tlbicpO1xuICAgIHRoaXMuc3RvcmFnZS5yZW1vdmUoJ3JlZnJlc2hfdG9rZW4nKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCdzaG93X2Rpc2Nsb3N1cmUnKTtcbiAgICB0aGlzLnN0b3JhZ2UucmVtb3ZlKCd1c2VybmFtZScpO1xuICAgIHRoaXMuY2xhaW1hbnRDb250ZXh0U2VydmljZS5jbGVhckNvbnRleHQoKTtcbiAgICB0aGlzLnJlbW92ZUNvb2tpZXMoKTtcbiAgfVxuXG4gIHJlbW92ZUNvb2tpZXMoKXtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZSgnYXQnKTtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZSgncnQnKTtcbiAgICB0aGlzLmRlbGV0ZUNvb2tpZShMaWJDb25zdGFudHMuc3NvQ29va2llTmFtZSk7XG4gIH1cblxuICBkZWxldGVDb29raWUoY29va2llTmFtZSl7XG4gICAgbGV0IGNvb2tpZSA9IGAke2Nvb2tpZU5hbWV9PTsgTWF4LUFnZT0wOyBwYXRoPS87IGRvbWFpbj0ke0xpYkNvbnN0YW50cy5zc29Eb21haW59YDtcbiAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBjcmVhdGVDb29raWUoY29va2llTmFtZSwgdmFsdWUsIGV4cGlyYXRpb24pe1xuICAgIGxldCBjb29raWUgPSBgJHtjb29raWVOYW1lfT0ke3ZhbHVlfTsgZXhwaXJlcz0ke2V4cGlyYXRpb24gKyAnLjAwMCd9OyBwYXRoPS87IGRvbWFpbj0ke0xpYkNvbnN0YW50cy5zc29Eb21haW59YDtcbiAgICBkb2N1bWVudC5jb29raWUgPSBjb29raWU7XG4gIH1cblxuICBsb2dvdXQoKXtcbiAgICBpZih0aGlzLnVzZXIpe1xuICAgICAgdGhpcy51dGlsLmdldCgndXNlci9sb2dvdXQnKVxuICAgICAgLnN1YnNjcmliZShcbiAgICAgICAgcmVzID0+IHtcbiAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH0sXG4gICAgICAgIGVyciA9PiB7XG4gICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICAgIHRoaXMudXRpbC5lcnJvckhhbmRsZXIoZXJyKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgIH1lbHNle1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIGlzTG9nZ2VkSW4oKXtcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5pc0xvZ2dlZEluO1xuICB9XG5cbiAgaXMyRkFSZXF1aXJlZCgpe1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLmlzMkZBUmVxdWlyZWQ7XG4gIH1cblxuICB1cGRhdGVQcm9maWxlKHVzZXIgOiBVc2VyTW9kZWwpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdCgndXNlci9wcm9maWxlJywgdXNlcik7XG4gIH1cblxuICB1cGRhdGVQYXNzd29yZChvbGRQYXNzd29yZCwgbmV3UGFzc3dvcmQsIGNvbmZpcm1QYXNzd29yZCl7XG4gICAgbGV0IHB3ZENoYW5nZU1vZGVsIDoge29sZFBhc3N3b3JkOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcsIGNvbmZpcm1QYXNzd29yZDogc3RyaW5nfSA9IHtvbGRQYXNzd29yZDogb2xkUGFzc3dvcmQsIHBhc3N3b3JkOiBuZXdQYXNzd29yZCwgY29uZmlybVBhc3N3b3JkOiBjb25maXJtUGFzc3dvcmR9O1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdChgdXNlci9wYXNzd29yZC8ke3RoaXMuZ2V0VXNlcigpLnVzZXJuYW1lfWAsIHB3ZENoYW5nZU1vZGVsKTtcbiAgfVxuXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmQodXNlcklkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9wYXNzd29yZC9yZXNldC8ke3VzZXJJZH1gKTtcbiAgfVxuXG4gIGluaXRpYXRlRm9yZ290UGFzc3dvcmRWMih1c2VySWQgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0KGB1c2VyL3YyL3Bhc3N3b3JkL3Jlc2V0LyR7dXNlcklkfWApO1xuICB9XG5cbiAgaGFzUm9sZShyb2xlTmFtZSA6IHN0cmluZykgOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLnVzZXIgJiYgdGhpcy51c2VyLnJvbGVzICYmIHRoaXMudXNlci5yb2xlcy5pbmNsdWRlcyhyb2xlTmFtZSk7XG4gIH1cblxuICBoYXNGdW5jdGlvbihmdW5jdGlvbk5hbWUgOiBzdHJpbmcpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy51c2VyICYmIHRoaXMudXNlci5mdW5jdGlvbnMgJiYgdGhpcy51c2VyLmZ1bmN0aW9ucy5pbmNsdWRlcyhmdW5jdGlvbk5hbWUpO1xuICB9XG5cbiAgaGFzUm9sZXMoLi4ucm9sZXMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgcm9sZXMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzUm9sZShyb2xlc1tpXS50b1N0cmluZygpKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgaGFzRnVuY3Rpb25zKC4uLmZ1bmN0aW9ucyA6IHN0cmluZ1tdKXtcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCBmdW5jdGlvbnMubGVuZ3RoIDsgaSsrKXtcbiAgICAgIGlmKHRoaXMuaGFzRnVuY3Rpb24oZnVuY3Rpb25zW2ldKSl7XG4gICAgICAgIGlzUHJlc2VudCA9IHRydWU7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gaXNQcmVzZW50O1xuICB9XG5cbiAgY2hlY2tSb2xlcyhyb2xlcyA6IHN0cmluZ1tdKXtcbiAgICBsZXQgaXNQcmVzZW50ID0gZmFsc2U7XG4gICAgZm9yKHZhciBpID0gMCA7IGkgPCByb2xlcy5sZW5ndGggOyBpKyspe1xuICAgICAgaWYodGhpcy5oYXNSb2xlKHJvbGVzW2ldLnRvU3RyaW5nKCkpKXtcbiAgICAgICAgaXNQcmVzZW50ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc1ByZXNlbnQ7XG4gIH1cblxuICBjaGVja0Z1bmN0aW9ucyhmdW5jdGlvbnMgOiBzdHJpbmdbXSl7XG4gICAgbGV0IGlzUHJlc2VudCA9IGZhbHNlO1xuICAgIGZvcih2YXIgaSA9IDAgOyBpIDwgZnVuY3Rpb25zLmxlbmd0aCA7IGkrKyl7XG4gICAgICBpZih0aGlzLmhhc0Z1bmN0aW9uKGZ1bmN0aW9uc1tpXSkpe1xuICAgICAgICBpc1ByZXNlbnQgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGlzUHJlc2VudDtcbiAgfVxuXG4gIGlzQ3NyKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuZ2V0VXNlcigpLnVzZXJUeXBlID09PSAnTURFUydcbiAgfVxuXG4gIGlzVGF4QXVkaXRTdXBlcnZpc29yKCl7XG4gICAgcmV0dXJuIHRoaXMuZ2V0VXNlcigpICYmIHRoaXMuaGFzUm9sZSgndGF4YXVkaXRzdXBlcnZpc29yJykgJiZ0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnIFxuICB9XG5cbiAgaXNUYXhBdWRpdEF1ZGl0b3IoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5oYXNSb2xlKCd0YXhhdWRpdHNwZWNpYWxpc3QnKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ01ERVMnXG4gIH1cblxuICBpc1RheEF1ZGl0RGlyZWN0b3IoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5oYXNSb2xlKCd0YXhBdWRpdERpcmVjdG9yJykgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdNREVTJ1xuICB9XG5cbiAgaXNFbXBsb3llcigpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ0VNUEwnXG4gIH1cblxuICBpc1RwYSgpe1xuICAgIHJldHVybiB0aGlzLmdldFVzZXIoKSAmJiB0aGlzLmdldFVzZXIoKS51c2VyVHlwZSA9PT0gJ1RQQSdcbiAgfVxuXG4gIGlzQ2xhaW1hbnQoKXtcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdDTE1UJ1xuICB9XG5cbiAgaGFzU3NuQXNzb2NpYXRlZCgpIDogYm9vbGVhbntcbiAgICByZXR1cm4gdGhpcy5nZXRVc2VyKCkgJiYgdGhpcy5nZXRVc2VyKCkudXNlclR5cGUgPT09ICdDTE1UJyAmJiB0aGlzLmdldFVzZXIoKS5zc24gIT09IHVuZGVmaW5lZCBcbiAgfVxuXG4gIGdldFVzZXJNZW51cygpe1xuICAgIHJldHVybiB0aGlzLnV0aWwuZ2V0PE1lbnVJdGVtW10+KGBtZW51L2ApO1xuICB9XG5cbiAgbWFya0ZhdihtZW51SWQgOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdDxNZW51SXRlbVtdPihgbWVudS9mYXYvJHttZW51SWR9YCwgbnVsbCk7XG4gIH1cblxuICByZW1vdmVGYXYobWVudUlkIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmRlbGV0ZTxNZW51SXRlbVtdPihgbWVudS9mYXYvJHttZW51SWR9YCk7XG4gIH1cblxuICBnZXRGYXZvdXJpdGVNZW51KCl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5nZXQ8TWVudUl0ZW1bXT4oYG1lbnUvZmF2YCk7XG4gIH1cblxuICBnZXRUcmVuZGluZ01lbnUoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldDxNZW51SXRlbVtdPihgbWVudS90cmVuZGluZ2ApO1xuICB9XG5cbiAgdmVyaWZ5RW1haWwoY29kZSA6IHN0cmluZyl7XG4gICAgcmV0dXJuIHRoaXMudXRpbC5wb3N0KGB1c2VyL2VtYWlsLyR7Y29kZX1gLCBudWxsKTtcbiAgfVxuXG4gIGdldE5ld0NvZGUoKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9lbWFpbGApO1xuICB9XG5cbiAgdXBkYXRlRW1haWxBbmRHZXROZXdDb2RlKGVtYWlsIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLnBhdGNoKGB1c2VyL2VtYWlsLyR7ZW1haWx9YCwgbnVsbCk7XG4gIH1cblxuICBnZXROZXdBdXRoQ29kZSh0eXBlIDogc3RyaW5nKXtcbiAgICByZXR1cm4gdGhpcy51dGlsLmdldChgdXNlci9vdHA/dHlwZT0ke3R5cGV9YCk7XG4gIH1cblxuICBhc3NvY2lhdGVTc25Ub1VzZXJJZChzc24gOiBzdHJpbmcpe1xuICAgIHJldHVybiB0aGlzLnV0aWwucG9zdChgY2xhaW1hbnQvYXNzb2NpYXRlLXNzbi8ke3Nzbn1gLCBudWxsKTtcbiAgfVxuXG4gIGdldFVzZXJJZEluVW5pdEJzKCl7XG4gICAgcmV0dXJuIHRoaXMudXNlcklkSW5Vbml0QnM7XG4gIH1cblxuICBsb2FkVXNlcklkc0Zyb21Vbml0T2ZMb2dnZWRJblVzZXIodW5pdElkIDogc3RyaW5nKXtcbiAgICBpZih0aGlzLnVzZXJJZEluVW5pdEJzLmdldFZhbHVlKCkgPT0gbnVsbClcbiAgICAgIHRoaXMudXRpbC5nZXQ8VXNlck1vZGVsW10+KGB1c2VyL2FsbC8ke3VuaXRJZH1gKVxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHRoaXMudXNlcklkSW5Vbml0QnMubmV4dChyZXMpKTtcbiAgfVxufVxuIl19
|