@colijnit/corecomponents_v12 259.1.5 → 259.1.6
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/bundles/colijnit-corecomponents_v12.umd.js +256 -86
- package/bundles/colijnit-corecomponents_v12.umd.js.map +1 -1
- package/colijnit-corecomponents_v12.d.ts +19 -18
- package/colijnit-corecomponents_v12.metadata.json +1 -1
- package/esm2015/colijnit-corecomponents_v12.js +20 -19
- package/esm2015/lib/components/base-input-time/base-input-time-directive.js +25 -0
- package/esm2015/lib/components/calendar/calendar-template.component.js +30 -31
- package/esm2015/lib/components/filter-item/filter-item.component.js +58 -15
- package/esm2015/lib/components/input-date-picker/input-date-picker.component.js +9 -8
- package/esm2015/lib/components/input-date-range-picker/input-date-range-picker.component.js +1 -1
- package/esm2015/lib/components/input-text/input-text.component.js +2 -1
- package/esm2015/lib/components/input-time/input-time.component.js +74 -0
- package/esm2015/lib/components/input-time/input-time.module.js +24 -0
- package/esm2015/lib/components/list-of-values/list-of-values-popup.component.js +8 -2
- package/esm2015/lib/components/list-of-values/list-of-values.component.js +9 -4
- package/esm2015/lib/core/enum/core-components-icon.enum.js +2 -1
- package/esm2015/lib/core/model/core-components-icon-svg.js +2 -1
- package/esm2015/public-api.js +3 -1
- package/fesm2015/colijnit-corecomponents_v12.js +220 -55
- package/fesm2015/colijnit-corecomponents_v12.js.map +1 -1
- package/lib/components/base-input-time/base-input-time-directive.d.ts +14 -0
- package/lib/components/calendar/calendar-template.component.d.ts +6 -6
- package/lib/components/filter-item/filter-item.component.d.ts +3 -1
- package/lib/components/input-time/input-time.component.d.ts +8 -0
- package/lib/components/input-time/input-time.module.d.ts +2 -0
- package/lib/components/list-of-values/list-of-values-popup.component.d.ts +4 -1
- package/lib/components/list-of-values/list-of-values.component.d.ts +4 -1
- package/lib/components/list-of-values/style/_layout.scss +1 -0
- package/lib/core/enum/core-components-icon.enum.d.ts +1 -0
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -144,6 +144,7 @@ export class InputTextComponent extends BaseInputComponent {
|
|
|
144
144
|
event.preventDefault();
|
|
145
145
|
event.stopPropagation();
|
|
146
146
|
if (this.type === 'date') {
|
|
147
|
+
console.log(this.model);
|
|
147
148
|
this.isFocusedOnDate = false;
|
|
148
149
|
}
|
|
149
150
|
this.isFocused.emit(false);
|
|
@@ -278,4 +279,4 @@ InputTextComponent.propDecorators = {
|
|
|
278
279
|
handleDocumentMouseUp: [{ type: HostListener, args: ['document:mouseup', ['$event'],] }],
|
|
279
280
|
model: [{ type: Input }]
|
|
280
281
|
};
|
|
281
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzTixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsOENBQThDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUcvSCxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBdUU3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQXVCO0lBNEo3RCxZQUNxQixhQUE0QixFQUNyQyxRQUFrQixFQUNsQixjQUFpQyxFQUNqQyxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQsc0JBQWdFLEVBQ2hFLGFBQW9DLEVBQ3ZDLFVBQXVCO1FBRTlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQVRoRyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNyQyxhQUFRLEdBQVIsUUFB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QzNCLFdBQVcsRUFBRSxrQkFBa0I7cUJBQ2hDO2lCQUFDO2dCQUNKLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4RU8sYUFBYSx1QkFzT2hCLFFBQVE7WUE3T21JLFFBQVE7WUFBakksaUJBQWlCO1lBU2hDLGNBQWM7WUFUK0Isd0JBQXdCO1lBS3JFLHVDQUF1QztZQUN2QyxvQkFBb0I7WUFObUQsVUFBVTs7O3lCQWtGdEYsS0FBSzswQkFHTCxLQUFLO29CQUdMLEtBQUs7bUJBR0wsS0FBSzt5QkFHTCxLQUFLO2tCQUdMLEtBQUs7a0JBR0wsS0FBSztzQkFHTCxLQUFLO3lCQUdMLEtBQUs7K0JBR0wsS0FBSzs4QkFHTCxLQUFLOytCQUdMLEtBQUs7cUNBR0wsS0FBSzt1QkFHTCxLQUFLO3dCQUdMLEtBQUs7MkJBR0wsS0FBSzs0QkFHTCxLQUFLOzRCQUdMLEtBQUs7eUJBR0wsS0FBSztzQkFHTCxXQUFXLFNBQUMsZ0JBQWdCLGNBQzVCLEtBQUs7K0JBR0wsS0FBSyxZQUNMLFdBQVcsU0FBQyxtQkFBbUI7cUJBRy9CLFdBQVcsU0FBQyxjQUFjOzRCQUsxQixNQUFNO2dDQUdOLE1BQU07OEJBR04sTUFBTTs2QkFHTixNQUFNO2lDQUdOLE1BQU07K0JBR04sTUFBTTs2QkFHTixNQUFNO3dCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHFCQUFxQjswQkFLakMsV0FBVyxTQUFDLHFCQUFxQjsyQkFLakMsV0FBVyxTQUFDLHNCQUFzQjswQkFLbEMsV0FBVyxTQUFDLHFCQUFxQjtvQ0FHakMsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO29CQVUzQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjcmVlbi1jb25maWctYWRhcHRlci1jb21wb25lbnQtaW50ZXJmYWNlLW5hbWUnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0nO1xyXG5pbXBvcnQge0tleWJvYXJkQ29kZX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWNvZGUuZW51bSc7XHJcbmltcG9ydCB7Rm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZm9ybS1pbnB1dC11c2VyLWNoYW5nZS1saXN0ZW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlL25nLXpvbmUtd3JhcHBlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtGb3JtQ29tcG9uZW50fSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7T3ZlcmxheVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvb3ZlcmxheS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28taW5wdXQtdGV4dCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC10ZXh0LXdyYXBwZXJcIiBvdmVybGF5UGFyZW50ICNwYXJlbnRGb3JPdmVybGF5PVwib3ZlcmxheVBhcmVudFwiPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cImxlZnRJY29uIHx8IGxlZnRJY29uRGF0YVwiIGNsYXNzPVwiaW5wdXQtdGV4dC1sZWZ0LWljb25cIiBbaWNvbl09XCJsZWZ0SWNvblwiIFtpY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTGVmdEljb25DbGljaygkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKG1vdXNldXApPVwiaGFuZGxlTGVmdEljb25Nb3VzZVVwKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJsZWZ0SWNvbiB8fCBsZWZ0SWNvbkRhdGFcIiBjbGFzcz1cInNwYWNlciBsZWZ0LWljb25cIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJzaG93UGxhY2Vob2xkZXJPbkZvY3VzIHx8ICghc2hvd1BsYWNlaG9sZGVyT25Gb2N1cyAmJiAhaGFzVmFsdWUgJiYgIWZvY3VzZWQpXCJcclxuICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCI+PC9sYWJlbD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LXRleHQtZm9ybWF0dGVkXCIgKm5nSWY9XCIhZm9jdXNlZCAmJiAhdXNlQ29udGVudCAmJiBmb3JtYXRQaXBlXCJcclxuICAgICAgICAgICAgICBbY2xhc3Muc2hvd109XCIhZm9jdXNlZCAmJiAhdXNlQ29udGVudCAmJiBmb3JtYXRQaXBlXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJhbGlnblwiXHJcbiAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBpcGVkTW9kZWxcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVEb0ZvY3VzKCRldmVudClcIlxyXG4gICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgPGlucHV0IFtjbGFzcy5zaG93XT1cImZvY3VzZWQgfHwgIWZvcm1hdFBpcGVcIiAjaW5wdXRcclxuICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWlucHV0LWhpZGRlbl09XCJ1c2VDb250ZW50XCJcclxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiYWxpZ25cIlxyXG4gICAgICAgICAgICAgICBbdHlwZV09XCIoaXNGb2N1c2VkT25EYXRlIHx8IChoYXNWYWx1ZSAmJiBlbXB0eVBsYWNlKSkgPyAnZGF0ZScgOiAoZGlnaXRzT25seSA/ICdudW1iZXInIDogKHR5cGUgPT09ICdkYXRlJyA/ICd0ZXh0JyA6IHR5cGUpKVwiXHJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0eXBlID09PSAnZGF0ZScgJiYgIWlzRm9jdXNlZE9uRGF0ZSA/ICcnIDogJydcIlxyXG4gICAgICAgICAgICAgICBbcGF0dGVybl09XCJ0eXBlID09PSAnZGF0ZScgPyBwYXR0ZXJuIDogdW5kZWZpbmVkXCJcclxuICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbbWluXT1cIih0eXBlID09PSAnbnVtYmVyJyB8fCB0eXBlID09PSAnZGF0ZScpICYmIHRoaXMubWluID8gdGhpcy5taW4gOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICBbbWF4XT1cIih0eXBlID09PSAnbnVtYmVyJyB8fCB0eXBlID09PSAnZGF0ZScpICYmIHRoaXMubWF4ID8gdGhpcy5tYXggOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJtb2RlbENoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAoa2V5ZG93bik9XCJkaWdpdHNPbmx5ID8gZXhjbHVkZU5vbkRpZ2l0Q2hhcnMoJGV2ZW50KSA6IHRydWVcIlxyXG4gICAgICAgICAgICAgICAoa2V5dXApPVwia2V5VXAuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKGZvY3VzaW4pPVwiaGFuZGxlSW5wdXRGb2N1cygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKGZvY3Vzb3V0KT1cImhhbmRsZUJsdXIoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VDb250ZW50XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxjby1pY29uIFtjbGFzcy5zaG93XT1cInNob3dDbGVhckJ1dHRvbiAmJiBoYXNWYWx1ZSAmJiAhcmVhZG9ubHlcIiBjbGFzcz1cImlucHV0LXRleHQtY2xlYXItYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29ucy5Dcm9zc1NraW5ueVwiIChjbGljayk9XCJjbGVhcklucHV0KCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpcmVkLWluZGljYXRvclwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cInJpZ2h0SWNvbiB8fCByaWdodEljb25EYXRhXCIgY2xhc3M9XCJzcGFjZXIgcmlnaHQtaWNvblwiPjwvZGl2PlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInJpZ2h0SWNvbiB8fCByaWdodEljb25EYXRhXCIgY2xhc3M9XCJpbnB1dC10ZXh0LXJpZ2h0LWljb25cIiBbaWNvbl09XCJyaWdodEljb25cIlxyXG4gICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwicmlnaHRJY29uRGF0YVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVSaWdodEljb25DbGljaygkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJoYW5kbGVSaWdodEljb25Nb3VzZURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImhhbmRsZVJpZ2h0SWNvbk1vdXNlVXAoJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLVxyXG4gICAgICAgICAgICA8Y28tY29tbWl0LWJ1dHRvbnMgKm5nSWY9XCJzaG93U2F2ZUNhbmNlbCAmJiBmb2N1c2VkICYmIGNhblNhdmVPckNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tbWl0dGluZ109XCJjb21taXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21taXRGaW5pc2hlZF09XCJjb21taXRGaW5pc2hlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbWl0Q2xpY2spPVwiY29tbWl0Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2FuY2VsQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1jb21taXQtYnV0dG9ucz5cclxuICAgIC0tPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5U2VydmljZSwge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRDb21wb25lbnQpXHJcbiAgICB9LCB7XHJcbiAgICAgIHByb3ZpZGU6IEJhc2VJbnB1dENvbXBvbmVudCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IElucHV0VGV4dENvbXBvbmVudFxyXG4gICAgfV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsaWduOiBzdHJpbmcgPSAnbGVmdCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZm9ybWF0UGlwZTogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW46IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF4OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhdHRlcm46IHN0cmluZyA9ICdkZC1NTS15eXl5JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlnaXRzT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleGNsdWRlUGx1c01pbnVzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0NsZWFyQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2V5RG93bldoaXRlTGlzdDogS2V5Ym9hcmRDb2RlW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQbGFjZWhvbGRlck9uRm9jdXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbjogQ29yZUNvbXBvbmVudHNJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb246IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdE9uRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1wdHlQbGFjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vLXN0eWxlJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBub1N0eWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlLWFycm93cycpXHJcbiAgcHVibGljIGhpZGVBcnJvd0J1dHRvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaXNEYXRlXCIpXHJcbiAgcHVibGljIGdldCBpc0RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBcImRhdGVcIjtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbk1vdXNlRG93bjogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbGVmdEljb25Nb3VzZVVwOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uTW91c2VEb3duOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25Nb3VzZVVwOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbGVhckljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaXNGb2N1c2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28taW5wdXQtdGV4dCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtbGVmdC1pY29uJylcclxuICBwdWJsaWMgZ2V0IGhhc0xlZnRJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGVmdEljb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLmxlZnRJY29uICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtcmlnaHQtaWNvbicpXHJcbiAgcHVibGljIGdldCBoYXNSaWdodEljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5yaWdodEljb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLnJpZ2h0SWNvbiAhPT0gbnVsbDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLW93bi1sYWJlbCcpXHJcbiAgcHVibGljIGhhc093bkxhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGhhbmRsZURvY3VtZW50TW91c2VVcChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuX2lzTGVmdEljb25Nb3VzZURvd24pIHtcclxuICAgICAgdGhpcy5sZWZ0SWNvbk1vdXNlVXAubmV4dChldmVudCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5faXNSaWdodEljb25Nb3VzZURvd24pIHtcclxuICAgICAgdGhpcy5yaWdodEljb25Nb3VzZVVwLm5leHQoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IG1vZGVsKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdudW1iZXInICYmICFpc05hTih2YWx1ZSkpIHtcclxuICAgICAgaWYgKHRoaXMubWluICYmIHZhbHVlIDwgdGhpcy5taW4gfHwgdGhpcy5tYXggJiYgdmFsdWUgPiB0aGlzLm1heCkge1xyXG4gICAgICAgIHN1cGVyLm1vZGVsID0gdGhpcy5faW5pdGlhbE1vZGVsO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHN1cGVyLm1vZGVsID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN1cGVyLm1vZGVsID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG1vZGVsKCkge1xyXG4gICAgcmV0dXJuIHN1cGVyLm1vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwaXBlZE1vZGVsKCk6IGFueSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXRQaXBlKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgcGlwZSA9IG5ldyB0aGlzLmZvcm1hdFBpcGUodGhpcyk7XHJcbiAgICAgICAgcmV0dXJuIHBpcGUudHJhbnNmb3JtKHRoaXMubW9kZWwpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRm9jdXNlZE9uRGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2lzTGVmdEljb25Nb3VzZURvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9pc1JpZ2h0SWNvbk1vdXNlRG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBmb3JtQ29tcG9uZW50OiBGb3JtQ29tcG9uZW50LFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXI/OiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbmdab25lV3JhcHBlcj86IE5nWm9uZVdyYXBwZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgb3ZlcmxheVNlcnZpY2UsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZXhjbHVkZSBzb21lIG5vbi1kaWdpdCBjaGFyYWN0ZXJzLCBzaW5jZSBpbnB1dCB0eXBlICdudW1iZXInIHN0aWxsIGFsbG93cyB0aGUgY2hhcmFjdGVycyAtLCArIGFuZCBlXHJcbiAgcHVibGljIGV4Y2x1ZGVOb25EaWdpdENoYXJzKGV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBleGNsdWRlZEtleXMgPSB0aGlzLmV4Y2x1ZGVQbHVzTWludXMgPyBbJ2UnLCAnLScsICcrJ10gOiBbJ2UnXTtcclxuXHJcbiAgICByZXR1cm4gIWV4Y2x1ZGVkS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMubGVmdEljb25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLmxlZnRJY29uTW91c2VEb3duLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uTW91c2VVcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5sZWZ0SWNvbk1vdXNlVXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMucmlnaHRJY29uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlRG93bi5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSaWdodEljb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5yaWdodEljb25Nb3VzZVVwLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUlucHV0Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlJykge1xyXG4gICAgICB0aGlzLmlzRm9jdXNlZE9uRGF0ZSA9IHRydWU7IC8vIFN3aXRjaCB0byAnZGF0ZScgdHlwZSB3aGVuIGZvY3VzZWRcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdE9uRm9jdXMpIHtcclxuICAgICAgdGhpcy5pbnB1dC5zZWxlY3QoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGb2N1c2VkLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuaXNGb2N1c2VkT25EYXRlID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzRm9jdXNlZC5lbWl0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEb0ZvY3VzKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgdGhpcy5kb0ZvY3VzKGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbGVhcklucHV0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICB0aGlzLnNldE1vZGVsKG51bGwpO1xyXG4gICAgdGhpcy5jbGVhckljb25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcbn1cclxuIl19
|
|
282
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGV4dC9pbnB1dC10ZXh0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLGlCQUFpQixFQUFFLFNBQVMsRUFBRSx3QkFBd0IsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMzTixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsOENBQThDLEVBQUMsTUFBTSxpRUFBaUUsQ0FBQztBQUcvSCxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFFckQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBdUU3RCxNQUFNLE9BQU8sa0JBQW1CLFNBQVEsa0JBQXVCO0lBNEo3RCxZQUNxQixhQUE0QixFQUNyQyxRQUFrQixFQUNsQixjQUFpQyxFQUNqQyxjQUE4QixFQUM5Qix3QkFBa0QsRUFDbEQsc0JBQWdFLEVBQ2hFLGFBQW9DLEVBQ3ZDLFVBQXVCO1FBRTlCLEtBQUssQ0FBQyxjQUFjLEVBQUUsd0JBQXdCLEVBQUUsY0FBYyxFQUFFLHNCQUFzQixFQUFFLGFBQWEsRUFBRSxVQUFVLENBQUMsQ0FBQztRQVRoRyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUNyQyxhQUFRLEdBQVIsUUFB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LGtCQUFrQixDQUFDO3FCQUNsRCxFQUFFO3dCQUNELE9BQU8sRUFBRSxrQkFBa0I7d0JBQzNCLFdBQVcsRUFBRSxrQkFBa0I7cUJBQ2hDO2lCQUFDO2dCQUNKLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3RDOzs7WUF4RU8sYUFBYSx1QkFzT2hCLFFBQVE7WUE3T21JLFFBQVE7WUFBakksaUJBQWlCO1lBU2hDLGNBQWM7WUFUK0Isd0JBQXdCO1lBS3JFLHVDQUF1QztZQUN2QyxvQkFBb0I7WUFObUQsVUFBVTs7O3lCQWtGdEYsS0FBSzswQkFHTCxLQUFLO29CQUdMLEtBQUs7bUJBR0wsS0FBSzt5QkFHTCxLQUFLO2tCQUdMLEtBQUs7a0JBR0wsS0FBSztzQkFHTCxLQUFLO3lCQUdMLEtBQUs7K0JBR0wsS0FBSzs4QkFHTCxLQUFLOytCQUdMLEtBQUs7cUNBR0wsS0FBSzt1QkFHTCxLQUFLO3dCQUdMLEtBQUs7MkJBR0wsS0FBSzs0QkFHTCxLQUFLOzRCQUdMLEtBQUs7eUJBR0wsS0FBSztzQkFHTCxXQUFXLFNBQUMsZ0JBQWdCLGNBQzVCLEtBQUs7K0JBR0wsS0FBSyxZQUNMLFdBQVcsU0FBQyxtQkFBbUI7cUJBRy9CLFdBQVcsU0FBQyxjQUFjOzRCQUsxQixNQUFNO2dDQUdOLE1BQU07OEJBR04sTUFBTTs2QkFHTixNQUFNO2lDQUdOLE1BQU07K0JBR04sTUFBTTs2QkFHTixNQUFNO3dCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLHFCQUFxQjswQkFLakMsV0FBVyxTQUFDLHFCQUFxQjsyQkFLakMsV0FBVyxTQUFDLHNCQUFzQjswQkFLbEMsV0FBVyxTQUFDLHFCQUFxQjtvQ0FHakMsWUFBWSxTQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDO29CQVUzQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIEhvc3RMaXN0ZW5lciwgSW5qZWN0b3IsIElucHV0LCBPcHRpb25hbCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjcmVlbi1jb25maWctYWRhcHRlci1jb21wb25lbnQtaW50ZXJmYWNlLW5hbWUnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0nO1xyXG5pbXBvcnQge0tleWJvYXJkQ29kZX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWNvZGUuZW51bSc7XHJcbmltcG9ydCB7Rm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlfSBmcm9tICcuLi8uLi9jb3JlL3NlcnZpY2UvZm9ybS1pbnB1dC11c2VyLWNoYW5nZS1saXN0ZW5lci5zZXJ2aWNlJztcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSAnLi4vLi4vY29yZS9zZXJ2aWNlL25nLXpvbmUtd3JhcHBlci5zZXJ2aWNlJztcclxuaW1wb3J0IHtGb3JtQ29tcG9uZW50fSBmcm9tICcuLi9mb3JtL2Zvcm0uY29tcG9uZW50JztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7T3ZlcmxheVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvb3ZlcmxheS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28taW5wdXQtdGV4dCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJpbnB1dC10ZXh0LXdyYXBwZXJcIiBvdmVybGF5UGFyZW50ICNwYXJlbnRGb3JPdmVybGF5PVwib3ZlcmxheVBhcmVudFwiPlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cImxlZnRJY29uIHx8IGxlZnRJY29uRGF0YVwiIGNsYXNzPVwiaW5wdXQtdGV4dC1sZWZ0LWljb25cIiBbaWNvbl09XCJsZWZ0SWNvblwiIFtpY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlTGVmdEljb25DbGljaygkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKG1vdXNldXApPVwiaGFuZGxlTGVmdEljb25Nb3VzZVVwKCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJsZWZ0SWNvbiB8fCBsZWZ0SWNvbkRhdGFcIiBjbGFzcz1cInNwYWNlciBsZWZ0LWljb25cIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXJcIj5cclxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJzaG93UGxhY2Vob2xkZXJPbkZvY3VzIHx8ICghc2hvd1BsYWNlaG9sZGVyT25Gb2N1cyAmJiAhaGFzVmFsdWUgJiYgIWZvY3VzZWQpXCJcclxuICAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBsYWNlaG9sZGVyXCI+PC9sYWJlbD5cclxuICAgICAgICA8c3BhbiBjbGFzcz1cImlucHV0LXRleHQtZm9ybWF0dGVkXCIgKm5nSWY9XCIhZm9jdXNlZCAmJiAhdXNlQ29udGVudCAmJiBmb3JtYXRQaXBlXCJcclxuICAgICAgICAgICAgICBbY2xhc3Muc2hvd109XCIhZm9jdXNlZCAmJiAhdXNlQ29udGVudCAmJiBmb3JtYXRQaXBlXCJcclxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJhbGlnblwiXHJcbiAgICAgICAgICAgICAgW3RleHRDb250ZW50XT1cInBpcGVkTW9kZWxcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVEb0ZvY3VzKCRldmVudClcIlxyXG4gICAgICAgID48L3NwYW4+XHJcbiAgICAgICAgPGlucHV0IFtjbGFzcy5zaG93XT1cImZvY3VzZWQgfHwgIWZvcm1hdFBpcGVcIiAjaW5wdXRcclxuICAgICAgICAgICAgICAgW2NsYXNzLmlucHV0LWlucHV0LWhpZGRlbl09XCJ1c2VDb250ZW50XCJcclxuICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwiYWxpZ25cIlxyXG4gICAgICAgICAgICAgICBbdHlwZV09XCIoaXNGb2N1c2VkT25EYXRlIHx8IChoYXNWYWx1ZSAmJiBlbXB0eVBsYWNlKSkgPyAnZGF0ZScgOiAoZGlnaXRzT25seSA/ICdudW1iZXInIDogKHR5cGUgPT09ICdkYXRlJyA/ICd0ZXh0JyA6IHR5cGUpKVwiXHJcbiAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJ0eXBlID09PSAnZGF0ZScgJiYgIWlzRm9jdXNlZE9uRGF0ZSA/ICcnIDogJydcIlxyXG4gICAgICAgICAgICAgICBbcGF0dGVybl09XCJ0eXBlID09PSAnZGF0ZScgPyBwYXR0ZXJuIDogdW5kZWZpbmVkXCJcclxuICAgICAgICAgICAgICAgW25nTW9kZWxdPVwibW9kZWxcIlxyXG4gICAgICAgICAgICAgICBbbWluXT1cIih0eXBlID09PSAnbnVtYmVyJyB8fCB0eXBlID09PSAnZGF0ZScpICYmIHRoaXMubWluID8gdGhpcy5taW4gOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICBbbWF4XT1cIih0eXBlID09PSAnbnVtYmVyJyB8fCB0eXBlID09PSAnZGF0ZScpICYmIHRoaXMubWF4ID8gdGhpcy5tYXggOiB1bmRlZmluZWRcIlxyXG4gICAgICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJtb2RlbENoYW5nZS5lbWl0KCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAoa2V5ZG93bik9XCJkaWdpdHNPbmx5ID8gZXhjbHVkZU5vbkRpZ2l0Q2hhcnMoJGV2ZW50KSA6IHRydWVcIlxyXG4gICAgICAgICAgICAgICAoa2V5dXApPVwia2V5VXAuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKGZvY3VzaW4pPVwiaGFuZGxlSW5wdXRGb2N1cygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgKGZvY3Vzb3V0KT1cImhhbmRsZUJsdXIoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ1c2VDb250ZW50XCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGVudC13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxjby1pY29uIFtjbGFzcy5zaG93XT1cInNob3dDbGVhckJ1dHRvbiAmJiBoYXNWYWx1ZSAmJiAhcmVhZG9ubHlcIiBjbGFzcz1cImlucHV0LXRleHQtY2xlYXItYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICBbaWNvbl09XCJpY29ucy5Dcm9zc1NraW5ueVwiIChjbGljayk9XCJjbGVhcklucHV0KCRldmVudClcIj48L2NvLWljb24+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJlcXVpcmVkLWluZGljYXRvclwiPjwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiAqbmdJZj1cInJpZ2h0SWNvbiB8fCByaWdodEljb25EYXRhXCIgY2xhc3M9XCJzcGFjZXIgcmlnaHQtaWNvblwiPjwvZGl2PlxyXG4gICAgICA8Y28taWNvbiAqbmdJZj1cInJpZ2h0SWNvbiB8fCByaWdodEljb25EYXRhXCIgY2xhc3M9XCJpbnB1dC10ZXh0LXJpZ2h0LWljb25cIiBbaWNvbl09XCJyaWdodEljb25cIlxyXG4gICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwicmlnaHRJY29uRGF0YVwiXHJcbiAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVSaWdodEljb25DbGljaygkZXZlbnQpXCIgKG1vdXNlZG93bik9XCJoYW5kbGVSaWdodEljb25Nb3VzZURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgIChtb3VzZXVwKT1cImhhbmRsZVJpZ2h0SWNvbk1vdXNlVXAoJGV2ZW50KVwiPjwvY28taWNvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPCEtLVxyXG4gICAgICAgICAgICA8Y28tY29tbWl0LWJ1dHRvbnMgKm5nSWY9XCJzaG93U2F2ZUNhbmNlbCAmJiBmb2N1c2VkICYmIGNhblNhdmVPckNhbmNlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY29tbWl0dGluZ109XCJjb21taXR0aW5nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjb21taXRGaW5pc2hlZF09XCJjb21taXRGaW5pc2hlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY29tbWl0Q2xpY2spPVwiY29tbWl0Q2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2FuY2VsQ2xpY2spPVwiY2FuY2VsQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPC9jby1jb21taXQtYnV0dG9ucz5cclxuICAgIC0tPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5U2VydmljZSwge1xyXG4gICAgICBwcm92aWRlOiBTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBJbnB1dFRleHRDb21wb25lbnQpXHJcbiAgICB9LCB7XHJcbiAgICAgIHByb3ZpZGU6IEJhc2VJbnB1dENvbXBvbmVudCxcclxuICAgICAgdXNlRXhpc3Rpbmc6IElucHV0VGV4dENvbXBvbmVudFxyXG4gICAgfV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUZXh0Q29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdXNlQ29udGVudDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGFsaWduOiBzdHJpbmcgPSAnbGVmdCc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHR5cGU6IHN0cmluZyA9ICd0ZXh0JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZm9ybWF0UGlwZTogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtaW46IG51bWJlcjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbWF4OiBudW1iZXI7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhdHRlcm46IHN0cmluZyA9ICdkZC1NTS15eXl5JztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlnaXRzT25seTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBleGNsdWRlUGx1c01pbnVzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2hvd0NsZWFyQnV0dG9uOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMga2V5RG93bldoaXRlTGlzdDogS2V5Ym9hcmRDb2RlW107XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNob3dQbGFjZWhvbGRlck9uRm9jdXM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbjogQ29yZUNvbXBvbmVudHNJY29uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb246IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGVmdEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uRGF0YTogU2FmZUh0bWwgfCB1bmRlZmluZWQ7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlbGVjdE9uRm9jdXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZW1wdHlQbGFjZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm5vLXN0eWxlJylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBub1N0eWxlOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oaWRlLWFycm93cycpXHJcbiAgcHVibGljIGhpZGVBcnJvd0J1dHRvbnM6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuaXNEYXRlXCIpXHJcbiAgcHVibGljIGdldCBpc0RhdGUoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy50eXBlID09PSBcImRhdGVcIjtcclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkNsaWNrOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbk1vdXNlRG93bjogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbGVmdEljb25Nb3VzZVVwOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgcmlnaHRJY29uTW91c2VEb3duOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyByaWdodEljb25Nb3VzZVVwOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbGVhckljb25DbGljazogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgaXNGb2N1c2VkOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28taW5wdXQtdGV4dCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtbGVmdC1pY29uJylcclxuICBwdWJsaWMgZ2V0IGhhc0xlZnRJY29uKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubGVmdEljb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLmxlZnRJY29uICE9PSBudWxsO1xyXG4gIH1cclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5oYXMtcmlnaHQtaWNvbicpXHJcbiAgcHVibGljIGdldCBoYXNSaWdodEljb24oKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5yaWdodEljb24gIT09IHVuZGVmaW5lZCAmJiB0aGlzLnJpZ2h0SWNvbiAhPT0gbnVsbDtcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuaGFzLW93bi1sYWJlbCcpXHJcbiAgcHVibGljIGhhc093bkxhYmVsOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6bW91c2V1cCcsIFsnJGV2ZW50J10pXHJcbiAgcHVibGljIGhhbmRsZURvY3VtZW50TW91c2VVcChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuX2lzTGVmdEljb25Nb3VzZURvd24pIHtcclxuICAgICAgdGhpcy5sZWZ0SWNvbk1vdXNlVXAubmV4dChldmVudCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5faXNSaWdodEljb25Nb3VzZURvd24pIHtcclxuICAgICAgdGhpcy5yaWdodEljb25Nb3VzZVVwLm5leHQoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IG1vZGVsKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdudW1iZXInICYmICFpc05hTih2YWx1ZSkpIHtcclxuICAgICAgaWYgKHRoaXMubWluICYmIHZhbHVlIDwgdGhpcy5taW4gfHwgdGhpcy5tYXggJiYgdmFsdWUgPiB0aGlzLm1heCkge1xyXG4gICAgICAgIHN1cGVyLm1vZGVsID0gdGhpcy5faW5pdGlhbE1vZGVsO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHN1cGVyLm1vZGVsID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHN1cGVyLm1vZGVsID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG1vZGVsKCkge1xyXG4gICAgcmV0dXJuIHN1cGVyLm1vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBwaXBlZE1vZGVsKCk6IGFueSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXRQaXBlKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgcGlwZSA9IG5ldyB0aGlzLmZvcm1hdFBpcGUodGhpcyk7XHJcbiAgICAgICAgcmV0dXJuIHBpcGUudHJhbnNmb3JtKHRoaXMubW9kZWwpO1xyXG4gICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLm1vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGlzRm9jdXNlZE9uRGF0ZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX2lzTGVmdEljb25Nb3VzZURvd246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwcml2YXRlIF9pc1JpZ2h0SWNvbk1vdXNlRG93bjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBmb3JtQ29tcG9uZW50OiBGb3JtQ29tcG9uZW50LFxyXG4gICAgcHJvdGVjdGVkIGluamVjdG9yOiBJbmplY3RvcixcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXI/OiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbmdab25lV3JhcHBlcj86IE5nWm9uZVdyYXBwZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgb3ZlcmxheVNlcnZpY2UsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgLy8gZXhjbHVkZSBzb21lIG5vbi1kaWdpdCBjaGFyYWN0ZXJzLCBzaW5jZSBpbnB1dCB0eXBlICdudW1iZXInIHN0aWxsIGFsbG93cyB0aGUgY2hhcmFjdGVycyAtLCArIGFuZCBlXHJcbiAgcHVibGljIGV4Y2x1ZGVOb25EaWdpdENoYXJzKGV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBleGNsdWRlZEtleXMgPSB0aGlzLmV4Y2x1ZGVQbHVzTWludXMgPyBbJ2UnLCAnLScsICcrJ10gOiBbJ2UnXTtcclxuXHJcbiAgICByZXR1cm4gIWV4Y2x1ZGVkS2V5cy5pbmNsdWRlcyhldmVudC5rZXkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMubGVmdEljb25DbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVMZWZ0SWNvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLmxlZnRJY29uTW91c2VEb3duLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUxlZnRJY29uTW91c2VVcChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5faXNMZWZ0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5sZWZ0SWNvbk1vdXNlVXAuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIHRoaXMucmlnaHRJY29uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlUmlnaHRJY29uTW91c2VEb3duKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IHRydWU7XHJcbiAgICB0aGlzLnJpZ2h0SWNvbk1vdXNlRG93bi5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVSaWdodEljb25Nb3VzZVVwKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLl9pc1JpZ2h0SWNvbk1vdXNlRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy5yaWdodEljb25Nb3VzZVVwLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUlucHV0Rm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlJykge1xyXG4gICAgICB0aGlzLmlzRm9jdXNlZE9uRGF0ZSA9IHRydWU7IC8vIFN3aXRjaCB0byAnZGF0ZScgdHlwZSB3aGVuIGZvY3VzZWRcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnNlbGVjdE9uRm9jdXMpIHtcclxuICAgICAgdGhpcy5pbnB1dC5zZWxlY3QoKTtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGb2N1c2VkLmVtaXQodHJ1ZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQmx1cihldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKHRoaXMubW9kZWwpO1xyXG4gICAgICB0aGlzLmlzRm9jdXNlZE9uRGF0ZSA9IGZhbHNlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc0ZvY3VzZWQuZW1pdChmYWxzZSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRG9Gb2N1cyhldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIHRoaXMuZG9Gb2N1cyhldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJJbnB1dChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5zZXRNb2RlbChudWxsKTtcclxuICAgIHRoaXMuY2xlYXJJY29uQ2xpY2suZW1pdChldmVudCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { Component, forwardRef, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import { OverlayService } from "../../service/overlay.service";
|
|
3
|
+
import { SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME } from "../../interfaces/screen-config-adapter-component-interface-name";
|
|
4
|
+
import { BaseInputTimeDirective } from "../base-input-time/base-input-time-directive";
|
|
5
|
+
export class InputTimeComponent extends BaseInputTimeDirective {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.timeAsString = '';
|
|
9
|
+
}
|
|
10
|
+
modelSet() {
|
|
11
|
+
this.setTimeAsString();
|
|
12
|
+
}
|
|
13
|
+
setTimeAsString() {
|
|
14
|
+
if (this.model !== undefined && this.model !== null) {
|
|
15
|
+
const totalMinutes = Math.floor(this.model / (1000 * 60)); // Convert milliseconds to minutes
|
|
16
|
+
const days = Math.floor(totalMinutes / (24 * 60));
|
|
17
|
+
const hours = Math.floor((totalMinutes % (24 * 60)) / 60);
|
|
18
|
+
const minutes = totalMinutes % 60;
|
|
19
|
+
this.timeAsString = `${days}d ${hours}h ${minutes}m`;
|
|
20
|
+
}
|
|
21
|
+
else {
|
|
22
|
+
this.timeAsString = '';
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
handleTimeChange(value) {
|
|
26
|
+
if (value) {
|
|
27
|
+
const parts = value.split(' ');
|
|
28
|
+
let totalMinutes = 0;
|
|
29
|
+
parts.forEach(part => {
|
|
30
|
+
if (part.endsWith('d')) {
|
|
31
|
+
totalMinutes += parseInt(part.substring(0, part.length - 1)) * 24 * 60;
|
|
32
|
+
}
|
|
33
|
+
else if (part.endsWith('h')) {
|
|
34
|
+
totalMinutes += parseInt(part.substring(0, part.length - 1)) * 60;
|
|
35
|
+
}
|
|
36
|
+
else if (part.endsWith('m')) {
|
|
37
|
+
totalMinutes += parseInt(part.substring(0, part.length - 1));
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
this.setModel(totalMinutes * 60 * 1000); // Convert minutes to milliseconds
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
handleClearIconClicked() {
|
|
44
|
+
this.setModel(undefined);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
InputTimeComponent.decorators = [
|
|
48
|
+
{ type: Component, args: [{
|
|
49
|
+
selector: 'co-input-time',
|
|
50
|
+
template: `
|
|
51
|
+
<co-input-text
|
|
52
|
+
[hidden]="hidden"
|
|
53
|
+
[readonly]="readonly"
|
|
54
|
+
[(model)]="timeAsString"
|
|
55
|
+
[rightIcon]="rightIcon"
|
|
56
|
+
[leftIcon]="leftIcon"
|
|
57
|
+
[leftIconData]="leftIconData"
|
|
58
|
+
[placeholder]="placeholder"
|
|
59
|
+
(blur)="handleTimeChange(timeAsString)"
|
|
60
|
+
(clearIconClick)="handleClearIconClicked()"
|
|
61
|
+
></co-input-text>
|
|
62
|
+
`,
|
|
63
|
+
providers: [
|
|
64
|
+
OverlayService, {
|
|
65
|
+
provide: SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME, useExisting: forwardRef(() => InputTimeComponent)
|
|
66
|
+
}, {
|
|
67
|
+
provide: BaseInputTimeDirective,
|
|
68
|
+
useExisting: InputTimeComponent
|
|
69
|
+
}
|
|
70
|
+
],
|
|
71
|
+
encapsulation: ViewEncapsulation.None
|
|
72
|
+
},] }
|
|
73
|
+
];
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGltZS9pbnB1dC10aW1lLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUNMLDhDQUE4QyxFQUMvQyxNQUFNLGlFQUFpRSxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLDhDQUE4QyxDQUFDO0FBMEJwRixNQUFNLE9BQU8sa0JBQW1CLFNBQVEsc0JBQXNCO0lBeEI5RDs7UUEwQlMsaUJBQVksR0FBVyxFQUFFLENBQUM7SUFzQ25DLENBQUM7SUFwQ1csUUFBUTtRQUNoQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVPLGVBQWU7UUFDckIsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksRUFBRTtZQUNuRCxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztZQUM3RixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ2xELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxZQUFZLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUMxRCxNQUFNLE9BQU8sR0FBRyxZQUFZLEdBQUcsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxJQUFJLEtBQUssS0FBSyxLQUFLLE9BQU8sR0FBRyxDQUFDO1NBQ3REO2FBQU07WUFDTCxJQUFJLENBQUMsWUFBWSxHQUFHLEVBQUUsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFhO1FBQ25DLElBQUksS0FBSyxFQUFFO1lBQ1QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUMvQixJQUFJLFlBQVksR0FBRyxDQUFDLENBQUM7WUFDckIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDbkIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUN0QixZQUFZLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxDQUFDO2lCQUN4RTtxQkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQzdCLFlBQVksSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQztpQkFDbkU7cUJBQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFO29CQUM3QixZQUFZLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDOUQ7WUFDSCxDQUFDLENBQUMsQ0FBQztZQUNILElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLEVBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLGtDQUFrQztTQUM1RTtJQUNILENBQUM7SUFFTSxzQkFBc0I7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUMzQixDQUFDOzs7WUEvREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxlQUFlO2dCQUN6QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7OztHQVlUO2dCQUNELFNBQVMsRUFBRTtvQkFDVCxjQUFjLEVBQUU7d0JBQ2QsT0FBTyxFQUFFLDhDQUE4QyxFQUFFLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsa0JBQWtCLENBQUM7cUJBQzNHLEVBQUU7d0JBQ0QsT0FBTyxFQUFFLHNCQUFzQjt3QkFDL0IsV0FBVyxFQUFFLGtCQUFrQjtxQkFDaEM7aUJBQUM7Z0JBQ0osYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7T3ZlcmxheVNlcnZpY2V9IGZyb20gXCIuLi8uLi9zZXJ2aWNlL292ZXJsYXkuc2VydmljZVwiO1xyXG5pbXBvcnQge1xyXG4gIFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUVcclxufSBmcm9tIFwiLi4vLi4vaW50ZXJmYWNlcy9zY3JlZW4tY29uZmlnLWFkYXB0ZXItY29tcG9uZW50LWludGVyZmFjZS1uYW1lXCI7XHJcbmltcG9ydCB7QmFzZUlucHV0VGltZURpcmVjdGl2ZX0gZnJvbSBcIi4uL2Jhc2UtaW5wdXQtdGltZS9iYXNlLWlucHV0LXRpbWUtZGlyZWN0aXZlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWlucHV0LXRpbWUnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgICAgW2hpZGRlbl09XCJoaWRkZW5cIlxyXG4gICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgIFsobW9kZWwpXT1cInRpbWVBc1N0cmluZ1wiXHJcbiAgICAgICAgICAgICAgICAgICBbcmlnaHRJY29uXT1cInJpZ2h0SWNvblwiXHJcbiAgICAgICAgICAgICAgICAgICBbbGVmdEljb25dPVwibGVmdEljb25cIlxyXG4gICAgICAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgIChibHVyKT1cImhhbmRsZVRpbWVDaGFuZ2UodGltZUFzU3RyaW5nKVwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xlYXJJY29uQ2xpY2spPVwiaGFuZGxlQ2xlYXJJY29uQ2xpY2tlZCgpXCJcclxuICAgID48L2NvLWlucHV0LXRleHQ+XHJcbiAgYCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIE92ZXJsYXlTZXJ2aWNlLCB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IElucHV0VGltZUNvbXBvbmVudClcclxuICAgIH0sIHtcclxuICAgICAgcHJvdmlkZTogQmFzZUlucHV0VGltZURpcmVjdGl2ZSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IElucHV0VGltZUNvbXBvbmVudFxyXG4gICAgfV0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5wdXRUaW1lQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0VGltZURpcmVjdGl2ZSB7XHJcblxyXG4gIHB1YmxpYyB0aW1lQXNTdHJpbmc6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcm90ZWN0ZWQgbW9kZWxTZXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNldFRpbWVBc1N0cmluZygpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRUaW1lQXNTdHJpbmcoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tb2RlbCAhPT0gdW5kZWZpbmVkICYmIHRoaXMubW9kZWwgIT09IG51bGwpIHtcclxuICAgICAgY29uc3QgdG90YWxNaW51dGVzID0gTWF0aC5mbG9vcih0aGlzLm1vZGVsIC8gKDEwMDAgKiA2MCkpOyAvLyBDb252ZXJ0IG1pbGxpc2Vjb25kcyB0byBtaW51dGVzXHJcbiAgICAgIGNvbnN0IGRheXMgPSBNYXRoLmZsb29yKHRvdGFsTWludXRlcyAvICgyNCAqIDYwKSk7XHJcbiAgICAgIGNvbnN0IGhvdXJzID0gTWF0aC5mbG9vcigodG90YWxNaW51dGVzICUgKDI0ICogNjApKSAvIDYwKTtcclxuICAgICAgY29uc3QgbWludXRlcyA9IHRvdGFsTWludXRlcyAlIDYwO1xyXG4gICAgICB0aGlzLnRpbWVBc1N0cmluZyA9IGAke2RheXN9ZCAke2hvdXJzfWggJHttaW51dGVzfW1gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy50aW1lQXNTdHJpbmcgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUaW1lQ2hhbmdlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICBjb25zdCBwYXJ0cyA9IHZhbHVlLnNwbGl0KCcgJyk7XHJcbiAgICAgIGxldCB0b3RhbE1pbnV0ZXMgPSAwO1xyXG4gICAgICBwYXJ0cy5mb3JFYWNoKHBhcnQgPT4ge1xyXG4gICAgICAgIGlmIChwYXJ0LmVuZHNXaXRoKCdkJykpIHtcclxuICAgICAgICAgIHRvdGFsTWludXRlcyArPSBwYXJzZUludChwYXJ0LnN1YnN0cmluZygwLCBwYXJ0Lmxlbmd0aCAtIDEpKSAqIDI0ICogNjA7XHJcbiAgICAgICAgfSBlbHNlIGlmIChwYXJ0LmVuZHNXaXRoKCdoJykpIHtcclxuICAgICAgICAgIHRvdGFsTWludXRlcyArPSBwYXJzZUludChwYXJ0LnN1YnN0cmluZygwLCBwYXJ0Lmxlbmd0aCAtIDEpKSAqIDYwO1xyXG4gICAgICAgIH0gZWxzZSBpZiAocGFydC5lbmRzV2l0aCgnbScpKSB7XHJcbiAgICAgICAgICB0b3RhbE1pbnV0ZXMgKz0gcGFyc2VJbnQocGFydC5zdWJzdHJpbmcoMCwgcGFydC5sZW5ndGggLSAxKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy5zZXRNb2RlbCh0b3RhbE1pbnV0ZXMgKiA2MCAqIDEwMDApOyAvLyBDb252ZXJ0IG1pbnV0ZXMgdG8gbWlsbGlzZWNvbmRzXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlQ2xlYXJJY29uQ2xpY2tlZCgpIHtcclxuICAgIHRoaXMuc2V0TW9kZWwodW5kZWZpbmVkKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { NgModule, NO_ERRORS_SCHEMA } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { InputTimeComponent } from './input-time.component';
|
|
4
|
+
import { OverlayModule } from '../../directives/overlay/overlay.module';
|
|
5
|
+
import { InputTextModule } from "../input-text/input-text.module";
|
|
6
|
+
import { ClickoutsideModule } from "../../directives/clickoutside/clickoutside.module";
|
|
7
|
+
export class InputTimeModule {
|
|
8
|
+
}
|
|
9
|
+
InputTimeModule.decorators = [
|
|
10
|
+
{ type: NgModule, args: [{
|
|
11
|
+
imports: [
|
|
12
|
+
CommonModule,
|
|
13
|
+
InputTextModule,
|
|
14
|
+
ClickoutsideModule,
|
|
15
|
+
OverlayModule
|
|
16
|
+
],
|
|
17
|
+
schemas: [
|
|
18
|
+
NO_ERRORS_SCHEMA
|
|
19
|
+
],
|
|
20
|
+
declarations: [InputTimeComponent],
|
|
21
|
+
exports: [InputTimeComponent]
|
|
22
|
+
},] }
|
|
23
|
+
];
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtdGltZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvaW5wdXQtdGltZS9pbnB1dC10aW1lLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFFLGdCQUFnQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM1RCxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0seUNBQXlDLENBQUM7QUFDdEUsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLG1EQUFtRCxDQUFDO0FBZXJGLE1BQU0sT0FBTyxlQUFlOzs7WUFiM0IsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGVBQWU7b0JBQ2Ysa0JBQWtCO29CQUNsQixhQUFhO2lCQUNkO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxnQkFBZ0I7aUJBQ2pCO2dCQUNELFlBQVksRUFBRSxDQUFDLGtCQUFrQixDQUFDO2dCQUNsQyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQzthQUM5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TmdNb2R1bGUsIE5PX0VSUk9SU19TQ0hFTUF9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBJbnB1dFRpbWVDb21wb25lbnQgfSBmcm9tICcuL2lucHV0LXRpbWUuY29tcG9uZW50JztcclxuaW1wb3J0IHtPdmVybGF5TW9kdWxlfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL292ZXJsYXkvb3ZlcmxheS5tb2R1bGUnO1xyXG5pbXBvcnQge0lucHV0VGV4dE1vZHVsZX0gZnJvbSBcIi4uL2lucHV0LXRleHQvaW5wdXQtdGV4dC5tb2R1bGVcIjtcclxuaW1wb3J0IHtDbGlja291dHNpZGVNb2R1bGV9IGZyb20gXCIuLi8uLi9kaXJlY3RpdmVzL2NsaWNrb3V0c2lkZS9jbGlja291dHNpZGUubW9kdWxlXCI7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIElucHV0VGV4dE1vZHVsZSxcclxuICAgIENsaWNrb3V0c2lkZU1vZHVsZSxcclxuICAgIE92ZXJsYXlNb2R1bGVcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtcclxuICAgIE5PX0VSUk9SU19TQ0hFTUFcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW0lucHV0VGltZUNvbXBvbmVudF0sXHJcbiAgZXhwb3J0czogW0lucHV0VGltZUNvbXBvbmVudF1cclxufSlcclxuZXhwb3J0IGNsYXNzIElucHV0VGltZU1vZHVsZSB7XHJcbn1cclxuIl19
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Component, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, ViewChildren, ViewEncapsulation } from '@angular/core';
|
|
2
2
|
import { InputSearchComponent } from '../input-search/input-search.component';
|
|
3
3
|
import { KeyboardKey } from '../../core/enum/keyboard-key.enum';
|
|
4
|
+
import { IconCacheService } from '../icon/icon-cache.service';
|
|
4
5
|
export class ListOfValuesPopupComponent {
|
|
5
|
-
constructor(_elementRef) {
|
|
6
|
+
constructor(iconCacheService, _elementRef) {
|
|
7
|
+
this.iconCacheService = iconCacheService;
|
|
6
8
|
this._elementRef = _elementRef;
|
|
7
9
|
this.multiselect = false;
|
|
8
10
|
this.displayField = 'description';
|
|
@@ -214,6 +216,8 @@ ListOfValuesPopupComponent.decorators = [
|
|
|
214
216
|
(click)="selectViewModel(viewModel, !multiselect)"
|
|
215
217
|
role="option">
|
|
216
218
|
<ng-container *ngIf="!multiselect">
|
|
219
|
+
<co-icon *ngIf="viewModel.model[optionIcon]" class="input-text-left-icon" [iconData]="iconCacheService.getIcon(viewModel.model[optionIcon])">
|
|
220
|
+
</co-icon>
|
|
217
221
|
<span class="lov-options-text" [textContent]="viewModel.model[displayField]"></span>
|
|
218
222
|
</ng-container>
|
|
219
223
|
<ng-container *ngIf="multiselect">
|
|
@@ -229,6 +233,7 @@ ListOfValuesPopupComponent.decorators = [
|
|
|
229
233
|
},] }
|
|
230
234
|
];
|
|
231
235
|
ListOfValuesPopupComponent.ctorParameters = () => [
|
|
236
|
+
{ type: IconCacheService },
|
|
232
237
|
{ type: ElementRef }
|
|
233
238
|
];
|
|
234
239
|
ListOfValuesPopupComponent.propDecorators = {
|
|
@@ -242,10 +247,11 @@ ListOfValuesPopupComponent.propDecorators = {
|
|
|
242
247
|
customCssClass: [{ type: Input }],
|
|
243
248
|
searchDisabled: [{ type: Input }],
|
|
244
249
|
parentForOverlay: [{ type: Input }],
|
|
250
|
+
optionIcon: [{ type: Input }],
|
|
245
251
|
collection: [{ type: Input }],
|
|
246
252
|
modelChange: [{ type: Output }],
|
|
247
253
|
closePopup: [{ type: Output }],
|
|
248
254
|
keyDown: [{ type: Output }],
|
|
249
255
|
showClass: [{ type: HostBinding, args: ['class.co-list-of-values-popup',] }]
|
|
250
256
|
};
|
|
251
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBeUM5RCxNQUFNLE9BQU8sMEJBQTBCO0lBbUZyQyxZQUFvQixXQUF1QjtRQUF2QixnQkFBVyxHQUFYLFdBQVcsQ0FBWTtRQS9EcEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0IsaUJBQVksR0FBVyxhQUFhLENBQUM7UUFTckMsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFrQmhDLGdCQUFXLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFHekQsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBUyxDQUFDO1FBRzVELFlBQU8sR0FBZ0MsSUFBSSxZQUFZLEVBQWlCLENBQUM7UUFrQnpFLGVBQVUsR0FBbUIsRUFBRSxDQUFDO1FBQ2hDLG1CQUFjLEdBQW1CLEVBQUUsQ0FBQztRQUduQyxnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN6QixjQUFTLEdBQWlCLEVBQUUsQ0FBQztJQUlyQyxDQUFDO0lBbkZELElBQWlELFFBQVEsQ0FBQyxRQUFRO1FBQ2hFLElBQUksQ0FBQyxTQUFTLEdBQUcsUUFB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SzsrQkFHTCxLQUFLO3lCQUdMLEtBQUs7MEJBWUwsTUFBTTt5QkFHTixNQUFNO3NCQUdOLE1BQU07d0JBR04sV0FBVyxTQUFDLCtCQUErQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdDaGlsZHJlbixcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0lucHV0U2VhcmNoQ29tcG9uZW50fSBmcm9tICcuLi9pbnB1dC1zZWFyY2gvaW5wdXQtc2VhcmNoLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7S2V5Ym9hcmRLZXl9IGZyb20gJy4uLy4uL2NvcmUvZW51bS9rZXlib2FyZC1rZXkuZW51bSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGxvdlZpZXdNb2RlbCB7XHJcbiAgY2hlY2tlZDogYm9vbGVhblxyXG4gIG1vZGVsOiBhbnlcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1saXN0LW9mLXZhbHVlcy1wb3B1cCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJsb3Ytb3B0aW9uc1wiIFtvdmVybGF5XT1cInBhcmVudEZvck92ZXJsYXlcIiBbaW5oZXJpdFdpZHRoXT1cInRydWVcIiBbbmdDbGFzc109XCJjdXN0b21Dc3NDbGFzc1wiXHJcbiAgICAgICAgIGlkPVwibG92LXBvcHVwXCJcclxuICAgICAgICAgcm9sZT1cImxpc3Rib3hcIiBbdGFiaW5kZXhdPVwiLTFcIlxyXG4gICAgICAgICAoY2xpY2tPdXRzaWRlKT1cImNsb3NlUG9wdXAuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgIDxjby1pbnB1dC1zZWFyY2ggKm5nSWY9XCJtdWx0aXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoVGVybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVJbnB1dEtleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclZpZXdNb2RlbHMoKVwiPjwvY28taW5wdXQtc2VhcmNoPlxyXG4gICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1saXN0XCIgI2Ryb3BEb3duTGlzdD5cclxuICAgICAgICA8bGlcclxuICAgICAgICAgICNsb3ZJdGVtXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdmlld01vZGVsIG9mIHZpZXdNb2RlbHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJ2aWV3TW9kZWwgPT09IGhpZ2hMaWdodE1vZGVsIHx8IHZpZXdNb2RlbHMubGVuZ3RoID09PSAxXCJcclxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RWaWV3TW9kZWwodmlld01vZGVsLCAhbXVsdGlzZWxlY3QpXCJcclxuICAgICAgICAgIHJvbGU9XCJvcHRpb25cIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbXVsdGlzZWxlY3RcIj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb3Ytb3B0aW9ucy10ZXh0XCIgW3RleHRDb250ZW50XT1cInZpZXdNb2RlbC5tb2RlbFtkaXNwbGF5RmllbGRdXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlzZWxlY3RcIj5cclxuICAgICAgICAgICAgPGNvLWlucHV0LWNoZWNrYm94IFttb2RlbF09XCJ2aWV3TW9kZWwuY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwic2VsZWN0Vmlld01vZGVsKHZpZXdNb2RlbCwgZmFsc2UpXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJsb3Ytb3B0aW9ucy10ZXh0XCIgW3RleHRDb250ZW50XT1cInZpZXdNb2RlbC5tb2RlbFtkaXNwbGF5RmllbGRdXCI+PC9zcGFuPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgPC91bD5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBAVmlld0NoaWxkcmVuKCdsb3ZJdGVtJywge3JlYWQ6IEVsZW1lbnRSZWZ9KSBzZXQgbG92SXRlbXMoY2hpbGRyZW4pIHtcclxuICAgIHRoaXMuX2xvdkl0ZW1zID0gY2hpbGRyZW4udG9BcnJheSgpO1xyXG4gICAgdGhpcy5fc2Nyb2xsSW50b1ZpZXcoKTtcclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2Ryb3BEb3duTGlzdCcsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgZHJvcERvd25MaXN0OiBFbGVtZW50UmVmO1xyXG5cclxuICBAVmlld0NoaWxkKElucHV0U2VhcmNoQ29tcG9uZW50KSBzZXQgaW5wdXRTZWFyY2goY29tcG9uZW50OiBJbnB1dFNlYXJjaENvbXBvbmVudCkge1xyXG4gICAgdGhpcy5fc2VhcmNoSW5wdXQgPSBjb21wb25lbnQ7XHJcbiAgICBpZiAodGhpcy5fc2VhcmNoSW5wdXQpIHtcclxuICAgICAgdGhpcy5fc2VhcmNoSW5wdXQucmVxdWVzdEZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtb2RlbDogYW55O1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtdWx0aXNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBkaXNwbGF5RmllbGQ6IHN0cmluZyA9ICdkZXNjcmlwdGlvbic7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGN1c3RvbUNzc0NsYXNzOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNlYXJjaERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHBhcmVudEZvck92ZXJsYXk6IEVsZW1lbnRSZWY7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBjb2xsZWN0aW9uKHZhbHVlOiBhbnlbXSkge1xyXG4gICAgdGhpcy5fY29sbGVjdGlvbiA9IHZhbHVlIHx8IFtdO1xyXG4gICAgdGhpcy5fcHJlcGFyZVZpZXdNb2RlbHNNYWluKCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlVmlld01vZGVscygpO1xyXG4gICAgdGhpcy5maWx0ZXJWaWV3TW9kZWxzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNvbGxlY3Rpb24oKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbGxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZVBvcHVwOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGtleURvd246IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1saXN0LW9mLXZhbHVlcy1wb3B1cCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBzZWFyY2hUZXJtKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3NlYXJjaFRlcm0gPSB2YWx1ZTtcclxuICAgIHRoaXMubW9kZWwgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmhpZ2hMaWdodE1vZGVsID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5maWx0ZXJWaWV3TW9kZWxzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNlYXJjaFRlcm0oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hUZXJtO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHZpZXdNb2RlbHM6IGxvdlZpZXdNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHZpZXdNb2RlbHNNYWluOiBsb3ZWaWV3TW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBoaWdoTGlnaHRNb2RlbDogbG92Vmlld01vZGVsO1xyXG5cclxuICBwcml2YXRlIF9jb2xsZWN0aW9uOiBhbnlbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3NlYXJjaFRlcm06IHN0cmluZyA9ICcnO1xyXG4gIHByaXZhdGUgX2xvdkl0ZW1zOiBFbGVtZW50UmVmW10gPSBbXTtcclxuICBwcml2YXRlIF9zZWFyY2hJbnB1dDogSW5wdXRTZWFyY2hDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMubW9kZWwpIHtcclxuICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XHJcbiAgICAgICAgdGhpcy5fc2Nyb2xsSW50b1ZpZXcoKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMubW9kZWwubGVuZ3RoOyBpKyspIHtcclxuICAgICAgICAgIGNvbnN0IHZpZXdNb2RlbDogbG92Vmlld01vZGVsID0gdGhpcy52aWV3TW9kZWxzTWFpbi5maW5kKHYgPT4gSlNPTi5zdHJpbmdpZnkodi5tb2RlbCkgPT09IEpTT04uc3RyaW5naWZ5KHRoaXMubW9kZWxbaV0pKTtcclxuICAgICAgICAgIGlmICh2aWV3TW9kZWwpIHtcclxuICAgICAgICAgICAgdmlld01vZGVsLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUlucHV0S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIHN3aXRjaCAoZXZlbnQuY29kZSkge1xyXG4gICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuRG93bjpcclxuICAgICAgICAgIHRoaXMuc2VsZWN0TmV4dE9wdGlvbigpO1xyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuVXA6XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdE5leHRPcHRpb24odHJ1ZSk7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgY2FzZSBLZXlib2FyZEtleS5TcGFjZUJhcjpcclxuICAgICAgICAgIGlmICh0aGlzLmhpZ2hMaWdodE1vZGVsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Vmlld01vZGVsKHRoaXMuaGlnaExpZ2h0TW9kZWwsIGZhbHNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMua2V5RG93bi5uZXh0KGV2ZW50KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgdGhpcy5rZXlEb3duLm5leHQoZXZlbnQpO1xyXG4gICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBmaWx0ZXJWaWV3TW9kZWxzKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmNvbGxlY3Rpb24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcHJlcGFyZVZpZXdNb2RlbHMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RWaWV3TW9kZWwodmlld01vZGVsOiBsb3ZWaWV3TW9kZWwsIGNsb3NlUG9wdXA6IGJvb2xlYW4gPSB0cnVlKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcclxuICAgICAgdGhpcy5zZWxlY3RNb2RlbEJ5Vmlld01vZGVsKHZpZXdNb2RlbCwgY2xvc2VQb3B1cCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpZHg6IG51bWJlciA9IHRoaXMudmlld01vZGVscy5maW5kSW5kZXgodm0gPT4gdm0gPT09IHZpZXdNb2RlbCk7XHJcbiAgICAgIHRoaXMudmlld01vZGVsc1tpZHhdLmNoZWNrZWQgPSAhdGhpcy52aWV3TW9kZWxzW2lkeF0uY2hlY2tlZDtcclxuICAgICAgdGhpcy5zZWxlY3RPcHRpb25zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0TW9kZWxCeVZpZXdNb2RlbCh2aWV3TW9kZWw6IGxvdlZpZXdNb2RlbCwgY2xvc2VQb3B1cDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kZWwgPSB0aGlzLnZpZXdNb2RlbHNNYWluLmZpbmQodm0gPT4gdm0gPT09IHZpZXdNb2RlbCkubW9kZWw7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB0aGlzLl9zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgaWYgKGNsb3NlUG9wdXApIHtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGZvciBzaW5nbGUgc2VsZWN0XHJcbiAgcHVibGljIHNlbGVjdE9wdGlvbkFuZENsb3NlUG9wdXAoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy52aWV3TW9kZWxzLmxlbmd0aCA9PT0gMSkge1xyXG4gICAgICB0aGlzLnNlbGVjdE5leHRPcHRpb24oKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIXRoaXMubW9kZWwgJiYgdGhpcy5zZWFyY2hUZXJtKSB7XHJcbiAgICAgIGNvbnN0IHdpc2hNb2RlbDogbG92Vmlld01vZGVsID0gdGhpcy52aWV3TW9kZWxzTWFpbi5maW5kKHZtbSA9PiB2bW0ubW9kZWxbdGhpcy5kaXNwbGF5RmllbGRdID09PSB0aGlzLnNlYXJjaFRlcm0pO1xyXG4gICAgICBpZiAod2lzaE1vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RWaWV3TW9kZWwod2lzaE1vZGVsKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1vZGVsID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgICAgICB0aGlzLnNlYXJjaFRlcm0gPSAnJztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vIGZvciBtdWx0aSBzZWxlY3RcclxuICBwdWJsaWMgc2VsZWN0T3B0aW9ucygpOiB2b2lkIHtcclxuICAgIHRoaXMubW9kZWwgPSB0aGlzLnZpZXdNb2RlbHNNYWluLmZpbHRlcih2ID0+IHYuY2hlY2tlZCkubWFwKG0gPT4gbS5tb2RlbCk7XHJcbiAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc2VsZWN0TmV4dE9wdGlvbihiYWNrOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcclxuICAgIGxldCBuZXh0TW9kZWw6IGFueTtcclxuICAgIGlmICghdGhpcy5oaWdoTGlnaHRNb2RlbCkge1xyXG4gICAgICBuZXh0TW9kZWwgPSB0aGlzLnZpZXdNb2RlbHNbYmFjayA/IHRoaXMudmlld01vZGVscy5sZW5ndGggLSAxIDogMF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBjdXJyZW50Vmlld01vZGVsSWR4OiBudW1iZXIgPSB0aGlzLnZpZXdNb2RlbHMuZmluZEluZGV4KHZtID0+IHZtID09PSB0aGlzLmhpZ2hMaWdodE1vZGVsKTtcclxuICAgICAgaWYgKGJhY2spIHtcclxuICAgICAgICBuZXh0TW9kZWwgPSB0aGlzLnZpZXdNb2RlbHNbY3VycmVudFZpZXdNb2RlbElkeCA8PSAwID8gdGhpcy52aWV3TW9kZWxzLmxlbmd0aCAtIDEgOiBjdXJyZW50Vmlld01vZGVsSWR4IC0gMV07XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgbmV4dE1vZGVsID0gdGhpcy52aWV3TW9kZWxzW2N1cnJlbnRWaWV3TW9kZWxJZHggPj0gdGhpcy52aWV3TW9kZWxzLmxlbmd0aCAtIDEgPyAwIDogY3VycmVudFZpZXdNb2RlbElkeCArIDFdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmhpZ2hMaWdodE1vZGVsID0gbmV4dE1vZGVsO1xyXG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0KSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0Vmlld01vZGVsKG5leHRNb2RlbCwgZmFsc2UpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5fc2Nyb2xsSW50b1ZpZXcoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVWaWV3TW9kZWxzTWFpbigpOiB2b2lkIHtcclxuICAgIHRoaXMudmlld01vZGVsc01haW4ubGVuZ3RoID0gMDtcclxuICAgIHRoaXMuY29sbGVjdGlvbi5mb3JFYWNoKG0gPT4ge1xyXG4gICAgICB0aGlzLnZpZXdNb2RlbHNNYWluLnB1c2goe2NoZWNrZWQ6IGZhbHNlLCBtb2RlbDogbX0pO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3ByZXBhcmVWaWV3TW9kZWxzKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICB0aGlzLnZpZXdNb2RlbHMgPSB0aGlzLnZpZXdNb2RlbHNNYWluLmZpbHRlcihcclxuICAgICAgdm0gPT4gdm0ubW9kZWxbdGhpcy5kaXNwbGF5RmllbGRdICYmIHZtLm1vZGVsW3RoaXMuZGlzcGxheUZpZWxkXS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRoaXMuc2VhcmNoVGVybSA/IHRoaXMuc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpIDogXCJcIikpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zY3JvbGxJbnRvVmlldygpOiB2b2lkIHtcclxuICAgIGNvbnN0IGFjdGl2ZUluZGV4OiBudW1iZXIgPSB0aGlzLnZpZXdNb2RlbHMuZmluZEluZGV4KHZtbSA9PiB2bW0gPT09IHRoaXMuaGlnaExpZ2h0TW9kZWwpO1xyXG4gICAgaWYgKCF0aGlzLl9sb3ZJdGVtcyB8fCB0aGlzLl9sb3ZJdGVtcy5sZW5ndGggPD0gMCB8fCBhY3RpdmVJbmRleCA8IDAgfHwgIXRoaXMuZHJvcERvd25MaXN0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IGFjdGl2ZUl0ZW0gPSB0aGlzLl9sb3ZJdGVtc1thY3RpdmVJbmRleF0ubmF0aXZlRWxlbWVudCA/IHRoaXMuX2xvdkl0ZW1zW2FjdGl2ZUluZGV4XS5uYXRpdmVFbGVtZW50IDogdW5kZWZpbmVkO1xyXG4gICAgY29uc3Qgc2Nyb2xsUGFyZW50ID0gdGhpcy5kcm9wRG93bkxpc3QubmF0aXZlRWxlbWVudCA/IHRoaXMuZHJvcERvd25MaXN0Lm5hdGl2ZUVsZW1lbnQgOiB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLl9zY3JvbGxBY3RpdmVJdGVtSW50b1ZpZXcoYWN0aXZlSXRlbSwgc2Nyb2xsUGFyZW50KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Njcm9sbEFjdGl2ZUl0ZW1JbnRvVmlldyhhY3RpdmVJdGVtOiBhbnksIHNjcm9sbFBhcmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIWFjdGl2ZUl0ZW0gfHwgIXNjcm9sbFBhcmVudCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQge29mZnNldEhlaWdodCwgb2Zmc2V0VG9wfSA9IGFjdGl2ZUl0ZW07XHJcbiAgICBsZXQge29mZnNldEhlaWdodDogcGFyZW50T2Zmc2V0SGVpZ2h0LCBzY3JvbGxUb3AsIG9mZnNldFRvcDogcGFyZW50T2Zmc2V0VG9wfSA9IHNjcm9sbFBhcmVudDtcclxuICAgIG9mZnNldFRvcCA9IG9mZnNldFRvcCAtIHBhcmVudE9mZnNldFRvcDtcclxuXHJcbiAgICBjb25zdCBpc0Fib3ZlID0gb2Zmc2V0VG9wIDwgc2Nyb2xsVG9wO1xyXG4gICAgY29uc3QgaXNCZWxvdyA9IG9mZnNldFRvcCArIG9mZnNldEhlaWdodCA+IHNjcm9sbFRvcCArIHBhcmVudE9mZnNldEhlaWdodDtcclxuXHJcbiAgICBpZiAoaXNBYm92ZSkge1xyXG4gICAgICBzY3JvbGxQYXJlbnQuc2Nyb2xsVG8oMCwgb2Zmc2V0VG9wKTtcclxuICAgIH0gZWxzZSBpZiAoaXNCZWxvdykge1xyXG4gICAgICBzY3JvbGxQYXJlbnQuc2Nyb2xsVG8oMCwgb2Zmc2V0VG9wIC0gcGFyZW50T2Zmc2V0SGVpZ2h0ICsgb2Zmc2V0SGVpZ2h0KTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMtcG9wdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULFlBQVksRUFDWixpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzlELE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBMkM1RCxNQUFNLE9BQU8sMEJBQTBCO0lBc0ZyQyxZQUNTLGdCQUFtQyxFQUNsQyxXQUF1QjtRQUR4QixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQW1CO1FBQ2xDLGdCQUFXLEdBQVgsV0FBVyxDQUFZO1FBcEUxQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUc3QixpQkFBWSxHQUFXLGFBQWEsQ0FBQztRQVNyQyxtQkFBYyxHQUFZLEtBQUssQ0FBQztRQXFCaEMsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUd6RCxlQUFVLEdBQXdCLElBQUksWUFBWSxFQUFTLENBQUM7UUFHNUQsWUFBTyxHQUFnQyxJQUFJLFlBQVksRUFBaUIsQ0FBQztRQWtCekUsZUFBVSxHQUFtQixFQUFFLENBQUM7UUFDaEMsbUJBQWMsR0FBbUIsRUFBRSxDQUFDO1FBR25DLGdCQUFXLEdBQVUsRUFBRSxDQUFDO1FBQ3hCLGdCQUFXLEdBQVcsRUFBRSxDQUFDO1FBQ3pC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LEVBQUUsVUFBVSxFQUFDOzBCQUc1QyxTQUFTLFNBQUMsb0JBQW9CO29CQU85QixLQUFLOzBCQUdMLEtBQUs7MkJBR0wsS0FBSztnQ0FHTCxLQUFLOzZCQUdMLEtBQUs7NkJBR0wsS0FBSzsrQkFHTCxLQUFLO3lCQUdMLEtBQUs7eUJBR0wsS0FBSzswQkFZTCxNQUFNO3lCQUdOLE1BQU07c0JBR04sTUFBTTt3QkFHTixXQUFXLFNBQUMsK0JBQStCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSG9zdEJpbmRpbmcsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7SW5wdXRTZWFyY2hDb21wb25lbnR9IGZyb20gJy4uL2lucHV0LXNlYXJjaC9pbnB1dC1zZWFyY2guY29tcG9uZW50JztcclxuaW1wb3J0IHtLZXlib2FyZEtleX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWtleS5lbnVtJztcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tICcuLi9pY29uL2ljb24tY2FjaGUuc2VydmljZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGxvdlZpZXdNb2RlbCB7XHJcbiAgY2hlY2tlZDogYm9vbGVhblxyXG4gIG1vZGVsOiBhbnlcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdjby1saXN0LW9mLXZhbHVlcy1wb3B1cCcsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJsb3Ytb3B0aW9uc1wiIFtvdmVybGF5XT1cInBhcmVudEZvck92ZXJsYXlcIiBbaW5oZXJpdFdpZHRoXT1cInRydWVcIiBbbmdDbGFzc109XCJjdXN0b21Dc3NDbGFzc1wiXHJcbiAgICAgICAgIGlkPVwibG92LXBvcHVwXCJcclxuICAgICAgICAgcm9sZT1cImxpc3Rib3hcIiBbdGFiaW5kZXhdPVwiLTFcIlxyXG4gICAgICAgICAoY2xpY2tPdXRzaWRlKT1cImNsb3NlUG9wdXAuZW1pdCgkZXZlbnQpXCI+XHJcbiAgICAgIDxjby1pbnB1dC1zZWFyY2ggKm5nSWY9XCJtdWx0aXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgdGFiaW5kZXg9XCItMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgWyhtb2RlbCldPVwic2VhcmNoVGVybVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlYXJjaFBsYWNlaG9sZGVyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVJbnB1dEtleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImZpbHRlclZpZXdNb2RlbHMoKVwiPjwvY28taW5wdXQtc2VhcmNoPlxyXG4gICAgICA8dWwgY2xhc3M9XCJkcm9wZG93bi1saXN0XCIgI2Ryb3BEb3duTGlzdD5cclxuICAgICAgICA8bGlcclxuICAgICAgICAgICNsb3ZJdGVtXHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgdmlld01vZGVsIG9mIHZpZXdNb2RlbHM7IGxldCBpbmRleCA9IGluZGV4XCJcclxuICAgICAgICAgIFtjbGFzcy5zZWxlY3RlZF09XCJ2aWV3TW9kZWwgPT09IGhpZ2hMaWdodE1vZGVsIHx8IHZpZXdNb2RlbHMubGVuZ3RoID09PSAxXCJcclxuICAgICAgICAgIChjbGljayk9XCJzZWxlY3RWaWV3TW9kZWwodmlld01vZGVsLCAhbXVsdGlzZWxlY3QpXCJcclxuICAgICAgICAgIHJvbGU9XCJvcHRpb25cIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhbXVsdGlzZWxlY3RcIj5cclxuICAgICAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cInZpZXdNb2RlbC5tb2RlbFtvcHRpb25JY29uXVwiIGNsYXNzPVwiaW5wdXQtdGV4dC1sZWZ0LWljb25cIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKHZpZXdNb2RlbC5tb2RlbFtvcHRpb25JY29uXSlcIj5cclxuICAgICAgICAgICAgICA8L2NvLWljb24+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibG92LW9wdGlvbnMtdGV4dFwiIFt0ZXh0Q29udGVudF09XCJ2aWV3TW9kZWwubW9kZWxbZGlzcGxheUZpZWxkXVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpc2VsZWN0XCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveCBbbW9kZWxdPVwidmlld01vZGVsLmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cInNlbGVjdFZpZXdNb2RlbCh2aWV3TW9kZWwsIGZhbHNlKVwiPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibG92LW9wdGlvbnMtdGV4dFwiIFt0ZXh0Q29udGVudF09XCJ2aWV3TW9kZWwubW9kZWxbZGlzcGxheUZpZWxkXVwiPjwvc3Bhbj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbGk+XHJcbiAgICAgIDwvdWw+XHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0T2ZWYWx1ZXNQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQFZpZXdDaGlsZHJlbignbG92SXRlbScsIHtyZWFkOiBFbGVtZW50UmVmfSkgc2V0IGxvdkl0ZW1zKGNoaWxkcmVuKSB7XHJcbiAgICB0aGlzLl9sb3ZJdGVtcyA9IGNoaWxkcmVuLnRvQXJyYXkoKTtcclxuICAgIHRoaXMuX3Njcm9sbEludG9WaWV3KCk7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdkcm9wRG93bkxpc3QnLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgcHVibGljIGRyb3BEb3duTGlzdDogRWxlbWVudFJlZjtcclxuXHJcbiAgQFZpZXdDaGlsZChJbnB1dFNlYXJjaENvbXBvbmVudCkgc2V0IGlucHV0U2VhcmNoKGNvbXBvbmVudDogSW5wdXRTZWFyY2hDb21wb25lbnQpIHtcclxuICAgIHRoaXMuX3NlYXJjaElucHV0ID0gY29tcG9uZW50O1xyXG4gICAgaWYgKHRoaXMuX3NlYXJjaElucHV0KSB7XHJcbiAgICAgIHRoaXMuX3NlYXJjaElucHV0LnJlcXVlc3RGb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbW9kZWw6IGFueTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbXVsdGlzZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzcGxheUZpZWxkOiBzdHJpbmcgPSAnZGVzY3JpcHRpb24nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjdXN0b21Dc3NDbGFzczogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBwYXJlbnRGb3JPdmVybGF5OiBFbGVtZW50UmVmO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBvcHRpb25JY29uOiBzdHJpbmc7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBjb2xsZWN0aW9uKHZhbHVlOiBhbnlbXSkge1xyXG4gICAgdGhpcy5fY29sbGVjdGlvbiA9IHZhbHVlIHx8IFtdO1xyXG4gICAgdGhpcy5fcHJlcGFyZVZpZXdNb2RlbHNNYWluKCk7XHJcbiAgICB0aGlzLl9wcmVwYXJlVmlld01vZGVscygpO1xyXG4gICAgdGhpcy5maWx0ZXJWaWV3TW9kZWxzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGNvbGxlY3Rpb24oKTogYW55W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2NvbGxlY3Rpb247XHJcbiAgfVxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgbW9kZWxDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjbG9zZVBvcHVwOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGtleURvd246IEV2ZW50RW1pdHRlcjxLZXlib2FyZEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8S2V5Ym9hcmRFdmVudD4oKTtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1saXN0LW9mLXZhbHVlcy1wb3B1cCcpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCBzZWFyY2hUZXJtKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuX3NlYXJjaFRlcm0gPSB2YWx1ZTtcclxuICAgIHRoaXMubW9kZWwgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmhpZ2hMaWdodE1vZGVsID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5maWx0ZXJWaWV3TW9kZWxzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHNlYXJjaFRlcm0oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hUZXJtO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHZpZXdNb2RlbHM6IGxvdlZpZXdNb2RlbFtdID0gW107XHJcbiAgcHVibGljIHZpZXdNb2RlbHNNYWluOiBsb3ZWaWV3TW9kZWxbXSA9IFtdO1xyXG4gIHB1YmxpYyBoaWdoTGlnaHRNb2RlbDogbG92Vmlld01vZGVsO1xyXG5cclxuICBwcml2YXRlIF9jb2xsZWN0aW9uOiBhbnlbXSA9IFtdO1xyXG4gIHByaXZhdGUgX3NlYXJjaFRlcm06IHN0cmluZyA9ICcnO1xyXG4gIHByaXZhdGUgX2xvdkl0ZW1zOiBFbGVtZW50UmVmW10gPSBbXTtcclxuICBwcml2YXRlIF9zZWFyY2hJbnB1dDogSW5wdXRTZWFyY2hDb21wb25lbnQ7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2UgOiBJY29uQ2FjaGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZlxyXG4gICkge1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5tb2RlbCkge1xyXG4gICAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcclxuICAgICAgICB0aGlzLl9zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5tb2RlbC5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgY29uc3Qgdmlld01vZGVsOiBsb3ZWaWV3TW9kZWwgPSB0aGlzLnZpZXdNb2RlbHNNYWluLmZpbmQodiA9PiBKU09OLnN0cmluZ2lmeSh2Lm1vZGVsKSA9PT0gSlNPTi5zdHJpbmdpZnkodGhpcy5tb2RlbFtpXSkpO1xyXG4gICAgICAgICAgaWYgKHZpZXdNb2RlbCkge1xyXG4gICAgICAgICAgICB2aWV3TW9kZWwuY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlSW5wdXRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgc3dpdGNoIChldmVudC5jb2RlKSB7XHJcbiAgICAgICAgY2FzZSBLZXlib2FyZEtleS5Eb3duOlxyXG4gICAgICAgICAgdGhpcy5zZWxlY3ROZXh0T3B0aW9uKCk7XHJcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgY2FzZSBLZXlib2FyZEtleS5VcDpcclxuICAgICAgICAgIHRoaXMuc2VsZWN0TmV4dE9wdGlvbih0cnVlKTtcclxuICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICBjYXNlIEtleWJvYXJkS2V5LlNwYWNlQmFyOlxyXG4gICAgICAgICAgaWYgKHRoaXMuaGlnaExpZ2h0TW9kZWwpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RWaWV3TW9kZWwodGhpcy5oaWdoTGlnaHRNb2RlbCwgZmFsc2UpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5rZXlEb3duLm5leHQoZXZlbnQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICB0aGlzLmtleURvd24ubmV4dChldmVudCk7XHJcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGZpbHRlclZpZXdNb2RlbHMoKTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuY29sbGVjdGlvbikge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLl9wcmVwYXJlVmlld01vZGVscygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNlbGVjdFZpZXdNb2RlbCh2aWV3TW9kZWw6IGxvdlZpZXdNb2RlbCwgY2xvc2VQb3B1cDogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCkge1xyXG4gICAgICB0aGlzLnNlbGVjdE1vZGVsQnlWaWV3TW9kZWwodmlld01vZGVsLCBjbG9zZVBvcHVwKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy52aWV3TW9kZWxzLmZpbmRJbmRleCh2bSA9PiB2bSA9PT0gdmlld01vZGVsKTtcclxuICAgICAgdGhpcy52aWV3TW9kZWxzW2lkeF0uY2hlY2tlZCA9ICF0aGlzLnZpZXdNb2RlbHNbaWR4XS5jaGVja2VkO1xyXG4gICAgICB0aGlzLnNlbGVjdE9wdGlvbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3RNb2RlbEJ5Vmlld01vZGVsKHZpZXdNb2RlbDogbG92Vmlld01vZGVsLCBjbG9zZVBvcHVwOiBib29sZWFuID0gdHJ1ZSk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RlbCA9IHRoaXMudmlld01vZGVsc01haW4uZmluZCh2bSA9PiB2bSA9PT0gdmlld01vZGVsKS5tb2RlbDtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIHRoaXMuX3Njcm9sbEludG9WaWV3KCk7XHJcbiAgICBpZiAoY2xvc2VQb3B1cCkge1xyXG4gICAgICB0aGlzLmNsb3NlUG9wdXAuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZm9yIHNpbmdsZSBzZWxlY3RcclxuICBwdWJsaWMgc2VsZWN0T3B0aW9uQW5kQ2xvc2VQb3B1cCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnZpZXdNb2RlbHMubGVuZ3RoID09PSAxKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0TmV4dE9wdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghdGhpcy5tb2RlbCAmJiB0aGlzLnNlYXJjaFRlcm0pIHtcclxuICAgICAgY29uc3Qgd2lzaE1vZGVsOiBsb3ZWaWV3TW9kZWwgPSB0aGlzLnZpZXdNb2RlbHNNYWluLmZpbmQodm1tID0+IHZtbS5tb2RlbFt0aGlzLmRpc3BsYXlGaWVsZF0gPT09IHRoaXMuc2VhcmNoVGVybSk7XHJcbiAgICAgIGlmICh3aXNoTW9kZWwpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdFZpZXdNb2RlbCh3aXNoTW9kZWwpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIHRoaXMuc2VhcmNoVGVybSA9ICcnO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlUG9wdXAuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gZm9yIG11bHRpIHNlbGVjdFxyXG4gIHB1YmxpYyBzZWxlY3RPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy5tb2RlbCA9IHRoaXMudmlld01vZGVsc01haW4uZmlsdGVyKHYgPT4gdi5jaGVja2VkKS5tYXAobSA9PiBtLm1vZGVsKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZWxlY3ROZXh0T3B0aW9uKGJhY2s6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xyXG4gICAgbGV0IG5leHRNb2RlbDogYW55O1xyXG4gICAgaWYgKCF0aGlzLmhpZ2hMaWdodE1vZGVsKSB7XHJcbiAgICAgIG5leHRNb2RlbCA9IHRoaXMudmlld01vZGVsc1tiYWNrID8gdGhpcy52aWV3TW9kZWxzLmxlbmd0aCAtIDEgOiAwXTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRWaWV3TW9kZWxJZHg6IG51bWJlciA9IHRoaXMudmlld01vZGVscy5maW5kSW5kZXgodm0gPT4gdm0gPT09IHRoaXMuaGlnaExpZ2h0TW9kZWwpO1xyXG4gICAgICBpZiAoYmFjaykge1xyXG4gICAgICAgIG5leHRNb2RlbCA9IHRoaXMudmlld01vZGVsc1tjdXJyZW50Vmlld01vZGVsSWR4IDw9IDAgPyB0aGlzLnZpZXdNb2RlbHMubGVuZ3RoIC0gMSA6IGN1cnJlbnRWaWV3TW9kZWxJZHggLSAxXTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICBuZXh0TW9kZWwgPSB0aGlzLnZpZXdNb2RlbHNbY3VycmVudFZpZXdNb2RlbElkeCA+PSB0aGlzLnZpZXdNb2RlbHMubGVuZ3RoIC0gMSA/IDAgOiBjdXJyZW50Vmlld01vZGVsSWR4ICsgMV07XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuaGlnaExpZ2h0TW9kZWwgPSBuZXh0TW9kZWw7XHJcbiAgICBpZiAoIXRoaXMubXVsdGlzZWxlY3QpIHtcclxuICAgICAgdGhpcy5zZWxlY3RWaWV3TW9kZWwobmV4dE1vZGVsLCBmYWxzZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLl9zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVZpZXdNb2RlbHNNYWluKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3TW9kZWxzTWFpbi5sZW5ndGggPSAwO1xyXG4gICAgdGhpcy5jb2xsZWN0aW9uLmZvckVhY2gobSA9PiB7XHJcbiAgICAgIHRoaXMudmlld01vZGVsc01haW4ucHVzaCh7Y2hlY2tlZDogZmFsc2UsIG1vZGVsOiBtfSk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfcHJlcGFyZVZpZXdNb2RlbHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdNb2RlbHMubGVuZ3RoID0gMDtcclxuICAgIHRoaXMudmlld01vZGVscyA9IHRoaXMudmlld01vZGVsc01haW4uZmlsdGVyKFxyXG4gICAgICB2bSA9PiB2bS5tb2RlbFt0aGlzLmRpc3BsYXlGaWVsZF0gJiYgdm0ubW9kZWxbdGhpcy5kaXNwbGF5RmllbGRdLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModGhpcy5zZWFyY2hUZXJtID8gdGhpcy5zZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkgOiBcIlwiKSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3Njcm9sbEludG9WaWV3KCk6IHZvaWQge1xyXG4gICAgY29uc3QgYWN0aXZlSW5kZXg6IG51bWJlciA9IHRoaXMudmlld01vZGVscy5maW5kSW5kZXgodm1tID0+IHZtbSA9PT0gdGhpcy5oaWdoTGlnaHRNb2RlbCk7XHJcbiAgICBpZiAoIXRoaXMuX2xvdkl0ZW1zIHx8IHRoaXMuX2xvdkl0ZW1zLmxlbmd0aCA8PSAwIHx8IGFjdGl2ZUluZGV4IDwgMCB8fCAhdGhpcy5kcm9wRG93bkxpc3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgYWN0aXZlSXRlbSA9IHRoaXMuX2xvdkl0ZW1zW2FjdGl2ZUluZGV4XS5uYXRpdmVFbGVtZW50ID8gdGhpcy5fbG92SXRlbXNbYWN0aXZlSW5kZXhdLm5hdGl2ZUVsZW1lbnQgOiB1bmRlZmluZWQ7XHJcbiAgICBjb25zdCBzY3JvbGxQYXJlbnQgPSB0aGlzLmRyb3BEb3duTGlzdC5uYXRpdmVFbGVtZW50ID8gdGhpcy5kcm9wRG93bkxpc3QubmF0aXZlRWxlbWVudCA6IHVuZGVmaW5lZDtcclxuICAgIHRoaXMuX3Njcm9sbEFjdGl2ZUl0ZW1JbnRvVmlldyhhY3RpdmVJdGVtLCBzY3JvbGxQYXJlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfc2Nyb2xsQWN0aXZlSXRlbUludG9WaWV3KGFjdGl2ZUl0ZW06IGFueSwgc2Nyb2xsUGFyZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghYWN0aXZlSXRlbSB8fCAhc2Nyb2xsUGFyZW50KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGxldCB7b2Zmc2V0SGVpZ2h0LCBvZmZzZXRUb3B9ID0gYWN0aXZlSXRlbTtcclxuICAgIGxldCB7b2Zmc2V0SGVpZ2h0OiBwYXJlbnRPZmZzZXRIZWlnaHQsIHNjcm9sbFRvcCwgb2Zmc2V0VG9wOiBwYXJlbnRPZmZzZXRUb3B9ID0gc2Nyb2xsUGFyZW50O1xyXG4gICAgb2Zmc2V0VG9wID0gb2Zmc2V0VG9wIC0gcGFyZW50T2Zmc2V0VG9wO1xyXG5cclxuICAgIGNvbnN0IGlzQWJvdmUgPSBvZmZzZXRUb3AgPCBzY3JvbGxUb3A7XHJcbiAgICBjb25zdCBpc0JlbG93ID0gb2Zmc2V0VG9wICsgb2Zmc2V0SGVpZ2h0ID4gc2Nyb2xsVG9wICsgcGFyZW50T2Zmc2V0SGVpZ2h0O1xyXG5cclxuICAgIGlmIChpc0Fib3ZlKSB7XHJcbiAgICAgIHNjcm9sbFBhcmVudC5zY3JvbGxUbygwLCBvZmZzZXRUb3ApO1xyXG4gICAgfSBlbHNlIGlmIChpc0JlbG93KSB7XHJcbiAgICAgIHNjcm9sbFBhcmVudC5zY3JvbGxUbygwLCBvZmZzZXRUb3AgLSBwYXJlbnRPZmZzZXRIZWlnaHQgKyBvZmZzZXRIZWlnaHQpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -9,10 +9,12 @@ import { SCREEN_CONFIG_ADAPTER_COMPONENT_INTERFACE_NAME } from '../../interfaces
|
|
|
9
9
|
import { FormComponent } from "../form/form.component";
|
|
10
10
|
import { FormInputUserModelChangeListenerService } from "../../core/service/form-input-user-change-listener.service";
|
|
11
11
|
import { NgZoneWrapperService } from "../../core/service/ng-zone-wrapper.service";
|
|
12
|
+
import { IconCacheService } from '../icon/icon-cache.service';
|
|
12
13
|
export class ListOfValuesComponent extends BaseInputComponent {
|
|
13
|
-
constructor(formComponent, changeDetector, overlayService, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
|
|
14
|
+
constructor(formComponent, iconCacheService, changeDetector, overlayService, componentFactoryResolver, formUserChangeListener, ngZoneWrapper, elementRef) {
|
|
14
15
|
super(changeDetector, componentFactoryResolver, overlayService, formUserChangeListener, ngZoneWrapper, elementRef);
|
|
15
16
|
this.formComponent = formComponent;
|
|
17
|
+
this.iconCacheService = iconCacheService;
|
|
16
18
|
this.changeDetector = changeDetector;
|
|
17
19
|
this.overlayService = overlayService;
|
|
18
20
|
this.componentFactoryResolver = componentFactoryResolver;
|
|
@@ -150,7 +152,8 @@ export class ListOfValuesComponent extends BaseInputComponent {
|
|
|
150
152
|
displayField: this.displayField,
|
|
151
153
|
multiselect: this.multiselect,
|
|
152
154
|
model: this.model,
|
|
153
|
-
collection: this.collection
|
|
155
|
+
collection: this.collection,
|
|
156
|
+
optionIcon: this.optionIcon,
|
|
154
157
|
}, {
|
|
155
158
|
modelChange: (value) => this.optionChosen(value),
|
|
156
159
|
closePopup: () => this.closePopup(),
|
|
@@ -247,7 +250,7 @@ ListOfValuesComponent.decorators = [
|
|
|
247
250
|
[disabled]="disabled"
|
|
248
251
|
[required]="required"
|
|
249
252
|
[noClickFocus]="false"
|
|
250
|
-
[leftIconData]="leftIconData"
|
|
253
|
+
[leftIconData]=" model && model[optionIcon] ? iconCacheService.getIcon(model[optionIcon]) : leftIconData"
|
|
251
254
|
[rightIcon]="isSelectOpen ? icons.ChevronUpRegular : icons.ChevronDownRegular"
|
|
252
255
|
[showClearButton]="true"
|
|
253
256
|
[useContent]="multiselect"
|
|
@@ -293,6 +296,7 @@ ListOfValuesComponent.decorators = [
|
|
|
293
296
|
];
|
|
294
297
|
ListOfValuesComponent.ctorParameters = () => [
|
|
295
298
|
{ type: FormComponent, decorators: [{ type: Optional }] },
|
|
299
|
+
{ type: IconCacheService },
|
|
296
300
|
{ type: ChangeDetectorRef },
|
|
297
301
|
{ type: OverlayService },
|
|
298
302
|
{ type: ComponentFactoryResolver },
|
|
@@ -306,6 +310,7 @@ ListOfValuesComponent.propDecorators = {
|
|
|
306
310
|
multiselect: [{ type: HostBinding, args: ['class.custom-height',] }, { type: HostBinding, args: ['class.multi-select',] }, { type: Input }],
|
|
307
311
|
largeCollection: [{ type: Input }],
|
|
308
312
|
displayField: [{ type: Input }],
|
|
313
|
+
optionIcon: [{ type: Input }],
|
|
309
314
|
collection: [{ type: Input }],
|
|
310
315
|
collectionLoadFn: [{ type: Input }],
|
|
311
316
|
leftIconData: [{ type: Input }],
|
|
@@ -316,4 +321,4 @@ ListOfValuesComponent.propDecorators = {
|
|
|
316
321
|
showChips: [{ type: Input }],
|
|
317
322
|
showClass: [{ type: HostBinding, args: ['class.co-list-of-values',] }]
|
|
318
323
|
};
|
|
319
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQUUsd0JBQXdCLEVBRW5DLFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFFTCxRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQy9ILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQWtFaEYsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGtCQUF1QjtJQTRFaEUsWUFDcUIsYUFBNEIsRUFDckMsY0FBaUMsRUFDakMsY0FBOEIsRUFDOUIsd0JBQWtELEVBQ2xELHNCQUFnRSxFQUNoRSxhQUFvQyxFQUN2QyxVQUF1QjtRQUU5QixLQUFLLENBQUMsY0FBYyxFQUFF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S0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztpQkFDakQ7YUFDRjtpQkFBTTtnQkFDTCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQzthQUN6QjtTQUNGO0lBQ0gsQ0FBQzs7O1lBelVGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvRFQ7Z0JBQ0QsU0FBUyxFQUFFO29CQUNULGNBQWM7b0JBQ2Q7d0JBQ0UsT0FBTyxFQUFFLDhDQUE4Qzt3QkFDdkQsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztxQkFDckQ7aUJBQ0Y7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQW5FTyxhQUFhLHVCQWlKaEIsUUFBUTtZQXBLWCxpQkFBaUI7WUFjWCxjQUFjO1lBYlQsd0JBQXdCO1lBbUI3Qix1Q0FBdUM7WUFDdkMsb0JBQW9CO1lBbEIxQixVQUFVOzs7b0JBdUZULEtBQUs7K0JBVUwsU0FBUyxTQUFDLGtCQUFrQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzswQkFHaEQsV0FBVyxTQUFDLHFCQUFxQixjQUNqQyxXQUFXLFNBQUMsb0JBQW9CLGNBQ2hDLEtBQUs7OEJBR0wsS0FBSzsyQkFHTCxLQUFLO3lCQUdMLEtBQUs7K0JBU0wsS0FBSzsyQkFHTCxLQUFLO2dDQUdMLEtBQUs7b0JBR0wsS0FBSzs2QkFHTCxLQUFLOzZCQUdMLEtBQUs7d0JBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICBDb21wb25lbnRSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBmb3J3YXJkUmVmLFxyXG4gIEhvc3RCaW5kaW5nLCBJbmplY3RvcixcclxuICBJbnB1dCxcclxuICBPbkluaXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgVmlld0NoaWxkLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7QmFzZUlucHV0Q29tcG9uZW50fSBmcm9tICcuLi9iYXNlL2Jhc2UtaW5wdXQuY29tcG9uZW50JztcclxuaW1wb3J0IHtDb3JlQ29tcG9uZW50c0ljb259IGZyb20gJy4uLy4uL2NvcmUvZW51bS9jb3JlLWNvbXBvbmVudHMtaWNvbi5lbnVtJztcclxuaW1wb3J0IHtPdmVybGF5U2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZS9vdmVybGF5LnNlcnZpY2UnO1xyXG5pbXBvcnQge0xpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50fSBmcm9tICcuL2xpc3Qtb2YtdmFsdWVzLXBvcHVwLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7S2V5Ym9hcmRLZXl9IGZyb20gJy4uLy4uL2NvcmUvZW51bS9rZXlib2FyZC1rZXkuZW51bSc7XHJcbmltcG9ydCB7U2FmZUh0bWx9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xyXG5pbXBvcnQge1NDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUV9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvc2NyZWVuLWNvbmZpZy1hZGFwdGVyLWNvbXBvbmVudC1pbnRlcmZhY2UtbmFtZSc7XHJcbmltcG9ydCB7Rm9ybUNvbXBvbmVudH0gZnJvbSBcIi4uL2Zvcm0vZm9ybS5jb21wb25lbnRcIjtcclxuaW1wb3J0IHtGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2V9IGZyb20gXCIuLi8uLi9jb3JlL3NlcnZpY2UvZm9ybS1pbnB1dC11c2VyLWNoYW5nZS1saXN0ZW5lci5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7Tmdab25lV3JhcHBlclNlcnZpY2V9IGZyb20gXCIuLi8uLi9jb3JlL3NlcnZpY2Uvbmctem9uZS13cmFwcGVyLnNlcnZpY2VcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tbGlzdC1vZi12YWx1ZXMnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhbGFyZ2VDb2xsZWN0aW9uXCJcclxuICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc1NlbGVjdE9wZW5cIlxyXG4gICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJsb3YtcG9wdXBcIlxyXG4gICAgICAgICAgICAgIHJvbGU9XCJjb21ib2JveFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJuby1mb2N1cy1saW5lXCJcclxuICAgICAgICAgICAgICBvdmVybGF5UGFyZW50XHJcbiAgICAgICAgICAgICAgI3BhcmVudEZvck92ZXJsYXk9XCJvdmVybGF5UGFyZW50XCJcclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cImxhYmVsXCJcclxuICAgICAgICAgICAgICBbbW9kZWxdPVwibXVsdGlzZWxlY3QgPyBzZWxlY3RlZE1vZGVscyA6IHNlbGVjdGVkTW9kZWxcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXHJcbiAgICAgICAgICAgICAgW215Rm9ybUlucHV0SW5zdGFuY2VdPVwidGhpc1wiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgW25vQ2xpY2tGb2N1c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgIFtyaWdodEljb25dPVwiaXNTZWxlY3RPcGVuID8gaWNvbnMuQ2hldnJvblVwUmVndWxhciA6IGljb25zLkNoZXZyb25Eb3duUmVndWxhclwiXHJcbiAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICBbdXNlQ29udGVudF09XCJtdWx0aXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUhlaWdodF09XCJtdWx0aXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgW2tlZXBGb2N1c3NlZF09XCJrZWVwRm9jdXNzZWRcIlxyXG4gICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVJbnB1dE1vZGVsQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUG9wdXAoKVwiXHJcbiAgICAgICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cInRvZ2dsZVNlbGVjdCgpXCJcclxuICAgICAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVJbnB1dEtleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGNsZWFySWNvbkNsaWNrKT1cImNsZWFyTW9kZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgKGJsdXIpPVwiY2hlY2tNb2RlbCgpXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlzZWxlY3QgJiYgc2hvd0NoaXBzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm11bHRpc2VsZWN0LWNoaXBzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNoaXBzXCIgKm5nRm9yPVwibGV0IGNoaXAgb2YgbW9kZWxcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcHMtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiY2hpcFtkaXNwbGF5RmllbGRdXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJyZW1vdmUtY2hpcC1pY29uXCIgW2ljb25dPVwiaWNvbnMuQ3Jvc3NTa2lubnlcIiAoY2xpY2spPVwicmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGNoaXApXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2NvLWlucHV0LXRleHQ+XHJcblxyXG4gICAgICA8Y28taW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICpuZ0lmPVwibGFyZ2VDb2xsZWN0aW9uXCJcclxuICAgICAgICAgICAgICBbbW9kZWxdPVwiZmlsdGVyVGV4dFwiXHJcbiAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cImxhYmVsXCJcclxuICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwib25Nb2RlbENoYW5nZSgkZXZlbnQpXCI+XHJcbiAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgICAgPGRpdiAqbmdJZj1cImlzTG9hZGluZ1wiIGNsYXNzPVwiZmlsdGVyLWxvYWRlclwiPjxzcGFuPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgPGlucHV0IHR5cGU9XCJoaWRkZW5cIiBbbmdNb2RlbF09XCJtb2RlbFwiPlxyXG4gIGAsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBPdmVybGF5U2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGlzdE9mVmFsdWVzQ29tcG9uZW50KVxyXG4gICAgfVxyXG4gIF0sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdE9mVmFsdWVzQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIENvcmVDb21wb25lbnRzSWNvbiA9IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgc2V0IG1vZGVsKHZhbHVlOiBhbnkpIHtcclxuICAgIHN1cGVyLm1vZGVsID0gdmFsdWU7XHJcbiAgICB0aGlzLl9zZXRTZWxlY3RlZE1vZGVsKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IG1vZGVsKCk6IGFueSB7XHJcbiAgICByZXR1cm4gc3VwZXIubW9kZWw7XHJcbiAgfVxyXG5cclxuICBAVmlld0NoaWxkKCdwYXJlbnRGb3JPdmVybGF5Jywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gIHB1YmxpYyBwYXJlbnRGb3JPdmVybGF5OiBFbGVtZW50UmVmO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbS1oZWlnaHQnKVxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MubXVsdGktc2VsZWN0JylcclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBtdWx0aXNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYXJnZUNvbGxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzcGxheUZpZWxkOiBzdHJpbmcgPSAnZGVzY3JpcHRpb24nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY29sbGVjdGlvbih2YWx1ZTogYW55W10pIHtcclxuICAgIHRoaXMuX2NvbGxlY3Rpb24gPSB2YWx1ZSB8fCBbXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY29sbGVjdGlvbigpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbGxlY3Rpb25Mb2FkRm46IEZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkRhdGE6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjdXN0b21Dc3NDbGFzczogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q2hpcHM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWxpc3Qtb2YtdmFsdWVzJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTZWxlY3RPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0YXRlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgcHVibGljIGZpbHRlclRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBzZWxlY3RlZE1vZGVsOiBzdHJpbmc7XHJcbiAgcHVibGljIHNlbGVjdGVkTW9kZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHB1YmxpYyBmaWx0ZXJlZENvbGxlY3Rpb246IGFueVtdID0gW107XHJcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9jb2xsZWN0aW9uOiBhbnlbXSA9IFtdO1xyXG4gIHByaXZhdGUgZGVib3VuY2VUaW1lb3V0OiBhbnk7XHJcblxyXG4gIHByaXZhdGUgX2xvdlBvcHVwQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGZvcm1Db21wb25lbnQ6IEZvcm1Db21wb25lbnQsXHJcbiAgICBwcm90ZWN0ZWQgY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJvdGVjdGVkIG92ZXJsYXlTZXJ2aWNlOiBPdmVybGF5U2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXI6IENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcclxuICAgIHByb3RlY3RlZCBmb3JtVXNlckNoYW5nZUxpc3RlbmVyPzogRm9ybUlucHV0VXNlck1vZGVsQ2hhbmdlTGlzdGVuZXJTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIG5nWm9uZVdyYXBwZXI/OiBOZ1pvbmVXcmFwcGVyU2VydmljZSxcclxuICAgIHB1YmxpYyBlbGVtZW50UmVmPzogRWxlbWVudFJlZixcclxuICApIHtcclxuICAgIHN1cGVyKGNoYW5nZURldGVjdG9yLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIG92ZXJsYXlTZXJ2aWNlLCBmb3JtVXNlckNoYW5nZUxpc3RlbmVyLCBuZ1pvbmVXcmFwcGVyLCBlbGVtZW50UmVmKTtcclxuICAgIHN1cGVyLl9tYXJrQXNPblB1c2goKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKTtcclxuICAgIHRoaXMuX3NldFNlbGVjdGVkTW9kZWwoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJbnB1dE1vZGVsQ2hhbmdlKG1vZGVsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZikge1xyXG4gICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWFyY2hUZXJtID0gbW9kZWw7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRNb2RlbCAmJiBtb2RlbCkge1xyXG4gICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VhcmNoVGVybSA9IG1vZGVsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBtb2RlbDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbk1vZGVsQ2hhbmdlKHRleHQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgY2xlYXJUaW1lb3V0KHRoaXMuZGVib3VuY2VUaW1lb3V0KTtcclxuICAgIHRoaXMuZGVib3VuY2VUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMuYXBwbHlGaWx0ZXIodGV4dCk7XHJcbiAgICB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGFwcGx5RmlsdGVyKHRleHQ6IHN0cmluZyk6IFByb21pc2U8W10+IHtcclxuICAgIGlmICh0ZXh0Py5sZW5ndGggPCAzKSB7XHJcbiAgICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4gc2V0VGltZW91dChyZXNvbHZlLCAzMDApKTtcclxuICAgICAgdGhpcy5jb2xsZWN0aW9uID0gdW5kZWZpbmVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDMwMCkpO1xyXG4gICAgICB0aGlzLmNvbGxlY3Rpb24gPSBhd2FpdCB0aGlzLmNvbGxlY3Rpb25Mb2FkRm4odGV4dCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJUZXh0ID0gdGV4dDtcclxuICAgIGlmICghdGhpcy5jb2xsZWN0aW9uKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maWx0ZXJlZENvbGxlY3Rpb24gPSB0aGlzLmNvbGxlY3Rpb24/LmZpbHRlcigoKSA9PiB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSk7XHJcbiAgICAodGhpcy5maWx0ZXJlZENvbGxlY3Rpb24/Lmxlbmd0aCA+IDAgJiYgdGhpcy5maWx0ZXJUZXh0Py5sZW5ndGggPiAyKSA/IHRoaXMub3BlblBvcHVwKCkgOiB0aGlzLmNsb3NlUG9wdXAoKTtcclxuICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVJbnB1dEtleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcclxuICAgIGlmIChldmVudCkge1xyXG4gICAgICBpZiAoZXZlbnQuYWx0S2V5ICYmIGV2ZW50LmNvZGUgPT09IEtleWJvYXJkS2V5LkRvd24gJiYgIXRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgc3dpdGNoIChldmVudC5jb2RlKSB7XHJcbiAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LkRvd246XHJcbiAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdE5leHRPcHRpb24oKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgY2FzZSBLZXlib2FyZEtleS5VcDpcclxuICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0TmV4dE9wdGlvbih0cnVlKTtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgY2FzZSBLZXlib2FyZEtleS5FbnRlcjpcclxuICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0T3B0aW9uQW5kQ2xvc2VQb3B1cCgpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LlRhYjpcclxuICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0T3B0aW9uQW5kQ2xvc2VQb3B1cCgpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsZWFyTW9kZWwoZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuc2V0TW9kZWwodW5kZWZpbmVkKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB0b2dnbGVTZWxlY3QoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzU2VsZWN0T3BlbiA9ICF0aGlzLmlzU2VsZWN0T3BlbjtcclxuICAgIGlmICh0aGlzLmlzU2VsZWN0T3Blbikge1xyXG4gICAgICB0aGlzLm9wZW5Qb3B1cCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbG9zZVBvcHVwKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnN0YXRlID0gKHRoaXMuc3RhdGUgPT09ICdkZWZhdWx0JyA/ICdyb3RhdGVkJyA6ICdkZWZhdWx0Jyk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblBvcHVwKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pc1NlbGVjdE9wZW4gPSB0cnVlO1xyXG4gICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChMaXN0T2ZWYWx1ZXNQb3B1cENvbXBvbmVudCwge1xyXG4gICAgICBwYXJlbnRGb3JPdmVybGF5OiB0aGlzLmVsZW1lbnRSZWYsXHJcbiAgICAgIGN1c3RvbUNzc0NsYXNzOiB0aGlzLmN1c3RvbUNzc0NsYXNzLFxyXG4gICAgICBzZWFyY2hEaXNhYmxlZDogdGhpcy5zZWFyY2hEaXNhYmxlZCxcclxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6IHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIsXHJcbiAgICAgIGRpc3BsYXlGaWVsZDogdGhpcy5kaXNwbGF5RmllbGQsXHJcbiAgICAgIG11bHRpc2VsZWN0OiB0aGlzLm11bHRpc2VsZWN0LFxyXG4gICAgICBtb2RlbDogdGhpcy5tb2RlbCxcclxuICAgICAgY29sbGVjdGlvbjogdGhpcy5jb2xsZWN0aW9uXHJcbiAgICB9LCB7XHJcbiAgICAgIG1vZGVsQ2hhbmdlOiAodmFsdWUpID0+IHRoaXMub3B0aW9uQ2hvc2VuKHZhbHVlKSxcclxuICAgICAgY2xvc2VQb3B1cDogKCkgPT4gdGhpcy5jbG9zZVBvcHVwKCksXHJcbiAgICAgIGtleURvd246IChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4gdGhpcy5oYW5kbGVJbnB1dEtleURvd24oZXZlbnQpXHJcbiAgICB9KTtcclxuICAgIHRoaXMua2VlcEZvY3Vzc2VkID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZW1vdmVPcHRpb25Gcm9tTW9kZWwoY2hpcDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xyXG4gICAgICBjb25zdCBpZHg6IG51bWJlciA9IHRoaXMubW9kZWwuZmluZEluZGV4KG0gPT4gbSA9PT0gY2hpcCk7XHJcbiAgICAgIHRoaXMubW9kZWwuc3BsaWNlKGlkeCwgMSk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcHRpb25DaG9zZW4ob3B0aW9uOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChvcHRpb24pIHtcclxuICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzID0gb3B0aW9uLm1hcChvID0+IG9bdGhpcy5kaXNwbGF5RmllbGRdKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBvcHRpb25bdGhpcy5kaXNwbGF5RmllbGRdO1xyXG4gICAgICAgIGlmICh0aGlzLmxhcmdlQ29sbGVjdGlvbikge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJUZXh0ID0gb3B0aW9uW3RoaXMuZGlzcGxheUZpZWxkXTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2V0TW9kZWwob3B0aW9uKTtcclxuICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlUG9wdXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmtlZXBGb2N1c3NlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5pc1NlbGVjdE9wZW4gPSBmYWxzZTtcclxuICAgIHRoaXMub3ZlcmxheVNlcnZpY2UucmVtb3ZlQ29tcG9uZW50KHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmKTtcclxuICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmID0gdW5kZWZpbmVkO1xyXG4gICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2hlY2tNb2RlbCgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5tdWx0aXNlbGVjdCAmJiB0aGlzLnNlbGVjdGVkTW9kZWwgJiYgdGhpcy5jb2xsZWN0aW9uKSB7XHJcbiAgICAgIGNvbnN0IG1vZGVsOiBhbnkgPSB0aGlzLmNvbGxlY3Rpb24uZmluZChjID0+IGNbdGhpcy5kaXNwbGF5RmllbGRdID09PSB0aGlzLnNlbGVjdGVkTW9kZWwpO1xyXG4gICAgICBpZiAobW9kZWwpIHtcclxuICAgICAgICB0aGlzLm1vZGVsID0gbW9kZWw7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbCA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF9zZXRTZWxlY3RlZE1vZGVsKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcclxuICAgICAgaWYgKHRoaXMubW9kZWwpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgdGhpcy5tb2RlbC5mb3JFYWNoKG0gPT4ge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVscy5wdXNoKG1bdGhpcy5kaXNwbGF5RmllbGRdKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICh0aGlzLm1vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gdGhpcy5tb2RlbFt0aGlzLmRpc3BsYXlGaWVsZF07XHJcbiAgICAgICAgaWYgKHRoaXMubGFyZ2VDb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlclRleHQgPSB0aGlzLm1vZGVsW3RoaXMuZGlzcGxheUZpZWxkXTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gJyc7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
324
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLGlCQUFpQixFQUNqQixTQUFTLEVBQUUsd0JBQXdCLEVBRW5DLFVBQVUsRUFDVixVQUFVLEVBQ1YsV0FBVyxFQUNYLEtBQUssRUFFTCxRQUFRLEVBQ1IsU0FBUyxFQUNULGlCQUFpQixFQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQztBQUNoRSxPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSwyQ0FBMkMsQ0FBQztBQUM3RSxPQUFPLEVBQUMsY0FBYyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDN0QsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUUsT0FBTyxFQUFDLFdBQVcsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBRTlELE9BQU8sRUFBQyw4Q0FBOEMsRUFBQyxNQUFNLGlFQUFpRSxDQUFDO0FBQy9ILE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUMsdUNBQXVDLEVBQUMsTUFBTSw0REFBNEQsQ0FBQztBQUNuSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQztBQUNoRixPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQWtFNUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLGtCQUF1QjtJQStFaEUsWUFDcUIsYUFBNEIsRUFDeEMsZ0JBQWtDLEVBQy9CLGNBQWlDLEVBQ2pDLGNBQThCLEVBQzlCLHdCQUFrRCxFQUNs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Q29udGVudCI6WyJpbXBvcnQge1xyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gIENvbXBvbmVudFJlZixcclxuICBFbGVtZW50UmVmLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSG9zdEJpbmRpbmcsIEluamVjdG9yLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBPcHRpb25hbCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtCYXNlSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0nO1xyXG5pbXBvcnQge092ZXJsYXlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL292ZXJsYXkuc2VydmljZSc7XHJcbmltcG9ydCB7TGlzdE9mVmFsdWVzUG9wdXBDb21wb25lbnR9IGZyb20gJy4vbGlzdC1vZi12YWx1ZXMtcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHtLZXlib2FyZEtleX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWtleS5lbnVtJztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7U0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY3JlZW4tY29uZmlnLWFkYXB0ZXItY29tcG9uZW50LWludGVyZmFjZS1uYW1lJztcclxuaW1wb3J0IHtGb3JtQ29tcG9uZW50fSBmcm9tIFwiLi4vZm9ybS9mb3JtLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge0Zvcm1JbnB1dFVzZXJNb2RlbENoYW5nZUxpc3RlbmVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9mb3JtLWlucHV0LXVzZXItY2hhbmdlLWxpc3RlbmVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtOZ1pvbmVXcmFwcGVyU2VydmljZX0gZnJvbSBcIi4uLy4uL2NvcmUvc2VydmljZS9uZy16b25lLXdyYXBwZXIuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gJy4uL2ljb24vaWNvbi1jYWNoZS5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY28tbGlzdC1vZi12YWx1ZXMnLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICAgIDxjby1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgKm5nSWY9XCIhbGFyZ2VDb2xsZWN0aW9uXCJcclxuICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwibGlzdGJveFwiXHJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc1NlbGVjdE9wZW5cIlxyXG4gICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJsb3YtcG9wdXBcIlxyXG4gICAgICAgICAgICAgIHJvbGU9XCJjb21ib2JveFwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJuby1mb2N1cy1saW5lXCJcclxuICAgICAgICAgICAgICBvdmVybGF5UGFyZW50XHJcbiAgICAgICAgICAgICAgI3BhcmVudEZvck92ZXJsYXk9XCJvdmVybGF5UGFyZW50XCJcclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgW2lkXT1cImxhYmVsXCJcclxuICAgICAgICAgICAgICBbbW9kZWxdPVwibXVsdGlzZWxlY3QgPyBzZWxlY3RlZE1vZGVscyA6IHNlbGVjdGVkTW9kZWxcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXHJcbiAgICAgICAgICAgICAgW215Rm9ybUlucHV0SW5zdGFuY2VdPVwidGhpc1wiXHJcbiAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgW25vQ2xpY2tGb2N1c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCIgbW9kZWwgJiYgbW9kZWxbb3B0aW9uSWNvbl0gPyBpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24obW9kZWxbb3B0aW9uSWNvbl0pIDogbGVmdEljb25EYXRhXCJcclxuICAgICAgICAgICAgICBbcmlnaHRJY29uXT1cImlzU2VsZWN0T3BlbiA/IGljb25zLkNoZXZyb25VcFJlZ3VsYXIgOiBpY29ucy5DaGV2cm9uRG93blJlZ3VsYXJcIlxyXG4gICAgICAgICAgICAgIFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgW3VzZUNvbnRlbnRdPVwibXVsdGlzZWxlY3RcIlxyXG4gICAgICAgICAgICAgIFtjdXN0b21IZWlnaHRdPVwibXVsdGlzZWxlY3RcIlxyXG4gICAgICAgICAgICAgIFtrZWVwRm9jdXNzZWRdPVwia2VlcEZvY3Vzc2VkXCJcclxuICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlSW5wdXRNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblBvcHVwKClcIlxyXG4gICAgICAgICAgICAgIChyaWdodEljb25DbGljayk9XCJ0b2dnbGVTZWxlY3QoKVwiXHJcbiAgICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlSW5wdXRLZXlEb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChjbGVhckljb25DbGljayk9XCJjbGVhck1vZGVsKCRldmVudClcIlxyXG4gICAgICAgICAgICAgIChibHVyKT1cImNoZWNrTW9kZWwoKVwiPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm11bHRpc2VsZWN0ICYmIHNob3dDaGlwc1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtdWx0aXNlbGVjdC1jaGlwcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwc1wiICpuZ0Zvcj1cImxldCBjaGlwIG9mIG1vZGVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXBzLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cImNoaXBbZGlzcGxheUZpZWxkXVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwicmVtb3ZlLWNoaXAtaWNvblwiIFtpY29uXT1cImljb25zLkNyb3NzU2tpbm55XCIgKGNsaWNrKT1cInJlbW92ZU9wdGlvbkZyb21Nb2RlbChjaGlwKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG5cclxuICAgICAgPGNvLWlucHV0LXRleHRcclxuICAgICAgICAgICAgICAqbmdJZj1cImxhcmdlQ29sbGVjdGlvblwiXHJcbiAgICAgICAgICAgICAgW21vZGVsXT1cImZpbHRlclRleHRcIlxyXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXHJcbiAgICAgICAgICAgICAgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCJcclxuICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cIm9uTW9kZWxDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgICA8L2NvLWlucHV0LXRleHQ+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc0xvYWRpbmdcIiBjbGFzcz1cImZpbHRlci1sb2FkZXJcIj48c3Bhbj48L3NwYW4+PC9kaXY+XHJcbiAgICAgIDxpbnB1dCB0eXBlPVwiaGlkZGVuXCIgW25nTW9kZWxdPVwibW9kZWxcIj5cclxuICBgLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgT3ZlcmxheVNlcnZpY2UsXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpc3RPZlZhbHVlc0NvbXBvbmVudClcclxuICAgIH1cclxuICBdLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RPZlZhbHVlc0NvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudDxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBDb3JlQ29tcG9uZW50c0ljb24gPSBDb3JlQ29tcG9uZW50c0ljb247XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHNldCBtb2RlbCh2YWx1ZTogYW55KSB7XHJcbiAgICBzdXBlci5tb2RlbCA9IHZhbHVlO1xyXG4gICAgdGhpcy5fc2V0U2VsZWN0ZWRNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBtb2RlbCgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHN1cGVyLm1vZGVsO1xyXG4gIH1cclxuXHJcbiAgQFZpZXdDaGlsZCgncGFyZW50Rm9yT3ZlcmxheScsIHtyZWFkOiBFbGVtZW50UmVmfSlcclxuICBwdWJsaWMgcGFyZW50Rm9yT3ZlcmxheTogRWxlbWVudFJlZjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jdXN0b20taGVpZ2h0JylcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLm11bHRpLXNlbGVjdCcpXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbXVsdGlzZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgbGFyZ2VDb2xsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc3BsYXlGaWVsZDogc3RyaW5nID0gJ2Rlc2NyaXB0aW9uJztcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgb3B0aW9uSWNvbjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZXQgY29sbGVjdGlvbih2YWx1ZTogYW55W10pIHtcclxuICAgIHRoaXMuX2NvbGxlY3Rpb24gPSB2YWx1ZSB8fCBbXTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgY29sbGVjdGlvbigpOiBhbnlbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fY29sbGVjdGlvbjtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGNvbGxlY3Rpb25Mb2FkRm46IEZ1bmN0aW9uO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsZWZ0SWNvbkRhdGE6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2hQbGFjZWhvbGRlcjogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBjdXN0b21Dc3NDbGFzczogc3RyaW5nO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIHB1YmxpYyBzaG93Q2hpcHM6IGJvb2xlYW4gPSB0cnVlO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWxpc3Qtb2YtdmFsdWVzJylcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaXNTZWxlY3RPcGVuOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIHN0YXRlOiBzdHJpbmcgPSAnZGVmYXVsdCc7XHJcbiAgcHVibGljIGZpbHRlclRleHQ6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBzZWxlY3RlZE1vZGVsOiBzdHJpbmc7XHJcbiAgcHVibGljIHNlbGVjdGVkTW9kZWxzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHB1YmxpYyBmaWx0ZXJlZENvbGxlY3Rpb246IGFueVtdID0gW107XHJcbiAgcHVibGljIGlzTG9hZGluZzogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBwcml2YXRlIF9jb2xsZWN0aW9uOiBhbnlbXSA9IFtdO1xyXG4gIHByaXZhdGUgZGVib3VuY2VUaW1lb3V0OiBhbnk7XHJcblxyXG4gIHByaXZhdGUgX2xvdlBvcHVwQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuXHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgQE9wdGlvbmFsKCkgcHVibGljIGZvcm1Db21wb25lbnQ6IEZvcm1Db21wb25lbnQsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSxcclxuICAgIHByb3RlY3RlZCBjaGFuZ2VEZXRlY3RvcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcm90ZWN0ZWQgb3ZlcmxheVNlcnZpY2U6IE92ZXJsYXlTZXJ2aWNlLFxyXG4gICAgcHJvdGVjdGVkIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxyXG4gICAgcHJvdGVjdGVkIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXI/OiBGb3JtSW5wdXRVc2VyTW9kZWxDaGFuZ2VMaXN0ZW5lclNlcnZpY2UsXHJcbiAgICBwcm90ZWN0ZWQgbmdab25lV3JhcHBlcj86IE5nWm9uZVdyYXBwZXJTZXJ2aWNlLFxyXG4gICAgcHVibGljIGVsZW1lbnRSZWY/OiBFbGVtZW50UmVmLFxyXG4gICkge1xyXG4gICAgc3VwZXIoY2hhbmdlRGV0ZWN0b3IsIGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgb3ZlcmxheVNlcnZpY2UsIGZvcm1Vc2VyQ2hhbmdlTGlzdGVuZXIsIG5nWm9uZVdyYXBwZXIsIGVsZW1lbnRSZWYpO1xyXG4gICAgc3VwZXIuX21hcmtBc09uUHVzaCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5fc2V0U2VsZWN0ZWRNb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUlucHV0TW9kZWxDaGFuZ2UobW9kZWw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlYXJjaFRlcm0gPSBtb2RlbDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmICghdGhpcy5zZWxlY3RlZE1vZGVsICYmIG1vZGVsKSB7XHJcbiAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWFyY2hUZXJtID0gbW9kZWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IG1vZGVsO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uTW9kZWxDaGFuZ2UodGV4dDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmlzTG9hZGluZyA9IHRydWU7XHJcbiAgICBjbGVhclRpbWVvdXQodGhpcy5kZWJvdW5jZVRpbWVvdXQpO1xyXG4gICAgdGhpcy5kZWJvdW5jZVRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hcHBseUZpbHRlcih0ZXh0KTtcclxuICAgIH0sIDMwMCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgYXBwbHlGaWx0ZXIodGV4dDogc3RyaW5nKTogUHJvbWlzZTxbXT4ge1xyXG4gICAgaWYgKHRleHQ/Lmxlbmd0aCA8IDMpIHtcclxuICAgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzZXRUaW1lb3V0KHJlc29sdmUsIDMwMCkpO1xyXG4gICAgICB0aGlzLmNvbGxlY3Rpb24gPSB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgMzAwKSk7XHJcbiAgICAgIHRoaXMuY29sbGVjdGlvbiA9IGF3YWl0IHRoaXMuY29sbGVjdGlvbkxvYWRGbih0ZXh0KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbHRlclRleHQgPSB0ZXh0O1xyXG4gICAgaWYgKCF0aGlzLmNvbGxlY3Rpb24pIHtcclxuICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbHRlcmVkQ29sbGVjdGlvbiA9IHRoaXMuY29sbGVjdGlvbj8uZmlsdGVyKCgpID0+IHtcclxuICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9KTtcclxuICAgICh0aGlzLmZpbHRlcmVkQ29sbGVjdGlvbj8ubGVuZ3RoID4gMCAmJiB0aGlzLmZpbHRlclRleHQ/Lmxlbmd0aCA+IDIpID8gdGhpcy5vcGVuUG9wdXAoKSA6IHRoaXMuY2xvc2VQb3B1cCgpO1xyXG4gICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUlucHV0S2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgIGlmIChldmVudC5hbHRLZXkgJiYgZXZlbnQuY29kZSA9PT0gS2V5Ym9hcmRLZXkuRG93biAmJiAhdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYpIHtcclxuICAgICAgICB0aGlzLm9wZW5Qb3B1cCgpO1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYpIHtcclxuICAgICAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcclxuICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuRG93bjpcclxuICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0TmV4dE9wdGlvbigpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LlVwOlxyXG4gICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3ROZXh0T3B0aW9uKHRydWUpO1xyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LkVudGVyOlxyXG4gICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RPcHRpb25BbmRDbG9zZVBvcHVwKCk7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuVGFiOlxyXG4gICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RPcHRpb25BbmRDbG9zZVBvcHVwKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xlYXJNb2RlbChldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXRNb2RlbCh1bmRlZmluZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHRvZ2dsZVNlbGVjdCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaXNTZWxlY3RPcGVuID0gIXRoaXMuaXNTZWxlY3RPcGVuO1xyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RPcGVuKSB7XHJcbiAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsb3NlUG9wdXAoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGUgPSAodGhpcy5zdGF0ZSA9PT0gJ2RlZmF1bHQnID8gJ3JvdGF0ZWQnIDogJ2RlZmF1bHQnKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvcGVuUG9wdXAoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzU2VsZWN0T3BlbiA9IHRydWU7XHJcbiAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZiA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlQ29tcG9uZW50KExpc3RPZlZhbHVlc1BvcHVwQ29tcG9uZW50LCB7XHJcbiAgICAgIHBhcmVudEZvck92ZXJsYXk6IHRoaXMuZWxlbWVudFJlZixcclxuICAgICAgY3VzdG9tQ3NzQ2xhc3M6IHRoaXMuY3VzdG9tQ3NzQ2xhc3MsXHJcbiAgICAgIHNlYXJjaERpc2FibGVkOiB0aGlzLnNlYXJjaERpc2FibGVkLFxyXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogdGhpcy5zZWFyY2hQbGFjZWhvbGRlcixcclxuICAgICAgZGlzcGxheUZpZWxkOiB0aGlzLmRpc3BsYXlGaWVsZCxcclxuICAgICAgbXVsdGlzZWxlY3Q6IHRoaXMubXVsdGlzZWxlY3QsXHJcbiAgICAgIG1vZGVsOiB0aGlzLm1vZGVsLFxyXG4gICAgICBjb2xsZWN0aW9uOiB0aGlzLmNvbGxlY3Rpb24sXHJcbiAgICAgIG9wdGlvbkljb246IHRoaXMub3B0aW9uSWNvbixcclxuICAgIH0sIHtcclxuICAgICAgbW9kZWxDaGFuZ2U6ICh2YWx1ZSkgPT4gdGhpcy5vcHRpb25DaG9zZW4odmFsdWUpLFxyXG4gICAgICBjbG9zZVBvcHVwOiAoKSA9PiB0aGlzLmNsb3NlUG9wdXAoKSxcclxuICAgICAga2V5RG93bjogKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB0aGlzLmhhbmRsZUlucHV0S2V5RG93bihldmVudClcclxuICAgIH0pO1xyXG4gICAgdGhpcy5rZWVwRm9jdXNzZWQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlbW92ZU9wdGlvbkZyb21Nb2RlbChjaGlwOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XHJcbiAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy5tb2RlbC5maW5kSW5kZXgobSA9PiBtID09PSBjaGlwKTtcclxuICAgICAgdGhpcy5tb2RlbC5zcGxpY2UoaWR4LCAxKTtcclxuICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wdGlvbkNob3NlbihvcHRpb246IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKG9wdGlvbikge1xyXG4gICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbHMgPSBvcHRpb24ubWFwKG8gPT4gb1t0aGlzLmRpc3BsYXlGaWVsZF0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbCA9IG9wdGlvblt0aGlzLmRpc3BsYXlGaWVsZF07XHJcbiAgICAgICAgaWYgKHRoaXMubGFyZ2VDb2xsZWN0aW9uKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlclRleHQgPSBvcHRpb25bdGhpcy5kaXNwbGF5RmllbGRdO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRNb2RlbChvcHRpb24pO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgdGhpcy5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpOiB2b2lkIHtcclxuICAgIHRoaXMua2VlcEZvY3Vzc2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzU2VsZWN0T3BlbiA9IGZhbHNlO1xyXG4gICAgdGhpcy5vdmVybGF5U2VydmljZS5yZW1vdmVDb21wb25lbnQodGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYpO1xyXG4gICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmZvY3VzZWQgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjaGVja01vZGVsKCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0ICYmIHRoaXMuc2VsZWN0ZWRNb2RlbCAmJiB0aGlzLmNvbGxlY3Rpb24pIHtcclxuICAgICAgY29uc3QgbW9kZWw6IGFueSA9IHRoaXMuY29sbGVjdGlvbi5maW5kKGMgPT4gY1t0aGlzLmRpc3BsYXlGaWVsZF0gPT09IHRoaXMuc2VsZWN0ZWRNb2RlbCk7XHJcbiAgICAgIGlmIChtb2RlbCkge1xyXG4gICAgICAgIHRoaXMubW9kZWwgPSBtb2RlbDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm1vZGVsID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UuZW1pdCh0aGlzLm1vZGVsKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3NldFNlbGVjdGVkTW9kZWwoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xyXG4gICAgICBpZiAodGhpcy5tb2RlbCkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbHMubGVuZ3RoID0gMDtcclxuICAgICAgICB0aGlzLm1vZGVsLmZvckVhY2gobSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzLnB1c2gobVt0aGlzLmRpc3BsYXlGaWVsZF0pO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbHMubGVuZ3RoID0gMDtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMubW9kZWwpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSB0aGlzLm1vZGVsW3RoaXMuZGlzcGxheUZpZWxkXTtcclxuICAgICAgICBpZiAodGhpcy5sYXJnZUNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyVGV4dCA9IHRoaXMubW9kZWxbdGhpcy5kaXNwbGF5RmllbGRdO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSAnJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|