@rededor/site-front-end-lib 1.3.19 → 1.3.21

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.
@@ -44,11 +44,11 @@ export class TestimonialCardComponent {
44
44
  this.youtubeService.removeScript();
45
45
  }
46
46
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TestimonialCardComponent, deps: [{ token: i1.CuraService }, { token: i1.YoutubeService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
47
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TestimonialCardComponent, isStandalone: true, selector: "rdsite-testimonial-card", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, videoUrl: { classPropertyName: "videoUrl", publicName: "videoUrl", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, author: { classPropertyName: "author", publicName: "author", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "this.styleBinding" } }, viewQueries: [{ propertyName: "youtubePlayer", first: true, predicate: ["youtubePlayer"], descendants: true }], ngImport: i0, template: "@if ((image() || getVideoId()) && text()) {\r\n @switch (type()) {\r\n @case ('image') {\r\n @if (image()) {\r\n <rdsite-image\r\n [imageWebpSrc]=\"image()?.webp_sizes?.['rdsl-card-unidades']\"\r\n [imageDefaultSrc]=\"image()?.sizes?.['rdsl-card-unidades']\"\r\n [mimeType]=\"image()?.mime_type\"\r\n [alt]=\"image()?.alt\"\r\n >\r\n </rdsite-image>\r\n }\r\n }\r\n @case ('video') {\r\n @if (getVideoId() && platformBrowser()) {\r\n <youtube-player #youtubePlayer [videoId]=\"getVideoId()\" [disablePlaceholder]=\"true\"></youtube-player>\r\n }\r\n }\r\n }\r\n\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"26\" viewBox=\"0 0 32 26\" fill=\"none\">\r\n <path\r\n d=\"M14.375 3.3125C12.9062 4.15625 11.7188 4.89062 10.8125 5.51562C9.90625 6.10938 8.98438 6.90625 8.04688 7.90625C7.17188 8.84375 6.5 9.82812 6.03125 10.8594C5.5625 11.8906 5.23438 13.2188 5.04688 14.8438H7.29688C9.23438 14.8438 10.75 15.3281 11.8438 16.2969C12.9688 17.2344 13.5312 18.625 13.5312 20.4688C13.5312 21.7812 13.0312 23.0156 12.0312 24.1719C11.0625 25.2969 9.71875 25.8594 8 25.8594C5.3125 25.8594 3.39062 24.9844 2.23438 23.2344C1.07812 21.4531 0.5 19.125 0.5 16.25C0.5 14.2188 0.9375 12.375 1.8125 10.7188C2.6875 9.03125 3.75 7.53125 5 6.21875C6.28125 4.875 7.64062 3.73438 9.07812 2.79688C10.5156 1.85938 11.7188 1.09375 12.6875 0.5L14.375 3.3125ZM31.7188 3.3125C30.25 4.15625 29.0625 4.89062 28.1562 5.51562C27.25 6.10938 26.3281 6.90625 25.3906 7.90625C24.4844 8.875 23.7969 9.875 23.3281 10.9062C22.8906 11.9062 22.5781 13.2188 22.3906 14.8438H24.6406C26.5781 14.8438 28.0938 15.3281 29.1875 16.2969C30.3125 17.2344 30.875 18.625 30.875 20.4688C30.875 21.7812 30.375 23.0156 29.375 24.1719C28.4062 25.2969 27.0625 25.8594 25.3438 25.8594C22.6562 25.8594 20.7344 24.9844 19.5781 23.2344C18.4219 21.4531 17.8438 19.125 17.8438 16.25C17.8438 14.2188 18.2812 12.375 19.1562 10.7188C20.0312 9.03125 21.0938 7.53125 22.3438 6.21875C23.625 4.875 24.9844 3.73438 26.4219 2.79688C27.8594 1.85938 29.0625 1.09375 30.0312 0.5L31.7188 3.3125Z\"\r\n fill=\"#202122\"\r\n />\r\n </svg>\r\n\r\n <div class=\"testimonials-text\">\r\n <q class=\"quote\" (click)=\"stopVideo()\">{{ text() }}</q>\r\n\r\n @if (author()) {\r\n <span class=\"author\">{{ author() }}</span>\r\n }\r\n\r\n @if (position()) {\r\n <span class=\"position\">\r\n {{ position() }}\r\n </span>\r\n }\r\n </div>\r\n}\r\n", styles: [":host{display:flex;flex-direction:column;gap:15px;width:100%;height:auto;padding:28px;border-radius:3px;background-color:#f7f5f0}@media screen and (min-width: 1024px){:host{flex-direction:row;justify-content:center;gap:12px;background:linear-gradient(to right,#fff 102px,#f7f5f0 0)}}:host rdsite-image,:host youtube-player{border-radius:3px 50px 3px 3px}@media screen and (min-width: 1024px){:host rdsite-image,:host youtube-player{flex:1 1 50%}}:host rdsite-image{aspect-ratio:1.35}@media screen and (min-width: 769px){:host rdsite-image{aspect-ratio:1.78}}:host youtube-player{overflow:hidden;aspect-ratio:1.35}@media screen and (min-width: 769px){:host youtube-player{aspect-ratio:unset}}:host youtube-player ::ng-deep>div{width:100%;height:100%}:host youtube-player ::ng-deep iframe{width:100%;height:100%}:host svg{margin-top:24px}:host .testimonials-text{flex:1 1 50%;display:flex;flex-direction:column}:host .testimonials-text *{font-family:var(--font-family)}:host .testimonials-text .quote{color:var(--color-one-darker);font-size:17px;font-weight:400;line-height:150%;margin-bottom:15px}@media screen and (min-width: 1024px){:host .testimonials-text .quote{font-size:19px;margin-bottom:44px;margin-top:44px}}:host .testimonials-text .author,:host .testimonials-text .position{color:var(--neutral-black);font-size:12px;font-weight:500;line-height:135%;letter-spacing:.48px}@media screen and (min-width: 1024px){:host .testimonials-text .author,:host .testimonials-text .position{font-size:14px;letter-spacing:.56px}}\n"], dependencies: [{ kind: "component", type: ImageComponent, selector: "rdsite-image", inputs: ["imageWebpSrc", "imageDefaultSrc", "imageSizes", "mimeType", "alt", "title", "loading"] }, { kind: "ngmodule", type: YouTubePlayerModule }, { kind: "component", type: i2.YouTubePlayer, selector: "youtube-player", inputs: ["videoId", "height", "width", "startSeconds", "endSeconds", "suggestedQuality", "playerVars", "disableCookies", "loadApi", "disablePlaceholder", "showBeforeIframeApiLoads", "placeholderButtonLabel", "placeholderImageQuality"], outputs: ["ready", "stateChange", "error", "apiChange", "playbackQualityChange", "playbackRateChange"] }] }); }
47
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: TestimonialCardComponent, isStandalone: true, selector: "rdsite-testimonial-card", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, image: { classPropertyName: "image", publicName: "image", isSignal: true, isRequired: false, transformFunction: null }, videoUrl: { classPropertyName: "videoUrl", publicName: "videoUrl", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, author: { classPropertyName: "author", publicName: "author", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "style": "this.styleBinding" } }, viewQueries: [{ propertyName: "youtubePlayer", first: true, predicate: ["youtubePlayer"], descendants: true }], ngImport: i0, template: "@if ((image() || getVideoId()) && text()) {\r\n @switch (type()) {\r\n @case ('image') {\r\n @if (image()) {\r\n <rdsite-image\r\n [imageWebpSrc]=\"image()?.webp_sizes?.['rdsl-card-unidades']\"\r\n [imageDefaultSrc]=\"image()?.sizes?.['rdsl-card-unidades']\"\r\n [mimeType]=\"image()?.mime_type\"\r\n [alt]=\"image()?.alt\"\r\n >\r\n </rdsite-image>\r\n }\r\n }\r\n @case ('video') {\r\n @if (getVideoId() && platformBrowser()) {\r\n <youtube-player #youtubePlayer [videoId]=\"getVideoId()\" [disablePlaceholder]=\"true\"></youtube-player>\r\n }\r\n }\r\n }\r\n\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"26\" viewBox=\"0 0 32 26\" fill=\"none\">\r\n <path\r\n d=\"M14.375 3.3125C12.9062 4.15625 11.7188 4.89062 10.8125 5.51562C9.90625 6.10938 8.98438 6.90625 8.04688 7.90625C7.17188 8.84375 6.5 9.82812 6.03125 10.8594C5.5625 11.8906 5.23438 13.2188 5.04688 14.8438H7.29688C9.23438 14.8438 10.75 15.3281 11.8438 16.2969C12.9688 17.2344 13.5312 18.625 13.5312 20.4688C13.5312 21.7812 13.0312 23.0156 12.0312 24.1719C11.0625 25.2969 9.71875 25.8594 8 25.8594C5.3125 25.8594 3.39062 24.9844 2.23438 23.2344C1.07812 21.4531 0.5 19.125 0.5 16.25C0.5 14.2188 0.9375 12.375 1.8125 10.7188C2.6875 9.03125 3.75 7.53125 5 6.21875C6.28125 4.875 7.64062 3.73438 9.07812 2.79688C10.5156 1.85938 11.7188 1.09375 12.6875 0.5L14.375 3.3125ZM31.7188 3.3125C30.25 4.15625 29.0625 4.89062 28.1562 5.51562C27.25 6.10938 26.3281 6.90625 25.3906 7.90625C24.4844 8.875 23.7969 9.875 23.3281 10.9062C22.8906 11.9062 22.5781 13.2188 22.3906 14.8438H24.6406C26.5781 14.8438 28.0938 15.3281 29.1875 16.2969C30.3125 17.2344 30.875 18.625 30.875 20.4688C30.875 21.7812 30.375 23.0156 29.375 24.1719C28.4062 25.2969 27.0625 25.8594 25.3438 25.8594C22.6562 25.8594 20.7344 24.9844 19.5781 23.2344C18.4219 21.4531 17.8438 19.125 17.8438 16.25C17.8438 14.2188 18.2812 12.375 19.1562 10.7188C20.0312 9.03125 21.0938 7.53125 22.3438 6.21875C23.625 4.875 24.9844 3.73438 26.4219 2.79688C27.8594 1.85938 29.0625 1.09375 30.0312 0.5L31.7188 3.3125Z\"\r\n fill=\"#202122\"\r\n />\r\n </svg>\r\n\r\n <div class=\"testimonials-text\">\r\n <q class=\"quote\" [innerHTML]=\"text()\" (click)=\"stopVideo()\"></q>\r\n\r\n @if (author()) {\r\n <span class=\"author\">{{ author() }}</span>\r\n }\r\n\r\n @if (position()) {\r\n <span class=\"position\">\r\n {{ position() }}\r\n </span>\r\n }\r\n </div>\r\n}\r\n", styles: [":host{display:flex;flex-direction:column;gap:15px;width:100%;height:auto;padding:28px;border-radius:3px;background-color:#f7f5f0}@media screen and (min-width: 1024px){:host{flex-direction:row;justify-content:center;gap:12px;background:linear-gradient(to right,#fff 102px,#f7f5f0 0)}}:host rdsite-image,:host youtube-player{border-radius:3px 50px 3px 3px}@media screen and (min-width: 1024px){:host rdsite-image,:host youtube-player{flex:1 1 50%}}:host rdsite-image{aspect-ratio:1.35}@media screen and (min-width: 769px){:host rdsite-image{aspect-ratio:1.78}}:host youtube-player{overflow:hidden;aspect-ratio:1.35}@media screen and (min-width: 769px){:host youtube-player{aspect-ratio:unset}}:host youtube-player ::ng-deep>div{width:100%;height:100%}:host youtube-player ::ng-deep iframe{width:100%;height:100%}:host svg{margin-top:24px}:host .testimonials-text{flex:1 1 50%;display:flex;flex-direction:column}:host .testimonials-text *{font-family:var(--font-family)}:host .testimonials-text .quote{color:var(--color-one-darker);font-size:17px;font-weight:400;line-height:150%;margin-bottom:15px}@media screen and (min-width: 1024px){:host .testimonials-text .quote{font-size:19px;margin-bottom:44px;margin-top:44px}}:host .testimonials-text .author,:host .testimonials-text .position{color:var(--neutral-black);font-size:12px;font-weight:500;line-height:135%;letter-spacing:.48px}@media screen and (min-width: 1024px){:host .testimonials-text .author,:host .testimonials-text .position{font-size:14px;letter-spacing:.56px}}\n"], dependencies: [{ kind: "component", type: ImageComponent, selector: "rdsite-image", inputs: ["imageWebpSrc", "imageDefaultSrc", "imageSizes", "mimeType", "alt", "title", "loading"] }, { kind: "ngmodule", type: YouTubePlayerModule }, { kind: "component", type: i2.YouTubePlayer, selector: "youtube-player", inputs: ["videoId", "height", "width", "startSeconds", "endSeconds", "suggestedQuality", "playerVars", "disableCookies", "loadApi", "disablePlaceholder", "showBeforeIframeApiLoads", "placeholderButtonLabel", "placeholderImageQuality"], outputs: ["ready", "stateChange", "error", "apiChange", "playbackQualityChange", "playbackRateChange"] }] }); }
48
48
  }
