@hmcts/ccd-case-ui-toolkit 7.2.51-test-log-errors-1 → 7.2.51
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/banners/notification-banner/notification-banner.component.mjs +4 -4
- package/esm2022/lib/components/form/date-input/date-input.component.mjs +1 -1
- package/esm2022/lib/components/header/header-bar/header-bar.component.mjs +5 -5
- package/esm2022/lib/shared/components/activity/activity.component.mjs +3 -3
- package/esm2022/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +3 -3
- package/esm2022/lib/shared/components/case-editor/case-edit-form/case-edit-form.component.mjs +1 -1
- package/esm2022/lib/shared/components/case-editor/case-edit-page/case-edit-page.component.mjs +5 -5
- package/esm2022/lib/shared/components/case-editor/case-edit-submit/case-edit-submit.component.mjs +5 -5
- package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.mjs +9 -5
- package/esm2022/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.mjs +9 -5
- package/esm2022/lib/shared/components/case-timeline/case-timeline.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/case-basic-access-view/case-basic-access-view.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/case-challenged-access-request/case-challenged-access-request.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.mjs +9 -4
- package/esm2022/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.mjs +16 -3
- package/esm2022/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.mjs +28 -8
- package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.mjs +13 -9
- package/esm2022/lib/shared/components/case-viewer/case-review-specific-access-request/case-review-specific-access-request.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/case-specific-access-request/case-specific-access-request.component.mjs +4 -4
- package/esm2022/lib/shared/components/case-viewer/services/event-trigger.resolver.mjs +41 -6
- package/esm2022/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.mjs +9 -5
- package/esm2022/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.mjs +9 -5
- package/esm2022/lib/shared/components/event-start/components/task-assigned/task-assigned.component.mjs +10 -6
- package/esm2022/lib/shared/components/event-start/components/task-conflict/task-conflict.component.mjs +3 -3
- package/esm2022/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.mjs +9 -5
- package/esm2022/lib/shared/components/event-start/event-guard/event-start.guard.mjs +3 -3
- package/esm2022/lib/shared/components/event-start/services/event-start-state-machine.service.mjs +6 -6
- package/esm2022/lib/shared/components/palette/address/write-address-field.component.mjs +4 -4
- package/esm2022/lib/shared/components/palette/case-file-view/case-file-view-field.component.mjs +4 -4
- package/esm2022/lib/shared/components/palette/case-file-view/components/case-file-view-folder-selector/case-file-view-folder-selector.component.mjs +4 -4
- package/esm2022/lib/shared/components/palette/case-flag/components/case-flag-summary-list/case-flag-summary-list.component.mjs +9 -9
- package/esm2022/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +8 -7
- package/esm2022/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +1 -1
- package/esm2022/lib/shared/components/palette/document/read-document-field.component.mjs +7 -7
- package/esm2022/lib/shared/components/palette/linked-cases/components/before-you-start/before-you-start.component.mjs +6 -6
- package/esm2022/lib/shared/components/palette/linked-cases/components/check-your-answers/check-your-answers.component.mjs +5 -5
- package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-from-table.component.mjs +12 -12
- package/esm2022/lib/shared/components/palette/linked-cases/components/linked-cases-table/linked-cases-to-table.component.mjs +7 -7
- package/esm2022/lib/shared/components/palette/linked-cases/components/no-linked-cases/no-linked-cases.component.mjs +6 -6
- package/esm2022/lib/shared/components/palette/linked-cases/read-linked-cases-field.component.mjs +7 -7
- package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs +5 -5
- package/esm2022/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.mjs +6 -2
- package/esm2022/lib/shared/components/palette/query-management/components/query-check-your-answers/query-check-your-answers.component.mjs +71 -69
- package/esm2022/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.mjs +23 -19
- package/esm2022/lib/shared/components/palette/query-management/components/query-details/query-details.component.mjs +5 -5
- package/esm2022/lib/shared/components/palette/query-management/components/query-list/query-list.component.mjs +5 -5
- package/esm2022/lib/shared/components/search-result/search-result.component.mjs +5 -5
- package/esm2022/lib/shared/directives/substitutor/label-substitutor.directive.mjs +5 -2
- package/esm2022/lib/shared/services/form/field-type-sanitiser.mjs +1 -1
- package/esm2022/lib/shared/services/form/form-value.service.mjs +1 -101
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs +515 -500
- package/fesm2022/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts +2 -0
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-cancelled/case-event-completion-task-cancelled.component.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts +2 -0
- package/lib/shared/components/case-editor/case-event-completion/components/case-event-completion-task-reassigned/case-event-completion-task-reassigned.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts +2 -0
- package/lib/shared/components/case-viewer/case-challenged-access-success/case-challenged-access-success.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts +1 -0
- package/lib/shared/components/case-viewer/case-event-trigger/case-event-trigger.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts +1 -0
- package/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts +2 -0
- package/lib/shared/components/case-viewer/case-review-specific-access-reject/case-review-specific-access-reject.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts +3 -2
- package/lib/shared/components/case-viewer/services/event-trigger.resolver.d.ts.map +1 -1
- package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts +2 -0
- package/lib/shared/components/event-start/components/multiple-tasks-exist/multiple-tasks-exist.component.d.ts.map +1 -1
- package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts +2 -0
- package/lib/shared/components/event-start/components/no-tasks-available/no-tasks-available.component.d.ts.map +1 -1
- package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts +2 -0
- package/lib/shared/components/event-start/components/task-assigned/task-assigned.component.d.ts.map +1 -1
- package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts +2 -0
- package/lib/shared/components/event-start/components/task-unassigned/task-unassigned.component.d.ts.map +1 -1
- package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts +2 -2
- package/lib/shared/components/event-start/event-guard/event-start.guard.d.ts.map +1 -1
- package/lib/shared/components/event-start/services/event-start-state-machine.service.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts +2 -0
- package/lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.d.ts.map +1 -1
- package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts +2 -0
- package/lib/shared/components/palette/query-management/components/query-confirmation/query-confirmation.component.d.ts.map +1 -1
- package/lib/shared/directives/substitutor/label-substitutor.directive.d.ts.map +1 -1
- package/lib/shared/services/form/field-type-sanitiser.d.ts.map +1 -1
- package/lib/shared/services/form/form-value.service.d.ts +0 -100
- package/lib/shared/services/form/form-value.service.d.ts.map +1 -1
- package/package.json +1 -1
package/esm2022/lib/shared/components/palette/organisation/write-organisation-field.component.mjs
CHANGED
|
@@ -52,7 +52,7 @@ function WriteOrganisationFieldComponent_fieldset_3_div_17_table_2_Template(rf,
|
|
|
52
52
|
i0.ɵɵelementEnd();
|
|
53
53
|
i0.ɵɵelementStart(9, "td", 33)(10, "a", 34);
|
|
54
54
|
i0.ɵɵpipe(11, "rpxTranslate");
|
|
55
|
-
i0.ɵɵlistener("click", function WriteOrganisationFieldComponent_fieldset_3_div_17_table_2_Template_a_click_10_listener() { const organisation_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(
|
|
55
|
+
i0.ɵɵlistener("click", function WriteOrganisationFieldComponent_fieldset_3_div_17_table_2_Template_a_click_10_listener($event) { const organisation_r2 = i0.ɵɵrestoreView(_r1).$implicit; const ctx_r2 = i0.ɵɵnextContext(3); ctx_r2.selectOrg(organisation_r2); return i0.ɵɵresetView($event.preventDefault()); });
|
|
56
56
|
i0.ɵɵtext(12);
|
|
57
57
|
i0.ɵɵpipe(13, "rpxTranslate");
|
|
58
58
|
i0.ɵɵelementEnd()()()()();
|
|
@@ -107,7 +107,7 @@ function WriteOrganisationFieldComponent_fieldset_3_ng_template_19_table_0_Templ
|
|
|
107
107
|
i0.ɵɵelementEnd();
|
|
108
108
|
i0.ɵɵelementStart(9, "td", 33)(10, "a", 34);
|
|
109
109
|
i0.ɵɵpipe(11, "rpxTranslate");
|
|
110
|
-
i0.ɵɵlistener("click", function WriteOrganisationFieldComponent_fieldset_3_ng_template_19_table_0_Template_a_click_10_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); return i0.ɵɵresetView(
|
|
110
|
+
i0.ɵɵlistener("click", function WriteOrganisationFieldComponent_fieldset_3_ng_template_19_table_0_Template_a_click_10_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(3); ctx_r2.deSelectOrg(); return i0.ɵɵresetView($event.preventDefault()); });
|
|
111
111
|
i0.ɵɵtext(12);
|
|
112
112
|
i0.ɵɵpipe(13, "rpxTranslate");
|
|
113
113
|
i0.ɵɵelementEnd()()()()();
|
|
@@ -372,7 +372,7 @@ export class WriteOrganisationFieldComponent extends AbstractFieldWriteComponent
|
|
|
372
372
|
}
|
|
373
373
|
}
|
|
374
374
|
static ɵfac = function WriteOrganisationFieldComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || WriteOrganisationFieldComponent)(i0.ɵɵdirectiveInject(i1.OrganisationService), i0.ɵɵdirectiveInject(i2.OrganisationConverter), i0.ɵɵdirectiveInject(i3.WindowService)); };
|
|
375
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteOrganisationFieldComponent, selectors: [["ccd-write-organisation-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 7, consts: [["selectedOrganisation", ""], [1, "form-group", 3, "formGroup"], ["class", "govuk-fieldset", 4, "ngIf"], [1, "govuk-fieldset"], [2, "display", "none"], [1, "hmcts-banner"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "warning-message"], [1, "warning-panel"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "heading-h2"], [1, "govuk-form-group"], ["for", "search-org-text", 1, "govuk-label"], ["id", "search-org-hint", 1, "govuk-hint"], ["id", "search-org-text", "type", "text", 1, "form-control", 3, "formControl"], ["for", "organisation-table", 1, "govuk-label"], [1, "govuk-section-break", "govuk-section-break--visible"], [3, "ngClass", 4, "ngIf", "ngIfElse"], [3, "caseField", "formGroup", "selectedOrg$"], ["id", "find-organisation-help", "data-module", "govuk-details", 1, "govuk-details"], [1, "govuk-details__summary"], ["id", "content-why-can-not-find-organisation", 1, "govuk-details__summary-text"], ["id", "content-reason-can-not-find-organisation", 1, "govuk-details__text"], [3, "ngClass"], ["id", "organisation-table", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["id", "organisation-table"], [1, "name-header"], [1, "td-address"], [3, "content"], [1, "td-select"], ["href", "
|
|
375
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: WriteOrganisationFieldComponent, selectors: [["ccd-write-organisation-field"]], features: [i0.ɵɵInheritDefinitionFeature], decls: 5, vars: 7, consts: [["selectedOrganisation", ""], [1, "form-group", 3, "formGroup"], ["class", "govuk-fieldset", 4, "ngIf"], [1, "govuk-fieldset"], [2, "display", "none"], [1, "hmcts-banner"], ["fill", "currentColor", "role", "presentation", "focusable", "false", "xmlns", "http://www.w3.org/2000/svg", "viewBox", "0 0 25 25", "height", "25", "width", "25", 1, "hmcts-banner__icon"], ["d", "M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z"], [1, "hmcts-banner__message"], [1, "hmcts-banner__assistive"], [1, "warning-message"], [1, "warning-panel"], [1, "govuk-fieldset__legend", "govuk-fieldset__legend--l"], [1, "heading-h2"], [1, "govuk-form-group"], ["for", "search-org-text", 1, "govuk-label"], ["id", "search-org-hint", 1, "govuk-hint"], ["id", "search-org-text", "type", "text", 1, "form-control", 3, "formControl"], ["for", "organisation-table", 1, "govuk-label"], [1, "govuk-section-break", "govuk-section-break--visible"], [3, "ngClass", 4, "ngIf", "ngIfElse"], [3, "caseField", "formGroup", "selectedOrg$"], ["id", "find-organisation-help", "data-module", "govuk-details", 1, "govuk-details"], [1, "govuk-details__summary"], ["id", "content-why-can-not-find-organisation", 1, "govuk-details__summary-text"], ["id", "content-reason-can-not-find-organisation", 1, "govuk-details__text"], [3, "ngClass"], ["id", "organisation-table", 4, "ngFor", "ngForOf"], [4, "ngIf"], ["id", "organisation-table"], [1, "name-header"], [1, "td-address"], [3, "content"], [1, "td-select"], ["href", "#", 3, "click", "title"], [1, "no-result-message"], ["id", "organisation-selected-table", 4, "ngIf"], ["id", "organisation-selected-table"]], template: function WriteOrganisationFieldComponent_Template(rf, ctx) { if (rf & 1) {
|
|
376
376
|
i0.ɵɵelementStart(0, "div", 1);
|
|
377
377
|
i0.ɵɵtemplate(1, WriteOrganisationFieldComponent_fieldset_1_Template, 16, 9, "fieldset", 2);
|
|
378
378
|
i0.ɵɵpipe(2, "async");
|
|
@@ -391,7 +391,7 @@ export class WriteOrganisationFieldComponent extends AbstractFieldWriteComponent
|
|
|
391
391
|
}
|
|
392
392
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(WriteOrganisationFieldComponent, [{
|
|
393
393
|
type: Component,
|
|
394
|
-
args: [{ selector: 'ccd-write-organisation-field', template: "<div class=\"form-group\" [formGroup]=\"organisationFormGroup\">\n <fieldset *ngIf=\"(organisations$ | async)?.length === 0\" class=\"govuk-fieldset\">\n <legend style=\"display: none;\"></legend>\n <div class=\"hmcts-banner\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\" /></svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'information' | rpxTranslate}}</span>\n <p class=\"warning-message\">{{'Organisation search is currently unavailable.' | rpxTranslate}}</p>\n </div>\n </div>\n <div class=\"warning-panel\">\n <div class=\"warning-message\">\n {{'We are working to fix the issue.You can try again later.' | rpxTranslate}}\n </div>\n </div>\n </fieldset>\n <fieldset *ngIf=\"(organisations$ | async)?.length > 0\" class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h2 class=\"heading-h2\">\n {{'Search for an organisation' | rpxTranslate}}\n </h2>\n </legend>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"search-org-text\">\n <span id=\"search-org-hint\" class=\"govuk-hint\">\n {{'You can only search for organisations already registered with MyHMCTS. For example, you can search by organisation name or address.' | rpxTranslate}}\n </span>\n </label>\n <input id=\"search-org-text\" class=\"form-control\" type=\"text\" [formControl]=\"searchOrgTextFormControl\"/>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"organisation-table\">\n <h2 class=\"heading-h2\">{{'Organisation name and address' | rpxTranslate}}</h2>\n </label>\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <div *ngIf=\"!(selectedOrg$ | async)?.organisationIdentifier; else selectedOrganisation\" [ngClass]=\"{'scroll-container ': (simpleOrganisations$ | async)?.length > 10}\">\n <table id=\"organisation-table\" *ngFor=\"let organisation of (simpleOrganisations$ | async)\">\n <caption><h3 class=\"name-header\">{{organisation.name}}</h3></caption>\n <tbody>\n <tr>\n <th style=\"display: none;\"></th>\n <td class=\"td-address\">\n <ccd-markdown [content]=\"organisation.address\"></ccd-markdown>\n </td>\n <td class=\"td-select\">\n <a href=\"
|
|
394
|
+
args: [{ selector: 'ccd-write-organisation-field', template: "<div class=\"form-group\" [formGroup]=\"organisationFormGroup\">\n <fieldset *ngIf=\"(organisations$ | async)?.length === 0\" class=\"govuk-fieldset\">\n <legend style=\"display: none;\"></legend>\n <div class=\"hmcts-banner\">\n <svg class=\"hmcts-banner__icon\" fill=\"currentColor\" role=\"presentation\" focusable=\"false\" xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 25 25\" height=\"25\" width=\"25\">\n <path d=\"M13.7,18.5h-2.4v-2.4h2.4V18.5z M12.5,13.7c-0.7,0-1.2-0.5-1.2-1.2V7.7c0-0.7,0.5-1.2,1.2-1.2s1.2,0.5,1.2,1.2v4.8\n C13.7,13.2,13.2,13.7,12.5,13.7z M12.5,0.5c-6.6,0-12,5.4-12,12s5.4,12,12,12s12-5.4,12-12S19.1,0.5,12.5,0.5z\" /></svg>\n <div class=\"hmcts-banner__message\">\n <span class=\"hmcts-banner__assistive\">{{'information' | rpxTranslate}}</span>\n <p class=\"warning-message\">{{'Organisation search is currently unavailable.' | rpxTranslate}}</p>\n </div>\n </div>\n <div class=\"warning-panel\">\n <div class=\"warning-message\">\n {{'We are working to fix the issue.You can try again later.' | rpxTranslate}}\n </div>\n </div>\n </fieldset>\n <fieldset *ngIf=\"(organisations$ | async)?.length > 0\" class=\"govuk-fieldset\">\n <legend class=\"govuk-fieldset__legend govuk-fieldset__legend--l\">\n <h2 class=\"heading-h2\">\n {{'Search for an organisation' | rpxTranslate}}\n </h2>\n </legend>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"search-org-text\">\n <span id=\"search-org-hint\" class=\"govuk-hint\">\n {{'You can only search for organisations already registered with MyHMCTS. For example, you can search by organisation name or address.' | rpxTranslate}}\n </span>\n </label>\n <input id=\"search-org-text\" class=\"form-control\" type=\"text\" [formControl]=\"searchOrgTextFormControl\"/>\n </div>\n <div class=\"govuk-form-group\">\n <label class=\"govuk-label\" for=\"organisation-table\">\n <h2 class=\"heading-h2\">{{'Organisation name and address' | rpxTranslate}}</h2>\n </label>\n <hr class=\"govuk-section-break govuk-section-break--visible\">\n <div *ngIf=\"!(selectedOrg$ | async)?.organisationIdentifier; else selectedOrganisation\" [ngClass]=\"{'scroll-container ': (simpleOrganisations$ | async)?.length > 10}\">\n <table id=\"organisation-table\" *ngFor=\"let organisation of (simpleOrganisations$ | async)\">\n <caption><h3 class=\"name-header\">{{organisation.name}}</h3></caption>\n <tbody>\n <tr>\n <th style=\"display: none;\"></th>\n <td class=\"td-address\">\n <ccd-markdown [content]=\"organisation.address\"></ccd-markdown>\n </td>\n <td class=\"td-select\">\n <a href=\"#\" (click)=\"selectOrg(organisation); $event.preventDefault()\" title=\"{{'Select the organisation' | rpxTranslate}} {{organisation.name}}\">\n {{'Select' | rpxTranslate}}\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n <div *ngIf=\"(simpleOrganisations$ | async)?.length === 0 && (searchOrgValue$ | async)?.length > 2\">\n <div class=\"no-result-message\">\n {{'No results found.' | rpxTranslate}}\n </div>\n </div>\n </div>\n <ng-template #selectedOrganisation>\n <table id=\"organisation-selected-table\" *ngIf=\"(selectedOrg$ | async) as selectedOrg\">\n <caption><h3 class=\"name-header\">{{selectedOrg.name}}</h3></caption>\n <tbody>\n <tr>\n <th style=\"display: none;\"></th>\n <td class=\"td-address\">\n <ccd-markdown [content]=\"selectedOrg.address\"></ccd-markdown>\n </td>\n <td class=\"td-select\">\n <a href=\"#\" (click)=\"deSelectOrg(); $event.preventDefault()\"\n title=\"{{'Clear organisation selection for' | rpxTranslate}} {{selectedOrg.name}}\">\n {{'Clear' | rpxTranslate}}\n </a>\n </td>\n </tr>\n </tbody>\n </table>\n </ng-template>\n </div>\n <ccd-write-organisation-complex-field [caseField]=\"caseField\"\n [formGroup]=\"formGroup\"\n [selectedOrg$]=\"selectedOrg$\">\n </ccd-write-organisation-complex-field>\n <details id=\"find-organisation-help\" class=\"govuk-details\" data-module=\"govuk-details\">\n <summary class=\"govuk-details__summary\">\n <span id=\"content-why-can-not-find-organisation\" class=\"govuk-details__summary-text\">\n {{\"Can\u2019t find the organisation you are looking for?\" | rpxTranslate}}\n </span>\n </summary>\n <div id=\"content-reason-can-not-find-organisation\" class=\"govuk-details__text\">\n {{'If you know that the solicitor is already registered with MyHMCTS, check that you have entered their details correctly.' | rpxTranslate}}\n {{\"Remember that organisations can only register one office address. This means that the details could be slightly different from what you're expecting. Contact the solicitor directly if you have any concerns.\" | rpxTranslate}}\n </div>\n </details>\n </fieldset>\n</div>\n", styles: [".hmcts-banner{border:0 solid;margin-bottom:10px;color:#000}.hmcts-banner .warning-message{font-weight:700}.govuk-hint{font-size:1.1rem}.name-header{font-weight:700;margin-top:10px;font-size:18px}.td-address{width:90%;padding-top:2px}.td-select{width:10%}.warning-panel{background-color:#e7ebef;height:40px;margin-bottom:0;align-items:center;display:flex}.warning-panel .warning-message{padding-left:15px}.complex-field-table>tbody>tr>th{border:none}.complex-field-table>tbody>tr:last-child>th,.complex-field-table>tbody>tr:last-child>td{border-bottom:none}.complex-field-title{width:300px}.label-width-small{width:100px}.label-width-medium{width:150px}.scroll-container{height:600px;overflow-y:scroll}.no-result-message{margin-top:15px}\n"] }]
|
|
395
395
|
}], () => [{ type: i1.OrganisationService }, { type: i2.OrganisationConverter }, { type: i3.WindowService }], null); })();
|
|
396
396
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(WriteOrganisationFieldComponent, { className: "WriteOrganisationFieldComponent", filePath: "lib/shared/components/palette/organisation/write-organisation-field.component.ts", lineNumber: 18 }); })();
|
|
397
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtb3JnYW5pc2F0aW9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL29yZ2FuaXNhdGlvbi93cml0ZS1vcmdhbmlzYXRpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvb3JnYW5pc2F0aW9uL3dyaXRlLW9yZ2FuaXNhdGlvbi1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU1RixPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLE1BQU0scURBQXFELENBQUM7QUFDMUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0lDVHpGLG1DQUFnRjtJQUM5RSw0QkFBd0M7SUFDeEMsOEJBQTBCOztJQUN4Qiw4QkFBd0s7SUFDdEssMEJBQ3dHO0lBQUEsaUJBQU07O0lBRTlHLEFBREYsOEJBQW1DLGNBQ0s7SUFBQSxZQUFnQzs7SUFBQSxpQkFBTztJQUMzRSw2QkFB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QUNILENBQUM7SUFDSCxDQUFDO3lIQXROVSwrQkFBK0I7NkRBQS9CLCtCQUErQjtZQ2pCNUMsOEJBQTREO1lBQzFELDJGQUFnRjs7WUFpQmhGLDRGQUE4RTs7WUE4RWhGLGlCQUFNOzs7O1lBaEdrQixxREFBbUM7WUFDOUMsY0FBNEM7WUFBNUMsbUhBQTRDO1lBaUI1QyxlQUEwQztZQUExQyxpSEFBMEM7OztpRkREMUMsK0JBQStCO2NBTDNDLFNBQVM7MkJBQ0UsOEJBQThCOztrRkFJN0IsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0Q29udHJvbCwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgT3JnYW5pc2F0aW9uQ29udmVydGVyIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL29yZ2FuaXNhdGlvbi9vcmdhbmlzYXRpb24tY29udmVydGVyJztcbmltcG9ydCB7IFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL29yZ2FuaXNhdGlvbi9zaW1wbGUtb3JnYW5pc2F0aW9uLm1vZGVsJztcbmltcG9ydCB7IE9yZ2FuaXNhdGlvblNlcnZpY2UsIE9yZ2FuaXNhdGlvblZtIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvb3JnYW5pc2F0aW9uL29yZ2FuaXNhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7IFdpbmRvd1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy93aW5kb3cvd2luZG93LnNlcnZpY2UnO1xuXG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZpZWxkLXdyaXRlLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC13cml0ZS1vcmdhbmlzYXRpb24tZmllbGQnLFxuICB0ZW1wbGF0ZVVybDogJy4vd3JpdGUtb3JnYW5pc2F0aW9uLWZpZWxkLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vb3JnYW5pc2F0aW9uLWZpZWxkLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFdyaXRlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBFTVBUWV9TSU1QTEVfT1JHOiBTaW1wbGVPcmdhbmlzYXRpb25Nb2RlbCA9IHsgb3JnYW5pc2F0aW9uSWRlbnRpZmllcjogJycsIG5hbWU6ICcnLCBhZGRyZXNzOiAnJyB9O1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBNQVhfUkVTVUxUX0NPVU5UOiBudW1iZXIgPSAxMDA7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE9SR0FOSVNBVElPTl9JRDogc3RyaW5nID0gJ09yZ2FuaXNhdGlvbklEJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgT1JHQU5JU0FUSU9OX05BTUU6IHN0cmluZyA9ICdPcmdhbmlzYXRpb25OYW1lJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTjogc3RyaW5nID0gJ1ByZXBvcHVsYXRlVG9Vc2Vyc09yZ2FuaXNhdGlvbic7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE9SR0FOSVNBVElPTl9ERVRBSUxTOiBzdHJpbmcgPSAnb3JnYW5pc2F0aW9uRGV0YWlscyc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IFlFUzogc3RyaW5nID0gJ1lFUyc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1BTkRBVE9SWTogc3RyaW5nID0gJ01BTkRBVE9SWSc7XG4gIHB1YmxpYyBkZWZhdWx0T3JnOiBhbnk7XG5cbiAgcHVibGljIG9yZ2FuaXNhdGlvbkZvcm1Hcm91cDogRm9ybUdyb3VwO1xuICBwdWJsaWMgc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIG9yZ2FuaXNhdGlvbklERm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgb3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcblxuICBwdWJsaWMgb3JnYW5pc2F0aW9ucyQ6IE9ic2VydmFibGU8T3JnYW5pc2F0aW9uVm1bXT47XG4gIHB1YmxpYyBzZWFyY2hPcmdWYWx1ZSQ6IE9ic2VydmFibGU8c3RyaW5nPjtcbiAgcHVibGljIHNpbXBsZU9yZ2FuaXNhdGlvbnMkOiBPYnNlcnZhYmxlPFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsW10+O1xuICBwdWJsaWMgc2VsZWN0ZWRPcmckOiBPYnNlcnZhYmxlPFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IG9yZ2FuaXNhdGlvblNlcnZpY2U6IE9yZ2FuaXNhdGlvblNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcmdhbmlzYXRpb25Db252ZXJ0ZXI6IE9yZ2FuaXNhdGlvbkNvbnZlcnRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHdpbmRvd1NlcnZpY2U6IFdpbmRvd1NlcnZpY2UpIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuZGVmYXVsdE9yZyA9IEpTT04ucGFyc2UodGhpcy53aW5kb3dTZXJ2aWNlLmdldFNlc3Npb25TdG9yYWdlKFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuT1JHQU5JU0FUSU9OX0RFVEFJTFMpKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbnMkID0gdGhpcy5vcmdhbmlzYXRpb25TZXJ2aWNlLmdldEFjdGl2ZU9yZ2FuaXNhdGlvbnMoKTtcblxuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKCcnKTtcbiAgICB0aGlzLnNlYXJjaE9yZ1ZhbHVlJCA9IHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLnZhbHVlQ2hhbmdlcztcbiAgICB0aGlzLnNlYXJjaE9yZ1ZhbHVlJC5zdWJzY3JpYmUodmFsdWUgPT4gdGhpcy5vblNlYXJjaE9yZyh2YWx1ZSkpO1xuXG4gICAgdGhpcy5vcmdhbmlzYXRpb25Gb3JtR3JvdXAgPSB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUdyb3VwKHt9KSwgdHJ1ZSkgYXMgRm9ybUdyb3VwO1xuICAgIGlmICh0aGlzLnBhcmVudCAmJiB0aGlzLnBhcmVudC5jb250cm9scyAmJiB0aGlzLnBhcmVudC5jb250cm9scy5oYXNPd25Qcm9wZXJ0eShXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LlBSRV9QT1BVTEFURV9UT19VU0VSU19PUkdBTklTQVRJT04pXG4gICAgICAmJiB0aGlzLnBhcmVudC5jb250cm9sc1tXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LlBSRV9QT1BVTEFURV9UT19VU0VSU19PUkdBTklTQVRJT05dLnZhbHVlXG4gICAgICAmJiB0aGlzLnBhcmVudC5jb250cm9sc1tXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LlBSRV9QT1BVTEFURV9UT19VU0VSU19PUkdBTklTQVRJT05dLnZhbHVlLnRvVXBwZXJDYXNlKClcbiAgICAgID09PSBXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LllFUykge1xuICAgICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmICF0aGlzLmNhc2VGaWVsZC52YWx1ZSkge1xuICAgICAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IHtcbiAgICAgICAgICBPcmdhbmlzYXRpb25JRDogdGhpcy5kZWZhdWx0T3JnID8gdGhpcy5kZWZhdWx0T3JnLm9yZ2FuaXNhdGlvbklkZW50aWZpZXIgOiBudWxsLFxuICAgICAgICAgIE9yZ2FuaXNhdGlvbk5hbWU6IHRoaXMuZGVmYXVsdE9yZyA/IHRoaXMuZGVmYXVsdE9yZy5uYW1lIDogbnVsbFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgdGhpcy5wcmVTZWxlY3REZWZhdWx0T3JnKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNhc2VGaWVsZCAmJiB0aGlzLmNhc2VGaWVsZC52YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC52YWx1ZS5PcmdhbmlzYXRpb25JRCkge1xuICAgICAgICB0aGlzLnByZVNlbGVjdERlZmF1bHRPcmcoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucHJlU2VsZWN0RW1wdHlPcmcoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFbnN1cmUgdGhhdCBhbGwgc3ViLWZpZWxkcyBpbmhlcml0IHRoZSBzYW1lIHZhbHVlIGZvciByZXRhaW5faGlkZGVuX3ZhbHVlIGFzIHRoaXMgcGFyZW50OyBhbHRob3VnaCBhblxuICAgIC8vIE9yZ2FuaXNhdGlvbiBmaWVsZCB1c2VzIHRoZSBDb21wbGV4IHR5cGUsIGl0IGlzIG1lYW50IHRvIGJlIHRyZWF0ZWQgYXMgb25lIGZpZWxkXG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0NvbXBsZXgnKSB7XG4gICAgICBmb3IgKGNvbnN0IG9yZ2FuaXNhdGlvblN1YkZpZWxkIG9mIHRoaXMuY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgICAgb3JnYW5pc2F0aW9uU3ViRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZSA9IHRoaXMuY2FzZUZpZWxkLnJldGFpbl9oaWRkZW5fdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG9uU2VhcmNoT3JnKG9yZ1NlYXJjaFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmIChvcmdTZWFyY2hUZXh0ICYmIG9yZ1NlYXJjaFRleHQubGVuZ3RoID49IDIpIHtcbiAgICAgIGNvbnN0IGxvd2VyT3JnU2VhcmNoVGV4dCA9IG9yZ1NlYXJjaFRleHQudG9Mb3dlckNhc2UoKTtcbiAgICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSB0aGlzLm9yZ2FuaXNhdGlvbnMkLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcChvcmdhbmlzYXRpb25zID0+IG9mKFxuICAgICAgICAgIHRoaXMuc2VhcmNoT3JnKG9yZ2FuaXNhdGlvbnMsIGxvd2VyT3JnU2VhcmNoVGV4dClcbiAgICAgICAgKVxuICAgICAgICApXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNpbXBsZU9yZ2FuaXNhdGlvbnMkID0gb2YoW10pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSB3YXkgdGhlIHNlYXJjaCB3b3JrcyBkaXZpZGUgaW50byB0d28gcGhhc2VzXG4gIC8vIDEuIGdvIHRocm91Z2ggY29sbGVjdGlvbiBvZiBvcmcgaXRlbXMgb25lIGJ5IG9uZSBieSBkb2luZyB0aGUgY29tcGFyc2lvbiBvZiBzZWFyY2ggc3RyaW5nIHVzaW5nIGluY2x1ZGVzIHRvIGFsbCB0aGUgYWRkcmVzcyBmaWVsZHNcbiAgLy8gMi4gc3BsaXQgdGhlIHNlYXJjaCBzdHJpbmcgaW50byBhcnJheXMgYW5kIGFwcGx5IHRoZSBlYWNoIGFycmF5IGl0ZW0gaW50byB0aGUgYWRkcmVzcyBmaWVsZHNcbiAgLy8gMy4gYm90aCBzdGVwIDEsIDIgd2lsbCBnbyB1bnRpbCBtYXggY291bnQgcmVzdWx0IHJlYWNoZXMsIGFuZCBmaW5hbGx5IGNvbWJpbmUgYm90aCByZXN1bHQgc2V0cyBpbnRvIGZpbmFsIGNvbGxlY3Rpb25cbiAgcHVibGljIHNlYXJjaE9yZyhvcmdhbmlzYXRpb25zOiBPcmdhbmlzYXRpb25WbVtdLCBsb3dlck9yZ1NlYXJjaFRleHQ6IHN0cmluZyk6IFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsW10ge1xuICAgIGNvbnN0IHBhcnRNYXRjaGluZ1Jlc3VsdFNldCA9IFtdO1xuICAgIGNvbnN0IHdpdGhTcGFjZU1hdGNoaW5nUmVzdWx0U2V0ID0gW107XG4gICAgY29uc3QgTUFYX1JFU1VMVF9DT1VOVCA9IFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuTUFYX1JFU1VMVF9DT1VOVDtcbiAgICBvcmdhbmlzYXRpb25zLmZvckVhY2goKG9yZ2FuaXNhdGlvbikgPT4ge1xuICAgICAgaWYgKHBhcnRNYXRjaGluZ1Jlc3VsdFNldC5sZW5ndGggPCBNQVhfUkVTVUxUX0NPVU5UICYmIHRoaXMuc2VhcmNoQ3JpdGVyaWEob3JnYW5pc2F0aW9uLCBsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICAgIHBhcnRNYXRjaGluZ1Jlc3VsdFNldC5wdXNoKG9yZ2FuaXNhdGlvbik7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBvcmdhbmlzYXRpb25zLmZvckVhY2goKG9yZykgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0U2V0ID0gWy4uLnBhcnRNYXRjaGluZ1Jlc3VsdFNldCwgLi4ud2l0aFNwYWNlTWF0Y2hpbmdSZXN1bHRTZXRdO1xuICAgICAgY29uc3QgaGFzTWF0Y2hpbmdPcmdhbmlzYXRpb24gPSByZXN1bHRTZXQuZmluZChpdGVtID0+IGl0ZW0ub3JnYW5pc2F0aW9uSWRlbnRpZmllciA9PT0gb3JnLm9yZ2FuaXNhdGlvbklkZW50aWZpZXIpO1xuICAgICAgY29uc3Qgc2VhcmNoSGFzU3BhY2UgPSB0aGlzLnNlYXJjaFdpdGhTcGFjZShvcmcsIGxvd2VyT3JnU2VhcmNoVGV4dCk7XG4gICAgICBjb25zdCBoYXNSZXN1bHRTZXRCZWxvd01heENvdW50ID0gcmVzdWx0U2V0Lmxlbmd0aCA8IE1BWF9SRVNVTFRfQ09VTlQ7XG5cbiAgICAgIGlmICghaGFzTWF0Y2hpbmdPcmdhbmlzYXRpb24gJiYgcGFydE1hdGNoaW5nUmVzdWx0U2V0Lmxlbmd0aCA9PT0gMCAmJiBoYXNSZXN1bHRTZXRCZWxvd01heENvdW50ICYmIHNlYXJjaEhhc1NwYWNlKSB7XG4gICAgICAgIHdpdGhTcGFjZU1hdGNoaW5nUmVzdWx0U2V0LnB1c2gob3JnKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gWy4uLnBhcnRNYXRjaGluZ1Jlc3VsdFNldCwgLi4ud2l0aFNwYWNlTWF0Y2hpbmdSZXN1bHRTZXRdLm1hcCgob3JnYW5pc2F0aW9uKSA9PlxuICAgICAgdGhpcy5vcmdhbmlzYXRpb25Db252ZXJ0ZXIudG9TaW1wbGVPcmdhbmlzYXRpb25Nb2RlbChvcmdhbmlzYXRpb24pXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyB0cmltQWxsKG9sZFRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG9sZFRleHQucmVwbGFjZSgvXFxzKy9nLCAnJyk7XG4gIH1cblxuICBwdWJsaWMgc2VsZWN0T3JnKHNlbGVjdGVkT3JnOiBTaW1wbGVPcmdhbmlzYXRpb25Nb2RlbCk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZE9yZy5vcmdhbmlzYXRpb25JZGVudGlmaWVyKTtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbk5hbWVGb3JtQ29udHJvbC5zZXRWYWx1ZShzZWxlY3RlZE9yZy5uYW1lKTtcbiAgICB0aGlzLnNlbGVjdGVkT3JnJCA9IG9mKHNlbGVjdGVkT3JnKTtcbiAgICB0aGlzLnNpbXBsZU9yZ2FuaXNhdGlvbnMkID0gb2YoWy4uLltdLCBzZWxlY3RlZE9yZ10pO1xuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnNlYXJjaE9yZ1RleHRGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUgPSB7XG4gICAgICBPcmdhbmlzYXRpb25JRDogc2VsZWN0ZWRPcmcub3JnYW5pc2F0aW9uSWRlbnRpZmllcixcbiAgICAgIE9yZ2FuaXNhdGlvbk5hbWU6IHNlbGVjdGVkT3JnLm5hbWVcbiAgICB9O1xuICAgIHRoaXMub3JnYW5pc2F0aW9uRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlKTtcbiAgfVxuXG4gIHB1YmxpYyBkZVNlbGVjdE9yZygpOiB2b2lkIHtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbklERm9ybUNvbnRyb2wucmVzZXQoKTtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbk5hbWVGb3JtQ29udHJvbC5yZXNldCgpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcmckID0gb2YoV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5FTVBUWV9TSU1QTEVfT1JHKTtcbiAgICB0aGlzLnNpbXBsZU9yZ2FuaXNhdGlvbnMkID0gb2YoW10pO1xuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB0aGlzLnNlYXJjaE9yZ1RleHRGb3JtQ29udHJvbC5lbmFibGUoKTtcbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IHsgT3JnYW5pc2F0aW9uSUQ6IG51bGwsIE9yZ2FuaXNhdGlvbk5hbWU6IG51bGwgfTtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbkZvcm1Hcm91cC5zZXRWYWx1ZSh0aGlzLmNhc2VGaWVsZC52YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIHByZVNlbGVjdERlZmF1bHRPcmcoKTogdm9pZCB7XG4gICAgdGhpcy5pbnN0YW50aWF0ZU9yZ2FuaXNhdGlvbkZvcm1Hcm91cCh0aGlzLmNhc2VGaWVsZC52YWx1ZS5PcmdhbmlzYXRpb25JRCwgdGhpcy5jYXNlRmllbGQudmFsdWUuT3JnYW5pc2F0aW9uTmFtZSk7XG4gICAgdGhpcy5zZWxlY3RlZE9yZyQgPSB0aGlzLm9yZ2FuaXNhdGlvbnMkLnBpcGUoXG4gICAgICBtYXAob3JnYW5pc2F0aW9ucyA9PlxuICAgICAgICBvcmdhbmlzYXRpb25zLmZpbHRlcihmaW5kT3JnID0+IHtcbiAgICAgICAgICByZXR1cm4gZmluZE9yZy5vcmdhbmlzYXRpb25JZGVudGlmaWVyID09PSB0aGlzLmNhc2VGaWVsZC52YWx1ZS5PcmdhbmlzYXRpb25JRDtcbiAgICAgICAgfSlcbiAgICAgICAgICAubWFwKG9yZ2FuaXNhdGlvbiA9PiB0aGlzLm9yZ2FuaXNhdGlvbkNvbnZlcnRlci50b1NpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsKG9yZ2FuaXNhdGlvbikpWzBdKSxcbiAgICApO1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC52YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC52YWx1ZS5PcmdhbmlzYXRpb25JRCkge1xuICAgICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wuZGlzYWJsZSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcHJlU2VsZWN0RW1wdHlPcmcoKTogdm9pZCB7XG4gICAgdGhpcy5pbnN0YW50aWF0ZU9yZ2FuaXNhdGlvbkZvcm1Hcm91cChudWxsLCBudWxsKTtcbiAgICB0aGlzLnNlbGVjdGVkT3JnJCA9IG9mKFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuRU1QVFlfU0lNUExFX09SRyk7XG4gIH1cblxuICBwcml2YXRlIGluc3RhbnRpYXRlT3JnYW5pc2F0aW9uRm9ybUdyb3VwKG9yZ0lEU3RhdGU6IGFueSwgb3JnTmFtZVN0YXRlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbklERm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wob3JnSURTdGF0ZSk7XG4gICAgdGhpcy5hZGRPcmdhbmlzYXRpb25WYWxpZGF0b3JzKHRoaXMuY2FzZUZpZWxkLCB0aGlzLm9yZ2FuaXNhdGlvbklERm9ybUNvbnRyb2wpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fSUQsIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbCk7XG4gICAgdGhpcy5vcmdhbmlzYXRpb25OYW1lRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wob3JnTmFtZVN0YXRlKTtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbkZvcm1Hcm91cC5hZGRDb250cm9sKFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuT1JHQU5JU0FUSU9OX05BTUUsIHRoaXMub3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkT3JnYW5pc2F0aW9uVmFsaWRhdG9ycyhjYXNlRmllbGQ6IENhc2VGaWVsZCwgY29udHJvbDogQWJzdHJhY3RDb250cm9sKTogdm9pZCB7XG4gICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlICYmIGNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzKSB7XG4gICAgICBjb25zdCBvcmdhbmlzYXRpb25JZEZpZWxkID0gY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHNcbiAgICAgICAgLmZpbmQoZmllbGQgPT4gZmllbGQuaWQgPT09IFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuT1JHQU5JU0FUSU9OX0lEKTtcbiAgICAgIHRoaXMuYWRkVmFsaWRhdG9ycyhvcmdhbmlzYXRpb25JZEZpZWxkLCBjb250cm9sKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNlYXJjaENyaXRlcmlhKG9yZ2FuaXNhdGlvbjogT3JnYW5pc2F0aW9uVm0sIGxvd2VyT3JnU2VhcmNoVGV4dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5wb3N0Q29kZSAmJiBvcmdhbmlzYXRpb24ucG9zdENvZGUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5wb3N0Q29kZSAmJiB0aGlzLnRyaW1BbGwob3JnYW5pc2F0aW9uLnBvc3RDb2RlKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLnBvc3RDb2RlICYmIG9yZ2FuaXNhdGlvbi5wb3N0Q29kZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMudHJpbUFsbChsb3dlck9yZ1NlYXJjaFRleHQpKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24ubmFtZSAmJiBvcmdhbmlzYXRpb24ubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLmFkZHJlc3NMaW5lMSAmJiBvcmdhbmlzYXRpb24uYWRkcmVzc0xpbmUxLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24uYWRkcmVzc0xpbmUyICYmIG9yZ2FuaXNhdGlvbi5hZGRyZXNzTGluZTIudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5hZGRyZXNzTGluZTMgJiYgb3JnYW5pc2F0aW9uLmFkZHJlc3NMaW5lMy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLnRvd25DaXR5ICYmIG9yZ2FuaXNhdGlvbi50b3duQ2l0eS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLmNvdW50eSAmJiBvcmdhbmlzYXRpb24uY291bnR5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIG5vaW5zcGVjdGlvbiBSZWR1bmRhbnRJZlN0YXRlbWVudEpTXG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5jb3VudHJ5ICYmIG9yZ2FuaXNhdGlvbi5jb3VudHJ5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoV2l0aFNwYWNlKG9yZ2FuaXNhdGlvbjogT3JnYW5pc2F0aW9uVm0sIGxvd2VyT3JnU2VhcmNoVGV4dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3Qgc2VhcmNoVGV4dEFycmF5OiBzdHJpbmdbXSA9IGxvd2VyT3JnU2VhcmNoVGV4dC5zcGxpdCgvXFxzKy9nKTtcbiAgICBmb3IgKGNvbnN0IHNpbmdsZVNlYXJjaFRleHQgb2Ygc2VhcmNoVGV4dEFycmF5KSB7XG4gICAgICBpZiAoc2luZ2xlU2VhcmNoVGV4dCAmJiB0aGlzLnNlYXJjaENyaXRlcmlhKG9yZ2FuaXNhdGlvbiwgc2luZ2xlU2VhcmNoVGV4dCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiIFtmb3JtR3JvdXBdPVwib3JnYW5pc2F0aW9uRm9ybUdyb3VwXCI+XG4gIDxmaWVsZHNldCAqbmdJZj1cIihvcmdhbmlzYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiPlxuICAgIDxsZWdlbmQgc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPjwvbGVnZW5kPlxuICAgIDxkaXYgY2xhc3M9XCJobWN0cy1iYW5uZXJcIj5cbiAgICAgIDxzdmcgY2xhc3M9XCJobWN0cy1iYW5uZXJfX2ljb25cIiBmaWxsPVwiY3VycmVudENvbG9yXCIgcm9sZT1cInByZXNlbnRhdGlvblwiIGZvY3VzYWJsZT1cImZhbHNlXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMjUgMjVcIiBoZWlnaHQ9XCIyNVwiIHdpZHRoPVwiMjVcIj5cbiAgICAgICAgPHBhdGggZD1cIk0xMy43LDE4LjVoLTIuNHYtMi40aDIuNFYxOC41eiBNMTIuNSwxMy43Yy0wLjcsMC0xLjItMC41LTEuMi0xLjJWNy43YzAtMC43LDAuNS0xLjIsMS4yLTEuMnMxLjIsMC41LDEuMiwxLjJ2NC44XG4gIEMxMy43LDEzLjIsMTMuMiwxMy43LDEyLjUsMTMuN3ogTTEyLjUsMC41Yy02LjYsMC0xMiw1LjQtMTIsMTJzNS40LDEyLDEyLDEyczEyLTUuNCwxMi0xMlMxOS4xLDAuNSwxMi41LDAuNXpcIiAvPjwvc3ZnPlxuICAgICAgPGRpdiBjbGFzcz1cImhtY3RzLWJhbm5lcl9fbWVzc2FnZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImhtY3RzLWJhbm5lcl9fYXNzaXN0aXZlXCI+e3snaW5mb3JtYXRpb24nIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgPHAgY2xhc3M9XCJ3YXJuaW5nLW1lc3NhZ2VcIj57eydPcmdhbmlzYXRpb24gc2VhcmNoIGlzIGN1cnJlbnRseSB1bmF2YWlsYWJsZS4nIHwgcnB4VHJhbnNsYXRlfX08L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwid2FybmluZy1wYW5lbFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIndhcm5pbmctbWVzc2FnZVwiPlxuICAgICAgICB7eydXZSBhcmUgd29ya2luZyB0byBmaXggdGhlIGlzc3VlLllvdSBjYW4gdHJ5IGFnYWluIGxhdGVyLicgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZmllbGRzZXQ+XG4gIDxmaWVsZHNldCAqbmdJZj1cIihvcmdhbmlzYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID4gMFwiIGNsYXNzPVwiZ292dWstZmllbGRzZXRcIj5cbiAgICA8bGVnZW5kIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2xlZ2VuZCBnb3Z1ay1maWVsZHNldF9fbGVnZW5kLS1sXCI+XG4gICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+XG4gICAgICAgIHt7J1NlYXJjaCBmb3IgYW4gb3JnYW5pc2F0aW9uJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2gyPlxuICAgIDwvbGVnZW5kPlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cInNlYXJjaC1vcmctdGV4dFwiPlxuICAgICAgICA8c3BhbiBpZD1cInNlYXJjaC1vcmctaGludFwiIGNsYXNzPVwiZ292dWstaGludFwiPlxuICAgICAgICAgIHt7J1lvdSBjYW4gb25seSBzZWFyY2ggZm9yIG9yZ2FuaXNhdGlvbnMgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggTXlITUNUUy4gRm9yIGV4YW1wbGUsIHlvdSBjYW4gc2VhcmNoIGJ5IG9yZ2FuaXNhdGlvbiBuYW1lIG9yIGFkZHJlc3MuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8aW5wdXQgaWQ9XCJzZWFyY2gtb3JnLXRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIHR5cGU9XCJ0ZXh0XCIgW2Zvcm1Db250cm9sXT1cInNlYXJjaE9yZ1RleHRGb3JtQ29udHJvbFwiLz5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZ292dWstZm9ybS1ncm91cFwiPlxuICAgICAgPGxhYmVsIGNsYXNzPVwiZ292dWstbGFiZWxcIiBmb3I9XCJvcmdhbmlzYXRpb24tdGFibGVcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZy1oMlwiPnt7J09yZ2FuaXNhdGlvbiBuYW1lIGFuZCBhZGRyZXNzJyB8IHJweFRyYW5zbGF0ZX19PC9oMj5cbiAgICAgIDwvbGFiZWw+XG4gICAgICA8aHIgY2xhc3M9XCJnb3Z1ay1zZWN0aW9uLWJyZWFrIGdvdnVrLXNlY3Rpb24tYnJlYWstLXZpc2libGVcIj5cbiAgICAgIDxkaXYgKm5nSWY9XCIhKHNlbGVjdGVkT3JnJCB8IGFzeW5jKT8ub3JnYW5pc2F0aW9uSWRlbnRpZmllcjsgZWxzZSBzZWxlY3RlZE9yZ2FuaXNhdGlvblwiIFtuZ0NsYXNzXT1cInsnc2Nyb2xsLWNvbnRhaW5lciAnOiAoc2ltcGxlT3JnYW5pc2F0aW9ucyQgfCBhc3luYyk/Lmxlbmd0aCA+IDEwfVwiPlxuICAgICAgICA8dGFibGUgaWQ9XCJvcmdhbmlzYXRpb24tdGFibGVcIiAqbmdGb3I9XCJsZXQgb3JnYW5pc2F0aW9uIG9mIChzaW1wbGVPcmdhbmlzYXRpb25zJCB8IGFzeW5jKVwiPlxuICAgICAgICAgIDxjYXB0aW9uPjxoMyBjbGFzcz1cIm5hbWUtaGVhZGVyXCI+e3tvcmdhbmlzYXRpb24ubmFtZX19PC9oMz48L2NhcHRpb24+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGggc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPjwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRkLWFkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICA8Y2NkLW1hcmtkb3duIFtjb250ZW50XT1cIm9yZ2FuaXNhdGlvbi5hZGRyZXNzXCI+PC9jY2QtbWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRkLXNlbGVjdFwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMCk7XCIgKGNsaWNrKT1cInNlbGVjdE9yZyhvcmdhbmlzYXRpb24pXCIgdGl0bGU9XCJ7eydTZWxlY3QgdGhlIG9yZ2FuaXNhdGlvbicgfCBycHhUcmFuc2xhdGV9fSB7e29yZ2FuaXNhdGlvbi5uYW1lfX1cIj5cbiAgICAgICAgICAgICAgICAgIHt7J1NlbGVjdCcgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihzaW1wbGVPcmdhbmlzYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwICYmIChzZWFyY2hPcmdWYWx1ZSQgfCBhc3luYyk/Lmxlbmd0aCA+IDJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcmVzdWx0LW1lc3NhZ2VcIj5cbiAgICAgICAgICAgIHt7J05vIHJlc3VsdHMgZm91bmQuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdGVkT3JnYW5pc2F0aW9uPlxuICAgICAgICA8dGFibGUgaWQ9XCJvcmdhbmlzYXRpb24tc2VsZWN0ZWQtdGFibGVcIiAqbmdJZj1cIihzZWxlY3RlZE9yZyQgfCBhc3luYykgYXMgc2VsZWN0ZWRPcmdcIj5cbiAgICAgICAgICA8Y2FwdGlvbj48aDMgY2xhc3M9XCJuYW1lLWhlYWRlclwiPnt7c2VsZWN0ZWRPcmcubmFtZX19PC9oMz48L2NhcHRpb24+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGggc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPjwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRkLWFkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICA8Y2NkLW1hcmtkb3duIFtjb250ZW50XT1cInNlbGVjdGVkT3JnLmFkZHJlc3NcIj48L2NjZC1tYXJrZG93bj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIiAoY2xpY2spPVwiZGVTZWxlY3RPcmcoKVwiXG4gICAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7eydDbGVhciBvcmdhbmlzYXRpb24gc2VsZWN0aW9uIGZvcicgfCBycHhUcmFuc2xhdGV9fSB7e3NlbGVjdGVkT3JnLm5hbWV9fVwiPlxuICAgICAgICAgICAgICAgICAge3snQ2xlYXInIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICA8L3RyPlxuICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgIDwvdGFibGU+XG4gICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZGl2PlxuICAgIDxjY2Qtd3JpdGUtb3JnYW5pc2F0aW9uLWNvbXBsZXgtZmllbGQgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkT3JnJF09XCJzZWxlY3RlZE9yZyRcIj5cbiAgICA8L2NjZC13cml0ZS1vcmdhbmlzYXRpb24tY29tcGxleC1maWVsZD5cbiAgICA8ZGV0YWlscyBpZD1cImZpbmQtb3JnYW5pc2F0aW9uLWhlbHBcIiBjbGFzcz1cImdvdnVrLWRldGFpbHNcIiBkYXRhLW1vZHVsZT1cImdvdnVrLWRldGFpbHNcIj5cbiAgICAgIDxzdW1tYXJ5IGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeVwiPlxuICAgICAgPHNwYW4gaWQ9XCJjb250ZW50LXdoeS1jYW4tbm90LWZpbmQtb3JnYW5pc2F0aW9uXCIgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX19zdW1tYXJ5LXRleHRcIj5cbiAgICAgICAge3tcIkNhbuKAmXQgZmluZCB0aGUgb3JnYW5pc2F0aW9uIHlvdSBhcmUgbG9va2luZyBmb3I/XCIgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9zcGFuPlxuICAgICAgPC9zdW1tYXJ5PlxuICAgICAgPGRpdiBpZD1cImNvbnRlbnQtcmVhc29uLWNhbi1ub3QtZmluZC1vcmdhbmlzYXRpb25cIiBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3RleHRcIj5cbiAgICAgICAge3snSWYgeW91IGtub3cgdGhhdCB0aGUgc29saWNpdG9yIGlzIGFscmVhZHkgcmVnaXN0ZXJlZCB3aXRoIE15SE1DVFMsIGNoZWNrIHRoYXQgeW91IGhhdmUgZW50ZXJlZCB0aGVpciBkZXRhaWxzIGNvcnJlY3RseS4nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAge3tcIlJlbWVtYmVyIHRoYXQgb3JnYW5pc2F0aW9ucyBjYW4gb25seSByZWdpc3RlciBvbmUgb2ZmaWNlIGFkZHJlc3MuIFRoaXMgbWVhbnMgdGhhdCB0aGUgZGV0YWlscyBjb3VsZCBiZSBzbGlnaHRseSBkaWZmZXJlbnQgZnJvbSB3aGF0IHlvdSdyZSBleHBlY3RpbmcuIENvbnRhY3QgdGhlIHNvbGljaXRvciBkaXJlY3RseSBpZiB5b3UgaGF2ZSBhbnkgY29uY2VybnMuXCIgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgPC9kaXY+XG4gICAgPC9kZXRhaWxzPlxuICA8L2ZpZWxkc2V0PlxuPC9kaXY+XG4iXX0=
|
|
397
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtb3JnYW5pc2F0aW9uLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL29yZ2FuaXNhdGlvbi93cml0ZS1vcmdhbmlzYXRpb24tZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvb3JnYW5pc2F0aW9uL3dyaXRlLW9yZ2FuaXNhdGlvbi1maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBbUIsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEMsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVoRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUU1RixPQUFPLEVBQUUsbUJBQW1CLEVBQWtCLE1BQU0scURBQXFELENBQUM7QUFDMUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBRXhFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7O0lDVHpGLG1DQUFnRjtJQUM5RSw0QkFBd0M7SUFDeEMsOEJBQTBCOztJQUN4Qiw4QkFBd0s7SUFDdEssMEJBQ3dHO0lBQUEsaUJBQU07O0lBRTlHLEFBREYsOEJBQW1DLGNBQ0s7SUFBQSxZQUFnQzs7SUFBQSxpQkFBTztJQUMzRSw2QkFB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T0FBTyxJQUFJLENBQUM7WUFDZCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7eUhBdE5VLCtCQUErQjs2REFBL0IsK0JBQStCO1lDakI1Qyw4QkFBNEQ7WUFDMUQsMkZBQWdGOztZQWlCaEYsNEZBQThFOztZQThFaEYsaUJBQU07Ozs7WUFoR2tCLHFEQUFtQztZQUM5QyxjQUE0QztZQUE1QyxtSEFBNEM7WUFpQjVDLGVBQTBDO1lBQTFDLGlIQUEwQzs7O2lGREQxQywrQkFBK0I7Y0FMM0MsU0FBUzsyQkFDRSw4QkFBOEI7O2tGQUk3QiwrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBPcmdhbmlzYXRpb25Db252ZXJ0ZXIgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vb3JnYW5pc2F0aW9uL29yZ2FuaXNhdGlvbi1jb252ZXJ0ZXInO1xuaW1wb3J0IHsgU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vb3JnYW5pc2F0aW9uL3NpbXBsZS1vcmdhbmlzYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgT3JnYW5pc2F0aW9uU2VydmljZSwgT3JnYW5pc2F0aW9uVm0gfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9vcmdhbmlzYXRpb24vb3JnYW5pc2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHsgV2luZG93U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3dpbmRvdy93aW5kb3cuc2VydmljZSc7XG5cbmltcG9ydCB7IEFic3RyYWN0RmllbGRXcml0ZUNvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtd3JpdGUuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXdyaXRlLW9yZ2FuaXNhdGlvbi1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi93cml0ZS1vcmdhbmlzYXRpb24tZmllbGQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9vcmdhbmlzYXRpb24tZmllbGQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkV3JpdGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IEVNUFRZX1NJTVBMRV9PUkc6IFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsID0geyBvcmdhbmlzYXRpb25JZGVudGlmaWVyOiAnJywgbmFtZTogJycsIGFkZHJlc3M6ICcnIH07XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IE1BWF9SRVNVTFRfQ09VTlQ6IG51bWJlciA9IDEwMDtcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgT1JHQU5JU0FUSU9OX0lEOiBzdHJpbmcgPSAnT3JnYW5pc2F0aW9uSUQnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBPUkdBTklTQVRJT05fTkFNRTogc3RyaW5nID0gJ09yZ2FuaXNhdGlvbk5hbWUnO1xuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBQUkVfUE9QVUxBVEVfVE9fVVNFUlNfT1JHQU5JU0FUSU9OOiBzdHJpbmcgPSAnUHJlcG9wdWxhdGVUb1VzZXJzT3JnYW5pc2F0aW9uJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgT1JHQU5JU0FUSU9OX0RFVEFJTFM6IHN0cmluZyA9ICdvcmdhbmlzYXRpb25EZXRhaWxzJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgWUVTOiBzdHJpbmcgPSAnWUVTJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTUFOREFUT1JZOiBzdHJpbmcgPSAnTUFOREFUT1JZJztcbiAgcHVibGljIGRlZmF1bHRPcmc6IGFueTtcblxuICBwdWJsaWMgb3JnYW5pc2F0aW9uRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBzZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuICBwdWJsaWMgb3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbDogRm9ybUNvbnRyb2w7XG4gIHB1YmxpYyBvcmdhbmlzYXRpb25OYW1lRm9ybUNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gIHB1YmxpYyBvcmdhbmlzYXRpb25zJDogT2JzZXJ2YWJsZTxPcmdhbmlzYXRpb25WbVtdPjtcbiAgcHVibGljIHNlYXJjaE9yZ1ZhbHVlJDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICBwdWJsaWMgc2ltcGxlT3JnYW5pc2F0aW9ucyQ6IE9ic2VydmFibGU8U2ltcGxlT3JnYW5pc2F0aW9uTW9kZWxbXT47XG4gIHB1YmxpYyBzZWxlY3RlZE9yZyQ6IE9ic2VydmFibGU8U2ltcGxlT3JnYW5pc2F0aW9uTW9kZWw+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgb3JnYW5pc2F0aW9uU2VydmljZTogT3JnYW5pc2F0aW9uU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IG9yZ2FuaXNhdGlvbkNvbnZlcnRlcjogT3JnYW5pc2F0aW9uQ29udmVydGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgd2luZG93U2VydmljZTogV2luZG93U2VydmljZSkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kZWZhdWx0T3JnID0gSlNPTi5wYXJzZSh0aGlzLndpbmRvd1NlcnZpY2UuZ2V0U2Vzc2lvblN0b3JhZ2UoV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fREVUQUlMUykpO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9ucyQgPSB0aGlzLm9yZ2FuaXNhdGlvblNlcnZpY2UuZ2V0QWN0aXZlT3JnYW5pc2F0aW9ucygpO1xuXG4gICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woJycpO1xuICAgIHRoaXMuc2VhcmNoT3JnVmFsdWUkID0gdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzO1xuICAgIHRoaXMuc2VhcmNoT3JnVmFsdWUkLnN1YnNjcmliZSh2YWx1ZSA9PiB0aGlzLm9uU2VhcmNoT3JnKHZhbHVlKSk7XG5cbiAgICB0aGlzLm9yZ2FuaXNhdGlvbkZvcm1Hcm91cCA9IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtR3JvdXAoe30pLCB0cnVlKSBhcyBGb3JtR3JvdXA7XG4gICAgaWYgKHRoaXMucGFyZW50ICYmIHRoaXMucGFyZW50LmNvbnRyb2xzICYmIHRoaXMucGFyZW50LmNvbnRyb2xzLmhhc093blByb3BlcnR5KFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTilcbiAgICAgICYmIHRoaXMucGFyZW50LmNvbnRyb2xzW1dyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTl0udmFsdWVcbiAgICAgICYmIHRoaXMucGFyZW50LmNvbnRyb2xzW1dyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuUFJFX1BPUFVMQVRFX1RPX1VTRVJTX09SR0FOSVNBVElPTl0udmFsdWUudG9VcHBlckNhc2UoKVxuICAgICAgPT09IFdyaXRlT3JnYW5pc2F0aW9uRmllbGRDb21wb25lbnQuWUVTKSB7XG4gICAgICBpZiAodGhpcy5jYXNlRmllbGQgJiYgIXRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0ge1xuICAgICAgICAgIE9yZ2FuaXNhdGlvbklEOiB0aGlzLmRlZmF1bHRPcmcgPyB0aGlzLmRlZmF1bHRPcmcub3JnYW5pc2F0aW9uSWRlbnRpZmllciA6IG51bGwsXG4gICAgICAgICAgT3JnYW5pc2F0aW9uTmFtZTogdGhpcy5kZWZhdWx0T3JnID8gdGhpcy5kZWZhdWx0T3JnLm5hbWUgOiBudWxsXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICB0aGlzLnByZVNlbGVjdERlZmF1bHRPcmcoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuY2FzZUZpZWxkICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEKSB7XG4gICAgICAgIHRoaXMucHJlU2VsZWN0RGVmYXVsdE9yZygpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wcmVTZWxlY3RFbXB0eU9yZygpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEVuc3VyZSB0aGF0IGFsbCBzdWItZmllbGRzIGluaGVyaXQgdGhlIHNhbWUgdmFsdWUgZm9yIHJldGFpbl9oaWRkZW5fdmFsdWUgYXMgdGhpcyBwYXJlbnQ7IGFsdGhvdWdoIGFuXG4gICAgLy8gT3JnYW5pc2F0aW9uIGZpZWxkIHVzZXMgdGhlIENvbXBsZXggdHlwZSwgaXQgaXMgbWVhbnQgdG8gYmUgdHJlYXRlZCBhcyBvbmUgZmllbGRcbiAgICBpZiAodGhpcy5jYXNlRmllbGQgJiYgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnQ29tcGxleCcpIHtcbiAgICAgIGZvciAoY29uc3Qgb3JnYW5pc2F0aW9uU3ViRmllbGQgb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgICBvcmdhbmlzYXRpb25TdWJGaWVsZC5yZXRhaW5faGlkZGVuX3ZhbHVlID0gdGhpcy5jYXNlRmllbGQucmV0YWluX2hpZGRlbl92YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWFyY2hPcmcob3JnU2VhcmNoVGV4dDogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKG9yZ1NlYXJjaFRleHQgJiYgb3JnU2VhcmNoVGV4dC5sZW5ndGggPj0gMikge1xuICAgICAgY29uc3QgbG93ZXJPcmdTZWFyY2hUZXh0ID0gb3JnU2VhcmNoVGV4dC50b0xvd2VyQ2FzZSgpO1xuICAgICAgdGhpcy5zaW1wbGVPcmdhbmlzYXRpb25zJCA9IHRoaXMub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgICAgc3dpdGNoTWFwKG9yZ2FuaXNhdGlvbnMgPT4gb2YoXG4gICAgICAgICAgdGhpcy5zZWFyY2hPcmcob3JnYW5pc2F0aW9ucywgbG93ZXJPcmdTZWFyY2hUZXh0KVxuICAgICAgICApXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbXSk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHdheSB0aGUgc2VhcmNoIHdvcmtzIGRpdmlkZSBpbnRvIHR3byBwaGFzZXNcbiAgLy8gMS4gZ28gdGhyb3VnaCBjb2xsZWN0aW9uIG9mIG9yZyBpdGVtcyBvbmUgYnkgb25lIGJ5IGRvaW5nIHRoZSBjb21wYXJzaW9uIG9mIHNlYXJjaCBzdHJpbmcgdXNpbmcgaW5jbHVkZXMgdG8gYWxsIHRoZSBhZGRyZXNzIGZpZWxkc1xuICAvLyAyLiBzcGxpdCB0aGUgc2VhcmNoIHN0cmluZyBpbnRvIGFycmF5cyBhbmQgYXBwbHkgdGhlIGVhY2ggYXJyYXkgaXRlbSBpbnRvIHRoZSBhZGRyZXNzIGZpZWxkc1xuICAvLyAzLiBib3RoIHN0ZXAgMSwgMiB3aWxsIGdvIHVudGlsIG1heCBjb3VudCByZXN1bHQgcmVhY2hlcywgYW5kIGZpbmFsbHkgY29tYmluZSBib3RoIHJlc3VsdCBzZXRzIGludG8gZmluYWwgY29sbGVjdGlvblxuICBwdWJsaWMgc2VhcmNoT3JnKG9yZ2FuaXNhdGlvbnM6IE9yZ2FuaXNhdGlvblZtW10sIGxvd2VyT3JnU2VhcmNoVGV4dDogc3RyaW5nKTogU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWxbXSB7XG4gICAgY29uc3QgcGFydE1hdGNoaW5nUmVzdWx0U2V0ID0gW107XG4gICAgY29uc3Qgd2l0aFNwYWNlTWF0Y2hpbmdSZXN1bHRTZXQgPSBbXTtcbiAgICBjb25zdCBNQVhfUkVTVUxUX0NPVU5UID0gV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5NQVhfUkVTVUxUX0NPVU5UO1xuICAgIG9yZ2FuaXNhdGlvbnMuZm9yRWFjaCgob3JnYW5pc2F0aW9uKSA9PiB7XG4gICAgICBpZiAocGFydE1hdGNoaW5nUmVzdWx0U2V0Lmxlbmd0aCA8IE1BWF9SRVNVTFRfQ09VTlQgJiYgdGhpcy5zZWFyY2hDcml0ZXJpYShvcmdhbmlzYXRpb24sIGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgICAgcGFydE1hdGNoaW5nUmVzdWx0U2V0LnB1c2gob3JnYW5pc2F0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIG9yZ2FuaXNhdGlvbnMuZm9yRWFjaCgob3JnKSA9PiB7XG4gICAgICBjb25zdCByZXN1bHRTZXQgPSBbLi4ucGFydE1hdGNoaW5nUmVzdWx0U2V0LCAuLi53aXRoU3BhY2VNYXRjaGluZ1Jlc3VsdFNldF07XG4gICAgICBjb25zdCBoYXNNYXRjaGluZ09yZ2FuaXNhdGlvbiA9IHJlc3VsdFNldC5maW5kKGl0ZW0gPT4gaXRlbS5vcmdhbmlzYXRpb25JZGVudGlmaWVyID09PSBvcmcub3JnYW5pc2F0aW9uSWRlbnRpZmllcik7XG4gICAgICBjb25zdCBzZWFyY2hIYXNTcGFjZSA9IHRoaXMuc2VhcmNoV2l0aFNwYWNlKG9yZywgbG93ZXJPcmdTZWFyY2hUZXh0KTtcbiAgICAgIGNvbnN0IGhhc1Jlc3VsdFNldEJlbG93TWF4Q291bnQgPSByZXN1bHRTZXQubGVuZ3RoIDwgTUFYX1JFU1VMVF9DT1VOVDtcblxuICAgICAgaWYgKCFoYXNNYXRjaGluZ09yZ2FuaXNhdGlvbiAmJiBwYXJ0TWF0Y2hpbmdSZXN1bHRTZXQubGVuZ3RoID09PSAwICYmIGhhc1Jlc3VsdFNldEJlbG93TWF4Q291bnQgJiYgc2VhcmNoSGFzU3BhY2UpIHtcbiAgICAgICAgd2l0aFNwYWNlTWF0Y2hpbmdSZXN1bHRTZXQucHVzaChvcmcpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBbLi4ucGFydE1hdGNoaW5nUmVzdWx0U2V0LCAuLi53aXRoU3BhY2VNYXRjaGluZ1Jlc3VsdFNldF0ubWFwKChvcmdhbmlzYXRpb24pID0+XG4gICAgICB0aGlzLm9yZ2FuaXNhdGlvbkNvbnZlcnRlci50b1NpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsKG9yZ2FuaXNhdGlvbilcbiAgICApO1xuICB9XG5cbiAgcHVibGljIHRyaW1BbGwob2xkVGV4dDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gb2xkVGV4dC5yZXBsYWNlKC9cXHMrL2csICcnKTtcbiAgfVxuXG4gIHB1YmxpYyBzZWxlY3RPcmcoc2VsZWN0ZWRPcmc6IFNpbXBsZU9yZ2FuaXNhdGlvbk1vZGVsKTogdm9pZCB7XG4gICAgdGhpcy5vcmdhbmlzYXRpb25JREZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGVkT3JnLm9yZ2FuaXNhdGlvbklkZW50aWZpZXIpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sLnNldFZhbHVlKHNlbGVjdGVkT3JnLm5hbWUpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcmckID0gb2Yoc2VsZWN0ZWRPcmcpO1xuICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbLi4uW10sIHNlbGVjdGVkT3JnXSk7XG4gICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLmRpc2FibGUoKTtcbiAgICB0aGlzLmNhc2VGaWVsZC52YWx1ZSA9IHtcbiAgICAgIE9yZ2FuaXNhdGlvbklEOiBzZWxlY3RlZE9yZy5vcmdhbmlzYXRpb25JZGVudGlmaWVyLFxuICAgICAgT3JnYW5pc2F0aW9uTmFtZTogc2VsZWN0ZWRPcmcubmFtZVxuICAgIH07XG4gICAgdGhpcy5vcmdhbmlzYXRpb25Gb3JtR3JvdXAuc2V0VmFsdWUodGhpcy5jYXNlRmllbGQudmFsdWUpO1xuICB9XG5cbiAgcHVibGljIGRlU2VsZWN0T3JnKCk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbC5yZXNldCgpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uTmFtZUZvcm1Db250cm9sLnJlc2V0KCk7XG4gICAgdGhpcy5zZWxlY3RlZE9yZyQgPSBvZihXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50LkVNUFRZX1NJTVBMRV9PUkcpO1xuICAgIHRoaXMuc2ltcGxlT3JnYW5pc2F0aW9ucyQgPSBvZihbXSk7XG4gICAgdGhpcy5zZWFyY2hPcmdUZXh0Rm9ybUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIHRoaXMuc2VhcmNoT3JnVGV4dEZvcm1Db250cm9sLmVuYWJsZSgpO1xuICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0geyBPcmdhbmlzYXRpb25JRDogbnVsbCwgT3JnYW5pc2F0aW9uTmFtZTogbnVsbCB9O1xuICAgIHRoaXMub3JnYW5pc2F0aW9uRm9ybUdyb3VwLnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlKTtcbiAgfVxuXG4gIHByaXZhdGUgcHJlU2VsZWN0RGVmYXVsdE9yZygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbnRpYXRlT3JnYW5pc2F0aW9uRm9ybUdyb3VwKHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklELCB0aGlzLmNhc2VGaWVsZC52YWx1ZS5PcmdhbmlzYXRpb25OYW1lKTtcbiAgICB0aGlzLnNlbGVjdGVkT3JnJCA9IHRoaXMub3JnYW5pc2F0aW9ucyQucGlwZShcbiAgICAgIG1hcChvcmdhbmlzYXRpb25zID0+XG4gICAgICAgIG9yZ2FuaXNhdGlvbnMuZmlsdGVyKGZpbmRPcmcgPT4ge1xuICAgICAgICAgIHJldHVybiBmaW5kT3JnLm9yZ2FuaXNhdGlvbklkZW50aWZpZXIgPT09IHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEO1xuICAgICAgICB9KVxuICAgICAgICAgIC5tYXAob3JnYW5pc2F0aW9uID0+IHRoaXMub3JnYW5pc2F0aW9uQ29udmVydGVyLnRvU2ltcGxlT3JnYW5pc2F0aW9uTW9kZWwob3JnYW5pc2F0aW9uKSlbMF0pLFxuICAgICk7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLnZhbHVlICYmIHRoaXMuY2FzZUZpZWxkLnZhbHVlLk9yZ2FuaXNhdGlvbklEKSB7XG4gICAgICB0aGlzLnNlYXJjaE9yZ1RleHRGb3JtQ29udHJvbC5kaXNhYmxlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwcmVTZWxlY3RFbXB0eU9yZygpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbnRpYXRlT3JnYW5pc2F0aW9uRm9ybUdyb3VwKG51bGwsIG51bGwpO1xuICAgIHRoaXMuc2VsZWN0ZWRPcmckID0gb2YoV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5FTVBUWV9TSU1QTEVfT1JHKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFudGlhdGVPcmdhbmlzYXRpb25Gb3JtR3JvdXAob3JnSURTdGF0ZTogYW55LCBvcmdOYW1lU3RhdGU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChvcmdJRFN0YXRlKTtcbiAgICB0aGlzLmFkZE9yZ2FuaXNhdGlvblZhbGlkYXRvcnModGhpcy5jYXNlRmllbGQsIHRoaXMub3JnYW5pc2F0aW9uSURGb3JtQ29udHJvbCk7XG4gICAgdGhpcy5vcmdhbmlzYXRpb25Gb3JtR3JvdXAuYWRkQ29udHJvbChXcml0ZU9yZ2FuaXNhdGlvbkZpZWxkQ29tcG9uZW50Lk9SR0FOSVNBVElPTl9JRCwgdGhpcy5vcmdhbmlzYXRpb25JREZvcm1Db250cm9sKTtcbiAgICB0aGlzLm9yZ2FuaXNhdGlvbk5hbWVGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbChvcmdOYW1lU3RhdGUpO1xuICAgIHRoaXMub3JnYW5pc2F0aW9uRm9ybUdyb3VwLmFkZENvbnRyb2woV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fTkFNRSwgdGhpcy5vcmdhbmlzYXRpb25OYW1lRm9ybUNvbnRyb2wpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRPcmdhbmlzYXRpb25WYWxpZGF0b3JzKGNhc2VGaWVsZDogQ2FzZUZpZWxkLCBjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiB2b2lkIHtcbiAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUgJiYgY2FzZUZpZWxkLmZpZWxkX3R5cGUuY29tcGxleF9maWVsZHMpIHtcbiAgICAgIGNvbnN0IG9yZ2FuaXNhdGlvbklkRmllbGQgPSBjYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkc1xuICAgICAgICAuZmluZChmaWVsZCA9PiBmaWVsZC5pZCA9PT0gV3JpdGVPcmdhbmlzYXRpb25GaWVsZENvbXBvbmVudC5PUkdBTklTQVRJT05fSUQpO1xuICAgICAgdGhpcy5hZGRWYWxpZGF0b3JzKG9yZ2FuaXNhdGlvbklkRmllbGQsIGNvbnRyb2wpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2VhcmNoQ3JpdGVyaWEob3JnYW5pc2F0aW9uOiBPcmdhbmlzYXRpb25WbSwgbG93ZXJPcmdTZWFyY2hUZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAob3JnYW5pc2F0aW9uLnBvc3RDb2RlICYmIG9yZ2FuaXNhdGlvbi5wb3N0Q29kZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLnBvc3RDb2RlICYmIHRoaXMudHJpbUFsbChvcmdhbmlzYXRpb24ucG9zdENvZGUpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24ucG9zdENvZGUgJiYgb3JnYW5pc2F0aW9uLnBvc3RDb2RlLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy50cmltQWxsKGxvd2VyT3JnU2VhcmNoVGV4dCkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5uYW1lICYmIG9yZ2FuaXNhdGlvbi5uYW1lLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24uYWRkcmVzc0xpbmUxICYmIG9yZ2FuaXNhdGlvbi5hZGRyZXNzTGluZTEudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG9yZ2FuaXNhdGlvbi5hZGRyZXNzTGluZTIgJiYgb3JnYW5pc2F0aW9uLmFkZHJlc3NMaW5lMi50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGxvd2VyT3JnU2VhcmNoVGV4dCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAob3JnYW5pc2F0aW9uLmFkZHJlc3NMaW5lMyAmJiBvcmdhbmlzYXRpb24uYWRkcmVzc0xpbmUzLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24udG93bkNpdHkgJiYgb3JnYW5pc2F0aW9uLnRvd25DaXR5LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMobG93ZXJPcmdTZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChvcmdhbmlzYXRpb24uY291bnR5ICYmIG9yZ2FuaXNhdGlvbi5jb3VudHkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gbm9pbnNwZWN0aW9uIFJlZHVuZGFudElmU3RhdGVtZW50SlNcbiAgICBpZiAob3JnYW5pc2F0aW9uLmNvdW50cnkgJiYgb3JnYW5pc2F0aW9uLmNvdW50cnkudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhsb3dlck9yZ1NlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZWFyY2hXaXRoU3BhY2Uob3JnYW5pc2F0aW9uOiBPcmdhbmlzYXRpb25WbSwgbG93ZXJPcmdTZWFyY2hUZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBzZWFyY2hUZXh0QXJyYXk6IHN0cmluZ1tdID0gbG93ZXJPcmdTZWFyY2hUZXh0LnNwbGl0KC9cXHMrL2cpO1xuICAgIGZvciAoY29uc3Qgc2luZ2xlU2VhcmNoVGV4dCBvZiBzZWFyY2hUZXh0QXJyYXkpIHtcbiAgICAgIGlmIChzaW5nbGVTZWFyY2hUZXh0ICYmIHRoaXMuc2VhcmNoQ3JpdGVyaWEob3JnYW5pc2F0aW9uLCBzaW5nbGVTZWFyY2hUZXh0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJvcmdhbmlzYXRpb25Gb3JtR3JvdXBcIj5cbiAgPGZpZWxkc2V0ICpuZ0lmPVwiKG9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cImdvdnVrLWZpZWxkc2V0XCI+XG4gICAgPGxlZ2VuZCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC9sZWdlbmQ+XG4gICAgPGRpdiBjbGFzcz1cImhtY3RzLWJhbm5lclwiPlxuICAgICAgPHN2ZyBjbGFzcz1cImhtY3RzLWJhbm5lcl9faWNvblwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIiByb2xlPVwicHJlc2VudGF0aW9uXCIgZm9jdXNhYmxlPVwiZmFsc2VcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgdmlld0JveD1cIjAgMCAyNSAyNVwiIGhlaWdodD1cIjI1XCIgd2lkdGg9XCIyNVwiPlxuICAgICAgICA8cGF0aCBkPVwiTTEzLjcsMTguNWgtMi40di0yLjRoMi40VjE4LjV6IE0xMi41LDEzLjdjLTAuNywwLTEuMi0wLjUtMS4yLTEuMlY3LjdjMC0wLjcsMC41LTEuMiwxLjItMS4yczEuMiwwLjUsMS4yLDEuMnY0LjhcbiAgQzEzLjcsMTMuMiwxMy4yLDEzLjcsMTIuNSwxMy43eiBNMTIuNSwwLjVjLTYuNiwwLTEyLDUuNC0xMiwxMnM1LjQsMTIsMTIsMTJzMTItNS40LDEyLTEyUzE5LjEsMC41LDEyLjUsMC41elwiIC8+PC9zdmc+XG4gICAgICA8ZGl2IGNsYXNzPVwiaG1jdHMtYmFubmVyX19tZXNzYWdlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiaG1jdHMtYmFubmVyX19hc3Npc3RpdmVcIj57eydpbmZvcm1hdGlvbicgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICA8cCBjbGFzcz1cIndhcm5pbmctbWVzc2FnZVwiPnt7J09yZ2FuaXNhdGlvbiBzZWFyY2ggaXMgY3VycmVudGx5IHVuYXZhaWxhYmxlLicgfCBycHhUcmFuc2xhdGV9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJ3YXJuaW5nLXBhbmVsXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwid2FybmluZy1tZXNzYWdlXCI+XG4gICAgICAgIHt7J1dlIGFyZSB3b3JraW5nIHRvIGZpeCB0aGUgaXNzdWUuWW91IGNhbiB0cnkgYWdhaW4gbGF0ZXIuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9maWVsZHNldD5cbiAgPGZpZWxkc2V0ICpuZ0lmPVwiKG9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpPy5sZW5ndGggPiAwXCIgY2xhc3M9XCJnb3Z1ay1maWVsZHNldFwiPlxuICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgIDxoMiBjbGFzcz1cImhlYWRpbmctaDJcIj5cbiAgICAgICAge3snU2VhcmNoIGZvciBhbiBvcmdhbmlzYXRpb24nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvaDI+XG4gICAgPC9sZWdlbmQ+XG4gICAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIj5cbiAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsXCIgZm9yPVwic2VhcmNoLW9yZy10ZXh0XCI+XG4gICAgICAgIDxzcGFuIGlkPVwic2VhcmNoLW9yZy1oaW50XCIgY2xhc3M9XCJnb3Z1ay1oaW50XCI+XG4gICAgICAgICAge3snWW91IGNhbiBvbmx5IHNlYXJjaCBmb3Igb3JnYW5pc2F0aW9ucyBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCBNeUhNQ1RTLiBGb3IgZXhhbXBsZSwgeW91IGNhbiBzZWFyY2ggYnkgb3JnYW5pc2F0aW9uIG5hbWUgb3IgYWRkcmVzcy4nIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxpbnB1dCBpZD1cInNlYXJjaC1vcmctdGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgdHlwZT1cInRleHRcIiBbZm9ybUNvbnRyb2xdPVwic2VhcmNoT3JnVGV4dEZvcm1Db250cm9sXCIvPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwXCI+XG4gICAgICA8bGFiZWwgY2xhc3M9XCJnb3Z1ay1sYWJlbFwiIGZvcj1cIm9yZ2FuaXNhdGlvbi10YWJsZVwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nLWgyXCI+e3snT3JnYW5pc2F0aW9uIG5hbWUgYW5kIGFkZHJlc3MnIHwgcnB4VHJhbnNsYXRlfX08L2gyPlxuICAgICAgPC9sYWJlbD5cbiAgICAgIDxociBjbGFzcz1cImdvdnVrLXNlY3Rpb24tYnJlYWsgZ292dWstc2VjdGlvbi1icmVhay0tdmlzaWJsZVwiPlxuICAgICAgPGRpdiAqbmdJZj1cIiEoc2VsZWN0ZWRPcmckIHwgYXN5bmMpPy5vcmdhbmlzYXRpb25JZGVudGlmaWVyOyBlbHNlIHNlbGVjdGVkT3JnYW5pc2F0aW9uXCIgW25nQ2xhc3NdPVwieydzY3JvbGwtY29udGFpbmVyICc6IChzaW1wbGVPcmdhbmlzYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID4gMTB9XCI+XG4gICAgICAgIDx0YWJsZSBpZD1cIm9yZ2FuaXNhdGlvbi10YWJsZVwiICpuZ0Zvcj1cImxldCBvcmdhbmlzYXRpb24gb2YgKHNpbXBsZU9yZ2FuaXNhdGlvbnMkIHwgYXN5bmMpXCI+XG4gICAgICAgICAgPGNhcHRpb24+PGgzIGNsYXNzPVwibmFtZS1oZWFkZXJcIj57e29yZ2FuaXNhdGlvbi5uYW1lfX08L2gzPjwvY2FwdGlvbj5cbiAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8dHI+XG4gICAgICAgICAgICAgIDx0aCBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+PC90aD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtYWRkcmVzc1wiPlxuICAgICAgICAgICAgICAgIDxjY2QtbWFya2Rvd24gW2NvbnRlbnRdPVwib3JnYW5pc2F0aW9uLmFkZHJlc3NcIj48L2NjZC1tYXJrZG93bj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiAoY2xpY2spPVwic2VsZWN0T3JnKG9yZ2FuaXNhdGlvbik7ICRldmVudC5wcmV2ZW50RGVmYXVsdCgpXCIgdGl0bGU9XCJ7eydTZWxlY3QgdGhlIG9yZ2FuaXNhdGlvbicgfCBycHhUcmFuc2xhdGV9fSB7e29yZ2FuaXNhdGlvbi5uYW1lfX1cIj5cbiAgICAgICAgICAgICAgICAgIHt7J1NlbGVjdCcgfCBycHhUcmFuc2xhdGV9fVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPGRpdiAqbmdJZj1cIihzaW1wbGVPcmdhbmlzYXRpb25zJCB8IGFzeW5jKT8ubGVuZ3RoID09PSAwICYmIChzZWFyY2hPcmdWYWx1ZSQgfCBhc3luYyk/Lmxlbmd0aCA+IDJcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwibm8tcmVzdWx0LW1lc3NhZ2VcIj5cbiAgICAgICAgICAgIHt7J05vIHJlc3VsdHMgZm91bmQuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctdGVtcGxhdGUgI3NlbGVjdGVkT3JnYW5pc2F0aW9uPlxuICAgICAgICA8dGFibGUgaWQ9XCJvcmdhbmlzYXRpb24tc2VsZWN0ZWQtdGFibGVcIiAqbmdJZj1cIihzZWxlY3RlZE9yZyQgfCBhc3luYykgYXMgc2VsZWN0ZWRPcmdcIj5cbiAgICAgICAgICA8Y2FwdGlvbj48aDMgY2xhc3M9XCJuYW1lLWhlYWRlclwiPnt7c2VsZWN0ZWRPcmcubmFtZX19PC9oMz48L2NhcHRpb24+XG4gICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICA8dGggc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiPjwvdGg+XG4gICAgICAgICAgICAgIDx0ZCBjbGFzcz1cInRkLWFkZHJlc3NcIj5cbiAgICAgICAgICAgICAgICA8Y2NkLW1hcmtkb3duIFtjb250ZW50XT1cInNlbGVjdGVkT3JnLmFkZHJlc3NcIj48L2NjZC1tYXJrZG93bj5cbiAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGQtc2VsZWN0XCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiAoY2xpY2spPVwiZGVTZWxlY3RPcmcoKTsgJGV2ZW50LnByZXZlbnREZWZhdWx0KClcIlxuICAgICAgICAgICAgICAgICAgIHRpdGxlPVwie3snQ2xlYXIgb3JnYW5pc2F0aW9uIHNlbGVjdGlvbiBmb3InIHwgcnB4VHJhbnNsYXRlfX0ge3tzZWxlY3RlZE9yZy5uYW1lfX1cIj5cbiAgICAgICAgICAgICAgICAgIHt7J0NsZWFyJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICA8L3RhYmxlPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L2Rpdj5cbiAgICA8Y2NkLXdyaXRlLW9yZ2FuaXNhdGlvbi1jb21wbGV4LWZpZWxkIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZE9yZyRdPVwic2VsZWN0ZWRPcmckXCI+XG4gICAgPC9jY2Qtd3JpdGUtb3JnYW5pc2F0aW9uLWNvbXBsZXgtZmllbGQ+XG4gICAgPGRldGFpbHMgaWQ9XCJmaW5kLW9yZ2FuaXNhdGlvbi1oZWxwXCIgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1kZXRhaWxzXCI+XG4gICAgICA8c3VtbWFyeSBjbGFzcz1cImdvdnVrLWRldGFpbHNfX3N1bW1hcnlcIj5cbiAgICAgIDxzcGFuIGlkPVwiY29udGVudC13aHktY2FuLW5vdC1maW5kLW9yZ2FuaXNhdGlvblwiIGNsYXNzPVwiZ292dWstZGV0YWlsc19fc3VtbWFyeS10ZXh0XCI+XG4gICAgICAgIHt7XCJDYW7igJl0IGZpbmQgdGhlIG9yZ2FuaXNhdGlvbiB5b3UgYXJlIGxvb2tpbmcgZm9yP1wiIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDwvc3VtbWFyeT5cbiAgICAgIDxkaXYgaWQ9XCJjb250ZW50LXJlYXNvbi1jYW4tbm90LWZpbmQtb3JnYW5pc2F0aW9uXCIgY2xhc3M9XCJnb3Z1ay1kZXRhaWxzX190ZXh0XCI+XG4gICAgICAgIHt7J0lmIHlvdSBrbm93IHRoYXQgdGhlIHNvbGljaXRvciBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCBNeUhNQ1RTLCBjaGVjayB0aGF0IHlvdSBoYXZlIGVudGVyZWQgdGhlaXIgZGV0YWlscyBjb3JyZWN0bHkuJyB8IHJweFRyYW5zbGF0ZX19XG4gICAgICAgIHt7XCJSZW1lbWJlciB0aGF0IG9yZ2FuaXNhdGlvbnMgY2FuIG9ubHkgcmVnaXN0ZXIgb25lIG9mZmljZSBhZGRyZXNzLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGRldGFpbHMgY291bGQgYmUgc2xpZ2h0bHkgZGlmZmVyZW50IGZyb20gd2hhdCB5b3UncmUgZXhwZWN0aW5nLiBDb250YWN0IHRoZSBzb2xpY2l0b3IgZGlyZWN0bHkgaWYgeW91IGhhdmUgYW55IGNvbmNlcm5zLlwiIHwgcnB4VHJhbnNsYXRlfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvZGV0YWlscz5cbiAgPC9maWVsZHNldD5cbjwvZGl2PlxuIl19
|
|
@@ -102,6 +102,8 @@ export class QualifyingQuestionOptionsComponent {
|
|
|
102
102
|
questionSelected = new EventEmitter();
|
|
103
103
|
qualifyingQuestionsErrorMessage = QualifyingQuestionsErrorMessage;
|
|
104
104
|
caseId;
|
|
105
|
+
jurisdiction;
|
|
106
|
+
caseType;
|
|
105
107
|
constructor(route, router, qualifyingQuestionService) {
|
|
106
108
|
this.route = route;
|
|
107
109
|
this.router = router;
|
|
@@ -109,6 +111,8 @@ export class QualifyingQuestionOptionsComponent {
|
|
|
109
111
|
}
|
|
110
112
|
ngOnInit() {
|
|
111
113
|
this.caseId = this.route.snapshot.params.cid;
|
|
114
|
+
this.jurisdiction = this.route.snapshot.params.jurisdiction;
|
|
115
|
+
this.caseType = this.route.snapshot.params.caseType;
|
|
112
116
|
// Check if there's already a selected qualifying question from the service
|
|
113
117
|
const savedSelection = this.qualifyingQuestionService.getQualifyingQuestionSelection();
|
|
114
118
|
if (savedSelection) {
|
|
@@ -116,7 +120,7 @@ export class QualifyingQuestionOptionsComponent {
|
|
|
116
120
|
}
|
|
117
121
|
}
|
|
118
122
|
click() {
|
|
119
|
-
this.router.navigate(['cases', 'case-details', this.caseId], { fragment: 'Queries' });
|
|
123
|
+
this.router.navigate(['cases', 'case-details', this.jurisdiction, this.caseType, this.caseId], { fragment: 'Queries' });
|
|
120
124
|
}
|
|
121
125
|
get displayError() {
|
|
122
126
|
return this.qualifyingQuestionsControl.touched && this.qualifyingQuestionsControl.hasError('required');
|
|
@@ -142,4 +146,4 @@ export class QualifyingQuestionOptionsComponent {
|
|
|
142
146
|
type: Output
|
|
143
147
|
}] }); })();
|
|
144
148
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(QualifyingQuestionOptionsComponent, { className: "QualifyingQuestionOptionsComponent", filePath: "lib/shared/components/palette/query-management/components/qualifying-questions/qualifying-question-options/qualifying-question-options.component.ts", lineNumber: 13 }); })();
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
149
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWFsaWZ5aW5nLXF1ZXN0aW9ucy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMvcXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL3F1ZXJ5LW1hbmFnZW1lbnQvY29tcG9uZW50cy9xdWFsaWZ5aW5nLXF1ZXN0aW9ucy9xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMvcXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNsQyxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7SUNNeEQsNkJBQW1DO0lBRS9CLEFBREYsNEJBQStCLGNBQ087SUFBQSxZQUE4Qjs7SUFBQSxpQkFBTztJQUFBLFlBRTNFOztJQUFBLGlCQUFJOzs7O0lBRmtDLGVBQThCO0lBQTlCLDhEQUE4QjtJQUFPLGVBRTNFO0lBRjJFLDZHQUUzRTs7O0lBS0UsNkJBQTZCO0lBQzNCLCtCQUE2QztJQUFBLFlBQXdGOztJQUFBLGlCQUFNOzs7SUFBOUYsZUFBd0Y7SUFBeEYsK0dBQXdGOzs7O0lBRnpJLDZCQUFpRztJQUMvRixvSUFBNkI7SUFJM0IsQUFERiwrQkFBZ0MsZ0JBTXFCO0lBQWpELGlRQUFVLCtDQUFxQyxLQUFDO0lBTGxELGlCQUttRDtJQUNuRCxpQ0FBK0U7SUFBQSxZQUM5RDs7SUFDbkIsQUFEbUIsaUJBQVEsRUFDckI7Ozs7OztJQVpTLGNBQVk7SUFBWixnQ0FBWTtJQUt2QixlQUFnQztJQUFoQywwREFBZ0M7SUFHaEMsQUFEYSwrREFBMEMsZ0NBQzNCO0lBRWlCLGNBQStCO0lBQS9CLGdEQUErQjtJQUFDLGNBQzlEO0lBRDhELHNFQUM5RDs7O0lBaEM3Qiw2QkFBaUQ7SUFJekMsQUFERixBQURGLEFBREYsOEJBQTZFLGtCQUMxQyxnQkFDa0MsWUFDM0I7SUFDbEMsWUFDRjs7SUFDRixBQURFLGlCQUFLLEVBQ0U7SUFDVCw2QkFBa0Q7SUFDaEQsWUFDRjs7SUFBQSxpQkFBSztJQUVMLHNIQUFtQztJQU9uQywrQkFBcUQ7SUFDbkQsc0hBQWlHOztJQWlCdkcsQUFERSxBQURFLGlCQUFNLEVBQ0csRUFDUDs7OztJQXBDd0IsY0FBOEM7SUFBOUMsOERBQThDO0lBSXBFLGVBQ0Y7SUFERSwwRUFDRjtJQUdBLGVBQ0Y7SUFERSxxRkFDRjtJQUVlLGVBQWtCO0lBQWxCLDBDQUFrQjtJQVFjLGVBQWlDO0lBQWpDLDZFQUFpQzs7QURSdEYsTUFBTSxPQUFPLGtDQUFrQztJQVcxQjtJQUNBO0lBQ0E7SUFaSCwwQkFBMEIsQ0FBYztJQUN4QyxvQkFBb0IsQ0FBbUM7SUFDN0QsZ0JBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUFFN0QsK0JBQStCLEdBQUcsK0JBQStCLENBQUM7SUFDbEUsTUFBTSxDQUFTO0lBQ2YsWUFBWSxDQUFTO0lBQ3JCLFFBQVEsQ0FBUztJQUV4QixZQUNtQixLQUFxQixFQUNyQixNQUFjLEVBQ2QseUJBQW9EO1FBRnBELFVBQUssR0FBTCxLQUFLLENBQWdCO1FBQ3JCLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCw4QkFBeUIsR0FBekIseUJBQXlCLENBQTJCO0lBQ3ZFLENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQztRQUM1RCxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUM7UUFFcEQsMkVBQTJFO1FBQzNFLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBQ3ZGLElBQUksY0FBYyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUMzRCxDQUFDO0lBQ0gsQ0FBQztJQUVNLEtBQUs7UUFDVixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDO0lBQzFILENBQUM7SUFFRCxJQUFXLFlBQVk7UUFDckIsT0FBTyxJQUFJLENBQUMsMEJBQTBCLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekcsQ0FBQztJQUVNLGlCQUFpQixDQUFDLGtCQUFzQztRQUM3RCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7SUFDakQsQ0FBQzs0SEF0Q1Usa0NBQWtDOzZEQUFsQyxrQ0FBa0M7WUNaL0MsdUdBQWlEOztZQUFsQyxxREFBZ0M7OztpRkRZbEMsa0NBQWtDO2NBSjlDLFNBQVM7MkJBQ0UsaUNBQWlDOzRHQUkzQiwwQkFBMEI7a0JBQXpDLEtBQUs7WUFDVSxvQkFBb0I7a0JBQW5DLEtBQUs7WUFDSSxnQkFBZ0I7a0JBQXpCLE1BQU07O2tGQUhJLGtDQUFrQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBRdWFsaWZ5aW5nUXVlc3Rpb25zRXJyb3JNZXNzYWdlIH0gZnJvbSAnLi4vLi4vLi4vZW51bXMnO1xuaW1wb3J0IHsgUXVhbGlmeWluZ1F1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IFF1YWxpZnlpbmdRdWVzdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1xdWFsaWZ5aW5nLXF1ZXN0aW9uLW9wdGlvbnMnLFxuICB0ZW1wbGF0ZVVybDogJy4vcXVhbGlmeWluZy1xdWVzdGlvbi1vcHRpb25zLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBRdWFsaWZ5aW5nUXVlc3Rpb25PcHRpb25zQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIHF1YWxpZnlpbmdRdWVzdGlvbnNDb250cm9sOiBGb3JtQ29udHJvbDtcbiAgQElucHV0KCkgcHVibGljIHF1YWxpZnlpbmdRdWVzdGlvbnMkOiBPYnNlcnZhYmxlPFF1YWxpZnlpbmdRdWVzdGlvbltdPjtcbiAgQE91dHB1dCgpIHF1ZXN0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFF1YWxpZnlpbmdRdWVzdGlvbj4oKTtcblxuICBwdWJsaWMgcXVhbGlmeWluZ1F1ZXN0aW9uc0Vycm9yTWVzc2FnZSA9IFF1YWxpZnlpbmdRdWVzdGlvbnNFcnJvck1lc3NhZ2U7XG4gIHB1YmxpYyBjYXNlSWQ6IHN0cmluZztcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGU6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZTogUXVhbGlmeWluZ1F1ZXN0aW9uU2VydmljZSkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY2FzZUlkID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuY2lkO1xuICAgIHRoaXMuanVyaXNkaWN0aW9uID0gdGhpcy5yb3V0ZS5zbmFwc2hvdC5wYXJhbXMuanVyaXNkaWN0aW9uO1xuICAgIHRoaXMuY2FzZVR5cGUgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtcy5jYXNlVHlwZTtcblxuICAgIC8vIENoZWNrIGlmIHRoZXJlJ3MgYWxyZWFkeSBhIHNlbGVjdGVkIHF1YWxpZnlpbmcgcXVlc3Rpb24gZnJvbSB0aGUgc2VydmljZVxuICAgIGNvbnN0IHNhdmVkU2VsZWN0aW9uID0gdGhpcy5xdWFsaWZ5aW5nUXVlc3Rpb25TZXJ2aWNlLmdldFF1YWxpZnlpbmdRdWVzdGlvblNlbGVjdGlvbigpO1xuICAgIGlmIChzYXZlZFNlbGVjdGlvbikge1xuICAgICAgdGhpcy5xdWFsaWZ5aW5nUXVlc3Rpb25zQ29udHJvbC5zZXRWYWx1ZShzYXZlZFNlbGVjdGlvbik7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGNsaWNrKCk6IHZvaWQge1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnY2FzZXMnLCAnY2FzZS1kZXRhaWxzJywgdGhpcy5qdXJpc2RpY3Rpb24sIHRoaXMuY2FzZVR5cGUsIHRoaXMuY2FzZUlkXSwgeyBmcmFnbWVudDogJ1F1ZXJpZXMnIH0pO1xuICB9XG5cbiAgcHVibGljIGdldCBkaXNwbGF5RXJyb3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMucXVhbGlmeWluZ1F1ZXN0aW9uc0NvbnRyb2wudG91Y2hlZCAmJiB0aGlzLnF1YWxpZnlpbmdRdWVzdGlvbnNDb250cm9sLmhhc0Vycm9yKCdyZXF1aXJlZCcpO1xuICB9XG5cbiAgcHVibGljIG9uU2VsZWN0aW9uQ2hhbmdlKHF1YWxpZnlpbmdRdWVzdGlvbjogUXVhbGlmeWluZ1F1ZXN0aW9uKSB7XG4gICAgdGhpcy5xdWVzdGlvblNlbGVjdGVkLmVtaXQocXVhbGlmeWluZ1F1ZXN0aW9uKTtcbiAgfVxufVxuXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwicXVhbGlmeWluZ1F1ZXN0aW9uc0NvbnRyb2xcIj5cbiAgPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXBcIiBbY2xhc3MuZ292dWstZm9ybS1ncm91cC0tZXJyb3JdPVwiZGlzcGxheUVycm9yXCI+XG4gICAgPGZpZWxkc2V0IGNsYXNzPVwiZ292dWstZmllbGRzZXRcIj5cbiAgICAgIDxsZWdlbmQgY2xhc3M9XCJnb3Z1ay1maWVsZHNldF9fbGVnZW5kIGdvdnVrLWZpZWxkc2V0X19sZWdlbmQtLWxcIj5cbiAgICAgICAgPGgxIGNsYXNzPVwiZ292dWstZmllbGRzZXRfX2hlYWRpbmdcIj5cbiAgICAgICAgICB7eyAnUmFpc2UgYSBuZXcgcXVlcnknIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvaDE+XG4gICAgICA8L2xlZ2VuZD5cbiAgICAgIDxoMiBjbGFzcz1cImdvdnVrLWhlYWRpbmctbSBnb3Z1ay0hLW1hcmdpbi10b3AtMTBcIj5cbiAgICAgICAge3sgJ1doYXQgZG8geW91IG5lZWQgaGVscCB0byBkbz8nIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICA8L2gyPlxuXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUVycm9yXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiZ292dWstZXJyb3ItbWVzc2FnZVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZ292dWstdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0Vycm9yOicgfCBycHhUcmFuc2xhdGUgfX0gPC9zcGFuPnt7XG4gICAgICAgICAgcXVhbGlmeWluZ1F1ZXN0aW9uc0Vycm9yTWVzc2FnZS5TRUxFQ1RfQU5fT1BUSU9OIHwgcnB4VHJhbnNsYXRlIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZ292dWstcmFkaW9zXCIgZGF0YS1tb2R1bGU9XCJnb3Z1ay1yYWRpb3NcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgcXVhbGlmeWluZ1F1ZXN0aW9uIG9mIHF1YWxpZnlpbmdRdWVzdGlvbnMkIHwgYXN5bmM7IGxldCBpc0xhc3QgPSBsYXN0XCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzTGFzdFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInFtLXF1YWxpZnlpbmctcXVlc3Rpb25fX2RpdmlkZXJcIj57eyAnSWYgeW91ciBpc3N1ZSBpcyBub3QgY292ZXJlZCBieSB0aGUgb3B0aW9ucyBhYm92ZSwgcmFpc2UgYSBxdWVyeTonIHwgcnB4VHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdvdnVrLXJhZGlvc19faXRlbVwiPlxuICAgICAgICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstcmFkaW9zX19pbnB1dFwiIFxuICAgICAgICAgICAgICBpZD1cInt7cXVhbGlmeWluZ1F1ZXN0aW9uLm5hbWV9fVwiIFxuICAgICAgICAgICAgICBuYW1lPVwicXVhbGlmeWluZ1F1ZXN0aW9uT3B0aW9uXCJcbiAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCIgW2Zvcm1Db250cm9sXT1cInF1YWxpZnlpbmdRdWVzdGlvbnNDb250cm9sXCIgXG4gICAgICAgICAgICAgIFt2YWx1ZV09XCJxdWFsaWZ5aW5nUXVlc3Rpb25cIlxuICAgICAgICAgICAgICAoY2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKHF1YWxpZnlpbmdRdWVzdGlvbilcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImdvdnVrLWxhYmVsIGdvdnVrLXJhZGlvc19fbGFiZWxcIiBbZm9yXT1cInF1YWxpZnlpbmdRdWVzdGlvbi5uYW1lXCI+e3sgcXVhbGlmeWluZ1F1ZXN0aW9uLm5hbWUgfFxuICAgICAgICAgICAgICBycHhUcmFuc2xhdGUgfX08L2xhYmVsPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZmllbGRzZXQ+XG4gIDwvZGl2PlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|