simpo-component-library 2.2.21 → 2.2.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/elements/index.mjs +5 -6
- package/esm2022/lib/elements/payment-confirmation/payment-confirmation.component.mjs +45 -14
- package/esm2022/lib/elements/portfolio/portfolio.component.mjs +27 -45
- package/esm2022/lib/elements/properties/properties.component.mjs +23 -58
- package/esm2022/lib/elements/property-view/property-view.component.mjs +46 -9
- package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +3 -3
- package/esm2022/lib/sections/profile-section/profile-section.component.mjs +9 -32
- package/esm2022/lib/sections/property-component/property-component.component.mjs +15 -9
- package/esm2022/lib/sections/property-detail/property-detail.component.mjs +31 -8
- package/esm2022/lib/sections/property-list/property-list.component.mjs +10 -91
- package/esm2022/lib/sections/verify-property-payment/verify-property-payment.component.mjs +55 -0
- package/esm2022/lib/services/rest.service.mjs +43 -5
- package/esm2022/lib/styles/index.mjs +2 -1
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/simpo-component-library.mjs +317 -304
- package/fesm2022/simpo-component-library.mjs.map +1 -1
- package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
- package/lib/elements/index.d.ts +2 -3
- package/lib/elements/payment-confirmation/payment-confirmation.component.d.ts +6 -1
- package/lib/elements/portfolio/portfolio.component.d.ts +10 -12
- package/lib/elements/properties/properties.component.d.ts +7 -4
- package/lib/elements/property-view/property-view.component.d.ts +9 -2
- package/lib/sections/profile-section/profile-section.component.d.ts +3 -10
- package/lib/sections/property-component/property-component.component.d.ts +1 -0
- package/lib/sections/property-detail/property-detail.component.d.ts +6 -1
- package/lib/sections/property-list/property-list.component.d.ts +2 -1
- package/lib/sections/verify-property-payment/verify-property-payment.component.d.ts +16 -0
- package/lib/services/rest.service.d.ts +10 -2
- package/lib/styles/index.d.ts +2 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/simpo-component-library-2.2.32.tgz +0 -0
- package/simpo-component-library-2.2.21.tgz +0 -0
@@ -15,103 +15,20 @@ import { ButtonDirectiveDirective } from '../../directive/button-directive.direc
|
|
15
15
|
import { MatIconModule } from '@angular/material/icon';
|
16
16
|
import { ContentTitleDirective } from '../../directive/content-title-spacing.directive';
|
17
17
|
import { SpacingHorizontalDirective } from '../../directive/spacing-horizontal.directive';
|
18
|
+
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
|
18
19
|
import * as i0 from "@angular/core";
|
19
20
|
import * as i1 from "../../services/rest.service";
|
20
21
|
import * as i2 from "@angular/router";
|
21
22
|
import * as i3 from "@angular/common";
|
22
23
|
import * as i4 from "../../components/hover-elements/hover-elements.component";
|
23
24
|
import * as i5 from "../../components/delete-hover-element/delete-hover-element.component";
|
25
|
+
import * as i6 from "ngx-skeleton-loader";
|
24
26
|
export class PropertyListComponent extends BaseSection {
|
25
27
|
constructor(restService, router) {
|
26
28
|
super();
|
27
29
|
this.restService = restService;
|
28
30
|
this.router = router;
|
29
|
-
this.
|
30
|
-
{
|
31
|
-
propertyId: 1,
|
32
|
-
name: 'ananta one',
|
33
|
-
minimumInvestment: 5000,
|
34
|
-
propertyType: 'Rental',
|
35
|
-
location: 'Hyderabad, Telangana',
|
36
|
-
imgUrl: ['https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/607923c1737627077005image%20%284%29.png'],
|
37
|
-
description: "Ananta one Apartments is a premium residential development located in the bustling heart of hyderabad. It offers modern amenities and a luxurious lifestyle designed to meet the needs of urban families and professionals.",
|
38
|
-
year: 2023,
|
39
|
-
totalAreaSqFeet: 1200,
|
40
|
-
benefits: [
|
41
|
-
{
|
42
|
-
title: 'Reduce Risk',
|
43
|
-
description: ' Zero Risk with High Returns',
|
44
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
45
|
-
},
|
46
|
-
{
|
47
|
-
title: 'Guaranteed growth',
|
48
|
-
description: ' Zero Risk with High Returns',
|
49
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
50
|
-
},
|
51
|
-
{
|
52
|
-
title: 'Free holiday stay',
|
53
|
-
description: ' Zero Risk with High Returns',
|
54
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
55
|
-
}
|
56
|
-
]
|
57
|
-
},
|
58
|
-
{
|
59
|
-
propertyId: 2,
|
60
|
-
name: 'ananta hills',
|
61
|
-
minimumInvestment: 5000,
|
62
|
-
propertyType: 'Rental',
|
63
|
-
location: 'Hyderabad, Telangana',
|
64
|
-
imgUrl: ['https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/607923c1737627077005image%20%284%29.png'],
|
65
|
-
description: "Ananta one Apartments is a premium residential development located in the bustling heart of hyderabad. It offers modern amenities and a luxurious lifestyle designed to meet the needs of urban families and professionals.",
|
66
|
-
year: 2023,
|
67
|
-
totalAreaSqFeet: 1200,
|
68
|
-
benefits: [
|
69
|
-
{
|
70
|
-
title: 'Reduce Risk',
|
71
|
-
description: ' Zero Risk with High Returns',
|
72
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
73
|
-
},
|
74
|
-
{
|
75
|
-
title: 'Guaranteed growth',
|
76
|
-
description: ' Zero Risk with High Returns',
|
77
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
78
|
-
},
|
79
|
-
{
|
80
|
-
title: 'Free holiday stay',
|
81
|
-
description: ' Zero Risk with High Returns',
|
82
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
83
|
-
}
|
84
|
-
]
|
85
|
-
},
|
86
|
-
{
|
87
|
-
propertyId: 2,
|
88
|
-
name: 'ananta hills',
|
89
|
-
minimumInvestment: 5000,
|
90
|
-
propertyType: 'Rental',
|
91
|
-
location: 'Hyderabad, Telangana',
|
92
|
-
imgUrl: ['https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/607923c1737627077005image%20%284%29.png'],
|
93
|
-
description: "Ananta one Apartments is a premium residential development located in the bustling heart of hyderabad. It offers modern amenities and a luxurious lifestyle designed to meet the needs of urban families and professionals.",
|
94
|
-
year: 2023,
|
95
|
-
totalAreaSqFeet: 1200,
|
96
|
-
benefits: [
|
97
|
-
{
|
98
|
-
title: 'Reduce Risk',
|
99
|
-
description: ' Zero Risk with High Returns',
|
100
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
101
|
-
},
|
102
|
-
{
|
103
|
-
title: 'Guaranteed growth',
|
104
|
-
description: ' Zero Risk with High Returns',
|
105
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
106
|
-
},
|
107
|
-
{
|
108
|
-
title: 'Free holiday stay',
|
109
|
-
description: ' Zero Risk with High Returns',
|
110
|
-
img: 'https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/181840c1739438986146surface1.png'
|
111
|
-
}
|
112
|
-
]
|
113
|
-
}
|
114
|
-
];
|
31
|
+
this.skelLoader = false;
|
115
32
|
}
|
116
33
|
ngOnInit() {
|
117
34
|
this.styles = this.data?.styles;
|
@@ -119,9 +36,10 @@ export class PropertyListComponent extends BaseSection {
|
|
119
36
|
this.getPropertyList();
|
120
37
|
}
|
121
38
|
getPropertyList() {
|
39
|
+
this.skelLoader = true;
|
122
40
|
this.restService.getPropertyList().subscribe((res) => {
|
123
41
|
this.propertyList = res.content;
|
124
|
-
|
42
|
+
this.skelLoader = false;
|
125
43
|
});
|
126
44
|
}
|
127
45
|
get stylesLayout() {
|
@@ -134,7 +52,7 @@ export class PropertyListComponent extends BaseSection {
|
|
134
52
|
this.router.navigate([`details`], { queryParams: { id: propertyId } });
|
135
53
|
}
|
136
54
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyListComponent, deps: [{ token: i1.RestService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
137
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyListComponent, isStandalone: true, selector: "simpo-property-list", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass" }, usesInheritance: true, ngImport: i0, template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\r\n <div [id]=\"data?.id\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [spacingHorizontal]=\"stylesLayout\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\">\r\n <div [simpoContentTitleSpace]=\"headingSpace\" [id]=\"data?.id\" class=\"content-side\">\r\n <div *ngFor=\"let input of content?.inputText\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"heading-large\"\r\n [innerHTML]=\"input.value | sanitizeHtml\"></div>\r\n </div>\r\n </div>\r\n <div class=\"row\">\r\n <div class=\"col-12 col-md-6\" *ngFor=\"let property of propertyList\">\r\n <ng-container *ngTemplateOutlet=\"propertyCards; context: {data: property}\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>\r\n\r\n\r\n<ng-template #propertyCards let-property=\"data\">\r\n <div class=\"card\" (click)=\"redirectToPropertyDetails(property.propertyId)\">\r\n <img [src]=\"property
|
55
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: PropertyListComponent, isStandalone: true, selector: "simpo-property-list", inputs: { data: "data", index: "index", edit: "edit", delete: "delete", customClass: "customClass" }, usesInheritance: true, ngImport: i0, template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\r\n <div [id]=\"data?.id\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [spacingHorizontal]=\"stylesLayout\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\">\r\n <div [simpoContentTitleSpace]=\"headingSpace\" [id]=\"data?.id\" class=\"content-side\">\r\n <div *ngFor=\"let input of content?.inputText\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"heading-large\"\r\n [innerHTML]=\"input.value | sanitizeHtml\"></div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!skelLoader\">\r\n <div class=\"col-12 col-md-6\" *ngFor=\"let property of propertyList\">\r\n <ng-container *ngTemplateOutlet=\"propertyCards; context: {data: property}\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"skelLoader\">\r\n <div class=\"col-md-4\" *ngFor=\"let skel of [1,2,3]\">\r\n <ng-container *ngTemplateOutlet=\"skeleton\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>\r\n\r\n\r\n<ng-template #propertyCards let-property=\"data\">\r\n <div class=\"card\" (click)=\"redirectToPropertyDetails(property[0].propertyId)\">\r\n <img [src]=\"property[0]?.imgUrl[0]\" alt=\"\">\r\n <div class=\"p-15\">\r\n <div class=\"property-name\">\r\n <div class=\"left-side\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/950344c1738051599772icon2.png\" alt=\"\">\r\n <div class=\"text-left\">\r\n <div class=\"property-name-text\">{{property[0].name}}</div>\r\n <div class=\"location\">{{property[0].location}}</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"right-side\" *ngIf=\"property.underConstruction\">\r\n <mat-icon>build</mat-icon>\r\n <div>Under Construction</div>\r\n </div> -->\r\n </div>\r\n <div class=\"stats-area\">\r\n <div class=\"single-stat\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/600863c1738056517087return.png\" alt=\"\">\r\n <div class=\"stat-number\">{{property[1]?.annualReturn ?? '0'}} <span>Annual Returns</span></div>\r\n </div>\r\n <div class=\"single-stat justify-center\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/600863c1738056517087return.png\" alt=\"\">\r\n <div class=\"stat-number\">{{property[1]?.irr ?? '0'}} <span>IRR</span></div>\r\n </div>\r\n </div>\r\n <div class=\"single-stat mt-15 w-100\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/600863c1738056517087return.png\" alt=\"\">\r\n <div class=\"stat-number\"> {{property[1]?.guaranteedAnnualCapitalGrowth ?? '0'}}<span>Guaranteed annual growth</span></div>\r\n </div>\r\n <hr>\r\n <div class=\"bottom-area\">\r\n <div class=\"min-investment\">\r\n <p>{{property[0]?.minimumInvestment ?? '0'}}</p>\r\n <div>Min.Investment (Sq.ft)</div>\r\n </div>\r\n <button class=\"button\" simpoButtonDirective [id]=\"(data?.id || '')+(data?.action?.buttons?.[0]?.id || '')\"\r\n [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\" [color]=\"styles?.background?.accentColor\">Know\r\n More</button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #skeleton>\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n</ng-template>\r\n", styles: [".hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.card{padding:5px;border:2px solid rgba(0,0,0,.1)}.card img{height:37vh}.property-name{display:flex;align-items:center;justify-content:space-between}.p-15{padding:15px}.left-side{align-items:center;display:flex;gap:15px}.left-side img{height:65px;width:60px}.right-side{display:flex;gap:5px;color:#19a6c6;align-items:center}.stats-area{display:flex;margin-top:30px;justify-content:space-between}.single-stat{width:50%;display:flex;align-items:center;gap:20px}.single-stat img{height:20px;width:16px}.mt-15{margin-top:15px}hr{border-top:1px solid rgba(0,0,0,.7)}.stat-number{font-size:25px;color:#000000b3;font-weight:900;display:flex;align-items:center;gap:13px}.stat-number span{color:#000000b3;font-size:12px}.bottom-area{display:flex;justify-content:space-between;align-items:center}.min-investment{background:#f8a9381a;text-align:center;padding:.5rem 2rem;border-radius:5px}.min-investment p{margin-bottom:0;font-size:22px;font-weight:900;text-align:left}.min-investment div{color:#0006;font-size:14px;font-weight:600}.button{font-size:14px!important;padding:8px 20px;display:inline-flex;align-items:center;justify-content:center;width:max-content!important;font-weight:600}.property-name-text{font-size:22px;font-weight:700}.location{font-size:11px;color:gray}.justify-center{justify-content:center}.row{row-gap:20px}.text-left{text-align:left}.second-section-wrapper{width:100%;height:auto;flex:1}.wrapper{width:100%;flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i4.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i5.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "component", type: i6.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "pipe", type: SanitizeHtmlPipe, name: "sanitizeHtml" }, { kind: "directive", type: ContentFitDirective, selector: "[simpoLayout]", inputs: ["simpoLayout"] }, { kind: "directive", type: OverlayDirective, selector: "[simpoOverlay]", inputs: ["simpoOverlay"] }, { kind: "directive", type: ButtonDirectiveDirective, selector: "[simpoButtonDirective]", inputs: ["buttonStyle", "color", "scrollValue"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: ContentTitleDirective, selector: "[simpoContentTitleSpace]", inputs: ["simpoContentTitleSpace"] }, { kind: "directive", type: SpacingHorizontalDirective, selector: "[spacingHorizontal]", inputs: ["spacingHorizontal", "isHeader"] }, { kind: "ngmodule", type: NgxSkeletonLoaderModule }] }); }
|
138
56
|
}
|
139
57
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: PropertyListComponent, decorators: [{
|
140
58
|
type: Component,
|
@@ -153,8 +71,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
153
71
|
ButtonDirectiveDirective,
|
154
72
|
MatIconModule,
|
155
73
|
ContentTitleDirective,
|
156
|
-
SpacingHorizontalDirective
|
157
|
-
|
74
|
+
SpacingHorizontalDirective,
|
75
|
+
NgxSkeletonLoaderModule
|
76
|
+
], template: "<section class=\"total-container\" simpoHover (hovering)=\"showEditTabs($event)\" [id]=\"data?.id\">\r\n <div [id]=\"data?.id\">\r\n <div [simpoBackground]=\"styles?.background\" [id]=\"data?.id\">\r\n <div [id]=\"data?.id\" [simpoOverlay]=\"styles?.background\" [spacingHorizontal]=\"stylesLayout\" [simpoAnimation]=\"styles?.animation\"\r\n [simpoLayout]=\"styles?.layout\">\r\n <div [simpoContentTitleSpace]=\"headingSpace\" [id]=\"data?.id\" class=\"content-side\">\r\n <div *ngFor=\"let input of content?.inputText\">\r\n <div *ngFor=\"let text of data?.content?.inputText\" class=\"heading-large\"\r\n [innerHTML]=\"input.value | sanitizeHtml\"></div>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"!skelLoader\">\r\n <div class=\"col-12 col-md-6\" *ngFor=\"let property of propertyList\">\r\n <ng-container *ngTemplateOutlet=\"propertyCards; context: {data: property}\"></ng-container>\r\n </div>\r\n </div>\r\n <div class=\"row\" *ngIf=\"skelLoader\">\r\n <div class=\"col-md-4\" *ngFor=\"let skel of [1,2,3]\">\r\n <ng-container *ngTemplateOutlet=\"skeleton\"></ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\r\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\r\n </div>\r\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\r\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\r\n </div>\r\n\r\n</section>\r\n\r\n\r\n<ng-template #propertyCards let-property=\"data\">\r\n <div class=\"card\" (click)=\"redirectToPropertyDetails(property[0].propertyId)\">\r\n <img [src]=\"property[0]?.imgUrl[0]\" alt=\"\">\r\n <div class=\"p-15\">\r\n <div class=\"property-name\">\r\n <div class=\"left-side\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/950344c1738051599772icon2.png\" alt=\"\">\r\n <div class=\"text-left\">\r\n <div class=\"property-name-text\">{{property[0].name}}</div>\r\n <div class=\"location\">{{property[0].location}}</div>\r\n </div>\r\n </div>\r\n <!-- <div class=\"right-side\" *ngIf=\"property.underConstruction\">\r\n <mat-icon>build</mat-icon>\r\n <div>Under Construction</div>\r\n </div> -->\r\n </div>\r\n <div class=\"stats-area\">\r\n <div class=\"single-stat\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/600863c1738056517087return.png\" alt=\"\">\r\n <div class=\"stat-number\">{{property[1]?.annualReturn ?? '0'}} <span>Annual Returns</span></div>\r\n </div>\r\n <div class=\"single-stat justify-center\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/600863c1738056517087return.png\" alt=\"\">\r\n <div class=\"stat-number\">{{property[1]?.irr ?? '0'}} <span>IRR</span></div>\r\n </div>\r\n </div>\r\n <div class=\"single-stat mt-15 w-100\">\r\n <img src=\"https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/600863c1738056517087return.png\" alt=\"\">\r\n <div class=\"stat-number\"> {{property[1]?.guaranteedAnnualCapitalGrowth ?? '0'}}<span>Guaranteed annual growth</span></div>\r\n </div>\r\n <hr>\r\n <div class=\"bottom-area\">\r\n <div class=\"min-investment\">\r\n <p>{{property[0]?.minimumInvestment ?? '0'}}</p>\r\n <div>Min.Investment (Sq.ft)</div>\r\n </div>\r\n <button class=\"button\" simpoButtonDirective [id]=\"(data?.id || '')+(data?.action?.buttons?.[0]?.id || '')\"\r\n [buttonStyle]=\"data?.action?.buttons?.[0]?.styles\" [color]=\"styles?.background?.accentColor\">Know\r\n More</button>\r\n </div>\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #skeleton>\r\n <ngx-skeleton-loader count=\"1\" appearance=\"circle\" [theme]=\"{\r\n width: '100%',\r\n height: '40vh',\r\n 'border-radius': '10px',\r\n 'position': 'relative',\r\n 'right': '5px'\r\n }\">\r\n </ngx-skeleton-loader>\r\n <div class=\"second-section-wrapper\">\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '100%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '90%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n <div class=\"wrapper\">\r\n <ngx-skeleton-loader [theme]=\"{\r\n width: '60%',\r\n 'border-radius': '0',\r\n height: '15px',\r\n 'margin-bottom': '10px',\r\n 'display' : 'flex'\r\n }\"></ngx-skeleton-loader>\r\n </div>\r\n </div>\r\n\r\n</ng-template>\r\n", styles: [".hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.total-container{position:relative;height:auto}.card{padding:5px;border:2px solid rgba(0,0,0,.1)}.card img{height:37vh}.property-name{display:flex;align-items:center;justify-content:space-between}.p-15{padding:15px}.left-side{align-items:center;display:flex;gap:15px}.left-side img{height:65px;width:60px}.right-side{display:flex;gap:5px;color:#19a6c6;align-items:center}.stats-area{display:flex;margin-top:30px;justify-content:space-between}.single-stat{width:50%;display:flex;align-items:center;gap:20px}.single-stat img{height:20px;width:16px}.mt-15{margin-top:15px}hr{border-top:1px solid rgba(0,0,0,.7)}.stat-number{font-size:25px;color:#000000b3;font-weight:900;display:flex;align-items:center;gap:13px}.stat-number span{color:#000000b3;font-size:12px}.bottom-area{display:flex;justify-content:space-between;align-items:center}.min-investment{background:#f8a9381a;text-align:center;padding:.5rem 2rem;border-radius:5px}.min-investment p{margin-bottom:0;font-size:22px;font-weight:900;text-align:left}.min-investment div{color:#0006;font-size:14px;font-weight:600}.button{font-size:14px!important;padding:8px 20px;display:inline-flex;align-items:center;justify-content:center;width:max-content!important;font-weight:600}.property-name-text{font-size:22px;font-weight:700}.location{font-size:11px;color:gray}.justify-center{justify-content:center}.row{row-gap:20px}.text-left{text-align:left}.second-section-wrapper{width:100%;height:auto;flex:1}.wrapper{width:100%;flex:1}\n"] }]
|
158
77
|
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.Router }], propDecorators: { data: [{
|
159
78
|
type: Input
|
160
79
|
}], index: [{
|
@@ -166,4 +85,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
|
|
166
85
|
}], customClass: [{
|
167
86
|
type: Input
|
168
87
|
}] } });
|
169
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWxpc3QvcHJvcGVydHktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWxpc3QvcHJvcGVydHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENB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QixxQkFBcUI7a0JBdkJqQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLDBCQUEwQjtxQkFDM0I7cUdBTVEsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUHJvcGVydHlMaXN0Q29udGVudE1vZGFsLCBQcm9wZXJ0eUxpc3RNb2RhbCwgUHJvcGVydHlMaXN0U3R5bGVzTW9kYWwgfSBmcm9tICcuL3Byb3BlcnR5LWxpc3QubW9kYWwnO1xyXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgU2ltcG9Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2luZGV4JztcclxuaW1wb3J0IHsgQW5pbWF0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2FuaW1hdGlvbi1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSdcclxuaW1wb3J0IHsgQmFja2dyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9iYWNrZ3JvdW5kLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IENvbG9yRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbG9yLmRpcmVjdGl2ZSdcclxuaW1wb3J0IHsgTGF5T3V0TW9kZWwgfSBmcm9tICcuLi8uLi9zdHlsZXMvc3R5bGUubW9kZWwnO1xyXG5pbXBvcnQgeyBTYW5pdGl6ZUh0bWxQaXBlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvc2FuaXRpemVIdG1sJztcclxuaW1wb3J0IHsgQ29udGVudEZpdERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LWZpdC1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL292ZXJsYXktZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9zcGFjaW5nLWFyb3VuZC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgQmFzZVNlY3Rpb24gZnJvbSAnLi4vQmFzZVNlY3Rpb24nO1xyXG5pbXBvcnQgeyBCdXR0b25EaXJlY3RpdmVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYnV0dG9uLWRpcmVjdGl2ZS5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XHJcbmltcG9ydCB7IFNQQUNJTkcgfSBmcm9tICcuLi8uLi9zdHlsZXMvaW5kZXgnO1xyXG5pbXBvcnQgeyBDb250ZW50VGl0bGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29udGVudC10aXRsZS1zcGFjaW5nLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXByb3BlcnR5LWxpc3QnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcclxuICAgIEFuaW1hdGlvbkRpcmVjdGl2ZSxcclxuICAgIEJhY2tncm91bmREaXJlY3RpdmUsXHJcbiAgICBIb3ZlckRpcmVjdGl2ZSxcclxuICAgIENvbG9yRGlyZWN0aXZlLFxyXG4gICAgU2FuaXRpemVIdG1sUGlwZSxcclxuICAgIENvbnRlbnRGaXREaXJlY3RpdmUsXHJcbiAgICBPdmVybGF5RGlyZWN0aXZlLFxyXG4gICAgU3BhY2luZ0Fyb3VuZERpcmVjdGl2ZSxcclxuICAgIEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSxcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBDb250ZW50VGl0bGVEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nSG9yaXpvbnRhbERpcmVjdGl2ZVxyXG4gIF0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb3BlcnR5LWxpc3QuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9wcm9wZXJ0eS1saXN0LmNvbXBvbmVudC5jc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQcm9wZXJ0eUxpc3RDb21wb25lbnQgZXh0ZW5kcyBCYXNlU2VjdGlvbiBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE/OiBQcm9wZXJ0eUxpc3RNb2RhbDtcclxuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcclxuICBASW5wdXQoKSBlZGl0PzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBkZWxldGU/OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNsYXNzPzogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlc3RTZXJ2aWNlOiBSZXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBzdHlsZXM/OiBQcm9wZXJ0eUxpc3RTdHlsZXNNb2RhbDtcclxuICBjb250ZW50PzogUHJvcGVydHlMaXN0Q29udGVudE1vZGFsO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc3R5bGVzID0gdGhpcy5kYXRhPy5zdHlsZXM7XHJcbiAgICB0aGlzLmNvbnRlbnQgPSB0aGlzLmRhdGE/LmNvbnRlbnQ7XHJcbiAgICB0aGlzLmdldFByb3BlcnR5TGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UHJvcGVydHlMaXN0KCkge1xyXG4gICAgdGhpcy5yZXN0U2VydmljZS5nZXRQcm9wZXJ0eUxpc3QoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMucHJvcGVydHlMaXN0ID0gcmVzLmNvbnRlbnRcclxuICAgICAgY29uc29sZS5sb2cocmVzKVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByb3BlcnR5TGlzdDogYW55W10gPSBbXHJcbiAgICB7XHJcbiAgICAgIHByb3BlcnR5SWQ6IDEsXHJcbiAgICAgIG5hbWU6ICdhbmFudGEgb25lJyxcclxuICAgICAgbWluaW11bUludmVzdG1lbnQ6IDUwMDAsXHJcbiAgICAgIHByb3BlcnR5VHlwZTogJ1JlbnRhbCcsXHJcbiAgICAgIGxvY2F0aW9uOiAnSHlkZXJhYmFkLCBUZWxhbmdhbmEnLFxyXG4gICAgICBpbWdVcmw6IFsnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDc5MjNjMTczNzYyNzA3NzAwNWltYWdlJTIwJTI4NCUyOS5wbmcnXSxcclxuICAgICAgZGVzY3JpcHRpb246IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICAgIHllYXI6IDIwMjMsXHJcbiAgICAgIHRvdGFsQXJlYVNxRmVldDogMTIwMCxcclxuICAgICAgYmVuZWZpdHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ1JlZHVjZSBSaXNrJyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnR3VhcmFudGVlZCBncm93dGgnLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdGcmVlIGhvbGlkYXkgc3RheScsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm9wZXJ0eUlkOiAyLFxyXG4gICAgICBuYW1lOiAnYW5hbnRhIGhpbGxzJyxcclxuICAgICAgbWluaW11bUludmVzdG1lbnQ6IDUwMDAsXHJcbiAgICAgIHByb3BlcnR5VHlwZTogJ1JlbnRhbCcsXHJcbiAgICAgIGxvY2F0aW9uOiAnSHlkZXJhYmFkLCBUZWxhbmdhbmEnLFxyXG4gICAgICBpbWdVcmw6IFsnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDc5MjNjMTczNzYyNzA3NzAwNWltYWdlJTIwJTI4NCUyOS5wbmcnXSxcclxuICAgICAgZGVzY3JpcHRpb246IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICAgIHllYXI6IDIwMjMsXHJcbiAgICAgIHRvdGFsQXJlYVNxRmVldDogMTIwMCxcclxuICAgICAgYmVuZWZpdHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ1JlZHVjZSBSaXNrJyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnR3VhcmFudGVlZCBncm93dGgnLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdGcmVlIGhvbGlkYXkgc3RheScsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICBwcm9wZXJ0eUlkOiAyLFxyXG4gICAgICBuYW1lOiAnYW5hbnRhIGhpbGxzJyxcclxuICAgICAgbWluaW11bUludmVzdG1lbnQ6IDUwMDAsXHJcbiAgICAgIHByb3BlcnR5VHlwZTogJ1JlbnRhbCcsXHJcbiAgICAgIGxvY2F0aW9uOiAnSHlkZXJhYmFkLCBUZWxhbmdhbmEnLFxyXG4gICAgICBpbWdVcmw6IFsnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDc5MjNjMTczNzYyNzA3NzAwNWltYWdlJTIwJTI4NCUyOS5wbmcnXSxcclxuICAgICAgZGVzY3JpcHRpb246IFwiQW5hbnRhIG9uZSBBcGFydG1lbnRzIGlzIGEgcHJlbWl1bSByZXNpZGVudGlhbCBkZXZlbG9wbWVudCBsb2NhdGVkIGluIHRoZSBidXN0bGluZyBoZWFydCBvZiBoeWRlcmFiYWQuIEl0IG9mZmVycyBtb2Rlcm4gYW1lbml0aWVzIGFuZCBhIGx1eHVyaW91cyBsaWZlc3R5bGUgZGVzaWduZWQgdG8gbWVldCB0aGUgbmVlZHMgb2YgdXJiYW4gZmFtaWxpZXMgYW5kIHByb2Zlc3Npb25hbHMuXCIsXHJcbiAgICAgIHllYXI6IDIwMjMsXHJcbiAgICAgIHRvdGFsQXJlYVNxRmVldDogMTIwMCxcclxuICAgICAgYmVuZWZpdHM6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICB0aXRsZTogJ1JlZHVjZSBSaXNrJyxcclxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnwqBaZXJvIFJpc2sgd2l0aCBIaWdoIFJldHVybnMnLFxyXG4gICAgICAgICAgaW1nOiAnaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy8xODE4NDBjMTczOTQzODk4NjE0NnN1cmZhY2UxLnBuZydcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIHRpdGxlOiAnR3VhcmFudGVlZCBncm93dGgnLFxyXG4gICAgICAgICAgZGVzY3JpcHRpb246ICfCoFplcm8gUmlzayB3aXRoIEhpZ2ggUmV0dXJucycsXHJcbiAgICAgICAgICBpbWc6ICdodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzE4MTg0MGMxNzM5NDM4OTg2MTQ2c3VyZmFjZTEucG5nJ1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgdGl0bGU6ICdGcmVlIGhvbGlkYXkgc3RheScsXHJcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ8KgWmVybyBSaXNrIHdpdGggSGlnaCBSZXR1cm5zJyxcclxuICAgICAgICAgIGltZzogJ2h0dHBzOi8vcHJvZC1zaW1wby5zMy5hcC1zb3V0aC0xLmFtYXpvbmF3cy5jb20vcHJvZC1pbWFnZXMvMTgxODQwYzE3Mzk0Mzg5ODYxNDZzdXJmYWNlMS5wbmcnXHJcbiAgICAgICAgfVxyXG4gICAgICBdXHJcbiAgICB9XHJcbiAgXVxyXG5cclxuICBnZXQgc3R5bGVzTGF5b3V0KCkge1xyXG4gICAgcmV0dXJuIHsgLi4udGhpcy5zdHlsZXM/LmxheW91dCB9IGFzIExheU91dE1vZGVsO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGhlYWRpbmdTcGFjZSgpIHtcclxuICAgIHJldHVybiB0aGlzLnN0eWxlcz8ubGF5b3V0LmhlYWRpbmdTcGFjaW5nIGFzIFNQQUNJTkc7XHJcbiAgfVxyXG5cclxuICByZWRpcmVjdFRvUHJvcGVydHlEZXRhaWxzKHByb3BlcnR5SWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2BkZXRhaWxzYF0sIHtxdWVyeVBhcmFtczoge2lkOiBwcm9wZXJ0eUlkfX0pO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJ0b3RhbC1jb250YWluZXJcIiBzaW1wb0hvdmVyIChob3ZlcmluZyk9XCJzaG93RWRpdFRhYnMoJGV2ZW50KVwiIFtpZF09XCJkYXRhPy5pZFwiPlxyXG4gIDxkaXYgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgICA8ZGl2IFtzaW1wb0JhY2tncm91bmRdPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW2lkXT1cImRhdGE/LmlkXCI+XHJcbiAgICAgIDxkaXYgW2lkXT1cImRhdGE/LmlkXCIgW3NpbXBvT3ZlcmxheV09XCJzdHlsZXM/LmJhY2tncm91bmRcIiBbc3BhY2luZ0hvcml6b250YWxdPVwic3R5bGVzTGF5b3V0XCIgW3NpbXBvQW5pbWF0aW9uXT1cInN0eWxlcz8uYW5pbWF0aW9uXCJcclxuICAgICAgICBbc2ltcG9MYXlvdXRdPVwic3R5bGVzPy5sYXlvdXRcIj5cclxuICAgICAgICA8ZGl2IFtzaW1wb0NvbnRlbnRUaXRsZVNwYWNlXT1cImhlYWRpbmdTcGFjZVwiIFtpZF09XCJkYXRhPy5pZFwiIGNsYXNzPVwiY29udGVudC1zaWRlXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpbnB1dCBvZiBjb250ZW50Py5pbnB1dFRleHRcIj5cclxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgdGV4dCBvZiBkYXRhPy5jb250ZW50Py5pbnB1dFRleHRcIiBjbGFzcz1cImhlYWRpbmctbGFyZ2VcIlxyXG4gICAgICAgICAgICAgIFtpbm5lckhUTUxdPVwiaW5wdXQudmFsdWUgfCBzYW5pdGl6ZUh0bWxcIj48L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgY29sLW1kLTZcIiAqbmdGb3I9XCJsZXQgcHJvcGVydHkgb2YgcHJvcGVydHlMaXN0XCI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcm9wZXJ0eUNhcmRzOyBjb250ZXh0OiB7ZGF0YTogcHJvcGVydHl9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICA8L2Rpdj5cclxuXHJcbjwvc2VjdGlvbj5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI3Byb3BlcnR5Q2FyZHMgbGV0LXByb3BlcnR5PVwiZGF0YVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9Qcm9wZXJ0eURldGFpbHMocHJvcGVydHkucHJvcGVydHlJZClcIj5cclxuICAgIDxpbWcgW3NyY109XCJwcm9wZXJ0eS5pbWdVcmxbMF1cIiBhbHQ9XCJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJwLTE1XCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1uYW1lXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImxlZnQtc2lkZVwiPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzk1MDM0NGMxNzM4MDUxNTk5NzcyaWNvbjIucG5nXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1sZWZ0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwcm9wZXJ0eS1uYW1lLXRleHRcIj57e3Byb3BlcnR5Lm5hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibG9jYXRpb25cIj57e3Byb3BlcnR5LmxvY2F0aW9ufX08L2Rpdj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cInJpZ2h0LXNpZGVcIiAqbmdJZj1cInByb3BlcnR5LnVuZGVyQ29uc3RydWN0aW9uXCI+XHJcbiAgICAgICAgICA8bWF0LWljb24+YnVpbGQ8L21hdC1pY29uPlxyXG4gICAgICAgICAgPGRpdj5VbmRlciBDb25zdHJ1Y3Rpb248L2Rpdj5cclxuICAgICAgICA8L2Rpdj4gLS0+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwic3RhdHMtYXJlYVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtc3RhdFwiPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwMDg2M2MxNzM4MDU2NTE3MDg3cmV0dXJuLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXQtbnVtYmVyXCI+MTAlIDxzcGFuPkFubnVhbCBSZXR1cm5zPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtc3RhdCBqdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwMDg2M2MxNzM4MDU2NTE3MDg3cmV0dXJuLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInN0YXQtbnVtYmVyXCI+MTglIDxzcGFuPklSUjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJzaW5nbGUtc3RhdCBtdC0xNSB3LTEwMFwiPlxyXG4gICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDA4NjNjMTczODA1NjUxNzA4N3JldHVybi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdC1udW1iZXJcIj41JSA8c3Bhbj5HdWFyYW50ZWVkIGFubnVhbCBncm93dGg8L3NwYW4+PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aHI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJib3R0b20tYXJlYVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtaW4taW52ZXN0bWVudFwiPlxyXG4gICAgICAgICAgPHA+e3twcm9wZXJ0eS5taW5pbXVtSW52ZXN0bWVudH19PC9wPlxyXG4gICAgICAgICAgPGRpdj5NaW4uSW52ZXN0bWVudCAoU3EuZnQpPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ1dHRvblwiIHNpbXBvQnV0dG9uRGlyZWN0aXZlIFtpZF09XCIoZGF0YT8uaWQgfHwgJycpKyhkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uaWQgfHwgJycpXCJcclxuICAgICAgICAgIFtidXR0b25TdHlsZV09XCJkYXRhPy5hY3Rpb24/LmJ1dHRvbnM/LlswXT8uc3R5bGVzXCIgW2NvbG9yXT1cInN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIj5Lbm93XHJcbiAgICAgICAgICBNb3JlPC9idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvcGVydHktbGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWxpc3QvcHJvcGVydHktbGlzdC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3Byb3BlcnR5LWxpc3QvcHJvcGVydHktbGlzdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFFaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDL0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDckUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFDbEYsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDdEYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBRzFGLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7Ozs7OztBQTBCOUQsTUFBTSxPQUFPLHFCQUFzQixTQUFRLFdBQVc7SUFRcEQsWUFBb0IsV0FBd0IsRUFDbEMsTUFBYztRQUV0QixLQUFLLEVBQUUsQ0FBQztRQUhVLGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQ2xDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFjeEIsZUFBVSxHQUFTLEtBQUssQ0FBQztJQVh6QixDQUFDO0lBS0QsUUFBUTtRQUNOLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQztRQUNsQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUlELGVBQWU7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFDLElBQUksQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3hELElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQTtZQUMvQixJQUFJLENBQUMsVUFBVSxHQUFDLEtBQUssQ0FBQztRQUV4QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFJRCxJQUFJLFlBQVk7UUFDZCxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBaUIsQ0FBQztJQUNuRCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxjQUF5QixDQUFDO0lBQ3ZELENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxVQUFrQjtRQUMxQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxFQUFFLEVBQUMsV0FBVyxFQUFFLEVBQUMsRUFBRSxFQUFFLFVBQVUsRUFBQyxFQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDOzhHQTlDVSxxQkFBcUI7a0dBQXJCLHFCQUFxQiw0TUNoRGxDLHlsS0F1SEEsb2tERDNGSSxZQUFZLG9nQkFDWixXQUFXLDhCQUNYLG9CQUFvQixvaEJBQ3BCLGtCQUFrQix5RkFDbEIsbUJBQW1CLDBHQUNuQixjQUFjLDJFQUVkLGdCQUFnQixxREFDaEIsbUJBQW1CLG1GQUNuQixnQkFBZ0IscUZBRWhCLHdCQUF3QixtSEFDeEIsYUFBYSwrQkFDYixxQkFBcUIseUdBQ3JCLDBCQUEwQiwwR0FDMUIsdUJBQXVCOzsyRkFLZCxxQkFBcUI7a0JBeEJqQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixXQUFXO3dCQUNYLG9CQUFvQjt3QkFDcEIsa0JBQWtCO3dCQUNsQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCxnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsZ0JBQWdCO3dCQUNoQixzQkFBc0I7d0JBQ3RCLHdCQUF3Qjt3QkFDeEIsYUFBYTt3QkFDYixxQkFBcUI7d0JBQ3JCLDBCQUEwQjt3QkFDMUIsdUJBQXVCO3FCQUN4QjtxR0FNUSxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eUxpc3RDb250ZW50TW9kYWwsIFByb3BlcnR5TGlzdE1vZGFsLCBQcm9wZXJ0eUxpc3RTdHlsZXNNb2RhbCB9IGZyb20gJy4vcHJvcGVydHktbGlzdC5tb2RhbCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xyXG5pbXBvcnQgeyBBbmltYXRpb25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvYW5pbWF0aW9uLWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEhvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2hvdmVyLWVsZW1lbnQtZGlyZWN0aXZlJ1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgQ29sb3JEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvY29sb3IuZGlyZWN0aXZlJ1xyXG5pbXBvcnQgeyBMYXlPdXRNb2RlbCB9IGZyb20gJy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbCc7XHJcbmltcG9ydCB7IFNhbml0aXplSHRtbFBpcGUgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9zYW5pdGl6ZUh0bWwnO1xyXG5pbXBvcnQgeyBDb250ZW50Rml0RGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2NvbnRlbnQtZml0LWRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE92ZXJsYXlEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvb3ZlcmxheS1kaXJlY3RpdmUnO1xyXG5pbXBvcnQgeyBTcGFjaW5nQXJvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL3NwYWNpbmctYXJvdW5kLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCBCYXNlU2VjdGlvbiBmcm9tICcuLi9CYXNlU2VjdGlvbic7XHJcbmltcG9ydCB7IEJ1dHRvbkRpcmVjdGl2ZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9idXR0b24tZGlyZWN0aXZlLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgU1BBQ0lORyB9IGZyb20gJy4uLy4uL3N0eWxlcy9pbmRleCc7XHJcbmltcG9ydCB7IENvbnRlbnRUaXRsZURpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb250ZW50LXRpdGxlLXNwYWNpbmcuZGlyZWN0aXZlJztcclxuaW1wb3J0IHsgU3BhY2luZ0hvcml6b250YWxEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmUvc3BhY2luZy1ob3Jpem9udGFsLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IFJlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvcmVzdC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGUgfSBmcm9tICduZ3gtc2tlbGV0b24tbG9hZGVyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnc2ltcG8tcHJvcGVydHktbGlzdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIFNpbXBvQ29tcG9uZW50TW9kdWxlLFxyXG4gICAgQW5pbWF0aW9uRGlyZWN0aXZlLFxyXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcclxuICAgIEhvdmVyRGlyZWN0aXZlLFxyXG4gICAgQ29sb3JEaXJlY3RpdmUsXHJcbiAgICBTYW5pdGl6ZUh0bWxQaXBlLFxyXG4gICAgQ29udGVudEZpdERpcmVjdGl2ZSxcclxuICAgIE92ZXJsYXlEaXJlY3RpdmUsXHJcbiAgICBTcGFjaW5nQXJvdW5kRGlyZWN0aXZlLFxyXG4gICAgQnV0dG9uRGlyZWN0aXZlRGlyZWN0aXZlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIENvbnRlbnRUaXRsZURpcmVjdGl2ZSxcclxuICAgIFNwYWNpbmdIb3Jpem9udGFsRGlyZWN0aXZlLFxyXG4gICAgTmd4U2tlbGV0b25Mb2FkZXJNb2R1bGVcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9wcm9wZXJ0eS1saXN0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vcHJvcGVydHktbGlzdC5jb21wb25lbnQuY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgUHJvcGVydHlMaXN0Q29tcG9uZW50IGV4dGVuZHMgQmFzZVNlY3Rpb24gaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBkYXRhPzogUHJvcGVydHlMaXN0TW9kYWw7XHJcbiAgQElucHV0KCkgaW5kZXg/OiBudW1iZXI7XHJcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XHJcbiAgQElucHV0KCkgZGVsZXRlPzogYm9vbGVhbjtcclxuICBASW5wdXQoKSBjdXN0b21DbGFzcz86IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgc3R5bGVzPzogUHJvcGVydHlMaXN0U3R5bGVzTW9kYWw7XHJcbiAgY29udGVudD86IFByb3BlcnR5TGlzdENvbnRlbnRNb2RhbDtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnN0eWxlcyA9IHRoaXMuZGF0YT8uc3R5bGVzO1xyXG4gICAgdGhpcy5jb250ZW50ID0gdGhpcy5kYXRhPy5jb250ZW50O1xyXG4gICAgdGhpcy5nZXRQcm9wZXJ0eUxpc3QoKTtcclxuICB9XHJcblxyXG4gIHNrZWxMb2FkZXI6Ym9vbGVhbj1mYWxzZTtcclxuXHJcbiAgZ2V0UHJvcGVydHlMaXN0KCkge1xyXG4gICAgdGhpcy5za2VsTG9hZGVyPXRydWU7XHJcbiAgICB0aGlzLnJlc3RTZXJ2aWNlLmdldFByb3BlcnR5TGlzdCgpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgdGhpcy5wcm9wZXJ0eUxpc3QgPSByZXMuY29udGVudFxyXG4gICAgICB0aGlzLnNrZWxMb2FkZXI9ZmFsc2U7XHJcblxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcm9wZXJ0eUxpc3Q6IGFueTtcclxuXHJcbiAgZ2V0IHN0eWxlc0xheW91dCgpIHtcclxuICAgIHJldHVybiB7IC4uLnRoaXMuc3R5bGVzPy5sYXlvdXQgfSBhcyBMYXlPdXRNb2RlbDtcclxuICB9XHJcblxyXG4gIGdldCBoZWFkaW5nU3BhY2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5zdHlsZXM/LmxheW91dC5oZWFkaW5nU3BhY2luZyBhcyBTUEFDSU5HO1xyXG4gIH1cclxuXHJcbiAgcmVkaXJlY3RUb1Byb3BlcnR5RGV0YWlscyhwcm9wZXJ0eUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgZGV0YWlsc2BdLCB7cXVlcnlQYXJhbXM6IHtpZDogcHJvcGVydHlJZH19KTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwidG90YWwtY29udGFpbmVyXCIgc2ltcG9Ib3ZlciAoaG92ZXJpbmcpPVwic2hvd0VkaXRUYWJzKCRldmVudClcIiBbaWRdPVwiZGF0YT8uaWRcIj5cclxuICA8ZGl2IFtpZF09XCJkYXRhPy5pZFwiPlxyXG4gICAgPGRpdiBbc2ltcG9CYWNrZ3JvdW5kXT1cInN0eWxlcz8uYmFja2dyb3VuZFwiIFtpZF09XCJkYXRhPy5pZFwiPlxyXG4gICAgICA8ZGl2IFtpZF09XCJkYXRhPy5pZFwiIFtzaW1wb092ZXJsYXldPVwic3R5bGVzPy5iYWNrZ3JvdW5kXCIgW3NwYWNpbmdIb3Jpem9udGFsXT1cInN0eWxlc0xheW91dFwiIFtzaW1wb0FuaW1hdGlvbl09XCJzdHlsZXM/LmFuaW1hdGlvblwiXHJcbiAgICAgICAgW3NpbXBvTGF5b3V0XT1cInN0eWxlcz8ubGF5b3V0XCI+XHJcbiAgICAgICAgPGRpdiBbc2ltcG9Db250ZW50VGl0bGVTcGFjZV09XCJoZWFkaW5nU3BhY2VcIiBbaWRdPVwiZGF0YT8uaWRcIiBjbGFzcz1cImNvbnRlbnQtc2lkZVwiPlxyXG4gICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW5wdXQgb2YgY29udGVudD8uaW5wdXRUZXh0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IHRleHQgb2YgZGF0YT8uY29udGVudD8uaW5wdXRUZXh0XCIgY2xhc3M9XCJoZWFkaW5nLWxhcmdlXCJcclxuICAgICAgICAgICAgICBbaW5uZXJIVE1MXT1cImlucHV0LnZhbHVlIHwgc2FuaXRpemVIdG1sXCI+PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCIgKm5nSWY9XCIhc2tlbExvYWRlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbWQtNlwiICpuZ0Zvcj1cImxldCBwcm9wZXJ0eSBvZiBwcm9wZXJ0eUxpc3RcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInByb3BlcnR5Q2FyZHM7IGNvbnRleHQ6IHtkYXRhOiBwcm9wZXJ0eX1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIiAqbmdJZj1cInNrZWxMb2FkZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtNFwiICpuZ0Zvcj1cImxldCBza2VsIG9mIFsxLDIsM11cIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInNrZWxldG9uXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGVkaXR9XCIgKm5nSWY9XCJzaG93RWRpdG9yc1wiPlxyXG4gICAgPHNpbXBvLWhvdmVyLWVsZW1lbnRzIFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIiBbZWRpdE9wdGlvbnNdPVwiZWRpdFwiPjwvc2ltcG8taG92ZXItZWxlbWVudHM+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiAqbmdJZj1cInNob3dEZWxldGVcIiBbbmdDbGFzc109XCJ7J2hvdmVyX2VmZmVjdCc6IGRlbGV0ZX1cIj5cclxuICAgIDxzaW1wby1kZWxldGUtaG92ZXItZWxlbWVudCBbZGF0YV09XCJkYXRhXCIgW2luZGV4XT1cImluZGV4XCI+PC9zaW1wby1kZWxldGUtaG92ZXItZWxlbWVudD5cclxuICA8L2Rpdj5cclxuXHJcbjwvc2VjdGlvbj5cclxuXHJcblxyXG48bmctdGVtcGxhdGUgI3Byb3BlcnR5Q2FyZHMgbGV0LXByb3BlcnR5PVwiZGF0YVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjYXJkXCIgKGNsaWNrKT1cInJlZGlyZWN0VG9Qcm9wZXJ0eURldGFpbHMocHJvcGVydHlbMF0ucHJvcGVydHlJZClcIj5cclxuICAgIDxpbWcgW3NyY109XCJwcm9wZXJ0eVswXT8uaW1nVXJsWzBdXCIgYWx0PVwiXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicC0xNVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktbmFtZVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJsZWZ0LXNpZGVcIj5cclxuICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy85NTAzNDRjMTczODA1MTU5OTc3Mmljb24yLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtbGVmdFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvcGVydHktbmFtZS10ZXh0XCI+e3twcm9wZXJ0eVswXS5uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxvY2F0aW9uXCI+e3twcm9wZXJ0eVswXS5sb2NhdGlvbn19PC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJyaWdodC1zaWRlXCIgKm5nSWY9XCJwcm9wZXJ0eS51bmRlckNvbnN0cnVjdGlvblwiPlxyXG4gICAgICAgICAgPG1hdC1pY29uPmJ1aWxkPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDxkaXY+VW5kZXIgQ29uc3RydWN0aW9uPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInN0YXRzLWFyZWFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXN0YXRcIj5cclxuICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDA4NjNjMTczODA1NjUxNzA4N3JldHVybi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LW51bWJlclwiPnt7cHJvcGVydHlbMV0/LmFubnVhbFJldHVybiA/PyAnMCd9fSA8c3Bhbj5Bbm51YWwgUmV0dXJuczwvc3Bhbj48L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic2luZ2xlLXN0YXQganVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy82MDA4NjNjMTczODA1NjUxNzA4N3JldHVybi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LW51bWJlclwiPnt7cHJvcGVydHlbMV0/LmlyciAgPz8gJzAnfX0gPHNwYW4+SVJSPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInNpbmdsZS1zdGF0IG10LTE1IHctMTAwXCI+XHJcbiAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3Byb2Qtc2ltcG8uczMuYXAtc291dGgtMS5hbWF6b25hd3MuY29tL3Byb2QtaW1hZ2VzLzYwMDg2M2MxNzM4MDU2NTE3MDg3cmV0dXJuLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0LW51bWJlclwiPiB7e3Byb3BlcnR5WzFdPy5ndWFyYW50ZWVkQW5udWFsQ2FwaXRhbEdyb3d0aCA/PyAnMCd9fTxzcGFuPkd1YXJhbnRlZWQgYW5udWFsIGdyb3d0aDwvc3Bhbj48L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxocj5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvdHRvbS1hcmVhXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIm1pbi1pbnZlc3RtZW50XCI+XHJcbiAgICAgICAgICA8cD57e3Byb3BlcnR5WzBdPy5taW5pbXVtSW52ZXN0bWVudCAgPz8gJzAnfX08L3A+XHJcbiAgICAgICAgICA8ZGl2Pk1pbi5JbnZlc3RtZW50IChTcS5mdCk8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCIgc2ltcG9CdXR0b25EaXJlY3RpdmUgW2lkXT1cIihkYXRhPy5pZCB8fCAnJykrKGRhdGE/LmFjdGlvbj8uYnV0dG9ucz8uWzBdPy5pZCB8fCAnJylcIlxyXG4gICAgICAgICAgW2J1dHRvblN0eWxlXT1cImRhdGE/LmFjdGlvbj8uYnV0dG9ucz8uWzBdPy5zdHlsZXNcIiBbY29sb3JdPVwic3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiPktub3dcclxuICAgICAgICAgIE1vcmU8L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjc2tlbGV0b24+XHJcbiAgPG5neC1za2VsZXRvbi1sb2FkZXIgY291bnQ9XCIxXCIgYXBwZWFyYW5jZT1cImNpcmNsZVwiIFt0aGVtZV09XCJ7XHJcbiAgICB3aWR0aDogJzEwMCUnLFxyXG4gICAgaGVpZ2h0OiAnNDB2aCcsXHJcbiAgICAnYm9yZGVyLXJhZGl1cyc6ICcxMHB4JyxcclxuICAgICdwb3NpdGlvbic6ICdyZWxhdGl2ZScsXHJcbiAgICAncmlnaHQnOiAnNXB4J1xyXG4gIH1cIj5cclxuICA8L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgPGRpdiBjbGFzcz1cInNlY29uZC1zZWN0aW9uLXdyYXBwZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgIHdpZHRoOiAnMTAwJScsXHJcbiAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICBoZWlnaHQ6ICcxNXB4JyxcclxuICAgICAgJ21hcmdpbi1ib3R0b20nOiAnMTBweCdcclxuICAgIH1cIj48L25neC1za2VsZXRvbi1sb2FkZXI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgIDxuZ3gtc2tlbGV0b24tbG9hZGVyIFt0aGVtZV09XCJ7XHJcbiAgICAgICAgd2lkdGg6ICc5MCUnLFxyXG4gICAgICAgICdib3JkZXItcmFkaXVzJzogJzAnLFxyXG4gICAgICAgIGhlaWdodDogJzE1cHgnLFxyXG4gICAgICAgICdtYXJnaW4tYm90dG9tJzogJzEwcHgnLFxyXG4gICAgICAgICdkaXNwbGF5JyA6ICdmbGV4J1xyXG4gICAgICB9XCI+PC9uZ3gtc2tlbGV0b24tbG9hZGVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICA8bmd4LXNrZWxldG9uLWxvYWRlciBbdGhlbWVdPVwie1xyXG4gICAgICAgIHdpZHRoOiAnNjAlJyxcclxuICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICcwJyxcclxuICAgICAgICBoZWlnaHQ6ICcxNXB4JyxcclxuICAgICAgICAnbWFyZ2luLWJvdHRvbSc6ICcxMHB4JyxcclxuICAgICAgICAnZGlzcGxheScgOiAnZmxleCdcclxuICAgICAgfVwiPjwvbmd4LXNrZWxldG9uLWxvYWRlcj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19
|
@@ -0,0 +1,55 @@
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
2
|
+
import { Component } from '@angular/core';
|
3
|
+
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "../../services/rest.service";
|
6
|
+
import * as i2 from "@angular/router";
|
7
|
+
import * as i3 from "@angular/material/progress-spinner";
|
8
|
+
import * as i4 from "@angular/common";
|
9
|
+
export class VerifyPropertyPaymentComponent {
|
10
|
+
constructor(restService, router) {
|
11
|
+
this.restService = restService;
|
12
|
+
this.router = router;
|
13
|
+
this.paymentStatus = 'ONGOING';
|
14
|
+
this.API_COUNT = 0;
|
15
|
+
this.MAX_API_COUNT = 20;
|
16
|
+
}
|
17
|
+
ngOnInit() {
|
18
|
+
this.checkPaymentStatus();
|
19
|
+
}
|
20
|
+
checkPaymentStatus() {
|
21
|
+
this.API_COUNT++;
|
22
|
+
this.restService.verifyPropertyPaymentStatus().subscribe((res) => {
|
23
|
+
if (res.status === 'PURCHASED')
|
24
|
+
this.paymentStatus = 'SUCCESS';
|
25
|
+
else
|
26
|
+
this.paymentStatus = 'FAILED';
|
27
|
+
this.redirectToPage('profile');
|
28
|
+
}, (error) => {
|
29
|
+
if (error.message == 'Payment Failed') {
|
30
|
+
this.paymentStatus = 'FAILED';
|
31
|
+
this.redirectToPage('property-list');
|
32
|
+
return;
|
33
|
+
}
|
34
|
+
if (this.API_COUNT >= this.MAX_API_COUNT) {
|
35
|
+
this.paymentStatus = 'FAILED';
|
36
|
+
this.redirectToPage('property-list');
|
37
|
+
}
|
38
|
+
else {
|
39
|
+
this.checkPaymentStatus();
|
40
|
+
}
|
41
|
+
});
|
42
|
+
}
|
43
|
+
redirectToPage(pageUrl) {
|
44
|
+
setTimeout(() => {
|
45
|
+
this.router.navigate([`${pageUrl}`]);
|
46
|
+
}, 5000);
|
47
|
+
}
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: VerifyPropertyPaymentComponent, deps: [{ token: i1.RestService }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component }); }
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: VerifyPropertyPaymentComponent, isStandalone: true, selector: "simpo-verify-property-payment", ngImport: i0, template: "<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'ONGOING'\">\r\n <div>\r\n <mat-spinner></mat-spinner>\r\n <p>Please Wait...</p>\r\n </div>\r\n</section>\r\n\r\n<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'SUCCESS'\">\r\n <div>\r\n <div class=\"image_section\">\r\n <img src=\"https://dev-beeos.s3.amazonaws.com/product_image/452801c1736315910620sucess.gif\" alt=\"loader\">\r\n </div>\r\n <div class=\"success_heading\">\r\n Payment Successfull\r\n </div>\r\n </div>\r\n\r\n</section>\r\n\r\n<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'FAILED'\">\r\n <div>\r\n <div class=\"image_section\">\r\n <img src=\"https://dev-beeos.s3.amazonaws.com/product_image/812371c1736315916840fail.jpg\" alt=\"loader\">\r\n </div>\r\n <div class=\"success_heading\">\r\n Payment Failed\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".main-section{height:calc(100vh + -0px);z-index:2;position:absolute;top:0;left:0;background:#fff;width:100%;overflow-y:hidden}.spinner{display:flex;align-items:center;justify-content:center}.spinner p{margin-top:22px;font-size:18px;font-weight:500}.success_heading{color:#000;margin-top:10px}.image_section{text-align:center}.image_section img{width:100px}.plan_description{margin-top:10px!important;box-shadow:0 0 1px #28293d14,0 .5px 2px #60617029;border-radius:10px;width:30%;margin:0 auto;padding:40px}.title_value{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px}@media only screen and (max-width:475px){.payment_sub_text{width:80%}.plan_description{width:80%;height:auto}}.main_section{gap:15px;height:100%;width:100%}.success_failed_images{width:12%}.success_failed_images img{width:100%}.title{font-size:18px;font-weight:600;color:#344054;font-family:interMedium}.message{font-size:14px;font-weight:500;color:#00000080;font-family:interMedium}.buttons button{border:none;background-color:#f6c318;padding:2px 8px;color:#000;border-radius:6px;font-size:x-large;font-weight:500;line-height:initial}.create-btn{font-weight:500;color:#000;border:none;padding:10px 16px;border-radius:8px;font-size:15px;line-height:20px;display:flex;align-items:center;gap:5px;background-color:#f6c318}.create-btn .mat-icon{font-size:24px}\n"], dependencies: [{ kind: "ngmodule", type: MatProgressSpinnerModule }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
|
50
|
+
}
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: VerifyPropertyPaymentComponent, decorators: [{
|
52
|
+
type: Component,
|
53
|
+
args: [{ selector: 'simpo-verify-property-payment', standalone: true, imports: [MatProgressSpinnerModule, CommonModule], template: "<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'ONGOING'\">\r\n <div>\r\n <mat-spinner></mat-spinner>\r\n <p>Please Wait...</p>\r\n </div>\r\n</section>\r\n\r\n<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'SUCCESS'\">\r\n <div>\r\n <div class=\"image_section\">\r\n <img src=\"https://dev-beeos.s3.amazonaws.com/product_image/452801c1736315910620sucess.gif\" alt=\"loader\">\r\n </div>\r\n <div class=\"success_heading\">\r\n Payment Successfull\r\n </div>\r\n </div>\r\n\r\n</section>\r\n\r\n<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'FAILED'\">\r\n <div>\r\n <div class=\"image_section\">\r\n <img src=\"https://dev-beeos.s3.amazonaws.com/product_image/812371c1736315916840fail.jpg\" alt=\"loader\">\r\n </div>\r\n <div class=\"success_heading\">\r\n Payment Failed\r\n </div>\r\n </div>\r\n</section>\r\n", styles: [".main-section{height:calc(100vh + -0px);z-index:2;position:absolute;top:0;left:0;background:#fff;width:100%;overflow-y:hidden}.spinner{display:flex;align-items:center;justify-content:center}.spinner p{margin-top:22px;font-size:18px;font-weight:500}.success_heading{color:#000;margin-top:10px}.image_section{text-align:center}.image_section img{width:100px}.plan_description{margin-top:10px!important;box-shadow:0 0 1px #28293d14,0 .5px 2px #60617029;border-radius:10px;width:30%;margin:0 auto;padding:40px}.title_value{display:flex;justify-content:space-between;align-items:center;padding-bottom:10px}@media only screen and (max-width:475px){.payment_sub_text{width:80%}.plan_description{width:80%;height:auto}}.main_section{gap:15px;height:100%;width:100%}.success_failed_images{width:12%}.success_failed_images img{width:100%}.title{font-size:18px;font-weight:600;color:#344054;font-family:interMedium}.message{font-size:14px;font-weight:500;color:#00000080;font-family:interMedium}.buttons button{border:none;background-color:#f6c318;padding:2px 8px;color:#000;border-radius:6px;font-size:x-large;font-weight:500;line-height:initial}.create-btn{font-weight:500;color:#000;border:none;padding:10px 16px;border-radius:8px;font-size:15px;line-height:20px;display:flex;align-items:center;gap:5px;background-color:#f6c318}.create-btn .mat-icon{font-size:24px}\n"] }]
|
54
|
+
}], ctorParameters: () => [{ type: i1.RestService }, { type: i2.Router }] });
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXByb3BlcnR5LXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy92ZXJpZnktcHJvcGVydHktcGF5bWVudC92ZXJpZnktcHJvcGVydHktcGF5bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3ZlcmlmeS1wcm9wZXJ0eS1wYXltZW50L3ZlcmlmeS1wcm9wZXJ0eS1wYXltZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFXOUUsTUFBTSxPQUFPLDhCQUE4QjtJQU16QyxZQUFvQixXQUF3QixFQUNsQyxNQUFjO1FBREosZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU54QixrQkFBYSxHQUFxQyxTQUFTLENBQUE7UUFFbkQsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztJQUkvQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUVwRSxJQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssV0FBVztnQkFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7O2dCQUUvQixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztZQUVoQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1gsSUFBRyxLQUFLLENBQUMsT0FBTyxJQUFJLGdCQUFnQixFQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPO1lBQ1QsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWU7UUFDNUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDdEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ1YsQ0FBQzs4R0E3Q1UsOEJBQThCO2tHQUE5Qiw4QkFBOEIseUZDYjNDLHE2QkE2QkEsdzRDRHBCWSx3QkFBd0Isa09BQUUsWUFBWTs7MkZBSXJDLDhCQUE4QjtrQkFQMUMsU0FBUzsrQkFDRSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hdFByb2dyZXNzU3Bpbm5lck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3Byb2dyZXNzLXNwaW5uZXInO1xyXG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NpbXBvLXZlcmlmeS1wcm9wZXJ0eS1wYXltZW50JyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIENvbW1vbk1vZHVsZV0sXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcmlmeS1wcm9wZXJ0eS1wYXltZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vdmVyaWZ5LXByb3BlcnR5LXBheW1lbnQuY29tcG9uZW50LmNzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFZlcmlmeVByb3BlcnR5UGF5bWVudENvbXBvbmVudCB7XHJcbiAgcGF5bWVudFN0YXR1czogJ09OR09JTkcnIHwgJ1NVQ0NFU1MnIHwgJ0ZBSUxFRCcgPSAnT05HT0lORydcclxuXHJcbiAgcHJpdmF0ZSBBUElfQ09VTlQ6IG51bWJlciA9IDA7XHJcbiAgcHJpdmF0ZSBNQVhfQVBJX0NPVU5UOiBudW1iZXIgPSAyMDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZXN0U2VydmljZTogUmVzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyXHJcbiAgKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmNoZWNrUGF5bWVudFN0YXR1cygpO1xyXG4gIH1cclxuXHJcbiAgY2hlY2tQYXltZW50U3RhdHVzKCkge1xyXG4gICAgdGhpcy5BUElfQ09VTlQrKztcclxuICAgIHRoaXMucmVzdFNlcnZpY2UudmVyaWZ5UHJvcGVydHlQYXltZW50U3RhdHVzKCkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG5cclxuICAgICAgaWYocmVzLnN0YXR1cyA9PT0gJ1BVUkNIQVNFRCcpXHJcbiAgICAgICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ1NVQ0NFU1MnO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ0ZBSUxFRCc7XHJcblxyXG4gICAgICB0aGlzLnJlZGlyZWN0VG9QYWdlKCdwcm9maWxlJyk7XHJcblxyXG4gICAgfSwgKGVycm9yKSA9PiB7XHJcbiAgICAgIGlmKGVycm9yLm1lc3NhZ2UgPT0gJ1BheW1lbnQgRmFpbGVkJyl7XHJcbiAgICAgICAgdGhpcy5wYXltZW50U3RhdHVzID0gJ0ZBSUxFRCc7XHJcbiAgICAgICAgdGhpcy5yZWRpcmVjdFRvUGFnZSgncHJvcGVydHktbGlzdCcpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMuQVBJX0NPVU5UID49IHRoaXMuTUFYX0FQSV9DT1VOVCkge1xyXG4gICAgICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICdGQUlMRUQnO1xyXG4gICAgICAgIHRoaXMucmVkaXJlY3RUb1BhZ2UoJ3Byb3BlcnR5LWxpc3QnKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmNoZWNrUGF5bWVudFN0YXR1cygpO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcmVkaXJlY3RUb1BhZ2UocGFnZVVybDogc3RyaW5nKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2Ake3BhZ2VVcmx9YF0pXHJcbiAgICB9LCA1MDAwKVxyXG4gIH1cclxufVxyXG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tc2VjdGlvbiBzcGlubmVyXCIgKm5nSWY9XCJwYXltZW50U3RhdHVzID09PSAnT05HT0lORydcIj5cclxuICA8ZGl2PlxyXG4gICAgPG1hdC1zcGlubmVyPjwvbWF0LXNwaW5uZXI+XHJcbiAgICA8cD5QbGVhc2UgV2FpdC4uLjwvcD5cclxuICA8L2Rpdj5cclxuPC9zZWN0aW9uPlxyXG5cclxuPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNlY3Rpb24gc3Bpbm5lclwiICpuZ0lmPVwicGF5bWVudFN0YXR1cyA9PT0gJ1NVQ0NFU1MnXCI+XHJcbiAgPGRpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZV9zZWN0aW9uXCI+XHJcbiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9kZXYtYmVlb3MuczMuYW1hem9uYXdzLmNvbS9wcm9kdWN0X2ltYWdlLzQ1MjgwMWMxNzM2MzE1OTEwNjIwc3VjZXNzLmdpZlwiIGFsdD1cImxvYWRlclwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3VjY2Vzc19oZWFkaW5nXCI+XHJcbiAgICAgICAgUGF5bWVudCBTdWNjZXNzZnVsbFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG48L3NlY3Rpb24+XHJcblxyXG48c2VjdGlvbiBjbGFzcz1cIm1haW4tc2VjdGlvbiBzcGlubmVyXCIgKm5nSWY9XCJwYXltZW50U3RhdHVzID09PSAnRkFJTEVEJ1wiPlxyXG4gIDxkaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Vfc2VjdGlvblwiPlxyXG4gICAgICA8aW1nIHNyYz1cImh0dHBzOi8vZGV2LWJlZW9zLnMzLmFtYXpvbmF3cy5jb20vcHJvZHVjdF9pbWFnZS84MTIzNzFjMTczNjMxNTkxNjg0MGZhaWwuanBnXCIgYWx0PVwibG9hZGVyXCI+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJzdWNjZXNzX2hlYWRpbmdcIj5cclxuICAgICAgICBQYXltZW50IEZhaWxlZFxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvc2VjdGlvbj5cclxuIl19
|