fabrikantencore 2.18.16 → 2.18.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/app/modules/fabrikantencore/components/fab-form/fab-form.component.mjs +9 -1
- package/esm2022/src/app/modules/fabrikantencore/services/fabrikanten.service.mjs +2 -1
- package/fesm2022/fabrikantencore.mjs +9 -0
- package/fesm2022/fabrikantencore.mjs.map +1 -1
- package/package.json +1 -1
- package/src/app/modules/fabrikantencore/services/fabrikanten.service.d.ts +2 -1
|
@@ -37,6 +37,14 @@ class FabFormComponent {
|
|
|
37
37
|
if (inputs != null) {
|
|
38
38
|
for (var p = 0; p < inputs.length; p++) {
|
|
39
39
|
var ValidatorsArray = new Array();
|
|
40
|
+
var defaults = inputs[p].defaults;
|
|
41
|
+
if (defaults != null) {
|
|
42
|
+
for (var d = 0; d < defaults.length; d++) {
|
|
43
|
+
if (defaults[d].languageId == this.TranslateService.ActiveLanguage?.id) {
|
|
44
|
+
inputs[p].value = defaults[d].defaultValue;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
40
48
|
if (inputs[p].formInputType == FormInputType.Email) {
|
|
41
49
|
ValidatorsArray.push(Validators.email);
|
|
42
50
|
}
|
|
@@ -162,4 +170,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
162
170
|
}], completed: [{
|
|
163
171
|
type: Output
|
|
164
172
|
}] } });
|
|
165
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZm9ybS9mYWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQXlELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBNEIsYUFBYSxFQUF3Qix5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBaUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUluTixNQU1hLGdCQUFnQjtJQTBFakI7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQTVFSCxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRS9CLEtBQUssQ0FBMkI7SUFDaEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFhLElBQUksQ0FBQyxLQUErQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXBDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixLQUFLLElBQUksQ0FBQyxH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c0JBQWxCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENoYW5nZURldGVjdG9yUmVmLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JGbiwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsLCBGb3JtSW5wdXRUeXBlLCBGYWJyaWthbnRlbkFwaUNsaWVudCwgRmFicmlrYW50ZW5TZXRGb3JtUmVxdWVzdCwgVHJhbnNsYXRpb25DYXRlZ29yeSwgVHJhbnNsYXRpb25TdWJDYXRlZ29yeSwgRmFicmlrYW50ZW5Gb3JtSW5wdXRWaWV3TW9kZWwgfSBmcm9tICcuLi8uLi9zd2FnZ2VyL1N3YWdnZXJDbGllbnQnO1xyXG5pbXBvcnQgeyBGYWJyaWthbnRlblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9mYWJyaWthbnRlbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zbGF0ZS5zZXJ2aWNlJztcclxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtZmFiLWZvcm0nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmFiLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9mYWItZm9ybS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXG59KVxuZXhwb3J0IGNsYXNzIEZhYkZvcm1Db21wb25lbnQge1xuXG4gIHB1YmxpYyBJbnN0YW5jZUlkOiBzdHJpbmcgPSBcIlwiO1xuXG4gIF9mb3JtOiBGYWJyaWthbnRlbkZvcm1WaWV3TW9kZWw7XHJcbiAgZ2V0IGZvcm0oKTogRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsIHtcclxuICAgIHJldHVybiB0aGlzLl9mb3JtO1xyXG4gIH1cclxuXHJcbiAgQElucHV0KCkgc2V0IGZvcm0odmFsdWU6IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCkge1xyXG4gICAgdGhpcy5fZm9ybSA9IHZhbHVlO1xyXG5cclxuICAgIHRoaXMuRm9ybUdyb3VwID0gdGhpcy5mb3JtQnVpbGRlci5ncm91cCh7fSlcbiAgICB2YXIgY2F0cyA9IHRoaXMuZm9ybS5mb3JtQ2F0ZWdvcmllcztcblxuICAgIGlmIChjYXRzICE9IG51bGwpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY2F0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICB2YXIgcm93cyA9IGNhdHNbaV0ucm93cztcclxuXHJcbiAgICAgICAgaWYgKHJvd3MgIT0gbnVsbCkge1xyXG4gICAgICAgICAgZm9yICh2YXIgaiA9IDA7IGogPCByb3dzLmxlbmd0aDsgaisrKSB7XHJcbiAgICAgICAgICAgIHZhciBpbnB1dHMgPSByb3dzW2pdLmlucHV0cztcclxuXHJcbiAgICAgICAgICAgIGlmIChpbnB1dHMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgIGZvciAodmFyIHAgPSAwOyBwIDwgaW5wdXRzLmxlbmd0aDsgcCsrKSB7XHJcblxyXG4gICAgICAgICAgICAgICAgdmFyIFZhbGlkYXRvcnNBcnJheTogVmFsaWRhdG9yRm5bXSA9IG5ldyBBcnJheSgpO1xyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0uZm9ybUlucHV0VHlwZSA9PSBGb3JtSW5wdXRUeXBlLkVtYWlsKSB7XHJcbiAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMuZW1haWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0uZm9ybUlucHV0VHlwZSA9PSBGb3JtSW5wdXRUeXBlLkNoZWNrYm94UmVxdWlyZWRUcnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRzW3BdLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0uZm9ybUlucHV0VHlwZSA9PSBGb3JtSW5wdXRUeXBlLkRyb3Bkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuRm9ybUdyb3VwLmFkZENvbnRyb2woaW5wdXRzW3BdLm5hbWUgKyBcIlwiLCB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woaW5wdXRzW3BdLnNlbGVjdGVkT3B0aW9uPy5pZCwgVmFsaWRhdG9yc0FycmF5KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5Gb3JtR3JvdXAuYWRkQ29udHJvbChpbnB1dHNbcF0ubmFtZSArIFwiXCIsIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChpbnB1dHNbcF0udmFsdWUsIFZhbGlkYXRvcnNBcnJheSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGFsZXJ0KCdlcnJvcicpO1xyXG4gICAgfVxyXG4gIH1cblxuICBASW5wdXQoKSBzZXQgaW5zdGFuY2VpZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLkluc3RhbmNlSWQgPSB2YWx1ZTtcclxuICB9XG5cbiAgQE91dHB1dCgpIGNvbXBsZXRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uQ2F0ZWdvcnk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuQXBpQ2xpZW50OiBGYWJyaWthbnRlbkFwaUNsaWVudCxcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxuICAgIHB1YmxpYyBUcmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuICAgXG4gIH1cblxuICBwdWJsaWMgT25TdWJtaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5Gb3JtR3JvdXAudmFsaWQpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgRmFicmlrYW50ZW5TZXRGb3JtUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5zZXNzaW9uSWQgPSB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZXNzaW9uSWQ7XHJcbiAgICAgIHJlcXVlc3QuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgcmVxdWVzdC5sYW5ndWFnZUlkID0gdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkFjdGl2ZUxhbmd1YWdlLmlkO1xyXG4gICAgICByZXF1ZXN0LmNvdW50cnlDb2RlID0gdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkFjdGl2ZUxhbmd1YWdlLmNvdW50cnlDb2RlO1xyXG4gICAgICByZXF1ZXN0LmZhYnJpa2FudGVuU2V0dGluZ3NWaWV3TW9kZWwgPSB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblNldHRpbmdzVmlld01vZGVsO1xyXG4gICAgICByZXF1ZXN0Lmluc3RhbmNlSWQgPSB0aGlzLkluc3RhbmNlSWQ7XHJcblxyXG4gICAgICB0aGlzLkZhYnJpa2FudGVuQXBpQ2xpZW50LnNldEZvcm0ocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5SZWxvYWRNb2RlbCh0aGlzLkNoYW5nZURldGVjdG9yUmVmLCB1bmRlZmluZWQsICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY29tcGxldGVkLmVtaXQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuXHJcbiAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHZhciB0ZXh0ID0gXCJcIjtcclxuXHJcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuRm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgdmFyIHRlbXAgPSB0aGlzLkZvcm1Hcm91cC5nZXQoa2V5KTtcclxuXHJcbiAgICAgICAgaWYgKHRlbXAgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBjb25zdCBjb250cm9sRXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0gdGVtcC5lcnJvcnMgYXMgVmFsaWRhdGlvbkVycm9ycztcclxuICAgICAgICAgIGlmIChjb250cm9sRXJyb3JzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpLmZvckVhY2goa2V5RXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChrZXlFcnJvciA9PSBcInJlcXVpcmVkXCIgfHwga2V5RXJyb3IgPT0gXCJlbWFpbFwiKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgaW5wdXQgPSB0aGlzLkdldElucHV0KGtleSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0ICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgdmFyIHRyYW5zbGF0aW9uX2lucHV0ID0gdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKVxyXG5cclxuICAgICAgICAgICAgICAgICAgdGV4dCArPSBcIjxsaT5cIiArIHRyYW5zbGF0aW9uX2lucHV0ICsgXCI8L2xpPlwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhciB0ZXN0ID0gXCJcIjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICB2YXIgdHJhbnNsYXRpb24gPSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuUmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5TaG93UG9wdXBUZXh0KHRyYW5zbGF0aW9uICsgXCI8dWw+XCIgKyB0ZXh0ICsgXCI8L3VsPlwiKTtcclxuICAgIH1cclxuICB9XG5cbiAgcHVibGljIENsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcGxldGVkLmVtaXQoKTtcclxuICB9XG5cbiAgcHVibGljIEdldElucHV0KG5hbWU6IHN0cmluZyk6IEZhYnJpa2FudGVuRm9ybUlucHV0Vmlld01vZGVsIHwgbnVsbCB7XG4gICAgdmFyIGNhdHMgPSB0aGlzLmZvcm0/LmZvcm1DYXRlZ29yaWVzO1xuXG4gICAgaWYgKGNhdHMgIT0gbnVsbCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciByb3dzID0gY2F0c1tpXS5yb3dzO1xyXG5cclxuICAgICAgICBpZiAocm93cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHJvd3MubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgdmFyIGlucHV0cyA9IHJvd3Nbal0uaW5wdXRzO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlucHV0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBpbnB1dHMubGVuZ3RoOyBwKyspIHtcclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0ubmFtZSA9PSBuYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpbnB1dHNbcF07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiRm9ybUdyb3VwXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhdCBvZiBmb3JtLmZvcm1DYXRlZ29yaWVzXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY2F0LW5hbWVcIiBbbmdDbGFzc109XCInY2F0LScgKyBjYXQuaWRcIj5cbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5DYXRlZ29yeSwgY2F0LmlkKSB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBjYXQucm93c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2F0LWlucHV0cyBkaXNwbGF5ZmxleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtaW5wdXRcIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2Ygcm93LmlucHV0c1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5mb3JtSW5wdXRUeXBlID09IDEgfHwgaW5wdXQuZm9ybUlucHV0VHlwZSA9PSA2XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGggZm9ybS1jYXQtaW5wdXQtaW5wdXRcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKSB9fVxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvcj48L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZm9ybUlucHV0VHlwZSA9PSAyXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGggZm9ybS1jYXQtaW5wdXQtc2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJzZWxlY3QtbWF0LWxhYmVsIGZpbHRlci1uYW1lXCI+XG4gICAgICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LklucHV0LCBpbnB1dC5pZCkgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInt7IGlucHV0Lm5hbWUgfX1cIiBbKG5nTW9kZWwpXT1cImlucHV0LnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGlucHV0Lm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuT3B0aW9uLCBvcHRpb24uaWQpXCIgY2xhc3M9XCJzZWxlY3QtbWF0LW9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUtc3BhblwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5PcHRpb24sIG9wdGlvbi5pZCkgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gMyB8fCBpbnB1dC5mb3JtSW5wdXRUeXBlID09IDdcIj5cbiAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJmb3JtLWNhdC1pbnB1dC1jaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cInt7IGlucHV0Lm5hbWUgfX1cIiBbKG5nTW9kZWwpXT1cImlucHV0LmNoZWNrZWRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gNVwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aCBmb3JtLWNhdC1pbnB1dC10ZXh0YXJlYVwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIiBzdHlsZT1cImhlaWdodDogMTAwcHg7XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWJ1dHRvbi1yb3dcIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDbG9zZSgpXCIgY2xhc3M9XCJmb3JtLWNhdC1jbG9zZSBmb3JtLWJ1dHRvbi1yb3ctYnV0dG9uXCI+XG4gICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNsb3NlKSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk9uU3VibWl0KClcIiBjbGFzcz1cImZvcm0tY2F0LXN1Ym1pdCBmb3JtLWJ1dHRvbi1yb3ctYnV0dG9uXCI+XG4gICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlNlbmQpIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
173
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFiLWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9tb2R1bGVzL2ZhYnJpa2FudGVuY29yZS9jb21wb25lbnRzL2ZhYi1mb3JtL2ZhYi1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kdWxlcy9mYWJyaWthbnRlbmNvcmUvY29tcG9uZW50cy9mYWItZm9ybS9mYWItZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RyxPQUFPLEVBQXlELFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ25HLE9BQU8sRUFBNEIsYUFBYSxFQUF3Qix5QkFBeUIsRUFBRSxtQkFBbUIsRUFBRSxzQkFBc0IsRUFBaUMsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUluTixNQU1hLGdCQUFnQjtJQW1GakI7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQXJGSCxVQUFVLEdBQVcsRUFBRSxDQUFDO0lBRS9CLEtBQUssQ0FBMkI7SUFDaEMsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDO0lBQ3BCLENBQUM7SUFFRCxJQUFhLElBQUksQ0FBQyxLQUErQjtRQUMvQyxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFBO1FBQzNDLElBQUksSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRXBDLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixLQUFLLElBQUksQ0FBQyxH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QUFDLEVBQUUsRUFBRTtnQ0FDdEMsSUFBSSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLElBQUksRUFBRTtvQ0FDMUIsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7aUNBQ2xCOzZCQUNGO3lCQUNGO3FCQUNGO2lCQUNGO2FBQ0Y7U0FDRjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzt3R0E5S1UsZ0JBQWdCOzRGQUFoQixnQkFBZ0IsNklDWjdCLHdnSEErREE7O1NEbkRhLGdCQUFnQjs0RkFBaEIsZ0JBQWdCO2tCQU41QixTQUFTOytCQUNFLGNBQWMsaUJBR1QsaUJBQWlCLENBQUMsSUFBSTtxT0FXeEIsSUFBSTtzQkFBaEIsS0FBSztnQkF5RE8sVUFBVTtzQkFBdEIsS0FBSztnQkFJSSxTQUFTO3NCQUFsQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDaGFuZ2VEZXRlY3RvclJlZiwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycywgVmFsaWRhdG9yRm4sIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCwgRm9ybUlucHV0VHlwZSwgRmFicmlrYW50ZW5BcGlDbGllbnQsIEZhYnJpa2FudGVuU2V0Rm9ybVJlcXVlc3QsIFRyYW5zbGF0aW9uQ2F0ZWdvcnksIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnksIEZhYnJpa2FudGVuRm9ybUlucHV0Vmlld01vZGVsIH0gZnJvbSAnLi4vLi4vc3dhZ2dlci9Td2FnZ2VyQ2xpZW50JztcclxuaW1wb3J0IHsgRmFicmlrYW50ZW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZmFicmlrYW50ZW4uc2VydmljZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmFuc2xhdGUuc2VydmljZSc7XHJcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZhYi1mb3JtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhYi1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZmFiLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxufSlcbmV4cG9ydCBjbGFzcyBGYWJGb3JtQ29tcG9uZW50IHtcblxuICBwdWJsaWMgSW5zdGFuY2VJZDogc3RyaW5nID0gXCJcIjtcblxuICBfZm9ybTogRmFicmlrYW50ZW5Gb3JtVmlld01vZGVsO1xyXG4gIGdldCBmb3JtKCk6IEZhYnJpa2FudGVuRm9ybVZpZXdNb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9ybTtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIHNldCBmb3JtKHZhbHVlOiBGYWJyaWthbnRlbkZvcm1WaWV3TW9kZWwpIHtcclxuICAgIHRoaXMuX2Zvcm0gPSB2YWx1ZTtcclxuXHJcbiAgICB0aGlzLkZvcm1Hcm91cCA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe30pXG4gICAgdmFyIGNhdHMgPSB0aGlzLmZvcm0uZm9ybUNhdGVnb3JpZXM7XG5cbiAgICBpZiAoY2F0cyAhPSBudWxsKSB7XG4gICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNhdHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgdmFyIHJvd3MgPSBjYXRzW2ldLnJvd3M7XHJcblxyXG4gICAgICAgIGlmIChyb3dzICE9IG51bGwpIHtcclxuICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgcm93cy5sZW5ndGg7IGorKykge1xyXG4gICAgICAgICAgICB2YXIgaW5wdXRzID0gcm93c1tqXS5pbnB1dHM7XHJcblxyXG4gICAgICAgICAgICBpZiAoaW5wdXRzICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICBmb3IgKHZhciBwID0gMDsgcCA8IGlucHV0cy5sZW5ndGg7IHArKykge1xyXG5cclxuICAgICAgICAgICAgICAgIHZhciBWYWxpZGF0b3JzQXJyYXk6IFZhbGlkYXRvckZuW10gPSBuZXcgQXJyYXkoKTtcclxuXHJcbiAgICAgICAgICAgICAgICB2YXIgZGVmYXVsdHMgPSBpbnB1dHNbcF0uZGVmYXVsdHM7XHJcbiAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdHMgIT0gbnVsbCkge1xyXG4gICAgICAgICAgICAgICAgICBmb3IgKHZhciBkID0gMDsgZCA8IGRlZmF1bHRzLmxlbmd0aDsgZCsrKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRlZmF1bHRzW2RdLmxhbmd1YWdlSWQgPT0gdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkFjdGl2ZUxhbmd1YWdlPy5pZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgaW5wdXRzW3BdLnZhbHVlID0gZGVmYXVsdHNbZF0uZGVmYXVsdFZhbHVlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0uZm9ybUlucHV0VHlwZSA9PSBGb3JtSW5wdXRUeXBlLkVtYWlsKSB7XHJcbiAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMuZW1haWwpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0uZm9ybUlucHV0VHlwZSA9PSBGb3JtSW5wdXRUeXBlLkNoZWNrYm94UmVxdWlyZWRUcnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWRUcnVlKTtcclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICBpZiAoaW5wdXRzW3BdLnJlcXVpcmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgIFZhbGlkYXRvcnNBcnJheS5wdXNoKFZhbGlkYXRvcnMucmVxdWlyZWQpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0uZm9ybUlucHV0VHlwZSA9PSBGb3JtSW5wdXRUeXBlLkRyb3Bkb3duKSB7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuRm9ybUdyb3VwLmFkZENvbnRyb2woaW5wdXRzW3BdLm5hbWUgKyBcIlwiLCB0aGlzLmZvcm1CdWlsZGVyLmNvbnRyb2woaW5wdXRzW3BdLnNlbGVjdGVkT3B0aW9uPy5pZCwgVmFsaWRhdG9yc0FycmF5KSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5Gb3JtR3JvdXAuYWRkQ29udHJvbChpbnB1dHNbcF0ubmFtZSArIFwiXCIsIHRoaXMuZm9ybUJ1aWxkZXIuY29udHJvbChpbnB1dHNbcF0udmFsdWUsIFZhbGlkYXRvcnNBcnJheSkpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGFsZXJ0KCdlcnJvcicpO1xyXG4gICAgfVxyXG4gIH1cblxuICBASW5wdXQoKSBzZXQgaW5zdGFuY2VpZCh2YWx1ZTogc3RyaW5nKSB7XHJcbiAgICB0aGlzLkluc3RhbmNlSWQgPSB2YWx1ZTtcclxuICB9XG5cbiAgQE91dHB1dCgpIGNvbXBsZXRlZDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gIHB1YmxpYyBGb3JtR3JvdXA6IEZvcm1Hcm91cDtcblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uQ2F0ZWdvcnk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkoKSB7XG4gICAgcmV0dXJuIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZvcm1CdWlsZGVyOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuQXBpQ2xpZW50OiBGYWJyaWthbnRlbkFwaUNsaWVudCxcbiAgICBwcml2YXRlIEZhYnJpa2FudGVuU2VydmljZTogRmFicmlrYW50ZW5TZXJ2aWNlLFxuICAgIHB1YmxpYyBUcmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgIHByaXZhdGUgQ2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmXG4gICkge1xuXG4gIH1cblxuICBwdWJsaWMgT25TdWJtaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5Gb3JtR3JvdXAudmFsaWQpIHtcclxuICAgICAgdmFyIHJlcXVlc3QgPSBuZXcgRmFicmlrYW50ZW5TZXRGb3JtUmVxdWVzdCgpO1xyXG5cclxuICAgICAgcmVxdWVzdC5zZXNzaW9uSWQgPSB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblZpZXdNb2RlbC5zZXNzaW9uSWQ7XHJcbiAgICAgIHJlcXVlc3QuZm9ybSA9IHRoaXMuZm9ybTtcclxuICAgICAgcmVxdWVzdC5sYW5ndWFnZUlkID0gdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkFjdGl2ZUxhbmd1YWdlLmlkO1xyXG4gICAgICByZXF1ZXN0LmNvdW50cnlDb2RlID0gdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkFjdGl2ZUxhbmd1YWdlLmNvdW50cnlDb2RlO1xyXG4gICAgICByZXF1ZXN0LmZhYnJpa2FudGVuU2V0dGluZ3NWaWV3TW9kZWwgPSB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5GYWJyaWthbnRlblNldHRpbmdzVmlld01vZGVsO1xyXG4gICAgICByZXF1ZXN0Lmluc3RhbmNlSWQgPSB0aGlzLkluc3RhbmNlSWQ7XHJcblxyXG4gICAgICB0aGlzLkZhYnJpa2FudGVuQXBpQ2xpZW50LnNldEZvcm0ocmVxdWVzdCkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5SZWxvYWRNb2RlbCh0aGlzLkNoYW5nZURldGVjdG9yUmVmLCB1bmRlZmluZWQsICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY29tcGxldGVkLmVtaXQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgfSwgKGVycm9yOiBSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgIGFsZXJ0KCdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VyZWQnKTtcclxuXHJcbiAgICAgICAgdGhpcy5DaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHZhciB0ZXh0ID0gXCJcIjtcclxuXHJcbiAgICAgIE9iamVjdC5rZXlzKHRoaXMuRm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKGtleSA9PiB7XHJcbiAgICAgICAgdmFyIHRlbXAgPSB0aGlzLkZvcm1Hcm91cC5nZXQoa2V5KTtcclxuXHJcbiAgICAgICAgaWYgKHRlbXAgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICBjb25zdCBjb250cm9sRXJyb3JzOiBWYWxpZGF0aW9uRXJyb3JzID0gdGVtcC5lcnJvcnMgYXMgVmFsaWRhdGlvbkVycm9ycztcclxuICAgICAgICAgIGlmIChjb250cm9sRXJyb3JzICE9IG51bGwpIHtcclxuXHJcbiAgICAgICAgICAgIE9iamVjdC5rZXlzKGNvbnRyb2xFcnJvcnMpLmZvckVhY2goa2V5RXJyb3IgPT4ge1xyXG4gICAgICAgICAgICAgIGlmIChrZXlFcnJvciA9PSBcInJlcXVpcmVkXCIgfHwga2V5RXJyb3IgPT0gXCJlbWFpbFwiKSB7XHJcbiAgICAgICAgICAgICAgICB2YXIgaW5wdXQgPSB0aGlzLkdldElucHV0KGtleSk7XHJcblxyXG4gICAgICAgICAgICAgICAgaWYgKGlucHV0ICE9IG51bGwpIHtcclxuICAgICAgICAgICAgICAgICAgdmFyIHRyYW5zbGF0aW9uX2lucHV0ID0gdGhpcy5UcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKVxyXG5cclxuICAgICAgICAgICAgICAgICAgdGV4dCArPSBcIjxsaT5cIiArIHRyYW5zbGF0aW9uX2lucHV0ICsgXCI8L2xpPlwiO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgIHZhciB0ZXN0ID0gXCJcIjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcblxyXG4gICAgICB2YXIgdHJhbnNsYXRpb24gPSB0aGlzLlRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Db21tb24sIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuUmVxdWlyZWQpO1xyXG4gICAgICB0aGlzLkZhYnJpa2FudGVuU2VydmljZS5TaG93UG9wdXBUZXh0KHRyYW5zbGF0aW9uICsgXCI8dWw+XCIgKyB0ZXh0ICsgXCI8L3VsPlwiKTtcclxuICAgIH1cclxuICB9XG5cbiAgcHVibGljIENsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuY29tcGxldGVkLmVtaXQoKTtcclxuICB9XG5cbiAgcHVibGljIEdldElucHV0KG5hbWU6IHN0cmluZyk6IEZhYnJpa2FudGVuRm9ybUlucHV0Vmlld01vZGVsIHwgbnVsbCB7XG4gICAgdmFyIGNhdHMgPSB0aGlzLmZvcm0/LmZvcm1DYXRlZ29yaWVzO1xuXG4gICAgaWYgKGNhdHMgIT0gbnVsbCkge1xuICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjYXRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciByb3dzID0gY2F0c1tpXS5yb3dzO1xyXG5cclxuICAgICAgICBpZiAocm93cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHJvd3MubGVuZ3RoOyBqKyspIHtcclxuICAgICAgICAgICAgdmFyIGlucHV0cyA9IHJvd3Nbal0uaW5wdXRzO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlucHV0cyAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgZm9yICh2YXIgcCA9IDA7IHAgPCBpbnB1dHMubGVuZ3RoOyBwKyspIHtcclxuICAgICAgICAgICAgICAgIGlmIChpbnB1dHNbcF0ubmFtZSA9PSBuYW1lKSB7XHJcbiAgICAgICAgICAgICAgICAgIHJldHVybiBpbnB1dHNbcF07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XG4gICAgfVxyXG5cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiRm9ybUdyb3VwXCI+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGNhdCBvZiBmb3JtLmZvcm1DYXRlZ29yaWVzXCI+XG4gICAgPGRpdiBjbGFzcz1cImZvcm0tY2F0LW5hbWVcIiBbbmdDbGFzc109XCInY2F0LScgKyBjYXQuaWRcIj5cbiAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5DYXRlZ29yeSwgY2F0LmlkKSB9fVxuICAgIDwvZGl2PlxuICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHJvdyBvZiBjYXQucm93c1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2F0LWlucHV0cyBkaXNwbGF5ZmxleFwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jYXQtaW5wdXRcIiAqbmdGb3I9XCJsZXQgaW5wdXQgb2Ygcm93LmlucHV0c1wiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpbnB1dC5mb3JtSW5wdXRUeXBlID09IDEgfHwgaW5wdXQuZm9ybUlucHV0VHlwZSA9PSA2XCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGggZm9ybS1jYXQtaW5wdXQtaW5wdXRcIj5cbiAgICAgICAgICAgICAgPG1hdC1sYWJlbD5cbiAgICAgICAgICAgICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKSB9fVxuICAgICAgICAgICAgICA8L21hdC1sYWJlbD5cbiAgICAgICAgICAgICAgPGlucHV0IG1hdElucHV0IHR5cGU9XCJ0ZXh0XCIgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIj5cbiAgICAgICAgICAgICAgPG1hdC1lcnJvcj48L21hdC1lcnJvcj5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaW5wdXQuZm9ybUlucHV0VHlwZSA9PSAyXCI+XG4gICAgICAgICAgICA8bWF0LWZvcm0tZmllbGQgYXBwZWFyYW5jZT1cImZpbGxcIiBjbGFzcz1cImZ1bGwtd2lkdGggZm9ybS1jYXQtaW5wdXQtc2VsZWN0XCI+XG4gICAgICAgICAgICAgIDxtYXQtbGFiZWwgY2xhc3M9XCJzZWxlY3QtbWF0LWxhYmVsIGZpbHRlci1uYW1lXCI+XG4gICAgICAgICAgICAgICAge3sgVHJhbnNsYXRlU2VydmljZS5HZXRBY3RpdmVWYWx1ZShUcmFuc2xhdGlvbkNhdGVnb3J5LkZvcm1zLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LklucHV0LCBpbnB1dC5pZCkgfX1cbiAgICAgICAgICAgICAgPC9tYXQtbGFiZWw+XG4gICAgICAgICAgICAgIDxtYXQtc2VsZWN0IGZvcm1Db250cm9sTmFtZT1cInt7IGlucHV0Lm5hbWUgfX1cIiBbKG5nTW9kZWwpXT1cImlucHV0LnZhbHVlXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIGlucHV0Lm9wdGlvbnNcIj5cbiAgICAgICAgICAgICAgICAgIDxtYXQtb3B0aW9uIFt2YWx1ZV09XCJUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuT3B0aW9uLCBvcHRpb24uaWQpXCIgY2xhc3M9XCJzZWxlY3QtbWF0LW9wdGlvblwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5hbWUtc3BhblwiPlxuICAgICAgICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5PcHRpb24sIG9wdGlvbi5pZCkgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICA8L21hdC1zZWxlY3Q+XG4gICAgICAgICAgICA8L21hdC1mb3JtLWZpZWxkPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gMyB8fCBpbnB1dC5mb3JtSW5wdXRUeXBlID09IDdcIj5cbiAgICAgICAgICAgIDxtYXQtY2hlY2tib3ggY2xhc3M9XCJmb3JtLWNhdC1pbnB1dC1jaGVja2JveFwiIGZvcm1Db250cm9sTmFtZT1cInt7IGlucHV0Lm5hbWUgfX1cIiBbKG5nTW9kZWwpXT1cImlucHV0LmNoZWNrZWRcIj5cbiAgICAgICAgICAgICAgPHNwYW4gW2lubmVySFRNTF09XCJUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuRm9ybXMsIFRyYW5zbGF0aW9uU3ViQ2F0ZWdvcnkuSW5wdXQsIGlucHV0LmlkKVwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImlucHV0LmZvcm1JbnB1dFR5cGUgPT0gNVwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGNsYXNzPVwiZnVsbC13aWR0aCBmb3JtLWNhdC1pbnB1dC10ZXh0YXJlYVwiPlxuICAgICAgICAgICAgICA8bWF0LWxhYmVsPlxuICAgICAgICAgICAgICAgIHt7IFRyYW5zbGF0ZVNlcnZpY2UuR2V0QWN0aXZlVmFsdWUoVHJhbnNsYXRpb25DYXRlZ29yeS5Gb3JtcywgVHJhbnNsYXRpb25TdWJDYXRlZ29yeS5JbnB1dCwgaW5wdXQuaWQpIH19XG4gICAgICAgICAgICAgIDwvbWF0LWxhYmVsPlxuICAgICAgICAgICAgICA8dGV4dGFyZWEgbWF0SW5wdXQgZm9ybUNvbnRyb2xOYW1lPVwie3sgaW5wdXQubmFtZSB9fVwiIFsobmdNb2RlbCldPVwiaW5wdXQudmFsdWVcIiBzdHlsZT1cImhlaWdodDogMTAwcHg7XCI+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJmb3JtLWJ1dHRvbi1yb3dcIj5cbiAgICA8YnV0dG9uIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJDbG9zZSgpXCIgY2xhc3M9XCJmb3JtLWNhdC1jbG9zZSBmb3JtLWJ1dHRvbi1yb3ctYnV0dG9uXCI+XG4gICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LkNsb3NlKSB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b24gbWF0LXJhaXNlZC1idXR0b24gKGNsaWNrKT1cIk9uU3VibWl0KClcIiBjbGFzcz1cImZvcm0tY2F0LXN1Ym1pdCBmb3JtLWJ1dHRvbi1yb3ctYnV0dG9uXCI+XG4gICAgICB7eyBUcmFuc2xhdGVTZXJ2aWNlLkdldEFjdGl2ZVZhbHVlKFRyYW5zbGF0aW9uQ2F0ZWdvcnkuQ29tbW9uLCBUcmFuc2xhdGlvblN1YkNhdGVnb3J5LlNlbmQpIH19XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|