myrta-ui 17.1.28 → 17.1.30
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/lib/components/hint-error-message/hint-error-message.component.mjs +9 -9
- package/esm2022/lib/components/pdf-viewer/pdf-viewer.component.mjs +14 -13
- package/fesm2022/myrta-ui.mjs +21 -20
- package/fesm2022/myrta-ui.mjs.map +1 -1
- package/lib/components/hint-error-message/hint-error-message.component.d.ts +1 -1
- package/lib/components/pdf-viewer/pdf-viewer.component.d.ts +5 -5
- package/package.json +1 -1
|
@@ -15,29 +15,29 @@ export class HintErrorMessageComponent {
|
|
|
15
15
|
* @param {diff} = maxValue - value
|
|
16
16
|
*/
|
|
17
17
|
message = '';
|
|
18
|
-
value =
|
|
18
|
+
value = null;
|
|
19
19
|
maxValue = null;
|
|
20
20
|
minValue = null;
|
|
21
21
|
minLength = null;
|
|
22
22
|
maxLength = null;
|
|
23
23
|
checkInvalid = true;
|
|
24
24
|
get replaceMessage() {
|
|
25
|
-
if ((this.maxValue || this.maxValue === 0) && this.message.includes('{diff}')) {
|
|
25
|
+
if ((this.maxValue || this.maxValue === 0) && this.value && this.message.includes('{diff}')) {
|
|
26
26
|
return this.message
|
|
27
27
|
.split('{diff}')
|
|
28
28
|
.join(String(this.maxValue - this.retypeValue(this.value)));
|
|
29
29
|
}
|
|
30
|
-
if ((this.minValue || this.minValue === 0) && this.message.includes('{diff}')) {
|
|
30
|
+
if ((this.minValue || this.minValue === 0) && this.value && this.message.includes('{diff}')) {
|
|
31
31
|
return this.message
|
|
32
32
|
.split('{diff}')
|
|
33
33
|
.join(String(this.value).length < this.minValue ? String(this.minValue - String(this.value).length) : '0');
|
|
34
34
|
}
|
|
35
|
-
if (this.minLength && this.message.includes('{diff}')) {
|
|
35
|
+
if (this.minLength && this.value && this.message.includes('{diff}')) {
|
|
36
36
|
return this.message
|
|
37
37
|
.split('{diff}')
|
|
38
38
|
.join(String(this.value).length < this.minLength ? String(this.minLength - String(this.value).length) : '0');
|
|
39
39
|
}
|
|
40
|
-
if (this.maxLength && this.message.includes('{diff}')) {
|
|
40
|
+
if (this.maxLength && this.value && this.message.includes('{diff}')) {
|
|
41
41
|
return this.message
|
|
42
42
|
.split('{diff}')
|
|
43
43
|
.join(String(this.maxLength - String(this.value).length));
|
|
@@ -45,7 +45,7 @@ export class HintErrorMessageComponent {
|
|
|
45
45
|
return this.message;
|
|
46
46
|
}
|
|
47
47
|
get getIsInvalid() {
|
|
48
|
-
if ((this.maxValue || this.maxValue === 0) && (this.minValue || this.minValue === 0) && String(this.value).length !== 0) {
|
|
48
|
+
if ((this.maxValue || this.maxValue === 0) && (this.minValue || this.minValue === 0) && this.value && String(this.value).length !== 0) {
|
|
49
49
|
if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
|
|
50
50
|
return true;
|
|
51
51
|
}
|
|
@@ -54,7 +54,7 @@ export class HintErrorMessageComponent {
|
|
|
54
54
|
}
|
|
55
55
|
return this.maxValue - this.retypeValue(this.value) < 0 || this.retypeValue(this.value) - this.minValue < 0;
|
|
56
56
|
}
|
|
57
|
-
if ((this.maxValue || this.maxValue === 0) && !this.minValue && String(this.value).length !== 0) {
|
|
57
|
+
if ((this.maxValue || this.maxValue === 0) && !this.minValue && this.value && String(this.value).length !== 0) {
|
|
58
58
|
if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
|
|
59
59
|
return true;
|
|
60
60
|
}
|
|
@@ -63,7 +63,7 @@ export class HintErrorMessageComponent {
|
|
|
63
63
|
}
|
|
64
64
|
return this.maxValue - this.retypeValue(this.value) < 0;
|
|
65
65
|
}
|
|
66
|
-
if ((this.minValue || this.minValue === 0) && !this.maxValue && String(this.value).length !== 0) {
|
|
66
|
+
if ((this.minValue || this.minValue === 0) && !this.maxValue && this.value && String(this.value).length !== 0) {
|
|
67
67
|
if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
|
|
68
68
|
return true;
|
|
69
69
|
}
|
|
@@ -118,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
118
118
|
}], checkInvalid: [{
|
|
119
119
|
type: Input
|
|
120
120
|
}] } });
|
|
121
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9oaW50LWVycm9yLW1lc3NhZ2UvaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9oaW50LWVycm9yLW1lc3NhZ2UvaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8seUJBQXlCO0lBQzVCLE9BQU8sR0FBRyxLQUFLLENBQUE7SUFDdkI7Ozs7T0FJRztJQUNhLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLEdBQW9CLENBQUMsQ0FBQztJQUMzQixRQUFRLEdBQWtCLElBQUksQ0FBQztJQUMvQixRQUFRLEdBQWtCLElBQUksQ0FBQztJQUMvQixTQUFTLEdBQWtCLElBQUksQ0FBQztJQUNoQyxTQUFTLEdBQWtCLElBQUksQ0FBQztJQUNoQyxZQUFZLEdBQW1CLElBQUksQ0FBQztJQUVwRCxJQUFXLGNBQWM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQzlFLE9BQU8sSUFBSSxDQUFDLE9BQU87aUJBQ2hCLEtBQUssQ0FBQyxRQUFRLENBQUM7aUJBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFX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UUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hHLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pGLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUNELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2hHLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pGLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUNELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFDbkQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0RCxPQUFPLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUE7UUFDbkQsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFBO0lBQ2QsQ0FBQztJQUVPLFdBQVcsQ0FBQyxLQUFzQjtRQUN4QyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLElBQUksS0FBSyxLQUFLLEVBQUUsRUFBRSxDQUFDO2dCQUNqQixPQUFPLENBQUMsQ0FBQTtZQUNWLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzFCLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sQ0FBQyxDQUFBO1lBQ1YsQ0FBQztZQUNELE9BQU8sTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3RCLENBQUM7UUFFRCxPQUFPLENBQUMsQ0FBQTtJQUNWLENBQUM7d0dBNUdVLHlCQUF5Qjs0RkFBekIseUJBQXlCLHdPQ2Z0Qyw0S0FLQTs7NEZEVWEseUJBQXlCO2tCQWJyQyxTQUFTOytCQUNFLHdCQUF3QixtQkFHakIsdUJBQXVCLENBQUMsTUFBTTs4QkFnQi9CLE9BQU87c0JBQXRCLEtBQUs7Z0JBQ1UsS0FBSztzQkFBcEIsS0FBSztnQkFDVSxRQUFRO3NCQUF2QixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsU0FBUztzQkFBeEIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFlBQVk7c0JBQTNCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtaGludC1lcnJvci1tZXNzYWdlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9oaW50LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50Lmxlc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuLyoqXHJcbiAqIEBwYXJhbSBtZXNzYWdlIHN0cmluZyAodGV4dCDQuNC70LggSFRNTCkgPGJyLz5cclxuICogQHBhcmFtIHZhbHVlIG51bWJlciB8IHN0cmluZyA8YnIvPlxyXG4gKiBAcGFyYW0gbWF4VmFsdWU/IG51bWJlciA8YnIvPlxyXG4gKiBAcGFyYW0gbWluVmFsdWU/IG51bWJlciA8YnIvPlxyXG4gKiDQn9C10YDQtdC00LDQtdGC0YHRjyDQvtC00LjQvSDQuNC3INC/0LDRgNCw0LzQtdGC0YDQvtCyOiBtYXhWYWx1ZSwgbWluVmFsdWUsIG1pbkxlbmd0aCwgbWF4TGVuZ3RoXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgSGludEVycm9yTWVzc2FnZUNvbXBvbmVudCB7XHJcbiAgcHJpdmF0ZSBfaXNJbml0ID0gZmFsc2VcclxuICAvKipcclxuICAgKiDQn9GA0LjQvNC10YAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8gPGJyLz5cclxuICAgKiBtZXNzYWdlPVwi0J3QtSDQsdC+0LvQtdC1IHtkaWZmfSDQtNC90LXQuVwiIDxici8+XHJcbiAgICogQHBhcmFtIHtkaWZmfSA9IG1heFZhbHVlIC0gdmFsdWVcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgbWVzc2FnZSA9ICcnO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nID0gMDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4VmFsdWU6IG51bGwgfCBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5WYWx1ZTogbnVsbCB8IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkxlbmd0aDogbnVsbCB8IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aDogbnVsbCB8IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogYm9vbGVhbiB8IG51bGwgPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZ2V0IHJlcGxhY2VNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoKHRoaXMubWF4VmFsdWUgfHwgdGhpcy5tYXhWYWx1ZSA9PT0gMCkgJiYgdGhpcy5tZXNzYWdlLmluY2x1ZGVzKCd7ZGlmZn0nKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlXHJcbiAgICAgICAgLnNwbGl0KCd7ZGlmZn0nKVxyXG4gICAgICAgIC5qb2luKFN0cmluZyh0aGlzLm1heFZhbHVlIC0gdGhpcy5yZXR5cGVWYWx1ZSh0aGlzLnZhbHVlKSkpXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCh0aGlzLm1pblZhbHVlIHx8IHRoaXMubWluVmFsdWUgPT09IDApICYmIHRoaXMubWVzc2FnZS5pbmNsdWRlcygne2RpZmZ9JykpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVxyXG4gICAgICAgIC5zcGxpdCgne2RpZmZ9JylcclxuICAgICAgICAuam9pbihcclxuICAgICAgICAgIFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGggPCB0aGlzLm1pblZhbHVlID8gU3RyaW5nKHRoaXMubWluVmFsdWUgLSBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoKSA6ICcwJ1xyXG4gICAgICAgIClcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5taW5MZW5ndGggJiYgdGhpcy5tZXNzYWdlLmluY2x1ZGVzKCd7ZGlmZn0nKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlXHJcbiAgICAgICAgLnNwbGl0KCd7ZGlmZn0nKVxyXG4gICAgICAgIC5qb2luKFxyXG4gICAgICAgICAgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoID8gU3RyaW5nKHRoaXMubWluTGVuZ3RoIC0gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCkgOiAnMCdcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWF4TGVuZ3RoICYmIHRoaXMubWVzc2FnZS5pbmNsdWRlcygne2RpZmZ9JykpIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZVxyXG4gICAgICAgIC5zcGxpdCgne2RpZmZ9JylcclxuICAgICAgICAuam9pbihTdHJpbmcodGhpcy5tYXhMZW5ndGggLSBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoKSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5tZXNzYWdlXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IGdldElzSW52YWxpZCgpOiBib29sZWFuIHtcclxuICAgIGlmICgodGhpcy5tYXhWYWx1ZSB8fCB0aGlzLm1heFZhbHVlID09PSAwKSAmJiAodGhpcy5taW5WYWx1ZSB8fCB0aGlzLm1pblZhbHVlID09PSAwKSAmJiBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZSAhPT0gJycgJiYgaXNOYU4ocGFyc2VGbG9hdCh0aGlzLnZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNOYU4odGhpcy52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5tYXhWYWx1ZSAtIHRoaXMucmV0eXBlVmFsdWUodGhpcy52YWx1ZSkgPCAwIHx8IHRoaXMucmV0eXBlVmFsdWUodGhpcy52YWx1ZSkgLSB0aGlzLm1pblZhbHVlIDwgMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKHRoaXMubWF4VmFsdWUgfHwgdGhpcy5tYXhWYWx1ZSA9PT0gMCkgJiYgIXRoaXMubWluVmFsdWUgJiYgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUgIT09ICcnICYmIGlzTmFOKHBhcnNlRmxvYXQodGhpcy52YWx1ZSkpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdudW1iZXInICYmIGlzTmFOKHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubWF4VmFsdWUgLSB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpIDwgMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKHRoaXMubWluVmFsdWUgfHwgdGhpcy5taW5WYWx1ZSA9PT0gMCkgJiYgIXRoaXMubWF4VmFsdWUgJiYgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUgIT09ICcnICYmIGlzTmFOKHBhcnNlRmxvYXQodGhpcy52YWx1ZSkpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdudW1iZXInICYmIGlzTmFOKHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubWluVmFsdWUgLSB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpID4gMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5tYXhMZW5ndGggJiYgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tYXhMZW5ndGggPCBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWluTGVuZ3RoICYmIFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGggIT09IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMubWluTGVuZ3RoID4gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aFxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXR5cGVWYWx1ZSh2YWx1ZTogbnVtYmVyIHwgc3RyaW5nKTogbnVtYmVyIHtcclxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIGlmICh2YWx1ZSA9PT0gJycpIHtcclxuICAgICAgICByZXR1cm4gMFxyXG4gICAgICB9XHJcbiAgICAgIGlmICghaXNOYU4ocGFyc2VGbG9hdCh2YWx1ZSkpKSB7XHJcbiAgICAgICAgcmV0dXJuIHBhcnNlRmxvYXQodmFsdWUpXHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChpc05hTih2YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gMFxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBOdW1iZXIodmFsdWUpXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIDBcclxuICB9XHJcbn1cclxuIiwiPGRpdlxyXG4gICAgY2xhc3M9XCJtcngtaGludC1lcnJvci1tZXNzYWdlIG10LTFcIlxyXG4gICAgW2NsYXNzLm1yeC1pbnZhbGlkLW1lc3NhZ2VdPVwiZ2V0SXNJbnZhbGlkICYmIGNoZWNrSW52YWxpZFwiXHJcbiAgICBbaW5uZXJIVE1MXT1cInJlcGxhY2VNZXNzYWdlXCJcclxuPjwvZGl2PlxyXG4iXX0=
|
|
121
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9oaW50LWVycm9yLW1lc3NhZ2UvaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9oaW50LWVycm9yLW1lc3NhZ2UvaGludC1lcnJvci1tZXNzYWdlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExRTs7Ozs7O0dBTUc7QUFDSCxNQUFNLE9BQU8seUJBQXlCO0lBQzVCLE9BQU8sR0FBRyxLQUFLLENBQUE7SUFDdkI7Ozs7T0FJRztJQUNhLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLEdBQTJCLElBQUksQ0FBQztJQUNyQyxRQUFRLEdBQWtCLElBQUksQ0FBQztJQUMvQixRQUFRLEdBQWtCLElBQUksQ0FBQztJQUMvQixTQUFTLEdBQWtCLElBQUksQ0FBQztJQUNoQyxTQUFTLEdBQWtCLElBQUksQ0FBQztJQUNoQyxZQUFZLEdBQW1CLElBQUksQ0FBQztJQUVwRCxJQUFXLGNBQWM7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDNUYsT0FBTyxJQUFJLENBQUMsT0FBTztpQkFDaEIsS0FBSyxDQUFDLFFBQVEsQ0FBQztpQkFDZixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQy9ELENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUM1RixPQUFPLElBQUksQ0FBQyxPQUFPO2lCQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDO2lCQUNmLElBQUksQ0FDSCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ3BHLENBQUE7UUFDTCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNwRSxPQUFPLElBQUksQ0FBQyxPQUFPO2lCQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDO2lCQUNmLElBQUksQ0FDSCxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQ3RHLENBQUE7UUFDTCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUNwRSxPQUFPLElBQUksQ0FBQyxPQUFPO2lCQUNoQixLQUFLLENBQUMsUUFBUSxDQUFDO2lCQUNmLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7UUFDN0QsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQTtJQUNyQixDQUFDO0lBRUQsSUFBVyxZQUFZO1FBQ3JCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0SSxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxFQUFFLElBQUksS0FBSyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUN6RixPQUFPLElBQUksQ0FBQTtZQUNiLENBQUM7WUFDRCxJQUFJLE9BQU8sSUFBSSxDQUFDLEtBQUssS0FBSyxRQUFRLElBQUksS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUN4RCxPQUFPLElBQUksQ0FBQTtZQUNiLENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQzlHLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzlHLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pGLE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUNELElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQ3hELE9BQU8sSUFBSSxDQUFBO1lBQ2IsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDMUQsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDOUcsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDekYsT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1lBQ0QsSUFBSSxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDeEQsT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1lBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RELE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUNuRCxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsU0FBUyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ3RELE9BQU8sSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUNuRCxDQUFDO1FBRUQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBRU8sV0FBVyxDQUFDLEtBQXNCO1FBQ3hDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDOUIsSUFBSSxLQUFLLEtBQUssRUFBRSxFQUFFLENBQUM7Z0JBQ2pCLE9BQU8sQ0FBQyxDQUFBO1lBQ1YsQ0FBQztZQUNELElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDOUIsT0FBTyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDMUIsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxDQUFDLENBQUE7WUFDVixDQUFDO1lBQ0QsT0FBTyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDdEIsQ0FBQztRQUVELE9BQU8sQ0FBQyxDQUFBO0lBQ1YsQ0FBQzt3R0E1R1UseUJBQXlCOzRGQUF6Qix5QkFBeUIsd09DZnRDLDRLQUtBOzs0RkRVYSx5QkFBeUI7a0JBYnJDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNOzhCQWdCL0IsT0FBTztzQkFBdEIsS0FBSztnQkFDVSxLQUFLO3NCQUFwQixLQUFLO2dCQUNVLFFBQVE7c0JBQXZCLEtBQUs7Z0JBQ1UsUUFBUTtzQkFBdkIsS0FBSztnQkFDVSxTQUFTO3NCQUF4QixLQUFLO2dCQUNVLFNBQVM7c0JBQXhCLEtBQUs7Z0JBQ1UsWUFBWTtzQkFBM0IsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1oaW50LWVycm9yLW1lc3NhZ2UnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9oaW50LWVycm9yLW1lc3NhZ2UuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2hpbnQtZXJyb3ItbWVzc2FnZS5jb21wb25lbnQubGVzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG4vKipcclxuICogQHBhcmFtIG1lc3NhZ2Ugc3RyaW5nICh0ZXh0INC40LvQuCBIVE1MKSA8YnIvPlxyXG4gKiBAcGFyYW0gdmFsdWUgbnVtYmVyIHwgc3RyaW5nIDxici8+XHJcbiAqIEBwYXJhbSBtYXhWYWx1ZT8gbnVtYmVyIDxici8+XHJcbiAqIEBwYXJhbSBtaW5WYWx1ZT8gbnVtYmVyIDxici8+XHJcbiAqINCf0LXRgNC10LTQsNC10YLRgdGPINC+0LTQuNC9INC40Lcg0L/QsNGA0LDQvNC10YLRgNC+0LI6IG1heFZhbHVlLCBtaW5WYWx1ZSwgbWluTGVuZ3RoLCBtYXhMZW5ndGhcclxuICovXHJcbmV4cG9ydCBjbGFzcyBIaW50RXJyb3JNZXNzYWdlQ29tcG9uZW50IHtcclxuICBwcml2YXRlIF9pc0luaXQgPSBmYWxzZVxyXG4gIC8qKlxyXG4gICAqINCf0YDQuNC80LXRgCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyA8YnIvPlxyXG4gICAqIG1lc3NhZ2U9XCLQndC1INCx0L7Qu9C10LUge2RpZmZ9INC00L3QtdC5XCIgPGJyLz5cclxuICAgKiBAcGFyYW0ge2RpZmZ9ID0gbWF4VmFsdWUgLSB2YWx1ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtZXNzYWdlID0gJyc7XHJcbiAgQElucHV0KCkgcHVibGljIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsID0gbnVsbDtcclxuICBASW5wdXQoKSBwdWJsaWMgbWF4VmFsdWU6IG51bGwgfCBudW1iZXIgPSBudWxsO1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBtaW5WYWx1ZTogbnVsbCB8IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgcHVibGljIG1pbkxlbmd0aDogbnVsbCB8IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgcHVibGljIG1heExlbmd0aDogbnVsbCB8IG51bWJlciA9IG51bGw7XHJcbiAgQElucHV0KCkgcHVibGljIGNoZWNrSW52YWxpZDogYm9vbGVhbiB8IG51bGwgPSB0cnVlO1xyXG5cclxuICBwdWJsaWMgZ2V0IHJlcGxhY2VNZXNzYWdlKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoKHRoaXMubWF4VmFsdWUgfHwgdGhpcy5tYXhWYWx1ZSA9PT0gMCkgJiYgdGhpcy52YWx1ZSAmJiB0aGlzLm1lc3NhZ2UuaW5jbHVkZXMoJ3tkaWZmfScpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VcclxuICAgICAgICAuc3BsaXQoJ3tkaWZmfScpXHJcbiAgICAgICAgLmpvaW4oU3RyaW5nKHRoaXMubWF4VmFsdWUgLSB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpKSlcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKHRoaXMubWluVmFsdWUgfHwgdGhpcy5taW5WYWx1ZSA9PT0gMCkgJiYgdGhpcy52YWx1ZSAmJiB0aGlzLm1lc3NhZ2UuaW5jbHVkZXMoJ3tkaWZmfScpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1lc3NhZ2VcclxuICAgICAgICAuc3BsaXQoJ3tkaWZmfScpXHJcbiAgICAgICAgLmpvaW4oXHJcbiAgICAgICAgICBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoIDwgdGhpcy5taW5WYWx1ZSA/IFN0cmluZyh0aGlzLm1pblZhbHVlIC0gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCkgOiAnMCdcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWluTGVuZ3RoICYmIHRoaXMudmFsdWUgJiYgdGhpcy5tZXNzYWdlLmluY2x1ZGVzKCd7ZGlmZn0nKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlXHJcbiAgICAgICAgLnNwbGl0KCd7ZGlmZn0nKVxyXG4gICAgICAgIC5qb2luKFxyXG4gICAgICAgICAgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCA8IHRoaXMubWluTGVuZ3RoID8gU3RyaW5nKHRoaXMubWluTGVuZ3RoIC0gU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCkgOiAnMCdcclxuICAgICAgICApXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWF4TGVuZ3RoICYmIHRoaXMudmFsdWUgJiYgdGhpcy5tZXNzYWdlLmluY2x1ZGVzKCd7ZGlmZn0nKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5tZXNzYWdlXHJcbiAgICAgICAgLnNwbGl0KCd7ZGlmZn0nKVxyXG4gICAgICAgIC5qb2luKFN0cmluZyh0aGlzLm1heExlbmd0aCAtIFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGgpKVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB0aGlzLm1lc3NhZ2VcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgZ2V0SXNJbnZhbGlkKCk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKCh0aGlzLm1heFZhbHVlIHx8IHRoaXMubWF4VmFsdWUgPT09IDApICYmICh0aGlzLm1pblZhbHVlIHx8IHRoaXMubWluVmFsdWUgPT09IDApICYmIHRoaXMudmFsdWUgJiYgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUgIT09ICcnICYmIGlzTmFOKHBhcnNlRmxvYXQodGhpcy52YWx1ZSkpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdudW1iZXInICYmIGlzTmFOKHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubWF4VmFsdWUgLSB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpIDwgMCB8fCB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpIC0gdGhpcy5taW5WYWx1ZSA8IDA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCh0aGlzLm1heFZhbHVlIHx8IHRoaXMubWF4VmFsdWUgPT09IDApICYmICF0aGlzLm1pblZhbHVlICYmIHRoaXMudmFsdWUgJiYgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdzdHJpbmcnICYmIHRoaXMudmFsdWUgIT09ICcnICYmIGlzTmFOKHBhcnNlRmxvYXQodGhpcy52YWx1ZSkpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG4gICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgPT09ICdudW1iZXInICYmIGlzTmFOKHRoaXMudmFsdWUpKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWVcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHRoaXMubWF4VmFsdWUgLSB0aGlzLnJldHlwZVZhbHVlKHRoaXMudmFsdWUpIDwgMDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoKHRoaXMubWluVmFsdWUgfHwgdGhpcy5taW5WYWx1ZSA9PT0gMCkgJiYgIXRoaXMubWF4VmFsdWUgJiYgdGhpcy52YWx1ZSAmJiBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ3N0cmluZycgJiYgdGhpcy52YWx1ZSAhPT0gJycgJiYgaXNOYU4ocGFyc2VGbG9hdCh0aGlzLnZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSA9PT0gJ251bWJlcicgJiYgaXNOYU4odGhpcy52YWx1ZSkpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZVxyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdGhpcy5taW5WYWx1ZSAtIHRoaXMucmV0eXBlVmFsdWUodGhpcy52YWx1ZSkgPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoICE9PSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLm1heExlbmd0aCA8IFN0cmluZyh0aGlzLnZhbHVlKS5sZW5ndGhcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5taW5MZW5ndGggJiYgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCAhPT0gMCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5taW5MZW5ndGggPiBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoXHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJldHlwZVZhbHVlKHZhbHVlOiBudW1iZXIgfCBzdHJpbmcpOiBudW1iZXIge1xyXG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgaWYgKHZhbHVlID09PSAnJykge1xyXG4gICAgICAgIHJldHVybiAwXHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFpc05hTihwYXJzZUZsb2F0KHZhbHVlKSkpIHtcclxuICAgICAgICByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSlcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKGlzTmFOKHZhbHVlKSkge1xyXG4gICAgICAgIHJldHVybiAwXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSlcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gMFxyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgICBjbGFzcz1cIm1yeC1oaW50LWVycm9yLW1lc3NhZ2UgbXQtMVwiXHJcbiAgICBbY2xhc3MubXJ4LWludmFsaWQtbWVzc2FnZV09XCJnZXRJc0ludmFsaWQgJiYgY2hlY2tJbnZhbGlkXCJcclxuICAgIFtpbm5lckhUTUxdPVwicmVwbGFjZU1lc3NhZ2VcIlxyXG4+PC9kaXY+XHJcbiJdfQ==
|
|
@@ -115,8 +115,8 @@ export class PdfViewerComponent {
|
|
|
115
115
|
}
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
-
onPageChange(
|
|
119
|
-
this.page =
|
|
118
|
+
onPageChange(event) {
|
|
119
|
+
this.page = event || 1;
|
|
120
120
|
}
|
|
121
121
|
onNextPage() {
|
|
122
122
|
if (this.page < this.pageCount) {
|
|
@@ -149,13 +149,13 @@ export class PdfViewerComponent {
|
|
|
149
149
|
onZoomLevelSelect(item) {
|
|
150
150
|
this.selectedZoom = item;
|
|
151
151
|
}
|
|
152
|
-
onZoomChange(
|
|
153
|
-
const existingOption = this.zoomOptions.find(x => x.value ===
|
|
152
|
+
onZoomChange(event) {
|
|
153
|
+
const existingOption = this.zoomOptions.find(x => x.value === event);
|
|
154
154
|
if (existingOption) {
|
|
155
155
|
this.selectedZoom = { ...existingOption };
|
|
156
156
|
return;
|
|
157
157
|
}
|
|
158
|
-
const fixedValue = Math.round(Number(
|
|
158
|
+
const fixedValue = Math.round(Number(event));
|
|
159
159
|
this.selectedZoom = { value: fixedValue, label: `${fixedValue}%` };
|
|
160
160
|
}
|
|
161
161
|
onRotate(direction) {
|
|
@@ -215,15 +215,16 @@ export class PdfViewerComponent {
|
|
|
215
215
|
findPrevious() {
|
|
216
216
|
this._pdfViewerService.findPrevious();
|
|
217
217
|
}
|
|
218
|
-
onUpdateMatchCase(
|
|
219
|
-
this.totalFound =
|
|
220
|
-
this.currentFind =
|
|
218
|
+
onUpdateMatchCase(event) {
|
|
219
|
+
this.totalFound = event.total;
|
|
220
|
+
this.currentFind = event.current;
|
|
221
|
+
this.searchQuery = event.query;
|
|
221
222
|
}
|
|
222
|
-
onFindStateChanged(
|
|
223
|
-
this.findState =
|
|
223
|
+
onFindStateChanged(event) {
|
|
224
|
+
this.findState = event;
|
|
224
225
|
}
|
|
225
|
-
onSidebarVisibleChange(
|
|
226
|
-
this.sidebarVisible =
|
|
226
|
+
onSidebarVisibleChange(event) {
|
|
227
|
+
this.sidebarVisible = event;
|
|
227
228
|
}
|
|
228
229
|
onHandToolClick() {
|
|
229
230
|
this.handTool = !this.handTool;
|
|
@@ -326,4 +327,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
326
327
|
type: HostListener,
|
|
327
328
|
args: ['document:keydown', ['$event']]
|
|
328
329
|
}] } });
|
|
329
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFLTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUVMLFNBQVMsRUFDVCw2QkFBNkIsRUFHOUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQWMsV0FBVyxFQUFnQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBc0I3RSxNQUFNLE9BQU8sa0JBQWtCO0lBaUVuQjtJQUNBO0lBQ0E7SUFDQTtJQW5FSCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsR0FBYyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ3pDLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDdkIsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1Qsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQzdCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFlBQVksR0FBOEMsRUFBQyxLQUFLLEVBQUUsTUFB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ZUFBZSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQzNEOzRCQUNELEtBQUssQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDOzRCQUNuRSxVQUFVLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQzs0QkFDcEQsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7eUJBQ3JELENBQUM7cUJBQ0gsYUFDVSxDQUFDLGNBQWMsQ0FBQyxtQkFDVix1QkFBdUIsQ0FBQyxNQUFNO2lMQTRCdEMsaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFFb0MsU0FBUztzQkFBbEQsU0FBUzt1QkFBQyw2QkFBNkI7Z0JBQ2pCLFFBQVE7c0JBQTlCLFNBQVM7dUJBQUMsVUFBVTtnQkFHckIsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLGtCQUFrQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIE9uSW5pdCxcclxuICBSZW5kZXJlcjIsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgYW5pbWF0ZSwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcbmltcG9ydCB7IFRvb2x0aXBTZXJ2aWNlIH0gZnJvbSAnLi4vdG9vbHRpcC9zZXJ2aWNlcy90b29sdGlwLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIEZpbmRSZXN1bHRNYXRjaGVzQ291bnQsXHJcbiAgRmluZFN0YXRlLFxyXG4gIE5neEV4dGVuZGVkUGRmVmlld2VyQ29tcG9uZW50LFxyXG4gIE5neEV4dGVuZGVkUGRmVmlld2VyU2VydmljZSxcclxuICBQYWdlc0xvYWRlZEV2ZW50XHJcbn0gZnJvbSAnbmd4LWV4dGVuZGVkLXBkZi12aWV3ZXInO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5cclxudHlwZSBSb3RhdGlvblR5cGUgPSAwIHwgOTAgfCAxODAgfCAyNzA7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ21yeC1wZGYtdmlld2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcGRmLXZpZXdlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGRmLXZpZXdlci5jb21wb25lbnQubGVzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcclxuICAgICAgc3RhdGUoXHJcbiAgICAgICAgJ29wZW4nLFxyXG4gICAgICAgIHN0eWxlKHtoZWlnaHQ6ICcqJywgcGFkZGluZzogJyonLCAnbWFyZ2luLWJvdHRvbSc6ICc4cHgnfSlcclxuICAgICAgKSxcclxuICAgICAgc3RhdGUoJ2Nsb3NlZCcsIHN0eWxlKHtoZWlnaHQ6IDAsIHBhZGRpbmc6IDAsICdtYXJnaW4tYm90dG9tJzogMH0pKSxcclxuICAgICAgdHJhbnNpdGlvbignb3BlbiA9PiBjbG9zZWQnLCBbYW5pbWF0ZSgnMC41cyBlYXNlJyldKSxcclxuICAgICAgdHJhbnNpdGlvbignY2xvc2VkID0+IG9wZW4nLCBbYW5pbWF0ZSgnMC41cyBlYXNlJyldKSxcclxuICAgIF0pLFxyXG4gIF0sXHJcbiAgcHJvdmlkZXJzOiBbVG9vbHRpcFNlcnZpY2VdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGRmVmlld2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIHB1YmxpYyBzZWFyY2hRdWVyeSA9ICcnO1xyXG4gIHB1YmxpYyBmaW5kU3RhdGU6IEZpbmRTdGF0ZSA9IEZpbmRTdGF0ZS5QRU5ESU5HO1xyXG4gIHB1YmxpYyB0b3RhbEZvdW5kOiBudW1iZXIgPSAwO1xyXG4gIHB1YmxpYyBjdXJyZW50RmluZDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgcGFnZSA9IDE7XHJcbiAgcHVibGljIGlzU2VhcmNoUGFuZWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgcHVibGljIHNpZGViYXJWaXNpYmxlID0gdHJ1ZTtcclxuICBwdWJsaWMgcGFnZUNvdW50ID0gMTtcclxuICBwdWJsaWMgc2VsZWN0ZWRab29tOiB7IHZhbHVlOiBudW1iZXIgfCBzdHJpbmcsIGxhYmVsOiBzdHJpbmcgfSA9IHt2YWx1ZTogJ2F1dG8nLCBsYWJlbDogJ9CQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4J307XHJcbiAgcHVibGljIHpvb21PcHRpb25zID0gW1xyXG4gICAge3ZhbHVlOiAnYXV0bycsIGxhYmVsOiAn0JDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgnfSxcclxuICAgIHt2YWx1ZTogJ3BhZ2UtYWN0dWFsJywgbGFiZWw6ICfQoNC10LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCd9LFxyXG4gICAge3ZhbHVlOiAncGdlLWZpdCcsIGxhYmVsOiAn0J/QviDRgNCw0LfQvNC10YDRgyDRgdGC0YDQsNC90LjRhtGLJ30sXHJcbiAgICB7dmFsdWU6ICdwYWdlLXdpZHRoJywgbGFiZWw6ICfQn9C+INGI0LjRgNC40L3QtSDRgdGC0YDQsNC90LjRhtGLJ30sXHJcbiAgICB7dmFsdWU6IDUwLCBsYWJlbDogJzUwJSd9LFxyXG4gICAge3ZhbHVlOiAxMDAsIGxhYmVsOiAnMTAwJSd9LFxyXG4gICAge3ZhbHVlOiAxMjUsIGxhYmVsOiAnMTI1JSd9LFxyXG4gICAge3ZhbHVlOiAxNTAsIGxhYmVsOiAnMTUwJSd9LFxyXG4gICAge3ZhbHVlOiAyMDAsIGxhYmVsOiAnMjAwJSd9LFxyXG4gICAge3ZhbHVlOiAzMDAsIGxhYmVsOiAnMzAwJSd9LFxyXG4gICAge3ZhbHVlOiA0MDAsIGxhYmVsOiAnNDAwJSd9LFxyXG4gIF07XHJcblxyXG4gIHB1YmxpYyByb3RhdGlvbjogUm90YXRpb25UeXBlID0gMDtcclxuXHJcbiAgQElucHV0KCkgc2hvd1NpZGViYXJCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dIYW5kVG9vbEJ1dHRvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGhhbmRUb29sID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RmluZGJhckJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1JvdGF0ZUJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1ByaW50QnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RG93bmxvYWRCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dFeHBhbmRCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGRlZmF1bHRab29tOiBudW1iZXIgfCAnYXV0bycgfCAncGFnZS1hY3R1YWwnIHwgJ3BnZS1maXQnIHwgJ3BhZ2Utd2lkdGgnID0gJ2F1dG8nO1xyXG4gIEBJbnB1dCgpIGRvd25sb2FkRmlsZU5hbWUgPSAnJztcclxuICBASW5wdXQoKSBzcmMgPSAnJztcclxuXHJcbiAgQFZpZXdDaGlsZChOZ3hFeHRlbmRlZFBkZlZpZXdlckNvbXBvbmVudCkgcGRmVmlld2VyITogTmd4RXh0ZW5kZWRQZGZWaWV3ZXJDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZCgnZmluZE1lbnUnKSBmaW5kTWVudTogRWxlbWVudFJlZiB8IG51bGwgPSBudWxsO1xyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDprZXlkb3duJywgWyckZXZlbnQnXSlcclxuICBoYW5kbGVLZXlib2FyZEV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoKGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSkgJiYgZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICdwJyAmJiAhdGhpcy5zaG93UHJpbnRCdXR0b24pIHtcclxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBpZ25vcmVLZXlzKCk6IHN0cmluZ1tdIHtcclxuICAgIGNvbnN0IGlnbm9yZWRLZXlzID0gW107XHJcblxyXG4gICAgaWYgKCF0aGlzLnNob3dSb3RhdGVCdXR0b24pIHtcclxuICAgICAgaWdub3JlZEtleXMucHVzaCgnUicsICdTaGlmdCtSJyk7XHJcbiAgICB9XHJcbiAgICBpZiAoIXRoaXMuc2hvd0Rvd25sb2FkQnV0dG9uKSB7XHJcbiAgICAgIGlnbm9yZWRLZXlzLnB1c2goJ0NUUkwrUycpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnNob3dTaWRlYmFyQnV0dG9uKSB7XHJcbiAgICAgIGlnbm9yZWRLZXlzLnB1c2goJ0Y0Jyk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGlnbm9yZWRLZXlzO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9wZGZWaWV3ZXJTZXJ2aWNlOiBOZ3hFeHRlbmRlZFBkZlZpZXdlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHJpdmF0ZSBfcmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX2h0dHA6IEh0dHBDbGllbnRcclxuICApIHtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcclxuICAgIGlmIChjaGFuZ2VzWydkZWZhdWx0Wm9vbSddICYmIGNoYW5nZXNbJ2RlZmF1bHRab29tJ10uY3VycmVudFZhbHVlICE9IGNoYW5nZXNbJ2RlZmF1bHRab29tJ10ucHJldmlvdXNWYWx1ZSkge1xyXG4gICAgICB0aGlzLmluaXRab29tKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbml0Wm9vbSgpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nVmFsdWUgPSB0aGlzLnpvb21PcHRpb25zLmZpbmQoeCA9PiB4LnZhbHVlID09PSB0aGlzLmRlZmF1bHRab29tKTtcclxuXHJcbiAgICBpZiAoZXhpc3RpbmdWYWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHsuLi5leGlzdGluZ1ZhbHVlfTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiB0aGlzLmRlZmF1bHRab29tLCBsYWJlbDogYCR7dGhpcy5kZWZhdWx0Wm9vbX0lYH07XHJcbiAgfVxyXG5cclxuICBpbml0U2VhcmNoKCkge1xyXG4gICAgaWYgKHRoaXMuc2hvd0ZpbmRiYXJCdXR0b24pIHtcclxuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xyXG4gICAgICAgIGlmIChldmVudC5rZXkudG9Mb3dlckNhc2UoKSA9PT0gJ2YnICYmIGV2ZW50LmN0cmxLZXkpIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuaW5pdFNlYXJjaCgpO1xyXG4gICAgdGhpcy5pbml0Wm9vbSgpO1xyXG5cclxuICAgIHRoaXMuX3JlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ2NsaWNrJywgKGV2ZW50OiBFdmVudCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZSkge1xyXG4gICAgICAgIGNvbnN0IGlzSW5NZW51ID0gdGhpcy5maW5kTWVudT8ubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpXHJcbiAgICAgICAgICB8fCAoZXZlbnQudGFyZ2V0IGFzIGFueSkuaWQgPT09ICdmaW5kTmV4dCdcclxuICAgICAgICAgIHx8IChldmVudC50YXJnZXQgYXMgYW55KS5pZCA9PT0gJ2ZpbmRQcmV2aW91cyc7XHJcblxyXG4gICAgICAgIGNvbnN0IGlzRmluZEJ1dHRvbiA9IChldmVudC50YXJnZXQgYXMgYW55KS5jbGFzc0xpc3QuY29udGFpbnMoJ21yeC1wZGYtdmlld2VyX19maW5kLWJ1dHRvbicpO1xyXG5cclxuICAgICAgICBpZiAoIWlzSW5NZW51ICYmICFpc0ZpbmRCdXR0b24pIHtcclxuICAgICAgICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuX3JlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb25QYWdlQ2hhbmdlKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2UgPSAkZXZlbnQgfHwgMTtcclxuICB9XHJcblxyXG4gIG9uTmV4dFBhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5wYWdlIDwgdGhpcy5wYWdlQ291bnQpIHtcclxuICAgICAgdGhpcy5wYWdlID0gdGhpcy5wYWdlICsgMTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTGFzdFBhZ2UoKSB7XHJcbiAgICB0aGlzLnBhZ2UgPSB0aGlzLnBhZ2VDb3VudDtcclxuICB9XHJcblxyXG4gIG9uUGFnZXNMb2FkZWQoJGV2ZW50OiBQYWdlc0xvYWRlZEV2ZW50KSB7XHJcbiAgICBjb25zdCB2aWV3T3V0bGluZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN2aWV3T3V0bGluZScpO1xyXG4gICAgY29uc3Qgdmlld1RodW1ibmFpbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyN2aWV3VGh1bWJuYWlsJyk7XHJcblxyXG4gICAgdGhpcy5wYWdlQ291bnQgPSAkZXZlbnQucGFnZXNDb3VudDtcclxuXHJcbiAgICBpZiAodmlld091dGxpbmUpIHtcclxuICAgICAgKHZpZXdPdXRsaW5lIGFzIGFueSkudGl0bGUgPSAnJztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLl9yZW5kZXJlci5zZXRTdHlsZSh2aWV3VGh1bWJuYWlsLCAnZGlzcGxheScsICdub25lJyk7XHJcbiAgICBpZiAodmlld1RodW1ibmFpbCkge1xyXG5cclxuICAgICAgKHZpZXdUaHVtYm5haWwgYXMgYW55KS50aXRsZSA9ICd0ZXN0JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHpvb21DbGljayhpbmNyZWFzZTogYm9vbGVhbikge1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLnNlbGVjdGVkWm9vbS52YWx1ZSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7dmFsdWU6IDEwMCwgbGFiZWw6ICcxMDAlJ307XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdWYWx1ZSA9IGluY3JlYXNlID8gdGhpcy5zZWxlY3RlZFpvb20udmFsdWUgKz0gMjAgOiB0aGlzLnNlbGVjdGVkWm9vbS52YWx1ZSAtPSAyMDtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHt2YWx1ZTogbmV3VmFsdWUsIGxhYmVsOiBgJHtuZXdWYWx1ZX0lYH07XHJcbiAgfVxyXG5cclxuICBvblpvb21MZXZlbFNlbGVjdChpdGVtOiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0gaXRlbTtcclxuICB9XHJcblxyXG4gIG9uWm9vbUNoYW5nZSgkZXZlbnQ6IHN0cmluZyB8IG51bWJlcikge1xyXG4gICAgY29uc3QgZXhpc3RpbmdPcHRpb24gPSB0aGlzLnpvb21PcHRpb25zLmZpbmQoeCA9PiB4LnZhbHVlID09PSAkZXZlbnQpO1xyXG5cclxuICAgIGlmIChleGlzdGluZ09wdGlvbikge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHsuLi5leGlzdGluZ09wdGlvbn07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmaXhlZFZhbHVlID0gTWF0aC5yb3VuZChOdW1iZXIoJGV2ZW50KSk7XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7dmFsdWU6IGZpeGVkVmFsdWUsIGxhYmVsOiBgJHtmaXhlZFZhbHVlfSVgfTtcclxuICB9XHJcblxyXG4gIG9uUm90YXRlKGRpcmVjdGlvbjogbnVtYmVyKSB7XHJcbiAgICBsZXQgZGF0YSA9IHRoaXMucm90YXRpb247XHJcblxyXG4gICAgaWYgKGRpcmVjdGlvbiA8IDApIHtcclxuICAgICAgZGF0YSAtPSA5MDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGRhdGEgKz0gOTA7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRhdGEgPj0gMzYwKSB7XHJcbiAgICAgIHRoaXMucm90YXRpb24gPSBkYXRhIC0gMzYwIGFzIFJvdGF0aW9uVHlwZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkYXRhIDwgMCkge1xyXG4gICAgICB0aGlzLnJvdGF0aW9uID0gMzYwICsgZGF0YSBhcyBSb3RhdGlvblR5cGU7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJvdGF0aW9uID0gZGF0YSBhcyBSb3RhdGlvblR5cGU7XHJcbiAgfVxyXG5cclxuICBvblByaW50Q2xpY2soKSB7XHJcbiAgICB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLnByaW50KCk7XHJcblxyXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIGNvbnN0IHByaW50RGlhbG9nID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignZGlhbG9nI3ByaW50U2VydmljZURpYWxvZycpO1xyXG4gICAgICBjb25zdCBwcm9ncmVzc1RleHQgPSBwcmludERpYWxvZz8ucXVlcnlTZWxlY3RvcignLnJvdyBzcGFuJyk7XHJcbiAgICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IHByaW50RGlhbG9nPy5xdWVyeVNlbGVjdG9yKCcjcHJpbnRDYW5jZWwgc3BhbicpO1xyXG5cclxuICAgICAgaWYgKHByb2dyZXNzVGV4dCkge1xyXG4gICAgICAgIHByb2dyZXNzVGV4dC50ZXh0Q29udGVudCA9ICfQn9C+0LTQs9C+0YLQvtCy0LrQsCDQtNC+0LrRg9C80LXQvdGC0LAg0Log0L/QtdGH0LDRgtC4Li4uJztcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNhbmNlbEJ1dHRvbikge1xyXG4gICAgICAgIGNhbmNlbEJ1dHRvbi50ZXh0Q29udGVudCA9ICfQntGC0LzQtdC90LAnO1xyXG4gICAgICB9XHJcbiAgICB9LCAxKTtcclxuICB9XHJcblxyXG4gIG9uU2lkZWJhclZpZXdDbGljaygpIHtcclxuICAgIHRoaXMuc2lkZWJhclZpc2libGUgPSAhdGhpcy5zaWRlYmFyVmlzaWJsZTtcclxuICB9XHJcblxyXG4gIG9uRXhwYW5kTW9kZUNsaWNrKCkge1xyXG4gICAgY29uc3QgcGRmVmlld2VyQXBwbGljYXRpb24gPSAod2luZG93IGFzIGFueSkuUERGVmlld2VyQXBwbGljYXRpb247XHJcblxyXG4gICAgaWYgKHBkZlZpZXdlckFwcGxpY2F0aW9uPy5wZGZWaWV3ZXIpIHtcclxuICAgICAgcGRmVmlld2VyQXBwbGljYXRpb24ucmVxdWVzdFByZXNlbnRhdGlvbk1vZGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VhcmNoQ2xpY2soKSB7XHJcbiAgICB0aGlzLmlzU2VhcmNoUGFuZWxWaXNpYmxlID0gIXRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGU7XHJcbiAgfVxyXG5cclxuICBvblNlYXJjaCgkZXZlbnQ6IHN0cmluZykge1xyXG4gICAgaWYgKCRldmVudCkge1xyXG4gICAgICB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmZpbmQoJGV2ZW50LCB7aGlnaGxpZ2h0QWxsOiB0cnVlfSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuX3BkZlZpZXdlclNlcnZpY2UuZmluZCgnJywge30pO1xyXG4gIH1cclxuXHJcbiAgZmluZE5leHQoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmZpbmROZXh0KCk7XHJcbiAgfVxyXG5cclxuICBmaW5kUHJldmlvdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmZpbmRQcmV2aW91cygpO1xyXG4gIH1cclxuXHJcbiAgb25VcGRhdGVNYXRjaENhc2UoJGV2ZW50OiBGaW5kUmVzdWx0TWF0Y2hlc0NvdW50KSB7XHJcbiAgICB0aGlzLnRvdGFsRm91bmQgPSAkZXZlbnQudG90YWw7XHJcbiAgICB0aGlzLmN1cnJlbnRGaW5kID0gJGV2ZW50LmN1cnJlbnQ7XHJcbiAgfVxyXG5cclxuICBvbkZpbmRTdGF0ZUNoYW5nZWQoJGV2ZW50OiBGaW5kU3RhdGUpIHtcclxuICAgIHRoaXMuZmluZFN0YXRlID0gJGV2ZW50O1xyXG4gIH1cclxuXHJcbiAgb25TaWRlYmFyVmlzaWJsZUNoYW5nZSgkZXZlbnQ6IGJvb2xlYW4pIHtcclxuICAgIHRoaXMuc2lkZWJhclZpc2libGUgPSAkZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBvbkhhbmRUb29sQ2xpY2soKSB7XHJcbiAgICB0aGlzLmhhbmRUb29sID0gIXRoaXMuaGFuZFRvb2w7XHJcbiAgfVxyXG5cclxuICBvbkRvd25sb2FkQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5kb3dubG9hZEZpbGVOYW1lKSB7XHJcbiAgICAgIHRoaXMuX2Rvd25sb2FkRmlsZSh0aGlzLmRvd25sb2FkRmlsZU5hbWUpLnRoZW4oKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuXHJcbiAgICAgIGhlYWRlcnMuc2V0KCdDb250ZW50LURpc3Bvc2l0aW9uJywgJ9Cf0LXRh9Cw0YLQvdCw0Y8g0YTQvtGA0LzQsCDQt9Cw0Y/QstC60Lgg0YHQviDRiNGC0LDQvNC/0L7QvC5wZGYnKTtcclxuXHJcbiAgICAgIHRoaXMuX2h0dHAuZ2V0KHRoaXMuc3JjLCB7cmVzcG9uc2VUeXBlOiAnYmxvYicsIG9ic2VydmU6ICdyZXNwb25zZScsfSlcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogSHR0cFJlc3BvbnNlPEJsb2I+KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb250ZW50RGlzcG9zaXRpb24gPSByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1EaXNwb3NpdGlvbicpO1xyXG5cclxuICAgICAgICAgIGlmICghY29udGVudERpc3Bvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Rvd25sb2FkRmlsZSgnZG9jdW1lbnQucGRmJykudGhlbigpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgZW5jb2RpbmdGaWxlTmFtZSA9IGNvbnRlbnREaXNwb3NpdGlvbi5tYXRjaCgvZmlsZW5hbWVcXCpcXHMqPVxccyooW147XSspL2kpO1xyXG5cclxuICAgICAgICAgIGlmIChlbmNvZGluZ0ZpbGVOYW1lKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gZW5jb2RpbmdGaWxlTmFtZVsxXS5zcGxpdCgnXFwnXFwnJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZW5jb2RpbmcgPSBwYXJ0c1swXS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gcGFydHNbMV07XHJcblxyXG4gICAgICAgICAgICAgIGlmIChlbmNvZGluZyA9PT0gJ3V0Zi04Jykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZG93bmxvYWRGaWxlKGRlY29kZVVSSUNvbXBvbmVudChmaWxlTmFtZSkpLnRoZW4oKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb25zdCBzaW1wbGVGaWxlTmFtZSA9IGNvbnRlbnREaXNwb3NpdGlvbi5tYXRjaCgvZmlsZW5hbWVcXHMqPVxccypbXCInXT8oW147XCInXSspL2kpO1xyXG5cclxuICAgICAgICAgIGlmIChzaW1wbGVGaWxlTmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kb3dubG9hZEZpbGUoc2ltcGxlRmlsZU5hbWVbMV0pLnRoZW4oKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuX2Rvd25sb2FkRmlsZSgnZG9jdW1lbnQucGRmJykudGhlbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZG93bmxvYWRGaWxlKGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBhd2FpdCB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmdldEN1cnJlbnREb2N1bWVudEFzQmxvYigpO1xyXG4gICAgY29uc3Qgb2JqZWN0VXJsOiBzdHJpbmcgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgY29uc3QgYTogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJykgYXMgSFRNTEFuY2hvckVsZW1lbnQ7XHJcblxyXG4gICAgYS5ocmVmID0gb2JqZWN0VXJsO1xyXG4gICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XHJcblxyXG4gICAgYS5jbGljaygpO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcblxyXG4gICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2N1c3RvbVRvb2xiYXI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX190b29sYmFyXCIgaWQ9XCJ0b29sYmFyVmlld2VyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGctMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGctMVwiPlxyXG4gICAgICAgIEBpZiAoc2hvd1NpZGViYXJCdXR0b24pIHtcclxuICAgICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1idXJnZXInXCJcclxuICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgICAgKG1yeENsaWNrKT1cIm9uU2lkZWJhclZpZXdDbGljaygpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydtcngtaWNvbi1idXR0b24tLXRvZ2dsZWQnOiBzaWRlYmFyVmlzaWJsZX1cIlxyXG4gICAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0LrQsNC30LDRgtGML9GB0LrRgNGL0YLRjCDQsdC+0LrQvtCy0YPRjiDQv9Cw0L3QtdC70YwnXCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc2hvd0ZpbmRiYXJCdXR0b24pIHtcclxuICAgICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1zZWFyY2gnXCJcclxuICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgICAgKG1yeENsaWNrKT1cIm9uU2VhcmNoQ2xpY2soKVwiXHJcbiAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTIgbXJ4LXBkZi12aWV3ZXJfX2ZpbmQtYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbXJ4LWljb24tYnV0dG9uLS10b2dnbGVkJzogaXNTZWFyY2hQYW5lbFZpc2libGV9XCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cd0LDQudGC0Lgg0LIg0LTQvtC60YPQvNC10L3RgtC1J1wiXHJcbiAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICBAaWYgKGlzU2VhcmNoUGFuZWxWaXNpYmxlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX19maW5kYmFyIGctMVwiICNmaW5kTWVudT5cclxuICAgICAgICAgIDxtcngtaW5wdXQtdGV4dFxyXG4gICAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCJmaW5kU3RhdGUgPT09IDEgPyAnbXJ4LWlucHV0LWVycm9yJyA6JycrJ3NlYXJjaFRleHQnXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLQndCw0LnRgtC4INCyINC00L7QutGD0LzQtdC90YLQtS4uLlwiXHJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFF1ZXJ5XCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWFyY2goJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9tcngtaW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1sZWZ0J1wiXHJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidwLTEnXCJcclxuICAgICAgICAgICAgICAobXJ4Q2xpY2spPVwiZmluZFByZXZpb3VzKClcIlxyXG4gICAgICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWNoZXZyb24tcmlnaHQnXCJcclxuICAgICAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3AtMSdcIlxyXG4gICAgICAgICAgICAgIChtcnhDbGljayk9XCJmaW5kTmV4dCgpXCJcclxuICAgICAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBAaWYgKGZpbmRTdGF0ZSA9PT0gMCB8fCBmaW5kU3RhdGUgPT09IDIpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX19maW5kYmFyLXJlc3VsdFwiPlxyXG4gICAgICAgICAgICAgIHt7IGN1cnJlbnRGaW5kIH19INC40Lcge3sgdG90YWxGb3VuZCB9fSDRgdC+0LLQv9Cw0LTQtdC90LjQuVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoZmluZFN0YXRlID09PSAxKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xvci1uZWdhdGl2ZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG5vd3JhcFwiPtCk0YDQsNC30LAg0L3QtSDQvdCw0LnQtNC10L3QsDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJfX3Rvb2xiYXItLW5hdlwiPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24taW4tdGhlLWVuZC1sZWZ0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C10YDQstCw0Y8g0YHRgtGA0LDQvdC40YbQsCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25QYWdlQ2hhbmdlKDEpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLWxlZnQnXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0YDQtdC00YvQtNGD0YnQsNGPINGB0YLRgNCw0L3QuNGG0LAnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUGFnZUNoYW5nZShwYWdlIC0gMSB8fCAxKVwiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIDxtcngtaW5wdXQtbnVtYmVyXHJcbiAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtNTYnXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cInBhZ2VcIlxyXG4gICAgICAgICAgW251bWJlclR5cGVdPVwiJ2ludCdcIlxyXG4gICAgICAgICAgW21pblZhbHVlXT1cIjFcIlxyXG4gICAgICAgICAgW21heFZhbHVlXT1cInBhZ2VDb3VudFwiXHJcbiAgICAgICAgICBbaXNBdXRvQ29ycmVjdGluZ1ZhbHVlXT1cInRydWVcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+0LjQtyB7eyBwYWdlQ291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLXJpZ2h0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbk5leHRQYWdlKClcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Ch0LvQtdC00YPRjtGJ0LDRjyDRgdGC0YDQsNC90LjRhtCwJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1pbi10aGUtZW5kLXJpZ2h0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbkxhc3RQYWdlKClcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7RgdC70LXQtNC90Y/RjyDRgdGC0YDQsNC90LjRhtCwJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgKG1yeENsaWNrKT1cInpvb21DbGljayhmYWxzZSlcIlxyXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tbWludXMnXCJcclxuICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgIFt0b29sdGlwXT1cIifQo9C80LXQvdGM0YjQuNGC0YwnXCJcclxuICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgKG1yeENsaWNrKT1cInpvb21DbGljayh0cnVlKVwiXHJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1wbHVzJ1wiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICBbdG9vbHRpcF09XCIn0KPQstC10LvQuNGH0LjRgtGMJ1wiXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1yeC1pbnB1dC1zZWxlY3RcclxuICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3dweC0xNTYnXCJcclxuICAgICAgICBbaXRlbXNdPVwiem9vbU9wdGlvbnNcIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uWm9vbUxldmVsU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkWm9vbVwiXHJcbiAgICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiPlxyXG4gICAgICA8L21yeC1pbnB1dC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgIEBpZiAoc2hvd0hhbmRUb29sQnV0dG9uKSB7XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1mYy10ZXh0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6ICFoYW5kVG9vbH1cIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25IYW5kVG9vbENsaWNrKClcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHNob3dSb3RhdGVCdXR0b24pIHtcclxuICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXJlbG9hZCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25Sb3RhdGUoMSlcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7QstC10YDQvdGD0YLRjCDQv9C+INGH0LDRgdC+0LLQvtC5INGB0YLRgNC10LvQutC1J1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93Um90YXRlQnV0dG9uKSB7XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1yZXR1cm4nXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUm90YXRlKC0xKVwiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcF09XCIn0J/QvtCy0LXRgNC90YPRgtGMINC/0YDQvtGC0LjQsiDRh9Cw0YHQvtCy0L7QuSDRgdGC0YDQtdC70LrQuCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd0V4cGFuZEJ1dHRvbikge1xyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tYXJyb3ctZXhwYW5kJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbkV4cGFuZE1vZGVDbGljaygpXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0LrQsNC30LDRgtGMINC90LAg0LLQtdGB0Ywg0Y3QutGA0LDQvSdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd1ByaW50QnV0dG9uKSB7XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1wcmludCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcF09XCIn0J/QtdGH0LDRgtGMJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvblByaW50Q2xpY2soKVwiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd0Rvd25sb2FkQnV0dG9uKSB7XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1kb3dubG9hZCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcF09XCIn0KHQutCw0YfQsNGC0YwnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uRG93bmxvYWRDbGljaygpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5neC1leHRlbmRlZC1wZGYtdmlld2VyXHJcbiAgI3BkZlZpZXdlclxyXG4gIGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJcIlxyXG4gIFtzcmNdPVwic3JjXCJcclxuICBbcGFnZV09XCJwYWdlXCJcclxuICBbc2lkZWJhclZpc2libGVdPVwic2hvd1NpZGViYXJCdXR0b24gJiYgc2lkZWJhclZpc2libGVcIlxyXG4gIFtjdXN0b21Ub29sYmFyXT1cImN1c3RvbVRvb2xiYXJcIlxyXG4gIFtzaG93U2lkZWJhckJ1dHRvbl09XCJ0cnVlXCJcclxuICBbc2hvd1JvdGF0ZUJ1dHRvbl09XCJzaG93Um90YXRlQnV0dG9uXCJcclxuICBbc2hvd0Rvd25sb2FkQnV0dG9uXT1cInNob3dEb3dubG9hZEJ1dHRvblwiXHJcbiAgW2lnbm9yZUtleXNdPVwiaWdub3JlS2V5c1wiXHJcbiAgW3pvb21dPVwic2VsZWN0ZWRab29tLnZhbHVlXCJcclxuICBbdGV4dExheWVyXT1cInRydWVcIlxyXG4gIFtoYW5kVG9vbF09XCJoYW5kVG9vbFwiXHJcbiAgW3JvdGF0aW9uXT1cInJvdGF0aW9uXCJcclxuICAoem9vbUNoYW5nZSk9XCJvblpvb21DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gIChwYWdlc0xvYWRlZCk9XCJvblBhZ2VzTG9hZGVkKCRldmVudClcIlxyXG4gICh1cGRhdGVGaW5kU3RhdGUpPVwib25GaW5kU3RhdGVDaGFuZ2VkKCRldmVudClcIlxyXG4gIChzaWRlYmFyVmlzaWJsZUNoYW5nZSk9XCJvblNpZGViYXJWaXNpYmxlQ2hhbmdlKCRldmVudClcIlxyXG4gICh1cGRhdGVGaW5kTWF0Y2hlc0NvdW50KT1cIm9uVXBkYXRlTWF0Y2hDYXNlKCRldmVudClcIlxyXG4+PC9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlcj5cclxuIl19
|
|
330
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGRmLXZpZXdlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9teXJ0YS11aS9zcmMvbGliL2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL215cnRhLXVpL3NyYy9saWIvY29tcG9uZW50cy9wZGYtdmlld2VyL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFLTCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFDckUsT0FBTyxFQUVMLFNBQVMsRUFDVCw2QkFBNkIsRUFHOUIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQWMsV0FBVyxFQUFnQixNQUFNLHNCQUFzQixDQUFDOzs7Ozs7Ozs7O0FBc0I3RSxNQUFNLE9BQU8sa0JBQWtCO0lBaUVuQjtJQUNBO0lBQ0E7SUFDQTtJQW5FSCxXQUFXLEdBQUcsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsR0FBYyxTQUFTLENBQUMsT0FBTyxDQUFDO0lBQ3pDLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDdkIsV0FBVyxHQUFXLENBQUMsQ0FBQztJQUN4QixJQUFJLEdBQUcsQ0FBQyxDQUFDO0lBQ1Qsb0JBQW9CLEdBQUcsS0FBSyxDQUFDO0lBQzdCLGNBQWMsR0FBRyxJQUFJLENBQUM7SUFDdEIsU0FBUyxHQUFHLENBQUMsQ0FBQztJQUNkLFlBQVksR0FBOEMsRUFBQyxLQUFLLEVBQUUsTUFB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LEVBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUMzRDs0QkFDRCxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQzs0QkFDbkUsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7NEJBQ3BELFVBQVUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO3lCQUNyRCxDQUFDO3FCQUNILGFBQ1UsQ0FBQyxjQUFjLENBQUMsbUJBQ1YsdUJBQXVCLENBQUMsTUFBTTtpTEE0QnRDLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBRW9DLFNBQVM7c0JBQWxELFNBQVM7dUJBQUMsNkJBQTZCO2dCQUNqQixRQUFRO3NCQUE5QixTQUFTO3VCQUFDLFVBQVU7Z0JBR3JCLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxrQkFBa0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIFNpbXBsZUNoYW5nZXMsXHJcbiAgVmlld0NoaWxkXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IGFuaW1hdGUsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5pbXBvcnQgeyBUb29sdGlwU2VydmljZSB9IGZyb20gJy4uL3Rvb2x0aXAvc2VydmljZXMvdG9vbHRpcC5zZXJ2aWNlJztcclxuaW1wb3J0IHtcclxuICBGaW5kUmVzdWx0TWF0Y2hlc0NvdW50LFxyXG4gIEZpbmRTdGF0ZSxcclxuICBOZ3hFeHRlbmRlZFBkZlZpZXdlckNvbXBvbmVudCxcclxuICBOZ3hFeHRlbmRlZFBkZlZpZXdlclNlcnZpY2UsXHJcbiAgUGFnZXNMb2FkZWRFdmVudFxyXG59IGZyb20gJ25neC1leHRlbmRlZC1wZGYtdmlld2VyJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEhlYWRlcnMsIEh0dHBSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuXHJcbnR5cGUgUm90YXRpb25UeXBlID0gMCB8IDkwIHwgMTgwIHwgMjcwO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdtcngtcGRmLXZpZXdlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BkZi12aWV3ZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3BkZi12aWV3ZXIuY29tcG9uZW50Lmxlc3MnXSxcclxuICBhbmltYXRpb25zOiBbXHJcbiAgICB0cmlnZ2VyKCdvcGVuQ2xvc2UnLCBbXHJcbiAgICAgIHN0YXRlKFxyXG4gICAgICAgICdvcGVuJyxcclxuICAgICAgICBzdHlsZSh7aGVpZ2h0OiAnKicsIHBhZGRpbmc6ICcqJywgJ21hcmdpbi1ib3R0b20nOiAnOHB4J30pXHJcbiAgICAgICksXHJcbiAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7aGVpZ2h0OiAwLCBwYWRkaW5nOiAwLCAnbWFyZ2luLWJvdHRvbSc6IDB9KSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ29wZW4gPT4gY2xvc2VkJywgW2FuaW1hdGUoJzAuNXMgZWFzZScpXSksXHJcbiAgICAgIHRyYW5zaXRpb24oJ2Nsb3NlZCA9PiBvcGVuJywgW2FuaW1hdGUoJzAuNXMgZWFzZScpXSksXHJcbiAgICBdKSxcclxuICBdLFxyXG4gIHByb3ZpZGVyczogW1Rvb2x0aXBTZXJ2aWNlXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxufSlcclxuZXhwb3J0IGNsYXNzIFBkZlZpZXdlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBwdWJsaWMgc2VhcmNoUXVlcnkgPSAnJztcclxuICBwdWJsaWMgZmluZFN0YXRlOiBGaW5kU3RhdGUgPSBGaW5kU3RhdGUuUEVORElORztcclxuICBwdWJsaWMgdG90YWxGb3VuZDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgY3VycmVudEZpbmQ6IG51bWJlciA9IDA7XHJcbiAgcHVibGljIHBhZ2UgPSAxO1xyXG4gIHB1YmxpYyBpc1NlYXJjaFBhbmVsVmlzaWJsZSA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzaWRlYmFyVmlzaWJsZSA9IHRydWU7XHJcbiAgcHVibGljIHBhZ2VDb3VudCA9IDE7XHJcbiAgcHVibGljIHNlbGVjdGVkWm9vbTogeyB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nLCBsYWJlbDogc3RyaW5nIH0gPSB7dmFsdWU6ICdhdXRvJywgbGFiZWw6ICfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCd9O1xyXG4gIHB1YmxpYyB6b29tT3B0aW9ucyA9IFtcclxuICAgIHt2YWx1ZTogJ2F1dG8nLCBsYWJlbDogJ9CQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4J30sXHJcbiAgICB7dmFsdWU6ICdwYWdlLWFjdHVhbCcsIGxhYmVsOiAn0KDQtdCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAnfSxcclxuICAgIHt2YWx1ZTogJ3BnZS1maXQnLCBsYWJlbDogJ9Cf0L4g0YDQsNC30LzQtdGA0YMg0YHRgtGA0LDQvdC40YbRiyd9LFxyXG4gICAge3ZhbHVlOiAncGFnZS13aWR0aCcsIGxhYmVsOiAn0J/QviDRiNC40YDQuNC90LUg0YHRgtGA0LDQvdC40YbRiyd9LFxyXG4gICAge3ZhbHVlOiA1MCwgbGFiZWw6ICc1MCUnfSxcclxuICAgIHt2YWx1ZTogMTAwLCBsYWJlbDogJzEwMCUnfSxcclxuICAgIHt2YWx1ZTogMTI1LCBsYWJlbDogJzEyNSUnfSxcclxuICAgIHt2YWx1ZTogMTUwLCBsYWJlbDogJzE1MCUnfSxcclxuICAgIHt2YWx1ZTogMjAwLCBsYWJlbDogJzIwMCUnfSxcclxuICAgIHt2YWx1ZTogMzAwLCBsYWJlbDogJzMwMCUnfSxcclxuICAgIHt2YWx1ZTogNDAwLCBsYWJlbDogJzQwMCUnfSxcclxuICBdO1xyXG5cclxuICBwdWJsaWMgcm90YXRpb246IFJvdGF0aW9uVHlwZSA9IDA7XHJcblxyXG4gIEBJbnB1dCgpIHNob3dTaWRlYmFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93SGFuZFRvb2xCdXR0b24gPSBmYWxzZTtcclxuICBASW5wdXQoKSBoYW5kVG9vbCA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0ZpbmRiYXJCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dSb3RhdGVCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dQcmludEJ1dHRvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0Rvd25sb2FkQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93RXhwYW5kQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBkZWZhdWx0Wm9vbTogbnVtYmVyIHwgJ2F1dG8nIHwgJ3BhZ2UtYWN0dWFsJyB8ICdwZ2UtZml0JyB8ICdwYWdlLXdpZHRoJyA9ICdhdXRvJztcclxuICBASW5wdXQoKSBkb3dubG9hZEZpbGVOYW1lID0gJyc7XHJcbiAgQElucHV0KCkgc3JjID0gJyc7XHJcblxyXG4gIEBWaWV3Q2hpbGQoTmd4RXh0ZW5kZWRQZGZWaWV3ZXJDb21wb25lbnQpIHBkZlZpZXdlciE6IE5neEV4dGVuZGVkUGRmVmlld2VyQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbmRNZW51JykgZmluZE1lbnU6IEVsZW1lbnRSZWYgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6a2V5ZG93bicsIFsnJGV2ZW50J10pXHJcbiAgaGFuZGxlS2V5Ym9hcmRFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKChldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkpICYmIGV2ZW50LmtleS50b0xvd2VyQ2FzZSgpID09PSAncCcgJiYgIXRoaXMuc2hvd1ByaW50QnV0dG9uKSB7XHJcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgaWdub3JlS2V5cygpOiBzdHJpbmdbXSB7XHJcbiAgICBjb25zdCBpZ25vcmVkS2V5cyA9IFtdO1xyXG5cclxuICAgIGlmICghdGhpcy5zaG93Um90YXRlQnV0dG9uKSB7XHJcbiAgICAgIGlnbm9yZWRLZXlzLnB1c2goJ1InLCAnU2hpZnQrUicpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLnNob3dEb3dubG9hZEJ1dHRvbikge1xyXG4gICAgICBpZ25vcmVkS2V5cy5wdXNoKCdDVFJMK1MnKTtcclxuICAgIH1cclxuICAgIGlmICghdGhpcy5zaG93U2lkZWJhckJ1dHRvbikge1xyXG4gICAgICBpZ25vcmVkS2V5cy5wdXNoKCdGNCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBpZ25vcmVkS2V5cztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfcGRmVmlld2VyU2VydmljZTogTmd4RXh0ZW5kZWRQZGZWaWV3ZXJTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXI6IFJlbmRlcmVyMixcclxuICAgIHByaXZhdGUgX3JlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50XHJcbiAgKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoY2hhbmdlc1snZGVmYXVsdFpvb20nXSAmJiBjaGFuZ2VzWydkZWZhdWx0Wm9vbSddLmN1cnJlbnRWYWx1ZSAhPSBjaGFuZ2VzWydkZWZhdWx0Wm9vbSddLnByZXZpb3VzVmFsdWUpIHtcclxuICAgICAgdGhpcy5pbml0Wm9vbSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5pdFpvb20oKSB7XHJcbiAgICBjb25zdCBleGlzdGluZ1ZhbHVlID0gdGhpcy56b29tT3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gdGhpcy5kZWZhdWx0Wm9vbSk7XHJcblxyXG4gICAgaWYgKGV4aXN0aW5nVmFsdWUpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZFpvb20gPSB7Li4uZXhpc3RpbmdWYWx1ZX07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHt2YWx1ZTogdGhpcy5kZWZhdWx0Wm9vbSwgbGFiZWw6IGAke3RoaXMuZGVmYXVsdFpvb219JWB9O1xyXG4gIH1cclxuXHJcbiAgaW5pdFNlYXJjaCgpIHtcclxuICAgIGlmICh0aGlzLnNob3dGaW5kYmFyQnV0dG9uKSB7XHJcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQua2V5LnRvTG93ZXJDYXNlKCkgPT09ICdmJyAmJiBldmVudC5jdHJsS2V5KSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2VhcmNoUGFuZWxWaXNpYmxlID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmluaXRTZWFyY2goKTtcclxuICAgIHRoaXMuaW5pdFpvb20oKTtcclxuXHJcbiAgICB0aGlzLl9yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdjbGljaycsIChldmVudDogRXZlbnQpID0+IHtcclxuICAgICAgaWYgKHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUpIHtcclxuICAgICAgICBjb25zdCBpc0luTWVudSA9IHRoaXMuZmluZE1lbnU/Lm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KVxyXG4gICAgICAgICAgfHwgKGV2ZW50LnRhcmdldCBhcyBhbnkpLmlkID09PSAnZmluZE5leHQnXHJcbiAgICAgICAgICB8fCAoZXZlbnQudGFyZ2V0IGFzIGFueSkuaWQgPT09ICdmaW5kUHJldmlvdXMnO1xyXG5cclxuICAgICAgICBjb25zdCBpc0ZpbmRCdXR0b24gPSAoZXZlbnQudGFyZ2V0IGFzIGFueSkuY2xhc3NMaXN0LmNvbnRhaW5zKCdtcngtcGRmLXZpZXdlcl9fZmluZC1idXR0b24nKTtcclxuXHJcbiAgICAgICAgaWYgKCFpc0luTWVudSAmJiAhaXNGaW5kQnV0dG9uKSB7XHJcbiAgICAgICAgICB0aGlzLmlzU2VhcmNoUGFuZWxWaXNpYmxlID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLl9yZWYubWFya0ZvckNoZWNrKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLnBhZ2UgPSBldmVudCB8fCAxO1xyXG4gIH1cclxuXHJcbiAgb25OZXh0UGFnZSgpIHtcclxuICAgIGlmICh0aGlzLnBhZ2UgPCB0aGlzLnBhZ2VDb3VudCkge1xyXG4gICAgICB0aGlzLnBhZ2UgPSB0aGlzLnBhZ2UgKyAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25MYXN0UGFnZSgpIHtcclxuICAgIHRoaXMucGFnZSA9IHRoaXMucGFnZUNvdW50O1xyXG4gIH1cclxuXHJcbiAgb25QYWdlc0xvYWRlZCgkZXZlbnQ6IFBhZ2VzTG9hZGVkRXZlbnQpIHtcclxuICAgIGNvbnN0IHZpZXdPdXRsaW5lID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3ZpZXdPdXRsaW5lJyk7XHJcbiAgICBjb25zdCB2aWV3VGh1bWJuYWlsID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3ZpZXdUaHVtYm5haWwnKTtcclxuXHJcbiAgICB0aGlzLnBhZ2VDb3VudCA9ICRldmVudC5wYWdlc0NvdW50O1xyXG5cclxuICAgIGlmICh2aWV3T3V0bGluZSkge1xyXG4gICAgICAodmlld091dGxpbmUgYXMgYW55KS50aXRsZSA9ICcnO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuX3JlbmRlcmVyLnNldFN0eWxlKHZpZXdUaHVtYm5haWwsICdkaXNwbGF5JywgJ25vbmUnKTtcclxuICAgIGlmICh2aWV3VGh1bWJuYWlsKSB7XHJcblxyXG4gICAgICAodmlld1RodW1ibmFpbCBhcyBhbnkpLnRpdGxlID0gJ3Rlc3QnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgem9vbUNsaWNrKGluY3JlYXNlOiBib29sZWFuKSB7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMuc2VsZWN0ZWRab29tLnZhbHVlID09PSAnc3RyaW5nJykge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHt2YWx1ZTogMTAwLCBsYWJlbDogJzEwMCUnfTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gaW5jcmVhc2UgPyB0aGlzLnNlbGVjdGVkWm9vbS52YWx1ZSArPSAyMCA6IHRoaXMuc2VsZWN0ZWRab29tLnZhbHVlIC09IDIwO1xyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRab29tID0ge3ZhbHVlOiBuZXdWYWx1ZSwgbGFiZWw6IGAke25ld1ZhbHVlfSVgfTtcclxuICB9XHJcblxyXG4gIG9uWm9vbUxldmVsU2VsZWN0KGl0ZW06IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZFpvb20gPSBpdGVtO1xyXG4gIH1cclxuXHJcbiAgb25ab29tQ2hhbmdlKGV2ZW50OiBzdHJpbmcgfCBudW1iZXIpIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nT3B0aW9uID0gdGhpcy56b29tT3B0aW9ucy5maW5kKHggPT4geC52YWx1ZSA9PT0gZXZlbnQpO1xyXG5cclxuICAgIGlmIChleGlzdGluZ09wdGlvbikge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHsuLi5leGlzdGluZ09wdGlvbn07XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBmaXhlZFZhbHVlID0gTWF0aC5yb3VuZChOdW1iZXIoZXZlbnQpKTtcclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkWm9vbSA9IHt2YWx1ZTogZml4ZWRWYWx1ZSwgbGFiZWw6IGAke2ZpeGVkVmFsdWV9JWB9O1xyXG4gIH1cclxuXHJcbiAgb25Sb3RhdGUoZGlyZWN0aW9uOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRhID0gdGhpcy5yb3RhdGlvbjtcclxuXHJcbiAgICBpZiAoZGlyZWN0aW9uIDwgMCkge1xyXG4gICAgICBkYXRhIC09IDkwO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgZGF0YSArPSA5MDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGF0YSA+PSAzNjApIHtcclxuICAgICAgdGhpcy5yb3RhdGlvbiA9IGRhdGEgLSAzNjAgYXMgUm90YXRpb25UeXBlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRhdGEgPCAwKSB7XHJcbiAgICAgIHRoaXMucm90YXRpb24gPSAzNjAgKyBkYXRhIGFzIFJvdGF0aW9uVHlwZTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucm90YXRpb24gPSBkYXRhIGFzIFJvdGF0aW9uVHlwZTtcclxuICB9XHJcblxyXG4gIG9uUHJpbnRDbGljaygpIHtcclxuICAgIHRoaXMuX3BkZlZpZXdlclNlcnZpY2UucHJpbnQoKTtcclxuXHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgY29uc3QgcHJpbnREaWFsb2cgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaWFsb2cjcHJpbnRTZXJ2aWNlRGlhbG9nJyk7XHJcbiAgICAgIGNvbnN0IHByb2dyZXNzVGV4dCA9IHByaW50RGlhbG9nPy5xdWVyeVNlbGVjdG9yKCcucm93IHNwYW4nKTtcclxuICAgICAgY29uc3QgY2FuY2VsQnV0dG9uID0gcHJpbnREaWFsb2c/LnF1ZXJ5U2VsZWN0b3IoJyNwcmludENhbmNlbCBzcGFuJyk7XHJcblxyXG4gICAgICBpZiAocHJvZ3Jlc3NUZXh0KSB7XHJcbiAgICAgICAgcHJvZ3Jlc3NUZXh0LnRleHRDb250ZW50ID0gJ9Cf0L7QtNCz0L7RgtC+0LLQutCwINC00L7QutGD0LzQtdC90YLQsCDQuiDQv9C10YfQsNGC0LguLi4nO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoY2FuY2VsQnV0dG9uKSB7XHJcbiAgICAgICAgY2FuY2VsQnV0dG9uLnRleHRDb250ZW50ID0gJ9Ce0YLQvNC10L3QsCc7XHJcbiAgICAgIH1cclxuICAgIH0sIDEpO1xyXG4gIH1cclxuXHJcbiAgb25TaWRlYmFyVmlld0NsaWNrKCkge1xyXG4gICAgdGhpcy5zaWRlYmFyVmlzaWJsZSA9ICF0aGlzLnNpZGViYXJWaXNpYmxlO1xyXG4gIH1cclxuXHJcbiAgb25FeHBhbmRNb2RlQ2xpY2soKSB7XHJcbiAgICBjb25zdCBwZGZWaWV3ZXJBcHBsaWNhdGlvbiA9ICh3aW5kb3cgYXMgYW55KS5QREZWaWV3ZXJBcHBsaWNhdGlvbjtcclxuXHJcbiAgICBpZiAocGRmVmlld2VyQXBwbGljYXRpb24/LnBkZlZpZXdlcikge1xyXG4gICAgICBwZGZWaWV3ZXJBcHBsaWNhdGlvbi5yZXF1ZXN0UHJlc2VudGF0aW9uTW9kZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25TZWFyY2hDbGljaygpIHtcclxuICAgIHRoaXMuaXNTZWFyY2hQYW5lbFZpc2libGUgPSAhdGhpcy5pc1NlYXJjaFBhbmVsVmlzaWJsZTtcclxuICB9XHJcblxyXG4gIG9uU2VhcmNoKCRldmVudDogc3RyaW5nKSB7XHJcbiAgICBpZiAoJGV2ZW50KSB7XHJcbiAgICAgIHRoaXMuX3BkZlZpZXdlclNlcnZpY2UuZmluZCgkZXZlbnQsIHtoaWdobGlnaHRBbGw6IHRydWV9KTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fcGRmVmlld2VyU2VydmljZS5maW5kKCcnLCB7fSk7XHJcbiAgfVxyXG5cclxuICBmaW5kTmV4dCgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BkZlZpZXdlclNlcnZpY2UuZmluZE5leHQoKTtcclxuICB9XHJcblxyXG4gIGZpbmRQcmV2aW91cygpOiB2b2lkIHtcclxuICAgIHRoaXMuX3BkZlZpZXdlclNlcnZpY2UuZmluZFByZXZpb3VzKCk7XHJcbiAgfVxyXG5cclxuICBvblVwZGF0ZU1hdGNoQ2FzZShldmVudDogRmluZFJlc3VsdE1hdGNoZXNDb3VudCkge1xyXG4gICAgdGhpcy50b3RhbEZvdW5kID0gZXZlbnQudG90YWw7XHJcbiAgICB0aGlzLmN1cnJlbnRGaW5kID0gZXZlbnQuY3VycmVudDtcclxuICAgIHRoaXMuc2VhcmNoUXVlcnkgPSBldmVudC5xdWVyeVxyXG4gIH1cclxuXHJcbiAgb25GaW5kU3RhdGVDaGFuZ2VkKGV2ZW50OiBGaW5kU3RhdGUpIHtcclxuICAgIHRoaXMuZmluZFN0YXRlID0gZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBvblNpZGViYXJWaXNpYmxlQ2hhbmdlKGV2ZW50OiBib29sZWFuKSB7XHJcbiAgICB0aGlzLnNpZGViYXJWaXNpYmxlID0gZXZlbnQ7XHJcbiAgfVxyXG5cclxuICBvbkhhbmRUb29sQ2xpY2soKSB7XHJcbiAgICB0aGlzLmhhbmRUb29sID0gIXRoaXMuaGFuZFRvb2w7XHJcbiAgfVxyXG5cclxuICBvbkRvd25sb2FkQ2xpY2soKSB7XHJcbiAgICBpZiAodGhpcy5kb3dubG9hZEZpbGVOYW1lKSB7XHJcbiAgICAgIHRoaXMuX2Rvd25sb2FkRmlsZSh0aGlzLmRvd25sb2FkRmlsZU5hbWUpLnRoZW4oKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSHR0cEhlYWRlcnMoKTtcclxuXHJcbiAgICAgIGhlYWRlcnMuc2V0KCdDb250ZW50LURpc3Bvc2l0aW9uJywgJ9Cf0LXRh9Cw0YLQvdCw0Y8g0YTQvtGA0LzQsCDQt9Cw0Y/QstC60Lgg0YHQviDRiNGC0LDQvNC/0L7QvC5wZGYnKTtcclxuXHJcbiAgICAgIHRoaXMuX2h0dHAuZ2V0KHRoaXMuc3JjLCB7cmVzcG9uc2VUeXBlOiAnYmxvYicsIG9ic2VydmU6ICdyZXNwb25zZScsfSlcclxuICAgICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogSHR0cFJlc3BvbnNlPEJsb2I+KSA9PiB7XHJcbiAgICAgICAgICBjb25zdCBjb250ZW50RGlzcG9zaXRpb24gPSByZXNwb25zZS5oZWFkZXJzLmdldCgnQ29udGVudC1EaXNwb3NpdGlvbicpO1xyXG5cclxuICAgICAgICAgIGlmICghY29udGVudERpc3Bvc2l0aW9uKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2Rvd25sb2FkRmlsZSgnZG9jdW1lbnQucGRmJykudGhlbigpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgY29uc3QgZW5jb2RpbmdGaWxlTmFtZSA9IGNvbnRlbnREaXNwb3NpdGlvbi5tYXRjaCgvZmlsZW5hbWVcXCpcXHMqPVxccyooW147XSspL2kpO1xyXG5cclxuICAgICAgICAgIGlmIChlbmNvZGluZ0ZpbGVOYW1lKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcnRzID0gZW5jb2RpbmdGaWxlTmFtZVsxXS5zcGxpdCgnXFwnXFwnJyk7XHJcblxyXG4gICAgICAgICAgICBpZiAocGFydHMubGVuZ3RoID09PSAyKSB7XHJcbiAgICAgICAgICAgICAgY29uc3QgZW5jb2RpbmcgPSBwYXJ0c1swXS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVOYW1lID0gcGFydHNbMV07XHJcblxyXG4gICAgICAgICAgICAgIGlmIChlbmNvZGluZyA9PT0gJ3V0Zi04Jykge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5fZG93bmxvYWRGaWxlKGRlY29kZVVSSUNvbXBvbmVudChmaWxlTmFtZSkpLnRoZW4oKTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICBjb25zdCBzaW1wbGVGaWxlTmFtZSA9IGNvbnRlbnREaXNwb3NpdGlvbi5tYXRjaCgvZmlsZW5hbWVcXHMqPVxccypbXCInXT8oW147XCInXSspL2kpO1xyXG5cclxuICAgICAgICAgIGlmIChzaW1wbGVGaWxlTmFtZSkge1xyXG4gICAgICAgICAgICB0aGlzLl9kb3dubG9hZEZpbGUoc2ltcGxlRmlsZU5hbWVbMV0pLnRoZW4oKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICAgIHRoaXMuX2Rvd25sb2FkRmlsZSgnZG9jdW1lbnQucGRmJykudGhlbigpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZG93bmxvYWRGaWxlKGZpbGVOYW1lOiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGJsb2I6IEJsb2IgPSBhd2FpdCB0aGlzLl9wZGZWaWV3ZXJTZXJ2aWNlLmdldEN1cnJlbnREb2N1bWVudEFzQmxvYigpO1xyXG4gICAgY29uc3Qgb2JqZWN0VXJsOiBzdHJpbmcgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGJsb2IpO1xyXG4gICAgY29uc3QgYTogSFRNTEFuY2hvckVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJykgYXMgSFRNTEFuY2hvckVsZW1lbnQ7XHJcblxyXG4gICAgYS5ocmVmID0gb2JqZWN0VXJsO1xyXG4gICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoYSk7XHJcblxyXG4gICAgYS5jbGljaygpO1xyXG5cclxuICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcblxyXG4gICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xyXG4gIH1cclxufVxyXG4iLCI8bmctdGVtcGxhdGUgI2N1c3RvbVRvb2xiYXI+XHJcbiAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX190b29sYmFyXCIgaWQ9XCJ0b29sYmFyVmlld2VyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGctMlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGctMVwiPlxyXG4gICAgICAgIEBpZiAoc2hvd1NpZGViYXJCdXR0b24pIHtcclxuICAgICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1idXJnZXInXCJcclxuICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgICAgKG1yeENsaWNrKT1cIm9uU2lkZWJhclZpZXdDbGljaygpXCJcclxuICAgICAgICAgICAgW25nQ2xhc3NdPVwieydtcngtaWNvbi1idXR0b24tLXRvZ2dsZWQnOiBzaWRlYmFyVmlzaWJsZX1cIlxyXG4gICAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0LrQsNC30LDRgtGML9GB0LrRgNGL0YLRjCDQsdC+0LrQvtCy0YPRjiDQv9Cw0L3QtdC70YwnXCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpZiAoc2hvd0ZpbmRiYXJCdXR0b24pIHtcclxuICAgICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1zZWFyY2gnXCJcclxuICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgICAgKG1yeENsaWNrKT1cIm9uU2VhcmNoQ2xpY2soKVwiXHJcbiAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTIgbXJ4LXBkZi12aWV3ZXJfX2ZpbmQtYnV0dG9uJ1wiXHJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsnbXJ4LWljb24tYnV0dG9uLS10b2dnbGVkJzogaXNTZWFyY2hQYW5lbFZpc2libGV9XCJcclxuICAgICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cd0LDQudGC0Lgg0LIg0LTQvtC60YPQvNC10L3RgtC1J1wiXHJcbiAgICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIH1cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICBAaWYgKGlzU2VhcmNoUGFuZWxWaXNpYmxlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX19maW5kYmFyIGctMVwiICNmaW5kTWVudT5cclxuICAgICAgICAgIDxtcngtaW5wdXQtdGV4dFxyXG4gICAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCJmaW5kU3RhdGUgPT09IDEgPyAnbXJ4LWlucHV0LWVycm9yJyA6JycrJ3NlYXJjaFRleHQnXCJcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCLQndCw0LnRgtC4INCyINC00L7QutGD0LzQtdC90YLQtS4uLlwiXHJcbiAgICAgICAgICAgIFtuZ01vZGVsXT1cInNlYXJjaFF1ZXJ5XCJcclxuICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25TZWFyY2goJGV2ZW50KVwiPlxyXG4gICAgICAgICAgPC9tcngtaW5wdXQtdGV4dD5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tY2hldnJvbi1sZWZ0J1wiXHJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidwLTEnXCJcclxuICAgICAgICAgICAgICAobXJ4Q2xpY2spPVwiZmluZFByZXZpb3VzKClcIlxyXG4gICAgICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLWNoZXZyb24tcmlnaHQnXCJcclxuICAgICAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3AtMSdcIlxyXG4gICAgICAgICAgICAgIChtcnhDbGljayk9XCJmaW5kTmV4dCgpXCJcclxuICAgICAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICBAaWYgKGZpbmRTdGF0ZSA9PT0gMCB8fCBmaW5kU3RhdGUgPT09IDIpIHtcclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1yeC1wZGYtdmlld2VyX19maW5kYmFyLXJlc3VsdFwiPlxyXG4gICAgICAgICAgICAgIHt7IGN1cnJlbnRGaW5kIH19INC40Lcge3sgdG90YWxGb3VuZCB9fSDRgdC+0LLQv9Cw0LTQtdC90LjQuVxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIH1cclxuICAgICAgICAgIEBpZiAoZmluZFN0YXRlID09PSAxKSB7XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xvci1uZWdhdGl2ZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG5vd3JhcFwiPtCk0YDQsNC30LAg0L3QtSDQvdCw0LnQtNC10L3QsDwvZGl2PlxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJfX3Rvb2xiYXItLW5hdlwiPlxyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24taW4tdGhlLWVuZC1sZWZ0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C10YDQstCw0Y8g0YHRgtGA0LDQvdC40YbQsCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25QYWdlQ2hhbmdlKDEpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLWxlZnQnXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0YDQtdC00YvQtNGD0YnQsNGPINGB0YLRgNCw0L3QuNGG0LAnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUGFnZUNoYW5nZShwYWdlIC0gMSB8fCAxKVwiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICAgIDxtcngtaW5wdXQtbnVtYmVyXHJcbiAgICAgICAgICBbc2l6ZV09XCInc21hbGwnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIid3cHgtNTYnXCJcclxuICAgICAgICAgIFtuZ01vZGVsXT1cInBhZ2VcIlxyXG4gICAgICAgICAgW251bWJlclR5cGVdPVwiJ2ludCdcIlxyXG4gICAgICAgICAgW21pblZhbHVlXT1cIjFcIlxyXG4gICAgICAgICAgW21heFZhbHVlXT1cInBhZ2VDb3VudFwiXHJcbiAgICAgICAgICBbaXNBdXRvQ29ycmVjdGluZ1ZhbHVlXT1cInRydWVcIlxyXG4gICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgID48L21yeC1pbnB1dC1udW1iZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJteC0xXCI+0LjQtyB7eyBwYWdlQ291bnQgfX08L3NwYW4+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1jaGV2cm9uLXJpZ2h0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbk5leHRQYWdlKClcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Ch0LvQtdC00YPRjtGJ0LDRjyDRgdGC0YDQsNC90LjRhtCwJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1pbi10aGUtZW5kLXJpZ2h0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbkxhc3RQYWdlKClcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7RgdC70LXQtNC90Y/RjyDRgdGC0YDQsNC90LjRhtCwJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgKG1yeENsaWNrKT1cInpvb21DbGljayhmYWxzZSlcIlxyXG4gICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tbWludXMnXCJcclxuICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgIFt0b29sdGlwXT1cIifQo9C80LXQvdGM0YjQuNGC0YwnXCJcclxuICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgKG1yeENsaWNrKT1cInpvb21DbGljayh0cnVlKVwiXHJcbiAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1wbHVzJ1wiXHJcbiAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICBbdG9vbHRpcF09XCIn0KPQstC10LvQuNGH0LjRgtGMJ1wiXHJcbiAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgPG1yeC1pbnB1dC1zZWxlY3RcclxuICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3dweC0xNTYnXCJcclxuICAgICAgICBbaXRlbXNdPVwiem9vbU9wdGlvbnNcIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uWm9vbUxldmVsU2VsZWN0KCRldmVudClcIlxyXG4gICAgICAgIFtuZ01vZGVsXT1cInNlbGVjdGVkWm9vbVwiXHJcbiAgICAgICAgW2NsZWFyYWJsZV09XCJmYWxzZVwiPlxyXG4gICAgICA8L21yeC1pbnB1dC1zZWxlY3Q+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgIEBpZiAoc2hvd0hhbmRUb29sQnV0dG9uKSB7XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1mYy10ZXh0J1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J21yeC1pY29uLWJ1dHRvbi0tdG9nZ2xlZCc6ICFoYW5kVG9vbH1cIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25IYW5kVG9vbENsaWNrKClcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgID48L21yeC1pY29uLWJ1dHRvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHNob3dSb3RhdGVCdXR0b24pIHtcclxuICAgICAgICA8bXJ4LWljb24tYnV0dG9uXHJcbiAgICAgICAgICBbaWNvbkNsYXNzXT1cIidpY29uLXJlbG9hZCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICAobXJ4Q2xpY2spPVwib25Sb3RhdGUoMSlcIlxyXG4gICAgICAgICAgW2N1c3RvbUNsYXNzZXNdPVwiJ3B5LTEgcHgtMidcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBdPVwiJ9Cf0L7QstC10YDQvdGD0YLRjCDQv9C+INGH0LDRgdC+0LLQvtC5INGB0YLRgNC10LvQutC1J1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChzaG93Um90YXRlQnV0dG9uKSB7XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1yZXR1cm4nXCJcclxuICAgICAgICAgIFtzaXplXT1cIidtZWRpdW0nXCJcclxuICAgICAgICAgIFtzdGF0ZV09XCInZGVmYXVsdCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uUm90YXRlKC0xKVwiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcF09XCIn0J/QvtCy0LXRgNC90YPRgtGMINC/0YDQvtGC0LjQsiDRh9Cw0YHQvtCy0L7QuSDRgdGC0YDQtdC70LrQuCdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd0V4cGFuZEJ1dHRvbikge1xyXG4gICAgICAgIDxtcngtaWNvbi1idXR0b25cclxuICAgICAgICAgIFtpY29uQ2xhc3NdPVwiJ2ljb24tYXJyb3ctZXhwYW5kJ1wiXHJcbiAgICAgICAgICBbc2l6ZV09XCInbWVkaXVtJ1wiXHJcbiAgICAgICAgICBbc3RhdGVdPVwiJ2RlZmF1bHQnXCJcclxuICAgICAgICAgIFtjdXN0b21DbGFzc2VzXT1cIidweS0xIHB4LTInXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvbkV4cGFuZE1vZGVDbGljaygpXCJcclxuICAgICAgICAgIFt0b29sdGlwXT1cIifQn9C+0LrQsNC30LDRgtGMINC90LAg0LLQtdGB0Ywg0Y3QutGA0LDQvSdcIlxyXG4gICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCInYm90dG9tLXN0YXJ0J1wiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd1ByaW50QnV0dG9uKSB7XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1wcmludCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcF09XCIn0J/QtdGH0LDRgtGMJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cIidib3R0b20tc3RhcnQnXCJcclxuICAgICAgICAgIChtcnhDbGljayk9XCJvblByaW50Q2xpY2soKVwiXHJcbiAgICAgICAgPjwvbXJ4LWljb24tYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICAgIEBpZiAoc2hvd0Rvd25sb2FkQnV0dG9uKSB7XHJcbiAgICAgICAgPG1yeC1pY29uLWJ1dHRvblxyXG4gICAgICAgICAgW2ljb25DbGFzc109XCInaWNvbi1kb3dubG9hZCdcIlxyXG4gICAgICAgICAgW3NpemVdPVwiJ21lZGl1bSdcIlxyXG4gICAgICAgICAgW3N0YXRlXT1cIidkZWZhdWx0J1wiXHJcbiAgICAgICAgICBbY3VzdG9tQ2xhc3Nlc109XCIncHktMSBweC0yJ1wiXHJcbiAgICAgICAgICBbdG9vbHRpcF09XCIn0KHQutCw0YfQsNGC0YwnXCJcclxuICAgICAgICAgIFt0b29sdGlwUG9zaXRpb25dPVwiJ2JvdHRvbS1zdGFydCdcIlxyXG4gICAgICAgICAgKG1yeENsaWNrKT1cIm9uRG93bmxvYWRDbGljaygpXCJcclxuICAgICAgICA+PC9tcngtaWNvbi1idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5neC1leHRlbmRlZC1wZGYtdmlld2VyXHJcbiAgI3BkZlZpZXdlclxyXG4gIGNsYXNzPVwibXJ4LXBkZi12aWV3ZXJcIlxyXG4gIFtzcmNdPVwic3JjXCJcclxuICBbcGFnZV09XCJwYWdlXCJcclxuICBbc2lkZWJhclZpc2libGVdPVwic2hvd1NpZGViYXJCdXR0b24gJiYgc2lkZWJhclZpc2libGVcIlxyXG4gIFtjdXN0b21Ub29sYmFyXT1cImN1c3RvbVRvb2xiYXJcIlxyXG4gIFtzaG93U2lkZWJhckJ1dHRvbl09XCJ0cnVlXCJcclxuICBbc2hvd1JvdGF0ZUJ1dHRvbl09XCJzaG93Um90YXRlQnV0dG9uXCJcclxuICBbc2hvd0Rvd25sb2FkQnV0dG9uXT1cInNob3dEb3dubG9hZEJ1dHRvblwiXHJcbiAgW2lnbm9yZUtleXNdPVwiaWdub3JlS2V5c1wiXHJcbiAgW3pvb21dPVwic2VsZWN0ZWRab29tLnZhbHVlXCJcclxuICBbdGV4dExheWVyXT1cInRydWVcIlxyXG4gIFtoYW5kVG9vbF09XCJoYW5kVG9vbFwiXHJcbiAgW3JvdGF0aW9uXT1cInJvdGF0aW9uXCJcclxuICAoem9vbUNoYW5nZSk9XCJvblpvb21DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIlxyXG4gIChwYWdlc0xvYWRlZCk9XCJvblBhZ2VzTG9hZGVkKCRldmVudClcIlxyXG4gICh1cGRhdGVGaW5kU3RhdGUpPVwib25GaW5kU3RhdGVDaGFuZ2VkKCRldmVudClcIlxyXG4gIChzaWRlYmFyVmlzaWJsZUNoYW5nZSk9XCJvblNpZGViYXJWaXNpYmxlQ2hhbmdlKCRldmVudClcIlxyXG4gICh1cGRhdGVGaW5kTWF0Y2hlc0NvdW50KT1cIm9uVXBkYXRlTWF0Y2hDYXNlKCRldmVudClcIlxyXG4+PC9uZ3gtZXh0ZW5kZWQtcGRmLXZpZXdlcj5cclxuIl19
|
package/fesm2022/myrta-ui.mjs
CHANGED
|
@@ -2069,29 +2069,29 @@ class HintErrorMessageComponent {
|
|
|
2069
2069
|
* @param {diff} = maxValue - value
|
|
2070
2070
|
*/
|
|
2071
2071
|
message = '';
|
|
2072
|
-
value =
|
|
2072
|
+
value = null;
|
|
2073
2073
|
maxValue = null;
|
|
2074
2074
|
minValue = null;
|
|
2075
2075
|
minLength = null;
|
|
2076
2076
|
maxLength = null;
|
|
2077
2077
|
checkInvalid = true;
|
|
2078
2078
|
get replaceMessage() {
|
|
2079
|
-
if ((this.maxValue || this.maxValue === 0) && this.message.includes('{diff}')) {
|
|
2079
|
+
if ((this.maxValue || this.maxValue === 0) && this.value && this.message.includes('{diff}')) {
|
|
2080
2080
|
return this.message
|
|
2081
2081
|
.split('{diff}')
|
|
2082
2082
|
.join(String(this.maxValue - this.retypeValue(this.value)));
|
|
2083
2083
|
}
|
|
2084
|
-
if ((this.minValue || this.minValue === 0) && this.message.includes('{diff}')) {
|
|
2084
|
+
if ((this.minValue || this.minValue === 0) && this.value && this.message.includes('{diff}')) {
|
|
2085
2085
|
return this.message
|
|
2086
2086
|
.split('{diff}')
|
|
2087
2087
|
.join(String(this.value).length < this.minValue ? String(this.minValue - String(this.value).length) : '0');
|
|
2088
2088
|
}
|
|
2089
|
-
if (this.minLength && this.message.includes('{diff}')) {
|
|
2089
|
+
if (this.minLength && this.value && this.message.includes('{diff}')) {
|
|
2090
2090
|
return this.message
|
|
2091
2091
|
.split('{diff}')
|
|
2092
2092
|
.join(String(this.value).length < this.minLength ? String(this.minLength - String(this.value).length) : '0');
|
|
2093
2093
|
}
|
|
2094
|
-
if (this.maxLength && this.message.includes('{diff}')) {
|
|
2094
|
+
if (this.maxLength && this.value && this.message.includes('{diff}')) {
|
|
2095
2095
|
return this.message
|
|
2096
2096
|
.split('{diff}')
|
|
2097
2097
|
.join(String(this.maxLength - String(this.value).length));
|
|
@@ -2099,7 +2099,7 @@ class HintErrorMessageComponent {
|
|
|
2099
2099
|
return this.message;
|
|
2100
2100
|
}
|
|
2101
2101
|
get getIsInvalid() {
|
|
2102
|
-
if ((this.maxValue || this.maxValue === 0) && (this.minValue || this.minValue === 0) && String(this.value).length !== 0) {
|
|
2102
|
+
if ((this.maxValue || this.maxValue === 0) && (this.minValue || this.minValue === 0) && this.value && String(this.value).length !== 0) {
|
|
2103
2103
|
if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
|
|
2104
2104
|
return true;
|
|
2105
2105
|
}
|
|
@@ -2108,7 +2108,7 @@ class HintErrorMessageComponent {
|
|
|
2108
2108
|
}
|
|
2109
2109
|
return this.maxValue - this.retypeValue(this.value) < 0 || this.retypeValue(this.value) - this.minValue < 0;
|
|
2110
2110
|
}
|
|
2111
|
-
if ((this.maxValue || this.maxValue === 0) && !this.minValue && String(this.value).length !== 0) {
|
|
2111
|
+
if ((this.maxValue || this.maxValue === 0) && !this.minValue && this.value && String(this.value).length !== 0) {
|
|
2112
2112
|
if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
|
|
2113
2113
|
return true;
|
|
2114
2114
|
}
|
|
@@ -2117,7 +2117,7 @@ class HintErrorMessageComponent {
|
|
|
2117
2117
|
}
|
|
2118
2118
|
return this.maxValue - this.retypeValue(this.value) < 0;
|
|
2119
2119
|
}
|
|
2120
|
-
if ((this.minValue || this.minValue === 0) && !this.maxValue && String(this.value).length !== 0) {
|
|
2120
|
+
if ((this.minValue || this.minValue === 0) && !this.maxValue && this.value && String(this.value).length !== 0) {
|
|
2121
2121
|
if (typeof this.value === 'string' && this.value !== '' && isNaN(parseFloat(this.value))) {
|
|
2122
2122
|
return true;
|
|
2123
2123
|
}
|
|
@@ -19055,8 +19055,8 @@ class PdfViewerComponent {
|
|
|
19055
19055
|
}
|
|
19056
19056
|
});
|
|
19057
19057
|
}
|
|
19058
|
-
onPageChange(
|
|
19059
|
-
this.page =
|
|
19058
|
+
onPageChange(event) {
|
|
19059
|
+
this.page = event || 1;
|
|
19060
19060
|
}
|
|
19061
19061
|
onNextPage() {
|
|
19062
19062
|
if (this.page < this.pageCount) {
|
|
@@ -19089,13 +19089,13 @@ class PdfViewerComponent {
|
|
|
19089
19089
|
onZoomLevelSelect(item) {
|
|
19090
19090
|
this.selectedZoom = item;
|
|
19091
19091
|
}
|
|
19092
|
-
onZoomChange(
|
|
19093
|
-
const existingOption = this.zoomOptions.find(x => x.value ===
|
|
19092
|
+
onZoomChange(event) {
|
|
19093
|
+
const existingOption = this.zoomOptions.find(x => x.value === event);
|
|
19094
19094
|
if (existingOption) {
|
|
19095
19095
|
this.selectedZoom = { ...existingOption };
|
|
19096
19096
|
return;
|
|
19097
19097
|
}
|
|
19098
|
-
const fixedValue = Math.round(Number(
|
|
19098
|
+
const fixedValue = Math.round(Number(event));
|
|
19099
19099
|
this.selectedZoom = { value: fixedValue, label: `${fixedValue}%` };
|
|
19100
19100
|
}
|
|
19101
19101
|
onRotate(direction) {
|
|
@@ -19155,15 +19155,16 @@ class PdfViewerComponent {
|
|
|
19155
19155
|
findPrevious() {
|
|
19156
19156
|
this._pdfViewerService.findPrevious();
|
|
19157
19157
|
}
|
|
19158
|
-
onUpdateMatchCase(
|
|
19159
|
-
this.totalFound =
|
|
19160
|
-
this.currentFind =
|
|
19158
|
+
onUpdateMatchCase(event) {
|
|
19159
|
+
this.totalFound = event.total;
|
|
19160
|
+
this.currentFind = event.current;
|
|
19161
|
+
this.searchQuery = event.query;
|
|
19161
19162
|
}
|
|
19162
|
-
onFindStateChanged(
|
|
19163
|
-
this.findState =
|
|
19163
|
+
onFindStateChanged(event) {
|
|
19164
|
+
this.findState = event;
|
|
19164
19165
|
}
|
|
19165
|
-
onSidebarVisibleChange(
|
|
19166
|
-
this.sidebarVisible =
|
|
19166
|
+
onSidebarVisibleChange(event) {
|
|
19167
|
+
this.sidebarVisible = event;
|
|
19167
19168
|
}
|
|
19168
19169
|
onHandToolClick() {
|
|
19169
19170
|
this.handTool = !this.handTool;
|