@byuhbll/components 4.4.2-beta-3 → 4.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/contact-utils.mjs +2 -2
- package/esm2022/lib/hbll-footer/hbll-footer.component.mjs +6 -3
- package/esm2022/lib/snackbar/snackbar.component.mjs +3 -3
- package/fesm2022/byuhbll-components.mjs +8 -5
- package/fesm2022/byuhbll-components.mjs.map +1 -1
- package/lib/contact-utils.d.ts +1 -1
- package/lib/hbll-footer/hbll-footer.component.d.ts +2 -1
- package/package.json +1 -1
|
@@ -16,7 +16,7 @@ export const createContactForm = (fb) => fb.nonNullable.group({
|
|
|
16
16
|
message: ['', Validators.required],
|
|
17
17
|
status: [''],
|
|
18
18
|
});
|
|
19
|
-
export const submitEmail = (payload, http, apiBaseUrl) => submitContactForm(payload, http, EMAIL_PATH, apiBaseUrl);
|
|
19
|
+
export const submitEmail = (payload, byuid, http, apiBaseUrl) => submitContactForm({ ...payload, byuId: byuid }, http, EMAIL_PATH, apiBaseUrl);
|
|
20
20
|
export const submitFeedback = (payload, http, apiBaseUrl) => submitContactForm({ ...payload, origin: location.href }, http, FEEDBACK_PATH, apiBaseUrl);
|
|
21
21
|
const submitContactForm = (payload, http, path, apiBaseUrl) => http.post(`${apiBaseUrl}/${path}`, payload);
|
|
22
22
|
export const getUserStatusFromRoles = (roles) => {
|
|
@@ -38,4 +38,4 @@ export const getUserStatusFromRoles = (roles) => {
|
|
|
38
38
|
}
|
|
39
39
|
return userStatus;
|
|
40
40
|
};
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGFjdC11dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9jb250YWN0LXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZSxVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV6RCxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUM7QUFDM0IsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRztJQUN6QixFQUFFO0lBQ0YsZUFBZTtJQUNmLFVBQVU7SUFDVixTQUFTO0lBQ1QsT0FBTztJQUNQLGtCQUFrQjtJQUNsQixPQUFPO0NBQ0QsQ0FBQztBQVdYLE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLENBQUMsRUFBZSxFQUFFLEVBQUUsQ0FDakQsRUFBRSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDakIsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ1YsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQ1gsT0FBTyxFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7SUFDbEMsTUFBTSxFQUFFLENBQUMsRUFBOEIsQ0FBQztDQUMzQyxDQUFDLENBQUM7QUFFUCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FDdkIsT0FBdUIsRUFDdkIsS0FBYSxFQUNiLElBQWdCLEVBQ2hCLFVBQWtCLEVBQ3BCLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLEdBQUcsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0FBRW5GLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLE9BQXVCLEVBQUUsSUFBZ0IsRUFBRSxVQUFrQixFQUFFLEVBQUUsQ0FDNUYsaUJBQWlCLENBQUMsRUFBRSxHQUFHLE9BQU8sRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFDLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxhQUFhLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFFOUYsTUFBTSxpQkFBaUIsR0FBRyxDQUN0QixPQUFrRSxFQUNsRSxJQUFnQixFQUNoQixJQUE4QyxFQUM5QyxVQUFrQixFQUNwQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVSxHQUFHLFVBQVUsSUFBSSxJQUFJLEVBQUUsRUFBRSxPQUFPLENBQUMsQ0FBQztBQUUxRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQUFDLEtBQWUsRUFBYyxFQUFFO0lBQ2xFLElBQUksVUFBVSxHQUFlLEVBQUUsQ0FBQztJQUNoQyxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxDQUFDO1FBQ3pDLFVBQVUsR0FBRyxlQUFlLENBQUM7SUFDakMsQ0FBQztJQUNELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxFQUFFLENBQUM7UUFDcEMsVUFBVSxHQUFHLFVBQVUsQ0FBQztJQUM1QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDbEMsVUFBVSxHQUFHLE9BQU8sQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsQ0FBQztRQUNwQyxVQUFVLEdBQUcsU0FBUyxDQUFDO0lBQzNCLENBQUM7SUFDRCxJQUFJLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFBRSxDQUFDO1FBQ3BDLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQztJQUNwQyxDQUFDO0lBQ0QsT0FBTyxVQUFVLENBQUM7QUFDdEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5jb25zdCBFTUFJTF9QQVRIID0gJ2VtYWlsJztcbmNvbnN0IEZFRURCQUNLX1BBVEggPSAnZmVlZGJhY2snO1xuXG5leHBvcnQgY29uc3QgVVNFUl9TVEFUVVNFUyA9IFtcbiAgICAnJyxcbiAgICAnVW5kZXJncmFkdWF0ZScsXG4gICAgJ0dyYWR1YXRlJyxcbiAgICAnRmFjdWx0eScsXG4gICAgJ1N0YWZmJyxcbiAgICAnTGlicmFyeSBFbXBsb3llZScsXG4gICAgJ090aGVyJyxcbl0gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIFVzZXJTdGF0dXMgPSAodHlwZW9mIFVTRVJfU1RBVFVTRVMpW251bWJlcl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGFjdFBheWxvYWQge1xuICAgIGVtYWlsPzogc3RyaW5nO1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHN0YXR1cz86IFVzZXJTdGF0dXM7XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVDb250YWN0Rm9ybSA9IChmYjogRm9ybUJ1aWxkZXIpID0+XG4gICAgZmIubm9uTnVsbGFibGUuZ3JvdXAoe1xuICAgICAgICBuYW1lOiBbJyddLFxuICAgICAgICBlbWFpbDogWycnXSxcbiAgICAgICAgbWVzc2FnZTogWycnLCBWYWxpZGF0b3JzLnJlcXVpcmVkXSxcbiAgICAgICAgc3RhdHVzOiBbJycgYXMgQ29udGFjdFBheWxvYWRbJ3N0YXR1cyddXSxcbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IHN1Ym1pdEVtYWlsID0gKFxuICAgIHBheWxvYWQ6IENvbnRhY3RQYXlsb2FkLFxuICAgIGJ5dWlkOiBzdHJpbmcsXG4gICAgaHR0cDogSHR0cENsaWVudCxcbiAgICBhcGlCYXNlVXJsOiBzdHJpbmcsXG4pID0+IHN1Ym1pdENvbnRhY3RGb3JtKHsgLi4ucGF5bG9hZCwgYnl1SWQ6IGJ5dWlkIH0sIGh0dHAsIEVNQUlMX1BBVEgsIGFwaUJhc2VVcmwpO1xuXG5leHBvcnQgY29uc3Qgc3VibWl0RmVlZGJhY2sgPSAocGF5bG9hZDogQ29udGFjdFBheWxvYWQsIGh0dHA6IEh0dHBDbGllbnQsIGFwaUJhc2VVcmw6IHN0cmluZykgPT5cbiAgICBzdWJtaXRDb250YWN0Rm9ybSh7IC4uLnBheWxvYWQsIG9yaWdpbjogbG9jYXRpb24uaHJlZiB9LCBodHRwLCBGRUVEQkFDS19QQVRILCBhcGlCYXNlVXJsKTtcblxuY29uc3Qgc3VibWl0Q29udGFjdEZvcm0gPSAoXG4gICAgcGF5bG9hZDogQ29udGFjdFBheWxvYWQgJiB7IG9yaWdpbj86IHN0cmluZyB9ICYgeyBieXVJZD86IHN0cmluZyB9LFxuICAgIGh0dHA6IEh0dHBDbGllbnQsXG4gICAgcGF0aDogdHlwZW9mIEVNQUlMX1BBVEggfCB0eXBlb2YgRkVFREJBQ0tfUEFUSCxcbiAgICBhcGlCYXNlVXJsOiBzdHJpbmcsXG4pID0+IGh0dHAucG9zdDx1bmtub3duPihgJHthcGlCYXNlVXJsfS8ke3BhdGh9YCwgcGF5bG9hZCk7XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyU3RhdHVzRnJvbVJvbGVzID0gKHJvbGVzOiBzdHJpbmdbXSk6IFVzZXJTdGF0dXMgPT4ge1xuICAgIGxldCB1c2VyU3RhdHVzOiBVc2VyU3RhdHVzID0gJyc7XG4gICAgaWYgKHJvbGVzLmluY2x1ZGVzKCd1bmRlcmdyYWR1YXRlU3R1ZGVudCcpKSB7XG4gICAgICAgIHVzZXJTdGF0dXMgPSAnVW5kZXJncmFkdWF0ZSc7XG4gICAgfVxuICAgIGlmIChyb2xlcy5pbmNsdWRlcygnZ3JhZHVhdGVTdHVkZW50JykpIHtcbiAgICAgICAgdXNlclN0YXR1cyA9ICdHcmFkdWF0ZSc7XG4gICAgfVxuICAgIGlmIChyb2xlcy5pbmNsdWRlcygnc3RhZmZFbXBsb3llZScpKSB7XG4gICAgICAgIHVzZXJTdGF0dXMgPSAnU3RhZmYnO1xuICAgIH1cbiAgICBpZiAocm9sZXMuaW5jbHVkZXMoJ2ZhY3VsdHlFbXBsb3llZScpKSB7XG4gICAgICAgIHVzZXJTdGF0dXMgPSAnRmFjdWx0eSc7XG4gICAgfVxuICAgIGlmIChyb2xlcy5pbmNsdWRlcygnbGlicmFyeUVtcGxveWVlJykpIHtcbiAgICAgICAgdXNlclN0YXR1cyA9ICdMaWJyYXJ5IEVtcGxveWVlJztcbiAgICB9XG4gICAgcmV0dXJuIHVzZXJTdGF0dXM7XG59O1xuIl19
|
|
@@ -14,6 +14,7 @@ export class HbllFooterComponent {
|
|
|
14
14
|
// TODO: Convert these to signal inputs: https://github.com/angular/angular/issues/57755
|
|
15
15
|
this.mainsitebaseurl = 'https://lib.byu.edu';
|
|
16
16
|
this.libraryapibaseuri = 'https://api.lib.byu.edu/v1';
|
|
17
|
+
this.byuid = '';
|
|
17
18
|
this.date = new Date();
|
|
18
19
|
this.isSubmitted = false;
|
|
19
20
|
this.isLoading = false;
|
|
@@ -26,7 +27,7 @@ export class HbllFooterComponent {
|
|
|
26
27
|
if (this.emailForm.invalid)
|
|
27
28
|
return;
|
|
28
29
|
this.isLoading = true;
|
|
29
|
-
submitEmail(this.emailForm.value, this.http, this.libraryapibaseuri).subscribe({
|
|
30
|
+
submitEmail(this.emailForm.value, this.byuid, this.http, this.libraryapibaseuri).subscribe({
|
|
30
31
|
error: () => {
|
|
31
32
|
this.hasConnectionError = true;
|
|
32
33
|
this.isLoading = false;
|
|
@@ -88,7 +89,7 @@ export class HbllFooterComponent {
|
|
|
88
89
|
window.location.reload();
|
|
89
90
|
}
|
|
90
91
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
91
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllFooterComponent, isStandalone: true, selector: "lib-hbll-footer", inputs: { mainsitebaseurl: "mainsitebaseurl", libraryapibaseuri: "libraryapibaseuri", emailname: "emailname", emailemail: "emailemail", emailmessage: "emailmessage", emailstatus: "emailstatus" }, viewQueries: [{ propertyName: "emailDialog", first: true, predicate: ["emailDialog"], descendants: true }], ngImport: i0, template: "<footer>\n <div class=\"hbll-footer-wrapper\">\n <button class=\"skip-link-footer\" (click)=\"skipFooter()\" >Skip footer</button>\n <div class=\"hbll-footer-links\">\n <section aria-labelledby=\"footerContactHeading\">\n <h3 id=\"footerContactHeading\" >Contact</h3>\n <ul>\n <li>\n <address>\n P.O. Box 26800<br />\n Provo, UT 84602-6800\n </address>\n </li>\n <li>\n <a href=\"tel:801-422-6061\">\n <span class=\"material-symbols-outlined hbll-footer-icon\">\n phone_in_talk </span\n > <strong>Call</strong> (801) 422-6061\n </a>\n </li>\n <li>\n <a href=\"sms:801-623-6838\">\n <span class=\"material-symbols-outlined hbll-footer-icon\"> sms </span\n > <strong>Text</strong> (801) 623-6838\n </a>\n </li>\n <li>\n <button (click)=\"emailDialog.showModal()\" data-testid=\"emailUsBtn\" style=\"padding: 4px;\">\n <span class=\"material-symbols-outlined hbll-footer-icon\"> mail </span\n > \n <strong>Email us</strong>\n </button>\n </li>\n </ul>\n </section>\n <section aria-labelledby=\"footerResourcesHeading\">\n <h3 id=\"footerResourcesHeading\">Resources</h3>\n <ul>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/site-index/\"\n >A-Z Site Index</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/about/policies/\">Policies</a>\n </li>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/about/location/\"\n >Parking & Directions</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://uac.byu.edu/accessibility-lab\"\n >Accessibility Resources</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://hr.lib.byu.edu/byu-library-jobs\"\n >Employment Opportunities</a\n >\n </li>\n </ul>\n </section>\n <section aria-labelledby=\"footerFriendsHeading\">\n <h3 id=\"footerFriendsHeading\">Friends in the Library</h3>\n <ul>\n <li>\n <a target=\"_blank\" href=\"https://ctl.byu.edu\"\n >Center for Teaching and Learning</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://copyright.byu.edu\"\n >Copyright Licensing Office</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://facultycenter.byu.edu/aboutus\"\n >Faculty Center</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://dining.byu.edu/library-cafe\"\n >Library Cafe</a\n >\n </li>\n </ul>\n </section>\n <section aria-labelledby=\"footerConnectHeading\">\n <h3 id=\"footerConnectHeading\">Connect</h3>\n <ul class=\"hbll-footer-social-list\">\n <li>\n <a target=\"_blank\" href=\"https://www.facebook.com/byuhbll\">\n <img\n class=\"hbll-footer-social\"\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/facebook-color-round.svg\"\n alt=\"Facebook\"\n title=\"Facebook\"\n />\n </a>\n </li>\n <li>\n <a target=\"_blank\" href=\"https://www.instagram.com/byu_hbll/\">\n <img\n class=\"hbll-footer-social\"\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/instagram-color.svg\"\n alt=\"Instagram\"\n title=\"Instagram\"\n />\n </a>\n </li>\n </ul>\n <div class=\"toggle-container\">\n <button\n type=\"button\"\n class=\"toggle toggle-off\"\n role=\"switch\"\n [attr.aria-checked]=\"false\"\n aria-label=\"Toggle Legacy View (off)\"\n (click)=\"setSessionCookie()\"\n >\n <span class=\"toggle-pill\">\n <span class=\"toggle-check\" aria-hidden=\"true\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 2\">\n <line x1=\"1\" y1=\"1\" x2=\"11\" y2=\"1\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n </span>\n </span>\n <span class=\"toggle-text\">Toggle Legacy View<sup class=\"superstar\">\u2605</sup></span>\n </button>\n </div>\n <i class=\"toggle-subtext\"><sup class=\"superstar\">\u2605</sup>Available until 10/20/2025</i>\n </section>\n </div>\n <section class=\"hbll-footer-bottom\" aria-label=\"Bottom-most part of the footer\">\n <div class=\"hbll-footer-title\">\n <a href=\"https://byu.edu\" target=\"_blank\">BRIGHAM YOUNG UNIVERSITY</a>\n </div>\n <br />\n PROVO, UT 84602, USA | <a href=\"sms:801-422-6061\">(801) 422-6061</a>\n <br />© {{ date | date: 'yyyy' }}\n ALL RIGHTS RESERVED\n <div class=\"hbll-footer-privacy\">\n <a href=\"https://privacy.byu.edu/\" target=\"_blank\">Privacy Notice</a>\n |\n <span id=\"teconsent\"></span>\n </div>\n </section>\n </div>\n <div id=\"consent-banner\"></div>\n</footer>\n\n<dialog\n #emailDialog\n onmousedown=\"event.target === this && this.close()\"\n (close)=\"handleClose()\"\n data-testid=\"dialog\"\n>\n @if (!isEmailSent) {\n <form [formGroup]=\"emailForm\" (submit)=\"sendEmail()\" data-testid=\"form\">\n <div class=\"hbll-footer-email-top\">\n <h1>Email Us</h1>\n <button (click)=\"emailDialog.close()\" type=\"button\" data-testid=\"closeBtn\">\n <span class=\"material-symbols-outlined\"> close </span>\n </button>\n </div>\n <label for=\"hbllFooterEmailName\">Name</label>\n <input\n id=\"hbllFooterEmailName\"\n type=\"text\"\n formControlName=\"name\"\n data-testid=\"emailNameInput\"\n />\n <label for=\"hbllFooterEmailEmail\">\n Email (please provide if you would like a response)</label\n >\n <input\n id=\"hbllFooterEmailEmail\"\n type=\"text\"\n formControlName=\"email\"\n data-testid=\"emailEmailInput\"\n />\n <label for=\"hbllFooterEmailQuestionComment\">\n Question or comment <span class=\"hbll-footer-email-required\">*</span>\n </label>\n <textarea\n id=\"hbllFooterEmailQuestionComment\"\n type=\"text\"\n formControlName=\"message\"\n data-testid=\"emailMessageInput\"\n ></textarea>\n @if (isSubmitted && emailForm.controls.message.invalid) {\n <div\n class=\"hbll-footer-email-required hbll-footer-email-error\"\n data-testid=\"commentError\"\n >\n <span class=\"material-symbols-outlined hbll-footer-email-error-icon\">\n warning\n </span>\n <strong>Please fill out this field</strong>\n </div>\n }\n <label for=\"hbllFooterEmailStatus\">Role</label>\n <span class=\"hbll-footer-select-wrapper\">\n <select\n id=\"hbllFooterEmailStatus\"\n formControlName=\"status\"\n data-testid=\"emailStatusInput\"\n >\n <option selected value=\"\"></option>\n @for (status of userStatuses | slice: 1; track status) {\n <option [value]=\"status\">{{ status }}</option>\n }\n </select>\n </span>\n <div class=\"hbll-footer-email-bottom-bar\">\n @if (hasConnectionError) {\n <p class=\"hbll-footer-connection-error\" data-testid=\"connectionError\">\n <i>There was an error sending your email. Please try again later.</i>\n </p>\n }\n <button\n class=\"pill-btn--components\"\n type=\"submit\"\n [disabled]=\"isLoading\"\n data-testid=\"sendEmailBtn\"\n >\n Send\n </button>\n </div>\n </form>\n } @else {\n <div class=\"hbll-footer-email-success\" data-testid=\"successMessage\">\n <p>\n Your email was sent successfully. If you supplied your email address, we will get\n back to you shortly.<br />Thank you!\n </p>\n <button class=\"pill-btn--components\" (click)=\"emailDialog.close()\" type=\"button\">\n Close\n </button>\n </div>\n }\n</dialog>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&display=swap\";*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}dialog form input,dialog form textarea,dialog form select{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}dialog form input:focus,dialog form textarea:focus,dialog form select:focus{outline-color:#3a6093}dialog form .hbll-footer-select-wrapper{position:relative}dialog form .hbll-footer-select-wrapper select{cursor:pointer;padding-right:2em}dialog form .hbll-footer-select-wrapper:after{font-family:Material Symbols Outlined;content:\"arrow_drop_down\";pointer-events:none;top:0;font-size:1.5em;right:.2em;height:100%;position:absolute;display:flex;align-items:center;opacity:70%}.pill-btn--components{background-color:#4070b0;font-size:1em;transition:all .15s;color:#fff;cursor:pointer;font-weight:600;text-align:center}.pill-btn--components:disabled{color:#707070;background-color:#e6e6e6;pointer-events:none}.pill-btn--components:hover{background-color:#6892ca;color:#fff}.destructive.pill-btn--components{background-color:#b04940}.destructive.pill-btn--components:hover{background-color:#c7574d}.pill-btn--components{border-radius:100em;padding:.4em 1.3em}button{border:none;background-color:transparent;font-size:1em}button :hover{cursor:pointer}.skip-link-footer{position:absolute;top:30px;left:30px;background:#fff;color:#00285b;font-size:1em;font-weight:580;padding:8px 16px;border:3px solid #0050b7;border-radius:4px;cursor:pointer;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.skip-link-footer:focus{opacity:1;pointer-events:auto;transform:none}.skip-link-footer:hover{color:#00285b;background-color:#e3edf8;border-color:#e3edf8}footer{line-height:1.2em;background-color:#e6e6e6}footer a{padding:4px}footer ::ng-deep #consent-banner{z-index:11;position:fixed}footer .hbll-footer-wrapper{display:flex;flex-direction:column;align-items:center;position:relative}footer .hbll-footer-wrapper .hbll-footer-links{max-width:90em;display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;padding-bottom:2em;white-space:nowrap}footer .hbll-footer-wrapper .hbll-footer-links strong{font-weight:600}footer .hbll-footer-wrapper .hbll-footer-links address{font-style:normal}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-icon{font-size:2rem!important;margin-right:.2em;color:#002e5d}footer .hbll-footer-wrapper .hbll-footer-links section{padding:2em 1.8em 0;background-color:#e6e6e6;flex:1}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list{display:flex}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list .hbll-footer-social{height:1.5em;margin-right:1em}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list li{margin-bottom:0}footer .hbll-footer-wrapper h3{font-weight:600;color:#002e5d;font-size:1.4em;margin-bottom:1em;margin-top:0}footer .hbll-footer-wrapper ul{list-style:none;margin:.4em 0 0;padding:0}footer .hbll-footer-wrapper ul li{display:flex;align-items:center}footer .hbll-footer-wrapper ul li a,footer .hbll-footer-wrapper ul li button{display:inline-flex;align-items:center;color:#305f9c}footer .hbll-footer-wrapper ul li a:hover,footer .hbll-footer-wrapper ul li button:hover{color:#6892ca}footer .hbll-footer-wrapper ul li:not(:last-of-type){margin-bottom:.6em}footer .hbll-footer-wrapper .hbll-footer-bottom{text-align:center;background-color:#002e5d;color:#fff;font-family:IBM Plex Sans,sans-serif;font-optical-sizing:auto;font-weight:300;font-style:normal;font-size:.9em;line-height:1.6em;padding:1.8em;width:100%}footer .hbll-footer-wrapper .hbll-footer-bottom a{color:#fff}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-title{font-size:2em;font-weight:400;line-height:1em}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy{margin-top:.4em;display:flex;align-items:center;justify-content:center;gap:5px}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy a{text-decoration:underline}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy ::ng-deep #teconsent a{color:#fff;text-decoration:underline;padding:4px}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy ::ng-deep #teconsent a:hover{color:#fff}@media screen and (max-width: 40em){.hbll-footer-links{flex-direction:column;justify-content:flex-start;width:100%}}dialog{border:solid 1px #888;border-radius:4px;width:90%;max-width:50em;padding:0;transition:all 5s ease-in-out}dialog .hbll-footer-email-success,dialog form{padding:1.6em 2em}dialog .hbll-footer-email-success p,dialog form p{text-align:center;line-height:1.4em}dialog .hbll-footer-email-success{display:flex;justify-content:center;align-items:center;flex-direction:column}dialog .hbll-footer-email-success button{margin-top:1em}dialog form{display:flex;flex-direction:column;position:relative}dialog form textarea{min-height:100px;resize:vertical}dialog form input,dialog form textarea,dialog form .hbll-footer-select-wrapper{margin-bottom:.6em}dialog form .hbll-footer-email-bottom-bar{display:flex;align-items:center;justify-content:flex-end}dialog form .hbll-footer-email-bottom-bar .hbll-footer-connection-error{text-align:right;flex-grow:1;margin:0 1em 0 0}dialog form label{margin-bottom:.4em;margin-top:.4em}dialog form .hbll-footer-email-error{display:flex;justify-content:center;align-items:center;margin-right:auto;margin-bottom:.6em;font-size:.8em}dialog form .hbll-footer-email-error .hbll-footer-email-error-icon{font-size:1.2em;margin-right:.2em}dialog form .hbll-footer-email-top{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;margin-bottom:1em}dialog form .hbll-footer-email-top h1{font-size:1.4em;margin:0}dialog form .hbll-footer-email-required-message{float:right}dialog form .hbll-footer-select-wrapper{margin-right:auto}dialog form .hbll-footer-email-required{color:#d03a3a}dialog form button:not([type=submit]){color:#333}dialog form button:not([type=submit]):hover{color:#696969}dialog form button[type=submit]{margin-left:auto}dialog::backdrop{background-color:#000;opacity:.75}footer .hbll-footer-wrapper .toggle-container{display:flex;justify-content:flex-end;margin-top:.6rem}@media screen and (max-width: 43.0625em){footer .hbll-footer-wrapper .toggle-container{justify-content:flex-start}}footer .hbll-footer-wrapper .hbll-footer-social-list+.toggle-container{margin-top:.75rem}footer .hbll-footer-wrapper .toggle{border:0;background:transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;font:inherit;color:#4d535b;line-height:1.3}footer .hbll-footer-wrapper .toggle-text{-webkit-user-select:none;user-select:none;white-space:nowrap;font:inherit;color:#000}footer .hbll-footer-wrapper .toggle-pill{width:3.1em;height:1.75em;background:#fff;border-radius:999px;display:inline-flex;align-items:center;justify-content:flex-start;padding-left:.375em;box-shadow:inset 0 0 0 1px #00000026}footer .hbll-footer-wrapper .toggle-check{width:1.25em;height:1.25em;border-radius:999px;background:#676f79;display:inline-flex;align-items:center;justify-content:center}footer .hbll-footer-wrapper .toggle-check svg{width:.9em;height:.9em;display:block}footer .hbll-footer-wrapper .toggle:focus-visible .toggle-pill{outline:.1875rem solid rgba(0,0,0,.2);outline-offset:2px}@media (min-width: 63.375em){.hbll-footer-wrapper .hbll-footer-links section[aria-labelledby=footerConnectHeading] .toggle-container{margin-top:5em;align-self:flex-end}}@media (max-width: 63.3125em){.hbll-footer-wrapper .hbll-footer-links section[aria-labelledby=footerConnectHeading] .toggle-container{margin-top:.75rem;align-self:auto;justify-content:flex-start}}.superstar{font-size:.3em}.toggle-subtext{color:#4b4b4b}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
92
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: HbllFooterComponent, isStandalone: true, selector: "lib-hbll-footer", inputs: { mainsitebaseurl: "mainsitebaseurl", libraryapibaseuri: "libraryapibaseuri", byuid: "byuid", emailname: "emailname", emailemail: "emailemail", emailmessage: "emailmessage", emailstatus: "emailstatus" }, viewQueries: [{ propertyName: "emailDialog", first: true, predicate: ["emailDialog"], descendants: true }], ngImport: i0, template: "<footer>\n <div class=\"hbll-footer-wrapper\">\n <button class=\"skip-link-footer\" (click)=\"skipFooter()\" >Skip footer</button>\n <div class=\"hbll-footer-links\">\n <section aria-labelledby=\"footerContactHeading\">\n <h3 id=\"footerContactHeading\" >Contact</h3>\n <ul>\n <li>\n <address>\n P.O. Box 26800<br />\n Provo, UT 84602-6800\n </address>\n </li>\n <li>\n <a href=\"tel:801-422-6061\">\n <span class=\"material-symbols-outlined hbll-footer-icon\">\n phone_in_talk </span\n > <strong>Call</strong> (801) 422-6061\n </a>\n </li>\n <li>\n <a href=\"sms:801-623-6838\">\n <span class=\"material-symbols-outlined hbll-footer-icon\"> sms </span\n > <strong>Text</strong> (801) 623-6838\n </a>\n </li>\n <li>\n <button (click)=\"emailDialog.showModal()\" data-testid=\"emailUsBtn\" style=\"padding: 4px;\">\n <span class=\"material-symbols-outlined hbll-footer-icon\"> mail </span\n > \n <strong>Email us</strong>\n </button>\n </li>\n </ul>\n </section>\n <section aria-labelledby=\"footerResourcesHeading\">\n <h3 id=\"footerResourcesHeading\">Resources</h3>\n <ul>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/site-index/\"\n >A-Z Site Index</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/about/policies/\">Policies</a>\n </li>\n <li>\n <a target=\"_blank\" href=\"{{ mainsitebaseurl }}/about/location/\"\n >Parking & Directions</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://uac.byu.edu/accessibility-lab\"\n >Accessibility Resources</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://hr.lib.byu.edu/byu-library-jobs\"\n >Employment Opportunities</a\n >\n </li>\n </ul>\n </section>\n <section aria-labelledby=\"footerFriendsHeading\">\n <h3 id=\"footerFriendsHeading\">Friends in the Library</h3>\n <ul>\n <li>\n <a target=\"_blank\" href=\"https://ctl.byu.edu\"\n >Center for Teaching and Learning</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://copyright.byu.edu\"\n >Copyright Licensing Office</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://facultycenter.byu.edu/aboutus\"\n >Faculty Center</a\n >\n </li>\n <li>\n <a target=\"_blank\" href=\"https://dining.byu.edu/library-cafe\"\n >Library Cafe</a\n >\n </li>\n </ul>\n </section>\n <section aria-labelledby=\"footerConnectHeading\">\n <h3 id=\"footerConnectHeading\">Connect</h3>\n <ul class=\"hbll-footer-social-list\">\n <li>\n <a target=\"_blank\" href=\"https://www.facebook.com/byuhbll\">\n <img\n class=\"hbll-footer-social\"\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/facebook-color-round.svg\"\n alt=\"Facebook\"\n title=\"Facebook\"\n />\n </a>\n </li>\n <li>\n <a target=\"_blank\" href=\"https://www.instagram.com/byu_hbll/\">\n <img\n class=\"hbll-footer-social\"\n src=\"https://media.lib.byu.edu/web-assets/images/1.0.0/instagram-color.svg\"\n alt=\"Instagram\"\n title=\"Instagram\"\n />\n </a>\n </li>\n </ul>\n <div class=\"toggle-container\">\n <button\n type=\"button\"\n class=\"toggle toggle-off\"\n role=\"switch\"\n [attr.aria-checked]=\"false\"\n aria-label=\"Toggle Legacy View (off)\"\n (click)=\"setSessionCookie()\"\n >\n <span class=\"toggle-pill\">\n <span class=\"toggle-check\" aria-hidden=\"true\">\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 12 2\">\n <line x1=\"1\" y1=\"1\" x2=\"11\" y2=\"1\" stroke=\"white\" stroke-width=\"2\" stroke-linecap=\"round\"/>\n </svg>\n </span>\n </span>\n <span class=\"toggle-text\">Toggle Legacy View<sup class=\"superstar\">\u2605</sup></span>\n </button>\n </div>\n <i class=\"toggle-subtext\"><sup class=\"superstar\">\u2605</sup>Available until 10/20/2025</i>\n </section>\n </div>\n <section class=\"hbll-footer-bottom\" aria-label=\"Bottom-most part of the footer\">\n <div class=\"hbll-footer-title\">\n <a href=\"https://byu.edu\" target=\"_blank\">BRIGHAM YOUNG UNIVERSITY</a>\n </div>\n <br />\n PROVO, UT 84602, USA | <a href=\"sms:801-422-6061\">(801) 422-6061</a>\n <br />© {{ date | date: 'yyyy' }}\n ALL RIGHTS RESERVED\n <div class=\"hbll-footer-privacy\">\n <a href=\"https://privacy.byu.edu/\" target=\"_blank\">Privacy Notice</a>\n |\n <span id=\"teconsent\"></span>\n </div>\n </section>\n </div>\n <div id=\"consent-banner\"></div>\n</footer>\n\n<dialog\n #emailDialog\n onmousedown=\"event.target === this && this.close()\"\n (close)=\"handleClose()\"\n data-testid=\"dialog\"\n>\n @if (!isEmailSent) {\n <form [formGroup]=\"emailForm\" (submit)=\"sendEmail()\" data-testid=\"form\">\n <div class=\"hbll-footer-email-top\">\n <h1>Email Us</h1>\n <button (click)=\"emailDialog.close()\" type=\"button\" data-testid=\"closeBtn\">\n <span class=\"material-symbols-outlined\"> close </span>\n </button>\n </div>\n <label for=\"hbllFooterEmailName\">Name</label>\n <input\n id=\"hbllFooterEmailName\"\n type=\"text\"\n formControlName=\"name\"\n data-testid=\"emailNameInput\"\n />\n <label for=\"hbllFooterEmailEmail\">\n Email (please provide if you would like a response)</label\n >\n <input\n id=\"hbllFooterEmailEmail\"\n type=\"text\"\n formControlName=\"email\"\n data-testid=\"emailEmailInput\"\n />\n <label for=\"hbllFooterEmailQuestionComment\">\n Question or comment <span class=\"hbll-footer-email-required\">*</span>\n </label>\n <textarea\n id=\"hbllFooterEmailQuestionComment\"\n type=\"text\"\n formControlName=\"message\"\n data-testid=\"emailMessageInput\"\n ></textarea>\n @if (isSubmitted && emailForm.controls.message.invalid) {\n <div\n class=\"hbll-footer-email-required hbll-footer-email-error\"\n data-testid=\"commentError\"\n >\n <span class=\"material-symbols-outlined hbll-footer-email-error-icon\">\n warning\n </span>\n <strong>Please fill out this field</strong>\n </div>\n }\n <label for=\"hbllFooterEmailStatus\">Role</label>\n <span class=\"hbll-footer-select-wrapper\">\n <select\n id=\"hbllFooterEmailStatus\"\n formControlName=\"status\"\n data-testid=\"emailStatusInput\"\n >\n <option selected value=\"\"></option>\n @for (status of userStatuses | slice: 1; track status) {\n <option [value]=\"status\">{{ status }}</option>\n }\n </select>\n </span>\n <div class=\"hbll-footer-email-bottom-bar\">\n @if (hasConnectionError) {\n <p class=\"hbll-footer-connection-error\" data-testid=\"connectionError\">\n <i>There was an error sending your email. Please try again later.</i>\n </p>\n }\n <button\n class=\"pill-btn--components\"\n type=\"submit\"\n [disabled]=\"isLoading\"\n data-testid=\"sendEmailBtn\"\n >\n Send\n </button>\n </div>\n </form>\n } @else {\n <div class=\"hbll-footer-email-success\" data-testid=\"successMessage\">\n <p>\n Your email was sent successfully. If you supplied your email address, we will get\n back to you shortly.<br />Thank you!\n </p>\n <button class=\"pill-btn--components\" (click)=\"emailDialog.close()\" type=\"button\">\n Close\n </button>\n </div>\n }\n</dialog>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,100..700;1,100..700&display=swap\";*{box-sizing:border-box;text-decoration:none;font-size:1em}*:not(.material-symbols-outlined){font-family:inherit}dialog form input,dialog form textarea,dialog form select{appearance:none;font-family:inherit;padding:.38em;border:solid 1px #707070;border-radius:4px;font-size:1em;background-color:#fff}dialog form input:focus,dialog form textarea:focus,dialog form select:focus{outline-color:#3a6093}dialog form .hbll-footer-select-wrapper{position:relative}dialog form .hbll-footer-select-wrapper select{cursor:pointer;padding-right:2em}dialog form .hbll-footer-select-wrapper:after{font-family:Material Symbols Outlined;content:\"arrow_drop_down\";pointer-events:none;top:0;font-size:1.5em;right:.2em;height:100%;position:absolute;display:flex;align-items:center;opacity:70%}.pill-btn--components{background-color:#4070b0;font-size:1em;transition:all .15s;color:#fff;cursor:pointer;font-weight:600;text-align:center}.pill-btn--components:disabled{color:#707070;background-color:#e6e6e6;pointer-events:none}.pill-btn--components:hover{background-color:#6892ca;color:#fff}.destructive.pill-btn--components{background-color:#b04940}.destructive.pill-btn--components:hover{background-color:#c7574d}.pill-btn--components{border-radius:100em;padding:.4em 1.3em}button{border:none;background-color:transparent;font-size:1em}button :hover{cursor:pointer}.skip-link-footer{position:absolute;top:30px;left:30px;background:#fff;color:#00285b;font-size:1em;font-weight:580;padding:8px 16px;border:3px solid #0050b7;border-radius:4px;cursor:pointer;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease}.skip-link-footer:focus{opacity:1;pointer-events:auto;transform:none}.skip-link-footer:hover{color:#00285b;background-color:#e3edf8;border-color:#e3edf8}footer{line-height:1.2em;background-color:#e6e6e6}footer a{padding:4px}footer ::ng-deep #consent-banner{z-index:11;position:fixed}footer .hbll-footer-wrapper{display:flex;flex-direction:column;align-items:center;position:relative}footer .hbll-footer-wrapper .hbll-footer-links{max-width:90em;display:flex;align-items:flex-start;justify-content:flex-start;flex-wrap:wrap;padding-bottom:2em;white-space:nowrap}footer .hbll-footer-wrapper .hbll-footer-links strong{font-weight:600}footer .hbll-footer-wrapper .hbll-footer-links address{font-style:normal}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-icon{font-size:2rem!important;margin-right:.2em;color:#002e5d}footer .hbll-footer-wrapper .hbll-footer-links section{padding:2em 1.8em 0;background-color:#e6e6e6;flex:1}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list{display:flex}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list .hbll-footer-social{height:1.5em;margin-right:1em}footer .hbll-footer-wrapper .hbll-footer-links .hbll-footer-social-list li{margin-bottom:0}footer .hbll-footer-wrapper h3{font-weight:600;color:#002e5d;font-size:1.4em;margin-bottom:1em;margin-top:0}footer .hbll-footer-wrapper ul{list-style:none;margin:.4em 0 0;padding:0}footer .hbll-footer-wrapper ul li{display:flex;align-items:center}footer .hbll-footer-wrapper ul li a,footer .hbll-footer-wrapper ul li button{display:inline-flex;align-items:center;color:#305f9c}footer .hbll-footer-wrapper ul li a:hover,footer .hbll-footer-wrapper ul li button:hover{color:#6892ca}footer .hbll-footer-wrapper ul li:not(:last-of-type){margin-bottom:.6em}footer .hbll-footer-wrapper .hbll-footer-bottom{text-align:center;background-color:#002e5d;color:#fff;font-family:IBM Plex Sans,sans-serif;font-optical-sizing:auto;font-weight:300;font-style:normal;font-size:.9em;line-height:1.6em;padding:1.8em;width:100%}footer .hbll-footer-wrapper .hbll-footer-bottom a{color:#fff}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-title{font-size:2em;font-weight:400;line-height:1em}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy{margin-top:.4em;display:flex;align-items:center;justify-content:center;gap:5px}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy a{text-decoration:underline}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy ::ng-deep #teconsent a{color:#fff;text-decoration:underline;padding:4px}footer .hbll-footer-wrapper .hbll-footer-bottom .hbll-footer-privacy ::ng-deep #teconsent a:hover{color:#fff}@media screen and (max-width: 40em){.hbll-footer-links{flex-direction:column;justify-content:flex-start;width:100%}}dialog{border:solid 1px #888;border-radius:4px;width:90%;max-width:50em;padding:0;transition:all 5s ease-in-out}dialog .hbll-footer-email-success,dialog form{padding:1.6em 2em}dialog .hbll-footer-email-success p,dialog form p{text-align:center;line-height:1.4em}dialog .hbll-footer-email-success{display:flex;justify-content:center;align-items:center;flex-direction:column}dialog .hbll-footer-email-success button{margin-top:1em}dialog form{display:flex;flex-direction:column;position:relative}dialog form textarea{min-height:100px;resize:vertical}dialog form input,dialog form textarea,dialog form .hbll-footer-select-wrapper{margin-bottom:.6em}dialog form .hbll-footer-email-bottom-bar{display:flex;align-items:center;justify-content:flex-end}dialog form .hbll-footer-email-bottom-bar .hbll-footer-connection-error{text-align:right;flex-grow:1;margin:0 1em 0 0}dialog form label{margin-bottom:.4em;margin-top:.4em}dialog form .hbll-footer-email-error{display:flex;justify-content:center;align-items:center;margin-right:auto;margin-bottom:.6em;font-size:.8em}dialog form .hbll-footer-email-error .hbll-footer-email-error-icon{font-size:1.2em;margin-right:.2em}dialog form .hbll-footer-email-top{width:100%;display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between;align-items:center;margin-bottom:1em}dialog form .hbll-footer-email-top h1{font-size:1.4em;margin:0}dialog form .hbll-footer-email-required-message{float:right}dialog form .hbll-footer-select-wrapper{margin-right:auto}dialog form .hbll-footer-email-required{color:#d03a3a}dialog form button:not([type=submit]){color:#333}dialog form button:not([type=submit]):hover{color:#696969}dialog form button[type=submit]{margin-left:auto}dialog::backdrop{background-color:#000;opacity:.75}footer .hbll-footer-wrapper .toggle-container{display:flex;justify-content:flex-end;margin-top:.6rem}@media screen and (max-width: 43.0625em){footer .hbll-footer-wrapper .toggle-container{justify-content:flex-start}}footer .hbll-footer-wrapper .hbll-footer-social-list+.toggle-container{margin-top:.75rem}footer .hbll-footer-wrapper .toggle{border:0;background:transparent;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:.6rem;font:inherit;color:#4d535b;line-height:1.3}footer .hbll-footer-wrapper .toggle-text{-webkit-user-select:none;user-select:none;white-space:nowrap;font:inherit;color:#000}footer .hbll-footer-wrapper .toggle-pill{width:3.1em;height:1.75em;background:#fff;border-radius:999px;display:inline-flex;align-items:center;justify-content:flex-start;padding-left:.375em;box-shadow:inset 0 0 0 1px #00000026}footer .hbll-footer-wrapper .toggle-check{width:1.25em;height:1.25em;border-radius:999px;background:#676f79;display:inline-flex;align-items:center;justify-content:center}footer .hbll-footer-wrapper .toggle-check svg{width:.9em;height:.9em;display:block}footer .hbll-footer-wrapper .toggle:focus-visible .toggle-pill{outline:.1875rem solid rgba(0,0,0,.2);outline-offset:2px}@media (min-width: 63.375em){.hbll-footer-wrapper .hbll-footer-links section[aria-labelledby=footerConnectHeading] .toggle-container{margin-top:5em;align-self:flex-end}}@media (max-width: 63.3125em){.hbll-footer-wrapper .hbll-footer-links section[aria-labelledby=footerConnectHeading] .toggle-container{margin-top:.75rem;align-self:auto;justify-content:flex-start}}.superstar{font-size:.3em}.toggle-subtext{color:#4b4b4b}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i1.SlicePipe, name: "slice" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] }); }
|
|
92
93
|
}
|
|
93
94
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: HbllFooterComponent, decorators: [{
|
|
94
95
|
type: Component,
|
|
@@ -100,6 +101,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
100
101
|
type: Input
|
|
101
102
|
}], libraryapibaseuri: [{
|
|
102
103
|
type: Input
|
|
104
|
+
}], byuid: [{
|
|
105
|
+
type: Input
|
|
103
106
|
}], emailname: [{
|
|
104
107
|
type: Input
|
|
105
108
|
}], emailemail: [{
|
|
@@ -109,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
109
112
|
}], emailstatus: [{
|
|
110
113
|
type: Input
|
|
111
114
|
}] } });
|
|
112
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJsbC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2hibGwtZm9vdGVyL2hibGwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWZvb3Rlci9oYmxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pHLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUVwRCx3RkFBd0Y7UUFDL0Usb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyw0QkFBNEIsQ0FBQztRQWFoRCxTQUFJLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixjQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLHVCQUFrQixHQUFHLEtBQUssQ0FBQztRQUMzQixnQkFBVyxHQUFHLEtBQUssQ0FBQztR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QztJQUN0RCxDQUFDO0lBQ0QsSUFBYSxXQUFXLENBQUMsTUFBZ0M7UUFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBbURELFVBQVU7UUFDTixNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBZ0IsQ0FBQztRQUNuRixJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2IsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3ZCLENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxDQUFDLElBQUksQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1FBQzlELENBQUM7SUFDTCxDQUFDO0lBRVMsZ0JBQWdCO1FBQ3RCLFFBQVEsQ0FBQyxNQUFNLEdBQUcsd0NBQXdDLENBQUM7UUFDM0QsTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM3QixDQUFDOzhHQWxGUSxtQkFBbUI7a0dBQW5CLG1CQUFtQiwyWENiaEMseXlWQW1QQSxtMVBEMU9jLFlBQVksc0lBQUUsbUJBQW1COzsyRkFJbEMsbUJBQW1CO2tCQVAvQixTQUFTOytCQUNJLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsQ0FBQzs4QkFRVixXQUFXO3NCQUE1QyxTQUFTO3VCQUFDLGFBQWE7Z0JBRWYsZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ08sU0FBUztzQkFBckIsS0FBSztnQkFHTyxVQUFVO3NCQUF0QixLQUFLO2dCQUdPLFlBQVk7c0JBQXhCLEtBQUs7Z0JBR08sV0FBVztzQkFBdkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgaW5qZWN0LCBJbnB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQ29udGFjdFBheWxvYWQsIGNyZWF0ZUNvbnRhY3RGb3JtLCBzdWJtaXRFbWFpbCwgVVNFUl9TVEFUVVNFUyB9IGZyb20gJy4uL2NvbnRhY3QtdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1oYmxsLWZvb3RlcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vaGJsbC1mb290ZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9oYmxsLWZvb3Rlci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIEhibGxGb290ZXJDb21wb25lbnQge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cCA9IGluamVjdChIdHRwQ2xpZW50KTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGZvb3RlclNraXBUYXJnZXRJZCA9ICdoYmxsQ2hhdEJ0bic7XG4gICAgQFZpZXdDaGlsZCgnZW1haWxEaWFsb2cnKSBwcml2YXRlIGVtYWlsRGlhbG9nITogRWxlbWVudFJlZjtcbiAgICAvLyBUT0RPOiBDb252ZXJ0IHRoZXNlIHRvIHNpZ25hbCBpbnB1dHM6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzU3NzU1XG4gICAgQElucHV0KCkgbWFpbnNpdGViYXNldXJsID0gJ2h0dHBzOi8vbGliLmJ5dS5lZHUnO1xuICAgIEBJbnB1dCgpIGxpYnJhcnlhcGliYXNldXJpID0gJ2h0dHBzOi8vYXBpLmxpYi5ieXUuZWR1L3YxJztcbiAgICBASW5wdXQoKSBzZXQgZW1haWxuYW1lKG5hbWU6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5uYW1lLnNldFZhbHVlKG5hbWUpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgZW1haWxlbWFpbChlbWFpbDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLmVtYWlsLnNldFZhbHVlKGVtYWlsKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGVtYWlsbWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMubWVzc2FnZS5zZXRWYWx1ZShtZXNzYWdlKTtcbiAgICB9XG4gICAgQElucHV0KCkgc2V0IGVtYWlsc3RhdHVzKHN0YXR1czogQ29udGFjdFBheWxvYWRbJ3N0YXR1cyddKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLnN0YXR1cy5zZXRWYWx1ZShzdGF0dXMpO1xuICAgIH1cbiAgICBwcm90ZWN0ZWQgZGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgcHJvdGVjdGVkIGlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGlzTG9hZGluZyA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBoYXNDb25uZWN0aW9uRXJyb3IgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaXNFbWFpbFNlbnQgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgZW1haWxGb3JtID0gY3JlYXRlQ29udGFjdEZvcm0odGhpcy5mYik7XG4gICAgcHJvdGVjdGVkIHVzZXJTdGF0dXNlcyA9IFVTRVJfU1RBVFVTRVM7XG5cbiAgICBwcm90ZWN0ZWQgc2VuZEVtYWlsID0gKCkgPT4ge1xuICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKHRoaXMuZW1haWxGb3JtLmludmFsaWQpIHJldHVybjtcbiAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICAgICAgICBzdWJtaXRFbWFpbChcbiAgICAgICAgICAgIHRoaXMuZW1haWxGb3JtLnZhbHVlIGFzIENvbnRhY3RQYXlsb2FkLFxuICAgICAgICAgICAgdGhpcy5odHRwLFxuICAgICAgICAgICAgdGhpcy5saWJyYXJ5YXBpYmFzZXVyaSxcbiAgICAgICAgKS5zdWJzY3JpYmUoe1xuICAgICAgICAgICAgZXJyb3I6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmlzRW1haWxTZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmVtYWlsRm9ybS5yZXNldCgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHByb3RlY3RlZCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuaXNFbWFpbFNlbnQpIHtcbiAgICAgICAgICAgIHRoaXMuaXNFbWFpbFNlbnQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTdWJtaXR0ZWQgPSBmYWxzZTtcbiAgICB9O1xuXG4gICAgLy8gRXhwb3NlIHRoaXMgdG8gYmUgY2FsbGVkIGZyb20gY29uc3VtaW5nIGFwcGxpY2F0aW9ucy5cbiAgICBvcGVuRW1haWxGb3JtID0gKGZvcm1WYWx1ZXM/OiB0eXBlb2YgdGhpcy5lbWFpbEZvcm0udmFsdWUpID0+IHtcbiAgICAgICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLm5hbWUpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm5hbWUuc2V0VmFsdWUoZm9ybVZhbHVlcy5uYW1lKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLmVtYWlsKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5lbWFpbC5zZXRWYWx1ZShmb3JtVmFsdWVzLmVtYWlsKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLm1lc3NhZ2UpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm1lc3NhZ2Uuc2V0VmFsdWUoZm9ybVZhbHVlcy5tZXNzYWdlKTtcbiAgICAgICAgICAgIGlmIChmb3JtVmFsdWVzLnN0YXR1cykgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMuc3RhdHVzLnNldFZhbHVlKGZvcm1WYWx1ZXMuc3RhdHVzKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmVtYWlsRGlhbG9nLm5hdGl2ZUVsZW1lbnQuc2hvd01vZGFsKCk7XG4gICAgfTtcblxuICAgIHNraXBGb290ZXIoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNraXBUYXJnZXQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmZvb3RlclNraXBUYXJnZXRJZCkgYXMgSFRNTEVsZW1lbnQ7XG4gICAgICAgIGlmIChza2lwVGFyZ2V0KSB7XG4gICAgICAgICAgICBza2lwVGFyZ2V0LmZvY3VzKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NraXAgZm9vdGVyIHRhcmdldCBub3QgZm91bmQgb24gdGhlIHBhZ2UuJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2V0U2Vzc2lvbkNvb2tpZSgpOiB2b2lkIHtcbiAgICAgICAgZG9jdW1lbnQuY29va2llID0gYGJldGFOYXZpZ2F0aW9uUHJlZmVyZW5jZT1wcm9kMjsgcGF0aD0vYDtcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbn1cbiIsIjxmb290ZXI+XG4gICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLXdyYXBwZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInNraXAtbGluay1mb290ZXJcIiAoY2xpY2spPVwic2tpcEZvb3RlcigpXCIgPlNraXAgZm9vdGVyPC9idXR0b24+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci1saW5rc1wiPlxuICAgICAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbGxlZGJ5PVwiZm9vdGVyQ29udGFjdEhlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8aDMgaWQ9XCJmb290ZXJDb250YWN0SGVhZGluZ1wiID5Db250YWN0PC9oMz5cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhZGRyZXNzPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFAuTy4gQm94IDI2ODAwPGJyIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvdm8sIFVUIDg0NjAyLTY4MDBcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYWRkcmVzcz5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInRlbDo4MDEtNDIyLTYwNjFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1mb290ZXItaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwaG9uZV9pbl90YWxrIDwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4mbmJzcDsgPHN0cm9uZz5DYWxsPC9zdHJvbmc+Jm5ic3A7KDgwMSkgNDIyLTYwNjFcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInNtczo4MDEtNjIzLTY4MzhcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1mb290ZXItaWNvblwiPiBzbXMgPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiZuYnNwOyA8c3Ryb25nPlRleHQ8L3N0cm9uZz4mbmJzcDsoODAxKSA2MjMtNjgzOFxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJlbWFpbERpYWxvZy5zaG93TW9kYWwoKVwiIGRhdGEtdGVzdGlkPVwiZW1haWxVc0J0blwiIHN0eWxlPVwicGFkZGluZzogNHB4O1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWZvb3Rlci1pY29uXCI+IG1haWwgPC9zcGFuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPiZuYnNwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+RW1haWwgdXM8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJmb290ZXJSZXNvdXJjZXNIZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGgzIGlkPVwiZm9vdGVyUmVzb3VyY2VzSGVhZGluZ1wiPlJlc291cmNlczwvaDM+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwie3sgbWFpbnNpdGViYXNldXJsIH19L3NpdGUtaW5kZXgvXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+QS1aIFNpdGUgSW5kZXg8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cInt7IG1haW5zaXRlYmFzZXVybCB9fS9hYm91dC9wb2xpY2llcy9cIj5Qb2xpY2llczwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cInt7IG1haW5zaXRlYmFzZXVybCB9fS9hYm91dC9sb2NhdGlvbi9cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5QYXJraW5nICYgRGlyZWN0aW9uczwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly91YWMuYnl1LmVkdS9hY2Nlc3NpYmlsaXR5LWxhYlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkFjY2Vzc2liaWxpdHkgUmVzb3VyY2VzPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2hyLmxpYi5ieXUuZWR1L2J5dS1saWJyYXJ5LWpvYnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5FbXBsb3ltZW50IE9wcG9ydHVuaXRpZXM8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbGxlZGJ5PVwiZm9vdGVyRnJpZW5kc0hlYWRpbmdcIj5cbiAgICAgICAgICAgICAgICA8aDMgaWQ9XCJmb290ZXJGcmllbmRzSGVhZGluZ1wiPkZyaWVuZHMgaW4gdGhlIExpYnJhcnk8L2gzPlxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vY3RsLmJ5dS5lZHVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5DZW50ZXIgZm9yIFRlYWNoaW5nIGFuZCBMZWFybmluZzwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9jb3B5cmlnaHQuYnl1LmVkdVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkNvcHlyaWdodCBMaWNlbnNpbmcgT2ZmaWNlPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2ZhY3VsdHljZW50ZXIuYnl1LmVkdS9hYm91dHVzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+RmFjdWx0eSBDZW50ZXI8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vZGluaW5nLmJ5dS5lZHUvbGlicmFyeS1jYWZlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+TGlicmFyeSBDYWZlPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlckNvbm5lY3RIZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGgzIGlkPVwiZm9vdGVyQ29ubmVjdEhlYWRpbmdcIj5Db25uZWN0PC9oMz5cbiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJoYmxsLWZvb3Rlci1zb2NpYWwtbGlzdFwiPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cuZmFjZWJvb2suY29tL2J5dWhibGxcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1mb290ZXItc29jaWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9tZWRpYS5saWIuYnl1LmVkdS93ZWItYXNzZXRzL2ltYWdlcy8xLjAuMC9mYWNlYm9vay1jb2xvci1yb3VuZC5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJGYWNlYm9va1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlPVwiRmFjZWJvb2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL3d3dy5pbnN0YWdyYW0uY29tL2J5dV9oYmxsL1wiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWZvb3Rlci1zb2NpYWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcmM9XCJodHRwczovL21lZGlhLmxpYi5ieXUuZWR1L3dlYi1hc3NldHMvaW1hZ2VzLzEuMC4wL2luc3RhZ3JhbS1jb2xvci5zdmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ9XCJJbnN0YWdyYW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkluc3RhZ3JhbVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0b2dnbGUtY29udGFpbmVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ0b2dnbGUgdG9nZ2xlLW9mZlwiXG4gICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwic3dpdGNoXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtY2hlY2tlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiVG9nZ2xlIExlZ2FjeSBWaWV3IChvZmYpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJzZXRTZXNzaW9uQ29va2llKClcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1waWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRvZ2dsZS1jaGVja1wiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMTIgMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaW5lIHgxPVwiMVwiIHkxPVwiMVwiIHgyPVwiMTFcIiB5Mj1cIjFcIiBzdHJva2U9XCJ3aGl0ZVwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGUtdGV4dFwiPlRvZ2dsZSBMZWdhY3kgVmlldzxzdXAgY2xhc3M9XCJzdXBlcnN0YXJcIj7imIU8L3N1cD48L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwidG9nZ2xlLXN1YnRleHRcIj48c3VwIGNsYXNzPVwic3VwZXJzdGFyXCI+4piFPC9zdXA+QXZhaWxhYmxlIHVudGlsIDEwLzIwLzIwMjU8L2k+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8c2VjdGlvbiBjbGFzcz1cImhibGwtZm9vdGVyLWJvdHRvbVwiIGFyaWEtbGFiZWw9XCJCb3R0b20tbW9zdCBwYXJ0IG9mIHRoZSBmb290ZXJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci10aXRsZVwiPlxuICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJodHRwczovL2J5dS5lZHVcIiB0YXJnZXQ9XCJfYmxhbmtcIj5CUklHSEFNIFlPVU5HIFVOSVZFUlNJVFk8L2E+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxiciAvPlxuICAgICAgICAgICAgUFJPVk8sIFVUIDg0NjAyLCBVU0EgfCA8YSBocmVmPVwic21zOjgwMS00MjItNjA2MVwiPig4MDEpIDQyMi02MDYxPC9hPlxuICAgICAgICAgICAgPGJyIC8+JmNvcHk7Jm5ic3A7e3sgZGF0ZSB8IGRhdGU6ICd5eXl5JyB9fVxuICAgICAgICAgICAgQUxMIFJJR0hUUyBSRVNFUlZFRFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLXByaXZhY3lcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly9wcml2YWN5LmJ5dS5lZHUvXCIgdGFyZ2V0PVwiX2JsYW5rXCI+UHJpdmFjeSBOb3RpY2U8L2E+XG4gICAgICAgICAgICAgICAgfFxuICAgICAgICAgICAgICAgIDxzcGFuIGlkPVwidGVjb25zZW50XCI+PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiY29uc2VudC1iYW5uZXJcIj48L2Rpdj5cbjwvZm9vdGVyPlxuXG48ZGlhbG9nXG4gICAgI2VtYWlsRGlhbG9nXG4gICAgb25tb3VzZWRvd249XCJldmVudC50YXJnZXQgPT09IHRoaXMgJiYgdGhpcy5jbG9zZSgpXCJcbiAgICAoY2xvc2UpPVwiaGFuZGxlQ2xvc2UoKVwiXG4gICAgZGF0YS10ZXN0aWQ9XCJkaWFsb2dcIlxuPlxuICAgIEBpZiAoIWlzRW1haWxTZW50KSB7XG4gICAgICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZW1haWxGb3JtXCIgKHN1Ym1pdCk9XCJzZW5kRW1haWwoKVwiIGRhdGEtdGVzdGlkPVwiZm9ybVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXRvcFwiPlxuICAgICAgICAgICAgICAgIDxoMT5FbWFpbCBVczwvaDE+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZW1haWxEaWFsb2cuY2xvc2UoKVwiIHR5cGU9XCJidXR0b25cIiBkYXRhLXRlc3RpZD1cImNsb3NlQnRuXCI+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZFwiPiBjbG9zZSA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYmxsRm9vdGVyRW1haWxOYW1lXCI+TmFtZTwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbE5hbWVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJuYW1lXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsTmFtZUlucHV0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsRW1haWxcIj5cbiAgICAgICAgICAgICAgICBFbWFpbCAocGxlYXNlIHByb3ZpZGUgaWYgeW91IHdvdWxkIGxpa2UgYSByZXNwb25zZSk8L2xhYmVsXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbEVtYWlsXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiZW1haWxcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW1haWxFbWFpbElucHV0XCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsUXVlc3Rpb25Db21tZW50XCI+XG4gICAgICAgICAgICAgICAgUXVlc3Rpb24gb3IgY29tbWVudCZuYnNwOzxzcGFuIGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtcmVxdWlyZWRcIj4qPC9zcGFuPlxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgICAgIGlkPVwiaGJsbEZvb3RlckVtYWlsUXVlc3Rpb25Db21tZW50XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbWFpbE1lc3NhZ2VJbnB1dFwiXG4gICAgICAgICAgICA+PC90ZXh0YXJlYT5cbiAgICAgICAgICAgIEBpZiAoaXNTdWJtaXR0ZWQgJiYgZW1haWxGb3JtLmNvbnRyb2xzLm1lc3NhZ2UuaW52YWxpZCkge1xuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1yZXF1aXJlZCBoYmxsLWZvb3Rlci1lbWFpbC1lcnJvclwiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiY29tbWVudEVycm9yXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtc3ltYm9scy1vdXRsaW5lZCBoYmxsLWZvb3Rlci1lbWFpbC1lcnJvci1pY29uXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB3YXJuaW5nXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPHN0cm9uZz5QbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZDwvc3Ryb25nPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhibGxGb290ZXJFbWFpbFN0YXR1c1wiPlJvbGU8L2xhYmVsPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJoYmxsLWZvb3Rlci1zZWxlY3Qtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJoYmxsRm9vdGVyRW1haWxTdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJzdGF0dXNcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsU3RhdHVzSW5wdXRcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZCB2YWx1ZT1cIlwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICBAZm9yIChzdGF0dXMgb2YgdXNlclN0YXR1c2VzIHwgc2xpY2U6IDE7IHRyYWNrIHN0YXR1cykge1xuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiBbdmFsdWVdPVwic3RhdHVzXCI+e3sgc3RhdHVzIH19PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1ib3R0b20tYmFyXCI+XG4gICAgICAgICAgICAgICAgQGlmIChoYXNDb25uZWN0aW9uRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJoYmxsLWZvb3Rlci1jb25uZWN0aW9uLWVycm9yXCIgZGF0YS10ZXN0aWQ9XCJjb25uZWN0aW9uRXJyb3JcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxpPlRoZXJlIHdhcyBhbiBlcnJvciBzZW5kaW5nIHlvdXIgZW1haWwuIFBsZWFzZSB0cnkgYWdhaW4gbGF0ZXIuPC9pPlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJwaWxsLWJ0bi0tY29tcG9uZW50c1wiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiaXNMb2FkaW5nXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJzZW5kRW1haWxCdG5cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgU2VuZFxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZm9ybT5cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXN1Y2Nlc3NcIiBkYXRhLXRlc3RpZD1cInN1Y2Nlc3NNZXNzYWdlXCI+XG4gICAgICAgICAgICA8cD5cbiAgICAgICAgICAgICAgICBZb3VyIGVtYWlsIHdhcyBzZW50IHN1Y2Nlc3NmdWxseS4gSWYgeW91IHN1cHBsaWVkIHlvdXIgZW1haWwgYWRkcmVzcywgd2Ugd2lsbCBnZXRcbiAgICAgICAgICAgICAgICBiYWNrIHRvIHlvdSBzaG9ydGx5LjxiciAvPlRoYW5rIHlvdSFcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJwaWxsLWJ0bi0tY29tcG9uZW50c1wiIChjbGljayk9XCJlbWFpbERpYWxvZy5jbG9zZSgpXCIgdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICAgIENsb3NlXG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgfVxuPC9kaWFsb2c+XG4iXX0=
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGJsbC1mb290ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2hibGwtZm9vdGVyL2hibGwtZm9vdGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9oYmxsLWZvb3Rlci9oYmxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2xELE9BQU8sRUFBa0IsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBU2pHLE1BQU0sT0FBTyxtQkFBbUI7SUFQaEM7UUFRcUIsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN6QixTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLHVCQUFrQixHQUFHLGFBQWEsQ0FBQztRQUVwRCx3RkFBd0Y7UUFDL0Usb0JBQWUsR0FBRyxxQkFBcUIsQ0FBQztRQUN4QyxzQkFBaUIsR0FBRyw0QkFBNEIsQ0FBQztRQUNqRCxVQUFLLEdBQVcsRUFBRSxDQUFDO1FBZWxCLFNBQUksR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDO1FBQ2xCLGdCQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3BCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FB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LCBWaWV3Q2hpbGQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBDb250YWN0UGF5bG9hZCwgY3JlYXRlQ29udGFjdEZvcm0sIHN1Ym1pdEVtYWlsLCBVU0VSX1NUQVRVU0VTIH0gZnJvbSAnLi4vY29udGFjdC11dGlscyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbGliLWhibGwtZm9vdGVyJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGVdLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9oYmxsLWZvb3Rlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL2hibGwtZm9vdGVyLmNvbXBvbmVudC5zY3NzJyxcbn0pXG5leHBvcnQgY2xhc3MgSGJsbEZvb3RlckNvbXBvbmVudCB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBmYiA9IGluamVjdChGb3JtQnVpbGRlcik7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZm9vdGVyU2tpcFRhcmdldElkID0gJ2hibGxDaGF0QnRuJztcbiAgICBAVmlld0NoaWxkKCdlbWFpbERpYWxvZycpIHByaXZhdGUgZW1haWxEaWFsb2chOiBFbGVtZW50UmVmO1xuICAgIC8vIFRPRE86IENvbnZlcnQgdGhlc2UgdG8gc2lnbmFsIGlucHV0czogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvNTc3NTVcbiAgICBASW5wdXQoKSBtYWluc2l0ZWJhc2V1cmwgPSAnaHR0cHM6Ly9saWIuYnl1LmVkdSc7XG4gICAgQElucHV0KCkgbGlicmFyeWFwaWJhc2V1cmkgPSAnaHR0cHM6Ly9hcGkubGliLmJ5dS5lZHUvdjEnO1xuICAgIEBJbnB1dCgpIGJ5dWlkOiBzdHJpbmcgPSAnJztcblxuICAgIEBJbnB1dCgpIHNldCBlbWFpbG5hbWUobmFtZTogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLm5hbWUuc2V0VmFsdWUobmFtZSk7XG4gICAgfVxuICAgIEBJbnB1dCgpIHNldCBlbWFpbGVtYWlsKGVtYWlsOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMuZW1haWwuc2V0VmFsdWUoZW1haWwpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgZW1haWxtZXNzYWdlKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5tZXNzYWdlLnNldFZhbHVlKG1lc3NhZ2UpO1xuICAgIH1cbiAgICBASW5wdXQoKSBzZXQgZW1haWxzdGF0dXMoc3RhdHVzOiBDb250YWN0UGF5bG9hZFsnc3RhdHVzJ10pIHtcbiAgICAgICAgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMuc3RhdHVzLnNldFZhbHVlKHN0YXR1cyk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHByb3RlY3RlZCBpc1N1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIHByb3RlY3RlZCBpc0xvYWRpbmcgPSBmYWxzZTtcbiAgICBwcm90ZWN0ZWQgaGFzQ29ubmVjdGlvbkVycm9yID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGlzRW1haWxTZW50ID0gZmFsc2U7XG4gICAgcHJvdGVjdGVkIGVtYWlsRm9ybSA9IGNyZWF0ZUNvbnRhY3RGb3JtKHRoaXMuZmIpO1xuICAgIHByb3RlY3RlZCB1c2VyU3RhdHVzZXMgPSBVU0VSX1NUQVRVU0VTO1xuXG4gICAgcHJvdGVjdGVkIHNlbmRFbWFpbCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5pc1N1Ym1pdHRlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLmVtYWlsRm9ybS5pbnZhbGlkKSByZXR1cm47XG4gICAgICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgICAgICBzdWJtaXRFbWFpbChcbiAgICAgICAgICAgIHRoaXMuZW1haWxGb3JtLnZhbHVlIGFzIENvbnRhY3RQYXlsb2FkLFxuICAgICAgICAgICAgdGhpcy5ieXVpZCxcbiAgICAgICAgICAgIHRoaXMuaHR0cCxcbiAgICAgICAgICAgIHRoaXMubGlicmFyeWFwaWJhc2V1cmksXG4gICAgICAgICkuc3Vic2NyaWJlKHtcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNDb25uZWN0aW9uRXJyb3IgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy5pc0VtYWlsU2VudCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5lbWFpbEZvcm0ucmVzZXQoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgIH07XG5cbiAgICBwcm90ZWN0ZWQgaGFuZGxlQ2xvc2UgPSAoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzRW1haWxTZW50KSB7XG4gICAgICAgICAgICB0aGlzLmlzRW1haWxTZW50ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmhhc0Nvbm5lY3Rpb25FcnJvciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmlzU3VibWl0dGVkID0gZmFsc2U7XG4gICAgfTtcblxuICAgIC8vIEV4cG9zZSB0aGlzIHRvIGJlIGNhbGxlZCBmcm9tIGNvbnN1bWluZyBhcHBsaWNhdGlvbnMuXG4gICAgb3BlbkVtYWlsRm9ybSA9IChmb3JtVmFsdWVzPzogdHlwZW9mIHRoaXMuZW1haWxGb3JtLnZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChmb3JtVmFsdWVzKSB7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5uYW1lKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5uYW1lLnNldFZhbHVlKGZvcm1WYWx1ZXMubmFtZSk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5lbWFpbCkgdGhpcy5lbWFpbEZvcm0uY29udHJvbHMuZW1haWwuc2V0VmFsdWUoZm9ybVZhbHVlcy5lbWFpbCk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5tZXNzYWdlKSB0aGlzLmVtYWlsRm9ybS5jb250cm9scy5tZXNzYWdlLnNldFZhbHVlKGZvcm1WYWx1ZXMubWVzc2FnZSk7XG4gICAgICAgICAgICBpZiAoZm9ybVZhbHVlcy5zdGF0dXMpIHRoaXMuZW1haWxGb3JtLmNvbnRyb2xzLnN0YXR1cy5zZXRWYWx1ZShmb3JtVmFsdWVzLnN0YXR1cyk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5lbWFpbERpYWxvZy5uYXRpdmVFbGVtZW50LnNob3dNb2RhbCgpO1xuICAgIH07XG5cbiAgICBza2lwRm9vdGVyKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBza2lwVGFyZ2V0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5mb290ZXJTa2lwVGFyZ2V0SWQpIGFzIEhUTUxFbGVtZW50O1xuICAgICAgICBpZiAoc2tpcFRhcmdldCkge1xuICAgICAgICAgICAgc2tpcFRhcmdldC5mb2N1cygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdTa2lwIGZvb3RlciB0YXJnZXQgbm90IGZvdW5kIG9uIHRoZSBwYWdlLicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNldFNlc3Npb25Db29raWUoKTogdm9pZCB7XG4gICAgICAgIGRvY3VtZW50LmNvb2tpZSA9IGBiZXRhTmF2aWdhdGlvblByZWZlcmVuY2U9cHJvZDI7IHBhdGg9L2A7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG59XG4iLCI8Zm9vdGVyPlxuICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci13cmFwcGVyXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJza2lwLWxpbmstZm9vdGVyXCIgKGNsaWNrKT1cInNraXBGb290ZXIoKVwiID5Ta2lwIGZvb3RlcjwvYnV0dG9uPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItbGlua3NcIj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlckNvbnRhY3RIZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGgzIGlkPVwiZm9vdGVyQ29udGFjdEhlYWRpbmdcIiA+Q29udGFjdDwvaDM+XG4gICAgICAgICAgICAgICAgPHVsPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YWRkcmVzcz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQLk8uIEJveCAyNjgwMDxiciAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb3ZvLCBVVCA4NDYwMi02ODAwXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2FkZHJlc3M+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJ0ZWw6ODAxLTQyMi02MDYxXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWljb25cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGhvbmVfaW5fdGFsayA8L3NwYW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Jm5ic3A7IDxzdHJvbmc+Q2FsbDwvc3Ryb25nPiZuYnNwOyg4MDEpIDQyMi02MDYxXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCJzbXM6ODAxLTYyMy02ODM4XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1zeW1ib2xzLW91dGxpbmVkIGhibGwtZm9vdGVyLWljb25cIj4gc21zIDwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4mbmJzcDsgPHN0cm9uZz5UZXh0PC9zdHJvbmc+Jm5ic3A7KDgwMSkgNjIzLTY4MzhcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwiZW1haWxEaWFsb2cuc2hvd01vZGFsKClcIiBkYXRhLXRlc3RpZD1cImVtYWlsVXNCdG5cIiBzdHlsZT1cInBhZGRpbmc6IDRweDtcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1mb290ZXItaWNvblwiPiBtYWlsIDwvc3BhblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID4mbmJzcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkVtYWlsIHVzPC9zdHJvbmc+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICA8L3VsPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICAgICAgPHNlY3Rpb24gYXJpYS1sYWJlbGxlZGJ5PVwiZm9vdGVyUmVzb3VyY2VzSGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlclJlc291cmNlc0hlYWRpbmdcIj5SZXNvdXJjZXM8L2gzPlxuICAgICAgICAgICAgICAgIDx1bD5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cInt7IG1haW5zaXRlYmFzZXVybCB9fS9zaXRlLWluZGV4L1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkEtWiBTaXRlIEluZGV4PC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7eyBtYWluc2l0ZWJhc2V1cmwgfX0vYWJvdXQvcG9saWNpZXMvXCI+UG9saWNpZXM8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJ7eyBtYWluc2l0ZWJhc2V1cmwgfX0vYWJvdXQvbG9jYXRpb24vXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+UGFya2luZyAmIERpcmVjdGlvbnM8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vdWFjLmJ5dS5lZHUvYWNjZXNzaWJpbGl0eS1sYWJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5BY2Nlc3NpYmlsaXR5IFJlc291cmNlczwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9oci5saWIuYnl1LmVkdS9ieXUtbGlicmFyeS1qb2JzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+RW1wbG95bWVudCBPcHBvcnR1bml0aWVzPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgIDwvc2VjdGlvbj5cbiAgICAgICAgICAgIDxzZWN0aW9uIGFyaWEtbGFiZWxsZWRieT1cImZvb3RlckZyaWVuZHNIZWFkaW5nXCI+XG4gICAgICAgICAgICAgICAgPGgzIGlkPVwiZm9vdGVyRnJpZW5kc0hlYWRpbmdcIj5GcmllbmRzIGluIHRoZSBMaWJyYXJ5PC9oMz5cbiAgICAgICAgICAgICAgICA8dWw+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2N0bC5ieXUuZWR1XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+Q2VudGVyIGZvciBUZWFjaGluZyBhbmQgTGVhcm5pbmc8L2FcbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vY29weXJpZ2h0LmJ5dS5lZHVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5Db3B5cmlnaHQgTGljZW5zaW5nIE9mZmljZTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly9mYWN1bHR5Y2VudGVyLmJ5dS5lZHUvYWJvdXR1c1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkZhY3VsdHkgQ2VudGVyPC9hXG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxhIHRhcmdldD1cIl9ibGFua1wiIGhyZWY9XCJodHRwczovL2RpbmluZy5ieXUuZWR1L2xpYnJhcnktY2FmZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPkxpYnJhcnkgQ2FmZTwvYVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgIDwvdWw+XG4gICAgICAgICAgICA8L3NlY3Rpb24+XG4gICAgICAgICAgICA8c2VjdGlvbiBhcmlhLWxhYmVsbGVkYnk9XCJmb290ZXJDb25uZWN0SGVhZGluZ1wiPlxuICAgICAgICAgICAgICAgIDxoMyBpZD1cImZvb3RlckNvbm5lY3RIZWFkaW5nXCI+Q29ubmVjdDwvaDM+XG4gICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwiaGJsbC1mb290ZXItc29jaWFsLWxpc3RcIj5cbiAgICAgICAgICAgICAgICAgICAgPGxpPlxuICAgICAgICAgICAgICAgICAgICAgICAgPGEgdGFyZ2V0PVwiX2JsYW5rXCIgaHJlZj1cImh0dHBzOi8vd3d3LmZhY2Vib29rLmNvbS9ieXVoYmxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImhibGwtZm9vdGVyLXNvY2lhbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNyYz1cImh0dHBzOi8vbWVkaWEubGliLmJ5dS5lZHUvd2ViLWFzc2V0cy9pbWFnZXMvMS4wLjAvZmFjZWJvb2stY29sb3Itcm91bmQuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiRmFjZWJvb2tcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aXRsZT1cIkZhY2Vib29rXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgICAgICAgICAgICA8YSB0YXJnZXQ9XCJfYmxhbmtcIiBocmVmPVwiaHR0cHM6Ly93d3cuaW5zdGFncmFtLmNvbS9ieXVfaGJsbC9cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1mb290ZXItc29jaWFsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjPVwiaHR0cHM6Ly9tZWRpYS5saWIuYnl1LmVkdS93ZWItYXNzZXRzL2ltYWdlcy8xLjAuMC9pbnN0YWdyYW0tY29sb3Iuc3ZnXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWx0PVwiSW5zdGFncmFtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGU9XCJJbnN0YWdyYW1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICAgICAgPC91bD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidG9nZ2xlLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwidG9nZ2xlIHRvZ2dsZS1vZmZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cInN3aXRjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiZmFsc2VcIlxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlRvZ2dsZSBMZWdhY3kgVmlldyAob2ZmKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwic2V0U2Vzc2lvbkNvb2tpZSgpXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGUtcGlsbFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0b2dnbGUtY2hlY2tcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDEyIDJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGluZSB4MT1cIjFcIiB5MT1cIjFcIiB4Mj1cIjExXCIgeTI9XCIxXCIgc3Ryb2tlPVwid2hpdGVcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidG9nZ2xlLXRleHRcIj5Ub2dnbGUgTGVnYWN5IFZpZXc8c3VwIGNsYXNzPVwic3VwZXJzdGFyXCI+4piFPC9zdXA+PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8aSBjbGFzcz1cInRvZ2dsZS1zdWJ0ZXh0XCI+PHN1cCBjbGFzcz1cInN1cGVyc3RhclwiPuKYhTwvc3VwPkF2YWlsYWJsZSB1bnRpbCAxMC8yMC8yMDI1PC9pPlxuICAgICAgICAgICAgPC9zZWN0aW9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPHNlY3Rpb24gY2xhc3M9XCJoYmxsLWZvb3Rlci1ib3R0b21cIiBhcmlhLWxhYmVsPVwiQm90dG9tLW1vc3QgcGFydCBvZiB0aGUgZm9vdGVyXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItdGl0bGVcIj5cbiAgICAgICAgICAgICAgICA8YSBocmVmPVwiaHR0cHM6Ly9ieXUuZWR1XCIgdGFyZ2V0PVwiX2JsYW5rXCI+QlJJR0hBTSBZT1VORyBVTklWRVJTSVRZPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnIgLz5cbiAgICAgICAgICAgIFBST1ZPLCBVVCA4NDYwMiwgVVNBIHwgPGEgaHJlZj1cInNtczo4MDEtNDIyLTYwNjFcIj4oODAxKSA0MjItNjA2MTwvYT5cbiAgICAgICAgICAgIDxiciAvPiZjb3B5OyZuYnNwO3t7IGRhdGUgfCBkYXRlOiAneXl5eScgfX1cbiAgICAgICAgICAgIEFMTCBSSUdIVFMgUkVTRVJWRURcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci1wcml2YWN5XCI+XG4gICAgICAgICAgICAgICAgPGEgaHJlZj1cImh0dHBzOi8vcHJpdmFjeS5ieXUuZWR1L1wiIHRhcmdldD1cIl9ibGFua1wiPlByaXZhY3kgTm90aWNlPC9hPlxuICAgICAgICAgICAgICAgIHxcbiAgICAgICAgICAgICAgICA8c3BhbiBpZD1cInRlY29uc2VudFwiPjwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBpZD1cImNvbnNlbnQtYmFubmVyXCI+PC9kaXY+XG48L2Zvb3Rlcj5cblxuPGRpYWxvZ1xuICAgICNlbWFpbERpYWxvZ1xuICAgIG9ubW91c2Vkb3duPVwiZXZlbnQudGFyZ2V0ID09PSB0aGlzICYmIHRoaXMuY2xvc2UoKVwiXG4gICAgKGNsb3NlKT1cImhhbmRsZUNsb3NlKClcIlxuICAgIGRhdGEtdGVzdGlkPVwiZGlhbG9nXCJcbj5cbiAgICBAaWYgKCFpc0VtYWlsU2VudCkge1xuICAgICAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImVtYWlsRm9ybVwiIChzdWJtaXQpPVwic2VuZEVtYWlsKClcIiBkYXRhLXRlc3RpZD1cImZvcm1cIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC10b3BcIj5cbiAgICAgICAgICAgICAgICA8aDE+RW1haWwgVXM8L2gxPlxuICAgICAgICAgICAgICAgIDxidXR0b24gKGNsaWNrKT1cImVtYWlsRGlhbG9nLmNsb3NlKClcIiB0eXBlPVwiYnV0dG9uXCIgZGF0YS10ZXN0aWQ9XCJjbG9zZUJ0blwiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWRcIj4gY2xvc2UgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwiaGJsbEZvb3RlckVtYWlsTmFtZVwiPk5hbWU8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJoYmxsRm9vdGVyRW1haWxOYW1lXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwibmFtZVwiXG4gICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbWFpbE5hbWVJbnB1dFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhibGxGb290ZXJFbWFpbEVtYWlsXCI+XG4gICAgICAgICAgICAgICAgRW1haWwgKHBsZWFzZSBwcm92aWRlIGlmIHlvdSB3b3VsZCBsaWtlIGEgcmVzcG9uc2UpPC9sYWJlbFxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJoYmxsRm9vdGVyRW1haWxFbWFpbFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImVtYWlsRW1haWxJbnB1dFwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImhibGxGb290ZXJFbWFpbFF1ZXN0aW9uQ29tbWVudFwiPlxuICAgICAgICAgICAgICAgIFF1ZXN0aW9uIG9yIGNvbW1lbnQmbmJzcDs8c3BhbiBjbGFzcz1cImhibGwtZm9vdGVyLWVtYWlsLXJlcXVpcmVkXCI+Kjwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8dGV4dGFyZWFcbiAgICAgICAgICAgICAgICBpZD1cImhibGxGb290ZXJFbWFpbFF1ZXN0aW9uQ29tbWVudFwiXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGZvcm1Db250cm9sTmFtZT1cIm1lc3NhZ2VcIlxuICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwiZW1haWxNZXNzYWdlSW5wdXRcIlxuICAgICAgICAgICAgPjwvdGV4dGFyZWE+XG4gICAgICAgICAgICBAaWYgKGlzU3VibWl0dGVkICYmIGVtYWlsRm9ybS5jb250cm9scy5tZXNzYWdlLmludmFsaWQpIHtcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtcmVxdWlyZWQgaGJsbC1mb290ZXItZW1haWwtZXJyb3JcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImNvbW1lbnRFcnJvclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1hdGVyaWFsLXN5bWJvbHMtb3V0bGluZWQgaGJsbC1mb290ZXItZW1haWwtZXJyb3ItaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ1xuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzdHJvbmc+UGxlYXNlIGZpbGwgb3V0IHRoaXMgZmllbGQ8L3N0cm9uZz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJoYmxsRm9vdGVyRW1haWxTdGF0dXNcIj5Sb2xlPC9sYWJlbD5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGJsbC1mb290ZXItc2VsZWN0LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGlkPVwiaGJsbEZvb3RlckVtYWlsU3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwic3RhdHVzXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJlbWFpbFN0YXR1c0lucHV0XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQgdmFsdWU9XCJcIj48L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgQGZvciAoc3RhdHVzIG9mIHVzZXJTdGF0dXNlcyB8IHNsaWNlOiAxOyB0cmFjayBzdGF0dXMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gW3ZhbHVlXT1cInN0YXR1c1wiPnt7IHN0YXR1cyB9fTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaGJsbC1mb290ZXItZW1haWwtYm90dG9tLWJhclwiPlxuICAgICAgICAgICAgICAgIEBpZiAoaGFzQ29ubmVjdGlvbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiaGJsbC1mb290ZXItY29ubmVjdGlvbi1lcnJvclwiIGRhdGEtdGVzdGlkPVwiY29ubmVjdGlvbkVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aT5UaGVyZSB3YXMgYW4gZXJyb3Igc2VuZGluZyB5b3VyIGVtYWlsLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicGlsbC1idG4tLWNvbXBvbmVudHNcIlxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImlzTG9hZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwic2VuZEVtYWlsQnRuXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIFNlbmRcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Zvcm0+XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgY2xhc3M9XCJoYmxsLWZvb3Rlci1lbWFpbC1zdWNjZXNzXCIgZGF0YS10ZXN0aWQ9XCJzdWNjZXNzTWVzc2FnZVwiPlxuICAgICAgICAgICAgPHA+XG4gICAgICAgICAgICAgICAgWW91ciBlbWFpbCB3YXMgc2VudCBzdWNjZXNzZnVsbHkuIElmIHlvdSBzdXBwbGllZCB5b3VyIGVtYWlsIGFkZHJlc3MsIHdlIHdpbGwgZ2V0XG4gICAgICAgICAgICAgICAgYmFjayB0byB5b3Ugc2hvcnRseS48YnIgLz5UaGFuayB5b3UhXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwicGlsbC1idG4tLWNvbXBvbmVudHNcIiAoY2xpY2spPVwiZW1haWxEaWFsb2cuY2xvc2UoKVwiIHR5cGU9XCJidXR0b25cIj5cbiAgICAgICAgICAgICAgICBDbG9zZVxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgIH1cbjwvZGlhbG9nPlxuIl19
|
|
@@ -93,11 +93,11 @@ export class SnackbarComponent {
|
|
|
93
93
|
}
|
|
94
94
|
}
|
|
95
95
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SnackbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SnackbarComponent, isStandalone: true, selector: "lib-snackbar", inputs: { purpose: "purpose", title: "title", description: "description", fieldPlaceholder: "fieldPlaceholder", titleIcon: "titleIcon", showTitle: ["showTitle", "showTitle", booleanAttribute], showTitleIcon: ["showTitleIcon", "showTitleIcon", booleanAttribute], titleIconFilled: ["titleIconFilled", "titleIconFilled", booleanAttribute], showClose: ["showClose", "showClose", booleanAttribute], showProgressBar: ["showProgressBar", "showProgressBar", booleanAttribute], showField: ["showField", "showField", booleanAttribute], showButton: ["showButton", "showButton", booleanAttribute], autoDismiss: ["autoDismiss", "autoDismiss", booleanAttribute], visible: ["visible", "visible", booleanAttribute], progressMs: "progressMs", y: "y", statusButtonInputs: "statusButtonInputs" }, outputs: { closed: "closed", visibleChange: "visibleChange", buttonClicked: "buttonClicked" }, usesOnChanges: true, ngImport: i0, template: "@if (visible) {\n <section\n class=\"snackbar\"\n [ngClass]=\"{\n 'is-default': purpose === 'default',\n 'is-info': purpose === 'info',\n 'is-success': purpose === 'success',\n 'is-error': purpose === 'error',\n 'is-warning': purpose === 'warning',\n 'is-open': isOpen,\n }\"\n role=\"status\"\n aria-live=\"polite\"\n [style.--snackbar-progress-duration]=\"progressMs + 'ms'\"\n [style.top.px]=\"y\"\n >\n <div class=\"snackbar__left\">\n @if(showTitle) {\n <div class=\"snackbar__title-row\">\n <span \n [ngClass]=\"{\n 'snackbar__title-icon': true,\n 'has-icon': showTitle && showTitleIcon\n }\"\n aria-hidden=\"true\"\n >\n @if (showTitle && showTitleIcon) {\n <i [ngClass]=\"titleIconFilled ? 'material-icons' : 'material-icons-outlined'\"\n id=\"snackbar-title-icon\"\n aria-hidden=\"true\"\n >\n {{ titleIcon }}\n </i>\n }\n </span>\n @if (showTitle) {\n <h3 class=\"snackbar__title\">{{ title }}</h3>\n }\n </div>\n }\n <p class=\"snackbar__desc\">\n {{ description }}\n </p>\n @if (showField) {\n <input class=\"snackbar__input\" type=\"text\" [placeholder]=\"fieldPlaceholder\" />\n }\n @if (showButton) {\n <lib-status-button\n label={{statusButtonInputs?.label}}\n [status]=\"status\"\n leftIcon={{statusButtonInputs?.leftIcon}}\n rightIcon={{statusButtonInputs?.rightIcon}}\n [hideLeftIcon]=\"statusButtonInputs?.hideLeftIcon\"\n [hideRightIcon]=\"statusButtonInputs?.hideRightIcon\"\n [clearVariant]=\"statusButtonInputs?.clearVariant\"\n (click)=\"close(true)\"\n ></lib-status-button>\n\n }\n </div>\n <button \n type=\"button\"\n (click)=\"close()\"\n class=\"snackbar__close\"\n aria-label=\"Dismiss\"\n [style.visibility]=\"showClose ? 'visible' : 'hidden'\"\n >\n \u00D7\n </button>\n @if (showProgressBar) {\n <div class=\"snackbar__progress\">\n <div class=\"snackbar__progress-fill\"></div>\n </div>\n }\n </section>\n}\n", styles: [":root{--border-radius-md: 4px;--colors-border-primary: #d0d0d0;--colors-surface-primary: white;--colors-border-information: #457fa6;--colors-surface-information: #ecf2f6;--colors-border-success: #3ba35a;--colors-surface-success: #ebf6ee;--colors-border-warning: #d1c844;--colors-surface-warning: #faf9ec;--colors-border-error: #c73e3d;--colors-surface-error: #f9ecec}.snackbar{--snackbar-border-color: var(--colors-border-primary);--snackbar-bg: var(--colors-surface-primary);--snackbar-text: #141414;--snackbar-title-color: var(--snackbar-text);--snackbar-icon-bg: #e5edf8;--snackbar-accent: #0047ba;--snackbar-input-border: var(--snackbar-border-color);--snackbar-progress: var(--snackbar-accent);display:flex;width:
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.1.0", type: SnackbarComponent, isStandalone: true, selector: "lib-snackbar", inputs: { purpose: "purpose", title: "title", description: "description", fieldPlaceholder: "fieldPlaceholder", titleIcon: "titleIcon", showTitle: ["showTitle", "showTitle", booleanAttribute], showTitleIcon: ["showTitleIcon", "showTitleIcon", booleanAttribute], titleIconFilled: ["titleIconFilled", "titleIconFilled", booleanAttribute], showClose: ["showClose", "showClose", booleanAttribute], showProgressBar: ["showProgressBar", "showProgressBar", booleanAttribute], showField: ["showField", "showField", booleanAttribute], showButton: ["showButton", "showButton", booleanAttribute], autoDismiss: ["autoDismiss", "autoDismiss", booleanAttribute], visible: ["visible", "visible", booleanAttribute], progressMs: "progressMs", y: "y", statusButtonInputs: "statusButtonInputs" }, outputs: { closed: "closed", visibleChange: "visibleChange", buttonClicked: "buttonClicked" }, usesOnChanges: true, ngImport: i0, template: "@if (visible) {\n <section\n class=\"snackbar\"\n [ngClass]=\"{\n 'is-default': purpose === 'default',\n 'is-info': purpose === 'info',\n 'is-success': purpose === 'success',\n 'is-error': purpose === 'error',\n 'is-warning': purpose === 'warning',\n 'is-open': isOpen,\n }\"\n role=\"status\"\n aria-live=\"polite\"\n [style.--snackbar-progress-duration]=\"progressMs + 'ms'\"\n [style.top.px]=\"y\"\n >\n <div class=\"snackbar__left\">\n @if(showTitle) {\n <div class=\"snackbar__title-row\">\n <span \n [ngClass]=\"{\n 'snackbar__title-icon': true,\n 'has-icon': showTitle && showTitleIcon\n }\"\n aria-hidden=\"true\"\n >\n @if (showTitle && showTitleIcon) {\n <i [ngClass]=\"titleIconFilled ? 'material-icons' : 'material-icons-outlined'\"\n id=\"snackbar-title-icon\"\n aria-hidden=\"true\"\n >\n {{ titleIcon }}\n </i>\n }\n </span>\n @if (showTitle) {\n <h3 class=\"snackbar__title\">{{ title }}</h3>\n }\n </div>\n }\n <p class=\"snackbar__desc\">\n {{ description }}\n </p>\n @if (showField) {\n <input class=\"snackbar__input\" type=\"text\" [placeholder]=\"fieldPlaceholder\" />\n }\n @if (showButton) {\n <lib-status-button\n label={{statusButtonInputs?.label}}\n [status]=\"status\"\n leftIcon={{statusButtonInputs?.leftIcon}}\n rightIcon={{statusButtonInputs?.rightIcon}}\n [hideLeftIcon]=\"statusButtonInputs?.hideLeftIcon\"\n [hideRightIcon]=\"statusButtonInputs?.hideRightIcon\"\n [clearVariant]=\"statusButtonInputs?.clearVariant\"\n (click)=\"close(true)\"\n ></lib-status-button>\n\n }\n </div>\n <button \n type=\"button\"\n (click)=\"close()\"\n class=\"snackbar__close\"\n aria-label=\"Dismiss\"\n [style.visibility]=\"showClose ? 'visible' : 'hidden'\"\n >\n \u00D7\n </button>\n @if (showProgressBar) {\n <div class=\"snackbar__progress\">\n <div class=\"snackbar__progress-fill\"></div>\n </div>\n }\n </section>\n}\n", styles: [":root{--border-radius-md: 4px;--colors-border-primary: #d0d0d0;--colors-surface-primary: white;--colors-border-information: #457fa6;--colors-surface-information: #ecf2f6;--colors-border-success: #3ba35a;--colors-surface-success: #ebf6ee;--colors-border-warning: #d1c844;--colors-surface-warning: #faf9ec;--colors-border-error: #c73e3d;--colors-surface-error: #f9ecec}.snackbar{--snackbar-border-color: var(--colors-border-primary);--snackbar-bg: var(--colors-surface-primary);--snackbar-text: #141414;--snackbar-title-color: var(--snackbar-text);--snackbar-icon-bg: #e5edf8;--snackbar-accent: #0047ba;--snackbar-input-border: var(--snackbar-border-color);--snackbar-progress: var(--snackbar-accent);display:flex;width:26.25rem;padding:1.25rem 1rem;justify-content:space-between;align-items:flex-start;gap:.25rem;position:relative;border-radius:var(--border-radius-md, 4px);border:1px solid var(--snackbar-border-color);background:var(--snackbar-bg);box-shadow:1px 1px 4px #00000040;color:var(--snackbar-text)}.snackbar__left{display:grid;gap:.5rem;flex:1 1 auto}.snackbar__left>.snackbar__title-row~*{margin-left:var(--snackbar-right-gutter, 1.85rem)}.snackbar__title-row{display:flex;align-items:center;gap:.25rem}.snackbar__title{margin:0;font-weight:400;font-size:1.2rem;line-height:1.2;color:var(--snackbar-title-color)}.snackbar__title-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em}.snackbar__title-icon.has-icon{border-radius:50%;color:var(--snackbar-accent)}.snackbar__icon{font-weight:700;font-size:1rem;line-height:1}.snackbar__desc{margin:0;opacity:.9}.snackbar__input{width:100%;max-width:100%;box-sizing:border-box;padding:.5em;border-radius:4px;border:1px solid var(--snackbar-input-border);background:#fff;color:inherit}.snackbar__close{margin-left:.5em;border:0;background:transparent;color:inherit;opacity:.7;font-size:1.5rem;padding:.25rem;line-height:1;cursor:pointer}.snackbar__progress{position:absolute;left:0;right:0;bottom:-1px;height:4px;overflow:hidden;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.snackbar__progress-fill{height:100%;width:0%;background:var(--snackbar-progress);animation:fill var(--snackbar-progress-duration, 4s) linear forwards}@keyframes fill{to{width:100%}}.snackbar.is-default{--snackbar-border-color: var(--colors-border-primary, #d0d0d0);--snackbar-bg: var(--colors-surface-primary, white);--snackbar-text: #141414;--snackbar-title-color: #003995;--snackbar-icon-bg: #e5edf8;--snackbar-accent: #003995;--snackbar-input-border: #d0d0d0;--snackbar-progress: #003995}.snackbar.is-info{--snackbar-border-color: var(--colors-border-information, #457fa6);--snackbar-bg: var(--colors-surface-information, #ecf2f6);--snackbar-text: #24495c;--snackbar-title-color: #24495c;--snackbar-icon-bg: #a2bfd3;--snackbar-accent: #306a88;--snackbar-input-border: #a2bfd3;--snackbar-progress: #306a88}.snackbar.is-success{--snackbar-border-color: var(--colors-border-success, #3ba35a);--snackbar-bg: var(--colors-surface-success, #ebf6ee);--snackbar-text: #20522e;--snackbar-title-color: #20522e;--snackbar-icon-bg: #9dd1ac;--snackbar-accent: #2e7d3f;--snackbar-input-border: #9dd1ac;--snackbar-progress: #2e7d3f}.snackbar.is-warning{--snackbar-border-color: var(--colors-border-warning, #d1c844);--snackbar-bg: var(--colors-surface-warning, #faf9ec);--snackbar-text: #514a18;--snackbar-title-color: #514a18;--snackbar-icon-bg: #e8e3a1;--snackbar-accent: #7a6f13;--snackbar-input-border: #d1c844;--snackbar-progress: #7a6f13}.snackbar.is-error{--snackbar-border-color: var(--colors-border-error, #c73e3d);--snackbar-bg: var(--colors-surface-error, #f9ecec);--snackbar-text: #611a1a;--snackbar-title-color: #611a1a;--snackbar-icon-bg: #e39e9e;--snackbar-accent: #912525;--snackbar-input-border: #c73e3d;--snackbar-progress: #912525}.snackbar{position:fixed;top:24px;right:24px;z-index:1000;transform:translate(120%);transition:transform .6s ease}.snackbar.is-open{transform:translate(0)}lib-status-button{--status-button-padding: .25em .5em .25em 0}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: StatusButtonComponent, selector: "lib-status-button", inputs: ["label", "status", "leftIcon", "rightIcon", "hideLeftIcon", "hideRightIcon", "clearVariant"] }] }); }
|
|
97
97
|
}
|
|
98
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImport: i0, type: SnackbarComponent, decorators: [{
|
|
99
99
|
type: Component,
|
|
100
|
-
args: [{ selector: 'lib-snackbar', standalone: true, imports: [NgClass, StatusButtonComponent], template: "@if (visible) {\n <section\n class=\"snackbar\"\n [ngClass]=\"{\n 'is-default': purpose === 'default',\n 'is-info': purpose === 'info',\n 'is-success': purpose === 'success',\n 'is-error': purpose === 'error',\n 'is-warning': purpose === 'warning',\n 'is-open': isOpen,\n }\"\n role=\"status\"\n aria-live=\"polite\"\n [style.--snackbar-progress-duration]=\"progressMs + 'ms'\"\n [style.top.px]=\"y\"\n >\n <div class=\"snackbar__left\">\n @if(showTitle) {\n <div class=\"snackbar__title-row\">\n <span \n [ngClass]=\"{\n 'snackbar__title-icon': true,\n 'has-icon': showTitle && showTitleIcon\n }\"\n aria-hidden=\"true\"\n >\n @if (showTitle && showTitleIcon) {\n <i [ngClass]=\"titleIconFilled ? 'material-icons' : 'material-icons-outlined'\"\n id=\"snackbar-title-icon\"\n aria-hidden=\"true\"\n >\n {{ titleIcon }}\n </i>\n }\n </span>\n @if (showTitle) {\n <h3 class=\"snackbar__title\">{{ title }}</h3>\n }\n </div>\n }\n <p class=\"snackbar__desc\">\n {{ description }}\n </p>\n @if (showField) {\n <input class=\"snackbar__input\" type=\"text\" [placeholder]=\"fieldPlaceholder\" />\n }\n @if (showButton) {\n <lib-status-button\n label={{statusButtonInputs?.label}}\n [status]=\"status\"\n leftIcon={{statusButtonInputs?.leftIcon}}\n rightIcon={{statusButtonInputs?.rightIcon}}\n [hideLeftIcon]=\"statusButtonInputs?.hideLeftIcon\"\n [hideRightIcon]=\"statusButtonInputs?.hideRightIcon\"\n [clearVariant]=\"statusButtonInputs?.clearVariant\"\n (click)=\"close(true)\"\n ></lib-status-button>\n\n }\n </div>\n <button \n type=\"button\"\n (click)=\"close()\"\n class=\"snackbar__close\"\n aria-label=\"Dismiss\"\n [style.visibility]=\"showClose ? 'visible' : 'hidden'\"\n >\n \u00D7\n </button>\n @if (showProgressBar) {\n <div class=\"snackbar__progress\">\n <div class=\"snackbar__progress-fill\"></div>\n </div>\n }\n </section>\n}\n", styles: [":root{--border-radius-md: 4px;--colors-border-primary: #d0d0d0;--colors-surface-primary: white;--colors-border-information: #457fa6;--colors-surface-information: #ecf2f6;--colors-border-success: #3ba35a;--colors-surface-success: #ebf6ee;--colors-border-warning: #d1c844;--colors-surface-warning: #faf9ec;--colors-border-error: #c73e3d;--colors-surface-error: #f9ecec}.snackbar{--snackbar-border-color: var(--colors-border-primary);--snackbar-bg: var(--colors-surface-primary);--snackbar-text: #141414;--snackbar-title-color: var(--snackbar-text);--snackbar-icon-bg: #e5edf8;--snackbar-accent: #0047ba;--snackbar-input-border: var(--snackbar-border-color);--snackbar-progress: var(--snackbar-accent);display:flex;width:
|
|
100
|
+
args: [{ selector: 'lib-snackbar', standalone: true, imports: [NgClass, StatusButtonComponent], template: "@if (visible) {\n <section\n class=\"snackbar\"\n [ngClass]=\"{\n 'is-default': purpose === 'default',\n 'is-info': purpose === 'info',\n 'is-success': purpose === 'success',\n 'is-error': purpose === 'error',\n 'is-warning': purpose === 'warning',\n 'is-open': isOpen,\n }\"\n role=\"status\"\n aria-live=\"polite\"\n [style.--snackbar-progress-duration]=\"progressMs + 'ms'\"\n [style.top.px]=\"y\"\n >\n <div class=\"snackbar__left\">\n @if(showTitle) {\n <div class=\"snackbar__title-row\">\n <span \n [ngClass]=\"{\n 'snackbar__title-icon': true,\n 'has-icon': showTitle && showTitleIcon\n }\"\n aria-hidden=\"true\"\n >\n @if (showTitle && showTitleIcon) {\n <i [ngClass]=\"titleIconFilled ? 'material-icons' : 'material-icons-outlined'\"\n id=\"snackbar-title-icon\"\n aria-hidden=\"true\"\n >\n {{ titleIcon }}\n </i>\n }\n </span>\n @if (showTitle) {\n <h3 class=\"snackbar__title\">{{ title }}</h3>\n }\n </div>\n }\n <p class=\"snackbar__desc\">\n {{ description }}\n </p>\n @if (showField) {\n <input class=\"snackbar__input\" type=\"text\" [placeholder]=\"fieldPlaceholder\" />\n }\n @if (showButton) {\n <lib-status-button\n label={{statusButtonInputs?.label}}\n [status]=\"status\"\n leftIcon={{statusButtonInputs?.leftIcon}}\n rightIcon={{statusButtonInputs?.rightIcon}}\n [hideLeftIcon]=\"statusButtonInputs?.hideLeftIcon\"\n [hideRightIcon]=\"statusButtonInputs?.hideRightIcon\"\n [clearVariant]=\"statusButtonInputs?.clearVariant\"\n (click)=\"close(true)\"\n ></lib-status-button>\n\n }\n </div>\n <button \n type=\"button\"\n (click)=\"close()\"\n class=\"snackbar__close\"\n aria-label=\"Dismiss\"\n [style.visibility]=\"showClose ? 'visible' : 'hidden'\"\n >\n \u00D7\n </button>\n @if (showProgressBar) {\n <div class=\"snackbar__progress\">\n <div class=\"snackbar__progress-fill\"></div>\n </div>\n }\n </section>\n}\n", styles: [":root{--border-radius-md: 4px;--colors-border-primary: #d0d0d0;--colors-surface-primary: white;--colors-border-information: #457fa6;--colors-surface-information: #ecf2f6;--colors-border-success: #3ba35a;--colors-surface-success: #ebf6ee;--colors-border-warning: #d1c844;--colors-surface-warning: #faf9ec;--colors-border-error: #c73e3d;--colors-surface-error: #f9ecec}.snackbar{--snackbar-border-color: var(--colors-border-primary);--snackbar-bg: var(--colors-surface-primary);--snackbar-text: #141414;--snackbar-title-color: var(--snackbar-text);--snackbar-icon-bg: #e5edf8;--snackbar-accent: #0047ba;--snackbar-input-border: var(--snackbar-border-color);--snackbar-progress: var(--snackbar-accent);display:flex;width:26.25rem;padding:1.25rem 1rem;justify-content:space-between;align-items:flex-start;gap:.25rem;position:relative;border-radius:var(--border-radius-md, 4px);border:1px solid var(--snackbar-border-color);background:var(--snackbar-bg);box-shadow:1px 1px 4px #00000040;color:var(--snackbar-text)}.snackbar__left{display:grid;gap:.5rem;flex:1 1 auto}.snackbar__left>.snackbar__title-row~*{margin-left:var(--snackbar-right-gutter, 1.85rem)}.snackbar__title-row{display:flex;align-items:center;gap:.25rem}.snackbar__title{margin:0;font-weight:400;font-size:1.2rem;line-height:1.2;color:var(--snackbar-title-color)}.snackbar__title-icon{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em}.snackbar__title-icon.has-icon{border-radius:50%;color:var(--snackbar-accent)}.snackbar__icon{font-weight:700;font-size:1rem;line-height:1}.snackbar__desc{margin:0;opacity:.9}.snackbar__input{width:100%;max-width:100%;box-sizing:border-box;padding:.5em;border-radius:4px;border:1px solid var(--snackbar-input-border);background:#fff;color:inherit}.snackbar__close{margin-left:.5em;border:0;background:transparent;color:inherit;opacity:.7;font-size:1.5rem;padding:.25rem;line-height:1;cursor:pointer}.snackbar__progress{position:absolute;left:0;right:0;bottom:-1px;height:4px;overflow:hidden;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.snackbar__progress-fill{height:100%;width:0%;background:var(--snackbar-progress);animation:fill var(--snackbar-progress-duration, 4s) linear forwards}@keyframes fill{to{width:100%}}.snackbar.is-default{--snackbar-border-color: var(--colors-border-primary, #d0d0d0);--snackbar-bg: var(--colors-surface-primary, white);--snackbar-text: #141414;--snackbar-title-color: #003995;--snackbar-icon-bg: #e5edf8;--snackbar-accent: #003995;--snackbar-input-border: #d0d0d0;--snackbar-progress: #003995}.snackbar.is-info{--snackbar-border-color: var(--colors-border-information, #457fa6);--snackbar-bg: var(--colors-surface-information, #ecf2f6);--snackbar-text: #24495c;--snackbar-title-color: #24495c;--snackbar-icon-bg: #a2bfd3;--snackbar-accent: #306a88;--snackbar-input-border: #a2bfd3;--snackbar-progress: #306a88}.snackbar.is-success{--snackbar-border-color: var(--colors-border-success, #3ba35a);--snackbar-bg: var(--colors-surface-success, #ebf6ee);--snackbar-text: #20522e;--snackbar-title-color: #20522e;--snackbar-icon-bg: #9dd1ac;--snackbar-accent: #2e7d3f;--snackbar-input-border: #9dd1ac;--snackbar-progress: #2e7d3f}.snackbar.is-warning{--snackbar-border-color: var(--colors-border-warning, #d1c844);--snackbar-bg: var(--colors-surface-warning, #faf9ec);--snackbar-text: #514a18;--snackbar-title-color: #514a18;--snackbar-icon-bg: #e8e3a1;--snackbar-accent: #7a6f13;--snackbar-input-border: #d1c844;--snackbar-progress: #7a6f13}.snackbar.is-error{--snackbar-border-color: var(--colors-border-error, #c73e3d);--snackbar-bg: var(--colors-surface-error, #f9ecec);--snackbar-text: #611a1a;--snackbar-title-color: #611a1a;--snackbar-icon-bg: #e39e9e;--snackbar-accent: #912525;--snackbar-input-border: #c73e3d;--snackbar-progress: #912525}.snackbar{position:fixed;top:24px;right:24px;z-index:1000;transform:translate(120%);transition:transform .6s ease}.snackbar.is-open{transform:translate(0)}lib-status-button{--status-button-padding: .25em .5em .25em 0}\n"] }]
|
|
101
101
|
}], propDecorators: { purpose: [{
|
|
102
102
|
type: Input
|
|
103
103
|
}], title: [{
|
|
@@ -148,4 +148,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.0", ngImpor
|
|
|
148
148
|
}], buttonClicked: [{
|
|
149
149
|
type: Output
|
|
150
150
|
}] } });
|
|
151
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUtOLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNILHFCQUFxQixHQUd4QixNQUFNLDBDQUEwQyxDQUFDOztBQXlCbEQsTUFBTSxrQkFBa0IsR0FBb0M7SUFDeEQsT0FBTyxFQUFFLE1BQU07SUFDZixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDckIsQ0FBQztBQVNGLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRYSxZQUFPLEdBQW9CLFNBQVMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxhQUFhLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsYUFBYSxDQUFDO1FBQ2pDLGNBQVMsR0FBVyxNQUFNLENBQUM7UUFDSSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFB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QUNFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxDQUFDO3NCQUFULEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgU3RhdHVzQnV0dG9uQ29tcG9uZW50LFxuICAgIFN0YXR1cyxcbiAgICBTdGF0dXNCdXR0b25JbnB1dHMsXG59IGZyb20gJy4uL3N0YXR1cy1idXR0b24vc3RhdHVzLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBTbmFja2JhclB1cnBvc2UgPSAnZGVmYXVsdCcgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNuYWNrYmFySW5wdXRzIHtcbiAgICBwdXJwb3NlPzogU25hY2tiYXJQdXJwb3NlO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHRpdGxlSWNvbj86IHN0cmluZztcbiAgICBmaWVsZFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHNob3dUaXRsZT86IGJvb2xlYW47XG4gICAgc2hvd1RpdGxlSWNvbj86IGJvb2xlYW47XG4gICAgdGl0bGVJY29uRmlsbGVkPzogYm9vbGVhbjtcbiAgICBzaG93Q2xvc2U/OiBib29sZWFuO1xuICAgIHNob3dQcm9ncmVzc0Jhcj86IGJvb2xlYW47XG4gICAgc2hvd0ZpZWxkPzogYm9vbGVhbjtcbiAgICBzaG93QnV0dG9uPzogYm9vbGVhbjtcbiAgICBwcm9ncmVzc01zPzogbnVtYmVyO1xuICAgIGF1dG9EaXNtaXNzPzogYm9vbGVhbjtcbiAgICB5PzogbnVtYmVyO1xuICAgIHJpZ2h0PzogbnVtYmVyO1xuICAgIHpJbmRleD86IG51bWJlcjtcbiAgICBzdGF0dXNCdXR0b25JbnB1dHM/OiBTdGF0dXNCdXR0b25JbnB1dHM7XG59XG5cbmNvbnN0IHB1cnBvc2VUb1N0YXR1c01hcDogUmVjb3JkPFNuYWNrYmFyUHVycG9zZSwgU3RhdHVzPiA9IHtcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gICAgaW5mbzogJ2luZm8nLFxuICAgIHN1Y2Nlc3M6ICdzdWNjZXNzJyxcbiAgICBlcnJvcjogJ2Vycm9yJyxcbiAgICB3YXJuaW5nOiAnd2FybmluZycsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1zbmFja2JhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgU3RhdHVzQnV0dG9uQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc25hY2tiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zbmFja2Jhci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgcHVycG9zZTogU25hY2tiYXJQdXJwb3NlID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHRpdGxlID0gJ1NuYWNrYmFyIFRpdGxlJztcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbiA9ICdMb3JlbSBpcHN1bSc7XG4gICAgQElucHV0KCkgZmllbGRQbGFjZWhvbGRlciA9ICdQbGFjZWhvbGRlcic7XG4gICAgQElucHV0KCkgdGl0bGVJY29uOiBzdHJpbmcgPSAnaW5mbyc7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dUaXRsZUljb24gPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aXRsZUljb25GaWxsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0Nsb3NlID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd1Byb2dyZXNzQmFyID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0ZpZWxkID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0J1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9EaXNtaXNzID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgcHJvZ3Jlc3NNcyA9IDUwMDA7XG4gICAgQElucHV0KCkgeSA9IDI0O1xuICAgIEBJbnB1dCgpIHN0YXR1c0J1dHRvbklucHV0cz86IFN0YXR1c0J1dHRvbklucHV0cztcblxuICAgIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZGlzbWlzc1RpbWVyPzogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgRVhJVF9NUyA9IDMwMDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAvLyBlbnRlciBvbiBuZXh0IHRpY2tcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaXNPcGVuID0gdHJ1ZSksIDApO1xuICAgICAgICAgICAgdGhpcy5zdGFydERpc21pc3NUaW1lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ3Zpc2libGUnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vIHdoZW4gcGFyZW50IHRvZ2dsZXMgdmlzaWJsZVxuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIC8vIGJlY29taW5nIHZpc2libGUgLT4gb3BlbiArIChyZSlzdGFydCB0aW1lclxuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5pc09wZW4gPSB0cnVlKSwgMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydERpc21pc3NUaW1lcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBiZWNvbWluZyBoaWRkZW4gLT4gc3RvcCB0aW1lcnMgYW5kIGVuc3VyZSBjbG9zZWQgc3RhdGVcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyRGlzbWlzc1RpbWVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyRGlzbWlzc1RpbWVyKCk7XG4gICAgfVxuXG4gICAgLy8gdXNlZCBieSB0aGUgw5cgYnV0dG9uLCBkb25lIGJ1dHRvbiwgYW5kIGF1dG8tZGlzbWlzc1xuICAgIGNsb3NlKGVtaXRCdXR0b25DbGlja2VkOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbiAmJiAhdGhpcy52aXNpYmxlKSByZXR1cm47XG4gICAgICAgIHRoaXMuY2xlYXJEaXNtaXNzVGltZXIoKTtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTsgLy8gdHJpZ2dlcnMgZXhpdCB0cmFuc2l0aW9uXG5cbiAgICAgICAgLy8gYWZ0ZXIgZXhpdCBhbmltYXRpb24sIGhpZGUgKyBub3RpZnlcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlbWl0QnV0dG9uQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgICAgIH0sIHRoaXMuRVhJVF9NUyk7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBTdGF0dXMge1xuICAgICAgICByZXR1cm4gcHVycG9zZVRvU3RhdHVzTWFwW3RoaXMucHVycG9zZV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydERpc21pc3NUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9EaXNtaXNzKSByZXR1cm47XG4gICAgICAgIHRoaXMuY2xlYXJEaXNtaXNzVGltZXIoKTtcbiAgICAgICAgdGhpcy5kaXNtaXNzVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMucHJvZ3Jlc3NNcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckRpc21pc3NUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzbWlzc1RpbWVyKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5kaXNtaXNzVGltZXIpO1xuICAgICAgICAgICAgdGhpcy5kaXNtaXNzVGltZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKHZpc2libGUpIHtcbiAgICA8c2VjdGlvblxuICAgICAgICBjbGFzcz1cInNuYWNrYmFyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2lzLWRlZmF1bHQnOiBwdXJwb3NlID09PSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAnaXMtaW5mbyc6IHB1cnBvc2UgPT09ICdpbmZvJyxcbiAgICAgICAgICAgICdpcy1zdWNjZXNzJzogcHVycG9zZSA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgJ2lzLWVycm9yJzogcHVycG9zZSA9PT0gJ2Vycm9yJyxcbiAgICAgICAgICAgICdpcy13YXJuaW5nJzogcHVycG9zZSA9PT0gJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2lzLW9wZW4nOiBpc09wZW4sXG4gICAgICAgIH1cIlxuICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgW3N0eWxlLi0tc25hY2tiYXItcHJvZ3Jlc3MtZHVyYXRpb25dPVwicHJvZ3Jlc3NNcyArICdtcydcIlxuICAgICAgICBbc3R5bGUudG9wLnB4XT1cInlcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX19sZWZ0XCI+XG4gICAgICAgICAgICBAaWYoc2hvd1RpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX190aXRsZS1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NuYWNrYmFyX190aXRsZS1pY29uJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFzLWljb24nOiBzaG93VGl0bGUgJiYgc2hvd1RpdGxlSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNob3dUaXRsZSAmJiBzaG93VGl0bGVJY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwidGl0bGVJY29uRmlsbGVkID8gJ21hdGVyaWFsLWljb25zJyA6ICdtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInNuYWNrYmFyLXRpdGxlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGl0bGVJY29uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc2hvd1RpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJzbmFja2Jhcl9fdGl0bGVcIj57eyB0aXRsZSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxwIGNsYXNzPVwic25hY2tiYXJfX2Rlc2NcIj5cbiAgICAgICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgQGlmIChzaG93RmllbGQpIHtcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzbmFja2Jhcl9faW5wdXRcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJmaWVsZFBsYWNlaG9sZGVyXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2hvd0J1dHRvbikge1xuICAgICAgICAgICAgICAgIDxsaWItc3RhdHVzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17e3N0YXR1c0J1dHRvbklucHV0cz8ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICBbc3RhdHVzXT1cInN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgIGxlZnRJY29uPXt7c3RhdHVzQnV0dG9uSW5wdXRzPy5sZWZ0SWNvbn19XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0SWNvbj17e3N0YXR1c0J1dHRvbklucHV0cz8ucmlnaHRJY29ufX1cbiAgICAgICAgICAgICAgICAgICAgW2hpZGVMZWZ0SWNvbl09XCJzdGF0dXNCdXR0b25JbnB1dHM/LmhpZGVMZWZ0SWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRlUmlnaHRJY29uXT1cInN0YXR1c0J1dHRvbklucHV0cz8uaGlkZVJpZ2h0SWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGVhclZhcmlhbnRdPVwic3RhdHVzQnV0dG9uSW5wdXRzPy5jbGVhclZhcmlhbnRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UodHJ1ZSlcIlxuICAgICAgICAgICAgICAgID48L2xpYi1zdGF0dXMtYnV0dG9uPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICBjbGFzcz1cInNuYWNrYmFyX19jbG9zZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGlzbWlzc1wiXG4gICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJzaG93Q2xvc2UgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIMOXXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICBAaWYgKHNob3dQcm9ncmVzc0Jhcikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX19wcm9ncmVzc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbmFja2Jhcl9fcHJvZ3Jlc3MtZmlsbFwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L3NlY3Rpb24+XG59XG4iXX0=
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic25hY2tiYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL3NuYWNrYmFyL3NuYWNrYmFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvc3JjL2xpYi9zbmFja2Jhci9zbmFja2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixLQUFLLEVBQ0wsTUFBTSxFQUtOLGdCQUFnQixHQUNuQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDMUMsT0FBTyxFQUNILHFCQUFxQixHQUd4QixNQUFNLDBDQUEwQyxDQUFDOztBQXlCbEQsTUFBTSxrQkFBa0IsR0FBb0M7SUFDeEQsT0FBTyxFQUFFLE1BQU07SUFDZixJQUFJLEVBQUUsTUFBTTtJQUNaLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDckIsQ0FBQztBQVNGLE1BQU0sT0FBTyxpQkFBaUI7SUFQOUI7UUFRYSxZQUFPLEdBQW9CLFNBQVMsQ0FBQztRQUNyQyxVQUFLLEdBQUcsZ0JBQWdCLENBQUM7UUFDekIsZ0JBQVcsR0FBRyxhQUFhLENBQUM7UUFDNUIscUJBQWdCLEdBQUcsYUFBYSxDQUFDO1FBQ2pDLGNBQVMsR0FBVyxNQUFNLENBQUM7UUFDSSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsSUFBSSxDQUFDO1FBQ3JCLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFDakIsb0JBQWUsR0FBRyxJQUFJLENBQUM7UUFDdkIsY0FBUyxHQUFHLElBQUksQ0FBQztRQUNqQixlQUFVLEdBQUcsSUFB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QUNFLFdBQVc7c0JBQWxELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBQ0UsT0FBTztzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtnQkFDN0IsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxDQUFDO3NCQUFULEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25Jbml0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgYm9vbGVhbkF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NsYXNzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gICAgU3RhdHVzQnV0dG9uQ29tcG9uZW50LFxuICAgIFN0YXR1cyxcbiAgICBTdGF0dXNCdXR0b25JbnB1dHMsXG59IGZyb20gJy4uL3N0YXR1cy1idXR0b24vc3RhdHVzLWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgdHlwZSBTbmFja2JhclB1cnBvc2UgPSAnZGVmYXVsdCcgfCAnaW5mbycgfCAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNuYWNrYmFySW5wdXRzIHtcbiAgICBwdXJwb3NlPzogU25hY2tiYXJQdXJwb3NlO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHRpdGxlSWNvbj86IHN0cmluZztcbiAgICBmaWVsZFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICAgIHNob3dUaXRsZT86IGJvb2xlYW47XG4gICAgc2hvd1RpdGxlSWNvbj86IGJvb2xlYW47XG4gICAgdGl0bGVJY29uRmlsbGVkPzogYm9vbGVhbjtcbiAgICBzaG93Q2xvc2U/OiBib29sZWFuO1xuICAgIHNob3dQcm9ncmVzc0Jhcj86IGJvb2xlYW47XG4gICAgc2hvd0ZpZWxkPzogYm9vbGVhbjtcbiAgICBzaG93QnV0dG9uPzogYm9vbGVhbjtcbiAgICBwcm9ncmVzc01zPzogbnVtYmVyO1xuICAgIGF1dG9EaXNtaXNzPzogYm9vbGVhbjtcbiAgICB5PzogbnVtYmVyO1xuICAgIHJpZ2h0PzogbnVtYmVyO1xuICAgIHpJbmRleD86IG51bWJlcjtcbiAgICBzdGF0dXNCdXR0b25JbnB1dHM/OiBTdGF0dXNCdXR0b25JbnB1dHM7XG59XG5cbmNvbnN0IHB1cnBvc2VUb1N0YXR1c01hcDogUmVjb3JkPFNuYWNrYmFyUHVycG9zZSwgU3RhdHVzPiA9IHtcbiAgICBkZWZhdWx0OiAnaW5mbycsXG4gICAgaW5mbzogJ2luZm8nLFxuICAgIHN1Y2Nlc3M6ICdzdWNjZXNzJyxcbiAgICBlcnJvcjogJ2Vycm9yJyxcbiAgICB3YXJuaW5nOiAnd2FybmluZycsXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2xpYi1zbmFja2JhcicsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbTmdDbGFzcywgU3RhdHVzQnV0dG9uQ29tcG9uZW50XSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc25hY2tiYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsOiAnLi9zbmFja2Jhci5jb21wb25lbnQuc2NzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNuYWNrYmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gICAgQElucHV0KCkgcHVycG9zZTogU25hY2tiYXJQdXJwb3NlID0gJ2RlZmF1bHQnO1xuICAgIEBJbnB1dCgpIHRpdGxlID0gJ1NuYWNrYmFyIFRpdGxlJztcbiAgICBASW5wdXQoKSBkZXNjcmlwdGlvbiA9ICdMb3JlbSBpcHN1bSc7XG4gICAgQElucHV0KCkgZmllbGRQbGFjZWhvbGRlciA9ICdQbGFjZWhvbGRlcic7XG4gICAgQElucHV0KCkgdGl0bGVJY29uOiBzdHJpbmcgPSAnaW5mbyc7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dUaXRsZSA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIHNob3dUaXRsZUljb24gPSB0cnVlO1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSB0aXRsZUljb25GaWxsZWQgPSBmYWxzZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0Nsb3NlID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd1Byb2dyZXNzQmFyID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0ZpZWxkID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2hvd0J1dHRvbiA9IHRydWU7XG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9EaXNtaXNzID0gdHJ1ZTtcbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgdmlzaWJsZSA9IHRydWU7XG4gICAgQElucHV0KCkgcHJvZ3Jlc3NNcyA9IDUwMDA7XG4gICAgQElucHV0KCkgeSA9IDI0O1xuICAgIEBJbnB1dCgpIHN0YXR1c0J1dHRvbklucHV0cz86IFN0YXR1c0J1dHRvbklucHV0cztcblxuICAgIEBPdXRwdXQoKSBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gICAgQE91dHB1dCgpIHZpc2libGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG4gICAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICBpc09wZW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgZGlzbWlzc1RpbWVyPzogbnVtYmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgRVhJVF9NUyA9IDMwMDtcblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy52aXNpYmxlKSB7XG4gICAgICAgICAgICAvLyBlbnRlciBvbiBuZXh0IHRpY2tcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4gKHRoaXMuaXNPcGVuID0gdHJ1ZSksIDApO1xuICAgICAgICAgICAgdGhpcy5zdGFydERpc21pc3NUaW1lcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoJ3Zpc2libGUnIGluIGNoYW5nZXMpIHtcbiAgICAgICAgICAgIC8vIHdoZW4gcGFyZW50IHRvZ2dsZXMgdmlzaWJsZVxuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIC8vIGJlY29taW5nIHZpc2libGUgLT4gb3BlbiArIChyZSlzdGFydCB0aW1lclxuICAgICAgICAgICAgICAgIHRoaXMuaXNPcGVuID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiAodGhpcy5pc09wZW4gPSB0cnVlKSwgMCk7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFydERpc21pc3NUaW1lcigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBiZWNvbWluZyBoaWRkZW4gLT4gc3RvcCB0aW1lcnMgYW5kIGVuc3VyZSBjbG9zZWQgc3RhdGVcbiAgICAgICAgICAgICAgICB0aGlzLmNsZWFyRGlzbWlzc1RpbWVyKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNsZWFyRGlzbWlzc1RpbWVyKCk7XG4gICAgfVxuXG4gICAgLy8gdXNlZCBieSB0aGUgw5cgYnV0dG9uLCBkb25lIGJ1dHRvbiwgYW5kIGF1dG8tZGlzbWlzc1xuICAgIGNsb3NlKGVtaXRCdXR0b25DbGlja2VkOiBib29sZWFuID0gZmFsc2UpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbiAmJiAhdGhpcy52aXNpYmxlKSByZXR1cm47XG4gICAgICAgIHRoaXMuY2xlYXJEaXNtaXNzVGltZXIoKTtcbiAgICAgICAgdGhpcy5pc09wZW4gPSBmYWxzZTsgLy8gdHJpZ2dlcnMgZXhpdCB0cmFuc2l0aW9uXG5cbiAgICAgICAgLy8gYWZ0ZXIgZXhpdCBhbmltYXRpb24sIGhpZGUgKyBub3RpZnlcbiAgICAgICAgd2luZG93LnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHRoaXMudmlzaWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMudmlzaWJsZUNoYW5nZS5lbWl0KGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlbWl0QnV0dG9uQ2xpY2tlZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYnV0dG9uQ2xpY2tlZC5lbWl0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmNsb3NlZC5lbWl0KCk7XG4gICAgICAgIH0sIHRoaXMuRVhJVF9NUyk7XG4gICAgfVxuXG4gICAgZ2V0IHN0YXR1cygpOiBTdGF0dXMge1xuICAgICAgICByZXR1cm4gcHVycG9zZVRvU3RhdHVzTWFwW3RoaXMucHVycG9zZV07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzdGFydERpc21pc3NUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmF1dG9EaXNtaXNzKSByZXR1cm47XG4gICAgICAgIHRoaXMuY2xlYXJEaXNtaXNzVGltZXIoKTtcbiAgICAgICAgdGhpcy5kaXNtaXNzVGltZXIgPSB3aW5kb3cuc2V0VGltZW91dCgoKSA9PiB0aGlzLmNsb3NlKCksIHRoaXMucHJvZ3Jlc3NNcyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjbGVhckRpc21pc3NUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzbWlzc1RpbWVyKSB7XG4gICAgICAgICAgICBjbGVhclRpbWVvdXQodGhpcy5kaXNtaXNzVGltZXIpO1xuICAgICAgICAgICAgdGhpcy5kaXNtaXNzVGltZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCJAaWYgKHZpc2libGUpIHtcbiAgICA8c2VjdGlvblxuICAgICAgICBjbGFzcz1cInNuYWNrYmFyXCJcbiAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgJ2lzLWRlZmF1bHQnOiBwdXJwb3NlID09PSAnZGVmYXVsdCcsXG4gICAgICAgICAgICAnaXMtaW5mbyc6IHB1cnBvc2UgPT09ICdpbmZvJyxcbiAgICAgICAgICAgICdpcy1zdWNjZXNzJzogcHVycG9zZSA9PT0gJ3N1Y2Nlc3MnLFxuICAgICAgICAgICAgJ2lzLWVycm9yJzogcHVycG9zZSA9PT0gJ2Vycm9yJyxcbiAgICAgICAgICAgICdpcy13YXJuaW5nJzogcHVycG9zZSA9PT0gJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2lzLW9wZW4nOiBpc09wZW4sXG4gICAgICAgIH1cIlxuICAgICAgICByb2xlPVwic3RhdHVzXCJcbiAgICAgICAgYXJpYS1saXZlPVwicG9saXRlXCJcbiAgICAgICAgW3N0eWxlLi0tc25hY2tiYXItcHJvZ3Jlc3MtZHVyYXRpb25dPVwicHJvZ3Jlc3NNcyArICdtcydcIlxuICAgICAgICBbc3R5bGUudG9wLnB4XT1cInlcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX19sZWZ0XCI+XG4gICAgICAgICAgICBAaWYoc2hvd1RpdGxlKSB7XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX190aXRsZS1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gXG4gICAgICAgICAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NuYWNrYmFyX190aXRsZS1pY29uJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaGFzLWljb24nOiBzaG93VGl0bGUgJiYgc2hvd1RpdGxlSWNvblxuICAgICAgICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgKHNob3dUaXRsZSAmJiBzaG93VGl0bGVJY29uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwidGl0bGVJY29uRmlsbGVkID8gJ21hdGVyaWFsLWljb25zJyA6ICdtYXRlcmlhbC1pY29ucy1vdXRsaW5lZCdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInNuYWNrYmFyLXRpdGxlLWljb25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3sgdGl0bGVJY29uIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9pPlxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIEBpZiAoc2hvd1RpdGxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJzbmFja2Jhcl9fdGl0bGVcIj57eyB0aXRsZSB9fTwvaDM+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxwIGNsYXNzPVwic25hY2tiYXJfX2Rlc2NcIj5cbiAgICAgICAgICAgICAgICB7eyBkZXNjcmlwdGlvbiB9fVxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgQGlmIChzaG93RmllbGQpIHtcbiAgICAgICAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJzbmFja2Jhcl9faW5wdXRcIiB0eXBlPVwidGV4dFwiIFtwbGFjZWhvbGRlcl09XCJmaWVsZFBsYWNlaG9sZGVyXCIgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiAoc2hvd0J1dHRvbikge1xuICAgICAgICAgICAgICAgIDxsaWItc3RhdHVzLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBsYWJlbD17e3N0YXR1c0J1dHRvbklucHV0cz8ubGFiZWx9fVxuICAgICAgICAgICAgICAgICAgICBbc3RhdHVzXT1cInN0YXR1c1wiXG4gICAgICAgICAgICAgICAgICAgIGxlZnRJY29uPXt7c3RhdHVzQnV0dG9uSW5wdXRzPy5sZWZ0SWNvbn19XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0SWNvbj17e3N0YXR1c0J1dHRvbklucHV0cz8ucmlnaHRJY29ufX1cbiAgICAgICAgICAgICAgICAgICAgW2hpZGVMZWZ0SWNvbl09XCJzdGF0dXNCdXR0b25JbnB1dHM/LmhpZGVMZWZ0SWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtoaWRlUmlnaHRJY29uXT1cInN0YXR1c0J1dHRvbklucHV0cz8uaGlkZVJpZ2h0SWNvblwiXG4gICAgICAgICAgICAgICAgICAgIFtjbGVhclZhcmlhbnRdPVwic3RhdHVzQnV0dG9uSW5wdXRzPy5jbGVhclZhcmlhbnRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UodHJ1ZSlcIlxuICAgICAgICAgICAgICAgID48L2xpYi1zdGF0dXMtYnV0dG9uPlxuXG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY2xvc2UoKVwiXG4gICAgICAgICAgICBjbGFzcz1cInNuYWNrYmFyX19jbG9zZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiRGlzbWlzc1wiXG4gICAgICAgICAgICBbc3R5bGUudmlzaWJpbGl0eV09XCJzaG93Q2xvc2UgPyAndmlzaWJsZScgOiAnaGlkZGVuJ1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIMOXXG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICBAaWYgKHNob3dQcm9ncmVzc0Jhcikge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNuYWNrYmFyX19wcm9ncmVzc1wiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzbmFja2Jhcl9fcHJvZ3Jlc3MtZmlsbFwiPjwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIH1cbiAgICA8L3NlY3Rpb24+XG59XG4iXX0=
|