@updevs/components 1.0.0-alpha.20 → 1.0.0-alpha.22
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/button/button.component.mjs +2 -2
- package/esm2022/form/components/dynamic-field/dynamic-field.component.mjs +15 -4
- package/esm2022/form/form.component.mjs +3 -3
- package/esm2022/form/models/dynamic-field.model.mjs +1 -1
- package/esm2022/form/models/input-field.model.mjs +2 -0
- package/esm2022/form/models/public-api.mjs +2 -1
- package/esm2022/layout/pages/auth-flow/login/login.component.mjs +5 -3
- package/esm2022/modal/components/modal-container/modal-container.component.mjs +3 -3
- package/fesm2022/updevs-components-button.mjs +1 -1
- package/fesm2022/updevs-components-button.mjs.map +1 -1
- package/fesm2022/updevs-components-form.mjs +16 -5
- package/fesm2022/updevs-components-form.mjs.map +1 -1
- package/fesm2022/updevs-components-layout.mjs +4 -2
- package/fesm2022/updevs-components-layout.mjs.map +1 -1
- package/fesm2022/updevs-components-modal.mjs +2 -2
- package/fesm2022/updevs-components-modal.mjs.map +1 -1
- package/form/components/dynamic-field/dynamic-field.component.d.ts +6 -2
- package/form/models/dynamic-field.model.d.ts +0 -2
- package/form/models/input-field.model.d.ts +6 -0
- package/form/models/public-api.d.ts +1 -0
- package/package.json +30 -30
|
@@ -50,7 +50,8 @@ export class LoginComponent {
|
|
|
50
50
|
type: DynamicFieldType.Input,
|
|
51
51
|
colSize: { default: 12 },
|
|
52
52
|
label: { text: 'UpDevs.Login.Email', isTranslated: false },
|
|
53
|
-
validators: [Validators.required, Validators.minLength(3)]
|
|
53
|
+
validators: [Validators.required, Validators.minLength(3)],
|
|
54
|
+
shouldSubmitOnEnter: true
|
|
54
55
|
}
|
|
55
56
|
]
|
|
56
57
|
},
|
|
@@ -62,7 +63,8 @@ export class LoginComponent {
|
|
|
62
63
|
inputType: 'password',
|
|
63
64
|
colSize: { default: 12 },
|
|
64
65
|
label: { text: 'UpDevs.Login.Password', isTranslated: false },
|
|
65
|
-
validators: [Validators.required, Validators.minLength(3)]
|
|
66
|
+
validators: [Validators.required, Validators.minLength(3)],
|
|
67
|
+
shouldSubmitOnEnter: true
|
|
66
68
|
}
|
|
67
69
|
]
|
|
68
70
|
},
|
|
@@ -105,4 +107,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
105
107
|
type: Component,
|
|
106
108
|
args: [{ selector: 'upd-login', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Login'\">\n <upd-header [style]=\"'transparent'\"></upd-header>\n <div class=\"page page-center\">\n @switch (config.layout) {\n @case ('centered-box') {\n <div class=\"container container-tight py-4\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n }\n @case ('box-with-picture') {\n <div class=\"container container-normal py-4\">\n <div class=\"row align-items-center g-4\">\n <div class=\"col-lg\">\n <div class=\"container-tight\">\n <ng-container [ngTemplateOutlet]=\"loginCardTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-lg d-none d-lg-block\">\n <img height=\"300\" class=\"d-block mx-auto upd-right-login-image\" />\n </div>\n </div>\n </div>\n }\n @case ('cover') {\n <div class=\"row g-0 flex-fill\">\n <div class=\"col-12 col-lg-6 col-xl-4 border-top-wide d-flex flex-column justify-content-center\"\n [ngClass]=\"border\">\n <div class=\"container container-tight my-5 px-lg-5\">\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n\n <h2 class=\"h3 text-center mb-3\">\n {{ t('Title') }}\n </h2>\n\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </div>\n </div>\n <div class=\"col-12 col-lg-6 col-xl-8 d-none d-lg-block\">\n <div class=\"bg-cover h-100 min-vh-100 upd-right-login-cover-image\"></div>\n </div>\n </div>\n }\n }\n </div>\n <upd-footer></upd-footer>\n\n <ng-template #loginCardTpl>\n <ng-container [ngTemplateOutlet]=\"headerTpl\"></ng-container>\n <upd-card [removeBorder]=\"true\">\n <div class=\"p-4\">\n <h2 class=\"h2 text-center mb-4\">\n {{ t('Title') }}\n </h2>\n <ng-container [ngTemplateOutlet]=\"loginFormTpl\"></ng-container>\n </div>\n <ng-container [ngTemplateOutlet]=\"socialLoginTpl\"></ng-container>\n </upd-card>\n <ng-container [ngTemplateOutlet]=\"noAccountTpl\"></ng-container>\n </ng-template>\n\n <ng-template #loginFormTpl>\n <upd-form [rows]=\"formRows\" [hasActionsSection]=\"false\" [(formGroup)]=\"formGroup\"></upd-form>\n <div class=\"form-footer\">\n <upd-button [colorStyle]=\"config.signInButtonColor\" (clicked)=\"login()\" [isLoading]=\"isSigningIn()\"\n customClasses=\"w-100\">\n {{ t('SignIn') }}\n </upd-button>\n @if (!!config.recoverPasswordRoute) {\n <div class=\"d-flex mt-2\">\n <upd-link class=\"ms-auto\" [customClasses]=\"linkClasses\" (clicked)=\"goToRecoverPasswordPage()\">\n {{ t('RecoverPassword') }}\n </upd-link>\n </div>\n }\n </div>\n </ng-template>\n\n <ng-template #socialLoginTpl>\n @if (config.socialLoginButtons.length > 0) {\n <div class=\"hr-text\">\n {{ t('Or') }}\n </div>\n <div class=\"card-body\">\n <div class=\"row\">\n @for (btn of config.socialLoginButtons; track btn) {\n <div class=\"col\">\n <upd-button [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n </ng-template>\n\n <ng-template #headerTpl>\n <div class=\"text-center mb-4\">\n <a href=\".\" class=\"navbar-brand navbar-brand-autodark\">\n <img height=\"36\" class=\"navbar-brand-image upd-brand-logo\" />\n </a>\n </div>\n </ng-template>\n\n <ng-template #noAccountTpl>\n @if (!!config.signUpRoute) {\n <div class=\"text-center text-muted mt-3\">\n {{ t('NoAccountYet') }}\n <upd-link [customClasses]=\"linkClasses\" (clicked)=\"goToSignUpPage()\">{{ t('SignUp') }}</upd-link>\n </div>\n }\n </ng-template>\n</ng-container>\n" }]
|
|
107
109
|
}] });
|
|
108
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFnZXMvYXV0aC1mbG93L2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhZ2VzL2F1dGgtZmxvdy9sb2dpbi9sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBcUIsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRWhDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7Ozs7OztBQU9yRixNQUFNLE9BQU8sY0FBYztJQUwzQjtRQU1JLGNBQVMsR0FBRyxLQUFLLENBQUMsSUFBSSxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyQyxhQUFRLEdBQW1CLEVBQUUsQ0FBQztRQUM5QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNuQix3QkFBbUIsR0FBRyxNQUFNLENBQUMsc0JBQXNCLENBQUMsQ0FBQztRQUNyRCxXQUFNLEdBQUcsSUFBSSxD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LEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNELDJCQUEyQjtRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBYSxDQUFDLFFBQVEsRUFBRyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsS0FBYSxDQUFDLFFBQVEsQ0FBQzthQUNyRyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7YUFDakQsU0FBUyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELHVCQUF1QjtRQUNuQixJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3BFLENBQUM7SUFFRCxjQUFjO1FBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0QsQ0FBQzs4R0EzRlEsY0FBYztrR0FBZCxjQUFjLDRPQ2YzQix1MUpBaUhBOzsyRkRsR2EsY0FBYztrQkFMMUIsU0FBUzsrQkFDSSxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBpbmplY3QsIE9uRGVzdHJveSwgT25Jbml0LCBtb2RlbCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTGF5b3V0U2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJ0B1cGRldnMvc2RrL3NlY3VyaXR5JztcbmltcG9ydCB7IEZvcm1Sb3dNb2RlbCwgRHluYW1pY0ZpZWxkVHlwZSB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFVwZExheW91dENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91cGQtbGF5b3V0LWNvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtbG9naW4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBmb3JtR3JvdXAgPSBtb2RlbChuZXcgRm9ybUdyb3VwKHt9KSk7XG4gICAgZm9ybVJvd3M6IEZvcm1Sb3dNb2RlbFtdID0gW107XG4gICAgaXNTaWduaW5nSW4gPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGxheW91dENvbmZpZ1NlcnZpY2UgPSBpbmplY3QoVXBkTGF5b3V0Q29uZmlnU2VydmljZSk7XG4gICAgcmVhZG9ubHkgY29uZmlnID0gdGhpcy5sYXlvdXRDb25maWdTZXJ2aWNlLmNvbmZpZy5zZWN1cml0eUxheW91dENvbmZpZy5sb2dpblBhZ2U7XG5cbiAgICBnZXQgYm9yZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgYm9yZGVyLSR7dGhpcy5jb25maWcuYm9yZGVyQ29sb3J9YDtcbiAgICB9XG5cbiAgICBnZXQgbGlua0NsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW2BsaW5rLSR7dGhpcy5jb25maWcubGlua3NDb2xvcn1gXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBib3hCZ0NvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5iZ0NvbG9yIHx8ICghIXRoaXMuY29uZmlnLmJnU3R5bGUgPyBgYmctJHt0aGlzLmNvbmZpZy5iZ1N0eWxlfWAgOiAnJykgfHwgJ2JnLXdoaXRlJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGJvZHlDbGFzc2VzID0gWydib3JkZXItdG9wLXdpZGUnLCB0aGlzLmJvcmRlciwgJ2QtZmxleCcsICdmbGV4LWNvbHVtbiddO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5hZGRCb2R5Q2xhc3Nlcyh0aGlzLmJveEJnQ29sb3IpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYXlvdXQgIT09ICdjb3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5hZGRCb2R5Q2xhc3NlcyguLi50aGlzLmJvZHlDbGFzc2VzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybVJvd3MgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd1c2VybmFtZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBEeW5hbWljRmllbGRUeXBlLklucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sU2l6ZTogeyBkZWZhdWx0OiAxMiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHsgdGV4dDogJ1VwRGV2cy5Mb2dpbi5FbWFpbCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKV1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdwYXNzd29yZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBEeW5hbWljRmllbGRUeXBlLklucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRUeXBlOiAncGFzc3dvcmQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sU2l6ZTogeyBkZWZhdWx0OiAxMiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHsgdGV4dDogJ1VwRGV2cy5Mb2dpbi5QYXNzd29yZCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKV1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICdyZW1lbWJlck1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IER5bmFtaWNGaWVsZFR5cGUuQ2hlY2tib3gsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xTaXplOiB7IGRlZmF1bHQ6IDEyIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogeyB0ZXh0OiAnVXBEZXZzLkxvZ2luLlJlbWVtYmVyTWUnLCBpc1RyYW5zbGF0ZWQ6IGZhbHNlIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpbml0VmFsdWU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9XG4gICAgICAgIF07XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5yZW1vdmVCb2R5Q2xhc3Nlcyh0aGlzLmJveEJnQ29sb3IpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYXlvdXQgIT09ICdjb3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5yZW1vdmVCb2R5Q2xhc3NlcyguLi50aGlzLmJvZHlDbGFzc2VzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxvZ2luKCk6IHZvaWQge1xuICAgICAgICAvLyBUT0RPOiBoYW5kbGUgcmVtZW1iZXIgbWVcbiAgICAgICAgdGhpcy5pc1NpZ25pbmdJbi5zZXQodHJ1ZSk7XG4gICAgICAgIHRoaXMuYXV0aFNlcnZpY2UubG9naW4oKHRoaXMuZm9ybUdyb3VwKCkudmFsdWUgYXMgYW55KS51c2VybmFtZSwgKHRoaXMuZm9ybUdyb3VwKCkudmFsdWUgYXMgYW55KS5wYXNzd29yZClcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMuaXNTaWduaW5nSW4uc2V0KGZhbHNlKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgZ29Ub1JlY292ZXJQYXNzd29yZFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmNvbmZpZy5yZWNvdmVyUGFzc3dvcmRSb3V0ZV0pLnRoZW4oKTtcbiAgICB9XG5cbiAgICBnb1RvU2lnblVwUGFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW3RoaXMuY29uZmlnLnNpZ25VcFJvdXRlXSkudGhlbigpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKnRyYW5zbG9jbz1cImxldCB0OyBwcmVmaXg6ICdVcERldnMuTG9naW4nXCI+XG4gICAgPHVwZC1oZWFkZXIgW3N0eWxlXT1cIid0cmFuc3BhcmVudCdcIj48L3VwZC1oZWFkZXI+XG4gICAgPGRpdiBjbGFzcz1cInBhZ2UgcGFnZS1jZW50ZXJcIj5cbiAgICAgICAgQHN3aXRjaCAoY29uZmlnLmxheW91dCkge1xuICAgICAgICAgICAgQGNhc2UgKCdjZW50ZXJlZC1ib3gnKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItdGlnaHQgcHktNFwiPlxuICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvZ2luQ2FyZFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKCdib3gtd2l0aC1waWN0dXJlJykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgY29udGFpbmVyLW5vcm1hbCBweS00XCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGctNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZ1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItdGlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2dpbkNhcmRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZyBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgaGVpZ2h0PVwiMzAwXCIgY2xhc3M9XCJkLWJsb2NrIG14LWF1dG8gdXBkLXJpZ2h0LWxvZ2luLWltYWdlXCIgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnY292ZXInKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBnLTAgZmxleC1maWxsXCI+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLWxnLTYgY29sLXhsLTQgYm9yZGVyLXRvcC13aWRlIGQtZmxleCBmbGV4LWNvbHVtbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cImJvcmRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lciBjb250YWluZXItdGlnaHQgbXktNSBweC1sZy01XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUcGxcIj48L25nLWNvbnRhaW5lcj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImgzIHRleHQtY2VudGVyIG1iLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdCgnVGl0bGUnKSB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxvZ2luRm9ybVRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic29jaWFsTG9naW5UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vQWNjb3VudFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy02IGNvbC14bC04IGQtbm9uZSBkLWxnLWJsb2NrXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmctY292ZXIgaC0xMDAgbWluLXZoLTEwMCB1cGQtcmlnaHQtbG9naW4tY292ZXItaW1hZ2VcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbiAgICA8dXBkLWZvb3Rlcj48L3VwZC1mb290ZXI+XG5cbiAgICA8bmctdGVtcGxhdGUgI2xvZ2luQ2FyZFRwbD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPHVwZC1jYXJkIFtyZW1vdmVCb3JkZXJdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInAtNFwiPlxuICAgICAgICAgICAgICAgIDxoMiBjbGFzcz1cImgyIHRleHQtY2VudGVyIG1iLTRcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgdCgnVGl0bGUnKSB9fVxuICAgICAgICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2dpbkZvcm1UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJzb2NpYWxMb2dpblRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L3VwZC1jYXJkPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm5vQWNjb3VudFRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2xvZ2luRm9ybVRwbD5cbiAgICAgICAgPHVwZC1mb3JtIFtyb3dzXT1cImZvcm1Sb3dzXCIgW2hhc0FjdGlvbnNTZWN0aW9uXT1cImZhbHNlXCIgWyhmb3JtR3JvdXApXT1cImZvcm1Hcm91cFwiPjwvdXBkLWZvcm0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWZvb3RlclwiPlxuICAgICAgICAgICAgPHVwZC1idXR0b24gW2NvbG9yU3R5bGVdPVwiY29uZmlnLnNpZ25JbkJ1dHRvbkNvbG9yXCIgKGNsaWNrZWQpPVwibG9naW4oKVwiIFtpc0xvYWRpbmddPVwiaXNTaWduaW5nSW4oKVwiXG4gICAgICAgICAgICAgICAgY3VzdG9tQ2xhc3Nlcz1cInctMTAwXCI+XG4gICAgICAgICAgICAgICAge3sgdCgnU2lnbkluJykgfX1cbiAgICAgICAgICAgIDwvdXBkLWJ1dHRvbj5cbiAgICAgICAgICAgIEBpZiAoISFjb25maWcucmVjb3ZlclBhc3N3b3JkUm91dGUpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG10LTJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHVwZC1saW5rIGNsYXNzPVwibXMtYXV0b1wiIFtjdXN0b21DbGFzc2VzXT1cImxpbmtDbGFzc2VzXCIgKGNsaWNrZWQpPVwiZ29Ub1JlY292ZXJQYXNzd29yZFBhZ2UoKVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAge3sgdCgnUmVjb3ZlclBhc3N3b3JkJykgfX1cbiAgICAgICAgICAgICAgICAgICAgPC91cGQtbGluaz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjc29jaWFsTG9naW5UcGw+XG4gICAgICAgIEBpZiAoY29uZmlnLnNvY2lhbExvZ2luQnV0dG9ucy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaHItdGV4dFwiPlxuICAgICAgICAgICAgICAgIHt7IHQoJ09yJykgfX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoYnRuIG9mIGNvbmZpZy5zb2NpYWxMb2dpbkJ1dHRvbnM7IHRyYWNrIGJ0bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtYnV0dG9uIFttb2RlbF09XCJidG5cIj48L3VwZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUcGw+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtYi00XCI+XG4gICAgICAgICAgICA8YSBocmVmPVwiLlwiIGNsYXNzPVwibmF2YmFyLWJyYW5kIG5hdmJhci1icmFuZC1hdXRvZGFya1wiPlxuICAgICAgICAgICAgICAgIDxpbWcgaGVpZ2h0PVwiMzZcIiBjbGFzcz1cIm5hdmJhci1icmFuZC1pbWFnZSB1cGQtYnJhbmQtbG9nb1wiIC8+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI25vQWNjb3VudFRwbD5cbiAgICAgICAgQGlmICghIWNvbmZpZy5zaWduVXBSb3V0ZSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIHRleHQtbXV0ZWQgbXQtM1wiPlxuICAgICAgICAgICAgICAgIHt7IHQoJ05vQWNjb3VudFlldCcpIH19XG4gICAgICAgICAgICAgICAgPHVwZC1saW5rIFtjdXN0b21DbGFzc2VzXT1cImxpbmtDbGFzc2VzXCIgKGNsaWNrZWQpPVwiZ29Ub1NpZ25VcFBhZ2UoKVwiPnt7IHQoJ1NpZ25VcCcpIH19PC91cGQtbGluaz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cbjwvbmctY29udGFpbmVyPlxuIl19
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9naW4uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xheW91dC9zcmMvcGFnZXMvYXV0aC1mbG93L2xvZ2luL2xvZ2luLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9sYXlvdXQvc3JjL3BhZ2VzL2F1dGgtZmxvdy9sb2dpbi9sb2dpbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBcUIsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNwRixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBZ0IsZ0JBQWdCLEVBQW1CLE1BQU0seUJBQXlCLENBQUM7QUFDMUYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7Ozs7Ozs7Ozs7QUFPckYsTUFBTSxPQUFPLGNBQWM7SUFMM0I7UUFNSSxjQUFTLEdBQUcsS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckMsYUFBUSxHQUFtQixFQUFFLENBQUM7UUFDOUIsZ0JBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsd0JBQW1CLEdBQUcsTUFBTSxDQUFDLHNCQUFzQixDQUFDLENBQUM7UUFDckQsV0FBTSxHQUFHLElBQUks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QUFDO1FBRXRELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssT0FBTyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM5RCxDQUFDO0lBQ0wsQ0FBQztJQUVELEtBQUs7UUFDRCwyQkFBMkI7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQWEsQ0FBQyxRQUFRLEVBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLEtBQWEsQ0FBQyxRQUFRLENBQUM7YUFDckcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2FBQ2pELFNBQVMsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCx1QkFBdUI7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNwRSxDQUFDO0lBRUQsY0FBYztRQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNELENBQUM7OEdBN0ZRLGNBQWM7a0dBQWQsY0FBYyw0T0NmM0IsdTFKQWlIQTs7MkZEbEdhLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0ksV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgaW5qZWN0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgbW9kZWwsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgVmFsaWRhdG9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExheW91dFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9sYXlvdXQnO1xuaW1wb3J0IHsgQXV0aFNlcnZpY2UgfSBmcm9tICdAdXBkZXZzL3Nkay9zZWN1cml0eSc7XG5pbXBvcnQgeyBGb3JtUm93TW9kZWwsIER5bmFtaWNGaWVsZFR5cGUsIElucHV0RmllbGRNb2RlbCB9IGZyb20gJ0B1cGRldnMvY29tcG9uZW50cy9mb3JtJztcbmltcG9ydCB7IGZpbmFsaXplIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFVwZExheW91dENvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91cGQtbGF5b3V0LWNvbmZpZy5zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICd1cGQtbG9naW4nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9sb2dpbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbG9naW4uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBMb2dpbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgICBmb3JtR3JvdXAgPSBtb2RlbChuZXcgRm9ybUdyb3VwKHt9KSk7XG4gICAgZm9ybVJvd3M6IEZvcm1Sb3dNb2RlbFtdID0gW107XG4gICAgaXNTaWduaW5nSW4gPSBzaWduYWwoZmFsc2UpO1xuICAgIHJlYWRvbmx5IGxheW91dENvbmZpZ1NlcnZpY2UgPSBpbmplY3QoVXBkTGF5b3V0Q29uZmlnU2VydmljZSk7XG4gICAgcmVhZG9ubHkgY29uZmlnID0gdGhpcy5sYXlvdXRDb25maWdTZXJ2aWNlLmNvbmZpZy5zZWN1cml0eUxheW91dENvbmZpZy5sb2dpblBhZ2U7XG5cbiAgICBnZXQgYm9yZGVyKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgYm9yZGVyLSR7dGhpcy5jb25maWcuYm9yZGVyQ29sb3J9YDtcbiAgICB9XG5cbiAgICBnZXQgbGlua0NsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW2BsaW5rLSR7dGhpcy5jb25maWcubGlua3NDb2xvcn1gXTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBib3hCZ0NvbG9yKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbmZpZy5iZ0NvbG9yIHx8ICghIXRoaXMuY29uZmlnLmJnU3R5bGUgPyBgYmctJHt0aGlzLmNvbmZpZy5iZ1N0eWxlfWAgOiAnJykgfHwgJ2JnLXdoaXRlJztcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IGJvZHlDbGFzc2VzID0gWydib3JkZXItdG9wLXdpZGUnLCB0aGlzLmJvcmRlciwgJ2QtZmxleCcsICdmbGV4LWNvbHVtbiddO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcm91dGVyID0gaW5qZWN0KFJvdXRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZSA9IGluamVjdChBdXRoU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBsYXlvdXRTZXJ2aWNlID0gaW5qZWN0KExheW91dFNlcnZpY2UpO1xuXG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5hZGRCb2R5Q2xhc3Nlcyh0aGlzLmJveEJnQ29sb3IpO1xuXG4gICAgICAgIGlmICh0aGlzLmNvbmZpZy5sYXlvdXQgIT09ICdjb3ZlcicpIHtcbiAgICAgICAgICAgIHRoaXMubGF5b3V0U2VydmljZS5hZGRCb2R5Q2xhc3NlcyguLi50aGlzLmJvZHlDbGFzc2VzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZm9ybVJvd3MgPSBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgZmllbGRzOiBbXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6ICd1c2VybmFtZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBEeW5hbWljRmllbGRUeXBlLklucHV0LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sU2l6ZTogeyBkZWZhdWx0OiAxMiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHsgdGV4dDogJ1VwRGV2cy5Mb2dpbi5FbWFpbCcsIGlzVHJhbnNsYXRlZDogZmFsc2UgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRvcnM6IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCgzKV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRTdWJtaXRPbkVudGVyOiB0cnVlXG4gICAgICAgICAgICAgICAgICAgIH0gYXMgSW5wdXRGaWVsZE1vZGVsXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBmaWVsZHM6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogJ3Bhc3N3b3JkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IER5bmFtaWNGaWVsZFR5cGUuSW5wdXQsXG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFR5cGU6ICdwYXNzd29yZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xTaXplOiB7IGRlZmF1bHQ6IDEyIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBsYWJlbDogeyB0ZXh0OiAnVXBEZXZzLkxvZ2luLlBhc3N3b3JkJywgaXNUcmFuc2xhdGVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWRhdG9yczogW1ZhbGlkYXRvcnMucmVxdWlyZWQsIFZhbGlkYXRvcnMubWluTGVuZ3RoKDMpXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZFN1Ym1pdE9uRW50ZXI6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgfSBhcyBJbnB1dEZpZWxkTW9kZWxcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGZpZWxkczogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiAncmVtZW1iZXJNZScsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBEeW5hbWljRmllbGRUeXBlLkNoZWNrYm94LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29sU2l6ZTogeyBkZWZhdWx0OiAxMiB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHsgdGV4dDogJ1VwRGV2cy5Mb2dpbi5SZW1lbWJlck1lJywgaXNUcmFuc2xhdGVkOiBmYWxzZSB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdFZhbHVlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfVxuICAgICAgICBdO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UucmVtb3ZlQm9keUNsYXNzZXModGhpcy5ib3hCZ0NvbG9yKTtcblxuICAgICAgICBpZiAodGhpcy5jb25maWcubGF5b3V0ICE9PSAnY292ZXInKSB7XG4gICAgICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UucmVtb3ZlQm9keUNsYXNzZXMoLi4udGhpcy5ib2R5Q2xhc3Nlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dpbigpOiB2b2lkIHtcbiAgICAgICAgLy8gVE9ETzogaGFuZGxlIHJlbWVtYmVyIG1lXG4gICAgICAgIHRoaXMuaXNTaWduaW5nSW4uc2V0KHRydWUpO1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmxvZ2luKCh0aGlzLmZvcm1Hcm91cCgpLnZhbHVlIGFzIGFueSkudXNlcm5hbWUsICh0aGlzLmZvcm1Hcm91cCgpLnZhbHVlIGFzIGFueSkucGFzc3dvcmQpXG4gICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLmlzU2lnbmluZ0luLnNldChmYWxzZSkpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIGdvVG9SZWNvdmVyUGFzc3dvcmRQYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbdGhpcy5jb25maWcucmVjb3ZlclBhc3N3b3JkUm91dGVdKS50aGVuKCk7XG4gICAgfVxuXG4gICAgZ29Ub1NpZ25VcFBhZ2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFt0aGlzLmNvbmZpZy5zaWduVXBSb3V0ZV0pLnRoZW4oKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLkxvZ2luJ1wiPlxuICAgIDx1cGQtaGVhZGVyIFtzdHlsZV09XCIndHJhbnNwYXJlbnQnXCI+PC91cGQtaGVhZGVyPlxuICAgIDxkaXYgY2xhc3M9XCJwYWdlIHBhZ2UtY2VudGVyXCI+XG4gICAgICAgIEBzd2l0Y2ggKGNvbmZpZy5sYXlvdXQpIHtcbiAgICAgICAgICAgIEBjYXNlICgnY2VudGVyZWQtYm94Jykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgY29udGFpbmVyLXRpZ2h0IHB5LTRcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2dpbkNhcmRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnYm94LXdpdGgtcGljdHVyZScpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyIGNvbnRhaW5lci1ub3JtYWwgcHktNFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBnLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGdcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRpZ2h0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9naW5DYXJkVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGcgZC1ub25lIGQtbGctYmxvY2tcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGhlaWdodD1cIjMwMFwiIGNsYXNzPVwiZC1ibG9jayBteC1hdXRvIHVwZC1yaWdodC1sb2dpbi1pbWFnZVwiIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAY2FzZSAoJ2NvdmVyJykge1xuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgZy0wIGZsZXgtZmlsbFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy02IGNvbC14bC00IGJvcmRlci10b3Atd2lkZSBkLWZsZXggZmxleC1jb2x1bW4ganVzdGlmeS1jb250ZW50LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJib3JkZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXIgY29udGFpbmVyLXRpZ2h0IG15LTUgcHgtbGctNVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVHBsXCI+PC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJoMyB0ZXh0LWNlbnRlciBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ1RpdGxlJykgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJsb2dpbkZvcm1UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNvY2lhbExvZ2luVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJub0FjY291bnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbGctNiBjb2wteGwtOCBkLW5vbmUgZC1sZy1ibG9ja1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJnLWNvdmVyIGgtMTAwIG1pbi12aC0xMDAgdXBkLXJpZ2h0LWxvZ2luLWNvdmVyLWltYWdlXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgPC9kaXY+XG4gICAgPHVwZC1mb290ZXI+PC91cGQtZm9vdGVyPlxuXG4gICAgPG5nLXRlbXBsYXRlICNsb2dpbkNhcmRUcGw+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGVyVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDx1cGQtY2FyZCBbcmVtb3ZlQm9yZGVyXT1cInRydWVcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwLTRcIj5cbiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJoMiB0ZXh0LWNlbnRlciBtYi00XCI+XG4gICAgICAgICAgICAgICAgICAgIHt7IHQoJ1RpdGxlJykgfX1cbiAgICAgICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibG9naW5Gb3JtVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic29jaWFsTG9naW5UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC91cGQtY2FyZD5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJub0FjY291bnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNsb2dpbkZvcm1UcGw+XG4gICAgICAgIDx1cGQtZm9ybSBbcm93c109XCJmb3JtUm93c1wiIFtoYXNBY3Rpb25zU2VjdGlvbl09XCJmYWxzZVwiIFsoZm9ybUdyb3VwKV09XCJmb3JtR3JvdXBcIj48L3VwZC1mb3JtPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1mb290ZXJcIj5cbiAgICAgICAgICAgIDx1cGQtYnV0dG9uIFtjb2xvclN0eWxlXT1cImNvbmZpZy5zaWduSW5CdXR0b25Db2xvclwiIChjbGlja2VkKT1cImxvZ2luKClcIiBbaXNMb2FkaW5nXT1cImlzU2lnbmluZ0luKClcIlxuICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzZXM9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgIHt7IHQoJ1NpZ25JbicpIH19XG4gICAgICAgICAgICA8L3VwZC1idXR0b24+XG4gICAgICAgICAgICBAaWYgKCEhY29uZmlnLnJlY292ZXJQYXNzd29yZFJvdXRlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBtdC0yXCI+XG4gICAgICAgICAgICAgICAgICAgIDx1cGQtbGluayBjbGFzcz1cIm1zLWF1dG9cIiBbY3VzdG9tQ2xhc3Nlc109XCJsaW5rQ2xhc3Nlc1wiIChjbGlja2VkKT1cImdvVG9SZWNvdmVyUGFzc3dvcmRQYWdlKClcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ1JlY292ZXJQYXNzd29yZCcpIH19XG4gICAgICAgICAgICAgICAgICAgIDwvdXBkLWxpbms+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI3NvY2lhbExvZ2luVHBsPlxuICAgICAgICBAaWYgKGNvbmZpZy5zb2NpYWxMb2dpbkJ1dHRvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhyLXRleHRcIj5cbiAgICAgICAgICAgICAgICB7eyB0KCdPcicpIH19XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHlcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgICAgICAgICAgIEBmb3IgKGJ0biBvZiBjb25maWcuc29jaWFsTG9naW5CdXR0b25zOyB0cmFjayBidG4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2xcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dXBkLWJ1dHRvbiBbbW9kZWxdPVwiYnRuXCI+PC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9XG4gICAgPC9uZy10ZW1wbGF0ZT5cblxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVHBsPlxuICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItNFwiPlxuICAgICAgICAgICAgPGEgaHJlZj1cIi5cIiBjbGFzcz1cIm5hdmJhci1icmFuZCBuYXZiYXItYnJhbmQtYXV0b2RhcmtcIj5cbiAgICAgICAgICAgICAgICA8aW1nIGhlaWdodD1cIjM2XCIgY2xhc3M9XCJuYXZiYXItYnJhbmQtaW1hZ2UgdXBkLWJyYW5kLWxvZ29cIiAvPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPG5nLXRlbXBsYXRlICNub0FjY291bnRUcGw+XG4gICAgICAgIEBpZiAoISFjb25maWcuc2lnblVwUm91dGUpIHtcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciB0ZXh0LW11dGVkIG10LTNcIj5cbiAgICAgICAgICAgICAgICB7eyB0KCdOb0FjY291bnRZZXQnKSB9fVxuICAgICAgICAgICAgICAgIDx1cGQtbGluayBbY3VzdG9tQ2xhc3Nlc109XCJsaW5rQ2xhc3Nlc1wiIChjbGlja2VkKT1cImdvVG9TaWduVXBQYWdlKClcIj57eyB0KCdTaWduVXAnKSB9fTwvdXBkLWxpbms+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -186,11 +186,11 @@ export class ModalContainerComponent extends BaseComponent {
|
|
|
186
186
|
}
|
|
187
187
|
}
|
|
188
188
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ModalContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
189
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: ModalContainerComponent, selector: "upd-modal-container", host: { properties: { "id": "this.id", "class": "this.hostClass", "role": "this.role", "aria-hidden": "this.ariaHidden", "aria-modal": "this.ariaModal", "tabindex": "this.tabIndex", "style.display": "this.styleDisplay" } }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "bodyContentOutlet", first: true, predicate: NgComponentOutlet, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Modal'\">\n <div [ngClass]=\"classes\" #dialog>\n <div class=\"modal-content\" tabindex=\"-1\" #content>\n @if (!!contentType) {\n <ng-container [ngComponentOutlet]=\"contentType\" [ngComponentOutletInputs]=\"{modalRef: this, data: data}\"></ng-container>\n } @else {\n @if (!isAlert && (!!titleText || !!headerTemplateRef)) {\n <div class=\"modal-header\">\n @if (!!headerTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"headerTemplateRef\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n <h5 class=\"modal-title\">{{ titleText }}</h5>\n @if (showCloseButton) {\n <ng-container [ngTemplateOutlet]=\"closeBtnTpl\"></ng-container>\n }\n }\n </div>\n } @else if (showCloseButton) {\n <ng-container [ngTemplateOutlet]=\"closeBtnTpl\"></ng-container>\n }\n\n <div class=\"modal-body py-4\" [class.text-center]=\"isTextCentered || isAlert\">\n @if (isAlert && !!titleText) {\n <div class=\"d-flex justify-content-center align-content-start\"\n [class.flex-row]=\"titleIconPosition === 'left' || titleIconPosition === 'right'\"\n [class.flex-column]=\"titleIconPosition === 'top' || titleIconPosition === 'bottom'\">\n @if (!!titleIcon && (titleIconPosition === 'top' || titleIconPosition === 'left')) {\n <upd-icon [model]=\"titleIcon\" [class.me-2]=\"titleIconPosition === 'left'\"\n [class.mb-2]=\"titleIconPosition === 'top'\"></upd-icon>\n }\n\n <span class=\"align-self-center fs-3 fw-bold\" [class.mb-3]=\"!!titleIcon && titleIconPosition === 'top'\">\n {{ titleText }}\n </span>\n\n @if (!!titleIcon && (titleIconPosition === 'bottom' || titleIconPosition === 'right')) {\n <upd-icon [model]=\"titleIcon\" [class.ms-2]=\"titleIconPosition === 'right'\"\n [class.mb-2]=\"titleIconPosition === 'bottom'\"></upd-icon>\n }\n </div>\n }\n\n @if (!!bodyTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"bodyTemplateRef!\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else if (!!bodyContentType) {\n <ng-container [ngComponentOutlet]=\"bodyContentType\" [ngComponentOutletInputs]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n <div [innerHTML]=\"bodyText\" [class.text-secondary]=\"isAlert\"></div>\n }\n </div>\n\n @if (!!statusColor) {\n <div class=\"modal-status\" [style.position]=\"'relative'\" [ngClass]=\"statusColorClass\"></div>\n }\n\n @if (showCancelButton || actionButtons.length > 0 || !!footerTemplateRef) {\n <div class=\"modal-footer\">\n @if (!!footerTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"footerTemplateRef\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n @switch (footerLayout) {\n @case ('full-width') {\n <div class=\"w-100\">\n <div class=\"row\">\n @if (showCancelButton) {\n <div class=\"col\">\n <upd-button class=\"w-100\" [isNavigationLink]=\"true\" (clicked)=\"close()\">\n {{ t('Cancel') }}\n </upd-button>\n </div>\n }\n\n @for (btn of actionButtons; track btn) {\n <div class=\"col\">\n <upd-button class=\"w-100\" [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n @case ('centered') {\n <div class=\"d-flex justify-content-center w-100\">\n <ng-container [ngTemplateOutlet]=\"buttonsTpl\"></ng-container>\n </div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"buttonsTpl\"></ng-container>\n }\n }\n }\n </div>\n }\n }\n </div>\n </div>\n\n <ng-template #closeBtnTpl>\n <upd-button (clicked)=\"close()\" [shouldIgnoreBtnClass]=\"true\" customClasses=\"btn-close\"></upd-button>\n </ng-template>\n\n <ng-template #buttonsTpl>\n @if (showCancelButton) {\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"close()\">\n {{ t('Cancel') }}\n </upd-button>\n }\n\n @for (btn of actionButtons; track btn
|
|
189
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: ModalContainerComponent, selector: "upd-modal-container", host: { properties: { "id": "this.id", "class": "this.hostClass", "role": "this.role", "aria-hidden": "this.ariaHidden", "aria-modal": "this.ariaModal", "tabindex": "this.tabIndex", "style.display": "this.styleDisplay" } }, viewQueries: [{ propertyName: "dialog", first: true, predicate: ["dialog"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "bodyContentOutlet", first: true, predicate: NgComponentOutlet, descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Modal'\">\n <div [ngClass]=\"classes\" #dialog>\n <div class=\"modal-content\" tabindex=\"-1\" #content>\n @if (!!contentType) {\n <ng-container [ngComponentOutlet]=\"contentType\" [ngComponentOutletInputs]=\"{modalRef: this, data: data}\"></ng-container>\n } @else {\n @if (!isAlert && (!!titleText || !!headerTemplateRef)) {\n <div class=\"modal-header\">\n @if (!!headerTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"headerTemplateRef\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n <h5 class=\"modal-title\">{{ titleText }}</h5>\n @if (showCloseButton) {\n <ng-container [ngTemplateOutlet]=\"closeBtnTpl\"></ng-container>\n }\n }\n </div>\n } @else if (showCloseButton) {\n <ng-container [ngTemplateOutlet]=\"closeBtnTpl\"></ng-container>\n }\n\n <div class=\"modal-body py-4\" [class.text-center]=\"isTextCentered || isAlert\">\n @if (isAlert && !!titleText) {\n <div class=\"d-flex justify-content-center align-content-start\"\n [class.flex-row]=\"titleIconPosition === 'left' || titleIconPosition === 'right'\"\n [class.flex-column]=\"titleIconPosition === 'top' || titleIconPosition === 'bottom'\">\n @if (!!titleIcon && (titleIconPosition === 'top' || titleIconPosition === 'left')) {\n <upd-icon [model]=\"titleIcon\" [class.me-2]=\"titleIconPosition === 'left'\"\n [class.mb-2]=\"titleIconPosition === 'top'\"></upd-icon>\n }\n\n <span class=\"align-self-center fs-3 fw-bold\" [class.mb-3]=\"!!titleIcon && titleIconPosition === 'top'\">\n {{ titleText }}\n </span>\n\n @if (!!titleIcon && (titleIconPosition === 'bottom' || titleIconPosition === 'right')) {\n <upd-icon [model]=\"titleIcon\" [class.ms-2]=\"titleIconPosition === 'right'\"\n [class.mb-2]=\"titleIconPosition === 'bottom'\"></upd-icon>\n }\n </div>\n }\n\n @if (!!bodyTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"bodyTemplateRef!\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else if (!!bodyContentType) {\n <ng-container [ngComponentOutlet]=\"bodyContentType\" [ngComponentOutletInputs]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n <div [innerHTML]=\"bodyText\" [class.text-secondary]=\"isAlert\"></div>\n }\n </div>\n\n @if (!!statusColor) {\n <div class=\"modal-status\" [style.position]=\"'relative'\" [ngClass]=\"statusColorClass\"></div>\n }\n\n @if (showCancelButton || actionButtons.length > 0 || !!footerTemplateRef) {\n <div class=\"modal-footer\">\n @if (!!footerTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"footerTemplateRef\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n @switch (footerLayout) {\n @case ('full-width') {\n <div class=\"w-100\">\n <div class=\"row\">\n @if (showCancelButton) {\n <div class=\"col\">\n <upd-button class=\"w-100\" [isNavigationLink]=\"true\" (clicked)=\"close()\">\n {{ t('Cancel') }}\n </upd-button>\n </div>\n }\n\n @for (btn of actionButtons; track btn) {\n <div class=\"col\">\n <upd-button class=\"w-100\" [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n @case ('centered') {\n <div class=\"d-flex justify-content-center w-100\">\n <ng-container [ngTemplateOutlet]=\"buttonsTpl\"></ng-container>\n </div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"buttonsTpl\"></ng-container>\n }\n }\n }\n </div>\n }\n }\n </div>\n </div>\n\n <ng-template #closeBtnTpl>\n <upd-button (clicked)=\"close()\" [shouldIgnoreBtnClass]=\"true\" customClasses=\"btn-close\"></upd-button>\n </ng-template>\n\n <ng-template #buttonsTpl>\n @if (showCancelButton) {\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"close()\">\n {{ t('Cancel') }}\n </upd-button>\n }\n\n @for (btn of actionButtons; track btn) {\n <upd-button [model]=\"btn\" (clicked)=\"buttonClick($event, btn)\"></upd-button>\n }\n </ng-template>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2.ButtonComponent, selector: "upd-button", inputs: ["model", "text", "brandColorStyle", "customClasses", "isOutline", "isGhost", "isSquare", "isPill", "isIcon", "isLoading", "isList", "isFloating", "isAction", "isNavigationLink", "isLink", "shouldIgnoreBtnClass", "iconModel", "iconPosition", "isDisabled", "isActive", "badgeConfig", "colorStyle", "size", "title"], outputs: ["clicked"] }, { kind: "component", type: i3.IconComponent, selector: "upd-icon", inputs: ["model", "wrapperClasses", "color", "colorClass", "removeDefaultClasses", "customClasses", "tablerIcon", "tablerIconWeight", "tablerIconType", "tablerIconSize", "heroIcon", "heroIconSize", "heroIconType"] }, { kind: "directive", type: i4.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] }); }
|
|
190
190
|
}
|
|
191
191
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: ModalContainerComponent, decorators: [{
|
|
192
192
|
type: Component,
|
|
193
|
-
args: [{ selector: 'upd-modal-container', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Modal'\">\n <div [ngClass]=\"classes\" #dialog>\n <div class=\"modal-content\" tabindex=\"-1\" #content>\n @if (!!contentType) {\n <ng-container [ngComponentOutlet]=\"contentType\" [ngComponentOutletInputs]=\"{modalRef: this, data: data}\"></ng-container>\n } @else {\n @if (!isAlert && (!!titleText || !!headerTemplateRef)) {\n <div class=\"modal-header\">\n @if (!!headerTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"headerTemplateRef\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n <h5 class=\"modal-title\">{{ titleText }}</h5>\n @if (showCloseButton) {\n <ng-container [ngTemplateOutlet]=\"closeBtnTpl\"></ng-container>\n }\n }\n </div>\n } @else if (showCloseButton) {\n <ng-container [ngTemplateOutlet]=\"closeBtnTpl\"></ng-container>\n }\n\n <div class=\"modal-body py-4\" [class.text-center]=\"isTextCentered || isAlert\">\n @if (isAlert && !!titleText) {\n <div class=\"d-flex justify-content-center align-content-start\"\n [class.flex-row]=\"titleIconPosition === 'left' || titleIconPosition === 'right'\"\n [class.flex-column]=\"titleIconPosition === 'top' || titleIconPosition === 'bottom'\">\n @if (!!titleIcon && (titleIconPosition === 'top' || titleIconPosition === 'left')) {\n <upd-icon [model]=\"titleIcon\" [class.me-2]=\"titleIconPosition === 'left'\"\n [class.mb-2]=\"titleIconPosition === 'top'\"></upd-icon>\n }\n\n <span class=\"align-self-center fs-3 fw-bold\" [class.mb-3]=\"!!titleIcon && titleIconPosition === 'top'\">\n {{ titleText }}\n </span>\n\n @if (!!titleIcon && (titleIconPosition === 'bottom' || titleIconPosition === 'right')) {\n <upd-icon [model]=\"titleIcon\" [class.ms-2]=\"titleIconPosition === 'right'\"\n [class.mb-2]=\"titleIconPosition === 'bottom'\"></upd-icon>\n }\n </div>\n }\n\n @if (!!bodyTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"bodyTemplateRef!\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else if (!!bodyContentType) {\n <ng-container [ngComponentOutlet]=\"bodyContentType\" [ngComponentOutletInputs]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n <div [innerHTML]=\"bodyText\" [class.text-secondary]=\"isAlert\"></div>\n }\n </div>\n\n @if (!!statusColor) {\n <div class=\"modal-status\" [style.position]=\"'relative'\" [ngClass]=\"statusColorClass\"></div>\n }\n\n @if (showCancelButton || actionButtons.length > 0 || !!footerTemplateRef) {\n <div class=\"modal-footer\">\n @if (!!footerTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"footerTemplateRef\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n @switch (footerLayout) {\n @case ('full-width') {\n <div class=\"w-100\">\n <div class=\"row\">\n @if (showCancelButton) {\n <div class=\"col\">\n <upd-button class=\"w-100\" [isNavigationLink]=\"true\" (clicked)=\"close()\">\n {{ t('Cancel') }}\n </upd-button>\n </div>\n }\n\n @for (btn of actionButtons; track btn) {\n <div class=\"col\">\n <upd-button class=\"w-100\" [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n @case ('centered') {\n <div class=\"d-flex justify-content-center w-100\">\n <ng-container [ngTemplateOutlet]=\"buttonsTpl\"></ng-container>\n </div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"buttonsTpl\"></ng-container>\n }\n }\n }\n </div>\n }\n }\n </div>\n </div>\n\n <ng-template #closeBtnTpl>\n <upd-button (clicked)=\"close()\" [shouldIgnoreBtnClass]=\"true\" customClasses=\"btn-close\"></upd-button>\n </ng-template>\n\n <ng-template #buttonsTpl>\n @if (showCancelButton) {\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"close()\">\n {{ t('Cancel') }}\n </upd-button>\n }\n\n @for (btn of actionButtons; track btn
|
|
193
|
+
args: [{ selector: 'upd-modal-container', template: "<ng-container *transloco=\"let t; prefix: 'UpDevs.Modal'\">\n <div [ngClass]=\"classes\" #dialog>\n <div class=\"modal-content\" tabindex=\"-1\" #content>\n @if (!!contentType) {\n <ng-container [ngComponentOutlet]=\"contentType\" [ngComponentOutletInputs]=\"{modalRef: this, data: data}\"></ng-container>\n } @else {\n @if (!isAlert && (!!titleText || !!headerTemplateRef)) {\n <div class=\"modal-header\">\n @if (!!headerTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"headerTemplateRef\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n <h5 class=\"modal-title\">{{ titleText }}</h5>\n @if (showCloseButton) {\n <ng-container [ngTemplateOutlet]=\"closeBtnTpl\"></ng-container>\n }\n }\n </div>\n } @else if (showCloseButton) {\n <ng-container [ngTemplateOutlet]=\"closeBtnTpl\"></ng-container>\n }\n\n <div class=\"modal-body py-4\" [class.text-center]=\"isTextCentered || isAlert\">\n @if (isAlert && !!titleText) {\n <div class=\"d-flex justify-content-center align-content-start\"\n [class.flex-row]=\"titleIconPosition === 'left' || titleIconPosition === 'right'\"\n [class.flex-column]=\"titleIconPosition === 'top' || titleIconPosition === 'bottom'\">\n @if (!!titleIcon && (titleIconPosition === 'top' || titleIconPosition === 'left')) {\n <upd-icon [model]=\"titleIcon\" [class.me-2]=\"titleIconPosition === 'left'\"\n [class.mb-2]=\"titleIconPosition === 'top'\"></upd-icon>\n }\n\n <span class=\"align-self-center fs-3 fw-bold\" [class.mb-3]=\"!!titleIcon && titleIconPosition === 'top'\">\n {{ titleText }}\n </span>\n\n @if (!!titleIcon && (titleIconPosition === 'bottom' || titleIconPosition === 'right')) {\n <upd-icon [model]=\"titleIcon\" [class.ms-2]=\"titleIconPosition === 'right'\"\n [class.mb-2]=\"titleIconPosition === 'bottom'\"></upd-icon>\n }\n </div>\n }\n\n @if (!!bodyTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"bodyTemplateRef!\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else if (!!bodyContentType) {\n <ng-container [ngComponentOutlet]=\"bodyContentType\" [ngComponentOutletInputs]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n <div [innerHTML]=\"bodyText\" [class.text-secondary]=\"isAlert\"></div>\n }\n </div>\n\n @if (!!statusColor) {\n <div class=\"modal-status\" [style.position]=\"'relative'\" [ngClass]=\"statusColorClass\"></div>\n }\n\n @if (showCancelButton || actionButtons.length > 0 || !!footerTemplateRef) {\n <div class=\"modal-footer\">\n @if (!!footerTemplateRef) {\n <ng-container [ngTemplateOutlet]=\"footerTemplateRef\" [ngTemplateOutletContext]=\"{modalRef: this, data: data}\">\n </ng-container>\n } @else {\n @switch (footerLayout) {\n @case ('full-width') {\n <div class=\"w-100\">\n <div class=\"row\">\n @if (showCancelButton) {\n <div class=\"col\">\n <upd-button class=\"w-100\" [isNavigationLink]=\"true\" (clicked)=\"close()\">\n {{ t('Cancel') }}\n </upd-button>\n </div>\n }\n\n @for (btn of actionButtons; track btn) {\n <div class=\"col\">\n <upd-button class=\"w-100\" [model]=\"btn\"></upd-button>\n </div>\n }\n </div>\n </div>\n }\n @case ('centered') {\n <div class=\"d-flex justify-content-center w-100\">\n <ng-container [ngTemplateOutlet]=\"buttonsTpl\"></ng-container>\n </div>\n }\n @default {\n <ng-container [ngTemplateOutlet]=\"buttonsTpl\"></ng-container>\n }\n }\n }\n </div>\n }\n }\n </div>\n </div>\n\n <ng-template #closeBtnTpl>\n <upd-button (clicked)=\"close()\" [shouldIgnoreBtnClass]=\"true\" customClasses=\"btn-close\"></upd-button>\n </ng-template>\n\n <ng-template #buttonsTpl>\n @if (showCancelButton) {\n <upd-button colorStyle=\"secondary\" [isLink]=\"true\" (clicked)=\"close()\">\n {{ t('Cancel') }}\n </upd-button>\n }\n\n @for (btn of actionButtons; track btn) {\n <upd-button [model]=\"btn\" (clicked)=\"buttonClick($event, btn)\"></upd-button>\n }\n </ng-template>\n</ng-container>\n" }]
|
|
194
194
|
}], propDecorators: { id: [{
|
|
195
195
|
type: HostBinding,
|
|
196
196
|
args: ['id']
|
|
@@ -213,4 +213,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
213
213
|
type: HostBinding,
|
|
214
214
|
args: ['style.display']
|
|
215
215
|
}] } });
|
|
216
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbC9zcmMvY29tcG9uZW50cy9tb2RhbC1jb250YWluZXIvbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbC9zcmMvY29tcG9uZW50cy9tb2RhbC1jb250YWluZXIvbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBZSxNQUFNLEVBQVEsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUNILEtBQUssSUFBSSxXQUFXLEVBQ3BCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsYUFBYSxFQUdoQixNQUFNLG9CQUFvQixDQUFDO0FBTTVCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFJbkUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBT3BCLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBTDFEOztRQU11QixPQUFFLEdBQUcsU0FBUyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQzNCLGNBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNULGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQUcs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S0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLFFBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQzs4R0E5TVEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsd1dBU2MsVUFBVSw2R0FDUixVQUFVLGlGQUNULGlCQUFpQix1RkN0Q3RFLGl5TUFvSEE7OzJGRHpGYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0kscUJBQXFCOzhCQUtaLEVBQUU7c0JBQXBCLFdBQVc7dUJBQUMsSUFBSTtnQkFDSyxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBQ0MsSUFBSTtzQkFBeEIsV0FBVzt1QkFBQyxNQUFNO2dCQUNTLFVBQVU7c0JBQXJDLFdBQVc7dUJBQUMsYUFBYTtnQkFDQyxTQUFTO3NCQUFuQyxXQUFXO3VCQUFDLFlBQVk7Z0JBQ0EsUUFBUTtzQkFBaEMsV0FBVzt1QkFBQyxVQUFVO2dCQUNPLFlBQVk7c0JBQXpDLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBUZW1wbGF0ZVJlZiwgaW5qZWN0LCBUeXBlLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIHZpZXdDaGlsZCwgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0U2VydmljZSwgVGV4dE1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsnO1xuaW1wb3J0IHtcbiAgICBVdGlscyBhcyBMYXlvdXRVdGlscyxcbiAgICBMYXlvdXRTZXJ2aWNlLFxuICAgIFNjcm9sbGJhclNlcnZpY2UsXG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBPdmVybGF5LFxuICAgIEJ1dHRvbk1vZGVsXG59IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlLCBPcHRpb25hbFR5cGUsIEJnQ29sb3JTdHlsZVR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBJY29uTW9kZWwgfSBmcm9tICdAdXBkZXZzL2ljb25zJztcblxuaW1wb3J0IHsgTW9kYWxTaXplVHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL21vZGFsLXNpemUudHlwZSc7XG5pbXBvcnQgeyBNb2RhbENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RhbC5jb25maWcnO1xuaW1wb3J0IHsgTW9kYWxDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RhbC1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgTW9kYWxGb290ZXJTdHlsZVR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9tb2RhbC1mb290ZXItc3R5bGUudHlwZSc7XG5pbXBvcnQgeyBNb2RhbFJlZiB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RhbC1yZWYnO1xuXG5sZXQgY29udGFpbmVySWQgPSAxO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1tb2RhbC1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tb2RhbC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE1vZGFsQ29uZmlnLCBNb2RhbFJlZiB7XG4gICAgQEhvc3RCaW5kaW5nKCdpZCcpIGlkID0gYG1vZGFsLSR7Y29udGFpbmVySWQrK31gO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBob3N0Q2xhc3MgPSBbJ21vZGFsJywgJ21vZGFsLWJsdXInLCAnZmFkZSddO1xuICAgIEBIb3N0QmluZGluZygncm9sZScpIHJvbGUgPSAnZGlhbG9nJztcbiAgICBASG9zdEJpbmRpbmcoJ2FyaWEtaGlkZGVuJykgYXJpYUhpZGRlbiA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdhcmlhLW1vZGFsJykgYXJpYU1vZGFsID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpIHRhYkluZGV4ID0gLTE7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5Jykgc3R5bGVEaXNwbGF5Pzogc3RyaW5nO1xuXG4gICAgZGlhbG9nID0gdmlld0NoaWxkLnJlcXVpcmVkKCdkaWFsb2cnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gICAgY29udGVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZCgnY29udGVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgICBib2R5Q29udGVudE91dGxldCA9IHZpZXdDaGlsZDxOZ0NvbXBvbmVudE91dGxldD4oTmdDb21wb25lbnRPdXRsZXQpO1xuICAgIHNpemU6IE1vZGFsU2l6ZVR5cGUgPSAncmVndWxhcic7XG4gICAgaXNWZXJ0aWNhbGx5Q2VudGVyZWQgPSB0cnVlO1xuICAgIGlzU2Nyb2xsYWJsZSA9IGZhbHNlO1xuICAgIHNob3dDbG9zZUJ1dHRvbiA9IHRydWU7XG4gICAgc2hvd0NhbmNlbEJ1dHRvbiA9IGZhbHNlO1xuICAgIGlzVGV4dENlbnRlcmVkID0gdHJ1ZTtcbiAgICBzaG91bGREaXNtaXNzT25Fc2MgPSBmYWxzZTtcbiAgICBzaG91bGREaXNtaXNzT25PdXRzaWRlQ2xpY2sgPSBmYWxzZTtcbiAgICBpc0FsZXJ0ID0gZmFsc2U7XG4gICAgc3RhdHVzQ29sb3I/OiBCZ0NvbG9yU3R5bGVUeXBlO1xuICAgIGhlYWRlclRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBmb290ZXJUZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgYm9keVRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBib2R5Q29udGVudFR5cGU/OiBUeXBlPGFueT47XG4gICAgY29udGVudFR5cGU/OiBUeXBlPGFueT47XG4gICAgYm9keT86IFRleHRNb2RlbDtcbiAgICB0aXRsZT86IFRleHRNb2RlbDtcbiAgICB0aXRsZUljb24/OiBJY29uTW9kZWw7XG4gICAgdGl0bGVJY29uUG9zaXRpb24/OiBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlID0gJ3RvcCc7XG4gICAgZm9vdGVyTGF5b3V0PzogTW9kYWxGb290ZXJTdHlsZVR5cGUgPSAnZGVmYXVsdCc7XG4gICAgYWN0aW9uQnV0dG9uczogQnV0dG9uTW9kZWxbXSA9IFtdO1xuICAgIG92ZXJsYXkhOiBPdmVybGF5O1xuICAgIG1vZGFsQ29udGFpbmVyUmVmITogQ29tcG9uZW50UmVmPE1vZGFsQ29udGFpbmVyQ29tcG9uZW50PjtcbiAgICBkYXRhPzogYW55O1xuICAgIGFmdGVyQ2xvc2U/OiAocmVzdWx0PzogYW55KSA9PiB2b2lkO1xuXG4gICAgZ2V0IGNsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ21vZGFsLWRpYWxvZycsXG4gICAgICAgICAgICB0aGlzLmlzVmVydGljYWxseUNlbnRlcmVkID8gJ21vZGFsLWRpYWxvZy1jZW50ZXJlZCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNTY3JvbGxhYmxlID8gJ21vZGFsLWRpYWxvZy1zY3JvbGxhYmxlJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5zaXplQ2xhc3NcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBnZXQgdGl0bGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQodGhpcy50aXRsZSk7XG4gICAgfVxuXG4gICAgZ2V0IGJvZHlUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQodGhpcy5ib2R5KTtcbiAgICB9XG5cbiAgICBnZXQgc3RhdHVzQ29sb3JDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGJnLSR7dGhpcy5zdGF0dXNDb2xvcn1gO1xuICAgIH1cblxuICAgIGdldCBzaXplQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGNscyA9ICcnO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5zaXplKSB7XG4gICAgICAgICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgICAgICAgICAgY2xzID0gJ21vZGFsLXNtJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgICAgICAgICBjbHMgPSAnbW9kYWwtbGcnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZXh0cmEtbGFyZ2UnOlxuICAgICAgICAgICAgICAgIGNscyA9ICdtb2RhbC14bCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbkNsYXNzID0gJ21vZGFsLW9wZW4nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheW91dFNlcnZpY2UgPSBpbmplY3QoTGF5b3V0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxiYXJTZXJ2aWNlID0gaW5qZWN0KFNjcm9sbGJhclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnQoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByZXBhcmVUb1Nob3coY29uZmlnPzogTW9kYWxDb25maWcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXR1cENvbmZpZyhjb25maWcpO1xuICAgICAgICB0aGlzLnNjcm9sbGJhclNlcnZpY2UuaGlkZSgpO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuYWRkQm9keUNsYXNzZXModGhpcy5vcGVuQ2xhc3MpO1xuICAgICAgICB0aGlzLmFkanVzdERpYWxvZygpO1xuICAgICAgICB0aGlzLnNldHVwQWN0aW9uQnV0dG9ucygpO1xuICAgIH1cblxuICAgIHNob3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBMaXN0ZW5lcnMoKTtcblxuICAgICAgICB0aGlzLnN0eWxlRGlzcGxheSA9ICdibG9jayc7XG4gICAgICAgIHRoaXMuYXJpYUhpZGRlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFyaWFNb2RhbCA9IHRydWU7XG4gICAgICAgIHRoaXMuZWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICB0aGlzLmRpYWxvZygpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcblxuICAgICAgICBMYXlvdXRVdGlscy5yZWZsb3codGhpcy5lbGVtZW50KTtcblxuICAgICAgICBjb25zdCB0cmFuc2l0aW9uU3ViID0gTGF5b3V0VXRpbHMuZXhlY3V0ZUFmdGVyVHJhbnNpdGlvbih0aGlzLmVsZW1lbnQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50KCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnModHJhbnNpdGlvblN1Yik7XG4gICAgfVxuXG4gICAgY2xvc2UocmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRyYW5zaXRpb25TdWIgPSBMYXlvdXRVdGlscy5leGVjdXRlQWZ0ZXJUcmFuc2l0aW9uKHRoaXMuZWxlbWVudCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVEaXNwbGF5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5hcmlhSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYXJpYU1vZGFsID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmICghIXRoaXMuYWZ0ZXJDbG9zZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWZ0ZXJDbG9zZShyZXN1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuaGlkZSgpO1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnJlbW92ZUJvZHlDbGFzc2VzKHRoaXMub3BlbkNsYXNzKTtcbiAgICAgICAgICAgIHRoaXMubW9kYWxDb250YWluZXJSZWYuZGVzdHJveSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnModHJhbnNpdGlvblN1Yik7XG4gICAgfVxuXG4gICAgYnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGJ0bjogQnV0dG9uTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEhYnRuLmNsaWNrRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIGJ0bi5jbGlja0Z1bmN0aW9uKHsgZXZlbnQsIGRhdGE6IGJ0biB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEJvZHlJbnN0YW5jZTxUPigpOiBPcHRpb25hbFR5cGU8VD4ge1xuICAgICAgICByZXR1cm4gPFQ+dGhpcy5ib2R5Q29udGVudE91dGxldCgpPy5bJ19jb21wb25lbnRSZWYnXS5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkanVzdERpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNNb2RhbE92ZXJmbG93aW5nID0gdGhpcy5lbGVtZW50LnNjcm9sbEhlaWdodCA+IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSB0aGlzLnNjcm9sbGJhclNlcnZpY2UuZ2V0V2lkdGgoKTtcbiAgICAgICAgY29uc3QgaXNCb2R5T3ZlcmZsb3dpbmcgPSBzY3JvbGxiYXJXaWR0aCA+IDA7XG5cbiAgICAgICAgaWYgKGlzQm9keU92ZXJmbG93aW5nICYmICFpc01vZGFsT3ZlcmZsb3dpbmcpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50LCAncGFkZGluZ1JpZ2h0JywgYCR7c2Nyb2xsYmFyV2lkdGh9cHhgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNCb2R5T3ZlcmZsb3dpbmcgJiYgaXNNb2RhbE92ZXJmbG93aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudCwgJ3BhZGRpbmdMZWZ0JywgYCR7c2Nyb2xsYmFyV2lkdGh9cHhgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBDb25maWcoY29uZmlnPzogTW9kYWxDb25maWcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbmZpZ01vZGVsID0gbmV3IE1vZGFsQ29uZmlnTW9kZWwoY29uZmlnKTtcbiAgICAgICAgdGhpcy5zaXplID0gY29uZmlnTW9kZWwuc2l6ZTtcbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsbHlDZW50ZXJlZCA9IGNvbmZpZ01vZGVsLmlzVmVydGljYWxseUNlbnRlcmVkO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsYWJsZSA9IGNvbmZpZ01vZGVsLmlzU2Nyb2xsYWJsZTtcbiAgICAgICAgdGhpcy5zaG93Q2FuY2VsQnV0dG9uID0gY29uZmlnTW9kZWwuc2hvd0NhbmNlbEJ1dHRvbjtcbiAgICAgICAgdGhpcy5zaG93Q2xvc2VCdXR0b24gPSBjb25maWdNb2RlbC5zaG93Q2xvc2VCdXR0b247XG4gICAgICAgIHRoaXMuc2hvdWxkRGlzbWlzc09uRXNjID0gY29uZmlnTW9kZWwuc2hvdWxkRGlzbWlzc09uRXNjO1xuICAgICAgICB0aGlzLnNob3VsZERpc21pc3NPbk91dHNpZGVDbGljayA9IGNvbmZpZ01vZGVsLnNob3VsZERpc21pc3NPbk91dHNpZGVDbGljaztcbiAgICAgICAgdGhpcy5pc0FsZXJ0ID0gY29uZmlnTW9kZWwuaXNBbGVydDtcbiAgICAgICAgdGhpcy5pc1RleHRDZW50ZXJlZCA9IGNvbmZpZ01vZGVsLmlzVGV4dENlbnRlcmVkO1xuICAgICAgICB0aGlzLnN0YXR1c0NvbG9yID0gY29uZmlnTW9kZWwuc3RhdHVzQ29sb3I7XG4gICAgICAgIHRoaXMuaGVhZGVyVGVtcGxhdGVSZWYgPSBjb25maWdNb2RlbC5oZWFkZXJUZW1wbGF0ZVJlZjtcbiAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZVJlZiA9IGNvbmZpZ01vZGVsLmZvb3RlclRlbXBsYXRlUmVmO1xuICAgICAgICB0aGlzLmJvZHlUZW1wbGF0ZVJlZiA9IGNvbmZpZ01vZGVsLmJvZHlUZW1wbGF0ZVJlZjtcbiAgICAgICAgdGhpcy5ib2R5Q29udGVudFR5cGUgPSBjb25maWdNb2RlbC5ib2R5Q29udGVudFR5cGU7XG4gICAgICAgIHRoaXMuYm9keSA9IGNvbmZpZ01vZGVsLmJvZHk7XG4gICAgICAgIHRoaXMudGl0bGUgPSBjb25maWdNb2RlbC50aXRsZTtcbiAgICAgICAgdGhpcy50aXRsZUljb24gPSBjb25maWdNb2RlbC50aXRsZUljb247XG4gICAgICAgIHRoaXMudGl0bGVJY29uUG9zaXRpb24gPSBjb25maWdNb2RlbC50aXRsZUljb25Qb3NpdGlvbjtcbiAgICAgICAgdGhpcy5mb290ZXJMYXlvdXQgPSBjb25maWdNb2RlbC5mb290ZXJMYXlvdXQ7XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucyA9IGNvbmZpZ01vZGVsLmFjdGlvbkJ1dHRvbnM7XG4gICAgICAgIHRoaXMuZGF0YSA9IGNvbmZpZ01vZGVsLmRhdGE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEFjdGlvbkJ1dHRvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ0biA9PiB7XG4gICAgICAgICAgICBjb25zdCBmbkJhY2t1cCA9IGJ0bi5jbGlja0Z1bmN0aW9uO1xuICAgICAgICAgICAgYnRuLmNsaWNrRnVuY3Rpb24gPSBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnQuZGF0YSA9IHRoaXM7XG4gICAgICAgICAgICAgICAgZm5CYWNrdXAhKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNob3VsZERpc21pc3NPbk91dHNpZGVDbGljaykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0NhbGxiYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNob3VsZERpc21pc3NPbkVzYykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmVzY0NhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xpY2tDYWxsYmFjayA9IChldnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldnQudGFyZ2V0ID09PSB0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIGVzY0NhbGxiYWNrID0gKGV2dDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZ0LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH07XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLk1vZGFsJ1wiPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwiY2xhc3Nlc1wiICNkaWFsb2c+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgdGFiaW5kZXg9XCItMVwiICNjb250ZW50PlxuICAgICAgICAgICAgQGlmICghIWNvbnRlbnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdDb21wb25lbnRPdXRsZXRdPVwiY29udGVudFR5cGVcIiBbbmdDb21wb25lbnRPdXRsZXRJbnB1dHNdPVwie21vZGFsUmVmOiB0aGlzLCBkYXRhOiBkYXRhfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmICghaXNBbGVydCAmJiAoISF0aXRsZVRleHQgfHwgISFoZWFkZXJUZW1wbGF0ZVJlZikpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghIWhlYWRlclRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bW9kYWxSZWY6IHRoaXMsIGRhdGE6IGRhdGF9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiPnt7IHRpdGxlVGV4dCB9fTwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93Q2xvc2VCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjbG9zZUJ0blRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoc2hvd0Nsb3NlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2xvc2VCdG5UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBweS00XCIgW2NsYXNzLnRleHQtY2VudGVyXT1cImlzVGV4dENlbnRlcmVkIHx8IGlzQWxlcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpc0FsZXJ0ICYmICEhdGl0bGVUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24tY29udGVudC1zdGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZsZXgtcm93XT1cInRpdGxlSWNvblBvc2l0aW9uID09PSAnbGVmdCcgfHwgdGl0bGVJY29uUG9zaXRpb24gPT09ICdyaWdodCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5mbGV4LWNvbHVtbl09XCJ0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgfHwgdGl0bGVJY29uUG9zaXRpb24gPT09ICdib3R0b20nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghIXRpdGxlSWNvbiAmJiAodGl0bGVJY29uUG9zaXRpb24gPT09ICd0b3AnIHx8IHRpdGxlSWNvblBvc2l0aW9uID09PSAnbGVmdCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwidGl0bGVJY29uXCIgW2NsYXNzLm1lLTJdPVwidGl0bGVJY29uUG9zaXRpb24gPT09ICdsZWZ0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWItMl09XCJ0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWxpZ24tc2VsZi1jZW50ZXIgZnMtMyBmdy1ib2xkXCIgW2NsYXNzLm1iLTNdPVwiISF0aXRsZUljb24gJiYgdGl0bGVJY29uUG9zaXRpb24gPT09ICd0b3AnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRpdGxlVGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISF0aXRsZUljb24gJiYgKHRpdGxlSWNvblBvc2l0aW9uID09PSAnYm90dG9tJyB8fCB0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJ0aXRsZUljb25cIiBbY2xhc3MubXMtMl09XCJ0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWItMl09XCJ0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICghIWJvZHlUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VGVtcGxhdGVSZWYhXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInttb2RhbFJlZjogdGhpcywgZGF0YTogZGF0YX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICghIWJvZHlDb250ZW50VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdDb21wb25lbnRPdXRsZXRdPVwiYm9keUNvbnRlbnRUeXBlXCIgW25nQ29tcG9uZW50T3V0bGV0SW5wdXRzXT1cInttb2RhbFJlZjogdGhpcywgZGF0YTogZGF0YX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJib2R5VGV4dFwiIFtjbGFzcy50ZXh0LXNlY29uZGFyeV09XCJpc0FsZXJ0XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIEBpZiAoISFzdGF0dXNDb2xvcikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtc3RhdHVzXCIgW3N0eWxlLnBvc2l0aW9uXT1cIidyZWxhdGl2ZSdcIiBbbmdDbGFzc109XCJzdGF0dXNDb2xvckNsYXNzXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChzaG93Q2FuY2VsQnV0dG9uIHx8IGFjdGlvbkJ1dHRvbnMubGVuZ3RoID4gMCB8fCAhIWZvb3RlclRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISFmb290ZXJUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie21vZGFsUmVmOiB0aGlzLCBkYXRhOiBkYXRhfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQHN3aXRjaCAoZm9vdGVyTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnZnVsbC13aWR0aCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93Q2FuY2VsQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gY2xhc3M9XCJ3LTEwMFwiIFtpc05hdmlnYXRpb25MaW5rXT1cInRydWVcIiAoY2xpY2tlZCk9XCJjbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ0NhbmNlbCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidG4gb2YgYWN0aW9uQnV0dG9uczsgdHJhY2sgYnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gY2xhc3M9XCJ3LTEwMFwiIFttb2RlbF09XCJidG5cIj48L3VwZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdjZW50ZXJlZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uc1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25zVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Nsb3NlQnRuVHBsPlxuICAgICAgICA8dXBkLWJ1dHRvbiAoY2xpY2tlZCk9XCJjbG9zZSgpXCIgW3Nob3VsZElnbm9yZUJ0bkNsYXNzXT1cInRydWVcIiBjdXN0b21DbGFzc2VzPVwiYnRuLWNsb3NlXCI+PC91cGQtYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2J1dHRvbnNUcGw+XG4gICAgICAgIEBpZiAoc2hvd0NhbmNlbEJ1dHRvbikge1xuICAgICAgICAgICAgPHVwZC1idXR0b24gY29sb3JTdHlsZT1cInNlY29uZGFyeVwiIFtpc0xpbmtdPVwidHJ1ZVwiIChjbGlja2VkKT1cImNsb3NlKClcIj5cbiAgICAgICAgICAgICAgICB7eyB0KCdDYW5jZWwnKSB9fVxuICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAoYnRuIG9mIGFjdGlvbkJ1dHRvbnM7IHRyYWNrIGJ0bi5pZCkge1xuICAgICAgICAgICAgPHVwZC1idXR0b24gW21vZGVsXT1cImJ0blwiIChjbGlja2VkKT1cImJ1dHRvbkNsaWNrKCRldmVudCwgYnRuKVwiPjwvdXBkLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbC9zcmMvY29tcG9uZW50cy9tb2RhbC1jb250YWluZXIvbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9tb2RhbC9zcmMvY29tcG9uZW50cy9tb2RhbC1jb250YWluZXIvbW9kYWwtY29udGFpbmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBZSxNQUFNLEVBQVEsVUFBVSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQWdCLE1BQU0sZUFBZSxDQUFDO0FBQ2xJLE9BQU8sRUFBRSxXQUFXLEVBQWEsTUFBTSxhQUFhLENBQUM7QUFDckQsT0FBTyxFQUNILEtBQUssSUFBSSxXQUFXLEVBQ3BCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsYUFBYSxFQUdoQixNQUFNLG9CQUFvQixDQUFDO0FBTTVCLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFJbkUsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO0FBT3BCLE1BQU0sT0FBTyx1QkFBd0IsU0FBUSxhQUFhO0lBTDFEOztRQU11QixPQUFFLEdBQUcsU0FBUyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQzNCLGNBQVMsR0FBRyxDQUFDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFDN0MsU0FBSSxHQUFHLFFBQVEsQ0FBQztRQUNULGVBQVUsR0FBRyxJQUFJLENBQUM7UUFDbkIsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFHdkMsV0FBTSxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDNUQsWUFBTyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDOUQsc0JBQWlCLEdBQUcsU0FBUyxDQUFvQixpQkFBaUIsQ0FBQyxDQUFDO1FBQ3BFLFNBQUksR0FBa0IsU0FBUyxDQUFDO1FBQ2hDLHlCQUFvQixHQUFHLElBQUksQ0FBQztRQUM1QixpQkFBWSxHQUFHLEtBQUssQ0FBQztRQUNyQixvQkFBZSxHQUFHLElBQUksQ0FBQztRQUN2QixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFDekIsbUJBQWMsR0FBRyxJQUFJLENBQUM7UUFDdEIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBQzNCLGdDQUEyQixHQUFHLEtBQUssQ0FBQztRQUNwQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBVWhCLHNCQUFpQixHQUE0QixLQUFLLENBQUM7UUFDbkQsaUJBQVksR0FBMEIsU0FBUyxDQUFDO1FBQ2hELGtCQUFhLEdBQWtCLEVBQUUsQ0FBQztRQTZDakIsY0FBUyxHQUFHLFlBQVksQ0FBQztRQUN6QixnQkFBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNsQyxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RDLHFCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzVDLGFBQVEsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQTZIckMsa0JBQWEsR0FBRyxDQUFDLEdBQVUsRUFBRSxFQUFFO1lBQ25DLElBQUksR0FBRyxDQUFDLE1BQU0sS0FBSyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRU0sZ0JBQVcsR0FBRyxDQUFDLEdBQWtCLEVBQUUsRUFBRTtZQUN6QyxJQUFJLEdBQUcsQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ3ZCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNqQixDQUFDO1FBQ0wsQ0FBQyxDQUFDO0tBQ0w7SUFyTEcsSUFBSSxPQUFPO1FBQ1AsT0FBTztZQUNILGNBQWM7WUFDZCxJQUFJLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3hELElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLHlCQUF5QixDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ2xELElBQUksQ0FBQyxTQUFTO1NBQ2pCLENBQUM7SUFDTixDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELElBQUksUUFBUTtRQUNSLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNoQixPQUFPLE1BQU0sSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDVCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFFYixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNoQixLQUFLLE9BQU87Z0JBQ1IsR0FBRyxHQUFHLFVBQVUsQ0FBQztnQkFDakIsTUFBTTtZQUNWLEtBQUssT0FBTztnQkFDUixHQUFHLEdBQUcsVUFBVSxDQUFDO2dCQUNqQixNQUFNO1lBQ1YsS0FBSyxhQUFhO2dCQUNkLEdBQUcsR0FBRyxVQUFVLENBQUM7Z0JBQ2pCLE1BQU07UUFDZCxDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUM7SUFDZixDQUFDO0lBVUQsSUFBWSxPQUFPO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQztJQUN6QyxDQUFDO0lBRUQsYUFBYSxDQUFDLE1BQW9CO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7SUFDOUIsQ0FBQztJQUVELElBQUk7UUFDQSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFFdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUUxQyxXQUFXLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqQyxNQUFNLGFBQWEsR0FBRyxXQUFXLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDbEYsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ25DLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDekMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFZO1FBQ2QsTUFBTSxhQUFhLEdBQUcsV0FBVyxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xGLElBQUksQ0FBQyxZQUFZLEdBQUcsU0FBUyxDQUFDO1lBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBRXZCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBRUQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUNyRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDckMsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBaUIsRUFBRSxHQUFnQjtRQUMzQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdEIsR0FBRyxDQUFDLGFBQWEsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0wsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFVLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDO0lBQ25FLENBQUM7SUFFTyxZQUFZO1FBQ2hCLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDO1FBQ2xHLE1BQU0sY0FBYyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4RCxNQUFNLGlCQUFpQixHQUFHLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFFN0MsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxjQUFjLEVBQUUsR0FBRyxjQUFjLElBQUksQ0FBQyxDQUFDO1FBQ2hGLENBQUM7UUFFRCxJQUFJLENBQUMsaUJBQWlCLElBQUksa0JBQWtCLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFDL0UsQ0FBQztJQUNMLENBQUM7SUFFTyxXQUFXLENBQUMsTUFBb0I7UUFDcEMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1YsT0FBTztRQUNYLENBQUM7UUFFRCxNQUFNLFdBQVcsR0FBRyxJQUFJLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsV0FBVyxDQUFDLG9CQUFvQixDQUFDO1FBQzdELElBQUksQ0FBQyxZQUFZLEdBQUcsV0FBVyxDQUFDLFlBQVksQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsV0FBVyxDQUFDLGdCQUFnQixDQUFDO1FBQ3JELElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQztRQUNuRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsV0FBVyxDQUFDLGtCQUFrQixDQUFDO1FBQ3pELElBQUksQ0FBQywyQkFBMkIsR0FBRyxXQUFXLENBQUMsMkJBQTJCLENBQUM7UUFDM0UsSUFBSSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsT0FBTyxDQUFDO1FBQ25DLElBQUksQ0FBQyxjQUFjLEdBQUcsV0FBVyxDQUFDLGNBQWMsQ0FBQztRQUNqRCxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQyxXQUFXLENBQUM7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsV0FBVyxDQUFDLGlCQUFpQixDQUFDO1FBQ3ZELElBQUksQ0FBQyxlQUFlLEdBQUcsV0FBVyxDQUFDLGVBQWUsQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLFdBQVcsQ0FBQyxlQUFlLENBQUM7UUFDbkQsSUFBSSxDQUFDLElBQUksR0FBRyxXQUFXLENBQUMsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztRQUMvQixJQUFJLENBQUMsU0FBUyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUM7UUFDdkMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxpQkFBaUIsQ0FBQztRQUN2RCxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQyxZQUFZLENBQUM7UUFDN0MsSUFBSSxDQUFDLGFBQWEsR0FBRyxXQUFXLENBQUMsYUFBYSxDQUFDO1FBQy9DLElBQUksQ0FBQyxJQUFJLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQztJQUNqQyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sUUFBUSxHQUFHLEdBQUcsQ0FBQyxhQUFhLENBQUM7WUFDbkMsR0FBRyxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsS0FBSyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7Z0JBQ2xCLFFBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUM7UUFDTixDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyxjQUFjO1FBQ2xCLElBQUksSUFBSSxDQUFDLDJCQUEyQixFQUFFLENBQUM7WUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQy9ELENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQzFCLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0wsQ0FBQzs4R0E5TVEsdUJBQXVCO2tHQUF2Qix1QkFBdUIsd1dBU2MsVUFBVSw2R0FDUixVQUFVLGlGQUNULGlCQUFpQix1RkN0Q3RFLDh4TUFvSEE7OzJGRHpGYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0kscUJBQXFCOzhCQUtaLEVBQUU7c0JBQXBCLFdBQVc7dUJBQUMsSUFBSTtnQkFDSyxTQUFTO3NCQUE5QixXQUFXO3VCQUFDLE9BQU87Z0JBQ0MsSUFBSTtzQkFBeEIsV0FBVzt1QkFBQyxNQUFNO2dCQUNTLFVBQVU7c0JBQXJDLFdBQVc7dUJBQUMsYUFBYTtnQkFDQyxTQUFTO3NCQUFuQyxXQUFXO3VCQUFDLFlBQVk7Z0JBQ0EsUUFBUTtzQkFBaEMsV0FBVzt1QkFBQyxVQUFVO2dCQUNPLFlBQVk7c0JBQXpDLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5ULCBOZ0NvbXBvbmVudE91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEhvc3RCaW5kaW5nLCBUZW1wbGF0ZVJlZiwgaW5qZWN0LCBUeXBlLCBFbGVtZW50UmVmLCBSZW5kZXJlcjIsIHZpZXdDaGlsZCwgQ29tcG9uZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZXh0U2VydmljZSwgVGV4dE1vZGVsIH0gZnJvbSAnQHVwZGV2cy9zZGsnO1xuaW1wb3J0IHtcbiAgICBVdGlscyBhcyBMYXlvdXRVdGlscyxcbiAgICBMYXlvdXRTZXJ2aWNlLFxuICAgIFNjcm9sbGJhclNlcnZpY2UsXG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBPdmVybGF5LFxuICAgIEJ1dHRvbk1vZGVsXG59IGZyb20gJ0B1cGRldnMvc2RrL2xheW91dCc7XG5pbXBvcnQgeyBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlLCBPcHRpb25hbFR5cGUsIEJnQ29sb3JTdHlsZVR5cGUgfSBmcm9tICdAdXBkZXZzL3Nkay90eXBlcyc7XG5pbXBvcnQgeyBJY29uTW9kZWwgfSBmcm9tICdAdXBkZXZzL2ljb25zJztcblxuaW1wb3J0IHsgTW9kYWxTaXplVHlwZSB9IGZyb20gJy4uLy4uL3R5cGVzL21vZGFsLXNpemUudHlwZSc7XG5pbXBvcnQgeyBNb2RhbENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RhbC5jb25maWcnO1xuaW1wb3J0IHsgTW9kYWxDb25maWdNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RhbC1jb25maWcubW9kZWwnO1xuaW1wb3J0IHsgTW9kYWxGb290ZXJTdHlsZVR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9tb2RhbC1mb290ZXItc3R5bGUudHlwZSc7XG5pbXBvcnQgeyBNb2RhbFJlZiB9IGZyb20gJy4uLy4uL21vZGVscy9tb2RhbC1yZWYnO1xuXG5sZXQgY29udGFpbmVySWQgPSAxO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3VwZC1tb2RhbC1jb250YWluZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9tb2RhbC1jb250YWluZXIuY29tcG9uZW50LnNjc3MnXG59KVxuZXhwb3J0IGNsYXNzIE1vZGFsQ29udGFpbmVyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE1vZGFsQ29uZmlnLCBNb2RhbFJlZiB7XG4gICAgQEhvc3RCaW5kaW5nKCdpZCcpIGlkID0gYG1vZGFsLSR7Y29udGFpbmVySWQrK31gO1xuICAgIEBIb3N0QmluZGluZygnY2xhc3MnKSBob3N0Q2xhc3MgPSBbJ21vZGFsJywgJ21vZGFsLWJsdXInLCAnZmFkZSddO1xuICAgIEBIb3N0QmluZGluZygncm9sZScpIHJvbGUgPSAnZGlhbG9nJztcbiAgICBASG9zdEJpbmRpbmcoJ2FyaWEtaGlkZGVuJykgYXJpYUhpZGRlbiA9IHRydWU7XG4gICAgQEhvc3RCaW5kaW5nKCdhcmlhLW1vZGFsJykgYXJpYU1vZGFsID0gZmFsc2U7XG4gICAgQEhvc3RCaW5kaW5nKCd0YWJpbmRleCcpIHRhYkluZGV4ID0gLTE7XG4gICAgQEhvc3RCaW5kaW5nKCdzdHlsZS5kaXNwbGF5Jykgc3R5bGVEaXNwbGF5Pzogc3RyaW5nO1xuXG4gICAgZGlhbG9nID0gdmlld0NoaWxkLnJlcXVpcmVkKCdkaWFsb2cnLCB7IHJlYWQ6IEVsZW1lbnRSZWYgfSk7XG4gICAgY29udGVudCA9IHZpZXdDaGlsZC5yZXF1aXJlZCgnY29udGVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KTtcbiAgICBib2R5Q29udGVudE91dGxldCA9IHZpZXdDaGlsZDxOZ0NvbXBvbmVudE91dGxldD4oTmdDb21wb25lbnRPdXRsZXQpO1xuICAgIHNpemU6IE1vZGFsU2l6ZVR5cGUgPSAncmVndWxhcic7XG4gICAgaXNWZXJ0aWNhbGx5Q2VudGVyZWQgPSB0cnVlO1xuICAgIGlzU2Nyb2xsYWJsZSA9IGZhbHNlO1xuICAgIHNob3dDbG9zZUJ1dHRvbiA9IHRydWU7XG4gICAgc2hvd0NhbmNlbEJ1dHRvbiA9IGZhbHNlO1xuICAgIGlzVGV4dENlbnRlcmVkID0gdHJ1ZTtcbiAgICBzaG91bGREaXNtaXNzT25Fc2MgPSBmYWxzZTtcbiAgICBzaG91bGREaXNtaXNzT25PdXRzaWRlQ2xpY2sgPSBmYWxzZTtcbiAgICBpc0FsZXJ0ID0gZmFsc2U7XG4gICAgc3RhdHVzQ29sb3I/OiBCZ0NvbG9yU3R5bGVUeXBlO1xuICAgIGhlYWRlclRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBmb290ZXJUZW1wbGF0ZVJlZj86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgYm9keVRlbXBsYXRlUmVmPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICBib2R5Q29udGVudFR5cGU/OiBUeXBlPGFueT47XG4gICAgY29udGVudFR5cGU/OiBUeXBlPGFueT47XG4gICAgYm9keT86IFRleHRNb2RlbDtcbiAgICB0aXRsZT86IFRleHRNb2RlbDtcbiAgICB0aXRsZUljb24/OiBJY29uTW9kZWw7XG4gICAgdGl0bGVJY29uUG9zaXRpb24/OiBUb3BCb3R0b21MZWZ0UmlnaHRUeXBlID0gJ3RvcCc7XG4gICAgZm9vdGVyTGF5b3V0PzogTW9kYWxGb290ZXJTdHlsZVR5cGUgPSAnZGVmYXVsdCc7XG4gICAgYWN0aW9uQnV0dG9uczogQnV0dG9uTW9kZWxbXSA9IFtdO1xuICAgIG92ZXJsYXkhOiBPdmVybGF5O1xuICAgIG1vZGFsQ29udGFpbmVyUmVmITogQ29tcG9uZW50UmVmPE1vZGFsQ29udGFpbmVyQ29tcG9uZW50PjtcbiAgICBkYXRhPzogYW55O1xuICAgIGFmdGVyQ2xvc2U/OiAocmVzdWx0PzogYW55KSA9PiB2b2lkO1xuXG4gICAgZ2V0IGNsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgJ21vZGFsLWRpYWxvZycsXG4gICAgICAgICAgICB0aGlzLmlzVmVydGljYWxseUNlbnRlcmVkID8gJ21vZGFsLWRpYWxvZy1jZW50ZXJlZCcgOiAnJyxcbiAgICAgICAgICAgIHRoaXMuaXNTY3JvbGxhYmxlID8gJ21vZGFsLWRpYWxvZy1zY3JvbGxhYmxlJyA6ICcnLFxuICAgICAgICAgICAgdGhpcy5zaXplQ2xhc3NcbiAgICAgICAgXTtcbiAgICB9XG5cbiAgICBnZXQgdGl0bGVUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQodGhpcy50aXRsZSk7XG4gICAgfVxuXG4gICAgZ2V0IGJvZHlUZXh0KCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHRTZXJ2aWNlLmdldFRleHQodGhpcy5ib2R5KTtcbiAgICB9XG5cbiAgICBnZXQgc3RhdHVzQ29sb3JDbGFzcygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYGJnLSR7dGhpcy5zdGF0dXNDb2xvcn1gO1xuICAgIH1cblxuICAgIGdldCBzaXplQ2xhc3MoKTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGNscyA9ICcnO1xuXG4gICAgICAgIHN3aXRjaCAodGhpcy5zaXplKSB7XG4gICAgICAgICAgICBjYXNlICdzbWFsbCc6XG4gICAgICAgICAgICAgICAgY2xzID0gJ21vZGFsLXNtJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2xhcmdlJzpcbiAgICAgICAgICAgICAgICBjbHMgPSAnbW9kYWwtbGcnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZXh0cmEtbGFyZ2UnOlxuICAgICAgICAgICAgICAgIGNscyA9ICdtb2RhbC14bCc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY2xzO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3BlbkNsYXNzID0gJ21vZGFsLW9wZW4nO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdGV4dFNlcnZpY2UgPSBpbmplY3QoVGV4dFNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxheW91dFNlcnZpY2UgPSBpbmplY3QoTGF5b3V0U2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzY3JvbGxiYXJTZXJ2aWNlID0gaW5qZWN0KFNjcm9sbGJhclNlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAgIHByaXZhdGUgZ2V0IGVsZW1lbnQoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByZXBhcmVUb1Nob3coY29uZmlnPzogTW9kYWxDb25maWcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXR1cENvbmZpZyhjb25maWcpO1xuICAgICAgICB0aGlzLnNjcm9sbGJhclNlcnZpY2UuaGlkZSgpO1xuICAgICAgICB0aGlzLmxheW91dFNlcnZpY2UuYWRkQm9keUNsYXNzZXModGhpcy5vcGVuQ2xhc3MpO1xuICAgICAgICB0aGlzLmFkanVzdERpYWxvZygpO1xuICAgICAgICB0aGlzLnNldHVwQWN0aW9uQnV0dG9ucygpO1xuICAgIH1cblxuICAgIHNob3coKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0dXBMaXN0ZW5lcnMoKTtcblxuICAgICAgICB0aGlzLnN0eWxlRGlzcGxheSA9ICdibG9jayc7XG4gICAgICAgIHRoaXMuYXJpYUhpZGRlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmFyaWFNb2RhbCA9IHRydWU7XG4gICAgICAgIHRoaXMuZWxlbWVudC5zY3JvbGxUb3AgPSAwO1xuICAgICAgICB0aGlzLmRpYWxvZygpLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcblxuICAgICAgICBMYXlvdXRVdGlscy5yZWZsb3codGhpcy5lbGVtZW50KTtcblxuICAgICAgICBjb25zdCB0cmFuc2l0aW9uU3ViID0gTGF5b3V0VXRpbHMuZXhlY3V0ZUFmdGVyVHJhbnNpdGlvbih0aGlzLmVsZW1lbnQpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LmFkZCgnc2hvdycpO1xuICAgICAgICAgICAgdGhpcy5jb250ZW50KCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnModHJhbnNpdGlvblN1Yik7XG4gICAgfVxuXG4gICAgY2xvc2UocmVzdWx0PzogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRyYW5zaXRpb25TdWIgPSBMYXlvdXRVdGlscy5leGVjdXRlQWZ0ZXJUcmFuc2l0aW9uKHRoaXMuZWxlbWVudCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc3R5bGVEaXNwbGF5ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgdGhpcy5hcmlhSGlkZGVuID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYXJpYU1vZGFsID0gZmFsc2U7XG5cbiAgICAgICAgICAgIGlmICghIXRoaXMuYWZ0ZXJDbG9zZSkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWZ0ZXJDbG9zZShyZXN1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLm92ZXJsYXkuaGlkZSgpO1xuICAgICAgICAgICAgdGhpcy5sYXlvdXRTZXJ2aWNlLnJlbW92ZUJvZHlDbGFzc2VzKHRoaXMub3BlbkNsYXNzKTtcbiAgICAgICAgICAgIHRoaXMubW9kYWxDb250YWluZXJSZWYuZGVzdHJveSgpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZSgnc2hvdycpO1xuICAgICAgICB0aGlzLmFkZFN1YnNjcmlwdGlvbnModHJhbnNpdGlvblN1Yik7XG4gICAgfVxuXG4gICAgYnV0dG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIGJ0bjogQnV0dG9uTW9kZWwpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEhYnRuLmNsaWNrRnVuY3Rpb24pIHtcbiAgICAgICAgICAgIGJ0bi5jbGlja0Z1bmN0aW9uKHsgZXZlbnQsIGRhdGE6IGJ0biB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldEJvZHlJbnN0YW5jZTxUPigpOiBPcHRpb25hbFR5cGU8VD4ge1xuICAgICAgICByZXR1cm4gPFQ+dGhpcy5ib2R5Q29udGVudE91dGxldCgpPy5bJ19jb21wb25lbnRSZWYnXS5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFkanVzdERpYWxvZygpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaXNNb2RhbE92ZXJmbG93aW5nID0gdGhpcy5lbGVtZW50LnNjcm9sbEhlaWdodCA+IHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodDtcbiAgICAgICAgY29uc3Qgc2Nyb2xsYmFyV2lkdGggPSB0aGlzLnNjcm9sbGJhclNlcnZpY2UuZ2V0V2lkdGgoKTtcbiAgICAgICAgY29uc3QgaXNCb2R5T3ZlcmZsb3dpbmcgPSBzY3JvbGxiYXJXaWR0aCA+IDA7XG5cbiAgICAgICAgaWYgKGlzQm9keU92ZXJmbG93aW5nICYmICFpc01vZGFsT3ZlcmZsb3dpbmcpIHtcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50LCAncGFkZGluZ1JpZ2h0JywgYCR7c2Nyb2xsYmFyV2lkdGh9cHhgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNCb2R5T3ZlcmZsb3dpbmcgJiYgaXNNb2RhbE92ZXJmbG93aW5nKSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWxlbWVudCwgJ3BhZGRpbmdMZWZ0JywgYCR7c2Nyb2xsYmFyV2lkdGh9cHhgKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBDb25maWcoY29uZmlnPzogTW9kYWxDb25maWcpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvbmZpZ01vZGVsID0gbmV3IE1vZGFsQ29uZmlnTW9kZWwoY29uZmlnKTtcbiAgICAgICAgdGhpcy5zaXplID0gY29uZmlnTW9kZWwuc2l6ZTtcbiAgICAgICAgdGhpcy5pc1ZlcnRpY2FsbHlDZW50ZXJlZCA9IGNvbmZpZ01vZGVsLmlzVmVydGljYWxseUNlbnRlcmVkO1xuICAgICAgICB0aGlzLmlzU2Nyb2xsYWJsZSA9IGNvbmZpZ01vZGVsLmlzU2Nyb2xsYWJsZTtcbiAgICAgICAgdGhpcy5zaG93Q2FuY2VsQnV0dG9uID0gY29uZmlnTW9kZWwuc2hvd0NhbmNlbEJ1dHRvbjtcbiAgICAgICAgdGhpcy5zaG93Q2xvc2VCdXR0b24gPSBjb25maWdNb2RlbC5zaG93Q2xvc2VCdXR0b247XG4gICAgICAgIHRoaXMuc2hvdWxkRGlzbWlzc09uRXNjID0gY29uZmlnTW9kZWwuc2hvdWxkRGlzbWlzc09uRXNjO1xuICAgICAgICB0aGlzLnNob3VsZERpc21pc3NPbk91dHNpZGVDbGljayA9IGNvbmZpZ01vZGVsLnNob3VsZERpc21pc3NPbk91dHNpZGVDbGljaztcbiAgICAgICAgdGhpcy5pc0FsZXJ0ID0gY29uZmlnTW9kZWwuaXNBbGVydDtcbiAgICAgICAgdGhpcy5pc1RleHRDZW50ZXJlZCA9IGNvbmZpZ01vZGVsLmlzVGV4dENlbnRlcmVkO1xuICAgICAgICB0aGlzLnN0YXR1c0NvbG9yID0gY29uZmlnTW9kZWwuc3RhdHVzQ29sb3I7XG4gICAgICAgIHRoaXMuaGVhZGVyVGVtcGxhdGVSZWYgPSBjb25maWdNb2RlbC5oZWFkZXJUZW1wbGF0ZVJlZjtcbiAgICAgICAgdGhpcy5mb290ZXJUZW1wbGF0ZVJlZiA9IGNvbmZpZ01vZGVsLmZvb3RlclRlbXBsYXRlUmVmO1xuICAgICAgICB0aGlzLmJvZHlUZW1wbGF0ZVJlZiA9IGNvbmZpZ01vZGVsLmJvZHlUZW1wbGF0ZVJlZjtcbiAgICAgICAgdGhpcy5ib2R5Q29udGVudFR5cGUgPSBjb25maWdNb2RlbC5ib2R5Q29udGVudFR5cGU7XG4gICAgICAgIHRoaXMuYm9keSA9IGNvbmZpZ01vZGVsLmJvZHk7XG4gICAgICAgIHRoaXMudGl0bGUgPSBjb25maWdNb2RlbC50aXRsZTtcbiAgICAgICAgdGhpcy50aXRsZUljb24gPSBjb25maWdNb2RlbC50aXRsZUljb247XG4gICAgICAgIHRoaXMudGl0bGVJY29uUG9zaXRpb24gPSBjb25maWdNb2RlbC50aXRsZUljb25Qb3NpdGlvbjtcbiAgICAgICAgdGhpcy5mb290ZXJMYXlvdXQgPSBjb25maWdNb2RlbC5mb290ZXJMYXlvdXQ7XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucyA9IGNvbmZpZ01vZGVsLmFjdGlvbkJ1dHRvbnM7XG4gICAgICAgIHRoaXMuZGF0YSA9IGNvbmZpZ01vZGVsLmRhdGE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXR1cEFjdGlvbkJ1dHRvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYWN0aW9uQnV0dG9ucy5mb3JFYWNoKGJ0biA9PiB7XG4gICAgICAgICAgICBjb25zdCBmbkJhY2t1cCA9IGJ0bi5jbGlja0Z1bmN0aW9uO1xuICAgICAgICAgICAgYnRuLmNsaWNrRnVuY3Rpb24gPSBldmVudCA9PiB7XG4gICAgICAgICAgICAgICAgZXZlbnQuZGF0YSA9IHRoaXM7XG4gICAgICAgICAgICAgICAgZm5CYWNrdXAhKGV2ZW50KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0dXBMaXN0ZW5lcnMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNob3VsZERpc21pc3NPbk91dHNpZGVDbGljaykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5jbGlja0NhbGxiYWNrKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnNob3VsZERpc21pc3NPbkVzYykge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCB0aGlzLmVzY0NhbGxiYWNrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgY2xpY2tDYWxsYmFjayA9IChldnQ6IEV2ZW50KSA9PiB7XG4gICAgICAgIGlmIChldnQudGFyZ2V0ID09PSB0aGlzLmVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIGVzY0NhbGxiYWNrID0gKGV2dDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICBpZiAoZXZ0LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgfVxuICAgIH07XG59XG4iLCI8bmctY29udGFpbmVyICp0cmFuc2xvY289XCJsZXQgdDsgcHJlZml4OiAnVXBEZXZzLk1vZGFsJ1wiPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwiY2xhc3Nlc1wiICNkaWFsb2c+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1jb250ZW50XCIgdGFiaW5kZXg9XCItMVwiICNjb250ZW50PlxuICAgICAgICAgICAgQGlmICghIWNvbnRlbnRUeXBlKSB7XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdDb21wb25lbnRPdXRsZXRdPVwiY29udGVudFR5cGVcIiBbbmdDb21wb25lbnRPdXRsZXRJbnB1dHNdPVwie21vZGFsUmVmOiB0aGlzLCBkYXRhOiBkYXRhfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgQGlmICghaXNBbGVydCAmJiAoISF0aXRsZVRleHQgfHwgISFoZWFkZXJUZW1wbGF0ZVJlZikpIHtcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghIWhlYWRlclRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJoZWFkZXJUZW1wbGF0ZVJlZlwiIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7bW9kYWxSZWY6IHRoaXMsIGRhdGE6IGRhdGF9XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiPnt7IHRpdGxlVGV4dCB9fTwvaDU+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93Q2xvc2VCdXR0b24pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjbG9zZUJ0blRwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoc2hvd0Nsb3NlQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2xvc2VCdG5UcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBweS00XCIgW2NsYXNzLnRleHQtY2VudGVyXT1cImlzVGV4dENlbnRlcmVkIHx8IGlzQWxlcnRcIj5cbiAgICAgICAgICAgICAgICAgICAgQGlmIChpc0FsZXJ0ICYmICEhdGl0bGVUZXh0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24tY29udGVudC1zdGFydFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NsYXNzLmZsZXgtcm93XT1cInRpdGxlSWNvblBvc2l0aW9uID09PSAnbGVmdCcgfHwgdGl0bGVJY29uUG9zaXRpb24gPT09ICdyaWdodCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzcy5mbGV4LWNvbHVtbl09XCJ0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ3RvcCcgfHwgdGl0bGVJY29uUG9zaXRpb24gPT09ICdib3R0b20nXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmICghIXRpdGxlSWNvbiAmJiAodGl0bGVJY29uUG9zaXRpb24gPT09ICd0b3AnIHx8IHRpdGxlSWNvblBvc2l0aW9uID09PSAnbGVmdCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1cGQtaWNvbiBbbW9kZWxdPVwidGl0bGVJY29uXCIgW2NsYXNzLm1lLTJdPVwidGl0bGVJY29uUG9zaXRpb24gPT09ICdsZWZ0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWItMl09XCJ0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ3RvcCdcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWxpZ24tc2VsZi1jZW50ZXIgZnMtMyBmdy1ib2xkXCIgW2NsYXNzLm1iLTNdPVwiISF0aXRsZUljb24gJiYgdGl0bGVJY29uUG9zaXRpb24gPT09ICd0b3AnXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHRpdGxlVGV4dCB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISF0aXRsZUljb24gJiYgKHRpdGxlSWNvblBvc2l0aW9uID09PSAnYm90dG9tJyB8fCB0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0JykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1pY29uIFttb2RlbF09XCJ0aXRsZUljb25cIiBbY2xhc3MubXMtMl09XCJ0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY2xhc3MubWItMl09XCJ0aXRsZUljb25Qb3NpdGlvbiA9PT0gJ2JvdHRvbSdcIj48L3VwZC1pY29uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQGlmICghIWJvZHlUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJib2R5VGVtcGxhdGVSZWYhXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInttb2RhbFJlZjogdGhpcywgZGF0YTogZGF0YX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICghIWJvZHlDb250ZW50VHlwZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdDb21wb25lbnRPdXRsZXRdPVwiYm9keUNvbnRlbnRUeXBlXCIgW25nQ29tcG9uZW50T3V0bGV0SW5wdXRzXT1cInttb2RhbFJlZjogdGhpcywgZGF0YTogZGF0YX1cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW2lubmVySFRNTF09XCJib2R5VGV4dFwiIFtjbGFzcy50ZXh0LXNlY29uZGFyeV09XCJpc0FsZXJ0XCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgIEBpZiAoISFzdGF0dXNDb2xvcikge1xuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtc3RhdHVzXCIgW3N0eWxlLnBvc2l0aW9uXT1cIidyZWxhdGl2ZSdcIiBbbmdDbGFzc109XCJzdGF0dXNDb2xvckNsYXNzXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGlmIChzaG93Q2FuY2VsQnV0dG9uIHx8IGFjdGlvbkJ1dHRvbnMubGVuZ3RoID4gMCB8fCAhIWZvb3RlclRlbXBsYXRlUmVmKSB7XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIEBpZiAoISFmb290ZXJUZW1wbGF0ZVJlZikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9vdGVyVGVtcGxhdGVSZWZcIiBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie21vZGFsUmVmOiB0aGlzLCBkYXRhOiBkYXRhfVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQHN3aXRjaCAoZm9vdGVyTGF5b3V0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBjYXNlICgnZnVsbC13aWR0aCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGlmIChzaG93Q2FuY2VsQnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gY2xhc3M9XCJ3LTEwMFwiIFtpc05hdmlnYXRpb25MaW5rXT1cInRydWVcIiAoY2xpY2tlZCk9XCJjbG9zZSgpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHt7IHQoJ0NhbmNlbCcpIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChidG4gb2YgYWN0aW9uQnV0dG9uczsgdHJhY2sgYnRuKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVwZC1idXR0b24gY2xhc3M9XCJ3LTEwMFwiIFttb2RlbF09XCJidG5cIj48L3VwZC1idXR0b24+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGNhc2UgKCdjZW50ZXJlZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYnV0dG9uc1RwbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJidXR0b25zVHBsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI2Nsb3NlQnRuVHBsPlxuICAgICAgICA8dXBkLWJ1dHRvbiAoY2xpY2tlZCk9XCJjbG9zZSgpXCIgW3Nob3VsZElnbm9yZUJ0bkNsYXNzXT1cInRydWVcIiBjdXN0b21DbGFzc2VzPVwiYnRuLWNsb3NlXCI+PC91cGQtYnV0dG9uPlxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8bmctdGVtcGxhdGUgI2J1dHRvbnNUcGw+XG4gICAgICAgIEBpZiAoc2hvd0NhbmNlbEJ1dHRvbikge1xuICAgICAgICAgICAgPHVwZC1idXR0b24gY29sb3JTdHlsZT1cInNlY29uZGFyeVwiIFtpc0xpbmtdPVwidHJ1ZVwiIChjbGlja2VkKT1cImNsb3NlKClcIj5cbiAgICAgICAgICAgICAgICB7eyB0KCdDYW5jZWwnKSB9fVxuICAgICAgICAgICAgPC91cGQtYnV0dG9uPlxuICAgICAgICB9XG5cbiAgICAgICAgQGZvciAoYnRuIG9mIGFjdGlvbkJ1dHRvbnM7IHRyYWNrIGJ0bikge1xuICAgICAgICAgICAgPHVwZC1idXR0b24gW21vZGVsXT1cImJ0blwiIChjbGlja2VkKT1cImJ1dHRvbkNsaWNrKCRldmVudCwgYnRuKVwiPjwvdXBkLWJ1dHRvbj5cbiAgICAgICAgfVxuICAgIDwvbmctdGVtcGxhdGU+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
|
@@ -110,7 +110,7 @@ class ButtonComponent {
|
|
|
110
110
|
return this.textService.getText(this._title());
|
|
111
111
|
}
|
|
112
112
|
get mainText() {
|
|
113
|
-
return this.textService.getText(this.text());
|
|
113
|
+
return this.textService.getText(this.model()?.text?.() || this.text());
|
|
114
114
|
}
|
|
115
115
|
get _iconModel() {
|
|
116
116
|
return this.model()?.iconModel?.() || this.iconModel();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updevs-components-button.mjs","sources":["../../../../libs/components/button/src/button.component.ts","../../../../libs/components/button/src/button.component.html","../../../../libs/components/button/src/upd-button.module.ts","../../../../libs/components/button/src/updevs-components-button.ts"],"sourcesContent":["import {\n Component,\n ViewEncapsulation,\n Output,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n input,\n computed\n} from '@angular/core';\nimport { IconModel } from '@updevs/icons';\nimport { TextModel, TextService } from '@updevs/sdk';\nimport { ButtonModel } from '@updevs/sdk/layout';\nimport { LeftRightType, OptionalType, BrandType, BgColorStyleType, ButtonSizeType } from '@updevs/sdk/types';\nimport { BadgeConfig } from '@updevs/components/badge';\n\n@Component({\n selector: 'upd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ButtonComponent {\n @HostBinding('class') get classes(): string[] {\n return this.buttonClasses();\n }\n\n @HostBinding('title') get titleAttr(): OptionalType<string> {\n return this.textService.getText(this._title());\n }\n\n /**\n * Emitted when the button is clicked.\n * **NOTE:** The name of the event can not be 'click'. It would generate a conflict with the HTML event of same name.\n * That would cause strange behaviors like preventing `isDisabled` from working correctly.\n */\n @Output() readonly clicked = new EventEmitter<any>();\n\n model = input<ButtonModel>();\n text = input<TextModel>();\n brandColorStyle = input<BrandType>();\n customClasses = input<string>();\n isOutline = input(false);\n isGhost = input(false);\n isSquare = input(false);\n isPill = input(false);\n isIcon = input(false);\n isLoading = input(false);\n /**\n * Whether the button should act as a list (top-bottom alignment instead of left-right related to neighbors).\n */\n isList = input(false);\n /**\n * Whether the button should be floating in the bottom right corner.\n */\n isFloating = input(false);\n isAction = input(false);\n isNavigationLink = input(false);\n isLink = input(false);\n shouldIgnoreBtnClass = input(false);\n iconModel = input<IconModel>();\n iconPosition = input<LeftRightType>('left');\n isDisabled = input(false);\n isActive = input(false);\n badgeConfig = input<BadgeConfig>();\n colorStyle = input<BgColorStyleType>();\n size = input<ButtonSizeType>('regular');\n title = input<TextModel>();\n\n get mainText(): string {\n return this.textService.getText(this.text());\n }\n\n get _iconModel(): OptionalType<IconModel> {\n return this.model()?.iconModel?.() || this.iconModel();\n }\n\n get _iconPosition(): LeftRightType {\n return this.model()?.iconPosition() || this.iconPosition();\n }\n\n get _isIcon(): boolean {\n return this.model()?.isIcon() || this.isIcon();\n }\n\n private get sizeClass(): string {\n switch (this._size()) {\n case 'large':\n return 'btn-lg';\n case 'small':\n return 'btn-sm';\n default:\n return '';\n }\n }\n\n private _size = computed(() => !!this.model() ? this.model()!.size() : this.size());\n private _title = computed(() => !!this.model() && !!this.model()?.title ? this.model()!.title!() : this.title());\n private _colorStyle = computed(() => !!this.model() && !!this.model()?.colorStyle ? this.model()!.colorStyle!() : this.colorStyle());\n private _brandColorStyle = computed(() =>\n !!this.model() && !!this.model()?.brandColorStyle ? this.model()!.brandColorStyle!() : this.brandColorStyle()\n );\n private buttonClasses = computed(() => {\n const isLink = this.model()?.isLink() || this.isLink();\n const outlineCls = this.model()?.isOutline() || this.isOutline() ? 'outline-' : '';\n const ghostCls = this.model()?.isGhost() || this.isGhost() ? 'ghost-' : '';\n const lClasses: string[] = this.model()?.shouldIgnoreBtnClass() || this.shouldIgnoreBtnClass() ? [] : ['btn'];\n const customClasses = this.model()?.customClasses?.().split(' ') || this.customClasses()?.split(' ') || [];\n\n if (!isLink && (!!outlineCls || !!ghostCls || !!this._colorStyle() || !!this._brandColorStyle())) {\n lClasses.push(`btn-${outlineCls || ghostCls}${this._colorStyle() || this._brandColorStyle()}`);\n } else if (!!this._colorStyle() || !!this._brandColorStyle()) {\n lClasses.push(`link-${this._colorStyle() || this._brandColorStyle()}`);\n }\n\n if (this.model()?.isSquare() || this.isSquare()) {\n lClasses.push('btn-square');\n }\n\n if (this.model()?.isPill() || this.isPill()) {\n lClasses.push('btn-pill');\n }\n\n if (this._isIcon) {\n lClasses.push('btn-icon');\n }\n\n if (this.model()?.isLoading() || this.isLoading()) {\n lClasses.push('btn-loading');\n }\n\n if (this.model()?.isList() || this.isList()) {\n lClasses.push('btn-list');\n }\n\n if (this.model()?.isFloating() || this.isFloating()) {\n lClasses.push('btn-floating');\n }\n\n if (this.model()?.isAction() || this.isAction()) {\n lClasses.push('btn-action');\n }\n\n if (this.model()?.isNavigationLink() || this.isNavigationLink()) {\n lClasses.push('nav-link');\n }\n\n if (isLink) {\n lClasses.push('btn-link');\n }\n\n if (this.model()?.isActive() || this.isActive()) {\n lClasses.push('active');\n }\n\n if (this.model()?.isDisabled() || this.isDisabled()) {\n lClasses.push('disabled');\n }\n\n if (!!this.badgeConfig() && (this.badgeConfig()!.isBlinking || this.badgeConfig()!.isNotification)) {\n lClasses.push('position-relative');\n }\n\n lClasses.push(this.sizeClass);\n\n return [...lClasses, ...customClasses];\n });\n private readonly textService = inject(TextService);\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n if (!!this.model() && !!this.model()?.clickFunction) {\n this.model()!.clickFunction!({ event, data: this });\n } else {\n this.clicked.emit(event);\n }\n\n event.stopPropagation();\n }\n}\n","<ng-template #userContentTpl>\n @if (!!_iconModel && _iconPosition === 'left') {\n <upd-icon [model]=\"_iconModel\" [tablerIconSize]=\"_iconModel.tablerIconSize || 20\"\n [heroIconSize]=\"_iconModel.heroIconSize || 'small'\">\n </upd-icon>\n }\n\n <div [class.mx-1]=\"!!_iconModel && !_isIcon\">\n <ng-content></ng-content>\n </div>\n\n @if (!!badgeConfig()) {\n <upd-badge [config]=\"badgeConfig()\"></upd-badge>\n }\n\n @if (!!_iconModel && _iconPosition === 'right') {\n <upd-icon [model]=\"_iconModel\" [tablerIconSize]=\"_iconModel.tablerIconSize || 20\"\n [heroIconSize]=\"_iconModel.heroIconSize || 'small'\">\n </upd-icon>\n }\n</ng-template>\n\n@if (!mainText) {\n <ng-container [ngTemplateOutlet]=\"userContentTpl\"></ng-container>\n} @else {\n @if (!!_iconModel && _iconPosition === 'left') {\n <upd-icon [model]=\"_iconModel\" [tablerIconSize]=\"_iconModel.tablerIconSize || 20\"\n [heroIconSize]=\"_iconModel.heroIconSize || 'small'\">\n </upd-icon>\n }\n\n <span [class.mx-1]=\"!!_iconModel\">\n {{ mainText }}\n </span>\n\n @if (!!badgeConfig()) {\n <upd-badge [config]=\"badgeConfig()\"></upd-badge>\n }\n\n @if (!!_iconModel && _iconPosition === 'right') {\n <upd-icon [model]=\"_iconModel\" [tablerIconSize]=\"_iconModel.tablerIconSize || 20\"\n [heroIconSize]=\"_iconModel.heroIconSize || 'small'\">\n </upd-icon>\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdBadgeModule } from '@updevs/components/badge';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdBadgeModule\n ],\n declarations: [\n ButtonComponent\n ],\n exports: [\n ButtonComponent\n ]\n})\nexport class UpdButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"updevs-components-button.mjs","sources":["../../../../libs/components/button/src/button.component.ts","../../../../libs/components/button/src/button.component.html","../../../../libs/components/button/src/upd-button.module.ts","../../../../libs/components/button/src/updevs-components-button.ts"],"sourcesContent":["import {\n Component,\n ViewEncapsulation,\n Output,\n EventEmitter,\n HostBinding,\n HostListener,\n inject,\n input,\n computed\n} from '@angular/core';\nimport { IconModel } from '@updevs/icons';\nimport { TextModel, TextService } from '@updevs/sdk';\nimport { ButtonModel } from '@updevs/sdk/layout';\nimport { LeftRightType, OptionalType, BrandType, BgColorStyleType, ButtonSizeType } from '@updevs/sdk/types';\nimport { BadgeConfig } from '@updevs/components/badge';\n\n@Component({\n selector: 'upd-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.scss'],\n encapsulation: ViewEncapsulation.None\n})\nexport class ButtonComponent {\n @HostBinding('class') get classes(): string[] {\n return this.buttonClasses();\n }\n\n @HostBinding('title') get titleAttr(): OptionalType<string> {\n return this.textService.getText(this._title());\n }\n\n /**\n * Emitted when the button is clicked.\n * **NOTE:** The name of the event can not be 'click'. It would generate a conflict with the HTML event of same name.\n * That would cause strange behaviors like preventing `isDisabled` from working correctly.\n */\n @Output() readonly clicked = new EventEmitter<any>();\n\n model = input<ButtonModel>();\n text = input<TextModel>();\n brandColorStyle = input<BrandType>();\n customClasses = input<string>();\n isOutline = input(false);\n isGhost = input(false);\n isSquare = input(false);\n isPill = input(false);\n isIcon = input(false);\n isLoading = input(false);\n /**\n * Whether the button should act as a list (top-bottom alignment instead of left-right related to neighbors).\n */\n isList = input(false);\n /**\n * Whether the button should be floating in the bottom right corner.\n */\n isFloating = input(false);\n isAction = input(false);\n isNavigationLink = input(false);\n isLink = input(false);\n shouldIgnoreBtnClass = input(false);\n iconModel = input<IconModel>();\n iconPosition = input<LeftRightType>('left');\n isDisabled = input(false);\n isActive = input(false);\n badgeConfig = input<BadgeConfig>();\n colorStyle = input<BgColorStyleType>();\n size = input<ButtonSizeType>('regular');\n title = input<TextModel>();\n\n get mainText(): string {\n return this.textService.getText(this.model()?.text?.() || this.text());\n }\n\n get _iconModel(): OptionalType<IconModel> {\n return this.model()?.iconModel?.() || this.iconModel();\n }\n\n get _iconPosition(): LeftRightType {\n return this.model()?.iconPosition() || this.iconPosition();\n }\n\n get _isIcon(): boolean {\n return this.model()?.isIcon() || this.isIcon();\n }\n\n private get sizeClass(): string {\n switch (this._size()) {\n case 'large':\n return 'btn-lg';\n case 'small':\n return 'btn-sm';\n default:\n return '';\n }\n }\n\n private _size = computed(() => !!this.model() ? this.model()!.size() : this.size());\n private _title = computed(() => !!this.model() && !!this.model()?.title ? this.model()!.title!() : this.title());\n private _colorStyle = computed(() => !!this.model() && !!this.model()?.colorStyle ? this.model()!.colorStyle!() : this.colorStyle());\n private _brandColorStyle = computed(() =>\n !!this.model() && !!this.model()?.brandColorStyle ? this.model()!.brandColorStyle!() : this.brandColorStyle()\n );\n private buttonClasses = computed(() => {\n const isLink = this.model()?.isLink() || this.isLink();\n const outlineCls = this.model()?.isOutline() || this.isOutline() ? 'outline-' : '';\n const ghostCls = this.model()?.isGhost() || this.isGhost() ? 'ghost-' : '';\n const lClasses: string[] = this.model()?.shouldIgnoreBtnClass() || this.shouldIgnoreBtnClass() ? [] : ['btn'];\n const customClasses = this.model()?.customClasses?.().split(' ') || this.customClasses()?.split(' ') || [];\n\n if (!isLink && (!!outlineCls || !!ghostCls || !!this._colorStyle() || !!this._brandColorStyle())) {\n lClasses.push(`btn-${outlineCls || ghostCls}${this._colorStyle() || this._brandColorStyle()}`);\n } else if (!!this._colorStyle() || !!this._brandColorStyle()) {\n lClasses.push(`link-${this._colorStyle() || this._brandColorStyle()}`);\n }\n\n if (this.model()?.isSquare() || this.isSquare()) {\n lClasses.push('btn-square');\n }\n\n if (this.model()?.isPill() || this.isPill()) {\n lClasses.push('btn-pill');\n }\n\n if (this._isIcon) {\n lClasses.push('btn-icon');\n }\n\n if (this.model()?.isLoading() || this.isLoading()) {\n lClasses.push('btn-loading');\n }\n\n if (this.model()?.isList() || this.isList()) {\n lClasses.push('btn-list');\n }\n\n if (this.model()?.isFloating() || this.isFloating()) {\n lClasses.push('btn-floating');\n }\n\n if (this.model()?.isAction() || this.isAction()) {\n lClasses.push('btn-action');\n }\n\n if (this.model()?.isNavigationLink() || this.isNavigationLink()) {\n lClasses.push('nav-link');\n }\n\n if (isLink) {\n lClasses.push('btn-link');\n }\n\n if (this.model()?.isActive() || this.isActive()) {\n lClasses.push('active');\n }\n\n if (this.model()?.isDisabled() || this.isDisabled()) {\n lClasses.push('disabled');\n }\n\n if (!!this.badgeConfig() && (this.badgeConfig()!.isBlinking || this.badgeConfig()!.isNotification)) {\n lClasses.push('position-relative');\n }\n\n lClasses.push(this.sizeClass);\n\n return [...lClasses, ...customClasses];\n });\n private readonly textService = inject(TextService);\n\n @HostListener('click', ['$event'])\n onClick(event: MouseEvent): void {\n if (!!this.model() && !!this.model()?.clickFunction) {\n this.model()!.clickFunction!({ event, data: this });\n } else {\n this.clicked.emit(event);\n }\n\n event.stopPropagation();\n }\n}\n","<ng-template #userContentTpl>\n @if (!!_iconModel && _iconPosition === 'left') {\n <upd-icon [model]=\"_iconModel\" [tablerIconSize]=\"_iconModel.tablerIconSize || 20\"\n [heroIconSize]=\"_iconModel.heroIconSize || 'small'\">\n </upd-icon>\n }\n\n <div [class.mx-1]=\"!!_iconModel && !_isIcon\">\n <ng-content></ng-content>\n </div>\n\n @if (!!badgeConfig()) {\n <upd-badge [config]=\"badgeConfig()\"></upd-badge>\n }\n\n @if (!!_iconModel && _iconPosition === 'right') {\n <upd-icon [model]=\"_iconModel\" [tablerIconSize]=\"_iconModel.tablerIconSize || 20\"\n [heroIconSize]=\"_iconModel.heroIconSize || 'small'\">\n </upd-icon>\n }\n</ng-template>\n\n@if (!mainText) {\n <ng-container [ngTemplateOutlet]=\"userContentTpl\"></ng-container>\n} @else {\n @if (!!_iconModel && _iconPosition === 'left') {\n <upd-icon [model]=\"_iconModel\" [tablerIconSize]=\"_iconModel.tablerIconSize || 20\"\n [heroIconSize]=\"_iconModel.heroIconSize || 'small'\">\n </upd-icon>\n }\n\n <span [class.mx-1]=\"!!_iconModel\">\n {{ mainText }}\n </span>\n\n @if (!!badgeConfig()) {\n <upd-badge [config]=\"badgeConfig()\"></upd-badge>\n }\n\n @if (!!_iconModel && _iconPosition === 'right') {\n <upd-icon [model]=\"_iconModel\" [tablerIconSize]=\"_iconModel.tablerIconSize || 20\"\n [heroIconSize]=\"_iconModel.heroIconSize || 'small'\">\n </upd-icon>\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { UpdIconsModule } from '@updevs/icons';\nimport { UpdBadgeModule } from '@updevs/components/badge';\n\nimport { ButtonComponent } from './button.component';\n\n@NgModule({\n imports: [\n CommonModule,\n UpdIconsModule,\n UpdBadgeModule\n ],\n declarations: [\n ButtonComponent\n ],\n exports: [\n ButtonComponent\n ]\n})\nexport class UpdButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|