simpo-component-library 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/esm2022/lib/elements/index.mjs +6 -7
  2. package/esm2022/lib/elements/my-documents/my-documents.component.mjs +11 -0
  3. package/esm2022/lib/elements/my-orders/my-orders.component.mjs +64 -0
  4. package/esm2022/lib/elements/my-statement/my-statement.component.mjs +26 -0
  5. package/esm2022/lib/elements/need-help/need-help.component.mjs +11 -0
  6. package/esm2022/lib/elements/payment-confirmation/payment-confirmation.component.mjs +90 -0
  7. package/esm2022/lib/elements/portfolio/portfolio.component.mjs +27 -45
  8. package/esm2022/lib/elements/properties/properties.component.mjs +35 -0
  9. package/esm2022/lib/elements/property-view/property-view.component.mjs +79 -0
  10. package/esm2022/lib/sections/kyc-details/kyc-details.component.mjs +163 -0
  11. package/esm2022/lib/sections/navbar-section/navbar-section.component.mjs +41 -12
  12. package/esm2022/lib/sections/profile-section/profile-section.component.mjs +52 -0
  13. package/esm2022/lib/sections/profile-section/profile-section.modal.mjs +2 -0
  14. package/esm2022/lib/sections/property-component/property-component.component.mjs +84 -7
  15. package/esm2022/lib/sections/property-component/property-component.modal.mjs +1 -1
  16. package/esm2022/lib/sections/property-detail/property-detail.component.mjs +149 -0
  17. package/esm2022/lib/sections/property-detail/property-detail.model.mjs +2 -0
  18. package/esm2022/lib/sections/property-list/property-list.component.mjs +29 -57
  19. package/esm2022/lib/sections/signup-signin/signup-signin.component.mjs +278 -0
  20. package/esm2022/lib/sections/signup-signin/signup-signin.model.mjs +2 -0
  21. package/esm2022/lib/sections/verify-property-payment/verify-property-payment.component.mjs +55 -0
  22. package/esm2022/lib/services/events.service.mjs +2 -1
  23. package/esm2022/lib/services/rest.service.mjs +100 -5
  24. package/esm2022/lib/styles/index.mjs +6 -1
  25. package/esm2022/public-api.mjs +5 -1
  26. package/fesm2022/simpo-component-library.mjs +3080 -2096
  27. package/fesm2022/simpo-component-library.mjs.map +1 -1
  28. package/lib/directive/background-directive.d.ts +1 -1
  29. package/lib/directive/button-directive.directive.d.ts +1 -1
  30. package/lib/directive/color.directive.d.ts +1 -1
  31. package/lib/ecommerce/sections/authentication-required/authentication-required.component.d.ts +1 -1
  32. package/lib/elements/index.d.ts +2 -3
  33. package/lib/elements/my-documents/my-documents.component.d.ts +5 -0
  34. package/lib/elements/my-orders/my-orders.component.d.ts +10 -0
  35. package/lib/elements/my-statement/my-statement.component.d.ts +8 -0
  36. package/lib/elements/need-help/need-help.component.d.ts +5 -0
  37. package/lib/elements/payment-confirmation/payment-confirmation.component.d.ts +25 -0
  38. package/lib/elements/portfolio/portfolio.component.d.ts +10 -12
  39. package/lib/elements/properties/properties.component.d.ts +15 -0
  40. package/lib/elements/property-view/property-view.component.d.ts +15 -0
  41. package/lib/sections/banner-carousel/banner-carousel.component.d.ts +2 -2
  42. package/lib/sections/carousel-banner/carousel-banner.component.d.ts +1 -1
  43. package/lib/sections/image-section/image-section.component.d.ts +2 -2
  44. package/lib/sections/kyc-details/kyc-details.component.d.ts +38 -0
  45. package/lib/sections/logo-showcase/logo-showcase.component.d.ts +1 -1
  46. package/lib/sections/navbar-section/navbar-section.component.d.ts +9 -1
  47. package/lib/sections/pricing-section/pricing-section.component.d.ts +1 -1
  48. package/lib/sections/profile-section/profile-section.component.d.ts +16 -0
  49. package/lib/sections/profile-section/profile-section.modal.d.ts +5 -0
  50. package/lib/sections/property-component/property-component.component.d.ts +25 -4
  51. package/lib/sections/property-component/property-component.modal.d.ts +11 -18
  52. package/lib/sections/property-detail/property-detail.component.d.ts +38 -0
  53. package/lib/sections/property-detail/property-detail.model.d.ts +5 -0
  54. package/lib/sections/property-list/property-list.component.d.ts +9 -2
  55. package/lib/sections/signup-signin/signup-signin.component.d.ts +49 -0
  56. package/lib/sections/signup-signin/signup-signin.model.d.ts +10 -0
  57. package/lib/sections/verify-property-payment/verify-property-payment.component.d.ts +16 -0
  58. package/lib/services/events.service.d.ts +1 -0
  59. package/lib/services/rest.service.d.ts +24 -0
  60. package/lib/styles/index.d.ts +4 -0
  61. package/package.json +1 -1
  62. package/public-api.d.ts +4 -0
  63. package/simpo-component-library-3.0.2.tgz +0 -0
  64. package/esm2022/lib/elements/property/property.component.mjs +0 -41
  65. package/lib/elements/property/property.component.d.ts +0 -8
  66. package/simpo-component-library-3.0.0.tgz +0 -0
