raise-common-lib 0.0.235-beta → 0.0.236-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +57 -57
- package/bundles/raise-common-lib.umd.js +62 -30
- package/bundles/raise-common-lib.umd.js.map +1 -1
- package/bundles/raise-common-lib.umd.min.js +1 -1
- package/bundles/raise-common-lib.umd.min.js.map +1 -1
- package/esm2015/lib/commentary/index.component.js +3 -2
- package/esm2015/lib/common-grid/grid-action/grid-action.component.js +3 -2
- package/esm2015/lib/common-grid/index.component.js +3 -2
- package/esm2015/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +4 -3
- package/esm2015/lib/dashboard/dashboardPorlets.service.js +4 -3
- package/esm2015/lib/dashboard/dialog-group/download/index.component.js +3 -2
- package/esm2015/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +3 -2
- package/esm2015/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +3 -2
- package/esm2015/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +3 -2
- package/esm2015/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +3 -2
- package/esm2015/lib/dashboard/pane-group-new.component.js +4 -3
- package/esm2015/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +3 -2
- package/esm2015/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +3 -2
- package/esm2015/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +3 -2
- package/esm2015/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +4 -3
- package/esm2015/lib/dialog/common-delete-dialog/index.component.js +3 -2
- package/esm2015/lib/dialog/common-dialog/index.component.js +3 -2
- package/esm2015/lib/form/checkbox-group/index.component.js +3 -2
- package/esm2015/lib/form/confirm-select/index.component.js +3 -2
- package/esm2015/lib/form/search-input/index.component.js +3 -2
- package/esm2015/lib/layout/grid-box/index.component.js +3 -2
- package/esm2015/lib/layout/multi-tab/index.component.js +3 -2
- package/esm2015/lib/layout/page-list/index.component.js +3 -2
- package/esm2015/lib/layout/rs-header/index.component.js +5 -4
- package/esm2015/lib/service/dialog.service.js +3 -2
- package/esm2015/lib/utils/utils.js +32 -0
- package/esm5/lib/commentary/index.component.js +3 -2
- package/esm5/lib/common-grid/grid-action/grid-action.component.js +3 -2
- package/esm5/lib/common-grid/index.component.js +3 -2
- package/esm5/lib/dashboard/dashboard-properties/data-mart-new/data-mart-new.component.js +4 -3
- package/esm5/lib/dashboard/dashboardPorlets.service.js +4 -3
- package/esm5/lib/dashboard/dialog-group/download/index.component.js +3 -2
- package/esm5/lib/dashboard/gadget-group/gadget-pivot/gadget-pivot.component.js +3 -2
- package/esm5/lib/dashboard/gadget-group/gadget-pivot-chart/gadget-pivot.component.js +3 -2
- package/esm5/lib/dashboard/gadget-group/gadget-table/gadget-table.component.js +3 -2
- package/esm5/lib/dashboard/gadget-group/gadget-transpose/gadget-transpose.component.js +3 -2
- package/esm5/lib/dashboard/pane-group-new.component.js +4 -3
- package/esm5/lib/dashboard/sidebar-iconlist/field-filter/field-filter.component.js +3 -2
- package/esm5/lib/dashboard/sidebar-iconlist/field-format/field-format.component.js +3 -2
- package/esm5/lib/dashboard/sidebar-iconlist/portlet-type-new/portlet-type-new.component.js +3 -2
- package/esm5/lib/dashboard/sidebar-iconlist/sidebar-iconlist-new.component.js +4 -3
- package/esm5/lib/dialog/common-delete-dialog/index.component.js +3 -2
- package/esm5/lib/dialog/common-dialog/index.component.js +3 -2
- package/esm5/lib/form/checkbox-group/index.component.js +3 -2
- package/esm5/lib/form/confirm-select/index.component.js +3 -2
- package/esm5/lib/form/search-input/index.component.js +3 -2
- package/esm5/lib/layout/grid-box/index.component.js +3 -2
- package/esm5/lib/layout/multi-tab/index.component.js +3 -2
- package/esm5/lib/layout/page-list/index.component.js +3 -2
- package/esm5/lib/layout/rs-header/index.component.js +5 -4
- package/esm5/lib/service/dialog.service.js +3 -2
- package/esm5/lib/utils/utils.js +32 -0
- package/fesm2015/raise-common-lib.js +62 -30
- package/fesm2015/raise-common-lib.js.map +1 -1
- package/fesm5/raise-common-lib.js +62 -30
- package/fesm5/raise-common-lib.js.map +1 -1
- package/lib/utils/utils.d.ts +1 -0
- package/package.json +1 -1
- package/raise-common-lib.metadata.json +1 -1
- package/src/assets/img/arrow_right.svg +4 -4
- package/src/assets/img/calendar-disabled.svg +6 -6
- package/src/assets/img/calendar.svg +6 -6
- package/src/assets/img/calendar_arrow_left.svg +3 -3
- package/src/assets/img/calendar_arrow_right.svg +3 -3
- package/src/assets/img/checked-vector.svg +3 -3
- package/src/assets/img/dialog-close.svg +4 -4
- package/src/assets/img/dialog-grow.svg +6 -6
- package/src/assets/img/dialog-shrink.svg +6 -6
- package/src/assets/img/plus.svg +4 -4
- package/src/assets/img/search.svg +4 -4
- package/src/assets/img/shrink-icon.svg +6 -6
- package/src/assets/img/time-disabled.svg +4 -4
- package/src/assets/img/time.svg +4 -4
- package/src/assets/img/toolbar-action-addFolder.svg +17 -17
- package/src/assets/img/toolbar-action-calculator.svg +11 -11
- package/src/assets/img/toolbar-action-collapse.svg +7 -7
- package/src/assets/img/toolbar-action-combine.svg +4 -4
- package/src/assets/img/toolbar-action-edit.svg +4 -4
- package/src/assets/img/toolbar-action-expand.svg +7 -7
- package/src/assets/img/toolbar-action-folderMove.svg +8 -8
- package/src/assets/img/toolbar-action-lock.svg +6 -6
- package/src/assets/img/toolbar-action-preview.svg +7 -7
- package/src/assets/img/toolbar-action-publish.svg +5 -5
- package/src/assets/img/toolbar-action-reminders.svg +10 -10
- package/src/assets/img/toolbar-action-rename.svg +7 -7
- package/src/assets/img/toolbar-action-saveSequence.svg +5 -5
- package/src/assets/img/toolbar-action-send-file.svg +5 -5
- package/src/assets/img/toolbar-action-settle.svg +7 -7
- package/src/assets/img/toolbar-action-share.svg +5 -5
- package/src/assets/img/toolbar-action-submitForApproval.svg +4 -4
- package/src/assets/img/toolbar-action-sync.svg +4 -4
- package/src/assets/img/toolbar-action-template.svg +6 -6
- package/src/assets/img/toolbar-action-workflow.svg +9 -9
|
@@ -9,6 +9,7 @@ import { ChangeDetectorRef, Component, EventEmitter, Input, Output, } from "@ang
|
|
|
9
9
|
import { CommonFunctionService } from "../service/common-function.service";
|
|
10
10
|
import { DialogService } from "../service/dialog.service";
|
|
11
11
|
import { Debounce } from "../utils/decorator";
|
|
12
|
+
import { getTranslation } from "../utils/utils";
|
|
12
13
|
var RsCommentaryComponent = /** @class */ (function () {
|
|
13
14
|
function RsCommentaryComponent(cf, dialog, ref) {
|
|
14
15
|
this.cf = cf;
|
|
@@ -49,7 +50,7 @@ var RsCommentaryComponent = /** @class */ (function () {
|
|
|
49
50
|
* @return {?}
|
|
50
51
|
*/
|
|
51
52
|
function () {
|
|
52
|
-
this.translation =
|
|
53
|
+
this.translation = getTranslation();
|
|
53
54
|
};
|
|
54
55
|
/**
|
|
55
56
|
* @return {?}
|
|
@@ -308,4 +309,4 @@ if (false) {
|
|
|
308
309
|
*/
|
|
309
310
|
RsCommentaryComponent.prototype.ref;
|
|
310
311
|
}
|
|
311
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21tZW50YXJ5L2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUc5QztJQU1FLCtCQUNTLEVBQXlCLEVBQ3hCLE1BQXFCLEVBQ3JCLEdBQXNCO1FBRnZCLE9BQUUsR0FBRixFQUFFLENBQXVCO1FBQ3hCLFdBQU0sR0FBTixNQUFNLENBQWU7UUFDckIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFJdkIsZ0JBQVcsR0FBbUIsRUFBRSxDQUFDO1FBQ2pDLG1CQUFjLEdBQUcsSUFBSSxDQUFDLENBQUMsU0FBUzs7UUFDaEMscUJBQWdCLEdBQUcsSUFBSSxDQUFDLENBQUMsV0FBVzs7UUFDcEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixjQUFTLEdBQUc7WUFDbkIsWUFBWSxFQUFFLGNBQWM7WUFDNUIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsU0FBUyxFQUFFLFdBQVc7WUFDdEIsY0FBYyxFQUFFLGdCQUFnQjtZQUNoQyxXQUFXLEVBQUUsYUFBYTtTQUMzQixDQUFDO1FBQ08sdUJBQWtCLEdBQUcscUJBQXFCLENBQUM7UUFHcEQsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFJN0IsQ0FBQztRQUVMLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG1CQUFjLEdBQUcsRUFB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QUs7cUNBT0wsS0FBSztpQ0FFTCxNQUFNOztJQW9CUDtRQURDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Ozs7MkRBZ0JiO0lBbUJEO1FBREMsUUFBUSxDQUFDLEdBQUcsQ0FBQzs7Ozs4REEwQmI7SUFFRDtRQURDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Ozs7eURBbUJiO0lBR0Q7UUFEQyxRQUFRLENBQUMsR0FBRyxDQUFDOzs7O3FFQVViO0lBQ0gsNEJBQUM7Q0FBQSxBQTFJRCxJQTBJQztTQXJJWSxxQkFBcUI7OztJQU9oQyw0Q0FBNkI7O0lBQzdCLDRDQUEwQzs7SUFDMUMsK0NBQStCOztJQUMvQixpREFBaUM7O0lBQ2pDLDJDQUE0Qjs7SUFDNUIsMENBTUU7O0lBQ0YsbURBQW9EOztJQUVwRCwrQ0FLSzs7SUFFTCwyQ0FBZ0I7O0lBQ2hCLHlDQUFjOztJQUNkLCtDQUFvQjs7SUFDcEIsNENBQVk7O0lBN0JWLG1DQUFnQzs7Ozs7SUFDaEMsdUNBQTZCOzs7OztJQUM3QixvQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyIvLyDnu4Tku7bnsbtcclxuaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29tbW9uRnVuY3Rpb25TZXJ2aWNlIH0gZnJvbSBcIi4uL3NlcnZpY2UvY29tbW9uLWZ1bmN0aW9uLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERlYm91bmNlIH0gZnJvbSBcIi4uL3V0aWxzL2RlY29yYXRvclwiO1xyXG5pbXBvcnQgeyBNZXNzYWdlR3JvdXAgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWNvbW1lbnRhcnlcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUnNDb21tZW50YXJ5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBjZjogQ29tbW9uRnVuY3Rpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHt9XHJcblxyXG4gIEBJbnB1dCgpIGRpc3BsYXlOYW1lOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY29tbWVudERhdGE6IE1lc3NhZ2VHcm91cFtdID0gW107XHJcbiAgQElucHV0KCkgZWRpdFBlcm1pc3Npb24gPSB0cnVlOyAvLyBlZGl05p2D6ZmQXHJcbiAgQElucHV0KCkgZGVsZXRlUGVybWlzc2lvbiA9IHRydWU7IC8vIGRlbGV0Zeadg+mZkFxyXG4gIEBJbnB1dCgpIGlzUmVhZE9ubHkgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmaWxlZHNLZXkgPSB7XHJcbiAgICBjb21tZW50YXJpZXM6IFwiY29tbWVudGFyaWVzXCIsXHJcbiAgICBtZXNzYWdlSWQ6IFwibWVzc2FnZUlkXCIsXHJcbiAgICBvd25lck5hbWU6IFwib3duZXJOYW1lXCIsXHJcbiAgICBsYXN0TW9kaWZpZWRPbjogXCJsYXN0TW9kaWZpZWRPblwiLFxyXG4gICAgbWVzc2FnZUJvZHk6IFwibWVzc2FnZUJvZHlcIixcclxuICB9O1xyXG4gIEBJbnB1dCgpIGRhdGVUaW1lUGlwZUZvcm1hdCA9IFwiZGQtTU1NLXl5eXkgaGg6bW06YVwiO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBhY3Rpb25Db21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgYWN0aW9uOiBcImFkZENvbW1lbnRcIiB8IFwidXBkYXRlQ29tbWVudFwiIHwgXCJkZWxldGVDb21tZW50XCIgfCBcInJlcGx5Q29tbWVudFwiO1xyXG4gICAgZGF0YTogYW55O1xyXG4gICAgY2FsbGJhY2s6IChyZXN1bHQ6IHsgbWVzc2FnZUlkOiBzdHJpbmcgfSkgPT4gdm9pZDtcclxuICB9PigpO1xyXG5cclxuICBjb21tZW50VmFsID0gXCJcIjtcclxuICByZXBseVZhbCA9IFwiXCI7XHJcbiAgZWRpdENvbW1lbnRWYWwgPSBcIlwiO1xyXG4gIHRyYW5zbGF0aW9uO1xyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRJbmZvKCk7XHJcbiAgfVxyXG5cclxuICBnZXRJbmZvKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0cmFuc2xhdGlvblwiKSk7XHJcbiAgfVxyXG5cclxuICBARGVib3VuY2UoMzAwKVxyXG4gIGFkZENvbW1lbnQoKSB7XHJcbiAgICB0aGlzLmFjdGlvbkNvbXBsZXRlLmVtaXQoe1xyXG4gICAgICBhY3Rpb246IFwiYWRkQ29tbWVudFwiLFxyXG4gICAgICBkYXRhOiB7IGlucHV0VmFsdWU6IHRoaXMuY29tbWVudFZhbCB9LFxyXG4gICAgICBjYWxsYmFjazogKHJlcykgPT4ge1xyXG4gICAgICAgIHRoaXMuY29tbWVudERhdGEudW5zaGlmdCh7XHJcbiAgICAgICAgICBbYCR7dGhpcy5maWxlZHNLZXlbXCJtZXNzYWdlSWRcIl19YF06IHJlcy5tZXNzYWdlSWQsXHJcbiAgICAgICAgICBbYCR7dGhpcy5maWxlZHNLZXlbXCJjb21tZW50YXJpZXNcIl19YF06IFtdLFxyXG4gICAgICAgICAgW2Ake3RoaXMuZmlsZWRzS2V5W1wib3duZXJOYW1lXCJdfWBdOiB0aGlzLmRpc3BsYXlOYW1lLFxyXG4gICAgICAgICAgW2Ake3RoaXMuZmlsZWRzS2V5W1wibGFzdE1vZGlmaWVkT25cIl19YF06IERhdGUubm93KCksXHJcbiAgICAgICAgICBbYCR7dGhpcy5maWxlZHNLZXlbXCJtZXNzYWdlQm9keVwiXX1gXTogdGhpcy5jb21tZW50VmFsLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMuY29tbWVudFZhbCA9IFwiXCI7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGVkaXRDb21tZW50KGl0ZW0pIHtcclxuICAgIHRoaXMuZWRpdENvbW1lbnRWYWwgPSBpdGVtW3RoaXMuZmlsZWRzS2V5W1wibWVzc2FnZUJvZHlcIl1dO1xyXG4gICAgaXRlbS5zaG93Q29tbWVudEVkaXQgPSB0cnVlO1xyXG4gIH1cclxuICBhc3luYyB1cGRhdGVDb21tZW50KGl0ZW0pIHtcclxuICAgIHRoaXMuYWN0aW9uQ29tcGxldGUuZW1pdCh7XHJcbiAgICAgIGFjdGlvbjogXCJ1cGRhdGVDb21tZW50XCIsXHJcbiAgICAgIGRhdGE6IHsgLi4uaXRlbSwgaW5wdXRWYWx1ZTogdGhpcy5lZGl0Q29tbWVudFZhbCB9LFxyXG4gICAgICBjYWxsYmFjazogKHJlcykgPT4ge1xyXG4gICAgICAgIGl0ZW1bdGhpcy5maWxlZHNLZXlbXCJtZXNzYWdlQm9keVwiXV0gPSB0aGlzLmVkaXRDb21tZW50VmFsO1xyXG4gICAgICAgIGl0ZW0uc2hvd0NvbW1lbnRFZGl0ID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBEZWJvdW5jZSgzMDApXHJcbiAgZGVsZXRlQ29tbWVudChpdGVtKSB7XHJcbiAgICBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZy5zaG93Q29tbW9uRGlsYW9nKHtcclxuICAgICAgdGl0bGU6IHRoaXMudHJhbnNsYXRpb25bXCJERUxFVEVfQ09NTUVOVFwiXSxcclxuICAgICAgZGVzY3JpcHRpb246IHRoaXMudHJhbnNsYXRpb25bXCJERUxFVEVfQ09NTUVOVF9DT05GSVJNXCJdLFxyXG4gICAgICBzYXZlQnRuTGFiZWw6IHRoaXMudHJhbnNsYXRpb24uREVMRVRFLFxyXG4gICAgfSk7XHJcbiAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzID09PSBcImNsb3NlXCIpIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgaWR4ID0gdGhpcy5jb21tZW50RGF0YS5maW5kSW5kZXgoXHJcbiAgICAgICAgKGVsZSkgPT5cclxuICAgICAgICAgIGVsZVt0aGlzLmZpbGVkc0tleS5tZXNzYWdlSWRdID09PSBpdGVtW3RoaXMuZmlsZWRzS2V5Lm1lc3NhZ2VJZF1cclxuICAgICAgKTtcclxuXHJcbiAgICAgIHRoaXMuYWN0aW9uQ29tcGxldGUuZW1pdCh7XHJcbiAgICAgICAgYWN0aW9uOiBcImRlbGV0ZUNvbW1lbnRcIixcclxuICAgICAgICBkYXRhOiBpdGVtLFxyXG4gICAgICAgIGNhbGxiYWNrOiAocmVzKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNvbW1lbnREYXRhLnNwbGljZShpZHgsIDEpO1xyXG4gICAgICAgICAgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgQERlYm91bmNlKDMwMClcclxuICBhZGRSZXBseShpdGVtKSB7XHJcbiAgICB0aGlzLmFjdGlvbkNvbXBsZXRlLmVtaXQoe1xyXG4gICAgICBhY3Rpb246IFwicmVwbHlDb21tZW50XCIsXHJcbiAgICAgIGRhdGE6IHsgLi4uaXRlbSwgaW5wdXRWYWx1ZTogdGhpcy5yZXBseVZhbCB9LFxyXG4gICAgICBjYWxsYmFjazogKHJlcykgPT4ge1xyXG4gICAgICAgIGl0ZW1bdGhpcy5maWxlZHNLZXlbXCJjb21tZW50YXJpZXNcIl1dLnVuc2hpZnQoe1xyXG4gICAgICAgICAgW2Ake3RoaXMuZmlsZWRzS2V5W1wibWVzc2FnZUlkXCJdfWBdOiByZXNbdGhpcy5maWxlZHNLZXlbXCJtZXNzYWdlSWRcIl1dLFxyXG4gICAgICAgICAgW2Ake3RoaXMuZmlsZWRzS2V5W1wiY29tbWVudGFyaWVzXCJdfWBdOiBbXSxcclxuICAgICAgICAgIFtgJHt0aGlzLmZpbGVkc0tleVtcIm93bmVyTmFtZVwiXX1gXTogdGhpcy5kaXNwbGF5TmFtZSxcclxuICAgICAgICAgIFtgJHt0aGlzLmZpbGVkc0tleVtcImxhc3RNb2RpZmllZE9uXCJdfWBdOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgW2Ake3RoaXMuZmlsZWRzS2V5W1wibWVzc2FnZUJvZHlcIl19YF06IHRoaXMucmVwbHlWYWwsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5yZXBseVZhbCA9IFwiXCI7XHJcbiAgICAgICAgaXRlbS5zaG93UmVwbHlJbnB1dCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgQERlYm91bmNlKDEwMClcclxuICBhZGp1c3RUZXh0YXJlYUhlaWdodChlKSB7XHJcbiAgICBjb25zdCB0ZXh0YXJlYSA9IGUudGFyZ2V0O1xyXG4gICAgaWYgKGUudHlwZSA9PT0gXCJmb2N1c1wiICYmIHRleHRhcmVhLnZhbHVlKSB7XHJcbiAgICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9IFwiYXV0b1wiO1xyXG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHQgKyBcInB4XCI7XHJcbiAgICB9IGVsc2UgaWYgKGUudHlwZSA9PT0gXCJpbnB1dFwiKSB7XHJcbiAgICAgIHRleHRhcmVhLnN0eWxlLmhlaWdodCA9IFwiYXV0b1wiO1xyXG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSB0ZXh0YXJlYS5zY3JvbGxIZWlnaHQgKyBcInB4XCI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21tZW50YXJ5L2luZGV4LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0EsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQ7SUFNRSwrQkFDUyxFQUF5QixFQUN4QixNQUFxQixFQUNyQixHQUFzQjtRQUZ2QixPQUFFLEdBQUYsRUFBRSxDQUF1QjtRQUN4QixXQUFNLEdBQU4sTUFBTSxDQUFlO1FBQ3JCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBSXZCLGdCQUFXLEdBQW1CLEVBQUUsQ0FBQztRQUNqQyxtQkFBYyxHQUFHLElBQUksQ0FBQyxDQUFDLFNBQVM7O1FBQ2hDLHFCQUFnQixHQUFHLElBQUksQ0FBQyxDQUFDLFdBQVc7O1FBQ3BDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsY0FBUyxHQUFHO1lBQ25CLFlBQVksRUFBRSxjQUFjO1lBQzVCLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLFNBQVMsRUFBRSxXQUFXO1lBQ3RCLGNBQWMsRUFBRSxnQkFBZ0I7WUFDaEMsV0FBVyxFQUFFLGFBQWE7U0FDM0IsQ0FBQztRQUNPLHVCQUFrQixHQUFHLHFCQUFxQixDQUFDO1FBR3BELG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBSTdCLENBQUM7UUFFTCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FB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O3FDQU9MLEtBQUs7aUNBRUwsTUFBTTs7SUFvQlA7UUFEQyxRQUFRLENBQUMsR0FBRyxDQUFDOzs7OzJEQWdCYjtJQW1CRDtRQURDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Ozs7OERBMEJiO0lBRUQ7UUFEQyxRQUFRLENBQUMsR0FBRyxDQUFDOzs7O3lEQW1CYjtJQUdEO1FBREMsUUFBUSxDQUFDLEdBQUcsQ0FBQzs7OztxRUFVYjtJQUNILDRCQUFDO0NBQUEsQUExSUQsSUEwSUM7U0FySVkscUJBQXFCOzs7SUFPaEMsNENBQTZCOztJQUM3Qiw0Q0FBMEM7O0lBQzFDLCtDQUErQjs7SUFDL0IsaURBQWlDOztJQUNqQywyQ0FBNEI7O0lBQzVCLDBDQU1FOztJQUNGLG1EQUFvRDs7SUFFcEQsK0NBS0s7O0lBRUwsMkNBQWdCOztJQUNoQix5Q0FBYzs7SUFDZCwrQ0FBb0I7O0lBQ3BCLDRDQUFZOztJQTdCVixtQ0FBZ0M7Ozs7O0lBQ2hDLHVDQUE2Qjs7Ozs7SUFDN0Isb0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiLy8g57uE5Lu257G7XHJcbmltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbW1vbkZ1bmN0aW9uU2VydmljZSB9IGZyb20gXCIuLi9zZXJ2aWNlL2NvbW1vbi1mdW5jdGlvbi5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tIFwiLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gXCIuLi91dGlscy9kZWNvcmF0b3JcIjtcclxuaW1wb3J0IHsgTWVzc2FnZUdyb3VwIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XHJcbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSBcIi4uL3V0aWxzL3V0aWxzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1jb21tZW50YXJ5XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFJzQ29tbWVudGFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgY2Y6IENvbW1vbkZ1bmN0aW9uU2VydmljZSxcclxuICAgIHByaXZhdGUgZGlhbG9nOiBEaWFsb2dTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmXHJcbiAgKSB7fVxyXG5cclxuICBASW5wdXQoKSBkaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNvbW1lbnREYXRhOiBNZXNzYWdlR3JvdXBbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGVkaXRQZXJtaXNzaW9uID0gdHJ1ZTsgLy8gZWRpdOadg+mZkFxyXG4gIEBJbnB1dCgpIGRlbGV0ZVBlcm1pc3Npb24gPSB0cnVlOyAvLyBkZWxldGXmnYPpmZBcclxuICBASW5wdXQoKSBpc1JlYWRPbmx5ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZmlsZWRzS2V5ID0ge1xyXG4gICAgY29tbWVudGFyaWVzOiBcImNvbW1lbnRhcmllc1wiLFxyXG4gICAgbWVzc2FnZUlkOiBcIm1lc3NhZ2VJZFwiLFxyXG4gICAgb3duZXJOYW1lOiBcIm93bmVyTmFtZVwiLFxyXG4gICAgbGFzdE1vZGlmaWVkT246IFwibGFzdE1vZGlmaWVkT25cIixcclxuICAgIG1lc3NhZ2VCb2R5OiBcIm1lc3NhZ2VCb2R5XCIsXHJcbiAgfTtcclxuICBASW5wdXQoKSBkYXRlVGltZVBpcGVGb3JtYXQgPSBcImRkLU1NTS15eXl5IGhoOm1tOmFcIjtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgYWN0aW9uQ29tcGxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIGFjdGlvbjogXCJhZGRDb21tZW50XCIgfCBcInVwZGF0ZUNvbW1lbnRcIiB8IFwiZGVsZXRlQ29tbWVudFwiIHwgXCJyZXBseUNvbW1lbnRcIjtcclxuICAgIGRhdGE6IGFueTtcclxuICAgIGNhbGxiYWNrOiAocmVzdWx0OiB7IG1lc3NhZ2VJZDogc3RyaW5nIH0pID0+IHZvaWQ7XHJcbiAgfT4oKTtcclxuXHJcbiAgY29tbWVudFZhbCA9IFwiXCI7XHJcbiAgcmVwbHlWYWwgPSBcIlwiO1xyXG4gIGVkaXRDb21tZW50VmFsID0gXCJcIjtcclxuICB0cmFuc2xhdGlvbjtcclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0SW5mbygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW5mbygpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24gPSBnZXRUcmFuc2xhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgQERlYm91bmNlKDMwMClcclxuICBhZGRDb21tZW50KCkge1xyXG4gICAgdGhpcy5hY3Rpb25Db21wbGV0ZS5lbWl0KHtcclxuICAgICAgYWN0aW9uOiBcImFkZENvbW1lbnRcIixcclxuICAgICAgZGF0YTogeyBpbnB1dFZhbHVlOiB0aGlzLmNvbW1lbnRWYWwgfSxcclxuICAgICAgY2FsbGJhY2s6IChyZXMpID0+IHtcclxuICAgICAgICB0aGlzLmNvbW1lbnREYXRhLnVuc2hpZnQoe1xyXG4gICAgICAgICAgW2Ake3RoaXMuZmlsZWRzS2V5W1wibWVzc2FnZUlkXCJdfWBdOiByZXMubWVzc2FnZUlkLFxyXG4gICAgICAgICAgW2Ake3RoaXMuZmlsZWRzS2V5W1wiY29tbWVudGFyaWVzXCJdfWBdOiBbXSxcclxuICAgICAgICAgIFtgJHt0aGlzLmZpbGVkc0tleVtcIm93bmVyTmFtZVwiXX1gXTogdGhpcy5kaXNwbGF5TmFtZSxcclxuICAgICAgICAgIFtgJHt0aGlzLmZpbGVkc0tleVtcImxhc3RNb2RpZmllZE9uXCJdfWBdOiBEYXRlLm5vdygpLFxyXG4gICAgICAgICAgW2Ake3RoaXMuZmlsZWRzS2V5W1wibWVzc2FnZUJvZHlcIl19YF06IHRoaXMuY29tbWVudFZhbCxcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLmNvbW1lbnRWYWwgPSBcIlwiO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBlZGl0Q29tbWVudChpdGVtKSB7XHJcbiAgICB0aGlzLmVkaXRDb21tZW50VmFsID0gaXRlbVt0aGlzLmZpbGVkc0tleVtcIm1lc3NhZ2VCb2R5XCJdXTtcclxuICAgIGl0ZW0uc2hvd0NvbW1lbnRFZGl0ID0gdHJ1ZTtcclxuICB9XHJcbiAgYXN5bmMgdXBkYXRlQ29tbWVudChpdGVtKSB7XHJcbiAgICB0aGlzLmFjdGlvbkNvbXBsZXRlLmVtaXQoe1xyXG4gICAgICBhY3Rpb246IFwidXBkYXRlQ29tbWVudFwiLFxyXG4gICAgICBkYXRhOiB7IC4uLml0ZW0sIGlucHV0VmFsdWU6IHRoaXMuZWRpdENvbW1lbnRWYWwgfSxcclxuICAgICAgY2FsbGJhY2s6IChyZXMpID0+IHtcclxuICAgICAgICBpdGVtW3RoaXMuZmlsZWRzS2V5W1wibWVzc2FnZUJvZHlcIl1dID0gdGhpcy5lZGl0Q29tbWVudFZhbDtcclxuICAgICAgICBpdGVtLnNob3dDb21tZW50RWRpdCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBARGVib3VuY2UoMzAwKVxyXG4gIGRlbGV0ZUNvbW1lbnQoaXRlbSkge1xyXG4gICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2cuc2hvd0NvbW1vbkRpbGFvZyh7XHJcbiAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uW1wiREVMRVRFX0NPTU1FTlRcIl0sXHJcbiAgICAgIGRlc2NyaXB0aW9uOiB0aGlzLnRyYW5zbGF0aW9uW1wiREVMRVRFX0NPTU1FTlRfQ09ORklSTVwiXSxcclxuICAgICAgc2F2ZUJ0bkxhYmVsOiB0aGlzLnRyYW5zbGF0aW9uLkRFTEVURSxcclxuICAgIH0pO1xyXG4gICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgaWYgKHJlcyA9PT0gXCJjbG9zZVwiKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGlkeCA9IHRoaXMuY29tbWVudERhdGEuZmluZEluZGV4KFxyXG4gICAgICAgIChlbGUpID0+XHJcbiAgICAgICAgICBlbGVbdGhpcy5maWxlZHNLZXkubWVzc2FnZUlkXSA9PT0gaXRlbVt0aGlzLmZpbGVkc0tleS5tZXNzYWdlSWRdXHJcbiAgICAgICk7XHJcblxyXG4gICAgICB0aGlzLmFjdGlvbkNvbXBsZXRlLmVtaXQoe1xyXG4gICAgICAgIGFjdGlvbjogXCJkZWxldGVDb21tZW50XCIsXHJcbiAgICAgICAgZGF0YTogaXRlbSxcclxuICAgICAgICBjYWxsYmFjazogKHJlcykgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jb21tZW50RGF0YS5zcGxpY2UoaWR4LCAxKTtcclxuICAgICAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIEBEZWJvdW5jZSgzMDApXHJcbiAgYWRkUmVwbHkoaXRlbSkge1xyXG4gICAgdGhpcy5hY3Rpb25Db21wbGV0ZS5lbWl0KHtcclxuICAgICAgYWN0aW9uOiBcInJlcGx5Q29tbWVudFwiLFxyXG4gICAgICBkYXRhOiB7IC4uLml0ZW0sIGlucHV0VmFsdWU6IHRoaXMucmVwbHlWYWwgfSxcclxuICAgICAgY2FsbGJhY2s6IChyZXMpID0+IHtcclxuICAgICAgICBpdGVtW3RoaXMuZmlsZWRzS2V5W1wiY29tbWVudGFyaWVzXCJdXS51bnNoaWZ0KHtcclxuICAgICAgICAgIFtgJHt0aGlzLmZpbGVkc0tleVtcIm1lc3NhZ2VJZFwiXX1gXTogcmVzW3RoaXMuZmlsZWRzS2V5W1wibWVzc2FnZUlkXCJdXSxcclxuICAgICAgICAgIFtgJHt0aGlzLmZpbGVkc0tleVtcImNvbW1lbnRhcmllc1wiXX1gXTogW10sXHJcbiAgICAgICAgICBbYCR7dGhpcy5maWxlZHNLZXlbXCJvd25lck5hbWVcIl19YF06IHRoaXMuZGlzcGxheU5hbWUsXHJcbiAgICAgICAgICBbYCR7dGhpcy5maWxlZHNLZXlbXCJsYXN0TW9kaWZpZWRPblwiXX1gXTogRGF0ZS5ub3coKSxcclxuICAgICAgICAgIFtgJHt0aGlzLmZpbGVkc0tleVtcIm1lc3NhZ2VCb2R5XCJdfWBdOiB0aGlzLnJlcGx5VmFsLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMucmVwbHlWYWwgPSBcIlwiO1xyXG4gICAgICAgIGl0ZW0uc2hvd1JlcGx5SW5wdXQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBEZWJvdW5jZSgxMDApXHJcbiAgYWRqdXN0VGV4dGFyZWFIZWlnaHQoZSkge1xyXG4gICAgY29uc3QgdGV4dGFyZWEgPSBlLnRhcmdldDtcclxuICAgIGlmIChlLnR5cGUgPT09IFwiZm9jdXNcIiAmJiB0ZXh0YXJlYS52YWx1ZSkge1xyXG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSBcImF1dG9cIjtcclxuICAgICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0ICsgXCJweFwiO1xyXG4gICAgfSBlbHNlIGlmIChlLnR5cGUgPT09IFwiaW5wdXRcIikge1xyXG4gICAgICB0ZXh0YXJlYS5zdHlsZS5oZWlnaHQgPSBcImF1dG9cIjtcclxuICAgICAgdGV4dGFyZWEuc3R5bGUuaGVpZ2h0ID0gdGV4dGFyZWEuc2Nyb2xsSGVpZ2h0ICsgXCJweFwiO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -4,9 +4,10 @@
|
|
|
4
4
|
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
|
|
5
5
|
*/
|
|
6
6
|
import { Component } from "@angular/core";
|
|
7
|
+
import { getTranslation } from "../../utils/utils";
|
|
7
8
|
var GridActionComponent = /** @class */ (function () {
|
|
8
9
|
function GridActionComponent() {
|
|
9
|
-
this.translation =
|
|
10
|
+
this.translation = getTranslation();
|
|
10
11
|
}
|
|
11
12
|
GridActionComponent.decorators = [
|
|
12
13
|
{ type: Component, args: [{
|
|
@@ -24,4 +25,4 @@ if (false) {
|
|
|
24
25
|
/** @type {?} */
|
|
25
26
|
GridActionComponent.prototype.translation;
|
|
26
27
|
}
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21tb24tZ3JpZC9ncmlkLWFjdGlvbi9ncmlkLWFjdGlvbi5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFTLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVVuRDtJQVFFO1FBQ0UsSUFBSSxDQUFDLFdBQVcsR0FBRyxjQUFjLEVBQUUsQ0FBQztJQUN0QyxDQUFDOztnQkFWRixTQUFTLFNBQUM7b0JBQ1YsUUFBUSxFQUFFLGdCQUFnQjtvQkFDMUIsNlZBQTJDOztpQkFFM0M7Ozs7SUFPRCwwQkFBQztDQUFBLEFBWEQsSUFXQztTQU5ZLG1CQUFtQjs7O0lBQy9CLDBDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gXCIuLi8uLi91dGlscy91dGlsc1wiO1xyXG5cclxuZXhwb3J0IHR5cGUgR3JpZEFjdGlvbkl0ZW0gPSB7XHJcblx0dGV4dEtleTogc3RyaW5nO1xyXG5cdGltYWdlPzogc3RyaW5nO1xyXG5cdGRpc2FibGVkPzogKGRhdGE6IGFueSkgPT4gYm9vbGVhbjtcclxuXHRzaG93PzogKGRhdGE6IGFueSkgPT4gYm9vbGVhbjtcclxuXHRvbkNsaWNrOiAoZGF0YTogYW55KSA9PiB2b2lkO1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c2VsZWN0b3I6IFwicnMtZ3JpZC1hY3Rpb25cIixcclxuXHR0ZW1wbGF0ZVVybDogXCIuL2dyaWQtYWN0aW9uLmNvbXBvbmVudC5odG1sXCIsXHJcblx0c3R5bGVVcmxzOiBbXCIuL2dyaWQtYWN0aW9uLmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR3JpZEFjdGlvbkNvbXBvbmVudCB7XHJcblx0dHJhbnNsYXRpb246IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbiA9IGdldFRyYW5zbGF0aW9uKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -7,6 +7,7 @@ import * as tslib_1 from "tslib";
|
|
|
7
7
|
import { Component, EventEmitter, Input, Output, TemplateRef, ViewChild, ChangeDetectorRef, } from "@angular/core";
|
|
8
8
|
import { GridComponent } from "@syncfusion/ej2-angular-grids";
|
|
9
9
|
import { times } from "lodash";
|
|
10
|
+
import { getTranslation } from "../utils/utils";
|
|
10
11
|
var CommonGridComponent = /** @class */ (function () {
|
|
11
12
|
function CommonGridComponent(ref) {
|
|
12
13
|
this.ref = ref;
|
|
@@ -98,7 +99,7 @@ var CommonGridComponent = /** @class */ (function () {
|
|
|
98
99
|
}));
|
|
99
100
|
return list;
|
|
100
101
|
});
|
|
101
|
-
this.translation =
|
|
102
|
+
this.translation = getTranslation();
|
|
102
103
|
}
|
|
103
104
|
/**
|
|
104
105
|
* @return {?}
|
|
@@ -966,4 +967,4 @@ if (false) {
|
|
|
966
967
|
*/
|
|
967
968
|
CommonGridComponent.prototype.ref;
|
|
968
969
|
}
|
|
969
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21tb24tZ3JpZC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBRVgsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUkvQjtJQXNGRSw2QkFBb0IsR0FBc0I7UUFBdEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUE5RWpDLGlCQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3BCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixlQUFVLEdBQUcsSUFBSSxDQUFDLENBQUMsMkJBQTJCOzs7UUFFOUMsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFDckIsZUFBVSxHQUFHLEVBQUUsQ0FBQzs7UUFFaEIsV0FBTSxHQUFHLE1BQU0sQ0FBQztRQUNoQixtQkFBYyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2xDLG1CQUFjLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUM7UUFFbEMsV0FBTSxHQUFtQixFQUFFLENBQUM7UUFDNUIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUloQixnQkFBVyxHQUFHLElBQUksQ0FBQztRQUNuQix3QkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFHLHFCQUFxQixDQUFDO1FBQ2pDLGtCQUFhLEdBQUcsRUFBRSxDQUFDLENBQUMsbUNBQW1DOzs7Ozs7Ozs7Ozs7Ozs7Ozs7UUFzQnZELHFCQUFnQixHQUFz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OztJQUM5Qix5Q0FBMkI7O0lBRTNCLDhDQUE4Qjs7SUFDOUIseUNBQXlCOztJQUV6QixxQ0FBeUI7O0lBQ3pCLDZDQUEyQzs7SUFDM0MsNkNBQTJDOztJQUMzQyx1Q0FBdUI7O0lBQ3ZCLHFDQUFxQzs7SUFDckMseUNBQXlCOztJQUN6QiwyQ0FBc0I7O0lBQ3RCLDZDQUEwQzs7SUFDMUMsMkNBQXNCOztJQUN0QiwwQ0FBNEI7O0lBQzVCLGtEQUFxQzs7SUFDckMsdUNBQTBDOztJQUMxQyw0Q0FBNEI7O0lBQzVCLHdDQUFtQjs7SUFDbkIsNENBQXVCOztJQUN2QixvREFBK0I7O0lBQy9CLDZDQUEwQzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQWtCMUMsK0NBQWtEOztJQUVsRCxnREFJRTs7SUFDRixpREFBNkM7O0lBQzdDLDRDQUE0Qjs7SUFDNUIsK0NBQTJDOztJQUUzQyxnREFBaUQ7O0lBQ2pELDZDQUE4Qzs7SUFDOUMsMENBQTJDOztJQUMzQyw0Q0FBNkM7O0lBQzdDLDZDQUE4Qzs7SUFDOUMsNENBQTZDOztJQUM3Qyw0Q0FBNkM7O0lBQzdDLDRDQUE2Qzs7SUFDN0MsMENBQTJDOztJQUMzQywwQ0FBMkM7O0lBQzNDLDJDQUE0Qzs7SUFDNUMsd0NBQXlDOztJQUN6QyxrREFBbUQ7O0lBQ25ELDJDQUE0Qzs7SUFDNUMsc0NBQXVDOztJQUN2QyxzQ0FBdUM7O0lBQ3ZDLDJDQUE0Qzs7SUFFNUMsdUNBQWM7O0lBQ2QsMENBQW9COztJQUNwQix3Q0FBZTs7SUFDZix3Q0FBMkI7O0lBRTNCLDBDQUFtQjs7SUFrVm5CLHVDQVFFOzs7OztJQXhWVSxrQ0FBOEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBUZW1wbGF0ZVJlZixcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgR3JpZENvbXBvbmVudCB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1ncmlkc1wiO1xyXG5pbXBvcnQgeyB0aW1lcyB9IGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IHsgQmVmb3JlT3BlbkNsb3NlRXZlbnRBcmdzIH0gZnJvbSBcIkBzeW5jZnVzaW9uL2VqMi1hbmd1bGFyLWlucHV0c1wiO1xyXG5pbXBvcnQgeyBJQWN0aW9uTWVudUl0ZW0sIElDb2x1bW5GaWVsZCB9IGZyb20gXCIuLi9jb25zdGFudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtY29tbW9uLWdyaWRcIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2luZGV4LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2luZGV4LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29tbW9uR3JpZENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKFwiZ3JpZFwiLCB7IHN0YXRpYzogZmFsc2UgfSlcclxuICBwdWJsaWMgZ3JpZDogR3JpZENvbXBvbmVudDtcclxuICBASW5wdXQoKSBzaG93Q2hlY2tCb3ggPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGxvYWRlZCA9IHRydWU7XHJcbiAgQElucHV0KCkgaGlkZGVuTG9hZGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgYXV0aG9yaXplZCA9IHRydWU7IC8vIERhdGFzZXTmmK/lkKbmjojmnYPvvIzmnKrmjojmnYPliJnmmL7npLrmnYPpmZDplJnor6/mj5DnpLpcclxuICAvLyBvbmx5IHVzZSBmb3IgbG9jYWwgZGF0YSBwYWdpbmF0aW9uXHJcbiAgQElucHV0KCkgc2VsZWN0ZWREaWZmS2V5ID0gXCJcIjtcclxuICBASW5wdXQoKSBncmlkSGVpZ2h0ID0gXCJcIjtcclxuICAvLyDov5nnjqnmhI/lv4XloavvvIzkuI3nhLZmaWx0ZXIgY29sdW1uQ2hvb3NlcumDveS8muaKpemUmVxyXG4gIEBJbnB1dCgpIGdyaWRJZCA9IFwiZ3JpZFwiO1xyXG4gIEBJbnB1dCgpIHJlc2l6ZVNldHRpbmdzID0geyBtb2RlOiBcIkF1dG9cIiB9O1xyXG4gIEBJbnB1dCgpIGZpbHRlclNldHRpbmdzID0geyB0eXBlOiBcIk1lbnVcIiB9O1xyXG4gIEBJbnB1dCgpIHRlbXBsYXRlOiBhbnk7XHJcbiAgQElucHV0KCkgZmllbGRzOiBJQ29sdW1uRmllbGRbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGRhdGFTb3VyY2UgPSBbXTtcclxuICBASW5wdXQoKSBlZGl0U2V0dGluZ3M7XHJcbiAgQElucHV0KCkgY29sdW1uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgQElucHV0KCkgcGFnZVNldHRpbmdzO1xyXG4gIEBJbnB1dCgpIGFsbG93UGFnaW5nID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhbGxvd1Jvd0RyYWdBbmREcm9wID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2xpcE1vZGUgPSBcIkVsbGlwc2lzV2l0aFRvb2x0aXBcIjtcclxuICBASW5wdXQoKSBjaGVja0JveFdpZHRoID0gMzI7IC8vIGNvbCDmlbDph4/ov4flsJHnmoTml7blgJnvvIxjaGVja+WuveW6puS8muaLieS8uO+8jOi/meaXtuWAmeiuvue9rm51bGxcclxuICBASW5wdXQoKSBjaGlsZEdyaWQ7XHJcbiAgQElucHV0KCkgZnJvemVuQ29sdW1uczsgLy8gY29sIOaVsOmHj+i/h+WwkeeahOaXtuWAme+8jGNoZWNr5a695bqm5Lya5ouJ5Ly477yM6L+Z5pe25YCZ6K6+572ubnVsbFxyXG4gIEBJbnB1dCgpIGNvbHVtbkNob29zZXJTZXR0aW5ncztcclxuICBASW5wdXQoKSBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcclxuICAvKipcclxuXHQgKiBTYW1wbGU6IFtcclxuXHRcdFx0e1xyXG5cdFx0XHRcdHRleHQ6IFwiUHJldmlld1wiLFxyXG5cdFx0XHRcdHRhcmdldDogXCIuZS1jb250ZW50XCIsXHJcblx0XHRcdFx0aWQ6IFwicHJldmlldy1pY29uXCIsXHJcblx0XHRcdFx0aWNvbkNzczogXCJwcmV2aWV3XCIsXHJcblx0XHRcdH0sXHJcblx0XHRcdHtcclxuXHRcdFx0XHR0ZXh0OiBcIkRvd25sb2FkXCIsXHJcblx0XHRcdFx0dGFyZ2V0OiBcIi5lLWNvbnRlbnRcIixcclxuXHRcdFx0XHRpZDogXCJkb3dubG9hZC1pY29uXCIsXHJcblx0XHRcdFx0aWNvbkNzczogXCJkb3dubG9hZFwiLFxyXG5cdFx0XHR9XHJcblx0XHRdXHJcblx0XHTnlKjkuo7lrprkuYlyb3fkuK0g54K55Ye75LqL5Lu2XHJcblx0ICovXHJcbiAgQElucHV0KCkgY29udGV4dE1lbnVJdGVtczogSUFjdGlvbk1lbnVJdGVtW10gPSBbXTtcclxuICAvLyBASW5wdXQoKSBzZWxlY3Rpb25TZXR0aW5ncyA9IHsgY2hlY2tib3hPbmx5OiB0cnVlLCB0eXBlOiBcIk11bHRpcGxlXCIgfTtcclxuICBASW5wdXQoKSBzZWxlY3Rpb25TZXR0aW5ncyA9IHtcclxuICAgIHR5cGU6IFwiTXVsdGlwbGVcIixcclxuICAgIC8vIHBlcnNpc3RTZWxlY3Rpb246IHRydWUsXHJcbiAgICBjaGVja2JveE9ubHk6IHRydWUsXHJcbiAgfTtcclxuICBASW5wdXQoKSBhbHdheXNTaG93Q2hlY2tib3g6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBkZWZhdWx0UmVjb3JkOiBhbnk7XHJcbiAgQElucHV0KCkgZGlzYWJsZVN5c3RlbVJvdzogYm9vbGVhbiA9IGZhbHNlOyAvLyDnpoHnlKhJc1N5dGVtID0gdHJ1ZeeahOaVtOihjFxyXG5cclxuICBAT3V0cHV0KCkgcmVjb3JkRG91YmxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkNvbXBsZXRlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByb3dTZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93RGVzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93RGVzZWxlY3RpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG9uQ29udGV4dE1lbnUgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGFjdGlvbkhhbmRsZXIgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHF1ZXJ5Q2VsbEluZm8gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJlY29yZENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25CZWdpbiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93RGF0YUJvdW5kID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBkYXRhQm91bmQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGV4cG9ydFF1ZXJ5Q2VsbEluZm8gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJvd1NlbGVjdGluZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93RHJvcCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93RHJhZyA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93RHJhZ1N0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBzZWxlY3RJZCA9IFtdO1xyXG4gIHN0YXJ0UGFnaW5nID0gZmFsc2U7XHJcbiAgaW5kZXhMaXN0ID0gW107XHJcbiAgY2xhc3NOYW1lID0gXCJncmlkLWxvYWRpbmdcIjtcclxuXHJcbiAgcHVibGljIHRyYW5zbGF0aW9uO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24gPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwidHJhbnNsYXRpb25cIikpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oaWRkZW5Mb2FkZWQpIHRoaXMuY2xhc3NOYW1lID0gXCJcIjtcclxuICAgIHRoaXMuZ3JpZElkID1cclxuICAgICAgdGhpcy5ncmlkSWQgKyBEYXRlLm5vdygpICsgXCJfXCIgKyBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCA1KTtcclxuICAgIHRoaXMucmVmICYmIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUZuKGluZGV4LCBpdGVtKSB7XHJcbiAgICByZXR1cm4gaW5kZXg7IC8vIG9yIGEgdW5pcXVlIGlkZW50aWZpZXIgaW4geW91ciBvYmplY3RcclxuICB9XHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMuZGF0YVNvdXJjZSAmJiBjaGFuZ2VzLmRhdGFTb3VyY2UuY3VycmVudFZhbHVlKSB7XHJcbiAgICAgIGlmIChcclxuICAgICAgICB0aGlzLmFsbG93UGFnaW5nICYmXHJcbiAgICAgICAgY2hhbmdlcy5kYXRhU291cmNlLmN1cnJlbnRWYWx1ZS5sZW5ndGggJiZcclxuICAgICAgICAhdGhpcy5wYWdlU2V0dGluZ3NcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5wYWdlU2V0dGluZ3MgPVxyXG4gICAgICAgICAgY2hhbmdlcy5kYXRhU291cmNlLmN1cnJlbnRWYWx1ZS5sZW5ndGggPiA5XHJcbiAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgICAgcGFnZVNpemVzOiBbXCJBbGxcIiwgXCIyNVwiLCBcIjUwXCIsIFwiMTAwXCJdLFxyXG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IDUwLFxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOiBudWxsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfbG9hZCgpIHtcclxuICAgIGlmICghdGhpcy5hdXRob3JpemVkKSB7XHJcbiAgICAgICh0aGlzLmdyaWQubG9jYWxlT2JqIGFzIGFueSkubG9jYWxlU3RyaW5ncy5FbXB0eVJlY29yZCA9XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbi5ZT1VfRE9fTk9UX0hBVkVfVEhFX0RBVEFTRVRfUEVSTUlTU0lPTiB8fFxyXG4gICAgICAgIFwiWW91IGRvbid0IGhhdmUgdGhlIGRhdGFzZXQgcGVybWlzc2lvbiB0byB2aWV3IHRoZSByZWNvcmQuXCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBfZGF0YUJvdW5kKGFyZ3M6IGFueSkge1xyXG4gICAgLy8g5pW05Liq57uE5Lu25Yqg6L295a6M5oiQ5pe255qE5Zue6LCD5Ye95pWwXHJcbiAgICB2YXIgcGFnZXJDb250YWluZXIgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiLmUtcGFnZXJjb250YWluZXJcIik7XHJcbiAgICBpZiAocGFnZXJDb250YWluZXIpIHtcclxuICAgICAgdmFyIGxpbmtFbGVtZW50cyA9IHBhZ2VyQ29udGFpbmVyLnF1ZXJ5U2VsZWN0b3JBbGwoXCIuZS1saW5rXCIpO1xyXG4gICAgICBsaW5rRWxlbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoZWxlbWVudCkge1xyXG4gICAgICAgIGVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKFwiaHJlZlwiKTsgLy8gU01QMi0xMDMxMCDliKDpmaTliIbpobXlmajnmoRocmVm5bGe5oCnXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREaWZmS2V5KSB7XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hvb3NlUmVjb3JkcygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0YUJvdW5kLmVtaXQoYXJncyk7XHJcbiAgfVxyXG5cclxuICBfZXhwb3J0UXVlcnlDZWxsSW5mbyhhcmdzKSB7XHJcbiAgICB0aGlzLmV4cG9ydFF1ZXJ5Q2VsbEluZm8uZW1pdChhcmdzKTtcclxuICB9XHJcblxyXG4gIF9yb3dEcmFnKGFyZ3MpIHtcclxuICAgIHRoaXMucm93RHJhZy5lbWl0KGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgX3Jvd0RyYWdTdGFydChhcmdzKSB7XHJcbiAgICB0aGlzLnJvd0RyYWdTdGFydC5lbWl0KGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgX3JlY29yZERvdWJsZUNsaWNrKCRldmVudCkge1xyXG4gICAgdGhpcy5yZWNvcmREb3VibGVDbGljay5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBfcm93RGVzZWxlY3RpbmcoJGV2ZW50KSB7XHJcbiAgICB0aGlzLnJvd0Rlc2VsZWN0aW5nLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcbiAgLyoqXHJcblx0ICogW3NlbGVjdGlvblNldHRpbmdzXT1cInsgY2hlY2tib3hPbmx5OiB0cnVlIH1cIlxyXG5cdCAgIFtzaG93Q2hlY2tCb3hdPVwidHJ1ZVwiXHJcblx0ICAg5o6n5Lu25L2/55So5pe277yM5b+F6aG76YWN572u5LiK6Z2i5Lik5Liq5bGe5oCn77yM5ZCm5YiZ77yM5YWo6YCJ5Lya5aSx5pWIXHJcblx0ICovXHJcbiAgX3Jvd1NlbGVjdGVkKCRldmVudCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREaWZmS2V5KSB7XHJcbiAgICAgIGlmICgkZXZlbnQuaXNIZWFkZXJDaGVja2JveENsaWNrZWQgJiYgQXJyYXkuaXNBcnJheSgkZXZlbnQuZGF0YSkpIHtcclxuICAgICAgICBpZiAoJGV2ZW50LmRhdGEgJiYgJGV2ZW50LmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAkZXZlbnQuZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGl0ZW0uaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0SWQucHVzaChpdGVtKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgJGV2ZW50LmRhdGEuZm9yRWFjaCgoX2RhdGEpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoX2RhdGFbdGhpcy5zZWxlY3RlZERpZmZLZXldID09PSBkYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XSkge1xyXG4gICAgICAgICAgICAgICAgZGF0YS5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgICRldmVudC5kYXRhLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuc2VsZWN0SWQucHVzaCgkZXZlbnQuZGF0YSk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0gPT09ICRldmVudC5kYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGRhdGEuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJvd1NlbGVjdGVkLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIF9yb3dEZXNlbGVjdGVkKCRldmVudCkge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWREaWZmS2V5KSB7XHJcbiAgICAgIGlmICh0aGlzLnN0YXJ0UGFnaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICgkZXZlbnQuaXNIZWFkZXJDaGVja2JveENsaWNrZWQgJiYgQXJyYXkuaXNBcnJheSgkZXZlbnQuZGF0YSkpIHtcclxuICAgICAgICAkZXZlbnQuZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnNlbGVjdElkID0gW107XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICAgICRldmVudC5kYXRhLmZvckVhY2goKF9kYXRhKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChfZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0gPT09IGRhdGFbdGhpcy5zZWxlY3RlZERpZmZLZXldKSB7XHJcbiAgICAgICAgICAgICAgZGF0YS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgICRldmVudC5kYXRhLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnNlbGVjdElkID0gdGhpcy5zZWxlY3RJZC5maWx0ZXIoXHJcbiAgICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgICAgaXRlbVt0aGlzLnNlbGVjdGVkRGlmZktleV0gIT09ICRldmVudC5kYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgdGhpcy5kYXRhU291cmNlLmZvckVhY2goKGRhdGEpID0+IHtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0gPT09ICRldmVudC5kYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGRhdGEuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVmICYmIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb3dEZXNlbGVjdGVkLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIF9vbkNvbnRleHRNZW51KGFyZ3MpIHtcclxuICAgIHRoaXMub25Db250ZXh0TWVudS5lbWl0KGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgX2FjdGlvbkJlZ2luKGFyZ3MpIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5zZWxlY3RlZERpZmZLZXkgJiZcclxuICAgICAgKGFyZ3MucmVxdWVzdFR5cGUgPT09IFwicGFnaW5nXCIgfHxcclxuICAgICAgICBhcmdzLnJlcXVlc3RUeXBlID09PSBcInNlYXJjaGluZ1wiIHx8XHJcbiAgICAgICAgYXJncy5yZXF1ZXN0VHlwZSA9PT0gXCJmaWx0ZXJpbmdcIiB8fFxyXG4gICAgICAgIGFyZ3MucmVxdWVzdFR5cGUgPT09IFwic29ydGluZ1wiKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRQYWdpbmcgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBhcmdzLnJlcXVlc3RUeXBlID09IFwiZmlsdGVyY2hvaWNlcmVxdWVzdFwiIHx8XHJcbiAgICAgIGFyZ3MucmVxdWVzdFR5cGUgPT09IFwiZmlsdGVyc2VhcmNoYmVnaW5cIlxyXG4gICAgKSB7XHJcbiAgICAgIGFyZ3MuZmlsdGVyQ2hvaWNlQ291bnQgPSAxNTAwMDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGlvbkJlZ2luLmVtaXQoYXJncyk7XHJcbiAgfVxyXG5cclxuICBzZWFyY2goa2V5d29yZHMpIHtcclxuICAgIHRoaXMuZ3JpZC5zZWFyY2goa2V5d29yZHMpO1xyXG4gIH1cclxuICBzZWxlY3RSb3dzKGluZGV4TGlzdDogbnVtYmVyW10pIHtcclxuICAgIHRoaXMuZ3JpZC5zZWxlY3RSb3dzKGluZGV4TGlzdCk7XHJcbiAgfVxyXG4gIHNlbGVjdFJvdyhpbmRleCkge1xyXG4gICAgdGhpcy5ncmlkLnNlbGVjdFJvdyhpbmRleCk7XHJcbiAgfVxyXG4gIGdldEN1cnJlbnRWaWV3UmVjb3JkcygpIHtcclxuICAgIHJldHVybiB0aGlzLmdyaWQuZ2V0Q3VycmVudFZpZXdSZWNvcmRzKCk7XHJcbiAgfVxyXG5cclxuICBjdXN0b21pc2VDZWxsKCRldmVudCkge1xyXG4gICAgdGhpcy5xdWVyeUNlbGxJbmZvLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGNvbnRleHRNZW51T3BlbihhcmdzPzogQmVmb3JlT3BlbkNsb3NlRXZlbnRBcmdzKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhID0gKGFyZ3MgYXMgQmVmb3JlT3BlbkNsb3NlRXZlbnRBcmdzIHwgYW55KS5yb3dJbmZvLnJvd0RhdGE7XHJcbiAgICBpZiAoIWRhdGEpIHtcclxuICAgICAgYXJncy5jYW5jZWwgPSB0cnVlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgZW5hYmxlSXRlbXMgPSBbXTtcclxuICAgIGxldCBoaWRlSXRlbXMgPSBbXTtcclxuICAgIHRoaXMuZ3JpZC5jb250ZXh0TWVudU1vZHVsZS5jb250ZXh0TWVudS5yZWZyZXNoKCk7IC8vIOavj+asoeeCueWHu+aMiemSruW8ueeql+WJjemcgOWGjeasoeWIneWni+WMlueKtuaAgSDlkKbliJnkuI3mm7TmlrDvvJtcclxuICAgIHRoaXMuY29udGV4dE1lbnVJdGVtcy5mb3JFYWNoKChpdGVtOiBJQWN0aW9uTWVudUl0ZW0pID0+IHtcclxuICAgICAgLy8g55So5LqO5aSE55CG6YOo5YiG5oyJ6ZKuZGlzYWJsZWTnmoTmg4XlhrVcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGl0ZW0uZGlzYWJsZWQgfHxcclxuICAgICAgICAoZGF0YS5kaXNhYmxlSXRlbSAmJiBkYXRhLmRpc2FibGVJdGVtLmluY2x1ZGVzKGl0ZW0uaWNvbkNzcykpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGVuYWJsZUl0ZW1zLnB1c2goaXRlbS50ZXh0KTtcclxuICAgICAgICAvLyB0aGlzLmdyaWQuY29udGV4dE1lbnVNb2R1bGUuY29udGV4dE1lbnUuZW5hYmxlSXRlbXMoXHJcbiAgICAgICAgLy8gXHRbaXRlbS50ZXh0XSxcclxuICAgICAgICAvLyBcdGZhbHNlXHJcbiAgICAgICAgLy8gKTtcclxuICAgICAgfVxyXG4gICAgICAvLyDnlKjkuo7lpITnkIbpg6jliIbmjInpkq7pnIDopoFoaWRl55qE5oOF5Ya1XHJcbiAgICAgIGlmIChcclxuICAgICAgICBpdGVtLmlzSGlkZSB8fFxyXG4gICAgICAgIChkYXRhLmhpZGVJdGVtICYmIGRhdGEuaGlkZUl0ZW0uaW5jbHVkZXMoaXRlbS5pY29uQ3NzKSlcclxuICAgICAgKSB7XHJcbiAgICAgICAgaGlkZUl0ZW1zLnB1c2goaXRlbS50ZXh0KTtcclxuICAgICAgICAvLyB0aGlzLmdyaWQuY29udGV4dE1lbnVNb2R1bGUuY29udGV4dE1lbnUuaGlkZUl0ZW1zKFxyXG4gICAgICAgIC8vIFx0W2l0ZW0udGV4dF0sXHJcbiAgICAgICAgLy8gXHRmYWxzZVxyXG4gICAgICAgIC8vICk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5ncmlkLmNvbnRleHRNZW51TW9kdWxlLmNvbnRleHRNZW51LmVuYWJsZUl0ZW1zKGVuYWJsZUl0ZW1zLCBmYWxzZSk7XHJcbiAgICB0aGlzLmdyaWQuY29udGV4dE1lbnVNb2R1bGUuY29udGV4dE1lbnUuaGlkZUl0ZW1zKGhpZGVJdGVtcywgZmFsc2UpO1xyXG4gIH1cclxuXHJcbiAgX2FjdGlvbkhhbmRsZXIoJGV2ZW50KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREaWZmS2V5ICYmXHJcbiAgICAgICgkZXZlbnQucmVxdWVzdFR5cGUgPT09IFwicGFnaW5nXCIgfHxcclxuICAgICAgICAkZXZlbnQucmVxdWVzdFR5cGUgPT09IFwic2VhcmNoaW5nXCIgfHxcclxuICAgICAgICAkZXZlbnQucmVxdWVzdFR5cGUgPT09IFwiZmlsdGVyaW5nXCIgfHxcclxuICAgICAgICAkZXZlbnQucmVxdWVzdFR5cGUgPT09IFwic29ydGluZ1wiKVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaW5kZXhMaXN0ID0gW107XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hvb3NlUmVjb3JkcygpO1xyXG4gICAgICAgIHRoaXMuc3RhcnRQYWdpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hY3Rpb25IYW5kbGVyLmVtaXQoJGV2ZW50KTtcclxuICAgIHRoaXMuYWN0aW9uQ29tcGxldGUuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaG9vc2VSZWNvcmRzKCkge1xyXG4gICAgdGhpcy5pbmRleExpc3QgPSBbXTtcclxuICAgIHRoaXMuZGF0YVNvdXJjZS5mb3JFYWNoKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMuZ3JpZC5nZXRDdXJyZW50Vmlld1JlY29yZHMoKS5mb3JFYWNoKChyb3c6IGFueSwgaSkgPT4ge1xyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIHJvdyAmJlxyXG4gICAgICAgICAgZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0gPT09IHJvd1t0aGlzLnNlbGVjdGVkRGlmZktleV0gJiZcclxuICAgICAgICAgIGRhdGEuaXNTZWxlY3RlZFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5pbmRleExpc3QucHVzaChpKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ncmlkLnNlbGVjdFJvd3ModGhpcy5pbmRleExpc3QpO1xyXG4gIH1cclxuXHJcbiAgX3JlY29yZENsaWNrKCRldmVudCkge1xyXG4gICAgdGhpcy5yZWNvcmRDbGljay5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICB0aGlzLmdyaWQucmVmcmVzaCgpO1xyXG4gIH1cclxuICBfcm93U2VsZWN0aW5nKGUpIHtcclxuICAgIHRoaXMucm93U2VsZWN0aW5nLmVtaXQoZSk7XHJcbiAgfVxyXG4gIHJlZnJlc2hDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5ncmlkLnJlZnJlc2hDb2x1bW5zKCk7XHJcbiAgfVxyXG4gIHJlZnJlc2hIZWFkZXIoKSB7XHJcbiAgICB0aGlzLmdyaWQucmVmcmVzaEhlYWRlcigpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0KGV4Y2VsRXhwb3J0UHJvcGVydGllcz8pIHtcclxuICAgIHRoaXMuZ3JpZC5leGNlbEV4cG9ydChleGNlbEV4cG9ydFByb3BlcnRpZXMpO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRSZWNvcmRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZ3JpZC5nZXRTZWxlY3RlZFJlY29yZHMoKTtcclxuICB9XHJcblxyXG4gIG9uUm93RHJvcChlKSB7XHJcbiAgICB0aGlzLnJvd0Ryb3AuZW1pdChlKTtcclxuICB9XHJcblxyXG4gIF9yb3dEYXRhQm91bmQoJGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlU3lzdGVtUm93ICYmICRldmVudC5kYXRhICYmICRldmVudC5kYXRhLklzU3lzdGVtKSB7XHJcbiAgICAgICRldmVudC5yb3cuY2xhc3NMaXN0LmFkZChcImUtZGlzYWJsZWRcIik7XHJcbiAgICB9XHJcbiAgICB0aGlzLnJvd0RhdGFCb3VuZC5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBjbGVhclNlbGVjdGlvbigpIHtcclxuICAgIHRoaXMuZ3JpZC5jbGVhclNlbGVjdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgZXhjZWxFeHBvcnQoKSB7XHJcbiAgICB0aGlzLmdyaWQuZXhjZWxFeHBvcnQoKTtcclxuICB9XHJcblxyXG4gIGFkZEl0ZW0oKSB7XHJcbiAgICB0aGlzLmdyaWQuYWRkUmVjb3JkKHsgLi4udGhpcy5kZWZhdWx0UmVjb3JkLCBpc05ldzogdHJ1ZSB9LCAwKTtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdyaWQuc2VsZWN0Um93KDApO1xyXG4gICAgICB0aGlzLmdyaWQuc3RhcnRFZGl0KCk7XHJcbiAgICB9LCAzMCk7XHJcbiAgfVxyXG5cclxuICBzYXZlSXRlbSgpIHtcclxuICAgIHRoaXMuZ3JpZC5lbmRFZGl0KCk7XHJcbiAgfVxyXG5cclxuICBlZGl0SXRlbShpbmRleCkge1xyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuZ3JpZC5zZWxlY3RSb3coTnVtYmVyKGluZGV4KSk7XHJcbiAgICAgIHRoaXMuZ3JpZC5zdGFydEVkaXQoKTtcclxuICAgIH0sIDMwKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZUl0ZW0oaW5kZXgpIHtcclxuICAgIHRoaXMuZ3JpZC5zZWxlY3RSb3coTnVtYmVyKGluZGV4KSk7XHJcbiAgICB2YXIgc2VsZWN0ZWRSZWNvcmQgPSB0aGlzLmdyaWQuZ2V0U2VsZWN0ZWRSZWNvcmRzKClbMF0gYXMgYW55O1xyXG4gICAgdGhpcy5ncmlkLmRlbGV0ZVJlY29yZChzZWxlY3RlZFJlY29yZCBhcyBzdHJpbmcpO1xyXG4gIH1cclxuXHJcbiAgY2FuY2VsSXRlbShpbmRleCkge1xyXG4gICAgdGhpcy5ncmlkLmNsb3NlRWRpdCgpO1xyXG4gICAgdGhpcy5kZWxldGVJdGVtKGluZGV4KTtcclxuICB9XHJcbiAgcHVibGljIGluaXRMaXN0ID0gKG51bSA9IDI1LCBrZXkgPSBcIklkXCIpID0+IHtcclxuICAgIGNvbnN0IGxpc3QgPSBbXTtcclxuICAgIHRpbWVzKG51bSwgKGkpID0+IHtcclxuICAgICAgbGlzdC5wdXNoKHtcclxuICAgICAgICBba2V5XTogaSxcclxuICAgICAgfSk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBsaXN0O1xyXG4gIH07XHJcbiAgcHVibGljIHNob3dMb2FkaW5nKCkge1xyXG4gICAgdGhpcy5jbGFzc05hbWUgPSBcImdyaWQtbG9hZGluZ1wiO1xyXG4gICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGlkZUxvYWRpbmcoKSB7XHJcbiAgICB0aGlzLmNsYXNzTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIHRoaXMucmVmICYmIHRoaXMucmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
970
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vcmFpc2UtY29tbW9uLWxpYi8iLCJzb3VyY2VzIjpbImxpYi9jb21tb24tZ3JpZC9pbmRleC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixXQUFXLEVBRVgsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDOUQsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUcvQixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFaEQ7SUFzRkUsNkJBQW9CLEdBQXNCO1FBQXRCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBOUVqQyxpQkFBWSxHQUFHLElBQUksQ0FBQztRQUNwQixXQUFNLEdBQUcsSUFBSSxDQUFDO1FBQ2QsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFDckIsZUFBVSxHQUFHLElBQUksQ0FBQyxDQUFDLDJCQUEyQjs7O1FBRTlDLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBQ3JCLGVBQVUsR0FBRyxFQUFFLENBQUM7O1FBRWhCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFDaEIsbUJBQWMsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNsQyxtQkFBYyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBRWxDLFdBQU0sR0FBbUIsRUFBRSxDQUFDO1FBQzVCLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFJaEIsZ0JBQVcsR0FBRyxJQUFJLENBQUM7UUFDbkIsd0JBQW1CLEdBQUcsS0FBSyxDQUFDO1FBQzVCLGFBQVEsR0FBRyxxQkFBcUIsQ0FBQztRQUNqQyxrQkFBYSxHQUFHLEVBQUUsQ0FBQyxDQUFD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SUFDOUIseUNBQTJCOztJQUUzQiw4Q0FBOEI7O0lBQzlCLHlDQUF5Qjs7SUFFekIscUNBQXlCOztJQUN6Qiw2Q0FBMkM7O0lBQzNDLDZDQUEyQzs7SUFDM0MsdUNBQXVCOztJQUN2QixxQ0FBcUM7O0lBQ3JDLHlDQUF5Qjs7SUFDekIsMkNBQXNCOztJQUN0Qiw2Q0FBMEM7O0lBQzFDLDJDQUFzQjs7SUFDdEIsMENBQTRCOztJQUM1QixrREFBcUM7O0lBQ3JDLHVDQUEwQzs7SUFDMUMsNENBQTRCOztJQUM1Qix3Q0FBbUI7O0lBQ25CLDRDQUF1Qjs7SUFDdkIsb0RBQStCOztJQUMvQiw2Q0FBMEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7SUFrQjFDLCtDQUFrRDs7SUFFbEQsZ0RBSUU7O0lBQ0YsaURBQTZDOztJQUM3Qyw0Q0FBNEI7O0lBQzVCLCtDQUEyQzs7SUFFM0MsZ0RBQWlEOztJQUNqRCw2Q0FBOEM7O0lBQzlDLDBDQUEyQzs7SUFDM0MsNENBQTZDOztJQUM3Qyw2Q0FBOEM7O0lBQzlDLDRDQUE2Qzs7SUFDN0MsNENBQTZDOztJQUM3Qyw0Q0FBNkM7O0lBQzdDLDBDQUEyQzs7SUFDM0MsMENBQTJDOztJQUMzQywyQ0FBNEM7O0lBQzVDLHdDQUF5Qzs7SUFDekMsa0RBQW1EOztJQUNuRCwyQ0FBNEM7O0lBQzVDLHNDQUF1Qzs7SUFDdkMsc0NBQXVDOztJQUN2QywyQ0FBNEM7O0lBRTVDLHVDQUFjOztJQUNkLDBDQUFvQjs7SUFDcEIsd0NBQWU7O0lBQ2Ysd0NBQTJCOztJQUUzQiwwQ0FBbUI7O0lBa1ZuQix1Q0FRRTs7Ozs7SUF4VlUsa0NBQThCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFZpZXdDaGlsZCxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEdyaWRDb21wb25lbnQgfSBmcm9tIFwiQHN5bmNmdXNpb24vZWoyLWFuZ3VsYXItZ3JpZHNcIjtcclxuaW1wb3J0IHsgdGltZXMgfSBmcm9tIFwibG9kYXNoXCI7XHJcbmltcG9ydCB7IEJlZm9yZU9wZW5DbG9zZUV2ZW50QXJncyB9IGZyb20gXCJAc3luY2Z1c2lvbi9lajItYW5ndWxhci1pbnB1dHNcIjtcclxuaW1wb3J0IHsgSUFjdGlvbk1lbnVJdGVtLCBJQ29sdW1uRmllbGQgfSBmcm9tIFwiLi4vY29uc3RhbnRcIjtcclxuaW1wb3J0IHsgZ2V0VHJhbnNsYXRpb24gfSBmcm9tIFwiLi4vdXRpbHMvdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInJzLWNvbW1vbi1ncmlkXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmRleC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9pbmRleC5jb21wb25lbnQuc2Nzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbW1vbkdyaWRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XHJcbiAgQFZpZXdDaGlsZChcImdyaWRcIiwgeyBzdGF0aWM6IGZhbHNlIH0pXHJcbiAgcHVibGljIGdyaWQ6IEdyaWRDb21wb25lbnQ7XHJcbiAgQElucHV0KCkgc2hvd0NoZWNrQm94ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBsb2FkZWQgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGhpZGRlbkxvYWRlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGF1dGhvcml6ZWQgPSB0cnVlOyAvLyBEYXRhc2V05piv5ZCm5o6I5p2D77yM5pyq5o6I5p2D5YiZ5pi+56S65p2D6ZmQ6ZSZ6K+v5o+Q56S6XHJcbiAgLy8gb25seSB1c2UgZm9yIGxvY2FsIGRhdGEgcGFnaW5hdGlvblxyXG4gIEBJbnB1dCgpIHNlbGVjdGVkRGlmZktleSA9IFwiXCI7XHJcbiAgQElucHV0KCkgZ3JpZEhlaWdodCA9IFwiXCI7XHJcbiAgLy8g6L+Z546p5oSP5b+F5aGr77yM5LiN54S2ZmlsdGVyIGNvbHVtbkNob29zZXLpg73kvJrmiqXplJlcclxuICBASW5wdXQoKSBncmlkSWQgPSBcImdyaWRcIjtcclxuICBASW5wdXQoKSByZXNpemVTZXR0aW5ncyA9IHsgbW9kZTogXCJBdXRvXCIgfTtcclxuICBASW5wdXQoKSBmaWx0ZXJTZXR0aW5ncyA9IHsgdHlwZTogXCJNZW51XCIgfTtcclxuICBASW5wdXQoKSB0ZW1wbGF0ZTogYW55O1xyXG4gIEBJbnB1dCgpIGZpZWxkczogSUNvbHVtbkZpZWxkW10gPSBbXTtcclxuICBASW5wdXQoKSBkYXRhU291cmNlID0gW107XHJcbiAgQElucHV0KCkgZWRpdFNldHRpbmdzO1xyXG4gIEBJbnB1dCgpIGNvbHVtblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIHBhZ2VTZXR0aW5ncztcclxuICBASW5wdXQoKSBhbGxvd1BhZ2luZyA9IHRydWU7XHJcbiAgQElucHV0KCkgYWxsb3dSb3dEcmFnQW5kRHJvcCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNsaXBNb2RlID0gXCJFbGxpcHNpc1dpdGhUb29sdGlwXCI7XHJcbiAgQElucHV0KCkgY2hlY2tCb3hXaWR0aCA9IDMyOyAvLyBjb2wg5pWw6YeP6L+H5bCR55qE5pe25YCZ77yMY2hlY2vlrr3luqbkvJrmi4nkvLjvvIzov5nml7blgJnorr7nva5udWxsXHJcbiAgQElucHV0KCkgY2hpbGRHcmlkO1xyXG4gIEBJbnB1dCgpIGZyb3plbkNvbHVtbnM7IC8vIGNvbCDmlbDph4/ov4flsJHnmoTml7blgJnvvIxjaGVja+WuveW6puS8muaLieS8uO+8jOi/meaXtuWAmeiuvue9rm51bGxcclxuICBASW5wdXQoKSBjb2x1bW5DaG9vc2VyU2V0dGluZ3M7XHJcbiAgQElucHV0KCkgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XHJcbiAgLyoqXHJcblx0ICogU2FtcGxlOiBbXHJcblx0XHRcdHtcclxuXHRcdFx0XHR0ZXh0OiBcIlByZXZpZXdcIixcclxuXHRcdFx0XHR0YXJnZXQ6IFwiLmUtY29udGVudFwiLFxyXG5cdFx0XHRcdGlkOiBcInByZXZpZXctaWNvblwiLFxyXG5cdFx0XHRcdGljb25Dc3M6IFwicHJldmlld1wiLFxyXG5cdFx0XHR9LFxyXG5cdFx0XHR7XHJcblx0XHRcdFx0dGV4dDogXCJEb3dubG9hZFwiLFxyXG5cdFx0XHRcdHRhcmdldDogXCIuZS1jb250ZW50XCIsXHJcblx0XHRcdFx0aWQ6IFwiZG93bmxvYWQtaWNvblwiLFxyXG5cdFx0XHRcdGljb25Dc3M6IFwiZG93bmxvYWRcIixcclxuXHRcdFx0fVxyXG5cdFx0XVxyXG5cdFx055So5LqO5a6a5LmJcm935LitIOeCueWHu+S6i+S7tlxyXG5cdCAqL1xyXG4gIEBJbnB1dCgpIGNvbnRleHRNZW51SXRlbXM6IElBY3Rpb25NZW51SXRlbVtdID0gW107XHJcbiAgLy8gQElucHV0KCkgc2VsZWN0aW9uU2V0dGluZ3MgPSB7IGNoZWNrYm94T25seTogdHJ1ZSwgdHlwZTogXCJNdWx0aXBsZVwiIH07XHJcbiAgQElucHV0KCkgc2VsZWN0aW9uU2V0dGluZ3MgPSB7XHJcbiAgICB0eXBlOiBcIk11bHRpcGxlXCIsXHJcbiAgICAvLyBwZXJzaXN0U2VsZWN0aW9uOiB0cnVlLFxyXG4gICAgY2hlY2tib3hPbmx5OiB0cnVlLFxyXG4gIH07XHJcbiAgQElucHV0KCkgYWx3YXlzU2hvd0NoZWNrYm94OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZGVmYXVsdFJlY29yZDogYW55O1xyXG4gIEBJbnB1dCgpIGRpc2FibGVTeXN0ZW1Sb3c6IGJvb2xlYW4gPSBmYWxzZTsgLy8g56aB55SoSXNTeXRlbSA9IHRydWXnmoTmlbTooYxcclxuXHJcbiAgQE91dHB1dCgpIHJlY29yZERvdWJsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25Db21wbGV0ZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgcm93U2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJvd0Rlc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJvd0Rlc2VsZWN0aW5nID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBvbkNvbnRleHRNZW51ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBhY3Rpb25IYW5kbGVyID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBxdWVyeUNlbGxJbmZvID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByZWNvcmRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgYWN0aW9uQmVnaW4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJvd0RhdGFCb3VuZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgZGF0YUJvdW5kID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBleHBvcnRRdWVyeUNlbGxJbmZvID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSByb3dTZWxlY3RpbmcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJvd0Ryb3AgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJvd0RyYWcgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIHJvd0RyYWdTdGFydCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgc2VsZWN0SWQgPSBbXTtcclxuICBzdGFydFBhZ2luZyA9IGZhbHNlO1xyXG4gIGluZGV4TGlzdCA9IFtdO1xyXG4gIGNsYXNzTmFtZSA9IFwiZ3JpZC1sb2FkaW5nXCI7XHJcblxyXG4gIHB1YmxpYyB0cmFuc2xhdGlvbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0aW9uID0gZ2V0VHJhbnNsYXRpb24oKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuaGlkZGVuTG9hZGVkKSB0aGlzLmNsYXNzTmFtZSA9IFwiXCI7XHJcbiAgICB0aGlzLmdyaWRJZCA9XHJcbiAgICAgIHRoaXMuZ3JpZElkICsgRGF0ZS5ub3coKSArIFwiX1wiICsgTWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc2xpY2UoMiwgNSk7XHJcbiAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlGbihpbmRleCwgaXRlbSkge1xyXG4gICAgcmV0dXJuIGluZGV4OyAvLyBvciBhIHVuaXF1ZSBpZGVudGlmaWVyIGluIHlvdXIgb2JqZWN0XHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLmRhdGFTb3VyY2UgJiYgY2hhbmdlcy5kYXRhU291cmNlLmN1cnJlbnRWYWx1ZSkge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgdGhpcy5hbGxvd1BhZ2luZyAmJlxyXG4gICAgICAgIGNoYW5nZXMuZGF0YVNvdXJjZS5jdXJyZW50VmFsdWUubGVuZ3RoICYmXHJcbiAgICAgICAgIXRoaXMucGFnZVNldHRpbmdzXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMucGFnZVNldHRpbmdzID1cclxuICAgICAgICAgIGNoYW5nZXMuZGF0YVNvdXJjZS5jdXJyZW50VmFsdWUubGVuZ3RoID4gOVxyXG4gICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIHBhZ2VTaXplczogW1wiQWxsXCIsIFwiMjVcIiwgXCI1MFwiLCBcIjEwMFwiXSxcclxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiA1MCxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDogbnVsbDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2xvYWQoKSB7XHJcbiAgICBpZiAoIXRoaXMuYXV0aG9yaXplZCkge1xyXG4gICAgICAodGhpcy5ncmlkLmxvY2FsZU9iaiBhcyBhbnkpLmxvY2FsZVN0cmluZ3MuRW1wdHlSZWNvcmQgPVxyXG4gICAgICAgIHRoaXMudHJhbnNsYXRpb24uWU9VX0RPX05PVF9IQVZFX1RIRV9EQVRBU0VUX1BFUk1JU1NJT04gfHxcclxuICAgICAgICBcIllvdSBkb24ndCBoYXZlIHRoZSBkYXRhc2V0IHBlcm1pc3Npb24gdG8gdmlldyB0aGUgcmVjb3JkLlwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgX2RhdGFCb3VuZChhcmdzOiBhbnkpIHtcclxuICAgIC8vIOaVtOS4que7hOS7tuWKoOi9veWujOaIkOaXtueahOWbnuiwg+WHveaVsFxyXG4gICAgdmFyIHBhZ2VyQ29udGFpbmVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIi5lLXBhZ2VyY29udGFpbmVyXCIpO1xyXG4gICAgaWYgKHBhZ2VyQ29udGFpbmVyKSB7XHJcbiAgICAgIHZhciBsaW5rRWxlbWVudHMgPSBwYWdlckNvbnRhaW5lci5xdWVyeVNlbGVjdG9yQWxsKFwiLmUtbGlua1wiKTtcclxuICAgICAgbGlua0VsZW1lbnRzLmZvckVhY2goZnVuY3Rpb24gKGVsZW1lbnQpIHtcclxuICAgICAgICBlbGVtZW50LnJlbW92ZUF0dHJpYnV0ZShcImhyZWZcIik7IC8vIFNNUDItMTAzMTAg5Yig6Zmk5YiG6aG15Zmo55qEaHJlZuWxnuaAp1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGlmZktleSkge1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNob29zZVJlY29yZHMoKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGFCb3VuZC5lbWl0KGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgX2V4cG9ydFF1ZXJ5Q2VsbEluZm8oYXJncykge1xyXG4gICAgdGhpcy5leHBvcnRRdWVyeUNlbGxJbmZvLmVtaXQoYXJncyk7XHJcbiAgfVxyXG5cclxuICBfcm93RHJhZyhhcmdzKSB7XHJcbiAgICB0aGlzLnJvd0RyYWcuZW1pdChhcmdzKTtcclxuICB9XHJcblxyXG4gIF9yb3dEcmFnU3RhcnQoYXJncykge1xyXG4gICAgdGhpcy5yb3dEcmFnU3RhcnQuZW1pdChhcmdzKTtcclxuICB9XHJcblxyXG4gIF9yZWNvcmREb3VibGVDbGljaygkZXZlbnQpIHtcclxuICAgIHRoaXMucmVjb3JkRG91YmxlQ2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgX3Jvd0Rlc2VsZWN0aW5nKCRldmVudCkge1xyXG4gICAgdGhpcy5yb3dEZXNlbGVjdGluZy5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG4gIC8qKlxyXG5cdCAqIFtzZWxlY3Rpb25TZXR0aW5nc109XCJ7IGNoZWNrYm94T25seTogdHJ1ZSB9XCJcclxuXHQgICBbc2hvd0NoZWNrQm94XT1cInRydWVcIlxyXG5cdCAgIOaOp+S7tuS9v+eUqOaXtu+8jOW/hemhu+mFjee9ruS4iumdouS4pOS4quWxnuaAp++8jOWQpuWIme+8jOWFqOmAieS8muWkseaViFxyXG5cdCAqL1xyXG4gIF9yb3dTZWxlY3RlZCgkZXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGlmZktleSkge1xyXG4gICAgICBpZiAoJGV2ZW50LmlzSGVhZGVyQ2hlY2tib3hDbGlja2VkICYmIEFycmF5LmlzQXJyYXkoJGV2ZW50LmRhdGEpKSB7XHJcbiAgICAgICAgaWYgKCRldmVudC5kYXRhICYmICRldmVudC5kYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgJGV2ZW50LmRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpdGVtLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdElkLnB1c2goaXRlbSk7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIHRoaXMuZGF0YVNvdXJjZS5mb3JFYWNoKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICRldmVudC5kYXRhLmZvckVhY2goKF9kYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKF9kYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XSA9PT0gZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV0pIHtcclxuICAgICAgICAgICAgICAgIGRhdGEuaXNTZWxlY3RlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAkZXZlbnQuZGF0YS5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnNlbGVjdElkLnB1c2goJGV2ZW50LmRhdGEpO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5mb3JFYWNoKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGRhdGFbdGhpcy5zZWxlY3RlZERpZmZLZXldID09PSAkZXZlbnQuZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV1cclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBkYXRhLmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMucmVmICYmIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb3dTZWxlY3RlZC5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBfcm93RGVzZWxlY3RlZCgkZXZlbnQpIHtcclxuICAgIGlmICh0aGlzLnNlbGVjdGVkRGlmZktleSkge1xyXG4gICAgICBpZiAodGhpcy5zdGFydFBhZ2luZykge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoJGV2ZW50LmlzSGVhZGVyQ2hlY2tib3hDbGlja2VkICYmIEFycmF5LmlzQXJyYXkoJGV2ZW50LmRhdGEpKSB7XHJcbiAgICAgICAgJGV2ZW50LmRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaXRlbS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RJZCA9IFtdO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5mb3JFYWNoKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAkZXZlbnQuZGF0YS5mb3JFYWNoKChfZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoX2RhdGFbdGhpcy5zZWxlY3RlZERpZmZLZXldID09PSBkYXRhW3RoaXMuc2VsZWN0ZWREaWZmS2V5XSkge1xyXG4gICAgICAgICAgICAgIGRhdGEuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAkZXZlbnQuZGF0YS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RJZCA9IHRoaXMuc2VsZWN0SWQuZmlsdGVyKFxyXG4gICAgICAgICAgKGl0ZW0pID0+XHJcbiAgICAgICAgICAgIGl0ZW1bdGhpcy5zZWxlY3RlZERpZmZLZXldICE9PSAkZXZlbnQuZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV1cclxuICAgICAgICApO1xyXG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZS5mb3JFYWNoKChkYXRhKSA9PiB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgIGRhdGFbdGhpcy5zZWxlY3RlZERpZmZLZXldID09PSAkZXZlbnQuZGF0YVt0aGlzLnNlbGVjdGVkRGlmZktleV1cclxuICAgICAgICAgICkge1xyXG4gICAgICAgICAgICBkYXRhLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICAgIHRoaXMucm93RGVzZWxlY3RlZC5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBfb25Db250ZXh0TWVudShhcmdzKSB7XHJcbiAgICB0aGlzLm9uQ29udGV4dE1lbnUuZW1pdChhcmdzKTtcclxuICB9XHJcblxyXG4gIF9hY3Rpb25CZWdpbihhcmdzKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWREaWZmS2V5ICYmXHJcbiAgICAgIChhcmdzLnJlcXVlc3RUeXBlID09PSBcInBhZ2luZ1wiIHx8XHJcbiAgICAgICAgYXJncy5yZXF1ZXN0VHlwZSA9PT0gXCJzZWFyY2hpbmdcIiB8fFxyXG4gICAgICAgIGFyZ3MucmVxdWVzdFR5cGUgPT09IFwiZmlsdGVyaW5nXCIgfHxcclxuICAgICAgICBhcmdzLnJlcXVlc3RUeXBlID09PSBcInNvcnRpbmdcIilcclxuICAgICkge1xyXG4gICAgICB0aGlzLnN0YXJ0UGFnaW5nID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgYXJncy5yZXF1ZXN0VHlwZSA9PSBcImZpbHRlcmNob2ljZXJlcXVlc3RcIiB8fFxyXG4gICAgICBhcmdzLnJlcXVlc3RUeXBlID09PSBcImZpbHRlcnNlYXJjaGJlZ2luXCJcclxuICAgICkge1xyXG4gICAgICBhcmdzLmZpbHRlckNob2ljZUNvdW50ID0gMTUwMDA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hY3Rpb25CZWdpbi5lbWl0KGFyZ3MpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoKGtleXdvcmRzKSB7XHJcbiAgICB0aGlzLmdyaWQuc2VhcmNoKGtleXdvcmRzKTtcclxuICB9XHJcbiAgc2VsZWN0Um93cyhpbmRleExpc3Q6IG51bWJlcltdKSB7XHJcbiAgICB0aGlzLmdyaWQuc2VsZWN0Um93cyhpbmRleExpc3QpO1xyXG4gIH1cclxuICBzZWxlY3RSb3coaW5kZXgpIHtcclxuICAgIHRoaXMuZ3JpZC5zZWxlY3RSb3coaW5kZXgpO1xyXG4gIH1cclxuICBnZXRDdXJyZW50Vmlld1JlY29yZHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5ncmlkLmdldEN1cnJlbnRWaWV3UmVjb3JkcygpO1xyXG4gIH1cclxuXHJcbiAgY3VzdG9taXNlQ2VsbCgkZXZlbnQpIHtcclxuICAgIHRoaXMucXVlcnlDZWxsSW5mby5lbWl0KCRldmVudCk7XHJcbiAgfVxyXG5cclxuICBjb250ZXh0TWVudU9wZW4oYXJncz86IEJlZm9yZU9wZW5DbG9zZUV2ZW50QXJncyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF0YSA9IChhcmdzIGFzIEJlZm9yZU9wZW5DbG9zZUV2ZW50QXJncyB8IGFueSkucm93SW5mby5yb3dEYXRhO1xyXG4gICAgaWYgKCFkYXRhKSB7XHJcbiAgICAgIGFyZ3MuY2FuY2VsID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGVuYWJsZUl0ZW1zID0gW107XHJcbiAgICBsZXQgaGlkZUl0ZW1zID0gW107XHJcbiAgICB0aGlzLmdyaWQuY29udGV4dE1lbnVNb2R1bGUuY29udGV4dE1lbnUucmVmcmVzaCgpOyAvLyDmr4/mrKHngrnlh7vmjInpkq7lvLnnqpfliY3pnIDlho3mrKHliJ3lp4vljJbnirbmgIEg5ZCm5YiZ5LiN5pu05paw77ybXHJcbiAgICB0aGlzLmNvbnRleHRNZW51SXRlbXMuZm9yRWFjaCgoaXRlbTogSUFjdGlvbk1lbnVJdGVtKSA9PiB7XHJcbiAgICAgIC8vIOeUqOS6juWkhOeQhumDqOWIhuaMiemSrmRpc2FibGVk55qE5oOF5Ya1XHJcbiAgICAgIGlmIChcclxuICAgICAgICBpdGVtLmRpc2FibGVkIHx8XHJcbiAgICAgICAgKGRhdGEuZGlzYWJsZUl0ZW0gJiYgZGF0YS5kaXNhYmxlSXRlbS5pbmNsdWRlcyhpdGVtLmljb25Dc3MpKVxyXG4gICAgICApIHtcclxuICAgICAgICBlbmFibGVJdGVtcy5wdXNoKGl0ZW0udGV4dCk7XHJcbiAgICAgICAgLy8gdGhpcy5ncmlkLmNvbnRleHRNZW51TW9kdWxlLmNvbnRleHRNZW51LmVuYWJsZUl0ZW1zKFxyXG4gICAgICAgIC8vIFx0W2l0ZW0udGV4dF0sXHJcbiAgICAgICAgLy8gXHRmYWxzZVxyXG4gICAgICAgIC8vICk7XHJcbiAgICAgIH1cclxuICAgICAgLy8g55So5LqO5aSE55CG6YOo5YiG5oyJ6ZKu6ZyA6KaBaGlkZeeahOaDheWGtVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc0hpZGUgfHxcclxuICAgICAgICAoZGF0YS5oaWRlSXRlbSAmJiBkYXRhLmhpZGVJdGVtLmluY2x1ZGVzKGl0ZW0uaWNvbkNzcykpXHJcbiAgICAgICkge1xyXG4gICAgICAgIGhpZGVJdGVtcy5wdXNoKGl0ZW0udGV4dCk7XHJcbiAgICAgICAgLy8gdGhpcy5ncmlkLmNvbnRleHRNZW51TW9kdWxlLmNvbnRleHRNZW51LmhpZGVJdGVtcyhcclxuICAgICAgICAvLyBcdFtpdGVtLnRleHRdLFxyXG4gICAgICAgIC8vIFx0ZmFsc2VcclxuICAgICAgICAvLyApO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMuZ3JpZC5jb250ZXh0TWVudU1vZHVsZS5jb250ZXh0TWVudS5lbmFibGVJdGVtcyhlbmFibGVJdGVtcywgZmFsc2UpO1xyXG4gICAgdGhpcy5ncmlkLmNvbnRleHRNZW51TW9kdWxlLmNvbnRleHRNZW51LmhpZGVJdGVtcyhoaWRlSXRlbXMsIGZhbHNlKTtcclxuICB9XHJcblxyXG4gIF9hY3Rpb25IYW5kbGVyKCRldmVudCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLnNlbGVjdGVkRGlmZktleSAmJlxyXG4gICAgICAoJGV2ZW50LnJlcXVlc3RUeXBlID09PSBcInBhZ2luZ1wiIHx8XHJcbiAgICAgICAgJGV2ZW50LnJlcXVlc3RUeXBlID09PSBcInNlYXJjaGluZ1wiIHx8XHJcbiAgICAgICAgJGV2ZW50LnJlcXVlc3RUeXBlID09PSBcImZpbHRlcmluZ1wiIHx8XHJcbiAgICAgICAgJGV2ZW50LnJlcXVlc3RUeXBlID09PSBcInNvcnRpbmdcIilcclxuICAgICkge1xyXG4gICAgICB0aGlzLmluZGV4TGlzdCA9IFtdO1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgICB0aGlzLmNob29zZVJlY29yZHMoKTtcclxuICAgICAgICB0aGlzLnN0YXJ0UGFnaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIHRoaXMucmVmICYmIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMuYWN0aW9uSGFuZGxlci5lbWl0KCRldmVudCk7XHJcbiAgICB0aGlzLmFjdGlvbkNvbXBsZXRlLmVtaXQoJGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hvb3NlUmVjb3JkcygpIHtcclxuICAgIHRoaXMuaW5kZXhMaXN0ID0gW107XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UuZm9yRWFjaCgoZGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLmdyaWQuZ2V0Q3VycmVudFZpZXdSZWNvcmRzKCkuZm9yRWFjaCgocm93OiBhbnksIGkpID0+IHtcclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICByb3cgJiZcclxuICAgICAgICAgIGRhdGFbdGhpcy5zZWxlY3RlZERpZmZLZXldID09PSByb3dbdGhpcy5zZWxlY3RlZERpZmZLZXldICYmXHJcbiAgICAgICAgICBkYXRhLmlzU2VsZWN0ZWRcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMuaW5kZXhMaXN0LnB1c2goaSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuZ3JpZC5zZWxlY3RSb3dzKHRoaXMuaW5kZXhMaXN0KTtcclxuICB9XHJcblxyXG4gIF9yZWNvcmRDbGljaygkZXZlbnQpIHtcclxuICAgIHRoaXMucmVjb3JkQ2xpY2suZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuICByZWZyZXNoKCkge1xyXG4gICAgdGhpcy5ncmlkLnJlZnJlc2goKTtcclxuICB9XHJcbiAgX3Jvd1NlbGVjdGluZyhlKSB7XHJcbiAgICB0aGlzLnJvd1NlbGVjdGluZy5lbWl0KGUpO1xyXG4gIH1cclxuICByZWZyZXNoQ29sdW1ucygpIHtcclxuICAgIHRoaXMuZ3JpZC5yZWZyZXNoQ29sdW1ucygpO1xyXG4gIH1cclxuICByZWZyZXNoSGVhZGVyKCkge1xyXG4gICAgdGhpcy5ncmlkLnJlZnJlc2hIZWFkZXIoKTtcclxuICB9XHJcblxyXG4gIGV4cG9ydChleGNlbEV4cG9ydFByb3BlcnRpZXM/KSB7XHJcbiAgICB0aGlzLmdyaWQuZXhjZWxFeHBvcnQoZXhjZWxFeHBvcnRQcm9wZXJ0aWVzKTtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkUmVjb3JkcygpIHtcclxuICAgIHJldHVybiB0aGlzLmdyaWQuZ2V0U2VsZWN0ZWRSZWNvcmRzKCk7XHJcbiAgfVxyXG5cclxuICBvblJvd0Ryb3AoZSkge1xyXG4gICAgdGhpcy5yb3dEcm9wLmVtaXQoZSk7XHJcbiAgfVxyXG5cclxuICBfcm93RGF0YUJvdW5kKCRldmVudCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZVN5c3RlbVJvdyAmJiAkZXZlbnQuZGF0YSAmJiAkZXZlbnQuZGF0YS5Jc1N5c3RlbSkge1xyXG4gICAgICAkZXZlbnQucm93LmNsYXNzTGlzdC5hZGQoXCJlLWRpc2FibGVkXCIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yb3dEYXRhQm91bmQuZW1pdCgkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgY2xlYXJTZWxlY3Rpb24oKSB7XHJcbiAgICB0aGlzLmdyaWQuY2xlYXJTZWxlY3Rpb24oKTtcclxuICB9XHJcblxyXG4gIGV4Y2VsRXhwb3J0KCkge1xyXG4gICAgdGhpcy5ncmlkLmV4Y2VsRXhwb3J0KCk7XHJcbiAgfVxyXG5cclxuICBhZGRJdGVtKCkge1xyXG4gICAgdGhpcy5ncmlkLmFkZFJlY29yZCh7IC4uLnRoaXMuZGVmYXVsdFJlY29yZCwgaXNOZXc6IHRydWUgfSwgMCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5ncmlkLnNlbGVjdFJvdygwKTtcclxuICAgICAgdGhpcy5ncmlkLnN0YXJ0RWRpdCgpO1xyXG4gICAgfSwgMzApO1xyXG4gIH1cclxuXHJcbiAgc2F2ZUl0ZW0oKSB7XHJcbiAgICB0aGlzLmdyaWQuZW5kRWRpdCgpO1xyXG4gIH1cclxuXHJcbiAgZWRpdEl0ZW0oaW5kZXgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmdyaWQuc2VsZWN0Um93KE51bWJlcihpbmRleCkpO1xyXG4gICAgICB0aGlzLmdyaWQuc3RhcnRFZGl0KCk7XHJcbiAgICB9LCAzMCk7XHJcbiAgfVxyXG5cclxuICBkZWxldGVJdGVtKGluZGV4KSB7XHJcbiAgICB0aGlzLmdyaWQuc2VsZWN0Um93KE51bWJlcihpbmRleCkpO1xyXG4gICAgdmFyIHNlbGVjdGVkUmVjb3JkID0gdGhpcy5ncmlkLmdldFNlbGVjdGVkUmVjb3JkcygpWzBdIGFzIGFueTtcclxuICAgIHRoaXMuZ3JpZC5kZWxldGVSZWNvcmQoc2VsZWN0ZWRSZWNvcmQgYXMgc3RyaW5nKTtcclxuICB9XHJcblxyXG4gIGNhbmNlbEl0ZW0oaW5kZXgpIHtcclxuICAgIHRoaXMuZ3JpZC5jbG9zZUVkaXQoKTtcclxuICAgIHRoaXMuZGVsZXRlSXRlbShpbmRleCk7XHJcbiAgfVxyXG4gIHB1YmxpYyBpbml0TGlzdCA9IChudW0gPSAyNSwga2V5ID0gXCJJZFwiKSA9PiB7XHJcbiAgICBjb25zdCBsaXN0ID0gW107XHJcbiAgICB0aW1lcyhudW0sIChpKSA9PiB7XHJcbiAgICAgIGxpc3QucHVzaCh7XHJcbiAgICAgICAgW2tleV06IGksXHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gbGlzdDtcclxuICB9O1xyXG4gIHB1YmxpYyBzaG93TG9hZGluZygpIHtcclxuICAgIHRoaXMuY2xhc3NOYW1lID0gXCJncmlkLWxvYWRpbmdcIjtcclxuICAgIHRoaXMucmVmICYmIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhpZGVMb2FkaW5nKCkge1xyXG4gICAgdGhpcy5jbGFzc05hbWUgPSBcIlwiO1xyXG4gICAgdGhpcy5yZWYgJiYgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICB0aGlzLnJlZiAmJiB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import * as tslib_1 from "tslib";
|
|
7
7
|
import { Component, Inject, ChangeDetectorRef, Optional, } from "@angular/core";
|
|
8
|
-
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from "@angular/material/dialog";
|
|
8
|
+
import { MatDialog, MatDialogRef, MAT_DIALOG_DATA, } from "@angular/material/dialog";
|
|
9
9
|
import { ApiList } from "../../api";
|
|
10
10
|
import { DashboardService } from "../../dashboard.service";
|
|
11
11
|
import { DashboardPorletsService } from "../../dashboardPorlets.service";
|
|
12
12
|
import { throttle } from "lodash";
|
|
13
13
|
import { API_SERVICE_TOKEN, PBF_TOKEN } from "../../../service/InjectionToken";
|
|
14
14
|
import { DialogService } from "../../../service/dialog.service";
|
|
15
|
+
import { getTranslation } from "../../../utils/utils";
|
|
15
16
|
var DataMartNewComponent = /** @class */ (function () {
|
|
16
17
|
function DataMartNewComponent(data, dialogRef, dialogService, dialog, api, dashboardService, DashboardPorletsService, ref, pbf, http) {
|
|
17
18
|
var _this = this;
|
|
@@ -67,7 +68,7 @@ var DataMartNewComponent = /** @class */ (function () {
|
|
|
67
68
|
* @return {?}
|
|
68
69
|
*/
|
|
69
70
|
function () {
|
|
70
|
-
this.translation =
|
|
71
|
+
this.translation = getTranslation();
|
|
71
72
|
this.userInfo = JSON.parse(localStorage.getItem("userInfo"));
|
|
72
73
|
this.lang = this.pbf.getLanguageParams();
|
|
73
74
|
this.config =
|
|
@@ -769,4 +770,4 @@ if (false) {
|
|
|
769
770
|
*/
|
|
770
771
|
DataMartNewComponent.prototype.http;
|
|
771
772
|
}
|
|
772
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYXJ0LW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2Rhc2hib2FyZC9kYXNoYm9hcmQtcHJvcGVydGllcy9kYXRhLW1hcnQtbmV3L2RhdGEtbWFydC1uZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUNOLGlCQUFpQixFQUVqQixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFaEU7SUF1QkUsOEJBQ2tDLElBQVMsRUFDbEMsU0FBNkMsRUFDNUMsYUFBNEIsRUFDN0IsTUFBaUIsRUFDaEIsR0FBWSxFQUNiLGdCQUFrQyxFQUNsQyx1QkFBZ0QsRUFDL0MsR0FBc0IsRUFDUSxHQUFRLEVBQ0MsSUFBUztRQVYxRCxpQkFXSTtRQVY4QixTQUFJLEdBQUosSUFBSSxDQUFLO1FBQ2xDLGNBQVMsR0FBVCxTQUFTLENBQW9DO1FBQzVDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQzdCLFdBQU0sR0FBTixNQUFNLENBQVc7UUFDaEIsUUFBRyxHQUFILEdBQUcsQ0FBUztRQUNiLHFCQUFnQixHQUFo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Z0JBQ1AsZ0JBQWdCO2dCQUNoQix1QkFBdUI7Z0JBUDlCLGlCQUFpQjtnREE0Q2QsUUFBUSxZQUFJLE1BQU0sU0FBQyxTQUFTO2dEQUM1QixRQUFRLFlBQUksTUFBTSxTQUFDLGlCQUFpQjs7SUEwWnpDLDJCQUFDO0NBQUEsQUEzYkQsSUEyYkM7U0F0Ylksb0JBQW9COzs7SUFDL0IsMkNBQVk7O0lBQ1osd0NBQVM7O0lBQ1Qsb0NBQUs7O0lBQ0wsMENBQVc7O0lBQ1gsc0NBQU87O0lBRVAsMENBQXVCOztJQUN2Qix1Q0FBb0I7O0lBQ3BCLDRDQUF5Qjs7SUFDekIsd0NBQXFCOztJQUNyQixzQ0FBbUI7O0lBQ25CLDJDQUEyQjs7SUFDM0IsOENBQTJCOztJQUMzQix3Q0FBd0I7O0lBQ3hCLCtDQUE0Qjs7SUFDNUIsbURBQW1DOztJQWlUbkMsd0NBQTZEOztJQTlTM0Qsb0NBQXlDOztJQUN6Qyx5Q0FBb0Q7Ozs7O0lBQ3BELDZDQUFvQzs7SUFDcEMsc0NBQXdCOzs7OztJQUN4QixtQ0FBb0I7O0lBQ3BCLGdEQUF5Qzs7SUFDekMsdURBQXVEOzs7OztJQUN2RCxtQ0FBOEI7O0lBQzlCLG1DQUE4Qzs7Ozs7SUFDOUMsb0NBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIEluamVjdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9wdGlvbmFsLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nXCI7XHJcbmltcG9ydCB7IEFwaUxpc3QgfSBmcm9tIFwiLi4vLi4vYXBpXCI7XHJcbmltcG9ydCB7IERhc2hib2FyZFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZGFzaGJvYXJkLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vZGFzaGJvYXJkUG9ybGV0cy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IHRocm90dGxlIH0gZnJvbSBcImxvZGFzaFwiO1xyXG5pbXBvcnQgeyBBUElfU0VSVklDRV9UT0tFTiwgUEJGX1RPS0VOIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2UvSW5qZWN0aW9uVG9rZW5cIjtcclxuaW1wb3J0IHsgRGlhbG9nU2VydmljZSB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL2RpYWxvZy5zZXJ2aWNlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJycy1kYXRhLW1hcnQtbmV3XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9kYXRhLW1hcnQtbmV3LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL2RhdGEtbWFydC1uZXcuY29tcG9uZW50LnNjc3NcIl0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRhTWFydE5ld0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgdHJhbnNsYXRpb247XHJcbiAgdXNlckluZm87XHJcbiAgbGFuZztcclxuICBlbnRpdHlUeXBlO1xyXG4gIGNvbmZpZztcclxuXHJcbiAgcHVibGljIGZhdGhlckxpc3QgPSBbXTtcclxuICBwdWJsaWMgc29uTGlzdCA9IFtdO1xyXG4gIHB1YmxpYyBncmFuZHNvbkxpc3QgPSBbXTtcclxuICBwdWJsaWMgZmF0aGVySWQgPSBcIlwiO1xyXG4gIHB1YmxpYyBzb25JZHMgPSBbXTtcclxuICBwdWJsaWMgc2VsZWN0ZWRBbGwgPSBmYWxzZTtcclxuICBwdWJsaWMgb3JnaW5HcmFuZERhdGEgPSBbXTtcclxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcclxuICBwdWJsaWMgY2FjaGVFbnRpdHlUeXBlID0gXCJcIjtcclxuICBwdWJsaWMgaXNTZWxlY3RBbGxEaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBwdWJsaWMgZGF0YTogYW55LFxyXG4gICAgcHVibGljIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPERhdGFNYXJ0TmV3Q29tcG9uZW50PixcclxuICAgIHByaXZhdGUgZGlhbG9nU2VydmljZTogRGlhbG9nU2VydmljZSxcclxuICAgIHB1YmxpYyBkaWFsb2c6IE1hdERpYWxvZyxcclxuICAgIHByaXZhdGUgYXBpOiBBcGlMaXN0LFxyXG4gICAgcHVibGljIGRhc2hib2FyZFNlcnZpY2U6IERhc2hib2FyZFNlcnZpY2UsXHJcbiAgICBwdWJsaWMgRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2U6IERhc2hib2FyZFBvcmxldHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWY6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQQkZfVE9LRU4pIHB1YmxpYyBwYmY6IGFueSxcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoQVBJX1NFUlZJQ0VfVE9LRU4pIHByaXZhdGUgaHR0cDogYW55XHJcbiAgKSB7fVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5nZXRJbmZvKCk7XHJcbiAgICB0aGlzLmdldFNvdXJjZXMoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGJmLmludHJvU3RlcC5uZXh0KFwibmV4dFwiKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXRJbmZvKCkge1xyXG4gICAgdGhpcy50cmFuc2xhdGlvbiA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ0cmFuc2xhdGlvblwiKSk7XHJcbiAgICB0aGlzLnVzZXJJbmZvID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcInVzZXJJbmZvXCIpKTtcclxuICAgIHRoaXMubGFuZyA9IHRoaXMucGJmLmdldExhbmd1YWdlUGFyYW1zKCk7XHJcbiAgICB0aGlzLmNvbmZpZyA9XHJcbiAgICAgIHRoaXMuZGF0YSAmJiB0aGlzLmRhdGEuZGFzaGJvYXJkXHJcbiAgICAgICAgPyBKU09OLnBhcnNlKHRoaXMuZGF0YS5kYXNoYm9hcmQuY29uZmlnKVxyXG4gICAgICAgIDoge307XHJcbiAgfVxyXG4gIGdldFNvdXJjZXMoKSB7XHJcbiAgICBjb25zdCBkYXRhT2JqID0ge1xyXG4gICAgICBhY2NvdW50SWQ6IHRoaXMudXNlckluZm8uYWNjb3VudElkLFxyXG4gICAgICBsYW5ndWFnZTogdGhpcy5sYW5nLFxyXG4gICAgICBkYXNoYm9hcmRWZXJzaW9uOiAyLFxyXG4gICAgfTtcclxuICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nXy5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5odHRwLnBvc3QodGhpcy5hcGkudXJsTGlzdC5HZXRTb3VyY2VzLCBkYXRhT2JqLCAocmVzKSA9PiB7XHJcbiAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nXy5uZXh0KHRydWUpO1xyXG4gICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgdGhpcy5EYXNoYm9hcmRQb3JsZXRzU2VydmljZS5zb3VyY2VzRGF0YVt0aGlzLmRhdGEuZGFzaGJvYXJkLmlkXSA9IHJlcztcclxuICAgICAgICB0aGlzLkRhc2hib2FyZFBvcmxldHNTZXJ2aWNlLkdldFNvdXJjZXNSZXMgPSByZXM7XHJcbiAgICAgICAgdGhpcy5mYXRoZXJMaXN0ID0gcmVzO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5jb25maWcuZGF0YW1hcnRJZCkge1xyXG4gICAgICAgICAgLy8gdGhpcy5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmZhdGhlcklkID0gdGhpcy5jb25maWcuZGF0YW1hcnRJZDtcclxuICAgICAgICAgIHRoaXMuc29uSWRzID0gdGhpcy5jb25maWcuZGF0YW1hcnRWaWV3SWRcclxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy5kYXRhbWFydFZpZXdJZC5zcGxpdChcIixcIilcclxuICAgICAgICAgICAgOiB0aGlzLmNvbmZpZy52aWV3c1xyXG4gICAgICAgICAgICA/IHRoaXMuY29uZmlnLnZpZXdzLm1hcCgoaXRlbSkgPT4gaXRlbS5kYXRhbWFydFZpZXdJZClcclxuICAgICAgICAgICAgOiBbXTtcclxuICAgICAgICAgIGxldCBkYXRhc291cmNlID0gcmVzLmZpbmQoKGVsKSA9PiBlbC5pZCA9PSB0aGlzLmZhdGhlcklkKTtcclxuICAgICAgICAgIGlmIChkYXRhc291cmNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0ZGF0YU1hcnQoZGF0YXNvdXJjZSwgdHJ1ZSk7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5jYWNoZUVudGl0eVR5cGUgJiYgdGhpcy5jb25maWcuZGF0YW1hcnRJZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY2FjaGVFbnRpdHlUeXBlID0gdGhpcy5lbnRpdHlUeXBlO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsZXQgZGF0YXZpZXcgPSBkYXRhc291cmNlLnZpZXdzLmZpbHRlcigoZWwpID0+XHJcbiAgICAgICAgICAgICAgdGhpcy5zb25JZHMuaW5jbHVkZXMoZWwuaWQpXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlSXRlbUNoYW5nZShkYXRhdmlldywgdHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0U2VsZWN0ZWRBbGxTdGF0dXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRTZWxlY3RlZEFsbFN0YXR1cygpIHtcclxuICAgIGxldCBudW0gPSAwO1xyXG4gICAgdGhpcy5zb25MaXN0LmZvckVhY2goKHNvbikgPT4ge1xyXG4gICAgICBpZiAoc29uLmNoZWNrZWQgJiYgc29uLmxhbmdDb2RlICE9PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIpIHtcclxuICAgICAgICBudW0rKztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZiAobnVtID09PSB0aGlzLnNvbkxpc3QubGVuZ3RoIC0gMSkgdGhpcy5zZWxlY3RlZEFsbCA9IHRydWU7XHJcbiAgICBlbHNlIHRoaXMuc2VsZWN0ZWRBbGwgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5leHRTdGVwKCkge1xyXG4gICAgdGhpcy5wYmYuaW50cm9TdGVwLm5leHQoXCJuZXh0XCIpO1xyXG4gIH1cclxuXHJcbiAgZ2V0ZGF0YU1hcnQoaXRlbSwgaXNJbml0ID0gZmFsc2UpIHtcclxuICAgIGlmICh0aGlzLmNhY2hlRW50aXR5VHlwZSAmJiB0aGlzLmNhY2hlRW50aXR5VHlwZSA9PT0gaXRlbS5lbnRpdHlUeXBlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgIWlzSW5pdCAmJlxyXG4gICAgICB0aGlzLmNhY2hlRW50aXR5VHlwZSAmJlxyXG4gICAgICB0aGlzLmNhY2hlRW50aXR5VHlwZSAhPT0gaXRlbS5lbnRpdHlUeXBlXHJcbiAgICApIHtcclxuICAgICAgY29uc3QgX3RpdGxlID1cclxuICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLkFSRV9ZT1VfU1VSRV9UT19DSEFOR0VfREFUQV9NQVJUIHx8XHJcbiAgICAgICAgXCIuQXJlIHlvdSBzdXJlIHRvIGNoYW5nZSBlbnRpdHkgdHlwZSBvZiBkYXRhIG1hcnQ/IERhc2hib2FyZCB3aWxsIGJlIHJlc2V0IHNpbmNlIGVudGl0eSB0eXBlIGlzIGNoYW5nZWQuXCI7XHJcbiAgICAgIGNvbnN0IF9ubyA9IHRoaXMudHJhbnNsYXRpb24uTk8gfHwgXCIuTk9cIjtcclxuICAgICAgY29uc3QgX3llcyA9IHRoaXMudHJhbnNsYXRpb24uWUVTIHx8IFwiLllFU1wiO1xyXG4gICAgICAvLyBjb25zdCBkaWFsb2dSZWYgPSB0aGlzLmxheW91dFV0aWxzU2VydmljZS5hbGVydEVsZW1lbnQoXHJcbiAgICAgIC8vIFx0dGhpcy50cmFuc2xhdGlvbi5XQVJOSU5HIHx8IFwiLldBUk5JTkdcIixcclxuICAgICAgLy8gXHRfdGl0bGUsXHJcbiAgICAgIC8vIFx0X25vLFxyXG4gICAgICAvLyBcdF95ZXMsXHJcbiAgICAgIC8vIFx0dHJ1ZSxcclxuICAgICAgLy8gXHR0cnVlLFxyXG4gICAgICAvLyBcdFwiNDgwcHhcIixcclxuICAgICAgLy8gXHRcIjMyNHB4XCJcclxuICAgICAgLy8gKTtcclxuICAgICAgY29uc3QgZGlhbG9nUmVmID0gdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dDb21tb25EaWxhb2coe1xyXG4gICAgICAgIHRpdGxlOiB0aGlzLnRyYW5zbGF0aW9uLldBUk5JTkcgfHwgXCIuV0FSTklOR1wiLFxyXG4gICAgICAgIGRlc2NyaXB0aW9uOiBfdGl0bGUsXHJcbiAgICAgICAgc2F2ZUJ0bkxhYmVsOiBfeWVzLFxyXG4gICAgICAgIGNhbmNlbEJ0bkxhYmVsOiBfbm8sXHJcbiAgICAgIH0pO1xyXG4gICAgICBkaWFsb2dSZWYuYWZ0ZXJDbG9zZWQoKS5zdWJzY3JpYmUoKHJlcykgPT4ge1xyXG4gICAgICAgIGlmICghcmVzKSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0RmF0aGVySWQoaXRlbSwgaXNJbml0KTtcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmICghaXRlbSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEZhdGhlcklkKGl0ZW0sIGlzSW5pdCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEZhdGhlcklkKGl0ZW0sIGlzSW5pdCkge1xyXG4gICAgdGhpcy5mYXRoZXJJZCA9IGl0ZW0uaWQ7XHJcbiAgICB0aGlzLmVudGl0eVR5cGUgPSBpdGVtLmVudGl0eVR5cGU7XHJcbiAgICBsZXQgaXNGaWd1cmVzQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgbGV0IGlzT3RoZXJDaGVja2VkID0gZmFsc2U7XHJcbiAgICBpZiAoXHJcbiAgICAgIGl0ZW0udmlld3MuZmluZChcclxuICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgIGl0ZW0ubGFuZ0NvZGUgPT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIiAmJiB0aGlzLnNvbklkcy5pbmNsdWRlcyhpdGVtLmlkKVxyXG4gICAgICApXHJcbiAgICApIHtcclxuICAgICAgaXNGaWd1cmVzQ2hlY2tlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RBbGxEaXNhYmxlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGl0ZW0udmlld3MuZmluZChcclxuICAgICAgICAoaXRlbSkgPT5cclxuICAgICAgICAgIGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIiAmJiB0aGlzLnNvbklkcy5pbmNsdWRlcyhpdGVtLmlkKVxyXG4gICAgICApXHJcbiAgICApXHJcbiAgICAgIGlzT3RoZXJDaGVja2VkID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnNvbkxpc3QgPSBpdGVtLnZpZXdzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICBsZXQgaXNEaXNhYmxlZCA9XHJcbiAgICAgICAgKGlzRmlndXJlc0NoZWNrZWQgJiYgaXRlbS5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSB8fFxyXG4gICAgICAgIChpdGVtLmxhbmdDb2RlID09PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIgJiYgaXNPdGhlckNoZWNrZWQpO1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgY2hlY2tlZDpcclxuICAgICAgICAgIHRoaXMuY2FjaGVFbnRpdHlUeXBlICYmIHRoaXMuY2FjaGVFbnRpdHlUeXBlICE9PSB0aGlzLmVudGl0eVR5cGVcclxuICAgICAgICAgICAgPyBmYWxzZVxyXG4gICAgICAgICAgICA6IHRoaXMuc29uSWRzLmluY2x1ZGVzKGl0ZW0uaWQpLFxyXG4gICAgICAgIGRpc2FibGVkOlxyXG4gICAgICAgICAgdGhpcy5jYWNoZUVudGl0eVR5cGUgJiYgdGhpcy5jYWNoZUVudGl0eVR5cGUgIT09IHRoaXMuZW50aXR5VHlwZVxyXG4gICAgICAgICAgICA/IGZhbHNlXHJcbiAgICAgICAgICAgIDogaXNEaXNhYmxlZCxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuY2FjaGVFbnRpdHlUeXBlID0gaXRlbS5lbnRpdHlUeXBlO1xyXG5cclxuICAgIGlmICghaXNJbml0KSB7XHJcbiAgICAgIHRoaXMuc29uSWRzID0gW107XHJcbiAgICAgIHRoaXMuZ3JhbmRzb25MaXN0ID0gW107XHJcbiAgICAgIHRoaXMub3JnaW5HcmFuZERhdGEgPSBbXTtcclxuICAgICAgdGhpcy5zZWxlY3RlZEFsbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzU2VsZWN0QWxsRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMuY2FjaGVFbnRpdHlUeXBlICYmIHRoaXMuY2FjaGVFbnRpdHlUeXBlICE9PSBpdGVtLmVudGl0eVR5cGUpIHtcclxuICAgICAgICB0aGlzLnNvbkxpc3QgPSBpdGVtLnZpZXdzLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICAgICAgY2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVkOiBmYWxzZSxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUl0ZW1DaGFuZ2UoZGF0YSwgdmFsPzogYm9vbGVhbikge1xyXG4gICAgaWYgKCFkYXRhKSByZXR1cm4gZmFsc2U7XHJcbiAgICBpZiAodmFsKSB7XHJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEpKSB7XHJcbiAgICAgICAgZGF0YS5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuc29uSWRzLmluY2x1ZGVzKGl0ZW0uaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc29uSWRzLnB1c2goaXRlbS5pZCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShpdGVtLnRhYmxlcykpIHtcclxuICAgICAgICAgICAgaXRlbS50YWJsZXMuZm9yRWFjaCgoY2hpbGQpID0+IHtcclxuICAgICAgICAgICAgICBpZiAoIXRoaXMuZ3JhbmRzb25MaXN0LnNvbWUoKGVsKSA9PiBlbC5pZCA9PT0gY2hpbGQuaWQpKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmdyYW5kc29uTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgICAgLi4uY2hpbGQsXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIGZpbmFuY2lhbCBmaWd1cmVzIGNhbuKAmXQgYmUgc2VsZWN0ZWQgdG9nZXRoZXIgd2l0aCBvdGhlciBncm91cHNcclxuICAgICAgICBpZiAoZGF0YS5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSB7XHJcbiAgICAgICAgICB0aGlzLnNvbkxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoaXRlbS5sYW5nQ29kZSA9PT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSBpdGVtLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICF0aGlzLnNvbkxpc3QuZmluZChcclxuICAgICAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5jaGVja2VkICYmIGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIlxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgICApIHtcclxuICAgICAgICAgICAgdGhpcy5zb25MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgICBpZiAoaXRlbS5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSBpdGVtLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNTZWxlY3RBbGxEaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGRhdGEudGFibGVzLmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIGlmICghdGhpcy5ncmFuZHNvbkxpc3Quc29tZSgoZWwpID0+IGVsLmlkID09PSBpdGVtLmlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLmdyYW5kc29uTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBpZiAoIXRoaXMuc29uSWRzLmluY2x1ZGVzKGRhdGEuaWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnNvbklkcy5wdXNoKGRhdGEuaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ncmFuZHNvbkxpc3QgPSBbXTtcclxuICAgICAgdGhpcy5zb25MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICBpZiAoZGF0YS5sYW5nQ29kZSA9PT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSB7XHJcbiAgICAgICAgICBpdGVtLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0uaWQgPT0gZGF0YS5pZCkge1xyXG4gICAgICAgICAgaXRlbS5jaGVja2VkID0gdmFsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXRlbS5jaGVja2VkKSB7XHJcbiAgICAgICAgICBpdGVtLnRhYmxlcy5mb3JFYWNoKChzb25JdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5ncmFuZHNvbkxpc3Quc29tZSgoZWwpID0+IGVsLmlkID09PSBzb25JdGVtLmlkKSkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ3JhbmRzb25MaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgICAgLi4uc29uSXRlbSxcclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIGRhdGEubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIiAmJlxyXG4gICAgICAgICF0aGlzLnNvbkxpc3QuZmluZChcclxuICAgICAgICAgIChpdGVtKSA9PiBpdGVtLmNoZWNrZWQgJiYgaXRlbS5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiXHJcbiAgICAgICAgKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNvbkxpc3QuZm9yRWFjaCgob2JqKSA9PiB7XHJcbiAgICAgICAgICBpZiAob2JqLmxhbmdDb2RlID09PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIpIG9iai5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc29uSWRzID0gdGhpcy5zb25JZHMuZmlsdGVyKChpdGVtKSA9PiBpdGVtICE9IGRhdGEuaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRTZWxlY3RlZEFsbFN0YXR1cygpO1xyXG4gICAgdGhpcy5vcmdpbkdyYW5kRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5ncmFuZHNvbkxpc3QpKTtcclxuICAgIGlmICghdGhpcy5yZWZbXCJkZXN0cm95ZWRcIl0pIHtcclxuICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgIHRoaXMucmVmLmRldGVjdENoYW5nZXM7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHNlbGVjdEFsbCh2YWwpIHtcclxuICAgIGlmICghdmFsKSB7XHJcbiAgICAgIHRoaXMub3JnaW5HcmFuZERhdGEgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuZ3JhbmRzb25MaXN0ID0gW107XHJcbiAgICB0aGlzLnNvbklkcyA9IFtdO1xyXG4gICAgdGhpcy5zb25MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgaWYgKGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikgaXRlbS5jaGVja2VkID0gdmFsO1xyXG4gICAgICBpZiAodmFsKSB7XHJcbiAgICAgICAgaWYgKGl0ZW0ubGFuZ0NvZGUgPT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikge1xyXG4gICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc29uSWRzLnB1c2goaXRlbS5pZCk7XHJcbiAgICAgICAgaXRlbS50YWJsZXMuZm9yRWFjaCgoc29uSXRlbSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLmdyYW5kc29uTGlzdC5zb21lKChlbCkgPT4gZWwuaWQgPT09IHNvbkl0ZW0uaWQpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZ3JhbmRzb25MaXN0LnB1c2goe1xyXG4gICAgICAgICAgICAgIC4uLnNvbkl0ZW0sXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmIChpdGVtLmxhbmdDb2RlID09PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIpIGl0ZW0uZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLm9yZ2luR3JhbmREYXRhID0gSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeSh0aGlzLmdyYW5kc29uTGlzdCkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGRvRmlsdGVyID0gdGhyb3R0bGUoKHZhbCkgPT4gdGhpcy5kb1NlYXJjaCh2YWwpLCAyMDApO1xyXG4gIHB1YmxpYyBkb1NlYXJjaCh2YWwpIHtcclxuICAgIGxldCB0ZW1wTGlzdCA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5vcmdpbkdyYW5kRGF0YSkpO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICB0aGlzLmdyYW5kc29uTGlzdCA9IHRlbXBMaXN0LmZpbHRlcigoaXRlbSkgPT5cclxuICAgICAgICBpdGVtLmxhbmdWYWx1ZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHZhbC50b0xvd2VyQ2FzZSgpKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5ncmFuZHNvbkxpc3QgPSB0ZW1wTGlzdDtcclxuICAgIH1cclxuICB9XHJcbiAgLy8g5L+d5a2Y5by556qX562b6YCJ5pWw5o2uXHJcbiAgc2F2ZURhdGEoKSB7XHJcbiAgICB0aGlzLnBiZi5pbnRyb1N0ZXAubmV4dChcImNvbXBsZXRlXCIpO1xyXG4gICAgdGhpcy5wYmYucGFnZUxvYWRpbmcgPSB0cnVlO1xyXG4gICAgbGV0IGNvbmZpZztcclxuICAgIGxldCBkYXRhbWFydFZpZXdDb2RlID0gdGhpcy5zb25MaXN0LmZpbHRlcigoZWwpID0+XHJcbiAgICAgIHRoaXMuc29uSWRzLmluY2x1ZGVzKGVsLmlkKVxyXG4gICAgKTtcclxuICAgIGNvbmZpZyA9IHtcclxuICAgICAgZGF0YW1hcnRJZDogdGhpcy5mYXRoZXJJZCxcclxuICAgICAgZGF0YW1hcnRWaWV3SWQ6IHRoaXMuc29uSWRzLmpvaW4oXCIsXCIpLFxyXG4gICAgICB2aWV3czogZGF0YW1hcnRWaWV3Q29kZS5tYXAoKGUpID0+IHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgZGF0YW1hcnRWaWV3SWQ6IGUuaWQsXHJcbiAgICAgICAgICBkYXRhbWFydFZpZXdDb2RlOiBlLmxhbmdDb2RlLFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pLFxyXG4gICAgfTtcclxuICAgIGNvbnN0IGVudGl0eUxpc3QgPVxyXG4gICAgICB0aGlzLmRhdGEuZGFzaGJvYXJkLmVudGl0eVR5cGUgPT09IHRoaXMuZW50aXR5VHlwZVxyXG4gICAgICAgID8gdGhpcy5EYXNoYm9hcmRQb3JsZXRzU2VydmljZS5lbnRpdHlMaXN0XHJcbiAgICAgICAgOiBbXTtcclxuXHJcbiAgICBjb25zdCBkYXRhT2JqID0ge1xyXG4gICAgICBlbnRpdHlMaXN0LFxyXG4gICAgICBhY2NvdW50SWQ6IHRoaXMudXNlckluZm8uYWNjb3VudElkLFxyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlckluZm8uaWQsXHJcbiAgICAgIGRhc2hib2FyZElkOiB0aGlzLmRhdGEuZGFzaGJvYXJkSWQsXHJcbiAgICAgIGRhdGFNYXJ0VGFibGVzOiB0aGlzLmdyYW5kc29uTGlzdCxcclxuICAgICAgZW50aXR5VHlwZTogdGhpcy5lbnRpdHlUeXBlIHx8IHRoaXMuZGF0YS5kYXNoYm9hcmQuZW50aXR5VHlwZSxcclxuICAgICAgY29uZmlnOiBKU09OLnN0cmluZ2lmeShjb25maWcpLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmh0dHAucG9zdCh0aGlzLmFwaS51cmxMaXN0LkFkZERhdGFNYXJ0VGFibGVzLCBkYXRhT2JqLCAocmVzKSA9PiB7XHJcbiAgICAgIGlmIChyZXMuc3RhdHVzID09PSBcIlNVQ0NFU1NcIikge1xyXG4gICAgICAgIGNvbnN0IF9zYXZlTWVzc2FnZSA9XHJcbiAgICAgICAgICB0aGlzLnRyYW5zbGF0aW9uLkRBU0hCT0FSRF9QUk9QRVJUSUVTX1NBVkVEIHx8XHJcbiAgICAgICAgICBcIi5EQVNIQk9BUkRfUFJPUEVSVElFU19TQVZFRFwiO1xyXG4gICAgICAgIHRoaXMuc2hvd1RvYXN0KF9zYXZlTWVzc2FnZSwgXCJTdWNjZXNzXCIpO1xyXG4gICAgICAgIHRoaXMuY29uZmlnLmRhdGFtYXJ0Vmlld0lkID0gdGhpcy5zb25JZHMuam9pbihcIixcIik7XHJcbiAgICAgICAgdGhpcy5jb25maWcudmlld3MgPSBbXTtcclxuICAgICAgICB0aGlzLnNvbkxpc3QuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zb25JZHMuZm9yRWFjaCgoc29uSWQpID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0uaWQgPT09IHNvbklkKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5jb25maWcudmlld3MucHVzaCh7XHJcbiAgICAgICAgICAgICAgICBkYXRhbWFydFZpZXdDb2RlOiBpdGVtLmxhbmdDb2RlLFxyXG4gICAgICAgICAgICAgICAgZGF0YW1hcnRWaWV3SWQ6IGl0ZW0uaWQsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGEuZGFzaGJvYXJkLmNvbmZpZyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuY29uZmlnKTtcclxuICAgICAgICBpZiAodGhpcy5kYXRhLmVkaXQpIHtcclxuICAgICAgICAgIHRoaXMuRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2UucG9ydGxldEZpZWxkc19UZW1wID0ge307XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChcclxuICAgICAgICAgIGVudGl0eUxpc3QgJiZcclxuICAgICAgICAgIGVudGl0eUxpc3QubGVuZ3RoICYmXHJcbiAgICAgICAgICB0aGlzLmRhdGEuZGFzaGJvYXJkLmVudGl0eVR5cGUgPT09IHRoaXMuZW50aXR5VHlwZVxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgdGhpcy5wYmYudHJpZ2dlckRhc2hib2FyZFJlZnJlc2gubmV4dCh7XHJcbiAgICAgICAgICAgIGVudGl0eUxpc3QsXHJcbiAgICAgICAgICAgIGlkOiB0aGlzLmRhdGEuZGFzaGJvYXJkLmlkLFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgpO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5EYXNoYm9hcmRQb3JsZXRzU2VydmljZS5HZXREYXNoYm9hcmRWMShcclxuICAgICAgICAgIHRoaXMuZGF0YS5kYXNoYm9hcmRJZCxcclxuICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAocmVzLCBwb3J0bGV0cyA9IFtdKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMuZGFzaGJvYXJkU2VydmljZS5jaGFuZ2VsYXlvdXQubmV4dCh7XHJcbiAgICAgICAgICAgICAgc3RhdHVzOiBcInRydWVcIixcclxuICAgICAgICAgICAgICBpZDogdGhpcy5kYXRhLmRhc2hib2FyZC5pZCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHtcclxuICAgICAgICAgICAgICBwdXNoX2J0bjogZmFsc2UsXHJcbiAgICAgICAgICAgICAgcG9ydGxldDoge30sXHJcbiAgICAgICAgICAgICAgcG9ydGxldHMsXHJcbiAgICAgICAgICAgICAgZGFzaGJvYXJkOiByZXMsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5wYmYucGFnZUxvYWRpbmdfLm5leHQodHJ1ZSk7XHJcbiAgICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgY29uc3QgX3NhdmVNZXNzYWdlID0gcmVzLm1lc3NhZ2VzWzBdLm1lc3NhZ2UgfHwgXCJlcnJvclwiO1xyXG4gICAgICAgIHRoaXMuc2hvd1RvYXN0KF9zYXZlTWVzc2FnZSwgXCJFcnJvclwiKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vIHRvYXN0IG1zZ1xyXG4gIHB1YmxpYyBzaG93VG9hc3QobXNnLCBzdGF0dXM6IFwiU3VjY2Vzc1wiIHwgXCJFcnJvclwiKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1NlcnZpY2Uuc2hvd05vdGlmaWNhdGlvbihtc2csIHtcclxuICAgICAgc3RhdHVzLFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8vIOWFs+mXreW8ueeql1xyXG4gIHB1YmxpYyBjbG9zZVBvcHVwKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
773
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tYXJ0LW5ldy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9yYWlzZS1jb21tb24tbGliLyIsInNvdXJjZXMiOlsibGliL2Rhc2hib2FyZC9kYXNoYm9hcmQtcHJvcGVydGllcy9kYXRhLW1hcnQtbmV3L2RhdGEtbWFydC1uZXcuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsTUFBTSxFQUNOLGlCQUFpQixFQUVqQixRQUFRLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxHQUNoQixNQUFNLDBCQUEwQixDQUFDO0FBQ2xDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDcEMsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDM0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDekUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUNsQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUV0RDtJQXVCRSw4QkFDa0MsSUFBUyxFQUNsQyxTQUE2QyxFQUM1QyxhQUE0QixFQUM3QixNQUFpQixFQUNoQixHQUFZLEVBQ2IsZ0JBQWtDLEVBQ2xDLHVCQUFnRCxFQUMvQyxHQUFzQixFQUNRLEdBQVEsRUFDQyxJQUFTO1FBVjFELGlCQVdJO1FBVjhCLFNBQUksR0FBSixJQUFJLENBQUs7UUFDbEMsY0FBUyxHQUFULFNBQVMsQ0FBb0M7UUFDNUMsa0JBQWEsR0FBYixhQUFhLENBQWU7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FB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Z0JBQ1AsZ0JBQWdCO2dCQUNoQix1QkFBdUI7Z0JBWDlCLGlCQUFpQjtnREFpRGQsUUFBUSxZQUFJLE1BQU0sU0FBQyxTQUFTO2dEQUM1QixRQUFRLFlBQUksTUFBTSxTQUFDLGlCQUFpQjs7SUEwWnpDLDJCQUFDO0NBQUEsQUEzYkQsSUEyYkM7U0F0Ylksb0JBQW9COzs7SUFDL0IsMkNBQVk7O0lBQ1osd0NBQVM7O0lBQ1Qsb0NBQUs7O0lBQ0wsMENBQVc7O0lBQ1gsc0NBQU87O0lBRVAsMENBQXVCOztJQUN2Qix1Q0FBb0I7O0lBQ3BCLDRDQUF5Qjs7SUFDekIsd0NBQXFCOztJQUNyQixzQ0FBbUI7O0lBQ25CLDJDQUEyQjs7SUFDM0IsOENBQTJCOztJQUMzQix3Q0FBd0I7O0lBQ3hCLCtDQUE0Qjs7SUFDNUIsbURBQW1DOztJQWlUbkMsd0NBQTZEOztJQTlTM0Qsb0NBQXlDOztJQUN6Qyx5Q0FBb0Q7Ozs7O0lBQ3BELDZDQUFvQzs7SUFDcEMsc0NBQXdCOzs7OztJQUN4QixtQ0FBb0I7O0lBQ3BCLGdEQUF5Qzs7SUFDekMsdURBQXVEOzs7OztJQUN2RCxtQ0FBOEI7O0lBQzlCLG1DQUE4Qzs7Ozs7SUFDOUMsb0NBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIEluamVjdCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBBZnRlclZpZXdJbml0LFxyXG4gIE9wdGlvbmFsLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7XHJcbiAgTWF0RGlhbG9nLFxyXG4gIE1hdERpYWxvZ1JlZixcclxuICBNQVRfRElBTE9HX0RBVEEsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RpYWxvZ1wiO1xyXG5pbXBvcnQgeyBBcGlMaXN0IH0gZnJvbSBcIi4uLy4uL2FwaVwiO1xyXG5pbXBvcnQgeyBEYXNoYm9hcmRTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2Rhc2hib2FyZC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhc2hib2FyZFBvcmxldHNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL2Rhc2hib2FyZFBvcmxldHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyB0aHJvdHRsZSB9IGZyb20gXCJsb2Rhc2hcIjtcclxuaW1wb3J0IHsgQVBJX1NFUlZJQ0VfVE9LRU4sIFBCRl9UT0tFTiB9IGZyb20gXCIuLi8uLi8uLi9zZXJ2aWNlL0luamVjdGlvblRva2VuXCI7XHJcbmltcG9ydCB7IERpYWxvZ1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZS9kaWFsb2cuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gXCIuLi8uLi8uLi91dGlscy91dGlsc1wiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwicnMtZGF0YS1tYXJ0LW5ld1wiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vZGF0YS1tYXJ0LW5ldy5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9kYXRhLW1hcnQtbmV3LmNvbXBvbmVudC5zY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0YU1hcnROZXdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0luaXQge1xyXG4gIHRyYW5zbGF0aW9uO1xyXG4gIHVzZXJJbmZvO1xyXG4gIGxhbmc7XHJcbiAgZW50aXR5VHlwZTtcclxuICBjb25maWc7XHJcblxyXG4gIHB1YmxpYyBmYXRoZXJMaXN0ID0gW107XHJcbiAgcHVibGljIHNvbkxpc3QgPSBbXTtcclxuICBwdWJsaWMgZ3JhbmRzb25MaXN0ID0gW107XHJcbiAgcHVibGljIGZhdGhlcklkID0gXCJcIjtcclxuICBwdWJsaWMgc29uSWRzID0gW107XHJcbiAgcHVibGljIHNlbGVjdGVkQWxsID0gZmFsc2U7XHJcbiAgcHVibGljIG9yZ2luR3JhbmREYXRhID0gW107XHJcbiAgcHVibGljIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgcHVibGljIGNhY2hlRW50aXR5VHlwZSA9IFwiXCI7XHJcbiAgcHVibGljIGlzU2VsZWN0QWxsRGlzYWJsZWQgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueSxcclxuICAgIHB1YmxpYyBkaWFsb2dSZWY6IE1hdERpYWxvZ1JlZjxEYXRhTWFydE5ld0NvbXBvbmVudD4sXHJcbiAgICBwcml2YXRlIGRpYWxvZ1NlcnZpY2U6IERpYWxvZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgZGlhbG9nOiBNYXREaWFsb2csXHJcbiAgICBwcml2YXRlIGFwaTogQXBpTGlzdCxcclxuICAgIHB1YmxpYyBkYXNoYm9hcmRTZXJ2aWNlOiBEYXNoYm9hcmRTZXJ2aWNlLFxyXG4gICAgcHVibGljIERhc2hib2FyZFBvcmxldHNTZXJ2aWNlOiBEYXNoYm9hcmRQb3JsZXRzU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIEBJbmplY3QoUEJGX1RPS0VOKSBwdWJsaWMgcGJmOiBhbnksXHJcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KEFQSV9TRVJWSUNFX1RPS0VOKSBwcml2YXRlIGh0dHA6IGFueVxyXG4gICkge31cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2V0SW5mbygpO1xyXG4gICAgdGhpcy5nZXRTb3VyY2VzKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnBiZi5pbnRyb1N0ZXAubmV4dChcIm5leHRcIik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0SW5mbygpIHtcclxuICAgIHRoaXMudHJhbnNsYXRpb24gPSBnZXRUcmFuc2xhdGlvbigpO1xyXG4gICAgdGhpcy51c2VySW5mbyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJ1c2VySW5mb1wiKSk7XHJcbiAgICB0aGlzLmxhbmcgPSB0aGlzLnBiZi5nZXRMYW5ndWFnZVBhcmFtcygpO1xyXG4gICAgdGhpcy5jb25maWcgPVxyXG4gICAgICB0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLmRhc2hib2FyZFxyXG4gICAgICAgID8gSlNPTi5wYXJzZSh0aGlzLmRhdGEuZGFzaGJvYXJkLmNvbmZpZylcclxuICAgICAgICA6IHt9O1xyXG4gIH1cclxuICBnZXRTb3VyY2VzKCkge1xyXG4gICAgY29uc3QgZGF0YU9iaiA9IHtcclxuICAgICAgYWNjb3VudElkOiB0aGlzLnVzZXJJbmZvLmFjY291bnRJZCxcclxuICAgICAgbGFuZ3VhZ2U6IHRoaXMubGFuZyxcclxuICAgICAgZGFzaGJvYXJkVmVyc2lvbjogMixcclxuICAgIH07XHJcbiAgICB0aGlzLnBiZi5wYWdlTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLnBiZi5wYWdlTG9hZGluZ18ubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuaHR0cC5wb3N0KHRoaXMuYXBpLnVybExpc3QuR2V0U291cmNlcywgZGF0YU9iaiwgKHJlcykgPT4ge1xyXG4gICAgICB0aGlzLnBiZi5wYWdlTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICB0aGlzLnBiZi5wYWdlTG9hZGluZ18ubmV4dCh0cnVlKTtcclxuICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgIHRoaXMuRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2Uuc291cmNlc0RhdGFbdGhpcy5kYXRhLmRhc2hib2FyZC5pZF0gPSByZXM7XHJcbiAgICAgICAgdGhpcy5EYXNoYm9hcmRQb3JsZXRzU2VydmljZS5HZXRTb3VyY2VzUmVzID0gcmVzO1xyXG4gICAgICAgIHRoaXMuZmF0aGVyTGlzdCA9IHJlcztcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlnLmRhdGFtYXJ0SWQpIHtcclxuICAgICAgICAgIC8vIHRoaXMuZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5mYXRoZXJJZCA9IHRoaXMuY29uZmlnLmRhdGFtYXJ0SWQ7XHJcbiAgICAgICAgICB0aGlzLnNvbklkcyA9IHRoaXMuY29uZmlnLmRhdGFtYXJ0Vmlld0lkXHJcbiAgICAgICAgICAgID8gdGhpcy5jb25maWcuZGF0YW1hcnRWaWV3SWQuc3BsaXQoXCIsXCIpXHJcbiAgICAgICAgICAgIDogdGhpcy5jb25maWcudmlld3NcclxuICAgICAgICAgICAgPyB0aGlzLmNvbmZpZy52aWV3cy5tYXAoKGl0ZW0pID0+IGl0ZW0uZGF0YW1hcnRWaWV3SWQpXHJcbiAgICAgICAgICAgIDogW107XHJcbiAgICAgICAgICBsZXQgZGF0YXNvdXJjZSA9IHJlcy5maW5kKChlbCkgPT4gZWwuaWQgPT0gdGhpcy5mYXRoZXJJZCk7XHJcbiAgICAgICAgICBpZiAoZGF0YXNvdXJjZSkge1xyXG4gICAgICAgICAgICB0aGlzLmdldGRhdGFNYXJ0KGRhdGFzb3VyY2UsIHRydWUpO1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuY2FjaGVFbnRpdHlUeXBlICYmIHRoaXMuY29uZmlnLmRhdGFtYXJ0SWQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmNhY2hlRW50aXR5VHlwZSA9IHRoaXMuZW50aXR5VHlwZTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgbGV0IGRhdGF2aWV3ID0gZGF0YXNvdXJjZS52aWV3cy5maWx0ZXIoKGVsKSA9PlxyXG4gICAgICAgICAgICAgIHRoaXMuc29uSWRzLmluY2x1ZGVzKGVsLmlkKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUl0ZW1DaGFuZ2UoZGF0YXZpZXcsIHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLmdldFNlbGVjdGVkQWxsU3RhdHVzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0U2VsZWN0ZWRBbGxTdGF0dXMoKSB7XHJcbiAgICBsZXQgbnVtID0gMDtcclxuICAgIHRoaXMuc29uTGlzdC5mb3JFYWNoKChzb24pID0+IHtcclxuICAgICAgaWYgKHNvbi5jaGVja2VkICYmIHNvbi5sYW5nQ29kZSAhPT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSB7XHJcbiAgICAgICAgbnVtKys7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYgKG51bSA9PT0gdGhpcy5zb25MaXN0Lmxlbmd0aCAtIDEpIHRoaXMuc2VsZWN0ZWRBbGwgPSB0cnVlO1xyXG4gICAgZWxzZSB0aGlzLnNlbGVjdGVkQWxsID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBuZXh0U3RlcCgpIHtcclxuICAgIHRoaXMucGJmLmludHJvU3RlcC5uZXh0KFwibmV4dFwiKTtcclxuICB9XHJcblxyXG4gIGdldGRhdGFNYXJ0KGl0ZW0sIGlzSW5pdCA9IGZhbHNlKSB7XHJcbiAgICBpZiAodGhpcy5jYWNoZUVudGl0eVR5cGUgJiYgdGhpcy5jYWNoZUVudGl0eVR5cGUgPT09IGl0ZW0uZW50aXR5VHlwZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgICFpc0luaXQgJiZcclxuICAgICAgdGhpcy5jYWNoZUVudGl0eVR5cGUgJiZcclxuICAgICAgdGhpcy5jYWNoZUVudGl0eVR5cGUgIT09IGl0ZW0uZW50aXR5VHlwZVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnN0IF90aXRsZSA9XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGlvbi5BUkVfWU9VX1NVUkVfVE9fQ0hBTkdFX0RBVEFfTUFSVCB8fFxyXG4gICAgICAgIFwiLkFyZSB5b3Ugc3VyZSB0byBjaGFuZ2UgZW50aXR5IHR5cGUgb2YgZGF0YSBtYXJ0PyBEYXNoYm9hcmQgd2lsbCBiZSByZXNldCBzaW5jZSBlbnRpdHkgdHlwZSBpcyBjaGFuZ2VkLlwiO1xyXG4gICAgICBjb25zdCBfbm8gPSB0aGlzLnRyYW5zbGF0aW9uLk5PIHx8IFwiLk5PXCI7XHJcbiAgICAgIGNvbnN0IF95ZXMgPSB0aGlzLnRyYW5zbGF0aW9uLllFUyB8fCBcIi5ZRVNcIjtcclxuICAgICAgLy8gY29uc3QgZGlhbG9nUmVmID0gdGhpcy5sYXlvdXRVdGlsc1NlcnZpY2UuYWxlcnRFbGVtZW50KFxyXG4gICAgICAvLyBcdHRoaXMudHJhbnNsYXRpb24uV0FSTklORyB8fCBcIi5XQVJOSU5HXCIsXHJcbiAgICAgIC8vIFx0X3RpdGxlLFxyXG4gICAgICAvLyBcdF9ubyxcclxuICAgICAgLy8gXHRfeWVzLFxyXG4gICAgICAvLyBcdHRydWUsXHJcbiAgICAgIC8vIFx0dHJ1ZSxcclxuICAgICAgLy8gXHRcIjQ4MHB4XCIsXHJcbiAgICAgIC8vIFx0XCIzMjRweFwiXHJcbiAgICAgIC8vICk7XHJcbiAgICAgIGNvbnN0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nU2VydmljZS5zaG93Q29tbW9uRGlsYW9nKHtcclxuICAgICAgICB0aXRsZTogdGhpcy50cmFuc2xhdGlvbi5XQVJOSU5HIHx8IFwiLldBUk5JTkdcIixcclxuICAgICAgICBkZXNjcmlwdGlvbjogX3RpdGxlLFxyXG4gICAgICAgIHNhdmVCdG5MYWJlbDogX3llcyxcclxuICAgICAgICBjYW5jZWxCdG5MYWJlbDogX25vLFxyXG4gICAgICB9KTtcclxuICAgICAgZGlhbG9nUmVmLmFmdGVyQ2xvc2VkKCkuc3Vic2NyaWJlKChyZXMpID0+IHtcclxuICAgICAgICBpZiAoIXJlcykge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNldEZhdGhlcklkKGl0ZW0sIGlzSW5pdCk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoIWl0ZW0pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRGYXRoZXJJZChpdGVtLCBpc0luaXQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRGYXRoZXJJZChpdGVtLCBpc0luaXQpIHtcclxuICAgIHRoaXMuZmF0aGVySWQgPSBpdGVtLmlkO1xyXG4gICAgdGhpcy5lbnRpdHlUeXBlID0gaXRlbS5lbnRpdHlUeXBlO1xyXG4gICAgbGV0IGlzRmlndXJlc0NoZWNrZWQgPSBmYWxzZTtcclxuICAgIGxldCBpc090aGVyQ2hlY2tlZCA9IGZhbHNlO1xyXG4gICAgaWYgKFxyXG4gICAgICBpdGVtLnZpZXdzLmZpbmQoXHJcbiAgICAgICAgKGl0ZW0pID0+XHJcbiAgICAgICAgICBpdGVtLmxhbmdDb2RlID09PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIgJiYgdGhpcy5zb25JZHMuaW5jbHVkZXMoaXRlbS5pZClcclxuICAgICAgKVxyXG4gICAgKSB7XHJcbiAgICAgIGlzRmlndXJlc0NoZWNrZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmlzU2VsZWN0QWxsRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgaWYgKFxyXG4gICAgICBpdGVtLnZpZXdzLmZpbmQoXHJcbiAgICAgICAgKGl0ZW0pID0+XHJcbiAgICAgICAgICBpdGVtLmxhbmdDb2RlICE9PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIgJiYgdGhpcy5zb25JZHMuaW5jbHVkZXMoaXRlbS5pZClcclxuICAgICAgKVxyXG4gICAgKVxyXG4gICAgICBpc090aGVyQ2hlY2tlZCA9IHRydWU7XHJcblxyXG4gICAgdGhpcy5zb25MaXN0ID0gaXRlbS52aWV3cy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgbGV0IGlzRGlzYWJsZWQgPVxyXG4gICAgICAgIChpc0ZpZ3VyZXNDaGVja2VkICYmIGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikgfHxcclxuICAgICAgICAoaXRlbS5sYW5nQ29kZSA9PT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiICYmIGlzT3RoZXJDaGVja2VkKTtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5pdGVtLFxyXG4gICAgICAgIGNoZWNrZWQ6XHJcbiAgICAgICAgICB0aGlzLmNhY2hlRW50aXR5VHlwZSAmJiB0aGlzLmNhY2hlRW50aXR5VHlwZSAhPT0gdGhpcy5lbnRpdHlUeXBlXHJcbiAgICAgICAgICAgID8gZmFsc2VcclxuICAgICAgICAgICAgOiB0aGlzLnNvbklkcy5pbmNsdWRlcyhpdGVtLmlkKSxcclxuICAgICAgICBkaXNhYmxlZDpcclxuICAgICAgICAgIHRoaXMuY2FjaGVFbnRpdHlUeXBlICYmIHRoaXMuY2FjaGVFbnRpdHlUeXBlICE9PSB0aGlzLmVudGl0eVR5cGVcclxuICAgICAgICAgICAgPyBmYWxzZVxyXG4gICAgICAgICAgICA6IGlzRGlzYWJsZWQsXHJcbiAgICAgIH07XHJcbiAgICB9KTtcclxuXHJcbiAgICB0aGlzLmNhY2hlRW50aXR5VHlwZSA9IGl0ZW0uZW50aXR5VHlwZTtcclxuXHJcbiAgICBpZiAoIWlzSW5pdCkge1xyXG4gICAgICB0aGlzLnNvbklkcyA9IFtdO1xyXG4gICAgICB0aGlzLmdyYW5kc29uTGlzdCA9IFtdO1xyXG4gICAgICB0aGlzLm9yZ2luR3JhbmREYXRhID0gW107XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRBbGwgPSBmYWxzZTtcclxuICAgICAgdGhpcy5pc1NlbGVjdEFsbERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLmNhY2hlRW50aXR5VHlwZSAmJiB0aGlzLmNhY2hlRW50aXR5VHlwZSAhPT0gaXRlbS5lbnRpdHlUeXBlKSB7XHJcbiAgICAgICAgdGhpcy5zb25MaXN0ID0gaXRlbS52aWV3cy5tYXAoKGl0ZW0pID0+IHtcclxuICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIC4uLml0ZW0sXHJcbiAgICAgICAgICAgIGNoZWNrZWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICBkaXNhYmxlZDogZmFsc2UsXHJcbiAgICAgICAgICB9O1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJdGVtQ2hhbmdlKGRhdGEsIHZhbD86IGJvb2xlYW4pIHtcclxuICAgIGlmICghZGF0YSkgcmV0dXJuIGZhbHNlO1xyXG4gICAgaWYgKHZhbCkge1xyXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xyXG4gICAgICAgIGRhdGEuZm9yRWFjaCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgaWYgKCF0aGlzLnNvbklkcy5pbmNsdWRlcyhpdGVtLmlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLnNvbklkcy5wdXNoKGl0ZW0uaWQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbS50YWJsZXMpKSB7XHJcbiAgICAgICAgICAgIGl0ZW0udGFibGVzLmZvckVhY2goKGNoaWxkKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKCF0aGlzLmdyYW5kc29uTGlzdC5zb21lKChlbCkgPT4gZWwuaWQgPT09IGNoaWxkLmlkKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ncmFuZHNvbkxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgICAgIC4uLmNoaWxkLFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBmaW5hbmNpYWwgZmlndXJlcyBjYW7igJl0IGJlIHNlbGVjdGVkIHRvZ2V0aGVyIHdpdGggb3RoZXIgZ3JvdXBzXHJcbiAgICAgICAgaWYgKGRhdGEubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikge1xyXG4gICAgICAgICAgdGhpcy5zb25MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgICAgaWYgKGl0ZW0ubGFuZ0NvZGUgPT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICAhdGhpcy5zb25MaXN0LmZpbmQoXHJcbiAgICAgICAgICAgICAgKGl0ZW0pID0+IGl0ZW0uY2hlY2tlZCAmJiBpdGVtLmxhbmdDb2RlICE9PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCJcclxuICAgICAgICAgICAgKVxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc29uTGlzdC5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgICAgaWYgKGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikgaXRlbS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmlzU2VsZWN0QWxsRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBkYXRhLnRhYmxlcy5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICBpZiAoIXRoaXMuZ3JhbmRzb25MaXN0LnNvbWUoKGVsKSA9PiBlbC5pZCA9PT0gaXRlbS5pZCkpIHtcclxuICAgICAgICAgICAgdGhpcy5ncmFuZHNvbkxpc3QucHVzaCh7XHJcbiAgICAgICAgICAgICAgLi4uaXRlbSxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYgKCF0aGlzLnNvbklkcy5pbmNsdWRlcyhkYXRhLmlkKSkge1xyXG4gICAgICAgICAgdGhpcy5zb25JZHMucHVzaChkYXRhLmlkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JhbmRzb25MaXN0ID0gW107XHJcbiAgICAgIHRoaXMuc29uTGlzdC5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgICAgaWYgKGRhdGEubGFuZ0NvZGUgPT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIikge1xyXG4gICAgICAgICAgaXRlbS5kaXNhYmxlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5pc1NlbGVjdEFsbERpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpdGVtLmlkID09IGRhdGEuaWQpIHtcclxuICAgICAgICAgIGl0ZW0uY2hlY2tlZCA9IHZhbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKGl0ZW0uY2hlY2tlZCkge1xyXG4gICAgICAgICAgaXRlbS50YWJsZXMuZm9yRWFjaCgoc29uSXRlbSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuZ3JhbmRzb25MaXN0LnNvbWUoKGVsKSA9PiBlbC5pZCA9PT0gc29uSXRlbS5pZCkpIHtcclxuICAgICAgICAgICAgICB0aGlzLmdyYW5kc29uTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAgIC4uLnNvbkl0ZW0sXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICAgIGlmIChcclxuICAgICAgICBkYXRhLmxhbmdDb2RlICE9PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIgJiZcclxuICAgICAgICAhdGhpcy5zb25MaXN0LmZpbmQoXHJcbiAgICAgICAgICAoaXRlbSkgPT4gaXRlbS5jaGVja2VkICYmIGl0ZW0ubGFuZ0NvZGUgIT09IFwiRklOQU5DSUFMX0ZJR1VSRVNcIlxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5zb25MaXN0LmZvckVhY2goKG9iaikgPT4ge1xyXG4gICAgICAgICAgaWYgKG9iai5sYW5nQ29kZSA9PT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSBvYmouZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNvbklkcyA9IHRoaXMuc29uSWRzLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAhPSBkYXRhLmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0U2VsZWN0ZWRBbGxTdGF0dXMoKTtcclxuICAgIHRoaXMub3JnaW5HcmFuZERhdGEgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuZ3JhbmRzb25MaXN0KSk7XHJcbiAgICBpZiAoIXRoaXMucmVmW1wiZGVzdHJveWVkXCJdKSB7XHJcbiAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB0aGlzLnJlZi5kZXRlY3RDaGFuZ2VzO1xyXG4gICAgfVxyXG4gIH1cclxuICBzZWxlY3RBbGwodmFsKSB7XHJcbiAgICBpZiAoIXZhbCkge1xyXG4gICAgICB0aGlzLm9yZ2luR3JhbmREYXRhID0gW107XHJcbiAgICB9XHJcbiAgICB0aGlzLmdyYW5kc29uTGlzdCA9IFtdO1xyXG4gICAgdGhpcy5zb25JZHMgPSBbXTtcclxuICAgIHRoaXMuc29uTGlzdC5mb3JFYWNoKChpdGVtKSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLmxhbmdDb2RlICE9PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIpIGl0ZW0uY2hlY2tlZCA9IHZhbDtcclxuICAgICAgaWYgKHZhbCkge1xyXG4gICAgICAgIGlmIChpdGVtLmxhbmdDb2RlID09PSBcIkZJTkFOQ0lBTF9GSUdVUkVTXCIpIHtcclxuICAgICAgICAgIGl0ZW0uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNvbklkcy5wdXNoKGl0ZW0uaWQpO1xyXG4gICAgICAgIGl0ZW0udGFibGVzLmZvckVhY2goKHNvbkl0ZW0pID0+IHtcclxuICAgICAgICAgIGlmICghdGhpcy5ncmFuZHNvbkxpc3Quc29tZSgoZWwpID0+IGVsLmlkID09PSBzb25JdGVtLmlkKSkge1xyXG4gICAgICAgICAgICB0aGlzLmdyYW5kc29uTGlzdC5wdXNoKHtcclxuICAgICAgICAgICAgICAuLi5zb25JdGVtLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBpZiAoaXRlbS5sYW5nQ29kZSA9PT0gXCJGSU5BTkNJQUxfRklHVVJFU1wiKSBpdGVtLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5vcmdpbkdyYW5kRGF0YSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodGhpcy5ncmFuZHNvbkxpc3QpKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkb0ZpbHRlciA9IHRocm90dGxlKCh2YWwpID0+IHRoaXMuZG9TZWFyY2godmFsKSwgMjAwKTtcclxuICBwdWJsaWMgZG9TZWFyY2godmFsKSB7XHJcbiAgICBsZXQgdGVtcExpc3QgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMub3JnaW5HcmFuZERhdGEpKTtcclxuICAgIGlmICh2YWwpIHtcclxuICAgICAgdGhpcy5ncmFuZHNvbkxpc3QgPSB0ZW1wTGlzdC5maWx0ZXIoKGl0ZW0pID0+XHJcbiAgICAgICAgaXRlbS5sYW5nVmFsdWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyh2YWwudG9Mb3dlckNhc2UoKSlcclxuICAgICAgKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZ3JhbmRzb25MaXN0ID0gdGVtcExpc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC8vIOS/neWtmOW8ueeql+etm+mAieaVsOaNrlxyXG4gIHNhdmVEYXRhKCkge1xyXG4gICAgdGhpcy5wYmYuaW50cm9TdGVwLm5leHQoXCJjb21wbGV0ZVwiKTtcclxuICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCBjb25maWc7XHJcbiAgICBsZXQgZGF0YW1hcnRWaWV3Q29kZSA9IHRoaXMuc29uTGlzdC5maWx0ZXIoKGVsKSA9PlxyXG4gICAgICB0aGlzLnNvbklkcy5pbmNsdWRlcyhlbC5pZClcclxuICAgICk7XHJcbiAgICBjb25maWcgPSB7XHJcbiAgICAgIGRhdGFtYXJ0SWQ6IHRoaXMuZmF0aGVySWQsXHJcbiAgICAgIGRhdGFtYXJ0Vmlld0lkOiB0aGlzLnNvbklkcy5qb2luKFwiLFwiKSxcclxuICAgICAgdmlld3M6IGRhdGFtYXJ0Vmlld0NvZGUubWFwKChlKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRhdGFtYXJ0Vmlld0lkOiBlLmlkLFxyXG4gICAgICAgICAgZGF0YW1hcnRWaWV3Q29kZTogZS5sYW5nQ29kZSxcclxuICAgICAgICB9O1xyXG4gICAgICB9KSxcclxuICAgIH07XHJcbiAgICBjb25zdCBlbnRpdHlMaXN0ID1cclxuICAgICAgdGhpcy5kYXRhLmRhc2hib2FyZC5lbnRpdHlUeXBlID09PSB0aGlzLmVudGl0eVR5cGVcclxuICAgICAgICA/IHRoaXMuRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2UuZW50aXR5TGlzdFxyXG4gICAgICAgIDogW107XHJcblxyXG4gICAgY29uc3QgZGF0YU9iaiA9IHtcclxuICAgICAgZW50aXR5TGlzdCxcclxuICAgICAgYWNjb3VudElkOiB0aGlzLnVzZXJJbmZvLmFjY291bnRJZCxcclxuICAgICAgdXNlcklkOiB0aGlzLnVzZXJJbmZvLmlkLFxyXG4gICAgICBkYXNoYm9hcmRJZDogdGhpcy5kYXRhLmRhc2hib2FyZElkLFxyXG4gICAgICBkYXRhTWFydFRhYmxlczogdGhpcy5ncmFuZHNvbkxpc3QsXHJcbiAgICAgIGVudGl0eVR5cGU6IHRoaXMuZW50aXR5VHlwZSB8fCB0aGlzLmRhdGEuZGFzaGJvYXJkLmVudGl0eVR5cGUsXHJcbiAgICAgIGNvbmZpZzogSlNPTi5zdHJpbmdpZnkoY29uZmlnKSxcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5odHRwLnBvc3QodGhpcy5hcGkudXJsTGlzdC5BZGREYXRhTWFydFRhYmxlcywgZGF0YU9iaiwgKHJlcykgPT4ge1xyXG4gICAgICBpZiAocmVzLnN0YXR1cyA9PT0gXCJTVUNDRVNTXCIpIHtcclxuICAgICAgICBjb25zdCBfc2F2ZU1lc3NhZ2UgPVxyXG4gICAgICAgICAgdGhpcy50cmFuc2xhdGlvbi5EQVNIQk9BUkRfUFJPUEVSVElFU19TQVZFRCB8fFxyXG4gICAgICAgICAgXCIuREFTSEJPQVJEX1BST1BFUlRJRVNfU0FWRURcIjtcclxuICAgICAgICB0aGlzLnNob3dUb2FzdChfc2F2ZU1lc3NhZ2UsIFwiU3VjY2Vzc1wiKTtcclxuICAgICAgICB0aGlzLmNvbmZpZy5kYXRhbWFydFZpZXdJZCA9IHRoaXMuc29uSWRzLmpvaW4oXCIsXCIpO1xyXG4gICAgICAgIHRoaXMuY29uZmlnLnZpZXdzID0gW107XHJcbiAgICAgICAgdGhpcy5zb25MaXN0LmZvckVhY2goKGl0ZW0pID0+IHtcclxuICAgICAgICAgIHRoaXMuc29uSWRzLmZvckVhY2goKHNvbklkKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChpdGVtLmlkID09PSBzb25JZCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuY29uZmlnLnZpZXdzLnB1c2goe1xyXG4gICAgICAgICAgICAgICAgZGF0YW1hcnRWaWV3Q29kZTogaXRlbS5sYW5nQ29kZSxcclxuICAgICAgICAgICAgICAgIGRhdGFtYXJ0Vmlld0lkOiBpdGVtLmlkLFxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgdGhpcy5kYXRhLmRhc2hib2FyZC5jb25maWcgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmNvbmZpZyk7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YS5lZGl0KSB7XHJcbiAgICAgICAgICB0aGlzLkRhc2hib2FyZFBvcmxldHNTZXJ2aWNlLnBvcnRsZXRGaWVsZHNfVGVtcCA9IHt9O1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoXHJcbiAgICAgICAgICBlbnRpdHlMaXN0ICYmXHJcbiAgICAgICAgICBlbnRpdHlMaXN0Lmxlbmd0aCAmJlxyXG4gICAgICAgICAgdGhpcy5kYXRhLmRhc2hib2FyZC5lbnRpdHlUeXBlID09PSB0aGlzLmVudGl0eVR5cGVcclxuICAgICAgICApIHtcclxuICAgICAgICAgIHRoaXMucGJmLnRyaWdnZXJEYXNoYm9hcmRSZWZyZXNoLm5leHQoe1xyXG4gICAgICAgICAgICBlbnRpdHlMaXN0LFxyXG4gICAgICAgICAgICBpZDogdGhpcy5kYXRhLmRhc2hib2FyZC5pZCxcclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuRGFzaGJvYXJkUG9ybGV0c1NlcnZpY2UuR2V0RGFzaGJvYXJkVjEoXHJcbiAgICAgICAgICB0aGlzLmRhdGEuZGFzaGJvYXJkSWQsXHJcbiAgICAgICAgICB0cnVlLFxyXG4gICAgICAgICAgKHJlcywgcG9ydGxldHMgPSBbXSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmRhc2hib2FyZFNlcnZpY2UuY2hhbmdlbGF5b3V0Lm5leHQoe1xyXG4gICAgICAgICAgICAgIHN0YXR1czogXCJ0cnVlXCIsXHJcbiAgICAgICAgICAgICAgaWQ6IHRoaXMuZGF0YS5kYXNoYm9hcmQuaWQsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLnBiZi5wYWdlTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSh7XHJcbiAgICAgICAgICAgICAgcHVzaF9idG46IGZhbHNlLFxyXG4gICAgICAgICAgICAgIHBvcnRsZXQ6IHt9LFxyXG4gICAgICAgICAgICAgIHBvcnRsZXRzLFxyXG4gICAgICAgICAgICAgIGRhc2hib2FyZDogcmVzLFxyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgdGhpcy5yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnBiZi5wYWdlTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMucGJmLnBhZ2VMb2FkaW5nXy5uZXh0KHRydWUpO1xyXG4gICAgICAgIHRoaXMucmVmLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICAgIGNvbnN0IF9zYXZlTWVzc2FnZSA9IHJlcy5tZXNzYWdlc1swXS5tZXNzYWdlIHx8IFwiZXJyb3JcIjtcclxuICAgICAgICB0aGlzLnNob3dUb2FzdChfc2F2ZU1lc3NhZ2UsIFwiRXJyb3JcIik7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICAvLyB0b2FzdCBtc2dcclxuICBwdWJsaWMgc2hvd1RvYXN0KG1zZywgc3RhdHVzOiBcIlN1Y2Nlc3NcIiB8IFwiRXJyb3JcIikge1xyXG4gICAgdGhpcy5kaWFsb2dTZXJ2aWNlLnNob3dOb3RpZmljYXRpb24obXNnLCB7XHJcbiAgICAgIHN0YXR1cyxcclxuICAgIH0pO1xyXG4gIH1cclxuICAvLyDlhbPpl63lvLnnqpdcclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|