49
49
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TestimonialCardComponent, decorators: [{
50
50
  type: Component,
51
- args: [{ selector: 'rdsite-testimonial-card', standalone: true, imports: [ImageComponent, YouTubePlayerModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if ((image() || getVideoId()) && text()) {\r\n @switch (type()) {\r\n @case ('image') {\r\n @if (image()) {\r\n <rdsite-image\r\n [imageWebpSrc]=\"image()?.webp_sizes?.['rdsl-card-unidades']\"\r\n [imageDefaultSrc]=\"image()?.sizes?.['rdsl-card-unidades']\"\r\n [mimeType]=\"image()?.mime_type\"\r\n [alt]=\"image()?.alt\"\r\n >\r\n </rdsite-image>\r\n }\r\n }\r\n @case ('video') {\r\n @if (getVideoId() && platformBrowser()) {\r\n <youtube-player #youtubePlayer [videoId]=\"getVideoId()\" [disablePlaceholder]=\"true\"></youtube-player>\r\n }\r\n }\r\n }\r\n\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"26\" viewBox=\"0 0 32 26\" fill=\"none\">\r\n <path\r\n d=\"M14.375 3.3125C12.9062 4.15625 11.7188 4.89062 10.8125 5.51562C9.90625 6.10938 8.98438 6.90625 8.04688 7.90625C7.17188 8.84375 6.5 9.82812 6.03125 10.8594C5.5625 11.8906 5.23438 13.2188 5.04688 14.8438H7.29688C9.23438 14.8438 10.75 15.3281 11.8438 16.2969C12.9688 17.2344 13.5312 18.625 13.5312 20.4688C13.5312 21.7812 13.0312 23.0156 12.0312 24.1719C11.0625 25.2969 9.71875 25.8594 8 25.8594C5.3125 25.8594 3.39062 24.9844 2.23438 23.2344C1.07812 21.4531 0.5 19.125 0.5 16.25C0.5 14.2188 0.9375 12.375 1.8125 10.7188C2.6875 9.03125 3.75 7.53125 5 6.21875C6.28125 4.875 7.64062 3.73438 9.07812 2.79688C10.5156 1.85938 11.7188 1.09375 12.6875 0.5L14.375 3.3125ZM31.7188 3.3125C30.25 4.15625 29.0625 4.89062 28.1562 5.51562C27.25 6.10938 26.3281 6.90625 25.3906 7.90625C24.4844 8.875 23.7969 9.875 23.3281 10.9062C22.8906 11.9062 22.5781 13.2188 22.3906 14.8438H24.6406C26.5781 14.8438 28.0938 15.3281 29.1875 16.2969C30.3125 17.2344 30.875 18.625 30.875 20.4688C30.875 21.7812 30.375 23.0156 29.375 24.1719C28.4062 25.2969 27.0625 25.8594 25.3438 25.8594C22.6562 25.8594 20.7344 24.9844 19.5781 23.2344C18.4219 21.4531 17.8438 19.125 17.8438 16.25C17.8438 14.2188 18.2812 12.375 19.1562 10.7188C20.0312 9.03125 21.0938 7.53125 22.3438 6.21875C23.625 4.875 24.9844 3.73438 26.4219 2.79688C27.8594 1.85938 29.0625 1.09375 30.0312 0.5L31.7188 3.3125Z\"\r\n fill=\"#202122\"\r\n />\r\n </svg>\r\n\r\n <div class=\"testimonials-text\">\r\n <q class=\"quote\" (click)=\"stopVideo()\">{{ text() }}</q>\r\n\r\n @if (author()) {\r\n <span class=\"author\">{{ author() }}</span>\r\n }\r\n\r\n @if (position()) {\r\n <span class=\"position\">\r\n {{ position() }}\r\n </span>\r\n }\r\n </div>\r\n}\r\n", styles: [":host{display:flex;flex-direction:column;gap:15px;width:100%;height:auto;padding:28px;border-radius:3px;background-color:#f7f5f0}@media screen and (min-width: 1024px){:host{flex-direction:row;justify-content:center;gap:12px;background:linear-gradient(to right,#fff 102px,#f7f5f0 0)}}:host rdsite-image,:host youtube-player{border-radius:3px 50px 3px 3px}@media screen and (min-width: 1024px){:host rdsite-image,:host youtube-player{flex:1 1 50%}}:host rdsite-image{aspect-ratio:1.35}@media screen and (min-width: 769px){:host rdsite-image{aspect-ratio:1.78}}:host youtube-player{overflow:hidden;aspect-ratio:1.35}@media screen and (min-width: 769px){:host youtube-player{aspect-ratio:unset}}:host youtube-player ::ng-deep>div{width:100%;height:100%}:host youtube-player ::ng-deep iframe{width:100%;height:100%}:host svg{margin-top:24px}:host .testimonials-text{flex:1 1 50%;display:flex;flex-direction:column}:host .testimonials-text *{font-family:var(--font-family)}:host .testimonials-text .quote{color:var(--color-one-darker);font-size:17px;font-weight:400;line-height:150%;margin-bottom:15px}@media screen and (min-width: 1024px){:host .testimonials-text .quote{font-size:19px;margin-bottom:44px;margin-top:44px}}:host .testimonials-text .author,:host .testimonials-text .position{color:var(--neutral-black);font-size:12px;font-weight:500;line-height:135%;letter-spacing:.48px}@media screen and (min-width: 1024px){:host .testimonials-text .author,:host .testimonials-text .position{font-size:14px;letter-spacing:.56px}}\n"] }]
51
+ args: [{ selector: 'rdsite-testimonial-card', standalone: true, imports: [ImageComponent, YouTubePlayerModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "@if ((image() || getVideoId()) && text()) {\r\n @switch (type()) {\r\n @case ('image') {\r\n @if (image()) {\r\n <rdsite-image\r\n [imageWebpSrc]=\"image()?.webp_sizes?.['rdsl-card-unidades']\"\r\n [imageDefaultSrc]=\"image()?.sizes?.['rdsl-card-unidades']\"\r\n [mimeType]=\"image()?.mime_type\"\r\n [alt]=\"image()?.alt\"\r\n >\r\n </rdsite-image>\r\n }\r\n }\r\n @case ('video') {\r\n @if (getVideoId() && platformBrowser()) {\r\n <youtube-player #youtubePlayer [videoId]=\"getVideoId()\" [disablePlaceholder]=\"true\"></youtube-player>\r\n }\r\n }\r\n }\r\n\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"32\" height=\"26\" viewBox=\"0 0 32 26\" fill=\"none\">\r\n <path\r\n d=\"M14.375 3.3125C12.9062 4.15625 11.7188 4.89062 10.8125 5.51562C9.90625 6.10938 8.98438 6.90625 8.04688 7.90625C7.17188 8.84375 6.5 9.82812 6.03125 10.8594C5.5625 11.8906 5.23438 13.2188 5.04688 14.8438H7.29688C9.23438 14.8438 10.75 15.3281 11.8438 16.2969C12.9688 17.2344 13.5312 18.625 13.5312 20.4688C13.5312 21.7812 13.0312 23.0156 12.0312 24.1719C11.0625 25.2969 9.71875 25.8594 8 25.8594C5.3125 25.8594 3.39062 24.9844 2.23438 23.2344C1.07812 21.4531 0.5 19.125 0.5 16.25C0.5 14.2188 0.9375 12.375 1.8125 10.7188C2.6875 9.03125 3.75 7.53125 5 6.21875C6.28125 4.875 7.64062 3.73438 9.07812 2.79688C10.5156 1.85938 11.7188 1.09375 12.6875 0.5L14.375 3.3125ZM31.7188 3.3125C30.25 4.15625 29.0625 4.89062 28.1562 5.51562C27.25 6.10938 26.3281 6.90625 25.3906 7.90625C24.4844 8.875 23.7969 9.875 23.3281 10.9062C22.8906 11.9062 22.5781 13.2188 22.3906 14.8438H24.6406C26.5781 14.8438 28.0938 15.3281 29.1875 16.2969C30.3125 17.2344 30.875 18.625 30.875 20.4688C30.875 21.7812 30.375 23.0156 29.375 24.1719C28.4062 25.2969 27.0625 25.8594 25.3438 25.8594C22.6562 25.8594 20.7344 24.9844 19.5781 23.2344C18.4219 21.4531 17.8438 19.125 17.8438 16.25C17.8438 14.2188 18.2812 12.375 19.1562 10.7188C20.0312 9.03125 21.0938 7.53125 22.3438 6.21875C23.625 4.875 24.9844 3.73438 26.4219 2.79688C27.8594 1.85938 29.0625 1.09375 30.0312 0.5L31.7188 3.3125Z\"\r\n fill=\"#202122\"\r\n />\r\n </svg>\r\n\r\n <div class=\"testimonials-text\">\r\n <q class=\"quote\" [innerHTML]=\"text()\" (click)=\"stopVideo()\"></q>\r\n\r\n @if (author()) {\r\n <span class=\"author\">{{ author() }}</span>\r\n }\r\n\r\n @if (position()) {\r\n <span class=\"position\">\r\n {{ position() }}\r\n </span>\r\n }\r\n </div>\r\n}\r\n", styles: [":host{display:flex;flex-direction:column;gap:15px;width:100%;height:auto;padding:28px;border-radius:3px;background-color:#f7f5f0}@media screen and (min-width: 1024px){:host{flex-direction:row;justify-content:center;gap:12px;background:linear-gradient(to right,#fff 102px,#f7f5f0 0)}}:host rdsite-image,:host youtube-player{border-radius:3px 50px 3px 3px}@media screen and (min-width: 1024px){:host rdsite-image,:host youtube-player{flex:1 1 50%}}:host rdsite-image{aspect-ratio:1.35}@media screen and (min-width: 769px){:host rdsite-image{aspect-ratio:1.78}}:host youtube-player{overflow:hidden;aspect-ratio:1.35}@media screen and (min-width: 769px){:host youtube-player{aspect-ratio:unset}}:host youtube-player ::ng-deep>div{width:100%;height:100%}:host youtube-player ::ng-deep iframe{width:100%;height:100%}:host svg{margin-top:24px}:host .testimonials-text{flex:1 1 50%;display:flex;flex-direction:column}:host .testimonials-text *{font-family:var(--font-family)}:host .testimonials-text .quote{color:var(--color-one-darker);font-size:17px;font-weight:400;line-height:150%;margin-bottom:15px}@media screen and (min-width: 1024px){:host .testimonials-text .quote{font-size:19px;margin-bottom:44px;margin-top:44px}}:host .testimonials-text .author,:host .testimonials-text .position{color:var(--neutral-black);font-size:12px;font-weight:500;line-height:135%;letter-spacing:.48px}@media screen and (min-width: 1024px){:host .testimonials-text .author,:host .testimonials-text .position{font-size:14px;letter-spacing:.56px}}\n"] }]
52
52
  }], ctorParameters: () => [{ type: i1.CuraService }, { type: i1.YoutubeService }, { type: undefined, decorators: [{
53
53
  type: Inject,
54
54
  args: [PLATFORM_ID]
@@ -59,4 +59,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
59
59
  type: HostBinding,
60
60
  args: ['style']
61
61
  }] } });
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGltb25pYWwtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmRzL3Rlc3RpbW9uaWFsLWNhcmQvdGVzdGltb25pYWwtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmRzL3Rlc3RpbW9uaWFsLWNhcmQvdGVzdGltb25pYWwtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQWlCLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBVTdELE1BQU0sT0FBTyx3QkFBd0I7SUFvQm5DLFlBQ21CLFdBQXdCLEVBQ3hCLGNBQThCLEVBQ1QsVUFBa0I7UUFGdkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1QsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQXRCMUQsU0FBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QixVQUFLLEdBQUcsS0FBSyxDQUFhLElBQUksQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsU0FBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLGFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckIsWUFBTyxHQUFHLE1BQU0sQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFFcEMsb0JBQWUsR0FBRyxNQUFNLENBQWEsSUFBSSxDQUFDLENBQUM7UUFJckIsaUJBQVksR0FBRztZQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDN0Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDakUsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztTQUNwRCxDQUFDO1FBT0EsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRTdELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBakRVLHdCQUF3QiwyRUF1QnpCLFdBQVc7bUdBdkJWLHdCQUF3QixzK0JDZHJDLHcrRUF5Q0EsZ2pERGhDWSxjQUFjLDBKQUFFLG1CQUFtQjs7NEZBS2xDLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLFdBQ3JDLENBQUMsc0JBQXNCLENBQUM7OzBCQTJCOUIsTUFBTTsyQkFBQyxXQUFXO3lDQVhPLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFFSixZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEhvc3RCaW5kaW5nLCBJbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUExBVEZPUk1fSUQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1cmFTZXJ2aWNlLCBZb3V0dWJlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBZb3VUdWJlUGxheWVyLCBZb3VUdWJlUGxheWVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIveW91dHViZS1wbGF5ZXInO1xyXG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS10ZXN0aW1vbmlhbC1jYXJkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtJbWFnZUNvbXBvbmVudCwgWW91VHViZVBsYXllck1vZHVsZV0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXN0aW1vbmlhbC1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXN0aW1vbmlhbC1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXN0aW1vbmlhbENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgdHlwZSA9IGlucHV0KCdpbWFnZScpO1xyXG4gIGltYWdlID0gaW5wdXQ8YW55IHwgbnVsbD4obnVsbCk7XHJcbiAgdmlkZW9VcmwgPSBpbnB1dCgnJyk7XHJcbiAgdGV4dCA9IGlucHV0KCcnKTtcclxuICBhdXRob3IgPSBpbnB1dCgnJyk7XHJcbiAgcG9zaXRpb24gPSBpbnB1dCgnJyk7XHJcblxyXG4gIHZpZGVvSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4oJycpO1xyXG5cclxuICBwbGF0Zm9ybUJyb3dzZXIgPSBzaWduYWw8YW55IHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3lvdXR1YmVQbGF5ZXInKSB5b3V0dWJlUGxheWVyITogWW91VHViZVBsYXllcjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIHN0eWxlQmluZGluZyA9IHtcclxuICAgICctLW5ldXRyYWwtYmxhY2snOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWJsYWNrJyksXHJcbiAgICAnLS1jb2xvci1vbmUtZGFya2VyJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1kYXJrZXInKSxcclxuICAgICctLWZvbnQtZmFtaWx5JzogdGhpcy5jdXJhU2VydmljZS5nZXRGb250RmFtaWx5KCcnKSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VyYVNlcnZpY2U6IEN1cmFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB5b3V0dWJlU2VydmljZTogWW91dHViZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcclxuICApIHtcclxuICAgIHRoaXMueW91dHViZVNlcnZpY2Uuc2V0U2NyaXB0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhdGZvcm1Ccm93c2VyLnNldChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKTtcclxuXHJcbiAgICBpZiAodGhpcy50eXBlKCkgPT09ICd2aWRlbycgJiYgdGhpcy52aWRlb1VybCgpKSB7XHJcbiAgICAgIHRoaXMuZ2V0VmlkZW9JZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VmlkZW9JZCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh0aGlzLnZpZGVvVXJsKCkuc3BsaXQoJz8nKVsxXSk7XHJcbiAgICByZXR1cm4gcGFyYW1zLmdldCgndicpIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgc3RvcFZpZGVvKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2V0VmlkZW9JZCgpICYmIHRoaXMueW91dHViZVBsYXllcikge1xyXG4gICAgICB0aGlzLnlvdXR1YmVQbGF5ZXIuc3RvcFZpZGVvKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMueW91dHViZVNlcnZpY2UucmVtb3ZlU2NyaXB0KCk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoKGltYWdlKCkgfHwgZ2V0VmlkZW9JZCgpKSAmJiB0ZXh0KCkpIHtcclxuICBAc3dpdGNoICh0eXBlKCkpIHtcclxuICAgIEBjYXNlICgnaW1hZ2UnKSB7XHJcbiAgICAgIEBpZiAoaW1hZ2UoKSkge1xyXG4gICAgICAgIDxyZHNpdGUtaW1hZ2VcclxuICAgICAgICAgIFtpbWFnZVdlYnBTcmNdPVwiaW1hZ2UoKT8ud2VicF9zaXplcz8uWydyZHNsLWNhcmQtdW5pZGFkZXMnXVwiXHJcbiAgICAgICAgICBbaW1hZ2VEZWZhdWx0U3JjXT1cImltYWdlKCk/LnNpemVzPy5bJ3Jkc2wtY2FyZC11bmlkYWRlcyddXCJcclxuICAgICAgICAgIFttaW1lVHlwZV09XCJpbWFnZSgpPy5taW1lX3R5cGVcIlxyXG4gICAgICAgICAgW2FsdF09XCJpbWFnZSgpPy5hbHRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L3Jkc2l0ZS1pbWFnZT5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGNhc2UgKCd2aWRlbycpIHtcclxuICAgICAgQGlmIChnZXRWaWRlb0lkKCkgJiYgcGxhdGZvcm1Ccm93c2VyKCkpIHtcclxuICAgICAgICA8eW91dHViZS1wbGF5ZXIgI3lvdXR1YmVQbGF5ZXIgW3ZpZGVvSWRdPVwiZ2V0VmlkZW9JZCgpXCIgW2Rpc2FibGVQbGFjZWhvbGRlcl09XCJ0cnVlXCI+PC95b3V0dWJlLXBsYXllcj5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAzMiAyNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICA8cGF0aFxyXG4gICAgICBkPVwiTTE0LjM3NSAzLjMxMjVDMTIuOTA2MiA0LjE1NjI1IDExLjcxODggNC44OTA2MiAxMC44MTI1IDUuNTE1NjJDOS45MDYyNSA2LjEwOTM4IDguOTg0MzggNi45MDYyNSA4LjA0Njg4IDcuOTA2MjVDNy4xNzE4OCA4Ljg0Mzc1IDYuNSA5LjgyODEyIDYuMDMxMjUgMTAuODU5NEM1LjU2MjUgMTEuODkwNiA1LjIzNDM4IDEzLjIxODggNS4wNDY4OCAxNC44NDM4SDcuMjk2ODhDOS4yMzQzOCAxNC44NDM4IDEwLjc1IDE1LjMyODEgMTEuODQzOCAxNi4yOTY5QzEyLjk2ODggMTcuMjM0NCAxMy41MzEyIDE4LjYyNSAxMy41MzEyIDIwLjQ2ODhDMTMuNTMxMiAyMS43ODEyIDEzLjAzMTIgMjMuMDE1NiAxMi4wMzEyIDI0LjE3MTlDMTEuMDYyNSAyNS4yOTY5IDkuNzE4NzUgMjUuODU5NCA4IDI1Ljg1OTRDNS4zMTI1IDI1Ljg1OTQgMy4zOTA2MiAyNC45ODQ0IDIuMjM0MzggMjMuMjM0NEMxLjA3ODEyIDIxLjQ1MzEgMC41IDE5LjEyNSAwLjUgMTYuMjVDMC41IDE0LjIxODggMC45Mzc1IDEyLjM3NSAxLjgxMjUgMTAuNzE4OEMyLjY4NzUgOS4wMzEyNSAzLjc1IDcuNTMxMjUgNSA2LjIxODc1QzYuMjgxMjUgNC44NzUgNy42NDA2MiAzLjczNDM4IDkuMDc4MTIgMi43OTY4OEMxMC41MTU2IDEuODU5MzggMTEuNzE4OCAxLjA5Mzc1IDEyLjY4NzUgMC41TDE0LjM3NSAzLjMxMjVaTTMxLjcxODggMy4zMTI1QzMwLjI1IDQuMTU2MjUgMjkuMDYyNSA0Ljg5MDYyIDI4LjE1NjIgNS41MTU2MkMyNy4yNSA2LjEwOTM4IDI2LjMyODEgNi45MDYyNSAyNS4zOTA2IDcuOTA2MjVDMjQuNDg0NCA4Ljg3NSAyMy43OTY5IDkuODc1IDIzLjMyODEgMTAuOTA2MkMyMi44OTA2IDExLjkwNjIgMjIuNTc4MSAxMy4yMTg4IDIyLjM5MDYgMTQuODQzOEgyNC42NDA2QzI2LjU3ODEgMTQuODQzOCAyOC4wOTM4IDE1LjMyODEgMjkuMTg3NSAxNi4yOTY5QzMwLjMxMjUgMTcuMjM0NCAzMC44NzUgMTguNjI1IDMwLjg3NSAyMC40Njg4QzMwLjg3NSAyMS43ODEyIDMwLjM3NSAyMy4wMTU2IDI5LjM3NSAyNC4xNzE5QzI4LjQwNjIgMjUuMjk2OSAyNy4wNjI1IDI1Ljg1OTQgMjUuMzQzOCAyNS44NTk0QzIyLjY1NjIgMjUuODU5NCAyMC43MzQ0IDI0Ljk4NDQgMTkuNTc4MSAyMy4yMzQ0QzE4LjQyMTkgMjEuNDUzMSAxNy44NDM4IDE5LjEyNSAxNy44NDM4IDE2LjI1QzE3Ljg0MzggMTQuMjE4OCAxOC4yODEyIDEyLjM3NSAxOS4xNTYyIDEwLjcxODhDMjAuMDMxMiA5LjAzMTI1IDIxLjA5MzggNy41MzEyNSAyMi4zNDM4IDYuMjE4NzVDMjMuNjI1IDQuODc1IDI0Ljk4NDQgMy43MzQzOCAyNi40MjE5IDIuNzk2ODhDMjcuODU5NCAxLjg1OTM4IDI5LjA2MjUgMS4wOTM3NSAzMC4wMzEyIDAuNUwzMS43MTg4IDMuMzEyNVpcIlxyXG4gICAgICBmaWxsPVwiIzIwMjEyMlwiXHJcbiAgICAvPlxyXG4gIDwvc3ZnPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwidGVzdGltb25pYWxzLXRleHRcIj5cclxuICAgIDxxIGNsYXNzPVwicXVvdGVcIiAoY2xpY2spPVwic3RvcFZpZGVvKClcIj57eyB0ZXh0KCkgfX08L3E+XHJcblxyXG4gICAgQGlmIChhdXRob3IoKSkge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cImF1dGhvclwiPnt7IGF1dGhvcigpIH19PC9zcGFuPlxyXG4gICAgfVxyXG5cclxuICAgIEBpZiAocG9zaXRpb24oKSkge1xyXG4gICAgICA8c3BhbiBjbGFzcz1cInBvc2l0aW9uXCI+XHJcbiAgICAgICAge3sgcG9zaXRpb24oKSB9fVxyXG4gICAgICA8L3NwYW4+XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcbn1cclxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdGltb25pYWwtY2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmRzL3Rlc3RpbW9uaWFsLWNhcmQvdGVzdGltb25pYWwtY2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaXRlLWZyb250LWVuZC1saWIvc3JjL2xpYi9jb21wb25lbnRzL2NhcmRzL3Rlc3RpbW9uaWFsLWNhcmQvdGVzdGltb25pYWwtY2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFxQixXQUFXLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqSixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNwRCxPQUFPLEVBQWlCLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDOzs7O0FBVTdELE1BQU0sT0FBTyx3QkFBd0I7SUFvQm5DLFlBQ21CLFdBQXdCLEVBQ3hCLGNBQThCLEVBQ1QsVUFBa0I7UUFGdkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ1QsZUFBVSxHQUFWLFVBQVUsQ0FBUTtRQXRCMUQsU0FBSSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0QixVQUFLLEdBQUcsS0FBSyxDQUFhLElBQUksQ0FBQyxDQUFDO1FBQ2hDLGFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckIsU0FBSSxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUNqQixXQUFNLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ25CLGFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFckIsWUFBTyxHQUFHLE1BQU0sQ0FBZ0IsRUFBRSxDQUFDLENBQUM7UUFFcEMsb0JBQWUsR0FBRyxNQUFNLENBQWEsSUFBSSxDQUFDLENBQUM7UUFJckIsaUJBQVksR0FBRztZQUNuQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUM7WUFDN0Qsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUM7WUFDakUsZUFBZSxFQUFFLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLEVBQUUsQ0FBQztTQUNwRCxDQUFDO1FBT0EsSUFBSSxDQUFDLGNBQWMsQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBRTdELElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFFRCxVQUFVO1FBQ1IsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFNBQVM7UUFDUCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JDLENBQUM7K0dBakRVLHdCQUF3QiwyRUF1QnpCLFdBQVc7bUdBdkJWLHdCQUF3QixzK0JDZHJDLG0vRUF5Q0EsZ2pERGhDWSxjQUFjLDBKQUFFLG1CQUFtQjs7NEZBS2xDLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSx5QkFBeUIsY0FDdkIsSUFBSSxXQUNQLENBQUMsY0FBYyxFQUFFLG1CQUFtQixDQUFDLFdBQ3JDLENBQUMsc0JBQXNCLENBQUM7OzBCQTJCOUIsTUFBTTsyQkFBQyxXQUFXO3lDQVhPLGFBQWE7c0JBQXhDLFNBQVM7dUJBQUMsZUFBZTtnQkFFSixZQUFZO3NCQUFqQyxXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEhvc3RCaW5kaW5nLCBJbmplY3QsIGlucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgUExBVEZPUk1fSUQsIHNpZ25hbCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEN1cmFTZXJ2aWNlLCBZb3V0dWJlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBZb3VUdWJlUGxheWVyLCBZb3VUdWJlUGxheWVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIveW91dHViZS1wbGF5ZXInO1xyXG5pbXBvcnQgeyBJbWFnZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS10ZXN0aW1vbmlhbC1jYXJkJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtJbWFnZUNvbXBvbmVudCwgWW91VHViZVBsYXllck1vZHVsZV0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90ZXN0aW1vbmlhbC1jYXJkLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90ZXN0aW1vbmlhbC1jYXJkLmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUZXN0aW1vbmlhbENhcmRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgdHlwZSA9IGlucHV0KCdpbWFnZScpO1xyXG4gIGltYWdlID0gaW5wdXQ8YW55IHwgbnVsbD4obnVsbCk7XHJcbiAgdmlkZW9VcmwgPSBpbnB1dCgnJyk7XHJcbiAgdGV4dCA9IGlucHV0KCcnKTtcclxuICBhdXRob3IgPSBpbnB1dCgnJyk7XHJcbiAgcG9zaXRpb24gPSBpbnB1dCgnJyk7XHJcblxyXG4gIHZpZGVvSWQgPSBzaWduYWw8c3RyaW5nIHwgbnVsbD4oJycpO1xyXG5cclxuICBwbGF0Zm9ybUJyb3dzZXIgPSBzaWduYWw8YW55IHwgbnVsbD4obnVsbCk7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3lvdXR1YmVQbGF5ZXInKSB5b3V0dWJlUGxheWVyITogWW91VHViZVBsYXllcjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKCdzdHlsZScpIHN0eWxlQmluZGluZyA9IHtcclxuICAgICctLW5ldXRyYWwtYmxhY2snOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWJsYWNrJyksXHJcbiAgICAnLS1jb2xvci1vbmUtZGFya2VyJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1kYXJrZXInKSxcclxuICAgICctLWZvbnQtZmFtaWx5JzogdGhpcy5jdXJhU2VydmljZS5nZXRGb250RmFtaWx5KCcnKSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VyYVNlcnZpY2U6IEN1cmFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB5b3V0dWJlU2VydmljZTogWW91dHViZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHJlYWRvbmx5IHBsYXRmb3JtSWQ6IG9iamVjdCxcclxuICApIHtcclxuICAgIHRoaXMueW91dHViZVNlcnZpY2Uuc2V0U2NyaXB0KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucGxhdGZvcm1Ccm93c2VyLnNldChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKTtcclxuXHJcbiAgICBpZiAodGhpcy50eXBlKCkgPT09ICd2aWRlbycgJiYgdGhpcy52aWRlb1VybCgpKSB7XHJcbiAgICAgIHRoaXMuZ2V0VmlkZW9JZCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0VmlkZW9JZCgpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcyh0aGlzLnZpZGVvVXJsKCkuc3BsaXQoJz8nKVsxXSk7XHJcbiAgICByZXR1cm4gcGFyYW1zLmdldCgndicpIHx8ICcnO1xyXG4gIH1cclxuXHJcbiAgc3RvcFZpZGVvKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuZ2V0VmlkZW9JZCgpICYmIHRoaXMueW91dHViZVBsYXllcikge1xyXG4gICAgICB0aGlzLnlvdXR1YmVQbGF5ZXIuc3RvcFZpZGVvKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMueW91dHViZVNlcnZpY2UucmVtb3ZlU2NyaXB0KCk7XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAoKGltYWdlKCkgfHwgZ2V0VmlkZW9JZCgpKSAmJiB0ZXh0KCkpIHtcclxuICBAc3dpdGNoICh0eXBlKCkpIHtcclxuICAgIEBjYXNlICgnaW1hZ2UnKSB7XHJcbiAgICAgIEBpZiAoaW1hZ2UoKSkge1xyXG4gICAgICAgIDxyZHNpdGUtaW1hZ2VcclxuICAgICAgICAgIFtpbWFnZVdlYnBTcmNdPVwiaW1hZ2UoKT8ud2VicF9zaXplcz8uWydyZHNsLWNhcmQtdW5pZGFkZXMnXVwiXHJcbiAgICAgICAgICBbaW1hZ2VEZWZhdWx0U3JjXT1cImltYWdlKCk/LnNpemVzPy5bJ3Jkc2wtY2FyZC11bmlkYWRlcyddXCJcclxuICAgICAgICAgIFttaW1lVHlwZV09XCJpbWFnZSgpPy5taW1lX3R5cGVcIlxyXG4gICAgICAgICAgW2FsdF09XCJpbWFnZSgpPy5hbHRcIlxyXG4gICAgICAgID5cclxuICAgICAgICA8L3Jkc2l0ZS1pbWFnZT5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgQGNhc2UgKCd2aWRlbycpIHtcclxuICAgICAgQGlmIChnZXRWaWRlb0lkKCkgJiYgcGxhdGZvcm1Ccm93c2VyKCkpIHtcclxuICAgICAgICA8eW91dHViZS1wbGF5ZXIgI3lvdXR1YmVQbGF5ZXIgW3ZpZGVvSWRdPVwiZ2V0VmlkZW9JZCgpXCIgW2Rpc2FibGVQbGFjZWhvbGRlcl09XCJ0cnVlXCI+PC95b3V0dWJlLXBsYXllcj5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIzMlwiIGhlaWdodD1cIjI2XCIgdmlld0JveD1cIjAgMCAzMiAyNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICA8cGF0aFxyXG4gICAgICBkPVwiTTE0LjM3NSAzLjMxMjVDMTIuOTA2MiA0LjE1NjI1IDExLjcxODggNC44OTA2MiAxMC44MTI1IDUuNTE1NjJDOS45MDYyNSA2LjEwOTM4IDguOTg0MzggNi45MDYyNSA4LjA0Njg4IDcuOTA2MjVDNy4xNzE4OCA4Ljg0Mzc1IDYuNSA5LjgyODEyIDYuMDMxMjUgMTAuODU5NEM1LjU2MjUgMTEuODkwNiA1LjIzNDM4IDEzLjIxODggNS4wNDY4OCAxNC44NDM4SDcuMjk2ODhDOS4yMzQzOCAxNC44NDM4IDEwLjc1IDE1LjMyODEgMTEuODQzOCAxNi4yOTY5QzEyLjk2ODggMTcuMjM0NCAxMy41MzEyIDE4LjYyNSAxMy41MzEyIDIwLjQ2ODhDMTMuNTMxMiAyMS43ODEyIDEzLjAzMTIgMjMuMDE1NiAxMi4wMzEyIDI0LjE3MTlDMTEuMDYyNSAyNS4yOTY5IDkuNzE4NzUgMjUuODU5NCA4IDI1Ljg1OTRDNS4zMTI1IDI1Ljg1OTQgMy4zOTA2MiAyNC45ODQ0IDIuMjM0MzggMjMuMjM0NEMxLjA3ODEyIDIxLjQ1MzEgMC41IDE5LjEyNSAwLjUgMTYuMjVDMC41IDE0LjIxODggMC45Mzc1IDEyLjM3NSAxLjgxMjUgMTAuNzE4OEMyLjY4NzUgOS4wMzEyNSAzLjc1IDcuNTMxMjUgNSA2LjIxODc1QzYuMjgxMjUgNC44NzUgNy42NDA2MiAzLjczNDM4IDkuMDc4MTIgMi43OTY4OEMxMC41MTU2IDEuODU5MzggMTEuNzE4OCAxLjA5Mzc1IDEyLjY4NzUgMC41TDE0LjM3NSAzLjMxMjVaTTMxLjcxODggMy4zMTI1QzMwLjI1IDQuMTU2MjUgMjkuMDYyNSA0Ljg5MDYyIDI4LjE1NjIgNS41MTU2MkMyNy4yNSA2LjEwOTM4IDI2LjMyODEgNi45MDYyNSAyNS4zOTA2IDcuOTA2MjVDMjQuNDg0NCA4Ljg3NSAyMy43OTY5IDkuODc1IDIzLjMyODEgMTAuOTA2MkMyMi44OTA2IDExLjkwNjIgMjIuNTc4MSAxMy4yMTg4IDIyLjM5MDYgMTQuODQzOEgyNC42NDA2QzI2LjU3ODEgMTQuODQzOCAyOC4wOTM4IDE1LjMyODEgMjkuMTg3NSAxNi4yOTY5QzMwLjMxMjUgMTcuMjM0NCAzMC44NzUgMTguNjI1IDMwLjg3NSAyMC40Njg4QzMwLjg3NSAyMS43ODEyIDMwLjM3NSAyMy4wMTU2IDI5LjM3NSAyNC4xNzE5QzI4LjQwNjIgMjUuMjk2OSAyNy4wNjI1IDI1Ljg1OTQgMjUuMzQzOCAyNS44NTk0QzIyLjY1NjIgMjUuODU5NCAyMC43MzQ0IDI0Ljk4NDQgMTkuNTc4MSAyMy4yMzQ0QzE4LjQyMTkgMjEuNDUzMSAxNy44NDM4IDE5LjEyNSAxNy44NDM4IDE2LjI1QzE3Ljg0MzggMTQuMjE4OCAxOC4yODEyIDEyLjM3NSAxOS4xNTYyIDEwLjcxODhDMjAuMDMxMiA5LjAzMTI1IDIxLjA5MzggNy41MzEyNSAyMi4zNDM4IDYuMjE4NzVDMjMuNjI1IDQuODc1IDI0Ljk4NDQgMy43MzQzOCAyNi40MjE5IDIuNzk2ODhDMjcuODU5NCAxLjg1OTM4IDI5LjA2MjUgMS4wOTM3NSAzMC4wMzEyIDAuNUwzMS43MTg4IDMuMzEyNVpcIlxyXG4gICAgICBmaWxsPVwiIzIwMjEyMlwiXHJcbiAgICAvPlxyXG4gIDwvc3ZnPlxyXG5cclxuICA8ZGl2IGNsYXNzPVwidGVzdGltb25pYWxzLXRleHRcIj5cclxuICAgIDxxIGNsYXNzPVwicXVvdGVcIiBbaW5uZXJIVE1MXT1cInRleHQoKVwiIChjbGljayk9XCJzdG9wVmlkZW8oKVwiPjwvcT5cclxuXHJcbiAgICBAaWYgKGF1dGhvcigpKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiYXV0aG9yXCI+e3sgYXV0aG9yKCkgfX08L3NwYW4+XHJcbiAgICB9XHJcblxyXG4gICAgQGlmIChwb3NpdGlvbigpKSB7XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwicG9zaXRpb25cIj5cclxuICAgICAgICB7eyBwb3NpdGlvbigpIH19XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxufVxyXG4iXX0=
@@ -29,7 +29,7 @@ export class FilterGenericComponent {
29
29
  this.selectedFiltersCount = 0;
30
30
  this.windowWidth = 0;
31
31
  this.styleBinding = {
32
- '--neutral-opacity-dark': this.curaService.getColor('neutral-dark', 0.2),
32
+ '--neutral-opacity-black': this.curaService.getColor('neutral-black', 0.2),
33
33
  '--neutral-darker': this.curaService.getColor('neutral-darker'),
34
34
  '--neutral-medium': this.curaService.getColor('neutral-medium'),
35
35
  '--neutral-light': this.curaService.getColor('neutral-light'),
@@ -197,11 +197,11 @@ export class FilterGenericComponent {
197
197
  return Object.values(filterData).every((val) => val === null || val === '' || (Array.isArray(val) && val.length === 0));
198
198
  }
199
199
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterGenericComponent, deps: [{ token: i1.CuraService }, { token: i0.ChangeDetectorRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component }); }
200
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterGenericComponent, isStandalone: true, selector: "rdsite-filter-generic", inputs: { withContainerStyle: "withContainerStyle", showClearButton: "showClearButton", showApplyButton: "showApplyButton", showCloseButton: "showCloseButton", disableButtonsWithoutSelection: "disableButtonsWithoutSelection", showBadge: "showBadge", showToggleIcon: "showToggleIcon", isFilterOpen: "isFilterOpen", mobileBehavior: "mobileBehavior", forceCollapsed: "forceCollapsed", emitOnReset: "emitOnReset", textTitle: "textTitle", sections: "sections" }, outputs: { filterChange: "filterChange", closeModal: "closeModal", openMobileFilter: "openMobileFilter" }, host: { properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "<div\r\n class=\"filter-generic\"\r\n [ngClass]=\"{ 'container-style': withContainerStyle, 'clickable-mobile': shouldHandleMobileClick() }\"\r\n aria-label=\"Filtros\"\r\n (click)=\"handleMobileClick()\"\r\n>\r\n <div class=\"filter-header-container\" [ngClass]=\"{ 'no-padding': !isFilterOpen, hidden: !isFilterOpen }\">\r\n <div class=\"filter-title-wrapper\">\r\n <cura-label size=\"medium\" level=\"4\" color=\"neutral-black\" weight=\"regular\" margin-block=\"0\" line-height=\"16px\">\r\n {{ textTitle }}\r\n </cura-label>\r\n\r\n @if (showBadge) {\r\n <cura-badge-counter\r\n [type]=\"'solid'\"\r\n [color]=\"hasSelection() ? 'primary' : 'neutral'\"\r\n [number]=\"selectedFiltersCount\"\r\n class=\"filter-badge\"\r\n ></cura-badge-counter>\r\n }\r\n </div>\r\n\r\n @if (showToggleIcon) {\r\n <cura-button-transparent size=\"small\" font-color=\"dark\" color=\"primary\" text-align=\"center\" (click)=\"toggleFilter()\" [attr.aria-expanded]=\"isFilterOpen\">\r\n <cura-icon [name]=\"isFilterOpen ? 'up' : 'down'\" size=\"16\" class=\"filter-icon\" color=\"primary-dark\"></cura-icon>\r\n </cura-button-transparent>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-content\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n @for (section of sections; track section.type) {\r\n @if (section.visible !== false) {\r\n <div class=\"filter-section\">\r\n @switch (section.type) {\r\n @case ('input') {\r\n <cura-input-text\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [name]=\"section.config.name || ''\"\r\n [iconName]=\"section.config.iconName || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (valueChange)=\"handleInputChange($event, section.config.control)\"\r\n ></cura-input-text>\r\n }\r\n @case ('select') {\r\n <cura-select\r\n [label]=\"section.config.label || ''\"\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (selected)=\"handleSelectChange($event, section.config.control)\"\r\n >\r\n @if (section.config.includeDefaultOption) {\r\n <cura-select-option [attr.value]=\"''\">{{ section.config.defaultOptionText || 'Fa\u00E7a a sua Sele\u00E7\u00E3o' }}</cura-select-option>\r\n }\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-select-option [attr.value]=\"option?.value\">{{ option?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n @case ('checkbox-group') {\r\n @if (section.config.title) {\r\n <div class=\"filter-header\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\r\n {{ section.config.title }}\r\n </cura-heading>\r\n </div>\r\n }\r\n @if (section.config.subtitle) {\r\n <div class=\"filter-subtitle\">\r\n <cura-heading size=\"xsmall\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\">\r\n {{ section.config.subtitle }}\r\n </cura-heading>\r\n </div>\r\n }\r\n\r\n @if (section.config.description) {\r\n <div class=\"filter-description\">\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\r\n {{ section.config.description }}\r\n </cura-paragraph>\r\n </div>\r\n }\r\n\r\n <div class=\"filter-checkboxes\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n icon-color=\"light\"\r\n [attr.name]=\"option?.label\"\r\n [attr.label]=\"option?.label\"\r\n [attr.value]=\"option?.value\"\r\n [attr.checked]=\"option?.checked\"\r\n (onchange)=\"handleCheckboxChange($event, section.config.options)\"\r\n ></cura-checkbox>\r\n }\r\n </div>\r\n }\r\n @case ('radio-group') {\r\n <div class=\"filter-radios\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-radio\r\n [name]=\"section.config.name || 'radio-group'\"\r\n [label]=\"option.label\"\r\n [value]=\"option.value\"\r\n [checked]=\"getRadioGroupValue(section.config.control) === option.value\"\r\n (onchange)=\"handleRadioChange($event, section.config.control)\"\r\n ></cura-radio>\r\n }\r\n </div>\r\n }\r\n @case ('custom') {\r\n <ng-container *ngTemplateOutlet=\"section.config.template\"></ng-container>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"filter-actions\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n <div class=\"main-actions\">\r\n @if (showClearButton) {\r\n <cura-button-transparent\r\n size=\"small\"\r\n font-color=\"dark\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n (click)=\"reset()\"\r\n >\r\n <span>Limpar todos os filtros</span>\r\n </cura-button-transparent>\r\n }\r\n\r\n @if (showApplyButton) {\r\n <cura-button\r\n size=\"medium\"\r\n font-color=\"light\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n (click)=\"filter()\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n class=\"filter-button\"\r\n >\r\n Filtrar\r\n </cura-button>\r\n }\r\n </div>\r\n\r\n @if (showCloseButton) {\r\n <div class=\"divider-strong\"></div>\r\n <div class=\"close-action-wrapper\">\r\n <div class=\"close-action\" (click)=\"close()\">\r\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"></cura-icon>\r\n <cura-button-transparent size=\"\" type=\"button\" color=\"error\" target=\"_self\"> Fechar </cura-button-transparent>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host *{font-family:Gotham,Roboto,sans-serif}.filter-generic{display:flex;flex-direction:column;gap:18px}.filter-generic.clickable-mobile{cursor:pointer}.filter-generic.clickable-mobile:hover{background-color:var(--primary-lighter)}.filter-generic.container-style{width:100%;padding:20px;border-radius:12px;border:2px solid var(--neutral-lighter);background-color:var(--neutral-purewhite)}.filter-generic cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}.filter-header-container{display:flex;padding-bottom:12px;align-items:center}.filter-header-container.no-padding{padding-bottom:0}.filter-header-container .filter-title-wrapper{display:flex;align-items:center;justify-content:space-between;flex:1 0 0}.filter-header-container .filter-badge{display:flex;height:20px;min-width:20px;justify-content:center;align-items:center;gap:4px}.filter-header-container .filter-icon{display:block}.filter-content,.filter-actions{transition:all .3s ease}.filter-content.hidden,.filter-actions.hidden{display:none;height:0;overflow:hidden;opacity:0;margin:0;padding:0}.filter-section{display:flex;flex-direction:column;gap:24px}.filter-section .filter-header{display:flex;align-items:center;gap:14px}.filter-section .filter-subtitle{font-weight:500}.filter-section .filter-description{display:flex;flex-direction:column;gap:8px}.filter-section .filter-description:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-section .filter-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-section .filter-checkboxes.scrollable{max-height:100px;overflow-y:auto;grid-template-columns:1fr;padding-right:8px;gap:12px}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar{width:8px}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar-thumb{background:var(--neutral-medium)}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar-track{background:var(--neutral-opacity-dark)}.filter-section .filter-checkboxes.scrollable:after{display:none}.filter-section .filter-radios{display:flex;flex-direction:column;gap:12px}.filter-section .filter-radios.scrollable{max-height:100px;overflow-y:auto;padding-right:8px;gap:8px}.filter-section .filter-radios.scrollable::-webkit-scrollbar{width:8px}.filter-section .filter-radios.scrollable::-webkit-scrollbar-thumb{background:var(--neutral-medium)}.filter-section .filter-radios.scrollable::-webkit-scrollbar-track{background:var(--neutral-opacity-dark)}.filter-section .filter-radios.scrollable:after{display:none}@media screen and (max-width: 1024px){.filter-checkboxes.scrollable,.filter-radios.scrollable{max-height:100px}.filter-checkboxes:after{display:none;background-color:transparent}}.filter-actions{display:flex;flex-direction:column;gap:0}.filter-actions:before{content:\"\";display:block;width:100%;height:1px;background:linear-gradient(90deg,var(--neutral-light) 75%,transparent 15%);background-size:10px 1px;background-repeat:repeat-x;margin-bottom:20px}.filter-actions .main-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.filter-actions .divider-strong{height:1px;width:100%;margin-top:20px;margin-bottom:16px;background:linear-gradient(90deg,#e2e2e2 70%,transparent 70%);background-size:4px 1px;background-repeat:repeat-x}.filter-actions .close-action-wrapper{display:flex;justify-content:center;width:100%}.filter-actions .close-action{display:inline-flex;align-items:center;gap:8px}.filter-actions .close-action cura-button-transparent{padding:0;margin:0;background:transparent;border:none;color:inherit}.filter-actions cura-button-transparent{display:flex;justify-content:flex-start;text-align:left;flex:0 1 auto}.filter-actions cura-button{display:flex;justify-content:flex-start;text-align:left;flex:1 0 auto}@media screen and (max-width: 1024px){.filter-checkboxes:after{background-color:transparent}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
200
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: FilterGenericComponent, isStandalone: true, selector: "rdsite-filter-generic", inputs: { withContainerStyle: "withContainerStyle", showClearButton: "showClearButton", showApplyButton: "showApplyButton", showCloseButton: "showCloseButton", disableButtonsWithoutSelection: "disableButtonsWithoutSelection", showBadge: "showBadge", showToggleIcon: "showToggleIcon", isFilterOpen: "isFilterOpen", mobileBehavior: "mobileBehavior", forceCollapsed: "forceCollapsed", emitOnReset: "emitOnReset", textTitle: "textTitle", sections: "sections" }, outputs: { filterChange: "filterChange", closeModal: "closeModal", openMobileFilter: "openMobileFilter" }, host: { properties: { "style": "this.styleBinding" } }, ngImport: i0, template: "<div\r\n class=\"filter-generic\"\r\n [ngClass]=\"{ 'container-style': withContainerStyle, 'clickable-mobile': shouldHandleMobileClick() }\"\r\n aria-label=\"Filtros\"\r\n (click)=\"handleMobileClick()\"\r\n>\r\n <div class=\"filter-header-container\" [ngClass]=\"{ 'no-padding': !isFilterOpen, hidden: !isFilterOpen }\">\r\n <div class=\"filter-title-wrapper\">\r\n <cura-label size=\"medium\" level=\"4\" color=\"neutral-black\" weight=\"regular\" margin-block=\"0\" line-height=\"16px\">\r\n {{ textTitle }}\r\n </cura-label>\r\n\r\n @if (showBadge) {\r\n <cura-badge-counter\r\n [type]=\"'solid'\"\r\n [color]=\"hasSelection() ? 'primary' : 'neutral'\"\r\n [number]=\"selectedFiltersCount\"\r\n class=\"filter-badge\"\r\n ></cura-badge-counter>\r\n }\r\n </div>\r\n\r\n @if (showToggleIcon) {\r\n <cura-button-transparent size=\"small\" font-color=\"dark\" color=\"primary\" text-align=\"center\" (click)=\"toggleFilter()\" [attr.aria-expanded]=\"isFilterOpen\">\r\n <cura-icon [name]=\"isFilterOpen ? 'up' : 'down'\" size=\"16\" class=\"filter-icon\" color=\"primary-dark\"></cura-icon>\r\n </cura-button-transparent>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-content\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n @for (section of sections; track section.type) {\r\n @if (section.visible !== false) {\r\n <div class=\"filter-section\">\r\n @switch (section.type) {\r\n @case ('input') {\r\n <cura-input-text\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [name]=\"section.config.name || ''\"\r\n [iconName]=\"section.config.iconName || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (valueChange)=\"handleInputChange($event, section.config.control)\"\r\n ></cura-input-text>\r\n }\r\n @case ('select') {\r\n <cura-select\r\n [label]=\"section.config.label || ''\"\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (selected)=\"handleSelectChange($event, section.config.control)\"\r\n >\r\n @if (section.config.includeDefaultOption) {\r\n <cura-select-option [attr.value]=\"''\">{{ section.config.defaultOptionText || 'Fa\u00E7a a sua Sele\u00E7\u00E3o' }}</cura-select-option>\r\n }\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-select-option [attr.value]=\"option?.value\">{{ option?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n @case ('checkbox-group') {\r\n @if (section.config.title) {\r\n <div class=\"filter-header\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\r\n {{ section.config.title }}\r\n </cura-heading>\r\n </div>\r\n }\r\n @if (section.config.subtitle) {\r\n <div class=\"filter-subtitle\">\r\n <cura-heading size=\"xsmall\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\">\r\n {{ section.config.subtitle }}\r\n </cura-heading>\r\n </div>\r\n }\r\n\r\n @if (section.config.description) {\r\n <div class=\"filter-description\">\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\r\n {{ section.config.description }}\r\n </cura-paragraph>\r\n </div>\r\n }\r\n\r\n <div class=\"filter-checkboxes\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n icon-color=\"light\"\r\n [attr.name]=\"option?.label\"\r\n [attr.label]=\"option?.label\"\r\n [attr.value]=\"option?.value\"\r\n [attr.checked]=\"option?.checked\"\r\n (onchange)=\"handleCheckboxChange($event, section.config.options)\"\r\n ></cura-checkbox>\r\n }\r\n </div>\r\n }\r\n @case ('radio-group') {\r\n <div class=\"filter-radios\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-radio\r\n [name]=\"section.config.name || 'radio-group'\"\r\n [label]=\"option.label\"\r\n [value]=\"option.value\"\r\n [checked]=\"getRadioGroupValue(section.config.control) === option.value\"\r\n (onchange)=\"handleRadioChange($event, section.config.control)\"\r\n ></cura-radio>\r\n }\r\n </div>\r\n }\r\n @case ('custom') {\r\n <ng-container *ngTemplateOutlet=\"section.config.template\"></ng-container>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"filter-actions\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n <div class=\"main-actions\">\r\n @if (showClearButton) {\r\n <cura-button-transparent\r\n size=\"small\"\r\n font-color=\"dark\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n (click)=\"reset()\"\r\n >\r\n <span>Limpar todos os filtros</span>\r\n </cura-button-transparent>\r\n }\r\n\r\n @if (showApplyButton) {\r\n <cura-button\r\n size=\"medium\"\r\n font-color=\"light\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n (click)=\"filter()\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n class=\"filter-button\"\r\n >\r\n Filtrar\r\n </cura-button>\r\n }\r\n </div>\r\n\r\n @if (showCloseButton) {\r\n <div class=\"divider-strong\"></div>\r\n <div class=\"close-action-wrapper\">\r\n <div class=\"close-action\" (click)=\"close()\">\r\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"></cura-icon>\r\n <cura-button-transparent size=\"\" type=\"button\" color=\"error\" target=\"_self\"> Fechar </cura-button-transparent>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host *{font-family:Gotham,Roboto,sans-serif}.filter-generic{display:flex;flex-direction:column;gap:18px}.filter-generic.clickable-mobile{cursor:pointer}.filter-generic.clickable-mobile:hover{background-color:var(--primary-lighter)}.filter-generic.container-style{width:100%;padding:20px;border-radius:12px;border:2px solid var(--neutral-lighter);background-color:var(--neutral-purewhite)}.filter-generic cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}.filter-header-container{display:flex;padding-bottom:12px;align-items:center}.filter-header-container.no-padding{padding-bottom:0}.filter-header-container .filter-title-wrapper{display:flex;align-items:center;justify-content:space-between;flex:1 0 0}.filter-header-container .filter-badge{display:flex;height:20px;min-width:20px;justify-content:center;align-items:center;gap:4px}.filter-header-container .filter-icon{display:block}.filter-content,.filter-actions{transition:all .3s ease}.filter-content.hidden,.filter-actions.hidden{display:none;height:0;overflow:hidden;opacity:0;margin:0;padding:0}.filter-section{display:flex;flex-direction:column;gap:24px}.filter-section .filter-header{display:flex;align-items:center;gap:14px}.filter-section .filter-subtitle{font-weight:500}.filter-section .filter-description{display:flex;flex-direction:column;gap:8px}.filter-section .filter-description:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-section .filter-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-section .filter-checkboxes.scrollable{max-height:100px;overflow-y:auto;grid-template-columns:1fr;padding-right:8px;gap:12px}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar{width:8px}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar-thumb{background:var(--neutral-medium)}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar-track{background:var(--neutral-opacity-black)}.filter-section .filter-checkboxes.scrollable:after{display:none}.filter-section .filter-radios{display:flex;flex-direction:column;gap:12px}.filter-section .filter-radios.scrollable{max-height:100px;overflow-y:auto;padding-right:8px;gap:8px}.filter-section .filter-radios.scrollable::-webkit-scrollbar{width:8px}.filter-section .filter-radios.scrollable::-webkit-scrollbar-thumb{background:var(--neutral-medium)}.filter-section .filter-radios.scrollable::-webkit-scrollbar-track{background:var(--neutral-opacity-black)}.filter-section .filter-radios.scrollable:after{display:none}@media screen and (max-width: 1024px){.filter-checkboxes.scrollable,.filter-radios.scrollable{max-height:100px}.filter-checkboxes:after{display:none;background-color:transparent}}.filter-actions{display:flex;flex-direction:column;gap:0}.filter-actions:before{content:\"\";display:block;width:100%;height:1px;background:linear-gradient(90deg,var(--neutral-light) 75%,transparent 15%);background-size:10px 1px;background-repeat:repeat-x;margin-bottom:20px}.filter-actions .main-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.filter-actions .divider-strong{height:1px;width:100%;margin-top:20px;margin-bottom:16px;background:linear-gradient(90deg,#e2e2e2 70%,transparent 70%);background-size:4px 1px;background-repeat:repeat-x}.filter-actions .close-action-wrapper{display:flex;justify-content:center;width:100%}.filter-actions .close-action{display:inline-flex;align-items:center;gap:8px}.filter-actions .close-action cura-button-transparent{padding:0;margin:0;background:transparent;border:none;color:inherit}.filter-actions cura-button-transparent{display:flex;justify-content:flex-start;text-align:left;flex:0 1 auto}.filter-actions cura-button{display:flex;justify-content:flex-start;text-align:left;flex:1 0 auto}@media screen and (max-width: 1024px){.filter-checkboxes:after{background-color:transparent}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }] }); }
201
201
  }
202
202
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: FilterGenericComponent, decorators: [{
203
203
  type: Component,
204
- args: [{ selector: 'rdsite-filter-generic', standalone: true, imports: [CommonModule, ReactiveFormsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div\r\n class=\"filter-generic\"\r\n [ngClass]=\"{ 'container-style': withContainerStyle, 'clickable-mobile': shouldHandleMobileClick() }\"\r\n aria-label=\"Filtros\"\r\n (click)=\"handleMobileClick()\"\r\n>\r\n <div class=\"filter-header-container\" [ngClass]=\"{ 'no-padding': !isFilterOpen, hidden: !isFilterOpen }\">\r\n <div class=\"filter-title-wrapper\">\r\n <cura-label size=\"medium\" level=\"4\" color=\"neutral-black\" weight=\"regular\" margin-block=\"0\" line-height=\"16px\">\r\n {{ textTitle }}\r\n </cura-label>\r\n\r\n @if (showBadge) {\r\n <cura-badge-counter\r\n [type]=\"'solid'\"\r\n [color]=\"hasSelection() ? 'primary' : 'neutral'\"\r\n [number]=\"selectedFiltersCount\"\r\n class=\"filter-badge\"\r\n ></cura-badge-counter>\r\n }\r\n </div>\r\n\r\n @if (showToggleIcon) {\r\n <cura-button-transparent size=\"small\" font-color=\"dark\" color=\"primary\" text-align=\"center\" (click)=\"toggleFilter()\" [attr.aria-expanded]=\"isFilterOpen\">\r\n <cura-icon [name]=\"isFilterOpen ? 'up' : 'down'\" size=\"16\" class=\"filter-icon\" color=\"primary-dark\"></cura-icon>\r\n </cura-button-transparent>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-content\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n @for (section of sections; track section.type) {\r\n @if (section.visible !== false) {\r\n <div class=\"filter-section\">\r\n @switch (section.type) {\r\n @case ('input') {\r\n <cura-input-text\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [name]=\"section.config.name || ''\"\r\n [iconName]=\"section.config.iconName || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (valueChange)=\"handleInputChange($event, section.config.control)\"\r\n ></cura-input-text>\r\n }\r\n @case ('select') {\r\n <cura-select\r\n [label]=\"section.config.label || ''\"\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (selected)=\"handleSelectChange($event, section.config.control)\"\r\n >\r\n @if (section.config.includeDefaultOption) {\r\n <cura-select-option [attr.value]=\"''\">{{ section.config.defaultOptionText || 'Fa\u00E7a a sua Sele\u00E7\u00E3o' }}</cura-select-option>\r\n }\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-select-option [attr.value]=\"option?.value\">{{ option?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n @case ('checkbox-group') {\r\n @if (section.config.title) {\r\n <div class=\"filter-header\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\r\n {{ section.config.title }}\r\n </cura-heading>\r\n </div>\r\n }\r\n @if (section.config.subtitle) {\r\n <div class=\"filter-subtitle\">\r\n <cura-heading size=\"xsmall\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\">\r\n {{ section.config.subtitle }}\r\n </cura-heading>\r\n </div>\r\n }\r\n\r\n @if (section.config.description) {\r\n <div class=\"filter-description\">\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\r\n {{ section.config.description }}\r\n </cura-paragraph>\r\n </div>\r\n }\r\n\r\n <div class=\"filter-checkboxes\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n icon-color=\"light\"\r\n [attr.name]=\"option?.label\"\r\n [attr.label]=\"option?.label\"\r\n [attr.value]=\"option?.value\"\r\n [attr.checked]=\"option?.checked\"\r\n (onchange)=\"handleCheckboxChange($event, section.config.options)\"\r\n ></cura-checkbox>\r\n }\r\n </div>\r\n }\r\n @case ('radio-group') {\r\n <div class=\"filter-radios\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-radio\r\n [name]=\"section.config.name || 'radio-group'\"\r\n [label]=\"option.label\"\r\n [value]=\"option.value\"\r\n [checked]=\"getRadioGroupValue(section.config.control) === option.value\"\r\n (onchange)=\"handleRadioChange($event, section.config.control)\"\r\n ></cura-radio>\r\n }\r\n </div>\r\n }\r\n @case ('custom') {\r\n <ng-container *ngTemplateOutlet=\"section.config.template\"></ng-container>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"filter-actions\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n <div class=\"main-actions\">\r\n @if (showClearButton) {\r\n <cura-button-transparent\r\n size=\"small\"\r\n font-color=\"dark\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n (click)=\"reset()\"\r\n >\r\n <span>Limpar todos os filtros</span>\r\n </cura-button-transparent>\r\n }\r\n\r\n @if (showApplyButton) {\r\n <cura-button\r\n size=\"medium\"\r\n font-color=\"light\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n (click)=\"filter()\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n class=\"filter-button\"\r\n >\r\n Filtrar\r\n </cura-button>\r\n }\r\n </div>\r\n\r\n @if (showCloseButton) {\r\n <div class=\"divider-strong\"></div>\r\n <div class=\"close-action-wrapper\">\r\n <div class=\"close-action\" (click)=\"close()\">\r\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"></cura-icon>\r\n <cura-button-transparent size=\"\" type=\"button\" color=\"error\" target=\"_self\"> Fechar </cura-button-transparent>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host *{font-family:Gotham,Roboto,sans-serif}.filter-generic{display:flex;flex-direction:column;gap:18px}.filter-generic.clickable-mobile{cursor:pointer}.filter-generic.clickable-mobile:hover{background-color:var(--primary-lighter)}.filter-generic.container-style{width:100%;padding:20px;border-radius:12px;border:2px solid var(--neutral-lighter);background-color:var(--neutral-purewhite)}.filter-generic cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}.filter-header-container{display:flex;padding-bottom:12px;align-items:center}.filter-header-container.no-padding{padding-bottom:0}.filter-header-container .filter-title-wrapper{display:flex;align-items:center;justify-content:space-between;flex:1 0 0}.filter-header-container .filter-badge{display:flex;height:20px;min-width:20px;justify-content:center;align-items:center;gap:4px}.filter-header-container .filter-icon{display:block}.filter-content,.filter-actions{transition:all .3s ease}.filter-content.hidden,.filter-actions.hidden{display:none;height:0;overflow:hidden;opacity:0;margin:0;padding:0}.filter-section{display:flex;flex-direction:column;gap:24px}.filter-section .filter-header{display:flex;align-items:center;gap:14px}.filter-section .filter-subtitle{font-weight:500}.filter-section .filter-description{display:flex;flex-direction:column;gap:8px}.filter-section .filter-description:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-section .filter-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-section .filter-checkboxes.scrollable{max-height:100px;overflow-y:auto;grid-template-columns:1fr;padding-right:8px;gap:12px}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar{width:8px}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar-thumb{background:var(--neutral-medium)}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar-track{background:var(--neutral-opacity-dark)}.filter-section .filter-checkboxes.scrollable:after{display:none}.filter-section .filter-radios{display:flex;flex-direction:column;gap:12px}.filter-section .filter-radios.scrollable{max-height:100px;overflow-y:auto;padding-right:8px;gap:8px}.filter-section .filter-radios.scrollable::-webkit-scrollbar{width:8px}.filter-section .filter-radios.scrollable::-webkit-scrollbar-thumb{background:var(--neutral-medium)}.filter-section .filter-radios.scrollable::-webkit-scrollbar-track{background:var(--neutral-opacity-dark)}.filter-section .filter-radios.scrollable:after{display:none}@media screen and (max-width: 1024px){.filter-checkboxes.scrollable,.filter-radios.scrollable{max-height:100px}.filter-checkboxes:after{display:none;background-color:transparent}}.filter-actions{display:flex;flex-direction:column;gap:0}.filter-actions:before{content:\"\";display:block;width:100%;height:1px;background:linear-gradient(90deg,var(--neutral-light) 75%,transparent 15%);background-size:10px 1px;background-repeat:repeat-x;margin-bottom:20px}.filter-actions .main-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.filter-actions .divider-strong{height:1px;width:100%;margin-top:20px;margin-bottom:16px;background:linear-gradient(90deg,#e2e2e2 70%,transparent 70%);background-size:4px 1px;background-repeat:repeat-x}.filter-actions .close-action-wrapper{display:flex;justify-content:center;width:100%}.filter-actions .close-action{display:inline-flex;align-items:center;gap:8px}.filter-actions .close-action cura-button-transparent{padding:0;margin:0;background:transparent;border:none;color:inherit}.filter-actions cura-button-transparent{display:flex;justify-content:flex-start;text-align:left;flex:0 1 auto}.filter-actions cura-button{display:flex;justify-content:flex-start;text-align:left;flex:1 0 auto}@media screen and (max-width: 1024px){.filter-checkboxes:after{background-color:transparent}}\n"] }]
204
+ args: [{ selector: 'rdsite-filter-generic', standalone: true, imports: [CommonModule, ReactiveFormsModule], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div\r\n class=\"filter-generic\"\r\n [ngClass]=\"{ 'container-style': withContainerStyle, 'clickable-mobile': shouldHandleMobileClick() }\"\r\n aria-label=\"Filtros\"\r\n (click)=\"handleMobileClick()\"\r\n>\r\n <div class=\"filter-header-container\" [ngClass]=\"{ 'no-padding': !isFilterOpen, hidden: !isFilterOpen }\">\r\n <div class=\"filter-title-wrapper\">\r\n <cura-label size=\"medium\" level=\"4\" color=\"neutral-black\" weight=\"regular\" margin-block=\"0\" line-height=\"16px\">\r\n {{ textTitle }}\r\n </cura-label>\r\n\r\n @if (showBadge) {\r\n <cura-badge-counter\r\n [type]=\"'solid'\"\r\n [color]=\"hasSelection() ? 'primary' : 'neutral'\"\r\n [number]=\"selectedFiltersCount\"\r\n class=\"filter-badge\"\r\n ></cura-badge-counter>\r\n }\r\n </div>\r\n\r\n @if (showToggleIcon) {\r\n <cura-button-transparent size=\"small\" font-color=\"dark\" color=\"primary\" text-align=\"center\" (click)=\"toggleFilter()\" [attr.aria-expanded]=\"isFilterOpen\">\r\n <cura-icon [name]=\"isFilterOpen ? 'up' : 'down'\" size=\"16\" class=\"filter-icon\" color=\"primary-dark\"></cura-icon>\r\n </cura-button-transparent>\r\n }\r\n </div>\r\n\r\n <div class=\"filter-content\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n @for (section of sections; track section.type) {\r\n @if (section.visible !== false) {\r\n <div class=\"filter-section\">\r\n @switch (section.type) {\r\n @case ('input') {\r\n <cura-input-text\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [name]=\"section.config.name || ''\"\r\n [iconName]=\"section.config.iconName || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (valueChange)=\"handleInputChange($event, section.config.control)\"\r\n ></cura-input-text>\r\n }\r\n @case ('select') {\r\n <cura-select\r\n [label]=\"section.config.label || ''\"\r\n [placeholder]=\"section.config.placeholder || ''\"\r\n [attr.value]=\"section.config.control.value\"\r\n (selected)=\"handleSelectChange($event, section.config.control)\"\r\n >\r\n @if (section.config.includeDefaultOption) {\r\n <cura-select-option [attr.value]=\"''\">{{ section.config.defaultOptionText || 'Fa\u00E7a a sua Sele\u00E7\u00E3o' }}</cura-select-option>\r\n }\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-select-option [attr.value]=\"option?.value\">{{ option?.label }}</cura-select-option>\r\n }\r\n </cura-select>\r\n }\r\n @case ('checkbox-group') {\r\n @if (section.config.title) {\r\n <div class=\"filter-header\">\r\n <cura-icon name=\"filter\" size=\"20\" color=\"info-dark\"></cura-icon>\r\n <cura-heading size=\"xsmall\" level=\"5\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\" line-height=\"16px\">\r\n {{ section.config.title }}\r\n </cura-heading>\r\n </div>\r\n }\r\n @if (section.config.subtitle) {\r\n <div class=\"filter-subtitle\">\r\n <cura-heading size=\"xsmall\" weight=\"bold\" color=\"neutral-black\" margin-block=\"0\">\r\n {{ section.config.subtitle }}\r\n </cura-heading>\r\n </div>\r\n }\r\n\r\n @if (section.config.description) {\r\n <div class=\"filter-description\">\r\n <cura-paragraph size=\"xsmall\" color=\"neutral-dark\" margin-block=\"0\">\r\n {{ section.config.description }}\r\n </cura-paragraph>\r\n </div>\r\n }\r\n\r\n <div class=\"filter-checkboxes\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-checkbox\r\n color=\"primary\"\r\n size=\"small\"\r\n icon-color=\"light\"\r\n [attr.name]=\"option?.label\"\r\n [attr.label]=\"option?.label\"\r\n [attr.value]=\"option?.value\"\r\n [attr.checked]=\"option?.checked\"\r\n (onchange)=\"handleCheckboxChange($event, section.config.options)\"\r\n ></cura-checkbox>\r\n }\r\n </div>\r\n }\r\n @case ('radio-group') {\r\n <div class=\"filter-radios\" [class.scrollable]=\"hasScroll(section)\">\r\n @for (option of section.config.options || []; track option?.value) {\r\n <cura-radio\r\n [name]=\"section.config.name || 'radio-group'\"\r\n [label]=\"option.label\"\r\n [value]=\"option.value\"\r\n [checked]=\"getRadioGroupValue(section.config.control) === option.value\"\r\n (onchange)=\"handleRadioChange($event, section.config.control)\"\r\n ></cura-radio>\r\n }\r\n </div>\r\n }\r\n @case ('custom') {\r\n <ng-container *ngTemplateOutlet=\"section.config.template\"></ng-container>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n </div>\r\n\r\n <div class=\"filter-actions\" [class.hidden]=\"!isFilterOpen || (forceCollapsed && isMobile())\">\r\n <div class=\"main-actions\">\r\n @if (showClearButton) {\r\n <cura-button-transparent\r\n size=\"small\"\r\n font-color=\"dark\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n (click)=\"reset()\"\r\n >\r\n <span>Limpar todos os filtros</span>\r\n </cura-button-transparent>\r\n }\r\n\r\n @if (showApplyButton) {\r\n <cura-button\r\n size=\"medium\"\r\n font-color=\"light\"\r\n color=\"primary\"\r\n text-align=\"center\"\r\n (click)=\"filter()\"\r\n [disabled]=\"disableButtonsWithoutSelection && !hasSelection()\"\r\n class=\"filter-button\"\r\n >\r\n Filtrar\r\n </cura-button>\r\n }\r\n </div>\r\n\r\n @if (showCloseButton) {\r\n <div class=\"divider-strong\"></div>\r\n <div class=\"close-action-wrapper\">\r\n <div class=\"close-action\" (click)=\"close()\">\r\n <cura-icon name=\"close\" color=\"error-dark\" size=\"small\"></cura-icon>\r\n <cura-button-transparent size=\"\" type=\"button\" color=\"error\" target=\"_self\"> Fechar </cura-button-transparent>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: [":host *{font-family:Gotham,Roboto,sans-serif}.filter-generic{display:flex;flex-direction:column;gap:18px}.filter-generic.clickable-mobile{cursor:pointer}.filter-generic.clickable-mobile:hover{background-color:var(--primary-lighter)}.filter-generic.container-style{width:100%;padding:20px;border-radius:12px;border:2px solid var(--neutral-lighter);background-color:var(--neutral-purewhite)}.filter-generic cura-loader-circle{display:flex;justify-content:center;align-items:center;width:100%;min-height:100px}.filter-header-container{display:flex;padding-bottom:12px;align-items:center}.filter-header-container.no-padding{padding-bottom:0}.filter-header-container .filter-title-wrapper{display:flex;align-items:center;justify-content:space-between;flex:1 0 0}.filter-header-container .filter-badge{display:flex;height:20px;min-width:20px;justify-content:center;align-items:center;gap:4px}.filter-header-container .filter-icon{display:block}.filter-content,.filter-actions{transition:all .3s ease}.filter-content.hidden,.filter-actions.hidden{display:none;height:0;overflow:hidden;opacity:0;margin:0;padding:0}.filter-section{display:flex;flex-direction:column;gap:24px}.filter-section .filter-header{display:flex;align-items:center;gap:14px}.filter-section .filter-subtitle{font-weight:500}.filter-section .filter-description{display:flex;flex-direction:column;gap:8px}.filter-section .filter-description:after{content:\"\";display:block;width:100%;height:1px;background-color:var(--neutral-light);margin-top:12px;grid-column:1/-1}.filter-section .filter-checkboxes{display:grid;grid-template-columns:repeat(2,1fr);gap:11px 0px}.filter-section .filter-checkboxes.scrollable{max-height:100px;overflow-y:auto;grid-template-columns:1fr;padding-right:8px;gap:12px}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar{width:8px}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar-thumb{background:var(--neutral-medium)}.filter-section .filter-checkboxes.scrollable::-webkit-scrollbar-track{background:var(--neutral-opacity-black)}.filter-section .filter-checkboxes.scrollable:after{display:none}.filter-section .filter-radios{display:flex;flex-direction:column;gap:12px}.filter-section .filter-radios.scrollable{max-height:100px;overflow-y:auto;padding-right:8px;gap:8px}.filter-section .filter-radios.scrollable::-webkit-scrollbar{width:8px}.filter-section .filter-radios.scrollable::-webkit-scrollbar-thumb{background:var(--neutral-medium)}.filter-section .filter-radios.scrollable::-webkit-scrollbar-track{background:var(--neutral-opacity-black)}.filter-section .filter-radios.scrollable:after{display:none}@media screen and (max-width: 1024px){.filter-checkboxes.scrollable,.filter-radios.scrollable{max-height:100px}.filter-checkboxes:after{display:none;background-color:transparent}}.filter-actions{display:flex;flex-direction:column;gap:0}.filter-actions:before{content:\"\";display:block;width:100%;height:1px;background:linear-gradient(90deg,var(--neutral-light) 75%,transparent 15%);background-size:10px 1px;background-repeat:repeat-x;margin-bottom:20px}.filter-actions .main-actions{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.filter-actions .divider-strong{height:1px;width:100%;margin-top:20px;margin-bottom:16px;background:linear-gradient(90deg,#e2e2e2 70%,transparent 70%);background-size:4px 1px;background-repeat:repeat-x}.filter-actions .close-action-wrapper{display:flex;justify-content:center;width:100%}.filter-actions .close-action{display:inline-flex;align-items:center;gap:8px}.filter-actions .close-action cura-button-transparent{padding:0;margin:0;background:transparent;border:none;color:inherit}.filter-actions cura-button-transparent{display:flex;justify-content:flex-start;text-align:left;flex:0 1 auto}.filter-actions cura-button{display:flex;justify-content:flex-start;text-align:left;flex:1 0 auto}@media screen and (max-width: 1024px){.filter-checkboxes:after{background-color:transparent}}\n"] }]
205
205
  }], ctorParameters: () => [{ type: i1.CuraService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
206
206
  type: Inject,
207
207
  args: [PLATFORM_ID]
@@ -241,4 +241,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
241
241
  type: HostBinding,
242
242
  args: ['style']
243
243
  }] } });
244
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdlbmVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlci1nZW5lcmljL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXItZ2VuZXJpYy9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFxQixTQUFTLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUosT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBWTdELE1BQU0sT0FBTyxzQkFBc0I7SUFnQ2pDLFlBQ21CLFdBQXdCLEVBQ3hCLEdBQXNCLEVBQ0QsVUFBa0I7UUFGdkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDRCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBbENoRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFDL0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU3Qyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsb0JBQWUs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QUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDOytHQTVOVSxzQkFBc0IsOEVBbUN2QixXQUFXO21HQW5DVixzQkFBc0IsOHJCQ2hCbkMsaWlPQWlLQSx1N0hEdEpZLFlBQVksbVNBQUUsbUJBQW1COzs0RkFLaEMsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsV0FDbkMsQ0FBQyxzQkFBc0IsQ0FBQzs7MEJBdUM5QixNQUFNOzJCQUFDLFdBQVc7eUNBbENYLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRUUsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLDhCQUE4QjtzQkFBdEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS2dCLFlBQVk7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEN1cmFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBNZWRpYVF1ZXJpZXMgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL21lZGlhUXVlcmllcyc7XHJcbmltcG9ydCB7IEZpbHRlckFjdGlvbiwgRmlsdGVyQ29udHJvbFZhbHVlLCBGaWx0ZXJTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpbHRlcnMvZmlsdGVyLXNlY3Rpb24udHlwZSc7XHJcbmltcG9ydCB7IEZpbHRlckV2ZW50LCBGaWx0ZXJQbGFub3NDb252ZW5pb3NDaGFuZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmlsdGVycy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS1maWx0ZXItZ2VuZXJpYycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyR2VuZXJpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlTW9kYWwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIG9wZW5Nb2JpbGVGaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIHdpdGhDb250YWluZXJTdHlsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0NsZWFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93QXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dDbG9zZUJ1dHRvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdXR0b25zV2l0aG91dFNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dCYWRnZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RvZ2dsZUljb24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzRmlsdGVyT3BlbiA9IHRydWU7XHJcbiAgQElucHV0KCkgbW9iaWxlQmVoYXZpb3IgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmb3JjZUNvbGxhcHNlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVtaXRPblJlc2V0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGV4dFRpdGxlID0gJ0ZpbHRyYXIgcG9yJztcclxuICBASW5wdXQoKSBzZWN0aW9uczogRmlsdGVyU2VjdGlvbltdID0gW107XHJcblxyXG4gIHNlbGVjdGVkRmlsdGVyc0NvdW50OiBudW1iZXIgPSAwO1xyXG4gIHdpbmRvd1dpZHRoOiBudW1iZXIgPSAwO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgc3R5bGVCaW5kaW5nID0ge1xyXG4gICAgJy0tbmV1dHJhbC1vcGFjaXR5LWRhcmsnOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWRhcmsnLCAwLjIpLFxyXG4gICAgJy0tbmV1dHJhbC1kYXJrZXInOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLWRhcmtlcicpLFxyXG4gICAgJy0tbmV1dHJhbC1tZWRpdW0nOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLW1lZGl1bScpLFxyXG4gICAgJy0tbmV1dHJhbC1saWdodCc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHQnKSxcclxuICAgICctLW5ldXRyYWwtbGlnaHRlcic6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbGlnaHRlcicpLFxyXG4gICAgJy0tbmV1dHJhbC1wdXJld2hpdGUnOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCduZXV0cmFsLXB1cmV3aGl0ZScpLFxyXG4gICAgJy0tcHJpbWFyeS1saWdodGVyJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcigncHJpbWFyeS1saWdodGVyJyksXHJcbiAgfTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGN1cmFTZXJ2aWNlOiBDdXJhU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBJbmplY3QoUExBVEZPUk1fSUQpIHByaXZhdGUgcmVhZG9ubHkgcGxhdGZvcm1JZDogb2JqZWN0LFxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xyXG4gICAgICB0aGlzLndpbmRvd1dpZHRoID0gd2luZG93LmlubmVyV2lkdGg7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuZm9yY2VDb2xsYXBzZWQgJiYgdGhpcy5pc01vYmlsZSgpKSB7XHJcbiAgICAgIHRoaXMuaXNGaWx0ZXJPcGVuID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJbnB1dENoYW5nZShldmVudDogYW55LCBjb250cm9sOiBGb3JtQ29udHJvbCk6IHZvaWQge1xyXG4gICAgY29udHJvbC5zZXRWYWx1ZShldmVudC5kZXRhaWwpO1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZEZpbHRlcnNDb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlU2VsZWN0Q2hhbmdlKGV2ZW50OiBhbnksIGNvbnRyb2w6IEZvcm1Db250cm9sKTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQ/LmRldGFpbCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIGNvbnRyb2wuc2V0VmFsdWUoZXZlbnQuZGV0YWlsKTtcclxuICAgICAgdGhpcy51cGRhdGVTZWxlY3RlZEZpbHRlcnNDb3VudCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hlY2tib3hDaGFuZ2UoZXZlbnQ6IGFueSwgb3B0aW9uczogYW55W10pOiB2b2lkIHtcclxuICAgIGNvbnN0IGNoYW5nZWRPcHRpb24gPSBvcHRpb25zLmZpbmQoKG9wdCkgPT4gb3B0LnZhbHVlID09PSBldmVudC5kZXRhaWwudmFsdWUpO1xyXG4gICAgaWYgKGNoYW5nZWRPcHRpb24pIGNoYW5nZWRPcHRpb24uY2hlY2tlZCA9IGV2ZW50LmRldGFpbC5jaGVja2VkO1xyXG5cclxuICAgIHRoaXMudXBkYXRlQ2hlY2tib3hHcm91cChvcHRpb25zKTtcclxuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRGaWx0ZXJzQ291bnQoKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVJhZGlvQ2hhbmdlKGV2ZW50OiBhbnksIGNvbnRyb2w6IEZvcm1Db250cm9sKTogdm9pZCB7XHJcbiAgICBjb25zdCBzZWxlY3RlZFZhbHVlID0gZXZlbnQuZGV0YWlsLnZhbHVlO1xyXG4gICAgY29udHJvbC5zZXRWYWx1ZShjb250cm9sLnZhbHVlPy52YWx1ZSA9PT0gc2VsZWN0ZWRWYWx1ZSA/IG51bGwgOiB7IHZhbHVlOiBzZWxlY3RlZFZhbHVlIH0pO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyKCk6IHZvaWQge1xyXG4gICAgdGhpcy5lbWl0RmlsdGVyQ2hhbmdlKCdmaWx0ZXInKTtcclxuICAgIGlmICh0aGlzLm1vYmlsZUJlaGF2aW9yIHx8IHRoaXMuc2hvd0Nsb3NlQnV0dG9uKSB0aGlzLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICByZXNldCgpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzZXRBbGxDb250cm9scygpO1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZEZpbHRlcnNDb3VudCgpO1xyXG5cclxuICAgIGlmICh0aGlzLmVtaXRPblJlc2V0KSB7XHJcbiAgICAgIHRoaXMuZW1pdEZpbHRlckNoYW5nZSgncmVzZXQnKTtcclxuICAgICAgdGhpcy5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xvc2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsb3NlTW9kYWwuZW1pdCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHRvZ2dsZUZpbHRlcigpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLm1vYmlsZUJlaGF2aW9yICYmIHRoaXMuaXNNb2JpbGUoKSkge1xyXG4gICAgICB0aGlzLm9wZW5Nb2JpbGVGaWx0ZXIuZW1pdCgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc0ZpbHRlck9wZW4gPSAhdGhpcy5pc0ZpbHRlck9wZW47XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBoYXNTZWxlY3Rpb24oKTogYm9vbGVhbiB7XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkRmlsdGVyc0NvdW50KCk7XHJcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZEZpbHRlcnNDb3VudCA+IDA7XHJcbiAgfVxyXG5cclxuICBpc01vYmlsZSgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLndpbmRvd1dpZHRoIDw9IE1lZGlhUXVlcmllcy5zbWFsbEJyZWFrcG9pbnQ7XHJcbiAgfVxyXG5cclxuICBnZXRSYWRpb0dyb3VwVmFsdWUoY29udHJvbD86IEZvcm1Db250cm9sPEZpbHRlckNvbnRyb2xWYWx1ZT4pOiBhbnkge1xyXG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sPy52YWx1ZTtcclxuICAgIHJldHVybiB2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmICd2YWx1ZScgaW4gdmFsdWUgPyB2YWx1ZS52YWx1ZSA6IG51bGw7XHJcbiAgfVxyXG5cclxuICBoYXNTY3JvbGwoc2VjdGlvbjogRmlsdGVyU2VjdGlvbik6IGJvb2xlYW4ge1xyXG4gICAgc3dpdGNoIChzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgY2FzZSAnY2hlY2tib3gtZ3JvdXAnOlxyXG4gICAgICAgIHJldHVybiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zICYmIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMubGVuZ3RoID4gNjtcclxuICAgICAgY2FzZSAncmFkaW8tZ3JvdXAnOlxyXG4gICAgICAgIHJldHVybiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zICYmIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMubGVuZ3RoID4gNjtcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRTZWN0aW9uQ2xhc3Moc2VjdGlvbjogRmlsdGVyU2VjdGlvbik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5oYXNTY3JvbGwoc2VjdGlvbikgPyAnc2Nyb2xsYWJsZScgOiAnJztcclxuICB9XHJcblxyXG4gIHNob3VsZEhhbmRsZU1vYmlsZUNsaWNrKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubW9iaWxlQmVoYXZpb3IgJiYgdGhpcy5pc01vYmlsZSgpICYmIHRoaXMuZm9yY2VDb2xsYXBzZWQ7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVNb2JpbGVDbGljaygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnNob3VsZEhhbmRsZU1vYmlsZUNsaWNrKCkpIHtcclxuICAgICAgdGhpcy5vcGVuTW9iaWxlRmlsdGVyLmVtaXQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZW1pdEZpbHRlckNoYW5nZShhY3Rpb246IEZpbHRlckFjdGlvbik6IHZvaWQge1xyXG4gICAgY29uc3QgZmlsdGVyRGF0YSA9IHRoaXMuYnVpbGRGaWx0ZXJEYXRhKCk7XHJcbiAgICBjb25zdCBpc0VtcHR5ID0gdGhpcy5pc0ZpbHRlckRhdGFFbXB0eShmaWx0ZXJEYXRhKTtcclxuXHJcbiAgICB0aGlzLmZpbHRlckNoYW5nZS5lbWl0KHtcclxuICAgICAgZGF0YTogdGhpcy5lbWl0T25SZXNldCB8fCAhaXNFbXB0eSA/IGZpbHRlckRhdGEgOiBudWxsLFxyXG4gICAgICBhY3Rpb246IGFjdGlvbixcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVTZWxlY3RlZEZpbHRlcnNDb3VudCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRGaWx0ZXJzQ291bnQgPSB0aGlzLnNlY3Rpb25zLnJlZHVjZSgoY291bnQsIHNlY3Rpb24pID0+IHtcclxuICAgICAgaWYgKCFzZWN0aW9uLmNvbmZpZz8uY29udHJvbCkgcmV0dXJuIGNvdW50O1xyXG5cclxuICAgICAgY29uc3QgdmFsdWUgPSBzZWN0aW9uLmNvbmZpZy5jb250cm9sLnZhbHVlO1xyXG5cclxuICAgICAgc3dpdGNoIChzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdjaGVja2JveC1ncm91cCc6XHJcbiAgICAgICAgICByZXR1cm4gY291bnQgKyAoQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0/LmNoZWNrZWQpLmxlbmd0aCA6IDApO1xyXG4gICAgICAgIGNhc2UgJ3JhZGlvLWdyb3VwJzpcclxuICAgICAgICAgIHJldHVybiBjb3VudCArICh2YWx1ZT8udmFsdWUgPyAxIDogMCk7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgIHJldHVybiBjb3VudCArICh2YWx1ZSA/IDEgOiAwKTtcclxuICAgICAgfVxyXG4gICAgfSwgMCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlc2V0QWxsQ29udHJvbHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcclxuICAgICAgaWYgKCFzZWN0aW9uLmNvbmZpZz8uY29udHJvbCkgcmV0dXJuO1xyXG5cclxuICAgICAgaWYgKHNlY3Rpb24udHlwZSA9PT0gJ2NoZWNrYm94LWdyb3VwJykge1xyXG4gICAgICAgIGNvbnN0IHJlc2V0T3B0aW9ucyA9IHNlY3Rpb24uY29uZmlnLm9wdGlvbnMubWFwKChvcHRpb246IGFueSkgPT4gKHsgLi4ub3B0aW9uLCBjaGVja2VkOiBmYWxzZSB9KSk7XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcub3B0aW9ucyA9IHJlc2V0T3B0aW9ucztcclxuICAgICAgICBzZWN0aW9uLmNvbmZpZy5jb250cm9sLnNldFZhbHVlKHJlc2V0T3B0aW9ucywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wucmVzZXQoJycsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUNoZWNrYm94R3JvdXAob3B0aW9uczogYW55W10pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VjdGlvbnNcclxuICAgICAgLmZpbHRlcigoc2VjdGlvbikgPT4gc2VjdGlvbi50eXBlID09PSAnY2hlY2tib3gtZ3JvdXAnKVxyXG4gICAgICAuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICAgIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgPSBbLi4ub3B0aW9uc107XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcuY29udHJvbC5zZXRWYWx1ZShbLi4ub3B0aW9uc10pO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYnVpbGRGaWx0ZXJEYXRhKCk6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSB8IGFueSB7XHJcbiAgICBjb25zdCBmaWx0ZXJEYXRhOiBGaWx0ZXJQbGFub3NDb252ZW5pb3NDaGFuZ2UgPSB7XHJcbiAgICAgIHVuaWRhZGU6ICcnLFxyXG4gICAgICBlc3RhZG86ICcnLFxyXG4gICAgICBjb2JlcnR1cmE6IFtdLFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLnNlY3Rpb25zLmZvckVhY2goKHNlY3Rpb24pID0+IHtcclxuICAgICAgaWYgKCFzZWN0aW9uLmNvbmZpZz8uY29udHJvbCkgcmV0dXJuO1xyXG5cclxuICAgICAgY29uc3QgdmFsdWUgPSBzZWN0aW9uLmNvbmZpZy5jb250cm9sLnZhbHVlO1xyXG5cclxuICAgICAgc3dpdGNoIChzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgICBjYXNlICdpbnB1dCc6XHJcbiAgICAgICAgICBmaWx0ZXJEYXRhLnVuaWRhZGUgPSB2YWx1ZSB8fCAnJztcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ3NlbGVjdCc6XHJcbiAgICAgICAgICBmaWx0ZXJEYXRhLmVzdGFkbyA9IHZhbHVlIHx8ICcnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnY2hlY2tib3gtZ3JvdXAnOlxyXG4gICAgICAgICAgZmlsdGVyRGF0YS5jb2JlcnR1cmEgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5jaGVja2VkKSA6IFtdO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBmaWx0ZXJEYXRhO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpc0ZpbHRlckRhdGFFbXB0eShmaWx0ZXJEYXRhOiBGaWx0ZXJQbGFub3NDb252ZW5pb3NDaGFuZ2UpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBPYmplY3QudmFsdWVzKGZpbHRlckRhdGEpLmV2ZXJ5KCh2YWwpID0+IHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09ICcnIHx8IChBcnJheS5pc0FycmF5KHZhbCkgJiYgdmFsLmxlbmd0aCA9PT0gMCkpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJmaWx0ZXItZ2VuZXJpY1wiXHJcbiAgW25nQ2xhc3NdPVwieyAnY29udGFpbmVyLXN0eWxlJzogd2l0aENvbnRhaW5lclN0eWxlLCAnY2xpY2thYmxlLW1vYmlsZSc6IHNob3VsZEhhbmRsZU1vYmlsZUNsaWNrKCkgfVwiXHJcbiAgYXJpYS1sYWJlbD1cIkZpbHRyb3NcIlxyXG4gIChjbGljayk9XCJoYW5kbGVNb2JpbGVDbGljaygpXCJcclxuPlxyXG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXItaGVhZGVyLWNvbnRhaW5lclwiIFtuZ0NsYXNzXT1cInsgJ25vLXBhZGRpbmcnOiAhaXNGaWx0ZXJPcGVuLCBoaWRkZW46ICFpc0ZpbHRlck9wZW4gfVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cImZpbHRlci10aXRsZS13cmFwcGVyXCI+XHJcbiAgICAgIDxjdXJhLWxhYmVsIHNpemU9XCJtZWRpdW1cIiBsZXZlbD1cIjRcIiBjb2xvcj1cIm5ldXRyYWwtYmxhY2tcIiB3ZWlnaHQ9XCJyZWd1bGFyXCIgbWFyZ2luLWJsb2NrPVwiMFwiIGxpbmUtaGVpZ2h0PVwiMTZweFwiPlxyXG4gICAgICAgIHt7IHRleHRUaXRsZSB9fVxyXG4gICAgICA8L2N1cmEtbGFiZWw+XHJcblxyXG4gICAgICBAaWYgKHNob3dCYWRnZSkge1xyXG4gICAgICAgIDxjdXJhLWJhZGdlLWNvdW50ZXJcclxuICAgICAgICAgIFt0eXBlXT1cIidzb2xpZCdcIlxyXG4gICAgICAgICAgW2NvbG9yXT1cImhhc1NlbGVjdGlvbigpID8gJ3ByaW1hcnknIDogJ25ldXRyYWwnXCJcclxuICAgICAgICAgIFtudW1iZXJdPVwic2VsZWN0ZWRGaWx0ZXJzQ291bnRcIlxyXG4gICAgICAgICAgY2xhc3M9XCJmaWx0ZXItYmFkZ2VcIlxyXG4gICAgICAgID48L2N1cmEtYmFkZ2UtY291bnRlcj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgQGlmIChzaG93VG9nZ2xlSWNvbikge1xyXG4gICAgICA8Y3VyYS1idXR0b24tdHJhbnNwYXJlbnQgc2l6ZT1cInNtYWxsXCIgZm9udC1jb2xvcj1cImRhcmtcIiBjb2xvcj1cInByaW1hcnlcIiB0ZXh0LWFsaWduPVwiY2VudGVyXCIgKGNsaWNrKT1cInRvZ2dsZUZpbHRlcigpXCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc0ZpbHRlck9wZW5cIj5cclxuICAgICAgICA8Y3VyYS1pY29uIFtuYW1lXT1cImlzRmlsdGVyT3BlbiA/ICd1cCcgOiAnZG93bidcIiBzaXplPVwiMTZcIiBjbGFzcz1cImZpbHRlci1pY29uXCIgY29sb3I9XCJwcmltYXJ5LWRhcmtcIj48L2N1cmEtaWNvbj5cclxuICAgICAgPC9jdXJhLWJ1dHRvbi10cmFuc3BhcmVudD5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1jb250ZW50XCIgW2NsYXNzLmhpZGRlbl09XCIhaXNGaWx0ZXJPcGVuIHx8IChmb3JjZUNvbGxhcHNlZCAmJiBpc01vYmlsZSgpKVwiPlxyXG4gICAgQGZvciAoc2VjdGlvbiBvZiBzZWN0aW9uczsgdHJhY2sgc2VjdGlvbi50eXBlKSB7XHJcbiAgICAgIEBpZiAoc2VjdGlvbi52aXNpYmxlICE9PSBmYWxzZSkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItc2VjdGlvblwiPlxyXG4gICAgICAgICAgQHN3aXRjaCAoc2VjdGlvbi50eXBlKSB7XHJcbiAgICAgICAgICAgIEBjYXNlICgnaW5wdXQnKSB7XHJcbiAgICAgICAgICAgICAgPGN1cmEtaW5wdXQtdGV4dFxyXG4gICAgICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInNlY3Rpb24uY29uZmlnLnBsYWNlaG9sZGVyIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgIFtuYW1lXT1cInNlY3Rpb24uY29uZmlnLm5hbWUgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25OYW1lXT1cInNlY3Rpb24uY29uZmlnLmljb25OYW1lIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgIFthdHRyLnZhbHVlXT1cInNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgKHZhbHVlQ2hhbmdlKT1cImhhbmRsZUlucHV0Q2hhbmdlKCRldmVudCwgc2VjdGlvbi5jb25maWcuY29udHJvbClcIlxyXG4gICAgICAgICAgICAgID48L2N1cmEtaW5wdXQtdGV4dD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoJ3NlbGVjdCcpIHtcclxuICAgICAgICAgICAgICA8Y3VyYS1zZWxlY3RcclxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCJzZWN0aW9uLmNvbmZpZy5sYWJlbCB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VjdGlvbi5jb25maWcucGxhY2Vob2xkZXIgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIudmFsdWVdPVwic2VjdGlvbi5jb25maWcuY29udHJvbC52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAoc2VsZWN0ZWQpPVwiaGFuZGxlU2VsZWN0Q2hhbmdlKCRldmVudCwgc2VjdGlvbi5jb25maWcuY29udHJvbClcIlxyXG4gICAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5jb25maWcuaW5jbHVkZURlZmF1bHRPcHRpb24pIHtcclxuICAgICAgICAgICAgICAgICAgPGN1cmEtc2VsZWN0LW9wdGlvbiBbYXR0ci52YWx1ZV09XCInJ1wiPnt7IHNlY3Rpb24uY29uZmlnLmRlZmF1bHRPcHRpb25UZXh0IHx8ICdGYcOnYSBhIHN1YSBTZWxlw6fDo28nIH19PC9jdXJhLXNlbGVjdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygc2VjdGlvbi5jb25maWcub3B0aW9ucyB8fCBbXTsgdHJhY2sgb3B0aW9uPy52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1zZWxlY3Qtb3B0aW9uIFthdHRyLnZhbHVlXT1cIm9wdGlvbj8udmFsdWVcIj57eyBvcHRpb24/LmxhYmVsIH19PC9jdXJhLXNlbGVjdC1vcHRpb24+XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgPC9jdXJhLXNlbGVjdD5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoJ2NoZWNrYm94LWdyb3VwJykge1xyXG4gICAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5jb25maWcudGl0bGUpIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLWljb24gbmFtZT1cImZpbHRlclwiIHNpemU9XCIyMFwiIGNvbG9yPVwiaW5mby1kYXJrXCI+PC9jdXJhLWljb24+XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLWhlYWRpbmcgc2l6ZT1cInhzbWFsbFwiIGxldmVsPVwiNVwiIHdlaWdodD1cImJvbGRcIiBjb2xvcj1cIm5ldXRyYWwtYmxhY2tcIiBtYXJnaW4tYmxvY2s9XCIwXCIgbGluZS1oZWlnaHQ9XCIxNnB4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc2VjdGlvbi5jb25maWcudGl0bGUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9jdXJhLWhlYWRpbmc+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNvbmZpZy5zdWJ0aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1zdWJ0aXRsZVwiPlxyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1oZWFkaW5nIHNpemU9XCJ4c21hbGxcIiB3ZWlnaHQ9XCJib2xkXCIgY29sb3I9XCJuZXV0cmFsLWJsYWNrXCIgbWFyZ2luLWJsb2NrPVwiMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIHt7IHNlY3Rpb24uY29uZmlnLnN1YnRpdGxlIH19XHJcbiAgICAgICAgICAgICAgICAgIDwvY3VyYS1oZWFkaW5nPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uY29uZmlnLmRlc2NyaXB0aW9uKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWRlc2NyaXB0aW9uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLXBhcmFncmFwaCBzaXplPVwieHNtYWxsXCIgY29sb3I9XCJuZXV0cmFsLWRhcmtcIiBtYXJnaW4tYmxvY2s9XCIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc2VjdGlvbi5jb25maWcuZGVzY3JpcHRpb24gfX1cclxuICAgICAgICAgICAgICAgICAgPC9jdXJhLXBhcmFncmFwaD5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1jaGVja2JveGVzXCIgW2NsYXNzLnNjcm9sbGFibGVdPVwiaGFzU2Nyb2xsKHNlY3Rpb24pXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygc2VjdGlvbi5jb25maWcub3B0aW9ucyB8fCBbXTsgdHJhY2sgb3B0aW9uPy52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1jaGVja2JveFxyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgICAgICAgICAgICBpY29uLWNvbG9yPVwibGlnaHRcIlxyXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLm5hbWVdPVwib3B0aW9uPy5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIubGFiZWxdPVwib3B0aW9uPy5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIudmFsdWVdPVwib3B0aW9uPy52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIuY2hlY2tlZF09XCJvcHRpb24/LmNoZWNrZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbmNoYW5nZSk9XCJoYW5kbGVDaGVja2JveENoYW5nZSgkZXZlbnQsIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY3VyYS1jaGVja2JveD5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoJ3JhZGlvLWdyb3VwJykge1xyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItcmFkaW9zXCIgW2NsYXNzLnNjcm9sbGFibGVdPVwiaGFzU2Nyb2xsKHNlY3Rpb24pXCI+XHJcbiAgICAgICAgICAgICAgICBAZm9yIChvcHRpb24gb2Ygc2VjdGlvbi5jb25maWcub3B0aW9ucyB8fCBbXTsgdHJhY2sgb3B0aW9uPy52YWx1ZSkge1xyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1yYWRpb1xyXG4gICAgICAgICAgICAgICAgICAgIFtuYW1lXT1cInNlY3Rpb24uY29uZmlnLm5hbWUgfHwgJ3JhZGlvLWdyb3VwJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIm9wdGlvbi5sYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cIm9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiZ2V0UmFkaW9Hcm91cFZhbHVlKHNlY3Rpb24uY29uZmlnLmNvbnRyb2wpID09PSBvcHRpb24udmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICAgIChvbmNoYW5nZSk9XCJoYW5kbGVSYWRpb0NoYW5nZSgkZXZlbnQsIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wpXCJcclxuICAgICAgICAgICAgICAgICAgPjwvY3VyYS1yYWRpbz5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBAY2FzZSAoJ2N1c3RvbScpIHtcclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwic2VjdGlvbi5jb25maWcudGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJmaWx0ZXItYWN0aW9uc1wiIFtjbGFzcy5oaWRkZW5dPVwiIWlzRmlsdGVyT3BlbiB8fCAoZm9yY2VDb2xsYXBzZWQgJiYgaXNNb2JpbGUoKSlcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJtYWluLWFjdGlvbnNcIj5cclxuICAgICAgQGlmIChzaG93Q2xlYXJCdXR0b24pIHtcclxuICAgICAgICA8Y3VyYS1idXR0b24tdHJhbnNwYXJlbnRcclxuICAgICAgICAgIHNpemU9XCJzbWFsbFwiXHJcbiAgICAgICAgICBmb250LWNvbG9yPVwiZGFya1wiXHJcbiAgICAgICAgICBjb2xvcj1cInByaW1hcnlcIlxyXG4gICAgICAgICAgdGV4dC1hbGlnbj1cImNlbnRlclwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ1dHRvbnNXaXRob3V0U2VsZWN0aW9uICYmICFoYXNTZWxlY3Rpb24oKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwicmVzZXQoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4+TGltcGFyIHRvZG9zIG9zIGZpbHRyb3M8L3NwYW4+XHJcbiAgICAgICAgPC9jdXJhLWJ1dHRvbi10cmFuc3BhcmVudD5cclxuICAgICAgfVxyXG5cclxuICAgICAgQGlmIChzaG93QXBwbHlCdXR0b24pIHtcclxuICAgICAgICA8Y3VyYS1idXR0b25cclxuICAgICAgICAgIHNpemU9XCJtZWRpdW1cIlxyXG4gICAgICAgICAgZm9udC1jb2xvcj1cImxpZ2h0XCJcclxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICB0ZXh0LWFsaWduPVwiY2VudGVyXCJcclxuICAgICAgICAgIChjbGljayk9XCJmaWx0ZXIoKVwiXHJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZUJ1dHRvbnNXaXRob3V0U2VsZWN0aW9uICYmICFoYXNTZWxlY3Rpb24oKVwiXHJcbiAgICAgICAgICBjbGFzcz1cImZpbHRlci1idXR0b25cIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIEZpbHRyYXJcclxuICAgICAgICA8L2N1cmEtYnV0dG9uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKHNob3dDbG9zZUJ1dHRvbikge1xyXG4gICAgICA8ZGl2IGNsYXNzPVwiZGl2aWRlci1zdHJvbmdcIj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNsb3NlLWFjdGlvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNsb3NlLWFjdGlvblwiIChjbGljayk9XCJjbG9zZSgpXCI+XHJcbiAgICAgICAgICA8Y3VyYS1pY29uIG5hbWU9XCJjbG9zZVwiIGNvbG9yPVwiZXJyb3ItZGFya1wiIHNpemU9XCJzbWFsbFwiPjwvY3VyYS1pY29uPlxyXG4gICAgICAgICAgPGN1cmEtYnV0dG9uLXRyYW5zcGFyZW50IHNpemU9XCJcIiB0eXBlPVwiYnV0dG9uXCIgY29sb3I9XCJlcnJvclwiIHRhcmdldD1cIl9zZWxmXCI+IEZlY2hhciA8L2N1cmEtYnV0dG9uLXRyYW5zcGFyZW50PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
244
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWdlbmVyaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2l0ZS1mcm9udC1lbmQtbGliL3NyYy9saWIvY29tcG9uZW50cy9maWx0ZXJzL2ZpbHRlci1nZW5lcmljL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpdGUtZnJvbnQtZW5kLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZmlsdGVycy9maWx0ZXItZ2VuZXJpYy9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbEUsT0FBTyxFQUFxQixTQUFTLEVBQUUsc0JBQXNCLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUosT0FBTyxFQUFlLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7O0FBWTdELE1BQU0sT0FBTyxzQkFBc0I7SUFnQ2pDLFlBQ21CLFdBQXdCLEVBQ3hCLEdBQXNCLEVBQ0QsVUFBa0I7UUFGdkMsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDRCxlQUFVLEdBQVYsVUFBVSxDQUFRO1FBbENoRCxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFlLENBQUM7UUFDL0MsZUFBVSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUU3Qyx1QkFBa0IsR0FBRyxJQUFJLENBQUM7UUFDMUIsb0JBQWUs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QUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxSCxDQUFDOytHQTVOVSxzQkFBc0IsOEVBbUN2QixXQUFXO21HQW5DVixzQkFBc0IsOHJCQ2hCbkMsaWlPQWlLQSx5N0hEdEpZLFlBQVksbVNBQUUsbUJBQW1COzs0RkFLaEMsc0JBQXNCO2tCQVJsQyxTQUFTOytCQUNFLHVCQUF1QixjQUNyQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLENBQUMsV0FDbkMsQ0FBQyxzQkFBc0IsQ0FBQzs7MEJBdUM5QixNQUFNOzJCQUFDLFdBQVc7eUNBbENYLFlBQVk7c0JBQXJCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBRUUsa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLDhCQUE4QjtzQkFBdEMsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS2dCLFlBQVk7c0JBQWpDLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSwgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbmplY3QsIElucHV0LCBPbkluaXQsIE91dHB1dCwgUExBVEZPUk1fSUQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEN1cmFTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBNZWRpYVF1ZXJpZXMgfSBmcm9tICcuLi8uLi8uLi9oZWxwZXJzL21lZGlhUXVlcmllcyc7XHJcbmltcG9ydCB7IEZpbHRlckFjdGlvbiwgRmlsdGVyQ29udHJvbFZhbHVlLCBGaWx0ZXJTZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2ZpbHRlcnMvZmlsdGVyLXNlY3Rpb24udHlwZSc7XHJcbmltcG9ydCB7IEZpbHRlckV2ZW50LCBGaWx0ZXJQbGFub3NDb252ZW5pb3NDaGFuZ2UgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZmlsdGVycy9maWx0ZXItcGxhbm9zLWNvbnZlbmlvcy5tb2RlbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3Jkc2l0ZS1maWx0ZXItZ2VuZXJpYycsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlXSxcclxuICBzY2hlbWFzOiBbQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpbHRlci1nZW5lcmljLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9maWx0ZXItZ2VuZXJpYy5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmlsdGVyR2VuZXJpY0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQE91dHB1dCgpIGZpbHRlckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlTW9kYWwgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgQE91dHB1dCgpIG9wZW5Nb2JpbGVGaWx0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBJbnB1dCgpIHdpdGhDb250YWluZXJTdHlsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0NsZWFyQnV0dG9uID0gdHJ1ZTtcclxuICBASW5wdXQoKSBzaG93QXBwbHlCdXR0b24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIHNob3dDbG9zZUJ1dHRvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVCdXR0b25zV2l0aG91dFNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHNob3dCYWRnZSA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd1RvZ2dsZUljb24gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzRmlsdGVyT3BlbiA9IHRydWU7XHJcbiAgQElucHV0KCkgbW9iaWxlQmVoYXZpb3IgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmb3JjZUNvbGxhcHNlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVtaXRPblJlc2V0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGV4dFRpdGxlID0gJ0ZpbHRyYXIgcG9yJztcclxuICBASW5wdXQoKSBzZWN0aW9uczogRmlsdGVyU2VjdGlvbltdID0gW107XHJcblxyXG4gIHNlbGVjdGVkRmlsdGVyc0NvdW50OiBudW1iZXIgPSAwO1xyXG4gIHdpbmRvd1dpZHRoOiBudW1iZXIgPSAwO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlJykgc3R5bGVCaW5kaW5nID0ge1xyXG4gICAgJy0tbmV1dHJhbC1vcGFjaXR5LWJsYWNrJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1ibGFjaycsIDAuMiksXHJcbiAgICAnLS1uZXV0cmFsLWRhcmtlcic6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtZGFya2VyJyksXHJcbiAgICAnLS1uZXV0cmFsLW1lZGl1bSc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtbWVkaXVtJyksXHJcbiAgICAnLS1uZXV0cmFsLWxpZ2h0JzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1saWdodCcpLFxyXG4gICAgJy0tbmV1dHJhbC1saWdodGVyJzogdGhpcy5jdXJhU2VydmljZS5nZXRDb2xvcignbmV1dHJhbC1saWdodGVyJyksXHJcbiAgICAnLS1uZXV0cmFsLXB1cmV3aGl0ZSc6IHRoaXMuY3VyYVNlcnZpY2UuZ2V0Q29sb3IoJ25ldXRyYWwtcHVyZXdoaXRlJyksXHJcbiAgICAnLS1wcmltYXJ5LWxpZ2h0ZXInOiB0aGlzLmN1cmFTZXJ2aWNlLmdldENvbG9yKCdwcmltYXJ5LWxpZ2h0ZXInKSxcclxuICB9O1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY3VyYVNlcnZpY2U6IEN1cmFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgQEluamVjdChQTEFURk9STV9JRCkgcHJpdmF0ZSByZWFkb25seSBwbGF0Zm9ybUlkOiBvYmplY3QsXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XHJcbiAgICAgIHRoaXMud2luZG93V2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5mb3JjZUNvbGxhcHNlZCAmJiB0aGlzLmlzTW9iaWxlKCkpIHtcclxuICAgICAgdGhpcy5pc0ZpbHRlck9wZW4gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZUlucHV0Q2hhbmdlKGV2ZW50OiBhbnksIGNvbnRyb2w6IEZvcm1Db250cm9sKTogdm9pZCB7XHJcbiAgICBjb250cm9sLnNldFZhbHVlKGV2ZW50LmRldGFpbCk7XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkRmlsdGVyc0NvdW50KCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVTZWxlY3RDaGFuZ2UoZXZlbnQ6IGFueSwgY29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcclxuICAgIGlmIChldmVudD8uZGV0YWlsICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgY29udHJvbC5zZXRWYWx1ZShldmVudC5kZXRhaWwpO1xyXG4gICAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkRmlsdGVyc0NvdW50KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaGVja2JveENoYW5nZShldmVudDogYW55LCBvcHRpb25zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2hhbmdlZE9wdGlvbiA9IG9wdGlvbnMuZmluZCgob3B0KSA9PiBvcHQudmFsdWUgPT09IGV2ZW50LmRldGFpbC52YWx1ZSk7XHJcbiAgICBpZiAoY2hhbmdlZE9wdGlvbikgY2hhbmdlZE9wdGlvbi5jaGVja2VkID0gZXZlbnQuZGV0YWlsLmNoZWNrZWQ7XHJcblxyXG4gICAgdGhpcy51cGRhdGVDaGVja2JveEdyb3VwKG9wdGlvbnMpO1xyXG4gICAgdGhpcy51cGRhdGVTZWxlY3RlZEZpbHRlcnNDb3VudCgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlUmFkaW9DaGFuZ2UoZXZlbnQ6IGFueSwgY29udHJvbDogRm9ybUNvbnRyb2wpOiB2b2lkIHtcclxuICAgIGNvbnN0IHNlbGVjdGVkVmFsdWUgPSBldmVudC5kZXRhaWwudmFsdWU7XHJcbiAgICBjb250cm9sLnNldFZhbHVlKGNvbnRyb2wudmFsdWU/LnZhbHVlID09PSBzZWxlY3RlZFZhbHVlID8gbnVsbCA6IHsgdmFsdWU6IHNlbGVjdGVkVmFsdWUgfSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmVtaXRGaWx0ZXJDaGFuZ2UoJ2ZpbHRlcicpO1xyXG4gICAgaWYgKHRoaXMubW9iaWxlQmVoYXZpb3IgfHwgdGhpcy5zaG93Q2xvc2VCdXR0b24pIHRoaXMuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIHJlc2V0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXNldEFsbENvbnRyb2xzKCk7XHJcbiAgICB0aGlzLnVwZGF0ZVNlbGVjdGVkRmlsdGVyc0NvdW50KCk7XHJcblxyXG4gICAgaWYgKHRoaXMuZW1pdE9uUmVzZXQpIHtcclxuICAgICAgdGhpcy5lbWl0RmlsdGVyQ2hhbmdlKCdyZXNldCcpO1xyXG4gICAgICB0aGlzLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xvc2VNb2RhbC5lbWl0KHRydWUpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRmlsdGVyKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMubW9iaWxlQmVoYXZpb3IgJiYgdGhpcy5pc01vYmlsZSgpKSB7XHJcbiAgICAgIHRoaXMub3Blbk1vYmlsZUZpbHRlci5lbWl0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzRmlsdGVyT3BlbiA9ICF0aGlzLmlzRmlsdGVyT3BlbjtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIGhhc1NlbGVjdGlvbigpOiBib29sZWFuIHtcclxuICAgIHRoaXMudXBkYXRlU2VsZWN0ZWRGaWx0ZXJzQ291bnQoKTtcclxuICAgIHJldHVybiB0aGlzLnNlbGVjdGVkRmlsdGVyc0NvdW50ID4gMDtcclxuICB9XHJcblxyXG4gIGlzTW9iaWxlKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMud2luZG93V2lkdGggPD0gTWVkaWFRdWVyaWVzLnNtYWxsQnJlYWtwb2ludDtcclxuICB9XHJcblxyXG4gIGdldFJhZGlvR3JvdXBWYWx1ZShjb250cm9sPzogRm9ybUNvbnRyb2w8RmlsdGVyQ29udHJvbFZhbHVlPik6IGFueSB7XHJcbiAgICBjb25zdCB2YWx1ZSA9IGNvbnRyb2w/LnZhbHVlO1xyXG4gICAgcmV0dXJuIHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgJ3ZhbHVlJyBpbiB2YWx1ZSA/IHZhbHVlLnZhbHVlIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGhhc1Njcm9sbChzZWN0aW9uOiBGaWx0ZXJTZWN0aW9uKTogYm9vbGVhbiB7XHJcbiAgICBzd2l0Y2ggKHNlY3Rpb24udHlwZSkge1xyXG4gICAgICBjYXNlICdjaGVja2JveC1ncm91cCc6XHJcbiAgICAgICAgcmV0dXJuIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgJiYgc2VjdGlvbi5jb25maWcub3B0aW9ucy5sZW5ndGggPiA2O1xyXG4gICAgICBjYXNlICdyYWRpby1ncm91cCc6XHJcbiAgICAgICAgcmV0dXJuIHNlY3Rpb24uY29uZmlnLm9wdGlvbnMgJiYgc2VjdGlvbi5jb25maWcub3B0aW9ucy5sZW5ndGggPiA2O1xyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFNlY3Rpb25DbGFzcyhzZWN0aW9uOiBGaWx0ZXJTZWN0aW9uKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmhhc1Njcm9sbChzZWN0aW9uKSA/ICdzY3JvbGxhYmxlJyA6ICcnO1xyXG4gIH1cclxuXHJcbiAgc2hvdWxkSGFuZGxlTW9iaWxlQ2xpY2soKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5tb2JpbGVCZWhhdmlvciAmJiB0aGlzLmlzTW9iaWxlKCkgJiYgdGhpcy5mb3JjZUNvbGxhcHNlZDtcclxuICB9XHJcblxyXG4gIGhhbmRsZU1vYmlsZUNsaWNrKCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2hvdWxkSGFuZGxlTW9iaWxlQ2xpY2soKSkge1xyXG4gICAgICB0aGlzLm9wZW5Nb2JpbGVGaWx0ZXIuZW1pdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBlbWl0RmlsdGVyQ2hhbmdlKGFjdGlvbjogRmlsdGVyQWN0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBmaWx0ZXJEYXRhID0gdGhpcy5idWlsZEZpbHRlckRhdGEoKTtcclxuICAgIGNvbnN0IGlzRW1wdHkgPSB0aGlzLmlzRmlsdGVyRGF0YUVtcHR5KGZpbHRlckRhdGEpO1xyXG5cclxuICAgIHRoaXMuZmlsdGVyQ2hhbmdlLmVtaXQoe1xyXG4gICAgICBkYXRhOiB0aGlzLmVtaXRPblJlc2V0IHx8ICFpc0VtcHR5ID8gZmlsdGVyRGF0YSA6IG51bGwsXHJcbiAgICAgIGFjdGlvbjogYWN0aW9uLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZVNlbGVjdGVkRmlsdGVyc0NvdW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEZpbHRlcnNDb3VudCA9IHRoaXMuc2VjdGlvbnMucmVkdWNlKChjb3VudCwgc2VjdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIXNlY3Rpb24uY29uZmlnPy5jb250cm9sKSByZXR1cm4gY291bnQ7XHJcblxyXG4gICAgICBjb25zdCB2YWx1ZSA9IHNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgICBzd2l0Y2ggKHNlY3Rpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2NoZWNrYm94LWdyb3VwJzpcclxuICAgICAgICAgIHJldHVybiBjb3VudCArIChBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLmZpbHRlcigoaXRlbSkgPT4gaXRlbT8uY2hlY2tlZCkubGVuZ3RoIDogMCk7XHJcbiAgICAgICAgY2FzZSAncmFkaW8tZ3JvdXAnOlxyXG4gICAgICAgICAgcmV0dXJuIGNvdW50ICsgKHZhbHVlPy52YWx1ZSA/IDEgOiAwKTtcclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgcmV0dXJuIGNvdW50ICsgKHZhbHVlID8gMSA6IDApO1xyXG4gICAgICB9XHJcbiAgICB9LCAwKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmVzZXRBbGxDb250cm9scygpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIXNlY3Rpb24uY29uZmlnPy5jb250cm9sKSByZXR1cm47XHJcblxyXG4gICAgICBpZiAoc2VjdGlvbi50eXBlID09PSAnY2hlY2tib3gtZ3JvdXAnKSB7XHJcbiAgICAgICAgY29uc3QgcmVzZXRPcHRpb25zID0gc2VjdGlvbi5jb25maWcub3B0aW9ucy5tYXAoKG9wdGlvbjogYW55KSA9PiAoeyAuLi5vcHRpb24sIGNoZWNrZWQ6IGZhbHNlIH0pKTtcclxuICAgICAgICBzZWN0aW9uLmNvbmZpZy5vcHRpb25zID0gcmVzZXRPcHRpb25zO1xyXG4gICAgICAgIHNlY3Rpb24uY29uZmlnLmNvbnRyb2wuc2V0VmFsdWUocmVzZXRPcHRpb25zLCB7IGVtaXRFdmVudDogZmFsc2UgfSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcuY29udHJvbC5yZXNldCgnJywgeyBlbWl0RXZlbnQ6IGZhbHNlIH0pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlQ2hlY2tib3hHcm91cChvcHRpb25zOiBhbnlbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWN0aW9uc1xyXG4gICAgICAuZmlsdGVyKChzZWN0aW9uKSA9PiBzZWN0aW9uLnR5cGUgPT09ICdjaGVja2JveC1ncm91cCcpXHJcbiAgICAgIC5mb3JFYWNoKChzZWN0aW9uKSA9PiB7XHJcbiAgICAgICAgc2VjdGlvbi5jb25maWcub3B0aW9ucyA9IFsuLi5vcHRpb25zXTtcclxuICAgICAgICBzZWN0aW9uLmNvbmZpZy5jb250cm9sLnNldFZhbHVlKFsuLi5vcHRpb25zXSk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBidWlsZEZpbHRlckRhdGEoKTogRmlsdGVyUGxhbm9zQ29udmVuaW9zQ2hhbmdlIHwgYW55IHtcclxuICAgIGNvbnN0IGZpbHRlckRhdGE6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSA9IHtcclxuICAgICAgdW5pZGFkZTogJycsXHJcbiAgICAgIGVzdGFkbzogJycsXHJcbiAgICAgIGNvYmVydHVyYTogW10sXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2VjdGlvbnMuZm9yRWFjaCgoc2VjdGlvbikgPT4ge1xyXG4gICAgICBpZiAoIXNlY3Rpb24uY29uZmlnPy5jb250cm9sKSByZXR1cm47XHJcblxyXG4gICAgICBjb25zdCB2YWx1ZSA9IHNlY3Rpb24uY29uZmlnLmNvbnRyb2wudmFsdWU7XHJcblxyXG4gICAgICBzd2l0Y2ggKHNlY3Rpb24udHlwZSkge1xyXG4gICAgICAgIGNhc2UgJ2lucHV0JzpcclxuICAgICAgICAgIGZpbHRlckRhdGEudW5pZGFkZSA9IHZhbHVlIHx8ICcnO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnc2VsZWN0JzpcclxuICAgICAgICAgIGZpbHRlckRhdGEuZXN0YWRvID0gdmFsdWUgfHwgJyc7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlICdjaGVja2JveC1ncm91cCc6XHJcbiAgICAgICAgICBmaWx0ZXJEYXRhLmNvYmVydHVyYSA9IEFycmF5LmlzQXJyYXkodmFsdWUpID8gdmFsdWUuZmlsdGVyKChpdGVtKSA9PiBpdGVtLmNoZWNrZWQpIDogW107XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIGZpbHRlckRhdGE7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlzRmlsdGVyRGF0YUVtcHR5KGZpbHRlckRhdGE6IEZpbHRlclBsYW5vc0NvbnZlbmlvc0NoYW5nZSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmlsdGVyRGF0YSkuZXZlcnkoKHZhbCkgPT4gdmFsID09PSBudWxsIHx8IHZhbCA9PT0gJycgfHwgKEFycmF5LmlzQXJyYXkodmFsKSAmJiB2YWwubGVuZ3RoID09PSAwKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXZcclxuICBjbGFzcz1cImZpbHRlci1nZW5lcmljXCJcclxuICBbbmdDbGFzc109XCJ7ICdjb250YWluZXItc3R5bGUnOiB3aXRoQ29udGFpbmVyU3R5bGUsICdjbGlja2FibGUtbW9iaWxlJzogc2hvdWxkSGFuZGxlTW9iaWxlQ2xpY2soKSB9XCJcclxuICBhcmlhLWxhYmVsPVwiRmlsdHJvc1wiXHJcbiAgKGNsaWNrKT1cImhhbmRsZU1vYmlsZUNsaWNrKClcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1oZWFkZXItY29udGFpbmVyXCIgW25nQ2xhc3NdPVwieyAnbm8tcGFkZGluZyc6ICFpc0ZpbHRlck9wZW4sIGhpZGRlbjogIWlzRmlsdGVyT3BlbiB9XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXRpdGxlLXdyYXBwZXJcIj5cclxuICAgICAgPGN1cmEtbGFiZWwgc2l6ZT1cIm1lZGl1bVwiIGxldmVsPVwiNFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIHdlaWdodD1cInJlZ3VsYXJcIiBtYXJnaW4tYmxvY2s9XCIwXCIgbGluZS1oZWlnaHQ9XCIxNnB4XCI+XHJcbiAgICAgICAge3sgdGV4dFRpdGxlIH19XHJcbiAgICAgIDwvY3VyYS1sYWJlbD5cclxuXHJcbiAgICAgIEBpZiAoc2hvd0JhZGdlKSB7XHJcbiAgICAgICAgPGN1cmEtYmFkZ2UtY291bnRlclxyXG4gICAgICAgICAgW3R5cGVdPVwiJ3NvbGlkJ1wiXHJcbiAgICAgICAgICBbY29sb3JdPVwiaGFzU2VsZWN0aW9uKCkgPyAncHJpbWFyeScgOiAnbmV1dHJhbCdcIlxyXG4gICAgICAgICAgW251bWJlcl09XCJzZWxlY3RlZEZpbHRlcnNDb3VudFwiXHJcbiAgICAgICAgICBjbGFzcz1cImZpbHRlci1iYWRnZVwiXHJcbiAgICAgICAgPjwvY3VyYS1iYWRnZS1jb3VudGVyPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICBAaWYgKHNob3dUb2dnbGVJY29uKSB7XHJcbiAgICAgIDxjdXJhLWJ1dHRvbi10cmFuc3BhcmVudCBzaXplPVwic21hbGxcIiBmb250LWNvbG9yPVwiZGFya1wiIGNvbG9yPVwicHJpbWFyeVwiIHRleHQtYWxpZ249XCJjZW50ZXJcIiAoY2xpY2spPVwidG9nZ2xlRmlsdGVyKClcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzRmlsdGVyT3BlblwiPlxyXG4gICAgICAgIDxjdXJhLWljb24gW25hbWVdPVwiaXNGaWx0ZXJPcGVuID8gJ3VwJyA6ICdkb3duJ1wiIHNpemU9XCIxNlwiIGNsYXNzPVwiZmlsdGVyLWljb25cIiBjb2xvcj1cInByaW1hcnktZGFya1wiPjwvY3VyYS1pY29uPlxyXG4gICAgICA8L2N1cmEtYnV0dG9uLXRyYW5zcGFyZW50PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG5cclxuICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNvbnRlbnRcIiBbY2xhc3MuaGlkZGVuXT1cIiFpc0ZpbHRlck9wZW4gfHwgKGZvcmNlQ29sbGFwc2VkICYmIGlzTW9iaWxlKCkpXCI+XHJcbiAgICBAZm9yIChzZWN0aW9uIG9mIHNlY3Rpb25zOyB0cmFjayBzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgQGlmIChzZWN0aW9uLnZpc2libGUgIT09IGZhbHNlKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1zZWN0aW9uXCI+XHJcbiAgICAgICAgICBAc3dpdGNoIChzZWN0aW9uLnR5cGUpIHtcclxuICAgICAgICAgICAgQGNhc2UgKCdpbnB1dCcpIHtcclxuICAgICAgICAgICAgICA8Y3VyYS1pbnB1dC10ZXh0XHJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VjdGlvbi5jb25maWcucGxhY2Vob2xkZXIgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW25hbWVdPVwic2VjdGlvbi5jb25maWcubmFtZSB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbaWNvbk5hbWVdPVwic2VjdGlvbi5jb25maWcuaWNvbk5hbWUgfHwgJydcIlxyXG4gICAgICAgICAgICAgICAgW2F0dHIudmFsdWVdPVwic2VjdGlvbi5jb25maWcuY29udHJvbC52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAodmFsdWVDaGFuZ2UpPVwiaGFuZGxlSW5wdXRDaGFuZ2UoJGV2ZW50LCBzZWN0aW9uLmNvbmZpZy5jb250cm9sKVwiXHJcbiAgICAgICAgICAgICAgPjwvY3VyYS1pbnB1dC10ZXh0PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBjYXNlICgnc2VsZWN0Jykge1xyXG4gICAgICAgICAgICAgIDxjdXJhLXNlbGVjdFxyXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cInNlY3Rpb24uY29uZmlnLmxhYmVsIHx8ICcnXCJcclxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJzZWN0aW9uLmNvbmZpZy5wbGFjZWhvbGRlciB8fCAnJ1wiXHJcbiAgICAgICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJzZWN0aW9uLmNvbmZpZy5jb250cm9sLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgIChzZWxlY3RlZCk9XCJoYW5kbGVTZWxlY3RDaGFuZ2UoJGV2ZW50LCBzZWN0aW9uLmNvbmZpZy5jb250cm9sKVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNvbmZpZy5pbmNsdWRlRGVmYXVsdE9wdGlvbikge1xyXG4gICAgICAgICAgICAgICAgICA8Y3VyYS1zZWxlY3Qtb3B0aW9uIFthdHRyLnZhbHVlXT1cIicnXCI+e3sgc2VjdGlvbi5jb25maWcuZGVmYXVsdE9wdGlvblRleHQgfHwgJ0Zhw6dhIGEgc3VhIFNlbGXDp8OjbycgfX08L2N1cmEtc2VsZWN0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zIHx8IFtdOyB0cmFjayBvcHRpb24/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLXNlbGVjdC1vcHRpb24gW2F0dHIudmFsdWVdPVwib3B0aW9uPy52YWx1ZVwiPnt7IG9wdGlvbj8ubGFiZWwgfX08L2N1cmEtc2VsZWN0LW9wdGlvbj5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA8L2N1cmEtc2VsZWN0PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBjYXNlICgnY2hlY2tib3gtZ3JvdXAnKSB7XHJcbiAgICAgICAgICAgICAgQGlmIChzZWN0aW9uLmNvbmZpZy50aXRsZSkge1xyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1oZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGN1cmEtaWNvbiBuYW1lPVwiZmlsdGVyXCIgc2l6ZT1cIjIwXCIgY29sb3I9XCJpbmZvLWRhcmtcIj48L2N1cmEtaWNvbj5cclxuICAgICAgICAgICAgICAgICAgPGN1cmEtaGVhZGluZyBzaXplPVwieHNtYWxsXCIgbGV2ZWw9XCI1XCIgd2VpZ2h0PVwiYm9sZFwiIGNvbG9yPVwibmV1dHJhbC1ibGFja1wiIG1hcmdpbi1ibG9jaz1cIjBcIiBsaW5lLWhlaWdodD1cIjE2cHhcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLmNvbmZpZy50aXRsZSB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2N1cmEtaGVhZGluZz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICBAaWYgKHNlY3Rpb24uY29uZmlnLnN1YnRpdGxlKSB7XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLXN1YnRpdGxlXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLWhlYWRpbmcgc2l6ZT1cInhzbWFsbFwiIHdlaWdodD1cImJvbGRcIiBjb2xvcj1cIm5ldXRyYWwtYmxhY2tcIiBtYXJnaW4tYmxvY2s9XCIwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3sgc2VjdGlvbi5jb25maWcuc3VidGl0bGUgfX1cclxuICAgICAgICAgICAgICAgICAgPC9jdXJhLWhlYWRpbmc+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgIEBpZiAoc2VjdGlvbi5jb25maWcuZGVzY3JpcHRpb24pIHtcclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmaWx0ZXItZGVzY3JpcHRpb25cIj5cclxuICAgICAgICAgICAgICAgICAgPGN1cmEtcGFyYWdyYXBoIHNpemU9XCJ4c21hbGxcIiBjb2xvcj1cIm5ldXRyYWwtZGFya1wiIG1hcmdpbi1ibG9jaz1cIjBcIj5cclxuICAgICAgICAgICAgICAgICAgICB7eyBzZWN0aW9uLmNvbmZpZy5kZXNjcmlwdGlvbiB9fVxyXG4gICAgICAgICAgICAgICAgICA8L2N1cmEtcGFyYWdyYXBoPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsdGVyLWNoZWNrYm94ZXNcIiBbY2xhc3Muc2Nyb2xsYWJsZV09XCJoYXNTY3JvbGwoc2VjdGlvbilcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zIHx8IFtdOyB0cmFjayBvcHRpb24/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLWNoZWNrYm94XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgICAgICAgICAgICBzaXplPVwic21hbGxcIlxyXG4gICAgICAgICAgICAgICAgICAgIGljb24tY29sb3I9XCJsaWdodFwiXHJcbiAgICAgICAgICAgICAgICAgICAgW2F0dHIubmFtZV09XCJvcHRpb24/LmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5sYWJlbF09XCJvcHRpb24/LmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci52YWx1ZV09XCJvcHRpb24/LnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbYXR0ci5jaGVja2VkXT1cIm9wdGlvbj8uY2hlY2tlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uY2hhbmdlKT1cImhhbmRsZUNoZWNrYm94Q2hhbmdlKCRldmVudCwgc2VjdGlvbi5jb25maWcub3B0aW9ucylcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jdXJhLWNoZWNrYm94PlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBjYXNlICgncmFkaW8tZ3JvdXAnKSB7XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZpbHRlci1yYWRpb3NcIiBbY2xhc3Muc2Nyb2xsYWJsZV09XCJoYXNTY3JvbGwoc2VjdGlvbilcIj5cclxuICAgICAgICAgICAgICAgIEBmb3IgKG9wdGlvbiBvZiBzZWN0aW9uLmNvbmZpZy5vcHRpb25zIHx8IFtdOyB0cmFjayBvcHRpb24/LnZhbHVlKSB7XHJcbiAgICAgICAgICAgICAgICAgIDxjdXJhLXJhZGlvXHJcbiAgICAgICAgICAgICAgICAgICAgW25hbWVdPVwic2VjdGlvbi5jb25maWcubmFtZSB8fCAncmFkaW8tZ3JvdXAnXCJcclxuICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwib3B0aW9uLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwib3B0aW9uLnZhbHVlXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJnZXRSYWRpb0dyb3VwVmFsdWUoc2VjdGlvbi5jb25maWcuY29udHJvbCkgPT09IG9wdGlvbi52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgKG9uY2hhbmdlKT1cImhhbmRsZVJhZGlvQ2hhbmdlKCRldmVudCwgc2VjdGlvbi5jb25maWcuY29udHJvbClcIlxyXG4gICAgICAgICAgICAgICAgICA+PC9jdXJhLXJhZGlvPlxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIEBjYXNlICgnY3VzdG9tJykge1xyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzZWN0aW9uLmNvbmZpZy50ZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgIH1cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cImZpbHRlci1hY3Rpb25zXCIgW2NsYXNzLmhpZGRlbl09XCIhaXNGaWx0ZXJPcGVuIHx8IChmb3JjZUNvbGxhcHNlZCAmJiBpc01vYmlsZSgpKVwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIm1haW4tYWN0aW9uc1wiPlxyXG4gICAgICBAaWYgKHNob3dDbGVhckJ1dHRvbikge1xyXG4gICAgICAgIDxjdXJhLWJ1dHRvbi10cmFuc3BhcmVudFxyXG4gICAgICAgICAgc2l6ZT1cInNtYWxsXCJcclxuICAgICAgICAgIGZvbnQtY29sb3I9XCJkYXJrXCJcclxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXHJcbiAgICAgICAgICB0ZXh0LWFsaWduPVwiY2VudGVyXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnV0dG9uc1dpdGhvdXRTZWxlY3Rpb24gJiYgIWhhc1NlbGVjdGlvbigpXCJcclxuICAgICAgICAgIChjbGljayk9XCJyZXNldCgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3Bhbj5MaW1wYXIgdG9kb3Mgb3MgZmlsdHJvczwvc3Bhbj5cclxuICAgICAgICA8L2N1cmEtYnV0dG9uLXRyYW5zcGFyZW50PlxyXG4gICAgICB9XHJcblxyXG4gICAgICBAaWYgKHNob3dBcHBseUJ1dHRvbikge1xyXG4gICAgICAgIDxjdXJhLWJ1dHRvblxyXG4gICAgICAgICAgc2l6ZT1cIm1lZGl1bVwiXHJcbiAgICAgICAgICBmb250LWNvbG9yPVwibGlnaHRcIlxyXG4gICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcclxuICAgICAgICAgIHRleHQtYWxpZ249XCJjZW50ZXJcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cImZpbHRlcigpXCJcclxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlQnV0dG9uc1dpdGhvdXRTZWxlY3Rpb24gJiYgIWhhc1NlbGVjdGlvbigpXCJcclxuICAgICAgICAgIGNsYXNzPVwiZmlsdGVyLWJ1dHRvblwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgRmlsdHJhclxyXG4gICAgICAgIDwvY3VyYS1idXR0b24+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIEBpZiAoc2hvd0Nsb3NlQnV0dG9uKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaXZpZGVyLXN0cm9uZ1wiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtYWN0aW9uLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2xvc2UtYWN0aW9uXCIgKGNsaWNrKT1cImNsb3NlKClcIj5cclxuICAgICAgICAgIDxjdXJhLWljb24gbmFtZT1cImNsb3NlXCIgY29sb3I9XCJlcnJvci1kYXJrXCIgc2l6ZT1cInNtYWxsXCI+PC9jdXJhLWljb24+XHJcbiAgICAgICAgICA8Y3VyYS1idXR0b24tdHJhbnNwYXJlbnQgc2l6ZT1cIlwiIHR5cGU9XCJidXR0b25cIiBjb2xvcj1cImVycm9yXCIgdGFyZ2V0PVwiX3NlbGZcIj4gRmVjaGFyIDwvY3VyYS1idXR0b24tdHJhbnNwYXJlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19