@po-ui/ng-components 15.3.0 → 15.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs +4 -1
- package/esm2020/lib/components/po-image/po-image.component.mjs +1 -1
- package/esm2020/lib/components/po-table/po-table-base.component.mjs +2 -27
- package/esm2020/lib/components/po-table/po-table-column-label/po-table-column-label.component.mjs +9 -26
- package/esm2020/lib/components/po-table/po-table-column-label/po-table-column-label.interface.mjs +1 -1
- package/esm2020/lib/components/po-table/po-table.component.mjs +15 -21
- package/esm2020/lib/utils/util.mjs +35 -1
- package/fesm2015/po-ui-ng-components.mjs +54 -67
- package/fesm2015/po-ui-ng-components.mjs.map +1 -1
- package/fesm2020/po-ui-ng-components.mjs +54 -65
- package/fesm2020/po-ui-ng-components.mjs.map +1 -1
- package/lib/components/po-table/po-table-base.component.d.ts +0 -1
- package/lib/components/po-table/po-table-column-label/po-table-column-label.component.d.ts +1 -7
- package/lib/components/po-table/po-table-column-label/po-table-column-label.interface.d.ts +83 -0
- package/lib/components/po-table/po-table.component.d.ts +2 -3
- package/lib/utils/util.d.ts +20 -0
- package/package.json +4 -4
- package/po-ui-ng-components-15.4.0.tgz +0 -0
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-update/v14/index.js +1 -1
- package/schematics/ng-update/v15/index.js +1 -1
- package/schematics/ng-update/v2/index.js +1 -1
- package/schematics/ng-update/v3/index.js +1 -1
- package/schematics/ng-update/v4/index.js +1 -1
- package/schematics/ng-update/v5/index.js +1 -1
- package/schematics/ng-update/v6/index.js +1 -1
- package/po-ui-ng-components-15.3.0.tgz +0 -0
package/esm2020/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.mjs
CHANGED
|
@@ -4,6 +4,7 @@ import { debounceTime, filter, switchMap, tap } from 'rxjs/operators';
|
|
|
4
4
|
import { PoLookupModalBaseComponent } from '../po-lookup-modal/po-lookup-modal-base.component';
|
|
5
5
|
import { PoDynamicFormComponent } from './../../../po-dynamic/po-dynamic-form/po-dynamic-form.component';
|
|
6
6
|
import { PoTableComponent } from './../../../po-table/po-table.component';
|
|
7
|
+
import { sortArrayOfObjects } from '../../../../utils/util';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
9
|
import * as i1 from "./../../../../services/po-language/po-language.service";
|
|
9
10
|
import * as i2 from "@angular/common";
|
|
@@ -97,6 +98,8 @@ export class PoLookupModalComponent extends PoLookupModalBaseComponent {
|
|
|
97
98
|
this.poModal.open();
|
|
98
99
|
}
|
|
99
100
|
sortBy(sort) {
|
|
101
|
+
const order = sort.type === 'ascending' ? true : false;
|
|
102
|
+
sortArrayOfObjects(this.items, sort.column.property, order);
|
|
100
103
|
this.sort = sort;
|
|
101
104
|
}
|
|
102
105
|
destroyDynamicForm() {
|
|
@@ -211,4 +214,4 @@ PoLookupModalComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoLo
|
|
|
211
214
|
type: ViewChild,
|
|
212
215
|
args: ['container', { read: ViewContainerRef }]
|
|
213
216
|
}] }); })();
|
|
214
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLW1vZGFsL3BvLWxvb2t1cC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tbG9va3VwL3BvLWxvb2t1cC1tb2RhbC9wby1sb29rdXAtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBS1QsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ01wRSwrQkFBNkYsZUFBQTtJQUl6RixpS0FBUyxlQUFBLHlCQUFrQixDQUFBLElBQUMsb0tBQ1gsZUFBQSx5QkFBa0IsQ0FBQSxJQURQO0lBSTVCLFlBQ0Y7SUFBQSxpQkFBTyxFQUFBOzs7SUFETCxlQUNGO0lBREUsb0VBQ0Y7Ozs7SUFLSiwrQ0FNQztJQURDLHlNQUFZLGVBQUEsaUNBQXlCLENBQUEsSUFBQztJQUV4QyxpQkFBc0I7OztJQUpwQiwwR0FBOEMsaUZBQUE7Ozs7SUFr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LFNBQVM7bUJBQUMsV0FBVztZQUM4QixTQUFTO2tCQUE1RCxTQUFTO21CQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5Tb3J0IH0gZnJvbSAnLi4vLi4vLi4vcG8tdGFibGUvaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4tc29ydC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBQb0xvb2t1cE1vZGFsQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3BvLWxvb2t1cC1tb2RhbC9wby1sb29rdXAtbW9kYWwtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uL3BvLWR5bmFtaWMvcG8tZHluYW1pYy1mb3JtL3BvLWR5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi8uLi9wby10YWJsZS9wby10YWJsZS5jb21wb25lbnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkb2NzUHJpdmF0ZVxyXG4gKlxyXG4gKiBAZG9jc0V4dGVuZHMgUG9Mb29rdXBNb2RhbEJhc2VDb21wb25lbnRcclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAncG8tbG9va3VwLW1vZGFsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG8tbG9va3VwLW1vZGFsLmNvbXBvbmVudC5odG1sJyxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUG9Mb29rdXBNb2RhbENvbXBvbmVudCBleHRlbmRzIFBvTG9va3VwTW9kYWxCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcclxuICBAVmlld0NoaWxkKFBvVGFibGVDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIHBvVGFibGU6IFBvVGFibGVDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnaW5wc2VhcmNoJykgaW5wdXRTZWFyY2hFbDogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdjb250YWluZXInLCB7IHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgY29udGFpbmVyOiBWaWV3Q29udGFpbmVyUmVmO1xyXG5cclxuICBrZXlVcE9ic2VydmFibGU6IE9ic2VydmFibGU8YW55PiA9IG51bGw7XHJcblxyXG4gIGNvbnRhaW5lckhlaWdodDogbnVtYmVyID0gMzc1O1xyXG4gIHRhYmxlSGVpZ2h0OiBudW1iZXI7XHJcblxyXG4gIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFBvRHluYW1pY0Zvcm1Db21wb25lbnQ+O1xyXG4gIGR5bmFtaWNGb3JtOiBOZ0Zvcm07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjb21wb25lbnRGYWN0b3J5OiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXHJcbiAgICBwb0xhbmd1YWdlOiBQb0xhbmd1YWdlU2VydmljZSxcclxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZlxyXG4gICkge1xyXG4gICAgc3VwZXIocG9MYW5ndWFnZSwgY2hhbmdlRGV0ZWN0b3IpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5zZXRUYWJsZUhlaWdodCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5pbml0aWFsaXplRXZlbnRJbnB1dCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gU2VsZWNpb25hIHVtIGl0ZW0gbmEgdGFiZWxhXHJcbiAgb25TZWxlY3QoaXRlbSkge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZHMgPSBbLi4udGhpcy5zZWxlY3RlZHMsIHsgdmFsdWU6IGl0ZW1bdGhpcy5maWVsZFZhbHVlXSwgbGFiZWw6IGl0ZW1bdGhpcy5maWVsZExhYmVsXSwgLi4uaXRlbSB9XTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRzID0gW3sgdmFsdWU6IGl0ZW1bdGhpcy5maWVsZFZhbHVlXSwgbGFiZWw6IGl0ZW1bdGhpcy5maWVsZExhYmVsXSwgLi4uaXRlbSB9XTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIFJlbW92ZSBhIHNlbGXDp8OjbyBkZSB1bSBpdGVtIG5hIHRhYmVsYVxyXG4gIG9uVW5zZWxlY3QodW5zZWxlY3RlZEl0ZW0pIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRzID0gdGhpcy5zZWxlY3RlZHMuZmlsdGVyKGl0ZW1TZWxlY3RlZCA9PiBpdGVtU2VsZWN0ZWQudmFsdWUgIT09IHVuc2VsZWN0ZWRJdGVtW3RoaXMuZmllbGRWYWx1ZV0pO1xyXG4gIH1cclxuXHJcbiAgb25VbnNlbGVjdEZyb21EaXNjbGFpbWVyKHJlbW92ZWREaXNjbGFpbWVyKSB7XHJcbiAgICB0aGlzLnBvVGFibGUudW5zZWxlY3RSb3dJdGVtKGl0ZW0gPT4gaXRlbVt0aGlzLmZpZWxkVmFsdWVdID09PSByZW1vdmVkRGlzY2xhaW1lci52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICAvLyBTZWxlY2lvbmEgdG9kb3Mgb3MgaXRlbnMgdmlzw612ZWlzIG5hIHRhYmVsYVxyXG4gIG9uQWxsU2VsZWN0ZWQoaXRlbXMpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRzID0gaXRlbXMubWFwKGl0ZW0gPT4gKHsgdmFsdWU6IGl0ZW1bdGhpcy5maWVsZFZhbHVlXSwgbGFiZWw6IGl0ZW1bdGhpcy5maWVsZExhYmVsXSwgLi4uaXRlbSB9KSk7XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgYSBzZWxlw6fDo28gZGUgdG9kb3Mgb3MgaXRlbnMgdmlzw612ZWlzIG5hIHRhYmVsYVxyXG4gIG9uQWxsVW5zZWxlY3RlZChpdGVtcykge1xyXG4gICAgdGhpcy5wb1RhYmxlLnVuc2VsZWN0Um93cygpO1xyXG4gICAgdGhpcy5zZWxlY3RlZHMgPSBbXTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVFdmVudElucHV0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5rZXlVcE9ic2VydmFibGUgPSBmcm9tRXZlbnQodGhpcy5pbnB1dFNlYXJjaEVsLm5hdGl2ZUVsZW1lbnQsICdrZXl1cCcpLnBpcGUoXHJcbiAgICAgIGZpbHRlcigoZTogYW55KSA9PiB0aGlzLnZhbGlkYXRlRW50ZXJQcmVzc2VkKGUpKSxcclxuICAgICAgZGVib3VuY2VUaW1lKDQwMClcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5rZXlVcE9ic2VydmFibGUuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5zZWFyY2goKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3Blbk1vZGFsKCkge1xyXG4gICAgdGhpcy5wb01vZGFsLm9wZW4oKTtcclxuICB9XHJcblxyXG4gIHNvcnRCeShzb3J0OiBQb1RhYmxlQ29sdW1uU29ydCkge1xyXG4gICAgdGhpcy5zb3J0ID0gc29ydDtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3lEeW5hbWljRm9ybSgpIHtcclxuICAgIGlmICh0aGlzLmNvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLmNvbXBvbmVudFJlZi5kZXN0cm95KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkFkdmFuY2VkRmlsdGVyKCkge1xyXG4gICAgdGhpcy5zZXR1cE1vZGFsQWR2YW5jZWRGaWx0ZXIoKTtcclxuICAgIHRoaXMuY3JlYXRlRHluYW1pY0Zvcm0oKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0VGFibGVIZWlnaHQoKSB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZHM/Lmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICAgIHRoaXMudGFibGVIZWlnaHQgPSAzMDA7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy50YWJsZUhlaWdodCA9IDM3MDtcclxuICAgICAgICB0aGlzLmNvbnRhaW5lckhlaWdodCA9IDM3NTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIHByZWNpc2Egc2VyIDMxNSBwb3IgYXMgbGluaGFzIHRlcmVtIGFsdHVyYSBkZSAzMnB4IChxdWFuZG8gdGVsYSBtZW5vciBxdWUgMTM2NnB4KS5cclxuICAgIC8vIE8gcmV0b3JubyBwYWRyw6NvIMOpIDEwIGl0ZW5zIGZhemVuZG8gY29tIHF1ZSBnZXJlIHNjcm9sbCBjYXNvIGhvdXZlciBwYWdpbmHDp8OjbywgMzcwIG7Do28gZ2VyYXZhLlxyXG4gICAgdGhpcy50YWJsZUhlaWdodCA9IHRoaXMuaW5maW5pdGVTY3JvbGwgPyAzMTUgOiAzNzA7XHJcbiAgICBpZiAod2luZG93LmlubmVySGVpZ2h0IDwgNjE1KSB7XHJcbiAgICAgIHRoaXMudGFibGVIZWlnaHQgLT0gNTA7XHJcbiAgICAgIHRoaXMuY29udGFpbmVySGVpZ2h0IC09IDUwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB2YWxpZGF0ZUVudGVyUHJlc3NlZChlOiBhbnkpIHtcclxuICAgIHJldHVybiBlLmtleUNvZGUgPT09IDEzO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cE1vZGFsQWR2YW5jZWRGaWx0ZXIoKSB7XHJcbiAgICB0aGlzLmR5bmFtaWNGb3JtVmFsdWUgPSB7fTtcclxuICAgIHRoaXMuaXNBZHZhbmNlZEZpbHRlciA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUR5bmFtaWNGb3JtKCkge1xyXG4gICAgY29uc3QgY29tcG9uZW50ID0gdGhpcy5jb21wb25lbnRGYWN0b3J5LnJlc29sdmVDb21wb25lbnRGYWN0b3J5KFBvRHluYW1pY0Zvcm1Db21wb25lbnQpO1xyXG5cclxuICAgIHRoaXMuY29tcG9uZW50UmVmID0gdGhpcy5jb250YWluZXIuY3JlYXRlQ29tcG9uZW50PFBvRHluYW1pY0Zvcm1Db21wb25lbnQ+KGNvbXBvbmVudCk7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5maWVsZHMgPSB0aGlzLmFkdmFuY2VkRmlsdGVycztcclxuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnZhbHVlID0gdGhpcy5keW5hbWljRm9ybVZhbHVlO1xyXG5cclxuICAgIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLmZvcm1PdXRwdXRcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgdGFwKGZvcm0gPT4ge1xyXG4gICAgICAgICAgdGhpcy5keW5hbWljRm9ybSA9IGZvcm07XHJcbiAgICAgICAgICB0aGlzLnByaW1hcnlBY3Rpb25BZHZhbmNlZEZpbHRlci5kaXNhYmxlZCA9IHRoaXMuZHluYW1pY0Zvcm0uaW52YWxpZDtcclxuICAgICAgICB9KSxcclxuICAgICAgICBzd2l0Y2hNYXAoZm9ybSA9PiBmb3JtLnZhbHVlQ2hhbmdlcylcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnByaW1hcnlBY3Rpb25BZHZhbmNlZEZpbHRlci5kaXNhYmxlZCA9IHRoaXMuZHluYW1pY0Zvcm0uaW52YWxpZDtcclxuICAgICAgfSk7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxufVxyXG4iLCI8cG8tbW9kYWxcclxuICBwLWNsaWNrLW91dD1cImZhbHNlXCJcclxuICBwLWhpZGUtY2xvc2U9XCJmYWxzZVwiXHJcbiAgcC1zaXplPVwibGdcIlxyXG4gIFtwLXByaW1hcnktYWN0aW9uXT1cImlzQWR2YW5jZWRGaWx0ZXIgPyBwcmltYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIgOiBwcmltYXJ5QWN0aW9uXCJcclxuICBbcC1zZWNvbmRhcnktYWN0aW9uXT1cImlzQWR2YW5jZWRGaWx0ZXIgPyBzZWNvbmRhcnlBY3Rpb25BZHZhbmNlZEZpbHRlciA6IHNlY29uZGFyeUFjdGlvblwiXHJcbiAgW3AtdGl0bGVdPVwiaXNBZHZhbmNlZEZpbHRlciA/IGFkdmFuY2VkRmlsdGVyTW9kYWxUaXRsZSA6IHRpdGxlXCJcclxuPlxyXG4gIDxkaXYgW2hpZGRlbl09XCJpc0FkdmFuY2VkRmlsdGVyXCI+XHJcbiAgICA8cG8tZmllbGQtY29udGFpbmVyIGNsYXNzPVwicG8tbG9va3VwLWhlYWRlciBwby1wdWxsLXJpZ2h0XCIgW3Atb3B0aW9uYWxdPVwiZmFsc2VcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBvLWxvb2t1cC1maWx0ZXItY29udGVudFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJwby1maWVsZC1pY29uLWNvbnRhaW5lci1yaWdodFwiPlxyXG4gICAgICAgICAgPHNwYW4gI2ljb25Mb29rdXAgY2xhc3M9XCJwby1pY29uIHBvLWZpZWxkLWljb24gcG8taWNvbi1zZWFyY2ggcG8taWNvbi1pbnB1dFwiIChjbGljayk9XCJzZWFyY2goKVwiPiA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgI2lucHNlYXJjaFxyXG4gICAgICAgICAgY2xhc3M9XCJwby1pbnB1dCBwby1pbnB1dC1pY29uLXJpZ2h0XCJcclxuICAgICAgICAgIG5hbWU9XCJjb250ZW50U2VhcmNoXCJcclxuICAgICAgICAgIFsobmdNb2RlbCldPVwic2VhcmNoVmFsdWVcIlxyXG4gICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxpdGVyYWxzLm1vZGFsUGxhY2Vob2xkZXJcIlxyXG4gICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgIC8+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiAqbmdJZj1cImFkdmFuY2VkRmlsdGVycyAmJiBhZHZhbmNlZEZpbHRlcnMubGVuZ3RoID4gMFwiIGNsYXNzPVwicG8tbG9va3VwLWFkdmFuY2VkLXNlYXJjaFwiPlxyXG4gICAgICAgIDxzcGFuXHJcbiAgICAgICAgICBjbGFzcz1cInBvLWxvb2t1cC1hZHZhbmNlZC1zZWFyY2gtbGluayBwby1pY29uLWlucHV0XCJcclxuICAgICAgICAgIHRhYmluZGV4PVwiMFwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25BZHZhbmNlZEZpbHRlcigpXCJcclxuICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9uQWR2YW5jZWRGaWx0ZXIoKVwiXHJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IGxpdGVyYWxzLm1vZGFsQWR2YW5jZWRTZWFyY2ggfX1cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9wby1maWVsZC1jb250YWluZXI+XHJcblxyXG4gICAgPCEtLSBESVNDTEFJTUVSIC0tPlxyXG4gICAgPHBvLWRpc2NsYWltZXItZ3JvdXBcclxuICAgICAgKm5nSWY9XCIhIWRpc2NsYWltZXJHcm91cFwiXHJcbiAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxyXG4gICAgICBbcC1kaXNjbGFpbWVyc109XCJkaXNjbGFpbWVyR3JvdXA/LmRpc2NsYWltZXJzXCJcclxuICAgICAgW3AtdGl0bGVdPVwiZGlzY2xhaW1lckdyb3VwPy50aXRsZVwiXHJcbiAgICAgIChwLWNoYW5nZSk9XCJvbkNoYW5nZURpc2NsYWltZXJHcm91cCgpXCJcclxuICAgID5cclxuICAgIDwvcG8tZGlzY2xhaW1lci1ncm91cD5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicG8tcm93IHBvLWxvb2t1cC1jb250YWluZXItdGFibGVcIiBbc3R5bGUuaGVpZ2h0LnB4XT1cImNvbnRhaW5lckhlaWdodFwiPlxyXG4gICAgICA8cG8tdGFibGVcclxuICAgICAgICAjcG9UYWJsZVxyXG4gICAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxyXG4gICAgICAgIFtwLXNlbGVjdGFibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3AtaGlkZS1kZXRhaWxdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3Atc2luZ2xlLXNlbGVjdF09XCIhbXVsdGlwbGVcIlxyXG4gICAgICAgIFtwLXNvcnRdPVwidHJ1ZVwiXHJcbiAgICAgICAgW3AtY29sdW1uc109XCJjb2x1bW5zXCJcclxuICAgICAgICBbcC1oZWlnaHRdPVwidGFibGVIZWlnaHRcIlxyXG4gICAgICAgIFtwLWl0ZW1zXT1cIml0ZW1zXCJcclxuICAgICAgICBbcC1saXRlcmFsc109XCJ0YWJsZUxpdGVyYWxzXCJcclxuICAgICAgICBbcC1sb2FkaW5nXT1cImlzTG9hZGluZ1wiXHJcbiAgICAgICAgW3Atc2hvdy1tb3JlLWRpc2FibGVkXT1cIiFoYXNOZXh0XCJcclxuICAgICAgICBbcC1pbmZpbml0ZS1zY3JvbGxdPVwiaW5maW5pdGVTY3JvbGxcIlxyXG4gICAgICAgIChwLXNlbGVjdGVkKT1cIm9uU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgIChwLXVuc2VsZWN0ZWQpPVwib25VbnNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAocC1hbGwtc2VsZWN0ZWQpPVwib25BbGxTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAocC1hbGwtdW5zZWxlY3RlZCk9XCJvbkFsbFVuc2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHAtc2hvdy1tb3JlKT1cInNob3dNb3JlRXZlbnQoKVwiXHJcbiAgICAgICAgKHAtc29ydC1ieSk9XCJzb3J0QnkoJGV2ZW50KVwiXHJcbiAgICAgICAgKHAtY2hhbmdlLXZpc2libGUtY29sdW1ucyk9XCJjaGFuZ2VWaXNpYmxlQ29sdW1ucy5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChwLXJlc3RvcmUtY29sdW1uLW1hbmFnZXIpPVwiY29sdW1uUmVzdG9yZU1hbmFnZXIuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgPlxyXG4gICAgICA8L3BvLXRhYmxlPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSBESVNDTEFJTUVSIC0tPlxyXG4gICAgPHBvLWRpc2NsYWltZXItZ3JvdXBcclxuICAgICAgKm5nSWY9XCJtdWx0aXBsZVwiXHJcbiAgICAgIGNsYXNzPVwicG8tbWQtMTJcIlxyXG4gICAgICBbcC1kaXNjbGFpbWVyc109XCJzZWxlY3RlZHNcIlxyXG4gICAgICAocC1yZW1vdmUpPVwib25VbnNlbGVjdEZyb21EaXNjbGFpbWVyKCRldmVudC5yZW1vdmVkRGlzY2xhaW1lcilcIlxyXG4gICAgICAocC1yZW1vdmUtYWxsKT1cIm9uQWxsVW5zZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgID5cclxuICAgIDwvcG8tZGlzY2xhaW1lci1ncm91cD5cclxuICA8L2Rpdj5cclxuICA8ZGl2IFtoaWRkZW5dPVwiIWlzQWR2YW5jZWRGaWx0ZXJcIj5cclxuICAgIDxuZy1jb250YWluZXIgI2NvbnRhaW5lcj4gPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvcG8tbW9kYWw+XHJcbiJdfQ==
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tbG9va3VwLW1vZGFsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1maWVsZC9wby1sb29rdXAvcG8tbG9va3VwLW1vZGFsL3BvLWxvb2t1cC1tb2RhbC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tbG9va3VwL3BvLWxvb2t1cC1tb2RhbC9wby1sb29rdXAtbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLHVCQUF1QixFQUV2QixTQUFTLEVBS1QsU0FBUyxFQUNULGdCQUFnQixFQUNqQixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUUvRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxpRUFBaUUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0t0RCwrQkFBNkYsZUFBQTtJQUl6RixpS0FBUyxlQUFBLHlCQUFrQixDQUFBLElBQUMsb0tBQ1gsZUFBQSx5QkFBa0IsQ0FBQSxJQURQO0lBSTVCLFlBQ0Y7SUFBQSxpQkFBTyxFQUFBOzs7SUFETCxlQUNGO0lBREUsb0VBQ0Y7Ozs7SUFLSiwrQ0FNQztJQURDLHlNQUFZLGVBQUEsaUNBQXlCLENBQUEsSUFBQztJQUV4QyxpQkFBc0I7OztJQUpwQiwwR0FBOEMsaUZBQUE7Ozs7SUFrQ2hELCtDQU1DO0lBRkMsK01BQVksZUFBQSwwREFBa0QsQ0FBQSxJQUFDLDBNQUMvQyxlQUFBLCtCQUF1QixDQUFBLElBRHdCO0lBR2pFLGlCQUFzQjs7O0lBSnBCLGdEQUEyQjs7QUR6RGpDOzs7O0dBSUc7QUFNSCxNQUFNLE9BQU8sc0JBQXVCLFNBQVEsMEJBQTBCO0lBYXBFLFlBQ1UsZ0JBQTBDLEVBQ2xELFVBQTZCLEVBQzdCLGNBQWlDO1FBRWpDLEtBQUssQ0FBQyxVQUFVLEVBQUUsY0FBYyxDQUFDLENBQUM7UUFKMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUEwQjtRQVRwRCxvQkFBZSxHQUFvQixJQUFJLENBQUM7UUFFeEMsb0JBQWUsR0FBVyxHQUFHLENBQUM7SUFZOUIsQ0FBQztJQUVELFFBQVE7UUFDTixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELDhCQUE4QjtJQUM5QixRQUFRLENBQUMsSUFBSTtRQUNYLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQy9HO2FBQU07WUFDTCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUM7U0FDNUY7SUFDSCxDQUFDO0lBRUQsd0NBQXdDO0lBQ3hDLFVBQVUsQ0FBQyxjQUFjO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsS0FBSyxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztJQUNqSCxDQUFDO0lBRUQsd0JBQXdCLENBQUMsaUJBQWlCO1FBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxRixDQUFDO0lBRUQsOENBQThDO0lBQzlDLGFBQWEsQ0FBQyxLQUFLO1FBQ2pCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNoSCxDQUFDO0lBRUQsd0RBQXdEO0lBQ3hELGVBQWUsQ0FBQyxLQUFLO1FBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzlFLE1BQU0sQ0FBQyxDQUFDLENBQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQ2hELFlBQVksQ0FBQyxHQUFHLENBQUMsQ0FDbEIsQ0FBQztRQUVGLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsU0FBUztRQUNQLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUF1QjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDdkQsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUU1RCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7YUFDeEI7aUJBQU07Z0JBQ0wsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxlQUFlLEdBQUcsR0FBRyxDQUFDO2FBQzVCO1NBQ0Y7UUFFRCxxRkFBcUY7UUFDckYsaUdBQWlHO1FBQ2pHLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7UUFDbkQsSUFBSSxNQUFNLENBQUMsV0FBVyxHQUFHLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsZUFBZSxJQUFJLEVBQUUsQ0FBQztTQUM1QjtJQUNILENBQUM7SUFFTyxvQkFBb0IsQ0FBQyxDQUFNO1FBQ2pDLE9BQU8sQ0FBQyxDQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLHdCQUF3QjtRQUM5QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUV4RixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUF5QixTQUFTLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQztRQUN6RCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDO1FBRXpELElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFVBQVU7YUFDbEMsSUFBSSxDQUNILEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNULElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO1lBQ3hCLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUM7UUFDdkUsQ0FBQyxDQUFDLEVBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUNyQzthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsMkJBQTJCLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNyQyxDQUFDOzs0RkEzSVUsc0JBQXNCO3lFQUF0QixzQkFBc0I7dUJBQ3RCLGdCQUFnQjs7K0JBRUssZ0JBQWdCOzs7Ozs7O1FDbkNsRCxtQ0FPQyxhQUFBLDRCQUFBLGFBQUEsYUFBQSxpQkFBQTtRQUtzRixpR0FBUyxZQUFRLElBQUM7UUFBRSxpQkFBTyxFQUFBO1FBRzFHLG1DQU9FO1FBSEEsb0pBQXlCO1FBSjNCLGlCQU9FLEVBQUE7UUFHSix1RUFVTTtRQUNSLGlCQUFxQjtRQUdyQiwwR0FPc0I7UUFFdEIsZ0NBQWtGLHdCQUFBO1FBZTlFLHNIQUFjLG9CQUFnQixJQUFDLDZHQUNmLHNCQUFrQixJQURILGlIQUViLHlCQUFxQixJQUZSLHFIQUdYLDJCQUF1QixJQUhaLHFHQUloQixtQkFBZSxJQUpDLHVHQUtsQixrQkFBYyxJQUxJLHFJQU1ILHFDQUFpQyxJQU45QixxSUFPSCxxQ0FBaUMsSUFQOUI7UUFTakMsaUJBQVcsRUFBQTtRQUliLDBHQU9zQjtRQUN4QixpQkFBTTtRQUNOLCtCQUFrQztRQUNoQyxtQ0FBeUM7UUFDM0MsaUJBQU0sRUFBQTs7UUFuRk4sNkdBQW1GLHNHQUFBLDRFQUFBO1FBSTlFLGVBQTJCO1FBQTNCLDZDQUEyQjtRQUM2QixlQUFvQjtRQUFwQixrQ0FBb0I7UUFVekUsZUFBeUI7UUFBekIseUNBQXlCLDhDQUFBO1FBTXZCLGVBQW1EO1FBQW5ELDRFQUFtRDtRQWV4RCxlQUF1QjtRQUF2Qiw0Q0FBdUI7UUFRb0IsZUFBbUM7UUFBbkMsbURBQW1DO1FBSTdFLGVBQXFCO1FBQXJCLG1DQUFxQix1QkFBQSxrQ0FBQSxnQkFBQSwwQkFBQSw2QkFBQSxzQkFBQSxpQ0FBQSw0QkFBQSxzQ0FBQSx5Q0FBQTtRQXlCdEIsZUFBYztRQUFkLG1DQUFjO1FBUWQsZUFBNEI7UUFBNUIsOENBQTRCOzt1RkRyRHRCLHNCQUFzQjtjQUxsQyxTQUFTOzJCQUNFLGlCQUFpQixtQkFFVix1QkFBdUIsQ0FBQyxNQUFNOzJJQUdBLE9BQU87a0JBQXJELFNBQVM7bUJBQUMsZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ3JCLGFBQWE7a0JBQXBDLFNBQVM7bUJBQUMsV0FBVztZQUM4QixTQUFTO2tCQUE1RCxTQUFTO21CQUFDLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJWaWV3SW5pdCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NvbnRhaW5lclJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ0Zvcm0gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IGZyb21FdmVudCwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGZpbHRlciwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5Tb3J0IH0gZnJvbSAnLi4vLi4vLi4vcG8tdGFibGUvaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4tc29ydC5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBQb0xvb2t1cE1vZGFsQmFzZUNvbXBvbmVudCB9IGZyb20gJy4uL3BvLWxvb2t1cC1tb2RhbC9wby1sb29rdXAtbW9kYWwtYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4vLi4vLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvRHluYW1pY0Zvcm1Db21wb25lbnQgfSBmcm9tICcuLy4uLy4uLy4uL3BvLWR5bmFtaWMvcG8tZHluYW1pYy1mb3JtL3BvLWR5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQb1RhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi8uLi8uLi8uLi9wby10YWJsZS9wby10YWJsZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBzb3J0QXJyYXlPZk9iamVjdHMgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy91dGlsJztcclxuXHJcbi8qKlxyXG4gKiBAZG9jc1ByaXZhdGVcclxuICpcclxuICogQGRvY3NFeHRlbmRzIFBvTG9va3VwTW9kYWxCYXNlQ29tcG9uZW50XHJcbiAqL1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BvLWxvb2t1cC1tb2RhbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLWxvb2t1cC1tb2RhbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvTG9va3VwTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBQb0xvb2t1cE1vZGFsQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgQFZpZXdDaGlsZChQb1RhYmxlQ29tcG9uZW50LCB7IHN0YXRpYzogdHJ1ZSB9KSBwb1RhYmxlOiBQb1RhYmxlQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2lucHNlYXJjaCcpIGlucHV0U2VhcmNoRWw6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnY29udGFpbmVyJywgeyByZWFkOiBWaWV3Q29udGFpbmVyUmVmIH0pIGNvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZjtcclxuXHJcbiAga2V5VXBPYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT4gPSBudWxsO1xyXG5cclxuICBjb250YWluZXJIZWlnaHQ6IG51bWJlciA9IDM3NTtcclxuICB0YWJsZUhlaWdodDogbnVtYmVyO1xyXG5cclxuICBjb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxQb0R5bmFtaWNGb3JtQ29tcG9uZW50PjtcclxuICBkeW5hbWljRm9ybTogTmdGb3JtO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeTogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcG9MYW5ndWFnZTogUG9MYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWZcclxuICApIHtcclxuICAgIHN1cGVyKHBvTGFuZ3VhZ2UsIGNoYW5nZURldGVjdG9yKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuc2V0VGFibGVIZWlnaHQoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuaW5pdGlhbGl6ZUV2ZW50SW5wdXQoKTtcclxuICB9XHJcblxyXG4gIC8vIFNlbGVjaW9uYSB1bSBpdGVtIG5hIHRhYmVsYVxyXG4gIG9uU2VsZWN0KGl0ZW0pIHtcclxuICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRzID0gWy4uLnRoaXMuc2VsZWN0ZWRzLCB7IHZhbHVlOiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0sIGxhYmVsOiBpdGVtW3RoaXMuZmllbGRMYWJlbF0sIC4uLml0ZW0gfV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkcyA9IFt7IHZhbHVlOiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0sIGxhYmVsOiBpdGVtW3RoaXMuZmllbGRMYWJlbF0sIC4uLml0ZW0gfV07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBSZW1vdmUgYSBzZWxlw6fDo28gZGUgdW0gaXRlbSBuYSB0YWJlbGFcclxuICBvblVuc2VsZWN0KHVuc2VsZWN0ZWRJdGVtKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkcyA9IHRoaXMuc2VsZWN0ZWRzLmZpbHRlcihpdGVtU2VsZWN0ZWQgPT4gaXRlbVNlbGVjdGVkLnZhbHVlICE9PSB1bnNlbGVjdGVkSXRlbVt0aGlzLmZpZWxkVmFsdWVdKTtcclxuICB9XHJcblxyXG4gIG9uVW5zZWxlY3RGcm9tRGlzY2xhaW1lcihyZW1vdmVkRGlzY2xhaW1lcikge1xyXG4gICAgdGhpcy5wb1RhYmxlLnVuc2VsZWN0Um93SXRlbShpdGVtID0+IGl0ZW1bdGhpcy5maWVsZFZhbHVlXSA9PT0gcmVtb3ZlZERpc2NsYWltZXIudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgLy8gU2VsZWNpb25hIHRvZG9zIG9zIGl0ZW5zIHZpc8OtdmVpcyBuYSB0YWJlbGFcclxuICBvbkFsbFNlbGVjdGVkKGl0ZW1zKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkcyA9IGl0ZW1zLm1hcChpdGVtID0+ICh7IHZhbHVlOiBpdGVtW3RoaXMuZmllbGRWYWx1ZV0sIGxhYmVsOiBpdGVtW3RoaXMuZmllbGRMYWJlbF0sIC4uLml0ZW0gfSkpO1xyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIGEgc2VsZcOnw6NvIGRlIHRvZG9zIG9zIGl0ZW5zIHZpc8OtdmVpcyBuYSB0YWJlbGFcclxuICBvbkFsbFVuc2VsZWN0ZWQoaXRlbXMpIHtcclxuICAgIHRoaXMucG9UYWJsZS51bnNlbGVjdFJvd3MoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRzID0gW107XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplRXZlbnRJbnB1dCgpOiB2b2lkIHtcclxuICAgIHRoaXMua2V5VXBPYnNlcnZhYmxlID0gZnJvbUV2ZW50KHRoaXMuaW5wdXRTZWFyY2hFbC5uYXRpdmVFbGVtZW50LCAna2V5dXAnKS5waXBlKFxyXG4gICAgICBmaWx0ZXIoKGU6IGFueSkgPT4gdGhpcy52YWxpZGF0ZUVudGVyUHJlc3NlZChlKSksXHJcbiAgICAgIGRlYm91bmNlVGltZSg0MDApXHJcbiAgICApO1xyXG5cclxuICAgIHRoaXMua2V5VXBPYnNlcnZhYmxlLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VhcmNoKCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5Nb2RhbCgpIHtcclxuICAgIHRoaXMucG9Nb2RhbC5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBzb3J0Qnkoc29ydDogUG9UYWJsZUNvbHVtblNvcnQpIHtcclxuICAgIGNvbnN0IG9yZGVyID0gc29ydC50eXBlID09PSAnYXNjZW5kaW5nJyA/IHRydWUgOiBmYWxzZTtcclxuICAgIHNvcnRBcnJheU9mT2JqZWN0cyh0aGlzLml0ZW1zLCBzb3J0LmNvbHVtbi5wcm9wZXJ0eSwgb3JkZXIpO1xyXG5cclxuICAgIHRoaXMuc29ydCA9IHNvcnQ7XHJcbiAgfVxyXG5cclxuICBkZXN0cm95RHluYW1pY0Zvcm0oKSB7XHJcbiAgICBpZiAodGhpcy5jb21wb25lbnRSZWYpIHtcclxuICAgICAgdGhpcy5jb21wb25lbnRSZWYuZGVzdHJveSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25BZHZhbmNlZEZpbHRlcigpIHtcclxuICAgIHRoaXMuc2V0dXBNb2RhbEFkdmFuY2VkRmlsdGVyKCk7XHJcbiAgICB0aGlzLmNyZWF0ZUR5bmFtaWNGb3JtKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRhYmxlSGVpZ2h0KCkge1xyXG4gICAgaWYgKHRoaXMubXVsdGlwbGUpIHtcclxuICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRzPy5sZW5ndGggIT09IDApIHtcclxuICAgICAgICB0aGlzLnRhYmxlSGVpZ2h0ID0gMzAwO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudGFibGVIZWlnaHQgPSAzNzA7XHJcbiAgICAgICAgdGhpcy5jb250YWluZXJIZWlnaHQgPSAzNzU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBwcmVjaXNhIHNlciAzMTUgcG9yIGFzIGxpbmhhcyB0ZXJlbSBhbHR1cmEgZGUgMzJweCAocXVhbmRvIHRlbGEgbWVub3IgcXVlIDEzNjZweCkuXHJcbiAgICAvLyBPIHJldG9ybm8gcGFkcsOjbyDDqSAxMCBpdGVucyBmYXplbmRvIGNvbSBxdWUgZ2VyZSBzY3JvbGwgY2FzbyBob3V2ZXIgcGFnaW5hw6fDo28sIDM3MCBuw6NvIGdlcmF2YS5cclxuICAgIHRoaXMudGFibGVIZWlnaHQgPSB0aGlzLmluZmluaXRlU2Nyb2xsID8gMzE1IDogMzcwO1xyXG4gICAgaWYgKHdpbmRvdy5pbm5lckhlaWdodCA8IDYxNSkge1xyXG4gICAgICB0aGlzLnRhYmxlSGVpZ2h0IC09IDUwO1xyXG4gICAgICB0aGlzLmNvbnRhaW5lckhlaWdodCAtPSA1MDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmFsaWRhdGVFbnRlclByZXNzZWQoZTogYW55KSB7XHJcbiAgICByZXR1cm4gZS5rZXlDb2RlID09PSAxMztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBNb2RhbEFkdmFuY2VkRmlsdGVyKCkge1xyXG4gICAgdGhpcy5keW5hbWljRm9ybVZhbHVlID0ge307XHJcbiAgICB0aGlzLmlzQWR2YW5jZWRGaWx0ZXIgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEeW5hbWljRm9ybSgpIHtcclxuICAgIGNvbnN0IGNvbXBvbmVudCA9IHRoaXMuY29tcG9uZW50RmFjdG9yeS5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShQb0R5bmFtaWNGb3JtQ29tcG9uZW50KTtcclxuXHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMuY29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudDxQb0R5bmFtaWNGb3JtQ29tcG9uZW50Pihjb21wb25lbnQpO1xyXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UuZmllbGRzID0gdGhpcy5hZHZhbmNlZEZpbHRlcnM7XHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS52YWx1ZSA9IHRoaXMuZHluYW1pY0Zvcm1WYWx1ZTtcclxuXHJcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5mb3JtT3V0cHV0XHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRhcChmb3JtID0+IHtcclxuICAgICAgICAgIHRoaXMuZHluYW1pY0Zvcm0gPSBmb3JtO1xyXG4gICAgICAgICAgdGhpcy5wcmltYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIuZGlzYWJsZWQgPSB0aGlzLmR5bmFtaWNGb3JtLmludmFsaWQ7XHJcbiAgICAgICAgfSksXHJcbiAgICAgICAgc3dpdGNoTWFwKGZvcm0gPT4gZm9ybS52YWx1ZUNoYW5nZXMpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5wcmltYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIuZGlzYWJsZWQgPSB0aGlzLmR5bmFtaWNGb3JtLmludmFsaWQ7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcbn1cclxuIiwiPHBvLW1vZGFsXHJcbiAgcC1jbGljay1vdXQ9XCJmYWxzZVwiXHJcbiAgcC1oaWRlLWNsb3NlPVwiZmFsc2VcIlxyXG4gIHAtc2l6ZT1cImxnXCJcclxuICBbcC1wcmltYXJ5LWFjdGlvbl09XCJpc0FkdmFuY2VkRmlsdGVyID8gcHJpbWFyeUFjdGlvbkFkdmFuY2VkRmlsdGVyIDogcHJpbWFyeUFjdGlvblwiXHJcbiAgW3Atc2Vjb25kYXJ5LWFjdGlvbl09XCJpc0FkdmFuY2VkRmlsdGVyID8gc2Vjb25kYXJ5QWN0aW9uQWR2YW5jZWRGaWx0ZXIgOiBzZWNvbmRhcnlBY3Rpb25cIlxyXG4gIFtwLXRpdGxlXT1cImlzQWR2YW5jZWRGaWx0ZXIgPyBhZHZhbmNlZEZpbHRlck1vZGFsVGl0bGUgOiB0aXRsZVwiXHJcbj5cclxuICA8ZGl2IFtoaWRkZW5dPVwiaXNBZHZhbmNlZEZpbHRlclwiPlxyXG4gICAgPHBvLWZpZWxkLWNvbnRhaW5lciBjbGFzcz1cInBvLWxvb2t1cC1oZWFkZXIgcG8tcHVsbC1yaWdodFwiIFtwLW9wdGlvbmFsXT1cImZhbHNlXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwby1sb29rdXAtZmlsdGVyLWNvbnRlbnRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicG8tZmllbGQtaWNvbi1jb250YWluZXItcmlnaHRcIj5cclxuICAgICAgICAgIDxzcGFuICNpY29uTG9va3VwIGNsYXNzPVwicG8taWNvbiBwby1maWVsZC1pY29uIHBvLWljb24tc2VhcmNoIHBvLWljb24taW5wdXRcIiAoY2xpY2spPVwic2VhcmNoKClcIj4gPC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8aW5wdXRcclxuICAgICAgICAgICNpbnBzZWFyY2hcclxuICAgICAgICAgIGNsYXNzPVwicG8taW5wdXQgcG8taW5wdXQtaWNvbi1yaWdodFwiXHJcbiAgICAgICAgICBuYW1lPVwiY29udGVudFNlYXJjaFwiXHJcbiAgICAgICAgICBbKG5nTW9kZWwpXT1cInNlYXJjaFZhbHVlXCJcclxuICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsaXRlcmFscy5tb2RhbFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAvPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgKm5nSWY9XCJhZHZhbmNlZEZpbHRlcnMgJiYgYWR2YW5jZWRGaWx0ZXJzLmxlbmd0aCA+IDBcIiBjbGFzcz1cInBvLWxvb2t1cC1hZHZhbmNlZC1zZWFyY2hcIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgY2xhc3M9XCJwby1sb29rdXAtYWR2YW5jZWQtc2VhcmNoLWxpbmsgcG8taWNvbi1pbnB1dFwiXHJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uQWR2YW5jZWRGaWx0ZXIoKVwiXHJcbiAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvbkFkdmFuY2VkRmlsdGVyKClcIlxyXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBsaXRlcmFscy5tb2RhbEFkdmFuY2VkU2VhcmNoIH19XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvcG8tZmllbGQtY29udGFpbmVyPlxyXG5cclxuICAgIDwhLS0gRElTQ0xBSU1FUiAtLT5cclxuICAgIDxwby1kaXNjbGFpbWVyLWdyb3VwXHJcbiAgICAgICpuZ0lmPVwiISFkaXNjbGFpbWVyR3JvdXBcIlxyXG4gICAgICBjbGFzcz1cInBvLW1kLTEyXCJcclxuICAgICAgW3AtZGlzY2xhaW1lcnNdPVwiZGlzY2xhaW1lckdyb3VwPy5kaXNjbGFpbWVyc1wiXHJcbiAgICAgIFtwLXRpdGxlXT1cImRpc2NsYWltZXJHcm91cD8udGl0bGVcIlxyXG4gICAgICAocC1jaGFuZ2UpPVwib25DaGFuZ2VEaXNjbGFpbWVyR3JvdXAoKVwiXHJcbiAgICA+XHJcbiAgICA8L3BvLWRpc2NsYWltZXItZ3JvdXA+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cInBvLXJvdyBwby1sb29rdXAtY29udGFpbmVyLXRhYmxlXCIgW3N0eWxlLmhlaWdodC5weF09XCJjb250YWluZXJIZWlnaHRcIj5cclxuICAgICAgPHBvLXRhYmxlXHJcbiAgICAgICAgI3BvVGFibGVcclxuICAgICAgICBjbGFzcz1cInBvLW1kLTEyXCJcclxuICAgICAgICBbcC1zZWxlY3RhYmxlXT1cInRydWVcIlxyXG4gICAgICAgIFtwLWhpZGUtZGV0YWlsXT1cInRydWVcIlxyXG4gICAgICAgIFtwLXNpbmdsZS1zZWxlY3RdPVwiIW11bHRpcGxlXCJcclxuICAgICAgICBbcC1zb3J0XT1cInRydWVcIlxyXG4gICAgICAgIFtwLWNvbHVtbnNdPVwiY29sdW1uc1wiXHJcbiAgICAgICAgW3AtaGVpZ2h0XT1cInRhYmxlSGVpZ2h0XCJcclxuICAgICAgICBbcC1pdGVtc109XCJpdGVtc1wiXHJcbiAgICAgICAgW3AtbGl0ZXJhbHNdPVwidGFibGVMaXRlcmFsc1wiXHJcbiAgICAgICAgW3AtbG9hZGluZ109XCJpc0xvYWRpbmdcIlxyXG4gICAgICAgIFtwLXNob3ctbW9yZS1kaXNhYmxlZF09XCIhaGFzTmV4dFwiXHJcbiAgICAgICAgW3AtaW5maW5pdGUtc2Nyb2xsXT1cImluZmluaXRlU2Nyb2xsXCJcclxuICAgICAgICAocC1zZWxlY3RlZCk9XCJvblNlbGVjdCgkZXZlbnQpXCJcclxuICAgICAgICAocC11bnNlbGVjdGVkKT1cIm9uVW5zZWxlY3QoJGV2ZW50KVwiXHJcbiAgICAgICAgKHAtYWxsLXNlbGVjdGVkKT1cIm9uQWxsU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICAgICAgKHAtYWxsLXVuc2VsZWN0ZWQpPVwib25BbGxVbnNlbGVjdGVkKCRldmVudClcIlxyXG4gICAgICAgIChwLXNob3ctbW9yZSk9XCJzaG93TW9yZUV2ZW50KClcIlxyXG4gICAgICAgIChwLXNvcnQtYnkpPVwic29ydEJ5KCRldmVudClcIlxyXG4gICAgICAgIChwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMpPVwiY2hhbmdlVmlzaWJsZUNvbHVtbnMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAocC1yZXN0b3JlLWNvbHVtbi1tYW5hZ2VyKT1cImNvbHVtblJlc3RvcmVNYW5hZ2VyLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgID5cclxuICAgICAgPC9wby10YWJsZT5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDwhLS0gRElTQ0xBSU1FUiAtLT5cclxuICAgIDxwby1kaXNjbGFpbWVyLWdyb3VwXHJcbiAgICAgICpuZ0lmPVwibXVsdGlwbGVcIlxyXG4gICAgICBjbGFzcz1cInBvLW1kLTEyXCJcclxuICAgICAgW3AtZGlzY2xhaW1lcnNdPVwic2VsZWN0ZWRzXCJcclxuICAgICAgKHAtcmVtb3ZlKT1cIm9uVW5zZWxlY3RGcm9tRGlzY2xhaW1lcigkZXZlbnQucmVtb3ZlZERpc2NsYWltZXIpXCJcclxuICAgICAgKHAtcmVtb3ZlLWFsbCk9XCJvbkFsbFVuc2VsZWN0ZWQoJGV2ZW50KVwiXHJcbiAgICA+XHJcbiAgICA8L3BvLWRpc2NsYWltZXItZ3JvdXA+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBbaGlkZGVuXT1cIiFpc0FkdmFuY2VkRmlsdGVyXCI+XHJcbiAgICA8bmctY29udGFpbmVyICNjb250YWluZXI+IDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG48L3BvLW1vZGFsPlxyXG4iXX0=
|
|
@@ -62,4 +62,4 @@ PoImageComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoImageCom
|
|
|
62
62
|
type: Component,
|
|
63
63
|
args: [{ selector: 'po-image', template: "<po-container class=\"po-container-image\" *ngIf=\"source\" [p-height]=\"height\">\r\n <img\r\n *ngIf=\"!isBase64; else imageBase64\"\r\n class=\"po-image\"\r\n [attr.alt]=\"alternate\"\r\n [priority]=\"priority\"\r\n [loading]=\"loading\"\r\n [fill]=\"true\"\r\n [ngSrc]=\"source\"\r\n />\r\n</po-container>\r\n\r\n<ng-template #imageBase64>\r\n <img class=\"po-image\" [attr.alt]=\"alternate\" [loading]=\"loading\" [src]=\"source\" />\r\n</ng-template>\r\n" }]
|
|
64
64
|
}], null, null); })();
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8taW1hZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWkvc3JjL2xpYi9jb21wb25lbnRzL3BvLWltYWdlL3BvLWltYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby1pbWFnZS9wby1pbWFnZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7OztJQ0EvRCx5QkFRRTs7O0lBSkEsMENBQXFCLDJCQUFBLGNBQUEsd0JBQUE7SUFEckIsdUNBQXNCOzs7SUFKMUIsdUNBQTRFO0lBQzFFLGdGQVFFO0lBQ0osaUJBQWU7Ozs7SUFWeUMsd0NBQW1CO0lBRXRFLGVBQWlCO0lBQWpCLHVDQUFpQixpQkFBQTs7O0lBV3BCLHlCQUFrRjs7O0lBQXJDLHdDQUFtQix3Q0FBQTtJQUExQyx1Q0FBc0I7O0FEVjlDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQU1ILE1BQU0sT0FBTyxnQkFBaUIsU0FBUSxvQkFBb0I7O3dPQUE3QyxnQkFBZ0IsU0FBaEIsZ0JBQWdCO21FQUFoQixnQkFBZ0I7UUM3QjdCLG1GQVVlO1FBRWYsa0hBRWM7O1FBZDRCLGlDQUFZOzt1RkQ2QnpDLGdCQUFnQjtjQUo1QixTQUFTOzJCQUNFLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBvSW1hZ2VCYXNlQ29tcG9uZW50IH0gZnJvbSAnLi9wby1pbWFnZS1iYXNlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQGRvY3NFeHRlbmRzIFBvSW1hZ2VCYXNlQ29tcG9uZW50XG4gKlxuICogQGV4YW1wbGVcbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8taW1hZ2UtYmFzaWNcIiB0aXRsZT1cIlBPIEltYWdlIEJhc2ljXCIgPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW1hZ2UtYmFzaWMvc2FtcGxlLXBvLWltYWdlLWJhc2ljLmNvbXBvbmVudC5odG1sXCI+IDwvZmlsZT5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWltYWdlLWJhc2ljL3NhbXBsZS1wby1pbWFnZS1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1pbWFnZS1sYWJzXCIgdGl0bGU9XCJQTyBJbWFnZSBMYWJzXCIgPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW1hZ2UtbGFicy9zYW1wbGUtcG8taW1hZ2UtbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1pbWFnZS1sYWJzL3NhbXBsZS1wby1pbWFnZS1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XG4gKiA8L2V4YW1wbGU+XG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWltYWdlLXRyYXZlbFwiIHRpdGxlPVwiUE8gSW1hZ2UgVHJhdmVsXCIgPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW1hZ2UtdHJhdmVsL3NhbXBsZS1wby1pbWFnZS10cmF2ZWwuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8taW1hZ2UtdHJhdmVsL3NhbXBsZS1wby1pbWFnZS10cmF2ZWwuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKi9cblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8taW1hZ2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vcG8taW1hZ2UuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIFBvSW1hZ2VDb21wb25lbnQgZXh0ZW5kcyBQb0ltYWdlQmFzZUNvbXBvbmVudCB7fVxuIiwiPHBvLWNvbnRhaW5lciBjbGFzcz1cInBvLWNvbnRhaW5lci1pbWFnZVwiICpuZ0lmPVwic291cmNlXCIgW3AtaGVpZ2h0XT1cImhlaWdodFwiPlxyXG4gIDxpbWdcclxuICAgICpuZ0lmPVwiIWlzQmFzZTY0OyBlbHNlIGltYWdlQmFzZTY0XCJcclxuICAgIGNsYXNzPVwicG8taW1hZ2VcIlxyXG4gICAgW2F0dHIuYWx0XT1cImFsdGVybmF0ZVwiXHJcbiAgICBbcHJpb3JpdHldPVwicHJpb3JpdHlcIlxyXG4gICAgW2xvYWRpbmddPVwibG9hZGluZ1wiXHJcbiAgICBbZmlsbF09XCJ0cnVlXCJcclxuICAgIFtuZ1NyY109XCJzb3VyY2VcIlxyXG4gIC8+XHJcbjwvcG8tY29udGFpbmVyPlxyXG5cclxuPG5nLXRlbXBsYXRlICNpbWFnZUJhc2U2ND5cclxuICA8aW1nIGNsYXNzPVwicG8taW1hZ2VcIiBbYXR0ci5hbHRdPVwiYWx0ZXJuYXRlXCIgW2xvYWRpbmddPVwibG9hZGluZ1wiIFtzcmNdPVwic291cmNlXCIgLz5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
|
@@ -302,12 +302,7 @@ export class PoTableBaseComponent {
|
|
|
302
302
|
* > Se falso, será inicializado como um *array* vazio.
|
|
303
303
|
*/
|
|
304
304
|
set items(items) {
|
|
305
|
-
|
|
306
|
-
this.sortArrayWithHeight(items);
|
|
307
|
-
}
|
|
308
|
-
else {
|
|
309
|
-
this._items = Array.isArray(items) ? items : [];
|
|
310
|
-
}
|
|
305
|
+
this._items = Array.isArray(items) ? [...items] : [];
|
|
311
306
|
// when haven't items, selectAll should be unchecked.
|
|
312
307
|
if (!this.hasItems) {
|
|
313
308
|
this.selectAll = false;
|
|
@@ -833,26 +828,6 @@ export class PoTableBaseComponent {
|
|
|
833
828
|
}
|
|
834
829
|
return `${column.property}`;
|
|
835
830
|
}
|
|
836
|
-
sortArrayWithHeight(items) {
|
|
837
|
-
if (this.items && this.items.length > 0) {
|
|
838
|
-
const object = this.items[0];
|
|
839
|
-
const key = Object.keys(object)[0];
|
|
840
|
-
const arrayKeys = new Set(this.items.map(d => d[key]));
|
|
841
|
-
const merged = [...items.filter(d => !arrayKeys.has(d[key]))];
|
|
842
|
-
let temporaryArray;
|
|
843
|
-
if (merged.length < 1) {
|
|
844
|
-
temporaryArray = [...items];
|
|
845
|
-
}
|
|
846
|
-
else {
|
|
847
|
-
temporaryArray = [...this.items];
|
|
848
|
-
}
|
|
849
|
-
const newArray = [...temporaryArray, ...merged];
|
|
850
|
-
this._items = [...newArray];
|
|
851
|
-
}
|
|
852
|
-
else {
|
|
853
|
-
this._items = Array.isArray(items) ? [...items] : [];
|
|
854
|
-
}
|
|
855
|
-
}
|
|
856
831
|
}
|
|
857
832
|
PoTableBaseComponent.ɵfac = function PoTableBaseComponent_Factory(t) { return new (t || PoTableBaseComponent)(i0.ɵɵdirectiveInject(i1.PoDateService), i0.ɵɵdirectiveInject(i2.PoLanguageService), i0.ɵɵdirectiveInject(i3.PoTableService)); };
|
|
858
833
|
PoTableBaseComponent.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: PoTableBaseComponent, inputs: { hideTextOverflow: ["p-hide-text-overflow", "hideTextOverflow"], hideColumnsManager: ["p-hide-columns-manager", "hideColumnsManager"], autoCollapse: ["p-auto-collapse", "autoCollapse"], loadingShowMore: ["p-loading-show-more", "loadingShowMore"], sort: ["p-sort", "sort"], showMoreDisabled: ["p-show-more-disabled", "showMoreDisabled"], striped: ["p-striped", "striped"], hideSelectAll: ["p-hide-select-all", "hideSelectAll"], singleSelect: ["p-single-select", "singleSelect"], selectableEntireLine: ["p-selectable-entire-line", "selectableEntireLine"], actionRight: ["p-actions-right", "actionRight"], maxColumns: ["p-max-columns", "maxColumns"], items: ["p-items", "items"], columns: ["p-columns", "columns"], container: ["p-container", "container"], height: ["p-height", "height"], hideDetail: ["p-hide-detail", "hideDetail"], literals: ["p-literals", "literals"], loading: ["p-loading", "loading"], actions: ["p-actions", "actions"], selectable: ["p-selectable", "selectable"], infiniteScroll: ["p-infinite-scroll", "infiniteScroll"], infiniteScrollDistance: ["p-infinite-scroll-distance", "infiniteScrollDistance"], serviceApi: ["p-service-api", "serviceApi"] }, outputs: { allSelected: "p-all-selected", allUnselected: "p-all-unselected", collapsed: "p-collapsed", expanded: "p-expanded", selected: "p-selected", showMore: "p-show-more", sortBy: "p-sort-by", unselected: "p-unselected", changeVisibleColumns: "p-change-visible-columns", columnRestoreManager: "p-restore-column-manager" }, features: [i0.ɵɵNgOnChangesFeature] });
|
|
@@ -994,4 +969,4 @@ __decorate([
|
|
|
994
969
|
type: Input,
|
|
995
970
|
args: ['p-service-api']
|
|
996
971
|
}] }); })();
|
|
997
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tdGFibGUvcG8tdGFibGUtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBS1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFLbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQU9oRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxRQUFRLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsRUFBRSxFQUFtQjtRQUNuQixTQUFTLEVBQUUseUJBQXlCO1FBQ3BDLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLGVBQWUsRUFBRSxtQkFBbUI7UUFDcEMsV0FBVyxFQUFFLFNBQVM7UUFDdEIsWUFBWSxFQUFFLGdCQUFnQjtRQUM5QixtQkFBbUIsRUFBRSx1QkFBdUI7UUFDNUMsZ0JBQWdCLEVBQUUsbUJBQW1CO1FBQ3JDLGNBQWMsRUFBRSxpQkFBaUI7S0FDbEM7SUFDRCxFQUFFLEVBQW1CO1FBQ25CLFNBQVMsRUFBRSx1QkFBdUI7UUFDbEMsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixlQUFlLEVBQUUsdUJBQXVC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QUs7bUJBQUMsV0FBVztZQXVCUyxVQUFVO2tCQUFwQyxLQUFLO21CQUFDLGNBQWM7WUFxQlcsY0FBYztrQkFBN0MsS0FBSzttQkFBQyxtQkFBbUI7WUFrQmUsc0JBQXNCO2tCQUE5RCxLQUFLO21CQUFDLDRCQUE0QjtZQWtDUCxVQUFVO2tCQUFyQyxLQUFLO21CQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT3V0cHV0LFxyXG4gIERpcmVjdGl2ZSxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIE9uRGVzdHJveSxcclxuICBWaWV3Q2hpbGQsXHJcbiAgRWxlbWVudFJlZlxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IGNhcGl0YWxpemVGaXJzdExldHRlciwgY29udmVydFRvQm9vbGVhbiwgaXNUeXBlb2YsIHNvcnRWYWx1ZXMgfSBmcm9tICcuLi8uLi91dGlscy91dGlsJztcclxuaW1wb3J0IHsgUG9EYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWRhdGUvcG8tZGF0ZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9MYW5ndWFnZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1sYW5ndWFnZS9wby1sYW5ndWFnZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgcG9Mb2NhbGVEZWZhdWx0IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2UuY29uc3RhbnQnO1xyXG5cclxuaW1wb3J0IHsgUG9UYWJsZUFjdGlvbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWJsZS1hY3Rpb24uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUG9UYWJsZUNvbHVtbiB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWJsZS1jb2x1bW4uaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUG9UYWJsZUNvbHVtblNvcnQgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtY29sdW1uLXNvcnQuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUG9UYWJsZUNvbHVtblNvcnRUeXBlIH0gZnJvbSAnLi9lbnVtcy9wby10YWJsZS1jb2x1bW4tc29ydC10eXBlLmVudW0nO1xyXG5pbXBvcnQgeyBQb1RhYmxlTGl0ZXJhbHMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtbGl0ZXJhbHMuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgSW5wdXRCb29sZWFuIH0gZnJvbSAnLi4vLi4vZGVjb3JhdG9ycyc7XHJcbmltcG9ydCB7IFBvVGFibGVTZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9wby10YWJsZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUG9UYWJsZVJlc3BvbnNlQXBpIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLXJlc3BvbnNlLWFwaS5pbnRlcmZhY2UnO1xyXG5pbXBvcnQgeyBQb1RhYmxlRmlsdGVyZWRJdGVtc1BhcmFtcyB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWJsZS1maWx0ZXJlZC1pdGVtcy1wYXJhbXMuaW50ZXJmYWNlJztcclxuXHJcbmV4cG9ydCB0eXBlIFF1ZXJ5UGFyYW1zVHlwZSA9IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW47XHJcblxyXG5leHBvcnQgY29uc3QgcG9UYWJsZUNvbnRhaW5lciA9IFsnYm9yZGVyJywgJ3NoYWRvdyddO1xyXG5leHBvcnQgY29uc3QgcG9UYWJsZUNvbnRhaW5lckRlZmF1bHQgPSAnYm9yZGVyJztcclxuXHJcbmV4cG9ydCBjb25zdCBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0ID0ge1xyXG4gIGVuOiA8UG9UYWJsZUxpdGVyYWxzPntcclxuICAgIG5vQ29sdW1uczogJ0NvbHVtbnMgYXJlIG5vdCBkZWZpbmVkJyxcclxuICAgIG5vRGF0YTogJ05vIGRhdGEgZm91bmQnLFxyXG4gICAgbm9WaXNpYmxlQ29sdW1uOiAnTm8gdmlzaWJsZSBjb2x1bW4nLFxyXG4gICAgbG9hZGluZ0RhdGE6ICdMb2FkaW5nJyxcclxuICAgIGxvYWRNb3JlRGF0YTogJ0xvYWQgbW9yZSBkYXRhJyxcclxuICAgIHNlZUNvbXBsZXRlU3VidGl0bGU6ICdTZWUgY29tcGxldGUgc3VidGl0bGUnLFxyXG4gICAgY29tcGxldGVTdWJ0aXRsZTogJ0NvbXBsZXRlIHN1YnRpdGxlJyxcclxuICAgIGNvbHVtbnNNYW5hZ2VyOiAnQ29sdW1ucyBtYW5hZ2VyJ1xyXG4gIH0sXHJcbiAgZXM6IDxQb1RhYmxlTGl0ZXJhbHM+e1xyXG4gICAgbm9Db2x1bW5zOiAnQ29sdW1uYXMgbm8gZGVmaW5pZGFzJyxcclxuICAgIG5vRGF0YTogJ0RhdG9zIG5vIGVuY29udHJhZG9zJyxcclxuICAgIG5vVmlzaWJsZUNvbHVtbjogJ1NpbiBjb2x1bW5hcyB2aXNpYmxlcycsXHJcbiAgICBsb2FkaW5nRGF0YTogJ0NhcmdhbmRvIGRhdG9zJyxcclxuICAgIGxvYWRNb3JlRGF0YTogJ0NhcmdhciBtw6FzIHJlc3VsdGFkb3MnLFxyXG4gICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ1ZlciBzdWJ0aXR1bG8gY29tcGxldG8nLFxyXG4gICAgY29tcGxldGVTdWJ0aXRsZTogJ1N1YnRpdHVsbyBjb21wbGV0bycsXHJcbiAgICBjb2x1bW5zTWFuYWdlcjogJ0dlcmVudGUgZGUgY29sdW1uYSdcclxuICB9LFxyXG4gIHB0OiA8UG9UYWJsZUxpdGVyYWxzPntcclxuICAgIG5vQ29sdW1uczogJ05lbmh1bWEgZGVmaW5pw6fDo28gZGUgY29sdW5hcycsXHJcbiAgICBub0RhdGE6ICdOZW5odW0gZGFkbyBlbmNvbnRyYWRvJyxcclxuICAgIG5vVmlzaWJsZUNvbHVtbjogJ05lbmh1bWEgY29sdW5hIHZpc8OtdmVsJyxcclxuICAgIGxvYWRpbmdEYXRhOiAnQ2FycmVnYW5kbycsXHJcbiAgICBsb2FkTW9yZURhdGE6ICdDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3MnLFxyXG4gICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ1ZlciBsZWdlbmRhIGNvbXBsZXRhJyxcclxuICAgIGNvbXBsZXRlU3VidGl0bGU6ICdMZWdlbmRhIGNvbXBsZXRhJyxcclxuICAgIGNvbHVtbnNNYW5hZ2VyOiAnR2VyZW5jaWFkb3IgZGUgY29sdW5hcydcclxuICB9LFxyXG4gIHJ1OiA8UG9UYWJsZUxpdGVyYWxzPntcclxuICAgIG5vQ29sdW1uczogJ9Cd0LXRgiDQvtC/0YDQtdC00LXQu9C10L3QuNGPINGB0YLQvtC70LHRhtCwJyxcclxuICAgIG5vRGF0YTogJ9CU0LDQvdC90YvQtSDQvdC1INC90LDQudC00LXQvdGLJyxcclxuICAgIG5vVmlzaWJsZUNvbHVtbjogJ9C90LXRgiDQstC40LTQuNC80YvRhSDRgdGC0L7Qu9Cx0YbQvtCyJyxcclxuICAgIGxvYWRpbmdEYXRhOiAn0JfQsNCz0YDRg9C30LrQsCcsXHJcbiAgICBsb2FkTW9yZURhdGE6ICfQl9Cw0LPRgNGD0LfQutCwJyxcclxuICAgIHNlZUNvbXBsZXRlU3VidGl0bGU6ICfQn9C+0YHQvNC+0YLRgNC10YLRjCDQv9C+0LvQvdGL0Lkg0YHRg9Cx0YLQuNGC0YAnLFxyXG4gICAgY29tcGxldGVTdWJ0aXRsZTogJ9Cf0L7Qu9C90YvQuSDQt9Cw0LPQvtC70L7QstC+0LonLFxyXG4gICAgY29sdW1uc01hbmFnZXI6ICfQvNC10L3QtdC00LbQtdGAINC60L7Qu9C+0L3QvtC6J1xyXG4gIH1cclxufTtcclxuXHJcbi8qKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogRXN0ZSBjb21wb25lbnRlIGRlIHRhYmVsYSDDqSB1dGlsaXphZG8gcGFyYSBleGliacOnw6NvIGRlIGRhZG9zIGNvbSBkaWZlcmVudGVzIHRpcG9zIGNvbW8gcG9yIGV4ZW1wbG8gdGV4dG9zLCBkYXRhLCBob3JhcyBlIG7Dum1lcm9zIGNvbVxyXG4gKiBmb3JtYXRvIHBlcnNvbmFsaXphZG8uXHJcbiAqXHJcbiAqIFRhbWLDqW0gw6kgcG9zc2l2ZWwgY3JpYXIgdGFiZWxhcyBjb20gb3JkZW5hw6fDo28gZGUgZGFkb3MsIGxpbmhhcyBjb20gZGV0YWxoZXMsIGNvbHVuYSBwYXJhIHNlbGXDp8OjbyBkZSBsaW5oYXMsIGNvbHVuYSBjb20gYcOnw7VlcyBlIHRhbWLDqW1cclxuICogY2FycmVnYW1lbnRvIHBvciBkZW1hbmRhIGF0cmF2w6lzIGRvIGJvdMOjbyAqKkNhcnJlZ2FyIG1haXMgcmVzdWx0YWRvcyoqLlxyXG4gKlxyXG4gKiA+IEFzIGxpbmhhcyBkZSBkZXRhbGhlcyBwb2RlbSB0YW1iw6ltIHNlciBjdXN0b21pemFkYXMgYXRyYXbDqXMgZG8gW2BwLXRhYmxlLXJvdy10ZW1wbGF0ZWBdKC9kb2N1bWVudGF0aW9uL3BvLXRhYmxlLXJvdy10ZW1wbGF0ZSkuXHJcbiAqXHJcbiAqID4gQXMgY29sdW5hcyBwb2RlbSBzZXIgY3VzdG9taXphZGFzIGF0cmF2w6lzIGRvcyB0ZW1wbGF0ZXMgW2BwLXRhYmxlLWNvbHVtbi10ZW1wbGF0ZWBdKC9kb2N1bWVudGF0aW9uL3BvLXRhYmxlLWNvbHVtbi10ZW1wbGF0ZSlcclxuICogZSBbYHAtdGFibGUtY2VsbC10ZW1wbGF0ZWBdKC9kb2N1bWVudGF0aW9uL3BvLXRhYmxlLWNlbGwtdGVtcGxhdGUpLlxyXG4gKlxyXG4gKiBPIGNvbXBvbmVudGUgcGVybWl0ZSBnZXJlbmNpYXIgYSBleGliacOnw6NvIGRhcyBjb2x1bmFzIGRpbmFtaWNhbWVudGUuIEVzdGEgZnVuY2lvbmFsaWRhZGUgcG9kZSBzZXIgYWNlc3NhZGEgYXRyYXbDqXMgZG8gw61jb25lIGRlIGVuZ3JlbmFnZW1cclxuICogbm8gY2FudG8gc3VwZXJpb3IgZGlyZWl0byBkbyBjYWJlw6dhbGhvIGRhIHRhYmVsYS5cclxuICpcclxuICogQ2FzbyBhIGxhcmd1cmEgZGUgdG9kYXMgYXMgY29sdW5hcyBmb3JlbSBkZWZpbmlkYXMgZSBvIHRvdGFsIHVsdHJhcGFzc2FyIG8gdGFtYW5obyB0YWJlbGEsIHNlcsOhIGV4aWJpZG8gdW0gKnNjcm9sbCogbmEgaG9yaXpvbnRhbCBwYXJhIGFcclxuICogY29tcGxldGEgdmlzdWFsaXphw6fDo28gZG9zIGRhZG9zLlxyXG4gKi9cclxuQERpcmVjdGl2ZSgpXHJcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQb1RhYmxlQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogU2UgdmVyZGFkZWlybywgaGFiaWxpdGEgYSBxdWVicmEgZGUgdGV4dG8gYW8gdHJhbnNib3JkYS1sbyBkZW50cm8gZGUgcXVhbHF1ZXIgY29sdW5hLlxyXG4gICAqID4gUXVhbmRvIG9jb3JyZXIgYSBxdWVicmEgZGUgdGV4dG8sIGFvIHBhc3NhciBvIG1vdXNlIG5vIGNvbnRlw7pkbyBkYSBjw6lsdWxhLFxyXG4gICAqIG8gbWVzbW8gc2Vyw6EgZXhpYmlkbyBhdHJhdsOpcyBkbyBbYHBvLXRvb2x0aXBgXSgvZG9jdW1lbnRhdGlvbi9wby10b29sdGlwKS5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtaGlkZS10ZXh0LW92ZXJmbG93JykgQElucHV0Qm9vbGVhbigpIGhpZGVUZXh0T3ZlcmZsb3c6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFBlcm1pdGUgcXVlIG8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcywgcmVzcG9uc8OhdmVsIHBlbGEgZGVmaW5pw6fDo28gZGUgcXVhaXMgY29sdW5hcyBzZXLDo28gZXhpYmlkYXMsIHNlamEgZXNjb25kaWRvLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1oaWRlLWNvbHVtbnMtbWFuYWdlcicpIEBJbnB1dEJvb2xlYW4oKSBoaWRlQ29sdW1uc01hbmFnZXI/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBQZXJtaXRlIGZlY2hhciB1bSBkZXRhbGhlIG91IHJvdyB0ZW1wbGF0ZSBhdXRvbWF0aWNhbWVudGUsIGFvIGFicmlyIG91dHJvIGl0ZW0uXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWF1dG8tY29sbGFwc2UnKSBASW5wdXRCb29sZWFuKCkgYXV0b0NvbGxhcHNlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogUGVybWl0ZSBxdWUgc2VqYSBhZGljaW9uYWRvIG8gZXN0YWRvIGRlIGNhcnJlZ2FtZW50byBubyBib3TDo28gXCJDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3NcIi5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtbG9hZGluZy1zaG93LW1vcmUnKSBASW5wdXRCb29sZWFuKCkgbG9hZGluZ1Nob3dNb3JlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogSGFiaWxpdGEgZW0gdG9kYXMgYXMgY29sdW5hcyBhIG9ww6fDo28gZGUgb3JkZW5hw6fDo28gZGUgZGFkb3MuIENhc28gYSBjb2x1bmEgc2VqYSBkbyB0aXBvICdkYXRhJyBvdSAnZGF0ZVRpbWUnIGFcclxuICAgKiBtZXNtYSBkZXZlIHJlc3BlaXRhciBvcyB0aXBvcyBkZSBlbnRyYWRhIGRlZmluaWRvcyBwYXJhIHF1ZSBzZWphbSBvcmRlbmFkYXMuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLXNvcnQnKSBASW5wdXRCb29sZWFuKCkgc29ydDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFNlIHZlcmRhZGVpcm8sIHRvcm5hIGhhYmlsaXRhZG8gbyBib3TDo28gXCJDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3NcIi5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3Atc2hvdy1tb3JlLWRpc2FibGVkJykgQElucHV0Qm9vbGVhbigpIHNob3dNb3JlRGlzYWJsZWQ/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogSGFiaWxpdGEgb3UgZGVzYWJpbGl0YSBvIGVzdGlsbyBsaXN0cmFkbyBkYSB0YWJlbGEgKGBzdHJpcGVkYCkuXHJcbiAgICogPiBSZWNvbWVuZGFkbyBwYXJhIHRhYmVsYXMgY29tIG1haW9yIG7Dum1lcm8gZGUgZGFkb3MsIGZhY2lsaXRhbmRvIGEgc3VhIHZpc3VhbGl6YcOnw6NvIG5hIHRhYmVsYS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3Atc3RyaXBlZCcpIEBJbnB1dEJvb2xlYW4oKSBzdHJpcGVkPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEVzY29uZGUgbyAqY2hlY2tib3gqIHBhcmEgc2VsZcOnw6NvIGRlIHRvZGFzIGFzIGxpbmhhcy5cclxuICAgKlxyXG4gICAqID4gU2VtcHJlIHJlY2ViZXLDoSAqdHJ1ZSogY2FzbyBhIHNlbGXDp8OjbyBkZSBhcGVuYXMgdW1hIGxpbmhhIGVzdGVqYSBhdGl2YS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtaGlkZS1zZWxlY3QtYWxsJykgQElucHV0Qm9vbGVhbigpIGhpZGVTZWxlY3RBbGw6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBEZWZpbmUgcXVlIHNvbWVudGUgdW1hIGxpbmhhIGRhIHRhYmVsYSBwb2RlIHNlciBzZWxlY2lvbmFkYS5cclxuICAgKlxyXG4gICAqID4gRXN0YSBkZWZpbmnDp8OjbyBuw6NvIHNlIGFwbGljYSBhb3MgaXRlbnMgZmlsaG9zLCBvcyBtZXNtb3MgcG9zc3VlbSBjb21wb3J0YW1lbnRvIGluZGVwZW5kZW50ZSBkbyBpdGVtIHBhaS5cclxuICAgKi9cclxuICBASW5wdXQoJ3Atc2luZ2xlLXNlbGVjdCcpIEBJbnB1dEJvb2xlYW4oKSBzaW5nbGVTZWxlY3Q/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogUGVybWl0ZSBzZWxlY2lvbmFyIHVtIGl0ZW0gZGEgdGFiZWxhIGNsaWNhbmRvIG5hIGxpbmhhLlxyXG4gICAqXHJcbiAgICogPiBDYXNvIGhhamEgbmVjZXNzaWRhZGUgZGUgc2VsZWNpb25hciBvIGl0ZW0gYXBlbmFzIHZpYSByYWRpbyBvdSBjaGVja2JveCwgZGV2ZS1zZSBkZWZpbmlyIGVzdGEgcHJvcHJpZWRhZGUgY29tbyBgZmFsc2VgLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYHRydWVgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLXNlbGVjdGFibGUtZW50aXJlLWxpbmUnKSBASW5wdXRCb29sZWFuKCkgc2VsZWN0YWJsZUVudGlyZUxpbmU/OiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIERlZmluZSBxdWUgYSBjb2x1bmEgZGUgYcOnw7VlcyBmaWNhcsOhIG5vIGxhZG8gZGlyZWl0byBkYSB0YWJlbGEuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWFjdGlvbnMtcmlnaHQnKSBASW5wdXRCb29sZWFuKCkgYWN0aW9uUmlnaHQ/OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBEZWZpbmUgdW1hIHF1YW50aWRhZGUgbcOheGltYSBkZSBjb2x1bmFzIHF1ZSBzZXLDo28gZXhpYmlkYXMgbmEgdGFiZWxhLlxyXG4gICAqXHJcbiAgICogUXVhbmRvIGNoZWdhciBubyB2YWxvciBpbmZvcm1hZG8sIGFzIGNvbHVuYXMgcXVlIG7Do28gZXN0aXZlcmVtIHNlbGVjaW9uYWRhcyBmaWNhcsOjb1xyXG4gICAqIGRlc2FiaWxpdGFkYXMgZSBjYXNvIGhvdXZlciBtYWlzIGNvbHVuYXMgdmlzw612ZWlzIGRvIHF1ZSBvIHBlcm1pdGlkbywgYXMgZXhjZWRlbnRlc1xyXG4gICAqIHNlcsOjbyBpZ25vcmFkYXMgcG9yIG9yZGVtIGRlIHBvc2nDp8Ojby5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtbWF4LWNvbHVtbnMnKSBtYXhDb2x1bW5zPzogbnVtYmVyO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqIEV2ZW50byBleGVjdXRhZG8gcXVhbmRvIHRvZGFzIGFzIGxpbmhhcyBzw6NvIHNlbGVjaW9uYWRhcyBwb3IgbWVpbyBkbyAqY2hlY2tib3gqIHF1ZSBzZWxlY2lvbmEgdG9kYXMgYXMgbGluaGFzLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtYWxsLXNlbGVjdGVkJykgYWxsU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBxdWFuZG8gYSBzZWxlw6fDo28gZGFzIGxpbmhhcyDDqSBkZXNtYXJjYWRhIHBvciBtZWlvIGRvICpjaGVja2JveCogcXVlIHNlbGVjaW9uYSB0b2RhcyBhcyBsaW5oYXMuXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC1hbGwtdW5zZWxlY3RlZCcpIGFsbFVuc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIGNvbGFwc2FyIHVtYSBsaW5oYSBkbyBgcG8tdGFibGVgLlxyXG4gICAqXHJcbiAgICogPiBDb21vIHBhcsOibWV0cm8gbyBjb21wb25lbnRlIGVudmlhIG8gaXRlbSBjb2xhcHNhZG8uXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC1jb2xsYXBzZWQnKSBjb2xsYXBzZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIGV4cGFuZGlyIHVtYSBsaW5oYSBkbyBgcG8tdGFibGVgLlxyXG4gICAqXHJcbiAgICogPiBDb21vIHBhcsOibWV0cm8gbyBjb21wb25lbnRlIGVudmlhIG8gaXRlbSBleHBhbmRpZG8uXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC1leHBhbmRlZCcpIGV4cGFuZGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBhbyBzZWxlY2lvbmFyIHVtYSBsaW5oYSBkbyBgcG8tdGFibGVgLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3Atc2VsZWN0ZWQnKSBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFJlY2ViZSB1bWEgYcOnw6NvIGRlIGNsaXF1ZSBwYXJhIG8gYm90w6NvIFwiQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zXCIsIGNhc28gbmVuaHVtYSBhw6fDo28gZm9yIGRlZmluaWRhIG8gbWVzbW9cclxuICAgKiBuw6NvIMOpIHZpc8OtdmVsLlxyXG4gICAqXHJcbiAgICogUmVjZWJlIHVtIG9iamV0byBgeyBjb2x1bW4sIHR5cGUgfWAgb25kZTpcclxuICAgKlxyXG4gICAqIC0gY29sdW1uIChgUG9UYWJsZUNvbHVtbmApOiBvYmpldG8gZGEgY29sdW5hIHF1ZSBlc3TDoSBvcmRlbmFkYS5cclxuICAgKiAtIHR5cGUgKGBQb1RhYmxlQ29sdW1uU29ydFR5cGVgKTogdGlwbyBkYSBvcmRlbmHDp8Ojby5cclxuICAgKi9cclxuICBAT3V0cHV0KCdwLXNob3ctbW9yZScpIHNob3dNb3JlOiBFdmVudEVtaXR0ZXI8UG9UYWJsZUNvbHVtblNvcnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxQb1RhYmxlQ29sdW1uU29ydD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEV2ZW50byBleGVjdXRhZG8gYW8gb3JkZW5hciBjb2x1bmFzIGRhIHRhYmVsYS5cclxuICAgKlxyXG4gICAqIFJlY2ViZSB1bSBvYmpldG8gYHsgY29sdW1uLCB0eXBlIH1gIG9uZGU6XHJcbiAgICpcclxuICAgKiAtIGNvbHVtbiAoYFBvVGFibGVDb2x1bW5gKTogb2JqZXRvIGRhIGNvbHVuYSBxdWUgZm9pIGNsaWNhZGEvb3JkZW5hZGEuXHJcbiAgICogLSB0eXBlIChgUG9UYWJsZUNvbHVtblNvcnRUeXBlYCk6IHRpcG8gZGEgb3JkZW5hw6fDo28uXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC1zb3J0LWJ5Jykgc29ydEJ5OiBFdmVudEVtaXR0ZXI8UG9UYWJsZUNvbHVtblNvcnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxQb1RhYmxlQ29sdW1uU29ydD4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIGRlc21hcmNhciBhIHNlbGXDp8OjbyBkZSB1bWEgbGluaGEgZG8gYHBvLXRhYmxlYC5cclxuICAgKi9cclxuICBAT3V0cHV0KCdwLXVuc2VsZWN0ZWQnKSB1bnNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gZmVjaGFyIG8gcG9wb3ZlciBkbyBnZXJlbmNpYWRvciBkZSBjb2x1bmFzIGFww7NzIGFsdGVyYXIgYXMgY29sdW5hcyB2aXPDrXZlaXMuXHJcbiAgICpcclxuICAgKiBPIGNvbXBvbmVudGUgZW52aWEgY29tbyBwYXLDom1ldHJvIHVtIGFycmF5IGRlIHN0cmluZyBjb20gYXMgY29sdW5hcyB2aXPDrXZlaXMgYXR1YWxpemFkYXMuXHJcbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtY2hhbmdlLXZpc2libGUtY29sdW1ucycpIGNoYW5nZVZpc2libGVDb2x1bW5zID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxzdHJpbmc+PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqIEV2ZW50byBkaXNwYXJhZG8gYW8gY2xpY2FyIG5vIGJvdMOjbyBkZSByZXN0YXVyYXIgcGFkcsOjbyBubyBnZXJlbmNpYWRvciBkZSBjb2x1bmFzLlxyXG4gICAqXHJcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgY29uZmlndXJhZGFzIGluaWNpYWxtZW50ZS5cclxuICAgKiBQb3IgZXhlbXBsbzogW1wiaWRDYXJkXCIsIFwibmFtZVwiLCBcImhpcmVTdGF0dXNcIiwgXCJhZ2VcIl0uXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC1yZXN0b3JlLWNvbHVtbi1tYW5hZ2VyJykgY29sdW1uUmVzdG9yZU1hbmFnZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PFN0cmluZz4+KCk7XHJcblxyXG4gIGFsbENvbHVtbnNXaWR0aFBpeGVsczogYm9vbGVhbjtcclxuICBjb2x1bW5NYXN0ZXJEZXRhaWw6IFBvVGFibGVDb2x1bW47XHJcbiAgaGFzTWFpbkNvbHVtbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBtYWluQ29sdW1uczogQXJyYXk8UG9UYWJsZUNvbHVtbj4gPSBbXTtcclxuICBzZWxlY3RBbGwgPSBmYWxzZTtcclxuICBzb3J0ZWRDb2x1bW4gPSB7IHByb3BlcnR5OiA8UG9UYWJsZUNvbHVtbj5udWxsLCBhc2NlbmRpbmc6IHRydWUgfTtcclxuICBzdWJ0aXRsZUNvbHVtbnM6IEFycmF5PFBvVGFibGVDb2x1bW4+ID0gW107XHJcbiAgcGFnZSA9IDE7XHJcbiAgcGFnZVNpemUgPSAxMDtcclxuICBoYXNTZXJ2aWNlPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGluaXRpYWxDb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPjtcclxuICBwcml2YXRlIF9hY3Rpb25zPzogQXJyYXk8UG9UYWJsZUFjdGlvbj4gPSBbXTtcclxuICBwcml2YXRlIF9jb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPiA9IFtdO1xyXG4gIHByaXZhdGUgX2NvbnRhaW5lcj86IHN0cmluZztcclxuICBwcml2YXRlIF9oZWlnaHQ/OiBudW1iZXI7XHJcbiAgcHJpdmF0ZSBfaGlkZURldGFpbD86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9pdGVtczogQXJyYXk8UG9UYWJsZUNvbHVtbj47XHJcbiAgcHJpdmF0ZSBfbGl0ZXJhbHM6IFBvVGFibGVMaXRlcmFscztcclxuICBwcml2YXRlIF9sb2FkaW5nPzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3NlbGVjdGFibGU/OiBib29sZWFuO1xyXG4gIHByaXZhdGUgbGFuZ3VhZ2U6IHN0cmluZyA9IHBvTG9jYWxlRGVmYXVsdDtcclxuICBwcml2YXRlIF9zZXJ2aWNlQXBpOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBwb1RhYmxlU2VydmljZVN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xyXG4gIHByaXZhdGUgc29ydFN0b3JlOiBQb1RhYmxlQ29sdW1uU29ydDtcclxuICBwcml2YXRlIF9pbmZpbml0ZVNjcm9sbERpc3RhbmNlPzogbnVtYmVyID0gMTAwO1xyXG4gIHByaXZhdGUgX2luZmluaXRlU2Nyb2xsPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIExpc3RhIGRlIGl0ZW5zIGRhIHRhYmVsYS5cclxuICAgKiA+IFNlIGZhbHNvLCBzZXLDoSBpbmljaWFsaXphZG8gY29tbyB1bSAqYXJyYXkqIHZhemlvLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1pdGVtcycpIHNldCBpdGVtcyhpdGVtczogQXJyYXk8YW55Pikge1xyXG4gICAgaWYgKHRoaXMuaGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuc29ydEFycmF5V2l0aEhlaWdodChpdGVtcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9pdGVtcyA9IEFycmF5LmlzQXJyYXkoaXRlbXMpID8gaXRlbXMgOiBbXTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB3aGVuIGhhdmVuJ3QgaXRlbXMsIHNlbGVjdEFsbCBzaG91bGQgYmUgdW5jaGVja2VkLlxyXG4gICAgaWYgKCF0aGlzLmhhc0l0ZW1zKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICB9IGVsc2UgaWYgKCF0aGlzLmhhc0NvbHVtbnMpIHtcclxuICAgICAgdGhpcy5jb2x1bW5zID0gdGhpcy5nZXREZWZhdWx0Q29sdW1ucyhpdGVtc1swXSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdGltZW91dCBuZWNlc3NhcmlvIHBhcmEgb3MgaXRlbnMgc2VyZW0gcmVmbGV0aWRvcyBuYSB0YWJlbGFcclxuICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy5jaGVja0luZmluaXRlU2Nyb2xsKCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGl0ZW1zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2l0ZW1zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIExpc3RhIGRhcyBjb2x1bmFzIGRhIHRhYmVsYSwgZGV2ZSByZWNlYmVyIHVtICphcnJheSogZGUgb2JqZXRvcyBxdWUgaW1wbGVtZW50YW0gYSBpbnRlcmZhY2UgYFBvVGFibGVDb2x1bW5gLlxyXG4gICAqIFBvciBwYWRyw6NvIHJlY2ViZXLDoSBjb21vIHZhbG9yIGEgcHJpbWVpcmEgY29sdW5hIGRhIGxpc3RhIGRlIGl0ZW5zIGRhIHRhYmVsYS5cclxuICAgKiA+IENhc28gbsOjbyBlbmNvbnRyZSB2YWxvciwgYSBtZW5zYWdlbSAnTmVuaHVtYSBkZWZpbmnDp8OjbyBkZSBjb2x1bmFzJyBzZXLDoSBleGliaWRhLlxyXG4gICAqXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWNvbHVtbnMnKSBzZXQgY29sdW1ucyhjb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPikge1xyXG4gICAgaWYgKHRoaXMuaW5pdGlhbENvbHVtbnMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLmluaXRpYWxDb2x1bW5zID0gY29sdW1ucztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9jb2x1bW5zID0gY29sdW1ucyB8fCBbXTtcclxuXHJcbiAgICBpZiAodGhpcy5fY29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5zZXRDb2x1bW5MaW5rKCk7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMuaGFzSXRlbXMpIHtcclxuICAgICAgdGhpcy5fY29sdW1ucyA9IHRoaXMuZ2V0RGVmYXVsdENvbHVtbnModGhpcy5pdGVtc1swXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vbkNoYW5nZUNvbHVtbnMoKTtcclxuICB9XHJcblxyXG4gIGdldCBjb2x1bW5zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbHVtbnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogQWRpY2lvbmEgdW0gY29udG9ybm8gYXJyZWRvbmRhZG8gYW8gYHBvLXRhYmxlYCwgYXMgb3DDp8O1ZXMgc8OjbzpcclxuICAgKiAtIGBib3JkZXJgOiBjb20gYm9yZGFzL2xpbmhhcy5cclxuICAgKiAtIGBzaGFkb3dgOiBjb20gc29tYnJhcy5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBib3JkZXJgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWNvbnRhaW5lcicpIHNldCBjb250YWluZXIodmFsdWU6IHN0cmluZykge1xyXG4gICAgdGhpcy5fY29udGFpbmVyID0gcG9UYWJsZUNvbnRhaW5lci5pbmNsdWRlcyh2YWx1ZSkgPyB2YWx1ZSA6IHBvVGFibGVDb250YWluZXJEZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNvbnRhaW5lcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbnRhaW5lcjtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBEZWZpbmUgYSBhbHR1cmEgZGEgdGFiZWxhIGVtICpwaXhlbHMqIGUgZml4YSBvIGNhYmXDp2FsaG8uXHJcbiAgICpcclxuICAgKiBBbyB1dGlsaXphciBlc3NhIHByb3ByaWVkYWRlIHNlcsOhIGluc2VyaWRvIG8gYHZpcnR1YWwtc2Nyb2xsYCBuYSB0YWJlbGEgbWVsaG9yYW5kbyBhIHBlcmZvcm1hbmNlLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1oZWlnaHQnKSBzZXQgaGVpZ2h0KGhlaWdodDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9oZWlnaHQgPSBoZWlnaHQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaGVpZ2h0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hlaWdodDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBIYWJpbGl0YSBhIHZpc3VhbGl6YcOnw6NvIGRhIGxpc3RhIGRlIGRldGFsaGVzIGRlIGNhZGEgbGluaGEgZGEgY29sdW5hLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1oaWRlLWRldGFpbCcpIHNldCBoaWRlRGV0YWlsKGhpZGVEZXRhaWw6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2hpZGVEZXRhaWwgPSBoaWRlRGV0YWlsICE9IG51bGwgJiYgaGlkZURldGFpbC50b1N0cmluZygpID09PSAnJyA/IHRydWUgOiBjb252ZXJ0VG9Cb29sZWFuKGhpZGVEZXRhaWwpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhpZGVEZXRhaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faGlkZURldGFpbDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBPYmpldG8gY29tIGFzIGxpdGVyYWlzIHVzYWRhcyBubyBgcG8tdGFibGVgLlxyXG4gICAqXHJcbiAgICogRXhpc3RlbSBkdWFzIG1hbmVpcmFzIGRlIGN1c3RvbWl6YXIgbyBjb21wb25lbnRlLCBwYXNzYW5kbyB1bSBvYmpldG8gY29tIHRvZGFzIGFzIGxpdGVyYWlzIGRpc3BvbsOtdmVpczpcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqICBjb25zdCBjdXN0b21MaXRlcmFsczogUG9UYWJsZUxpdGVyYWxzID0ge1xyXG4gICAqICAgIGxvYWRNb3JlRGF0YTogJ0J1c2NhciBtYWlzIGRhZG9zJyxcclxuICAgKiAgICBsb2FkaW5nRGF0YTogJ1Byb2Nlc3NhbmRvJyxcclxuICAgKiAgICBub0NvbHVtbnM6ICdTZW0gY29sdW5hcycsXHJcbiAgICogICAgbm9EYXRhOiAnU2VtIGRhZG9zJyxcclxuICAgKiAgICBzZWVDb21wbGV0ZVN1YnRpdGxlOiAnTW9zdHJhciBsZWdlbmRhIGNvbXBsZXRhJyxcclxuICAgKiAgICBjb21wbGV0ZVN1YnRpdGxlOiAnVG9kYXMgbGVnZW5kYXMnXHJcbiAgICogIH07XHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBPdSBwYXNzYW5kbyBhcGVuYXMgYXMgbGl0ZXJhaXMgcXVlIGRlc2VqYSBjdXN0b21pemFyOlxyXG4gICAqXHJcbiAgICogYGBgXHJcbiAgICogIGNvbnN0IGN1c3RvbUxpdGVyYWxzOiBQb1RhYmxlTGl0ZXJhbHMgPSB7XHJcbiAgICogICAgbm9EYXRhOiAnU2VtIGRhZG9zJ1xyXG4gICAqICB9O1xyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogRSBwYXJhIGNhcnJlZ2FyIGFzIGxpdGVyYWlzIGN1c3RvbWl6YWRhcywgYmFzdGEgYXBlbmFzIHBhc3NhciBvIG9iamV0byBwYXJhIG8gY29tcG9uZW50ZS5cclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqIDxwby10YWJsZVxyXG4gICAqICAgW3AtbGl0ZXJhbHNdPVwiY3VzdG9tTGl0ZXJhbHNcIj5cclxuICAgKiA8L3BvLXRhYmxlPlxyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogPiBPIG9iamV0byBwYWRyw6NvIGRlIGxpdGVyYWlzIHNlcsOhIHRyYWR1emlkbyBkZSBhY29yZG8gY29tIG8gaWRpb21hIGRvXHJcbiAgICogW2BQb0kxOG5TZXJ2aWNlYF0oL2RvY3VtZW50YXRpb24vcG8taTE4bikgb3UgZG8gYnJvd3Nlci5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtbGl0ZXJhbHMnKSBzZXQgbGl0ZXJhbHModmFsdWU6IFBvVGFibGVMaXRlcmFscykge1xyXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgT2JqZWN0ICYmICEodmFsdWUgaW5zdGFuY2VvZiBBcnJheSkpIHtcclxuICAgICAgdGhpcy5fbGl0ZXJhbHMgPSB7XHJcbiAgICAgICAgLi4ucG9UYWJsZUxpdGVyYWxzRGVmYXVsdFtwb0xvY2FsZURlZmF1bHRdLFxyXG4gICAgICAgIC4uLnBvVGFibGVMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV0sXHJcbiAgICAgICAgLi4udmFsdWVcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuX2xpdGVyYWxzID0gcG9UYWJsZUxpdGVyYWxzRGVmYXVsdFt0aGlzLmxhbmd1YWdlXTtcclxuICAgIH1cclxuICB9XHJcbiAgZ2V0IGxpdGVyYWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpdGVyYWxzIHx8IHBvVGFibGVMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogQmxvcXVlaWEgYSBpbnRlcmHDp8OjbyBkbyB1c3XDoXJpbyBjb20gb3MgZGFkb3MgZGEgX3RhYmxlXy5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtbG9hZGluZycpIHNldCBsb2FkaW5nKGxvYWRpbmc6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2xvYWRpbmcgPSBjb252ZXJ0VG9Cb29sZWFuKGxvYWRpbmcpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGxvYWRpbmcoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fbG9hZGluZztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBEZWZpbmUgdW1hIGxpc3RhIGRlIGHDp8O1ZXMuXHJcbiAgICpcclxuICAgKiBRdWFuZG8gaG91dmVyIGFwZW5hcyB1bWEgYcOnw6NvIGRlZmluaWRhIGVsYSBzZXLDoSBleGliaWRhIGRpcmV0YW1lbnRlIG5hIGNvbHVuYSwgY2FzbyBjb250csOhcmlvLCBvIGNvbXBvbmVudGVcclxuICAgKiBzZSBlbmNhcnJlZ2EgZGUgYWdydXDDoS1sYXMgZXhpYmluZG8gbyDDrWNvbmUgWyoqcG8taWNvbi1tb3JlKipdKC9ndWlkZXMvaWNvbnMpIHF1ZSBsaXN0YXLDoSBhcyBhw6fDtWVzIGFvIHNlciBjbGljYWRvLlxyXG4gICAqXHJcbiAgICogKipBIGNvbHVuYSBkZSBhw6fDtWVzIG7Do28gc2Vyw6EgZXhpYmlkYSBxdWFuZG86KipcclxuICAgKiAgLSBhIGxpc3RhIGNvbnRlciB2YWxvcmVzIGludsOhbGlkb3Mgb3UgaW5kZWZpbmlkb3MuXHJcbiAgICogIC0gdGVuaGEgdW1hIMO6bmljYSBhw6fDo28gZSBhIG1lc21hIG7Do28gZm9yIHZpc8OtdmVsLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1hY3Rpb25zJykgc2V0IGFjdGlvbnMoYWN0aW9uczogQXJyYXk8UG9UYWJsZUFjdGlvbj4pIHtcclxuICAgIHRoaXMuX2FjdGlvbnMgPSBhY3Rpb25zO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFjdGlvbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fYWN0aW9ucztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBQZXJtaXRlIGEgc2VsZcOnw6NvIGRlIGxpbmhhcyBuYSB0YWJlbGEgZSwgY2FzbyBhIHByb3ByaWVkYWRlIGBwLXNpbmdsZS1zZWxlY3RgIGVzdGVqYSBkZWZpbmlkYSBzZXLDoSBwb3Nzw612ZWxcclxuICAgKiBzZWxlY2lvbmFyIGFwZW5hcyB1bWEgw7puaWNhIGxpbmhhLlxyXG4gICAqXHJcbiAgICogKipJbXBvcnRhbnRlOioqXHJcbiAgICogIC0gQXMgbGluaGFzIGRlIGRldGFsaGUgZGVmaW5pZGFzIGVtIGBQb1RhYmxlRGV0YWlsYCBwb3NzdWVtIGNvbXBvcnRhbWVudG8gaW5kZXBlbmRlbnRlIGRhIGxpbmhhIG1lc3RyZTtcclxuICAgKiAgLSBDYWRhIGxpbmhhIHBvc3N1aSBwb3IgcGFkcsOjbyBhIHByb3ByaWVkYWRlIGRpbsOibWljYSBgJHNlbGVjdGVkYCwgbmEgcXVhbCDDqSBwb3Nzw612ZWwgdmFsaWRhciBzZSBhIGxpbmhhXHJcbiAgICogZXN0w6Egc2VsZWNpb25hZGEsIHBvciBleGVtcGxvOiBgaXRlbS4kc2VsZWN0ZWRgIG91IGBpdGVtWyckc2VsZWN0ZWQnXWAuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLXNlbGVjdGFibGUnKSBzZXQgc2VsZWN0YWJsZSh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5fc2VsZWN0YWJsZSA9IDxhbnk+dmFsdWUgPT09ICcnID8gdHJ1ZSA6IGNvbnZlcnRUb0Jvb2xlYW4odmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlbGVjdGFibGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VsZWN0YWJsZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBTZSB2ZXJkYWRlaXJvLCBhdGl2YSBhIGZ1bmNpb25hbGlkYWRlIGRlIHNjcm9sbCBpbmZpbml0byBwYXJhIGEgdGFiZWxhIGUgbyBib3TDo28gXCJDYXJyZWdhciBNYWlzXCIgZGVpeGFyw6EgZGUgc2VyIGV4aWJpZG8uIEFvIGNoZWdhciBubyBmaW0gZGEgdGFiZWxhXHJcbiAgICogZXhlY3V0YXLDoSBhIGZ1bsOnw6NvIGBwLXNob3ctbW9yZWAuXHJcbiAgICpcclxuICAgKiAqKlJlZ3JhcyBkZSB1dGlsaXphw6fDo286KipcclxuICAgKiAgLSBPIHNjcm9sbCBpbmZpbml0byBzw7MgZnVuY2lvbmEgcGFyYSB0YWJlbGFzIHF1ZSB1dGlsaXphbSBhIHByb3ByaWVkYWRlIGBwLWhlaWdodGAgZSBxdWUgcG9zc3VlbSBvIHNjcm9sbCBqw6EgbmEgY2FyZ2EgaW5pY2lhbCBkb3MgZGFkb3MuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWluZmluaXRlLXNjcm9sbCcpIHNldCBpbmZpbml0ZVNjcm9sbCh2YWx1ZTogYm9vbGVhbikge1xyXG4gICAgdGhpcy5faW5maW5pdGVTY3JvbGwgPSBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlICYmIHRoaXMuaGVpZ2h0ID4gMCk7XHJcbiAgfVxyXG5cclxuICBnZXQgaW5maW5pdGVTY3JvbGwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5maW5pdGVTY3JvbGw7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBEZWZpbmUgbyBwZXJjZW50dWFsIG5lY2Vzc8OhcmlvIHBhcmEgZGlzcGFyYXIgbyBldmVudG8gYHAtc2hvdy1tb3JlYCwgcXVlIMOpIHJlc3BvbnPDoXZlbCBwb3IgY2FycmVnYXIgbWFpcyBkYWRvcyBuYSB0YWJlbGEuIENhc28gbyB2YWxvciBpbmZvcm1hZG8gc2VqYSBtYWlvciBxdWUgMTAwIG91IG1lbm9yXHJcbiAgICogcXVlIDAsIG8gdmFsb3IgcGFkcsOjbyBzZXLDoSAxMDAlXHJcbiAgICpcclxuICAgKiAqKkV4ZW1wbG9zOioqXHJcbiAgICogIC0gcC1pbmZpbml0ZS1zY3JvbGwtZGlzdGFuY2UgPSA4MDogUXVhbmRvIGF0aW5naXIgODAlICBkbyBzY3JvbGwgZGEgdGFiZWxhLCBvIGBwLXNob3ctbW9yZWAgc2Vyw6EgZGlzcGFyYWRvLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1pbmZpbml0ZS1zY3JvbGwtZGlzdGFuY2UnKSBzZXQgaW5maW5pdGVTY3JvbGxEaXN0YW5jZSh2YWx1ZTogbnVtYmVyKSB7XHJcbiAgICB0aGlzLl9pbmZpbml0ZVNjcm9sbERpc3RhbmNlID0gdmFsdWUgPiAxMDAgfHwgdmFsdWUgPCAwID8gMTAwIDogdmFsdWU7XHJcbiAgfVxyXG5cclxuICBnZXQgaW5maW5pdGVTY3JvbGxEaXN0YW5jZSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9pbmZpbml0ZVNjcm9sbERpc3RhbmNlO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFVSTCBkYSBBUEkgcmVzcG9uc8OhdmVsIHBvciByZXRvcm5hciBvcyByZWdpc3Ryb3MuXHJcbiAgICpcclxuICAgKiBBbyByZWFsaXphciBhIGJ1c2NhIGRlIG1haXMgcmVnaXN0cm9zIHZpYSBwYWdpbmHDp8OjbyAoQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zKSwgc2Vyw6EgZW52aWFkbyBvcyBwYXLDom1ldHJvcyBgcGFnZWAgZSBgcGFnZVNpemVgLCBjb25mb3JtZSBhYmFpeG86XHJcbiAgICpcclxuICAgKiBgYGBcclxuICAgKiB1cmwgKyA/cGFnZT0xJnBhZ2VTaXplPTEwXHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiBDYXNvIHV0aWxpemFyIG9yZGVuYcOnw6NvLCBhIGNvbHVuYSBvcmRlbmFkYSBzZXLDoSBlbnZpYWRhIGF0cmF2w6lzIGRvIHBhcsOibWV0cm8gYG9yZGVyYCwgcG9yIGV4ZW1wbG86XHJcbiAgICogLSBDb2x1bmEgZGVjcmVzY2VudGU6XHJcbiAgICogYGBgXHJcbiAgICogIHVybCArID9wYWdlPTEmcGFnZVNpemU9MTAmb3JkZXI9LW5hbWVcclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqIC0gQ29sdW5hIGFzY2VuZGVudGU6XHJcbiAgICogYGBgXHJcbiAgICogIHVybCArID9wYWdlPTEmcGFnZVNpemU9MTAmb3JkZXI9bmFtZVxyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogPiBFc3RhIFVSTCBkZXZlIHJldG9ybmFyIGUgcmVjZWJlciBvcyBkYWRvcyBubyBwYWRyw6NvIGRlIFtBUEkgZG8gUE8gVUldKGh0dHBzOi8vcG8tdWkuaW8vZ3VpZGVzL2FwaSkuXHJcbiAgICovXHJcbiAgQElucHV0KCdwLXNlcnZpY2UtYXBpJykgc2V0IHNlcnZpY2VBcGkoc2VydmljZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLl9zZXJ2aWNlQXBpID0gc2VydmljZTtcclxuICAgIHRoaXMuc2V0U2VydmljZSh0aGlzLnNlcnZpY2VBcGkpO1xyXG4gICAgdGhpcy5oYXNTZXJ2aWNlID0gISFzZXJ2aWNlO1xyXG4gICAgdGhpcy5zaG93TW9yZURpc2FibGVkID0gIXRoaXMuaGFzU2VydmljZTtcclxuICAgIHRoaXMucGFnZSA9IDE7XHJcbiAgICB0aGlzLmluaXRpYWxpemVEYXRhKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgc2VydmljZUFwaSgpIHtcclxuICAgIHJldHVybiB0aGlzLl9zZXJ2aWNlQXBpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0NvbHVtbnMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zICYmIHRoaXMuY29sdW1ucy5sZW5ndGggPiAwO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhhc0l0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuICEhKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IG5hbWVDb2x1bW5EZXRhaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5NYXN0ZXJEZXRhaWwgPyB0aGlzLmNvbHVtbk1hc3RlckRldGFpbC5wcm9wZXJ0eSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsaWRDb2x1bW5zKCkge1xyXG4gICAgY29uc3QgdHlwZXNWYWxpZCA9IFtcclxuICAgICAgJ3N0cmluZycsXHJcbiAgICAgICdudW1iZXInLFxyXG4gICAgICAnYm9vbGVhbicsXHJcbiAgICAgICdkYXRlJyxcclxuICAgICAgJ3RpbWUnLFxyXG4gICAgICAnZGF0ZVRpbWUnLFxyXG4gICAgICAnY3VycmVuY3knLFxyXG4gICAgICAnc3VidGl0bGUnLFxyXG4gICAgICAnbGluaycsXHJcbiAgICAgICdsYWJlbCcsXHJcbiAgICAgICdpY29uJyxcclxuICAgICAgJ2NlbGxUZW1wbGF0ZScsXHJcbiAgICAgICdjb2x1bW5UZW1wbGF0ZSdcclxuICAgIF07XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLmZpbHRlcihjb2wgPT4gIWNvbC50eXBlIHx8IHR5cGVzVmFsaWQuaW5jbHVkZXMoY29sLnR5cGUpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0IHNvcnRUeXBlKCk6IFBvVGFibGVDb2x1bW5Tb3J0VHlwZSB7XHJcbiAgICByZXR1cm4gdGhpcy5zb3J0ZWRDb2x1bW4uYXNjZW5kaW5nID8gUG9UYWJsZUNvbHVtblNvcnRUeXBlLkFzY2VuZGluZyA6IFBvVGFibGVDb2x1bW5Tb3J0VHlwZS5EZXNjZW5kaW5nO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHBvRGF0ZTogUG9EYXRlU2VydmljZSxcclxuICAgIGxhbmd1YWdlU2VydmljZTogUG9MYW5ndWFnZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHBvVGFibGVTZXJ2aWNlOiBQb1RhYmxlU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5sYW5ndWFnZSA9IGxhbmd1YWdlU2VydmljZS5nZXRTaG9ydExhbmd1YWdlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucG9UYWJsZVNlcnZpY2VTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zaW5nbGVTZWxlY3QgfHwgdGhpcy5oaWRlU2VsZWN0QWxsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuaGlkZVNlbGVjdEFsbCA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNoYW5nZXMuaGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuY2FsY3VsYXRlSGVpZ2h0VGFibGVDb250YWluZXIodGhpcy5oZWlnaHQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0QWxsUm93cygpIHtcclxuICAgIGlmICghdGhpcy5oaWRlU2VsZWN0QWxsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gIXRoaXMuc2VsZWN0QWxsO1xyXG5cclxuICAgICAgdGhpcy5pdGVtcy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICAgIGl0ZW0uJHNlbGVjdGVkID0gdGhpcy5zZWxlY3RBbGw7XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5lbWl0U2VsZWN0QWxsRXZlbnRzKHRoaXMuc2VsZWN0QWxsLCBbLi4udGhpcy5pdGVtc10pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0Um93KHJvdzogYW55KSB7XHJcbiAgICByb3cuJHNlbGVjdGVkID0gIXJvdy4kc2VsZWN0ZWQ7XHJcblxyXG4gICAgdGhpcy5lbWl0U2VsZWN0RXZlbnRzKHJvdyk7XHJcblxyXG4gICAgdGhpcy5jb25maWdBZnRlclNlbGVjdFJvdyh0aGlzLml0ZW1zLCByb3cpO1xyXG4gIH1cclxuXHJcbiAgaGFzU2VsZWN0YWJsZVJvdygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGFibGUgJiYgdGhpcy5zZWxlY3RhYmxlRW50aXJlTGluZTtcclxuICB9XHJcblxyXG4gIHNlbGVjdERldGFpbFJvdyhyb3c6IGFueSkge1xyXG4gICAgdGhpcy5lbWl0U2VsZWN0RXZlbnRzKHJvdyk7XHJcbiAgfVxyXG5cclxuICBnZXRDbGFzc0NvbG9yKHJvdywgY29sdW1uKSB7XHJcbiAgICByZXR1cm4gY29sdW1uLmNvbG9yID8gYHBvLXRleHQtJHt0aGlzLmdldENvbHVtbkNvbG9yKHJvdywgY29sdW1uKX1gIDogJyc7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVEZXRhaWwocm93OiBhbnkpIHtcclxuICAgIGNvbnN0IHJvd1Nob3dEZXRhaWwgPSByb3cuJHNob3dEZXRhaWw7XHJcbiAgICBpZiAodGhpcy5hdXRvQ29sbGFwc2UpIHtcclxuICAgICAgdGhpcy5jb2xsYXBzZUFsbEl0ZW1zKHRoaXMuaXRlbXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0U2hvd0RldGFpbChyb3csICFyb3dTaG93RGV0YWlsKTtcclxuICAgIHRoaXMuZW1pdEV4cGFuZEV2ZW50cyhyb3cpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUm93QWN0aW9uKHJvdzogYW55KSB7XHJcbiAgICBjb25zdCB0b2dnbGVTaG93QWN0aW9uID0gcm93LiRzaG93QWN0aW9uO1xyXG5cclxuICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaWYgKGl0ZW0uJHNob3dBY3Rpb24pIHtcclxuICAgICAgICBpdGVtLiRzaG93QWN0aW9uID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgcm93LiRzaG93QWN0aW9uID0gIXRvZ2dsZVNob3dBY3Rpb247XHJcbiAgfVxyXG5cclxuICBzb3J0Q29sdW1uKGNvbHVtbjogUG9UYWJsZUNvbHVtbikge1xyXG4gICAgaWYgKCF0aGlzLnNvcnQgfHwgY29sdW1uLnR5cGUgPT09ICdkZXRhaWwnIHx8IGNvbHVtbi5zb3J0YWJsZSA9PT0gZmFsc2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc29ydGVkQ29sdW1uLmFzY2VuZGluZyA9IHRoaXMuc29ydGVkQ29sdW1uLnByb3BlcnR5ID09PSBjb2x1bW4gPyAhdGhpcy5zb3J0ZWRDb2x1bW4uYXNjZW5kaW5nIDogdHJ1ZTtcclxuXHJcbiAgICB0aGlzLnNvcnRBcnJheShjb2x1bW4sIHRoaXMuc29ydGVkQ29sdW1uLmFzY2VuZGluZyk7XHJcbiAgICB0aGlzLnNvcnRCeS5lbWl0KHsgY29sdW1uLCB0eXBlOiB0aGlzLnNvcnRUeXBlIH0pO1xyXG4gICAgaWYgKHRoaXMuaGFzU2VydmljZSAmJiB0aGlzLnNvcnQpIHtcclxuICAgICAgdGhpcy5zb3J0U3RvcmUgPSB7IGNvbHVtbiwgdHlwZTogdGhpcy5zb3J0VHlwZSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc29ydGVkQ29sdW1uLnByb3BlcnR5ID0gY29sdW1uO1xyXG4gIH1cclxuXHJcbiAgb25TaG93TW9yZSgpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNvcnQgPSB0aGlzLnNvcnRlZENvbHVtbi5wcm9wZXJ0eSA/IHsgY29sdW1uOiB0aGlzLnNvcnRlZENvbHVtbi5wcm9wZXJ0eSwgdHlwZTogdGhpcy5zb3J0VHlwZSB9IDogdW5kZWZpbmVkO1xyXG5cclxuICAgIGlmICh0aGlzLmhhc1NlcnZpY2UpIHtcclxuICAgICAgdGhpcy5wYWdlKys7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMubG9hZGluZ1Nob3dNb3JlID0gdHJ1ZTtcclxuXHJcbiAgICAgIHRoaXMucG9UYWJsZVNlcnZpY2VTdWJzY3JpcHRpb24gPSB0aGlzLmdldEZpbHRlcmVkSXRlbXMoKS5zdWJzY3JpYmUoZGF0YSA9PiB7XHJcbiAgICAgICAgdGhpcy5pdGVtcyA9IFsuLi50aGlzLml0ZW1zLCAuLi5kYXRhLml0ZW1zXTtcclxuICAgICAgICB0aGlzLnNob3dNb3JlRGlzYWJsZWQgPSAhZGF0YS5oYXNOZXh0O1xyXG4gICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1Nob3dNb3JlID0gZmFsc2U7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvd01vcmUuZW1pdChzb3J0KTtcclxuICB9XHJcblxyXG4gIGdldEZpbHRlcmVkSXRlbXMocXVlcnlQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IFF1ZXJ5UGFyYW1zVHlwZSB9KTogT2JzZXJ2YWJsZTxQb1RhYmxlUmVzcG9uc2VBcGk+IHtcclxuICAgIGNvbnN0IGZpbHRlcmVkUGFyYW1zOiBQb1RhYmxlRmlsdGVyZWRJdGVtc1BhcmFtcyA9IHRoaXMuZ2V0RmlsdGVyZWRQYXJhbXMocXVlcnlQYXJhbXMpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnBvVGFibGVTZXJ2aWNlLmdldEZpbHRlcmVkSXRlbXMoZmlsdGVyZWRQYXJhbXMpO1xyXG4gIH1cclxuXHJcbiAgc2V0VGFibGVSZXNwb25zZVByb3BlcnRpZXMoZGF0YTogUG9UYWJsZVJlc3BvbnNlQXBpKSB7XHJcbiAgICB0aGlzLml0ZW1zID0gZGF0YS5pdGVtcyB8fCBbXTtcclxuICAgIHRoaXMuc2hvd01vcmVEaXNhYmxlZCA9ICFkYXRhLmhhc05leHQ7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVEYXRhKHBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogUXVlcnlQYXJhbXNUeXBlIH0pOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmhhc1NlcnZpY2UpIHtcclxuICAgICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgICAgdGhpcy5nZXRGaWx0ZXJlZEl0ZW1zKHBhcmFtcykuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuc2V0VGFibGVSZXNwb25zZVByb3BlcnRpZXMoZGF0YSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIGdldERlZmF1bHRDb2x1bW5zKGl0ZW06IGFueSkge1xyXG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGl0ZW0pO1xyXG5cclxuICAgIHJldHVybiBrZXlzXHJcbiAgICAgIC5maWx0ZXIoa2V5ID0+IHR5cGVvZiBpdGVtW2tleV0gIT09ICdvYmplY3QnKVxyXG4gICAgICAubWFwKGtleSA9PiAoeyBsYWJlbDogY2FwaXRhbGl6ZUZpcnN0TGV0dGVyKGtleSksIHByb3BlcnR5OiBrZXkgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHJvdGVjdGVkIHNldFNob3dEZXRhaWwocm93SWRlbnRpZmllcjogYW55IHwgbnVtYmVyLCBpc1Nob3dEZXRhaWw6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGlzUm93SW5kZXggPSB0eXBlb2Ygcm93SWRlbnRpZmllciA9PT0gJ251bWJlcicgJiYgdGhpcy5pdGVtc1tyb3dJZGVudGlmaWVyXTtcclxuXHJcbiAgICBjb25zdCByb3cgPSBpc1Jvd0luZGV4ID8gdGhpcy5pdGVtc1tyb3dJZGVudGlmaWVyXSA6IHJvd0lkZW50aWZpZXI7XHJcblxyXG4gICAgcm93LiRzaG93RGV0YWlsID0gaXNTaG93RGV0YWlsO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb2xsYXBzZUFsbEl0ZW1zKGl0ZW1zOiBBcnJheTx7IFtrZXk6IHN0cmluZ106IGFueSB9Pikge1xyXG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XHJcbiAgICAgIGlmIChpdGVtLiRzaG93RGV0YWlsKSB7XHJcbiAgICAgICAgdGhpcy5zZXRTaG93RGV0YWlsKGl0ZW0sIGZhbHNlKTtcclxuICAgICAgICB0aGlzLmVtaXRFeHBhbmRFdmVudHMoaXRlbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29uZmlnQWZ0ZXJTZWxlY3RSb3cocm93czogQXJyYXk8YW55Piwgcm93KSB7XHJcbiAgICBpZiAodGhpcy5zaW5nbGVTZWxlY3QpIHtcclxuICAgICAgdGhpcy51bnNlbGVjdE90aGVyUm93cyhyb3dzLCByb3cpO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5oaWRlU2VsZWN0QWxsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0QWxsID0gdGhpcy5pc0V2ZXJ5U2VsZWN0ZWQocm93cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRFeHBhbmRFdmVudHMocm93OiBhbnkpIHtcclxuICAgIHJvdy4kc2hvd0RldGFpbCA/IHRoaXMuZXhwYW5kZWQuZW1pdChyb3cpIDogdGhpcy5jb2xsYXBzZWQuZW1pdChyb3cpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0U2VsZWN0QWxsRXZlbnRzKHNlbGVjdEFsbDogYm9vbGVhbiwgcm93czogYW55KSB7XHJcbiAgICBzZWxlY3RBbGwgPyB0aGlzLmFsbFNlbGVjdGVkLmVtaXQocm93cykgOiB0aGlzLmFsbFVuc2VsZWN0ZWQuZW1pdChyb3dzKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFNlbGVjdEV2ZW50cyhyb3c6IGFueSkge1xyXG4gICAgcm93LiRzZWxlY3RlZCA/IHRoaXMuc2VsZWN0ZWQuZW1pdChyb3cpIDogdGhpcy51bnNlbGVjdGVkLmVtaXQocm93KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0Q29sdW1uQ29sb3Iocm93LCBjb2x1bW4pIHtcclxuICAgIGNvbnN0IGNvbHVtbkNvbG9yID0gY29sdW1uLmNvbG9yO1xyXG5cclxuICAgIHJldHVybiBpc1R5cGVvZihjb2x1bW5Db2xvciwgJ2Z1bmN0aW9uJykgPyBjb2x1bW5Db2xvcihyb3csIGNvbHVtbi5wcm9wZXJ0eSkgOiBjb2x1bW5Db2xvcjtcclxuICB9XHJcblxyXG4gIC8vIFJldG9ybmEgYSBjb2x1bmEgZGEgbGlzdGEgZGUgY29sdW5hcyBxdWUgw6kgZG8gdGlwbyBkZXRhaWxcclxuICBwcml2YXRlIGdldENvbHVtbk1hc3RlckRldGFpbCgpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbHVtbnMuZmluZChjb2wgPT4gY29sLnR5cGUgPT09ICdkZXRhaWwnKTtcclxuICB9XHJcblxyXG4gIC8vIENvbHVuYXMgcXVlIHPDo28gaW5zZXJpZGFzIG5vIDxoZWFkPiBkYSB0YWJlbGFcclxuICBwcml2YXRlIGdldE1haW5Db2x1bW5zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMudmFsaWRDb2x1bW5zLmZpbHRlcihjb2wgPT4gY29sLnZpc2libGUgIT09IGZhbHNlKTtcclxuICB9XHJcblxyXG4gIC8vIFJldG9ybmEgYXMgY29sdW5hcyBjb20gc3RhdHVzXHJcbiAgcHJpdmF0ZSBnZXRTdWJ0aXRsZUNvbHVtbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLmZpbHRlcihjb2wgPT4gY29sLnR5cGUgPT09ICdzdWJ0aXRsZScpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0V2ZXJ5U2VsZWN0ZWQoaXRlbXM6IEFycmF5PGFueT4pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IHNvbWVDaGVja2VkT3JJbmRldGVybWluYXRlID0gaXRlbSA9PiBpdGVtLiRzZWxlY3RlZCB8fCBpdGVtLiRzZWxlY3RlZCA9PT0gbnVsbDtcclxuICAgIGNvbnN0IGV2ZXJ5Q2hlY2tlZCA9IGl0ZW0gPT4gaXRlbS4kc2VsZWN0ZWQ7XHJcblxyXG4gICAgaWYgKGl0ZW1zLmV2ZXJ5KGV2ZXJ5Q2hlY2tlZCkpIHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGl0ZW1zLnNvbWUoc29tZUNoZWNrZWRPckluZGV0ZXJtaW5hdGUpKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25DaGFuZ2VDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5zZXRNYWluQ29sdW1ucygpO1xyXG4gICAgdGhpcy5zZXRDb2x1bW5NYXN0ZXJEZXRhaWwoKTtcclxuICAgIHRoaXMuc2V0U3VidGl0bGVDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbHVtbkxpbmsoKSB7XHJcbiAgICB0aGlzLmNvbHVtbnMuZm9yRWFjaChjb2x1bW4gPT4ge1xyXG4gICAgICBpZiAoY29sdW1uWyd0eXBlJ10gPT09ICdsaW5rJyAmJiAhY29sdW1uWydsaW5rJ10pIHtcclxuICAgICAgICBjb2x1bW5bJ2xpbmsnXSA9ICdsaW5rJztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldENvbHVtbk1hc3RlckRldGFpbCgpIHtcclxuICAgIHRoaXMuY29sdW1uTWFzdGVyRGV0YWlsID0gdGhpcy5nZXRDb2x1bW5NYXN0ZXJEZXRhaWwoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWFpbkNvbHVtbnMoKSB7XHJcbiAgICB0aGlzLm1haW5Db2x1bW5zID0gdGhpcy5nZXRNYWluQ29sdW1ucygpO1xyXG5cclxuICAgIHRoaXMuaGFzTWFpbkNvbHVtbnMgPSAhIXRoaXMubWFpbkNvbHVtbnMubGVuZ3RoO1xyXG5cclxuICAgIHRoaXMuYWxsQ29sdW1uc1dpZHRoUGl4ZWxzID0gdGhpcy52ZXJpZnlXaWR0aENvbHVtbnNQaXhlbHMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U3VidGl0bGVDb2x1bW5zKCkge1xyXG4gICAgdGhpcy5zdWJ0aXRsZUNvbHVtbnMgPSB0aGlzLmdldFN1YnRpdGxlQ29sdW1ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzb3J0QXJyYXkoY29sdW1uOiBQb1RhYmxlQ29sdW1uLCBhc2NlbmRpbmc6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IGl0ZW1zTGlzdCA9IHRoaXMuaGVpZ2h0ID8gWy4uLnRoaXMuaXRlbXNdIDogdGhpcy5pdGVtcztcclxuICAgIGl0ZW1zTGlzdC5zb3J0KChsZWZ0U2lkZSwgcmlnaHRTaWRlKTogbnVtYmVyID0+XHJcbiAgICAgIHNvcnRWYWx1ZXMobGVmdFNpZGVbY29sdW1uLnByb3BlcnR5XSwgcmlnaHRTaWRlW2NvbHVtbi5wcm9wZXJ0eV0sIGFzY2VuZGluZylcclxuICAgICk7XHJcbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IGl0ZW1zTGlzdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdW5zZWxlY3RPdGhlclJvd3Mocm93czogQXJyYXk8YW55Piwgcm93KSB7XHJcbiAgICByb3dzLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGlmIChpdGVtICE9PSByb3cpIHtcclxuICAgICAgICBpdGVtLiRzZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdmVyaWZ5V2lkdGhDb2x1bW5zUGl4ZWxzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGFzTWFpbkNvbHVtbnMgPyB0aGlzLm1haW5Db2x1bW5zLmV2ZXJ5KGNvbHVtbiA9PiBjb2x1bW4ud2lkdGggJiYgY29sdW1uLndpZHRoLmluY2x1ZGVzKCdweCcpKSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRTZXJ2aWNlKHNlcnZpY2U6IHN0cmluZykge1xyXG4gICAgaWYgKHNlcnZpY2UgJiYgaXNUeXBlb2Yoc2VydmljZSwgJ3N0cmluZycpKSB7XHJcbiAgICAgIHRoaXMucG9UYWJsZVNlcnZpY2Uuc2V0VXJsKHNlcnZpY2UpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRGaWx0ZXJlZFBhcmFtcyhxdWVyeVBhcmFtcz86IHsgW2tleTogc3RyaW5nXTogUXVlcnlQYXJhbXNUeXBlIH0pIHtcclxuICAgIGNvbnN0IHsgcGFnZSwgcGFnZVNpemUsIHNvcnRTdG9yZSB9ID0gdGhpcztcclxuXHJcbiAgICBjb25zdCBmaWx0ZXJlZFBhcmFtcyA9IHt9O1xyXG4gICAgY29uc3Qgb3JkZXIgPSB0aGlzLmdldE9yZGVyUGFyYW0oc29ydFN0b3JlKTtcclxuICAgIGNvbnN0IHBhcmFtcyA9IHsgcGFnZSwgcGFnZVNpemUsIG9yZGVyLCAuLi5xdWVyeVBhcmFtcyB9O1xyXG5cclxuICAgIGZvciAoY29uc3Qga2V5IGluIHBhcmFtcykge1xyXG4gICAgICBpZiAocGFyYW1zLmhhc093blByb3BlcnR5KGtleSkgJiYgcGFyYW1zW2tleV0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIGZpbHRlcmVkUGFyYW1zW2tleV0gPSBwYXJhbXNba2V5XTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZpbHRlcmVkUGFyYW1zO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRPcmRlclBhcmFtKHNvcnQ6IFBvVGFibGVDb2x1bW5Tb3J0ID0geyB0eXBlOiB1bmRlZmluZWQgfSkge1xyXG4gICAgY29uc3QgeyBjb2x1bW4sIHR5cGUgfSA9IHNvcnQ7XHJcblxyXG4gICAgaWYgKCFjb2x1bW4pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0eXBlID09PSBQb1RhYmxlQ29sdW1uU29ydFR5cGUuRGVzY2VuZGluZykge1xyXG4gICAgICByZXR1cm4gYC0ke2NvbHVtbi5wcm9wZXJ0eX1gO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBgJHtjb2x1bW4ucHJvcGVydHl9YDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc29ydEFycmF5V2l0aEhlaWdodChpdGVtczogQXJyYXk8YW55Pikge1xyXG4gICAgaWYgKHRoaXMuaXRlbXMgJiYgdGhpcy5pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIGNvbnN0IG9iamVjdCA9IHRoaXMuaXRlbXNbMF07XHJcbiAgICAgIGNvbnN0IGtleSA9IE9iamVjdC5rZXlzKG9iamVjdClbMF07XHJcbiAgICAgIGNvbnN0IGFycmF5S2V5cyA9IG5ldyBTZXQodGhpcy5pdGVtcy5tYXAoZCA9PiBkW2tleV0pKTtcclxuICAgICAgY29uc3QgbWVyZ2VkID0gWy4uLml0ZW1zLmZpbHRlcihkID0+ICFhcnJheUtleXMuaGFzKGRba2V5XSkpXTtcclxuICAgICAgbGV0IHRlbXBvcmFyeUFycmF5O1xyXG5cclxuICAgICAgaWYgKG1lcmdlZC5sZW5ndGggPCAxKSB7XHJcbiAgICAgICAgdGVtcG9yYXJ5QXJyYXkgPSBbLi4uaXRlbXNdO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRlbXBvcmFyeUFycmF5ID0gWy4uLnRoaXMuaXRlbXNdO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IG5ld0FycmF5ID0gWy4uLnRlbXBvcmFyeUFycmF5LCAuLi5tZXJnZWRdO1xyXG5cclxuICAgICAgdGhpcy5faXRlbXMgPSBbLi4ubmV3QXJyYXldO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5faXRlbXMgPSBBcnJheS5pc0FycmF5KGl0ZW1zKSA/IFsuLi5pdGVtc10gOiBbXTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjYWxjdWxhdGVIZWlnaHRUYWJsZUNvbnRhaW5lcihoZWlnaHQpO1xyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY2hlY2tJbmZpbml0ZVNjcm9sbCgpO1xyXG59XHJcbiJdfQ==
|
|
972
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtYmFzZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tdGFibGUvcG8tdGFibGUtYmFzZS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFDTCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBS1YsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUdqRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saURBQWlELENBQUM7QUFLbEYsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFL0UsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7OztBQU9oRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxRQUFRLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDcEMsRUFBRSxFQUFtQjtRQUNuQixTQUFTLEVBQUUseUJBQXlCO1FBQ3BDLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLGVBQWUsRUFBRSxtQkFBbUI7UUFDcEMsV0FBVyxFQUFFLFNBQVM7UUFDdEIsWUFBWSxFQUFFLGdCQUFnQjtRQUM5QixtQkFBbUIsRUFBRSx1QkFBdUI7UUFDNUMsZ0JBQWdCLEVBQUUsbUJBQW1CO1FBQ3JDLGNBQWMsRUFBRSxpQkFBaUI7S0FDbEM7SUFDRCxFQUFFLEVBQW1CO1FBQ25CLFNBQVMsRUFBRSx1QkFBdUI7UUFDbEMsTUFBTSxFQUFFLHNCQUFzQjtRQUM5QixlQUFlLEVBQUUsdUJBQXVC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QUMsSUFBSSxDQUFDLElBQUksSUFBSSxNQUFNLENBQUMsSUFBSSxLQUFLLFFBQVEsSUFBSSxNQUFNLENBQUMsUUFBUSxLQUFLLEtBQUssRUFBRTtZQUN2RSxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUUxRyxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNsRCxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksRUFBRTtZQUNoQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDbEQ7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7SUFDdEMsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO1FBRWxILElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDWixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztZQUNwQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUU1QixJ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bUJBQW1CO1lBa0JlLHNCQUFzQjtrQkFBOUQsS0FBSzttQkFBQyw0QkFBNEI7WUFrQ1AsVUFBVTtrQkFBckMsS0FBSzttQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE91dHB1dCxcclxuICBEaXJlY3RpdmUsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBPbkRlc3Ryb3ksXHJcbiAgVmlld0NoaWxkLFxyXG4gIEVsZW1lbnRSZWZcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBjYXBpdGFsaXplRmlyc3RMZXR0ZXIsIGNvbnZlcnRUb0Jvb2xlYW4sIGlzVHlwZW9mLCBzb3J0VmFsdWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvdXRpbCc7XHJcbmltcG9ydCB7IFBvRGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9wby1kYXRlL3BvLWRhdGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XHJcbmltcG9ydCB7IHBvTG9jYWxlRGVmYXVsdCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLmNvbnN0YW50JztcclxuXHJcbmltcG9ydCB7IFBvVGFibGVBY3Rpb24gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtYWN0aW9uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvVGFibGVDb2x1bW4gfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtY29sdW1uLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5Tb3J0IH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLWNvbHVtbi1zb3J0LmludGVyZmFjZSc7XHJcbmltcG9ydCB7IFBvVGFibGVDb2x1bW5Tb3J0VHlwZSB9IGZyb20gJy4vZW51bXMvcG8tdGFibGUtY29sdW1uLXNvcnQtdHlwZS5lbnVtJztcclxuaW1wb3J0IHsgUG9UYWJsZUxpdGVyYWxzIH0gZnJvbSAnLi9pbnRlcmZhY2VzL3BvLXRhYmxlLWxpdGVyYWxzLmludGVyZmFjZSc7XHJcbmltcG9ydCB7IElucHV0Qm9vbGVhbiB9IGZyb20gJy4uLy4uL2RlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBQb1RhYmxlU2VydmljZSB9IGZyb20gJy4vc2VydmljZXMvcG8tdGFibGUuc2VydmljZSc7XHJcbmltcG9ydCB7IFBvVGFibGVSZXNwb25zZUFwaSB9IGZyb20gJy4vaW50ZXJmYWNlcy9wby10YWJsZS1yZXNwb25zZS1hcGkuaW50ZXJmYWNlJztcclxuaW1wb3J0IHsgUG9UYWJsZUZpbHRlcmVkSXRlbXNQYXJhbXMgfSBmcm9tICcuL2ludGVyZmFjZXMvcG8tdGFibGUtZmlsdGVyZWQtaXRlbXMtcGFyYW1zLmludGVyZmFjZSc7XHJcblxyXG5leHBvcnQgdHlwZSBRdWVyeVBhcmFtc1R5cGUgPSBzdHJpbmcgfCBudW1iZXIgfCBib29sZWFuO1xyXG5cclxuZXhwb3J0IGNvbnN0IHBvVGFibGVDb250YWluZXIgPSBbJ2JvcmRlcicsICdzaGFkb3cnXTtcclxuZXhwb3J0IGNvbnN0IHBvVGFibGVDb250YWluZXJEZWZhdWx0ID0gJ2JvcmRlcic7XHJcblxyXG5leHBvcnQgY29uc3QgcG9UYWJsZUxpdGVyYWxzRGVmYXVsdCA9IHtcclxuICBlbjogPFBvVGFibGVMaXRlcmFscz57XHJcbiAgICBub0NvbHVtbnM6ICdDb2x1bW5zIGFyZSBub3QgZGVmaW5lZCcsXHJcbiAgICBub0RhdGE6ICdObyBkYXRhIGZvdW5kJyxcclxuICAgIG5vVmlzaWJsZUNvbHVtbjogJ05vIHZpc2libGUgY29sdW1uJyxcclxuICAgIGxvYWRpbmdEYXRhOiAnTG9hZGluZycsXHJcbiAgICBsb2FkTW9yZURhdGE6ICdMb2FkIG1vcmUgZGF0YScsXHJcbiAgICBzZWVDb21wbGV0ZVN1YnRpdGxlOiAnU2VlIGNvbXBsZXRlIHN1YnRpdGxlJyxcclxuICAgIGNvbXBsZXRlU3VidGl0bGU6ICdDb21wbGV0ZSBzdWJ0aXRsZScsXHJcbiAgICBjb2x1bW5zTWFuYWdlcjogJ0NvbHVtbnMgbWFuYWdlcidcclxuICB9LFxyXG4gIGVzOiA8UG9UYWJsZUxpdGVyYWxzPntcclxuICAgIG5vQ29sdW1uczogJ0NvbHVtbmFzIG5vIGRlZmluaWRhcycsXHJcbiAgICBub0RhdGE6ICdEYXRvcyBubyBlbmNvbnRyYWRvcycsXHJcbiAgICBub1Zpc2libGVDb2x1bW46ICdTaW4gY29sdW1uYXMgdmlzaWJsZXMnLFxyXG4gICAgbG9hZGluZ0RhdGE6ICdDYXJnYW5kbyBkYXRvcycsXHJcbiAgICBsb2FkTW9yZURhdGE6ICdDYXJnYXIgbcOhcyByZXN1bHRhZG9zJyxcclxuICAgIHNlZUNvbXBsZXRlU3VidGl0bGU6ICdWZXIgc3VidGl0dWxvIGNvbXBsZXRvJyxcclxuICAgIGNvbXBsZXRlU3VidGl0bGU6ICdTdWJ0aXR1bG8gY29tcGxldG8nLFxyXG4gICAgY29sdW1uc01hbmFnZXI6ICdHZXJlbnRlIGRlIGNvbHVtbmEnXHJcbiAgfSxcclxuICBwdDogPFBvVGFibGVMaXRlcmFscz57XHJcbiAgICBub0NvbHVtbnM6ICdOZW5odW1hIGRlZmluacOnw6NvIGRlIGNvbHVuYXMnLFxyXG4gICAgbm9EYXRhOiAnTmVuaHVtIGRhZG8gZW5jb250cmFkbycsXHJcbiAgICBub1Zpc2libGVDb2x1bW46ICdOZW5odW1hIGNvbHVuYSB2aXPDrXZlbCcsXHJcbiAgICBsb2FkaW5nRGF0YTogJ0NhcnJlZ2FuZG8nLFxyXG4gICAgbG9hZE1vcmVEYXRhOiAnQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zJyxcclxuICAgIHNlZUNvbXBsZXRlU3VidGl0bGU6ICdWZXIgbGVnZW5kYSBjb21wbGV0YScsXHJcbiAgICBjb21wbGV0ZVN1YnRpdGxlOiAnTGVnZW5kYSBjb21wbGV0YScsXHJcbiAgICBjb2x1bW5zTWFuYWdlcjogJ0dlcmVuY2lhZG9yIGRlIGNvbHVuYXMnXHJcbiAgfSxcclxuICBydTogPFBvVGFibGVMaXRlcmFscz57XHJcbiAgICBub0NvbHVtbnM6ICfQndC10YIg0L7Qv9GA0LXQtNC10LvQtdC90LjRjyDRgdGC0L7Qu9Cx0YbQsCcsXHJcbiAgICBub0RhdGE6ICfQlNCw0L3QvdGL0LUg0L3QtSDQvdCw0LnQtNC10L3RiycsXHJcbiAgICBub1Zpc2libGVDb2x1bW46ICfQvdC10YIg0LLQuNC00LjQvNGL0YUg0YHRgtC+0LvQsdGG0L7QsicsXHJcbiAgICBsb2FkaW5nRGF0YTogJ9CX0LDQs9GA0YPQt9C60LAnLFxyXG4gICAgbG9hZE1vcmVEYXRhOiAn0JfQsNCz0YDRg9C30LrQsCcsXHJcbiAgICBzZWVDb21wbGV0ZVN1YnRpdGxlOiAn0J/QvtGB0LzQvtGC0YDQtdGC0Ywg0L/QvtC70L3Ri9C5INGB0YPQsdGC0LjRgtGAJyxcclxuICAgIGNvbXBsZXRlU3VidGl0bGU6ICfQn9C+0LvQvdGL0Lkg0LfQsNCz0L7Qu9C+0LLQvtC6JyxcclxuICAgIGNvbHVtbnNNYW5hZ2VyOiAn0LzQtdC90LXQtNC20LXRgCDQutC+0LvQvtC90L7QuidcclxuICB9XHJcbn07XHJcblxyXG4vKipcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqXHJcbiAqIEVzdGUgY29tcG9uZW50ZSBkZSB0YWJlbGEgw6kgdXRpbGl6YWRvIHBhcmEgZXhpYmnDp8OjbyBkZSBkYWRvcyBjb20gZGlmZXJlbnRlcyB0aXBvcyBjb21vIHBvciBleGVtcGxvIHRleHRvcywgZGF0YSwgaG9yYXMgZSBuw7ptZXJvcyBjb21cclxuICogZm9ybWF0byBwZXJzb25hbGl6YWRvLlxyXG4gKlxyXG4gKiBUYW1iw6ltIMOpIHBvc3NpdmVsIGNyaWFyIHRhYmVsYXMgY29tIG9yZGVuYcOnw6NvIGRlIGRhZG9zLCBsaW5oYXMgY29tIGRldGFsaGVzLCBjb2x1bmEgcGFyYSBzZWxlw6fDo28gZGUgbGluaGFzLCBjb2x1bmEgY29tIGHDp8O1ZXMgZSB0YW1iw6ltXHJcbiAqIGNhcnJlZ2FtZW50byBwb3IgZGVtYW5kYSBhdHJhdsOpcyBkbyBib3TDo28gKipDYXJyZWdhciBtYWlzIHJlc3VsdGFkb3MqKi5cclxuICpcclxuICogPiBBcyBsaW5oYXMgZGUgZGV0YWxoZXMgcG9kZW0gdGFtYsOpbSBzZXIgY3VzdG9taXphZGFzIGF0cmF2w6lzIGRvIFtgcC10YWJsZS1yb3ctdGVtcGxhdGVgXSgvZG9jdW1lbnRhdGlvbi9wby10YWJsZS1yb3ctdGVtcGxhdGUpLlxyXG4gKlxyXG4gKiA+IEFzIGNvbHVuYXMgcG9kZW0gc2VyIGN1c3RvbWl6YWRhcyBhdHJhdsOpcyBkb3MgdGVtcGxhdGVzIFtgcC10YWJsZS1jb2x1bW4tdGVtcGxhdGVgXSgvZG9jdW1lbnRhdGlvbi9wby10YWJsZS1jb2x1bW4tdGVtcGxhdGUpXHJcbiAqIGUgW2BwLXRhYmxlLWNlbGwtdGVtcGxhdGVgXSgvZG9jdW1lbnRhdGlvbi9wby10YWJsZS1jZWxsLXRlbXBsYXRlKS5cclxuICpcclxuICogTyBjb21wb25lbnRlIHBlcm1pdGUgZ2VyZW5jaWFyIGEgZXhpYmnDp8OjbyBkYXMgY29sdW5hcyBkaW5hbWljYW1lbnRlLiBFc3RhIGZ1bmNpb25hbGlkYWRlIHBvZGUgc2VyIGFjZXNzYWRhIGF0cmF2w6lzIGRvIMOtY29uZSBkZSBlbmdyZW5hZ2VtXHJcbiAqIG5vIGNhbnRvIHN1cGVyaW9yIGRpcmVpdG8gZG8gY2FiZcOnYWxobyBkYSB0YWJlbGEuXHJcbiAqXHJcbiAqIENhc28gYSBsYXJndXJhIGRlIHRvZGFzIGFzIGNvbHVuYXMgZm9yZW0gZGVmaW5pZGFzIGUgbyB0b3RhbCB1bHRyYXBhc3NhciBvIHRhbWFuaG8gdGFiZWxhLCBzZXLDoSBleGliaWRvIHVtICpzY3JvbGwqIG5hIGhvcml6b250YWwgcGFyYSBhXHJcbiAqIGNvbXBsZXRhIHZpc3VhbGl6YcOnw6NvIGRvcyBkYWRvcy5cclxuICovXHJcbkBEaXJlY3RpdmUoKVxyXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUG9UYWJsZUJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFNlIHZlcmRhZGVpcm8sIGhhYmlsaXRhIGEgcXVlYnJhIGRlIHRleHRvIGFvIHRyYW5zYm9yZGEtbG8gZGVudHJvIGRlIHF1YWxxdWVyIGNvbHVuYS5cclxuICAgKiA+IFF1YW5kbyBvY29ycmVyIGEgcXVlYnJhIGRlIHRleHRvLCBhbyBwYXNzYXIgbyBtb3VzZSBubyBjb250ZcO6ZG8gZGEgY8OpbHVsYSxcclxuICAgKiBvIG1lc21vIHNlcsOhIGV4aWJpZG8gYXRyYXbDqXMgZG8gW2Bwby10b29sdGlwYF0oL2RvY3VtZW50YXRpb24vcG8tdG9vbHRpcCkuXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWhpZGUtdGV4dC1vdmVyZmxvdycpIEBJbnB1dEJvb2xlYW4oKSBoaWRlVGV4dE92ZXJmbG93OiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBQZXJtaXRlIHF1ZSBvIGdlcmVuY2lhZG9yIGRlIGNvbHVuYXMsIHJlc3BvbnPDoXZlbCBwZWxhIGRlZmluacOnw6NvIGRlIHF1YWlzIGNvbHVuYXMgc2Vyw6NvIGV4aWJpZGFzLCBzZWphIGVzY29uZGlkby5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtaGlkZS1jb2x1bW5zLW1hbmFnZXInKSBASW5wdXRCb29sZWFuKCkgaGlkZUNvbHVtbnNNYW5hZ2VyPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogUGVybWl0ZSBmZWNoYXIgdW0gZGV0YWxoZSBvdSByb3cgdGVtcGxhdGUgYXV0b21hdGljYW1lbnRlLCBhbyBhYnJpciBvdXRybyBpdGVtLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1hdXRvLWNvbGxhcHNlJykgQElucHV0Qm9vbGVhbigpIGF1dG9Db2xsYXBzZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFBlcm1pdGUgcXVlIHNlamEgYWRpY2lvbmFkbyBvIGVzdGFkbyBkZSBjYXJyZWdhbWVudG8gbm8gYm90w6NvIFwiQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zXCIuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWxvYWRpbmctc2hvdy1tb3JlJykgQElucHV0Qm9vbGVhbigpIGxvYWRpbmdTaG93TW9yZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEhhYmlsaXRhIGVtIHRvZGFzIGFzIGNvbHVuYXMgYSBvcMOnw6NvIGRlIG9yZGVuYcOnw6NvIGRlIGRhZG9zLiBDYXNvIGEgY29sdW5hIHNlamEgZG8gdGlwbyAnZGF0YScgb3UgJ2RhdGVUaW1lJyBhXHJcbiAgICogbWVzbWEgZGV2ZSByZXNwZWl0YXIgb3MgdGlwb3MgZGUgZW50cmFkYSBkZWZpbmlkb3MgcGFyYSBxdWUgc2VqYW0gb3JkZW5hZGFzLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1zb3J0JykgQElucHV0Qm9vbGVhbigpIHNvcnQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBTZSB2ZXJkYWRlaXJvLCB0b3JuYSBoYWJpbGl0YWRvIG8gYm90w6NvIFwiQ2FycmVnYXIgbWFpcyByZXN1bHRhZG9zXCIuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLXNob3ctbW9yZS1kaXNhYmxlZCcpIEBJbnB1dEJvb2xlYW4oKSBzaG93TW9yZURpc2FibGVkPzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEhhYmlsaXRhIG91IGRlc2FiaWxpdGEgbyBlc3RpbG8gbGlzdHJhZG8gZGEgdGFiZWxhIChgc3RyaXBlZGApLlxyXG4gICAqID4gUmVjb21lbmRhZG8gcGFyYSB0YWJlbGFzIGNvbSBtYWlvciBuw7ptZXJvIGRlIGRhZG9zLCBmYWNpbGl0YW5kbyBhIHN1YSB2aXN1YWxpemHDp8OjbyBuYSB0YWJlbGEuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLXN0cmlwZWQnKSBASW5wdXRCb29sZWFuKCkgc3RyaXBlZD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBFc2NvbmRlIG8gKmNoZWNrYm94KiBwYXJhIHNlbGXDp8OjbyBkZSB0b2RhcyBhcyBsaW5oYXMuXHJcbiAgICpcclxuICAgKiA+IFNlbXByZSByZWNlYmVyw6EgKnRydWUqIGNhc28gYSBzZWxlw6fDo28gZGUgYXBlbmFzIHVtYSBsaW5oYSBlc3RlamEgYXRpdmEuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWhpZGUtc2VsZWN0LWFsbCcpIEBJbnB1dEJvb2xlYW4oKSBoaWRlU2VsZWN0QWxsOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIHF1ZSBzb21lbnRlIHVtYSBsaW5oYSBkYSB0YWJlbGEgcG9kZSBzZXIgc2VsZWNpb25hZGEuXHJcbiAgICpcclxuICAgKiA+IEVzdGEgZGVmaW5pw6fDo28gbsOjbyBzZSBhcGxpY2EgYW9zIGl0ZW5zIGZpbGhvcywgb3MgbWVzbW9zIHBvc3N1ZW0gY29tcG9ydGFtZW50byBpbmRlcGVuZGVudGUgZG8gaXRlbSBwYWkuXHJcbiAgICovXHJcbiAgQElucHV0KCdwLXNpbmdsZS1zZWxlY3QnKSBASW5wdXRCb29sZWFuKCkgc2luZ2xlU2VsZWN0PzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIFBlcm1pdGUgc2VsZWNpb25hciB1bSBpdGVtIGRhIHRhYmVsYSBjbGljYW5kbyBuYSBsaW5oYS5cclxuICAgKlxyXG4gICAqID4gQ2FzbyBoYWphIG5lY2Vzc2lkYWRlIGRlIHNlbGVjaW9uYXIgbyBpdGVtIGFwZW5hcyB2aWEgcmFkaW8gb3UgY2hlY2tib3gsIGRldmUtc2UgZGVmaW5pciBlc3RhIHByb3ByaWVkYWRlIGNvbW8gYGZhbHNlYC5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1zZWxlY3RhYmxlLWVudGlyZS1saW5lJykgQElucHV0Qm9vbGVhbigpIHNlbGVjdGFibGVFbnRpcmVMaW5lPzogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBEZWZpbmUgcXVlIGEgY29sdW5hIGRlIGHDp8O1ZXMgZmljYXLDoSBubyBsYWRvIGRpcmVpdG8gZGEgdGFiZWxhLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1hY3Rpb25zLXJpZ2h0JykgQElucHV0Qm9vbGVhbigpIGFjdGlvblJpZ2h0PzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIHVtYSBxdWFudGlkYWRlIG3DoXhpbWEgZGUgY29sdW5hcyBxdWUgc2Vyw6NvIGV4aWJpZGFzIG5hIHRhYmVsYS5cclxuICAgKlxyXG4gICAqIFF1YW5kbyBjaGVnYXIgbm8gdmFsb3IgaW5mb3JtYWRvLCBhcyBjb2x1bmFzIHF1ZSBuw6NvIGVzdGl2ZXJlbSBzZWxlY2lvbmFkYXMgZmljYXLDo29cclxuICAgKiBkZXNhYmlsaXRhZGFzIGUgY2FzbyBob3V2ZXIgbWFpcyBjb2x1bmFzIHZpc8OtdmVpcyBkbyBxdWUgbyBwZXJtaXRpZG8sIGFzIGV4Y2VkZW50ZXNcclxuICAgKiBzZXLDo28gaWdub3JhZGFzIHBvciBvcmRlbSBkZSBwb3Npw6fDo28uXHJcbiAgICovXHJcbiAgQElucHV0KCdwLW1heC1jb2x1bW5zJykgbWF4Q29sdW1ucz86IG51bWJlcjtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKiBFdmVudG8gZXhlY3V0YWRvIHF1YW5kbyB0b2RhcyBhcyBsaW5oYXMgc8OjbyBzZWxlY2lvbmFkYXMgcG9yIG1laW8gZG8gKmNoZWNrYm94KiBxdWUgc2VsZWNpb25hIHRvZGFzIGFzIGxpbmhhcy5cclxuICAgKi9cclxuICBAT3V0cHV0KCdwLWFsbC1zZWxlY3RlZCcpIGFsbFNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqIEV2ZW50byBleGVjdXRhZG8gcXVhbmRvIGEgc2VsZcOnw6NvIGRhcyBsaW5oYXMgw6kgZGVzbWFyY2FkYSBwb3IgbWVpbyBkbyAqY2hlY2tib3gqIHF1ZSBzZWxlY2lvbmEgdG9kYXMgYXMgbGluaGFzLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtYWxsLXVuc2VsZWN0ZWQnKSBhbGxVbnNlbGVjdGVkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBhbyBjb2xhcHNhciB1bWEgbGluaGEgZG8gYHBvLXRhYmxlYC5cclxuICAgKlxyXG4gICAqID4gQ29tbyBwYXLDom1ldHJvIG8gY29tcG9uZW50ZSBlbnZpYSBvIGl0ZW0gY29sYXBzYWRvLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtY29sbGFwc2VkJykgY29sbGFwc2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBhbyBleHBhbmRpciB1bWEgbGluaGEgZG8gYHBvLXRhYmxlYC5cclxuICAgKlxyXG4gICAqID4gQ29tbyBwYXLDom1ldHJvIG8gY29tcG9uZW50ZSBlbnZpYSBvIGl0ZW0gZXhwYW5kaWRvLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtZXhwYW5kZWQnKSBleHBhbmRlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEV2ZW50byBleGVjdXRhZG8gYW8gc2VsZWNpb25hciB1bWEgbGluaGEgZG8gYHBvLXRhYmxlYC5cclxuICAgKi9cclxuICBAT3V0cHV0KCdwLXNlbGVjdGVkJykgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBSZWNlYmUgdW1hIGHDp8OjbyBkZSBjbGlxdWUgcGFyYSBvIGJvdMOjbyBcIkNhcnJlZ2FyIG1haXMgcmVzdWx0YWRvc1wiLCBjYXNvIG5lbmh1bWEgYcOnw6NvIGZvciBkZWZpbmlkYSBvIG1lc21vXHJcbiAgICogbsOjbyDDqSB2aXPDrXZlbC5cclxuICAgKlxyXG4gICAqIFJlY2ViZSB1bSBvYmpldG8gYHsgY29sdW1uLCB0eXBlIH1gIG9uZGU6XHJcbiAgICpcclxuICAgKiAtIGNvbHVtbiAoYFBvVGFibGVDb2x1bW5gKTogb2JqZXRvIGRhIGNvbHVuYSBxdWUgZXN0w6Egb3JkZW5hZGEuXHJcbiAgICogLSB0eXBlIChgUG9UYWJsZUNvbHVtblNvcnRUeXBlYCk6IHRpcG8gZGEgb3JkZW5hw6fDo28uXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC1zaG93LW1vcmUnKSBzaG93TW9yZTogRXZlbnRFbWl0dGVyPFBvVGFibGVDb2x1bW5Tb3J0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UG9UYWJsZUNvbHVtblNvcnQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBFdmVudG8gZXhlY3V0YWRvIGFvIG9yZGVuYXIgY29sdW5hcyBkYSB0YWJlbGEuXHJcbiAgICpcclxuICAgKiBSZWNlYmUgdW0gb2JqZXRvIGB7IGNvbHVtbiwgdHlwZSB9YCBvbmRlOlxyXG4gICAqXHJcbiAgICogLSBjb2x1bW4gKGBQb1RhYmxlQ29sdW1uYCk6IG9iamV0byBkYSBjb2x1bmEgcXVlIGZvaSBjbGljYWRhL29yZGVuYWRhLlxyXG4gICAqIC0gdHlwZSAoYFBvVGFibGVDb2x1bW5Tb3J0VHlwZWApOiB0aXBvIGRhIG9yZGVuYcOnw6NvLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3Atc29ydC1ieScpIHNvcnRCeTogRXZlbnRFbWl0dGVyPFBvVGFibGVDb2x1bW5Tb3J0PiA9IG5ldyBFdmVudEVtaXR0ZXI8UG9UYWJsZUNvbHVtblNvcnQ+KCk7XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICogRXZlbnRvIGV4ZWN1dGFkbyBhbyBkZXNtYXJjYXIgYSBzZWxlw6fDo28gZGUgdW1hIGxpbmhhIGRvIGBwby10YWJsZWAuXHJcbiAgICovXHJcbiAgQE91dHB1dCgncC11bnNlbGVjdGVkJykgdW5zZWxlY3RlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGZlY2hhciBvIHBvcG92ZXIgZG8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcyBhcMOzcyBhbHRlcmFyIGFzIGNvbHVuYXMgdmlzw612ZWlzLlxyXG4gICAqXHJcbiAgICogTyBjb21wb25lbnRlIGVudmlhIGNvbW8gcGFyw6JtZXRybyB1bSBhcnJheSBkZSBzdHJpbmcgY29tIGFzIGNvbHVuYXMgdmlzw612ZWlzIGF0dWFsaXphZGFzLlxyXG4gICAqIFBvciBleGVtcGxvOiBbXCJpZENhcmRcIiwgXCJuYW1lXCIsIFwiaGlyZVN0YXR1c1wiLCBcImFnZVwiXS5cclxuICAgKi9cclxuICBAT3V0cHV0KCdwLWNoYW5nZS12aXNpYmxlLWNvbHVtbnMnKSBjaGFuZ2VWaXNpYmxlQ29sdW1ucyA9IG5ldyBFdmVudEVtaXR0ZXI8QXJyYXk8c3RyaW5nPj4oKTtcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKiBFdmVudG8gZGlzcGFyYWRvIGFvIGNsaWNhciBubyBib3TDo28gZGUgcmVzdGF1cmFyIHBhZHLDo28gbm8gZ2VyZW5jaWFkb3IgZGUgY29sdW5hcy5cclxuICAgKlxyXG4gICAqIE8gY29tcG9uZW50ZSBlbnZpYSBjb21vIHBhcsOibWV0cm8gdW0gYXJyYXkgZGUgc3RyaW5nIGNvbSBhcyBjb2x1bmFzIGNvbmZpZ3VyYWRhcyBpbmljaWFsbWVudGUuXHJcbiAgICogUG9yIGV4ZW1wbG86IFtcImlkQ2FyZFwiLCBcIm5hbWVcIiwgXCJoaXJlU3RhdHVzXCIsIFwiYWdlXCJdLlxyXG4gICAqL1xyXG4gIEBPdXRwdXQoJ3AtcmVzdG9yZS1jb2x1bW4tbWFuYWdlcicpIGNvbHVtblJlc3RvcmVNYW5hZ2VyID0gbmV3IEV2ZW50RW1pdHRlcjxBcnJheTxTdHJpbmc+PigpO1xyXG5cclxuICBhbGxDb2x1bW5zV2lkdGhQaXhlbHM6IGJvb2xlYW47XHJcbiAgY29sdW1uTWFzdGVyRGV0YWlsOiBQb1RhYmxlQ29sdW1uO1xyXG4gIGhhc01haW5Db2x1bW5zOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbWFpbkNvbHVtbnM6IEFycmF5PFBvVGFibGVDb2x1bW4+ID0gW107XHJcbiAgc2VsZWN0QWxsID0gZmFsc2U7XHJcbiAgc29ydGVkQ29sdW1uID0geyBwcm9wZXJ0eTogPFBvVGFibGVDb2x1bW4+bnVsbCwgYXNjZW5kaW5nOiB0cnVlIH07XHJcbiAgc3VidGl0bGVDb2x1bW5zOiBBcnJheTxQb1RhYmxlQ29sdW1uPiA9IFtdO1xyXG4gIHBhZ2UgPSAxO1xyXG4gIHBhZ2VTaXplID0gMTA7XHJcbiAgaGFzU2VydmljZT86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbml0aWFsQ29sdW1uczogQXJyYXk8UG9UYWJsZUNvbHVtbj47XHJcbiAgcHJpdmF0ZSBfYWN0aW9ucz86IEFycmF5PFBvVGFibGVBY3Rpb24+ID0gW107XHJcbiAgcHJpdmF0ZSBfY29sdW1uczogQXJyYXk8UG9UYWJsZUNvbHVtbj4gPSBbXTtcclxuICBwcml2YXRlIF9jb250YWluZXI/OiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBfaGVpZ2h0PzogbnVtYmVyO1xyXG4gIHByaXZhdGUgX2hpZGVEZXRhaWw/OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBfaXRlbXM6IEFycmF5PFBvVGFibGVDb2x1bW4+O1xyXG4gIHByaXZhdGUgX2xpdGVyYWxzOiBQb1RhYmxlTGl0ZXJhbHM7XHJcbiAgcHJpdmF0ZSBfbG9hZGluZz86IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9zZWxlY3RhYmxlPzogYm9vbGVhbjtcclxuICBwcml2YXRlIGxhbmd1YWdlOiBzdHJpbmcgPSBwb0xvY2FsZURlZmF1bHQ7XHJcbiAgcHJpdmF0ZSBfc2VydmljZUFwaTogc3RyaW5nO1xyXG4gIHByaXZhdGUgcG9UYWJsZVNlcnZpY2VTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBwcml2YXRlIHNvcnRTdG9yZTogUG9UYWJsZUNvbHVtblNvcnQ7XHJcbiAgcHJpdmF0ZSBfaW5maW5pdGVTY3JvbGxEaXN0YW5jZT86IG51bWJlciA9IDEwMDtcclxuICBwcml2YXRlIF9pbmZpbml0ZVNjcm9sbD86IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgLyoqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBMaXN0YSBkZSBpdGVucyBkYSB0YWJlbGEuXHJcbiAgICogPiBTZSBmYWxzbywgc2Vyw6EgaW5pY2lhbGl6YWRvIGNvbW8gdW0gKmFycmF5KiB2YXppby5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtaXRlbXMnKSBzZXQgaXRlbXMoaXRlbXM6IEFycmF5PGFueT4pIHtcclxuICAgIHRoaXMuX2l0ZW1zID0gQXJyYXkuaXNBcnJheShpdGVtcykgPyBbLi4uaXRlbXNdIDogW107XHJcblxyXG4gICAgLy8gd2hlbiBoYXZlbid0IGl0ZW1zLCBzZWxlY3RBbGwgc2hvdWxkIGJlIHVuY2hlY2tlZC5cclxuICAgIGlmICghdGhpcy5oYXNJdGVtcykge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIGlmICghdGhpcy5oYXNDb2x1bW5zKSB7XHJcbiAgICAgIHRoaXMuY29sdW1ucyA9IHRoaXMuZ2V0RGVmYXVsdENvbHVtbnMoaXRlbXNbMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIHRpbWVvdXQgbmVjZXNzYXJpbyBwYXJhIG9zIGl0ZW5zIHNlcmVtIHJlZmxldGlkb3MgbmEgdGFiZWxhXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY2hlY2tJbmZpbml0ZVNjcm9sbCgpKTtcclxuICB9XHJcblxyXG4gIGdldCBpdGVtcygpIHtcclxuICAgIHJldHVybiB0aGlzLl9pdGVtcztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBMaXN0YSBkYXMgY29sdW5hcyBkYSB0YWJlbGEsIGRldmUgcmVjZWJlciB1bSAqYXJyYXkqIGRlIG9iamV0b3MgcXVlIGltcGxlbWVudGFtIGEgaW50ZXJmYWNlIGBQb1RhYmxlQ29sdW1uYC5cclxuICAgKiBQb3IgcGFkcsOjbyByZWNlYmVyw6EgY29tbyB2YWxvciBhIHByaW1laXJhIGNvbHVuYSBkYSBsaXN0YSBkZSBpdGVucyBkYSB0YWJlbGEuXHJcbiAgICogPiBDYXNvIG7Do28gZW5jb250cmUgdmFsb3IsIGEgbWVuc2FnZW0gJ05lbmh1bWEgZGVmaW5pw6fDo28gZGUgY29sdW5hcycgc2Vyw6EgZXhpYmlkYS5cclxuICAgKlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1jb2x1bW5zJykgc2V0IGNvbHVtbnMoY29sdW1uczogQXJyYXk8UG9UYWJsZUNvbHVtbj4pIHtcclxuICAgIGlmICh0aGlzLmluaXRpYWxDb2x1bW5zID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5pbml0aWFsQ29sdW1ucyA9IGNvbHVtbnM7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5fY29sdW1ucyA9IGNvbHVtbnMgfHwgW107XHJcblxyXG4gICAgaWYgKHRoaXMuX2NvbHVtbnMubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuc2V0Q29sdW1uTGluaygpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc0l0ZW1zKSB7XHJcbiAgICAgIHRoaXMuX2NvbHVtbnMgPSB0aGlzLmdldERlZmF1bHRDb2x1bW5zKHRoaXMuaXRlbXNbMF0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub25DaGFuZ2VDb2x1bW5zKCk7XHJcbiAgfVxyXG5cclxuICBnZXQgY29sdW1ucygpIHtcclxuICAgIHJldHVybiB0aGlzLl9jb2x1bW5zO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEFkaWNpb25hIHVtIGNvbnRvcm5vIGFycmVkb25kYWRvIGFvIGBwby10YWJsZWAsIGFzIG9ww6fDtWVzIHPDo286XHJcbiAgICogLSBgYm9yZGVyYDogY29tIGJvcmRhcy9saW5oYXMuXHJcbiAgICogLSBgc2hhZG93YDogY29tIHNvbWJyYXMuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgYm9yZGVyYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1jb250YWluZXInKSBzZXQgY29udGFpbmVyKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX2NvbnRhaW5lciA9IHBvVGFibGVDb250YWluZXIuaW5jbHVkZXModmFsdWUpID8gdmFsdWUgOiBwb1RhYmxlQ29udGFpbmVyRGVmYXVsdDtcclxuICB9XHJcblxyXG4gIGdldCBjb250YWluZXIoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9jb250YWluZXI7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIGEgYWx0dXJhIGRhIHRhYmVsYSBlbSAqcGl4ZWxzKiBlIGZpeGEgbyBjYWJlw6dhbGhvLlxyXG4gICAqXHJcbiAgICogQW8gdXRpbGl6YXIgZXNzYSBwcm9wcmllZGFkZSBzZXLDoSBpbnNlcmlkbyBvIGB2aXJ0dWFsLXNjcm9sbGAgbmEgdGFiZWxhIG1lbGhvcmFuZG8gYSBwZXJmb3JtYW5jZS5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtaGVpZ2h0Jykgc2V0IGhlaWdodChoZWlnaHQ6IG51bWJlcikge1xyXG4gICAgdGhpcy5faGVpZ2h0ID0gaGVpZ2h0O1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhlaWdodCgpIHtcclxuICAgIHJldHVybiB0aGlzLl9oZWlnaHQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogSGFiaWxpdGEgYSB2aXN1YWxpemHDp8OjbyBkYSBsaXN0YSBkZSBkZXRhbGhlcyBkZSBjYWRhIGxpbmhhIGRhIGNvbHVuYS5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBASW5wdXQoJ3AtaGlkZS1kZXRhaWwnKSBzZXQgaGlkZURldGFpbChoaWRlRGV0YWlsOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9oaWRlRGV0YWlsID0gaGlkZURldGFpbCAhPSBudWxsICYmIGhpZGVEZXRhaWwudG9TdHJpbmcoKSA9PT0gJycgPyB0cnVlIDogY29udmVydFRvQm9vbGVhbihoaWRlRGV0YWlsKTtcclxuICB9XHJcblxyXG4gIGdldCBoaWRlRGV0YWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2hpZGVEZXRhaWw7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogT2JqZXRvIGNvbSBhcyBsaXRlcmFpcyB1c2FkYXMgbm8gYHBvLXRhYmxlYC5cclxuICAgKlxyXG4gICAqIEV4aXN0ZW0gZHVhcyBtYW5laXJhcyBkZSBjdXN0b21pemFyIG8gY29tcG9uZW50ZSwgcGFzc2FuZG8gdW0gb2JqZXRvIGNvbSB0b2RhcyBhcyBsaXRlcmFpcyBkaXNwb27DrXZlaXM6XHJcbiAgICpcclxuICAgKiBgYGBcclxuICAgKiAgY29uc3QgY3VzdG9tTGl0ZXJhbHM6IFBvVGFibGVMaXRlcmFscyA9IHtcclxuICAgKiAgICBsb2FkTW9yZURhdGE6ICdCdXNjYXIgbWFpcyBkYWRvcycsXHJcbiAgICogICAgbG9hZGluZ0RhdGE6ICdQcm9jZXNzYW5kbycsXHJcbiAgICogICAgbm9Db2x1bW5zOiAnU2VtIGNvbHVuYXMnLFxyXG4gICAqICAgIG5vRGF0YTogJ1NlbSBkYWRvcycsXHJcbiAgICogICAgc2VlQ29tcGxldGVTdWJ0aXRsZTogJ01vc3RyYXIgbGVnZW5kYSBjb21wbGV0YScsXHJcbiAgICogICAgY29tcGxldGVTdWJ0aXRsZTogJ1RvZGFzIGxlZ2VuZGFzJ1xyXG4gICAqICB9O1xyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogT3UgcGFzc2FuZG8gYXBlbmFzIGFzIGxpdGVyYWlzIHF1ZSBkZXNlamEgY3VzdG9taXphcjpcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqICBjb25zdCBjdXN0b21MaXRlcmFsczogUG9UYWJsZUxpdGVyYWxzID0ge1xyXG4gICAqICAgIG5vRGF0YTogJ1NlbSBkYWRvcydcclxuICAgKiAgfTtcclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqIEUgcGFyYSBjYXJyZWdhciBhcyBsaXRlcmFpcyBjdXN0b21pemFkYXMsIGJhc3RhIGFwZW5hcyBwYXNzYXIgbyBvYmpldG8gcGFyYSBvIGNvbXBvbmVudGUuXHJcbiAgICpcclxuICAgKiBgYGBcclxuICAgKiA8cG8tdGFibGVcclxuICAgKiAgIFtwLWxpdGVyYWxzXT1cImN1c3RvbUxpdGVyYWxzXCI+XHJcbiAgICogPC9wby10YWJsZT5cclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqID4gTyBvYmpldG8gcGFkcsOjbyBkZSBsaXRlcmFpcyBzZXLDoSB0cmFkdXppZG8gZGUgYWNvcmRvIGNvbSBvIGlkaW9tYSBkb1xyXG4gICAqIFtgUG9JMThuU2VydmljZWBdKC9kb2N1bWVudGF0aW9uL3BvLWkxOG4pIG91IGRvIGJyb3dzZXIuXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWxpdGVyYWxzJykgc2V0IGxpdGVyYWxzKHZhbHVlOiBQb1RhYmxlTGl0ZXJhbHMpIHtcclxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIE9iamVjdCAmJiAhKHZhbHVlIGluc3RhbmNlb2YgQXJyYXkpKSB7XHJcbiAgICAgIHRoaXMuX2xpdGVyYWxzID0ge1xyXG4gICAgICAgIC4uLnBvVGFibGVMaXRlcmFsc0RlZmF1bHRbcG9Mb2NhbGVEZWZhdWx0XSxcclxuICAgICAgICAuLi5wb1RhYmxlTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdLFxyXG4gICAgICAgIC4uLnZhbHVlXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9saXRlcmFscyA9IHBvVGFibGVMaXRlcmFsc0RlZmF1bHRbdGhpcy5sYW5ndWFnZV07XHJcbiAgICB9XHJcbiAgfVxyXG4gIGdldCBsaXRlcmFscygpIHtcclxuICAgIHJldHVybiB0aGlzLl9saXRlcmFscyB8fCBwb1RhYmxlTGl0ZXJhbHNEZWZhdWx0W3RoaXMubGFuZ3VhZ2VdO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIEJsb3F1ZWlhIGEgaW50ZXJhw6fDo28gZG8gdXN1w6FyaW8gY29tIG9zIGRhZG9zIGRhIF90YWJsZV8uXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXHJcbiAgICovXHJcbiAgQElucHV0KCdwLWxvYWRpbmcnKSBzZXQgbG9hZGluZyhsb2FkaW5nOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLl9sb2FkaW5nID0gY29udmVydFRvQm9vbGVhbihsb2FkaW5nKTtcclxuICB9XHJcblxyXG4gIGdldCBsb2FkaW5nKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xvYWRpbmc7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIHVtYSBsaXN0YSBkZSBhw6fDtWVzLlxyXG4gICAqXHJcbiAgICogUXVhbmRvIGhvdXZlciBhcGVuYXMgdW1hIGHDp8OjbyBkZWZpbmlkYSBlbGEgc2Vyw6EgZXhpYmlkYSBkaXJldGFtZW50ZSBuYSBjb2x1bmEsIGNhc28gY29udHLDoXJpbywgbyBjb21wb25lbnRlXHJcbiAgICogc2UgZW5jYXJyZWdhIGRlIGFncnVww6EtbGFzIGV4aWJpbmRvIG8gw61jb25lIFsqKnBvLWljb24tbW9yZSoqXSgvZ3VpZGVzL2ljb25zKSBxdWUgbGlzdGFyw6EgYXMgYcOnw7VlcyBhbyBzZXIgY2xpY2Fkby5cclxuICAgKlxyXG4gICAqICoqQSBjb2x1bmEgZGUgYcOnw7VlcyBuw6NvIHNlcsOhIGV4aWJpZGEgcXVhbmRvOioqXHJcbiAgICogIC0gYSBsaXN0YSBjb250ZXIgdmFsb3JlcyBpbnbDoWxpZG9zIG91IGluZGVmaW5pZG9zLlxyXG4gICAqICAtIHRlbmhhIHVtYSDDum5pY2EgYcOnw6NvIGUgYSBtZXNtYSBuw6NvIGZvciB2aXPDrXZlbC5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtYWN0aW9ucycpIHNldCBhY3Rpb25zKGFjdGlvbnM6IEFycmF5PFBvVGFibGVBY3Rpb24+KSB7XHJcbiAgICB0aGlzLl9hY3Rpb25zID0gYWN0aW9ucztcclxuICB9XHJcblxyXG4gIGdldCBhY3Rpb25zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2FjdGlvbnM7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogUGVybWl0ZSBhIHNlbGXDp8OjbyBkZSBsaW5oYXMgbmEgdGFiZWxhIGUsIGNhc28gYSBwcm9wcmllZGFkZSBgcC1zaW5nbGUtc2VsZWN0YCBlc3RlamEgZGVmaW5pZGEgc2Vyw6EgcG9zc8OtdmVsXHJcbiAgICogc2VsZWNpb25hciBhcGVuYXMgdW1hIMO6bmljYSBsaW5oYS5cclxuICAgKlxyXG4gICAqICoqSW1wb3J0YW50ZToqKlxyXG4gICAqICAtIEFzIGxpbmhhcyBkZSBkZXRhbGhlIGRlZmluaWRhcyBlbSBgUG9UYWJsZURldGFpbGAgcG9zc3VlbSBjb21wb3J0YW1lbnRvIGluZGVwZW5kZW50ZSBkYSBsaW5oYSBtZXN0cmU7XHJcbiAgICogIC0gQ2FkYSBsaW5oYSBwb3NzdWkgcG9yIHBhZHLDo28gYSBwcm9wcmllZGFkZSBkaW7Dom1pY2EgYCRzZWxlY3RlZGAsIG5hIHF1YWwgw6kgcG9zc8OtdmVsIHZhbGlkYXIgc2UgYSBsaW5oYVxyXG4gICAqIGVzdMOhIHNlbGVjaW9uYWRhLCBwb3IgZXhlbXBsbzogYGl0ZW0uJHNlbGVjdGVkYCBvdSBgaXRlbVsnJHNlbGVjdGVkJ11gLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1zZWxlY3RhYmxlJykgc2V0IHNlbGVjdGFibGUodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX3NlbGVjdGFibGUgPSA8YW55PnZhbHVlID09PSAnJyA/IHRydWUgOiBjb252ZXJ0VG9Cb29sZWFuKHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGdldCBzZWxlY3RhYmxlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlbGVjdGFibGU7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogU2UgdmVyZGFkZWlybywgYXRpdmEgYSBmdW5jaW9uYWxpZGFkZSBkZSBzY3JvbGwgaW5maW5pdG8gcGFyYSBhIHRhYmVsYSBlIG8gYm90w6NvIFwiQ2FycmVnYXIgTWFpc1wiIGRlaXhhcsOhIGRlIHNlciBleGliaWRvLiBBbyBjaGVnYXIgbm8gZmltIGRhIHRhYmVsYVxyXG4gICAqIGV4ZWN1dGFyw6EgYSBmdW7Dp8OjbyBgcC1zaG93LW1vcmVgLlxyXG4gICAqXHJcbiAgICogKipSZWdyYXMgZGUgdXRpbGl6YcOnw6NvOioqXHJcbiAgICogIC0gTyBzY3JvbGwgaW5maW5pdG8gc8OzIGZ1bmNpb25hIHBhcmEgdGFiZWxhcyBxdWUgdXRpbGl6YW0gYSBwcm9wcmllZGFkZSBgcC1oZWlnaHRgIGUgcXVlIHBvc3N1ZW0gbyBzY3JvbGwgasOhIG5hIGNhcmdhIGluaWNpYWwgZG9zIGRhZG9zLlxyXG4gICAqXHJcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1pbmZpbml0ZS1zY3JvbGwnKSBzZXQgaW5maW5pdGVTY3JvbGwodmFsdWU6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuX2luZmluaXRlU2Nyb2xsID0gY29udmVydFRvQm9vbGVhbih2YWx1ZSAmJiB0aGlzLmhlaWdodCA+IDApO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGluZmluaXRlU2Nyb2xsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2luZmluaXRlU2Nyb2xsO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIG8gcGVyY2VudHVhbCBuZWNlc3PDoXJpbyBwYXJhIGRpc3BhcmFyIG8gZXZlbnRvIGBwLXNob3ctbW9yZWAsIHF1ZSDDqSByZXNwb25zw6F2ZWwgcG9yIGNhcnJlZ2FyIG1haXMgZGFkb3MgbmEgdGFiZWxhLiBDYXNvIG8gdmFsb3IgaW5mb3JtYWRvIHNlamEgbWFpb3IgcXVlIDEwMCBvdSBtZW5vclxyXG4gICAqIHF1ZSAwLCBvIHZhbG9yIHBhZHLDo28gc2Vyw6EgMTAwJVxyXG4gICAqXHJcbiAgICogKipFeGVtcGxvczoqKlxyXG4gICAqICAtIHAtaW5maW5pdGUtc2Nyb2xsLWRpc3RhbmNlID0gODA6IFF1YW5kbyBhdGluZ2lyIDgwJSAgZG8gc2Nyb2xsIGRhIHRhYmVsYSwgbyBgcC1zaG93LW1vcmVgIHNlcsOhIGRpc3BhcmFkby5cclxuICAgKi9cclxuICBASW5wdXQoJ3AtaW5maW5pdGUtc2Nyb2xsLWRpc3RhbmNlJykgc2V0IGluZmluaXRlU2Nyb2xsRGlzdGFuY2UodmFsdWU6IG51bWJlcikge1xyXG4gICAgdGhpcy5faW5maW5pdGVTY3JvbGxEaXN0YW5jZSA9IHZhbHVlID4gMTAwIHx8IHZhbHVlIDwgMCA/IDEwMCA6IHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGluZmluaXRlU2Nyb2xsRGlzdGFuY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5faW5maW5pdGVTY3JvbGxEaXN0YW5jZTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEBvcHRpb25hbFxyXG4gICAqXHJcbiAgICogQGRlc2NyaXB0aW9uXHJcbiAgICpcclxuICAgKiBVUkwgZGEgQVBJIHJlc3BvbnPDoXZlbCBwb3IgcmV0b3JuYXIgb3MgcmVnaXN0cm9zLlxyXG4gICAqXHJcbiAgICogQW8gcmVhbGl6YXIgYSBidXNjYSBkZSBtYWlzIHJlZ2lzdHJvcyB2aWEgcGFnaW5hw6fDo28gKENhcnJlZ2FyIG1haXMgcmVzdWx0YWRvcyksIHNlcsOhIGVudmlhZG8gb3MgcGFyw6JtZXRyb3MgYHBhZ2VgIGUgYHBhZ2VTaXplYCwgY29uZm9ybWUgYWJhaXhvOlxyXG4gICAqXHJcbiAgICogYGBgXHJcbiAgICogdXJsICsgP3BhZ2U9MSZwYWdlU2l6ZT0xMFxyXG4gICAqIGBgYFxyXG4gICAqXHJcbiAgICogQ2FzbyB1dGlsaXphciBvcmRlbmHDp8OjbywgYSBjb2x1bmEgb3JkZW5hZGEgc2Vyw6EgZW52aWFkYSBhdHJhdsOpcyBkbyBwYXLDom1ldHJvIGBvcmRlcmAsIHBvciBleGVtcGxvOlxyXG4gICAqIC0gQ29sdW5hIGRlY3Jlc2NlbnRlOlxyXG4gICAqIGBgYFxyXG4gICAqICB1cmwgKyA/cGFnZT0xJnBhZ2VTaXplPTEwJm9yZGVyPS1uYW1lXHJcbiAgICogYGBgXHJcbiAgICpcclxuICAgKiAtIENvbHVuYSBhc2NlbmRlbnRlOlxyXG4gICAqIGBgYFxyXG4gICAqICB1cmwgKyA/cGFnZT0xJnBhZ2VTaXplPTEwJm9yZGVyPW5hbWVcclxuICAgKiBgYGBcclxuICAgKlxyXG4gICAqID4gRXN0YSBVUkwgZGV2ZSByZXRvcm5hciBlIHJlY2ViZXIgb3MgZGFkb3Mgbm8gcGFkcsOjbyBkZSBbQVBJIGRvIFBPIFVJXShodHRwczovL3BvLXVpLmlvL2d1aWRlcy9hcGkpLlxyXG4gICAqL1xyXG4gIEBJbnB1dCgncC1zZXJ2aWNlLWFwaScpIHNldCBzZXJ2aWNlQXBpKHNlcnZpY2U6IHN0cmluZykge1xyXG4gICAgdGhpcy5fc2VydmljZUFwaSA9IHNlcnZpY2U7XHJcbiAgICB0aGlzLnNldFNlcnZpY2UodGhpcy5zZXJ2aWNlQXBpKTtcclxuICAgIHRoaXMuaGFzU2VydmljZSA9ICEhc2VydmljZTtcclxuICAgIHRoaXMuc2hvd01vcmVEaXNhYmxlZCA9ICF0aGlzLmhhc1NlcnZpY2U7XHJcbiAgICB0aGlzLnBhZ2UgPSAxO1xyXG4gICAgdGhpcy5pbml0aWFsaXplRGF0YSgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHNlcnZpY2VBcGkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc2VydmljZUFwaTtcclxuICB9XHJcblxyXG4gIGdldCBoYXNDb2x1bW5zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucyAmJiB0aGlzLmNvbHVtbnMubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGdldCBoYXNJdGVtcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiAhISh0aGlzLml0ZW1zICYmIHRoaXMuaXRlbXMubGVuZ3RoKTtcclxuICB9XHJcblxyXG4gIGdldCBuYW1lQ29sdW1uRGV0YWlsKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1uTWFzdGVyRGV0YWlsID8gdGhpcy5jb2x1bW5NYXN0ZXJEZXRhaWwucHJvcGVydHkgOiBudWxsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHZhbGlkQ29sdW1ucygpIHtcclxuICAgIGNvbnN0IHR5cGVzVmFsaWQgPSBbXHJcbiAgICAgICdzdHJpbmcnLFxyXG4gICAgICAnbnVtYmVyJyxcclxuICAgICAgJ2Jvb2xlYW4nLFxyXG4gICAgICAnZGF0ZScsXHJcbiAgICAgICd0aW1lJyxcclxuICAgICAgJ2RhdGVUaW1lJyxcclxuICAgICAgJ2N1cnJlbmN5JyxcclxuICAgICAgJ3N1YnRpdGxlJyxcclxuICAgICAgJ2xpbmsnLFxyXG4gICAgICAnbGFiZWwnLFxyXG4gICAgICAnaWNvbicsXHJcbiAgICAgICdjZWxsVGVtcGxhdGUnLFxyXG4gICAgICAnY29sdW1uVGVtcGxhdGUnXHJcbiAgICBdO1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+ICFjb2wudHlwZSB8fCB0eXBlc1ZhbGlkLmluY2x1ZGVzKGNvbC50eXBlKSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldCBzb3J0VHlwZSgpOiBQb1RhYmxlQ29sdW1uU29ydFR5cGUge1xyXG4gICAgcmV0dXJuIHRoaXMuc29ydGVkQ29sdW1uLmFzY2VuZGluZyA/IFBvVGFibGVDb2x1bW5Tb3J0VHlwZS5Bc2NlbmRpbmcgOiBQb1RhYmxlQ29sdW1uU29ydFR5cGUuRGVzY2VuZGluZztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBwb0RhdGU6IFBvRGF0ZVNlcnZpY2UsXHJcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBwb1RhYmxlU2VydmljZTogUG9UYWJsZVNlcnZpY2VcclxuICApIHtcclxuICAgIHRoaXMubGFuZ3VhZ2UgPSBsYW5ndWFnZVNlcnZpY2UuZ2V0U2hvcnRMYW5ndWFnZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnBvVGFibGVTZXJ2aWNlU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2luZ2xlU2VsZWN0IHx8IHRoaXMuaGlkZVNlbGVjdEFsbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmhpZGVTZWxlY3RBbGwgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChjaGFuZ2VzLmhlaWdodCkge1xyXG4gICAgICB0aGlzLmNhbGN1bGF0ZUhlaWdodFRhYmxlQ29udGFpbmVyKHRoaXMuaGVpZ2h0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdEFsbFJvd3MoKSB7XHJcbiAgICBpZiAoIXRoaXMuaGlkZVNlbGVjdEFsbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbCA9ICF0aGlzLnNlbGVjdEFsbDtcclxuXHJcbiAgICAgIHRoaXMuaXRlbXMuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgICBpdGVtLiRzZWxlY3RlZCA9IHRoaXMuc2VsZWN0QWxsO1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMuZW1pdFNlbGVjdEFsbEV2ZW50cyh0aGlzLnNlbGVjdEFsbCwgWy4uLnRoaXMuaXRlbXNdKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdFJvdyhyb3c6IGFueSkge1xyXG4gICAgcm93LiRzZWxlY3RlZCA9ICFyb3cuJHNlbGVjdGVkO1xyXG5cclxuICAgIHRoaXMuZW1pdFNlbGVjdEV2ZW50cyhyb3cpO1xyXG5cclxuICAgIHRoaXMuY29uZmlnQWZ0ZXJTZWxlY3RSb3codGhpcy5pdGVtcywgcm93KTtcclxuICB9XHJcblxyXG4gIGhhc1NlbGVjdGFibGVSb3coKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RhYmxlICYmIHRoaXMuc2VsZWN0YWJsZUVudGlyZUxpbmU7XHJcbiAgfVxyXG5cclxuICBzZWxlY3REZXRhaWxSb3cocm93OiBhbnkpIHtcclxuICAgIHRoaXMuZW1pdFNlbGVjdEV2ZW50cyhyb3cpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2xhc3NDb2xvcihyb3csIGNvbHVtbikge1xyXG4gICAgcmV0dXJuIGNvbHVtbi5jb2xvciA/IGBwby10ZXh0LSR7dGhpcy5nZXRDb2x1bW5Db2xvcihyb3csIGNvbHVtbil9YCA6ICcnO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRGV0YWlsKHJvdzogYW55KSB7XHJcbiAgICBjb25zdCByb3dTaG93RGV0YWlsID0gcm93LiRzaG93RGV0YWlsO1xyXG4gICAgaWYgKHRoaXMuYXV0b0NvbGxhcHNlKSB7XHJcbiAgICAgIHRoaXMuY29sbGFwc2VBbGxJdGVtcyh0aGlzLml0ZW1zKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNldFNob3dEZXRhaWwocm93LCAhcm93U2hvd0RldGFpbCk7XHJcbiAgICB0aGlzLmVtaXRFeHBhbmRFdmVudHMocm93KTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZVJvd0FjdGlvbihyb3c6IGFueSkge1xyXG4gICAgY29uc3QgdG9nZ2xlU2hvd0FjdGlvbiA9IHJvdy4kc2hvd0FjdGlvbjtcclxuXHJcbiAgICB0aGlzLml0ZW1zLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGlmIChpdGVtLiRzaG93QWN0aW9uKSB7XHJcbiAgICAgICAgaXRlbS4kc2hvd0FjdGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHJvdy4kc2hvd0FjdGlvbiA9ICF0b2dnbGVTaG93QWN0aW9uO1xyXG4gIH1cclxuXHJcbiAgc29ydENvbHVtbihjb2x1bW46IFBvVGFibGVDb2x1bW4pIHtcclxuICAgIGlmICghdGhpcy5zb3J0IHx8IGNvbHVtbi50eXBlID09PSAnZGV0YWlsJyB8fCBjb2x1bW4uc29ydGFibGUgPT09IGZhbHNlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNvcnRlZENvbHVtbi5hc2NlbmRpbmcgPSB0aGlzLnNvcnRlZENvbHVtbi5wcm9wZXJ0eSA9PT0gY29sdW1uID8gIXRoaXMuc29ydGVkQ29sdW1uLmFzY2VuZGluZyA6IHRydWU7XHJcblxyXG4gICAgdGhpcy5zb3J0QXJyYXkoY29sdW1uLCB0aGlzLnNvcnRlZENvbHVtbi5hc2NlbmRpbmcpO1xyXG4gICAgdGhpcy5zb3J0QnkuZW1pdCh7IGNvbHVtbiwgdHlwZTogdGhpcy5zb3J0VHlwZSB9KTtcclxuICAgIGlmICh0aGlzLmhhc1NlcnZpY2UgJiYgdGhpcy5zb3J0KSB7XHJcbiAgICAgIHRoaXMuc29ydFN0b3JlID0geyBjb2x1bW4sIHR5cGU6IHRoaXMuc29ydFR5cGUgfTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNvcnRlZENvbHVtbi5wcm9wZXJ0eSA9IGNvbHVtbjtcclxuICB9XHJcblxyXG4gIG9uU2hvd01vcmUoKTogdm9pZCB7XHJcbiAgICBjb25zdCBzb3J0ID0gdGhpcy5zb3J0ZWRDb2x1bW4ucHJvcGVydHkgPyB7IGNvbHVtbjogdGhpcy5zb3J0ZWRDb2x1bW4ucHJvcGVydHksIHR5cGU6IHRoaXMuc29ydFR5cGUgfSA6IHVuZGVmaW5lZDtcclxuXHJcbiAgICBpZiAodGhpcy5oYXNTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMucGFnZSsrO1xyXG4gICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgICB0aGlzLmxvYWRpbmdTaG93TW9yZSA9IHRydWU7XHJcblxyXG4gICAgICB0aGlzLnBvVGFibGVTZXJ2aWNlU3Vic2NyaXB0aW9uID0gdGhpcy5nZXRGaWx0ZXJlZEl0ZW1zKCkuc3Vic2NyaWJlKGRhdGEgPT4ge1xyXG4gICAgICAgIHRoaXMuaXRlbXMgPSBbLi4udGhpcy5pdGVtcywgLi4uZGF0YS5pdGVtc107XHJcbiAgICAgICAgdGhpcy5zaG93TW9yZURpc2FibGVkID0gIWRhdGEuaGFzTmV4dDtcclxuICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmxvYWRpbmdTaG93TW9yZSA9IGZhbHNlO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3dNb3JlLmVtaXQoc29ydCk7XHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJlZEl0ZW1zKHF1ZXJ5UGFyYW1zPzogeyBba2V5OiBzdHJpbmddOiBRdWVyeVBhcmFtc1R5cGUgfSk6IE9ic2VydmFibGU8UG9UYWJsZVJlc3BvbnNlQXBpPiB7XHJcbiAgICBjb25zdCBmaWx0ZXJlZFBhcmFtczogUG9UYWJsZUZpbHRlcmVkSXRlbXNQYXJhbXMgPSB0aGlzLmdldEZpbHRlcmVkUGFyYW1zKHF1ZXJ5UGFyYW1zKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy5wb1RhYmxlU2VydmljZS5nZXRGaWx0ZXJlZEl0ZW1zKGZpbHRlcmVkUGFyYW1zKTtcclxuICB9XHJcblxyXG4gIHNldFRhYmxlUmVzcG9uc2VQcm9wZXJ0aWVzKGRhdGE6IFBvVGFibGVSZXNwb25zZUFwaSkge1xyXG4gICAgdGhpcy5pdGVtcyA9IGRhdGEuaXRlbXMgfHwgW107XHJcbiAgICB0aGlzLnNob3dNb3JlRGlzYWJsZWQgPSAhZGF0YS5oYXNOZXh0O1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBpbml0aWFsaXplRGF0YShwYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IFF1ZXJ5UGFyYW1zVHlwZSB9KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5oYXNTZXJ2aWNlKSB7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuZ2V0RmlsdGVyZWRJdGVtcyhwYXJhbXMpLnN1YnNjcmliZShkYXRhID0+IHtcclxuICAgICAgICB0aGlzLnNldFRhYmxlUmVzcG9uc2VQcm9wZXJ0aWVzKGRhdGEpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBnZXREZWZhdWx0Q29sdW1ucyhpdGVtOiBhbnkpIHtcclxuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhpdGVtKTtcclxuXHJcbiAgICByZXR1cm4ga2V5c1xyXG4gICAgICAuZmlsdGVyKGtleSA9PiB0eXBlb2YgaXRlbVtrZXldICE9PSAnb2JqZWN0JylcclxuICAgICAgLm1hcChrZXkgPT4gKHsgbGFiZWw6IGNhcGl0YWxpemVGaXJzdExldHRlcihrZXkpLCBwcm9wZXJ0eToga2V5IH0pKTtcclxuICB9XHJcblxyXG4gIHByb3RlY3RlZCBzZXRTaG93RGV0YWlsKHJvd0lkZW50aWZpZXI6IGFueSB8IG51bWJlciwgaXNTaG93RGV0YWlsOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBpc1Jvd0luZGV4ID0gdHlwZW9mIHJvd0lkZW50aWZpZXIgPT09ICdudW1iZXInICYmIHRoaXMuaXRlbXNbcm93SWRlbnRpZmllcl07XHJcblxyXG4gICAgY29uc3Qgcm93ID0gaXNSb3dJbmRleCA/IHRoaXMuaXRlbXNbcm93SWRlbnRpZmllcl0gOiByb3dJZGVudGlmaWVyO1xyXG5cclxuICAgIHJvdy4kc2hvd0RldGFpbCA9IGlzU2hvd0RldGFpbDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29sbGFwc2VBbGxJdGVtcyhpdGVtczogQXJyYXk8eyBba2V5OiBzdHJpbmddOiBhbnkgfT4pIHtcclxuICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xyXG4gICAgICBpZiAoaXRlbS4kc2hvd0RldGFpbCkge1xyXG4gICAgICAgIHRoaXMuc2V0U2hvd0RldGFpbChpdGVtLCBmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5lbWl0RXhwYW5kRXZlbnRzKGl0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbmZpZ0FmdGVyU2VsZWN0Um93KHJvd3M6IEFycmF5PGFueT4sIHJvdykge1xyXG4gICAgaWYgKHRoaXMuc2luZ2xlU2VsZWN0KSB7XHJcbiAgICAgIHRoaXMudW5zZWxlY3RPdGhlclJvd3Mocm93cywgcm93KTtcclxuICAgIH0gZWxzZSBpZiAoIXRoaXMuaGlkZVNlbGVjdEFsbCkge1xyXG4gICAgICB0aGlzLnNlbGVjdEFsbCA9IHRoaXMuaXNFdmVyeVNlbGVjdGVkKHJvd3MpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RXhwYW5kRXZlbnRzKHJvdzogYW55KSB7XHJcbiAgICByb3cuJHNob3dEZXRhaWwgPyB0aGlzLmV4cGFuZGVkLmVtaXQocm93KSA6IHRoaXMuY29sbGFwc2VkLmVtaXQocm93KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdFNlbGVjdEFsbEV2ZW50cyhzZWxlY3RBbGw6IGJvb2xlYW4sIHJvd3M6IGFueSkge1xyXG4gICAgc2VsZWN0QWxsID8gdGhpcy5hbGxTZWxlY3RlZC5lbWl0KHJvd3MpIDogdGhpcy5hbGxVbnNlbGVjdGVkLmVtaXQocm93cyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGVtaXRTZWxlY3RFdmVudHMocm93OiBhbnkpIHtcclxuICAgIHJvdy4kc2VsZWN0ZWQgPyB0aGlzLnNlbGVjdGVkLmVtaXQocm93KSA6IHRoaXMudW5zZWxlY3RlZC5lbWl0KHJvdyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldENvbHVtbkNvbG9yKHJvdywgY29sdW1uKSB7XHJcbiAgICBjb25zdCBjb2x1bW5Db2xvciA9IGNvbHVtbi5jb2xvcjtcclxuXHJcbiAgICByZXR1cm4gaXNUeXBlb2YoY29sdW1uQ29sb3IsICdmdW5jdGlvbicpID8gY29sdW1uQ29sb3Iocm93LCBjb2x1bW4ucHJvcGVydHkpIDogY29sdW1uQ29sb3I7XHJcbiAgfVxyXG5cclxuICAvLyBSZXRvcm5hIGEgY29sdW5hIGRhIGxpc3RhIGRlIGNvbHVuYXMgcXVlIMOpIGRvIHRpcG8gZGV0YWlsXHJcbiAgcHJpdmF0ZSBnZXRDb2x1bW5NYXN0ZXJEZXRhaWwoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb2x1bW5zLmZpbmQoY29sID0+IGNvbC50eXBlID09PSAnZGV0YWlsJyk7XHJcbiAgfVxyXG5cclxuICAvLyBDb2x1bmFzIHF1ZSBzw6NvIGluc2VyaWRhcyBubyA8aGVhZD4gZGEgdGFiZWxhXHJcbiAgcHJpdmF0ZSBnZXRNYWluQ29sdW1ucygpIHtcclxuICAgIHJldHVybiB0aGlzLnZhbGlkQ29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC52aXNpYmxlICE9PSBmYWxzZSk7XHJcbiAgfVxyXG5cclxuICAvLyBSZXRvcm5hIGFzIGNvbHVuYXMgY29tIHN0YXR1c1xyXG4gIHByaXZhdGUgZ2V0U3VidGl0bGVDb2x1bW5zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29sdW1ucy5maWx0ZXIoY29sID0+IGNvbC50eXBlID09PSAnc3VidGl0bGUnKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaXNFdmVyeVNlbGVjdGVkKGl0ZW1zOiBBcnJheTxhbnk+KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzb21lQ2hlY2tlZE9ySW5kZXRlcm1pbmF0ZSA9IGl0ZW0gPT4gaXRlbS4kc2VsZWN0ZWQgfHwgaXRlbS4kc2VsZWN0ZWQgPT09IG51bGw7XHJcbiAgICBjb25zdCBldmVyeUNoZWNrZWQgPSBpdGVtID0+IGl0ZW0uJHNlbGVjdGVkO1xyXG5cclxuICAgIGlmIChpdGVtcy5ldmVyeShldmVyeUNoZWNrZWQpKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpdGVtcy5zb21lKHNvbWVDaGVja2VkT3JJbmRldGVybWluYXRlKSkge1xyXG4gICAgICByZXR1cm4gbnVsbDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIG9uQ2hhbmdlQ29sdW1ucygpIHtcclxuICAgIHRoaXMuc2V0TWFpbkNvbHVtbnMoKTtcclxuICAgIHRoaXMuc2V0Q29sdW1uTWFzdGVyRGV0YWlsKCk7XHJcbiAgICB0aGlzLnNldFN1YnRpdGxlQ29sdW1ucygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb2x1bW5MaW5rKCkge1xyXG4gICAgdGhpcy5jb2x1bW5zLmZvckVhY2goY29sdW1uID0+IHtcclxuICAgICAgaWYgKGNvbHVtblsndHlwZSddID09PSAnbGluaycgJiYgIWNvbHVtblsnbGluayddKSB7XHJcbiAgICAgICAgY29sdW1uWydsaW5rJ10gPSAnbGluayc7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRDb2x1bW5NYXN0ZXJEZXRhaWwoKSB7XHJcbiAgICB0aGlzLmNvbHVtbk1hc3RlckRldGFpbCA9IHRoaXMuZ2V0Q29sdW1uTWFzdGVyRGV0YWlsKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE1haW5Db2x1bW5zKCkge1xyXG4gICAgdGhpcy5tYWluQ29sdW1ucyA9IHRoaXMuZ2V0TWFpbkNvbHVtbnMoKTtcclxuXHJcbiAgICB0aGlzLmhhc01haW5Db2x1bW5zID0gISF0aGlzLm1haW5Db2x1bW5zLmxlbmd0aDtcclxuXHJcbiAgICB0aGlzLmFsbENvbHVtbnNXaWR0aFBpeGVscyA9IHRoaXMudmVyaWZ5V2lkdGhDb2x1bW5zUGl4ZWxzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFN1YnRpdGxlQ29sdW1ucygpIHtcclxuICAgIHRoaXMuc3VidGl0bGVDb2x1bW5zID0gdGhpcy5nZXRTdWJ0aXRsZUNvbHVtbnMoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc29ydEFycmF5KGNvbHVtbjogUG9UYWJsZUNvbHVtbiwgYXNjZW5kaW5nOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBpdGVtc0xpc3QgPSB0aGlzLmhlaWdodCA/IFsuLi50aGlzLml0ZW1zXSA6IHRoaXMuaXRlbXM7XHJcbiAgICBpdGVtc0xpc3Quc29ydCgobGVmdFNpZGUsIHJpZ2h0U2lkZSk6IG51bWJlciA9PlxyXG4gICAgICBzb3J0VmFsdWVzKGxlZnRTaWRlW2NvbHVtbi5wcm9wZXJ0eV0sIHJpZ2h0U2lkZVtjb2x1bW4ucHJvcGVydHldLCBhc2NlbmRpbmcpXHJcbiAgICApO1xyXG4gICAgaWYgKHRoaXMuaGVpZ2h0KSB7XHJcbiAgICAgIHRoaXMuaXRlbXMgPSBpdGVtc0xpc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVuc2VsZWN0T3RoZXJSb3dzKHJvd3M6IEFycmF5PGFueT4sIHJvdykge1xyXG4gICAgcm93cy5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpZiAoaXRlbSAhPT0gcm93KSB7XHJcbiAgICAgICAgaXRlbS4kc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHZlcmlmeVdpZHRoQ29sdW1uc1BpeGVscygpIHtcclxuICAgIHJldHVybiB0aGlzLmhhc01haW5Db2x1bW5zID8gdGhpcy5tYWluQ29sdW1ucy5ldmVyeShjb2x1bW4gPT4gY29sdW1uLndpZHRoICYmIGNvbHVtbi53aWR0aC5pbmNsdWRlcygncHgnKSkgOiBmYWxzZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0U2VydmljZShzZXJ2aWNlOiBzdHJpbmcpIHtcclxuICAgIGlmIChzZXJ2aWNlICYmIGlzVHlwZW9mKHNlcnZpY2UsICdzdHJpbmcnKSkge1xyXG4gICAgICB0aGlzLnBvVGFibGVTZXJ2aWNlLnNldFVybChzZXJ2aWNlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RmlsdGVyZWRQYXJhbXMocXVlcnlQYXJhbXM/OiB7IFtrZXk6IHN0cmluZ106IFF1ZXJ5UGFyYW1zVHlwZSB9KSB7XHJcbiAgICBjb25zdCB7IHBhZ2UsIHBhZ2VTaXplLCBzb3J0U3RvcmUgfSA9IHRoaXM7XHJcblxyXG4gICAgY29uc3QgZmlsdGVyZWRQYXJhbXMgPSB7fTtcclxuICAgIGNvbnN0IG9yZGVyID0gdGhpcy5nZXRPcmRlclBhcmFtKHNvcnRTdG9yZSk7XHJcbiAgICBjb25zdCBwYXJhbXMgPSB7IHBhZ2UsIHBhZ2VTaXplLCBvcmRlciwgLi4ucXVlcnlQYXJhbXMgfTtcclxuXHJcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBwYXJhbXMpIHtcclxuICAgICAgaWYgKHBhcmFtcy5oYXNPd25Qcm9wZXJ0eShrZXkpICYmIHBhcmFtc1trZXldICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBmaWx0ZXJlZFBhcmFtc1trZXldID0gcGFyYW1zW2tleV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBmaWx0ZXJlZFBhcmFtcztcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T3JkZXJQYXJhbShzb3J0OiBQb1RhYmxlQ29sdW1uU29ydCA9IHsgdHlwZTogdW5kZWZpbmVkIH0pIHtcclxuICAgIGNvbnN0IHsgY29sdW1uLCB0eXBlIH0gPSBzb3J0O1xyXG5cclxuICAgIGlmICghY29sdW1uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodHlwZSA9PT0gUG9UYWJsZUNvbHVtblNvcnRUeXBlLkRlc2NlbmRpbmcpIHtcclxuICAgICAgcmV0dXJuIGAtJHtjb2x1bW4ucHJvcGVydHl9YDtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gYCR7Y29sdW1uLnByb3BlcnR5fWA7XHJcbiAgfVxyXG5cclxuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY2FsY3VsYXRlSGVpZ2h0VGFibGVDb250YWluZXIoaGVpZ2h0KTtcclxuXHJcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNoZWNrSW5maW5pdGVTY3JvbGwoKTtcclxufVxyXG4iXX0=
|
package/esm2020/lib/components/po-table/po-table-column-label/po-table-column-label.component.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "
|
|
3
|
+
import * as i1 from "../../po-tag/po-tag.component";
|
|
4
4
|
/**
|
|
5
5
|
* @docsPrivate
|
|
6
6
|
*
|
|
@@ -9,35 +9,18 @@ import * as i1 from "./../../../services/po-color-palette/po-color-palette.servi
|
|
|
9
9
|
* Componente para a criação da representação da legenda, em formato de texto .
|
|
10
10
|
*/
|
|
11
11
|
export class PoTableColumnLabelComponent {
|
|
12
|
-
constructor(poColorPaletteService) {
|
|
13
|
-
this.poColorPaletteService = poColorPaletteService;
|
|
14
|
-
}
|
|
15
|
-
/** Objeto com os dados do label */
|
|
16
|
-
set value(value) {
|
|
17
|
-
if (value) {
|
|
18
|
-
value.color = this.poColorPaletteService.getColor(value);
|
|
19
|
-
}
|
|
20
|
-
this._value = value;
|
|
21
|
-
}
|
|
22
|
-
get value() {
|
|
23
|
-
return this._value;
|
|
24
|
-
}
|
|
25
12
|
}
|
|
26
|
-
PoTableColumnLabelComponent.ɵfac = function PoTableColumnLabelComponent_Factory(t) { return new (t || PoTableColumnLabelComponent)(
|
|
27
|
-
PoTableColumnLabelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTableColumnLabelComponent, selectors: [["po-table-column-label"]], inputs: { value: ["p-value", "value"] }, decls:
|
|
28
|
-
i0.ɵɵ
|
|
29
|
-
i0.ɵɵtext(1);
|
|
30
|
-
i0.ɵɵelementEnd();
|
|
13
|
+
PoTableColumnLabelComponent.ɵfac = function PoTableColumnLabelComponent_Factory(t) { return new (t || PoTableColumnLabelComponent)(); };
|
|
14
|
+
PoTableColumnLabelComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: PoTableColumnLabelComponent, selectors: [["po-table-column-label"]], inputs: { value: ["p-value", "value"] }, decls: 1, vars: 5, consts: [[3, "p-color", "p-value", "p-text-color", "p-icon", "p-type"]], template: function PoTableColumnLabelComponent_Template(rf, ctx) { if (rf & 1) {
|
|
15
|
+
i0.ɵɵelement(0, "po-tag", 0);
|
|
31
16
|
} if (rf & 2) {
|
|
32
|
-
i0.ɵɵ
|
|
33
|
-
|
|
34
|
-
i0.ɵɵtextInterpolate1(" ", ctx.value == null ? null : ctx.value.label, "\n");
|
|
35
|
-
} }, encapsulation: 2, changeDetection: 0 });
|
|
17
|
+
i0.ɵɵproperty("p-color", ctx.value == null ? null : ctx.value.color)("p-value", ctx.value == null ? null : ctx.value.label)("p-text-color", ctx.value == null ? null : ctx.value.textColor)("p-icon", ctx.value == null ? null : ctx.value.icon)("p-type", ctx.value == null ? null : ctx.value.type);
|
|
18
|
+
} }, dependencies: [i1.PoTagComponent], encapsulation: 2, changeDetection: 0 });
|
|
36
19
|
(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PoTableColumnLabelComponent, [{
|
|
37
20
|
type: Component,
|
|
38
|
-
args: [{ selector: 'po-table-column-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<
|
|
39
|
-
}],
|
|
21
|
+
args: [{ selector: 'po-table-column-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<po-tag\r\n [p-color]=\"value?.color\"\r\n [p-value]=\"value?.label\"\r\n [p-text-color]=\"value?.textColor\"\r\n [p-icon]=\"value?.icon\"\r\n [p-type]=\"value?.type\"\r\n>\r\n</po-tag>\r\n" }]
|
|
22
|
+
}], null, { value: [{
|
|
40
23
|
type: Input,
|
|
41
24
|
args: ['p-value']
|
|
42
25
|
}] }); })();
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1jb2x1bW4tbGFiZWwvcG8tdGFibGUtY29sdW1uLWxhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1jb2x1bW4tbGFiZWwvcG8tdGFibGUtY29sdW1uLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFJMUU7Ozs7OztHQU1HO0FBT0gsTUFBTSxPQUFPLDJCQUEyQjs7c0dBQTNCLDJCQUEyQjs4RUFBM0IsMkJBQTJCO1FDakJ4Qyw0QkFPUzs7UUFOUCxvRUFBd0IsdURBQUEsZ0VBQUEscURBQUEscURBQUE7O3VGRGdCYiwyQkFBMkI7Y0FMdkMsU0FBUzsyQkFDRSx1QkFBdUIsbUJBRWhCLHVCQUF1QixDQUFDLE1BQU07Z0JBRzdCLEtBQUs7a0JBQXRCLEtBQUs7bUJBQUMsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBQb1RhYmxlQ29sdW1uTGFiZWwgfSBmcm9tICcuL3BvLXRhYmxlLWNvbHVtbi1sYWJlbC5pbnRlcmZhY2UnO1xyXG5cclxuLyoqXHJcbiAqIEBkb2NzUHJpdmF0ZVxyXG4gKlxyXG4gKiBAZGVzY3JpcHRpb25cclxuICpcclxuICogQ29tcG9uZW50ZSBwYXJhIGEgY3JpYcOnw6NvIGRhIHJlcHJlc2VudGHDp8OjbyBkYSBsZWdlbmRhLCBlbSBmb3JtYXRvIGRlIHRleHRvIC5cclxuICovXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3BvLXRhYmxlLWNvbHVtbi1sYWJlbCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BvLXRhYmxlLWNvbHVtbi1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFBvVGFibGVDb2x1bW5MYWJlbENvbXBvbmVudCB7XHJcbiAgQElucHV0KCdwLXZhbHVlJykgdmFsdWU6IFBvVGFibGVDb2x1bW5MYWJlbDtcclxufVxyXG4iLCI8cG8tdGFnXHJcbiAgW3AtY29sb3JdPVwidmFsdWU/LmNvbG9yXCJcclxuICBbcC12YWx1ZV09XCJ2YWx1ZT8ubGFiZWxcIlxyXG4gIFtwLXRleHQtY29sb3JdPVwidmFsdWU/LnRleHRDb2xvclwiXHJcbiAgW3AtaWNvbl09XCJ2YWx1ZT8uaWNvblwiXHJcbiAgW3AtdHlwZV09XCJ2YWx1ZT8udHlwZVwiXHJcbj5cclxuPC9wby10YWc+XHJcbiJdfQ==
|
package/esm2020/lib/components/po-table/po-table-column-label/po-table-column-label.interface.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tdGFibGUtY29sdW1uLWxhYmVsLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpL3NyYy9saWIvY29tcG9uZW50cy9wby10YWJsZS9wby10YWJsZS1jb2x1bW4tbGFiZWwvcG8tdGFibGUtY29sdW1uLWxhYmVsLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUG9UYWdUeXBlIH0gZnJvbSAnLi4vLi4vcG8tdGFnL2VudW1zL3BvLXRhZy10eXBlLmVudW0nO1xyXG5cclxuLyoqXHJcbiAqIEB1c2VkQnkgUG9UYWJsZUNvbXBvbmVudCwgUG9QYWdlRHluYW1pY1RhYmxlQ29tcG9uZW50XHJcbiAqXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKlxyXG4gKiBJbnRlcmZhY2UgcGFyYSBjb25maWd1cmHDp8OjbyBkYXMgY29sdW5hcyBkZSBsYWJlbHMgZG8gYHBvLXRhYmxlYC5cclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgUG9UYWJsZUNvbHVtbkxhYmVsIHtcclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIGEgY29yIGRvIGxhYmVsLlxyXG4gICAqXHJcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcclxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTAxXCI+PC9zcGFuPiBgY29sb3ItMDFgXHJcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wMlwiPjwvc3Bhbj4gYGNvbG9yLTAyYFxyXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDNcIj48L3NwYW4+IGBjb2xvci0wM2BcclxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA0XCI+PC9zcGFuPiBgY29sb3ItMDRgXHJcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wNVwiPjwvc3Bhbj4gYGNvbG9yLTA1YFxyXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDZcIj48L3NwYW4+IGBjb2xvci0wNmBcclxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA3XCI+PC9zcGFuPiBgY29sb3ItMDdgXHJcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wOFwiPjwvc3Bhbj4gYGNvbG9yLTA4YFxyXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDlcIj48L3NwYW4+IGBjb2xvci0wOWBcclxuICAgKiAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTEwXCI+PC9zcGFuPiBgY29sb3ItMTBgXHJcbiAgICogLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0xMVwiPjwvc3Bhbj4gYGNvbG9yLTExYFxyXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTJcIj48L3NwYW4+IGBjb2xvci0xMmBcclxuICAgKi9cclxuICBjb2xvcj86IHN0cmluZztcclxuXHJcbiAgLyoqXHJcbiAgICogQG9wdGlvbmFsXHJcbiAgICpcclxuICAgKiBAZGVzY3JpcHRpb25cclxuICAgKlxyXG4gICAqIERldGVybWluYSBhIGNvciBkbyB0ZXh0byBkYSB0YWcuIEFzIG1hbmVpcmFzIGRlIGN1c3RvbWl6YXIgYXMgY29yZXMgc8OjbzpcclxuICAgKiAtIEhleGFkZXhpbWFsLCBwb3IgZXhlbXBsbyBgI2M2NDg0MGA7XHJcbiAgICogLSBSR0IsIGNvbW8gYHJnYigwLCAwLCAxNjUpYDtcclxuICAgKiAtIE8gbm9tZSBkYSBjb3IsIHBvciBleGVtcGxvIGBibHVlYDtcclxuICAgKiAtIFVzYW5kbyB1bWEgZGFzIGNvcmVzIGRvIHRlbWEgZG8gUE86XHJcbiAgICogVmFsb3JlcyB2w6FsaWRvczpcclxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wMVwiPjwvc3Bhbj4gYGNvbG9yLTAxYFxyXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTAyXCI+PC9zcGFuPiBgY29sb3ItMDJgXHJcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDNcIj48L3NwYW4+IGBjb2xvci0wM2BcclxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wNFwiPjwvc3Bhbj4gYGNvbG9yLTA0YFxyXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA1XCI+PC9zcGFuPiBgY29sb3ItMDVgXHJcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDZcIj48L3NwYW4+IGBjb2xvci0wNmBcclxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0wN1wiPjwvc3Bhbj4gYGNvbG9yLTA3YFxyXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTA4XCI+PC9zcGFuPiBgY29sb3ItMDhgXHJcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMDlcIj48L3NwYW4+IGBjb2xvci0wOWBcclxuICAgKiAgLSA8c3BhbiBjbGFzcz1cImRvdCBwby1jb2xvci0xMFwiPjwvc3Bhbj4gYGNvbG9yLTEwYFxyXG4gICAqICAtIDxzcGFuIGNsYXNzPVwiZG90IHBvLWNvbG9yLTExXCI+PC9zcGFuPiBgY29sb3ItMTFgXHJcbiAgICogIC0gPHNwYW4gY2xhc3M9XCJkb3QgcG8tY29sb3ItMTJcIj48L3NwYW4+IGBjb2xvci0xMmBcclxuICAgKlxyXG4gICAqIC0gUGFyYSB1bWEgbWVsaG9yIGFjZXNzaWJpbGlkYWRlIG5vIHVzbyBkbyBjb21wb25lbnRlIMOpIHJlY29tZW5kw6F2ZWwgdXRpbGl6YXIgY29yZXMgY29tIHVtIG1lbGhvciBjb250cmFzdGUgZW0gcmVsYcOnw6NvIGFvIGJhY2tncm91bmQuXHJcbiAgICpcclxuICAgKiA+ICoqQXRlbsOnw6NvOioqIEEgcHJvcHJpZWRhZGUgYHAtdHlwZWAgc29icmVww7VlIGVzdGEgZGVmaW5pw6fDo28uXHJcbiAgICovXHJcbiAgdGV4dENvbG9yPzogc3RyaW5nO1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIG91IGF0aXZhIHVtIMOtY29uZSBxdWUgc2Vyw6EgZXhpYmlkbyBhbyBsYWRvIGRvIHZhbG9yIGRhICp0YWcqLlxyXG4gICAqXHJcbiAgICogUXVhbmRvIGBwLXR5cGVgIGVzdGl2ZXIgZGVmaW5pZGEsIGJhc3RhIGluZm9ybWFyIHVtIHZhbG9yIGlndWFsIGEgYHRydWVgIHBhcmEgcXVlIG8gw61jb25lIHNlamEgZXhpYmlkbyBjb25mb3JtZSBkZXNjcmnDp8O1ZXMgYWJhaXhvOlxyXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24tb2tcIj48L3NwYW4+IC0gYHN1Y2Nlc3NgXHJcbiAgICogLSA8c3BhbiBjbGFzcz1cInBvLWljb24gcG8taWNvbi13YXJuaW5nXCI+PC9zcGFuPiAtIGB3YXJuaW5nYFxyXG4gICAqIC0gPHNwYW4gY2xhc3M9XCJwby1pY29uIHBvLWljb24tY2xvc2VcIj48L3NwYW4+IC0gYGRhbmdlcmBcclxuICAgKiAtIDxzcGFuIGNsYXNzPVwicG8taWNvbiBwby1pY29uLWluZm9cIj48L3NwYW4+IC0gYGluZm9gXHJcbiAgICpcclxuICAgKiBUYW1iw6ltIMOJIHBvc3PDrXZlbCB1c2FyIHF1YWxxdWVyIHVtIGRvcyDDrWNvbmVzIGRhIFtCaWJsaW90ZWNhIGRlIMOtY29uZXNdKC9ndWlkZXMvaWNvbnMpLiBjb25mb3JtZSBleGVtcGxvIGFiYWl4bzpcclxuICAgKiBgYGBcclxuICAgKiA8cG8tdGFnIHAtaWNvbj1cInBvLWljb24tdXNlclwiIHAtdmFsdWU9XCJQTyBUYWdcIj48L3BvLXRhZz5cclxuICAgKiBgYGBcclxuICAgKiBjb21vIHRhbWLDqW0gdXRpbGl6YXIgb3V0cmFzIGZvbnRlcyBkZSDDrWNvbmVzLCBwb3IgZXhlbXBsbyBhIGJpYmxpb3RlY2EgKkZvbnQgQXdlc29tZSosIGRhIHNlZ3VpbnRlIGZvcm1hOlxyXG4gICAqIGBgYFxyXG4gICAqIDxwby10YWcgcC1pY29uPVwiZmEgZmEtcG9kY2FzdFwiIHAtdmFsdWU9XCJQTyBUYWdcIj48L3BvLWJ1dHRvbj5cclxuICAgKiBgYGBcclxuICAgKiBPdXRyYSBvcMOnw6NvIHNlcmlhIGEgY3VzdG9taXphw6fDo28gZG8gw61jb25lIGF0cmF2w6lzIGRvIGBUZW1wbGF0ZVJlZmAsIGNvbmZvcm1lIGV4ZW1wbG8gYWJhaXhvOlxyXG4gICAqIGBgYFxyXG4gICAqIDxwby10YWcgW3AtaWNvbl09XCJ0ZW1wbGF0ZVwiIHAtdmFsdWU9XCJUYWcgdGVtcGxhdGUgaW9uaWNcIj48L3BvLWJ1dHRvbj5cclxuICAgKlxyXG4gICAqIDxuZy10ZW1wbGF0ZSAjdGVtcGxhdGU+XHJcbiAgICogIDxpb24taWNvbiBzdHlsZT1cImZvbnQtc2l6ZTogaW5oZXJpdFwiIG5hbWU9XCJoZWFydFwiPjwvaW9uLWljb24+XHJcbiAgICogPC9uZy10ZW1wbGF0ZT5cclxuICAgKiBgYGBcclxuICAgKiA+IFBhcmEgbyDDrWNvbmUgZW5xdWFkcmFyIGNvcnJldGFtZW50ZSwgZGV2ZS1zZSB1dGlsaXphciBgZm9udC1zaXplOiBpbmhlcml0YCBjYXNvIG8gw61jb25lIHV0aWxpemFkbyBuw6NvIGFwbGlxdWUtby5cclxuICAgKlxyXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcclxuICAgKi9cclxuICBpY29uPzogYm9vbGVhbiB8IHN0cmluZyB8IFRlbXBsYXRlUmVmPHZvaWQ+O1xyXG5cclxuICAvKipcclxuICAgKiBAb3B0aW9uYWxcclxuICAgKlxyXG4gICAqIEBkZXNjcmlwdGlvblxyXG4gICAqXHJcbiAgICogRGVmaW5lIG8gdGlwbyBkYSAqdGFnKi5cclxuICAgKlxyXG4gICAqIFZhbG9yZXMgdsOhbGlkb3M6XHJcbiAgICogIC0gYHN1Y2Nlc3NgOiBjb3IgdmVyZGUgdXRpbGl6YWRhIHBhcmEgc2ltYm9saXphciBzdWNlc3NvIG91IMOqeGl0by5cclxuICAgKiAgLSBgd2FybmluZ2A6IGNvciBhbWFyZWxhIHF1ZSByZXByZXNlbnRhIGF2aXNvIG91IGFkdmVydMOqbmNpYS5cclxuICAgKiAgLSBgZGFuZ2VyYDogY29yIHZlcm1lbGhhIHBhcmEgZXJybyBvdSBhdmlzbyBjcsOtdGljby5cclxuICAgKiAgLSBgaW5mb2A6IGNvciBjaW56YSBlc2N1cm8gcXVlIGNhcmFjdGVyaXphIGNvbnRlw7pkbyBpbmZvcm1hdGl2by5cclxuICAgKlxyXG4gICAqID4gUXVhbmRvIGVzdGEgcHJvcHJpZWRhZGUgZm9yIGRlZmluaWRhLCBpcsOhIHNvYnJlcG9yIGEgZGVmaW5pw6fDo28gZGUgYHAtY29sb3JgIGUgYHAtaWNvbmAgc29tZW50ZSBzZXLDoSBleGliaWRvIGNhc28gc2VqYSBgdHJ1ZWAuXHJcbiAgICpcclxuICAgKiBAZGVmYXVsdCBgaW5mb2BcclxuICAgKi9cclxuICB0eXBlPzogUG9UYWdUeXBlO1xyXG5cclxuICAvKiogVGV4dG8gcXVlIHNlcsOhIGV4aWJpZG8gbmEgY29sdW5hLiAqL1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gICAqIERlZmluZSB1bSB0ZXh0byBkZSBhanVkYSBxdWUgc2Vyw6EgZXhpYmlkbyBhbyBwYXNzYXIgbyAqbW91c2UqIGVtIGNpbWEgZG8gKmxhYmVsKi5cclxuICAgKlxyXG4gICAqID4gQ2FzbyBhIHByb3ByaWVkYWRlIGBwLWhpZGUtdGV4dC1vdmVyZmxvd2AgZXN0ZWphIGhhYmlsaXRhZGEgZSBvIGNvbnRlw7pkbyBkYSBjw6lsdWxhIGV4Y2VkZXIgYSBsYXJndXJhIGRhIGNvbHVuYSxcclxuICAgKiDDqSBpZ25vcmFkbyBvIHZhbG9yIGF0cmlidWlkbyBhbyB0b29sdGlwIGUgc2Vyw6EgZXhpYmlkbyBqdXN0YW1lbnRlIG8gY29udGXDumRvIGRhIGPDqWx1bGEuXHJcbiAgICovXHJcbiAgdG9vbHRpcD86IHN0cmluZztcclxuXHJcbiAgLyoqIFZhbG9yIHF1ZSBzZXLDoSB1c2FkbyBjb21vIHJlZmVyw6puY2lhIHBhcmEgZXhpYmnDp8OjbyBkbyBjb250ZcO6ZG8gbmEgY29sdW5hLiAqL1xyXG4gIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XHJcbn1cclxuIl19
|