@@ -0,0 +1,278 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import BaseSection from '../BaseSection';
3
+ import { CommonModule } from '@angular/common';
4
+ import { SimpoComponentModule } from '../../components/index';
5
+ import { HoverElementsComponent } from "../../components/hover-elements/hover-elements.component";
6
+ import { DeleteHoverElementComponent } from "../../components/delete-hover-element/delete-hover-element.component";
7
+ import { HoverDirective } from '../../directive/hover-element-directive';
8
+ import { BackgroundDirective } from '../../directive/background-directive';
9
+ import { AnimationDirective } from '../../directive/animation-directive';
10
+ import { CornerDirective } from '../../directive/corner-directive';
11
+ import { FormsModule } from '@angular/forms';
12
+ import { MessageService } from 'primeng/api';
13
+ import { KycDetailsComponent } from '../kyc-details/kyc-details.component';
14
+ import { StorageKeys } from '../../styles/index';
15
+ import { ToastModule } from 'primeng/toast';
16
+ import * as i0 from "@angular/core";
17
+ import * as i1 from "./../../services/events.service";
18
+ import * as i2 from "../../services/rest.service";
19
+ import * as i3 from "@angular/router";
20
+ import * as i4 from "primeng/api";
21
+ import * as i5 from "@angular/material/dialog";
22
+ import * as i6 from "@angular/common";
23
+ import * as i7 from "../../components/hover-elements/hover-elements.component";
24
+ import * as i8 from "../../components/delete-hover-element/delete-hover-element.component";
25
+ import * as i9 from "@angular/forms";
26
+ import * as i10 from "primeng/toast";
27
+ export class SignupSigninComponent extends BaseSection {
28
+ constructor(_eventService, restService, router, activatedRoute, messageService, matDialog) {
29
+ super();
30
+ this._eventService = _eventService;
31
+ this.restService = restService;
32
+ this.router = router;
33
+ this.activatedRoute = activatedRoute;
34
+ this.messageService = messageService;
35
+ this.matDialog = matDialog;
36
+ this.buttonLoader = false;
37
+ this.currentPage = 'LOGIN';
38
+ this.backgroundImage = "https://prod-simpo.s3.ap-south-1.amazonaws.com/prod-images/500415c1739434186310image%2016.png";
39
+ this.otpArray = new Array(4).fill('');
40
+ this.loginOtpArray = new Array(4).fill('');
41
+ this.loginEmail = '';
42
+ this.investor = {
43
+ "fullName": "",
44
+ "emailId": "",
45
+ "phoneNumber": "",
46
+ "password": "",
47
+ "kycVerified": false,
48
+ "active": true,
49
+ "otp": "",
50
+ "deleted": false
51
+ };
52
+ this.otpSent = false;
53
+ }
54
+ ngOnInit() {
55
+ this.activatedRoute.queryParams.subscribe((param) => {
56
+ if (param['type'])
57
+ this.currentPage = param['type'];
58
+ if (param['id'])
59
+ this.propertyId = param['id'];
60
+ });
61
+ }
62
+ ngOnDestroy() {
63
+ this.kycDetailsSubscription?.unsubscribe();
64
+ }
65
+ editSection() {
66
+ this._eventService.toggleEditorEvent.emit(false);
67
+ setTimeout(() => {
68
+ this._eventService.editSection.emit({ data: this.data });
69
+ }, 100);
70
+ }
71
+ move(event, idx) {
72
+ if (isNaN(Number(event.key)) && event.code != "Backspace")
73
+ return;
74
+ if (event.code != "Backspace") {
75
+ this.otpArray[idx] = event.key;
76
+ document.getElementById("otp_" + (idx + 1))?.focus();
77
+ }
78
+ if (event.code == "Backspace" && !this.otpArray[idx]) {
79
+ document.getElementById("otp_" + (idx - 1))?.focus();
80
+ }
81
+ }
82
+ moveLoginOtpCursor(event, idx) {
83
+ if (isNaN(Number(event.key)) && event.code != "Backspace")
84
+ return;
85
+ if (event.code != "Backspace") {
86
+ this.loginOtpArray[idx] = event.key;
87
+ document.getElementById("loginOtp_" + (idx + 1))?.focus();
88
+ }
89
+ if (event.code == "Backspace" && !this.otpArray[idx]) {
90
+ document.getElementById("loginOtp_" + (idx - 1))?.focus();
91
+ }
92
+ }
93
+ buttonClickedEvent() {
94
+ if (this.currentPage === 'SIGN_UP') {
95
+ this.sendOtp();
96
+ }
97
+ if (this.currentPage === 'OTP_VERIFY') {
98
+ this.signUp();
99
+ }
100
+ if (this.currentPage === 'LOGIN') {
101
+ this.loginWithPassword();
102
+ }
103
+ }
104
+ signUp() {
105
+ this.buttonLoader = true;
106
+ this.investor.otp = "";
107
+ this.otpArray.forEach((otp) => {
108
+ this.investor.otp += otp;
109
+ });
110
+ this.restService.signUp(this.investor).subscribe({
111
+ next: (res) => {
112
+ this.messageService.add({
113
+ severity: 'success',
114
+ summary: 'Sign Up',
115
+ detail: 'Sign up Successfully'
116
+ });
117
+ this.currentPage = 'LOGIN';
118
+ this.buttonLoader = false;
119
+ },
120
+ error: (err) => {
121
+ this.messageService.add({
122
+ severity: 'error',
123
+ summary: 'Sign Up Failed',
124
+ detail: 'Something went wrong. Please try again.'
125
+ });
126
+ this.buttonLoader = false;
127
+ }
128
+ });
129
+ }
130
+ sendOtp() {
131
+ this.buttonLoader = true;
132
+ this.restService.sendOtp(this.investor.emailId).subscribe({
133
+ next: (res) => {
134
+ this.messageService.add({
135
+ severity: 'success',
136
+ summary: 'OTP',
137
+ detail: 'OTP Sent Successfully'
138
+ });
139
+ this.currentPage = 'OTP_VERIFY';
140
+ this.buttonLoader = false;
141
+ },
142
+ error: (err) => {
143
+ this.messageService.add({
144
+ severity: 'error',
145
+ summary: 'OTP Failed',
146
+ detail: err.error?.message || 'Failed to send OTP. Please try again.'
147
+ });
148
+ this.buttonLoader = false;
149
+ }
150
+ });
151
+ }
152
+ loginWithPassword() {
153
+ this.buttonLoader = true;
154
+ this.restService.login({ email: this.loginEmail, password: this.investor.password }).subscribe({
155
+ next: (res) => {
156
+ this.messageService.add({
157
+ severity: 'success',
158
+ summary: 'Log In',
159
+ detail: 'Logged in successfully'
160
+ });
161
+ localStorage.setItem(StorageKeys.INVESTOR_ID, res.investorId);
162
+ if (this.propertyId) {
163
+ this.router.navigate(['details'], { queryParams: { id: this.propertyId } });
164
+ return;
165
+ }
166
+ this.getKycDetails();
167
+ this.router.navigate(['property-list']);
168
+ this.buttonLoader = false;
169
+ },
170
+ error: (err) => {
171
+ this.messageService.add({
172
+ severity: 'error',
173
+ summary: 'Login Failed',
174
+ detail: err.error?.message || 'Invalid email or password. Please try again.'
175
+ });
176
+ this.buttonLoader = false;
177
+ }
178
+ });
179
+ }
180
+ sendOtpForLogin() {
181
+ this.buttonLoader = true;
182
+ this.otpSent = false;
183
+ this.restService.sendOtp(this.loginEmail).subscribe({
184
+ next: (res) => {
185
+ this.otpSent = true;
186
+ this.messageService.add({
187
+ severity: 'success',
188
+ summary: 'OTP',
189
+ detail: 'OTP Sent Successfully'
190
+ });
191
+ this.buttonLoader = false;
192
+ },
193
+ error: (err) => {
194
+ this.messageService.add({
195
+ severity: 'error',
196
+ summary: 'Error',
197
+ detail: 'Failed to send OTP. Please try again.'
198
+ });
199
+ this.buttonLoader = false;
200
+ }
201
+ });
202
+ }
203
+ verifyOtp() {
204
+ this.buttonLoader = true;
205
+ let logInOtp = '';
206
+ this.loginOtpArray.forEach((otp) => {
207
+ logInOtp += otp;
208
+ });
209
+ this.restService.verifyOtp(this.loginEmail, logInOtp).subscribe({
210
+ next: (res) => {
211
+ this.messageService.add({
212
+ severity: 'success',
213
+ summary: 'Log In',
214
+ detail: 'Logged in successfully'
215
+ });
216
+ localStorage.setItem(StorageKeys.INVESTOR_ID, res.investorId);
217
+ if (this.propertyId) {
218
+ this.router.navigate(['details'], { queryParams: { id: this.propertyId } });
219
+ return;
220
+ }
221
+ this.getKycDetails();
222
+ this.router.navigate(['property-list']);
223
+ this.buttonLoader = false;
224
+ },
225
+ error: (err) => {
226
+ this.messageService.add({
227
+ severity: 'error',
228
+ summary: 'Error',
229
+ detail: 'Invalid OTP. Please try again.'
230
+ });
231
+ this.buttonLoader = false;
232
+ }
233
+ });
234
+ }
235
+ isValidEmail(email) {
236
+ const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
237
+ return emailRegex.test(email);
238
+ }
239
+ getKycDetails() {
240
+ this.kycDetailsSubscripition = this.restService.getKycDetails().subscribe((res) => {
241
+ if (!(res?.message?.panVerified === 'VALID' && res?.message?.aadhaarVerified === 'VALID')) {
242
+ this.matDialog.open(KycDetailsComponent, { panelClass: "login-signup" });
243
+ }
244
+ });
245
+ }
246
+ get isMobile() {
247
+ return window.innerWidth <= 475;
248
+ }
249
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SignupSigninComponent, deps: [{ token: i1.EventsService }, { token: i2.RestService }, { token: i3.Router }, { token: i3.ActivatedRoute }, { token: i4.MessageService }, { token: i5.MatDialog }], target: i0.ɵɵFactoryTarget.Component }); }
250
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.1.4", type: SignupSigninComponent, isStandalone: true, selector: "simpo-signup-signin", inputs: { data: "data", index: "index", edit: "edit", delete: "delete" }, providers: [MessageService], usesInheritance: true, ngImport: i0, template: "<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\n\n<section [id]=\"data?.id\" class=\"main-container h-85 d-flex align-items-center justify-content-center\"\n [ngStyle]=\"{'background-image': 'url(' + backgroundImage + ')'}\" simpoHover (hovering)=\"showEditTabs($event)\">\n <div class=\"middle-container w-40-85\" [id]=\"data?.id\" [simpoBackground]=\"data?.styles?.background\"\n [simpoAnimation]=\"data?.styles?.animation\" [simpoCorner]=\"data?.styles?.corners\">\n <div class=\"head\">{{ currentPage == 'LOGIN' || currentPage == 'OTP' ? \"Sign In\" : currentPage ==\n 'FORGOT_PASSWORD' ? \"Forgot Password\" : currentPage == 'OTP_VERIFY' ? \"OTP Verfication\" : \"Sign Up\"}}</div>\n <div class=\"field-container\">\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'LOGIN' || currentPage == 'OTP'\">\n <div class=\"field-head\">Email or Phone Number</div>\n <div class=\"field-text\">\n <input type=\"text\" placeholder=\"Please Enter Your Registered Email or Phone number\" [(ngModel)]=\"loginEmail\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'OTP' && otpSent\">\n <div class=\"field-head\">OTP</div>\n <div class=\"field-text-1\">\n <div id=\"otp\" class=\"inputs d-flex flex-row justify-content-center mt-2\">\n <ng-container *ngFor=\"let _ of [].constructor(4); let idx = index\">\n <input class=\"m-2 text-center form-control rounded additional-styles\" type=\"number\" max=\"1\"\n [(ngModel)]=\"loginOtpArray[idx]\" (keyup)=\"moveLoginOtpCursor($event, idx)\" [id]=\"'loginOtp_'+idx\" #otpInput />\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'OTP_VERIFY'\">\n <!-- <div class=\"field-head\" *ngIf=\"currentPage == 'OTP' \">OTP</div> -->\n <div class=\"field-text-1\">\n <div id=\"otp\" class=\"inputs d-flex flex-row justify-content-center mt-2\">\n <ng-container *ngFor=\"let _ of [].constructor(4); let idx = index\">\n <input class=\"m-2 text-center form-control rounded additional-styles\" type=\"number\" max=\"1\"\n [(ngModel)]=\"otpArray[idx]\" (keyup)=\"move($event, idx)\" [id]=\"'otp_'+idx\" #otpInput />\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'SIGN_UP'\">\n <div class=\"field-head\">Name</div>\n <div class=\"field-text\">\n <input type=\"text\" placeholder=\"Please Enter Your Name\" [(ngModel)]=\"investor.fullName\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'SIGN_UP'\">\n <div class=\"field-head\">Email</div>\n <div class=\"field-text\">\n <input type=\"text\" placeholder=\"Please Enter Your Email\" [(ngModel)]=\"investor.emailId\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'SIGN_UP'\">\n <div class=\"field-head\">Phone Number</div>\n <div class=\"field-text\">\n <input type=\"text\" placeholder=\"Please Enter Your Phone Number\" [(ngModel)]=\"investor.phoneNumber\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'FORGOT_PASSWORD'\">\n <div class=\"field-head\">Old Password</div>\n <div class=\"field-text\">\n <input type=\"password\" placeholder=\"Please Enter Your Password\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'FORGOT_PASSWORD'\">\n <div class=\"field-head\">New Password</div>\n <div class=\"field-text\">\n <input type=\"password\" placeholder=\"Please Enter Your Password\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'FORGOT_PASSWORD'\">\n <div class=\"field-head\">Re-Enter Password</div>\n <div class=\"field-text\">\n <input type=\"password\" placeholder=\"Please Re-Enter Your Password\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'LOGIN' || currentPage == 'SIGN_UP' \">\n <div class=\"field-head\">Password</div>\n <div class=\"field-text\">\n <input type=\"password\" placeholder=\"Please Enter Your Password\" [(ngModel)]=\"investor.password\">\n </div>\n </div>\n <div class=\"forgot-password cursor-pointer\" [style.color]=\"data?.styles?.background?.accentColor\"\n *ngIf=\"currentPage == 'LOGIN'\" (click)=\"currentPage = 'FORGOT_PASSWORD'\">Forgot Password?</div>\n <div class=\"forgot-password cursor-pointer\" [style.color]=\"data?.styles?.background?.accentColor\"\n *ngIf=\"currentPage == 'OTP_VERIFY'\">Resend OTP?</div>\n <div class=\"btn-container d-flex align-items-center justify-content-center\">\n <button class=\"login-btn cursor-pointer\" [style.background]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage != 'OTP'\"\n (click)=\"buttonClickedEvent()\" [disabled]=\"buttonLoader\" [class.btn-size]=\"currentPage == 'FORGOT_PASSWORD' || currentPage == 'SIGN_UP' || currentPage == 'OTP_VERIFY'\">\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i>&nbsp;Loading</span>\n <span *ngIf=\"!buttonLoader\">{{ currentPage ==\n 'LOGIN' ? \"Login\" : currentPage == 'FORGOT_PASSWORD' ? \"Reset Password\" :\n currentPage == 'OTP_VERIFY' ? 'Verify OTP' : \"Create Account\"}}</span></button>\n\n <button class=\"login-btn cursor-pointer\" (click)=\"sendOtpForLogin()\" [disabled]=\"buttonLoader\" [style.background]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage == 'OTP' && !otpSent\">\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i>&nbsp;Loading</span>\n <span *ngIf=\"!buttonLoader\">Send Otp</span>\n </button>\n\n <button class=\"login-btn cursor-pointer\" (click)=\"verifyOtp()\" [disabled]=\"buttonLoader\" [style.background]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage == 'OTP' && otpSent\">\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i>&nbsp;Loading</span>\n <span *ngIf=\"!buttonLoader\" >Login</span>\n </button>\n </div>\n <div class=\"another-page\" *ngIf=\"currentPage == 'LOGIN' || currentPage == 'OTP'\">\n <div class=\"signup-text\">Don\u2019t have an account? <span class=\"span-text cursor-pointer\"\n [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"currentPage = 'SIGN_UP'\">Sign\n Up</span></div>\n <div class=\"signup-text m-5\">or</div>\n <div class=\"signup-text\">Login with <span class=\"span-text cursor-pointer\"\n [style.color]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage == 'LOGIN' \"\n (click)=\"currentPage = 'OTP'\">OTP</span><span class=\"span-text cursor-pointer\"\n [style.color]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage == 'OTP'\"\n (click)=\"currentPage = 'LOGIN'\">Password</span></div>\n </div>\n <div class=\"another-page\" *ngIf=\"currentPage == 'SIGN_UP' || currentPage == 'FORGOT_PASSWORD'\">\n <div class=\"signup-text\">Already have an account? <span class=\"span-text cursor-pointer\"\n [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"currentPage = 'LOGIN'\">Sign\n In</span></div>\n </div>\n </div>\n </div>\n\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</section>\n", styles: ["*{font-family:DM Sans!important}.h-85{height:85vh;position:relative}.hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.w-40-85{width:40%}.btn-size{width:40%!important}.head{font-size:36px;font-weight:600;line-height:52px;color:#112133;text-align:center;padding:15px;padding-bottom:unset}.field-container{padding:15px}.field-head{margin-bottom:10px;font-size:17px;font-weight:600;line-height:24px;color:#2c2c2c}.field-text{padding:10px;border-radius:20px;font-size:15px;font-weight:400;color:#ababab;background:#fff}.field-text input{width:100%;border:none;appearance:none;outline:unset;background:#fff;color:#000}.forgot-password{text-align:end;font-size:16px;font-weight:600;line-height:24px;margin-bottom:15px}.another-page{margin-top:15px;text-align:center}.signup-text{color:#6b6b6b;font-size:14px;font-weight:400;line-height:24px;margin-bottom:5px}.m-5{margin:5px 0!important}.mb-30{margin-bottom:30px!important}.mb-15{margin-bottom:15px!important}.login-btn{border:unset;padding:12px 18px;border-radius:6px;font-size:18px!important;font-weight:600;line-height:20px}.span-text{font-weight:700!important}.cursor-pointer{cursor:pointer}.additional-styles{padding:15px 5px!important;width:9%!important;border:unset!important;border-radius:20px!important}@media screen and (max-width : 475px){.w-40-85{width:85%}.h-86{height:90vh!important}.btn-size{width:100%!important;white-space:nowrap}.additional-styles{width:15%!important;border-radius:10px!important}}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: SimpoComponentModule }, { kind: "component", type: i7.HoverElementsComponent, selector: "simpo-hover-elements", inputs: ["data", "index", "editOptions", "isMerged", "isEcommerce"], outputs: ["edit"] }, { kind: "component", type: i8.DeleteHoverElementComponent, selector: "simpo-delete-hover-element", inputs: ["index", "data"], outputs: ["edit"] }, { kind: "directive", type: HoverDirective, selector: "[simpoHover]", outputs: ["hovering"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i9.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i9.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i9.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type:
251
+ //Directives
252
+ BackgroundDirective, selector: "[simpoBackground]", inputs: ["simpoBackground", "scrollValue"] }, { kind: "directive", type: AnimationDirective, selector: "[simpoAnimation]", inputs: ["simpoAnimation"] }, { kind: "directive", type: CornerDirective, selector: "[simpoCorner]", inputs: ["simpoCorner"] }, { kind: "ngmodule", type: ToastModule }, { kind: "component", type: i10.Toast, selector: "p-toast", inputs: ["key", "autoZIndex", "baseZIndex", "life", "style", "styleClass", "position", "preventOpenDuplicates", "preventDuplicates", "showTransformOptions", "hideTransformOptions", "showTransitionOptions", "hideTransitionOptions", "breakpoints"], outputs: ["onClose"] }] }); }
253
+ }
254
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImport: i0, type: SignupSigninComponent, decorators: [{
255
+ type: Component,
256
+ args: [{ selector: 'simpo-signup-signin', standalone: true, imports: [
257
+ CommonModule,
258
+ SimpoComponentModule,
259
+ HoverElementsComponent,
260
+ DeleteHoverElementComponent,
261
+ HoverDirective,
262
+ FormsModule,
263
+ //Directives
264
+ BackgroundDirective,
265
+ AnimationDirective,
266
+ CornerDirective,
267
+ ToastModule
268
+ ], providers: [MessageService], template: "<p-toast position=\"bottom-right\" [baseZIndex]=\"10000000000\" [autoZIndex]=\"true\"\n [showTransformOptions]=\"isMobile ? 'translateY(-100%)' : ''\"></p-toast>\n\n<section [id]=\"data?.id\" class=\"main-container h-85 d-flex align-items-center justify-content-center\"\n [ngStyle]=\"{'background-image': 'url(' + backgroundImage + ')'}\" simpoHover (hovering)=\"showEditTabs($event)\">\n <div class=\"middle-container w-40-85\" [id]=\"data?.id\" [simpoBackground]=\"data?.styles?.background\"\n [simpoAnimation]=\"data?.styles?.animation\" [simpoCorner]=\"data?.styles?.corners\">\n <div class=\"head\">{{ currentPage == 'LOGIN' || currentPage == 'OTP' ? \"Sign In\" : currentPage ==\n 'FORGOT_PASSWORD' ? \"Forgot Password\" : currentPage == 'OTP_VERIFY' ? \"OTP Verfication\" : \"Sign Up\"}}</div>\n <div class=\"field-container\">\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'LOGIN' || currentPage == 'OTP'\">\n <div class=\"field-head\">Email or Phone Number</div>\n <div class=\"field-text\">\n <input type=\"text\" placeholder=\"Please Enter Your Registered Email or Phone number\" [(ngModel)]=\"loginEmail\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'OTP' && otpSent\">\n <div class=\"field-head\">OTP</div>\n <div class=\"field-text-1\">\n <div id=\"otp\" class=\"inputs d-flex flex-row justify-content-center mt-2\">\n <ng-container *ngFor=\"let _ of [].constructor(4); let idx = index\">\n <input class=\"m-2 text-center form-control rounded additional-styles\" type=\"number\" max=\"1\"\n [(ngModel)]=\"loginOtpArray[idx]\" (keyup)=\"moveLoginOtpCursor($event, idx)\" [id]=\"'loginOtp_'+idx\" #otpInput />\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'OTP_VERIFY'\">\n <!-- <div class=\"field-head\" *ngIf=\"currentPage == 'OTP' \">OTP</div> -->\n <div class=\"field-text-1\">\n <div id=\"otp\" class=\"inputs d-flex flex-row justify-content-center mt-2\">\n <ng-container *ngFor=\"let _ of [].constructor(4); let idx = index\">\n <input class=\"m-2 text-center form-control rounded additional-styles\" type=\"number\" max=\"1\"\n [(ngModel)]=\"otpArray[idx]\" (keyup)=\"move($event, idx)\" [id]=\"'otp_'+idx\" #otpInput />\n </ng-container>\n </div>\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'SIGN_UP'\">\n <div class=\"field-head\">Name</div>\n <div class=\"field-text\">\n <input type=\"text\" placeholder=\"Please Enter Your Name\" [(ngModel)]=\"investor.fullName\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'SIGN_UP'\">\n <div class=\"field-head\">Email</div>\n <div class=\"field-text\">\n <input type=\"text\" placeholder=\"Please Enter Your Email\" [(ngModel)]=\"investor.emailId\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'SIGN_UP'\">\n <div class=\"field-head\">Phone Number</div>\n <div class=\"field-text\">\n <input type=\"text\" placeholder=\"Please Enter Your Phone Number\" [(ngModel)]=\"investor.phoneNumber\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'FORGOT_PASSWORD'\">\n <div class=\"field-head\">Old Password</div>\n <div class=\"field-text\">\n <input type=\"password\" placeholder=\"Please Enter Your Password\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'FORGOT_PASSWORD'\">\n <div class=\"field-head\">New Password</div>\n <div class=\"field-text\">\n <input type=\"password\" placeholder=\"Please Enter Your Password\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'FORGOT_PASSWORD'\">\n <div class=\"field-head\">Re-Enter Password</div>\n <div class=\"field-text\">\n <input type=\"password\" placeholder=\"Please Re-Enter Your Password\">\n </div>\n </div>\n <div class=\"field mb-15\" *ngIf=\"currentPage == 'LOGIN' || currentPage == 'SIGN_UP' \">\n <div class=\"field-head\">Password</div>\n <div class=\"field-text\">\n <input type=\"password\" placeholder=\"Please Enter Your Password\" [(ngModel)]=\"investor.password\">\n </div>\n </div>\n <div class=\"forgot-password cursor-pointer\" [style.color]=\"data?.styles?.background?.accentColor\"\n *ngIf=\"currentPage == 'LOGIN'\" (click)=\"currentPage = 'FORGOT_PASSWORD'\">Forgot Password?</div>\n <div class=\"forgot-password cursor-pointer\" [style.color]=\"data?.styles?.background?.accentColor\"\n *ngIf=\"currentPage == 'OTP_VERIFY'\">Resend OTP?</div>\n <div class=\"btn-container d-flex align-items-center justify-content-center\">\n <button class=\"login-btn cursor-pointer\" [style.background]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage != 'OTP'\"\n (click)=\"buttonClickedEvent()\" [disabled]=\"buttonLoader\" [class.btn-size]=\"currentPage == 'FORGOT_PASSWORD' || currentPage == 'SIGN_UP' || currentPage == 'OTP_VERIFY'\">\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i>&nbsp;Loading</span>\n <span *ngIf=\"!buttonLoader\">{{ currentPage ==\n 'LOGIN' ? \"Login\" : currentPage == 'FORGOT_PASSWORD' ? \"Reset Password\" :\n currentPage == 'OTP_VERIFY' ? 'Verify OTP' : \"Create Account\"}}</span></button>\n\n <button class=\"login-btn cursor-pointer\" (click)=\"sendOtpForLogin()\" [disabled]=\"buttonLoader\" [style.background]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage == 'OTP' && !otpSent\">\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i>&nbsp;Loading</span>\n <span *ngIf=\"!buttonLoader\">Send Otp</span>\n </button>\n\n <button class=\"login-btn cursor-pointer\" (click)=\"verifyOtp()\" [disabled]=\"buttonLoader\" [style.background]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage == 'OTP' && otpSent\">\n <span *ngIf=\"buttonLoader\" ><i class=\"fas fa-circle-notch fa-spin\"></i>&nbsp;Loading</span>\n <span *ngIf=\"!buttonLoader\" >Login</span>\n </button>\n </div>\n <div class=\"another-page\" *ngIf=\"currentPage == 'LOGIN' || currentPage == 'OTP'\">\n <div class=\"signup-text\">Don\u2019t have an account? <span class=\"span-text cursor-pointer\"\n [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"currentPage = 'SIGN_UP'\">Sign\n Up</span></div>\n <div class=\"signup-text m-5\">or</div>\n <div class=\"signup-text\">Login with <span class=\"span-text cursor-pointer\"\n [style.color]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage == 'LOGIN' \"\n (click)=\"currentPage = 'OTP'\">OTP</span><span class=\"span-text cursor-pointer\"\n [style.color]=\"data?.styles?.background?.accentColor\" *ngIf=\"currentPage == 'OTP'\"\n (click)=\"currentPage = 'LOGIN'\">Password</span></div>\n </div>\n <div class=\"another-page\" *ngIf=\"currentPage == 'SIGN_UP' || currentPage == 'FORGOT_PASSWORD'\">\n <div class=\"signup-text\">Already have an account? <span class=\"span-text cursor-pointer\"\n [style.color]=\"data?.styles?.background?.accentColor\" (click)=\"currentPage = 'LOGIN'\">Sign\n In</span></div>\n </div>\n </div>\n </div>\n\n <div [ngClass]=\"{'hover_effect': edit}\" *ngIf=\"showEditors\">\n <simpo-hover-elements [data]=\"data\" [index]=\"index\" [editOptions]=\"edit\"></simpo-hover-elements>\n </div>\n <div *ngIf=\"showDelete\" [ngClass]=\"{'hover_effect': delete}\">\n <simpo-delete-hover-element [data]=\"data\" [index]=\"index\"></simpo-delete-hover-element>\n </div>\n</section>\n", styles: ["*{font-family:DM Sans!important}.h-85{height:85vh;position:relative}.hover_effect{position:absolute;width:100%;top:0;left:0;height:100%}.w-40-85{width:40%}.btn-size{width:40%!important}.head{font-size:36px;font-weight:600;line-height:52px;color:#112133;text-align:center;padding:15px;padding-bottom:unset}.field-container{padding:15px}.field-head{margin-bottom:10px;font-size:17px;font-weight:600;line-height:24px;color:#2c2c2c}.field-text{padding:10px;border-radius:20px;font-size:15px;font-weight:400;color:#ababab;background:#fff}.field-text input{width:100%;border:none;appearance:none;outline:unset;background:#fff;color:#000}.forgot-password{text-align:end;font-size:16px;font-weight:600;line-height:24px;margin-bottom:15px}.another-page{margin-top:15px;text-align:center}.signup-text{color:#6b6b6b;font-size:14px;font-weight:400;line-height:24px;margin-bottom:5px}.m-5{margin:5px 0!important}.mb-30{margin-bottom:30px!important}.mb-15{margin-bottom:15px!important}.login-btn{border:unset;padding:12px 18px;border-radius:6px;font-size:18px!important;font-weight:600;line-height:20px}.span-text{font-weight:700!important}.cursor-pointer{cursor:pointer}.additional-styles{padding:15px 5px!important;width:9%!important;border:unset!important;border-radius:20px!important}@media screen and (max-width : 475px){.w-40-85{width:85%}.h-86{height:90vh!important}.btn-size{width:100%!important;white-space:nowrap}.additional-styles{width:15%!important;border-radius:10px!important}}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
269
+ }], ctorParameters: () => [{ type: i1.EventsService }, { type: i2.RestService }, { type: i3.Router }, { type: i3.ActivatedRoute }, { type: i4.MessageService }, { type: i5.MatDialog }], propDecorators: { data: [{
270
+ type: Input
271
+ }], index: [{
272
+ type: Input
273
+ }], edit: [{
274
+ type: Input
275
+ }], delete: [{
276
+ type: Input
277
+ }] } });
278
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLXNpZ25pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3NpZ251cC1zaWduaW4vc2lnbnVwLXNpZ25pbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3NpZ251cC1zaWduaW4vc2lnbnVwLXNpZ25pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBMkIsTUFBTSxlQUFlLENBQUM7QUFFdEYsT0FBTyxXQUFXLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTlELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ2xHLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNFQUFzRSxDQUFDO0FBQ25ILE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDbkUsT0FBTyxFQUFFLFdBQVcsRUFBVyxNQUFNLGdCQUFnQixDQUFDO0FBR3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFN0MsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDM0UsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG9CQUFvQixD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QUVELElBQUksUUFBUTtRQUNWLE9BQU8sTUFBTSxDQUFDLFVBQVUsSUFBSSxHQUFHLENBQUM7SUFDbEMsQ0FBQzs4R0EvUFUscUJBQXFCO2tHQUFyQixxQkFBcUIsNElBSnJCLENBQUMsY0FBYyxDQUFDLGlEQzFDN0IsbytQQWdJQSxpcEREckdJLFlBQVksa2JBQ1osb0JBQW9CLG9XQUdwQixjQUFjLCtFQUNkLFdBQVc7Z0JBRVgsWUFBWTtnQkFFWixtQkFBbUIsMEdBQ25CLGtCQUFrQix5RkFDbEIsZUFBZSxrRkFDZixXQUFXOzsyRkFPRixxQkFBcUI7a0JBdkJqQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1A7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQixjQUFjO3dCQUNkLFdBQVc7d0JBRVgsWUFBWTt3QkFFWixtQkFBbUI7d0JBQ25CLGtCQUFrQjt3QkFDbEIsZUFBZTt3QkFDZixXQUFXO3FCQUVaLGFBQ1UsQ0FBQyxjQUFjLENBQUM7bU5BS2xCLElBQUk7c0JBQVosS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFF1ZXJ5TGlzdCwgVmlld0NoaWxkcmVuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTaWduSW5TaWduVXBTdHlsZXNNb2RlbCwgU2lnblVwU2lnbkluTW9kZWwgfSBmcm9tICcuL3NpZ251cC1zaWduaW4ubW9kZWwnO1xuaW1wb3J0IEJhc2VTZWN0aW9uIGZyb20gJy4uL0Jhc2VTZWN0aW9uJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTaW1wb0NvbXBvbmVudE1vZHVsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvaW5kZXgnO1xuaW1wb3J0IHsgRXZlbnRzU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvZXZlbnRzLnNlcnZpY2UnO1xuaW1wb3J0IHsgSG92ZXJFbGVtZW50c0NvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9jb21wb25lbnRzL2hvdmVyLWVsZW1lbnRzL2hvdmVyLWVsZW1lbnRzLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRGVsZXRlSG92ZXJFbGVtZW50Q29tcG9uZW50IH0gZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvZGVsZXRlLWhvdmVyLWVsZW1lbnQvZGVsZXRlLWhvdmVyLWVsZW1lbnQuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBIb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9ob3Zlci1lbGVtZW50LWRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBCYWNrZ3JvdW5kRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlL2JhY2tncm91bmQtZGlyZWN0aXZlJztcbmltcG9ydCB7IEFuaW1hdGlvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9hbmltYXRpb24tZGlyZWN0aXZlJztcbmltcG9ydCB7IENvcm5lckRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZS9jb3JuZXItZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgUmVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9yZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBNZXNzYWdlU2VydmljZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IE1hdERpYWxvZyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBLeWNEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSAnLi4va3ljLWRldGFpbHMva3ljLWRldGFpbHMuY29tcG9uZW50JztcbmltcG9ydCB7IFN0b3JhZ2VLZXlzIH0gZnJvbSAnLi4vLi4vc3R5bGVzL2luZGV4JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgVG9hc3RNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RvYXN0JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW1wby1zaWdudXAtc2lnbmluJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTaW1wb0NvbXBvbmVudE1vZHVsZSxcbiAgICBIb3ZlckVsZW1lbnRzQ29tcG9uZW50LFxuICAgIERlbGV0ZUhvdmVyRWxlbWVudENvbXBvbmVudCxcbiAgICBIb3ZlckRpcmVjdGl2ZSxcbiAgICBGb3Jtc01vZHVsZSxcblxuICAgIC8vRGlyZWN0aXZlc1xuXG4gICAgQmFja2dyb3VuZERpcmVjdGl2ZSxcbiAgICBBbmltYXRpb25EaXJlY3RpdmUsXG4gICAgQ29ybmVyRGlyZWN0aXZlLFxuICAgIFRvYXN0TW9kdWxlXG5cbiAgXSxcbiAgcHJvdmlkZXJzOiBbTWVzc2FnZVNlcnZpY2VdLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbnVwLXNpZ25pbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zaWdudXAtc2lnbmluLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIFNpZ251cFNpZ25pbkNvbXBvbmVudCBleHRlbmRzIEJhc2VTZWN0aW9uIHtcbiAgQElucHV0KCkgZGF0YT86IFNpZ25VcFNpZ25Jbk1vZGVsO1xuICBASW5wdXQoKSBpbmRleD86IG51bWJlcjtcbiAgQElucHV0KCkgZWRpdD86IGJvb2xlYW47XG4gIEBJbnB1dCgpIGRlbGV0ZT86IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfZXZlbnRTZXJ2aWNlOiBFdmVudHNTZXJ2aWNlLFxuICAgIHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSBhY3RpdmF0ZWRSb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSByZWFkb25seSBtZXNzYWdlU2VydmljZTogTWVzc2FnZVNlcnZpY2UsXG4gICAgcHJpdmF0ZSBtYXREaWFsb2c6IE1hdERpYWxvZ1xuICApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJvcGVydHlJZD86IG51bWJlcjtcbiAgYnV0dG9uTG9hZGVyOiBib29sZWFuID0gZmFsc2U7XG4gIGt5Y0RldGFpbHNTdWJzY3JpcHRpb24/OiBTdWJzY3JpcHRpb247XG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWN0aXZhdGVkUm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbTogYW55KSA9PiB7XG4gICAgICBpZiAocGFyYW1bJ3R5cGUnXSlcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9IHBhcmFtWyd0eXBlJ107XG4gICAgICBpZiAocGFyYW1bJ2lkJ10pXG4gICAgICAgIHRoaXMucHJvcGVydHlJZCA9IHBhcmFtWydpZCddO1xuICAgIH0pXG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmt5Y0RldGFpbHNTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBjdXJyZW50UGFnZTogJ0xPR0lOJyB8ICdTSUdOX1VQJyB8ICdPVFAnIHwgJ0ZPUkdPVF9QQVNTV09SRCcgfCAnT1RQX1ZFUklGWScgPSAnTE9HSU4nXG4gIGt5Y0RldGFpbHNTdWJzY3JpcGl0aW9uPzogU3Vic2NyaXB0aW9uO1xuICBiYWNrZ3JvdW5kSW1hZ2U6IGFueSA9IFwiaHR0cHM6Ly9wcm9kLXNpbXBvLnMzLmFwLXNvdXRoLTEuYW1hem9uYXdzLmNvbS9wcm9kLWltYWdlcy81MDA0MTVjMTczOTQzNDE4NjMxMGltYWdlJTIwMTYucG5nXCJcblxuICBlZGl0U2VjdGlvbigpIHtcbiAgICB0aGlzLl9ldmVudFNlcnZpY2UudG9nZ2xlRWRpdG9yRXZlbnQuZW1pdChmYWxzZSk7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZWRpdFNlY3Rpb24uZW1pdCh7IGRhdGE6IHRoaXMuZGF0YSB9KTtcbiAgICB9LCAxMDApO1xuICB9XG5cblxuICBvdHBBcnJheSA9IG5ldyBBcnJheSg0KS5maWxsKCcnKVxuICBtb3ZlKGV2ZW50OiBhbnksIGlkeDogbnVtYmVyKSB7XG5cbiAgICBpZiAoaXNOYU4oTnVtYmVyKGV2ZW50LmtleSkpICYmIGV2ZW50LmNvZGUgIT0gXCJCYWNrc3BhY2VcIilcbiAgICAgIHJldHVybjtcblxuICAgIGlmIChldmVudC5jb2RlICE9IFwiQmFja3NwYWNlXCIpIHtcbiAgICAgIHRoaXMub3RwQXJyYXlbaWR4XSA9IGV2ZW50LmtleTtcbiAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwib3RwX1wiICsgKGlkeCArIDEpKT8uZm9jdXMoKTtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmNvZGUgPT0gXCJCYWNrc3BhY2VcIiAmJiAhdGhpcy5vdHBBcnJheVtpZHhdKSB7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcIm90cF9cIiArIChpZHggLSAxKSk/LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgbG9naW5PdHBBcnJheSA9IG5ldyBBcnJheSg0KS5maWxsKCcnKVxuICBtb3ZlTG9naW5PdHBDdXJzb3IoZXZlbnQ6IGFueSwgaWR4OiBudW1iZXIpIHtcblxuICAgIGlmIChpc05hTihOdW1iZXIoZXZlbnQua2V5KSkgJiYgZXZlbnQuY29kZSAhPSBcIkJhY2tzcGFjZVwiKVxuICAgICAgcmV0dXJuO1xuXG4gICAgaWYgKGV2ZW50LmNvZGUgIT0gXCJCYWNrc3BhY2VcIikge1xuICAgICAgdGhpcy5sb2dpbk90cEFycmF5W2lkeF0gPSBldmVudC5rZXk7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImxvZ2luT3RwX1wiICsgKGlkeCArIDEpKT8uZm9jdXMoKTtcbiAgICB9XG4gICAgaWYgKGV2ZW50LmNvZGUgPT0gXCJCYWNrc3BhY2VcIiAmJiAhdGhpcy5vdHBBcnJheVtpZHhdKSB7XG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChcImxvZ2luT3RwX1wiICsgKGlkeCAtIDEpKT8uZm9jdXMoKTtcbiAgICB9XG4gIH1cblxuICBsb2dpbkVtYWlsOiBzdHJpbmcgPSAnJ1xuICBpbnZlc3RvcjogYW55ID0ge1xuICAgIFwiZnVsbE5hbWVcIjogXCJcIixcbiAgICBcImVtYWlsSWRcIjogXCJcIixcbiAgICBcInBob25lTnVtYmVyXCI6IFwiXCIsXG4gICAgXCJwYXNzd29yZFwiOiBcIlwiLFxuICAgIFwia3ljVmVyaWZpZWRcIjogZmFsc2UsXG4gICAgXCJhY3RpdmVcIjogdHJ1ZSxcbiAgICBcIm90cFwiOiBcIlwiLFxuICAgIFwiZGVsZXRlZFwiOiBmYWxzZVxuICB9XG4gIG90cFNlbnQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBidXR0b25DbGlja2VkRXZlbnQoKSB7XG4gICAgaWYgKHRoaXMuY3VycmVudFBhZ2UgPT09ICdTSUdOX1VQJykge1xuICAgICAgdGhpcy5zZW5kT3RwKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID09PSAnT1RQX1ZFUklGWScpIHtcbiAgICAgIHRoaXMuc2lnblVwKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLmN1cnJlbnRQYWdlID09PSAnTE9HSU4nKSB7XG4gICAgICB0aGlzLmxvZ2luV2l0aFBhc3N3b3JkKCk7XG4gICAgfVxuICB9XG5cbiAgc2lnblVwKCkge1xuICAgIHRoaXMuYnV0dG9uTG9hZGVyID0gdHJ1ZTtcbiAgICB0aGlzLmludmVzdG9yLm90cCA9IFwiXCJcbiAgICB0aGlzLm90cEFycmF5LmZvckVhY2goKG90cCkgPT4ge1xuICAgICAgdGhpcy5pbnZlc3Rvci5vdHAgKz0gb3RwO1xuICAgIH0pXG4gICAgdGhpcy5yZXN0U2VydmljZS5zaWduVXAodGhpcy5pbnZlc3Rvcikuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdzdWNjZXNzJyxcbiAgICAgICAgICBzdW1tYXJ5OiAnU2lnbiBVcCcsXG4gICAgICAgICAgZGV0YWlsOiAnU2lnbiB1cCBTdWNjZXNzZnVsbHknXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmN1cnJlbnRQYWdlID0gJ0xPR0lOJztcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgc3VtbWFyeTogJ1NpZ24gVXAgRmFpbGVkJyxcbiAgICAgICAgICBkZXRhaWw6ICdTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2Fpbi4nXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmJ1dHRvbkxvYWRlciA9IGZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cblxuXG4gIHNlbmRPdHAoKSB7XG4gICAgdGhpcy5idXR0b25Mb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMucmVzdFNlcnZpY2Uuc2VuZE90cCh0aGlzLmludmVzdG9yLmVtYWlsSWQpLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcbiAgICAgICAgdGhpcy5tZXNzYWdlU2VydmljZS5hZGQoe1xuICAgICAgICAgIHNldmVyaXR5OiAnc3VjY2VzcycsXG4gICAgICAgICAgc3VtbWFyeTogJ09UUCcsXG4gICAgICAgICAgZGV0YWlsOiAnT1RQIFNlbnQgU3VjY2Vzc2Z1bGx5J1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5jdXJyZW50UGFnZSA9ICdPVFBfVkVSSUZZJztcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgc3VtbWFyeTogJ09UUCBGYWlsZWQnLFxuICAgICAgICAgIGRldGFpbDogZXJyLmVycm9yPy5tZXNzYWdlIHx8ICdGYWlsZWQgdG8gc2VuZCBPVFAuIFBsZWFzZSB0cnkgYWdhaW4uJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkZXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgbG9naW5XaXRoUGFzc3dvcmQoKSB7XG4gICAgdGhpcy5idXR0b25Mb2FkZXIgPSB0cnVlO1xuICAgIHRoaXMucmVzdFNlcnZpY2UubG9naW4oeyBlbWFpbDogdGhpcy5sb2dpbkVtYWlsLCBwYXNzd29yZDogdGhpcy5pbnZlc3Rvci5wYXNzd29yZCB9KS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICBzZXZlcml0eTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgIHN1bW1hcnk6ICdMb2cgSW4nLFxuICAgICAgICAgIGRldGFpbDogJ0xvZ2dlZCBpbiBzdWNjZXNzZnVsbHknXG4gICAgICAgIH0pO1xuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTdG9yYWdlS2V5cy5JTlZFU1RPUl9JRCwgcmVzLmludmVzdG9ySWQpO1xuICAgICAgICBpZiAodGhpcy5wcm9wZXJ0eUlkKSB7XG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydkZXRhaWxzJ10sIHsgcXVlcnlQYXJhbXM6IHsgaWQ6IHRoaXMucHJvcGVydHlJZCB9IH0pO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmdldEt5Y0RldGFpbHMoKTtcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoWydwcm9wZXJ0eS1saXN0J10pO1xuICAgICAgICB0aGlzLmJ1dHRvbkxvYWRlciA9IGZhbHNlO1xuICAgICAgfSxcbiAgICAgIGVycm9yOiAoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICBzZXZlcml0eTogJ2Vycm9yJyxcbiAgICAgICAgICBzdW1tYXJ5OiAnTG9naW4gRmFpbGVkJyxcbiAgICAgICAgICBkZXRhaWw6IGVyci5lcnJvcj8ubWVzc2FnZSB8fCAnSW52YWxpZCBlbWFpbCBvciBwYXNzd29yZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmJ1dHRvbkxvYWRlciA9IGZhbHNlO1xuICAgICAgfVxuXG4gICAgfSk7XG4gIH1cblxuXG4gIHNlbmRPdHBGb3JMb2dpbigpIHtcbiAgICB0aGlzLmJ1dHRvbkxvYWRlciA9IHRydWU7XG4gICAgdGhpcy5vdHBTZW50ID0gZmFsc2U7XG5cbiAgICB0aGlzLnJlc3RTZXJ2aWNlLnNlbmRPdHAodGhpcy5sb2dpbkVtYWlsKS5zdWJzY3JpYmUoe1xuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XG4gICAgICAgIHRoaXMub3RwU2VudCA9IHRydWU7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICBzZXZlcml0eTogJ3N1Y2Nlc3MnLFxuICAgICAgICAgIHN1bW1hcnk6ICdPVFAnLFxuICAgICAgICAgIGRldGFpbDogJ09UUCBTZW50IFN1Y2Nlc3NmdWxseSdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGVyID0gZmFsc2U7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IChlcnI6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdlcnJvcicsXG4gICAgICAgICAgc3VtbWFyeTogJ0Vycm9yJyxcbiAgICAgICAgICBkZXRhaWw6ICdGYWlsZWQgdG8gc2VuZCBPVFAuIFBsZWFzZSB0cnkgYWdhaW4uJ1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkZXIgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHZlcmlmeU90cCgpIHtcbiAgICB0aGlzLmJ1dHRvbkxvYWRlciA9IHRydWU7XG4gICAgbGV0IGxvZ0luT3RwOiBzdHJpbmcgPSAnJztcbiAgICB0aGlzLmxvZ2luT3RwQXJyYXkuZm9yRWFjaCgob3RwKSA9PiB7XG4gICAgICBsb2dJbk90cCArPSBvdHA7XG4gICAgfSk7XG4gICAgdGhpcy5yZXN0U2VydmljZS52ZXJpZnlPdHAodGhpcy5sb2dpbkVtYWlsLCBsb2dJbk90cCkuc3Vic2NyaWJlKHtcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xuICAgICAgICB0aGlzLm1lc3NhZ2VTZXJ2aWNlLmFkZCh7XG4gICAgICAgICAgc2V2ZXJpdHk6ICdzdWNjZXNzJyxcbiAgICAgICAgICBzdW1tYXJ5OiAnTG9nIEluJyxcbiAgICAgICAgICBkZXRhaWw6ICdMb2dnZWQgaW4gc3VjY2Vzc2Z1bGx5J1xuICAgICAgICB9KTtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oU3RvcmFnZUtleXMuSU5WRVNUT1JfSUQsIHJlcy5pbnZlc3RvcklkKTtcbiAgICAgICAgaWYgKHRoaXMucHJvcGVydHlJZCkge1xuICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnZGV0YWlscyddLCB7IHF1ZXJ5UGFyYW1zOiB7IGlkOiB0aGlzLnByb3BlcnR5SWQgfSB9KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5nZXRLeWNEZXRhaWxzKCk7XG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsncHJvcGVydHktbGlzdCddKTtcbiAgICAgICAgdGhpcy5idXR0b25Mb2FkZXIgPSBmYWxzZTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogKGVycjogYW55KSA9PiB7XG4gICAgICAgIHRoaXMubWVzc2FnZVNlcnZpY2UuYWRkKHtcbiAgICAgICAgICBzZXZlcml0eTogJ2Vycm9yJyxcbiAgICAgICAgICBzdW1tYXJ5OiAnRXJyb3InLFxuICAgICAgICAgIGRldGFpbDogJ0ludmFsaWQgT1RQLiBQbGVhc2UgdHJ5IGFnYWluLidcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYnV0dG9uTG9hZGVyID0gZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBpc1ZhbGlkRW1haWwoZW1haWw6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGVtYWlsUmVnZXggPSAvXlthLXpBLVowLTkuXyUrLV0rQFthLXpBLVowLTkuLV0rXFwuW2EtekEtWl17Mix9JC87XG4gICAgcmV0dXJuIGVtYWlsUmVnZXgudGVzdChlbWFpbCk7XG4gIH1cblxuICBnZXRLeWNEZXRhaWxzKCkge1xuICAgIHRoaXMua3ljRGV0YWlsc1N1YnNjcmlwaXRpb24gPSB0aGlzLnJlc3RTZXJ2aWNlLmdldEt5Y0RldGFpbHMoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICBpZighKHJlcz8ubWVzc2FnZT8ucGFuVmVyaWZpZWQgPT09ICdWQUxJRCcgJiYgcmVzPy5tZXNzYWdlPy5hYWRoYWFyVmVyaWZpZWQgPT09ICdWQUxJRCcpKSB7XG4gICAgICAgIHRoaXMubWF0RGlhbG9nLm9wZW4oS3ljRGV0YWlsc0NvbXBvbmVudCwgeyBwYW5lbENsYXNzOiBcImxvZ2luLXNpZ251cFwiIH0pO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBnZXQgaXNNb2JpbGUoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5pbm5lcldpZHRoIDw9IDQ3NTtcbiAgfVxuXG59XG4iLCI8cC10b2FzdCBwb3NpdGlvbj1cImJvdHRvbS1yaWdodFwiIFtiYXNlWkluZGV4XT1cIjEwMDAwMDAwMDAwXCIgW2F1dG9aSW5kZXhdPVwidHJ1ZVwiXG4gICAgW3Nob3dUcmFuc2Zvcm1PcHRpb25zXT1cImlzTW9iaWxlID8gJ3RyYW5zbGF0ZVkoLTEwMCUpJyA6ICcnXCI+PC9wLXRvYXN0PlxuXG48c2VjdGlvbiBbaWRdPVwiZGF0YT8uaWRcIiBjbGFzcz1cIm1haW4tY29udGFpbmVyIGgtODUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCJcbiAgW25nU3R5bGVdPVwieydiYWNrZ3JvdW5kLWltYWdlJzogJ3VybCgnICsgYmFja2dyb3VuZEltYWdlICsgJyknfVwiIHNpbXBvSG92ZXIgKGhvdmVyaW5nKT1cInNob3dFZGl0VGFicygkZXZlbnQpXCI+XG4gIDxkaXYgY2xhc3M9XCJtaWRkbGUtY29udGFpbmVyIHctNDAtODVcIiBbaWRdPVwiZGF0YT8uaWRcIiBbc2ltcG9CYWNrZ3JvdW5kXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZFwiXG4gICAgW3NpbXBvQW5pbWF0aW9uXT1cImRhdGE/LnN0eWxlcz8uYW5pbWF0aW9uXCIgW3NpbXBvQ29ybmVyXT1cImRhdGE/LnN0eWxlcz8uY29ybmVyc1wiPlxuICAgIDxkaXYgY2xhc3M9XCJoZWFkXCI+e3sgY3VycmVudFBhZ2UgPT0gJ0xPR0lOJyB8fCBjdXJyZW50UGFnZSA9PSAnT1RQJyA/IFwiU2lnbiBJblwiIDogY3VycmVudFBhZ2UgPT1cbiAgICAgICdGT1JHT1RfUEFTU1dPUkQnID8gXCJGb3Jnb3QgUGFzc3dvcmRcIiA6IGN1cnJlbnRQYWdlID09ICdPVFBfVkVSSUZZJyA/IFwiT1RQIFZlcmZpY2F0aW9uXCIgOiBcIlNpZ24gVXBcIn19PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZpZWxkLWNvbnRhaW5lclwiPlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIG1iLTE1XCIgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnTE9HSU4nIHx8IGN1cnJlbnRQYWdlID09ICdPVFAnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1oZWFkXCI+RW1haWwgb3IgUGhvbmUgTnVtYmVyPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC10ZXh0XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJQbGVhc2UgRW50ZXIgWW91ciBSZWdpc3RlcmVkIEVtYWlsIG9yIFBob25lIG51bWJlclwiIFsobmdNb2RlbCldPVwibG9naW5FbWFpbFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIG1iLTE1XCIgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnT1RQJyAmJiBvdHBTZW50XCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1oZWFkXCI+T1RQPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC10ZXh0LTFcIj5cbiAgICAgICAgICA8ZGl2IGlkPVwib3RwXCIgY2xhc3M9XCJpbnB1dHMgZC1mbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgbXQtMlwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgXyBvZiBbXS5jb25zdHJ1Y3Rvcig0KTsgbGV0IGlkeCA9IGluZGV4XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cIm0tMiB0ZXh0LWNlbnRlciBmb3JtLWNvbnRyb2wgcm91bmRlZCBhZGRpdGlvbmFsLXN0eWxlc1wiIHR5cGU9XCJudW1iZXJcIiBtYXg9XCIxXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cImxvZ2luT3RwQXJyYXlbaWR4XVwiIChrZXl1cCk9XCJtb3ZlTG9naW5PdHBDdXJzb3IoJGV2ZW50LCBpZHgpXCIgW2lkXT1cIidsb2dpbk90cF8nK2lkeFwiICNvdHBJbnB1dCAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgbWItMTVcIiAqbmdJZj1cImN1cnJlbnRQYWdlID09ICdPVFBfVkVSSUZZJ1wiPlxuICAgICAgICA8IS0tIDxkaXYgY2xhc3M9XCJmaWVsZC1oZWFkXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnT1RQJyBcIj5PVFA8L2Rpdj4gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC10ZXh0LTFcIj5cbiAgICAgICAgICA8ZGl2IGlkPVwib3RwXCIgY2xhc3M9XCJpbnB1dHMgZC1mbGV4IGZsZXgtcm93IGp1c3RpZnktY29udGVudC1jZW50ZXIgbXQtMlwiPlxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgXyBvZiBbXS5jb25zdHJ1Y3Rvcig0KTsgbGV0IGlkeCA9IGluZGV4XCI+XG4gICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cIm0tMiB0ZXh0LWNlbnRlciBmb3JtLWNvbnRyb2wgcm91bmRlZCBhZGRpdGlvbmFsLXN0eWxlc1wiIHR5cGU9XCJudW1iZXJcIiBtYXg9XCIxXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm90cEFycmF5W2lkeF1cIiAoa2V5dXApPVwibW92ZSgkZXZlbnQsIGlkeClcIiBbaWRdPVwiJ290cF8nK2lkeFwiICNvdHBJbnB1dCAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgbWItMTVcIiAqbmdJZj1cImN1cnJlbnRQYWdlID09ICdTSUdOX1VQJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQtaGVhZFwiPk5hbWU8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLXRleHRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIlBsZWFzZSBFbnRlciBZb3VyIE5hbWVcIiBbKG5nTW9kZWwpXT1cImludmVzdG9yLmZ1bGxOYW1lXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgbWItMTVcIiAqbmdJZj1cImN1cnJlbnRQYWdlID09ICdTSUdOX1VQJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQtaGVhZFwiPkVtYWlsPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC10ZXh0XCI+XG4gICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgcGxhY2Vob2xkZXI9XCJQbGVhc2UgRW50ZXIgWW91ciBFbWFpbFwiIFsobmdNb2RlbCldPVwiaW52ZXN0b3IuZW1haWxJZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIG1iLTE1XCIgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnU0lHTl9VUCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLWhlYWRcIj5QaG9uZSBOdW1iZXI8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLXRleHRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIlBsZWFzZSBFbnRlciBZb3VyIFBob25lIE51bWJlclwiIFsobmdNb2RlbCldPVwiaW52ZXN0b3IucGhvbmVOdW1iZXJcIj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZCBtYi0xNVwiICpuZ0lmPVwiY3VycmVudFBhZ2UgPT0gJ0ZPUkdPVF9QQVNTV09SRCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLWhlYWRcIj5PbGQgUGFzc3dvcmQ8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLXRleHRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgcGxhY2Vob2xkZXI9XCJQbGVhc2UgRW50ZXIgWW91ciBQYXNzd29yZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIG1iLTE1XCIgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnRk9SR09UX1BBU1NXT1JEJ1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQtaGVhZFwiPk5ldyBQYXNzd29yZDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQtdGV4dFwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIlBsZWFzZSBFbnRlciBZb3VyIFBhc3N3b3JkXCI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZmllbGQgbWItMTVcIiAqbmdJZj1cImN1cnJlbnRQYWdlID09ICdGT1JHT1RfUEFTU1dPUkQnXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJmaWVsZC1oZWFkXCI+UmUtRW50ZXIgUGFzc3dvcmQ8L2Rpdj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLXRleHRcIj5cbiAgICAgICAgICA8aW5wdXQgdHlwZT1cInBhc3N3b3JkXCIgcGxhY2Vob2xkZXI9XCJQbGVhc2UgUmUtRW50ZXIgWW91ciBQYXNzd29yZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZpZWxkIG1iLTE1XCIgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnTE9HSU4nIHx8IGN1cnJlbnRQYWdlID09ICdTSUdOX1VQJyBcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpZWxkLWhlYWRcIj5QYXNzd29yZDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmllbGQtdGV4dFwiPlxuICAgICAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIlBsZWFzZSBFbnRlciBZb3VyIFBhc3N3b3JkXCIgWyhuZ01vZGVsKV09XCJpbnZlc3Rvci5wYXNzd29yZFwiPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImZvcmdvdC1wYXNzd29yZCBjdXJzb3ItcG9pbnRlclwiIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCJcbiAgICAgICAgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnTE9HSU4nXCIgKGNsaWNrKT1cImN1cnJlbnRQYWdlID0gJ0ZPUkdPVF9QQVNTV09SRCdcIj5Gb3Jnb3QgUGFzc3dvcmQ/PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZm9yZ290LXBhc3N3b3JkIGN1cnNvci1wb2ludGVyXCIgW3N0eWxlLmNvbG9yXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIlxuICAgICAgICAqbmdJZj1cImN1cnJlbnRQYWdlID09ICdPVFBfVkVSSUZZJ1wiPlJlc2VuZCBPVFA/PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYnRuLWNvbnRhaW5lciBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1jZW50ZXJcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImxvZ2luLWJ0biBjdXJzb3ItcG9pbnRlclwiIFtzdHlsZS5iYWNrZ3JvdW5kXT1cImRhdGE/LnN0eWxlcz8uYmFja2dyb3VuZD8uYWNjZW50Q29sb3JcIiAqbmdJZj1cImN1cnJlbnRQYWdlICE9ICdPVFAnXCJcbiAgICAgICAgKGNsaWNrKT1cImJ1dHRvbkNsaWNrZWRFdmVudCgpXCIgW2Rpc2FibGVkXT1cImJ1dHRvbkxvYWRlclwiIFtjbGFzcy5idG4tc2l6ZV09XCJjdXJyZW50UGFnZSA9PSAnRk9SR09UX1BBU1NXT1JEJyB8fCBjdXJyZW50UGFnZSA9PSAnU0lHTl9VUCcgfHwgY3VycmVudFBhZ2UgPT0gJ09UUF9WRVJJRlknXCI+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCJidXR0b25Mb2FkZXJcIiA+PGkgY2xhc3M9XCJmYXMgZmEtY2lyY2xlLW5vdGNoIGZhLXNwaW5cIj48L2k+Jm5ic3A7TG9hZGluZzwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFidXR0b25Mb2FkZXJcIj57eyBjdXJyZW50UGFnZSA9PVxuICAgICAgICAgICAgJ0xPR0lOJyA/IFwiTG9naW5cIiA6IGN1cnJlbnRQYWdlID09ICdGT1JHT1RfUEFTU1dPUkQnID8gXCJSZXNldCBQYXNzd29yZFwiIDpcbiAgICAgICAgICAgIGN1cnJlbnRQYWdlID09ICdPVFBfVkVSSUZZJyA/ICdWZXJpZnkgT1RQJyA6IFwiQ3JlYXRlIEFjY291bnRcIn19PC9zcGFuPjwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJsb2dpbi1idG4gY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic2VuZE90cEZvckxvZ2luKClcIiBbZGlzYWJsZWRdPVwiYnV0dG9uTG9hZGVyXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiICpuZ0lmPVwiY3VycmVudFBhZ2UgPT0gJ09UUCcgJiYgIW90cFNlbnRcIj5cbiAgICAgICAgICA8c3BhbiAqbmdJZj1cImJ1dHRvbkxvYWRlclwiID48aSBjbGFzcz1cImZhcyBmYS1jaXJjbGUtbm90Y2ggZmEtc3BpblwiPjwvaT4mbmJzcDtMb2FkaW5nPC9zcGFuPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiIWJ1dHRvbkxvYWRlclwiPlNlbmQgT3RwPC9zcGFuPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJsb2dpbi1idG4gY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidmVyaWZ5T3RwKClcIiBbZGlzYWJsZWRdPVwiYnV0dG9uTG9hZGVyXCIgW3N0eWxlLmJhY2tncm91bmRdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiICpuZ0lmPVwiY3VycmVudFBhZ2UgPT0gJ09UUCcgJiYgb3RwU2VudFwiPlxuICAgICAgICAgIDxzcGFuICpuZ0lmPVwiYnV0dG9uTG9hZGVyXCIgPjxpIGNsYXNzPVwiZmFzIGZhLWNpcmNsZS1ub3RjaCBmYS1zcGluXCI+PC9pPiZuYnNwO0xvYWRpbmc8L3NwYW4+XG4gICAgICAgICAgPHNwYW4gKm5nSWY9XCIhYnV0dG9uTG9hZGVyXCIgPkxvZ2luPC9zcGFuPlxuICAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhbm90aGVyLXBhZ2VcIiAqbmdJZj1cImN1cnJlbnRQYWdlID09ICdMT0dJTicgfHwgY3VycmVudFBhZ2UgPT0gJ09UUCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZ251cC10ZXh0XCI+RG9u4oCZdCBoYXZlIGFuIGFjY291bnQ/IDxzcGFuIGNsYXNzPVwic3Bhbi10ZXh0IGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgKGNsaWNrKT1cImN1cnJlbnRQYWdlID0gJ1NJR05fVVAnXCI+U2lnblxuICAgICAgICAgICAgVXA8L3NwYW4+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJzaWdudXAtdGV4dCBtLTVcIj5vcjwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2lnbnVwLXRleHRcIj5Mb2dpbiB3aXRoIDxzcGFuIGNsYXNzPVwic3Bhbi10ZXh0IGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnTE9HSU4nIFwiXG4gICAgICAgICAgICAoY2xpY2spPVwiY3VycmVudFBhZ2UgPSAnT1RQJ1wiPk9UUDwvc3Bhbj48c3BhbiBjbGFzcz1cInNwYW4tdGV4dCBjdXJzb3ItcG9pbnRlclwiXG4gICAgICAgICAgICBbc3R5bGUuY29sb3JdPVwiZGF0YT8uc3R5bGVzPy5iYWNrZ3JvdW5kPy5hY2NlbnRDb2xvclwiICpuZ0lmPVwiY3VycmVudFBhZ2UgPT0gJ09UUCdcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImN1cnJlbnRQYWdlID0gJ0xPR0lOJ1wiPlBhc3N3b3JkPC9zcGFuPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiYW5vdGhlci1wYWdlXCIgKm5nSWY9XCJjdXJyZW50UGFnZSA9PSAnU0lHTl9VUCcgfHwgY3VycmVudFBhZ2UgPT0gJ0ZPUkdPVF9QQVNTV09SRCdcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInNpZ251cC10ZXh0XCI+QWxyZWFkeSBoYXZlIGFuIGFjY291bnQ/IDxzcGFuIGNsYXNzPVwic3Bhbi10ZXh0IGN1cnNvci1wb2ludGVyXCJcbiAgICAgICAgICAgIFtzdHlsZS5jb2xvcl09XCJkYXRhPy5zdHlsZXM/LmJhY2tncm91bmQ/LmFjY2VudENvbG9yXCIgKGNsaWNrKT1cImN1cnJlbnRQYWdlID0gJ0xPR0lOJ1wiPlNpZ25cbiAgICAgICAgICAgIEluPC9zcGFuPjwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuXG4gIDxkaXYgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBlZGl0fVwiICpuZ0lmPVwic2hvd0VkaXRvcnNcIj5cbiAgICA8c2ltcG8taG92ZXItZWxlbWVudHMgW2RhdGFdPVwiZGF0YVwiIFtpbmRleF09XCJpbmRleFwiIFtlZGl0T3B0aW9uc109XCJlZGl0XCI+PC9zaW1wby1ob3Zlci1lbGVtZW50cz5cbiAgPC9kaXY+XG4gIDxkaXYgKm5nSWY9XCJzaG93RGVsZXRlXCIgW25nQ2xhc3NdPVwieydob3Zlcl9lZmZlY3QnOiBkZWxldGV9XCI+XG4gICAgPHNpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50IFtkYXRhXT1cImRhdGFcIiBbaW5kZXhdPVwiaW5kZXhcIj48L3NpbXBvLWRlbGV0ZS1ob3Zlci1lbGVtZW50PlxuICA8L2Rpdj5cbjwvc2VjdGlvbj5cbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbnVwLXNpZ25pbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NpbXBvLXVpL3NyYy9saWIvc2VjdGlvbnMvc2lnbnVwLXNpZ25pbi9zaWdudXAtc2lnbmluLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDYXJkU3R5bGVzLCBTdHlsZXNNb2RlbCB9IGZyb20gXCIuLy4uLy4uL3N0eWxlcy9zdHlsZS5tb2RlbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25VcFNpZ25Jbk1vZGVse1xuICAgIGlkOiBzdHJpbmcsXG4gICAgc2VjdGlvblR5cGU6IHN0cmluZyxcbiAgICBzZWN0aW9uTmFtZTogc3RyaW5nLFxuICAgIGNvbnRlbnQgOiB7fSxcbiAgICBzdHlsZXM6IFNpZ25JblNpZ25VcFN0eWxlc01vZGVsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpZ25JblNpZ25VcFN0eWxlc01vZGVsIGV4dGVuZHMgU3R5bGVzTW9kZWwsQ2FyZFN0eWxlc3tcblxufSJdfQ==
@@ -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'\">\n <div>\n <mat-spinner></mat-spinner>\n <p>Please Wait...</p>\n </div>\n</section>\n\n<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'SUCCESS'\">\n <div>\n <div class=\"image_section\">\n <img src=\"https://dev-beeos.s3.amazonaws.com/product_image/452801c1736315910620sucess.gif\" alt=\"loader\">\n </div>\n <div class=\"success_heading\">\n Payment Successfull\n </div>\n </div>\n\n</section>\n\n<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'FAILED'\">\n <div>\n <div class=\"image_section\">\n <img src=\"https://dev-beeos.s3.amazonaws.com/product_image/812371c1736315916840fail.jpg\" alt=\"loader\">\n </div>\n <div class=\"success_heading\">\n Payment Failed\n </div>\n </div>\n</section>\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'\">\n <div>\n <mat-spinner></mat-spinner>\n <p>Please Wait...</p>\n </div>\n</section>\n\n<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'SUCCESS'\">\n <div>\n <div class=\"image_section\">\n <img src=\"https://dev-beeos.s3.amazonaws.com/product_image/452801c1736315910620sucess.gif\" alt=\"loader\">\n </div>\n <div class=\"success_heading\">\n Payment Successfull\n </div>\n </div>\n\n</section>\n\n<section class=\"main-section spinner\" *ngIf=\"paymentStatus === 'FAILED'\">\n <div>\n <div class=\"image_section\">\n <img src=\"https://dev-beeos.s3.amazonaws.com/product_image/812371c1736315916840fail.jpg\" alt=\"loader\">\n </div>\n <div class=\"success_heading\">\n Payment Failed\n </div>\n </div>\n</section>\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyaWZ5LXByb3BlcnR5LXBheW1lbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2ltcG8tdWkvc3JjL2xpYi9zZWN0aW9ucy92ZXJpZnktcHJvcGVydHktcGF5bWVudC92ZXJpZnktcHJvcGVydHktcGF5bWVudC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlY3Rpb25zL3ZlcmlmeS1wcm9wZXJ0eS1wYXltZW50L3ZlcmlmeS1wcm9wZXJ0eS1wYXltZW50LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOzs7Ozs7QUFXOUUsTUFBTSxPQUFPLDhCQUE4QjtJQU16QyxZQUFvQixXQUF3QixFQUNsQyxNQUFjO1FBREosZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDbEMsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQU54QixrQkFBYSxHQUFxQyxTQUFTLENBQUE7UUFFbkQsY0FBUyxHQUFXLENBQUMsQ0FBQztRQUN0QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztJQUkvQixDQUFDO0lBRUwsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxXQUFXLENBQUMsMkJBQTJCLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUVwRSxJQUFHLEdBQUcsQ0FBQyxNQUFNLEtBQUssV0FBVztnQkFDM0IsSUFBSSxDQUFDLGFBQWEsR0FBRyxTQUFTLENBQUM7O2dCQUUvQixJQUFJLENBQUMsYUFBYSxHQUFHLFFBQVEsQ0FBQztZQUVoQyxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpDLENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ1gsSUFBRyxLQUFLLENBQUMsT0FBTyxJQUFJLGdCQUFnQixFQUFDLENBQUM7Z0JBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO2dCQUNyQyxPQUFPO1lBQ1QsQ0FBQztZQUVELElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3pDLElBQUksQ0FBQyxhQUFhLEdBQUcsUUFBUSxDQUFDO2dCQUM5QixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1lBQ3ZDLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsY0FBYyxDQUFDLE9BQWU7UUFDNUIsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDdEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFBO0lBQ1YsQ0FBQzs4R0E3Q1UsOEJBQThCO2tHQUE5Qiw4QkFBOEIseUZDYjNDLDIyQkE2QkEsdzRDRHBCWSx3QkFBd0Isa09BQUUsWUFBWTs7MkZBSXJDLDhCQUE4QjtrQkFQMUMsU0FBUzsrQkFDRSwrQkFBK0IsY0FDN0IsSUFBSSxXQUNQLENBQUMsd0JBQXdCLEVBQUUsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBSZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3Jlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzaW1wby12ZXJpZnktcHJvcGVydHktcGF5bWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUsIENvbW1vbk1vZHVsZV0sXG4gIHRlbXBsYXRlVXJsOiAnLi92ZXJpZnktcHJvcGVydHktcGF5bWVudC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi92ZXJpZnktcHJvcGVydHktcGF5bWVudC5jb21wb25lbnQuY3NzJ1xufSlcbmV4cG9ydCBjbGFzcyBWZXJpZnlQcm9wZXJ0eVBheW1lbnRDb21wb25lbnQge1xuICBwYXltZW50U3RhdHVzOiAnT05HT0lORycgfCAnU1VDQ0VTUycgfCAnRkFJTEVEJyA9ICdPTkdPSU5HJ1xuXG4gIHByaXZhdGUgQVBJX0NPVU5UOiBudW1iZXIgPSAwO1xuICBwcml2YXRlIE1BWF9BUElfQ09VTlQ6IG51bWJlciA9IDIwO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVzdFNlcnZpY2U6IFJlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXJcbiAgKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNoZWNrUGF5bWVudFN0YXR1cygpO1xuICB9XG5cbiAgY2hlY2tQYXltZW50U3RhdHVzKCkge1xuICAgIHRoaXMuQVBJX0NPVU5UKys7XG4gICAgdGhpcy5yZXN0U2VydmljZS52ZXJpZnlQcm9wZXJ0eVBheW1lbnRTdGF0dXMoKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG5cbiAgICAgIGlmKHJlcy5zdGF0dXMgPT09ICdQVVJDSEFTRUQnKVxuICAgICAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAnU1VDQ0VTUyc7XG4gICAgICBlbHNlXG4gICAgICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICdGQUlMRUQnO1xuXG4gICAgICB0aGlzLnJlZGlyZWN0VG9QYWdlKCdwcm9maWxlJyk7XG5cbiAgICB9LCAoZXJyb3IpID0+IHtcbiAgICAgIGlmKGVycm9yLm1lc3NhZ2UgPT0gJ1BheW1lbnQgRmFpbGVkJyl7XG4gICAgICAgIHRoaXMucGF5bWVudFN0YXR1cyA9ICdGQUlMRUQnO1xuICAgICAgICB0aGlzLnJlZGlyZWN0VG9QYWdlKCdwcm9wZXJ0eS1saXN0Jyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuQVBJX0NPVU5UID49IHRoaXMuTUFYX0FQSV9DT1VOVCkge1xuICAgICAgICB0aGlzLnBheW1lbnRTdGF0dXMgPSAnRkFJTEVEJztcbiAgICAgICAgdGhpcy5yZWRpcmVjdFRvUGFnZSgncHJvcGVydHktbGlzdCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5jaGVja1BheW1lbnRTdGF0dXMoKTtcbiAgICAgIH1cbiAgICB9KVxuICB9XG5cbiAgcmVkaXJlY3RUb1BhZ2UocGFnZVVybDogc3RyaW5nKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYCR7cGFnZVVybH1gXSlcbiAgICB9LCA1MDAwKVxuICB9XG59XG4iLCI8c2VjdGlvbiBjbGFzcz1cIm1haW4tc2VjdGlvbiBzcGlubmVyXCIgKm5nSWY9XCJwYXltZW50U3RhdHVzID09PSAnT05HT0lORydcIj5cbiAgPGRpdj5cbiAgICA8bWF0LXNwaW5uZXI+PC9tYXQtc3Bpbm5lcj5cbiAgICA8cD5QbGVhc2UgV2FpdC4uLjwvcD5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG5cbjxzZWN0aW9uIGNsYXNzPVwibWFpbi1zZWN0aW9uIHNwaW5uZXJcIiAqbmdJZj1cInBheW1lbnRTdGF0dXMgPT09ICdTVUNDRVNTJ1wiPlxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpbWFnZV9zZWN0aW9uXCI+XG4gICAgICA8aW1nIHNyYz1cImh0dHBzOi8vZGV2LWJlZW9zLnMzLmFtYXpvbmF3cy5jb20vcHJvZHVjdF9pbWFnZS80NTI4MDFjMTczNjMxNTkxMDYyMHN1Y2Vzcy5naWZcIiBhbHQ9XCJsb2FkZXJcIj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwic3VjY2Vzc19oZWFkaW5nXCI+XG4gICAgICAgIFBheW1lbnQgU3VjY2Vzc2Z1bGxcbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG5cbjwvc2VjdGlvbj5cblxuPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNlY3Rpb24gc3Bpbm5lclwiICpuZ0lmPVwicGF5bWVudFN0YXR1cyA9PT0gJ0ZBSUxFRCdcIj5cbiAgPGRpdj5cbiAgICA8ZGl2IGNsYXNzPVwiaW1hZ2Vfc2VjdGlvblwiPlxuICAgICAgPGltZyBzcmM9XCJodHRwczovL2Rldi1iZWVvcy5zMy5hbWF6b25hd3MuY29tL3Byb2R1Y3RfaW1hZ2UvODEyMzcxYzE3MzYzMTU5MTY4NDBmYWlsLmpwZ1wiIGFsdD1cImxvYWRlclwiPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJzdWNjZXNzX2hlYWRpbmdcIj5cbiAgICAgICAgUGF5bWVudCBGYWlsZWRcbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L3NlY3Rpb24+XG4iXX0=
@@ -44,6 +44,7 @@ export class EventsService {
44
44
  this.environmentType = new EventEmitter();
45
45
  this.categoryProductList = new EventEmitter();
46
46
  this.collectionsListEvent = new EventEmitter();
47
+ this.propertyListEvent = new EventEmitter();
47
48
  this.categoryListEvent = new EventEmitter();
48
49
  this.showLoadingScreen = new EventEmitter();
49
50
  this.cashFreeEvent = new EventEmitter();
@@ -61,4 +62,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.1.4", ngImpor
61
62
  providedIn: 'root',
62
63
  }]
