@posiwise/resource-module 0.0.156 → 0.0.158
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/index.mjs +1 -6
- package/esm2022/lib/public/components/resource-blogs/resource-blog.component.mjs +2 -2
- package/esm2022/lib/public/components/resource-case-studies/resource-case-studies.component.mjs +4 -4
- package/esm2022/lib/public/components/resource-edit-card/resource-edit-card.component.mjs +8 -7
- package/esm2022/lib/public/components/resource-integration/resource-integration.component.mjs +8 -8
- package/esm2022/lib/public/components/resource-post/resource-post.component.mjs +2 -2
- package/esm2022/lib/public/components/resource-release-notes/resource-release-notes.component.mjs +2 -2
- package/esm2022/lib/public/components/resource-top-banner-edit/resource-top-banner-edit.component.mjs +5 -4
- package/esm2022/lib/public/components/resource-videos/resource-videos.component.mjs +2 -2
- package/esm2022/lib/public/components/resource-webinars/resource-webinars.component.mjs +4 -4
- package/esm2022/lib/public/components/resources/resources.component.mjs +2 -2
- package/esm2022/lib/public/components/resources/vault-section/vault-section.component.mjs +5 -4
- package/esm2022/lib/public/components/resources-hub/resources-hub.component.mjs +6 -6
- package/esm2022/lib/public/components/white-papers/white-papers.component.mjs +2 -2
- package/esm2022/lib/public/modules/root/resource-root-shared.module.mjs +7 -14
- package/esm2022/lib/public/shared/resource-cards.module.mjs +2 -2
- package/esm2022/lib/public/shared/resource-shared.module.mjs +7 -14
- package/fesm2022/{posiwise-resource-module-base-top-banner.component-BobVIxuF.mjs → posiwise-resource-module-base-top-banner.component-DO1PhYhj.mjs} +2 -2
- package/fesm2022/{posiwise-resource-module-base-top-banner.component-BobVIxuF.mjs.map → posiwise-resource-module-base-top-banner.component-DO1PhYhj.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-posiwise-resource-module-Dxg4oXim.mjs → posiwise-resource-module-posiwise-resource-module-D61_xv3s.mjs} +49 -893
- package/fesm2022/posiwise-resource-module-posiwise-resource-module-D61_xv3s.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-blogs.module-Bn0PqbZL.mjs → posiwise-resource-module-resource-blogs.module-C4hsKq0s.mjs} +13 -15
- package/fesm2022/{posiwise-resource-module-resource-blogs.module-Bn0PqbZL.mjs.map → posiwise-resource-module-resource-blogs.module-C4hsKq0s.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-case-studies.module-C-BudK3s.mjs → posiwise-resource-module-resource-case-studies.module-CHG6fw2J.mjs} +12 -14
- package/fesm2022/{posiwise-resource-module-resource-case-studies.module-C-BudK3s.mjs.map → posiwise-resource-module-resource-case-studies.module-CHG6fw2J.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-events.module-ykjHYwCy.mjs → posiwise-resource-module-resource-events.module-C2rwKEpj.mjs} +9 -11
- package/fesm2022/{posiwise-resource-module-resource-events.module-ykjHYwCy.mjs.map → posiwise-resource-module-resource-events.module-C2rwKEpj.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-hub.module-Sf9HsvyZ.mjs → posiwise-resource-module-resource-hub.module-CatmeqJc.mjs} +12 -14
- package/fesm2022/{posiwise-resource-module-resource-hub.module-Sf9HsvyZ.mjs.map → posiwise-resource-module-resource-hub.module-CatmeqJc.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-integrations.module-BKKjOgPC.mjs → posiwise-resource-module-resource-integrations.module-DRo_W7x-.mjs} +13 -14
- package/fesm2022/posiwise-resource-module-resource-integrations.module-DRo_W7x-.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-post.module-Bs-C6Ogd.mjs → posiwise-resource-module-resource-post.module-BLwEV9Qw.mjs} +9 -11
- package/fesm2022/{posiwise-resource-module-resource-post.module-Bs-C6Ogd.mjs.map → posiwise-resource-module-resource-post.module-BLwEV9Qw.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-release-notes.module-CMC9Aisw.mjs → posiwise-resource-module-resource-release-notes.module-Bcy8GF4e.mjs} +12 -14
- package/fesm2022/{posiwise-resource-module-resource-release-notes.module-CMC9Aisw.mjs.map → posiwise-resource-module-resource-release-notes.module-Bcy8GF4e.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-root.module-DhgV49hI.mjs → posiwise-resource-module-resource-root.module-CZQ5oqAn.mjs} +19 -26
- package/fesm2022/posiwise-resource-module-resource-root.module-CZQ5oqAn.mjs.map +1 -0
- package/fesm2022/{posiwise-resource-module-resource-videos.module-C_0c_r8v.mjs → posiwise-resource-module-resource-videos.module-CjuurAV9.mjs} +13 -15
- package/fesm2022/{posiwise-resource-module-resource-videos.module-C_0c_r8v.mjs.map → posiwise-resource-module-resource-videos.module-CjuurAV9.mjs.map} +1 -1
- package/fesm2022/{posiwise-resource-module-resource-white-papers.module-DX1QiyKf.mjs → posiwise-resource-module-resource-white-papers.module-Bc-41B2I.mjs} +13 -15
- package/fesm2022/{posiwise-resource-module-resource-white-papers.module-DX1QiyKf.mjs.map → posiwise-resource-module-resource-white-papers.module-Bc-41B2I.mjs.map} +1 -1
- package/fesm2022/posiwise-resource-module.mjs +12 -14
- package/fesm2022/posiwise-resource-module.mjs.map +1 -1
- package/index.d.ts +0 -5
- package/lib/public/components/resource-integration/resource-integration.component.d.ts +1 -1
- package/lib/public/components/resource-top-banner-edit/resource-top-banner-edit.component.d.ts +1 -1
- package/lib/public/components/resources/vault-section/vault-section.component.d.ts +1 -1
- package/lib/public/modules/root/resource-root-shared.module.d.ts +1 -2
- package/lib/public/shared/resource-cards.module.d.ts +1 -1
- package/lib/public/shared/resource-shared.module.d.ts +1 -2
- package/package.json +2 -3
- package/esm2022/lib/public/components/resource-contact-us/resource-contact-us.component.mjs +0 -512
- package/esm2022/lib/public/components/resource-contact-us/resource-contact-us.module.mjs +0 -77
- package/esm2022/lib/public/components/resource-header/resource-header-wrapper.module.mjs +0 -59
- package/esm2022/lib/public/components/resource-header/resource-header.component.mjs +0 -239
- package/esm2022/lib/public/components/resource-header/resource-header.module.mjs +0 -19
- package/fesm2022/posiwise-resource-module-posiwise-resource-module-Dxg4oXim.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-integrations.module-BKKjOgPC.mjs.map +0 -1
- package/fesm2022/posiwise-resource-module-resource-root.module-DhgV49hI.mjs.map +0 -1
- package/lib/public/components/resource-contact-us/resource-contact-us.component.d.ts +0 -126
- package/lib/public/components/resource-contact-us/resource-contact-us.module.d.ts +0 -23
- package/lib/public/components/resource-header/resource-header-wrapper.module.d.ts +0 -16
- package/lib/public/components/resource-header/resource-header.component.d.ts +0 -52
- package/lib/public/components/resource-header/resource-header.module.d.ts +0 -8
package/esm2022/index.mjs
CHANGED
|
@@ -2,16 +2,11 @@ export * from './lib/resource.module';
|
|
|
2
2
|
// Public
|
|
3
3
|
// export * from './lib/public/components/resources-read/resources-read.component';
|
|
4
4
|
// export * from './lib/public/components/resources-hub/resources-hub.component';
|
|
5
|
-
export * from './lib/public/components/resource-contact-us/resource-contact-us.component';
|
|
6
|
-
export * from './lib/public/components/resource-contact-us/resource-contact-us.module';
|
|
7
5
|
export * from './lib/public/resource-public.module';
|
|
8
6
|
export * from './lib/public/shared/resource-shared.module';
|
|
9
7
|
export * from './lib/public/shared/resource-cards.module';
|
|
10
8
|
export * from './lib/public/shared/resource-edit.module';
|
|
11
9
|
export * from './lib/resource.service';
|
|
12
|
-
export * from './lib/public/components/resource-header/resource-header.component';
|
|
13
|
-
export * from './lib/public/components/resource-header/resource-header.module';
|
|
14
|
-
export * from './lib/public/components/resource-header/resource-header-wrapper.module';
|
|
15
10
|
// Shared interfaces
|
|
16
11
|
export * from './lib/shared/resource-modal.interface';
|
|
17
12
|
// Export internal components used by ResourceSharedModule (required for library export)
|
|
@@ -26,4 +21,4 @@ export * from './lib/public/components/resource-vault/resource-vault.component';
|
|
|
26
21
|
export * from './lib/public/components/resource-videos/resource-video-cards/resource-video-cards.component';
|
|
27
22
|
export * from './lib/public/components/resource-webinars/upcoming-event-cards/upcoming-event-cards.component';
|
|
28
23
|
export * from './lib/public/components/testimonial-card/testimonial-card.component';
|
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxTQUFTO0FBQ1QsbUZBQW1GO0FBQ25GLGlGQUFpRjtBQUNqRixjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsd0JBQXdCLENBQUM7QUFFdkMsb0JBQW9CO0FBQ3BCLGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsd0ZBQXdGO0FBQ3hGLGNBQWMsd0VBQXdFLENBQUM7QUFDdkYsY0FBYywrRkFBK0YsQ0FBQztBQUM5RyxjQUFjLCtFQUErRSxDQUFDO0FBQzlGLGNBQWMseUVBQXlFLENBQUM7QUFDeEYsY0FBYyxtRkFBbUYsQ0FBQztBQUNsRyxjQUFjLGlHQUFpRyxDQUFDO0FBQ2hILGNBQWMscUZBQXFGLENBQUM7QUFDcEcsY0FBYyxpRUFBaUUsQ0FBQztBQUNoRixjQUFjLDZGQUE2RixDQUFDO0FBQzVHLGNBQWMsK0ZBQStGLENBQUM7QUFDOUcsY0FBYyxxRUFBcUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL3Jlc291cmNlLm1vZHVsZSc7XG5cbi8vIFB1YmxpY1xuLy8gZXhwb3J0ICogZnJvbSAnLi9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2VzLXJlYWQvcmVzb3VyY2VzLXJlYWQuY29tcG9uZW50Jztcbi8vIGV4cG9ydCAqIGZyb20gJy4vbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlcy1odWIvcmVzb3VyY2VzLWh1Yi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHVibGljL3Jlc291cmNlLXB1YmxpYy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHVibGljL3NoYXJlZC9yZXNvdXJjZS1zaGFyZWQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B1YmxpYy9zaGFyZWQvcmVzb3VyY2UtY2FyZHMubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B1YmxpYy9zaGFyZWQvcmVzb3VyY2UtZWRpdC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcmVzb3VyY2Uuc2VydmljZSc7XG5cbi8vIFNoYXJlZCBpbnRlcmZhY2VzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvcmVzb3VyY2UtbW9kYWwuaW50ZXJmYWNlJztcblxuLy8gRXhwb3J0IGludGVybmFsIGNvbXBvbmVudHMgdXNlZCBieSBSZXNvdXJjZVNoYXJlZE1vZHVsZSAocmVxdWlyZWQgZm9yIGxpYnJhcnkgZXhwb3J0KVxuZXhwb3J0ICogZnJvbSAnLi9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzbGVhc2Utbm90ZS1jYXJkL3JlbGVhc2Utbm90ZS1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZS1jYXNlLXN0dWRpZXMvY2FzZS1zdHVkaWVzLWNhcmRzL2Nhc2Utc3R1ZGllcy1jYXJkcy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtY29tcGFueS1jYXJkL3Jlc291cmNlLWNvbXBhbnktY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtZWRpdC1jYXJkL3Jlc291cmNlLWVkaXQtY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtZWRpdC1jYXJkLWxhenkvcmVzb3VyY2UtZWRpdC1jYXJkLWxhenkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLXBvc3QvcmVsYXRlZC1yZXNvdXJjZXMvcmVzb3VyY2UtY2FyZHMvcmVzb3VyY2UtY2FyZHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLXRvcC1iYW5uZXItZWRpdC9yZXNvdXJjZS10b3AtYmFubmVyLWVkaXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLXZhdWx0L3Jlc291cmNlLXZhdWx0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdWJsaWMvY29tcG9uZW50cy9yZXNvdXJjZS12aWRlb3MvcmVzb3VyY2UtdmlkZW8tY2FyZHMvcmVzb3VyY2UtdmlkZW8tY2FyZHMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLXdlYmluYXJzL3VwY29taW5nLWV2ZW50LWNhcmRzL3VwY29taW5nLWV2ZW50LWNhcmRzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9wdWJsaWMvY29tcG9uZW50cy90ZXN0aW1vbmlhbC1jYXJkL3Rlc3RpbW9uaWFsLWNhcmQuY29tcG9uZW50JztcbiJdfQ==
|
|
@@ -6,9 +6,9 @@ import * as i0 from "@angular/core";
|
|
|
6
6
|
import * as i1 from "../../../resource.service";
|
|
7
7
|
import * as i2 from "@posiwise/common-services";
|
|
8
8
|
import * as i3 from "../resource-post/related-resources/resource-cards/resource-cards.component";
|
|
9
|
-
import * as i4 from "
|
|
9
|
+
import * as i4 from "@posiwise/alpha-module";
|
|
10
10
|
import * as i5 from "@angular/common";
|
|
11
|
-
import * as i6 from "
|
|
11
|
+
import * as i6 from "@posiwise/utils";
|
|
12
12
|
import * as i7 from "./resource-blog-top-banner/resource-blog-top-banner.component";
|
|
13
13
|
export class ResourceBlogComponent extends BaseResourceComponent {
|
|
14
14
|
constructor(resourceService, tagService, authService, injector) {
|
package/esm2022/lib/public/components/resource-case-studies/resource-case-studies.component.mjs
CHANGED
|
@@ -9,10 +9,10 @@ import * as i2 from "@posiwise/common-services";
|
|
|
9
9
|
import * as i3 from "@angular/platform-browser";
|
|
10
10
|
import * as i4 from "../resource-top-banner-edit/resource-top-banner-edit.component";
|
|
11
11
|
import * as i5 from "./case-studies-cards/case-studies-cards.component";
|
|
12
|
-
import * as i6 from "
|
|
12
|
+
import * as i6 from "@posiwise/alpha-module";
|
|
13
13
|
import * as i7 from "@angular/common";
|
|
14
|
-
import * as i8 from "@posiwise/
|
|
15
|
-
import * as i9 from "
|
|
14
|
+
import * as i8 from "@posiwise/utils";
|
|
15
|
+
import * as i9 from "@posiwise/directives";
|
|
16
16
|
import * as i10 from "../testimonial-card/testimonial-card.component";
|
|
17
17
|
export class ResourceCaseStudiesComponent extends BaseResourceComponent {
|
|
18
18
|
constructor(resourceService, tagService, authService, titleService, injector) {
|
|
@@ -69,7 +69,7 @@ export class ResourceCaseStudiesComponent extends BaseResourceComponent {
|
|
|
69
69
|
metaDescription.setAttribute('content', description);
|
|
70
70
|
}
|
|
71
71
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCaseStudiesComponent, deps: [{ token: i1.ResourceService }, { token: i2.TagService }, { token: i2.AuthService }, { token: i3.Title }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
72
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceCaseStudiesComponent, selector: "pw-resource-case-studies", usesInheritance: true, ngImport: i0, template: "<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"resource-heading\">\n <h1 class=\"resource-header-text mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Case Studies'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"canEditResourcesValue\"\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\" *ngIf=\"!blogPostTag?.description\">Real solutions - real results.<br /></p>\n </ng-template>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\" ></div>\n <img class=\"resource-laptop-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource//case-studies-man.png'\"\n alt=\"Case studies Tag\"\n alt=\"Case studies banner\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n\n </div>\n </div>\n</section>\n\n<pw-testimonial-card [posts]=\"testimonialsPosts\" [postHeader]=\"'Testimonials'\" [canEdit]=\"canEditResourcesValue\" (editPost)=\"getTestimonialsPosts(1, 100)\" id=\"reviews\"></pw-testimonial-card>\n<pw-case-studies-card *ngIf=\"blogPostTag?.tag_category_id\" [tag]=\"blogPostTag\" id=\"case-studies\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-case-studies-card>\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n", styles: ["@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}@media (width <= 768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color);margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.resource-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media (width <= 1200px){.resource-banner .container{padding:7rem 3rem 0rem!important}}.resource-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.resource-banner .container{position:relative;z-index:2}.resource-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.resource-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.resource-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.resource-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.resource-banner .text-content .cta-buttons{margin-top:2rem}.resource-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.resource-banner .resource-header-text{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.resource-banner .blue-text{font-weight:100}@media (width <= 991px){.resource-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.resource-banner .text-content h1{margin-bottom:6.5rem!important}.resource-banner .resource-header-text{font-size:2.5rem!important}.resource-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.resource-banner .note{margin-left:8rem!important}.resource-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.resource-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.resource-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.resource-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.resource-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.resource-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.resource-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.resource-banner .image-content .resource-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media (width >= 991px){.resource-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.resource-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.resource-divider{top:63.5rem;position:absolute!important}.resource-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.resource-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media (width >= 1200px){.resource-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .resource-laptop-img{top:4rem;left:2rem;position:relative}.image-content .resource-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 704px) and (width <= 768px){.resource-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 786px) and (width <= 991px){.resource-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 991px) and (width <= 1200px){.resource-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .resource-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 991px){.resource-banner{padding-bottom:15rem}}@media (width <= 768px){.resource-math-img{top:18rem}.cta-btn{justify-content:center}.resource-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.cta-btn{justify-content:center}.resource-divider{margin-top:36rem!important}}@media (width >= 991px){.resource-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.resource-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (max-width: 991px){.resource-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.resource-banner .text-content,.resource-banner .text-extension,.resource-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.resource-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.resource-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.resource-banner .resource-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.resource-banner{padding:2rem 0 0rem!important}}@media (max-width: 575px){.resource-banner:after{height:45%}}\n"], dependencies: [{ kind: "component", type: i4.ResourceTopBannerEditComponent, selector: "pw-resource-top-banner-edit", inputs: ["blogPostTag", "user", "userLoggedIn"], outputs: ["getUpdatedTag"] }, { kind: "component", type: i5.CaseStudyCardComponent, selector: "pw-case-studies-card", inputs: ["showCaseStudyHeader", "categoryId", "postSlice", "tag", "resourceTitle", "user", "userLoggedIn"] }, { kind: "component", type: i6.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName", "shardName", "user", "userLoggedIn"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.LazyImgDirective, selector: "img" }, { kind: "component", type: i9.ResourceHeaderComponent, selector: "pw-resource-header", inputs: ["user", "userLoggedIn"] }, { kind: "component", type: i10.TestimonialCardListComponent, selector: "pw-testimonial-card", inputs: ["posts", "postHeader", "canEdit"], outputs: ["editPost"] }] }); }
|
|
72
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceCaseStudiesComponent, selector: "pw-resource-case-studies", usesInheritance: true, ngImport: i0, template: "<pw-resource-header [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-resource-header>\n\n<section class=\"bg-white pricing-section\">\n <div class=\"resource-banner\">\n <div class=\"container d-flex flex-column flex-lg-row align-items-center justify-content-between\" *ngIf=\"isLoaded\">\n\n <!-- Left Content -->\n <div class=\"text-content\">\n <div class=\"resource-heading\">\n <h1 class=\"resource-header-text mb-4\">\n <span class=\"d-inline-flex align-items-center gap-2 flex-wrap\">\n <span [innerHTML]=\"blogPostTag?.title || 'Case Studies'\"></span>\n <pw-resource-top-banner-edit\n *ngIf=\"canEditResourcesValue\"\n [blogPostTag]=\"blogPostTag\"\n [user]=\"user\"\n [userLoggedIn]=\"userLoggedIn\"\n (getUpdatedTag)=\"getPostTags()\"\n ></pw-resource-top-banner-edit>\n </span>\n <span class=\"blue-text\"></span>\n </h1>\n </div>\n </div>\n\n <!-- Add directly below .text-content, still inside .container -->\n <div class=\"text-extension mt-4\">\n\n <div class=\"cta-buttons d-flex flex-column justify-between h-100\">\n <div class=\"flex-grow-1\">\n <ng-container *ngIf=\"blogPostTag?.description && blogPostTag.description !== 'null' ; else defaultDescription\">\n <p class=\"intro\" [innerHTML]=\"blogPostTag.description\"></p>\n </ng-container>\n <ng-template #defaultDescription>\n <p class=\"intro\" *ngIf=\"!blogPostTag?.description\">Real solutions - real results.<br /></p>\n </ng-template>\n </div>\n </div>\n</div>\n\n <!-- Right Content -->\n <div class=\"image-content ms-lg-5 mt-5 mt-lg-0\">\n <div class=\"resource-math-img\" ></div>\n <img class=\"resource-laptop-img\"\n [src]=\"(blogPostTag?.image?.url && !(blogPostTag?.image?.url.includes('no_image_uploaded_squared'))) ? blogPostTag?.image?.url : '/assets/img/resource//case-studies-man.png'\"\n alt=\"Case studies Tag\"\n alt=\"Case studies banner\"\n loading=\"eager\"\n fetchpriority=\"high\" />\n </div>\n\n </div>\n </div>\n</section>\n\n<pw-testimonial-card [posts]=\"testimonialsPosts\" [postHeader]=\"'Testimonials'\" [canEdit]=\"canEditResourcesValue\" (editPost)=\"getTestimonialsPosts(1, 100)\" id=\"reviews\"></pw-testimonial-card>\n<pw-case-studies-card *ngIf=\"blogPostTag?.tag_category_id\" [tag]=\"blogPostTag\" id=\"case-studies\" [categoryId]=\"blogPostTag?.tag_category_id\" [resourceTitle]=\"blogPostTag?.title\" [postSlice]=\"true\" [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-case-studies-card>\n\n<pw-trial-4-contact-us [user]=\"user\" [userLoggedIn]=\"userLoggedIn\"></pw-trial-4-contact-us>\n", styles: ["@charset \"UTF-8\";.cta-btn{display:inline-block;background:var(--text-color, black);color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem;border:1px solid;box-shadow:none!important;border-color:var(--text-color, textColor)}.cta-btn:hover{background-color:#fff!important;color:var(--text-color, black)!important}@media (width <= 768px){.dyn-img{top:-3rem!important}}.text-extension{max-width:560px}.text-extension .intro{font-size:2rem;line-height:3rem;font-weight:400;color:var(--text-color);margin-bottom:1rem}.text-extension .cta-buttons{margin-top:2rem!important}.text-extension .note{font-size:1.2rem;color:#000;margin-top:1rem;margin-left:3rem}.resource-banner{box-shadow:0 4px 32px -14px #40576d4d!important;position:relative;padding:5rem 0;color:#fff;background:linear-gradient(90deg,var(--first) 0%,#a8e1fb 100%);overflow:hidden;z-index:2}@media (width <= 1200px){.resource-banner .container{padding:7rem 3rem 0rem!important}}.resource-banner:after{content:\"\";position:absolute;bottom:0;left:0;width:100%;height:61%;background:#fff;clip-path:polygon(0 18%,100% 0%,100% 100%,0% 100%)}.resource-banner .container{position:relative;z-index:2}.resource-banner .text-content{max-width:500px;text-align:left;margin-bottom:75rem}.resource-banner .text-content h1{margin-bottom:1.5rem;line-height:1.2}.resource-banner .text-content .intro{font-size:1.2rem;margin:1rem 0;color:#000}.resource-banner .text-content .cta-btn{display:inline-block;background:#000;color:#fff;padding:1rem 2rem;border-radius:40px;font-weight:500;text-decoration:none;font-size:1.4rem}.resource-banner .text-content .cta-buttons{margin-top:2rem}.resource-banner .text-content .note{margin-top:1rem;margin-left:5.6rem;font-size:.9rem;color:#555}.resource-banner .resource-header-text{max-width:500px;font-weight:500;color:#fff!important;font-size:4.5rem!important}.resource-banner .blue-text{font-weight:100}@media (width <= 991px){.resource-banner .text-content{margin-top:1.5rem;margin-bottom:0;text-align:center;max-width:360px}.resource-banner .text-content h1{margin-bottom:6.5rem!important}.resource-banner .resource-header-text{font-size:2.5rem!important}.resource-banner .cta-buttons{margin-top:0rem!important;justify-content:center!important}.resource-banner .note{margin-left:8rem!important}.resource-banner .image-content{position:relative;margin-bottom:3rem;height:230px}.resource-banner .image-content .floating-box{position:absolute;top:25px;left:3rem;transform:translate(-50%) rotate(-10deg);background:#fff;padding:.75rem 1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;z-index:3;display:inline-block;width:auto}.resource-banner .image-content .floating-box img{width:24px;margin-bottom:.4rem}.resource-banner .image-content .floating-box .label{font-size:.75rem;color:#333;margin:0;line-height:1.2}.resource-banner .image-content .floating-box .count{font-size:1.2rem;font-weight:700;color:#000;margin-top:.25rem}.resource-banner .image-content .screen-img{max-width:280px;position:absolute;bottom:0;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003}.resource-banner .image-content .person-img{max-width:170px;width:100%;position:relative;z-index:3;left:13rem;top:-11.35rem}.resource-banner .image-content .resource-laptop-img{max-width:300px;width:100%;position:relative;z-index:3;margin-top:3rem;left:2%;height:auto!important;top:4rem}}@media (width >= 991px){.resource-banner .text-content{position:absolute;width:760px}}.white-content{background:#fff;color:#000}.white-content .intro{font-size:1.2rem;color:#000}.white-content .note{font-size:.85rem;margin-top:1rem;color:#555}@media (width >= 991px){.section-outer{padding-top:7rem!important}}@media (width >= 768px) and (width <= 991px){.resource-math-img{left:36%!important;top:22rem!important}}@media (width >= 991px) and (width <= 1200px){.text-extension{max-width:760px;position:absolute;margin-bottom:23rem!important}.resource-divider{top:63.5rem;position:absolute!important}.resource-banner{padding-bottom:90px!important}}@media (width >= 1200px){.text-extension{max-width:500px;position:absolute;margin-bottom:31rem!important}.resource-laptop-img{width:100%;max-width:800px!important;max-height:800px!important;height:auto}}@media (width >= 1200px){.resource-divider{top:59.5rem;position:absolute!important}.cta-tab{margin-bottom:5rem!important}}@media (width >= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .resource-laptop-img{top:4rem;left:2rem;position:relative}.image-content .resource-math-img{bottom:9rem;left:61rem;position:relative;height:312px;margin-right:1rem;min-width:450px!important}}@media (width <= 786px){.text-extension{position:absolute;margin:3rem;margin-top:11rem!important}}@media (width >= 786px) and (width <= 991px){.text-extension{position:absolute;margin:3rem;margin-top:24rem!important}}@media (width >= 704px) and (width <= 768px){.resource-laptop-img{top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 786px) and (width <= 991px){.resource-laptop-img{max-width:250px!important;top:18rem!important;right:30%!important;left:auto!important}}@media (width >= 991px) and (width <= 1200px){.resource-laptop-img{top:7rem;left:3%;position:relative;width:100%;max-width:600px!important;height:auto}}@media (width >= 786px) and (width <= 1200px){.image-content{margin-top:0;display:flex;align-items:flex-end;gap:1.5rem;height:0}.image-content .floating-box{position:absolute;top:25px;transform:translate(-50%) rotate(-10deg);background:#fff;padding:1rem;border-radius:20px;box-shadow:0 8px 30px #00000026;text-align:center;width:170px;z-index:3}.image-content .floating-box img{width:30px;margin-bottom:.5rem}.image-content .floating-box .label{font-size:.85rem;color:#333;margin:0}.image-content .floating-box .count{font-size:1.5rem;font-weight:700;color:#000;margin:.25rem 0 0}.image-content .screen-img{width:100%;position:absolute;bottom:5rem;left:3rem;z-index:2;transform:rotate(-1deg);box-shadow:0 8px 15px #0003;max-width:400px;margin-bottom:4rem}.image-content .person-img{max-width:800px;width:100%;position:relative;z-index:3;min-width:420px;margin-bottom:0;bottom:7rem;left:4rem}.image-content .resource-math-img{height:243px!important;min-width:350px;bottom:9rem;left:34rem;position:relative;width:350px!important}}@media (width <= 991px){.resource-banner{padding-bottom:15rem}}@media (width <= 768px){.resource-math-img{top:18rem}.cta-btn{justify-content:center}.resource-divider{margin-top:49rem!important}.intro{font-size:1.7rem!important}}@media (width >= 768px) and (width <= 991px){.cta-btn{justify-content:center}.resource-divider{margin-top:36rem!important}}@media (width >= 991px){.resource-banner{padding-top:768px;padding-bottom:42px;overflow:hidden}.section-fadeout{height:40px;width:100%;background:linear-gradient(to bottom,#fff0,#f8f9fa)}.resource-heading{width:700px!important}::ng-deep .vault-section{max-width:1580px!important;padding-left:48px!important;padding-top:130px!important}}@media (width <= 991px){.billing-section{flex-direction:column!important;gap:3rem}.billing-section .billing-section1,.billing-section .billing-section2{width:90%!important}.billing-section .billing-section1{margin-left:1.5rem;margin-top:4rem}}@media (width >= 768px) and (width <= 1200px){.container{padding:0 6rem!important}.outer-section-fadeout{top:62rem!important}}@media (max-width: 991px){.resource-banner .container{display:flex;flex-direction:column;align-items:flex-start;min-height:auto}.resource-banner .text-content,.resource-banner .text-extension,.resource-banner .image-content{position:static!important;left:auto;top:auto;max-width:100%;margin:0!important}.resource-banner .text-content{margin-bottom:0!important}.text-extension{margin-top:1rem!important}.resource-banner .image-content{width:100%;height:auto;align-self:center;margin-top:auto!important}.resource-banner .resource-laptop-img{position:static!important;max-width:260px;width:100%;height:auto!important}.resource-banner{padding:2rem 0 0rem!important}}@media (max-width: 575px){.resource-banner:after{height:45%}}\n"], dependencies: [{ kind: "component", type: i4.ResourceTopBannerEditComponent, selector: "pw-resource-top-banner-edit", inputs: ["blogPostTag", "user", "userLoggedIn"], outputs: ["getUpdatedTag"] }, { kind: "component", type: i5.CaseStudyCardComponent, selector: "pw-case-studies-card", inputs: ["showCaseStudyHeader", "categoryId", "postSlice", "tag", "resourceTitle", "user", "userLoggedIn"] }, { kind: "component", type: i6.Trial4ContactUsComponent, selector: "pw-trial-4-contact-us", inputs: ["subscriptionId", "sourceId", "masterSubscriptionId", "experimentName", "microserviceName", "shardName", "user", "userLoggedIn"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i8.ResourceHeaderComponent, selector: "pw-resource-header", inputs: ["user", "userLoggedIn"] }, { kind: "directive", type: i9.LazyImgDirective, selector: "img" }, { kind: "component", type: i10.TestimonialCardListComponent, selector: "pw-testimonial-card", inputs: ["posts", "postHeader", "canEdit"], outputs: ["editPost"] }] }); }
|
|
73
73
|
}
|
|
74
74
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceCaseStudiesComponent, decorators: [{
|
|
75
75
|
type: Component,
|
|
@@ -14,11 +14,12 @@ import * as i4 from "@posiwise/common-services";
|
|
|
14
14
|
import * as i5 from "@angular/common";
|
|
15
15
|
import * as i6 from "primeng/calendar";
|
|
16
16
|
import * as i7 from "primeng/autocomplete";
|
|
17
|
-
import * as i8 from "@posiwise/
|
|
18
|
-
import * as i9 from "@posiwise/
|
|
19
|
-
import * as i10 from "
|
|
20
|
-
import * as i11 from "ngx-
|
|
21
|
-
import * as i12 from "
|
|
17
|
+
import * as i8 from "@posiwise/utils";
|
|
18
|
+
import * as i9 from "@posiwise/shared-components";
|
|
19
|
+
import * as i10 from "@posiwise/directives";
|
|
20
|
+
import * as i11 from "ngx-quill";
|
|
21
|
+
import * as i12 from "ngx-ui-switch";
|
|
22
|
+
import * as i13 from "@jsverse/transloco";
|
|
22
23
|
export class ResourceEditCardComponent extends AppBaseComponent {
|
|
23
24
|
constructor(fb, modalService, resourceService, authService, tagService, injector) {
|
|
24
25
|
super(injector);
|
|
@@ -214,7 +215,7 @@ export class ResourceEditCardComponent extends AppBaseComponent {
|
|
|
214
215
|
HelperService.handleImageFallbackPath(event, fallbackPath);
|
|
215
216
|
}
|
|
216
217
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceEditCardComponent, deps: [{ token: i1.FormBuilder }, { token: i2.NgbModal }, { token: i3.ResourceService }, { token: i4.AuthService }, { token: i4.TagService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
217
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceEditCardComponent, selector: "pw-resource-edit-card", inputs: { id: "id", resourceData: "resourceData" }, outputs: { updated: "updated" }, usesInheritance: true, ngImport: i0, template: "<div class=\"edit-card\">\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center mb-2\"\n (click)=\"openModal(editResourceModal)\"\n (keydown.enter)=\"openModal(editResourceModal)\"\n (keydown.space)=\"openModal(editResourceModal)\"\n title=\"Edit Resource\"></i>\n</div>\n\n<ng-template #editResourceModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Resource</h5>\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center ms-3\"\n (click)=\"navigateToResourceEdit()\"\n (keydown.enter)=\"navigateToResourceEdit()\"\n (keydown.space)=\"navigateToResourceEdit()\"\n title=\"Go to the main edit page\"></i>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <form [formGroup]=\"editForm\">\n <div class=\"row\">\n\n\n <div class=\"col-12\">\n <pw-input-container label=\"Title\" name=\"title\">\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <pw-input-container label=\"CTA Text\" name=\"cta_text\" class=\"col-md-6\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"cta_text\" />\n </pw-input-container>\n\n <pw-input-container label=\"External URL\" name=\"external_url\" class=\"col-md-6\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.ExternalUrl' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"external_url\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12\">\n <pw-input-container\n [label]=\"'Resource.Posts.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Resource.Posts.Validation.Body' | transloco\">\n <quill-editor\n [styles]=\"{ height: '300px' }\"\n class=\"quillEditor\"\n [modules]=\"editorConfig\"\n formControlName=\"body\"\n [ngClass]=\"{\n 'w-100': true,\n 'quill-container': true,\n 'is-invalid': submitted && f['body'].errors\n }\">\n </quill-editor>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-3 col-sm-6\">\n <pw-input-container\n [label]=\"'Resource.Posts.When' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.When' | transloco\"\n name=\"when\">\n <p-calendar formControlName=\"when\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Select Date'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['when'].errors }\">\n </p-calendar>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-8\">\n <pw-input-container\n [label]=\"'Resource.Posts.Tags' | transloco\"\n class=\"ui-fluid skills-modal tags\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\"\n name=\"cta_text\">\n <p-autoComplete [(ngModel)]=\"selectedTags\"\n class=\"body-bg\"\n [suggestions]=\"tagsSuggestion\"\n dataKey=\"id\"\n field=\"name\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n [minLength]=\"1\"\n [maxlength]=\"10\"\n [dropdown]=\"true\"\n [ngModelOptions]=\"{ standalone: true }\"\n placeholder=\"Tags\"\n [multiple]=\"true\">\n </p-autoComplete>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'SHOWCASE'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Mark as showcase post'\"\n name=\"showcase\">\n <ui-switch formControlName=\"showcase\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'PUBLISHED'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Set to publish the post'\"\n name=\"published_at\">\n <ui-switch formControlName=\"published_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'ACCEPTED BY ADMIN'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Indicates approval by admin'\"\n name=\"accepted_at\">\n <ui-switch formControlName=\"accepted_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"coverPicture\">{{ 'Resource.Posts.CoverPicture' | transloco }}</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(image && !image.includes('default-photo.jpg')) ? image : 'assets/img/resource/blog.png'\"\n (click)=\"openImageModal(imageCropContent)\"\n (keydown.enter)=\"openImageModal(imageCropContent)\"\n class=\"image w-100\"\n alt=\"Modal\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openImageModal(imageCropContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"image && !image.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"removeImage()\"\n (keydown.enter)=\"removeImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"rectangularPicture\">Rectangular Picture</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(rectangularImage && !rectangularImage.includes('default-photo.jpg')) ? rectangularImage : 'assets/img/resource/blog.png'\"\n (click)=\"openRectModal(rectContent)\"\n (keydown.enter)=\"openRectModal(rectContent)\"\n class=\"image w-100\"\n alt=\"Uploaded rectangular media preview\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openRectModal(rectContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"rectangularImage && !rectangularImage.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"deleteRectangularImage()\"\n (keydown.enter)=\"deleteRectangularImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </form>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" [buttonBusy]=\"buttonBusy\" (click)=\"saveResource()\">Save</button>\n </div>\n</ng-template>\n\n<ng-template #imageCropContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onImageSelected($event)\"\n (closeEvent)=\"modal.close()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n\n<ng-template #rectContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n #profile\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onRectangularImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-content{margin-top:5rem!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i7.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i8.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio", "dynamicData"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "component", type: i8.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i9.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i9.LazyImgDirective, selector: "img" }, { kind: "component", type: i10.QuillEditorComponent, selector: "quill-editor" }, { kind: "component", type: i11.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "pipe", type: i12.TranslocoPipe, name: "transloco" }] }); }
|
|
218
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ResourceEditCardComponent, selector: "pw-resource-edit-card", inputs: { id: "id", resourceData: "resourceData" }, outputs: { updated: "updated" }, usesInheritance: true, ngImport: i0, template: "<div class=\"edit-card\">\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center mb-2\"\n (click)=\"openModal(editResourceModal)\"\n (keydown.enter)=\"openModal(editResourceModal)\"\n (keydown.space)=\"openModal(editResourceModal)\"\n title=\"Edit Resource\"></i>\n</div>\n\n<ng-template #editResourceModal let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Edit Resource</h5>\n <i class=\"fa fa-edit cursor-pointer text-dark in-page-edit-icon d-flex justify-content-center ms-3\"\n (click)=\"navigateToResourceEdit()\"\n (keydown.enter)=\"navigateToResourceEdit()\"\n (keydown.space)=\"navigateToResourceEdit()\"\n title=\"Go to the main edit page\"></i>\n <button type=\"button\" class=\"btn-close\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n\n <div class=\"modal-body\">\n <form [formGroup]=\"editForm\">\n <div class=\"row\">\n\n\n <div class=\"col-12\">\n <pw-input-container label=\"Title\" name=\"title\">\n <input type=\"text\" class=\"form-control\" formControlName=\"title\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <pw-input-container label=\"CTA Text\" name=\"cta_text\" class=\"col-md-6\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"cta_text\" />\n </pw-input-container>\n\n <pw-input-container label=\"External URL\" name=\"external_url\" class=\"col-md-6\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.ExternalUrl' | transloco\">\n <input type=\"text\" class=\"form-control\" formControlName=\"external_url\" />\n </pw-input-container>\n </div>\n\n <div class=\"col-12\">\n <pw-input-container\n [label]=\"'Resource.Posts.Body' | transloco\"\n name=\"body\"\n [errorMsg]=\"'Resource.Posts.Validation.Body' | transloco\">\n <quill-editor\n [styles]=\"{ height: '300px' }\"\n class=\"quillEditor\"\n [modules]=\"editorConfig\"\n formControlName=\"body\"\n [ngClass]=\"{\n 'w-100': true,\n 'quill-container': true,\n 'is-invalid': submitted && f['body'].errors\n }\">\n </quill-editor>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-3 col-sm-6\">\n <pw-input-container\n [label]=\"'Resource.Posts.When' | transloco\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.When' | transloco\"\n name=\"when\">\n <p-calendar formControlName=\"when\"\n [showIcon]=\"true\"\n dateFormat=\"dd-M-yy\"\n [placeholder]=\"'Select Date'\"\n [ngClass]=\"{ 'is-invalid': submitted && f['when'].errors }\">\n </p-calendar>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 col-md-8\">\n <pw-input-container\n [label]=\"'Resource.Posts.Tags' | transloco\"\n class=\"ui-fluid skills-modal tags\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Resource.Posts.Tooltip.CtaText' | transloco\"\n name=\"cta_text\">\n <p-autoComplete [(ngModel)]=\"selectedTags\"\n class=\"body-bg\"\n [suggestions]=\"tagsSuggestion\"\n dataKey=\"id\"\n field=\"name\"\n (completeMethod)=\"search($event)\"\n styleClass=\"w-100\"\n [minLength]=\"1\"\n [maxlength]=\"10\"\n [dropdown]=\"true\"\n [ngModelOptions]=\"{ standalone: true }\"\n placeholder=\"Tags\"\n [multiple]=\"true\">\n </p-autoComplete>\n </pw-input-container>\n </div>\n\n <div class=\"col-12 row\">\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'SHOWCASE'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Mark as showcase post'\"\n name=\"showcase\">\n <ui-switch formControlName=\"showcase\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'PUBLISHED'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Set to publish the post'\"\n name=\"published_at\">\n <ui-switch formControlName=\"published_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n\n <div class=\"col-md-4 col-sm-6\">\n <pw-input-container\n [label]=\"'ACCEPTED BY ADMIN'\"\n [showTooltip]=\"true\"\n [tooltipText]=\"'Indicates approval by admin'\"\n name=\"accepted_at\">\n <ui-switch formControlName=\"accepted_at\" class=\"d-block\"></ui-switch>\n </pw-input-container>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"coverPicture\">{{ 'Resource.Posts.CoverPicture' | transloco }}</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(image && !image.includes('default-photo.jpg')) ? image : 'assets/img/resource/blog.png'\"\n (click)=\"openImageModal(imageCropContent)\"\n (keydown.enter)=\"openImageModal(imageCropContent)\"\n class=\"image w-100\"\n alt=\"Modal\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openImageModal(imageCropContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"image && !image.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"removeImage()\"\n (keydown.enter)=\"removeImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n <div class=\"col-12 col-md-4 col-sm-4 my-4 ms-3\">\n <div class=\"text-center mb-4\">\n <label for=\"rectangularPicture\">Rectangular Picture</label>\n <div class=\"text-center d-flex flex-column align-items-center\">\n <img [src]=\"(rectangularImage && !rectangularImage.includes('default-photo.jpg')) ? rectangularImage : 'assets/img/resource/blog.png'\"\n (click)=\"openRectModal(rectContent)\"\n (keydown.enter)=\"openRectModal(rectContent)\"\n class=\"image w-100\"\n alt=\"Uploaded rectangular media preview\"\n (error)=\"handleImageError($event, 'assets/img/resource/blog.png')\" />\n <div class=\"d-flex justify-content-between align-items-center mt-2\">\n <a class=\"d-inline-block\" (click)=\"openRectModal(rectContent)\">\n {{ slug !== 'create' ? 'Edit' : 'Add' }} Picture\n </a>\n <i *ngIf=\"rectangularImage && !rectangularImage.includes('default-photo.jpg')\"\n class=\"fa fa-trash delete-icon text-danger ms-2 cursor-pointer\"\n title=\"Remove Image\"\n (click)=\"deleteRectangularImage()\"\n (keydown.enter)=\"deleteRectangularImage()\"></i>\n </div>\n </div>\n </div>\n </div>\n\n </div>\n </form>\n </div>\n\n <div class=\"modal-footer\">\n <button class=\"btn btn-secondary\" (click)=\"modal.dismiss()\">Cancel</button>\n <button class=\"btn btn-primary\" [buttonBusy]=\"buttonBusy\" (click)=\"saveResource()\">Save</button>\n </div>\n</ng-template>\n\n<ng-template #imageCropContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onImageSelected($event)\"\n (closeEvent)=\"modal.close()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n\n<ng-template #rectContent let-modal>\n <div class=\"modal-header\">\n <h5 class=\"modal-title\">Upload Picture</h5>\n <button type=\"button\" class=\"btn-close float-end\" aria-label=\"Close\" (click)=\"modal.dismiss()\"></button>\n </div>\n <div class=\"modal-body\">\n <small>You can upload a JPG, GIF, or PNG file. (Do not upload pictures containing celebrities,\n nudity, artwork or copyrighted images.)</small>\n <pw-image-cropper\n #profile\n [aspectRatio]=\"'dynamic'\"\n (imageSelectionEvent)=\"onRectangularImageSelection($event)\"\n (closeEvent)=\"onClose()\">\n </pw-image-cropper>\n </div>\n</ng-template>\n", styles: ["::ng-deep .modal-content{margin-top:5rem!important}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.Calendar, selector: "p-calendar", inputs: ["iconDisplay", "style", "styleClass", "inputStyle", "inputId", "name", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "disabled", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "appendTo", "readonlyInput", "shortYearCutoff", "monthNavigator", "yearNavigator", "hourFormat", "timeOnly", "stepYearPicker", "stepHour", "stepMinute", "stepSecond", "showSeconds", "required", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "variant", "minDate", "maxDate", "disabledDates", "disabledDays", "yearRange", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "locale", "view", "defaultDate"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: i7.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: i8.ProfileImageCropperComponent, selector: "pw-image-cropper", inputs: ["aspectRatio", "dynamicData"], outputs: ["imageSelectionEvent", "closeEvent", "fileChangeEvent"] }, { kind: "component", type: i9.InputContainerComponent, selector: "pw-input-container", inputs: ["name", "label", "labelClass", "tooltipPosition", "required", "errorMsg", "isReadOnly", "showTooltip", "tooltipText", "showTriangle", "afterLabel", "showAfterLabel", "showTriangleText", "isLeftTooltip"] }, { kind: "directive", type: i10.ButtonBusyDirective, selector: "[buttonBusy]", inputs: ["buttonBusy", "busyText"] }, { kind: "directive", type: i10.LazyImgDirective, selector: "img" }, { kind: "component", type: i11.QuillEditorComponent, selector: "quill-editor" }, { kind: "component", type: i12.UiSwitchComponent, selector: "ui-switch", inputs: ["size", "color", "switchOffColor", "switchColor", "defaultBgColor", "defaultBoColor", "checkedLabel", "uncheckedLabel", "checkedTextColor", "uncheckedTextColor", "beforeChange", "ariaLabel", "checked", "disabled", "reverse", "loading"], outputs: ["change", "changeEvent", "valueChange"] }, { kind: "pipe", type: i13.TranslocoPipe, name: "transloco" }] }); }
|
|
218
219
|
}
|
|
219
220
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ResourceEditCardComponent, decorators: [{
|
|
220
221
|
type: Component,
|
|
@@ -226,4 +227,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
226
227
|
}], updated: [{
|
|
227
228
|
type: Output
|
|
228
229
|
}] } });
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtZWRpdC1jYXJkL3Jlc291cmNlLWVkaXQtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLWVkaXQtY2FyZC9yZXNvdXJjZS1lZGl0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7OztBQU81RCxNQUFNLE9BQU8seUJBQTBCLFNBQVEsZ0JBQWdCO0lBbUIzRCxZQUNxQixFQUFlLEVBQ2YsWUFBc0IsRUFDdEIsZUFBZ0MsRUFDaEMsV0FBd0IsRUFDeEIsVUFBc0IsRUFDdkMsUUFBa0I7UUFFbEIsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBUEMsT0FBRSxHQUFGLEVBQUUsQ0FBYTtRQUNmLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQ3RCLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtRQUNoQyxnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUN4QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBckJqQyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUc3QyxVQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ1gscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLFNBQUksR0FBZ0IsSUFBSSxDQUFDO1FBQ3pCLG9CQUFlLEdBQWdCLElBQUksQ0FBQztRQUdwQyxpQkFBWSxHQUFHLEVBQUUsQ0FBQztRQUNsQixZQUFPLEdBQUcsRUFBRSxDQUFDO1FBQ2IsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFHcEIsZUFBVSxHQUFHLEtBQUssQ0FBQztRQVdmLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDMUIsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ1gsWUFBWSxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ2xCLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNkLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNWLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUNqQixZQUFZLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDckIsV0FBVyxFQUFFLENBQUMsS0FBSyxDQUFDO1lBQ3BCLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUNiLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDekMsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDO1lBQzFCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUU7b0JBQ2xELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUMxQyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksRUFBRSxjQUFjLENBQUM7Z0JBQy9DLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixNQUFNLFFBQVEsR0FBRyxvQkFBb0IsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQztRQUMvRCxNQUFNLE9BQU8sR0FBRyxHQUFHLFFBQVEsQ0FBQyxNQUFNLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDaEQsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELFNBQVMsQ0FBQyxhQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7WUFDOUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQ25CLEtBQUssRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssSUFBSSxFQUFFO2dCQUNwQyxZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLElBQUksRUFBRTtnQkFDbEQsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxJQUFJLEVBQUU7Z0JBQzFDLElBQUksRUFBRSxJQUFJLElBQUksRUFBRTtnQkFDaEIsUUFBUSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVE7Z0JBQ3RDLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZO2dCQUM5QyxXQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVztnQkFDNUMsSUFBSSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSTthQUMvQixDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDdkYsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM3RSxDQUFDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztRQUN0RSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1IsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLElBQUksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2QsTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQzdCLENBQUMsQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDM0QsQ0FBQztRQUNOLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNCLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekIsQ0FBQyxDQUFDLENBQUM7UUFDUCxDQUFDO1FBQ0QsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUM7SUFDakMsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLENBQUMsVUFBVTthQUNWLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQzthQUN6RCxTQUFTLENBQUMsUUFBUSxDQUFDLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBQ1gsQ0FBQztJQUVELHNCQUFzQjtRQUNsQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO0lBQ2hDLENBQUM7SUFDRCxjQUFjLENBQUMsYUFBYTtRQUN4QixJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELGVBQWUsQ0FBQyxNQUFjO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxJQUFJLEdBQUcsYUFBYSxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDaEMsQ0FBQztJQUVELDJCQUEyQixDQUFDLE1BQWM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQztRQUMvQixJQUFJLENBQUMsZUFBZSxHQUFHLGFBQWEsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRSxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVk7UUFDUixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQztRQUN2QixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QixNQUFNLE9BQU8sR0FBRztZQUNaLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLO1lBQ3RCLGVBQWUsRUFBRSxJQUFJLENBQUMsY0FBYztTQUN2QyxDQUFDO1FBRUYsSUFBSSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixJQUFJLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQzdELElBQUksQ0FBQyxVQUFVLEdBQUcsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFFBQVEsQ0FBQyxFQUFtQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLEdBQUc7Z0JBQ1QsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztnQkFDL0QsSUFBSSxFQUFFLEVBQUU7Z0JBQ1IsVUFBVSxFQUFFLE1BQU0sQ0FBQyw0Q0FBNEM7YUFDbEUsQ0FBQztZQUVGLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbkUsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBSTtRQUN0QixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNaLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM3QixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUN4QixDQUFDO0lBQ0wsQ0FBQztJQUVPLGlCQUFpQixDQUFDLElBQUk7UUFDMUIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDbEQsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1RSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztRQUM3QixDQUFDO0lBQ0wsQ0FBQztJQUVPLGdCQUFnQixDQUFDLElBQUk7UUFDekIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDakQsSUFBSSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUMzRSxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM1QixDQUFDO0lBQ0wsQ0FBQztJQUVPLG9CQUFvQixDQUFDLElBQUk7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7WUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNMLENBQUM7SUFFTyx3QkFBd0IsQ0FBQyxJQUFJO1FBQ2pDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3BELENBQUM7YUFBTSxDQUFDO1lBQ0osT0FBTyxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDcEMsQ0FBQztJQUNMLENBQUM7SUFFTyxjQUFjLENBQUMsSUFBSTtRQUN2QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQztRQUMvQixDQUFDO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsMEJBQTBCLEdBQUcsSUFBSSxDQUFDO1FBQzNDLENBQUM7SUFDTCxDQUFDO0lBRUQsYUFBYSxDQUFDLE9BQU87UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDakQsUUFBUSxFQUFFLElBQUk7WUFDZCxXQUFXLEVBQUUsY0FBYztTQUM5QixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsS0FBWSxFQUFFLFlBQVk7UUFDdkMsYUFBYSxDQUFDLHVCQUF1QixDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsQ0FBQztJQUMvRCxDQUFDOytHQS9OUSx5QkFBeUI7bUdBQXpCLHlCQUF5Qix5S0NsQnRDLG9nVEFnT0E7OzRGRDlNYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0ksdUJBQXVCOytNQUt4QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxPQUFPO3NCQUFoQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IEFwcEJhc2VDb21wb25lbnQgfSBmcm9tICdAcG9zaXdpc2UvYXBwLWJhc2UtY29tcG9uZW50JztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlLCBUYWdTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2NvbW1vbi1zZXJ2aWNlcyc7XG5pbXBvcnQgeyBIZWxwZXJTZXJ2aWNlIH0gZnJvbSAnQHBvc2l3aXNlL2hlbHBlci1zZXJ2aWNlJztcblxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQnO1xuXG5pbXBvcnQgeyBOZ2JNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcblxuaW1wb3J0IHsgUmVzb3VyY2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcmVzb3VyY2Uuc2VydmljZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncHctcmVzb3VyY2UtZWRpdC1jYXJkJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybDogJy4vcmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5zY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBSZXNvdXJjZUVkaXRDYXJkQ29tcG9uZW50IGV4dGVuZHMgQXBwQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gICAgQElucHV0KCkgaWQhOiBudW1iZXI7XG4gICAgQElucHV0KCkgcmVzb3VyY2VEYXRhO1xuICAgIEBPdXRwdXQoKSB1cGRhdGVkID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuXG4gICAgZWRpdEZvcm06IEZvcm1Hcm91cDtcbiAgICBpbWFnZSA9ICcnO1xuICAgIHJlY3Rhbmd1bGFySW1hZ2UgPSAnJztcbiAgICBmaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XG4gICAgcmVjdGFuZ3VsYXJGaWxlOiBGaWxlIHwgbnVsbCA9IG51bGw7XG5cbiAgICBpbWFnZU1vZGFsUmVmO1xuICAgIHNlbGVjdGVkVGFncyA9IFtdO1xuICAgIGFsbFRhZ3MgPSBbXTtcbiAgICB0YWdzU3VnZ2VzdGlvbiA9IFtdO1xuICAgIHN1YnNjcmlwdGlvbklkOiBudW1iZXI7XG4gICAgdXNlckxvZ2dlZEluOiBib29sZWFuO1xuICAgIGJ1dHRvbkJ1c3kgPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGZiOiBGb3JtQnVpbGRlcixcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBtb2RhbFNlcnZpY2U6IE5nYk1vZGFsLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGF1dGhTZXJ2aWNlOiBBdXRoU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSB0YWdTZXJ2aWNlOiBUYWdTZXJ2aWNlLFxuICAgICAgICBpbmplY3RvcjogSW5qZWN0b3JcbiAgICApIHtcbiAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICB0aGlzLmVkaXRGb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICAgICAgICB0aXRsZTogWycnXSxcbiAgICAgICAgICAgIGV4dGVybmFsX3VybDogWycnXSxcbiAgICAgICAgICAgIGN0YV90ZXh0OiBbJyddLFxuICAgICAgICAgICAgd2hlbjogWycnXSxcbiAgICAgICAgICAgIHNob3djYXNlOiBbZmFsc2VdLFxuICAgICAgICAgICAgcHVibGlzaGVkX2F0OiBbZmFsc2VdLFxuICAgICAgICAgICAgYWNjZXB0ZWRfYXQ6IFtmYWxzZV0sXG4gICAgICAgICAgICBib2R5OiBbJyddXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmdldFRva2VuJCgpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgdGhpcy51c2VyTG9nZ2VkSW4gPSAhIXJlcztcbiAgICAgICAgICAgIGlmICh0aGlzLnVzZXJMb2dnZWRJbikge1xuICAgICAgICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlLmdldEl0ZW0kKCdwcm9kdWN0Jykuc3Vic2NyaWJlKHJlcyA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRhdGEgPSByZXMgPyBKU09OLnBhcnNlKHJlcykgOiBudWxsO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbklkID0gZGF0YT8uc3Vic2NyaXB0aW9uSWQ7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5hdmlnYXRlVG9SZXNvdXJjZUVkaXQoKSB7XG4gICAgICAgIGNvbnN0IGJhc2VQYXRoID0gYC9hZG1pbi9yZXNvdXJjZXMvJHt0aGlzLnJlc291cmNlRGF0YT8uc2x1Z31gO1xuICAgICAgICBjb25zdCBmdWxsVXJsID0gYCR7bG9jYXRpb24ub3JpZ2lufSR7YmFzZVBhdGh9YDtcbiAgICAgICAgd2luZG93Lm9wZW4oZnVsbFVybCwgJ19ibGFuaycpO1xuICAgIH1cblxuICAgIG9wZW5Nb2RhbChtb2RhbFRlbXBsYXRlKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnJlc291cmNlRGF0YSkge1xuICAgICAgICAgICAgY29uc3Qgd2hlbiA9IHRoaXMucmVzb3VyY2VEYXRhLndoZW4gPyBuZXcgRGF0ZSh0aGlzLnJlc291cmNlRGF0YS53aGVuKSA6IG51bGw7XG4gICAgICAgICAgICB0aGlzLmVkaXRGb3JtLnNldFZhbHVlKHtcbiAgICAgICAgICAgICAgICB0aXRsZTogdGhpcy5yZXNvdXJjZURhdGEudGl0bGUgPz8gJycsXG4gICAgICAgICAgICAgICAgZXh0ZXJuYWxfdXJsOiB0aGlzLnJlc291cmNlRGF0YS5leHRlcm5hbF91cmwgPz8gJycsXG4gICAgICAgICAgICAgICAgY3RhX3RleHQ6IHRoaXMucmVzb3VyY2VEYXRhLmN0YV90ZXh0ID8/ICcnLFxuICAgICAgICAgICAgICAgIHdoZW46IHdoZW4gPz8gJycsXG4gICAgICAgICAgICAgICAgc2hvd2Nhc2U6ICEhdGhpcy5yZXNvdXJjZURhdGEuc2hvd2Nhc2UsXG4gICAgICAgICAgICAgICAgcHVibGlzaGVkX2F0OiAhIXRoaXMucmVzb3VyY2VEYXRhLnB1Ymxpc2hlZF9hdCxcbiAgICAgICAgICAgICAgICBhY2NlcHRlZF9hdDogISF0aGlzLnJlc291cmNlRGF0YS5hY2NlcHRlZF9hdCxcbiAgICAgICAgICAgICAgICBib2R5OiB0aGlzLnJlc291cmNlRGF0YS5ib2R5XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMuaW1hZ2UgPSB0aGlzLnJlc291cmNlRGF0YS5waWN0dXJlPy51cmwgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkVGFncyA9IHRoaXMucmVzb3VyY2VEYXRhPy50YWdzPy5sZW5ndGggPyBbLi4udGhpcy5yZXNvdXJjZURhdGEudGFnc10gOiBbXTtcbiAgICAgICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IHRoaXMucmVzb3VyY2VEYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmU/LnVybCA/PyAnJztcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1vZGFsU2VydmljZS5vcGVuKG1vZGFsVGVtcGxhdGUsIHsgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdsZycgfSk7XG4gICAgICAgIHRoaXMuZ2V0UG9zdFRhZ3MoKTtcbiAgICB9XG5cbiAgICBzZWFyY2goZXZlbnQpIHtcbiAgICAgICAgbGV0IHZhbHVlcyA9IFtdO1xuICAgICAgICBpZiAoZXZlbnQucXVlcnkpIHtcbiAgICAgICAgICAgIHZhbHVlcyA9IHRoaXMuYWxsVGFncy5maWx0ZXIoeCA9PlxuICAgICAgICAgICAgICAgIHgubmFtZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGV2ZW50LnF1ZXJ5LnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hbGxUYWdzLmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgICAgICAgdmFsdWVzLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRhZ3NTdWdnZXN0aW9uID0gdmFsdWVzO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0UG9zdFRhZ3MoKSB7XG4gICAgICAgIHRoaXMudGFnU2VydmljZVxuICAgICAgICAgICAgLmdldFRhZ3NCeVR5cGUoJ3Bvc3RfY2F0ZWdvcmllcycsIHt9LCB0aGlzLnN1YnNjcmlwdGlvbklkKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXNwb25zZSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5hbGxUYWdzID0gcmVzcG9uc2UudGFncztcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIGRlbGV0ZVJlY3Rhbmd1bGFySW1hZ2UoKSB7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IG51bGw7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJGaWxlID0gbnVsbDtcbiAgICB9XG4gICAgb3BlbkltYWdlTW9kYWwobW9kYWxUZW1wbGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlTW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKG1vZGFsVGVtcGxhdGUsIHsgY2VudGVyZWQ6IHRydWUsIHNpemU6ICdtZCcgfSk7XG4gICAgfVxuXG4gICAgb25JbWFnZVNlbGVjdGVkKGJhc2U2NDogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW1hZ2UgPSBiYXNlNjQ7XG4gICAgICAgIHRoaXMuZmlsZSA9IEhlbHBlclNlcnZpY2UuY29udmVydEJhc2U2NFRvRmlsZShiYXNlNjQpO1xuICAgICAgICB0aGlzLmltYWdlTW9kYWxSZWY/LmNsb3NlKCk7XG4gICAgfVxuXG4gICAgb25SZWN0YW5ndWxhckltYWdlU2VsZWN0aW9uKGJhc2U2NDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJJbWFnZSA9IGJhc2U2NDtcbiAgICAgICAgdGhpcy5yZWN0YW5ndWxhckZpbGUgPSBIZWxwZXJTZXJ2aWNlLmNvbnZlcnRCYXNlNjRUb0ZpbGUoYmFzZTY0KTtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIHJlbW92ZUltYWdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlID0gbnVsbDtcbiAgICAgICAgdGhpcy5maWxlID0gbnVsbDtcbiAgICB9XG5cbiAgICBzYXZlUmVzb3VyY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2F2ZVRhZ3ModGhpcy5pZCk7XG4gICAgICAgIGNvbnN0IHBheWxvYWQgPSB7XG4gICAgICAgICAgICAuLi50aGlzLmVkaXRGb3JtLnZhbHVlLFxuICAgICAgICAgICAgc3Vic2NyaXB0aW9uX2lkOiB0aGlzLnN1YnNjcmlwdGlvbklkXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5oYW5kbGVQaWN0dXJlKHBheWxvYWQpO1xuICAgICAgICB0aGlzLmhhbmRsZVB1Ymxpc2hlZEF0KHBheWxvYWQpO1xuICAgICAgICB0aGlzLmhhbmRsZUFjY2VwdGVkQXQocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlQWNjZXB0ZWRBdChwYXlsb2FkKTtcbiAgICAgICAgdGhpcy5oYW5kbGVPcHRpb25hbEZpZWxkcyhwYXlsb2FkKTtcbiAgICAgICAgdGhpcy5oYW5kbGVSZWN0YW5ndWxhclBpY3R1cmUocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVtb3ZhbHMocGF5bG9hZCk7XG5cbiAgICAgICAgdGhpcy5yZXNvdXJjZVNlcnZpY2UudXBkYXRlUG9zdChwYXlsb2FkLCB0aGlzLmlkKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5idXR0b25CdXN5ID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLnRvYXN0LnN1Y2Nlc3MoJ0Jsb2cgUG9zdCBVcGRhdGVkJyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWQuZW1pdCgpO1xuICAgICAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2UuZGlzbWlzc0FsbCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNhdmVUYWdzKGlkOiBudW1iZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRUYWdzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IHtcbiAgICAgICAgICAgICAgICBlbnRpdHlfdGFnczogdGhpcy5zZWxlY3RlZFRhZ3MubWFwKHRhZyA9PiAoeyB0YWdfaWQ6IHRhZy5pZCB9KSksXG4gICAgICAgICAgICAgICAgc2x1ZzogaWQsXG4gICAgICAgICAgICAgICAgdGFnX2VudGl0eTogJ1Bvc3QnIC8vIG9yIHVzZSBUQUdfRU5USVRZLlBPU1QgaWYgeW91IGltcG9ydGVkIGl0XG4gICAgICAgICAgICB9O1xuXG4gICAgICAgICAgICB0aGlzLnRhZ1NlcnZpY2UuYWRkVGFncyhkYXRhLCB0aGlzLnN1YnNjcmlwdGlvbklkKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUGljdHVyZShkYXRhKSB7XG4gICAgICAgIGlmICh0aGlzLmZpbGUpIHtcbiAgICAgICAgICAgIGRhdGEucGljdHVyZSA9IHRoaXMuZmlsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnBpY3R1cmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVB1Ymxpc2hlZEF0KGRhdGEpIHtcbiAgICAgICAgY29uc3QgY29udHJvbCA9IHRoaXMuZWRpdEZvcm0uZ2V0KCdwdWJsaXNoZWRfYXQnKTtcbiAgICAgICAgaWYgKGNvbnRyb2w/LmRpcnR5KSB7XG4gICAgICAgICAgICBkYXRhLnB1Ymxpc2hlZF9hdCA9IGNvbnRyb2wudmFsdWUgPyBtb21lbnQoKS5mb3JtYXQoJ0RELU1NTS1ZWVlZJykgOiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnB1Ymxpc2hlZF9hdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlQWNjZXB0ZWRBdChkYXRhKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmVkaXRGb3JtLmdldCgnYWNjZXB0ZWRfYXQnKTtcbiAgICAgICAgaWYgKGNvbnRyb2w/LmRpcnR5KSB7XG4gICAgICAgICAgICBkYXRhLmFjY2VwdGVkX2F0ID0gY29udHJvbC52YWx1ZSA/IG1vbWVudCgpLmZvcm1hdCgnREQtTU1NLVlZWVknKSA6ICcnO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZGVsZXRlIGRhdGEuYWNjZXB0ZWRfYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZU9wdGlvbmFsRmllbGRzKGRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmVkaXRGb3JtLmdldCgnd2hlbicpPy52YWx1ZSkge1xuICAgICAgICAgICAgZGF0YS53aGVuID0gJyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0aGlzLmVkaXRGb3JtLmdldCgnc2hvd2Nhc2UnKT8udmFsdWUpIHtcbiAgICAgICAgICAgIGRhdGEuc2hvd2Nhc2UgPSAnJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlUmVjdGFuZ3VsYXJQaWN0dXJlKGRhdGEpIHtcbiAgICAgICAgaWYgKHRoaXMucmVjdGFuZ3VsYXJGaWxlKSB7XG4gICAgICAgICAgICBkYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmUgPSB0aGlzLnJlY3Rhbmd1bGFyRmlsZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLnJlY3Rhbmd1bGFyX3BpY3R1cmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlbW92YWxzKGRhdGEpIHtcbiAgICAgICAgaWYgKCF0aGlzLmZpbGUgJiYgIXRoaXMuaW1hZ2UpIHtcbiAgICAgICAgICAgIGRhdGEucmVtb3ZlX3BpY3R1cmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5yZWN0YW5ndWxhckZpbGUgJiYgIXRoaXMucmVjdGFuZ3VsYXJJbWFnZSkge1xuICAgICAgICAgICAgZGF0YS5yZW1vdmVfcmVjdGFuZ3VsYXJfcGljdHVyZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvcGVuUmVjdE1vZGFsKGNvbnRlbnQpIHtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihjb250ZW50LCB7XG4gICAgICAgICAgICBjZW50ZXJlZDogdHJ1ZSxcbiAgICAgICAgICAgIHdpbmRvd0NsYXNzOiAnbW9kYWwtaG9sZGVyJ1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbWFnZUVycm9yKGV2ZW50OiBFdmVudCwgZmFsbGJhY2tQYXRoKTogdm9pZCB7XG4gICAgICAgIEhlbHBlclNlcnZpY2UuaGFuZGxlSW1hZ2VGYWxsYmFja1BhdGgoZXZlbnQsIGZhbGxiYWNrUGF0aCk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImVkaXQtY2FyZFwiPlxuICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgY3Vyc29yLXBvaW50ZXIgdGV4dC1kYXJrIGluLXBhZ2UtZWRpdC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1iLTJcIlxuICAgICAoY2xpY2spPVwib3Blbk1vZGFsKGVkaXRSZXNvdXJjZU1vZGFsKVwiXG4gICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5Nb2RhbChlZGl0UmVzb3VyY2VNb2RhbClcIlxuICAgICAoa2V5ZG93bi5zcGFjZSk9XCJvcGVuTW9kYWwoZWRpdFJlc291cmNlTW9kYWwpXCJcbiAgICAgdGl0bGU9XCJFZGl0IFJlc291cmNlXCI+PC9pPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZWRpdFJlc291cmNlTW9kYWwgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5FZGl0IFJlc291cmNlPC9oNT5cbiAgICA8aSBjbGFzcz1cImZhIGZhLWVkaXQgY3Vyc29yLXBvaW50ZXIgdGV4dC1kYXJrIGluLXBhZ2UtZWRpdC1pY29uIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIG1zLTNcIlxuICAgICAoY2xpY2spPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgKGtleWRvd24uZW50ZXIpPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgKGtleWRvd24uc3BhY2UpPVwibmF2aWdhdGVUb1Jlc291cmNlRWRpdCgpXCJcbiAgICAgdGl0bGU9XCJHbyB0byB0aGUgbWFpbiBlZGl0IHBhZ2VcIj48L2k+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBhcmlhLWxhYmVsPVwiQ2xvc2VcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+PC9idXR0b24+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJlZGl0Rm9ybVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuXG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgbGFiZWw9XCJUaXRsZVwiIG5hbWU9XCJ0aXRsZVwiPlxuICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBmb3JtQ29udHJvbE5hbWU9XCJ0aXRsZVwiIC8+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcm93XCI+XG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBsYWJlbD1cIkNUQSBUZXh0XCIgbmFtZT1cImN0YV90ZXh0XCIgY2xhc3M9XCJjb2wtbWQtNlwiXG4gICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ1Jlc291cmNlLlBvc3RzLlRvb2x0aXAuQ3RhVGV4dCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiY3RhX3RleHRcIiAvPlxuICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuXG4gICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lciBsYWJlbD1cIkV4dGVybmFsIFVSTFwiIG5hbWU9XCJleHRlcm5hbF91cmxcIiBjbGFzcz1cImNvbC1tZC02XCJcbiAgICAgICAgICAgIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInUmVzb3VyY2UuUG9zdHMuVG9vbHRpcC5FeHRlcm5hbFVybCcgfCB0cmFuc2xvY29cIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwiZXh0ZXJuYWxfdXJsXCIgLz5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuQm9keScgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgbmFtZT1cImJvZHlcIlxuICAgICAgICAgICAgW2Vycm9yTXNnXT1cIidSZXNvdXJjZS5Qb3N0cy5WYWxpZGF0aW9uLkJvZHknIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICA8cXVpbGwtZWRpdG9yXG4gICAgICAgICAgICAgIFtzdHlsZXNdPVwieyBoZWlnaHQ6ICczMDBweCcgfVwiXG4gICAgICAgICAgICAgIGNsYXNzPVwicXVpbGxFZGl0b3JcIlxuICAgICAgICAgICAgICBbbW9kdWxlc109XCJlZGl0b3JDb25maWdcIlxuICAgICAgICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJib2R5XCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwie1xuICAgICAgICAgICAgICAgICd3LTEwMCc6IHRydWUsXG4gICAgICAgICAgICAgICAgJ3F1aWxsLWNvbnRhaW5lcic6IHRydWUsXG4gICAgICAgICAgICAgICAgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnYm9keSddLmVycm9yc1xuICAgICAgICAgICAgICB9XCI+XG4gICAgICAgICAgICA8L3F1aWxsLWVkaXRvcj5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtMyBjb2wtc20tNlwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuV2hlbicgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidSZXNvdXJjZS5Qb3N0cy5Ub29sdGlwLldoZW4nIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIG5hbWU9XCJ3aGVuXCI+XG4gICAgICAgICAgICA8cC1jYWxlbmRhciBmb3JtQ29udHJvbE5hbWU9XCJ3aGVuXCJcbiAgICAgICAgICAgICAgW3Nob3dJY29uXT1cInRydWVcIlxuICAgICAgICAgICAgICBkYXRlRm9ybWF0PVwiZGQtTS15eVwiXG4gICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCInU2VsZWN0IERhdGUnXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnaXMtaW52YWxpZCc6IHN1Ym1pdHRlZCAmJiBmWyd3aGVuJ10uZXJyb3JzIH1cIj5cbiAgICAgICAgICAgIDwvcC1jYWxlbmRhcj5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtOFwiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgIFtsYWJlbF09XCInUmVzb3VyY2UuUG9zdHMuVGFncycgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgY2xhc3M9XCJ1aS1mbHVpZCBza2lsbHMtbW9kYWwgdGFnc1wiXG4gICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ1Jlc291cmNlLlBvc3RzLlRvb2x0aXAuQ3RhVGV4dCcgfCB0cmFuc2xvY29cIlxuICAgICAgICAgICAgbmFtZT1cImN0YV90ZXh0XCI+XG4gICAgICAgICAgICA8cC1hdXRvQ29tcGxldGUgWyhuZ01vZGVsKV09XCJzZWxlY3RlZFRhZ3NcIlxuICAgICAgICAgICAgICBjbGFzcz1cImJvZHktYmdcIlxuICAgICAgICAgICAgICBbc3VnZ2VzdGlvbnNdPVwidGFnc1N1Z2dlc3Rpb25cIlxuICAgICAgICAgICAgICBkYXRhS2V5PVwiaWRcIlxuICAgICAgICAgICAgICBmaWVsZD1cIm5hbWVcIlxuICAgICAgICAgICAgICAoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxuICAgICAgICAgICAgICBzdHlsZUNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgICAgICBbbWluTGVuZ3RoXT1cIjFcIlxuICAgICAgICAgICAgICBbbWF4bGVuZ3RoXT1cIjEwXCJcbiAgICAgICAgICAgICAgW2Ryb3Bkb3duXT1cInRydWVcIlxuICAgICAgICAgICAgICBbbmdNb2RlbE9wdGlvbnNdPVwieyBzdGFuZGFsb25lOiB0cnVlIH1cIlxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlRhZ3NcIlxuICAgICAgICAgICAgICBbbXVsdGlwbGVdPVwidHJ1ZVwiPlxuICAgICAgICAgICAgPC9wLWF1dG9Db21wbGV0ZT5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiByb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLXNtLTZcIj5cbiAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidTSE9XQ0FTRSdcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInTWFyayBhcyBzaG93Y2FzZSBwb3N0J1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJzaG93Y2FzZVwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cInNob3djYXNlXCIgY2xhc3M9XCJkLWJsb2NrXCI+PC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNCBjb2wtc20tNlwiPlxuICAgICAgICAgICAgPHB3LWlucHV0LWNvbnRhaW5lclxuICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1BVQkxJU0hFRCdcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInU2V0IHRvIHB1Ymxpc2ggdGhlIHBvc3QnXCJcbiAgICAgICAgICAgICAgbmFtZT1cInB1Ymxpc2hlZF9hdFwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cInB1Ymxpc2hlZF9hdFwiIGNsYXNzPVwiZC1ibG9ja1wiPjwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLXNtLTZcIj5cbiAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidBQ0NFUFRFRCBCWSBBRE1JTidcIlxuICAgICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInSW5kaWNhdGVzIGFwcHJvdmFsIGJ5IGFkbWluJ1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJhY2NlcHRlZF9hdFwiPlxuICAgICAgICAgICAgICA8dWktc3dpdGNoIGZvcm1Db250cm9sTmFtZT1cImFjY2VwdGVkX2F0XCIgY2xhc3M9XCJkLWJsb2NrXCI+PC91aS1zd2l0Y2g+XG4gICAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNCBjb2wtc20tNCBteS00IG1zLTNcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbWItNFwiPlxuICAgICAgICAgICAgPGxhYmVsIGZvcj1cImNvdmVyUGljdHVyZVwiPnt7ICdSZXNvdXJjZS5Qb3N0cy5Db3ZlclBpY3R1cmUnIHwgdHJhbnNsb2NvIH19PC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCIoaW1hZ2UgJiYgIWltYWdlLmluY2x1ZGVzKCdkZWZhdWx0LXBob3RvLmpwZycpKSA/IGltYWdlIDogJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoaW1hZ2VDcm9wQ29udGVudClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5JbWFnZU1vZGFsKGltYWdlQ3JvcENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlIHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICBhbHQ9XCJNb2RhbFwiXG4gICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImhhbmRsZUltYWdlRXJyb3IoJGV2ZW50LCAnYXNzZXRzL2ltZy9yZXNvdXJjZS9ibG9nLnBuZycpXCIgLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMlwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIiAoY2xpY2spPVwib3BlbkltYWdlTW9kYWwoaW1hZ2VDcm9wQ29udGVudClcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHNsdWcgIT09ICdjcmVhdGUnID8gJ0VkaXQnIDogJ0FkZCcgfX0gUGljdHVyZVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cImltYWdlICYmICFpbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvbiB0ZXh0LWRhbmdlciBtcy0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlJlbW92ZSBJbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZUltYWdlKClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cInJlbW92ZUltYWdlKClcIj48L2k+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTQgY29sLXNtLTQgbXktNCBtcy0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJyZWN0YW5ndWxhclBpY3R1cmVcIj5SZWN0YW5ndWxhciBQaWN0dXJlPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBkLWZsZXggZmxleC1jb2x1bW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XG4gICAgICAgICAgICAgIDxpbWcgW3NyY109XCIocmVjdGFuZ3VsYXJJbWFnZSAmJiAhcmVjdGFuZ3VsYXJJbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKSkgPyByZWN0YW5ndWxhckltYWdlIDogJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnXCJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblJlY3RNb2RhbChyZWN0Q29udGVudClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cIm9wZW5SZWN0TW9kYWwocmVjdENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICBjbGFzcz1cImltYWdlIHctMTAwXCJcbiAgICAgICAgICAgICAgICAgICBhbHQ9XCJVcGxvYWRlZCByZWN0YW5ndWxhciBtZWRpYSBwcmV2aWV3XCJcbiAgICAgICAgICAgICAgICAgICAoZXJyb3IpPVwiaGFuZGxlSW1hZ2VFcnJvcigkZXZlbnQsICdhc3NldHMvaW1nL3Jlc291cmNlL2Jsb2cucG5nJylcIiAvPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yXCI+XG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJkLWlubGluZS1ibG9ja1wiIChjbGljayk9XCJvcGVuUmVjdE1vZGFsKHJlY3RDb250ZW50KVwiPlxuICAgICAgICAgICAgICAgICAge3sgc2x1ZyAhPT0gJ2NyZWF0ZScgPyAnRWRpdCcgOiAnQWRkJyB9fSBQaWN0dXJlXG4gICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgIDxpICpuZ0lmPVwicmVjdGFuZ3VsYXJJbWFnZSAmJiAhcmVjdGFuZ3VsYXJJbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmYSBmYS10cmFzaCBkZWxldGUtaWNvbiB0ZXh0LWRhbmdlciBtcy0yIGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgICAgICAgICB0aXRsZT1cIlJlbW92ZSBJbWFnZVwiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImRlbGV0ZVJlY3Rhbmd1bGFySW1hZ2UoKVwiXG4gICAgICAgICAgICAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZGVsZXRlUmVjdGFuZ3VsYXJJbWFnZSgpXCI+PC9pPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgPC9kaXY+XG4gICAgPC9mb3JtPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZm9vdGVyXCI+XG4gICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBidG4tc2Vjb25kYXJ5XCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPkNhbmNlbDwvYnV0dG9uPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXByaW1hcnlcIiBbYnV0dG9uQnVzeV09XCJidXR0b25CdXN5XCIgKGNsaWNrKT1cInNhdmVSZXNvdXJjZSgpXCI+U2F2ZTwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjaW1hZ2VDcm9wQ29udGVudCBsZXQtbW9kYWw+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICA8aDUgY2xhc3M9XCJtb2RhbC10aXRsZVwiPlVwbG9hZCBQaWN0dXJlPC9oNT5cbiAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPHNtYWxsPllvdSBjYW4gdXBsb2FkIGEgSlBHLCBHSUYsIG9yIFBORyBmaWxlLiAoRG8gbm90IHVwbG9hZCBwaWN0dXJlcyBjb250YWluaW5nIGNlbGVicml0aWVzLFxuICAgICAgbnVkaXR5LCBhcnR3b3JrIG9yIGNvcHlyaWdodGVkIGltYWdlcy4pPC9zbWFsbD5cbiAgICA8cHctaW1hZ2UtY3JvcHBlclxuICAgICAgW2FzcGVjdFJhdGlvXT1cIidkeW5hbWljJ1wiXG4gICAgICAoaW1hZ2VTZWxlY3Rpb25FdmVudCk9XCJvbkltYWdlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJtb2RhbC5jbG9zZSgpXCI+XG4gICAgPC9wdy1pbWFnZS1jcm9wcGVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcmVjdENvbnRlbnQgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5VcGxvYWQgUGljdHVyZTwvaDU+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2UgZmxvYXQtZW5kXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cbiAgICA8c21hbGw+WW91IGNhbiB1cGxvYWQgYSBKUEcsIEdJRiwgb3IgUE5HIGZpbGUuIChEbyBub3QgdXBsb2FkIHBpY3R1cmVzIGNvbnRhaW5pbmcgY2VsZWJyaXRpZXMsXG4gICAgICBudWRpdHksIGFydHdvcmsgb3IgY29weXJpZ2h0ZWQgaW1hZ2VzLik8L3NtYWxsPlxuICAgIDxwdy1pbWFnZS1jcm9wcGVyXG4gICAgICAjcHJvZmlsZVxuICAgICAgW2FzcGVjdFJhdGlvXT1cIidkeW5hbWljJ1wiXG4gICAgICAoaW1hZ2VTZWxlY3Rpb25FdmVudCk9XCJvblJlY3Rhbmd1bGFySW1hZ2VTZWxlY3Rpb24oJGV2ZW50KVwiXG4gICAgICAoY2xvc2VFdmVudCk9XCJvbkNsb3NlKClcIj5cbiAgICA8L3B3LWltYWdlLWNyb3BwZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb3VyY2UtZWRpdC1jYXJkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcmVzb3VyY2UtbW9kdWxlL3NyYy9saWIvcHVibGljL2NvbXBvbmVudHMvcmVzb3VyY2UtZWRpdC1jYXJkL3Jlc291cmNlLWVkaXQtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3Jlc291cmNlLW1vZHVsZS9zcmMvbGliL3B1YmxpYy9jb21wb25lbnRzL3Jlc291cmNlLWVkaXQtY2FyZC9yZXNvdXJjZS1lZGl0LWNhcmQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekYsT0FBTyxFQUFFLFdBQVcsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBRXhELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRXpELE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUU1QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFPNUQsTUFBTSxPQUFPLHlCQUEwQixTQUFRLGdCQUFnQjtJQW1CM0QsWUFDcUIsRUFBZSxFQUNmLFlBQXNCLEVBQ3RCLGVBQWdDLEVBQ2hDLFdBQXdCLEVBQ3hCLFVBQXNCLEVBQ3ZDLFFBQWtCO1FBRWxCLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQztRQVBDLE9B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ZSxJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDbEQsSUFBSSxDQUFDLDBCQUEwQixHQUFHLElBQUksQ0FBQztRQUMzQyxDQUFDO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFPO1FBQ2pCLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2pELFFBQVEsRUFBRSxJQUFJO1lBQ2QsV0FBVyxFQUFFLGNBQWM7U0FDOUIsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGdCQUFnQixDQUFDLEtBQVksRUFBRSxZQUFZO1FBQ3ZDLGFBQWEsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDL0QsQ0FBQzsrR0EvTlEseUJBQXlCO21HQUF6Qix5QkFBeUIseUtDbEJ0QyxvZ1RBZ09BOzs0RkQ5TWEseUJBQXlCO2tCQUxyQyxTQUFTOytCQUNJLHVCQUF1QjsrTUFLeEIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3RvciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyBBcHBCYXNlQ29tcG9uZW50IH0gZnJvbSAnQHBvc2l3aXNlL2FwcC1iYXNlLWNvbXBvbmVudCc7XG5pbXBvcnQgeyBBdXRoU2VydmljZSwgVGFnU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9jb21tb24tc2VydmljZXMnO1xuaW1wb3J0IHsgSGVscGVyU2VydmljZSB9IGZyb20gJ0Bwb3Npd2lzZS9oZWxwZXItc2VydmljZSc7XG5cbmltcG9ydCBtb21lbnQgZnJvbSAnbW9tZW50JztcblxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5cbmltcG9ydCB7IFJlc291cmNlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3Jlc291cmNlLnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3B3LXJlc291cmNlLWVkaXQtY2FyZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL3Jlc291cmNlLWVkaXQtY2FyZC5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmw6ICcuL3Jlc291cmNlLWVkaXQtY2FyZC5jb21wb25lbnQuc2Nzcydcbn0pXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VFZGl0Q2FyZENvbXBvbmVudCBleHRlbmRzIEFwcEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgpIGlkITogbnVtYmVyO1xuICAgIEBJbnB1dCgpIHJlc291cmNlRGF0YTtcbiAgICBAT3V0cHV0KCkgdXBkYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIGVkaXRGb3JtOiBGb3JtR3JvdXA7XG4gICAgaW1hZ2UgPSAnJztcbiAgICByZWN0YW5ndWxhckltYWdlID0gJyc7XG4gICAgZmlsZTogRmlsZSB8IG51bGwgPSBudWxsO1xuICAgIHJlY3Rhbmd1bGFyRmlsZTogRmlsZSB8IG51bGwgPSBudWxsO1xuXG4gICAgaW1hZ2VNb2RhbFJlZjtcbiAgICBzZWxlY3RlZFRhZ3MgPSBbXTtcbiAgICBhbGxUYWdzID0gW107XG4gICAgdGFnc1N1Z2dlc3Rpb24gPSBbXTtcbiAgICBzdWJzY3JpcHRpb25JZDogbnVtYmVyO1xuICAgIHVzZXJMb2dnZWRJbjogYm9vbGVhbjtcbiAgICBidXR0b25CdXN5ID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbW9kYWxTZXJ2aWNlOiBOZ2JNb2RhbCxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSByZXNvdXJjZVNlcnZpY2U6IFJlc291cmNlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSByZWFkb25seSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgdGFnU2VydmljZTogVGFnU2VydmljZSxcbiAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgdGhpcy5lZGl0Rm9ybSA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgICAgICAgdGl0bGU6IFsnJ10sXG4gICAgICAgICAgICBleHRlcm5hbF91cmw6IFsnJ10sXG4gICAgICAgICAgICBjdGFfdGV4dDogWycnXSxcbiAgICAgICAgICAgIHdoZW46IFsnJ10sXG4gICAgICAgICAgICBzaG93Y2FzZTogW2ZhbHNlXSxcbiAgICAgICAgICAgIHB1Ymxpc2hlZF9hdDogW2ZhbHNlXSxcbiAgICAgICAgICAgIGFjY2VwdGVkX2F0OiBbZmFsc2VdLFxuICAgICAgICAgICAgYm9keTogWycnXVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hdXRoU2VydmljZS5nZXRUb2tlbiQoKS5zdWJzY3JpYmUocmVzID0+IHtcbiAgICAgICAgICAgIHRoaXMudXNlckxvZ2dlZEluID0gISFyZXM7XG4gICAgICAgICAgICBpZiAodGhpcy51c2VyTG9nZ2VkSW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLmxvY2FsU3RvcmFnZS5nZXRJdGVtJCgncHJvZHVjdCcpLnN1YnNjcmliZShyZXMgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBkYXRhID0gcmVzID8gSlNPTi5wYXJzZShyZXMpIDogbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25JZCA9IGRhdGE/LnN1YnNjcmlwdGlvbklkO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuYXZpZ2F0ZVRvUmVzb3VyY2VFZGl0KCkge1xuICAgICAgICBjb25zdCBiYXNlUGF0aCA9IGAvYWRtaW4vcmVzb3VyY2VzLyR7dGhpcy5yZXNvdXJjZURhdGE/LnNsdWd9YDtcbiAgICAgICAgY29uc3QgZnVsbFVybCA9IGAke2xvY2F0aW9uLm9yaWdpbn0ke2Jhc2VQYXRofWA7XG4gICAgICAgIHdpbmRvdy5vcGVuKGZ1bGxVcmwsICdfYmxhbmsnKTtcbiAgICB9XG5cbiAgICBvcGVuTW9kYWwobW9kYWxUZW1wbGF0ZSk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5yZXNvdXJjZURhdGEpIHtcbiAgICAgICAgICAgIGNvbnN0IHdoZW4gPSB0aGlzLnJlc291cmNlRGF0YS53aGVuID8gbmV3IERhdGUodGhpcy5yZXNvdXJjZURhdGEud2hlbikgOiBudWxsO1xuICAgICAgICAgICAgdGhpcy5lZGl0Rm9ybS5zZXRWYWx1ZSh7XG4gICAgICAgICAgICAgICAgdGl0bGU6IHRoaXMucmVzb3VyY2VEYXRhLnRpdGxlID8/ICcnLFxuICAgICAgICAgICAgICAgIGV4dGVybmFsX3VybDogdGhpcy5yZXNvdXJjZURhdGEuZXh0ZXJuYWxfdXJsID8/ICcnLFxuICAgICAgICAgICAgICAgIGN0YV90ZXh0OiB0aGlzLnJlc291cmNlRGF0YS5jdGFfdGV4dCA/PyAnJyxcbiAgICAgICAgICAgICAgICB3aGVuOiB3aGVuID8/ICcnLFxuICAgICAgICAgICAgICAgIHNob3djYXNlOiAhIXRoaXMucmVzb3VyY2VEYXRhLnNob3djYXNlLFxuICAgICAgICAgICAgICAgIHB1Ymxpc2hlZF9hdDogISF0aGlzLnJlc291cmNlRGF0YS5wdWJsaXNoZWRfYXQsXG4gICAgICAgICAgICAgICAgYWNjZXB0ZWRfYXQ6ICEhdGhpcy5yZXNvdXJjZURhdGEuYWNjZXB0ZWRfYXQsXG4gICAgICAgICAgICAgICAgYm9keTogdGhpcy5yZXNvdXJjZURhdGEuYm9keVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLmltYWdlID0gdGhpcy5yZXNvdXJjZURhdGEucGljdHVyZT8udXJsID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRhZ3MgPSB0aGlzLnJlc291cmNlRGF0YT8udGFncz8ubGVuZ3RoID8gWy4uLnRoaXMucmVzb3VyY2VEYXRhLnRhZ3NdIDogW107XG4gICAgICAgICAgICB0aGlzLnJlY3Rhbmd1bGFySW1hZ2UgPSB0aGlzLnJlc291cmNlRGF0YS5yZWN0YW5ndWxhcl9waWN0dXJlPy51cmwgPz8gJyc7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihtb2RhbFRlbXBsYXRlLCB7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbGcnIH0pO1xuICAgICAgICB0aGlzLmdldFBvc3RUYWdzKCk7XG4gICAgfVxuXG4gICAgc2VhcmNoKGV2ZW50KSB7XG4gICAgICAgIGxldCB2YWx1ZXMgPSBbXTtcbiAgICAgICAgaWYgKGV2ZW50LnF1ZXJ5KSB7XG4gICAgICAgICAgICB2YWx1ZXMgPSB0aGlzLmFsbFRhZ3MuZmlsdGVyKHggPT5cbiAgICAgICAgICAgICAgICB4Lm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhldmVudC5xdWVyeS50b0xvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuYWxsVGFncy5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgICAgICAgIHZhbHVlcy5wdXNoKGVsZW1lbnQpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50YWdzU3VnZ2VzdGlvbiA9IHZhbHVlcztcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFBvc3RUYWdzKCkge1xuICAgICAgICB0aGlzLnRhZ1NlcnZpY2VcbiAgICAgICAgICAgIC5nZXRUYWdzQnlUeXBlKCdwb3N0X2NhdGVnb3JpZXMnLCB7fSwgdGhpcy5zdWJzY3JpcHRpb25JZClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzcG9uc2UgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuYWxsVGFncyA9IHJlc3BvbnNlLnRhZ3M7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBkZWxldGVSZWN0YW5ndWxhckltYWdlKCkge1xuICAgICAgICB0aGlzLnJlY3Rhbmd1bGFySW1hZ2UgPSBudWxsO1xuICAgICAgICB0aGlzLnJlY3Rhbmd1bGFyRmlsZSA9IG51bGw7XG4gICAgfVxuICAgIG9wZW5JbWFnZU1vZGFsKG1vZGFsVGVtcGxhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmID0gdGhpcy5tb2RhbFNlcnZpY2Uub3Blbihtb2RhbFRlbXBsYXRlLCB7IGNlbnRlcmVkOiB0cnVlLCBzaXplOiAnbWQnIH0pO1xuICAgIH1cblxuICAgIG9uSW1hZ2VTZWxlY3RlZChiYXNlNjQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmltYWdlID0gYmFzZTY0O1xuICAgICAgICB0aGlzLmZpbGUgPSBIZWxwZXJTZXJ2aWNlLmNvbnZlcnRCYXNlNjRUb0ZpbGUoYmFzZTY0KTtcbiAgICAgICAgdGhpcy5pbWFnZU1vZGFsUmVmPy5jbG9zZSgpO1xuICAgIH1cblxuICAgIG9uUmVjdGFuZ3VsYXJJbWFnZVNlbGVjdGlvbihiYXNlNjQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnJlY3Rhbmd1bGFySW1hZ2UgPSBiYXNlNjQ7XG4gICAgICAgIHRoaXMucmVjdGFuZ3VsYXJGaWxlID0gSGVscGVyU2VydmljZS5jb252ZXJ0QmFzZTY0VG9GaWxlKGJhc2U2NCk7XG4gICAgICAgIHRoaXMuaW1hZ2VNb2RhbFJlZj8uY2xvc2UoKTtcbiAgICB9XG5cbiAgICByZW1vdmVJbWFnZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbWFnZSA9IG51bGw7XG4gICAgICAgIHRoaXMuZmlsZSA9IG51bGw7XG4gICAgfVxuXG4gICAgc2F2ZVJlc291cmNlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJ1dHRvbkJ1c3kgPSB0cnVlO1xuICAgICAgICB0aGlzLnNhdmVUYWdzKHRoaXMuaWQpO1xuICAgICAgICBjb25zdCBwYXlsb2FkID0ge1xuICAgICAgICAgICAgLi4udGhpcy5lZGl0Rm9ybS52YWx1ZSxcbiAgICAgICAgICAgIHN1YnNjcmlwdGlvbl9pZDogdGhpcy5zdWJzY3JpcHRpb25JZFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuaGFuZGxlUGljdHVyZShwYXlsb2FkKTtcbiAgICAgICAgdGhpcy5oYW5kbGVQdWJsaXNoZWRBdChwYXlsb2FkKTtcbiAgICAgICAgdGhpcy5oYW5kbGVBY2NlcHRlZEF0KHBheWxvYWQpO1xuICAgICAgICB0aGlzLmhhbmRsZUFjY2VwdGVkQXQocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlT3B0aW9uYWxGaWVsZHMocGF5bG9hZCk7XG4gICAgICAgIHRoaXMuaGFuZGxlUmVjdGFuZ3VsYXJQaWN0dXJlKHBheWxvYWQpO1xuICAgICAgICB0aGlzLmhhbmRsZVJlbW92YWxzKHBheWxvYWQpO1xuXG4gICAgICAgIHRoaXMucmVzb3VyY2VTZXJ2aWNlLnVwZGF0ZVBvc3QocGF5bG9hZCwgdGhpcy5pZCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuYnV0dG9uQnVzeSA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50b2FzdC5zdWNjZXNzKCdCbG9nIFBvc3QgVXBkYXRlZCcpO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVkLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMubW9kYWxTZXJ2aWNlLmRpc21pc3NBbGwoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzYXZlVGFncyhpZDogbnVtYmVyIHwgc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkVGFncy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGNvbnN0IGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgZW50aXR5X3RhZ3M6IHRoaXMuc2VsZWN0ZWRUYWdzLm1hcCh0YWcgPT4gKHsgdGFnX2lkOiB0YWcuaWQgfSkpLFxuICAgICAgICAgICAgICAgIHNsdWc6IGlkLFxuICAgICAgICAgICAgICAgIHRhZ19lbnRpdHk6ICdQb3N0JyAvLyBvciB1c2UgVEFHX0VOVElUWS5QT1NUIGlmIHlvdSBpbXBvcnRlZCBpdFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgdGhpcy50YWdTZXJ2aWNlLmFkZFRhZ3MoZGF0YSwgdGhpcy5zdWJzY3JpcHRpb25JZCkuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVBpY3R1cmUoZGF0YSkge1xuICAgICAgICBpZiAodGhpcy5maWxlKSB7XG4gICAgICAgICAgICBkYXRhLnBpY3R1cmUgPSB0aGlzLmZpbGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWxldGUgZGF0YS5waWN0dXJlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVQdWJsaXNoZWRBdChkYXRhKSB7XG4gICAgICAgIGNvbnN0IGNvbnRyb2wgPSB0aGlzLmVkaXRGb3JtLmdldCgncHVibGlzaGVkX2F0Jyk7XG4gICAgICAgIGlmIChjb250cm9sPy5kaXJ0eSkge1xuICAgICAgICAgICAgZGF0YS5wdWJsaXNoZWRfYXQgPSBjb250cm9sLnZhbHVlID8gbW9tZW50KCkuZm9ybWF0KCdERC1NTU0tWVlZWScpIDogJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWxldGUgZGF0YS5wdWJsaXNoZWRfYXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUFjY2VwdGVkQXQoZGF0YSkge1xuICAgICAgICBjb25zdCBjb250cm9sID0gdGhpcy5lZGl0Rm9ybS5nZXQoJ2FjY2VwdGVkX2F0Jyk7XG4gICAgICAgIGlmIChjb250cm9sPy5kaXJ0eSkge1xuICAgICAgICAgICAgZGF0YS5hY2NlcHRlZF9hdCA9IGNvbnRyb2wudmFsdWUgPyBtb21lbnQoKS5mb3JtYXQoJ0RELU1NTS1ZWVlZJykgOiAnJztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkYXRhLmFjY2VwdGVkX2F0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVPcHRpb25hbEZpZWxkcyhkYXRhKSB7XG4gICAgICAgIGlmICghdGhpcy5lZGl0Rm9ybS5nZXQoJ3doZW4nKT8udmFsdWUpIHtcbiAgICAgICAgICAgIGRhdGEud2hlbiA9ICcnO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5lZGl0Rm9ybS5nZXQoJ3Nob3djYXNlJyk/LnZhbHVlKSB7XG4gICAgICAgICAgICBkYXRhLnNob3djYXNlID0gJyc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZVJlY3Rhbmd1bGFyUGljdHVyZShkYXRhKSB7XG4gICAgICAgIGlmICh0aGlzLnJlY3Rhbmd1bGFyRmlsZSkge1xuICAgICAgICAgICAgZGF0YS5yZWN0YW5ndWxhcl9waWN0dXJlID0gdGhpcy5yZWN0YW5ndWxhckZpbGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkZWxldGUgZGF0YS5yZWN0YW5ndWxhcl9waWN0dXJlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVSZW1vdmFscyhkYXRhKSB7XG4gICAgICAgIGlmICghdGhpcy5maWxlICYmICF0aGlzLmltYWdlKSB7XG4gICAgICAgICAgICBkYXRhLnJlbW92ZV9waWN0dXJlID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRoaXMucmVjdGFuZ3VsYXJGaWxlICYmICF0aGlzLnJlY3Rhbmd1bGFySW1hZ2UpIHtcbiAgICAgICAgICAgIGRhdGEucmVtb3ZlX3JlY3Rhbmd1bGFyX3BpY3R1cmUgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb3BlblJlY3RNb2RhbChjb250ZW50KSB7XG4gICAgICAgIHRoaXMuaW1hZ2VNb2RhbFJlZiA9IHRoaXMubW9kYWxTZXJ2aWNlLm9wZW4oY29udGVudCwge1xuICAgICAgICAgICAgY2VudGVyZWQ6IHRydWUsXG4gICAgICAgICAgICB3aW5kb3dDbGFzczogJ21vZGFsLWhvbGRlcidcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgaGFuZGxlSW1hZ2VFcnJvcihldmVudDogRXZlbnQsIGZhbGxiYWNrUGF0aCk6IHZvaWQge1xuICAgICAgICBIZWxwZXJTZXJ2aWNlLmhhbmRsZUltYWdlRmFsbGJhY2tQYXRoKGV2ZW50LCBmYWxsYmFja1BhdGgpO1xuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJlZGl0LWNhcmRcIj5cbiAgPGkgY2xhc3M9XCJmYSBmYS1lZGl0IGN1cnNvci1wb2ludGVyIHRleHQtZGFyayBpbi1wYWdlLWVkaXQtaWNvbiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi0yXCJcbiAgICAgKGNsaWNrKT1cIm9wZW5Nb2RhbChlZGl0UmVzb3VyY2VNb2RhbClcIlxuICAgICAoa2V5ZG93bi5lbnRlcik9XCJvcGVuTW9kYWwoZWRpdFJlc291cmNlTW9kYWwpXCJcbiAgICAgKGtleWRvd24uc3BhY2UpPVwib3Blbk1vZGFsKGVkaXRSZXNvdXJjZU1vZGFsKVwiXG4gICAgIHRpdGxlPVwiRWRpdCBSZXNvdXJjZVwiPjwvaT5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2VkaXRSZXNvdXJjZU1vZGFsIGxldC1tb2RhbD5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+RWRpdCBSZXNvdXJjZTwvaDU+XG4gICAgPGkgY2xhc3M9XCJmYSBmYS1lZGl0IGN1cnNvci1wb2ludGVyIHRleHQtZGFyayBpbi1wYWdlLWVkaXQtaWNvbiBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBtcy0zXCJcbiAgICAgKGNsaWNrKT1cIm5hdmlnYXRlVG9SZXNvdXJjZUVkaXQoKVwiXG4gICAgIChrZXlkb3duLmVudGVyKT1cIm5hdmlnYXRlVG9SZXNvdXJjZUVkaXQoKVwiXG4gICAgIChrZXlkb3duLnNwYWNlKT1cIm5hdmlnYXRlVG9SZXNvdXJjZUVkaXQoKVwiXG4gICAgIHRpdGxlPVwiR28gdG8gdGhlIG1haW4gZWRpdCBwYWdlXCI+PC9pPlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlXCIgYXJpYS1sYWJlbD1cIkNsb3NlXCIgKGNsaWNrKT1cIm1vZGFsLmRpc21pc3MoKVwiPjwvYnV0dG9uPlxuICA8L2Rpdj5cblxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZWRpdEZvcm1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cblxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyIGxhYmVsPVwiVGl0bGVcIiBuYW1lPVwidGl0bGVcIj5cbiAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgZm9ybUNvbnRyb2xOYW1lPVwidGl0bGVcIiAvPlxuICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHJvd1wiPlxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgbGFiZWw9XCJDVEEgVGV4dFwiIG5hbWU9XCJjdGFfdGV4dFwiIGNsYXNzPVwiY29sLW1kLTZcIlxuICAgICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidSZXNvdXJjZS5Qb3N0cy5Ub29sdGlwLkN0YVRleHQnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImN0YV90ZXh0XCIgLz5cbiAgICAgICAgICA8L3B3LWlucHV0LWNvbnRhaW5lcj5cblxuICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXIgbGFiZWw9XCJFeHRlcm5hbCBVUkxcIiBuYW1lPVwiZXh0ZXJuYWxfdXJsXCIgY2xhc3M9XCJjb2wtbWQtNlwiXG4gICAgICAgICAgICBbc2hvd1Rvb2x0aXBdPVwidHJ1ZVwiXG4gICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ1Jlc291cmNlLlBvc3RzLlRvb2x0aXAuRXh0ZXJuYWxVcmwnIHwgdHJhbnNsb2NvXCI+XG4gICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImV4dGVybmFsX3VybFwiIC8+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ1Jlc291cmNlLlBvc3RzLkJvZHknIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIG5hbWU9XCJib2R5XCJcbiAgICAgICAgICAgIFtlcnJvck1zZ109XCInUmVzb3VyY2UuUG9zdHMuVmFsaWRhdGlvbi5Cb2R5JyB8IHRyYW5zbG9jb1wiPlxuICAgICAgICAgICAgPHF1aWxsLWVkaXRvclxuICAgICAgICAgICAgICBbc3R5bGVzXT1cInsgaGVpZ2h0OiAnMzAwcHgnIH1cIlxuICAgICAgICAgICAgICBjbGFzcz1cInF1aWxsRWRpdG9yXCJcbiAgICAgICAgICAgICAgW21vZHVsZXNdPVwiZWRpdG9yQ29uZmlnXCJcbiAgICAgICAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiYm9keVwiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICAgICAndy0xMDAnOiB0cnVlLFxuICAgICAgICAgICAgICAgICdxdWlsbC1jb250YWluZXInOiB0cnVlLFxuICAgICAgICAgICAgICAgICdpcy1pbnZhbGlkJzogc3VibWl0dGVkICYmIGZbJ2JvZHknXS5lcnJvcnNcbiAgICAgICAgICAgICAgfVwiPlxuICAgICAgICAgICAgPC9xdWlsbC1lZGl0b3I+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTMgY29sLXNtLTZcIj5cbiAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ1Jlc291cmNlLlBvc3RzLldoZW4nIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIFtzaG93VG9vbHRpcF09XCJ0cnVlXCJcbiAgICAgICAgICAgIFt0b29sdGlwVGV4dF09XCInUmVzb3VyY2UuUG9zdHMuVG9vbHRpcC5XaGVuJyB8IHRyYW5zbG9jb1wiXG4gICAgICAgICAgICBuYW1lPVwid2hlblwiPlxuICAgICAgICAgICAgPHAtY2FsZW5kYXIgZm9ybUNvbnRyb2xOYW1lPVwid2hlblwiXG4gICAgICAgICAgICAgIFtzaG93SWNvbl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgZGF0ZUZvcm1hdD1cImRkLU0teXlcIlxuICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiJ1NlbGVjdCBEYXRlJ1wiXG4gICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ2lzLWludmFsaWQnOiBzdWJtaXR0ZWQgJiYgZlsnd2hlbiddLmVycm9ycyB9XCI+XG4gICAgICAgICAgICA8L3AtY2FsZW5kYXI+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLThcIj5cbiAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyXG4gICAgICAgICAgICBbbGFiZWxdPVwiJ1Jlc291cmNlLlBvc3RzLlRhZ3MnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIGNsYXNzPVwidWktZmx1aWQgc2tpbGxzLW1vZGFsIHRhZ3NcIlxuICAgICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgW3Rvb2x0aXBUZXh0XT1cIidSZXNvdXJjZS5Qb3N0cy5Ub29sdGlwLkN0YVRleHQnIHwgdHJhbnNsb2NvXCJcbiAgICAgICAgICAgIG5hbWU9XCJjdGFfdGV4dFwiPlxuICAgICAgICAgICAgPHAtYXV0b0NvbXBsZXRlIFsobmdNb2RlbCldPVwic2VsZWN0ZWRUYWdzXCJcbiAgICAgICAgICAgICAgY2xhc3M9XCJib2R5LWJnXCJcbiAgICAgICAgICAgICAgW3N1Z2dlc3Rpb25zXT1cInRhZ3NTdWdnZXN0aW9uXCJcbiAgICAgICAgICAgICAgZGF0YUtleT1cImlkXCJcbiAgICAgICAgICAgICAgZmllbGQ9XCJuYW1lXCJcbiAgICAgICAgICAgICAgKGNvbXBsZXRlTWV0aG9kKT1cInNlYXJjaCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgc3R5bGVDbGFzcz1cInctMTAwXCJcbiAgICAgICAgICAgICAgW21pbkxlbmd0aF09XCIxXCJcbiAgICAgICAgICAgICAgW21heGxlbmd0aF09XCIxMFwiXG4gICAgICAgICAgICAgIFtkcm9wZG93bl09XCJ0cnVlXCJcbiAgICAgICAgICAgICAgW25nTW9kZWxPcHRpb25zXT1cInsgc3RhbmRhbG9uZTogdHJ1ZSB9XCJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJUYWdzXCJcbiAgICAgICAgICAgICAgW211bHRpcGxlXT1cInRydWVcIj5cbiAgICAgICAgICAgIDwvcC1hdXRvQ29tcGxldGU+XG4gICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgcm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGNvbC1zbS02XCI+XG4gICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInU0hPV0NBU0UnXCJcbiAgICAgICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ01hcmsgYXMgc2hvd2Nhc2UgcG9zdCdcIlxuICAgICAgICAgICAgICBuYW1lPVwic2hvd2Nhc2VcIj5cbiAgICAgICAgICAgICAgPHVpLXN3aXRjaCBmb3JtQ29udHJvbE5hbWU9XCJzaG93Y2FzZVwiIGNsYXNzPVwiZC1ibG9ja1wiPjwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLW1kLTQgY29sLXNtLTZcIj5cbiAgICAgICAgICAgIDxwdy1pbnB1dC1jb250YWluZXJcbiAgICAgICAgICAgICAgW2xhYmVsXT1cIidQVUJMSVNIRUQnXCJcbiAgICAgICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ1NldCB0byBwdWJsaXNoIHRoZSBwb3N0J1wiXG4gICAgICAgICAgICAgIG5hbWU9XCJwdWJsaXNoZWRfYXRcIj5cbiAgICAgICAgICAgICAgPHVpLXN3aXRjaCBmb3JtQ29udHJvbE5hbWU9XCJwdWJsaXNoZWRfYXRcIiBjbGFzcz1cImQtYmxvY2tcIj48L3VpLXN3aXRjaD5cbiAgICAgICAgICAgIDwvcHctaW5wdXQtY29udGFpbmVyPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1tZC00IGNvbC1zbS02XCI+XG4gICAgICAgICAgICA8cHctaW5wdXQtY29udGFpbmVyXG4gICAgICAgICAgICAgIFtsYWJlbF09XCInQUNDRVBURUQgQlkgQURNSU4nXCJcbiAgICAgICAgICAgICAgW3Nob3dUb29sdGlwXT1cInRydWVcIlxuICAgICAgICAgICAgICBbdG9vbHRpcFRleHRdPVwiJ0luZGljYXRlcyBhcHByb3ZhbCBieSBhZG1pbidcIlxuICAgICAgICAgICAgICBuYW1lPVwiYWNjZXB0ZWRfYXRcIj5cbiAgICAgICAgICAgICAgPHVpLXN3aXRjaCBmb3JtQ29udHJvbE5hbWU9XCJhY2NlcHRlZF9hdFwiIGNsYXNzPVwiZC1ibG9ja1wiPjwvdWktc3dpdGNoPlxuICAgICAgICAgICAgPC9wdy1pbnB1dC1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTQgY29sLXNtLTQgbXktNCBtcy0zXCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTRcIj5cbiAgICAgICAgICAgIDxsYWJlbCBmb3I9XCJjb3ZlclBpY3R1cmVcIj57eyAnUmVzb3VyY2UuUG9zdHMuQ292ZXJQaWN0dXJlJyB8IHRyYW5zbG9jbyB9fTwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiKGltYWdlICYmICFpbWFnZS5pbmNsdWRlcygnZGVmYXVsdC1waG90by5qcGcnKSkgPyBpbWFnZSA6ICdhc3NldHMvaW1nL3Jlc291cmNlL2Jsb2cucG5nJ1wiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5JbWFnZU1vZGFsKGltYWdlQ3JvcENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvcGVuSW1hZ2VNb2RhbChpbWFnZUNyb3BDb250ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbWFnZSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgICAgYWx0PVwiTW9kYWxcIlxuICAgICAgICAgICAgICAgICAgIChlcnJvcik9XCJoYW5kbGVJbWFnZUVycm9yKCRldmVudCwgJ2Fzc2V0cy9pbWcvcmVzb3VyY2UvYmxvZy5wbmcnKVwiIC8+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG10LTJcIj5cbiAgICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtaW5saW5lLWJsb2NrXCIgKGNsaWNrKT1cIm9wZW5JbWFnZU1vZGFsKGltYWdlQ3JvcENvbnRlbnQpXCI+XG4gICAgICAgICAgICAgICAgICB7eyBzbHVnICE9PSAnY3JlYXRlJyA/ICdFZGl0JyA6ICdBZGQnIH19IFBpY3R1cmVcbiAgICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgICAgPGkgKm5nSWY9XCJpbWFnZSAmJiAhaW1hZ2UuaW5jbHVkZXMoJ2RlZmF1bHQtcGhvdG8uanBnJylcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb24gdGV4dC1kYW5nZXIgbXMtMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgdGl0bGU9XCJSZW1vdmUgSW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJyZW1vdmVJbWFnZSgpXCJcbiAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJyZW1vdmVJbWFnZSgpXCI+PC9pPlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cblxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1tZC00IGNvbC1zbS00IG15LTQgbXMtM1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtYi00XCI+XG4gICAgICAgICAgICA8bGFiZWwgZm9yPVwicmVjdGFuZ3VsYXJQaWN0dXJlXCI+UmVjdGFuZ3VsYXIgUGljdHVyZTwvbGFiZWw+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgZC1mbGV4IGZsZXgtY29sdW1uIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICA8aW1nIFtzcmNdPVwiKHJlY3Rhbmd1bGFySW1hZ2UgJiYgIXJlY3Rhbmd1bGFySW1hZ2UuaW5jbHVkZXMoJ2RlZmF1bHQtcGhvdG8uanBnJykpID8gcmVjdGFuZ3VsYXJJbWFnZSA6ICdhc3NldHMvaW1nL3Jlc291cmNlL2Jsb2cucG5nJ1wiXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cIm9wZW5SZWN0TW9kYWwocmVjdENvbnRlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJvcGVuUmVjdE1vZGFsKHJlY3RDb250ZW50KVwiXG4gICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpbWFnZSB3LTEwMFwiXG4gICAgICAgICAgICAgICAgICAgYWx0PVwiVXBsb2FkZWQgcmVjdGFuZ3VsYXIgbWVkaWEgcHJldmlld1wiXG4gICAgICAgICAgICAgICAgICAgKGVycm9yKT1cImhhbmRsZUltYWdlRXJyb3IoJGV2ZW50LCAnYXNzZXRzL2ltZy9yZXNvdXJjZS9ibG9nLnBuZycpXCIgLz5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMlwiPlxuICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZC1pbmxpbmUtYmxvY2tcIiAoY2xpY2spPVwib3BlblJlY3RNb2RhbChyZWN0Q29udGVudClcIj5cbiAgICAgICAgICAgICAgICAgIHt7IHNsdWcgIT09ICdjcmVhdGUnID8gJ0VkaXQnIDogJ0FkZCcgfX0gUGljdHVyZVxuICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICA8aSAqbmdJZj1cInJlY3Rhbmd1bGFySW1hZ2UgJiYgIXJlY3Rhbmd1bGFySW1hZ2UuaW5jbHVkZXMoJ2RlZmF1bHQtcGhvdG8uanBnJylcIlxuICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZmEgZmEtdHJhc2ggZGVsZXRlLWljb24gdGV4dC1kYW5nZXIgbXMtMiBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICAgICAgICAgdGl0bGU9XCJSZW1vdmUgSW1hZ2VcIlxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJkZWxldGVSZWN0YW5ndWxhckltYWdlKClcIlxuICAgICAgICAgICAgICAgICAgIChrZXlkb3duLmVudGVyKT1cImRlbGV0ZVJlY3Rhbmd1bGFySW1hZ2UoKVwiPjwvaT5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgIDwvZGl2PlxuICAgIDwvZm9ybT5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWZvb3RlclwiPlxuICAgIDxidXR0b24gY2xhc3M9XCJidG4gYnRuLXNlY29uZGFyeVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj5DYW5jZWw8L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5XCIgW2J1dHRvbkJ1c3ldPVwiYnV0dG9uQnVzeVwiIChjbGljayk9XCJzYXZlUmVzb3VyY2UoKVwiPlNhdmU8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ltYWdlQ3JvcENvbnRlbnQgbGV0LW1vZGFsPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtaGVhZGVyXCI+XG4gICAgPGg1IGNsYXNzPVwibW9kYWwtdGl0bGVcIj5VcGxvYWQgUGljdHVyZTwvaDU+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiAoY2xpY2spPVwibW9kYWwuZGlzbWlzcygpXCI+PC9idXR0b24+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgIDxzbWFsbD5Zb3UgY2FuIHVwbG9hZCBhIEpQRywgR0lGLCBvciBQTkcgZmlsZS4gKERvIG5vdCB1cGxvYWQgcGljdHVyZXMgY29udGFpbmluZyBjZWxlYnJpdGllcyxcbiAgICAgIG51ZGl0eSwgYXJ0d29yayBvciBjb3B5cmlnaHRlZCBpbWFnZXMuKTwvc21hbGw+XG4gICAgPHB3LWltYWdlLWNyb3BwZXJcbiAgICAgIFthc3BlY3RSYXRpb109XCInZHluYW1pYydcIlxuICAgICAgKGltYWdlU2VsZWN0aW9uRXZlbnQpPVwib25JbWFnZVNlbGVjdGVkKCRldmVudClcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwibW9kYWwuY2xvc2UoKVwiPlxuICAgIDwvcHctaW1hZ2UtY3JvcHBlcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3JlY3RDb250ZW50IGxldC1tb2RhbD5cbiAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgIDxoNSBjbGFzcz1cIm1vZGFsLXRpdGxlXCI+VXBsb2FkIFBpY3R1cmU8L2g1PlxuICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuLWNsb3NlIGZsb2F0LWVuZFwiIGFyaWEtbGFiZWw9XCJDbG9zZVwiIChjbGljayk9XCJtb2RhbC5kaXNtaXNzKClcIj48L2J1dHRvbj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJtb2RhbC1ib2R5XCI+XG4gICAgPHNtYWxsPllvdSBjYW4gdXBsb2FkIGEgSlBHLCBHSUYsIG9yIFBORyBmaWxlLiAoRG8gbm90IHVwbG9hZCBwaWN0dXJlcyBjb250YWluaW5nIGNlbGVicml0aWVzLFxuICAgICAgbnVkaXR5LCBhcnR3b3JrIG9yIGNvcHlyaWdodGVkIGltYWdlcy4pPC9zbWFsbD5cbiAgICA8cHctaW1hZ2UtY3JvcHBlclxuICAgICAgI3Byb2ZpbGVcbiAgICAgIFthc3BlY3RSYXRpb109XCInZHluYW1pYydcIlxuICAgICAgKGltYWdlU2VsZWN0aW9uRXZlbnQpPVwib25SZWN0YW5ndWxhckltYWdlU2VsZWN0aW9uKCRldmVudClcIlxuICAgICAgKGNsb3NlRXZlbnQpPVwib25DbG9zZSgpXCI+XG4gICAgPC9wdy1pbWFnZS1jcm9wcGVyPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|