monkey-front-core 0.0.138 → 0.0.141

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.
@@ -1,9 +1,10 @@
1
1
  import { Pipe } from '@angular/core';
2
+ import { MonkeyEcxUtils } from '../utils';
2
3
  import * as i0 from "@angular/core";
3
4
  export class MonkeyEcxFormatTaxPipe {
4
5
  transform(tax, decimalDigits = 7) {
5
- if (!tax)
6
- return '';
6
+ if (!MonkeyEcxUtils.persistNullEmptyUndefined(tax))
7
+ return '0 %';
7
8
  const stringTax = tax.toString();
8
9
  const stringTaxLimited = stringTax.slice(0, stringTax.indexOf('.') + decimalDigits + 1);
9
10
  return `${Number(stringTaxLimited).toLocaleString('pt-br', {
@@ -19,4 +20,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImpor
19
20
  name: 'monkeyecxFormatTax',
20
21
  }]
21
22
  }] });
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWZvcm1hdC10YXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvcGlwZXMvbW9ua2V5ZWN4LWZvcm1hdC10YXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBS3BELE1BQU0sT0FBTyxzQkFBc0I7SUFDakMsU0FBUyxDQUFDLEdBQVcsRUFBRSxnQkFBd0IsQ0FBQztRQUM5QyxJQUFJLENBQUMsR0FBRztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE1BQU0sU0FBUyxHQUFHLEdBQUcsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQyxNQUFNLGdCQUFnQixHQUFHLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLE9BQU8sR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFO1lBQ3pELHFCQUFxQixFQUFFLGFBQWE7U0FDckMsQ0FBQyxJQUFJLENBQUM7SUFDVCxDQUFDOzttSEFSVSxzQkFBc0I7aUhBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxvQkFBb0I7aUJBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5AUGlwZSh7XG4gIG5hbWU6ICdtb25rZXllY3hGb3JtYXRUYXgnLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hGb3JtYXRUYXhQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHRyYW5zZm9ybSh0YXg6IG51bWJlciwgZGVjaW1hbERpZ2l0czogbnVtYmVyID0gNykge1xuICAgIGlmICghdGF4KSByZXR1cm4gJyc7XG4gICAgY29uc3Qgc3RyaW5nVGF4ID0gdGF4LnRvU3RyaW5nKCk7XG4gICAgY29uc3Qgc3RyaW5nVGF4TGltaXRlZCA9IHN0cmluZ1RheC5zbGljZSgwLCBzdHJpbmdUYXguaW5kZXhPZignLicpICsgZGVjaW1hbERpZ2l0cyArIDEpO1xuICAgIHJldHVybiBgJHtOdW1iZXIoc3RyaW5nVGF4TGltaXRlZCkudG9Mb2NhbGVTdHJpbmcoJ3B0LWJyJywge1xuICAgICAgbWF4aW11bUZyYWN0aW9uRGlnaXRzOiBkZWNpbWFsRGlnaXRzLFxuICAgIH0pfSAlYDtcbiAgfVxufVxuIl19
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWZvcm1hdC10YXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvcGlwZXMvbW9ua2V5ZWN4LWZvcm1hdC10YXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFLMUMsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxTQUFTLENBQUMsR0FBVyxFQUFFLGdCQUF3QixDQUFDO1FBQzlDLElBQUksQ0FBQyxjQUFjLENBQUMseUJBQXlCLENBQUMsR0FBRyxDQUFDO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDakUsTUFBTSxTQUFTLEdBQUcsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLE1BQU0sZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsR0FBRyxhQUFhLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDeEYsT0FBTyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUU7WUFDekQscUJBQXFCLEVBQUUsYUFBYTtTQUNyQyxDQUFDLElBQUksQ0FBQztJQUNULENBQUM7O21IQVJVLHNCQUFzQjtpSEFBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBSGxDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLG9CQUFvQjtpQkFDM0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNb25rZXlFY3hVdGlscyB9IGZyb20gJy4uL3V0aWxzJztcblxuQFBpcGUoe1xuICBuYW1lOiAnbW9ua2V5ZWN4Rm9ybWF0VGF4Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4Rm9ybWF0VGF4UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICB0cmFuc2Zvcm0odGF4OiBudW1iZXIsIGRlY2ltYWxEaWdpdHM6IG51bWJlciA9IDcpIHtcbiAgICBpZiAoIU1vbmtleUVjeFV0aWxzLnBlcnNpc3ROdWxsRW1wdHlVbmRlZmluZWQodGF4KSkgcmV0dXJuICcwICUnO1xuICAgIGNvbnN0IHN0cmluZ1RheCA9IHRheC50b1N0cmluZygpO1xuICAgIGNvbnN0IHN0cmluZ1RheExpbWl0ZWQgPSBzdHJpbmdUYXguc2xpY2UoMCwgc3RyaW5nVGF4LmluZGV4T2YoJy4nKSArIGRlY2ltYWxEaWdpdHMgKyAxKTtcbiAgICByZXR1cm4gYCR7TnVtYmVyKHN0cmluZ1RheExpbWl0ZWQpLnRvTG9jYWxlU3RyaW5nKCdwdC1icicsIHtcbiAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogZGVjaW1hbERpZ2l0cyxcbiAgICB9KX0gJWA7XG4gIH1cbn1cbiJdfQ==
@@ -1,4 +1,5 @@
1
+ export * from './monkeyecx-auth-guard-company.service';
1
2
  export * from './monkeyecx-auth-guard-login.service';
2
3
  export * from './monkeyecx-auth-guard.service';
3
4
  export * from './monkeyecx-authentication.service';
4
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxvQ0FBb0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWF1dGgtZ3VhcmQtbG9naW4uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1hdXRoLWd1YXJkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtYXV0aGVudGljYXRpb24uc2VydmljZSc7XG4iXX0=
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXV0aC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtYXV0aC1ndWFyZC1jb21wYW55LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb25rZXllY3gtYXV0aC1ndWFyZC1sb2dpbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbW9ua2V5ZWN4LWF1dGgtZ3VhcmQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL21vbmtleWVjeC1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlJztcbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "./monkeyecx-authentication.service";
4
+ export class MonkeyEcxAuthGuardCompany {
5
+ constructor(monkeyecxAuthenticationService) {
6
+ this.monkeyecxAuthenticationService = monkeyecxAuthenticationService;
7
+ // not to do
8
+ }
9
+ canActivate() {
10
+ const { monkeyecxAuthenticationService } = this;
11
+ if (monkeyecxAuthenticationService.isAuthorized() &&
12
+ monkeyecxAuthenticationService.isCompanyAuthorized()) {
13
+ return true;
14
+ }
15
+ monkeyecxAuthenticationService.redirectLoginWelcomeBack();
16
+ return false;
17
+ }
18
+ }
19
+ MonkeyEcxAuthGuardCompany.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MonkeyEcxAuthGuardCompany, deps: [{ token: i1.MonkeyEcxAuthenticationService }], target: i0.ɵɵFactoryTarget.Injectable });
20
+ MonkeyEcxAuthGuardCompany.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MonkeyEcxAuthGuardCompany, providedIn: 'root' });
21
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MonkeyEcxAuthGuardCompany, decorators: [{
22
+ type: Injectable,
23
+ args: [{
24
+ providedIn: 'root',
25
+ }]
26
+ }], ctorParameters: function () { return [{ type: i1.MonkeyEcxAuthenticationService }]; } });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWF1dGgtZ3VhcmQtY29tcGFueS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbW9ua2V5LWZyb250LWNvcmUvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL2F1dGgvbW9ua2V5ZWN4LWF1dGgtZ3VhcmQtY29tcGFueS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVEzQyxNQUFNLE9BQU8seUJBQXlCO0lBQ3BDLFlBQW9CLDhCQUE4RDtRQUE5RCxtQ0FBOEIsR0FBOUIsOEJBQThCLENBQWdDO1FBQ2hGLFlBQVk7SUFDZCxDQUFDO0lBRUQsV0FBVztRQUNULE1BQU0sRUFBRSw4QkFBOEIsRUFBRSxHQUFHLElBQUksQ0FBQztRQUVoRCxJQUNFLDhCQUE4QixDQUFDLFlBQVksRUFBRTtZQUM3Qyw4QkFBOEIsQ0FBQyxtQkFBbUIsRUFBRSxFQUNwRDtZQUNBLE9BQU8sSUFBSSxDQUFDO1NBQ2I7UUFFRCw4QkFBOEIsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBRTFELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzs7c0hBbEJVLHlCQUF5QjswSEFBekIseUJBQXlCLGNBRnhCLE1BQU07MkZBRVAseUJBQXlCO2tCQUhyQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENhbkFjdGl2YXRlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1vbmtleUVjeEF1dGhlbnRpY2F0aW9uU2VydmljZSB9IGZyb20gJy4vbW9ua2V5ZWN4LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4QXV0aEd1YXJkQ29tcGFueSBpbXBsZW1lbnRzIENhbkFjdGl2YXRlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBtb25rZXllY3hBdXRoZW50aWNhdGlvblNlcnZpY2U6IE1vbmtleUVjeEF1dGhlbnRpY2F0aW9uU2VydmljZSkge1xuICAgIC8vIG5vdCB0byBkb1xuICB9XG5cbiAgY2FuQWN0aXZhdGUoKTogT2JzZXJ2YWJsZTxib29sZWFuPiB8IFByb21pc2U8Ym9vbGVhbj4gfCBib29sZWFuIHtcbiAgICBjb25zdCB7IG1vbmtleWVjeEF1dGhlbnRpY2F0aW9uU2VydmljZSB9ID0gdGhpcztcblxuICAgIGlmIChcbiAgICAgIG1vbmtleWVjeEF1dGhlbnRpY2F0aW9uU2VydmljZS5pc0F1dGhvcml6ZWQoKSAmJlxuICAgICAgbW9ua2V5ZWN4QXV0aGVudGljYXRpb25TZXJ2aWNlLmlzQ29tcGFueUF1dGhvcml6ZWQoKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgbW9ua2V5ZWN4QXV0aGVudGljYXRpb25TZXJ2aWNlLnJlZGlyZWN0TG9naW5XZWxjb21lQmFjaygpO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXX0=
@@ -19,6 +19,10 @@ export class MonkeyEcxAuthenticationService {
19
19
  console.error('isAuthorized needs to be declared!');
20
20
  return false;
21
21
  };
22
+ this.isCompanyAuthorized = () => {
23
+ console.error('isCompanyAuthorized needs to be declared!');
24
+ return false;
25
+ };
22
26
  this.getRequestWithHeaders = (request) => {
23
27
  console.error('getRequestWithHeaders needs to be declared!');
24
28
  return null;
@@ -40,11 +44,11 @@ export class MonkeyEcxAuthenticationService {
40
44
  init(args) {
41
45
  this.hadAtLeastOneLogin = args?.hadAtLeastOneLogin || this.hadAtLeastOneLogin.bind(this);
42
46
  this.redirectApp = args?.redirectApp || this.redirectApp.bind(this);
43
- this.redirectLoginWelcomeBack = args?.redirectLoginWelcomeBack ||
44
- this.redirectLoginWelcomeBack.bind(this);
47
+ this.redirectLoginWelcomeBack =
48
+ args?.redirectLoginWelcomeBack || this.redirectLoginWelcomeBack.bind(this);
45
49
  this.isAuthorized = args?.isAuthorized || this.isAuthorized.bind(this);
46
- this.getRequestWithHeaders = args?.getRequestWithHeaders ||
47
- this.getRequestWithHeaders.bind(this);
50
+ this.getRequestWithHeaders =
51
+ args?.getRequestWithHeaders || this.getRequestWithHeaders.bind(this);
48
52
  this.getRequestWithHeadersOb = args?.getRequestWithHeadersOb.bind(this);
49
53
  this.refreshShouldHappen = args?.refreshShouldHappen || this.refreshShouldHappen.bind(this);
50
54
  this.refreshToken = args?.refreshToken || this.refreshToken.bind(this);
@@ -55,7 +59,7 @@ MonkeyEcxAuthenticationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion:
55
59
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.3", ngImport: i0, type: MonkeyEcxAuthenticationService, decorators: [{
56
60
  type: Injectable,
57
61
  args: [{
58
- providedIn: 'root'
62
+ providedIn: 'root',
59
63
  }]
60
64
  }], ctorParameters: function () { return []; } });
61
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXV0aC9tb25rZXllY3gtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QztRQUlBLHVCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLEdBQUcsRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRiw2QkFBd0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxHQUFZLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsMEJBQXFCLEdBQUcsQ0FBQyxPQUF5QixFQUEyQixFQUFFO1lBQzdFLE9BQU8sQ0FBQyxLQUFLLENBQUMsNkNBQTZDLENBQUMsQ0FBQztZQUM3RCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUVGLDRCQUF1QixHQUFHLENBQUMsT0FBeUIsRUFBMEIsRUFBRTtZQUM5RSxPQUFPLENBQUMsS0FBSyxDQUFDLCtDQUErQyxDQUFDLENBQUM7WUFDL0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRix3QkFBbUIsR0FBRyxDQUFDLFFBQTJCLEVBQVcsRUFBRTtZQUM3RCxPQUFPLENBQUMsS0FBSyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7WUFDM0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUM7UUFFRixpQkFBWSxHQUFHLEdBQTJCLEVBQUU7WUFDMUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBekNBLFlBQVk7SUFDZCxDQUFDO0lBMENELElBQUksQ0FDRixJQVNDO1FBRUQsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksRUFBRSxrQkFBa0IsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pGLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxFQUFFLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsd0JBQXdCLEdBQUcsSUFBSSxFQUFFLHdCQUF3QjtZQUM1RCxJQUFJLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxFQUFFLHFCQUFxQjtZQUN0RCxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLEVBQUUsdUJBQXVCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLEVBQUUsbUJBQW1CLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDekUsQ0FBQzs7MkhBbkVVLDhCQUE4QjsrSEFBOUIsOEJBQThCLGNBRjdCLE1BQU07MkZBRVAsOEJBQThCO2tCQUgxQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnNvbGUgKi9cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgTW9ua2V5RWN4QXV0aGVudGljYXRpb25TZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgLy8gbm90IHRvIGRvXG4gIH1cblxuICBoYWRBdExlYXN0T25lTG9naW4gPSAoKSA9PiB7XG4gICAgY29uc29sZS5lcnJvcignaGFkQXRMZWFzdE9uZUxvZ2luIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZGlyZWN0QXBwID0gKCkgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZGlyZWN0QXBwIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIHJlZGlyZWN0TG9naW5XZWxjb21lQmFjayA9ICgpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdyZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgaXNBdXRob3JpemVkID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2lzQXV0aG9yaXplZCBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgZ2V0UmVxdWVzdFdpdGhIZWFkZXJzID0gKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBIdHRwUmVxdWVzdDxhbnk+IHwgbnVsbCA9PiB7XG4gICAgY29uc29sZS5lcnJvcignZ2V0UmVxdWVzdFdpdGhIZWFkZXJzIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGdldFJlcXVlc3RXaXRoSGVhZGVyc09iID0gKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0PGFueT4pOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdnZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICByZWZyZXNoU2hvdWxkSGFwcGVuID0gKHJlc3BvbnNlOiBIdHRwRXJyb3JSZXNwb25zZSk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZnJlc2hTaG91bGRIYXBwZW4gbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlZnJlc2hUb2tlbiA9ICgpOiBPYnNlcnZhYmxlPGFueT4gfCBudWxsID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdyZWZyZXNoVG9rZW4gbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgaW5pdChcbiAgICBhcmdzOiB7XG4gICAgICBoYWRBdExlYXN0T25lTG9naW4/OiBhbnksXG4gICAgICByZWRpcmVjdEFwcD86IGFueSxcbiAgICAgIHJlZGlyZWN0TG9naW5XZWxjb21lQmFjaz86IGFueSxcbiAgICAgIGlzQXV0aG9yaXplZD86IGFueSxcbiAgICAgIGdldFJlcXVlc3RXaXRoSGVhZGVycz86IGFueSxcbiAgICAgIGdldFJlcXVlc3RXaXRoSGVhZGVyc09iPzogYW55LFxuICAgICAgcmVmcmVzaFNob3VsZEhhcHBlbj86IGFueSxcbiAgICAgIHJlZnJlc2hUb2tlbj86IGFueVxuICAgIH1cbiAgKSB7XG4gICAgdGhpcy5oYWRBdExlYXN0T25lTG9naW4gPSBhcmdzPy5oYWRBdExlYXN0T25lTG9naW4gfHwgdGhpcy5oYWRBdExlYXN0T25lTG9naW4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZGlyZWN0QXBwID0gYXJncz8ucmVkaXJlY3RBcHAgfHwgdGhpcy5yZWRpcmVjdEFwcC5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrID0gYXJncz8ucmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrIHx8XG4gICAgICB0aGlzLnJlZGlyZWN0TG9naW5XZWxjb21lQmFjay5iaW5kKHRoaXMpO1xuICAgIHRoaXMuaXNBdXRob3JpemVkID0gYXJncz8uaXNBdXRob3JpemVkIHx8IHRoaXMuaXNBdXRob3JpemVkLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnMgPSBhcmdzPy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnMgfHxcbiAgICAgIHRoaXMuZ2V0UmVxdWVzdFdpdGhIZWFkZXJzLmJpbmQodGhpcyk7XG4gICAgdGhpcy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiA9IGFyZ3M/LmdldFJlcXVlc3RXaXRoSGVhZGVyc09iLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWZyZXNoU2hvdWxkSGFwcGVuID0gYXJncz8ucmVmcmVzaFNob3VsZEhhcHBlbiB8fCB0aGlzLnJlZnJlc2hTaG91bGRIYXBwZW4uYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZnJlc2hUb2tlbiA9IGFyZ3M/LnJlZnJlc2hUb2tlbiB8fCB0aGlzLnJlZnJlc2hUb2tlbi5iaW5kKHRoaXMpO1xuICB9XG59XG4iXX0=
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9ua2V5ZWN4LWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tb25rZXktZnJvbnQtY29yZS9zcmMvbGliL2NvcmUvc2VydmljZXMvYXV0aC9tb25rZXllY3gtYXV0aGVudGljYXRpb24uc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrQkFBK0I7QUFDL0IsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLDhCQUE4QjtJQUN6QztRQUlBLHVCQUFrQixHQUFHLEdBQUcsRUFBRTtZQUN4QixPQUFPLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxDQUFDLENBQUM7WUFDMUQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRixnQkFBVyxHQUFHLEdBQUcsRUFBRTtZQUNqQixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7WUFDbkQsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRiw2QkFBd0IsR0FBRyxHQUFHLEVBQUU7WUFDOUIsT0FBTyxDQUFDLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO1lBQ2hFLE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxHQUFZLEVBQUU7WUFDM0IsT0FBTyxDQUFDLEtBQUssQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDO1lBQ3BELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsd0JBQW1CLEdBQUcsR0FBWSxFQUFFO1lBQ2xDLE9BQU8sQ0FBQyxLQUFLLENBQUMsMkNBQTJDLENBQUMsQ0FBQztZQUMzRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQztRQUVGLDBCQUFxQixHQUFHLENBQUMsT0FBeUIsRUFBMkIsRUFBRTtZQUM3RSxPQUFPLENBQUMsS0FBSyxDQUFDLDZDQUE2QyxDQUFDLENBQUM7WUFDN0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFFRiw0QkFBdUIsR0FBRyxDQUFDLE9BQXlCLEVBQTBCLEVBQUU7WUFDOUUsT0FBTyxDQUFDLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1lBQy9ELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDO1FBRUYsd0JBQW1CLEdBQUcsQ0FBQyxRQUEyQixFQUFXLEVBQUU7WUFDN0QsT0FBTyxDQUFDLEtBQUssQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDO1lBQzNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsaUJBQVksR0FBRyxHQUEyQixFQUFFO1lBQzFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsb0NBQW9DLENBQUMsQ0FBQztZQUNwRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQTlDQSxZQUFZO0lBQ2QsQ0FBQztJQStDRCxJQUFJLENBQUMsSUFTSjtRQUNDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLEVBQUUsa0JBQWtCLElBQUksSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6RixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksRUFBRSxXQUFXLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLHdCQUF3QjtZQUMzQixJQUFJLEVBQUUsd0JBQXdCLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM3RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksRUFBRSxZQUFZLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLHFCQUFxQjtZQUN4QixJQUFJLEVBQUUscUJBQXFCLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN2RSxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxFQUFFLG1CQUFtQixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDNUYsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pFLENBQUM7OzJIQXRFVSw4QkFBOEI7K0hBQTlCLDhCQUE4QixjQUY3QixNQUFNOzJGQUVQLDhCQUE4QjtrQkFIMUMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1jb25zb2xlICovXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBIdHRwRXJyb3JSZXNwb25zZSwgSHR0cFJlcXVlc3QgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBNb25rZXlFY3hBdXRoZW50aWNhdGlvblNlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBub3QgdG8gZG9cbiAgfVxuXG4gIGhhZEF0TGVhc3RPbmVMb2dpbiA9ICgpID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdoYWRBdExlYXN0T25lTG9naW4gbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgcmVkaXJlY3RBcHAgPSAoKSA9PiB7XG4gICAgY29uc29sZS5lcnJvcigncmVkaXJlY3RBcHAgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgcmVkaXJlY3RMb2dpbldlbGNvbWVCYWNrID0gKCkgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ3JlZGlyZWN0TG9naW5XZWxjb21lQmFjayBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBpc0F1dGhvcml6ZWQgPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgY29uc29sZS5lcnJvcignaXNBdXRob3JpemVkIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICBpc0NvbXBhbnlBdXRob3JpemVkID0gKCk6IGJvb2xlYW4gPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2lzQ29tcGFueUF1dGhvcml6ZWQgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIGdldFJlcXVlc3RXaXRoSGVhZGVycyA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogSHR0cFJlcXVlc3Q8YW55PiB8IG51bGwgPT4ge1xuICAgIGNvbnNvbGUuZXJyb3IoJ2dldFJlcXVlc3RXaXRoSGVhZGVycyBuZWVkcyB0byBiZSBkZWNsYXJlZCEnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfTtcblxuICBnZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYiA9IChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+KTogT2JzZXJ2YWJsZTxhbnk+IHwgbnVsbCA9PiB7XG4gICAgY29uc29sZS5lcnJvcignZ2V0UmVxdWVzdFdpdGhIZWFkZXJzT2IgbmVlZHMgdG8gYmUgZGVjbGFyZWQhJyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgcmVmcmVzaFNob3VsZEhhcHBlbiA9IChyZXNwb25zZTogSHR0cEVycm9yUmVzcG9uc2UpOiBib29sZWFuID0+IHtcbiAgICBjb25zb2xlLmVycm9yKCdyZWZyZXNoU2hvdWxkSGFwcGVuIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZWZyZXNoVG9rZW4gPSAoKTogT2JzZXJ2YWJsZTxhbnk+IHwgbnVsbCA9PiB7XG4gICAgY29uc29sZS5lcnJvcigncmVmcmVzaFRva2VuIG5lZWRzIHRvIGJlIGRlY2xhcmVkIScpO1xuICAgIHJldHVybiBudWxsO1xuICB9O1xuXG4gIGluaXQoYXJnczoge1xuICAgIGhhZEF0TGVhc3RPbmVMb2dpbj86IGFueTtcbiAgICByZWRpcmVjdEFwcD86IGFueTtcbiAgICByZWRpcmVjdExvZ2luV2VsY29tZUJhY2s/OiBhbnk7XG4gICAgaXNBdXRob3JpemVkPzogYW55O1xuICAgIGdldFJlcXVlc3RXaXRoSGVhZGVycz86IGFueTtcbiAgICBnZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYj86IGFueTtcbiAgICByZWZyZXNoU2hvdWxkSGFwcGVuPzogYW55O1xuICAgIHJlZnJlc2hUb2tlbj86IGFueTtcbiAgfSkge1xuICAgIHRoaXMuaGFkQXRMZWFzdE9uZUxvZ2luID0gYXJncz8uaGFkQXRMZWFzdE9uZUxvZ2luIHx8IHRoaXMuaGFkQXRMZWFzdE9uZUxvZ2luLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWRpcmVjdEFwcCA9IGFyZ3M/LnJlZGlyZWN0QXBwIHx8IHRoaXMucmVkaXJlY3RBcHAuYmluZCh0aGlzKTtcbiAgICB0aGlzLnJlZGlyZWN0TG9naW5XZWxjb21lQmFjayA9XG4gICAgICBhcmdzPy5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2sgfHwgdGhpcy5yZWRpcmVjdExvZ2luV2VsY29tZUJhY2suYmluZCh0aGlzKTtcbiAgICB0aGlzLmlzQXV0aG9yaXplZCA9IGFyZ3M/LmlzQXV0aG9yaXplZCB8fCB0aGlzLmlzQXV0aG9yaXplZC5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0UmVxdWVzdFdpdGhIZWFkZXJzID1cbiAgICAgIGFyZ3M/LmdldFJlcXVlc3RXaXRoSGVhZGVycyB8fCB0aGlzLmdldFJlcXVlc3RXaXRoSGVhZGVycy5iaW5kKHRoaXMpO1xuICAgIHRoaXMuZ2V0UmVxdWVzdFdpdGhIZWFkZXJzT2IgPSBhcmdzPy5nZXRSZXF1ZXN0V2l0aEhlYWRlcnNPYi5iaW5kKHRoaXMpO1xuICAgIHRoaXMucmVmcmVzaFNob3VsZEhhcHBlbiA9IGFyZ3M/LnJlZnJlc2hTaG91bGRIYXBwZW4gfHwgdGhpcy5yZWZyZXNoU2hvdWxkSGFwcGVuLmJpbmQodGhpcyk7XG4gICAgdGhpcy5yZWZyZXNoVG9rZW4gPSBhcmdzPy5yZWZyZXNoVG9rZW4gfHwgdGhpcy5yZWZyZXNoVG9rZW4uYmluZCh0aGlzKTtcbiAgfVxufVxuIl19