63
64
  }], ctorParameters: () => [] });
64
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQUtqRSxNQUFNLE9BQU8sYUFBYTtJQUN4QjtRQU1BLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDOUMsb0JBQW9CO1FBRXBCLCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN2RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbkQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN0RCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hELGdDQUEyQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4RCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFDN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTNDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsMEJBQTBCO1FBQzFCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM3QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN6QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3Qyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2pELHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUUvQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBRWhELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM1QyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzFDLHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7SUF2RDVDLENBQUM7SUFFSixRQUFRLEtBQVUsQ0FBQzs4R0FMUixhQUFhO2tIQUFiLGFBQWEsY0FGWixNQUFNOzsyRkFFUCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciwgSW5qZWN0YWJsZSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRXZlbnRzU2VydmljZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgY29uc3RydWN0b3IoXHJcblxyXG4gICkge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7fVxyXG5cclxuICBlZGl0U2VjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBkdXBsaWNhdGUgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgZGVsZXRlID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNoYW5nZVBvc2l0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFkZE5ld1NlY3Rpb25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjaGFuZ2VDb250ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHJlc3R5bGVTZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHBhZ2VSZWRpcmVjdGlvbkJ1dHRvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBidXR0b25SZWRpcmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjb250YWN0Rm9ybURhdGEgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgLy9yZWZlcmVuY2Ugc2VydmljZXNcclxuXHJcbiAgYmFja2dyb3VuZEltYWdlQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY29sb3JPdmVybGF5Q2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFsaWdubWVudENoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBhbmltYXRpb25DaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgc3BhY2luZ0NoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBib3JkZXJDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY2FyZFNpemVDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgaW1hZ2VTdHlsZUNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjb3JuZXJDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgdGV4dEJhY2tncm91bmRDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYnV0dG9uU3R5bGVDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgcG9zdGlvbkxheW91dENoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjb250ZW50QWxpZ25tZW50Q2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgb2JqZWN0UG9zaXRpb25DaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBsb2NhdGlvbkNoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIG1hcFN0eWxlQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgdGV4dFNpemVDaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBibG9nQnlJZEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIG9wZW5CbG9nTGlzdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHRvZ2dsZUVkaXRvckV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIGNsb3NlRWRpdG9yRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGZhbHNlPigpO1xyXG4gIHdyYXBEaXJlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuXHJcbiAgc3RvcENhcm91c2VsRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvLyBFY29tbWVyY2UgZXZlbnQgZW1pdHRlclxyXG4gIHJlZGlyZWN0VG9QYWdlID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFkZFRvQ2FydCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBwbGFjZU9yZGVyID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGZlYXR1cmVDb2xsZWN0aW9uTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBlbnZpcm9ubWVudFR5cGUgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBjYXRlZ29yeVByb2R1Y3RMaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgY29sbGVjdGlvbnNMaXN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZ1tdPigpO1xyXG4gIGNhdGVnb3J5TGlzdEV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcblxyXG4gIHNob3dMb2FkaW5nU2NyZWVuID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG5cclxuICBjYXNoRnJlZUV2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFkZHJlc3NBZGRlZElkeCA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIHNob3dCYWdJY29uID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIGZvcm1GaWVsZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbn1cclxuIl19
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zaW1wby11aS9zcmMvbGliL3NlcnZpY2VzL2V2ZW50cy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFVLE1BQU0sZUFBZSxDQUFDOztBQUtqRSxNQUFNLE9BQU8sYUFBYTtJQUN4QjtRQU1BLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUMxQyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyQyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDN0MsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNqRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzdDLDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDOUMsb0JBQW9CO1FBRXBCLCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNkJBQXdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN2RCwwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELDBCQUFxQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDcEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbkQsMkJBQXNCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNyRCx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2pELCtCQUEwQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDekQsNEJBQXVCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN0RCw4QkFBeUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3hELGdDQUEyQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUQsOEJBQXlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4RCx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2xELHdCQUFtQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDbEQsd0JBQW1CLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNsRCxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDNUMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUNoRCxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ2hELHFCQUFnQixHQUFHLElBQUksWUFBWSxFQUFTLENBQUM7UUFDN0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRTNDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7UUFDNUMsMEJBQTBCO1FBQzFCLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUM3QyxjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztRQUN6QywwQkFBcUIsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQ3BELG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3Qyx3QkFBbUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ2pELHlCQUFvQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFDcEQsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUMvQyxzQkFBaUIsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRS9DLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFFaEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBVyxDQUFDO1FBQzVDLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3QyxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDMUMscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQVcsQ0FBQztJQXhENUMsQ0FBQztJQUVKLFFBQVEsS0FBVSxDQUFDOzhHQUxSLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXZlbnRFbWl0dGVyLCBJbmplY3RhYmxlLCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBFdmVudHNTZXJ2aWNlIGltcGxlbWVudHMgT25Jbml0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIGVkaXRTZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGR1cGxpY2F0ZSA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBkZWxldGUgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgY2hhbmdlUG9zaXRpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYWRkTmV3U2VjdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNoYW5nZUNvbnRlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgcmVzdHlsZVNlY3Rpb24gPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgcGFnZVJlZGlyZWN0aW9uQnV0dG9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGJ1dHRvblJlZGlyZWN0aW9uID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNvbnRhY3RGb3JtRGF0YSA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICAvL3JlZmVyZW5jZSBzZXJ2aWNlc1xyXG5cclxuICBiYWNrZ3JvdW5kSW1hZ2VDaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjb2xvck92ZXJsYXlDaGFuZ2VDaGVja3MgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYWxpZ25tZW50Q2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGFuaW1hdGlvbkNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBzcGFjaW5nQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGJvcmRlckNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBjYXJkU2l6ZUNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBpbWFnZVN0eWxlQ2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNvcm5lckNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICB0ZXh0QmFja2dyb3VuZENoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBidXR0b25TdHlsZUNoYW5nZUNoZWNrcyA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBwb3N0aW9uTGF5b3V0Q2hhbmdlQ2hlY2tzID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGNvbnRlbnRBbGlnbm1lbnRDaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBvYmplY3RQb3NpdGlvbkNoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGxvY2F0aW9uQ2hhbmdlQ2hlY2sgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgbWFwU3R5bGVDaGFuZ2VDaGVjayA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICB0ZXh0U2l6ZUNoYW5nZUNoZWNrID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGJsb2dCeUlkRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgb3BlbkJsb2dMaXN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgdG9nZ2xlRWRpdG9yRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcbiAgY2xvc2VFZGl0b3JFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8ZmFsc2U+KCk7XHJcbiAgd3JhcERpcmVjdGlvbiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBzdG9wQ2Fyb3VzZWxFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8vIEVjb21tZXJjZSBldmVudCBlbWl0dGVyXHJcbiAgcmVkaXJlY3RUb1BhZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgYWRkVG9DYXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIHBsYWNlT3JkZXIgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XHJcbiAgZmVhdHVyZUNvbGxlY3Rpb25MaXN0ID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG4gIGVudmlyb25tZW50VHlwZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGNhdGVnb3J5UHJvZHVjdExpc3QgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBjb2xsZWN0aW9uc0xpc3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nW10+KCk7XHJcbiAgcHJvcGVydHlMaXN0RXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBjYXRlZ29yeUxpc3RFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG5cclxuICBzaG93TG9hZGluZ1NjcmVlbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuXHJcbiAgY2FzaEZyZWVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dW5rbm93bj4oKTtcclxuICBhZGRyZXNzQWRkZWRJZHggPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcclxuICBzaG93QmFnSWNvbiA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICBmb3JtRmllbGRDaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjx1bmtub3duPigpO1xyXG59XHJcbiJdfQ==