@hmcts/ccd-case-ui-toolkit 7.0.0-rc2 → 7.0.0-rc4
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/esm2020/lib/app.config.mjs +1 -1
- package/esm2020/lib/shared/components/activity/activity.module.mjs +1 -4
- package/esm2020/lib/shared/components/case-editor/case-edit/case-edit.component.mjs +2 -3
- package/esm2020/lib/shared/components/case-viewer/case-viewer.module.mjs +3 -6
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.mjs +22 -8
- package/esm2020/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.mjs +41 -27
- package/esm2020/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.mjs +233 -0
- package/esm2020/lib/shared/components/palette/case-flag/read-case-flag-field.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/case-flag/write-case-flag-field.component.mjs +1 -1
- package/esm2020/lib/shared/components/palette/complex/read-complex-field-collection-table.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/complex/read-complex-field.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/datetime-picker/datetime-picker.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/linked-cases/components/link-cases/link-cases.component.mjs +2 -2
- package/esm2020/lib/shared/components/palette/utils/date.pipe.mjs +2 -2
- package/esm2020/lib/shared/directives/conditional-show/services/condition-parser.service.mjs +1 -1
- package/esm2020/lib/shared/domain/case-file-view/case-file-view-document.model.mjs +1 -1
- package/esm2020/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.mjs +6 -0
- package/esm2020/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.mjs +40 -13
- package/esm2020/lib/shared/domain/case-file-view/index.mjs +3 -2
- package/esm2020/lib/shared/domain/index.mjs +10 -11
- package/esm2020/lib/shared/domain/search/sorting/sort-parameters.mjs +1 -1
- package/esm2020/lib/shared/domain/sort-order.enum.mjs +7 -0
- package/esm2020/lib/shared/pipes/search-result/sorting/sort-search-result.pipe.mjs +2 -2
- package/esm2020/lib/shared/services/activity/activity.polling.service.mjs +7 -10
- package/esm2020/lib/shared/services/activity/index.mjs +1 -2
- package/esm2020/lib/shared/services/case-file-view/case-file-view.service.mjs +1 -1
- package/esm2020/lib/shared/services/fields/fields.purger.mjs +2 -2
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs +156 -174
- package/fesm2015/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs +144 -161
- package/fesm2020/hmcts-ccd-case-ui-toolkit.mjs.map +1 -1
- package/lib/app.config.d.ts +2 -0
- package/lib/app.config.d.ts.map +1 -1
- package/lib/shared/components/activity/activity.module.d.ts.map +1 -1
- package/lib/shared/components/case-editor/case-edit/case-edit.component.d.ts.map +1 -1
- package/lib/shared/components/case-viewer/case-viewer.module.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts +8 -5
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder-sort/case-file-view-folder-sort.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +5 -3
- package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
- package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts +3 -0
- package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts.map +1 -0
- package/lib/shared/components/palette/case-flag/write-case-flag-field.component.d.ts.map +1 -1
- package/lib/shared/components/palette/complex/read-complex-field-collection-table.component.d.ts.map +1 -1
- package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts +1 -1
- package/lib/shared/domain/case-file-view/case-file-view-document.model.d.ts.map +1 -1
- package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts +5 -0
- package/lib/shared/domain/case-file-view/case-file-view-sort-columns.enum.d.ts.map +1 -0
- package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts +4 -2
- package/lib/shared/domain/case-file-view/document-tree-node/document-tree-node.model.d.ts.map +1 -1
- package/lib/shared/domain/case-file-view/index.d.ts +2 -1
- package/lib/shared/domain/case-file-view/index.d.ts.map +1 -1
- package/lib/shared/domain/index.d.ts +9 -10
- package/lib/shared/domain/index.d.ts.map +1 -1
- package/lib/shared/domain/search/sorting/sort-parameters.d.ts +1 -1
- package/lib/shared/domain/search/sorting/sort-parameters.d.ts.map +1 -1
- package/lib/shared/{components/palette/complex/sort-order.d.ts → domain/sort-order.enum.d.ts} +1 -1
- package/lib/shared/domain/sort-order.enum.d.ts.map +1 -0
- package/lib/shared/services/activity/activity.polling.service.d.ts +1 -3
- package/lib/shared/services/activity/activity.polling.service.d.ts.map +1 -1
- package/lib/shared/services/activity/index.d.ts +0 -1
- package/lib/shared/services/activity/index.d.ts.map +1 -1
- package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -1
- package/lib/shared/services/fields/fields.purger.d.ts +1 -1
- package/package.json +1 -1
- package/esm2020/lib/shared/components/palette/complex/sort-order.mjs +0 -7
- package/esm2020/lib/shared/domain/polling/index.mjs +0 -2
- package/esm2020/lib/shared/domain/polling/polling.model.mjs +0 -2
- package/esm2020/lib/shared/domain/search/sorting/sort-order.mjs +0 -7
- package/esm2020/lib/shared/services/activity/polling.service.mjs +0 -61
- package/lib/shared/components/palette/complex/sort-order.d.ts.map +0 -1
- package/lib/shared/domain/polling/index.d.ts +0 -2
- package/lib/shared/domain/polling/index.d.ts.map +0 -1
- package/lib/shared/domain/polling/polling.model.d.ts +0 -10
- package/lib/shared/domain/polling/polling.model.d.ts.map +0 -1
- package/lib/shared/domain/search/sorting/sort-order.d.ts +0 -6
- package/lib/shared/domain/search/sorting/sort-order.d.ts.map +0 -1
- package/lib/shared/services/activity/polling.service.d.ts +0 -12
- package/lib/shared/services/activity/polling.service.d.ts.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
2
|
import { plainToClassFromExist } from 'class-transformer';
|
|
3
|
+
import { SortOrder } from '../../../domain';
|
|
3
4
|
import { CaseField } from '../../../domain/definition';
|
|
4
5
|
import { AbstractFieldReadComponent } from '../base-field/abstract-field-read.component';
|
|
5
|
-
import { SortOrder } from './sort-order';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
function ReadComplexFieldCollectionTableComponent_th_10_Template(rf, ctx) { if (rf & 1) {
|
|
8
8
|
const _r4 = i0.ɵɵgetCurrentView();
|
|
@@ -376,4 +376,4 @@ ReadComplexFieldCollectionTableComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComp
|
|
|
376
376
|
type: Component,
|
|
377
377
|
args: [{ selector: 'ccd-read-complex-field-collection-table', template: "<div class=\"complex-panel\" [hidden]=\"caseField.hidden\">\n <dl class=\"complex-panel-title\">\n <dt><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></dt>\n <dd></dd>\n </dl>\n <table class=\"complex-panel-table\" aria-describedby=\"complex panel table\">\n <tbody>\n <!-- <COMPLEX table field header>-->\n <tr>\n <th *ngFor=\"let heading of columns\" scope=\"col\">\n <span class=\"text-16\">{{columnsAllLabels[heading].label | rpxTranslate}}</span>\n <a href=\"javascript:void(0)\"\n (click)=\"sortRowsByColumns(heading)\"\n class=\"sort-widget\"\n [innerHTML]=\"sortWidget(columnsAllLabels[heading])\"></a>\n </th>\n <th></th>\n </tr>\n <!-- </COMPLEX table field header>-->\n <ng-container *ngFor=\"let item of rows; let i = index;\">\n <!-- <COMPLEX table collapsed view>-->\n <tr class=\"new-table-row accordion-heading\" (click)=\"isHidden[i] = !isHidden[i]\"\n [class.last-accordion]=\"isHidden[i]\">\n <ng-container *ngFor=\"let heading of columns\">\n <td class=\"text-16\">\n <div *ngIf=\"item[heading]; else showEmptyTd\">\n <ccd-field-read\n [caseField]=\"toCaseField(heading, item[heading].label, columnsHorizontalLabel[heading].type, item[heading])\"\n [context]=\"context\"></ccd-field-read>\n </div>\n <ng-template #showEmptyTd>\n <div> </div>\n </ng-template>\n </td>\n </ng-container>\n <td>\n <div style=\"float: right;\">\n <a href=\"javascript:void(0)\"> <img src=\"{{ getImage(i) }}\" alt=\"image\" class=\"accordion-image\"/></a>\n </div>\n </td>\n </tr>\n <!-- </COMPLEX table collapsed view>-->\n <!-- <COMPLEX table expanded view>-->\n <tr [hidden]=\"isHidden[i]\">\n <td [colSpan]=\"columns.length + 1\">\n <table class=\"complex-panel-table\" aria-describedby=\"complex panel table expanded\">\n <tbody>\n <ng-container\n *ngFor=\"let vLabel of columnsVerticalLabel | keyvalue: keepOriginalOrder | ccdCollectionTableCaseFieldsFilter: caseField: rows[i] | ccdReadFieldsFilter:true :undefined :true\">\n <!-- <COMPLEX table expandable body simple field>-->\n <tr class=\"complex-panel-simple-field accordion-body\" *ngIf=\"item[vLabel.id]\" [hidden]=\"vLabel.hidden\">\n <th scope=\"col\"><span class=\"text-16\">{{vLabel.label | rpxTranslate}}</span></th>\n <td *ngIf=\"vLabel['type'] !== 'Complex'\" class=\"text-16\">\n <ccd-field-read [caseField]=\"toCaseField('', vLabel.label, vLabel.field_type, item[vLabel.id])\"\n [context]=\"context\"></ccd-field-read>\n </td>\n </tr>\n <!-- </COMPLEX table expandable body simple field>-->\n\n <!-- <COMPLEX table expandable body complex field>-->\n <tr *ngIf=\"vLabel['type'] === 'Complex' && addCaseFieldValue(vLabel, item[vLabel.id])\" [hidden]=\"vLabel.hidden\">\n <td colspan=\"2\">\n <ng-container *ngFor=\"let caseField of vLabel | ccdReadFieldsFilter:true :undefined :true\">\n <tr class=\"complex-panel-compound-field\" *ngIf=\"(caseField | ccdIsCompound); else SimpleRow\" [hidden]=\"caseField\">\n <td colspan=\"2\">\n <span class=\"text-16\"><ccd-field-read [caseField]=\"caseField\" [context]=\"context\"></ccd-field-read></span>\n </td>\n </tr>\n <ng-template #SimpleRow>\n <tr class=\"complex-panel-nested-field\" [hidden]=\"caseField.hidden\">\n <th scope=\"col\"><span class=\"text-16\">{{caseField.label | rpxTranslate}}</span></th>\n <td *ngIf=\"!item[vLabel.id]?.hasOwnProperty('CaseReference')\">\n <span class=\"text-16\"><ccd-field-read [caseField]=\"caseField\" [context]=\"context\"></ccd-field-read></span>\n </td>\n <td *ngIf=\"item[vLabel.id]?.hasOwnProperty('CaseReference')\">\n <ccd-read-case-link-field [caseField]=\"addCaseReferenceValue(caseField, item[vLabel.id].CaseReference)\" [context]=\"context\"></ccd-read-case-link-field>\n </td>\n </tr>\n </ng-template>\n </ng-container>\n </td>\n </tr>\n <!-- <COMPLEX table expandable body complex field>-->\n </ng-container>\n </tbody>\n </table>\n </td>\n </tr>\n <!-- </COMPLEX table expanded view>-->\n </ng-container>\n </tbody>\n </table>\n</div>\n", styles: [".complex-panel{margin:13px 0;border:1px solid #bfc1c3}.complex-panel .complex-panel-title{background-color:#dee0e2;padding:5px 5px 2px;border-bottom:1px solid #bfc1c3;display:block;color:#0b0c0c;font-family:nta,Arial,sans-serif;font-weight:700;text-transform:none;font-size:16px;line-height:1.25}@media (min-width: 641px){.complex-panel .complex-panel-title{font-size:19px;line-height:1.3157894737}}.complex-panel .complex-panel-table>tbody>tr>th{vertical-align:top}.complex-panel .complex-panel-table>tbody>tr:last-child>th{border-bottom:none}.complex-panel .complex-panel-table th{padding-left:5px;font-weight:700;border-bottom:none}.complex-panel .complex-panel-table td{padding-left:5px;padding-top:0;padding-bottom:0;border-bottom:none}.complex-panel .new-table-row{border-top:1px solid #bfc1c3}.complex-panel .complex-panel-simple-field th{padding-left:5px;padding-top:0;padding-bottom:0;width:295px}.complex-panel .complex-panel-nested-field th{padding-left:33px;padding-top:0;padding-bottom:0;width:200px}.complex-panel .complex-panel-compound-field td{padding:5px;border-bottom:none}.sort-widget{cursor:pointer;text-decoration:none;color:#0b0c0c}.accordion-wrapper{margin-bottom:20px}.accordion-wrapper .heading-medium{margin:0}.accordion-wrapper .accordion-heading{border-top:1px solid #bfc1c3;padding-top:20px;padding-bottom:10px;height:20px;cursor:pointer}.accordion-wrapper .accordion-heading .accordion-image{width:25px;margin-right:20px}.accordion-wrapper .accordion-body{margin-top:20px;margin-right:20px}.accordion-wrapper .last-accordion{border-bottom:1px solid #bfc1c3;padding-bottom:30px}\n"] }]
|
|
378
378
|
}], null, null); })();
|
|
379
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDdkQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7OztJQ0tuQyw2QkFBZ0QsY0FBQTtJQUN4QixZQUFrRDs7SUFBQSxpQkFBTztJQUMvRSw0QkFHdUQ7SUFGcEQsOE9BQVMsZUFBQSxvQ0FBMEIsQ0FBQSxJQUFDO0lBRWdCLGlCQUFJLEVBQUE7Ozs7SUFKckMsZUFBa0Q7SUFBbEQscUZBQWtEO0lBSXJFLGVBQW1EO0lBQW5ELHFHQUFtRDs7O0lBV2xELDJCQUE2QztJQUMzQyxxQ0FFdUM7SUFDekMsaUJBQU07Ozs7O0lBRkYsZUFBNEc7SUFBNUcsNEpBQTRHLDRCQUFBOzs7SUFJOUcsMkJBQUs7SUFBQSxzQkFBTTtJQUFBLGlCQUFNOzs7SUFSdkIs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TUs7UUFDTCxzQkFBUztRQUNYLGlCQUFLO1FBRUwsK0dBc0VlO1FBQ2YsaUJBQVEsRUFBQSxFQUFBOztRQTFGZSw2Q0FBMkI7UUFFeEIsZUFBa0M7UUFBbEMsK0RBQWtDO1FBT2xDLGVBQVU7UUFBVixxQ0FBVTtRQVVMLGVBQVM7UUFBVCxrQ0FBUzs7dUZEUi9CLHdDQUF3QztjQUxwRCxTQUFTOzJCQUNFLHlDQUF5QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwbGFpblRvQ2xhc3NGcm9tRXhpc3QgfSBmcm9tICdjbGFzcy10cmFuc2Zvcm1lcic7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU29ydE9yZGVyIH0gZnJvbSAnLi9zb3J0LW9yZGVyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXJlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0RmllbGRSZWFkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgcHVibGljIGNvbHVtbnM6IHN0cmluZ1tdO1xuICBwdWJsaWMgY29sdW1uc1ZlcnRpY2FsTGFiZWw6IGFueTtcbiAgcHVibGljIGNvbHVtbnNIb3Jpem9udGFsTGFiZWw6IGFueTtcbiAgcHVibGljIGNvbHVtbnNBbGxMYWJlbHM6IGFueTtcbiAgcHVibGljIHJvd3M6IGFueVtdID0gW107XG4gIHB1YmxpYyBpc0hpZGRlbjogYm9vbGVhbltdID0gW107XG4gIHByaXZhdGUgc3RhdGljIGlzU29ydEFzY2VuZGluZyhjb2x1bW46IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKGNvbHVtbi5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRCB8fCBjb2x1bW4uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORyk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlclxuICAgICAgJiYgdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci50cmltKCkuc3RhcnRzV2l0aCgnI1RBQkxFKCcpKSB7XG5cbiAgICAgIGNvbnN0IGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyID0gdGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0X3BhcmFtZXRlci50cmltKCk7XG4gICAgICBjb25zdCByZXN1bHQ6IHN0cmluZyA9IGRpc3BsYXlDb250ZXh0UGFyYW1ldGVyLnJlcGxhY2UoJyNUQUJMRSgnLCAnJyk7XG4gICAgICB0aGlzLmNvbHVtbnMgPSByZXN1bHQucmVwbGFjZSgnKScsICcnKS5zcGxpdCgnLCcpLm1hcCgoYzogc3RyaW5nKSA9PiBjLnRyaW0oKSk7XG5cbiAgICAgIGNvbnN0IGxhYmVsc1ZlcnRpY2FsOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgY29uc3QgbGFiZWxzSG9yaXpvbnRhbDogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIGNvbnN0IGFsbExhYmVsczogeyBbazogc3RyaW5nXTogYW55IH0gPSB7fTtcbiAgICAgIHRoaXMucG9wdWxhdGVDYXNlRmllbGRWYWx1ZXNJbnRvUm93cygpO1xuICAgICAgdGhpcy5wb3B1bGF0ZUxhYmVscyhsYWJlbHNWZXJ0aWNhbCwgYWxsTGFiZWxzKTtcbiAgICAgIHRoaXMucG9wdWxhdGVIb3Jpem9udGFsTGFiZWxzKGxhYmVsc0hvcml6b250YWwsIGFsbExhYmVscywgbGFiZWxzVmVydGljYWwpO1xuXG4gICAgICB0aGlzLmNvbHVtbnNWZXJ0aWNhbExhYmVsID0gbGFiZWxzVmVydGljYWw7XG4gICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWwgPSBsYWJlbHNIb3Jpem9udGFsO1xuICAgICAgdGhpcy5jb2x1bW5zQWxsTGFiZWxzID0gYWxsTGFiZWxzO1xuXG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEltYWdlKHJvdyk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNIaWRkZW5bcm93XSkge1xuICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLXBsdXMucG5nJztcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHRoaXMuaXNWZXJ0aWNsZURhdGFOb3RFbXB0eShyb3cpKSB7XG4gICAgICAgIHJldHVybiAnaW1nL2FjY29yZGlvbi1taW51cy5wbmcnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0hpZGRlbltyb3ddID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLXBsdXMucG5nJztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTmVlZHMgdG8gYmUgY2FsbGVkIGJlZm9yZSAnY2NkRmllbGRzRmlsdGVyJyBwaXBlIGlzIHVzZWQsIGFzIGl0IG5lZWRzIGEgY2FzZUZpZWxkIHZhbHVlLlxuICAgKi9cbiAgcHVibGljIGFkZENhc2VGaWVsZFZhbHVlKGZpZWxkLCB2YWx1ZSk6IGJvb2xlYW4ge1xuICAgIGZpZWxkLnZhbHVlID0gdmFsdWU7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwdWJsaWMgaXNOb3RCbGFuayh2YWx1ZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSAnJztcbiAgfVxuXG4gIHB1YmxpYyBhZGRDYXNlUmVmZXJlbmNlVmFsdWUoZmllbGQsIHZhbHVlOiBhbnkpOiBhbnkge1xuICAgIGZpZWxkLnZhbHVlID0geyBDYXNlUmVmZXJlbmNlOiB2YWx1ZX07XG4gICAgcmV0dXJuIGZpZWxkO1xuICB9XG5cbiAgcHVibGljIHRvQ2FzZUZpZWxkKGlkOiBzdHJpbmcsIGxhYmVsOiBzdHJpbmcsIGZpZWxkVHlwZTogYW55LCB2YWx1ZTogYW55KTogQ2FzZUZpZWxkIHtcbiAgICByZXR1cm4gcGxhaW5Ub0NsYXNzRnJvbUV4aXN0KG5ldyBDYXNlRmllbGQoKSwge1xuICAgICAgaWQsXG4gICAgICBsYWJlbCxcbiAgICAgIGRpc3BsYXlfY29udGV4dDogJ1JFQURPTkxZJyxcbiAgICAgIHZhbHVlLFxuICAgICAgZmllbGRfdHlwZTogZmllbGRUeXBlXG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMga2VlcE9yaWdpbmFsT3JkZXIgPSAoYSwgYikgPT4gYS5rZXk7XG5cbiAgcHVibGljIHNvcnRSb3dzQnlDb2x1bW5zKGNvbHVtbik6IHZvaWQge1xuICAgIGNvbnN0IHNob3VsZFNvcnRJbkFzY2VuZGluZ09yZGVyID0gdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuVU5TT1JURURcbiAgICAgIHx8IHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG5cbiAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6c3dpdGNoLWRlZmF1bHRcbiAgICBzd2l0Y2ggKHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnR5cGUudHlwZSkge1xuICAgICAgY2FzZSAnTnVtYmVyJzpcbiAgICAgIGNhc2UgJ01vbmV5R0JQJzoge1xuICAgICAgICBpZiAoc2hvdWxkU29ydEluQXNjZW5kaW5nT3JkZXIpIHtcbiAgICAgICAgICB0aGlzLnJvd3Muc29ydCgoYSwgYikgPT4gYVtjb2x1bW5dIC0gYltjb2x1bW5dKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBiW2NvbHVtbl0gLSBhW2NvbHVtbl0pO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSAnVGV4dCc6XG4gICAgICBjYXNlICdUZXh0QXJlYSc6XG4gICAgICBjYXNlICdFbWFpbCc6XG4gICAgICBjYXNlICdEYXRlJzpcbiAgICAgIGNhc2UgJ0RhdGVUaW1lJzpcbiAgICAgIGNhc2UgJ0xhYmVsJzpcbiAgICAgIGNhc2UgJ1Bvc3Rjb2RlJzpcbiAgICAgIGNhc2UgJ1llc09yTm8nOlxuICAgICAgY2FzZSAnUGhvbmVVSyc6XG4gICAgICBjYXNlICdGaXhlZExpc3QnOiB7XG4gICAgICAgIGlmIChzaG91bGRTb3J0SW5Bc2NlbmRpbmdPcmRlcikge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAtMSA6IGFbY29sdW1uXSA+IGJbY29sdW1uXSA/IDEgOiAwKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuQVNDRU5ESU5HO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gPCBiW2NvbHVtbl0gPyAxIDogYVtjb2x1bW5dID4gYltjb2x1bW5dID8gLTEgOiAwKTtcbiAgICAgICAgICB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPSBTb3J0T3JkZXIuREVTQ0VORElORztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc29ydFdpZGdldChjb2x1bW46IGFueSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIFJlYWRDb21wbGV4RmllbGRDb2xsZWN0aW9uVGFibGVDb21wb25lbnQuaXNTb3J0QXNjZW5kaW5nKGNvbHVtbikgPyAnJiM5NjYwOycgOiAnJiM5NjUwOyc7XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlSG9yaXpvbnRhbExhYmVscyhsYWJlbHNIb3Jpem9udGFsOiB7IFtwOiBzdHJpbmddOiBhbnkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxsTGFiZWxzOiB7IFtwOiBzdHJpbmddOiBhbnkgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWxzVmVydGljYWw6IHsgW3A6IHN0cmluZ106IGFueSB9KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpZCBvZiB0aGlzLmNvbHVtbnMpIHtcbiAgICAgIGNvbnN0IHRyaW1tZWRJZCA9IGlkLnRyaW0oKTtcbiAgICAgIGxhYmVsc0hvcml6b250YWxbdHJpbW1lZElkXSA9IGFsbExhYmVsc1t0cmltbWVkSWRdO1xuICAgICAgbGFiZWxzSG9yaXpvbnRhbFt0cmltbWVkSWRdLnNvcnRPcmRlciA9IFNvcnRPcmRlci5VTlNPUlRFRDtcbiAgICAgIGRlbGV0ZSBsYWJlbHNWZXJ0aWNhbFt0cmltbWVkSWRdO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVMYWJlbHMobGFiZWxzVmVydGljYWw6IHsgW3A6IHN0cmluZ106IGFueSB9LCBhbGxMYWJlbHM6IHsgW3A6IHN0cmluZ106IGFueSB9KTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBvYmogb2YgdGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS5jb21wbGV4X2ZpZWxkcykge1xuICAgICAgaWYgKG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdGaXhlZExpc3QnIHx8XG4gICAgICAgIG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdNdWx0aVNlbGVjdExpc3QnIHx8XG4gICAgICAgIG9iai5maWVsZF90eXBlLnR5cGUgPT09ICdGaXhlZFJhZGlvTGlzdCcpIHtcbiAgICAgICAgbGFiZWxzVmVydGljYWxbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgICBhbGxMYWJlbHNbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZX07XG4gICAgICB9IGVsc2UgaWYgKG9iai5pc0NvbXBsZXgoKSkge1xuICAgICAgICBsYWJlbHNWZXJ0aWNhbFtvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlLnR5cGUsIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgICAgYWxsTGFiZWxzW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGFiZWxzVmVydGljYWxbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiB7dHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZX0sIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgICAgYWxsTGFiZWxzW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZToge3R5cGU6IG9iai5maWVsZF90eXBlLnR5cGV9LCBjYXNlRmllbGQ6IG9ian07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUNhc2VGaWVsZFZhbHVlc0ludG9Sb3dzKCk6IHZvaWQge1xuICAgIGZvciAoY29uc3Qgb2JqIG9mIHRoaXMuY2FzZUZpZWxkLnZhbHVlKSB7XG4gICAgICB0aGlzLnJvd3MucHVzaChvYmoudmFsdWUpO1xuICAgICAgdGhpcy5pc0hpZGRlbi5wdXNoKHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaXNWZXJ0aWNsZURhdGFOb3RFbXB0eShyb3cpOiBib29sZWFuIHtcbiAgICBsZXQgcmVzdWx0ID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5jb2x1bW5zVmVydGljYWxMYWJlbCkge1xuICAgICAgaWYgKHRoaXMucm93c1tyb3ddW2tleV0pIHtcbiAgICAgICAgcmVzdWx0ID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbXBsZXgtcGFuZWxcIiBbaGlkZGVuXT1cImNhc2VGaWVsZC5oaWRkZW5cIj5cbiAgPGRsIGNsYXNzPVwiY29tcGxleC1wYW5lbC10aXRsZVwiPlxuICAgIDxkdD48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvZHQ+XG4gICAgPGRkPjwvZGQ+XG4gIDwvZGw+XG4gIDx0YWJsZSBjbGFzcz1cImNvbXBsZXgtcGFuZWwtdGFibGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY29tcGxleCBwYW5lbCB0YWJsZVwiPlxuICAgIDx0Ym9keT5cbiAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGZpZWxkIGhlYWRlcj4tLT5cbiAgICA8dHI+XG4gICAgICA8dGggKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgY29sdW1uc1wiIHNjb3BlPVwiY29sXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y29sdW1uc0FsbExhYmVsc1toZWFkaW5nXS5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICA8YSBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApXCJcbiAgICAgICAgICAgKGNsaWNrKT1cInNvcnRSb3dzQnlDb2x1bW5zKGhlYWRpbmcpXCJcbiAgICAgICAgICAgY2xhc3M9XCJzb3J0LXdpZGdldFwiXG4gICAgICAgICAgIFtpbm5lckhUTUxdPVwic29ydFdpZGdldChjb2x1bW5zQWxsTGFiZWxzW2hlYWRpbmddKVwiPjwvYT5cbiAgICAgIDwvdGg+XG4gICAgICA8dGg+PC90aD5cbiAgICA8L3RyPlxuICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGZpZWxkIGhlYWRlcj4tLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIHJvd3M7IGxldCBpID0gaW5kZXg7XCI+XG4gICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGNvbGxhcHNlZCB2aWV3Pi0tPlxuICAgICAgPHRyIGNsYXNzPVwibmV3LXRhYmxlLXJvdyBhY2NvcmRpb24taGVhZGluZ1wiIChjbGljayk9XCJpc0hpZGRlbltpXSA9ICFpc0hpZGRlbltpXVwiXG4gICAgICAgICAgW2NsYXNzLmxhc3QtYWNjb3JkaW9uXT1cImlzSGlkZGVuW2ldXCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGhlYWRpbmcgb2YgY29sdW1uc1wiPlxuICAgICAgICAgIDx0ZCBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpdGVtW2hlYWRpbmddOyBlbHNlIHNob3dFbXB0eVRkXCI+XG4gICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZFxuICAgICAgICAgICAgICAgIFtjYXNlRmllbGRdPVwidG9DYXNlRmllbGQoaGVhZGluZywgaXRlbVtoZWFkaW5nXS5sYWJlbCwgY29sdW1uc0hvcml6b250YWxMYWJlbFtoZWFkaW5nXS50eXBlLCBpdGVtW2hlYWRpbmddKVwiXG4gICAgICAgICAgICAgICAgW2NvbnRleHRdPVwiY29udGV4dFwiPjwvY2NkLWZpZWxkLXJlYWQ+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc2hvd0VtcHR5VGQ+XG4gICAgICAgICAgICAgIDxkaXY+Jm5ic3A7PC9kaXY+XG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPGRpdiBzdHlsZT1cImZsb2F0OiByaWdodDtcIj5cbiAgICAgICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIj4gPGltZyBzcmM9XCJ7eyBnZXRJbWFnZShpKSB9fVwiIGFsdD1cImltYWdlXCIgY2xhc3M9XCJhY2NvcmRpb24taW1hZ2VcIi8+PC9hPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3RkPlxuICAgICAgPC90cj5cbiAgICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGNvbGxhcHNlZCB2aWV3Pi0tPlxuICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRlZCB2aWV3Pi0tPlxuICAgICAgPHRyIFtoaWRkZW5dPVwiaXNIaWRkZW5baV1cIj5cbiAgICAgICAgPHRkIFtjb2xTcGFuXT1cImNvbHVtbnMubGVuZ3RoICsgMVwiPlxuICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImNvbXBsZXgtcGFuZWwtdGFibGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiY29tcGxleCBwYW5lbCB0YWJsZSBleHBhbmRlZFwiPlxuICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgdkxhYmVsIG9mIGNvbHVtbnNWZXJ0aWNhbExhYmVsIHwga2V5dmFsdWU6IGtlZXBPcmlnaW5hbE9yZGVyIHwgY2NkQ29sbGVjdGlvblRhYmxlQ2FzZUZpZWxkc0ZpbHRlcjogY2FzZUZpZWxkOiByb3dzW2ldIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjp0cnVlIDp1bmRlZmluZWQgOnRydWVcIj5cbiAgICAgICAgICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgc2ltcGxlIGZpZWxkPi0tPlxuICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXNpbXBsZS1maWVsZCBhY2NvcmRpb24tYm9keVwiICpuZ0lmPVwiaXRlbVt2TGFiZWwuaWRdXCIgW2hpZGRlbl09XCJ2TGFiZWwuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPHRoIHNjb3BlPVwiY29sXCI+PHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3t2TGFiZWwubGFiZWwgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj48L3RoPlxuICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInZMYWJlbFsndHlwZSddICE9PSAnQ29tcGxleCdcIiBjbGFzcz1cInRleHQtMTZcIj5cbiAgICAgICAgICAgICAgICAgIDxjY2QtZmllbGQtcmVhZCBbY2FzZUZpZWxkXT1cInRvQ2FzZUZpZWxkKCcnLCB2TGFiZWwubGFiZWwsIHZMYWJlbC5maWVsZF90eXBlLCBpdGVtW3ZMYWJlbC5pZF0pXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgc2ltcGxlIGZpZWxkPi0tPlxuXG4gICAgICAgICAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IGNvbXBsZXggZmllbGQ+LS0+XG4gICAgICAgICAgICAgIDx0ciAqbmdJZj1cInZMYWJlbFsndHlwZSddID09PSAnQ29tcGxleCcgJiYgYWRkQ2FzZUZpZWxkVmFsdWUodkxhYmVsLCBpdGVtW3ZMYWJlbC5pZF0pXCIgW2hpZGRlbl09XCJ2TGFiZWwuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBjYXNlRmllbGQgb2YgdkxhYmVsIHwgY2NkUmVhZEZpZWxkc0ZpbHRlcjp0cnVlIDp1bmRlZmluZWQgOnRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLWNvbXBvdW5kLWZpZWxkXCIgKm5nSWY9XCIoY2FzZUZpZWxkIHwgY2NkSXNDb21wb3VuZCk7IGVsc2UgU2ltcGxlUm93XCIgW2hpZGRlbl09XCJjYXNlRmllbGRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj48Y2NkLWZpZWxkLXJlYWQgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNTaW1wbGVSb3c+XG4gICAgICAgICAgICAgICAgICAgICAgICA8dHIgY2xhc3M9XCJjb21wbGV4LXBhbmVsLW5lc3RlZC1maWVsZFwiIFtoaWRkZW5dPVwiY2FzZUZpZWxkLmhpZGRlblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e2Nhc2VGaWVsZC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIiFpdGVtW3ZMYWJlbC5pZF0/Lmhhc093blByb3BlcnR5KCdDYXNlUmVmZXJlbmNlJylcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtMTZcIj48Y2NkLWZpZWxkLXJlYWQgW2Nhc2VGaWVsZF09XCJjYXNlRmllbGRcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cIml0ZW1bdkxhYmVsLmlkXT8uaGFzT3duUHJvcGVydHkoJ0Nhc2VSZWZlcmVuY2UnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjY2QtcmVhZC1jYXNlLWxpbmstZmllbGQgW2Nhc2VGaWVsZF09XCJhZGRDYXNlUmVmZXJlbmNlVmFsdWUoY2FzZUZpZWxkLCBpdGVtW3ZMYWJlbC5pZF0uQ2FzZVJlZmVyZW5jZSlcIiBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtcmVhZC1jYXNlLWxpbmstZmllbGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L3RkPlxuICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBjb21wbGV4IGZpZWxkPi0tPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPCEtLSA8L0NPTVBMRVggdGFibGUgZXhwYW5kZWQgdmlldz4tLT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3Rib2R5PlxuICA8L3RhYmxlPlxuPC9kaXY+XG4iXX0=
|
|
379
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvY29tcGxleC9yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jb21wbGV4L3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7O0lDS25GLDZCQUFnRCxjQUFBO0lBQ3hCLFlBQWtEOztJQUFBLGlCQUFPO0lBQy9FLDRCQUd1RDtJQUZwRCw4T0FBUyxlQUFBLG9DQUEwQixDQUFBLElBQUM7SUFFZ0IsaUJBQUksRUFBQTs7OztJQUpyQyxlQUFrRDtJQUFsRCxxRkFBa0Q7SUFJckUsZUFBbUQ7SUFBbkQscUdBQW1EOzs7SUFXbEQsMkJBQTZDO0lBQzNDLHFDQUV1QztJQUN6QyxpQkFBTTs7Ozs7SUFGRixlQUE0RztJQUE1Ryw0SkFBNEcsNEJBQUE7OztJQUk5RywyQkFBSztJQUFBLHNCQUFNO0lBQUEsaUJBQU07OztJQVJ2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RkFNSztRQUNMLHNCQUFTO1FBQ1gsaUJBQUs7UUFFTCwrR0FzRWU7UUFDZixpQkFBUSxFQUFBLEVBQUE7O1FBMUZlLDZDQUEyQjtRQUV4QixlQUFrQztRQUFsQywrREFBa0M7UUFPbEMsZUFBVTtRQUFWLHFDQUFVO1FBVUwsZUFBUztRQUFULGtDQUFTOzt1RkRSL0Isd0NBQXdDO2NBTHBELFNBQVM7MkJBQ0UseUNBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHBsYWluVG9DbGFzc0Zyb21FeGlzdCB9IGZyb20gJ2NsYXNzLXRyYW5zZm9ybWVyJztcbmltcG9ydCB7IFNvcnRPcmRlciB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbic7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtcmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUnLFxuICB0ZW1wbGF0ZVVybDogJy4vcmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGUuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3JlYWQtY29tcGxleC1maWVsZC1jb2xsZWN0aW9uLXRhYmxlLnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBSZWFkQ29tcGxleEZpZWxkQ29sbGVjdGlvblRhYmxlQ29tcG9uZW50IGV4dGVuZHMgQWJzdHJhY3RGaWVsZFJlYWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBwdWJsaWMgY29sdW1uczogc3RyaW5nW107XG4gIHB1YmxpYyBjb2x1bW5zVmVydGljYWxMYWJlbDogYW55O1xuICBwdWJsaWMgY29sdW1uc0hvcml6b250YWxMYWJlbDogYW55O1xuICBwdWJsaWMgY29sdW1uc0FsbExhYmVsczogYW55O1xuICBwdWJsaWMgcm93czogYW55W10gPSBbXTtcbiAgcHVibGljIGlzSGlkZGVuOiBib29sZWFuW10gPSBbXTtcbiAgcHJpdmF0ZSBzdGF0aWMgaXNTb3J0QXNjZW5kaW5nKGNvbHVtbjogYW55KTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEoY29sdW1uLnNvcnRPcmRlciA9PT0gU29ydE9yZGVyLlVOU09SVEVEIHx8IGNvbHVtbi5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5ERVNDRU5ESU5HKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyXG4gICAgICAmJiB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyLnRyaW0oKS5zdGFydHNXaXRoKCcjVEFCTEUoJykpIHtcblxuICAgICAgY29uc3QgZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIgPSB0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyLnRyaW0oKTtcbiAgICAgIGNvbnN0IHJlc3VsdDogc3RyaW5nID0gZGlzcGxheUNvbnRleHRQYXJhbWV0ZXIucmVwbGFjZSgnI1RBQkxFKCcsICcnKTtcbiAgICAgIHRoaXMuY29sdW1ucyA9IHJlc3VsdC5yZXBsYWNlKCcpJywgJycpLnNwbGl0KCcsJykubWFwKChjOiBzdHJpbmcpID0+IGMudHJpbSgpKTtcblxuICAgICAgY29uc3QgbGFiZWxzVmVydGljYWw6IHsgW2s6IHN0cmluZ106IGFueSB9ID0ge307XG4gICAgICBjb25zdCBsYWJlbHNIb3Jpem9udGFsOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgY29uc3QgYWxsTGFiZWxzOiB7IFtrOiBzdHJpbmddOiBhbnkgfSA9IHt9O1xuICAgICAgdGhpcy5wb3B1bGF0ZUNhc2VGaWVsZFZhbHVlc0ludG9Sb3dzKCk7XG4gICAgICB0aGlzLnBvcHVsYXRlTGFiZWxzKGxhYmVsc1ZlcnRpY2FsLCBhbGxMYWJlbHMpO1xuICAgICAgdGhpcy5wb3B1bGF0ZUhvcml6b250YWxMYWJlbHMobGFiZWxzSG9yaXpvbnRhbCwgYWxsTGFiZWxzLCBsYWJlbHNWZXJ0aWNhbCk7XG5cbiAgICAgIHRoaXMuY29sdW1uc1ZlcnRpY2FsTGFiZWwgPSBsYWJlbHNWZXJ0aWNhbDtcbiAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbCA9IGxhYmVsc0hvcml6b250YWw7XG4gICAgICB0aGlzLmNvbHVtbnNBbGxMYWJlbHMgPSBhbGxMYWJlbHM7XG5cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0SW1hZ2Uocm93KTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0hpZGRlbltyb3ddKSB7XG4gICAgICByZXR1cm4gJ2ltZy9hY2NvcmRpb24tcGx1cy5wbmcnO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5pc1ZlcnRpY2xlRGF0YU5vdEVtcHR5KHJvdykpIHtcbiAgICAgICAgcmV0dXJuICdpbWcvYWNjb3JkaW9uLW1pbnVzLnBuZyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmlzSGlkZGVuW3Jvd10gPSB0cnVlO1xuICAgICAgICByZXR1cm4gJ2ltZy9hY2NvcmRpb24tcGx1cy5wbmcnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBOZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlICdjY2RGaWVsZHNGaWx0ZXInIHBpcGUgaXMgdXNlZCwgYXMgaXQgbmVlZHMgYSBjYXNlRmllbGQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2FzZUZpZWxkVmFsdWUoZmllbGQsIHZhbHVlKTogYm9vbGVhbiB7XG4gICAgZmllbGQudmFsdWUgPSB2YWx1ZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBpc05vdEJsYW5rKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09ICcnO1xuICB9XG5cbiAgcHVibGljIGFkZENhc2VSZWZlcmVuY2VWYWx1ZShmaWVsZCwgdmFsdWU6IGFueSk6IGFueSB7XG4gICAgZmllbGQudmFsdWUgPSB7IENhc2VSZWZlcmVuY2U6IHZhbHVlfTtcbiAgICByZXR1cm4gZmllbGQ7XG4gIH1cblxuICBwdWJsaWMgdG9DYXNlRmllbGQoaWQ6IHN0cmluZywgbGFiZWw6IHN0cmluZywgZmllbGRUeXBlOiBhbnksIHZhbHVlOiBhbnkpOiBDYXNlRmllbGQge1xuICAgIHJldHVybiBwbGFpblRvQ2xhc3NGcm9tRXhpc3QobmV3IENhc2VGaWVsZCgpLCB7XG4gICAgICBpZCxcbiAgICAgIGxhYmVsLFxuICAgICAgZGlzcGxheV9jb250ZXh0OiAnUkVBRE9OTFknLFxuICAgICAgdmFsdWUsXG4gICAgICBmaWVsZF90eXBlOiBmaWVsZFR5cGVcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBrZWVwT3JpZ2luYWxPcmRlciA9IChhLCBiKSA9PiBhLmtleTtcblxuICBwdWJsaWMgc29ydFJvd3NCeUNvbHVtbnMoY29sdW1uKTogdm9pZCB7XG4gICAgY29uc3Qgc2hvdWxkU29ydEluQXNjZW5kaW5nT3JkZXIgPSB0aGlzLmNvbHVtbnNIb3Jpem9udGFsTGFiZWxbY29sdW1uXS5zb3J0T3JkZXIgPT09IFNvcnRPcmRlci5VTlNPUlRFRFxuICAgICAgfHwgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID09PSBTb3J0T3JkZXIuREVTQ0VORElORztcblxuICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTpzd2l0Y2gtZGVmYXVsdFxuICAgIHN3aXRjaCAodGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0udHlwZS50eXBlKSB7XG4gICAgICBjYXNlICdOdW1iZXInOlxuICAgICAgY2FzZSAnTW9uZXlHQlAnOiB7XG4gICAgICAgIGlmIChzaG91bGRTb3J0SW5Bc2NlbmRpbmdPcmRlcikge1xuICAgICAgICAgIHRoaXMucm93cy5zb3J0KChhLCBiKSA9PiBhW2NvbHVtbl0gLSBiW2NvbHVtbl0pO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5BU0NFTkRJTkc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yb3dzLnNvcnQoKGEsIGIpID0+IGJbY29sdW1uXSAtIGFbY29sdW1uXSk7XG4gICAgICAgICAgdGhpcy5jb2x1bW5zSG9yaXpvbnRhbExhYmVsW2NvbHVtbl0uc29ydE9yZGVyID0gU29ydE9yZGVyLkRFU0NFTkRJTkc7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdUZXh0JzpcbiAgICAgIGNhc2UgJ1RleHRBcmVhJzpcbiAgICAgIGNhc2UgJ0VtYWlsJzpcbiAgICAgIGNhc2UgJ0RhdGUnOlxuICAgICAgY2FzZSAnRGF0ZVRpbWUnOlxuICAgICAgY2FzZSAnTGFiZWwnOlxuICAgICAgY2FzZSAnUG9zdGNvZGUnOlxuICAgICAgY2FzZSAnWWVzT3JObyc6XG4gICAgICBjYXNlICdQaG9uZVVLJzpcbiAgICAgIGNhc2UgJ0ZpeGVkTGlzdCc6IHtcbiAgICAgICAgaWYgKHNob3VsZFNvcnRJbkFzY2VuZGluZ09yZGVyKSB7XG4gICAgICAgICAgdGhpcy5yb3dzLnNvcnQoKGEsIGIpID0+IGFbY29sdW1uXSA8IGJbY29sdW1uXSA/IC0xIDogYVtjb2x1bW5dID4gYltjb2x1bW5dID8gMSA6IDApO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5BU0NFTkRJTkc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5yb3dzLnNvcnQoKGEsIGIpID0+IGFbY29sdW1uXSA8IGJbY29sdW1uXSA/IDEgOiBhW2NvbHVtbl0gPiBiW2NvbHVtbl0gPyAtMSA6IDApO1xuICAgICAgICAgIHRoaXMuY29sdW1uc0hvcml6b250YWxMYWJlbFtjb2x1bW5dLnNvcnRPcmRlciA9IFNvcnRPcmRlci5ERVNDRU5ESU5HO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzb3J0V2lkZ2V0KGNvbHVtbjogYW55KTogc3RyaW5nIHtcbiAgICByZXR1cm4gUmVhZENvbXBsZXhGaWVsZENvbGxlY3Rpb25UYWJsZUNvbXBvbmVudC5pc1NvcnRBc2NlbmRpbmcoY29sdW1uKSA/ICcmIzk2NjA7JyA6ICcmIzk2NTA7JztcbiAgfVxuXG4gIHByaXZhdGUgcG9wdWxhdGVIb3Jpem9udGFsTGFiZWxzKGxhYmVsc0hvcml6b250YWw6IHsgW3A6IHN0cmluZ106IGFueSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxMYWJlbHM6IHsgW3A6IHN0cmluZ106IGFueSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYWJlbHNWZXJ0aWNhbDogeyBbcDogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGlkIG9mIHRoaXMuY29sdW1ucykge1xuICAgICAgY29uc3QgdHJpbW1lZElkID0gaWQudHJpbSgpO1xuICAgICAgbGFiZWxzSG9yaXpvbnRhbFt0cmltbWVkSWRdID0gYWxsTGFiZWxzW3RyaW1tZWRJZF07XG4gICAgICBsYWJlbHNIb3Jpem9udGFsW3RyaW1tZWRJZF0uc29ydE9yZGVyID0gU29ydE9yZGVyLlVOU09SVEVEO1xuICAgICAgZGVsZXRlIGxhYmVsc1ZlcnRpY2FsW3RyaW1tZWRJZF07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBwb3B1bGF0ZUxhYmVscyhsYWJlbHNWZXJ0aWNhbDogeyBbcDogc3RyaW5nXTogYW55IH0sIGFsbExhYmVsczogeyBbcDogc3RyaW5nXTogYW55IH0pOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IG9iaiBvZiB0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLmNvbXBsZXhfZmllbGRzKSB7XG4gICAgICBpZiAob2JqLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0ZpeGVkTGlzdCcgfHxcbiAgICAgICAgb2JqLmZpZWxkX3R5cGUudHlwZSA9PT0gJ011bHRpU2VsZWN0TGlzdCcgfHxcbiAgICAgICAgb2JqLmZpZWxkX3R5cGUudHlwZSA9PT0gJ0ZpeGVkUmFkaW9MaXN0Jykge1xuICAgICAgICBsYWJlbHNWZXJ0aWNhbFtvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlLCBjYXNlRmllbGQ6IG9ian07XG4gICAgICAgIGFsbExhYmVsc1tvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IG9iai5maWVsZF90eXBlfTtcbiAgICAgIH0gZWxzZSBpZiAob2JqLmlzQ29tcGxleCgpKSB7XG4gICAgICAgIGxhYmVsc1ZlcnRpY2FsW29iai5pZF0gPSB7bGFiZWw6IG9iai5sYWJlbCwgdHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgICBhbGxMYWJlbHNbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiBvYmouZmllbGRfdHlwZS50eXBlLCBjYXNlRmllbGQ6IG9ian07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsYWJlbHNWZXJ0aWNhbFtvYmouaWRdID0ge2xhYmVsOiBvYmoubGFiZWwsIHR5cGU6IHt0eXBlOiBvYmouZmllbGRfdHlwZS50eXBlfSwgY2FzZUZpZWxkOiBvYmp9O1xuICAgICAgICBhbGxMYWJlbHNbb2JqLmlkXSA9IHtsYWJlbDogb2JqLmxhYmVsLCB0eXBlOiB7dHlwZTogb2JqLmZpZWxkX3R5cGUudHlwZX0sIGNhc2VGaWVsZDogb2JqfTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBvcHVsYXRlQ2FzZUZpZWxkVmFsdWVzSW50b1Jvd3MoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBvYmogb2YgdGhpcy5jYXNlRmllbGQudmFsdWUpIHtcbiAgICAgIHRoaXMucm93cy5wdXNoKG9iai52YWx1ZSk7XG4gICAgICB0aGlzLmlzSGlkZGVuLnB1c2godHJ1ZSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZlcnRpY2xlRGF0YU5vdEVtcHR5KHJvdyk6IGJvb2xlYW4ge1xuICAgIGxldCByZXN1bHQgPSBmYWxzZTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmNvbHVtbnNWZXJ0aWNhbExhYmVsKSB7XG4gICAgICBpZiAodGhpcy5yb3dzW3Jvd11ba2V5XSkge1xuICAgICAgICByZXN1bHQgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiY29tcGxleC1wYW5lbFwiIFtoaWRkZW5dPVwiY2FzZUZpZWxkLmhpZGRlblwiPlxuICA8ZGwgY2xhc3M9XCJjb21wbGV4LXBhbmVsLXRpdGxlXCI+XG4gICAgPGR0PjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC9kdD5cbiAgICA8ZGQ+PC9kZD5cbiAgPC9kbD5cbiAgPHRhYmxlIGNsYXNzPVwiY29tcGxleC1wYW5lbC10YWJsZVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb21wbGV4IHBhbmVsIHRhYmxlXCI+XG4gICAgPHRib2R5PlxuICAgIDwhLS0gPENPTVBMRVggdGFibGUgZmllbGQgaGVhZGVyPi0tPlxuICAgIDx0cj5cbiAgICAgIDx0aCAqbmdGb3I9XCJsZXQgaGVhZGluZyBvZiBjb2x1bW5zXCIgc2NvcGU9XCJjb2xcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LTE2XCI+e3tjb2x1bW5zQWxsTGFiZWxzW2hlYWRpbmddLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgIDxhIGhyZWY9XCJqYXZhc2NyaXB0OnZvaWQoMClcIlxuICAgICAgICAgICAoY2xpY2spPVwic29ydFJvd3NCeUNvbHVtbnMoaGVhZGluZylcIlxuICAgICAgICAgICBjbGFzcz1cInNvcnQtd2lkZ2V0XCJcbiAgICAgICAgICAgW2lubmVySFRNTF09XCJzb3J0V2lkZ2V0KGNvbHVtbnNBbGxMYWJlbHNbaGVhZGluZ10pXCI+PC9hPlxuICAgICAgPC90aD5cbiAgICAgIDx0aD48L3RoPlxuICAgIDwvdHI+XG4gICAgPCEtLSA8L0NPTVBMRVggdGFibGUgZmllbGQgaGVhZGVyPi0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGl0ZW0gb2Ygcm93czsgbGV0IGkgPSBpbmRleDtcIj5cbiAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgY29sbGFwc2VkIHZpZXc+LS0+XG4gICAgICA8dHIgY2xhc3M9XCJuZXctdGFibGUtcm93IGFjY29yZGlvbi1oZWFkaW5nXCIgKGNsaWNrKT1cImlzSGlkZGVuW2ldID0gIWlzSGlkZGVuW2ldXCJcbiAgICAgICAgICBbY2xhc3MubGFzdC1hY2NvcmRpb25dPVwiaXNIaWRkZW5baV1cIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaGVhZGluZyBvZiBjb2x1bW5zXCI+XG4gICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIml0ZW1baGVhZGluZ107IGVsc2Ugc2hvd0VtcHR5VGRcIj5cbiAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkXG4gICAgICAgICAgICAgICAgW2Nhc2VGaWVsZF09XCJ0b0Nhc2VGaWVsZChoZWFkaW5nLCBpdGVtW2hlYWRpbmddLmxhYmVsLCBjb2x1bW5zSG9yaXpvbnRhbExhYmVsW2hlYWRpbmddLnR5cGUsIGl0ZW1baGVhZGluZ10pXCJcbiAgICAgICAgICAgICAgICBbY29udGV4dF09XCJjb250ZXh0XCI+PC9jY2QtZmllbGQtcmVhZD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICNzaG93RW1wdHlUZD5cbiAgICAgICAgICAgICAgPGRpdj4mbmJzcDs8L2Rpdj5cbiAgICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgPC90ZD5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDx0ZD5cbiAgICAgICAgICA8ZGl2IHN0eWxlPVwiZmxvYXQ6IHJpZ2h0O1wiPlxuICAgICAgICAgICAgPGEgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKVwiPiA8aW1nIHNyYz1cInt7IGdldEltYWdlKGkpIH19XCIgYWx0PVwiaW1hZ2VcIiBjbGFzcz1cImFjY29yZGlvbi1pbWFnZVwiLz48L2E+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvdGQ+XG4gICAgICA8L3RyPlxuICAgICAgPCEtLSA8L0NPTVBMRVggdGFibGUgY29sbGFwc2VkIHZpZXc+LS0+XG4gICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGVkIHZpZXc+LS0+XG4gICAgICA8dHIgW2hpZGRlbl09XCJpc0hpZGRlbltpXVwiPlxuICAgICAgICA8dGQgW2NvbFNwYW5dPVwiY29sdW1ucy5sZW5ndGggKyAxXCI+XG4gICAgICAgICAgPHRhYmxlIGNsYXNzPVwiY29tcGxleC1wYW5lbC10YWJsZVwiIGFyaWEtZGVzY3JpYmVkYnk9XCJjb21wbGV4IHBhbmVsIHRhYmxlIGV4cGFuZGVkXCI+XG4gICAgICAgICAgICA8dGJvZHk+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAgICpuZ0Zvcj1cImxldCB2TGFiZWwgb2YgY29sdW1uc1ZlcnRpY2FsTGFiZWwgfCBrZXl2YWx1ZToga2VlcE9yaWdpbmFsT3JkZXIgfCBjY2RDb2xsZWN0aW9uVGFibGVDYXNlRmllbGRzRmlsdGVyOiBjYXNlRmllbGQ6IHJvd3NbaV0gfCBjY2RSZWFkRmllbGRzRmlsdGVyOnRydWUgOnVuZGVmaW5lZCA6dHJ1ZVwiPlxuICAgICAgICAgICAgICA8IS0tIDxDT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBzaW1wbGUgZmllbGQ+LS0+XG4gICAgICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtc2ltcGxlLWZpZWxkIGFjY29yZGlvbi1ib2R5XCIgKm5nSWY9XCJpdGVtW3ZMYWJlbC5pZF1cIiBbaGlkZGVuXT1cInZMYWJlbC5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICA8dGggc2NvcGU9XCJjb2xcIj48c3BhbiBjbGFzcz1cInRleHQtMTZcIj57e3ZMYWJlbC5sYWJlbCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPjwvdGg+XG4gICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidkxhYmVsWyd0eXBlJ10gIT09ICdDb21wbGV4J1wiIGNsYXNzPVwidGV4dC0xNlwiPlxuICAgICAgICAgICAgICAgICAgPGNjZC1maWVsZC1yZWFkIFtjYXNlRmllbGRdPVwidG9DYXNlRmllbGQoJycsIHZMYWJlbC5sYWJlbCwgdkxhYmVsLmZpZWxkX3R5cGUsIGl0ZW1bdkxhYmVsLmlkXSlcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwhLS0gPC9DT01QTEVYIHRhYmxlIGV4cGFuZGFibGUgYm9keSBzaW1wbGUgZmllbGQ+LS0+XG5cbiAgICAgICAgICAgICAgPCEtLSA8Q09NUExFWCB0YWJsZSBleHBhbmRhYmxlIGJvZHkgY29tcGxleCBmaWVsZD4tLT5cbiAgICAgICAgICAgICAgPHRyICpuZ0lmPVwidkxhYmVsWyd0eXBlJ10gPT09ICdDb21wbGV4JyAmJiBhZGRDYXNlRmllbGRWYWx1ZSh2TGFiZWwsIGl0ZW1bdkxhYmVsLmlkXSlcIiBbaGlkZGVuXT1cInZMYWJlbC5oaWRkZW5cIj5cbiAgICAgICAgICAgICAgICA8dGQgY29sc3Bhbj1cIjJcIj5cbiAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhc2VGaWVsZCBvZiB2TGFiZWwgfCBjY2RSZWFkRmllbGRzRmlsdGVyOnRydWUgOnVuZGVmaW5lZCA6dHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtY29tcG91bmQtZmllbGRcIiAqbmdJZj1cIihjYXNlRmllbGQgfCBjY2RJc0NvbXBvdW5kKTsgZWxzZSBTaW1wbGVSb3dcIiBbaGlkZGVuXT1cImNhc2VGaWVsZFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNvbHNwYW49XCIyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPjxjY2QtZmllbGQtcmVhZCBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI1NpbXBsZVJvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ciBjbGFzcz1cImNvbXBsZXgtcGFuZWwtbmVzdGVkLWZpZWxkXCIgW2hpZGRlbl09XCJjYXNlRmllbGQuaGlkZGVuXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBzY29wZT1cImNvbFwiPjxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPnt7Y2FzZUZpZWxkLmxhYmVsIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+PC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiIWl0ZW1bdkxhYmVsLmlkXT8uaGFzT3duUHJvcGVydHkoJ0Nhc2VSZWZlcmVuY2UnKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC0xNlwiPjxjY2QtZmllbGQtcmVhZCBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1maWVsZC1yZWFkPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwiaXRlbVt2TGFiZWwuaWRdPy5oYXNPd25Qcm9wZXJ0eSgnQ2FzZVJlZmVyZW5jZScpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNjZC1yZWFkLWNhc2UtbGluay1maWVsZCBbY2FzZUZpZWxkXT1cImFkZENhc2VSZWZlcmVuY2VWYWx1ZShjYXNlRmllbGQsIGl0ZW1bdkxhYmVsLmlkXS5DYXNlUmVmZXJlbmNlKVwiIFtjb250ZXh0XT1cImNvbnRleHRcIj48L2NjZC1yZWFkLWNhc2UtbGluay1maWVsZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwhLS0gPENPTVBMRVggdGFibGUgZXhwYW5kYWJsZSBib2R5IGNvbXBsZXggZmllbGQ+LS0+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvdGJvZHk+XG4gICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgPC90ZD5cbiAgICAgIDwvdHI+XG4gICAgICA8IS0tIDwvQ09NUExFWCB0YWJsZSBleHBhbmRlZCB2aWV3Pi0tPlxuICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGJvZHk+XG4gIDwvdGFibGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -38,7 +38,7 @@ export class ReadComplexFieldComponent extends AbstractFieldReadComponent {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
if (this.caseField.field_type) {
|
|
41
|
-
this.caseField
|
|
41
|
+
this.caseField?.field_type?.complex_fields?.forEach((field) => {
|
|
42
42
|
if (field.isDynamic()) {
|
|
43
43
|
field.list_items = this.caseField.value[field.id].list_items;
|
|
44
44
|
field.value = {
|
|
@@ -72,4 +72,4 @@ ReadComplexFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: R
|
|
|
72
72
|
}], null, { caseFields: [{
|
|
73
73
|
type: Input
|
|
74
74
|
}] }); })();
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVhZC1jb21wbGV4LWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2NvbXBsZXgvcmVhZC1jb21wbGV4LWZpZWxkLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7SUNGbEUsZ0RBTzhCOzs7SUFMNUIsNENBQXVCLGlDQUFBLDJCQUFBLCtDQUFBLDZCQUFBOzs7SUFNekIsNkRBTTJDOzs7SUFKekMsNENBQXVCLDJCQUFBLCtDQUFBLDZCQUFBOzs7SUFLekIsa0RBT2dDOzs7SUFMOUIsNENBQXVCLGlDQUFBLDJCQUFBLCtDQUFBLDZCQUFBOztBRFQzQixNQUFNLE9BQU8seUJBQTBCLFNBQVEsMEJBQTBCO0lBSnpFOztRQU9TLGVBQVUsR0FBZ0IsRUFBRSxDQUFDO1FBRTdCLG1CQUFjLEdBQUcsY0FBYyxDQUFDO0tBMkJ4QztJQXpCUSxRQUFRO1FBQ2IsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsRUFBRTtZQUM1QyxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxVQUFVLENBQUM7U0FDMUM7YUFBTTtZQUNMLDJCQUEyQjtZQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyx5QkFBeUIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUM3RCxJQUFJLENBQUMsT0FBTyxHQUFHLGNBQWMsQ0FBQyxPQUFPLENBQUM7YUFDdkM7U0FDRjtRQUNELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUU7WUFDN0IsSUFBSSxDQUFDLFNBQVMsRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUM1RCxJQUFJLEtBQUssQ0FBQyxTQUFTLEVBQUUsRUFBRTtvQkFDckIsS0FBSyxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsVUFBVSxDQUFDO29CQUM3RCxLQUFLLENBQUMsS0FBSyxHQUFHO3dCQUNaLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVTt3QkFDNUIsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDeEYsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDM0MsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUs7cUJBQ3ZDLENBQUM7aUJBQ0g7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQzs7cVJBOUJVLHlCQUF5QixTQUF6Qix5QkFBeUI7NEVBQXpCLHlCQUF5QjtRQ1R0QyxnQ0FBbUM7UUFDakMsd0hBTzhCO1FBQzlCLGtKQU0yQztRQUMzQyw0SEFPZ0M7UUFDbEMsMEJBQWU7O1FBeEJELHNDQUFvQjtRQUU3QixlQUE4QztRQUE5QyxtRUFBOEM7UUFROUMsZUFBdUM7UUFBdkMsNERBQXVDOzt1RkREL0IseUJBQXlCO2NBSnJDLFNBQVM7MkJBQ0Usd0JBQXdCO2dCQU0zQixVQUFVO2tCQURoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXNlRmllbGQgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vZGVmaW5pdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCB9IGZyb20gJy4uL2Jhc2UtZmllbGQvYWJzdHJhY3QtZmllbGQtcmVhZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgUGFsZXR0ZUNvbnRleHQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL3BhbGV0dGUtY29udGV4dC5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLXJlYWQtY29tcGxleC1maWVsZCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9yZWFkLWNvbXBsZXgtZmllbGQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIFJlYWRDb21wbGV4RmllbGRDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZpZWxkUmVhZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNhc2VGaWVsZHM6IENhc2VGaWVsZFtdID0gW107XG5cbiAgcHVibGljIHBhbGV0dGVDb250ZXh0ID0gUGFsZXR0ZUNvbnRleHQ7XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgaWYgKHRoaXMuY2FzZUZpZWxkLmRpc3BsYXlfY29udGV4dF9wYXJhbWV0ZXIpIHtcbiAgICAgIHRoaXMuY29udGV4dCA9IFBhbGV0dGVDb250ZXh0LlRBQkxFX1ZJRVc7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRlZmF1bHQgdG8gZGVmYXVsdCB2aWV3c1xuICAgICAgaWYgKCF0aGlzLmNhc2VGaWVsZC5kaXNwbGF5X2NvbnRleHRfcGFyYW1ldGVyICYmIHRoaXMuY29udGV4dCkge1xuICAgICAgICB0aGlzLmNvbnRleHQgPSBQYWxldHRlQ29udGV4dC5ERUZBVUxUO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZSkge1xuICAgICAgdGhpcy5jYXNlRmllbGQ/LmZpZWxkX3R5cGU/LmNvbXBsZXhfZmllbGRzPy5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgICBpZiAoZmllbGQuaXNEeW5hbWljKCkpIHtcbiAgICAgICAgICBmaWVsZC5saXN0X2l0ZW1zID0gdGhpcy5jYXNlRmllbGQudmFsdWVbZmllbGQuaWRdLmxpc3RfaXRlbXM7XG4gICAgICAgICAgZmllbGQudmFsdWUgPSB7XG4gICAgICAgICAgICBsaXN0X2l0ZW1zOiBmaWVsZC5saXN0X2l0ZW1zLFxuICAgICAgICAgICAgdmFsdWU6IHRoaXMuY2FzZUZpZWxkLnZhbHVlW2ZpZWxkLmlkXS52YWx1ZSAmJiB0aGlzLmNhc2VGaWVsZC52YWx1ZVtmaWVsZC5pZF0udmFsdWUuY29kZSA/XG4gICAgICAgICAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlW2ZpZWxkLmlkXS52YWx1ZS5jb2RlIDpcbiAgICAgICAgICAgICAgdGhpcy5jYXNlRmllbGQudmFsdWVbZmllbGQuaWRdLnZhbHVlXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbn1cbiIsIjxuZy1jb250YWluZXIgW25nU3dpdGNoXT1cImNvbnRleHRcIj5cbiAgPGNjZC1yZWFkLWNvbXBsZXgtZmllbGQtcmF3XG4gICAgKm5nU3dpdGNoQ2FzZT1cInBhbGV0dGVDb250ZXh0LkNIRUNLX1lPVVJfQU5TV0VSXCJcbiAgICBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiXG4gICAgW2Nhc2VGaWVsZHNdPVwiY2FzZUZpZWxkc1wiXG4gICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgW3RvcExldmVsRm9ybUdyb3VwXT1cInRvcExldmVsRm9ybUdyb3VwXCJcbiAgICBbaWRQcmVmaXhdPVwiaWRQcmVmaXhcIlxuICA+PC9jY2QtcmVhZC1jb21wbGV4LWZpZWxkLXJhdz5cbiAgPGNjZC1yZWFkLWNvbXBsZXgtZmllbGQtY29sbGVjdGlvbi10YWJsZVxuICAgICpuZ1N3aXRjaENhc2U9XCJwYWxldHRlQ29udGV4dC5UQUJMRV9WSUVXXCJcbiAgICBbY2FzZUZpZWxkXT1cImNhc2VGaWVsZFwiXG4gICAgW2NvbnRleHRdPVwiY29udGV4dFwiXG4gICAgW3RvcExldmVsRm9ybUdyb3VwXT1cInRvcExldmVsRm9ybUdyb3VwXCJcbiAgICBbaWRQcmVmaXhdPVwiaWRQcmVmaXhcIlxuICA+PC9jY2QtcmVhZC1jb21wbGV4LWZpZWxkLWNvbGxlY3Rpb24tdGFibGU+XG4gIDxjY2QtcmVhZC1jb21wbGV4LWZpZWxkLXRhYmxlXG4gICAgKm5nU3dpdGNoRGVmYXVsdFxuICAgIFtjYXNlRmllbGRdPVwiY2FzZUZpZWxkXCJcbiAgICBbY2FzZUZpZWxkc109XCJjYXNlRmllbGRzXCJcbiAgICBbY29udGV4dF09XCJjb250ZXh0XCJcbiAgICBbdG9wTGV2ZWxGb3JtR3JvdXBdPVwidG9wTGV2ZWxGb3JtR3JvdXBcIlxuICAgIFtpZFByZWZpeF09XCJpZFByZWZpeFwiXG4gID48L2NjZC1yZWFkLWNvbXBsZXgtZmllbGQtdGFibGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -3,7 +3,7 @@ import { NgxMatMomentAdapter, NGX_MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angul
|
|
|
3
3
|
import { Component, ElementRef, Inject, Input, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
4
4
|
import { FormControl, Validators } from '@angular/forms';
|
|
5
5
|
import { MAT_LEGACY_DATE_LOCALE } from '@angular/material/legacy-core';
|
|
6
|
-
import
|
|
6
|
+
import moment from 'moment';
|
|
7
7
|
import { FormatTranslatorService } from '../../../services/case-fields/format-translator.service';
|
|
8
8
|
import { AbstractFormFieldComponent } from '../base-field/abstract-form-field.component';
|
|
9
9
|
import { CUSTOM_MOMENT_FORMATS } from './datetime-picker-utils';
|
|
@@ -308,4 +308,4 @@ DatetimePickerComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Dat
|
|
|
308
308
|
}], dateControl: [{
|
|
309
309
|
type: Input
|
|
310
310
|
}] }); })();
|
|
311
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDckIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBc0MsTUFBTSwrQkFBK0IsQ0FBQztBQUczRyxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUVqQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx5REFBeUQsQ0FBQztBQUNsRyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7Ozs7Ozs7Ozs7SUNaMUQsZ0NBQWlEO0lBQUEsWUFBK0M7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LGdEQUEwQixtQ0FBQSxnQ0FBQSw2QkFBQTtRQVNBLGVBQWM7UUFBZCx5QkFBYztRQUV0QixlQUFlO1FBQWYsaUNBQWUsd0JBQUEsMEJBQUEsNEJBQUEsMEJBQUEsOEJBQUEsOEJBQUEsZ0NBQUEsa0NBQUEsb0NBQUEsc0NBQUE7O3VGRE1qQyx1QkFBdUI7Y0FoQm5DLFNBQVM7MkJBQ0UscUJBQXFCLGlCQUdoQixpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCO29CQUNULEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFFBQVEsRUFBRSxxQkFBcUIsRUFBRTtvQkFDbEU7d0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjt3QkFDMUIsUUFBUSxFQUFFLG1CQUFtQjt3QkFDN0IsSUFBSSxFQUFFLENBQUMsc0JBQXNCLEVBQUUsbUNBQW1DLENBQUM7cUJBQ3BFO29CQUNELEVBQUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLFFBQVEsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsRUFBRTtpQkFDN0U7O3NCQWtDRSxNQUFNO3VCQUFDLG9CQUFvQjt3QkFWaUIsY0FBYztrQkFBNUQsU0FBUzttQkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBQ1EsWUFBWTtrQkFBekQsU0FBUzttQkFBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO1lBRXJCLFdBQVc7a0JBQTFCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBOZ3hNYXREYXRlQWRhcHRlcixcbiAgTmd4TWF0RGF0ZUZvcm1hdHMsXG4gIE5neE1hdERhdGV0aW1lcGlja2VyLFxuICBOR1hfTUFUX0RBVEVfRk9STUFUU1xufSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlcic7XG5pbXBvcnQgeyBOZ3hNYXRNb21lbnRBZGFwdGVyLCBOR1hfTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUyB9IGZyb20gJ0Bhbmd1bGFyLW1hdGVyaWFsLWNvbXBvbmVudHMvbW9tZW50LWFkYXB0ZXInO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBJbmplY3QsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTUFUX0xFR0FDWV9EQVRFX0xPQ0FMRSwgTGVnYWN5VGhlbWVQYWxldHRlIGFzIFRoZW1lUGFsZXR0ZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xlZ2FjeS1jb3JlJztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudC9tb21lbnQnO1xuXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IENhc2VGaWVsZCB9IGZyb20gJy4uLy4uLy4uL2RvbWFpbi9kZWZpbml0aW9uL2Nhc2UtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRm9ybWF0VHJhbnNsYXRvclNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9jYXNlLWZpZWxkcy9mb3JtYXQtdHJhbnNsYXRvci5zZXJ2aWNlJztcbmltcG9ydCB7IEFic3RyYWN0Rm9ybUZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vYmFzZS1maWVsZC9hYnN0cmFjdC1mb3JtLWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBDVVNUT01fTU9NRU5UX0ZPUk1BVFMgfSBmcm9tICcuL2RhdGV0aW1lLXBpY2tlci11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NjZC1kYXRldGltZS1waWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogTkdYX01BVF9EQVRFX0ZPUk1BVFMsIHVzZVZhbHVlOiBDVVNUT01fTU9NRU5UX0ZPUk1BVFMgfSxcbiAgICB7XG4gICAgICBwcm92aWRlOiBOZ3hNYXREYXRlQWRhcHRlcixcbiAgICAgIHVzZUNsYXNzOiBOZ3hNYXRNb21lbnRBZGFwdGVyLFxuICAgICAgZGVwczogW01BVF9MRUdBQ1lfREFURV9MT0NBTEUsIE5HWF9NQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXVxuICAgIH0sXG4gICAgeyBwcm92aWRlOiBOR1hfTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUywgdXNlVmFsdWU6IHsgdXNlVXRjOiB0cnVlIH0gfVxuICBdXG59KVxuXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdEZvcm1GaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHVibGljIHNob3dTcGlubmVycyA9IHRydWU7XG4gIHB1YmxpYyBzaG93U2Vjb25kcyA9IGZhbHNlO1xuICBwdWJsaWMgdG91Y2hVaSA9IGZhbHNlO1xuICBwdWJsaWMgZW5hYmxlTWVyaWRpYW4gPSBmYWxzZTtcbiAgcHVibGljIHN0ZXBIb3VyID0gMTtcbiAgcHVibGljIHN0ZXBNaW51dGUgPSAxO1xuICBwdWJsaWMgc3RlcFNlY29uZCA9IDE7XG4gIHB1YmxpYyBjb2xvcjogVGhlbWVQYWxldHRlID0gJ3ByaW1hcnknO1xuICBwdWJsaWMgZGlzYWJsZU1pbnV0ZSA9IHRydWU7XG4gIHB1YmxpYyBoaWRlVGltZSA9IHRydWU7XG4gIHB1YmxpYyBoaWRlTWludXRlcyA9IHRydWU7XG4gIHB1YmxpYyBzdGFydFZpZXcgPSAnbW9udGgnO1xuICBwdWJsaWMgeWVhclNlbGVjdGlvbiA9IGZhbHNlO1xuICBwdWJsaWMgY2hlY2tUaW1lID0gdHJ1ZTtcbiAgcHVibGljIHN0cmluZ0VkaXRlZCA9IGZhbHNlO1xuICBwdWJsaWMgbWluRXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIG1heEVycm9yID0gZmFsc2U7XG4gIHB1YmxpYyBkYXRlVGltZUVudHJ5Rm9ybWF0OiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgncGlja2VyJywgeyBzdGF0aWM6IGZhbHNlIH0pIHB1YmxpYyBkYXRldGltZVBpY2tlcjogTmd4TWF0RGF0ZXRpbWVwaWNrZXI8YW55PjtcbiAgQFZpZXdDaGlsZCgnaW5wdXQnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcblxuICBASW5wdXQoKSBwdWJsaWMgZGF0ZUNvbnRyb2w6IEZvcm1Db250cm9sID0gbmV3IEZvcm1Db250cm9sKG5ldyBEYXRlKCkpO1xuXG4gIHByaXZhdGUgbWluaW11bURhdGUgPSBuZXcgRGF0ZSgnMDEvMDEvMTgwMCcpO1xuICBwcml2YXRlIG1heGltdW1EYXRlID0gbnVsbDtcbiAgcHJpdmF0ZSBtb21lbnRGb3JtYXQgPSAnWVlZWS1NTS1ERFRISDptbTpzcy5TU1MnO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlOiBGb3JtYXRUcmFuc2xhdG9yU2VydmljZSxcbiAgICBASW5qZWN0KE5HWF9NQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIHJlYWRvbmx5IG5neE1hdERhdGVGb3JtYXRzOiBOZ3hNYXREYXRlRm9ybWF0cykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0ID0gdGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2Uuc2hvd09ubHlEYXRlcyh0aGlzLmNhc2VGaWVsZC5kYXRlVGltZUVudHJ5Rm9ybWF0KTtcbiAgICB0aGlzLmNvbmZpZ3VyZURhdGVQaWNrZXIodGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0KTtcbiAgICAvLyBzZXQgZGF0ZSBjb250cm9sIGJhc2VkIG9uIG1hbmRhdG9yeSBmaWVsZFxuICAgIHRoaXMuZGF0ZUNvbnRyb2wgPSAodGhpcy5jYXNlRmllbGQuaXNNYW5kYXRvcnkgP1xuICAgICAgdGhpcy5yZWdpc3RlckNvbnRyb2wobmV3IEZvcm1Db250cm9sKHRoaXMuY2FzZUZpZWxkLnZhbHVlIHx8ICcnLCBbVmFsaWRhdG9ycy5yZXF1aXJlZF0pKVxuICAgICAgOiB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUNvbnRyb2wodGhpcy5jYXNlRmllbGQudmFsdWUpKSkgYXMgRm9ybUNvbnRyb2w7XG4gICAgLy8gaW4gcmVzZXR0aW5nIHRoZSBmb3JtYXQganVzdCBhZnRlciB0aGUgcGFnZSBpbml0aWFsaXNlcywgdGhlIGlucHV0IGNhbiBiZSByZWZvcm1hdHRlZFxuICAgIC8vIG90aGVyd2lzZSB0aGUgbGFzdCBmb3JtYXQgZ2l2ZW4gd2lsbCBiZSBob3cgdGhlIHRleHQgc2hvd24gd2lsbCBiZSBkaXNwbGF5ZWRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuc2V0RGF0ZVRpbWVGb3JtYXQoKTtcbiAgICAgIHRoaXMuZm9ybWF0VmFsdWVBbmRTZXRFcnJvcnMoKTtcbiAgICB9LCAxMDAwKTtcbiAgICAvLyB3aGVuIHRoZSBzdGF0dXMgY2hhbmdlcyBjaGVjayB0aGF0IHRoZSBtYXhpbXVtL21pbmltdW0gZGF0ZSBoYXMgbm90IGJlZW4gZXhjZWVkZWRcbiAgICB0aGlzLmRhdGVDb250cm9sLnN0YXR1c0NoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMubWluRXJyb3IgPSB0aGlzLmRhdGVDb250cm9sLmhhc0Vycm9yKCdtYXREYXRldGltZVBpY2tlck1pbicpO1xuICAgICAgdGhpcy5tYXhFcnJvciA9IHRoaXMuZGF0ZUNvbnRyb2wuaGFzRXJyb3IoJ21hdERhdGV0aW1lUGlja2VyTWF4Jyk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgc2V0RGF0ZVRpbWVGb3JtYXQoKTogdm9pZCB7XG4gICAgdGhpcy5uZ3hNYXREYXRlRm9ybWF0cy5wYXJzZS5kYXRlSW5wdXQgPSB0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQ7XG4gICAgdGhpcy5uZ3hNYXREYXRlRm9ybWF0cy5kaXNwbGF5LmRhdGVJbnB1dCA9IHRoaXMuZGF0ZVRpbWVFbnRyeUZvcm1hdDtcbiAgfVxuXG4gIC8qXG4gIFdoZW4gdGhlIHZhbHVlIGNoYW5nZXMsIHVwZGF0ZSB0aGUgZm9ybSBjb250cm9sXG4gICovXG4gIHB1YmxpYyB2YWx1ZUNoYW5nZWQoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtYXRWYWx1ZUFuZFNldEVycm9ycygpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzSW4oKTogdm9pZCB7XG4gICAgdGhpcy5zZXREYXRlVGltZUZvcm1hdCgpO1xuICB9XG5cbiAgcHVibGljIGZvY3VzT3V0KCk6IHZvaWQge1xuICAgIC8vIGZvY3VzIG91dCBuZWVkZWQgdG8gb2J0YWluIGVycm9ycyAocmVsZXZhbnQgdG8gZm9ybWF0dGluZylcbiAgICB0aGlzLmZvcm1hdFZhbHVlQW5kU2V0RXJyb3JzKCk7XG4gIH1cblxuICBwdWJsaWMgdG9nZ2xlQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5zZXREYXRlVGltZUZvcm1hdCgpO1xuICB9XG5cbiAgcHVibGljIG1pbkRhdGUoY2FzZUZpZWxkOiBDYXNlRmllbGQpOiBEYXRlIHtcbiAgICAvLyBzZXQgbWluaW11bSBkYXRlXG4gICAgaWYgKGNhc2VGaWVsZC5maWVsZF90eXBlLm1pbiBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHRoaXMubWluaW11bURhdGUgPSBjYXNlRmllbGQuZmllbGRfdHlwZS5taW4gPyBuZXcgRGF0ZShjYXNlRmllbGQuZmllbGRfdHlwZS5taW4pIDogdGhpcy5taW5pbXVtRGF0ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWluaW11bURhdGU7XG4gIH1cblxuICBwdWJsaWMgbWF4RGF0ZShjYXNlRmllbGQ6IENhc2VGaWVsZCk6IERhdGUge1xuICAgIC8vIHNldCBtYXhpbXVtIGRhdGVcbiAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUubWF4IGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5tYXhpbXVtRGF0ZSA9IGNhc2VGaWVsZC5maWVsZF90eXBlLm1heCA/IG5ldyBEYXRlKGNhc2VGaWVsZC5maWVsZF90eXBlLm1heCkgOiB0aGlzLm1heGltdW1EYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5tYXhpbXVtRGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBjb25maWd1cmVEYXRlUGlja2VyKGRhdGVUaW1lUGlja2VyRm9ybWF0OiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZmllbGRfdHlwZS50eXBlID09PSAnRGF0ZScpIHtcbiAgICAgIHRoaXMuaGlkZVRpbWUgPSB0cnVlO1xuICAgICAgdGhpcy5jaGVja1RpbWUgPSBmYWxzZTtcbiAgICAgIHRoaXMuZGF0ZVRpbWVFbnRyeUZvcm1hdCA9IHRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLnJlbW92ZVRpbWUodGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0KTtcbiAgICAgIHRoaXMubW9tZW50Rm9ybWF0ID0gJ1lZWVktTU0tREQnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmNoZWNrVGltZSkge1xuXG4gICAgICBpZiAodGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaGFzU2Vjb25kcyhkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgICAgdGhpcy5zaG93U2Vjb25kcyA9IHRydWU7XG4gICAgICAgIHRoaXMuaGlkZU1pbnV0ZXMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5kaXNhYmxlTWludXRlID0gZmFsc2U7XG4gICAgICAgIHRoaXMuaGlkZVRpbWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5pczI0SG91cihkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZU1lcmlkaWFuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmhhc0hvdXJzKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICB0aGlzLmhpZGVUaW1lID0gZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaXMyNEhvdXIoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVNZXJpZGlhbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaGFzTWludXRlcyhkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgICAgdGhpcy5oaWRlTWludXRlcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVNaW51dGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaWRlVGltZSA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmlzMjRIb3VyKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlTWVyaWRpYW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaGFzRGF0ZShkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaGFzTm9EYXkoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICB0aGlzLnN0YXJ0VmlldyA9ICdtdWx0aS15ZWFyJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaGFzTm9EYXlBbmRNb250aChkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgIHRoaXMuc3RhcnRWaWV3ID0gJ211bHRpLXllYXInO1xuICAgICAgdGhpcy55ZWFyU2VsZWN0aW9uID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgeWVhclNlbGVjdGVkKGV2ZW50OiBNb21lbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGFydFZpZXcgPT09ICdtdWx0aS15ZWFyJyAmJiB0aGlzLnllYXJTZWxlY3Rpb24pIHtcbiAgICAgIHRoaXMuZGF0ZUNvbnRyb2wucGF0Y2hWYWx1ZShldmVudC50b0lTT1N0cmluZygpKTtcbiAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VkKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG1vbnRoU2VsZWN0ZWQoZXZlbnQ6IE1vbWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXJ0VmlldyA9PT0gJ211bHRpLXllYXInKSB7XG4gICAgICB0aGlzLmRhdGVDb250cm9sLnBhdGNoVmFsdWUoZXZlbnQudG9JU09TdHJpbmcoKSk7XG4gICAgICB0aGlzLmRhdGVDb250cm9sLnBhdGNoVmFsdWUoZXZlbnQudG9JU09TdHJpbmcoKSk7XG4gICAgICB0aGlzLmRhdGV0aW1lUGlja2VyLmNsb3NlKCk7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlZCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZm9ybWF0VmFsdWVBbmRTZXRFcnJvcnMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUpIHtcbiAgICAgIGxldCBmb3JtVmFsdWUgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgZm9ybVZhbHVlID0gbW9tZW50KGZvcm1WYWx1ZSwgdGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0KS5mb3JtYXQodGhpcy5tb21lbnRGb3JtYXQpO1xuICAgICAgaWYgKGZvcm1WYWx1ZSAhPT0gJ0ludmFsaWQgZGF0ZScpIHtcbiAgICAgICAgLy8gaWYgbm90IGludmFsaWQgc2V0IHRoZSB2YWx1ZSBhcyB0aGUgZm9ybWF0dGVkIHZhbHVlXG4gICAgICAgIHRoaXMuZGF0ZUNvbnRyb2wuc2V0VmFsdWUoZm9ybVZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIGVuc3VyZSB0aGF0IHRoZSBkYXRlcGlja2VyIHBpY2tzIHVwIHRoZSBpbnZhbGlkIGVycm9yXG4gICAgICAgIGNvbnN0IGtlZXBFcnJvclRleHQgPSB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlO1xuICAgICAgICB0aGlzLmRhdGVDb250cm9sLnNldFZhbHVlKGtlZXBFcnJvclRleHQpO1xuICAgICAgICB0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LnZhbHVlID0ga2VlcEVycm9yVGV4dDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZW5zdXJlIHJlcXVpcmVkIGVycm9ycyBhcmUgcGlja2VkIHVwIGlmIHJlbGV2YW50XG4gICAgICB0aGlzLmRhdGVDb250cm9sLnNldFZhbHVlKCcnKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJnb3Z1ay1mb3JtLWdyb3VwICBib3R0b20tMzBcIiBbaWRdPVwiY2FzZUZpZWxkLmlkXCJcbiAgICAgW25nQ2xhc3NdPVwieydmb3JtLWdyb3VwLWVycm9yJzogZGF0ZUNvbnRyb2wgJiYgIWRhdGVDb250cm9sLnZhbGlkICYmIGRhdGVDb250cm9sLmRpcnR5fVwiPlxuICA8ZmllbGRzZXQ+XG4gICAgPGxlZ2VuZD5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbFwiICpuZ0lmPVwiY2FzZUZpZWxkLmxhYmVsXCI+e3soY2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbCkgfCBycHhUcmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImZvcm0taGludFwiICpuZ0lmPVwiY2FzZUZpZWxkLmhpbnRfdGV4dFwiPnt7Y2FzZUZpZWxkLmhpbnRfdGV4dCB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0ZUNvbnRyb2wgJiYgZGF0ZUNvbnRyb2wuZXJyb3JzICYmIGRhdGVDb250cm9sLmRpcnR5ICYmICEobWluRXJyb3IgfHwgbWF4RXJyb3IpXCI+e3soZGF0ZUNvbnRyb2wuZXJyb3JzIHwgY2NkRmlyc3RFcnJvcjpjYXNlRmllbGQubGFiZWwpIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJkYXRlQ29udHJvbCAmJiBkYXRlQ29udHJvbC5kaXJ0eSAmJiBtaW5FcnJvclwiPnt7J1RoaXMgZGF0ZSBpcyBvbGRlciB0aGFuIHRoZSBtaW5pbXVtIGRhdGUgYWxsb3dlZCcgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAqbmdJZj1cImRhdGVDb250cm9sICYmIGRhdGVDb250cm9sLmRpcnR5ICYmIG1heEVycm9yXCI+e3snVGhpcyBkYXRlIGlzIGxhdGVyIHRoYW4gdGhlIG1heGltdW0gZGF0ZSBhbGxvd2VkJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgIDwvbGVnZW5kPlxuICAgIDxkaXYgY2xhc3M9XCJkYXRlcGlja2VyLWNvbnRhaW5lclwiPlxuICAgICAgPGlucHV0IGNsYXNzPVwiZ292dWstaW5wdXRcIlxuICAgICAgICAgICAgICNpbnB1dFxuICAgICAgICAgICAgIGF0dHIuYXJpYS1sYWJlbD1cIlBsZWFzZSBlbnRlciBhIGRhdGUgYW5kIHRpbWUgaW4gdGhlIGZvcm1hdCB8IHJweFRyYW5zbGF0ZSB7e2RhdGVUaW1lRW50cnlGb3JtYXR9fVwiXG4gICAgICAgICAgICAgW21pbl09XCJtaW5EYXRlKGNhc2VGaWVsZClcIlxuICAgICAgICAgICAgIFttYXhdPVwibWF4RGF0ZShjYXNlRmllbGQpXCJcbiAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiZGF0ZUNvbnRyb2xcIlxuICAgICAgICAgICAgIFtuZ3hNYXREYXRldGltZVBpY2tlcl09XCJwaWNrZXJcIlxuICAgICAgICAgICAgIChmb2N1c2luKT1cImZvY3VzSW4oKVwiXG4gICAgICAgICAgICAgKGZvY3Vzb3V0KT1cImZvY3VzT3V0KClcIlxuICAgICAgICAgICAgIChkYXRlQ2hhbmdlKT1cInZhbHVlQ2hhbmdlZCgpXCJcbiAgICAgICAgICAgICBuZy1tb2RlbC1vcHRpb25zPVwie3RpbWV6b25lOid1dGMnfVwiXG4gICAgICA+XG4gICAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cInBpY2tlclwiIGlkPVwicGlja2VyT3BlbmVyXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XG4gICAgICA8bmd4LW1hdC1kYXRldGltZS1waWNrZXIgI3BpY2tlclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb2xvcl09XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RvdWNoVWldPVwidG91Y2hVaVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2hpZGVUaW1lXT1cImhpZGVUaW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRWaWV3XT1cInN0YXJ0Vmlld1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0ZXBIb3VyXT1cInN0ZXBIb3VyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcFNlY29uZF09XCJzdGVwU2Vjb25kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcE1pbnV0ZV09XCJzdGVwTWludXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2hvd1NlY29uZHNdPVwic2hvd1NlY29uZHNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93U3Bpbm5lcnNdPVwic2hvd1NwaW5uZXJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZU1pbnV0ZV09XCJkaXNhYmxlTWludXRlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZW5hYmxlTWVyaWRpYW5dPVwiZW5hYmxlTWVyaWRpYW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh5ZWFyU2VsZWN0ZWQpPVwieWVhclNlbGVjdGVkKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb250aFNlbGVjdGVkKT1cIm1vbnRoU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG9wZW5lZCk9XCJ0b2dnbGVDbGljaygpXCJcbiAgICAgID5cbiAgICAgICAgPG5neC1tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxuICAgICAgICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgbmd4TWF0RGF0ZXBpY2tlckFwcGx5PkNvbmZpcm08L2J1dHRvbj5cbiAgICAgICAgPC9uZ3gtbWF0LWRhdGVwaWNrZXItYWN0aW9ucz5cbiAgICAgIDwvbmd4LW1hdC1kYXRldGltZS1waWNrZXI+XG4gICAgPC9kaXY+XG4gIDwvZmllbGRzZXQ+XG48L2Rpdj5cbiJdfQ==
|
|
311
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvZGF0ZXRpbWUtcGlja2VyL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsaUJBQWlCLEVBRWpCLG9CQUFvQixFQUNwQixvQkFBb0IsRUFDckIsTUFBTSw4Q0FBOEMsQ0FBQztBQUN0RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN2SCxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzRyxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxzQkFBc0IsRUFBc0MsTUFBTSwrQkFBK0IsQ0FBQztBQUczRyxPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFFNUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seURBQXlELENBQUM7QUFDbEcsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDekYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7Ozs7Ozs7Ozs7O0lDWjFELGdDQUFpRDtJQUFBLFlBQStDOzs7SUFB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MEIsbUNBQUEsZ0NBQUEsNkJBQUE7UUFTQSxlQUFjO1FBQWQseUJBQWM7UUFFdEIsZUFBZTtRQUFmLGlDQUFlLHdCQUFBLDBCQUFBLDRCQUFBLDBCQUFBLDhCQUFBLDhCQUFBLGdDQUFBLGtDQUFBLG9DQUFBLHNDQUFBOzt1RkRNakMsdUJBQXVCO2NBaEJuQyxTQUFTOzJCQUNFLHFCQUFxQixpQkFHaEIsaUJBQWlCLENBQUMsSUFBSSxhQUMxQjtvQkFDVCxFQUFFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUU7b0JBQ2xFO3dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7d0JBQzFCLFFBQVEsRUFBRSxtQkFBbUI7d0JBQzdCLElBQUksRUFBRSxDQUFDLHNCQUFzQixFQUFFLG1DQUFtQyxDQUFDO3FCQUNwRTtvQkFDRCxFQUFFLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLEVBQUU7aUJBQzdFOztzQkFrQ0UsTUFBTTt1QkFBQyxvQkFBb0I7d0JBVmlCLGNBQWM7a0JBQTVELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUNRLFlBQVk7a0JBQXpELFNBQVM7bUJBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtZQUVyQixXQUFXO2tCQUExQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTmd4TWF0RGF0ZUFkYXB0ZXIsXG4gIE5neE1hdERhdGVGb3JtYXRzLFxuICBOZ3hNYXREYXRldGltZXBpY2tlcixcbiAgTkdYX01BVF9EQVRFX0ZPUk1BVFNcbn0gZnJvbSAnQGFuZ3VsYXItbWF0ZXJpYWwtY29tcG9uZW50cy9kYXRldGltZS1waWNrZXInO1xuaW1wb3J0IHsgTmd4TWF0TW9tZW50QWRhcHRlciwgTkdYX01BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMgfSBmcm9tICdAYW5ndWxhci1tYXRlcmlhbC1jb21wb25lbnRzL21vbWVudC1hZGFwdGVyJztcbmltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1BVF9MRUdBQ1lfREFURV9MT0NBTEUsIExlZ2FjeVRoZW1lUGFsZXR0ZSBhcyBUaGVtZVBhbGV0dGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9sZWdhY3ktY29yZSc7XG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQvbW9tZW50JztcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuaW1wb3J0IHsgQ2FzZUZpZWxkIH0gZnJvbSAnLi4vLi4vLi4vZG9tYWluL2RlZmluaXRpb24vY2FzZS1maWVsZC5tb2RlbCc7XG5pbXBvcnQgeyBGb3JtYXRUcmFuc2xhdG9yU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2Nhc2UtZmllbGRzL2Zvcm1hdC10cmFuc2xhdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgQWJzdHJhY3RGb3JtRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlLWZpZWxkL2Fic3RyYWN0LWZvcm0tZmllbGQuY29tcG9uZW50JztcbmltcG9ydCB7IENVU1RPTV9NT01FTlRfRk9STUFUUyB9IGZyb20gJy4vZGF0ZXRpbWUtcGlja2VyLXV0aWxzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWRhdGV0aW1lLXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgeyBwcm92aWRlOiBOR1hfTUFUX0RBVEVfRk9STUFUUywgdXNlVmFsdWU6IENVU1RPTV9NT01FTlRfRk9STUFUUyB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5neE1hdERhdGVBZGFwdGVyLFxuICAgICAgdXNlQ2xhc3M6IE5neE1hdE1vbWVudEFkYXB0ZXIsXG4gICAgICBkZXBzOiBbTUFUX0xFR0FDWV9EQVRFX0xPQ0FMRSwgTkdYX01BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IE5HWF9NQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLCB1c2VWYWx1ZTogeyB1c2VVdGM6IHRydWUgfSB9XG4gIF1cbn0pXG5cbmV4cG9ydCBjbGFzcyBEYXRldGltZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEFic3RyYWN0Rm9ybUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICBwdWJsaWMgc2hvd1NwaW5uZXJzID0gdHJ1ZTtcbiAgcHVibGljIHNob3dTZWNvbmRzID0gZmFsc2U7XG4gIHB1YmxpYyB0b3VjaFVpID0gZmFsc2U7XG4gIHB1YmxpYyBlbmFibGVNZXJpZGlhbiA9IGZhbHNlO1xuICBwdWJsaWMgc3RlcEhvdXIgPSAxO1xuICBwdWJsaWMgc3RlcE1pbnV0ZSA9IDE7XG4gIHB1YmxpYyBzdGVwU2Vjb25kID0gMTtcbiAgcHVibGljIGNvbG9yOiBUaGVtZVBhbGV0dGUgPSAncHJpbWFyeSc7XG4gIHB1YmxpYyBkaXNhYmxlTWludXRlID0gdHJ1ZTtcbiAgcHVibGljIGhpZGVUaW1lID0gdHJ1ZTtcbiAgcHVibGljIGhpZGVNaW51dGVzID0gdHJ1ZTtcbiAgcHVibGljIHN0YXJ0VmlldyA9ICdtb250aCc7XG4gIHB1YmxpYyB5ZWFyU2VsZWN0aW9uID0gZmFsc2U7XG4gIHB1YmxpYyBjaGVja1RpbWUgPSB0cnVlO1xuICBwdWJsaWMgc3RyaW5nRWRpdGVkID0gZmFsc2U7XG4gIHB1YmxpYyBtaW5FcnJvciA9IGZhbHNlO1xuICBwdWJsaWMgbWF4RXJyb3IgPSBmYWxzZTtcbiAgcHVibGljIGRhdGVUaW1lRW50cnlGb3JtYXQ6IHN0cmluZztcblxuICBAVmlld0NoaWxkKCdwaWNrZXInLCB7IHN0YXRpYzogZmFsc2UgfSkgcHVibGljIGRhdGV0aW1lUGlja2VyOiBOZ3hNYXREYXRldGltZXBpY2tlcjxhbnk+O1xuICBAVmlld0NoaWxkKCdpbnB1dCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwdWJsaWMgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBkYXRlQ29udHJvbDogRm9ybUNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wobmV3IERhdGUoKSk7XG5cbiAgcHJpdmF0ZSBtaW5pbXVtRGF0ZSA9IG5ldyBEYXRlKCcwMS8wMS8xODAwJyk7XG4gIHByaXZhdGUgbWF4aW11bURhdGUgPSBudWxsO1xuICBwcml2YXRlIG1vbWVudEZvcm1hdCA9ICdZWVlZLU1NLUREVEhIOm1tOnNzLlNTUyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBmb3JtYXRUcmFuc2xhdGlvblNlcnZpY2U6IEZvcm1hdFRyYW5zbGF0b3JTZXJ2aWNlLFxuICAgIEBJbmplY3QoTkdYX01BVF9EQVRFX0ZPUk1BVFMpIHByaXZhdGUgcmVhZG9ubHkgbmd4TWF0RGF0ZUZvcm1hdHM6IE5neE1hdERhdGVGb3JtYXRzKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQgPSB0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5zaG93T25seURhdGVzKHRoaXMuY2FzZUZpZWxkLmRhdGVUaW1lRW50cnlGb3JtYXQpO1xuICAgIHRoaXMuY29uZmlndXJlRGF0ZVBpY2tlcih0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQpO1xuICAgIC8vIHNldCBkYXRlIGNvbnRyb2wgYmFzZWQgb24gbWFuZGF0b3J5IGZpZWxkXG4gICAgdGhpcy5kYXRlQ29udHJvbCA9ICh0aGlzLmNhc2VGaWVsZC5pc01hbmRhdG9yeSA/XG4gICAgICB0aGlzLnJlZ2lzdGVyQ29udHJvbChuZXcgRm9ybUNvbnRyb2wodGhpcy5jYXNlRmllbGQudmFsdWUgfHwgJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkXSkpXG4gICAgICA6IHRoaXMucmVnaXN0ZXJDb250cm9sKG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSkpKSBhcyBGb3JtQ29udHJvbDtcbiAgICAvLyBpbiByZXNldHRpbmcgdGhlIGZvcm1hdCBqdXN0IGFmdGVyIHRoZSBwYWdlIGluaXRpYWxpc2VzLCB0aGUgaW5wdXQgY2FuIGJlIHJlZm9ybWF0dGVkXG4gICAgLy8gb3RoZXJ3aXNlIHRoZSBsYXN0IGZvcm1hdCBnaXZlbiB3aWxsIGJlIGhvdyB0aGUgdGV4dCBzaG93biB3aWxsIGJlIGRpc3BsYXllZFxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5zZXREYXRlVGltZUZvcm1hdCgpO1xuICAgICAgdGhpcy5mb3JtYXRWYWx1ZUFuZFNldEVycm9ycygpO1xuICAgIH0sIDEwMDApO1xuICAgIC8vIHdoZW4gdGhlIHN0YXR1cyBjaGFuZ2VzIGNoZWNrIHRoYXQgdGhlIG1heGltdW0vbWluaW11bSBkYXRlIGhhcyBub3QgYmVlbiBleGNlZWRlZFxuICAgIHRoaXMuZGF0ZUNvbnRyb2wuc3RhdHVzQ2hhbmdlcy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5taW5FcnJvciA9IHRoaXMuZGF0ZUNvbnRyb2wuaGFzRXJyb3IoJ21hdERhdGV0aW1lUGlja2VyTWluJyk7XG4gICAgICB0aGlzLm1heEVycm9yID0gdGhpcy5kYXRlQ29udHJvbC5oYXNFcnJvcignbWF0RGF0ZXRpbWVQaWNrZXJNYXgnKTtcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBzZXREYXRlVGltZUZvcm1hdCgpOiB2b2lkIHtcbiAgICB0aGlzLm5neE1hdERhdGVGb3JtYXRzLnBhcnNlLmRhdGVJbnB1dCA9IHRoaXMuZGF0ZVRpbWVFbnRyeUZvcm1hdDtcbiAgICB0aGlzLm5neE1hdERhdGVGb3JtYXRzLmRpc3BsYXkuZGF0ZUlucHV0ID0gdGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0O1xuICB9XG5cbiAgLypcbiAgV2hlbiB0aGUgdmFsdWUgY2hhbmdlcywgdXBkYXRlIHRoZSBmb3JtIGNvbnRyb2xcbiAgKi9cbiAgcHVibGljIHZhbHVlQ2hhbmdlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmZvcm1hdFZhbHVlQW5kU2V0RXJyb3JzKCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNJbigpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGVUaW1lRm9ybWF0KCk7XG4gIH1cblxuICBwdWJsaWMgZm9jdXNPdXQoKTogdm9pZCB7XG4gICAgLy8gZm9jdXMgb3V0IG5lZWRlZCB0byBvYnRhaW4gZXJyb3JzIChyZWxldmFudCB0byBmb3JtYXR0aW5nKVxuICAgIHRoaXMuZm9ybWF0VmFsdWVBbmRTZXRFcnJvcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyB0b2dnbGVDbGljaygpOiB2b2lkIHtcbiAgICB0aGlzLnNldERhdGVUaW1lRm9ybWF0KCk7XG4gIH1cblxuICBwdWJsaWMgbWluRGF0ZShjYXNlRmllbGQ6IENhc2VGaWVsZCk6IERhdGUge1xuICAgIC8vIHNldCBtaW5pbXVtIGRhdGVcbiAgICBpZiAoY2FzZUZpZWxkLmZpZWxkX3R5cGUubWluIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgdGhpcy5taW5pbXVtRGF0ZSA9IGNhc2VGaWVsZC5maWVsZF90eXBlLm1pbiA/IG5ldyBEYXRlKGNhc2VGaWVsZC5maWVsZF90eXBlLm1pbikgOiB0aGlzLm1pbmltdW1EYXRlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5taW5pbXVtRGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyBtYXhEYXRlKGNhc2VGaWVsZDogQ2FzZUZpZWxkKTogRGF0ZSB7XG4gICAgLy8gc2V0IG1heGltdW0gZGF0ZVxuICAgIGlmIChjYXNlRmllbGQuZmllbGRfdHlwZS5tYXggaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICB0aGlzLm1heGltdW1EYXRlID0gY2FzZUZpZWxkLmZpZWxkX3R5cGUubWF4ID8gbmV3IERhdGUoY2FzZUZpZWxkLmZpZWxkX3R5cGUubWF4KSA6IHRoaXMubWF4aW11bURhdGU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm1heGltdW1EYXRlO1xuICB9XG5cbiAgcHVibGljIGNvbmZpZ3VyZURhdGVQaWNrZXIoZGF0ZVRpbWVQaWNrZXJGb3JtYXQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhc2VGaWVsZC5maWVsZF90eXBlLnR5cGUgPT09ICdEYXRlJykge1xuICAgICAgdGhpcy5oaWRlVGltZSA9IHRydWU7XG4gICAgICB0aGlzLmNoZWNrVGltZSA9IGZhbHNlO1xuICAgICAgdGhpcy5kYXRlVGltZUVudHJ5Rm9ybWF0ID0gdGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UucmVtb3ZlVGltZSh0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQpO1xuICAgICAgdGhpcy5tb21lbnRGb3JtYXQgPSAnWVlZWS1NTS1ERCc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuY2hlY2tUaW1lKSB7XG5cbiAgICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNTZWNvbmRzKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICB0aGlzLnNob3dTZWNvbmRzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5oaWRlTWludXRlcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLmRpc2FibGVNaW51dGUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5oaWRlVGltZSA9IGZhbHNlO1xuICAgICAgICBpZiAoIXRoaXMuZm9ybWF0VHJhbnNsYXRpb25TZXJ2aWNlLmlzMjRIb3VyKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICAgIHRoaXMuZW5hYmxlTWVyaWRpYW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaGFzSG91cnMoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICAgIHRoaXMuaGlkZVRpbWUgPSBmYWxzZTtcbiAgICAgICAgaWYgKCF0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5pczI0SG91cihkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgICAgICB0aGlzLmVuYWJsZU1lcmlkaWFuID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNNaW51dGVzKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgICB0aGlzLmhpZGVNaW51dGVzID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZGlzYWJsZU1pbnV0ZSA9IGZhbHNlO1xuICAgICAgICB0aGlzLmhpZGVUaW1lID0gZmFsc2U7XG4gICAgICAgIGlmICghdGhpcy5mb3JtYXRUcmFuc2xhdGlvblNlcnZpY2UuaXMyNEhvdXIoZGF0ZVRpbWVQaWNrZXJGb3JtYXQpKSB7XG4gICAgICAgICAgdGhpcy5lbmFibGVNZXJpZGlhbiA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNEYXRlKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNOb0RheShkYXRlVGltZVBpY2tlckZvcm1hdCkpIHtcbiAgICAgIHRoaXMuc3RhcnRWaWV3ID0gJ211bHRpLXllYXInO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmZvcm1hdFRyYW5zbGF0aW9uU2VydmljZS5oYXNOb0RheUFuZE1vbnRoKGRhdGVUaW1lUGlja2VyRm9ybWF0KSkge1xuICAgICAgdGhpcy5zdGFydFZpZXcgPSAnbXVsdGkteWVhcic7XG4gICAgICB0aGlzLnllYXJTZWxlY3Rpb24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyB5ZWFyU2VsZWN0ZWQoZXZlbnQ6IE1vbWVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXJ0VmlldyA9PT0gJ211bHRpLXllYXInICYmIHRoaXMueWVhclNlbGVjdGlvbikge1xuICAgICAgdGhpcy5kYXRlQ29udHJvbC5wYXRjaFZhbHVlKGV2ZW50LnRvSVNPU3RyaW5nKCkpO1xuICAgICAgdGhpcy5kYXRldGltZVBpY2tlci5jbG9zZSgpO1xuICAgICAgdGhpcy52YWx1ZUNoYW5nZWQoKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbW9udGhTZWxlY3RlZChldmVudDogTW9tZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhcnRWaWV3ID09PSAnbXVsdGkteWVhcicpIHtcbiAgICAgIHRoaXMuZGF0ZUNvbnRyb2wucGF0Y2hWYWx1ZShldmVudC50b0lTT1N0cmluZygpKTtcbiAgICAgIHRoaXMuZGF0ZUNvbnRyb2wucGF0Y2hWYWx1ZShldmVudC50b0lTT1N0cmluZygpKTtcbiAgICAgIHRoaXMuZGF0ZXRpbWVQaWNrZXIuY2xvc2UoKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VkKCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBmb3JtYXRWYWx1ZUFuZFNldEVycm9ycygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudC52YWx1ZSkge1xuICAgICAgbGV0IGZvcm1WYWx1ZSA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICBmb3JtVmFsdWUgPSBtb21lbnQoZm9ybVZhbHVlLCB0aGlzLmRhdGVUaW1lRW50cnlGb3JtYXQpLmZvcm1hdCh0aGlzLm1vbWVudEZvcm1hdCk7XG4gICAgICBpZiAoZm9ybVZhbHVlICE9PSAnSW52YWxpZCBkYXRlJykge1xuICAgICAgICAvLyBpZiBub3QgaW52YWxpZCBzZXQgdGhlIHZhbHVlIGFzIHRoZSBmb3JtYXR0ZWQgdmFsdWVcbiAgICAgICAgdGhpcy5kYXRlQ29udHJvbC5zZXRWYWx1ZShmb3JtVmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gZW5zdXJlIHRoYXQgdGhlIGRhdGVwaWNrZXIgcGlja3MgdXAgdGhlIGludmFsaWQgZXJyb3JcbiAgICAgICAgY29uc3Qga2VlcEVycm9yVGV4dCA9IHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgICAgIHRoaXMuZGF0ZUNvbnRyb2wuc2V0VmFsdWUoa2VlcEVycm9yVGV4dCk7XG4gICAgICAgIHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBrZWVwRXJyb3JUZXh0O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBlbnN1cmUgcmVxdWlyZWQgZXJyb3JzIGFyZSBwaWNrZWQgdXAgaWYgcmVsZXZhbnRcbiAgICAgIHRoaXMuZGF0ZUNvbnRyb2wuc2V0VmFsdWUoJycpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImdvdnVrLWZvcm0tZ3JvdXAgIGJvdHRvbS0zMFwiIFtpZF09XCJjYXNlRmllbGQuaWRcIlxuICAgICBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiBkYXRlQ29udHJvbCAmJiAhZGF0ZUNvbnRyb2wudmFsaWQgJiYgZGF0ZUNvbnRyb2wuZGlydHl9XCI+XG4gIDxmaWVsZHNldD5cbiAgICA8bGVnZW5kPlxuICAgICAgPHNwYW4gY2xhc3M9XCJmb3JtLWxhYmVsXCIgKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIj57eyhjYXNlRmllbGQgfCBjY2RGaWVsZExhYmVsKSB8IHJweFRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZm9ybS1oaW50XCIgKm5nSWY9XCJjYXNlRmllbGQuaGludF90ZXh0XCI+e3tjYXNlRmllbGQuaGludF90ZXh0IHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImVycm9yLW1lc3NhZ2VcIlxuICAgICAgICAgICAgKm5nSWY9XCJkYXRlQ29udHJvbCAmJiBkYXRlQ29udHJvbC5lcnJvcnMgJiYgZGF0ZUNvbnRyb2wuZGlydHkgJiYgIShtaW5FcnJvciB8fCBtYXhFcnJvcilcIj57eyhkYXRlQ29udHJvbC5lcnJvcnMgfCBjY2RGaXJzdEVycm9yOmNhc2VGaWVsZC5sYWJlbCkgfCBycHhUcmFuc2xhdGV9fTwvc3Bhbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZXJyb3ItbWVzc2FnZVwiXG4gICAgICAgICAgICAqbmdJZj1cImRhdGVDb250cm9sICYmIGRhdGVDb250cm9sLmRpcnR5ICYmIG1pbkVycm9yXCI+e3snVGhpcyBkYXRlIGlzIG9sZGVyIHRoYW4gdGhlIG1pbmltdW0gZGF0ZSBhbGxvd2VkJyB8IHJweFRyYW5zbGF0ZX19PC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCJcbiAgICAgICAgICAgICpuZ0lmPVwiZGF0ZUNvbnRyb2wgJiYgZGF0ZUNvbnRyb2wuZGlydHkgJiYgbWF4RXJyb3JcIj57eydUaGlzIGRhdGUgaXMgbGF0ZXIgdGhhbiB0aGUgbWF4aW11bSBkYXRlIGFsbG93ZWQnIHwgcnB4VHJhbnNsYXRlfX08L3NwYW4+XG4gICAgPC9sZWdlbmQ+XG4gICAgPGRpdiBjbGFzcz1cImRhdGVwaWNrZXItY29udGFpbmVyXCI+XG4gICAgICA8aW5wdXQgY2xhc3M9XCJnb3Z1ay1pbnB1dFwiXG4gICAgICAgICAgICAgI2lucHV0XG4gICAgICAgICAgICAgYXR0ci5hcmlhLWxhYmVsPVwiUGxlYXNlIGVudGVyIGEgZGF0ZSBhbmQgdGltZSBpbiB0aGUgZm9ybWF0IHwgcnB4VHJhbnNsYXRlIHt7ZGF0ZVRpbWVFbnRyeUZvcm1hdH19XCJcbiAgICAgICAgICAgICBbbWluXT1cIm1pbkRhdGUoY2FzZUZpZWxkKVwiXG4gICAgICAgICAgICAgW21heF09XCJtYXhEYXRlKGNhc2VGaWVsZClcIlxuICAgICAgICAgICAgIFtmb3JtQ29udHJvbF09XCJkYXRlQ29udHJvbFwiXG4gICAgICAgICAgICAgW25neE1hdERhdGV0aW1lUGlja2VyXT1cInBpY2tlclwiXG4gICAgICAgICAgICAgKGZvY3VzaW4pPVwiZm9jdXNJbigpXCJcbiAgICAgICAgICAgICAoZm9jdXNvdXQpPVwiZm9jdXNPdXQoKVwiXG4gICAgICAgICAgICAgKGRhdGVDaGFuZ2UpPVwidmFsdWVDaGFuZ2VkKClcIlxuICAgICAgICAgICAgIG5nLW1vZGVsLW9wdGlvbnM9XCJ7dGltZXpvbmU6J3V0Yyd9XCJcbiAgICAgID5cbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwicGlja2VyXCIgaWQ9XCJwaWNrZXJPcGVuZXJcIj48L21hdC1kYXRlcGlja2VyLXRvZ2dsZT5cbiAgICAgIDxuZ3gtbWF0LWRhdGV0aW1lLXBpY2tlciAjcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG91Y2hVaV09XCJ0b3VjaFVpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaGlkZVRpbWVdPVwiaGlkZVRpbWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGFydFZpZXddPVwic3RhcnRWaWV3XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RlcEhvdXJdPVwic3RlcEhvdXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwU2Vjb25kXT1cInN0ZXBTZWNvbmRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzdGVwTWludXRlXT1cInN0ZXBNaW51dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzaG93U2Vjb25kc109XCJzaG93U2Vjb25kc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dTcGlubmVyc109XCJzaG93U3Bpbm5lcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNhYmxlTWludXRlXT1cImRpc2FibGVNaW51dGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmFibGVNZXJpZGlhbl09XCJlbmFibGVNZXJpZGlhblwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHllYXJTZWxlY3RlZCk9XCJ5ZWFyU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vbnRoU2VsZWN0ZWQpPVwibW9udGhTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAob3BlbmVkKT1cInRvZ2dsZUNsaWNrKClcIlxuICAgICAgPlxuICAgICAgICA8bmd4LW1hdC1kYXRlcGlja2VyLWFjdGlvbnM+XG4gICAgICAgICAgPGJ1dHRvbiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBuZ3hNYXREYXRlcGlja2VyQXBwbHk+Q29uZmlybTwvYnV0dG9uPlxuICAgICAgICA8L25neC1tYXQtZGF0ZXBpY2tlci1hY3Rpb25zPlxuICAgICAgPC9uZ3gtbWF0LWRhdGV0aW1lLXBpY2tlcj5cbiAgICA8L2Rpdj5cbiAgPC9maWVsZHNldD5cbjwvZGl2PlxuIl19
|
package/esm2020/lib/shared/components/palette/judicial-user/write-judicial-user-field.component.mjs
CHANGED
|
@@ -88,7 +88,7 @@ export class WriteJudicialUserFieldComponent extends WriteComplexFieldComponent
|
|
|
88
88
|
super.ngOnInit();
|
|
89
89
|
this.judicialUserControl = new FormControl(this.caseField.value);
|
|
90
90
|
// FormControl needs to be added to the main FormGroup so it can be picked up by the PageValidationService when
|
|
91
|
-
// checking if the page is valid.
|
|
91
|
+
// checking if the page is valid. FormGroup.setControl() is used here to ensure any existing JudicialUser
|
|
92
92
|
// FormControl is replaced when the component is re-initialised, for example, if the user navigates away then
|
|
93
93
|
// back to the page containing the JudicialUser field
|
|
94
94
|
this.formGroup.setControl(`${this.caseField.id}_judicialUserControl`, this.judicialUserControl);
|
|
@@ -239,4 +239,4 @@ WriteJudicialUserFieldComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ t
|
|
|
239
239
|
type: Component,
|
|
240
240
|
args: [{ selector: 'ccd-write-judicial-user-field', template: "<div class=\"form-group\" [formGroup]=\"formGroup\" [ngClass]=\"{'form-group-error': !!judicialUserControl && errors}\">\n <label [for]=\"id()\">\n <span *ngIf=\"caseField.label\" class=\"form-label\">\n {{caseField | ccdFieldLabel}}\n </span>\n </label>\n <span *ngIf=\"caseField.hint_text\" class=\"form-hint\">\n {{caseField.hint_text}}\n </span>\n <span class=\"error-message\" *ngIf=\"errors\">\n {{errors | ccdFirstError:caseField.label}}\n </span>\n <input class=\"form-control bottom-30\" [id]=\"id()\"\n [formControl]=\"judicialUserControl\" [matAutocomplete]=\"autoComplete\" (blur)=\"onBlur($event)\">\n <mat-autocomplete autoActiveFirstOption #autoComplete=\"matAutocomplete\" [displayWith]=\"displayJudicialUser\">\n <mat-option *ngFor=\"let judicialUser of filteredJudicialUsers$ | async\"\n class=\"select-option\" [ngClass]=\"{'hide-autocomplete': !showAutocomplete}\"\n [value]=\"judicialUser\" (onSelectionChange)=\"onSelectionChange($event)\">\n {{judicialUser?.fullName ? judicialUser.fullName : ''}}{{judicialUser?.emailId ? ' (' + judicialUser.emailId + ')' : ''}}\n </mat-option>\n <mat-option *ngIf=\"noResults && searchTerm && searchTerm.length > minSearchCharacters && showAutocomplete\" class=\"select-option\" disabled>\n No results found\n </mat-option>\n <mat-option *ngIf=\"invalidSearchTerm\" class=\"select-option\" disabled>\n Invalid search term\n </mat-option>\n </mat-autocomplete>\n</div>\n", styles: [".mat-option:hover{background:#2596be}.mat-option.select-option:hover{background:#1d70b8;color:#fff}.hide-autocomplete{display:none}\n"] }]
|
|
241
241
|
}], function () { return [{ type: i1.JurisdictionService }, { type: i1.SessionStorageService }, { type: i1.CaseFlagRefdataService }, { type: i2.IsCompoundPipe }, { type: i1.FormValidatorsService }]; }, null); })();
|
|
242
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtanVkaWNpYWwtdXNlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9qdWRpY2lhbC11c2VyL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvanVkaWNpYWwtdXNlci93cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsV0FBVyxFQUFvQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLEVBQTRCLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7O0lDTnZELGdDQUFpRDtJQUMvQyxZQUNGOztJQUFB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WTtRQUNWLGVBQXFCO1FBQXJCLDBDQUFxQjtRQUl2QixlQUF5QjtRQUF6Qiw4Q0FBeUI7UUFHSCxlQUFZO1FBQVosaUNBQVk7UUFHSCxlQUFXO1FBQVgsNkJBQVcsd0NBQUEsd0JBQUE7UUFFdUIsZUFBbUM7UUFBbkMscURBQW1DO1FBQ3BFLGVBQWlDO1FBQWpDLDJFQUFpQztRQUt6RCxlQUE0RjtRQUE1RixpSUFBNEY7UUFHNUYsZUFBdUI7UUFBdkIsNENBQXVCOzt1RkRSM0IsK0JBQStCO2NBTDNDLFNBQVM7MkJBQ0UsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9ucy9jb25zdGFudHMnO1xuaW1wb3J0IHsgSnVkaWNpYWxVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vanVyaXNkaWN0aW9uJztcbmltcG9ydCB7IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UsIEZpZWxkc1V0aWxzLCBGb3JtVmFsaWRhdG9yc1NlcnZpY2UsIEp1cmlzZGljdGlvblNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcGxleC93cml0ZS1jb21wbGV4LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJc0NvbXBvdW5kUGlwZSB9IGZyb20gJy4uL3V0aWxzL2lzLWNvbXBvdW5kLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtanVkaWNpYWwtdXNlci1maWVsZCcsXG4gIHN0eWxlVXJsczogWycuL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQgZXh0ZW5kcyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDI7XG5cbiAgcHVibGljIGp1ZGljaWFsVXNlckNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgcHVibGljIGZpbHRlcmVkSnVkaWNpYWxVc2VycyQ6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT47XG4gIHB1YmxpYyBzZWFyY2hUZXJtID0gJyc7XG4gIHB1YmxpYyBub1Jlc3VsdHMgPSBmYWxzZTtcbiAgcHVibGljIGVycm9yczogVmFsaWRhdGlvbkVycm9ycztcbiAgcHVibGljIGludmFsaWRTZWFyY2hUZXJtID0gZmFsc2U7XG4gIHB1YmxpYyBqdWRpY2lhbFVzZXJTZWxlY3RlZCA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBqdXJpc2RpY3Rpb25TZXJ2aWNlOiBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlRmxhZ1JlZkRhdGFTZXJ2aWNlOiBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG91bmRQaXBlOiBJc0NvbXBvdW5kUGlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRvcnNTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yc1NlcnZpY2UpIHtcbiAgICBzdXBlcihjb21wb3VuZFBpcGUsIHZhbGlkYXRvcnNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSk7XG4gICAgLy8gRm9ybUNvbnRyb2wgbmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlIG1haW4gRm9ybUdyb3VwIHNvIGl0IGNhbiBiZSBwaWNrZWQgdXAgYnkgdGhlIFBhZ2VWYWxpZGF0aW9uU2VydmljZSB3aGVuXG4gICAgLy8gY2hlY2tpbmcgaWYgdGhlIHBhZ2UgaXMgdmFsaWQuIGZvcm1Hcm91cC5zZXRDb250cm9sKCkgaXMgdXNlZCBoZXJlIHRvIGVuc3VyZSBhbnkgZXhpc3RpbmcgSnVkaWNpYWxVc2VyXG4gICAgLy8gRm9ybUNvbnRyb2wgaXMgcmVwbGFjZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIHJlLWluaXRpYWxpc2VkLCBmb3IgZXhhbXBsZSwgaWYgdGhlIHVzZXIgbmF2aWdhdGVzIGF3YXkgdGhlblxuICAgIC8vIGJhY2sgdG8gdGhlIHBhZ2UgY29udGFpbmluZyB0aGUgSnVkaWNpYWxVc2VyIGZpZWxkXG4gICAgdGhpcy5mb3JtR3JvdXAuc2V0Q29udHJvbChgJHt0aGlzLmNhc2VGaWVsZC5pZH1fanVkaWNpYWxVc2VyQ29udHJvbGAsIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbCk7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhpcyBGb3JtQ29udHJvbCBoYXMgbGlua3MgdG8gdGhlIEp1ZGljaWFsVXNlciBjYXNlIGZpZWxkIGFuZCB0aGlzIGNvbXBvbmVudFxuICAgIEZpZWxkc1V0aWxzLmFkZENhc2VGaWVsZEFuZENvbXBvbmVudFJlZmVyZW5jZXModGhpcy5qdWRpY2lhbFVzZXJDb250cm9sLCB0aGlzLmNhc2VGaWVsZCwgdGhpcyk7XG4gICAgdGhpcy5zZXR1cFZhbGlkYXRpb24oKTtcblxuICAgIHRoaXMuc2V0SnVyaXNkaWN0aW9uQW5kQ2FzZVR5cGUoKTtcblxuICAgIHRoaXMuZmlsdGVyZWRKdWRpY2lhbFVzZXJzJCA9IHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZSksXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgIC8vIE5lZWQgdG8gY2hlY2sgdHlwZSBvZiBpbnB1dCBiZWNhdXNlIGl0IGNoYW5nZXMgdG8gb2JqZWN0IChpLmUuIEp1ZGljaWFsVXNlcikgd2hlbiBhIHZhbHVlIGlzIHNlbGVjdGVkIGZyb20gdGhlXG4gICAgICAvLyBhdXRvY29tcGxldGUgcGFuZWwsIGluc3RlYWQgb2Ygc3RyaW5nIHdoZW4gYSB2YWx1ZSBpcyBiZWluZyB0eXBlZCBpblxuICAgICAgbWFwKGlucHV0ID0+IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycgPyBpbnB1dCA6IGlucHV0Py5mdWxsTmFtZSksXG4gICAgICB0YXAoc2VhcmNoVGVybSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybSA9IHNlYXJjaFRlcm07XG4gICAgICAgIHRoaXMuaW52YWxpZFNlYXJjaFRlcm0gPSBmYWxzZTtcbiAgICAgIH0pLFxuICAgICAgZmlsdGVyKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPiB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHRoaXMuZmlsdGVySnVkaWNpYWxVc2VycyhzZWFyY2hUZXJtKS5waXBlKFxuICAgICAgICB0YXAoKGp1ZGljaWFsVXNlcnMpID0+IHtcbiAgICAgICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gIXRoaXMuaW52YWxpZFNlYXJjaFRlcm0gJiYganVkaWNpYWxVc2Vycy5sZW5ndGggPT09IDA7XG4gICAgICAgIH0pXG4gICAgICApKVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5jYXNlRmllbGQudmFsdWU/LnBlcnNvbmFsQ29kZSkge1xuICAgICAgdGhpcy5sb2FkSnVkaWNpYWxVc2VyKHRoaXMuY2FzZUZpZWxkLnZhbHVlLnBlcnNvbmFsQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbHRlckp1ZGljaWFsVXNlcnMoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxKdWRpY2lhbFVzZXJNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZsYWdSZWZEYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlDYXNlVHlwZSh0aGlzLmNhc2VUeXBlKS5waXBlKFxuICAgICAgLy8gSWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgSE1DVFMgc2VydmljZSBkZXRhaWxzIGJ5IGNhc2UgdHlwZSBJRCwgdHJ5IGJ5IHNlcnZpY2UgbmFtZSBpbnN0ZWFkXG4gICAgICBjYXRjaEVycm9yKF8gPT4gdGhpcy5jYXNlRmxhZ1JlZkRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeVNlcnZpY2VOYW1lKHRoaXMuanVyaXNkaWN0aW9uKSksXG4gICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBqdWRpY2lhbCB1c2VycyBkYXRhLCBoYXZpbmcgcmVjZWl2ZWQgdGhlIHNlcnZpY2UgZGV0YWlsc1xuICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgIHN3aXRjaE1hcChzZXJ2aWNlRGV0YWlscyA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2VycyhzZWFyY2hUZXJtLCBzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUpLnBpcGUoXG4gICAgICAgICAgLy8gSGFuZGxlIGFueSBlcnJvcnMgaGVyZSByYXRoZXIgdGhhbiBvdXRzaWRlIG9mIHRoZSBmdW5jdGlvbiwgc28gdGhhdCB0aGUgb3V0ZXIgT2JzZXJ2YWJsZSBpcyBrZXB0IGxpdmVcbiAgICAgICAgICBjYXRjaEVycm9yKF8gPT4ge1xuICAgICAgICAgICAgdGhpcy5pbnZhbGlkU2VhcmNoVGVybSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWRKdWRpY2lhbFVzZXIocGVyc29uYWxDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAocGVyc29uYWxDb2RlKSB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2Vyc0J5UGVyc29uYWxDb2RlcyhbcGVyc29uYWxDb2RlXSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoanVkaWNpYWxVc2VycyA9PiB7XG4gICAgICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbFVzZXJzWzBdKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRKdXJpc2RpY3Rpb25BbmRDYXNlVHlwZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjYXNlSW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Nhc2VJbmZvJyk7XG4gICAgaWYgKGNhc2VJbmZvU3RyKSB7XG4gICAgICBjb25zdCBjYXNlSW5mbyA9IEpTT04ucGFyc2UoY2FzZUluZm9TdHIpO1xuICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBjYXNlSW5mbz8uanVyaXNkaWN0aW9uO1xuICAgICAgdGhpcy5jYXNlVHlwZSA9IGNhc2VJbmZvPy5jYXNlVHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gY2FzZSBpbmZvLCBhdHRlbXB0IHRvIGdldCB0aGUgY3VycmVudCBqdXJpc2RpY3Rpb24gYW5kIGNhc2UgdHlwZSB2aWEgdGhlIEp1cmlzZGljdGlvblNlcnZpY2VcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLnNlbGVjdGVkSnVyaXNkaWN0aW9uQlMuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGp1cmlzZGljdGlvbikge1xuICAgICAgICAgIHRoaXMuanVyaXNkaWN0aW9uID0ganVyaXNkaWN0aW9uLmlkO1xuICAgICAgICAgIGlmIChqdXJpc2RpY3Rpb24uY3VycmVudENhc2VUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmNhc2VUeXBlID0ganVyaXNkaWN0aW9uLmN1cnJlbnRDYXNlVHlwZS5pZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5SnVkaWNpYWxVc2VyKGp1ZGljaWFsVXNlcj86IEp1ZGljaWFsVXNlck1vZGVsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4ganVkaWNpYWxVc2VyXG4gICAgICA/IGAke2p1ZGljaWFsVXNlci5mdWxsTmFtZSA/IGp1ZGljaWFsVXNlci5mdWxsTmFtZSA6ICcnfSR7anVkaWNpYWxVc2VyLmVtYWlsSWQgPyBgICgke2p1ZGljaWFsVXNlci5lbWFpbElkfSlgIDogJyd9YFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIFRoZSBldmVudC5zb3VyY2UudmFsdWUgcHJvcGVydHkgaXMgYSBKdWRpY2lhbFVzZXJNb2RlbCBvYmplY3QgaW5zdGFuY2U7IHVzZSB0aGlzIHRvIHVwZGF0ZSBib3RoIHRoZSBjYXNlRmllbGRcbiAgICAvLyB2YWx1ZSBhbmQgdGhlIHZhbHVlcyBvZiB0aGUgdHdvIEZvcm1Db250cm9scyBmb3IgdGhlIGlkYW1JZCBhbmQgcGVyc29uYWxDb2RlIHByb3BlcnRpZXMgb2YgdGhlIEp1ZGljaWFsVXNlclxuICAgIC8vIGNvbXBsZXggZmllbGQgdHlwZSAodGhlc2UgdmFsdWVzIHdpbGwgYXBwZWFyIGluIHRoZSBkYXRhIHBheWxvYWQgZm9yIHZhbGlkYXRpb24gYW5kIHN1Ym1pc3Npb24pXG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUgPSB7XG4gICAgICBpZGFtSWQ6IGV2ZW50LnNvdXJjZS52YWx1ZS5pZGFtSWQsXG4gICAgICBwZXJzb25hbENvZGU6IGV2ZW50LnNvdXJjZS52YWx1ZS5wZXJzb25hbENvZGVcbiAgICB9O1xuICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJyk/LnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlLmlkYW1JZCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKT8uc2V0VmFsdWUodGhpcy5jYXNlRmllbGQudmFsdWUucGVyc29uYWxDb2RlKTtcbiAgICB0aGlzLmp1ZGljaWFsVXNlclNlbGVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIElmIHRoZSB1c2VyIHR5cGVzIGludG8gdGhlIEp1ZGljaWFsVXNlciBmaWVsZCBidXQgZG9lc24ndCBzZWxlY3QgYSB2YWx1ZSBmcm9tIHRoZSBhdXRvY29tcGxldGUgbGlzdCwgcmVzZXQgdGhlXG4gICAgLy8gRm9ybUNvbnRyb2wgdmFsdWUgdG8gbnVsbCB0byBlbnN1cmUgaXQgZmFpbHMgdmFsaWRhdGlvbiAoY2FuIGNoZWNrIHRoZSBldmVudC5yZWxhdGVkVGFyZ2V0IHByb3BlcnR5KVxuICAgIGlmIChldmVudC5yZWxhdGVkVGFyZ2V0Py5yb2xlICE9PSAnb3B0aW9uJyAmJiAhdGhpcy5qdWRpY2lhbFVzZXJTZWxlY3RlZCkge1xuICAgICAgLy8gSWYgcmVsYXRlZFRhcmdldC5yb2xlIGlzIG5vdCBcIm9wdGlvblwiLCBpdCBtZWFucyB0aGUgdXNlciBkaWRuJ3Qgc2VsZWN0IGEgdmFsdWVcbiAgICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC52YWx1ZSkge1xuICAgICAgLy8gSWYgdGhlIHVzZXIgZGVsZXRlcyB0aGUgZmllbGQgdmFsdWUsIHNldCB0aGUgY2FzZUZpZWxkIHZhbHVlIGFuZCB0aGUgdmFsdWVzIG9mIHRoZSB0d28gRm9ybUNvbnRyb2xzIGZvclxuICAgICAgLy8gaWRhbUlkIGFuZCBwZXJzb25hbENvZGUgdG8gbnVsbC4gVGhpcyBpcyB0byBhdm9pZCBqdWRpY2lhbCB1c2VyIGRhdGEgYmVpbmcgcHJlc2VudCBpbiB0aGUgZGF0YSBwYXlsb2FkXG4gICAgICAvLyB1bmludGVudGlvbmFsbHlcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJyk/LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKT8uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldHVwVmFsaWRhdGlvbigpOiB2b2lkIHtcbiAgICAvLyBOZWVkIHRvIHJlbW92ZSB2YWxpZGF0b3JzIGZyb20gdGhlIHR3byBGb3JtQ29udHJvbHMsIGlkYW1JZCBhbmQgcGVyc29uYWxDb2RlLCBmb3IgdGhlIEp1ZGljaWFsVXNlciBjb21wbGV4XG4gICAgLy8gZmllbGQgdHlwZS4gVGhpcyBwcmV2ZW50cyB0aGVzZSBoaWRkZW4gZmllbGRzIGJlaW5nIGxpc3RlZCBpbiBhbiBlcnJvciBtZXNzYWdlIGlmIHRoZXJlIGFyZSB2YWxpZGF0aW9uIGVycm9yc1xuICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJykuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID09PSBDb25zdGFudHMuTUFOREFUT1JZKSB7XG4gICAgICB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiAhIWp1ZGljaWFsVXNlckNvbnRyb2wgJiYgZXJyb3JzfVwiPlxuICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cbiAgICAgIHt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19XG4gICAgPC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHRcIiBjbGFzcz1cImZvcm0taGludFwiPlxuICAgIHt7Y2FzZUZpZWxkLmhpbnRfdGV4dH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJlcnJvcnNcIj5cbiAgICB7e2Vycm9ycyB8IGNjZEZpcnN0RXJyb3I6Y2FzZUZpZWxkLmxhYmVsfX1cbiAgPC9zcGFuPlxuICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm90dG9tLTMwXCIgW2lkXT1cImlkKClcIlxuICAgIFtmb3JtQ29udHJvbF09XCJqdWRpY2lhbFVzZXJDb250cm9sXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvQ29tcGxldGVcIiAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiPlxuICA8bWF0LWF1dG9jb21wbGV0ZSBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG9Db21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5SnVkaWNpYWxVc2VyXCI+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGp1ZGljaWFsVXNlciBvZiBmaWx0ZXJlZEp1ZGljaWFsVXNlcnMkIHwgYXN5bmNcIlxuICAgICAgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgW25nQ2xhc3NdPVwieydoaWRlLWF1dG9jb21wbGV0ZSc6ICFzaG93QXV0b2NvbXBsZXRlfVwiXG4gICAgICBbdmFsdWVdPVwianVkaWNpYWxVc2VyXCIgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIHt7anVkaWNpYWxVc2VyPy5mdWxsTmFtZSA/IGp1ZGljaWFsVXNlci5mdWxsTmFtZSA6ICcnfX17e2p1ZGljaWFsVXNlcj8uZW1haWxJZCA/ICcgKCcgKyBqdWRpY2lhbFVzZXIuZW1haWxJZCArICcpJyA6ICcnfX1cbiAgICA8L21hdC1vcHRpb24+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJub1Jlc3VsdHMgJiYgc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IG1pblNlYXJjaENoYXJhY3RlcnMgJiYgc2hvd0F1dG9jb21wbGV0ZVwiIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiIGRpc2FibGVkPlxuICAgICAgTm8gcmVzdWx0cyBmb3VuZFxuICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImludmFsaWRTZWFyY2hUZXJtXCIgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgZGlzYWJsZWQ+XG4gICAgICBJbnZhbGlkIHNlYXJjaCB0ZXJtXG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==
|
|
242
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGUtanVkaWNpYWwtdXNlci1maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9qdWRpY2lhbC11c2VyL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2NkLWNhc2UtdWktdG9vbGtpdC9zcmMvbGliL3NoYXJlZC9jb21wb25lbnRzL3BhbGV0dGUvanVkaWNpYWwtdXNlci93cml0ZS1qdWRpY2lhbC11c2VyLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBbUIsV0FBVyxFQUFvQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RixPQUFPLEVBQTRCLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzSSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7Ozs7Ozs7Ozs7O0lDTnZELGdDQUFpRDtJQUMvQyxZQUNGOztJQUFB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WTtRQUNWLGVBQXFCO1FBQXJCLDBDQUFxQjtRQUl2QixlQUF5QjtRQUF6Qiw4Q0FBeUI7UUFHSCxlQUFZO1FBQVosaUNBQVk7UUFHSCxlQUFXO1FBQVgsNkJBQVcsd0NBQUEsd0JBQUE7UUFFdUIsZUFBbUM7UUFBbkMscURBQW1DO1FBQ3BFLGVBQWlDO1FBQWpDLDJFQUFpQztRQUt6RCxlQUE0RjtRQUE1RixpSUFBNEY7UUFHNUYsZUFBdUI7UUFBdkIsNENBQXVCOzt1RkRSM0IsK0JBQStCO2NBTDNDLFNBQVM7MkJBQ0UsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRlYm91bmNlVGltZSwgZmlsdGVyLCBtYXAsIHN3aXRjaE1hcCwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vLi4vY29tbW9ucy9jb25zdGFudHMnO1xuaW1wb3J0IHsgSnVkaWNpYWxVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9kb21haW4vanVyaXNkaWN0aW9uJztcbmltcG9ydCB7IENhc2VGbGFnUmVmZGF0YVNlcnZpY2UsIEZpZWxkc1V0aWxzLCBGb3JtVmFsaWRhdG9yc1NlcnZpY2UsIEp1cmlzZGljdGlvblNlcnZpY2UsIFNlc3Npb25TdG9yYWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcbmltcG9ydCB7IFdyaXRlQ29tcGxleEZpZWxkQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcGxleC93cml0ZS1jb21wbGV4LWZpZWxkLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJc0NvbXBvdW5kUGlwZSB9IGZyb20gJy4uL3V0aWxzL2lzLWNvbXBvdW5kLnBpcGUnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2Qtd3JpdGUtanVkaWNpYWwtdXNlci1maWVsZCcsXG4gIHN0eWxlVXJsczogWycuL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3dyaXRlLWp1ZGljaWFsLXVzZXItZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFdyaXRlSnVkaWNpYWxVc2VyRmllbGRDb21wb25lbnQgZXh0ZW5kcyBXcml0ZUNvbXBsZXhGaWVsZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwdWJsaWMgcmVhZG9ubHkgbWluU2VhcmNoQ2hhcmFjdGVycyA9IDI7XG5cbiAgcHVibGljIGp1ZGljaWFsVXNlckNvbnRyb2w6IEFic3RyYWN0Q29udHJvbDtcbiAgcHVibGljIGp1cmlzZGljdGlvbjogc3RyaW5nO1xuICBwdWJsaWMgY2FzZVR5cGU6IHN0cmluZztcbiAgcHVibGljIHNob3dBdXRvY29tcGxldGUgPSBmYWxzZTtcbiAgcHVibGljIGZpbHRlcmVkSnVkaWNpYWxVc2VycyQ6IE9ic2VydmFibGU8SnVkaWNpYWxVc2VyTW9kZWxbXT47XG4gIHB1YmxpYyBzZWFyY2hUZXJtID0gJyc7XG4gIHB1YmxpYyBub1Jlc3VsdHMgPSBmYWxzZTtcbiAgcHVibGljIGVycm9yczogVmFsaWRhdGlvbkVycm9ycztcbiAgcHVibGljIGludmFsaWRTZWFyY2hUZXJtID0gZmFsc2U7XG4gIHB1YmxpYyBqdWRpY2lhbFVzZXJTZWxlY3RlZCA9IGZhbHNlO1xuICBwdWJsaWMganVyaXNkaWN0aW9uU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBqdXJpc2RpY3Rpb25TZXJ2aWNlOiBKdXJpc2RpY3Rpb25TZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlOiBTZXNzaW9uU3RvcmFnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjYXNlRmxhZ1JlZkRhdGFTZXJ2aWNlOiBDYXNlRmxhZ1JlZmRhdGFTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29tcG91bmRQaXBlOiBJc0NvbXBvdW5kUGlwZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHZhbGlkYXRvcnNTZXJ2aWNlOiBGb3JtVmFsaWRhdG9yc1NlcnZpY2UpIHtcbiAgICBzdXBlcihjb21wb3VuZFBpcGUsIHZhbGlkYXRvcnNTZXJ2aWNlKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCh0aGlzLmNhc2VGaWVsZC52YWx1ZSk7XG4gICAgLy8gRm9ybUNvbnRyb2wgbmVlZHMgdG8gYmUgYWRkZWQgdG8gdGhlIG1haW4gRm9ybUdyb3VwIHNvIGl0IGNhbiBiZSBwaWNrZWQgdXAgYnkgdGhlIFBhZ2VWYWxpZGF0aW9uU2VydmljZSB3aGVuXG4gICAgLy8gY2hlY2tpbmcgaWYgdGhlIHBhZ2UgaXMgdmFsaWQuIEZvcm1Hcm91cC5zZXRDb250cm9sKCkgaXMgdXNlZCBoZXJlIHRvIGVuc3VyZSBhbnkgZXhpc3RpbmcgSnVkaWNpYWxVc2VyXG4gICAgLy8gRm9ybUNvbnRyb2wgaXMgcmVwbGFjZWQgd2hlbiB0aGUgY29tcG9uZW50IGlzIHJlLWluaXRpYWxpc2VkLCBmb3IgZXhhbXBsZSwgaWYgdGhlIHVzZXIgbmF2aWdhdGVzIGF3YXkgdGhlblxuICAgIC8vIGJhY2sgdG8gdGhlIHBhZ2UgY29udGFpbmluZyB0aGUgSnVkaWNpYWxVc2VyIGZpZWxkXG4gICAgdGhpcy5mb3JtR3JvdXAuc2V0Q29udHJvbChgJHt0aGlzLmNhc2VGaWVsZC5pZH1fanVkaWNpYWxVc2VyQ29udHJvbGAsIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbCk7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhpcyBGb3JtQ29udHJvbCBoYXMgbGlua3MgdG8gdGhlIEp1ZGljaWFsVXNlciBjYXNlIGZpZWxkIGFuZCB0aGlzIGNvbXBvbmVudFxuICAgIEZpZWxkc1V0aWxzLmFkZENhc2VGaWVsZEFuZENvbXBvbmVudFJlZmVyZW5jZXModGhpcy5qdWRpY2lhbFVzZXJDb250cm9sLCB0aGlzLmNhc2VGaWVsZCwgdGhpcyk7XG4gICAgdGhpcy5zZXR1cFZhbGlkYXRpb24oKTtcblxuICAgIHRoaXMuc2V0SnVyaXNkaWN0aW9uQW5kQ2FzZVR5cGUoKTtcblxuICAgIHRoaXMuZmlsdGVyZWRKdWRpY2lhbFVzZXJzJCA9IHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIHRhcCgoKSA9PiB0aGlzLnNob3dBdXRvY29tcGxldGUgPSBmYWxzZSksXG4gICAgICBkZWJvdW5jZVRpbWUoMzAwKSxcbiAgICAgIC8vIE5lZWQgdG8gY2hlY2sgdHlwZSBvZiBpbnB1dCBiZWNhdXNlIGl0IGNoYW5nZXMgdG8gb2JqZWN0IChpLmUuIEp1ZGljaWFsVXNlcikgd2hlbiBhIHZhbHVlIGlzIHNlbGVjdGVkIGZyb20gdGhlXG4gICAgICAvLyBhdXRvY29tcGxldGUgcGFuZWwsIGluc3RlYWQgb2Ygc3RyaW5nIHdoZW4gYSB2YWx1ZSBpcyBiZWluZyB0eXBlZCBpblxuICAgICAgbWFwKGlucHV0ID0+IHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycgPyBpbnB1dCA6IGlucHV0Py5mdWxsTmFtZSksXG4gICAgICB0YXAoc2VhcmNoVGVybSA9PiB7XG4gICAgICAgIHRoaXMuc2VhcmNoVGVybSA9IHNlYXJjaFRlcm07XG4gICAgICAgIHRoaXMuaW52YWxpZFNlYXJjaFRlcm0gPSBmYWxzZTtcbiAgICAgIH0pLFxuICAgICAgZmlsdGVyKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPiB0aGlzLm1pblNlYXJjaENoYXJhY3RlcnMpLFxuICAgICAgc3dpdGNoTWFwKChzZWFyY2hUZXJtOiBzdHJpbmcpID0+IHRoaXMuZmlsdGVySnVkaWNpYWxVc2VycyhzZWFyY2hUZXJtKS5waXBlKFxuICAgICAgICB0YXAoKGp1ZGljaWFsVXNlcnMpID0+IHtcbiAgICAgICAgICB0aGlzLnNob3dBdXRvY29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgIHRoaXMubm9SZXN1bHRzID0gIXRoaXMuaW52YWxpZFNlYXJjaFRlcm0gJiYganVkaWNpYWxVc2Vycy5sZW5ndGggPT09IDA7XG4gICAgICAgIH0pXG4gICAgICApKVxuICAgICk7XG5cbiAgICBpZiAodGhpcy5jYXNlRmllbGQudmFsdWU/LnBlcnNvbmFsQ29kZSkge1xuICAgICAgdGhpcy5sb2FkSnVkaWNpYWxVc2VyKHRoaXMuY2FzZUZpZWxkLnZhbHVlLnBlcnNvbmFsQ29kZSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGZpbHRlckp1ZGljaWFsVXNlcnMoc2VhcmNoVGVybTogc3RyaW5nKTogT2JzZXJ2YWJsZTxKdWRpY2lhbFVzZXJNb2RlbFtdPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FzZUZsYWdSZWZEYXRhU2VydmljZS5nZXRIbWN0c1NlcnZpY2VEZXRhaWxzQnlDYXNlVHlwZSh0aGlzLmNhc2VUeXBlKS5waXBlKFxuICAgICAgLy8gSWYgYW4gZXJyb3Igb2NjdXJzIHJldHJpZXZpbmcgSE1DVFMgc2VydmljZSBkZXRhaWxzIGJ5IGNhc2UgdHlwZSBJRCwgdHJ5IGJ5IHNlcnZpY2UgbmFtZSBpbnN0ZWFkXG4gICAgICBjYXRjaEVycm9yKF8gPT4gdGhpcy5jYXNlRmxhZ1JlZkRhdGFTZXJ2aWNlLmdldEhtY3RzU2VydmljZURldGFpbHNCeVNlcnZpY2VOYW1lKHRoaXMuanVyaXNkaWN0aW9uKSksXG4gICAgICAvLyBVc2Ugc3dpdGNoTWFwIHRvIHJldHVybiBhbiBpbm5lciBPYnNlcnZhYmxlIG9mIHRoZSBqdWRpY2lhbCB1c2VycyBkYXRhLCBoYXZpbmcgcmVjZWl2ZWQgdGhlIHNlcnZpY2UgZGV0YWlsc1xuICAgICAgLy8gaW5jbHVkaW5nIHNlcnZpY2VfY29kZS4gVGhpcyBhdm9pZHMgaGF2aW5nIG5lc3RlZCBgc3Vic2NyaWJlYHMsIHdoaWNoIGlzIGFuIGFudGktcGF0dGVybiFcbiAgICAgIHN3aXRjaE1hcChzZXJ2aWNlRGV0YWlscyA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2VycyhzZWFyY2hUZXJtLCBzZXJ2aWNlRGV0YWlsc1swXS5zZXJ2aWNlX2NvZGUpLnBpcGUoXG4gICAgICAgICAgLy8gSGFuZGxlIGFueSBlcnJvcnMgaGVyZSByYXRoZXIgdGhhbiBvdXRzaWRlIG9mIHRoZSBmdW5jdGlvbiwgc28gdGhhdCB0aGUgb3V0ZXIgT2JzZXJ2YWJsZSBpcyBrZXB0IGxpdmVcbiAgICAgICAgICBjYXRjaEVycm9yKF8gPT4ge1xuICAgICAgICAgICAgdGhpcy5pbnZhbGlkU2VhcmNoVGVybSA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gb2YodW5kZWZpbmVkKTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGxvYWRKdWRpY2lhbFVzZXIocGVyc29uYWxDb2RlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAocGVyc29uYWxDb2RlKSB7XG4gICAgICB0aGlzLmp1cmlzZGljdGlvblNlcnZpY2Uuc2VhcmNoSnVkaWNpYWxVc2Vyc0J5UGVyc29uYWxDb2RlcyhbcGVyc29uYWxDb2RlXSkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoanVkaWNpYWxVc2VycyA9PiB7XG4gICAgICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC5zZXRWYWx1ZShqdWRpY2lhbFVzZXJzWzBdKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBzZXRKdXJpc2RpY3Rpb25BbmRDYXNlVHlwZSgpOiB2b2lkIHtcbiAgICBjb25zdCBjYXNlSW5mb1N0ciA9IHRoaXMuc2Vzc2lvblN0b3JhZ2VTZXJ2aWNlLmdldEl0ZW0oJ2Nhc2VJbmZvJyk7XG4gICAgaWYgKGNhc2VJbmZvU3RyKSB7XG4gICAgICBjb25zdCBjYXNlSW5mbyA9IEpTT04ucGFyc2UoY2FzZUluZm9TdHIpO1xuICAgICAgdGhpcy5qdXJpc2RpY3Rpb24gPSBjYXNlSW5mbz8uanVyaXNkaWN0aW9uO1xuICAgICAgdGhpcy5jYXNlVHlwZSA9IGNhc2VJbmZvPy5jYXNlVHlwZTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gY2FzZSBpbmZvLCBhdHRlbXB0IHRvIGdldCB0aGUgY3VycmVudCBqdXJpc2RpY3Rpb24gYW5kIGNhc2UgdHlwZSB2aWEgdGhlIEp1cmlzZGljdGlvblNlcnZpY2VcbiAgICAgIHRoaXMuanVyaXNkaWN0aW9uU3Vic2NyaXB0aW9uID0gdGhpcy5qdXJpc2RpY3Rpb25TZXJ2aWNlLnNlbGVjdGVkSnVyaXNkaWN0aW9uQlMuc3Vic2NyaWJlKChqdXJpc2RpY3Rpb24pID0+IHtcbiAgICAgICAgaWYgKGp1cmlzZGljdGlvbikge1xuICAgICAgICAgIHRoaXMuanVyaXNkaWN0aW9uID0ganVyaXNkaWN0aW9uLmlkO1xuICAgICAgICAgIGlmIChqdXJpc2RpY3Rpb24uY3VycmVudENhc2VUeXBlKSB7XG4gICAgICAgICAgICB0aGlzLmNhc2VUeXBlID0ganVyaXNkaWN0aW9uLmN1cnJlbnRDYXNlVHlwZS5pZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkaXNwbGF5SnVkaWNpYWxVc2VyKGp1ZGljaWFsVXNlcj86IEp1ZGljaWFsVXNlck1vZGVsKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4ganVkaWNpYWxVc2VyXG4gICAgICA/IGAke2p1ZGljaWFsVXNlci5mdWxsTmFtZSA/IGp1ZGljaWFsVXNlci5mdWxsTmFtZSA6ICcnfSR7anVkaWNpYWxVc2VyLmVtYWlsSWQgPyBgICgke2p1ZGljaWFsVXNlci5lbWFpbElkfSlgIDogJyd9YFxuICAgICAgOiB1bmRlZmluZWQ7XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3Rpb25DaGFuZ2UoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIFRoZSBldmVudC5zb3VyY2UudmFsdWUgcHJvcGVydHkgaXMgYSBKdWRpY2lhbFVzZXJNb2RlbCBvYmplY3QgaW5zdGFuY2U7IHVzZSB0aGlzIHRvIHVwZGF0ZSBib3RoIHRoZSBjYXNlRmllbGRcbiAgICAvLyB2YWx1ZSBhbmQgdGhlIHZhbHVlcyBvZiB0aGUgdHdvIEZvcm1Db250cm9scyBmb3IgdGhlIGlkYW1JZCBhbmQgcGVyc29uYWxDb2RlIHByb3BlcnRpZXMgb2YgdGhlIEp1ZGljaWFsVXNlclxuICAgIC8vIGNvbXBsZXggZmllbGQgdHlwZSAodGhlc2UgdmFsdWVzIHdpbGwgYXBwZWFyIGluIHRoZSBkYXRhIHBheWxvYWQgZm9yIHZhbGlkYXRpb24gYW5kIHN1Ym1pc3Npb24pXG4gICAgdGhpcy5jYXNlRmllbGQudmFsdWUgPSB7XG4gICAgICBpZGFtSWQ6IGV2ZW50LnNvdXJjZS52YWx1ZS5pZGFtSWQsXG4gICAgICBwZXJzb25hbENvZGU6IGV2ZW50LnNvdXJjZS52YWx1ZS5wZXJzb25hbENvZGVcbiAgICB9O1xuICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJyk/LnNldFZhbHVlKHRoaXMuY2FzZUZpZWxkLnZhbHVlLmlkYW1JZCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKT8uc2V0VmFsdWUodGhpcy5jYXNlRmllbGQudmFsdWUucGVyc29uYWxDb2RlKTtcbiAgICB0aGlzLmp1ZGljaWFsVXNlclNlbGVjdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHB1YmxpYyBvbkJsdXIoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIC8vIElmIHRoZSB1c2VyIHR5cGVzIGludG8gdGhlIEp1ZGljaWFsVXNlciBmaWVsZCBidXQgZG9lc24ndCBzZWxlY3QgYSB2YWx1ZSBmcm9tIHRoZSBhdXRvY29tcGxldGUgbGlzdCwgcmVzZXQgdGhlXG4gICAgLy8gRm9ybUNvbnRyb2wgdmFsdWUgdG8gbnVsbCB0byBlbnN1cmUgaXQgZmFpbHMgdmFsaWRhdGlvbiAoY2FuIGNoZWNrIHRoZSBldmVudC5yZWxhdGVkVGFyZ2V0IHByb3BlcnR5KVxuICAgIGlmIChldmVudC5yZWxhdGVkVGFyZ2V0Py5yb2xlICE9PSAnb3B0aW9uJyAmJiAhdGhpcy5qdWRpY2lhbFVzZXJTZWxlY3RlZCkge1xuICAgICAgLy8gSWYgcmVsYXRlZFRhcmdldC5yb2xlIGlzIG5vdCBcIm9wdGlvblwiLCBpdCBtZWFucyB0aGUgdXNlciBkaWRuJ3Qgc2VsZWN0IGEgdmFsdWVcbiAgICAgIHRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC5zZXRWYWx1ZShudWxsKTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuanVkaWNpYWxVc2VyQ29udHJvbC52YWx1ZSkge1xuICAgICAgLy8gSWYgdGhlIHVzZXIgZGVsZXRlcyB0aGUgZmllbGQgdmFsdWUsIHNldCB0aGUgY2FzZUZpZWxkIHZhbHVlIGFuZCB0aGUgdmFsdWVzIG9mIHRoZSB0d28gRm9ybUNvbnRyb2xzIGZvclxuICAgICAgLy8gaWRhbUlkIGFuZCBwZXJzb25hbENvZGUgdG8gbnVsbC4gVGhpcyBpcyB0byBhdm9pZCBqdWRpY2lhbCB1c2VyIGRhdGEgYmVpbmcgcHJlc2VudCBpbiB0aGUgZGF0YSBwYXlsb2FkXG4gICAgICAvLyB1bmludGVudGlvbmFsbHlcbiAgICAgIHRoaXMuY2FzZUZpZWxkLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJyk/LnNldFZhbHVlKG51bGwpO1xuICAgICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKT8uc2V0VmFsdWUobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIHNldHVwVmFsaWRhdGlvbigpOiB2b2lkIHtcbiAgICAvLyBOZWVkIHRvIHJlbW92ZSB2YWxpZGF0b3JzIGZyb20gdGhlIHR3byBGb3JtQ29udHJvbHMsIGlkYW1JZCBhbmQgcGVyc29uYWxDb2RlLCBmb3IgdGhlIEp1ZGljaWFsVXNlciBjb21wbGV4XG4gICAgLy8gZmllbGQgdHlwZS4gVGhpcyBwcmV2ZW50cyB0aGVzZSBoaWRkZW4gZmllbGRzIGJlaW5nIGxpc3RlZCBpbiBhbiBlcnJvciBtZXNzYWdlIGlmIHRoZXJlIGFyZSB2YWxpZGF0aW9uIGVycm9yc1xuICAgIHRoaXMuY29tcGxleEdyb3VwLmdldCgnaWRhbUlkJykuY2xlYXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5jb21wbGV4R3JvdXAuZ2V0KCdwZXJzb25hbENvZGUnKS5jbGVhclZhbGlkYXRvcnMoKTtcbiAgICBpZiAodGhpcy5jYXNlRmllbGQuZGlzcGxheV9jb250ZXh0ID09PSBDb25zdGFudHMuTUFOREFUT1JZKSB7XG4gICAgICB0aGlzLmp1ZGljaWFsVXNlckNvbnRyb2wuc2V0VmFsaWRhdG9ycyhWYWxpZGF0b3JzLnJlcXVpcmVkKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5qdXJpc2RpY3Rpb25TdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIiBbbmdDbGFzc109XCJ7J2Zvcm0tZ3JvdXAtZXJyb3InOiAhIWp1ZGljaWFsVXNlckNvbnRyb2wgJiYgZXJyb3JzfVwiPlxuICA8bGFiZWwgW2Zvcl09XCJpZCgpXCI+XG4gICAgPHNwYW4gKm5nSWY9XCJjYXNlRmllbGQubGFiZWxcIiBjbGFzcz1cImZvcm0tbGFiZWxcIj5cbiAgICAgIHt7Y2FzZUZpZWxkIHwgY2NkRmllbGRMYWJlbH19XG4gICAgPC9zcGFuPlxuICA8L2xhYmVsPlxuICA8c3BhbiAqbmdJZj1cImNhc2VGaWVsZC5oaW50X3RleHRcIiBjbGFzcz1cImZvcm0taGludFwiPlxuICAgIHt7Y2FzZUZpZWxkLmhpbnRfdGV4dH19XG4gIDwvc3Bhbj5cbiAgPHNwYW4gY2xhc3M9XCJlcnJvci1tZXNzYWdlXCIgKm5nSWY9XCJlcnJvcnNcIj5cbiAgICB7e2Vycm9ycyB8IGNjZEZpcnN0RXJyb3I6Y2FzZUZpZWxkLmxhYmVsfX1cbiAgPC9zcGFuPlxuICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgYm90dG9tLTMwXCIgW2lkXT1cImlkKClcIlxuICAgIFtmb3JtQ29udHJvbF09XCJqdWRpY2lhbFVzZXJDb250cm9sXCIgW21hdEF1dG9jb21wbGV0ZV09XCJhdXRvQ29tcGxldGVcIiAoYmx1cik9XCJvbkJsdXIoJGV2ZW50KVwiPlxuICA8bWF0LWF1dG9jb21wbGV0ZSBhdXRvQWN0aXZlRmlyc3RPcHRpb24gI2F1dG9Db21wbGV0ZT1cIm1hdEF1dG9jb21wbGV0ZVwiIFtkaXNwbGF5V2l0aF09XCJkaXNwbGF5SnVkaWNpYWxVc2VyXCI+XG4gICAgPG1hdC1vcHRpb24gKm5nRm9yPVwibGV0IGp1ZGljaWFsVXNlciBvZiBmaWx0ZXJlZEp1ZGljaWFsVXNlcnMkIHwgYXN5bmNcIlxuICAgICAgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgW25nQ2xhc3NdPVwieydoaWRlLWF1dG9jb21wbGV0ZSc6ICFzaG93QXV0b2NvbXBsZXRlfVwiXG4gICAgICBbdmFsdWVdPVwianVkaWNpYWxVc2VyXCIgKG9uU2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgIHt7anVkaWNpYWxVc2VyPy5mdWxsTmFtZSA/IGp1ZGljaWFsVXNlci5mdWxsTmFtZSA6ICcnfX17e2p1ZGljaWFsVXNlcj8uZW1haWxJZCA/ICcgKCcgKyBqdWRpY2lhbFVzZXIuZW1haWxJZCArICcpJyA6ICcnfX1cbiAgICA8L21hdC1vcHRpb24+XG4gICAgPG1hdC1vcHRpb24gKm5nSWY9XCJub1Jlc3VsdHMgJiYgc2VhcmNoVGVybSAmJiBzZWFyY2hUZXJtLmxlbmd0aCA+IG1pblNlYXJjaENoYXJhY3RlcnMgJiYgc2hvd0F1dG9jb21wbGV0ZVwiIGNsYXNzPVwic2VsZWN0LW9wdGlvblwiIGRpc2FibGVkPlxuICAgICAgTm8gcmVzdWx0cyBmb3VuZFxuICAgIDwvbWF0LW9wdGlvbj5cbiAgICA8bWF0LW9wdGlvbiAqbmdJZj1cImludmFsaWRTZWFyY2hUZXJtXCIgY2xhc3M9XCJzZWxlY3Qtb3B0aW9uXCIgZGlzYWJsZWQ+XG4gICAgICBJbnZhbGlkIHNlYXJjaCB0ZXJtXG4gICAgPC9tYXQtb3B0aW9uPlxuICA8L21hdC1hdXRvY29tcGxldGU+XG48L2Rpdj5cbiJdfQ==
|