@tiba-spark/client-shared-lib 25.3.0-722 → 25.3.0-723
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.
|
@@ -22,7 +22,7 @@ export class FieldValidationsComponent extends BaseComponent {
|
|
|
22
22
|
return errors;
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldValidationsComponent, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldValidationsComponent, isStandalone: true, selector: "[tb-field-validations]", inputs: { controlName: "controlName", label: "label", errors: "errors", touched: "touched" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"touched || controlContainer.control.get(controlName)?.touched\">\n <ng-container *tbVar=\"getErrors | wrapFn: controlContainer.control.get(controlName)?.errors ?? errors as errors\">\n <div *ngIf=\"ObjectKeys(errors || {}).length > 1; then hasMultiErrors else hasOneError\"></div>\n <ng-template #hasMultiErrors>\n {{ L.invalid | translate: { controlName: label | translate} }}\n </ng-template>\n <ng-template #hasOneError>\n <div *ngIf=\"errors?.required\">\n {{ L.form_validation_required_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDate\">\n {{ L.form_validation_invalid_date_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDateRange\">\n {{ L.form_validation_invalid_date_range | translate }}</div>\n <div *ngIf=\"errors?.
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldValidationsComponent, isStandalone: true, selector: "[tb-field-validations]", inputs: { controlName: "controlName", label: "label", errors: "errors", touched: "touched" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"touched || controlContainer.control.get(controlName)?.touched\">\n <ng-container *tbVar=\"getErrors | wrapFn: controlContainer.control.get(controlName)?.errors ?? errors as errors\">\n <div *ngIf=\"ObjectKeys(errors || {}).length > 1; then hasMultiErrors else hasOneError\"></div>\n <ng-template #hasMultiErrors>\n {{ L.invalid | translate: { controlName: label | translate} }}\n </ng-template>\n <ng-template #hasOneError>\n <div *ngIf=\"errors?.required\">\n {{ L.form_validation_required_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDate\">\n {{ L.form_validation_invalid_date_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDateRange\">\n {{ L.form_validation_invalid_date_range | translate }}</div>\n <div *ngIf=\"errors?.invalidTerms\">\n {{ L.form_validation_terms_policy | translate }}</div>\n <div *ngIf=\"errors?.min min\">\n {{ L.form_validation_min_message | translate: { controlName: label | translate, value: errors?.min.min || 0 } }}\n </div>\n <div *ngIf=\"errors?.max\">\n {{ L.form_validation_max_message | translate: { controlName: label | translate, value: errors?.max.max || 0 } }}\n </div>\n <div *ngIf=\"errors?.minlength\">\n {{ L.form_validation_min_length_message | translate: { controlName: label | translate, value: errors?.minlength.requiredLength || 0 } }}\n </div>\n <div *ngIf=\"errors?.maxlength\">\n {{ L.form_validation_max_length_message | translate: { controlName: label | translate, value: errors?.maxlength.requiredLength || 0 } }}\n </div>\n <div *ngIf=\"errors?.invalidNumberLength\">\n {{ L.form_validation_invalid_length_message | translate: { controlName: label | translate, value: errors?.invalidNumberLength.requiredLength\n || 0 } }}\n </div>\n <div *ngIf=\"errors?.integerNumber\">\n {{ L.form_validation_invalid_integer_number_message | translate: { controlName: label | translate, value: errors?.integerNumber.value || 0 }\n }}\n </div>\n <div *ngIf=\"errors?.integerPositiveNumber\">\n {{ L.form_validation_invalid_integer_positive_number_message | translate: { controlName: label | translate, value:\n errors?.integerPositiveNumber.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.decimalNumber\">\n {{ L.form_validation_invalid_decimal_number_message | translate: { controlName: label | translate, value: errors?.decimalNumber.value || 0 }\n }}\n </div>\n <div *ngIf=\"errors?.decimalPositiveNumber\">\n {{ L.form_validation_invalid_decimal_positive_number_message | translate: { controlName: label | translate, value:\n errors?.decimalPositiveNumber.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.positiveNumbers\">\n {{ L.form_validation_invalid_positive_number_message | translate: { controlName: label | translate, value: errors?.positiveNumbers.value || 0\n } }}\n </div>\n <div *ngIf=\"errors?.positiveNumbersGreaterThanZero\">\n {{ L.form_validation_invalid_positive_number_greater_than_zero | translate: { controlName: label | translate, value:\n errors?.positiveNumbersGreaterThanZero.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.mobileNumbers\">\n {{ L.form_validation_invalid_mobile_number_message | translate: { controlName: label | translate, value: errors?.mobileNumbers.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.email\">\n {{ L.form_validation_email_pattern | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.pattern\">\n {{ L.form_validation_password_pattern | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordPolicyRequirements\">\n {{ L.form_validation_password_policy | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordNotMatch\">\n {{ L.form_validation_password_not_match | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordMatch\">\n {{ L.form_validation_password_match | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noWhitespaceWithinSentence\">\n {{ L.form_validation_no_white_space_within_sentence | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noDotWithinSentence\">\n {{ L.form_validation_no_dot_space_within_sentence | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.guidIsValid\">\n {{ L.form_validation_invalid_uuid | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noDefaultAccessProfile\">\n {{ L.no_access_default_profile | translate: { controlName: label | translate,\n companyName: errors?.noDefaultAccessProfile?.companyName } }}\n </div>\n <div *ngIf=\"errors?.noEmoji\">\n {{ L.form_validation_invalid_no_emoji_message | translate: { controlName: label | translate, value: errors?.noEmoji.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.ipv4Format\">\n {{ L.form_validation_invalid_ipv4_message | translate: { controlName: label | translate, value: errors?.ipv4Format.value } }}\n </div>\n <div *ngIf=\"errors?.alphanumericRegex\">\n {{ L.form_validation_alphanumeric_message | translate: { controlName: label | translate, value: errors?.alphanumericRegex.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.validatePositiveInteger\">\n {{ L.form_validation_invalid_positive_integer_number_message | translate: { controlName: label | translate, value:\n errors?.validatePositiveInteger.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.roleNameAlreadyExists\">\n {{ L.role_name_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.rateNumberAlreadyExists\">\n {{ L.rate_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.accessProfileNumberTaken\">\n {{ L.access_profile_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.cashierNumberTaken\">\n {{ L.cashier_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.rateNumberIsZero\">\n {{ L.rate_number_is_zero | translate }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_time\">\n {{ L.form_validation_invalid_time | translate: { controlName: label ,from: '00:00',to:'00:00' } }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_time_format\">\n {{ L.form_validation_invalid_time_format | translate: { controlName: label } }}\n </div>\n <div *ngIf=\"errors?.positiveIntegerNumbersGreaterThanZeroRegex\">\n {{ L.form_validation_invalid_positive_integer_number_wo_zero_message | translate: { controlName: label | translate, value:\n errors?.positiveIntegerNumbersGreaterThanZeroRegex.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.form_validation_units_balance_maximum\">\n {{ L.form_validation_units_balance_maximum | translate: { controlName: label | translate } }}\n </div>\n <div *ngIf=\"errors?.form_validation_units_balance_minimum\">\n {{ L.form_validation_units_balance_minimum | translate: { controlName: label | translate } }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_percentage\">\n {{ L.form_validation_invalid_percentage_message | translate }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_decimal_percentage\">\n {{ L.form_validation_invalid_percentage_decimal_message | translate }}\n </div>\n <div *ngIf=\"errors?.revert_at_must_be_less_than_occupancy\">\n {{ L.revert_at_must_be_less_than_occupancy_message | translate }}\n </div>\n <div *ngIf=\"errors?.revert_at_must_be_more_than_occupancy\">\n {{ L.revert_at_must_be_more_than_occupancy_message | translate }}\n </div>\n </ng-template>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: WrapFnPipe, name: "wrapFn" }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i3.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: SharedDirectivesModule }, { kind: "directive", type: i4.VarDirective, selector: "[tbVar]", inputs: ["tbVar"] }] }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldValidationsComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
@@ -31,7 +31,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
31
31
|
WrapFnPipe,
|
|
32
32
|
LocalizationModule,
|
|
33
33
|
SharedDirectivesModule,
|
|
34
|
-
], template: "<ng-container *ngIf=\"touched || controlContainer.control.get(controlName)?.touched\">\n <ng-container *tbVar=\"getErrors | wrapFn: controlContainer.control.get(controlName)?.errors ?? errors as errors\">\n <div *ngIf=\"ObjectKeys(errors || {}).length > 1; then hasMultiErrors else hasOneError\"></div>\n <ng-template #hasMultiErrors>\n {{ L.invalid | translate: { controlName: label | translate} }}\n </ng-template>\n <ng-template #hasOneError>\n <div *ngIf=\"errors?.required\">\n {{ L.form_validation_required_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDate\">\n {{ L.form_validation_invalid_date_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDateRange\">\n {{ L.form_validation_invalid_date_range | translate }}</div>\n <div *ngIf=\"errors?.
|
|
34
|
+
], template: "<ng-container *ngIf=\"touched || controlContainer.control.get(controlName)?.touched\">\n <ng-container *tbVar=\"getErrors | wrapFn: controlContainer.control.get(controlName)?.errors ?? errors as errors\">\n <div *ngIf=\"ObjectKeys(errors || {}).length > 1; then hasMultiErrors else hasOneError\"></div>\n <ng-template #hasMultiErrors>\n {{ L.invalid | translate: { controlName: label | translate} }}\n </ng-template>\n <ng-template #hasOneError>\n <div *ngIf=\"errors?.required\">\n {{ L.form_validation_required_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDate\">\n {{ L.form_validation_invalid_date_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDateRange\">\n {{ L.form_validation_invalid_date_range | translate }}</div>\n <div *ngIf=\"errors?.invalidTerms\">\n {{ L.form_validation_terms_policy | translate }}</div>\n <div *ngIf=\"errors?.min min\">\n {{ L.form_validation_min_message | translate: { controlName: label | translate, value: errors?.min.min || 0 } }}\n </div>\n <div *ngIf=\"errors?.max\">\n {{ L.form_validation_max_message | translate: { controlName: label | translate, value: errors?.max.max || 0 } }}\n </div>\n <div *ngIf=\"errors?.minlength\">\n {{ L.form_validation_min_length_message | translate: { controlName: label | translate, value: errors?.minlength.requiredLength || 0 } }}\n </div>\n <div *ngIf=\"errors?.maxlength\">\n {{ L.form_validation_max_length_message | translate: { controlName: label | translate, value: errors?.maxlength.requiredLength || 0 } }}\n </div>\n <div *ngIf=\"errors?.invalidNumberLength\">\n {{ L.form_validation_invalid_length_message | translate: { controlName: label | translate, value: errors?.invalidNumberLength.requiredLength\n || 0 } }}\n </div>\n <div *ngIf=\"errors?.integerNumber\">\n {{ L.form_validation_invalid_integer_number_message | translate: { controlName: label | translate, value: errors?.integerNumber.value || 0 }\n }}\n </div>\n <div *ngIf=\"errors?.integerPositiveNumber\">\n {{ L.form_validation_invalid_integer_positive_number_message | translate: { controlName: label | translate, value:\n errors?.integerPositiveNumber.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.decimalNumber\">\n {{ L.form_validation_invalid_decimal_number_message | translate: { controlName: label | translate, value: errors?.decimalNumber.value || 0 }\n }}\n </div>\n <div *ngIf=\"errors?.decimalPositiveNumber\">\n {{ L.form_validation_invalid_decimal_positive_number_message | translate: { controlName: label | translate, value:\n errors?.decimalPositiveNumber.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.positiveNumbers\">\n {{ L.form_validation_invalid_positive_number_message | translate: { controlName: label | translate, value: errors?.positiveNumbers.value || 0\n } }}\n </div>\n <div *ngIf=\"errors?.positiveNumbersGreaterThanZero\">\n {{ L.form_validation_invalid_positive_number_greater_than_zero | translate: { controlName: label | translate, value:\n errors?.positiveNumbersGreaterThanZero.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.mobileNumbers\">\n {{ L.form_validation_invalid_mobile_number_message | translate: { controlName: label | translate, value: errors?.mobileNumbers.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.email\">\n {{ L.form_validation_email_pattern | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.pattern\">\n {{ L.form_validation_password_pattern | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordPolicyRequirements\">\n {{ L.form_validation_password_policy | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordNotMatch\">\n {{ L.form_validation_password_not_match | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordMatch\">\n {{ L.form_validation_password_match | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noWhitespaceWithinSentence\">\n {{ L.form_validation_no_white_space_within_sentence | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noDotWithinSentence\">\n {{ L.form_validation_no_dot_space_within_sentence | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.guidIsValid\">\n {{ L.form_validation_invalid_uuid | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noDefaultAccessProfile\">\n {{ L.no_access_default_profile | translate: { controlName: label | translate,\n companyName: errors?.noDefaultAccessProfile?.companyName } }}\n </div>\n <div *ngIf=\"errors?.noEmoji\">\n {{ L.form_validation_invalid_no_emoji_message | translate: { controlName: label | translate, value: errors?.noEmoji.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.ipv4Format\">\n {{ L.form_validation_invalid_ipv4_message | translate: { controlName: label | translate, value: errors?.ipv4Format.value } }}\n </div>\n <div *ngIf=\"errors?.alphanumericRegex\">\n {{ L.form_validation_alphanumeric_message | translate: { controlName: label | translate, value: errors?.alphanumericRegex.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.validatePositiveInteger\">\n {{ L.form_validation_invalid_positive_integer_number_message | translate: { controlName: label | translate, value:\n errors?.validatePositiveInteger.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.roleNameAlreadyExists\">\n {{ L.role_name_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.rateNumberAlreadyExists\">\n {{ L.rate_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.accessProfileNumberTaken\">\n {{ L.access_profile_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.cashierNumberTaken\">\n {{ L.cashier_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.rateNumberIsZero\">\n {{ L.rate_number_is_zero | translate }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_time\">\n {{ L.form_validation_invalid_time | translate: { controlName: label ,from: '00:00',to:'00:00' } }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_time_format\">\n {{ L.form_validation_invalid_time_format | translate: { controlName: label } }}\n </div>\n <div *ngIf=\"errors?.positiveIntegerNumbersGreaterThanZeroRegex\">\n {{ L.form_validation_invalid_positive_integer_number_wo_zero_message | translate: { controlName: label | translate, value:\n errors?.positiveIntegerNumbersGreaterThanZeroRegex.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.form_validation_units_balance_maximum\">\n {{ L.form_validation_units_balance_maximum | translate: { controlName: label | translate } }}\n </div>\n <div *ngIf=\"errors?.form_validation_units_balance_minimum\">\n {{ L.form_validation_units_balance_minimum | translate: { controlName: label | translate } }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_percentage\">\n {{ L.form_validation_invalid_percentage_message | translate }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_decimal_percentage\">\n {{ L.form_validation_invalid_percentage_decimal_message | translate }}\n </div>\n <div *ngIf=\"errors?.revert_at_must_be_less_than_occupancy\">\n {{ L.revert_at_must_be_less_than_occupancy_message | translate }}\n </div>\n <div *ngIf=\"errors?.revert_at_must_be_more_than_occupancy\">\n {{ L.revert_at_must_be_more_than_occupancy_message | translate }}\n </div>\n </ng-template>\n </ng-container>\n</ng-container>\n" }]
|
|
35
35
|
}], ctorParameters: () => [{ type: i1.ControlContainer }], propDecorators: { controlName: [{
|
|
36
36
|
type: Input
|
|
37
37
|
}], label: [{
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
41
41
|
}], touched: [{
|
|
42
42
|
type: Input
|
|
43
43
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdmFsaWRhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkLXZhbGlkYXRpb25zL2ZpZWxkLXZhbGlkYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvY29tcG9uZW50cy9maWVsZC12YWxpZGF0aW9ucy9maWVsZC12YWxpZGF0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBYXZELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxhQUFhO0lBUzFELFlBQW1CLGdCQUFrQztRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURTLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFGckQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFJekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUErQjtRQUN2QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsNkNBQTZDO1FBQ25FLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQW5CVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix1TUNuQnRDLGlxUUFtSkEsMkNEdElJLFlBQVksOEhBQ1osVUFBVSw4Q0FDVixrQkFBa0IsMkZBQ2xCLHNCQUFzQjs7NEZBR2IseUJBQXlCO2tCQVhyQyxTQUFTOytCQUNFLHdCQUF3QixjQUV0QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3FCQUN2QjtxRkFJUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTaGFyZWREaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBXcmFwRm5QaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvd3JhcC1mbi5waXBlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RiLWZpZWxkLXZhbGlkYXRpb25zXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC12YWxpZGF0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgV3JhcEZuUGlwZSxcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXG4gICAgU2hhcmVkRGlyZWN0aXZlc01vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRWYWxpZGF0aW9uc0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGw7XG4gIEBJbnB1dCgpIHRvdWNoZWQ6IGJvb2xlYW47XG5cbiAgT2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldEVycm9ycyhlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmIChlcnJvcnMpIHtcbiAgICAgIGRlbGV0ZSBlcnJvcnMubWFzazsgLy8gcmVtb3ZlIGRlZmF1bHQgTmd4TWFza0RpcmVjdGl2ZSB2YWxpZGF0aW9uXG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdWNoZWQgfHwgY29udHJvbENvbnRhaW5lci5jb250cm9sLmdldChjb250cm9sTmFtZSk/LnRvdWNoZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqdGJWYXI9XCJnZXRFcnJvcnMgfCB3cmFwRm46IGNvbnRyb2xDb250YWluZXIuY29udHJvbC5nZXQoY29udHJvbE5hbWUpPy5lcnJvcnMgPz8gZXJyb3JzIGFzIGVycm9yc1wiPlxuICAgIDxkaXYgKm5nSWY9XCJPYmplY3RLZXlzKGVycm9ycyB8fCB7fSkubGVuZ3RoID4gMTsgdGhlbiBoYXNNdWx0aUVycm9ycyBlbHNlIGhhc09uZUVycm9yXCI+PC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNoYXNNdWx0aUVycm9ycz5cbiAgICAgIHt7IEwuaW52YWxpZCB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGV9IH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2hhc09uZUVycm9yPlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucmVxdWlyZWRcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fcmVxdWlyZWRfbWVzc2FnZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uaW52YWxpZERhdGVcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9kYXRlX21lc3NhZ2UgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmludmFsaWREYXRlUmFuZ2VcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9kYXRlX3JhbmdlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9mcm9tX3RpbWVcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9mcm9tX3RpbWUgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmludmFsaWRUZXJtc1wiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl90ZXJtc19wb2xpY3kgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/Lm1pbiBtaW5cIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fbWluX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTogZXJyb3JzPy5taW4ubWluIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5tYXhcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fbWF4X21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTogZXJyb3JzPy5tYXgubWF4IHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5taW5sZW5ndGhcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fbWluX2xlbmd0aF9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8ubWlubGVuZ3RoLnJlcXVpcmVkTGVuZ3RoIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5tYXhsZW5ndGhcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fbWF4X2xlbmd0aF9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8ubWF4bGVuZ3RoLnJlcXVpcmVkTGVuZ3RoIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5pbnZhbGlkTnVtYmVyTGVuZ3RoXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfbGVuZ3RoX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTogZXJyb3JzPy5pbnZhbGlkTnVtYmVyTGVuZ3RoLnJlcXVpcmVkTGVuZ3RoXG4gICAgICAgIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5pbnRlZ2VyTnVtYmVyXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfaW50ZWdlcl9udW1iZXJfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOiBlcnJvcnM/LmludGVnZXJOdW1iZXIudmFsdWUgfHwgMCB9XG4gICAgICAgIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmludGVnZXJQb3NpdGl2ZU51bWJlclwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX2ludGVnZXJfcG9zaXRpdmVfbnVtYmVyX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTpcbiAgICAgICAgZXJyb3JzPy5pbnRlZ2VyUG9zaXRpdmVOdW1iZXIudmFsdWUgfHwgMCB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmRlY2ltYWxOdW1iZXJcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9kZWNpbWFsX251bWJlcl9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8uZGVjaW1hbE51bWJlci52YWx1ZSB8fCAwIH1cbiAgICAgICAgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uZGVjaW1hbFBvc2l0aXZlTnVtYmVyXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfZGVjaW1hbF9wb3NpdGl2ZV9udW1iZXJfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOlxuICAgICAgICBlcnJvcnM/LmRlY2ltYWxQb3NpdGl2ZU51bWJlci52YWx1ZSB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucG9zaXRpdmVOdW1iZXJzXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfcG9zaXRpdmVfbnVtYmVyX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTogZXJyb3JzPy5wb3NpdGl2ZU51bWJlcnMudmFsdWUgfHwgMFxuICAgICAgICB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LnBvc2l0aXZlTnVtYmVyc0dyZWF0ZXJUaGFuWmVyb1wiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3Bvc2l0aXZlX251bWJlcl9ncmVhdGVyX3RoYW5femVybyB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOlxuICAgICAgICBlcnJvcnM/LnBvc2l0aXZlTnVtYmVyc0dyZWF0ZXJUaGFuWmVyby52YWx1ZSB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ubW9iaWxlTnVtYmVyc1wiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX21vYmlsZV9udW1iZXJfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOiBlcnJvcnM/Lm1vYmlsZU51bWJlcnMudmFsdWUgfHwgMCB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmVtYWlsXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2VtYWlsX3BhdHRlcm4gfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5wYXR0ZXJuXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX3Bhc3N3b3JkX3BhdHRlcm4gfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5wYXNzd29yZFBvbGljeVJlcXVpcmVtZW50c1wiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9wYXNzd29yZF9wb2xpY3kgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5wYXNzd29yZE5vdE1hdGNoXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX3Bhc3N3b3JkX25vdF9tYXRjaCB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGV9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LnBhc3N3b3JkTWF0Y2hcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fcGFzc3dvcmRfbWF0Y2ggfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5ub1doaXRlc3BhY2VXaXRoaW5TZW50ZW5jZVwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9ub193aGl0ZV9zcGFjZV93aXRoaW5fc2VudGVuY2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5ub0RvdFdpdGhpblNlbnRlbmNlXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX25vX2RvdF9zcGFjZV93aXRoaW5fc2VudGVuY2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5ndWlkSXNWYWxpZFwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3V1aWQgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5ub0RlZmF1bHRBY2Nlc3NQcm9maWxlXCI+XG4gICAgICAgIHt7IEwubm9fYWNjZXNzX2RlZmF1bHRfcHJvZmlsZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsXG4gICAgICAgIGNvbXBhbnlOYW1lOiBlcnJvcnM/Lm5vRGVmYXVsdEFjY2Vzc1Byb2ZpbGU/LmNvbXBhbnlOYW1lIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ubm9FbW9qaVwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX25vX2Vtb2ppX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTogZXJyb3JzPy5ub0Vtb2ppLnZhbHVlIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5pcHY0Rm9ybWF0XCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfaXB2NF9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8uaXB2NEZvcm1hdC52YWx1ZSB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmFscGhhbnVtZXJpY1JlZ2V4XCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2FscGhhbnVtZXJpY19tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8uYWxwaGFudW1lcmljUmVnZXgudmFsdWUgfHwgMCB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LnZhbGlkYXRlUG9zaXRpdmVJbnRlZ2VyXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfcG9zaXRpdmVfaW50ZWdlcl9udW1iZXJfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOlxuICAgICAgICBlcnJvcnM/LnZhbGlkYXRlUG9zaXRpdmVJbnRlZ2VyLnZhbHVlIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5yb2xlTmFtZUFscmVhZHlFeGlzdHNcIj5cbiAgICAgICAge3sgTC5yb2xlX25hbWVfYWxyZWFkeV9leGlzdHMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucmF0ZU51bWJlckFscmVhZHlFeGlzdHNcIj5cbiAgICAgICAge3sgTC5yYXRlX251bWJlcl9hbHJlYWR5X2V4aXN0cyB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5hY2Nlc3NQcm9maWxlTnVtYmVyVGFrZW5cIj5cbiAgICAgICAge3sgTC5hY2Nlc3NfcHJvZmlsZV9udW1iZXJfYWxyZWFkeV9leGlzdHMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uY2FzaGllck51bWJlclRha2VuXCI+XG4gICAgICAgIHt7IEwuY2FzaGllcl9udW1iZXJfYWxyZWFkeV9leGlzdHMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucmF0ZU51bWJlcklzWmVyb1wiPlxuICAgICAgICB7eyBMLnJhdGVfbnVtYmVyX2lzX3plcm8gfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfdGltZVwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3RpbWUgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsICxmcm9tOiAnMDA6MDAnLHRvOicwMDowMCcgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF90aW1lX2Zvcm1hdFwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3RpbWVfZm9ybWF0IHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LnBvc2l0aXZlSW50ZWdlck51bWJlcnNHcmVhdGVyVGhhblplcm9SZWdleFwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3Bvc2l0aXZlX2ludGVnZXJfbnVtYmVyX3dvX3plcm9fbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOlxuICAgICAgICBlcnJvcnM/LnBvc2l0aXZlSW50ZWdlck51bWJlcnNHcmVhdGVyVGhhblplcm9SZWdleC52YWx1ZSB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uZm9ybV92YWxpZGF0aW9uX3VuaXRzX2JhbGFuY2VfbWF4aW11bVwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl91bml0c19iYWxhbmNlX21heGltdW0gfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uZm9ybV92YWxpZGF0aW9uX3VuaXRzX2JhbGFuY2VfbWluaW11bVwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl91bml0c19iYWxhbmNlX21pbmltdW0gfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfcGVyY2VudGFnZVwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3BlcmNlbnRhZ2VfbWVzc2FnZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9kZWNpbWFsX3BlcmNlbnRhZ2VcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9wZXJjZW50YWdlX2RlY2ltYWxfbWVzc2FnZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5yZXZlcnRfYXRfbXVzdF9iZV9sZXNzX3RoYW5fb2NjdXBhbmN5XCI+XG4gICAgICAgIHt7IEwucmV2ZXJ0X2F0X211c3RfYmVfbGVzc190aGFuX29jY3VwYW5jeV9tZXNzYWdlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LnJldmVydF9hdF9tdXN0X2JlX21vcmVfdGhhbl9vY2N1cGFuY3lcIj5cbiAgICAgICAge3sgTC5yZXZlcnRfYXRfbXVzdF9iZV9tb3JlX3RoYW5fb2NjdXBhbmN5X21lc3NhZ2UgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG4iXX0=
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtdmFsaWRhdGlvbnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xpZW50LXNoYXJlZC1saWIvc3JjL2xpYnJhcmllcy9jb21wb25lbnRzL2ZpZWxkLXZhbGlkYXRpb25zL2ZpZWxkLXZhbGlkYXRpb25zLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsaWVudC1zaGFyZWQtbGliL3NyYy9saWJyYXJpZXMvY29tcG9uZW50cy9maWVsZC12YWxpZGF0aW9ucy9maWVsZC12YWxpZGF0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7Ozs7O0FBYXZELE1BQU0sT0FBTyx5QkFBMEIsU0FBUSxhQUFhO0lBUzFELFlBQW1CLGdCQUFrQztRQUNuRCxLQUFLLEVBQUUsQ0FBQztRQURTLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFGckQsZUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7SUFJekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxNQUErQjtRQUN2QyxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1gsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsNkNBQTZDO1FBQ25FLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDOytHQW5CVSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix1TUNuQnRDLDJoUUFpSkEsMkNEcElJLFlBQVksOEhBQ1osVUFBVSw4Q0FDVixrQkFBa0IsMkZBQ2xCLHNCQUFzQjs7NEZBR2IseUJBQXlCO2tCQVhyQyxTQUFTOytCQUNFLHdCQUF3QixjQUV0QixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixVQUFVO3dCQUNWLGtCQUFrQjt3QkFDbEIsc0JBQXNCO3FCQUN2QjtxRkFJUSxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xDb250YWluZXIsIFZhbGlkYXRpb25FcnJvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTaGFyZWREaXJlY3RpdmVzTW9kdWxlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcyc7XG5pbXBvcnQgeyBMb2NhbGl6YXRpb25Nb2R1bGUgfSBmcm9tICcuLi8uLi9sb2NhbGl6YXRpb24vbG9jYWxpemF0aW9uLm1vZHVsZSc7XG5pbXBvcnQgeyBXcmFwRm5QaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvd3JhcC1mbi5waXBlJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi9iYXNlL2Jhc2UuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnW3RiLWZpZWxkLXZhbGlkYXRpb25zXScsXG4gIHRlbXBsYXRlVXJsOiAnLi9maWVsZC12YWxpZGF0aW9ucy5jb21wb25lbnQuaHRtbCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgV3JhcEZuUGlwZSxcbiAgICBMb2NhbGl6YXRpb25Nb2R1bGUsXG4gICAgU2hhcmVkRGlyZWN0aXZlc01vZHVsZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRmllbGRWYWxpZGF0aW9uc0NvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuXG4gIEBJbnB1dCgpIGNvbnRyb2xOYW1lOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yczogVmFsaWRhdGlvbkVycm9ycyB8IG51bGw7XG4gIEBJbnB1dCgpIHRvdWNoZWQ6IGJvb2xlYW47XG5cbiAgT2JqZWN0S2V5cyA9IE9iamVjdC5rZXlzO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBjb250cm9sQ29udGFpbmVyOiBDb250cm9sQ29udGFpbmVyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldEVycm9ycyhlcnJvcnM6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgIGlmIChlcnJvcnMpIHtcbiAgICAgIGRlbGV0ZSBlcnJvcnMubWFzazsgLy8gcmVtb3ZlIGRlZmF1bHQgTmd4TWFza0RpcmVjdGl2ZSB2YWxpZGF0aW9uXG4gICAgfVxuXG4gICAgcmV0dXJuIGVycm9ycztcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInRvdWNoZWQgfHwgY29udHJvbENvbnRhaW5lci5jb250cm9sLmdldChjb250cm9sTmFtZSk/LnRvdWNoZWRcIj5cbiAgPG5nLWNvbnRhaW5lciAqdGJWYXI9XCJnZXRFcnJvcnMgfCB3cmFwRm46IGNvbnRyb2xDb250YWluZXIuY29udHJvbC5nZXQoY29udHJvbE5hbWUpPy5lcnJvcnMgPz8gZXJyb3JzIGFzIGVycm9yc1wiPlxuICAgIDxkaXYgKm5nSWY9XCJPYmplY3RLZXlzKGVycm9ycyB8fCB7fSkubGVuZ3RoID4gMTsgdGhlbiBoYXNNdWx0aUVycm9ycyBlbHNlIGhhc09uZUVycm9yXCI+PC9kaXY+XG4gICAgPG5nLXRlbXBsYXRlICNoYXNNdWx0aUVycm9ycz5cbiAgICAgIHt7IEwuaW52YWxpZCB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGV9IH19XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2hhc09uZUVycm9yPlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucmVxdWlyZWRcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fcmVxdWlyZWRfbWVzc2FnZSB8IHRyYW5zbGF0ZSB9fTwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uaW52YWxpZERhdGVcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9kYXRlX21lc3NhZ2UgfCB0cmFuc2xhdGUgfX08L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmludmFsaWREYXRlUmFuZ2VcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9kYXRlX3JhbmdlIHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5pbnZhbGlkVGVybXNcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fdGVybXNfcG9saWN5IHwgdHJhbnNsYXRlIH19PC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5taW4gbWluXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX21pbl9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8ubWluLm1pbiB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ubWF4XCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX21heF9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8ubWF4Lm1heCB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ubWlubGVuZ3RoXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX21pbl9sZW5ndGhfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOiBlcnJvcnM/Lm1pbmxlbmd0aC5yZXF1aXJlZExlbmd0aCB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ubWF4bGVuZ3RoXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX21heF9sZW5ndGhfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOiBlcnJvcnM/Lm1heGxlbmd0aC5yZXF1aXJlZExlbmd0aCB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uaW52YWxpZE51bWJlckxlbmd0aFwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX2xlbmd0aF9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8uaW52YWxpZE51bWJlckxlbmd0aC5yZXF1aXJlZExlbmd0aFxuICAgICAgICB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uaW50ZWdlck51bWJlclwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX2ludGVnZXJfbnVtYmVyX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTogZXJyb3JzPy5pbnRlZ2VyTnVtYmVyLnZhbHVlIHx8IDAgfVxuICAgICAgICB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5pbnRlZ2VyUG9zaXRpdmVOdW1iZXJcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9pbnRlZ2VyX3Bvc2l0aXZlX251bWJlcl9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6XG4gICAgICAgIGVycm9ycz8uaW50ZWdlclBvc2l0aXZlTnVtYmVyLnZhbHVlIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5kZWNpbWFsTnVtYmVyXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfZGVjaW1hbF9udW1iZXJfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOiBlcnJvcnM/LmRlY2ltYWxOdW1iZXIudmFsdWUgfHwgMCB9XG4gICAgICAgIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmRlY2ltYWxQb3NpdGl2ZU51bWJlclwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX2RlY2ltYWxfcG9zaXRpdmVfbnVtYmVyX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTpcbiAgICAgICAgZXJyb3JzPy5kZWNpbWFsUG9zaXRpdmVOdW1iZXIudmFsdWUgfHwgMCB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LnBvc2l0aXZlTnVtYmVyc1wiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3Bvc2l0aXZlX251bWJlcl9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8ucG9zaXRpdmVOdW1iZXJzLnZhbHVlIHx8IDBcbiAgICAgICAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5wb3NpdGl2ZU51bWJlcnNHcmVhdGVyVGhhblplcm9cIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9wb3NpdGl2ZV9udW1iZXJfZ3JlYXRlcl90aGFuX3plcm8gfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTpcbiAgICAgICAgZXJyb3JzPy5wb3NpdGl2ZU51bWJlcnNHcmVhdGVyVGhhblplcm8udmFsdWUgfHwgMCB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/Lm1vYmlsZU51bWJlcnNcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9tb2JpbGVfbnVtYmVyX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTogZXJyb3JzPy5tb2JpbGVOdW1iZXJzLnZhbHVlIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5lbWFpbFwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9lbWFpbF9wYXR0ZXJuIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZX0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucGF0dGVyblwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9wYXNzd29yZF9wYXR0ZXJuIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZX0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucGFzc3dvcmRQb2xpY3lSZXF1aXJlbWVudHNcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fcGFzc3dvcmRfcG9saWN5IHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZX0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucGFzc3dvcmROb3RNYXRjaFwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9wYXNzd29yZF9ub3RfbWF0Y2ggfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5wYXNzd29yZE1hdGNoXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX3Bhc3N3b3JkX21hdGNoIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZX0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ubm9XaGl0ZXNwYWNlV2l0aGluU2VudGVuY2VcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fbm9fd2hpdGVfc3BhY2Vfd2l0aGluX3NlbnRlbmNlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZX0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ubm9Eb3RXaXRoaW5TZW50ZW5jZVwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9ub19kb3Rfc3BhY2Vfd2l0aGluX3NlbnRlbmNlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZX0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uZ3VpZElzVmFsaWRcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF91dWlkIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZX0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ubm9EZWZhdWx0QWNjZXNzUHJvZmlsZVwiPlxuICAgICAgICB7eyBMLm5vX2FjY2Vzc19kZWZhdWx0X3Byb2ZpbGUgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLFxuICAgICAgICBjb21wYW55TmFtZTogZXJyb3JzPy5ub0RlZmF1bHRBY2Nlc3NQcm9maWxlPy5jb21wYW55TmFtZSB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/Lm5vRW1vamlcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9ub19lbW9qaV9tZXNzYWdlIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSwgdmFsdWU6IGVycm9ycz8ubm9FbW9qaS52YWx1ZSB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uaXB2NEZvcm1hdFwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX2lwdjRfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOiBlcnJvcnM/LmlwdjRGb3JtYXQudmFsdWUgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5hbHBoYW51bWVyaWNSZWdleFwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9hbHBoYW51bWVyaWNfbWVzc2FnZSB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfCB0cmFuc2xhdGUsIHZhbHVlOiBlcnJvcnM/LmFscGhhbnVtZXJpY1JlZ2V4LnZhbHVlIHx8IDAgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy52YWxpZGF0ZVBvc2l0aXZlSW50ZWdlclwiPlxuICAgICAgICB7eyBMLmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3Bvc2l0aXZlX2ludGVnZXJfbnVtYmVyX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTpcbiAgICAgICAgZXJyb3JzPy52YWxpZGF0ZVBvc2l0aXZlSW50ZWdlci52YWx1ZSB8fCAwIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucm9sZU5hbWVBbHJlYWR5RXhpc3RzXCI+XG4gICAgICAgIHt7IEwucm9sZV9uYW1lX2FscmVhZHlfZXhpc3RzIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LnJhdGVOdW1iZXJBbHJlYWR5RXhpc3RzXCI+XG4gICAgICAgIHt7IEwucmF0ZV9udW1iZXJfYWxyZWFkeV9leGlzdHMgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uYWNjZXNzUHJvZmlsZU51bWJlclRha2VuXCI+XG4gICAgICAgIHt7IEwuYWNjZXNzX3Byb2ZpbGVfbnVtYmVyX2FscmVhZHlfZXhpc3RzIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmNhc2hpZXJOdW1iZXJUYWtlblwiPlxuICAgICAgICB7eyBMLmNhc2hpZXJfbnVtYmVyX2FscmVhZHlfZXhpc3RzIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LnJhdGVOdW1iZXJJc1plcm9cIj5cbiAgICAgICAge3sgTC5yYXRlX251bWJlcl9pc196ZXJvIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3RpbWVcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF90aW1lIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCAsZnJvbTogJzAwOjAwJyx0bzonMDA6MDAnIH0gfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfdGltZV9mb3JtYXRcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF90aW1lX2Zvcm1hdCB8IHRyYW5zbGF0ZTogeyBjb250cm9sTmFtZTogbGFiZWwgfSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5wb3NpdGl2ZUludGVnZXJOdW1iZXJzR3JlYXRlclRoYW5aZXJvUmVnZXhcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9wb3NpdGl2ZV9pbnRlZ2VyX251bWJlcl93b196ZXJvX21lc3NhZ2UgfCB0cmFuc2xhdGU6IHsgY29udHJvbE5hbWU6IGxhYmVsIHwgdHJhbnNsYXRlLCB2YWx1ZTpcbiAgICAgICAgZXJyb3JzPy5wb3NpdGl2ZUludGVnZXJOdW1iZXJzR3JlYXRlclRoYW5aZXJvUmVnZXgudmFsdWUgfHwgMCB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmZvcm1fdmFsaWRhdGlvbl91bml0c19iYWxhbmNlX21heGltdW1cIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fdW5pdHNfYmFsYW5jZV9tYXhpbXVtIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmZvcm1fdmFsaWRhdGlvbl91bml0c19iYWxhbmNlX21pbmltdW1cIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25fdW5pdHNfYmFsYW5jZV9taW5pbXVtIHwgdHJhbnNsYXRlOiB7IGNvbnRyb2xOYW1lOiBsYWJlbCB8IHRyYW5zbGF0ZSB9IH19XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgKm5nSWY9XCJlcnJvcnM/LmZvcm1fdmFsaWRhdGlvbl9pbnZhbGlkX3BlcmNlbnRhZ2VcIj5cbiAgICAgICAge3sgTC5mb3JtX3ZhbGlkYXRpb25faW52YWxpZF9wZXJjZW50YWdlX21lc3NhZ2UgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8uZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfZGVjaW1hbF9wZXJjZW50YWdlXCI+XG4gICAgICAgIHt7IEwuZm9ybV92YWxpZGF0aW9uX2ludmFsaWRfcGVyY2VudGFnZV9kZWNpbWFsX21lc3NhZ2UgfCB0cmFuc2xhdGUgfX1cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiAqbmdJZj1cImVycm9ycz8ucmV2ZXJ0X2F0X211c3RfYmVfbGVzc190aGFuX29jY3VwYW5jeVwiPlxuICAgICAgICB7eyBMLnJldmVydF9hdF9tdXN0X2JlX2xlc3NfdGhhbl9vY2N1cGFuY3lfbWVzc2FnZSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2ICpuZ0lmPVwiZXJyb3JzPy5yZXZlcnRfYXRfbXVzdF9iZV9tb3JlX3RoYW5fb2NjdXBhbmN5XCI+XG4gICAgICAgIHt7IEwucmV2ZXJ0X2F0X211c3RfYmVfbW9yZV90aGFuX29jY3VwYW5jeV9tZXNzYWdlIHwgdHJhbnNsYXRlIH19XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
@@ -27077,7 +27077,7 @@ class FieldValidationsComponent extends BaseComponent {
|
|
|
27077
27077
|
return errors;
|
|
27078
27078
|
}
|
|
27079
27079
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldValidationsComponent, deps: [{ token: i1.ControlContainer }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
27080
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldValidationsComponent, isStandalone: true, selector: "[tb-field-validations]", inputs: { controlName: "controlName", label: "label", errors: "errors", touched: "touched" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"touched || controlContainer.control.get(controlName)?.touched\">\n <ng-container *tbVar=\"getErrors | wrapFn: controlContainer.control.get(controlName)?.errors ?? errors as errors\">\n <div *ngIf=\"ObjectKeys(errors || {}).length > 1; then hasMultiErrors else hasOneError\"></div>\n <ng-template #hasMultiErrors>\n {{ L.invalid | translate: { controlName: label | translate} }}\n </ng-template>\n <ng-template #hasOneError>\n <div *ngIf=\"errors?.required\">\n {{ L.form_validation_required_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDate\">\n {{ L.form_validation_invalid_date_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDateRange\">\n {{ L.form_validation_invalid_date_range | translate }}</div>\n <div *ngIf=\"errors?.
|
|
27080
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: FieldValidationsComponent, isStandalone: true, selector: "[tb-field-validations]", inputs: { controlName: "controlName", label: "label", errors: "errors", touched: "touched" }, usesInheritance: true, ngImport: i0, template: "<ng-container *ngIf=\"touched || controlContainer.control.get(controlName)?.touched\">\n <ng-container *tbVar=\"getErrors | wrapFn: controlContainer.control.get(controlName)?.errors ?? errors as errors\">\n <div *ngIf=\"ObjectKeys(errors || {}).length > 1; then hasMultiErrors else hasOneError\"></div>\n <ng-template #hasMultiErrors>\n {{ L.invalid | translate: { controlName: label | translate} }}\n </ng-template>\n <ng-template #hasOneError>\n <div *ngIf=\"errors?.required\">\n {{ L.form_validation_required_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDate\">\n {{ L.form_validation_invalid_date_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDateRange\">\n {{ L.form_validation_invalid_date_range | translate }}</div>\n <div *ngIf=\"errors?.invalidTerms\">\n {{ L.form_validation_terms_policy | translate }}</div>\n <div *ngIf=\"errors?.min min\">\n {{ L.form_validation_min_message | translate: { controlName: label | translate, value: errors?.min.min || 0 } }}\n </div>\n <div *ngIf=\"errors?.max\">\n {{ L.form_validation_max_message | translate: { controlName: label | translate, value: errors?.max.max || 0 } }}\n </div>\n <div *ngIf=\"errors?.minlength\">\n {{ L.form_validation_min_length_message | translate: { controlName: label | translate, value: errors?.minlength.requiredLength || 0 } }}\n </div>\n <div *ngIf=\"errors?.maxlength\">\n {{ L.form_validation_max_length_message | translate: { controlName: label | translate, value: errors?.maxlength.requiredLength || 0 } }}\n </div>\n <div *ngIf=\"errors?.invalidNumberLength\">\n {{ L.form_validation_invalid_length_message | translate: { controlName: label | translate, value: errors?.invalidNumberLength.requiredLength\n || 0 } }}\n </div>\n <div *ngIf=\"errors?.integerNumber\">\n {{ L.form_validation_invalid_integer_number_message | translate: { controlName: label | translate, value: errors?.integerNumber.value || 0 }\n }}\n </div>\n <div *ngIf=\"errors?.integerPositiveNumber\">\n {{ L.form_validation_invalid_integer_positive_number_message | translate: { controlName: label | translate, value:\n errors?.integerPositiveNumber.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.decimalNumber\">\n {{ L.form_validation_invalid_decimal_number_message | translate: { controlName: label | translate, value: errors?.decimalNumber.value || 0 }\n }}\n </div>\n <div *ngIf=\"errors?.decimalPositiveNumber\">\n {{ L.form_validation_invalid_decimal_positive_number_message | translate: { controlName: label | translate, value:\n errors?.decimalPositiveNumber.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.positiveNumbers\">\n {{ L.form_validation_invalid_positive_number_message | translate: { controlName: label | translate, value: errors?.positiveNumbers.value || 0\n } }}\n </div>\n <div *ngIf=\"errors?.positiveNumbersGreaterThanZero\">\n {{ L.form_validation_invalid_positive_number_greater_than_zero | translate: { controlName: label | translate, value:\n errors?.positiveNumbersGreaterThanZero.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.mobileNumbers\">\n {{ L.form_validation_invalid_mobile_number_message | translate: { controlName: label | translate, value: errors?.mobileNumbers.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.email\">\n {{ L.form_validation_email_pattern | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.pattern\">\n {{ L.form_validation_password_pattern | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordPolicyRequirements\">\n {{ L.form_validation_password_policy | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordNotMatch\">\n {{ L.form_validation_password_not_match | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordMatch\">\n {{ L.form_validation_password_match | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noWhitespaceWithinSentence\">\n {{ L.form_validation_no_white_space_within_sentence | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noDotWithinSentence\">\n {{ L.form_validation_no_dot_space_within_sentence | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.guidIsValid\">\n {{ L.form_validation_invalid_uuid | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noDefaultAccessProfile\">\n {{ L.no_access_default_profile | translate: { controlName: label | translate,\n companyName: errors?.noDefaultAccessProfile?.companyName } }}\n </div>\n <div *ngIf=\"errors?.noEmoji\">\n {{ L.form_validation_invalid_no_emoji_message | translate: { controlName: label | translate, value: errors?.noEmoji.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.ipv4Format\">\n {{ L.form_validation_invalid_ipv4_message | translate: { controlName: label | translate, value: errors?.ipv4Format.value } }}\n </div>\n <div *ngIf=\"errors?.alphanumericRegex\">\n {{ L.form_validation_alphanumeric_message | translate: { controlName: label | translate, value: errors?.alphanumericRegex.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.validatePositiveInteger\">\n {{ L.form_validation_invalid_positive_integer_number_message | translate: { controlName: label | translate, value:\n errors?.validatePositiveInteger.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.roleNameAlreadyExists\">\n {{ L.role_name_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.rateNumberAlreadyExists\">\n {{ L.rate_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.accessProfileNumberTaken\">\n {{ L.access_profile_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.cashierNumberTaken\">\n {{ L.cashier_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.rateNumberIsZero\">\n {{ L.rate_number_is_zero | translate }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_time\">\n {{ L.form_validation_invalid_time | translate: { controlName: label ,from: '00:00',to:'00:00' } }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_time_format\">\n {{ L.form_validation_invalid_time_format | translate: { controlName: label } }}\n </div>\n <div *ngIf=\"errors?.positiveIntegerNumbersGreaterThanZeroRegex\">\n {{ L.form_validation_invalid_positive_integer_number_wo_zero_message | translate: { controlName: label | translate, value:\n errors?.positiveIntegerNumbersGreaterThanZeroRegex.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.form_validation_units_balance_maximum\">\n {{ L.form_validation_units_balance_maximum | translate: { controlName: label | translate } }}\n </div>\n <div *ngIf=\"errors?.form_validation_units_balance_minimum\">\n {{ L.form_validation_units_balance_minimum | translate: { controlName: label | translate } }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_percentage\">\n {{ L.form_validation_invalid_percentage_message | translate }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_decimal_percentage\">\n {{ L.form_validation_invalid_percentage_decimal_message | translate }}\n </div>\n <div *ngIf=\"errors?.revert_at_must_be_less_than_occupancy\">\n {{ L.revert_at_must_be_less_than_occupancy_message | translate }}\n </div>\n <div *ngIf=\"errors?.revert_at_must_be_more_than_occupancy\">\n {{ L.revert_at_must_be_more_than_occupancy_message | translate }}\n </div>\n </ng-template>\n </ng-container>\n</ng-container>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: WrapFnPipe, name: "wrapFn" }, { kind: "ngmodule", type: LocalizationModule }, { kind: "pipe", type: i1$5.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: SharedDirectivesModule }, { kind: "directive", type: VarDirective, selector: "[tbVar]", inputs: ["tbVar"] }] }); }
|
|
27081
27081
|
}
|
|
27082
27082
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FieldValidationsComponent, decorators: [{
|
|
27083
27083
|
type: Component,
|
|
@@ -27086,7 +27086,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
27086
27086
|
WrapFnPipe,
|
|
27087
27087
|
LocalizationModule,
|
|
27088
27088
|
SharedDirectivesModule,
|
|
27089
|
-
], template: "<ng-container *ngIf=\"touched || controlContainer.control.get(controlName)?.touched\">\n <ng-container *tbVar=\"getErrors | wrapFn: controlContainer.control.get(controlName)?.errors ?? errors as errors\">\n <div *ngIf=\"ObjectKeys(errors || {}).length > 1; then hasMultiErrors else hasOneError\"></div>\n <ng-template #hasMultiErrors>\n {{ L.invalid | translate: { controlName: label | translate} }}\n </ng-template>\n <ng-template #hasOneError>\n <div *ngIf=\"errors?.required\">\n {{ L.form_validation_required_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDate\">\n {{ L.form_validation_invalid_date_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDateRange\">\n {{ L.form_validation_invalid_date_range | translate }}</div>\n <div *ngIf=\"errors?.
|
|
27089
|
+
], template: "<ng-container *ngIf=\"touched || controlContainer.control.get(controlName)?.touched\">\n <ng-container *tbVar=\"getErrors | wrapFn: controlContainer.control.get(controlName)?.errors ?? errors as errors\">\n <div *ngIf=\"ObjectKeys(errors || {}).length > 1; then hasMultiErrors else hasOneError\"></div>\n <ng-template #hasMultiErrors>\n {{ L.invalid | translate: { controlName: label | translate} }}\n </ng-template>\n <ng-template #hasOneError>\n <div *ngIf=\"errors?.required\">\n {{ L.form_validation_required_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDate\">\n {{ L.form_validation_invalid_date_message | translate }}</div>\n <div *ngIf=\"errors?.invalidDateRange\">\n {{ L.form_validation_invalid_date_range | translate }}</div>\n <div *ngIf=\"errors?.invalidTerms\">\n {{ L.form_validation_terms_policy | translate }}</div>\n <div *ngIf=\"errors?.min min\">\n {{ L.form_validation_min_message | translate: { controlName: label | translate, value: errors?.min.min || 0 } }}\n </div>\n <div *ngIf=\"errors?.max\">\n {{ L.form_validation_max_message | translate: { controlName: label | translate, value: errors?.max.max || 0 } }}\n </div>\n <div *ngIf=\"errors?.minlength\">\n {{ L.form_validation_min_length_message | translate: { controlName: label | translate, value: errors?.minlength.requiredLength || 0 } }}\n </div>\n <div *ngIf=\"errors?.maxlength\">\n {{ L.form_validation_max_length_message | translate: { controlName: label | translate, value: errors?.maxlength.requiredLength || 0 } }}\n </div>\n <div *ngIf=\"errors?.invalidNumberLength\">\n {{ L.form_validation_invalid_length_message | translate: { controlName: label | translate, value: errors?.invalidNumberLength.requiredLength\n || 0 } }}\n </div>\n <div *ngIf=\"errors?.integerNumber\">\n {{ L.form_validation_invalid_integer_number_message | translate: { controlName: label | translate, value: errors?.integerNumber.value || 0 }\n }}\n </div>\n <div *ngIf=\"errors?.integerPositiveNumber\">\n {{ L.form_validation_invalid_integer_positive_number_message | translate: { controlName: label | translate, value:\n errors?.integerPositiveNumber.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.decimalNumber\">\n {{ L.form_validation_invalid_decimal_number_message | translate: { controlName: label | translate, value: errors?.decimalNumber.value || 0 }\n }}\n </div>\n <div *ngIf=\"errors?.decimalPositiveNumber\">\n {{ L.form_validation_invalid_decimal_positive_number_message | translate: { controlName: label | translate, value:\n errors?.decimalPositiveNumber.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.positiveNumbers\">\n {{ L.form_validation_invalid_positive_number_message | translate: { controlName: label | translate, value: errors?.positiveNumbers.value || 0\n } }}\n </div>\n <div *ngIf=\"errors?.positiveNumbersGreaterThanZero\">\n {{ L.form_validation_invalid_positive_number_greater_than_zero | translate: { controlName: label | translate, value:\n errors?.positiveNumbersGreaterThanZero.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.mobileNumbers\">\n {{ L.form_validation_invalid_mobile_number_message | translate: { controlName: label | translate, value: errors?.mobileNumbers.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.email\">\n {{ L.form_validation_email_pattern | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.pattern\">\n {{ L.form_validation_password_pattern | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordPolicyRequirements\">\n {{ L.form_validation_password_policy | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordNotMatch\">\n {{ L.form_validation_password_not_match | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.passwordMatch\">\n {{ L.form_validation_password_match | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noWhitespaceWithinSentence\">\n {{ L.form_validation_no_white_space_within_sentence | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noDotWithinSentence\">\n {{ L.form_validation_no_dot_space_within_sentence | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.guidIsValid\">\n {{ L.form_validation_invalid_uuid | translate: { controlName: label | translate} }}\n </div>\n <div *ngIf=\"errors?.noDefaultAccessProfile\">\n {{ L.no_access_default_profile | translate: { controlName: label | translate,\n companyName: errors?.noDefaultAccessProfile?.companyName } }}\n </div>\n <div *ngIf=\"errors?.noEmoji\">\n {{ L.form_validation_invalid_no_emoji_message | translate: { controlName: label | translate, value: errors?.noEmoji.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.ipv4Format\">\n {{ L.form_validation_invalid_ipv4_message | translate: { controlName: label | translate, value: errors?.ipv4Format.value } }}\n </div>\n <div *ngIf=\"errors?.alphanumericRegex\">\n {{ L.form_validation_alphanumeric_message | translate: { controlName: label | translate, value: errors?.alphanumericRegex.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.validatePositiveInteger\">\n {{ L.form_validation_invalid_positive_integer_number_message | translate: { controlName: label | translate, value:\n errors?.validatePositiveInteger.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.roleNameAlreadyExists\">\n {{ L.role_name_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.rateNumberAlreadyExists\">\n {{ L.rate_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.accessProfileNumberTaken\">\n {{ L.access_profile_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.cashierNumberTaken\">\n {{ L.cashier_number_already_exists | translate }}\n </div>\n <div *ngIf=\"errors?.rateNumberIsZero\">\n {{ L.rate_number_is_zero | translate }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_time\">\n {{ L.form_validation_invalid_time | translate: { controlName: label ,from: '00:00',to:'00:00' } }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_time_format\">\n {{ L.form_validation_invalid_time_format | translate: { controlName: label } }}\n </div>\n <div *ngIf=\"errors?.positiveIntegerNumbersGreaterThanZeroRegex\">\n {{ L.form_validation_invalid_positive_integer_number_wo_zero_message | translate: { controlName: label | translate, value:\n errors?.positiveIntegerNumbersGreaterThanZeroRegex.value || 0 } }}\n </div>\n <div *ngIf=\"errors?.form_validation_units_balance_maximum\">\n {{ L.form_validation_units_balance_maximum | translate: { controlName: label | translate } }}\n </div>\n <div *ngIf=\"errors?.form_validation_units_balance_minimum\">\n {{ L.form_validation_units_balance_minimum | translate: { controlName: label | translate } }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_percentage\">\n {{ L.form_validation_invalid_percentage_message | translate }}\n </div>\n <div *ngIf=\"errors?.form_validation_invalid_decimal_percentage\">\n {{ L.form_validation_invalid_percentage_decimal_message | translate }}\n </div>\n <div *ngIf=\"errors?.revert_at_must_be_less_than_occupancy\">\n {{ L.revert_at_must_be_less_than_occupancy_message | translate }}\n </div>\n <div *ngIf=\"errors?.revert_at_must_be_more_than_occupancy\">\n {{ L.revert_at_must_be_more_than_occupancy_message | translate }}\n </div>\n </ng-template>\n </ng-container>\n</ng-container>\n" }]
|
|
27090
27090
|
}], ctorParameters: () => [{ type: i1.ControlContainer }], propDecorators: { controlName: [{
|
|
27091
27091
|
type: Input
|
|
27092
27092
|
}], label: [{
|