verben-authentication-ui 0.4.1 → 0.4.3
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/components/role-control/role-control.component.mjs +131 -14
- package/esm2022/lib/components/sign-in/sign-in.component.mjs +40 -27
- package/esm2022/lib/components/two-factor-auth-otp/two-factor-auth-otp.component.mjs +22 -22
- package/esm2022/lib/components/user-request/user-request.component.mjs +4 -4
- package/esm2022/lib/models/ApplicationRoleAction.mjs +2 -0
- package/esm2022/lib/models/ApplicationRoleContext.mjs +2 -0
- package/esm2022/lib/models/OAuthParam.mjs +2 -0
- package/esm2022/lib/models/OAuthType.mjs +9 -0
- package/esm2022/lib/models/Role.mjs +1 -1
- package/esm2022/lib/models/RoleAction.mjs +1 -1
- package/esm2022/lib/models/RoleContext.mjs +1 -1
- package/esm2022/lib/models/SearchOperator.mjs +6 -0
- package/esm2022/lib/models/SearchPropertySign.mjs +11 -0
- package/esm2022/lib/models/SearchPropertyValue.mjs +2 -0
- package/esm2022/lib/models/SearchPropertyValueType.mjs +11 -0
- package/esm2022/lib/models/TenantConfig.mjs +2 -0
- package/esm2022/lib/models/log-in.mjs +1 -1
- package/esm2022/lib/models/resend-otp-data.mjs +1 -1
- package/esm2022/lib/services/authorization.service.mjs +6 -4
- package/esm2022/lib/services/environment.service.mjs +1 -1
- package/fesm2022/verben-authentication-ui.mjs +208 -62
- package/fesm2022/verben-authentication-ui.mjs.map +1 -1
- package/lib/components/role-control/role-control.component.d.ts +16 -3
- package/lib/components/sign-in/sign-in.component.d.ts +4 -1
- package/lib/models/ApplicationRoleAction.d.ts +9 -0
- package/lib/models/ApplicationRoleContext.d.ts +9 -0
- package/lib/models/OAuthParam.d.ts +9 -0
- package/lib/models/OAuthType.d.ts +7 -0
- package/lib/models/Role.d.ts +1 -0
- package/lib/models/RoleAction.d.ts +2 -0
- package/lib/models/RoleContext.d.ts +2 -0
- package/lib/models/SearchOperator.d.ts +4 -0
- package/lib/models/SearchPropertySign.d.ts +9 -0
- package/lib/models/SearchPropertyValue.d.ts +10 -0
- package/lib/models/SearchPropertyValueType.d.ts +9 -0
- package/lib/models/TenantConfig.d.ts +18 -0
- package/lib/models/log-in.d.ts +1 -1
- package/lib/models/resend-otp-data.d.ts +1 -1
- package/lib/services/authorization.service.d.ts +1 -1
- package/lib/services/environment.service.d.ts +1 -0
- package/package.json +2 -3
|
@@ -57,6 +57,7 @@ export class SignInComponent {
|
|
|
57
57
|
onSubmitEnd = new EventEmitter();
|
|
58
58
|
onGoogleAuthResponse = new EventEmitter();
|
|
59
59
|
onSubmitGoogleAuth = new EventEmitter();
|
|
60
|
+
tenantConfigLoaded = new EventEmitter();
|
|
60
61
|
googleClick = new EventEmitter();
|
|
61
62
|
microsoftClick = new EventEmitter();
|
|
62
63
|
appleClick = new EventEmitter();
|
|
@@ -74,8 +75,9 @@ export class SignInComponent {
|
|
|
74
75
|
AccessToken: '',
|
|
75
76
|
Email: '',
|
|
76
77
|
FirstName: '',
|
|
77
|
-
LastName: ''
|
|
78
|
+
LastName: '',
|
|
78
79
|
};
|
|
80
|
+
configData = null;
|
|
79
81
|
constructor(fb, server, utilService, envSvc, route) {
|
|
80
82
|
this.fb = fb;
|
|
81
83
|
this.server = server;
|
|
@@ -92,12 +94,12 @@ export class SignInComponent {
|
|
|
92
94
|
Validators.minLength(5),
|
|
93
95
|
]),
|
|
94
96
|
});
|
|
95
|
-
this.apiKey = this.envSvc.environment.
|
|
97
|
+
this.apiKey = this.envSvc.environment.Tenant;
|
|
96
98
|
this.secret = this.envSvc.environment.Secret;
|
|
97
99
|
}
|
|
98
100
|
async ngOnInit() {
|
|
99
101
|
await this.getTenantConfig();
|
|
100
|
-
this.route.queryParams.subscribe(params => {
|
|
102
|
+
this.route.queryParams.subscribe((params) => {
|
|
101
103
|
this.code = params['code'];
|
|
102
104
|
this.type = params['type'];
|
|
103
105
|
if (this.code) {
|
|
@@ -106,14 +108,23 @@ export class SignInComponent {
|
|
|
106
108
|
});
|
|
107
109
|
}
|
|
108
110
|
async getTenantConfig() {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
this.
|
|
111
|
+
try {
|
|
112
|
+
const res = await this.server.get(`Tenant/GetTenantConfigByKey/${this.apiKey}`);
|
|
113
|
+
this.tenantDetails = res;
|
|
114
|
+
this.configData = res;
|
|
115
|
+
this.AuthMechanisms = this.tenantDetails?.AuthMechanisms;
|
|
116
|
+
if (!this.tenantDetails?.AuthMechanism &&
|
|
117
|
+
this.tenantDetails?.AuthMechanism !== MechanismType.InApp) {
|
|
118
|
+
this.showform = false;
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
this.showform = true;
|
|
122
|
+
}
|
|
123
|
+
this.tenantConfigLoaded.emit(this.configData);
|
|
114
124
|
}
|
|
115
|
-
|
|
116
|
-
|
|
125
|
+
catch (err) {
|
|
126
|
+
const msg = err;
|
|
127
|
+
this.tenantConfigLoaded.emit(null);
|
|
117
128
|
}
|
|
118
129
|
}
|
|
119
130
|
checkForm() {
|
|
@@ -121,11 +132,11 @@ export class SignInComponent {
|
|
|
121
132
|
}
|
|
122
133
|
async verifyUserDetails() {
|
|
123
134
|
if (this.AuthMechanisms !== null && this.apiKey) {
|
|
124
|
-
const data = this.AuthMechanisms.find(item => item.AuthMechanism.includes(this.type));
|
|
135
|
+
const data = this.AuthMechanisms.find((item) => item.AuthMechanism.includes(this.type));
|
|
125
136
|
const payload = {
|
|
126
137
|
AuthCode: this.code,
|
|
127
|
-
|
|
128
|
-
AuthMechanism: data.AuthMechanism
|
|
138
|
+
Tenant: this.apiKey,
|
|
139
|
+
AuthMechanism: data.AuthMechanism,
|
|
129
140
|
};
|
|
130
141
|
this.utilService.sendBI(true);
|
|
131
142
|
const res = await this.server.post(`Authentication/GetUserDetails`, payload);
|
|
@@ -139,7 +150,7 @@ export class SignInComponent {
|
|
|
139
150
|
AccessToken: result?.AccessToken,
|
|
140
151
|
Email: result?.Email,
|
|
141
152
|
FirstName: result?.FirstName,
|
|
142
|
-
LastName: result?.LastName
|
|
153
|
+
LastName: result?.LastName,
|
|
143
154
|
};
|
|
144
155
|
this.submit(data.AuthMechanism);
|
|
145
156
|
}
|
|
@@ -153,9 +164,9 @@ export class SignInComponent {
|
|
|
153
164
|
MailAddress: '',
|
|
154
165
|
Password: '',
|
|
155
166
|
LoginType: type,
|
|
156
|
-
|
|
167
|
+
Tenant: this.apiKey,
|
|
157
168
|
Secrete: this.secret,
|
|
158
|
-
Token: ''
|
|
169
|
+
Token: '',
|
|
159
170
|
};
|
|
160
171
|
switch (type) {
|
|
161
172
|
case MechanismType.InApp:
|
|
@@ -166,7 +177,7 @@ export class SignInComponent {
|
|
|
166
177
|
data = {
|
|
167
178
|
...data,
|
|
168
179
|
MailAddress: this.loginForm.controls['Email'].value,
|
|
169
|
-
Password: this.loginForm.controls['Password'].value
|
|
180
|
+
Password: this.loginForm.controls['Password'].value,
|
|
170
181
|
};
|
|
171
182
|
}
|
|
172
183
|
break;
|
|
@@ -174,14 +185,14 @@ export class SignInComponent {
|
|
|
174
185
|
data = {
|
|
175
186
|
...data,
|
|
176
187
|
MailAddress: this.OauthData?.Email,
|
|
177
|
-
Token: this.OauthData?.AccessToken
|
|
188
|
+
Token: this.OauthData?.AccessToken,
|
|
178
189
|
};
|
|
179
190
|
break;
|
|
180
191
|
case MechanismType.MicrosoftAD:
|
|
181
192
|
data = {
|
|
182
193
|
...data,
|
|
183
194
|
MailAddress: this.OauthData?.Email,
|
|
184
|
-
Token: this.OauthData?.AccessToken
|
|
195
|
+
Token: this.OauthData?.AccessToken,
|
|
185
196
|
};
|
|
186
197
|
break;
|
|
187
198
|
default:
|
|
@@ -217,18 +228,18 @@ export class SignInComponent {
|
|
|
217
228
|
return {
|
|
218
229
|
'background-color': this.bgColor,
|
|
219
230
|
'box-shadow': this.boxShadow,
|
|
220
|
-
|
|
231
|
+
border: this.border,
|
|
221
232
|
'border-radius': this.borderRadius,
|
|
222
|
-
|
|
223
|
-
|
|
233
|
+
color: this.textColor,
|
|
234
|
+
width: this.width,
|
|
224
235
|
'max-width': this.maxWidth,
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
236
|
+
margin: this.margin,
|
|
237
|
+
height: this.height,
|
|
238
|
+
padding: this.pd,
|
|
228
239
|
};
|
|
229
240
|
}
|
|
230
241
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInComponent, deps: [{ token: i1.FormBuilder }, { token: i2.HttpWebRequestService }, { token: i3.UtilService }, { token: i4.EnvironmentService }, { token: i5.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
231
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignInComponent, selector: "verben-sign-in", inputs: { headlingText: "headlingText", width: "width", maxWidth: "maxWidth", margin: "margin", pd: "pd", customClass: "customClass", headlingClass: "headlingClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", forgetPasswordClass: "forgetPasswordClass", requestAccessClass: "requestAccessClass", createAccountClass: "createAccountClass", createAccountLinkClass: "createAccountLinkClass", forgetPasswordLink: "forgetPasswordLink", createAccountLink: "createAccountLink", requestAccessLink: "requestAccessLink", btnClass: "btnClass", btnBgColor: "btnBgColor", btnColor: "btnColor", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnPd: "btnPd", btnText: "btnText", inputLabelColor: "inputLabelColor", inputBgColor: "inputBgColor", inputBorder: "inputBorder", inputBorderRadius: "inputBorderRadius", termsErrorText: "termsErrorText" }, outputs: { formSubmit: "formSubmit", onSubmitEnd: "onSubmitEnd", onGoogleAuthResponse: "onGoogleAuthResponse", onSubmitGoogleAuth: "onSubmitGoogleAuth", googleClick: "googleClick", microsoftClick: "microsoftClick", appleClick: "appleClick" }, ngImport: i0, template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit('InApp')\" class=\"flexWrapper\"> \n <div class=\"formWrapper\" *ngIf=\"showform\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [passLength]=\"5\"\n [customErrorMessages]=\"{\n password:'Password is required'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n </div>\n <div> \n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n <div> \n <div *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </div>\n </form>\n </section>\n ", styles: ["a{text-decoration:underline}.flexWrapper{display:flex;flex-direction:column;gap:20px;margin-top:12px}.formWrapper{display:flex;flex-direction:column;gap:20px}.pwdWrapper{display:flex;justify-content:flex-end;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i7.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.OAuthComponent, selector: "verben-o-auth", inputs: ["authMechanisms"], outputs: ["emitMechanismFn"] }, { kind: "component", type: i9.ButtonComponent, selector: "lib-button", inputs: ["text", "color", "border", "borderRadius", "bgColor", "width", "pd", "buttonClass", "disabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
242
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SignInComponent, selector: "verben-sign-in", inputs: { headlingText: "headlingText", width: "width", maxWidth: "maxWidth", margin: "margin", pd: "pd", customClass: "customClass", headlingClass: "headlingClass", bgColor: "bgColor", boxShadow: "boxShadow", border: "border", borderRadius: "borderRadius", textColor: "textColor", height: "height", forgetPasswordClass: "forgetPasswordClass", requestAccessClass: "requestAccessClass", createAccountClass: "createAccountClass", createAccountLinkClass: "createAccountLinkClass", forgetPasswordLink: "forgetPasswordLink", createAccountLink: "createAccountLink", requestAccessLink: "requestAccessLink", btnClass: "btnClass", btnBgColor: "btnBgColor", btnColor: "btnColor", btnBorder: "btnBorder", btnBorderRadius: "btnBorderRadius", btnPd: "btnPd", btnText: "btnText", inputLabelColor: "inputLabelColor", inputBgColor: "inputBgColor", inputBorder: "inputBorder", inputBorderRadius: "inputBorderRadius", termsErrorText: "termsErrorText" }, outputs: { formSubmit: "formSubmit", onSubmitEnd: "onSubmitEnd", onGoogleAuthResponse: "onGoogleAuthResponse", onSubmitGoogleAuth: "onSubmitGoogleAuth", tenantConfigLoaded: "tenantConfigLoaded", googleClick: "googleClick", microsoftClick: "microsoftClick", appleClick: "appleClick" }, ngImport: i0, template: "<section\n[ngStyle]=\"styles\"\nclass=\"{{ customClass }}\"\n>\n <h2 class=\"{{headlingClass}}\">{{headlingText}}</h2>\n <form [formGroup]=\"loginForm\" (ngSubmit)=\"submit('InApp')\" class=\"flexWrapper\"> \n <div class=\"formWrapper\" *ngIf=\"showform\"> \n <verbena-input\n [label]=\"'Email'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'email'\"\n formControlName=\"Email\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div> \n <verbena-input\n [label]=\"'Password'\"\n [labelColor]=\"inputLabelColor\"\n [placeHolder]=\"''\"\n [required]=\"true\"\n [type]=\"'password'\"\n formControlName=\"Password\"\n [showBorder]=\"true\"\n [bgColor]=\"inputBgColor\"\n [border]=\"inputBorder\"\n [borderRadius]=\"inputBorderRadius\"\n [showErrorMessage]=\"true\"\n [errorMessageColor]=\"'red'\"\n [errorBorderColor]=\"'red'\"\n [errorPosition]=\"'bottom'\"\n [passwordToggle]=\"true\"\n [passLength]=\"5\"\n [customErrorMessages]=\"{\n password:'Password is required'\n }\"\n class=\"outline-none focus-none\"\n ></verbena-input>\n <div class=\"pwdWrapper\"> \n <p clas=\"mb-0\"> <a [routerLink]=\"forgetPasswordLink\" class=\"{{forgetPasswordClass}}\">Forgot password</a></p>\n </div>\n </div>\n <lib-button \n [buttonClass]=\"btnClass\"\n [color]=\"btnColor\"\n [border]=\"btnBorder\"\n [borderRadius]=\"btnBorderRadius\"\n [bgColor]=\"btnBgColor\"\n [pd]=\"btnPd\"\n [text]=\"btnText\" \n type=\"submit\" \n [disabled]=\"!this.checkForm()\"\n ></lib-button>\n </div>\n <div> \n <p *ngIf=\"requestAccessLink\">\n <a [routerLink]=\"requestAccessLink\" class=\"{{requestAccessClass}}\">Click here to request user access</a>\n </p>\n <div> \n <div *ngIf=\"AuthMechanisms !== null\"> \n <verben-o-auth \n [authMechanisms]=\"AuthMechanisms\"\n ></verben-o-auth>\n </div>\n <p class=\"{{createAccountClass}}\" *ngIf=\"createAccountLink\">\n Don't have an account?\n <a [routerLink]=\"createAccountLink\" class=\"{{createAccountLinkClass}}\">Create an account</a>\n </p>\n </div>\n </div>\n </form>\n </section>\n ", styles: ["a{text-decoration:underline}.flexWrapper{display:flex;flex-direction:column;gap:20px;margin-top:12px}.formWrapper{display:flex;flex-direction:column;gap:20px}.pwdWrapper{display:flex;justify-content:flex-end;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "component", type: i7.VerbenaInputComponent, selector: "verbena-input", inputs: ["label", "placeHolder", "required", "svgPosition", "minLength", "maxLength", "type", "bgColor", "border", "borderRadius", "textColor", "value", "labelPosition", "labelColor", "disable", "readOnly", "min", "max", "showBorder", "showErrorMessage", "errorMessageColor", "errorBorderColor", "errorPosition", "svg", "svgWidth", "svgHeight", "svgColor", "capitalization", "inputContainerClass", "inputFieldClass", "passLength", "inputWrapperClass", "passwordToggle", "customErrorMessages", "icon", "textPass"], outputs: ["valueChange"] }, { kind: "directive", type: i5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: i8.OAuthComponent, selector: "verben-o-auth", inputs: ["authMechanisms"], outputs: ["emitMechanismFn"] }, { kind: "component", type: i9.ButtonComponent, selector: "lib-button", inputs: ["text", "color", "border", "borderRadius", "bgColor", "width", "pd", "buttonClass", "disabled"], outputs: ["buttonClick"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }] });
|
|
232
243
|
}
|
|
233
244
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SignInComponent, decorators: [{
|
|
234
245
|
type: Component,
|
|
@@ -305,6 +316,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
305
316
|
type: Output
|
|
306
317
|
}], onSubmitGoogleAuth: [{
|
|
307
318
|
type: Output
|
|
319
|
+
}], tenantConfigLoaded: [{
|
|
320
|
+
type: Output
|
|
308
321
|
}], googleClick: [{
|
|
309
322
|
type: Output
|
|
310
323
|
}], microsoftClick: [{
|
|
@@ -312,4 +325,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
312
325
|
}], appleClick: [{
|
|
313
326
|
type: Output
|
|
314
327
|
}] } });
|
|
315
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFHTCxXQUFXLEVBR1gsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBaUIsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7O0FBVTNFLE1BQU0sT0FBTyxlQUFlO0lBZ0VOO0lBQ1Y7SUFDQTtJQUNBO0lBQ0E7SUFuRUQsWUFBWSxHQUFXLFNBQVMsQ0FBQztJQUNqQyxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFFBQVEsR0FBVyxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixFQUFFLEdBQVcsRUFBRSxDQUFDO0lBQ2hCLFdBQVcsR0FBVyxFQUFFLENBQUE7SUFDeEIsYUFBYSxHQUFXLEVBQUUsQ0FBQTtJQUMxQixPQUFPLEdBQVcsTUFBTSxDQUFDO0lBQ3pCLFNBQVMsR0FBVyxpQ0FBaUMsQ0FBQztJQUN0RCxNQUFNLEdBQVcscUJBQXFCLENBQUM7SUFDdkMsWUFBWSxHQUFXLE1BQU0sQ0FBQztJQUM5QixTQUFTLEdBQVcsTUFBTSxDQUFDO0lBQzNCLE1BQU0sR0FBVyxN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LFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBRUksVUFBVTtzQkFBbkIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxjQUFjO3NCQUF2QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBBYnN0cmFjdENvbnRyb2wsXG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtQ29udHJvbCxcbiAgRm9ybUdyb3VwLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBMb2dpbkRhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvbG9nLWluJztcbmltcG9ydCB7IEh0dHBXZWJSZXF1ZXN0U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2h0dHAtd2ViLXJlcXVlc3Quc2VydmljZSc7XG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwuc2VydmljZSc7XG5pbXBvcnQgeyBFcnJvclJlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0Vycm9yUmVzcG9uc2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VLZXlWYWx1ZSB9IGZyb20gJy4uLy4uL21vZGVscy9SZXNwb25zZUtleVZhbHVlJztcbmltcG9ydCB7IEVudmlyb25tZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Vudmlyb25tZW50LnNlcnZpY2UnXG5pbXBvcnQgeyBBdXRoTWVjaGFuaXNtLCBNZWNoYW5pc21UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dGgtbWVjaGFuaXNtJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElPYXV0aFJlc3AgfSBmcm9tICcuLi8uLi9tb2RlbHMvb2F1dGgtcmVzcCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbi1zaWduLWluJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZ24taW4uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc2lnbi1pbi5jb21wb25lbnQuY3NzJ1xufSlcblxuZXhwb3J0IGNsYXNzIFNpZ25JbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGhlYWRsaW5nVGV4dDogc3RyaW5nID0gJ1NpZ24gaW4nO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWFyZ2luOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjdXN0b21DbGFzczogc3RyaW5nID0gJydcbiAgQElucHV0KCkgaGVhZGxpbmdDbGFzczogc3RyaW5nID0gJydcbiAgQElucHV0KCkgYmdDb2xvcjogc3RyaW5nID0gJyNmZmYnO1xuICBASW5wdXQoKSBib3hTaGFkb3c6IHN0cmluZyA9ICc0cHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpJztcbiAgQElucHV0KCkgYm9yZGVyOiBzdHJpbmcgPSAnMXB4IHNvbGlkICM2NjY2NjY4MCc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1czogc3RyaW5nID0gJzI0cHgnO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I6IHN0cmluZyA9ICcjMzMzJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnYXV0byc7XG4gIEBJbnB1dCgpIGZvcmdldFBhc3N3b3JkQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSByZXF1ZXN0QWNjZXNzQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjcmVhdGVBY2NvdW50Q2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjcmVhdGVBY2NvdW50TGlua0NsYXNzOiBzdHJpbmcgPSAnJztcblxuICAvLyBsaW5rc1xuICBASW5wdXQoKSBmb3JnZXRQYXNzd29yZExpbms6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjcmVhdGVBY2NvdW50TGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVlc3RBY2Nlc3NMaW5rOiBzdHJpbmcgPSAnJztcbiAgLy8gYnV0dG9uIHN0eWxlc1xuICBASW5wdXQoKSBidG5DbGFzczogc3RyaW5nID0gJydcbiAgQElucHV0KCkgYnRuQmdDb2xvcjogc3RyaW5nID0gJyNGRkU2ODEnXG4gIEBJbnB1dCgpIGJ0bkNvbG9yOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBidG5Cb3JkZXI6IHN0cmluZyA9ICcnXG4gIEBJbnB1dCgpIGJ0bkJvcmRlclJhZGl1czogc3RyaW5nID0gJzI0cHgnXG4gIEBJbnB1dCgpIGJ0blBkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYnRuVGV4dDogc3RyaW5nID0gJ0xvZyBpbic7XG5cbiAgLy9pbnB1dFN0eWxlc1xuICAgQElucHV0KCkgaW5wdXRMYWJlbENvbG9yOiBzdHJpbmcgPSAnJ1xuICAgQElucHV0KCkgaW5wdXRCZ0NvbG9yOiBzdHJpbmcgPSAndHJhbnNwYXJlbnQnXG4gICBASW5wdXQoKSBpbnB1dEJvcmRlcjogc3RyaW5nID0gJzFweCBzb2xpZCAjNjY2NjY2NTknXG4gICBASW5wdXQoKSBpbnB1dEJvcmRlclJhZGl1czogc3RyaW5nID0gJzEycHgnXG4gICBASW5wdXQoKSB0ZXJtc0Vycm9yVGV4dDogc3RyaW5nID0gJ1BsZWFzZSBhZ3JlZSB0byB0aGUgdGVybXMgb2YgdXNlIGFuZCBwcml2YWN5IHBvbGljeS4nXG5cbiAgIEBPdXRwdXQoKSBmb3JtU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dpbkRhdGE+KCk7XG4gICBAT3V0cHV0KCkgb25TdWJtaXRFbmQ6IEV2ZW50RW1pdHRlcjxSZXNwb25zZUtleVZhbHVlIHwgRXJyb3JSZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICBAT3V0cHV0KCkgb25Hb29nbGVBdXRoUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxSZXNwb25zZUtleVZhbHVlIHwgRXJyb3JSZXNwb25zZT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICBAT3V0cHV0KCkgb25TdWJtaXRHb29nbGVBdXRoOiBFdmVudEVtaXR0ZXI8UmVzcG9uc2VLZXlWYWx1ZSB8IEVycm9yUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgQE91dHB1dCgpIGdvb2dsZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgQE91dHB1dCgpIG1pY3Jvc29mdENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICAgQE91dHB1dCgpIGFwcGxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gXG4gIHRlbmFudERldGFpbHM6YW55IHwgbnVsbCA9IG51bGw7XG4gIEF1dGhNZWNoYW5pc21zOkF1dGhNZWNoYW5pc21bXSB8IG51bGwgPSBudWxsXG4gIHNob3dmb3JtOmJvb2xlYW4gPSBmYWxzZTtcbiAgbG9naW5Gb3JtOiBGb3JtR3JvdXA7XG4gIGFwaUtleTpzdHJpbmc7XG4gIHNlY3JldDpzdHJpbmc7XG4gIGlzTG9hZGluZzpib29sZWFuID0gZmFsc2U7XG4gIGNvZGU6c3RyaW5nID0gJyc7XG4gIHR5cGU6c3RyaW5nID0gJyc7XG4gIG1lY2hhbmlzbVR5cGU6c3RyaW5nID0gJydcbiAgT2F1dGhEYXRhOklPYXV0aFJlc3AgPSB7XG4gICAgQWNjZXNzVG9rZW46JycsXG4gICAgRW1haWw6JycsXG4gICAgRmlyc3ROYW1lOicnLFxuICAgIExhc3ROYW1lOicnXG4gIH1cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHNlcnZlcjogSHR0cFdlYlJlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbFNlcnZpY2U6IFV0aWxTZXJ2aWNlLFxuICAgIHByaXZhdGUgZW52U3ZjOiBFbnZpcm9ubWVudFNlcnZpY2UsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICkge1xuICAgIHRoaXMubG9naW5Gb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBFbWFpbDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5lbWFpbCxcbiAgICAgIF0pLFxuICAgICAgUGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFxuICAgICAgXSksXG4gICAgfSk7XG4gICB0aGlzLmFwaUtleSA9ICB0aGlzLmVudlN2Yy5lbnZpcm9ubWVudC5BUElLZXk7XG4gICB0aGlzLnNlY3JldCA9ICB0aGlzLmVudlN2Yy5lbnZpcm9ubWVudC5TZWNyZXQ7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpeyBcbiAgYXdhaXQgdGhpcy5nZXRUZW5hbnRDb25maWcoKTsgXG4gIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XG4gICAgdGhpcy5jb2RlID0gcGFyYW1zWydjb2RlJ107XG4gICAgdGhpcy50eXBlID0gcGFyYW1zWyd0eXBlJ11cbiAgICBpZiAodGhpcy5jb2RlKSB7XG4gICAgICB0aGlzLnZlcmlmeVVzZXJEZXRhaWxzKCk7XG4gICAgfVxuICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlbmFudENvbmZpZygpeyBcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5nZXQoXG4gICAgICBgVGVuYW50L0dldFRlbmFudENvbmZpZ0J5S2V5LyR7dGhpcy5hcGlLZXl9YFxuICAgICk7XG4gICB0aGlzLnRlbmFudERldGFpbHMgPSByZXM7XG4gICB0aGlzLkF1dGhNZWNoYW5pc21zID0gIHRoaXMudGVuYW50RGV0YWlscz8uQXV0aE1lY2hhbmlzbXM7XG4gICBpZighdGhpcy50ZW5hbnREZXRhaWxzPy5BdXRoTWVjaGFuaXNtICYmIHRoaXMudGVuYW50RGV0YWlscz8uQXV0aE1lY2hhbmlzbSAhPT0gTWVjaGFuaXNtVHlwZS5JbkFwcCl7IFxuICAgIHRoaXMuc2hvd2Zvcm0gPSBmYWxzZTtcbiAgIH1lbHNleyBcbiAgICAgdGhpcy5zaG93Zm9ybSA9IHRydWU7XG4gICB9XG4gICBcbiAgfVxuIFxuICBjaGVja0Zvcm0oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubG9naW5Gb3JtLnZhbGlkO1xuICB9XG5cbiAgYXN5bmMgdmVyaWZ5VXNlckRldGFpbHMoKXsgXG4gICAgaWYodGhpcy5BdXRoTWVjaGFuaXNtcyAhPT0gbnVsbCAmJiB0aGlzLmFwaUtleSl7IFxuICAgICAgY29uc3QgZGF0YTphbnkgPSB0aGlzLkF1dGhNZWNoYW5pc21zLmZpbmQoaXRlbSA9PlxuICAgICAgICBpdGVtLkF1dGhNZWNoYW5pc20uaW5jbHVkZXModGhpcy50eXBlKVxuICAgICAgKVxuICAgICAgY29uc3QgcGF5bG9hZCA9IHsgXG4gICAgICAgIEF1dGhDb2RlOnRoaXMuY29kZSxcbiAgICAgICAgQVBJS2V5OnRoaXMuYXBpS2V5LFxuICAgICAgICBBdXRoTWVjaGFuaXNtOmRhdGEuQXV0aE1lY2hhbmlzbVxuICAgICAgfVxuXG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSSh0cnVlKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLnBvc3QoXG4gICAgICAgIGBBdXRoZW50aWNhdGlvbi9HZXRVc2VyRGV0YWlsc2AscGF5bG9hZFxuICAgICAgKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciByZXN1bHQgPSByZXMgYXMgSU9hdXRoUmVzcDtcbiAgICAgICAgdGhpcy5PYXV0aERhdGEgPSB7IFxuICAgICAgICAgIEFjY2Vzc1Rva2VuOnJlc3VsdD8uQWNjZXNzVG9rZW4sXG4gICAgICAgICAgRW1haWw6cmVzdWx0Py5FbWFpbCxcbiAgICAgICAgICBGaXJzdE5hbWU6cmVzdWx0Py5GaXJzdE5hbWUsXG4gICAgICAgICAgTGFzdE5hbWU6cmVzdWx0Py5MYXN0TmFtZVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuc3VibWl0KGRhdGEuQXV0aE1lY2hhbmlzbSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBhc3luYyBzdWJtaXQodHlwZTogc3RyaW5nKSB7XG4gICAgLy8gaWYgKCF0aGlzLmNoZWNrRm9ybSgpKSB7XG4gICAgLy8gICByZXR1cm47XG4gICAgLy8gfVxuICBcbiAgICBsZXQgZGF0YTogTG9naW5EYXRhID0ge1xuICAgICAgTWFpbEFkZHJlc3M6ICcnLFxuICAgICAgUGFzc3dvcmQ6ICcnLFxuICAgICAgTG9naW5UeXBlOiB0eXBlLFxuICAgICAgQVBJS2V5OiB0aGlzLmFwaUtleSxcbiAgICAgIFNlY3JldGU6IHRoaXMuc2VjcmV0LFxuICAgICAgVG9rZW46JydcbiAgICB9O1xuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIE1lY2hhbmlzbVR5cGUuSW5BcHA6XG4gICAgICAgICBpZiAoIXRoaXMuY2hlY2tGb3JtKCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1lbHNleyBcbiAgICAgICAgICBkYXRhID0ge1xuICAgICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICAgIE1haWxBZGRyZXNzOiB0aGlzLmxvZ2luRm9ybS5jb250cm9sc1snRW1haWwnXS52YWx1ZSxcbiAgICAgICAgICAgIFBhc3N3b3JkOiB0aGlzLmxvZ2luRm9ybS5jb250cm9sc1snUGFzc3dvcmQnXS52YWx1ZVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE1lY2hhbmlzbVR5cGUuR29vZ2xlOlxuICAgICAgICBkYXRhID0ge1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgTWFpbEFkZHJlc3M6dGhpcy5PYXV0aERhdGE/LkVtYWlsLFxuICAgICAgICAgIFRva2VuOnRoaXMuT2F1dGhEYXRhPy5BY2Nlc3NUb2tlblxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTWVjaGFuaXNtVHlwZS5NaWNyb3NvZnRBRDpcbiAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgIE1haWxBZGRyZXNzOnRoaXMuT2F1dGhEYXRhPy5FbWFpbCxcbiAgICAgICAgICBUb2tlbjp0aGlzLk9hdXRoRGF0YT8uQWNjZXNzVG9rZW5cbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG4gIFxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgZGF0YSA9IHsgXG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICBNYWlsQWRkcmVzczonJyxcbiAgICAgICAgICBUb2tlbjonJyxcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdChkYXRhKTtcbiAgXG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgdGhpcy5pc0xvYWRpbmcgPSB0cnVlO1xuICBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChgQXV0aGVudGljYXRpb24vTG9naW5gLCBkYXRhKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG5cbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMub25TdWJtaXRFbmQuZW1pdChyZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzIGFzIFJlc3BvbnNlS2V5VmFsdWU7XG4gICAgICAgIHRoaXMub25TdWJtaXRFbmQuZW1pdChyZXN1bHQpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSShmYWxzZSk7XG4gICAgICB0aGlzLmlzTG9hZGluZyA9IGZhbHNlO1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZHVyaW5nIGxvZ2luOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICAnYm9yZGVyJzogdGhpcy5ib3JkZXIsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuYm9yZGVyUmFkaXVzLFxuICAgICAgJ2NvbG9yJzogdGhpcy50ZXh0Q29sb3IsXG4gICAgICAnd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgICAgJ21heC13aWR0aCc6dGhpcy5tYXhXaWR0aCxcbiAgICAgICdtYXJnaW4nOnRoaXMubWFyZ2luLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaGVpZ2h0LFxuICAgICAgJ3BhZGRpbmcnOnRoaXMucGRcbiAgICB9O1xuICB9XG5cbn1cbiIsIjxzZWN0aW9uXG5bbmdTdHlsZV09XCJzdHlsZXNcIlxuY2xhc3M9XCJ7eyBjdXN0b21DbGFzcyB9fVwiXG4+XG4gICAgPGgyIGNsYXNzPVwie3toZWFkbGluZ0NsYXNzfX1cIj57e2hlYWRsaW5nVGV4dH19PC9oMj5cbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImxvZ2luRm9ybVwiIChuZ1N1Ym1pdCk9XCJzdWJtaXQoJ0luQXBwJylcIiBjbGFzcz1cImZsZXhXcmFwcGVyXCI+IFxuICAgICAgPGRpdiBjbGFzcz1cImZvcm1XcmFwcGVyXCIgKm5nSWY9XCJzaG93Zm9ybVwiPiBcbiAgICAgIDx2ZXJiZW5hLWlucHV0XG4gICAgICAgIFtsYWJlbF09XCInRW1haWwnXCJcbiAgICAgICAgW2xhYmVsQ29sb3JdPVwiaW5wdXRMYWJlbENvbG9yXCJcbiAgICAgICAgW3BsYWNlSG9sZGVyXT1cIicnXCJcbiAgICAgICAgW3JlcXVpcmVkXT1cInRydWVcIlxuICAgICAgICBbdHlwZV09XCInZW1haWwnXCJcbiAgICAgICAgZm9ybUNvbnRyb2xOYW1lPVwiRW1haWxcIlxuICAgICAgICBbc2hvd0JvcmRlcl09XCJ0cnVlXCJcbiAgICAgICAgW2JnQ29sb3JdPVwiaW5wdXRCZ0NvbG9yXCJcbiAgICAgICAgW2JvcmRlcl09XCJpbnB1dEJvcmRlclwiXG4gICAgICAgIFtib3JkZXJSYWRpdXNdPVwiaW5wdXRCb3JkZXJSYWRpdXNcIlxuICAgICAgICBbc2hvd0Vycm9yTWVzc2FnZV09XCJ0cnVlXCJcbiAgICAgICAgW2Vycm9yTWVzc2FnZUNvbG9yXT1cIidyZWQnXCJcbiAgICAgICAgW2Vycm9yQm9yZGVyQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgICBbZXJyb3JQb3NpdGlvbl09XCInYm90dG9tJ1wiXG4gICAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgICAgPjwvdmVyYmVuYS1pbnB1dD5cbiAgICAgIDxkaXY+IFxuICAgICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgICBbbGFiZWxdPVwiJ1Bhc3N3b3JkJ1wiXG4gICAgICAgIFtsYWJlbENvbG9yXT1cImlucHV0TGFiZWxDb2xvclwiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInJ1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW3R5cGVdPVwiJ3Bhc3N3b3JkJ1wiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIlBhc3N3b3JkXCJcbiAgICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICAgIFtiZ0NvbG9yXT1cImlucHV0QmdDb2xvclwiXG4gICAgICAgIFtib3JkZXJdPVwiaW5wdXRCb3JkZXJcIlxuICAgICAgICBbYm9yZGVyUmFkaXVzXT1cImlucHV0Qm9yZGVyUmFkaXVzXCJcbiAgICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICAgIFtlcnJvck1lc3NhZ2VDb2xvcl09XCIncmVkJ1wiXG4gICAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgICBbcGFzc3dvcmRUb2dnbGVdPVwidHJ1ZVwiXG4gICAgICAgIFtwYXNzTGVuZ3RoXT1cIjVcIlxuICAgICAgICBbY3VzdG9tRXJyb3JNZXNzYWdlc109XCJ7XG4gICAgICAgICAgcGFzc3dvcmQ6J1Bhc3N3b3JkIGlzIHJlcXVpcmVkJ1xuICAgICAgICB9XCJcbiAgICAgICAgY2xhc3M9XCJvdXRsaW5lLW5vbmUgZm9jdXMtbm9uZVwiXG4gICAgICA+PC92ZXJiZW5hLWlucHV0PlxuICAgICAgPGRpdiBjbGFzcz1cInB3ZFdyYXBwZXJcIj4gXG4gICAgICAgICAgPHAgY2xhcz1cIm1iLTBcIj4gPGEgW3JvdXRlckxpbmtdPVwiZm9yZ2V0UGFzc3dvcmRMaW5rXCIgY2xhc3M9XCJ7e2ZvcmdldFBhc3N3b3JkQ2xhc3N9fVwiPkZvcmdvdCBwYXNzd29yZDwvYT48L3A+XG4gICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGxpYi1idXR0b24gXG4gICAgICBbYnV0dG9uQ2xhc3NdPVwiYnRuQ2xhc3NcIlxuICAgICAgW2NvbG9yXT1cImJ0bkNvbG9yXCJcbiAgICAgIFtib3JkZXJdPVwiYnRuQm9yZGVyXCJcbiAgICAgIFtib3JkZXJSYWRpdXNdPVwiYnRuQm9yZGVyUmFkaXVzXCJcbiAgICAgIFtiZ0NvbG9yXT1cImJ0bkJnQ29sb3JcIlxuICAgICAgW3BkXT1cImJ0blBkXCJcbiAgICAgIFt0ZXh0XT1cImJ0blRleHRcIiBcbiAgICAgIHR5cGU9XCJzdWJtaXRcIiBcbiAgICAgIFtkaXNhYmxlZF09XCIhdGhpcy5jaGVja0Zvcm0oKVwiXG4gICAgICA+PC9saWItYnV0dG9uPlxuICAgIDwvZGl2PlxuICAgIDxkaXY+IFxuICAgICAgPHAgKm5nSWY9XCJyZXF1ZXN0QWNjZXNzTGlua1wiPlxuICAgICAgICA8YSBbcm91dGVyTGlua109XCJyZXF1ZXN0QWNjZXNzTGlua1wiICBjbGFzcz1cInt7cmVxdWVzdEFjY2Vzc0NsYXNzfX1cIj5DbGljayBoZXJlIHRvIHJlcXVlc3QgdXNlciBhY2Nlc3M8L2E+XG4gICAgICA8L3A+XG4gICAgICA8ZGl2PiBcbiAgICAgICAgPGRpdiAqbmdJZj1cIkF1dGhNZWNoYW5pc21zICE9PSBudWxsXCI+IFxuICAgICAgICAgIDx2ZXJiZW4tby1hdXRoIFxuICAgICAgICAgICAgW2F1dGhNZWNoYW5pc21zXT1cIkF1dGhNZWNoYW5pc21zXCJcbiAgICAgICAgICA+PC92ZXJiZW4tby1hdXRoPlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8cCBjbGFzcz1cInt7Y3JlYXRlQWNjb3VudENsYXNzfX1cIiAqbmdJZj1cImNyZWF0ZUFjY291bnRMaW5rXCI+XG4gICAgICAgICAgICBEb24ndCBoYXZlIGFuIGFjY291bnQ/XG4gICAgICAgICAgICA8YSBbcm91dGVyTGlua109XCJjcmVhdGVBY2NvdW50TGlua1wiICBjbGFzcz1cInt7Y3JlYXRlQWNjb3VudExpbmtDbGFzc319XCI+Q3JlYXRlIGFuIGFjY291bnQ8L2E+XG4gICAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZm9ybT5cbiAgPC9zZWN0aW9uPlxuICAiXX0=
|
|
328
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbi1pbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3NpZ24taW4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFHTCxXQUFXLEVBR1gsVUFBVSxHQUNYLE1BQU0sZ0JBQWdCLENBQUM7QUFJeEIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRzNELE9BQU8sRUFBaUIsYUFBYSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7Ozs7Ozs7Ozs7O0FBVTNFLE1BQU0sT0FBTyxlQUFlO0lBdUVoQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBMUVELFlBQVksR0FBVyxTQUFTLENBQUM7SUFDakMsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixRQUFRLEdBQVcsRUFBRSxDQUFDO0lBQ3RCLE1BQU0sR0FBVyxFQUFFLENBQUM7SUFDcEIsRUFBRSxHQUFXLEVBQUUsQ0FBQztJQUNoQixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLGFBQWEsR0FBVyxFQUFFLENBQUM7SUFDM0IsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUN6QixTQUFTLEdBQVcsaUNBQWlDLENBQUM7SUFDdEQsTUFBTSxHQUFXLHFCQUFxQixDQUFDO0lBQ3ZDLFlBQVksR0FBVyxNQUFNLENBQUM7SUFDOUIsU0FBUyxHQUFXLE1BQU0sQ0FBQztJQUMzQixNQUFNLEdBQVcs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c0JBQTFCLEtBQUs7Z0JBQ0csc0JBQXNCO3NCQUE5QixLQUFLO2dCQUdHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUVHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUdHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdJLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFRyxvQkFBb0I7c0JBQTdCLE1BQU07Z0JBR0csa0JBQWtCO3NCQUEzQixNQUFNO2dCQUNHLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIEFic3RyYWN0Q29udHJvbCxcbiAgRm9ybUJ1aWxkZXIsXG4gIEZvcm1Db250cm9sLFxuICBGb3JtR3JvdXAsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExvZ2luRGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9sb2ctaW4nO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvRXJyb3JSZXNwb25zZSc7XG5pbXBvcnQgeyBSZXNwb25zZUtleVZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Jlc3BvbnNlS2V5VmFsdWUnO1xuaW1wb3J0IHsgRW52aXJvbm1lbnRTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZW52aXJvbm1lbnQuc2VydmljZSc7XG5pbXBvcnQgeyBBdXRoTWVjaGFuaXNtLCBNZWNoYW5pc21UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2F1dGgtbWVjaGFuaXNtJztcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IElPYXV0aFJlc3AgfSBmcm9tICcuLi8uLi9tb2RlbHMvb2F1dGgtcmVzcCc7XG5pbXBvcnQge1RlbmFudENvbmZpZ30gZnJvbSAnLi4vLi4vbW9kZWxzL1RlbmFudENvbmZpZydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLXNpZ24taW4nLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lnbi1pbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zaWduLWluLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBTaWduSW5Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBASW5wdXQoKSBoZWFkbGluZ1RleHQ6IHN0cmluZyA9ICdTaWduIGluJztcbiAgQElucHV0KCkgd2lkdGg6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBtYXhXaWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG1hcmdpbjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBkOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBoZWFkbGluZ0NsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYmdDb2xvcjogc3RyaW5nID0gJyNmZmYnO1xuICBASW5wdXQoKSBib3hTaGFkb3c6IHN0cmluZyA9ICc0cHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpJztcbiAgQElucHV0KCkgYm9yZGVyOiBzdHJpbmcgPSAnMXB4IHNvbGlkICM2NjY2NjY4MCc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1czogc3RyaW5nID0gJzI0cHgnO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I6IHN0cmluZyA9ICcjMzMzJztcbiAgQElucHV0KCkgaGVpZ2h0OiBzdHJpbmcgPSAnYXV0byc7XG4gIEBJbnB1dCgpIGZvcmdldFBhc3N3b3JkQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSByZXF1ZXN0QWNjZXNzQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjcmVhdGVBY2NvdW50Q2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjcmVhdGVBY2NvdW50TGlua0NsYXNzOiBzdHJpbmcgPSAnJztcblxuICAvLyBsaW5rc1xuICBASW5wdXQoKSBmb3JnZXRQYXNzd29yZExpbms6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjcmVhdGVBY2NvdW50TGluazogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHJlcXVlc3RBY2Nlc3NMaW5rOiBzdHJpbmcgPSAnJztcbiAgLy8gYnV0dG9uIHN0eWxlc1xuICBASW5wdXQoKSBidG5DbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJ0bkJnQ29sb3I6IHN0cmluZyA9ICcjRkZFNjgxJztcbiAgQElucHV0KCkgYnRuQ29sb3I6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBidG5Cb3JkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBidG5Cb3JkZXJSYWRpdXM6IHN0cmluZyA9ICcyNHB4JztcbiAgQElucHV0KCkgYnRuUGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBidG5UZXh0OiBzdHJpbmcgPSAnTG9nIGluJztcblxuICAvL2lucHV0U3R5bGVzXG4gIEBJbnB1dCgpIGlucHV0TGFiZWxDb2xvcjogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGlucHV0QmdDb2xvcjogc3RyaW5nID0gJ3RyYW5zcGFyZW50JztcbiAgQElucHV0KCkgaW5wdXRCb3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjU5JztcbiAgQElucHV0KCkgaW5wdXRCb3JkZXJSYWRpdXM6IHN0cmluZyA9ICcxMnB4JztcbiAgQElucHV0KCkgdGVybXNFcnJvclRleHQ6IHN0cmluZyA9XG4gICAgJ1BsZWFzZSBhZ3JlZSB0byB0aGUgdGVybXMgb2YgdXNlIGFuZCBwcml2YWN5IHBvbGljeS4nO1xuXG4gIEBPdXRwdXQoKSBmb3JtU3VibWl0ID0gbmV3IEV2ZW50RW1pdHRlcjxMb2dpbkRhdGE+KCk7XG4gIEBPdXRwdXQoKSBvblN1Ym1pdEVuZDogRXZlbnRFbWl0dGVyPFJlc3BvbnNlS2V5VmFsdWUgfCBFcnJvclJlc3BvbnNlPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25Hb29nbGVBdXRoUmVzcG9uc2U6IEV2ZW50RW1pdHRlcjxcbiAgICBSZXNwb25zZUtleVZhbHVlIHwgRXJyb3JSZXNwb25zZVxuICA+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgb25TdWJtaXRHb29nbGVBdXRoOiBFdmVudEVtaXR0ZXI8UmVzcG9uc2VLZXlWYWx1ZSB8IEVycm9yUmVzcG9uc2U+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBAT3V0cHV0KCkgdGVuYW50Q29uZmlnTG9hZGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUZW5hbnRDb25maWcgfCBudWxsPigpO1xuICBAT3V0cHV0KCkgZ29vZ2xlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBtaWNyb3NvZnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIGFwcGxlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgdGVuYW50RGV0YWlsczogYW55IHwgbnVsbCA9IG51bGw7XG4gIEF1dGhNZWNoYW5pc21zOiBBdXRoTWVjaGFuaXNtW10gfCBudWxsID0gbnVsbDtcbiAgc2hvd2Zvcm06IGJvb2xlYW4gPSBmYWxzZTtcbiAgbG9naW5Gb3JtOiBGb3JtR3JvdXA7XG4gIGFwaUtleTogc3RyaW5nO1xuICBzZWNyZXQ6IHN0cmluZztcbiAgaXNMb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gIGNvZGU6IHN0cmluZyA9ICcnO1xuICB0eXBlOiBzdHJpbmcgPSAnJztcbiAgbWVjaGFuaXNtVHlwZTogc3RyaW5nID0gJyc7XG4gIE9hdXRoRGF0YTogSU9hdXRoUmVzcCA9IHtcbiAgICBBY2Nlc3NUb2tlbjogJycsXG4gICAgRW1haWw6ICcnLFxuICAgIEZpcnN0TmFtZTogJycsXG4gICAgTGFzdE5hbWU6ICcnLFxuICB9O1xuICBjb25maWdEYXRhOlRlbmFudENvbmZpZyB8IG51bGwgPSBudWxsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIsXG4gICAgcHJpdmF0ZSBzZXJ2ZXI6IEh0dHBXZWJSZXF1ZXN0U2VydmljZSxcbiAgICBwcml2YXRlIHV0aWxTZXJ2aWNlOiBVdGlsU2VydmljZSxcbiAgICBwcml2YXRlIGVudlN2YzogRW52aXJvbm1lbnRTZXJ2aWNlLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHRoaXMubG9naW5Gb3JtID0gdGhpcy5mYi5ncm91cCh7XG4gICAgICBFbWFpbDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG51bGwsIFtcbiAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcbiAgICAgICAgVmFsaWRhdG9ycy5lbWFpbCxcbiAgICAgIF0pLFxuICAgICAgUGFzc3dvcmQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihudWxsLCBbXG4gICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXG4gICAgICAgIFZhbGlkYXRvcnMubWluTGVuZ3RoKDUpLFxuICAgICAgXSksXG4gICAgfSk7XG4gICAgdGhpcy5hcGlLZXkgPSB0aGlzLmVudlN2Yy5lbnZpcm9ubWVudC5UZW5hbnQ7XG4gICAgdGhpcy5zZWNyZXQgPSB0aGlzLmVudlN2Yy5lbnZpcm9ubWVudC5TZWNyZXQ7XG4gIH1cblxuICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICBhd2FpdCB0aGlzLmdldFRlbmFudENvbmZpZygpO1xuICAgIHRoaXMucm91dGUucXVlcnlQYXJhbXMuc3Vic2NyaWJlKChwYXJhbXMpID0+IHtcbiAgICAgIHRoaXMuY29kZSA9IHBhcmFtc1snY29kZSddO1xuICAgICAgdGhpcy50eXBlID0gcGFyYW1zWyd0eXBlJ107XG4gICAgICBpZiAodGhpcy5jb2RlKSB7XG4gICAgICAgIHRoaXMudmVyaWZ5VXNlckRldGFpbHMoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIGdldFRlbmFudENvbmZpZygpIHtcbiAgICB0cnl7IFxuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIuZ2V0PFRlbmFudENvbmZpZz4oXG4gICAgICAgIGBUZW5hbnQvR2V0VGVuYW50Q29uZmlnQnlLZXkvJHt0aGlzLmFwaUtleX1gXG4gICAgICApO1xuICAgICAgdGhpcy50ZW5hbnREZXRhaWxzID0gcmVzO1xuICAgICAgdGhpcy5jb25maWdEYXRhID0gcmVzO1xuICAgICAgdGhpcy5BdXRoTWVjaGFuaXNtcyA9IHRoaXMudGVuYW50RGV0YWlscz8uQXV0aE1lY2hhbmlzbXM7XG4gICAgICBpZiAoXG4gICAgICAgICF0aGlzLnRlbmFudERldGFpbHM/LkF1dGhNZWNoYW5pc20gJiZcbiAgICAgICAgdGhpcy50ZW5hbnREZXRhaWxzPy5BdXRoTWVjaGFuaXNtICE9PSBNZWNoYW5pc21UeXBlLkluQXBwXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zaG93Zm9ybSA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5zaG93Zm9ybSA9IHRydWU7XG4gICAgICB9XG4gICAgICB0aGlzLnRlbmFudENvbmZpZ0xvYWRlZC5lbWl0KHRoaXMuY29uZmlnRGF0YSk7XG4gICAgfWNhdGNoKGVycil7IFxuICAgICBjb25zdCBtc2cgPSBlcnI7XG4gICAgIHRoaXMudGVuYW50Q29uZmlnTG9hZGVkLmVtaXQobnVsbCk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tGb3JtKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmxvZ2luRm9ybS52YWxpZDtcbiAgfVxuXG4gIGFzeW5jIHZlcmlmeVVzZXJEZXRhaWxzKCkge1xuICAgIGlmICh0aGlzLkF1dGhNZWNoYW5pc21zICE9PSBudWxsICYmIHRoaXMuYXBpS2V5KSB7XG4gICAgICBjb25zdCBkYXRhOiBhbnkgPSB0aGlzLkF1dGhNZWNoYW5pc21zLmZpbmQoKGl0ZW0pID0+XG4gICAgICAgIGl0ZW0uQXV0aE1lY2hhbmlzbS5pbmNsdWRlcyh0aGlzLnR5cGUpXG4gICAgICApO1xuICAgICAgY29uc3QgcGF5bG9hZCA9IHtcbiAgICAgICAgQXV0aENvZGU6IHRoaXMuY29kZSxcbiAgICAgICAgVGVuYW50OiB0aGlzLmFwaUtleSxcbiAgICAgICAgQXV0aE1lY2hhbmlzbTogZGF0YS5BdXRoTWVjaGFuaXNtLFxuICAgICAgfTtcblxuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KFxuICAgICAgICBgQXV0aGVudGljYXRpb24vR2V0VXNlckRldGFpbHNgLFxuICAgICAgICBwYXlsb2FkXG4gICAgICApO1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IHJlcyBhcyBJT2F1dGhSZXNwO1xuICAgICAgICB0aGlzLk9hdXRoRGF0YSA9IHtcbiAgICAgICAgICBBY2Nlc3NUb2tlbjogcmVzdWx0Py5BY2Nlc3NUb2tlbixcbiAgICAgICAgICBFbWFpbDogcmVzdWx0Py5FbWFpbCxcbiAgICAgICAgICBGaXJzdE5hbWU6IHJlc3VsdD8uRmlyc3ROYW1lLFxuICAgICAgICAgIExhc3ROYW1lOiByZXN1bHQ/Lkxhc3ROYW1lLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLnN1Ym1pdChkYXRhLkF1dGhNZWNoYW5pc20pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdCh0eXBlOiBzdHJpbmcpIHtcbiAgICAvLyBpZiAoIXRoaXMuY2hlY2tGb3JtKCkpIHtcbiAgICAvLyAgIHJldHVybjtcbiAgICAvLyB9XG5cbiAgICBsZXQgZGF0YTogTG9naW5EYXRhID0ge1xuICAgICAgTWFpbEFkZHJlc3M6ICcnLFxuICAgICAgUGFzc3dvcmQ6ICcnLFxuICAgICAgTG9naW5UeXBlOiB0eXBlLFxuICAgICAgVGVuYW50OiB0aGlzLmFwaUtleSxcbiAgICAgIFNlY3JldGU6IHRoaXMuc2VjcmV0LFxuICAgICAgVG9rZW46ICcnLFxuICAgIH07XG5cbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgIGNhc2UgTWVjaGFuaXNtVHlwZS5JbkFwcDpcbiAgICAgICAgaWYgKCF0aGlzLmNoZWNrRm9ybSgpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgICAgTWFpbEFkZHJlc3M6IHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydFbWFpbCddLnZhbHVlLFxuICAgICAgICAgICAgUGFzc3dvcmQ6IHRoaXMubG9naW5Gb3JtLmNvbnRyb2xzWydQYXNzd29yZCddLnZhbHVlLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIE1lY2hhbmlzbVR5cGUuR29vZ2xlOlxuICAgICAgICBkYXRhID0ge1xuICAgICAgICAgIC4uLmRhdGEsXG4gICAgICAgICAgTWFpbEFkZHJlc3M6IHRoaXMuT2F1dGhEYXRhPy5FbWFpbCxcbiAgICAgICAgICBUb2tlbjogdGhpcy5PYXV0aERhdGE/LkFjY2Vzc1Rva2VuLFxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgTWVjaGFuaXNtVHlwZS5NaWNyb3NvZnRBRDpcbiAgICAgICAgZGF0YSA9IHtcbiAgICAgICAgICAuLi5kYXRhLFxuICAgICAgICAgIE1haWxBZGRyZXNzOiB0aGlzLk9hdXRoRGF0YT8uRW1haWwsXG4gICAgICAgICAgVG9rZW46IHRoaXMuT2F1dGhEYXRhPy5BY2Nlc3NUb2tlbixcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGRhdGEgPSB7XG4gICAgICAgICAgLi4uZGF0YSxcbiAgICAgICAgICBNYWlsQWRkcmVzczogJycsXG4gICAgICAgICAgVG9rZW46ICcnLFxuICAgICAgICB9O1xuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdChkYXRhKTtcblxuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAgIHRoaXMuaXNMb2FkaW5nID0gdHJ1ZTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnNlcnZlci5wb3N0KGBBdXRoZW50aWNhdGlvbi9Mb2dpbmAsIGRhdGEpO1xuICAgICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuICAgICAgdGhpcy5pc0xvYWRpbmcgPSBmYWxzZTtcblxuICAgICAgaWYgKHJlcyBpbnN0YW5jZW9mIEVycm9yUmVzcG9uc2UpIHtcbiAgICAgICAgdGhpcy5vblN1Ym1pdEVuZC5lbWl0KHJlcyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByZXN1bHQgPSByZXMgYXMgUmVzcG9uc2VLZXlWYWx1ZTtcbiAgICAgICAgdGhpcy5vblN1Ym1pdEVuZC5lbWl0KHJlc3VsdCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICAgIHRoaXMuaXNMb2FkaW5nID0gZmFsc2U7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBkdXJpbmcgbG9naW46JywgZXJyb3IpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBzdHlsZXMoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdiYWNrZ3JvdW5kLWNvbG9yJzogdGhpcy5iZ0NvbG9yLFxuICAgICAgJ2JveC1zaGFkb3cnOiB0aGlzLmJveFNoYWRvdyxcbiAgICAgIGJvcmRlcjogdGhpcy5ib3JkZXIsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuYm9yZGVyUmFkaXVzLFxuICAgICAgY29sb3I6IHRoaXMudGV4dENvbG9yLFxuICAgICAgd2lkdGg6IHRoaXMud2lkdGgsXG4gICAgICAnbWF4LXdpZHRoJzogdGhpcy5tYXhXaWR0aCxcbiAgICAgIG1hcmdpbjogdGhpcy5tYXJnaW4sXG4gICAgICBoZWlnaHQ6IHRoaXMuaGVpZ2h0LFxuICAgICAgcGFkZGluZzogdGhpcy5wZCxcbiAgICB9O1xuICB9XG59XG4iLCI8c2VjdGlvblxuW25nU3R5bGVdPVwic3R5bGVzXCJcbmNsYXNzPVwie3sgY3VzdG9tQ2xhc3MgfX1cIlxuPlxuICAgIDxoMiBjbGFzcz1cInt7aGVhZGxpbmdDbGFzc319XCI+e3toZWFkbGluZ1RleHR9fTwvaDI+XG4gICAgPGZvcm0gW2Zvcm1Hcm91cF09XCJsb2dpbkZvcm1cIiAobmdTdWJtaXQpPVwic3VibWl0KCdJbkFwcCcpXCIgY2xhc3M9XCJmbGV4V3JhcHBlclwiPiBcbiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtV3JhcHBlclwiICpuZ0lmPVwic2hvd2Zvcm1cIj4gXG4gICAgICA8dmVyYmVuYS1pbnB1dFxuICAgICAgICBbbGFiZWxdPVwiJ0VtYWlsJ1wiXG4gICAgICAgIFtsYWJlbENvbG9yXT1cImlucHV0TGFiZWxDb2xvclwiXG4gICAgICAgIFtwbGFjZUhvbGRlcl09XCInJ1wiXG4gICAgICAgIFtyZXF1aXJlZF09XCJ0cnVlXCJcbiAgICAgICAgW3R5cGVdPVwiJ2VtYWlsJ1wiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cIkVtYWlsXCJcbiAgICAgICAgW3Nob3dCb3JkZXJdPVwidHJ1ZVwiXG4gICAgICAgIFtiZ0NvbG9yXT1cImlucHV0QmdDb2xvclwiXG4gICAgICAgIFtib3JkZXJdPVwiaW5wdXRCb3JkZXJcIlxuICAgICAgICBbYm9yZGVyUmFkaXVzXT1cImlucHV0Qm9yZGVyUmFkaXVzXCJcbiAgICAgICAgW3Nob3dFcnJvck1lc3NhZ2VdPVwidHJ1ZVwiXG4gICAgICAgIFtlcnJvck1lc3NhZ2VDb2xvcl09XCIncmVkJ1wiXG4gICAgICAgIFtlcnJvckJvcmRlckNvbG9yXT1cIidyZWQnXCJcbiAgICAgICAgW2Vycm9yUG9zaXRpb25dPVwiJ2JvdHRvbSdcIlxuICAgICAgICBjbGFzcz1cIm91dGxpbmUtbm9uZSBmb2N1cy1ub25lXCJcbiAgICAgID48L3ZlcmJlbmEtaW5wdXQ+XG4gICAgICA8ZGl2PiBcbiAgICAgICAgPHZlcmJlbmEtaW5wdXRcbiAgICAgICAgW2xhYmVsXT1cIidQYXNzd29yZCdcIlxuICAgICAgICBbbGFiZWxDb2xvcl09XCJpbnB1dExhYmVsQ29sb3JcIlxuICAgICAgICBbcGxhY2VIb2xkZXJdPVwiJydcIlxuICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiXG4gICAgICAgIFt0eXBlXT1cIidwYXNzd29yZCdcIlxuICAgICAgICBmb3JtQ29udHJvbE5hbWU9XCJQYXNzd29yZFwiXG4gICAgICAgIFtzaG93Qm9yZGVyXT1cInRydWVcIlxuICAgICAgICBbYmdDb2xvcl09XCJpbnB1dEJnQ29sb3JcIlxuICAgICAgICBbYm9yZGVyXT1cImlucHV0Qm9yZGVyXCJcbiAgICAgICAgW2JvcmRlclJhZGl1c109XCJpbnB1dEJvcmRlclJhZGl1c1wiXG4gICAgICAgIFtzaG93RXJyb3JNZXNzYWdlXT1cInRydWVcIlxuICAgICAgICBbZXJyb3JNZXNzYWdlQ29sb3JdPVwiJ3JlZCdcIlxuICAgICAgICBbZXJyb3JCb3JkZXJDb2xvcl09XCIncmVkJ1wiXG4gICAgICAgIFtlcnJvclBvc2l0aW9uXT1cIidib3R0b20nXCJcbiAgICAgICAgW3Bhc3N3b3JkVG9nZ2xlXT1cInRydWVcIlxuICAgICAgICBbcGFzc0xlbmd0aF09XCI1XCJcbiAgICAgICAgW2N1c3RvbUVycm9yTWVzc2FnZXNdPVwie1xuICAgICAgICAgIHBhc3N3b3JkOidQYXNzd29yZCBpcyByZXF1aXJlZCdcbiAgICAgICAgfVwiXG4gICAgICAgIGNsYXNzPVwib3V0bGluZS1ub25lIGZvY3VzLW5vbmVcIlxuICAgICAgPjwvdmVyYmVuYS1pbnB1dD5cbiAgICAgIDxkaXYgY2xhc3M9XCJwd2RXcmFwcGVyXCI+IFxuICAgICAgICAgIDxwIGNsYXM9XCJtYi0wXCI+IDxhIFtyb3V0ZXJMaW5rXT1cImZvcmdldFBhc3N3b3JkTGlua1wiIGNsYXNzPVwie3tmb3JnZXRQYXNzd29yZENsYXNzfX1cIj5Gb3Jnb3QgcGFzc3dvcmQ8L2E+PC9wPlxuICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxsaWItYnV0dG9uIFxuICAgICAgW2J1dHRvbkNsYXNzXT1cImJ0bkNsYXNzXCJcbiAgICAgIFtjb2xvcl09XCJidG5Db2xvclwiXG4gICAgICBbYm9yZGVyXT1cImJ0bkJvcmRlclwiXG4gICAgICBbYm9yZGVyUmFkaXVzXT1cImJ0bkJvcmRlclJhZGl1c1wiXG4gICAgICBbYmdDb2xvcl09XCJidG5CZ0NvbG9yXCJcbiAgICAgIFtwZF09XCJidG5QZFwiXG4gICAgICBbdGV4dF09XCJidG5UZXh0XCIgXG4gICAgICB0eXBlPVwic3VibWl0XCIgXG4gICAgICBbZGlzYWJsZWRdPVwiIXRoaXMuY2hlY2tGb3JtKClcIlxuICAgICAgPjwvbGliLWJ1dHRvbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2PiBcbiAgICAgIDxwICpuZ0lmPVwicmVxdWVzdEFjY2Vzc0xpbmtcIj5cbiAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwicmVxdWVzdEFjY2Vzc0xpbmtcIiAgY2xhc3M9XCJ7e3JlcXVlc3RBY2Nlc3NDbGFzc319XCI+Q2xpY2sgaGVyZSB0byByZXF1ZXN0IHVzZXIgYWNjZXNzPC9hPlxuICAgICAgPC9wPlxuICAgICAgPGRpdj4gXG4gICAgICAgIDxkaXYgKm5nSWY9XCJBdXRoTWVjaGFuaXNtcyAhPT0gbnVsbFwiPiBcbiAgICAgICAgICA8dmVyYmVuLW8tYXV0aCBcbiAgICAgICAgICAgIFthdXRoTWVjaGFuaXNtc109XCJBdXRoTWVjaGFuaXNtc1wiXG4gICAgICAgICAgPjwvdmVyYmVuLW8tYXV0aD5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPHAgY2xhc3M9XCJ7e2NyZWF0ZUFjY291bnRDbGFzc319XCIgKm5nSWY9XCJjcmVhdGVBY2NvdW50TGlua1wiPlxuICAgICAgICAgICAgRG9uJ3QgaGF2ZSBhbiBhY2NvdW50P1xuICAgICAgICAgICAgPGEgW3JvdXRlckxpbmtdPVwiY3JlYXRlQWNjb3VudExpbmtcIiAgY2xhc3M9XCJ7e2NyZWF0ZUFjY291bnRMaW5rQ2xhc3N9fVwiPkNyZWF0ZSBhbiBhY2NvdW50PC9hPlxuICAgICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Zvcm0+XG4gIDwvc2VjdGlvbj5cbiAgIl19
|
|
@@ -31,12 +31,12 @@ export class TwoFactorAuthOtpComponent {
|
|
|
31
31
|
length = 6;
|
|
32
32
|
otpClass = '';
|
|
33
33
|
resendOtpData = {
|
|
34
|
-
MailAddress:
|
|
35
|
-
Password:
|
|
36
|
-
LoginType:
|
|
37
|
-
|
|
38
|
-
Secrete:
|
|
39
|
-
RedirectUri:
|
|
34
|
+
MailAddress: 'verbena@gmail.com',
|
|
35
|
+
Password: 'Default',
|
|
36
|
+
LoginType: 'InApp',
|
|
37
|
+
Tenant: 'PDLTC6',
|
|
38
|
+
Secrete: '$White360$',
|
|
39
|
+
RedirectUri: '/auth/otp',
|
|
40
40
|
};
|
|
41
41
|
User = {
|
|
42
42
|
Code: '024',
|
|
@@ -51,15 +51,15 @@ export class TwoFactorAuthOtpComponent {
|
|
|
51
51
|
Role: [],
|
|
52
52
|
Tags: [
|
|
53
53
|
{
|
|
54
|
-
Name:
|
|
55
|
-
IsOptional: true
|
|
56
|
-
}
|
|
54
|
+
Name: 'tester',
|
|
55
|
+
IsOptional: true,
|
|
56
|
+
},
|
|
57
57
|
],
|
|
58
58
|
Password: 'Default',
|
|
59
59
|
Status: 'Active',
|
|
60
60
|
CreatedAt: new Date(),
|
|
61
61
|
UpdatedAt: new Date(),
|
|
62
|
-
DataState: ObjectState.New
|
|
62
|
+
DataState: ObjectState.New,
|
|
63
63
|
};
|
|
64
64
|
OtpData = {
|
|
65
65
|
User: this.User,
|
|
@@ -67,7 +67,7 @@ export class TwoFactorAuthOtpComponent {
|
|
|
67
67
|
ValidateUrl: '',
|
|
68
68
|
Secret: '',
|
|
69
69
|
OTP: '',
|
|
70
|
-
Info: ''
|
|
70
|
+
Info: '',
|
|
71
71
|
};
|
|
72
72
|
btnClass = '';
|
|
73
73
|
btnBgColor = '#FFE681';
|
|
@@ -89,7 +89,7 @@ export class TwoFactorAuthOtpComponent {
|
|
|
89
89
|
}
|
|
90
90
|
ngOnInit() {
|
|
91
91
|
this.otpForm = this.fb.group({
|
|
92
|
-
otpValue: ['', [Validators.required, Validators.minLength(6)]]
|
|
92
|
+
otpValue: ['', [Validators.required, Validators.minLength(6)]],
|
|
93
93
|
});
|
|
94
94
|
}
|
|
95
95
|
onOtpChange(value) {
|
|
@@ -100,7 +100,7 @@ export class TwoFactorAuthOtpComponent {
|
|
|
100
100
|
async submitData() {
|
|
101
101
|
const data = {
|
|
102
102
|
User: {
|
|
103
|
-
...this.User
|
|
103
|
+
...this.User,
|
|
104
104
|
},
|
|
105
105
|
Token: this.OtpData.Token,
|
|
106
106
|
ValidateUrl: this.OtpData.ValidateUrl,
|
|
@@ -127,9 +127,9 @@ export class TwoFactorAuthOtpComponent {
|
|
|
127
127
|
MailAddress: this.resendOtpData?.MailAddress,
|
|
128
128
|
Password: this.resendOtpData?.Password,
|
|
129
129
|
LoginType: this.resendOtpData?.LoginType,
|
|
130
|
-
|
|
130
|
+
Tenant: this.resendOtpData?.Tenant,
|
|
131
131
|
Secrete: this.resendOtpData?.Secrete,
|
|
132
|
-
RedirectUri: this.resendOtpData?.RedirectUri
|
|
132
|
+
RedirectUri: this.resendOtpData?.RedirectUri,
|
|
133
133
|
};
|
|
134
134
|
this.utilService.sendBI(true);
|
|
135
135
|
const res = await this.server.post(`Authentication/ResendOTP`, data);
|
|
@@ -146,14 +146,14 @@ export class TwoFactorAuthOtpComponent {
|
|
|
146
146
|
return {
|
|
147
147
|
'background-color': this.bgColor,
|
|
148
148
|
'box-shadow': this.boxShadow,
|
|
149
|
-
|
|
149
|
+
border: this.border,
|
|
150
150
|
'border-radius': this.borderRadius,
|
|
151
|
-
|
|
152
|
-
|
|
151
|
+
color: this.textColor,
|
|
152
|
+
width: this.width,
|
|
153
153
|
'max-width': this.maxWidth,
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
154
|
+
margin: this.margin,
|
|
155
|
+
height: this.height,
|
|
156
|
+
padding: this.pd,
|
|
157
157
|
};
|
|
158
158
|
}
|
|
159
159
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: TwoFactorAuthOtpComponent, deps: [{ token: i1.FormBuilder }, { token: i2.HttpWebRequestService }, { token: i3.UtilService }], target: i0.ɵɵFactoryTarget.Component });
|
|
@@ -225,4 +225,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
225
225
|
}], resend: [{
|
|
226
226
|
type: Output
|
|
227
227
|
}] } });
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLWZhY3Rvci1hdXRoLW90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3R3by1mYWN0b3ItYXV0aC1vdHAvdHdvLWZhY3Rvci1hdXRoLW90cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3R3by1mYWN0b3ItYXV0aC1vdHAvdHdvLWZhY3Rvci1hdXRoLW90cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSTNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFVeEQsTUFBTSxPQUFPLHlCQUF5QjtJQTZFMUI7SUFDQTtJQUNBO0lBOUVELFdBQVcsR0FBVyxFQUFFLENBQUE7SUFDeEIsYUFBYSxHQUFXLEVBQUUsQ0FBQTtJQUMxQixZQUFZLEdBQVcsMkJBQTJCLENBQUE7SUFDbEQsY0FBYyxHQUFXLEVBQUUsQ0FBQTtJQUMzQixXQUFXLEdBQVcsRUFBRSxDQUFBO0lBQ3hCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUN6QixTQUFTLEdBQVcsaUNBQWlDLENBQUM7SUFD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QUFFO1NBQ2xCLENBQUM7SUFDSixDQUFDO3dHQWpLVSx5QkFBeUI7NEZBQXpCLHlCQUF5QixreUJDbEJ0QyxxMEJBNkJVOzs0RkRYRyx5QkFBeUI7a0JBTnJDLFNBQVM7K0JBQ0UsaUJBQWlCOzhJQU1sQixXQUFXO3NCQUFuQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQVNHLElBQUk7c0JBQVosS0FBSztnQkF1QkcsT0FBTztzQkFBZixLQUFLO2dCQVNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQU1JLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csU0FBUztzQkFBbEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLE1BQU07c0JBQWYsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAsIEZvcm1CdWlsZGVyLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSHR0cFdlYlJlcXVlc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvaHR0cC13ZWItcmVxdWVzdC5zZXJ2aWNlJztcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yUmVzcG9uc2UgfSBmcm9tICcuLi8uLi9tb2RlbHMvRXJyb3JSZXNwb25zZSc7XG5pbXBvcnQgeyBSZXNwb25zZUtleVZhbHVlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL1Jlc3BvbnNlS2V5VmFsdWUnO1xuaW1wb3J0IHsgT3RwRGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9vdHBWYWx1ZSc7XG5pbXBvcnQgeyBVc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3VzZXInO1xuaW1wb3J0IHsgT2JqZWN0U3RhdGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvb2JqZWN0LXN0YXRlJztcbmltcG9ydCB7IE1haW5Vc2VyIH0gZnJvbSAnLi4vLi4vbW9kZWxzL21haW5Vc2VyJztcbmltcG9ydCB7IFJlc2VuZE90cERhdGEgfSBmcm9tICcuLi8uLi9tb2RlbHMvcmVzZW5kLW90cC1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLWF1dGgtb3RwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3R3by1mYWN0b3ItYXV0aC1vdHAuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdHdvLWZhY3Rvci1hdXRoLW90cC5jb21wb25lbnQuY3NzJ1xufSlcblxuZXhwb3J0IGNsYXNzIFR3b0ZhY3RvckF1dGhPdHBDb21wb25lbnQge1xuICBASW5wdXQoKSBjdXN0b21DbGFzczogc3RyaW5nID0gJydcbiAgQElucHV0KCkgaGVhZGxpbmdDbGFzczogc3RyaW5nID0gJydcbiAgQElucHV0KCkgaGVhZGxpbmdUZXh0OiBzdHJpbmcgPSAnVHdvIEZhY3RvciBBdXRoZW50aWNhdGlvbidcbiAgQElucHV0KCkgcGFyYWdyYXBoQ2xhc3M6IHN0cmluZyA9ICcnXG4gIEBJbnB1dCgpIHJlc2VuZENsYXNzOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWFyZ2luOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBiZ0NvbG9yOiBzdHJpbmcgPSAnI2ZmZic7XG4gIEBJbnB1dCgpIGJveFNoYWRvdzogc3RyaW5nID0gJzRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSknO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjgwJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnMjRweCc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyMzMzMnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgbGVuZ3RoOiBudW1iZXIgPSA2O1xuICBASW5wdXQoKSBvdHBDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHJlc2VuZE90cERhdGE6IFJlc2VuZE90cERhdGEgPSB7XG4gICAgTWFpbEFkZHJlc3M6IFwidmVyYmVuYUBnbWFpbC5jb21cIixcbiAgICBQYXNzd29yZDogXCJEZWZhdWx0XCIsXG4gICAgTG9naW5UeXBlOiBcIkluQXBwXCIsXG4gICAgQVBJS2V5OiBcIlBETFRDNlwiLFxuICAgIFNlY3JldGU6IFwiJFdoaXRlMzYwJFwiLFxuICAgIFJlZGlyZWN0VXJpOiBcIi9hdXRoL290cFwiXG4gIH07XG4gIFxuICBASW5wdXQoKSBVc2VyOk1haW5Vc2VyID0ge1xuICAgIENvZGU6ICcwMjQnLFxuICAgIFRlbmFudElkOiAnNTNiMWM1NzliZGYzZGU3NGY3NmJkYWM5JyxcbiAgICBJZDogJzUzYjFjNTc5YmRmM2RlNzRmNzZiZGFjOScsXG4gICAgU2VydmljZU5hbWU6ICdjaGluZWR1JyxcbiAgICBNYWlsQWRkcmVzczogJ253YWVrd3VjaGluZWR1QGdtYWlsLmNvbScsXG4gICAgUGhvbmVOdW1iZXI6ICcwNzAnLFxuICAgIEZpcnN0TmFtZTogJ253YWVrd3UnLFxuICAgIExhc3ROYW1lOiAnY2hpbmVkdScsXG4gICAgT3RoZXJOYW1lOiAnY2hpbmVkdScsXG4gICAgUm9sZTogW10sXG4gICAgVGFnczogW1xuICAgICAge1xuICAgICAgTmFtZTogXCJ0ZXN0ZXJcIixcbiAgICAgIElzT3B0aW9uYWw6IHRydWVcbiAgICB9XSxcbiAgICBQYXNzd29yZDogJ0RlZmF1bHQnLFxuICAgIFN0YXR1czogJ0FjdGl2ZScsXG4gICAgQ3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgIFVwZGF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICBEYXRhU3RhdGU6IE9iamVjdFN0YXRlLk5ld1xuICB9XG5cbiAgQElucHV0KCkgT3RwRGF0YTpPdHBEYXRhID0ge1xuICAgIFVzZXI6IHRoaXMuVXNlcixcbiAgICBUb2tlbjogJycsXG4gICAgVmFsaWRhdGVVcmw6ICcnLFxuICAgIFNlY3JldDogJycsXG4gICAgT1RQOiAnJyxcbiAgICBJbmZvOiAnJ1xuICB9XG5cbiAgQElucHV0KCkgYnRuQ2xhc3M6IHN0cmluZyA9ICcnXG4gIEBJbnB1dCgpIGJ0bkJnQ29sb3I6IHN0cmluZyA9ICcjRkZFNjgxJ1xuICBASW5wdXQoKSBidG5Db2xvcjogc3RyaW5nID0gJydcbiAgQElucHV0KCkgYnRuQm9yZGVyOiBzdHJpbmcgPSAnJ1xuICBASW5wdXQoKSBidG5Cb3JkZXJSYWRpdXM6IHN0cmluZyA9ICcyNHB4J1xuICBASW5wdXQoKSBidG5QZDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJ0blRleHQ6IHN0cmluZyA9ICdTdWJtaXQnO1xuXG5cbiAgb3RwVmFsdWU6IHN0cmluZyA9ICcnO1xuICBvdHBGb3JtITogRm9ybUdyb3VwO1xuXG4gIEBPdXRwdXQoKSBidXR0b25DbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICBAT3V0cHV0KCkgb3RwQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBvblN1Ym1pdEVuZDogRXZlbnRFbWl0dGVyPFJlc3BvbnNlS2V5VmFsdWUgfCBFcnJvclJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHJlc2VuZDogRXZlbnRFbWl0dGVyPFJlc3BvbnNlS2V5VmFsdWUgfCBFcnJvclJlc3BvbnNlPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHNlcnZlcjogSHR0cFdlYlJlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbFNlcnZpY2U6IFV0aWxTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm90cEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG90cFZhbHVlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg2KV1dXG4gICAgfSk7XG4gIH1cblxuICBvbk90cENoYW5nZSh2YWx1ZTogc3RyaW5nKSB7XG4gICAgdGhpcy5vdHBWYWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMub3RwRm9ybS5nZXQoJ290cFZhbHVlJyk/LnNldFZhbHVlKHZhbHVlKTtcbiAgICB0aGlzLm90cENoYW5nZS5lbWl0KHRoaXMub3RwVmFsdWUpO1xuICB9XG5cbiAgYXN5bmMgc3VibWl0RGF0YSgpIHtcbiAgICBjb25zdCBkYXRhOk90cERhdGEgPSB7XG4gICAgICBVc2VyOiB7XG4gICAgICAgIC4uLnRoaXMuVXNlclxuICAgICAgfSxcbiAgICAgIFRva2VuOiB0aGlzLk90cERhdGEuVG9rZW4sXG4gICAgICBWYWxpZGF0ZVVybDogdGhpcy5PdHBEYXRhLlZhbGlkYXRlVXJsLFxuICAgICAgU2VjcmV0OiB0aGlzLk90cERhdGEuU2VjcmV0LFxuICAgICAgT1RQOiB0aGlzLk90cERhdGEuT1RQLFxuICAgICAgSW5mbzogdGhpcy5PdHBEYXRhLkluZm8sXG4gICAgfTtcbiAgICBcblxuICAgIGlmICh0aGlzLm90cEZvcm0udmFsaWQpIHtcbiAgICAgIC8vIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCh0aGlzLm90cEZvcm0uZ2V0KCdvdHBWYWx1ZScpPy52YWx1ZSk7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSSh0cnVlKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLnBvc3QoXG4gICAgICAgIGBBdXRoZW50aWNhdGlvbi9WYWxpZGF0ZWAsZGF0YVxuICAgICAgKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMub25TdWJtaXRFbmQuZW1pdChyZXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHJlc3VsdCA9IHJlcyBhcyBSZXNwb25zZUtleVZhbHVlO1xuICAgICAgICB0aGlzLm9uU3VibWl0RW5kLmVtaXQocmVzdWx0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBcbiAgYXN5bmMgcmVzZW5kT3RwKCkge1xuICAgIGNvbnN0IGRhdGE6UmVzZW5kT3RwRGF0YSA9IHtcbiAgICAgIE1haWxBZGRyZXNzOnRoaXMucmVzZW5kT3RwRGF0YT8uTWFpbEFkZHJlc3MsXG4gICAgICBQYXNzd29yZDp0aGlzLnJlc2VuZE90cERhdGE/LlBhc3N3b3JkLFxuICAgICAgTG9naW5UeXBlOnRoaXMucmVzZW5kT3RwRGF0YT8uTG9naW5UeXBlLFxuICAgICAgQVBJS2V5OnRoaXMucmVzZW5kT3RwRGF0YT8uQVBJS2V5LFxuICAgICAgU2VjcmV0ZTp0aGlzLnJlc2VuZE90cERhdGE/LlNlY3JldGUsXG4gICAgICBSZWRpcmVjdFVyaTp0aGlzLnJlc2VuZE90cERhdGE/LlJlZGlyZWN0VXJpXG4gICAgfTtcblxuICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKHRydWUpO1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChcbiAgICAgICAgYEF1dGhlbnRpY2F0aW9uL1Jlc2VuZE9UUGAsZGF0YVxuICAgICAgKTtcbiAgICAgIHRoaXMudXRpbFNlcnZpY2Uuc2VuZEJJKGZhbHNlKTtcbiAgICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICAgIHRoaXMucmVzZW5kLmVtaXQocmVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciByZXN1bHQgPSByZXMgYXMgUmVzcG9uc2VLZXlWYWx1ZTtcbiAgICAgICAgdGhpcy5yZXNlbmQuZW1pdChyZXN1bHQpO1xuICAgICAgfVxuICB9XG5cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICAnYm9yZGVyJzogdGhpcy5ib3JkZXIsXG4gICAgICAnYm9yZGVyLXJhZGl1cyc6IHRoaXMuYm9yZGVyUmFkaXVzLFxuICAgICAgJ2NvbG9yJzogdGhpcy50ZXh0Q29sb3IsXG4gICAgICAnd2lkdGgnOiB0aGlzLndpZHRoLFxuICAgICAgJ21heC13aWR0aCc6dGhpcy5tYXhXaWR0aCxcbiAgICAgICdtYXJnaW4nOnRoaXMubWFyZ2luLFxuICAgICAgJ2hlaWdodCc6IHRoaXMuaGVpZ2h0LFxuICAgICAgJ3BhZGRpbmcnOnRoaXMucGRcbiAgICB9O1xuICB9XG5cbn1cblxuIiwiPHNlY3Rpb25cbltuZ1N0eWxlXT1cInN0eWxlc1wiXG5jbGFzcz1cInt7IGN1c3RvbUNsYXNzIH19XCJcbj5cbiAgPGgzIGNsYXNzPVwie3toZWFkbGluZ0NsYXNzfX1cIj57e2hlYWRsaW5nVGV4dH19PC9oMz5cbiAgPGRpdiBjbGFzcz1cIm90cFdyYXBwZXJcIj4gXG4gICAgPHAgY2xhc3M9XCJ7e3BhcmFncmFwaENsYXNzfX1cIj5FbnRlciB0aGUge3tsZW5ndGh9fSBkaWdpdCBjb2RlIHNlbnQgdG8geW91PC9wPlxuICAgIDx2ZXJiZW4tb3RwLWlucHV0IFxuICAgIFtsZW5ndGhdPVwibGVuZ3RoXCIgXG4gICAgKG90cENoYW5nZSk9XCJvbk90cENoYW5nZSgkZXZlbnQpXCJcbiAgICBbb3RwQ2xhc3NdPVwib3RwQ2xhc3NcIlxuICAgID48L3ZlcmJlbi1vdHAtaW5wdXQ+XG4gIDwvZGl2PlxuICA8bGliLWJ1dHRvbiAgXG4gIFtidXR0b25DbGFzc109XCJidG5DbGFzc1wiXG4gIFtjb2xvcl09XCJidG5Db2xvclwiXG4gIFtib3JkZXJdPVwiYnRuQm9yZGVyXCJcbiAgW2JvcmRlclJhZGl1c109XCJidG5Cb3JkZXJSYWRpdXNcIlxuICBbYmdDb2xvcl09XCJidG5CZ0NvbG9yXCJcbiAgW3BkXT1cImJ0blBkXCJcbiAgW3RleHRdPVwiYnRuVGV4dFwiICBcbiAgKGJ1dHRvbkNsaWNrKT1cInN1Ym1pdERhdGEoKVwiXG4gIFtkaXNhYmxlZF09XCIhb3RwRm9ybS52YWxpZFwiXG4gID48L2xpYi1idXR0b24+XG4gIDxwIGNsYXNzPVwicmVzZW5kV3JhcHBlclwiPlxuICAgIERpZG7igJl0IGdldCBhIGNvZGU/XG4gICAgPGEgY2xhc3M9XCJ7e3Jlc2VuZENsYXNzfX1cIiAoY2xpY2spPVwicmVzZW5kT3RwKClcIj5SZXNlbmQ8L2E+XG4gIDwvcD5cbiAgIFxuPC9zZWN0aW9uPiJdfQ==
|
|
228
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHdvLWZhY3Rvci1hdXRoLW90cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3R3by1mYWN0b3ItYXV0aC1vdHAvdHdvLWZhY3Rvci1hdXRoLW90cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tYXV0aGVudGljYXRpb24tdWkvc3JjL2xpYi9jb21wb25lbnRzL3R3by1mYWN0b3ItYXV0aC1vdHAvdHdvLWZhY3Rvci1hdXRoLW90cC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBMEIsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFHcEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBSTNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFTeEQsTUFBTSxPQUFPLHlCQUF5QjtJQStFMUI7SUFDQTtJQUNBO0lBaEZELFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsYUFBYSxHQUFXLEVBQUUsQ0FBQztJQUMzQixZQUFZLEdBQVcsMkJBQTJCLENBQUM7SUFDbkQsY0FBYyxHQUFXLEVBQUUsQ0FBQztJQUM1QixXQUFXLEdBQVcsRUFBRSxDQUFDO0lBQ3pCLEtBQUssR0FBVyxFQUFFLENBQUM7SUFDbkIsUUFBUSxHQUFXLEVBQUUsQ0FBQztJQUN0QixNQUFNLEdBQVcsRUFBRSxDQUFDO0lBQ3BCLEVBQUUsR0FBVyxFQUFFLENBQUM7SUFDaEIsT0FBTyxHQUFXLE1BQU0sQ0FBQztJQUN6QixTQUFTLEdBQVcsaUNBQWlDLENBQUM7SUFD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U0FDakIsQ0FBQztJQUNKLENBQUM7d0dBNUpVLHlCQUF5Qjs0RkFBekIseUJBQXlCLGt5QkNqQnRDLHEwQkE2QlU7OzRGRFpHLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDRSxpQkFBaUI7OElBS2xCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBU0csSUFBSTtzQkFBWixLQUFLO2dCQXdCRyxPQUFPO3NCQUFmLEtBQUs7Z0JBU0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxTQUFTO3NCQUFsQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBRUcsTUFBTTtzQkFBZixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCwgRm9ybUJ1aWxkZXIsIFZhbGlkYXRvcnMgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBIdHRwV2ViUmVxdWVzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9odHRwLXdlYi1yZXF1ZXN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgVXRpbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy91dGlsLnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JSZXNwb25zZSB9IGZyb20gJy4uLy4uL21vZGVscy9FcnJvclJlc3BvbnNlJztcbmltcG9ydCB7IFJlc3BvbnNlS2V5VmFsdWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvUmVzcG9uc2VLZXlWYWx1ZSc7XG5pbXBvcnQgeyBPdHBEYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWxzL290cFZhbHVlJztcbmltcG9ydCB7IFVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvdXNlcic7XG5pbXBvcnQgeyBPYmplY3RTdGF0ZSB9IGZyb20gJy4uLy4uL21vZGVscy9vYmplY3Qtc3RhdGUnO1xuaW1wb3J0IHsgTWFpblVzZXIgfSBmcm9tICcuLi8uLi9tb2RlbHMvbWFpblVzZXInO1xuaW1wb3J0IHsgUmVzZW5kT3RwRGF0YSB9IGZyb20gJy4uLy4uL21vZGVscy9yZXNlbmQtb3RwLWRhdGEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tYXV0aC1vdHAnLFxuICB0ZW1wbGF0ZVVybDogJy4vdHdvLWZhY3Rvci1hdXRoLW90cC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi90d28tZmFjdG9yLWF1dGgtb3RwLmNvbXBvbmVudC5jc3MnLFxufSlcbmV4cG9ydCBjbGFzcyBUd29GYWN0b3JBdXRoT3RwQ29tcG9uZW50IHtcbiAgQElucHV0KCkgY3VzdG9tQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBoZWFkbGluZ0NsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgaGVhZGxpbmdUZXh0OiBzdHJpbmcgPSAnVHdvIEZhY3RvciBBdXRoZW50aWNhdGlvbic7XG4gIEBJbnB1dCgpIHBhcmFncmFwaENsYXNzOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcmVzZW5kQ2xhc3M6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSB3aWR0aDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIG1heFdpZHRoOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbWFyZ2luOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBiZ0NvbG9yOiBzdHJpbmcgPSAnI2ZmZic7XG4gIEBJbnB1dCgpIGJveFNoYWRvdzogc3RyaW5nID0gJzRweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSknO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgIzY2NjY2NjgwJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnMjRweCc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyMzMzMnO1xuICBASW5wdXQoKSBoZWlnaHQ6IHN0cmluZyA9ICdhdXRvJztcbiAgQElucHV0KCkgbGVuZ3RoOiBudW1iZXIgPSA2O1xuICBASW5wdXQoKSBvdHBDbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHJlc2VuZE90cERhdGE6IFJlc2VuZE90cERhdGEgPSB7XG4gICAgTWFpbEFkZHJlc3M6ICd2ZXJiZW5hQGdtYWlsLmNvbScsXG4gICAgUGFzc3dvcmQ6ICdEZWZhdWx0JyxcbiAgICBMb2dpblR5cGU6ICdJbkFwcCcsXG4gICAgVGVuYW50OiAnUERMVEM2JyxcbiAgICBTZWNyZXRlOiAnJFdoaXRlMzYwJCcsXG4gICAgUmVkaXJlY3RVcmk6ICcvYXV0aC9vdHAnLFxuICB9O1xuXG4gIEBJbnB1dCgpIFVzZXI6IE1haW5Vc2VyID0ge1xuICAgIENvZGU6ICcwMjQnLFxuICAgIFRlbmFudElkOiAnNTNiMWM1NzliZGYzZGU3NGY3NmJkYWM5JyxcbiAgICBJZDogJzUzYjFjNTc5YmRmM2RlNzRmNzZiZGFjOScsXG4gICAgU2VydmljZU5hbWU6ICdjaGluZWR1JyxcbiAgICBNYWlsQWRkcmVzczogJ253YWVrd3VjaGluZWR1QGdtYWlsLmNvbScsXG4gICAgUGhvbmVOdW1iZXI6ICcwNzAnLFxuICAgIEZpcnN0TmFtZTogJ253YWVrd3UnLFxuICAgIExhc3ROYW1lOiAnY2hpbmVkdScsXG4gICAgT3RoZXJOYW1lOiAnY2hpbmVkdScsXG4gICAgUm9sZTogW10sXG4gICAgVGFnczogW1xuICAgICAge1xuICAgICAgICBOYW1lOiAndGVzdGVyJyxcbiAgICAgICAgSXNPcHRpb25hbDogdHJ1ZSxcbiAgICAgIH0sXG4gICAgXSxcbiAgICBQYXNzd29yZDogJ0RlZmF1bHQnLFxuICAgIFN0YXR1czogJ0FjdGl2ZScsXG4gICAgQ3JlYXRlZEF0OiBuZXcgRGF0ZSgpLFxuICAgIFVwZGF0ZWRBdDogbmV3IERhdGUoKSxcbiAgICBEYXRhU3RhdGU6IE9iamVjdFN0YXRlLk5ldyxcbiAgfTtcblxuICBASW5wdXQoKSBPdHBEYXRhOiBPdHBEYXRhID0ge1xuICAgIFVzZXI6IHRoaXMuVXNlcixcbiAgICBUb2tlbjogJycsXG4gICAgVmFsaWRhdGVVcmw6ICcnLFxuICAgIFNlY3JldDogJycsXG4gICAgT1RQOiAnJyxcbiAgICBJbmZvOiAnJyxcbiAgfTtcblxuICBASW5wdXQoKSBidG5DbGFzczogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGJ0bkJnQ29sb3I6IHN0cmluZyA9ICcjRkZFNjgxJztcbiAgQElucHV0KCkgYnRuQ29sb3I6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBidG5Cb3JkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBidG5Cb3JkZXJSYWRpdXM6IHN0cmluZyA9ICcyNHB4JztcbiAgQElucHV0KCkgYnRuUGQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBidG5UZXh0OiBzdHJpbmcgPSAnU3VibWl0JztcblxuICBvdHBWYWx1ZTogc3RyaW5nID0gJyc7XG4gIG90cEZvcm0hOiBGb3JtR3JvdXA7XG5cbiAgQE91dHB1dCgpIGJ1dHRvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gIEBPdXRwdXQoKSBvdHBDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcbiAgQE91dHB1dCgpIG9uU3VibWl0RW5kOiBFdmVudEVtaXR0ZXI8UmVzcG9uc2VLZXlWYWx1ZSB8IEVycm9yUmVzcG9uc2U+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSByZXNlbmQ6IEV2ZW50RW1pdHRlcjxSZXNwb25zZUtleVZhbHVlIHwgRXJyb3JSZXNwb25zZT4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixcbiAgICBwcml2YXRlIHNlcnZlcjogSHR0cFdlYlJlcXVlc3RTZXJ2aWNlLFxuICAgIHByaXZhdGUgdXRpbFNlcnZpY2U6IFV0aWxTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLm90cEZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcbiAgICAgIG90cFZhbHVlOiBbJycsIFtWYWxpZGF0b3JzLnJlcXVpcmVkLCBWYWxpZGF0b3JzLm1pbkxlbmd0aCg2KV1dLFxuICAgIH0pO1xuICB9XG5cbiAgb25PdHBDaGFuZ2UodmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMub3RwVmFsdWUgPSB2YWx1ZTtcbiAgICB0aGlzLm90cEZvcm0uZ2V0KCdvdHBWYWx1ZScpPy5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgdGhpcy5vdHBDaGFuZ2UuZW1pdCh0aGlzLm90cFZhbHVlKTtcbiAgfVxuXG4gIGFzeW5jIHN1Ym1pdERhdGEoKSB7XG4gICAgY29uc3QgZGF0YTogT3RwRGF0YSA9IHtcbiAgICAgIFVzZXI6IHtcbiAgICAgICAgLi4udGhpcy5Vc2VyLFxuICAgICAgfSxcbiAgICAgIFRva2VuOiB0aGlzLk90cERhdGEuVG9rZW4sXG4gICAgICBWYWxpZGF0ZVVybDogdGhpcy5PdHBEYXRhLlZhbGlkYXRlVXJsLFxuICAgICAgU2VjcmV0OiB0aGlzLk90cERhdGEuU2VjcmV0LFxuICAgICAgT1RQOiB0aGlzLk90cERhdGEuT1RQLFxuICAgICAgSW5mbzogdGhpcy5PdHBEYXRhLkluZm8sXG4gICAgfTtcblxuICAgIGlmICh0aGlzLm90cEZvcm0udmFsaWQpIHtcbiAgICAgIC8vIHRoaXMuYnV0dG9uQ2xpY2suZW1pdCh0aGlzLm90cEZvcm0uZ2V0KCdvdHBWYWx1ZScpPy52YWx1ZSk7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSSh0cnVlKTtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuc2VydmVyLnBvc3QoYEF1dGhlbnRpY2F0aW9uL1ZhbGlkYXRlYCwgZGF0YSk7XG4gICAgICB0aGlzLnV0aWxTZXJ2aWNlLnNlbmRCSShmYWxzZSk7XG4gICAgICBpZiAocmVzIGluc3RhbmNlb2YgRXJyb3JSZXNwb25zZSkge1xuICAgICAgICB0aGlzLm9uU3VibWl0RW5kLmVtaXQocmVzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciByZXN1bHQgPSByZXMgYXMgUmVzcG9uc2VLZXlWYWx1ZTtcbiAgICAgICAgdGhpcy5vblN1Ym1pdEVuZC5lbWl0KHJlc3VsdCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgcmVzZW5kT3RwKCkge1xuICAgIGNvbnN0IGRhdGE6IFJlc2VuZE90cERhdGEgPSB7XG4gICAgICBNYWlsQWRkcmVzczogdGhpcy5yZXNlbmRPdHBEYXRhPy5NYWlsQWRkcmVzcyxcbiAgICAgIFBhc3N3b3JkOiB0aGlzLnJlc2VuZE90cERhdGE/LlBhc3N3b3JkLFxuICAgICAgTG9naW5UeXBlOiB0aGlzLnJlc2VuZE90cERhdGE/LkxvZ2luVHlwZSxcbiAgICAgIFRlbmFudDogdGhpcy5yZXNlbmRPdHBEYXRhPy5UZW5hbnQsXG4gICAgICBTZWNyZXRlOiB0aGlzLnJlc2VuZE90cERhdGE/LlNlY3JldGUsXG4gICAgICBSZWRpcmVjdFVyaTogdGhpcy5yZXNlbmRPdHBEYXRhPy5SZWRpcmVjdFVyaSxcbiAgICB9O1xuXG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkodHJ1ZSk7XG4gICAgY29uc3QgcmVzID0gYXdhaXQgdGhpcy5zZXJ2ZXIucG9zdChgQXV0aGVudGljYXRpb24vUmVzZW5kT1RQYCwgZGF0YSk7XG4gICAgdGhpcy51dGlsU2VydmljZS5zZW5kQkkoZmFsc2UpO1xuICAgIGlmIChyZXMgaW5zdGFuY2VvZiBFcnJvclJlc3BvbnNlKSB7XG4gICAgICB0aGlzLnJlc2VuZC5lbWl0KHJlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhciByZXN1bHQgPSByZXMgYXMgUmVzcG9uc2VLZXlWYWx1ZTtcbiAgICAgIHRoaXMucmVzZW5kLmVtaXQocmVzdWx0KTtcbiAgICB9XG4gIH1cblxuICBnZXQgc3R5bGVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICAnYmFja2dyb3VuZC1jb2xvcic6IHRoaXMuYmdDb2xvcixcbiAgICAgICdib3gtc2hhZG93JzogdGhpcy5ib3hTaGFkb3csXG4gICAgICBib3JkZXI6IHRoaXMuYm9yZGVyLFxuICAgICAgJ2JvcmRlci1yYWRpdXMnOiB0aGlzLmJvcmRlclJhZGl1cyxcbiAgICAgIGNvbG9yOiB0aGlzLnRleHRDb2xvcixcbiAgICAgIHdpZHRoOiB0aGlzLndpZHRoLFxuICAgICAgJ21heC13aWR0aCc6IHRoaXMubWF4V2lkdGgsXG4gICAgICBtYXJnaW46IHRoaXMubWFyZ2luLFxuICAgICAgaGVpZ2h0OiB0aGlzLmhlaWdodCxcbiAgICAgIHBhZGRpbmc6IHRoaXMucGQsXG4gICAgfTtcbiAgfVxufVxuIiwiPHNlY3Rpb25cbltuZ1N0eWxlXT1cInN0eWxlc1wiXG5jbGFzcz1cInt7IGN1c3RvbUNsYXNzIH19XCJcbj5cbiAgPGgzIGNsYXNzPVwie3toZWFkbGluZ0NsYXNzfX1cIj57e2hlYWRsaW5nVGV4dH19PC9oMz5cbiAgPGRpdiBjbGFzcz1cIm90cFdyYXBwZXJcIj4gXG4gICAgPHAgY2xhc3M9XCJ7e3BhcmFncmFwaENsYXNzfX1cIj5FbnRlciB0aGUge3tsZW5ndGh9fSBkaWdpdCBjb2RlIHNlbnQgdG8geW91PC9wPlxuICAgIDx2ZXJiZW4tb3RwLWlucHV0IFxuICAgIFtsZW5ndGhdPVwibGVuZ3RoXCIgXG4gICAgKG90cENoYW5nZSk9XCJvbk90cENoYW5nZSgkZXZlbnQpXCJcbiAgICBbb3RwQ2xhc3NdPVwib3RwQ2xhc3NcIlxuICAgID48L3ZlcmJlbi1vdHAtaW5wdXQ+XG4gIDwvZGl2PlxuICA8bGliLWJ1dHRvbiAgXG4gIFtidXR0b25DbGFzc109XCJidG5DbGFzc1wiXG4gIFtjb2xvcl09XCJidG5Db2xvclwiXG4gIFtib3JkZXJdPVwiYnRuQm9yZGVyXCJcbiAgW2JvcmRlclJhZGl1c109XCJidG5Cb3JkZXJSYWRpdXNcIlxuICBbYmdDb2xvcl09XCJidG5CZ0NvbG9yXCJcbiAgW3BkXT1cImJ0blBkXCJcbiAgW3RleHRdPVwiYnRuVGV4dFwiICBcbiAgKGJ1dHRvbkNsaWNrKT1cInN1Ym1pdERhdGEoKVwiXG4gIFtkaXNhYmxlZF09XCIhb3RwRm9ybS52YWxpZFwiXG4gID48L2xpYi1idXR0b24+XG4gIDxwIGNsYXNzPVwicmVzZW5kV3JhcHBlclwiPlxuICAgIERpZG7igJl0IGdldCBhIGNvZGU/XG4gICAgPGEgY2xhc3M9XCJ7e3Jlc2VuZENsYXNzfX1cIiAoY2xpY2spPVwicmVzZW5kT3RwKClcIj5SZXNlbmQ8L2E+XG4gIDwvcD5cbiAgIFxuPC9zZWN0aW9uPiJdfQ==
|