@esolve/ng-esolve-connect 0.53.0 → 0.54.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/esm2022/lib/account/address/classes/esolve-address-result.model.mjs +1 -1
  2. package/esm2022/lib/account/address/classes/esolve-session-address-result.model.mjs +11 -0
  3. package/esm2022/lib/account/address/classes/index.mjs +2 -1
  4. package/esm2022/lib/account/address/interfaces/esolve-address-response.interface.mjs +1 -1
  5. package/esm2022/lib/account/confirmation/esolve-account-confirmation-post-response-item.interface.mjs +1 -1
  6. package/esm2022/lib/account/esolve-account.service.mjs +61 -13
  7. package/esm2022/lib/account/esolve-geocode-response.interface.mjs +2 -0
  8. package/esm2022/lib/account/esolve-session-shipping-result.model.mjs +11 -0
  9. package/esm2022/lib/account/index.mjs +3 -1
  10. package/esm2022/lib/auth/esolve-auth.service.mjs +9 -7
  11. package/esm2022/lib/auth/interfaces/esolve-auth-data.interface.mjs +1 -1
  12. package/esm2022/lib/auth/types/esolve-login-response.type.mjs +2 -0
  13. package/esm2022/lib/auth/types/index.mjs +2 -1
  14. package/esm2022/lib/device/esolve-device.service.mjs +3 -3
  15. package/esm2022/lib/device/interfaces/esolve-device.interface.mjs +1 -1
  16. package/esm2022/lib/session/esolve-session.service.mjs +34 -2
  17. package/esm2022/lib/session/interfaces/esolve-session-data.interface.mjs +1 -1
  18. package/esm2022/lib/session/interfaces/esolve-session.interface.mjs +1 -1
  19. package/esm2022/lib/transactions/classes/esolve-transaction-item.model.mjs +5 -1
  20. package/esm2022/lib/transactions/interfaces/esolve-transaction-item-record.interface.mjs +1 -1
  21. package/fesm2022/esolve-ng-esolve-connect.mjs +1568 -1460
  22. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  23. package/lib/account/address/classes/esolve-address-result.model.d.ts +2 -2
  24. package/lib/account/address/classes/esolve-session-address-result.model.d.ts +5 -0
  25. package/lib/account/address/classes/index.d.ts +1 -0
  26. package/lib/account/address/interfaces/esolve-address-response.interface.d.ts +2 -2
  27. package/lib/account/confirmation/esolve-account-confirmation-post-response-item.interface.d.ts +2 -0
  28. package/lib/account/esolve-account.service.d.ts +6 -3
  29. package/lib/account/{esolve-geocode-result.interface.d.ts → esolve-geocode-response.interface.d.ts} +1 -1
  30. package/lib/account/esolve-session-shipping-result.model.d.ts +5 -0
  31. package/lib/account/index.d.ts +2 -0
  32. package/lib/auth/interfaces/esolve-auth-data.interface.d.ts +2 -0
  33. package/lib/auth/types/esolve-login-response.type.d.ts +4 -0
  34. package/lib/auth/types/index.d.ts +1 -0
  35. package/lib/device/interfaces/esolve-device.interface.d.ts +1 -1
  36. package/lib/session/esolve-session.service.d.ts +11 -1
  37. package/lib/session/interfaces/esolve-session-data.interface.d.ts +2 -0
  38. package/lib/session/interfaces/esolve-session.interface.d.ts +2 -0
  39. package/lib/transactions/classes/esolve-transaction-item.model.d.ts +2 -0
  40. package/lib/transactions/interfaces/esolve-transaction-item-record.interface.d.ts +2 -0
  41. package/package.json +1 -1
  42. package/esm2022/lib/account/esolve-geocode-result.interface.mjs +0 -2
@@ -3,7 +3,7 @@ import { HttpClient, HttpParams, HttpHeaders, } from '@angular/common/http';
3
3
  import { firstValueFrom, of, throwError } from 'rxjs';
4
4
  import { tap, catchError, map, switchMap } from 'rxjs/operators';
5
5
  import { EsolveConfigService } from '../core';
6
- import { EsolveErrorHandlerService } from '../shared/errors/esolve-error-handler.service';
6
+ import { EsolveErrorHandlerService } from '../shared';
7
7
  import { EsolveSessionService } from '../session';
8
8
  import * as i0 from "@angular/core";
9
9
  export class EsolveAuthService {
@@ -17,11 +17,7 @@ export class EsolveAuthService {
17
17
  .pipe(switchMap(() => this.checkAccessToken()), catchError(() => of(null)))
18
18
  .subscribe((result) => {
19
19
  if (result) {
20
- this.session.handleSession({
21
- token: result.key,
22
- user_id: result.user_id,
23
- location_id: result.location_id,
24
- }, result.expiry_time, result.grace_period);
20
+ this.handleAuthentication(result);
25
21
  }
26
22
  else {
27
23
  this.session.expireSession();
@@ -113,6 +109,8 @@ export class EsolveAuthService {
113
109
  key: result.key,
114
110
  user_id: result.user_id,
115
111
  location_id: result.location_id,
112
+ addresses_id: result.addresses_id,
113
+ shipping_id: result.shipping_id,
116
114
  expires: result.expires,
117
115
  expiry_time: result.expiry_time,
118
116
  grace_period: result.grace_period,
@@ -175,6 +173,8 @@ export class EsolveAuthService {
175
173
  grace_period: +additional_data.grace_period,
176
174
  location_id: +additional_data.location_id,
177
175
  user_id: +additional_data.user_id,
176
+ addresses_id: +additional_data.addresses_id,
177
+ shipping_id: +additional_data.shipping_id,
178
178
  };
179
179
  return result;
180
180
  }
@@ -201,6 +201,8 @@ export class EsolveAuthService {
201
201
  token: result.key,
202
202
  user_id: +result.user_id,
203
203
  location_id: +result.location_id,
204
+ addresses_id: +result.addresses_id,
205
+ shipping_id: +result.shipping_id,
204
206
  }, +result.expiry_time, +result.grace_period);
205
207
  }
206
208
  handleError(errorRes) {
@@ -228,4 +230,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
228
230
  providedIn: 'root',
229
231
  }]
230
232
  }], ctorParameters: function () { return []; } });
231
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hdXRoL2Vzb2x2ZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFDVixVQUFVLEVBRVYsV0FBVyxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGNBQWMsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFHMUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sWUFBWSxDQUFDOztBQVlsRCxNQUFNLE9BQU8saUJBQWlCO0lBTTFCO1FBTGlCLFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxTQUFJLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzFCLFlBQU8sR0FBRyxNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQUN2QyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRzlELElBQUksQ0FBQyxPQUFPO2FBQ1AsWUFBWSxFQUFFO2FBQ2QsSUFBSSxDQUNELFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxFQUN4QyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLElB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LFdBQVcsQ0FDZixRQUF5RDtRQUV6RCxNQUFNLEtBQUssR0FBRztZQUNWLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsSUFBSSxFQUFFLEVBQUU7U0FDWCxDQUFDO1FBRUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRTtZQUMvRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDaEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDO1NBQ3BDO1FBRUQsSUFBSSxRQUFRLENBQUMsZUFBZSxFQUFFO1lBQzFCLEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztTQUN6QztRQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7OEdBeFRRLGlCQUFpQjtrSEFBakIsaUJBQWlCLGNBRmQsTUFBTTs7MkZBRVQsaUJBQWlCO2tCQUg3QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBIdHRwQ2xpZW50LFxuICAgIEh0dHBQYXJhbXMsXG4gICAgSHR0cEVycm9yUmVzcG9uc2UsXG4gICAgSHR0cEhlYWRlcnMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20sIE9ic2VydmFibGUsIG9mLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0YXAsIGNhdGNoRXJyb3IsIG1hcCwgc3dpdGNoTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBFc29sdmVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9ycy9lc29sdmUtZXJyb3ItaGFuZGxlci5zZXJ2aWNlJztcbmltcG9ydCB7IEVzb2x2ZVNldFJlc3BvbnNlIH0gZnJvbSAnLi4vc2hhcmVkL3Jlc3BvbnNlJztcblxuaW1wb3J0IHsgRXNvbHZlU2Vzc2lvblNlcnZpY2UgfSBmcm9tICcuLi9zZXNzaW9uJztcblxuaW1wb3J0IHsgRXNvbHZlTG9naW5Qb3N0UmVzcG9uc2VJdGVtIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcbmltcG9ydCB7XG4gICAgRXNvbHZlQXV0aEdldFJlc3BvbnNlLFxuICAgIEVzb2x2ZUF1dGhDaGVja1Jlc3BvbnNlLFxuICAgIEVzb2x2ZUF1dGhSZXN1bHQsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVBdXRoU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvbiA9IGluamVjdChFc29sdmVTZXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvckhhbmRsZXIgPSBpbmplY3QoRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uXG4gICAgICAgICAgICAub25TZXNzaW9uRW5kKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNoZWNrQWNjZXNzVG9rZW4oKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbi5oYW5kbGVTZXNzaW9uKFxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuOiByZXN1bHQua2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IHJlc3VsdC51c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uX2lkOiByZXN1bHQubG9jYXRpb25faWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmV4cGlyeV90aW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0LmdyYWNlX3BlcmlvZCxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb24uZXhwaXJlU2Vzc2lvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5vbkV4cGlyZSgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ291dCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBEZWFsIHdpdGggZXJyb3IgZ3JhY2VmdWxseVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbihcbiAgICAgICAgZW1haWw6IHN0cmluZyxcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICAgICAgYW5vbnltb3VzID0gZmFsc2UsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBdXRoR2V0UmVzcG9uc2U+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgaWYgKGFub255bW91cykge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnYW5vbnltb3VzJywgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW1haWwgIT09ICcnKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdlbWFpbCcsIGVtYWlsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzd29yZCAhPT0gJycpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Bhc3N3b3JkJywgcGFzc3dvcmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVBdXRoR2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hY2Nlc3MtdG9rZW4ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAnKicsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnR5cGUgPT09ICdlcnJvcicgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnR5cGUgPT09ICdleGNlcHRpb24nXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpLFxuICAgICAgICAgICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBdXRoZW50aWNhdGlvbihyZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QW5vbnltb3VzU2Vzc2lvbigpOiBPYnNlcnZhYmxlPEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBY2Nlc3NUb2tlbignJywgJycsIHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBhdXRvTG9naW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlc3RvcmUoKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFub255bW91c1Nlc3Npb24oKSxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3VsdCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBsb2dpbihlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGxvZ2luOiB7XG4gICAgICAgICAgICAgICAgZW1haWwsXG4gICAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PFxuICAgICAgICAgICAgICAgIEVzb2x2ZVNldFJlc3BvbnNlPEVzb2x2ZUxvZ2luUG9zdFJlc3BvbnNlSXRlbSwgRXNvbHZlQXV0aFJlc3VsdD5cbiAgICAgICAgICAgID4oYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWxvZ2luLnBocGAsIGJvZHksIHtcbiAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZDtjaGFyc2V0PXV0Zi04OycsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICBvYnNlcnZlOiAnYm9keScsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZXNwb25zZXMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVzcG9uc2VzLmxlbmd0aCA8PSAwXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2dpbl9yZXNwb25zZSA9IHJlc3BvbnNlLnJlc3BvbnNlc1swXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2luX3Jlc3BvbnNlLnN0YXR1cy5zdGF0ZSAhPT0gJ3N1Y2Nlc3MnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dpbl9yZXNwb25zZS5zdGF0dXMuc3RhdGUgIT09ICd3YXJuaW5nJ1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGxvZ2luX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCByZXNwb25zZV9sb2cgb2YgbG9naW5fcmVzcG9uc2UubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VfbG9nLnR5cGUgPT09ICdzdWNjZXNzJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlX2xvZy5tZXNzYWdlX2NvZGUgPT09ICdsb2dpbl9zdWNjZXNzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlcl9pZCA9ICtsb2dpbl9yZXNwb25zZS5lc29sdmVfaWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBsb2dpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHJlc3VsdC5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IHJlc3VsdC51c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogcmVzdWx0LmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVzOiByZXN1bHQuZXhwaXJlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJ5X3RpbWU6IHJlc3VsdC5leHBpcnlfdGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JhY2VfcGVyaW9kOiByZXN1bHQuZ3JhY2VfcGVyaW9kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHVzZXJfaWQ7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBsb2dpbl9yZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvclJlczogSHR0cEVycm9yUmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZXJyb3JIYW5kbGVyLmhhbmRsZUh0dHBQb3N0RXJyb3IoXG4gICAgICAgICAgICAgICAgICAgICAgICAnc2V0LWxvZ2luJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yUmVzLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgbG9nb3V0KCk6IFByb21pc2U8RXNvbHZlQXV0aEdldFJlc3BvbnNlPiB7XG4gICAgICAgIHRoaXMuc2Vzc2lvbi5zdG9wVGltZXIoKTtcblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5nZXRBY2Nlc3NUb2tlbignJywgJycsIHRydWUpLFxuICAgICAgICApO1xuXG4gICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYXN5bmMgdmFsaWRhdGVDYWNoZWRUb2tlbnMoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICAgIGxldCB2YWxpZCA9IGZhbHNlO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzZXNzaW9uID0gdGhpcy5zZXNzaW9uLmdldENhY2hlZFNlc3Npb24oKTtcblxuICAgICAgICAgICAgaWYgKCFzZXNzaW9uKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHNlc3Npb24nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jaGVja0FjY2Vzc1Rva2VuKHNlc3Npb24pO1xuXG4gICAgICAgICAgICBpZiAoIXJlc3VsdC5rZXkpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQga2V5Jyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHZhbGlkID0gdHJ1ZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbi5yZXNldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHZhbGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgY2hlY2tBY2Nlc3NUb2tlbihcbiAgICAgICAgdG9rZW4gPSB0aGlzLnNlc3Npb24uZ2V0VG9rZW4oKSxcbiAgICApOiBQcm9taXNlPEVzb2x2ZUF1dGhSZXN1bHQ+IHtcbiAgICAgICAgaWYgKHRva2VuID09PSAnJykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIFRva2VuJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgdGhpcy5odHRwLmdldDxFc29sdmVBdXRoQ2hlY2tSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWFjY2Vzcy10b2tlbi5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAnKicsXG4gICAgICAgICAgICAgICAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHJlc3BvbnNlLnR5cGUgPT09ICdlcnJvcicgfHwgcmVzcG9uc2UudHlwZSA9PT0gJ2V4Y2VwdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWRkaXRpb25hbF9kYXRhID0gcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhO1xuXG4gICAgICAgIGlmICghYWRkaXRpb25hbF9kYXRhLmtleV9va2F5KSB7XG4gICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhZGRpdGlvbmFsX2RhdGEua2V5KSB7XG4gICAgICAgICAgICB0b2tlbiA9IGFkZGl0aW9uYWxfZGF0YS5rZXk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCByZXN1bHQ6IEVzb2x2ZUF1dGhSZXN1bHQgPSB7XG4gICAgICAgICAgICBrZXk6IHRva2VuLFxuICAgICAgICAgICAgZXhwaXJlczogK2FkZGl0aW9uYWxfZGF0YS5leHBpcmVzLFxuICAgICAgICAgICAgZXhwaXJ5X3RpbWU6ICthZGRpdGlvbmFsX2RhdGEuZXhwaXJ5X3RpbWUsXG4gICAgICAgICAgICBncmFjZV9wZXJpb2Q6ICthZGRpdGlvbmFsX2RhdGEuZ3JhY2VfcGVyaW9kLFxuICAgICAgICAgICAgbG9jYXRpb25faWQ6ICthZGRpdGlvbmFsX2RhdGEubG9jYXRpb25faWQsXG4gICAgICAgICAgICB1c2VyX2lkOiArYWRkaXRpb25hbF9kYXRhLnVzZXJfaWQsXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIHJlc3RvcmUoKTogUHJvbWlzZTxFc29sdmVBdXRoUmVzdWx0IHwgbnVsbD4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLnNlc3Npb24uZ2V0Q2FjaGVkU2Vzc2lvbigpO1xuXG4gICAgICAgICAgICBpZiAoIXRva2VuKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHRva2VuJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2hlY2tBY2Nlc3NUb2tlbih0b2tlbik7XG5cbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb24ucmVzZXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIC8vIEhhbmRsZXJzXG5cbiAgICBwcml2YXRlIGhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3VsdDogRXNvbHZlQXV0aFJlc3VsdCk6IHZvaWQge1xuICAgICAgICBpZiAoIXJlc3VsdC5rZXkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5oYW5kbGVTZXNzaW9uKFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHRva2VuOiByZXN1bHQua2V5LFxuICAgICAgICAgICAgICAgIHVzZXJfaWQ6ICtyZXN1bHQudXNlcl9pZCxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Jlc3VsdC5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICArcmVzdWx0LmV4cGlyeV90aW1lLFxuICAgICAgICAgICAgK3Jlc3VsdC5ncmFjZV9wZXJpb2QsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICAgICAgZXJyb3JSZXM6IEVzb2x2ZUF1dGhHZXRSZXNwb25zZSB8IEVzb2x2ZUF1dGhDaGVja1Jlc3BvbnNlLFxuICAgICk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCcsXG4gICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIWVycm9yUmVzLnR5cGUgfHwgIWVycm9yUmVzLnNlcnZpY2VfdHlwZSB8fCAhZXJyb3JSZXMubWVzc2FnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yUmVzLm1lc3NhZ2UudHJpbSgpICE9PSAnJykge1xuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGVycm9yUmVzLm1lc3NhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3JSZXMuYWRkaXRpb25hbF9kYXRhKSB7XG4gICAgICAgICAgICBlcnJvci5kYXRhID0gZXJyb3JSZXMuYWRkaXRpb25hbF9kYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgIH1cbn1cbiJdfQ==
233
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hdXRoL2Vzb2x2ZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFDVixVQUFVLEVBRVYsV0FBVyxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGNBQWMsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLGlCQUFpQjtJQU0xQjtRQUxpQixXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQixZQUFPLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkMsaUJBQVksR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUc5RCxJQUFJLENBQUMsT0FBTzthQUNQLFlBQVksRUFBRTthQUNkLElBQUksQ0FDRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFDeEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJ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QUMsV0FBVyxFQUNuQixDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQ3ZCLENBQUM7SUFDTixDQUFDO0lBRU8sV0FBVyxDQUNmLFFBQXlEO1FBRXpELE1BQU0sS0FBSyxHQUFHO1lBQ1YsT0FBTyxFQUFFLDJCQUEyQjtZQUNwQyxJQUFJLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFO1lBQy9ELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2xDO1FBRUQsSUFBSSxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRTtZQUNoQyxLQUFLLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUM7U0FDcEM7UUFFRCxJQUFJLFFBQVEsQ0FBQyxlQUFlLEVBQUU7WUFDMUIsS0FBSyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1NBQ3pDO1FBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzs4R0F4VFEsaUJBQWlCO2tIQUFqQixpQkFBaUIsY0FGZCxNQUFNOzsyRkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cFBhcmFtcyxcbiAgICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBIdHRwSGVhZGVycyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQnO1xuXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24nO1xuXG5pbXBvcnQge1xuICAgIEVzb2x2ZUF1dGhHZXRSZXNwb25zZSxcbiAgICBFc29sdmVBdXRoQ2hlY2tSZXNwb25zZSxcbiAgICBFc29sdmVBdXRoUmVzdWx0LFxuICAgIEVzb2x2ZUxvZ2luUmVzcG9uc2UsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVBdXRoU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvbiA9IGluamVjdChFc29sdmVTZXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvckhhbmRsZXIgPSBpbmplY3QoRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uXG4gICAgICAgICAgICAub25TZXNzaW9uRW5kKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNoZWNrQWNjZXNzVG9rZW4oKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24ocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb24uZXhwaXJlU2Vzc2lvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5vbkV4cGlyZSgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ291dCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBEZWFsIHdpdGggZXJyb3IgZ3JhY2VmdWxseVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbihcbiAgICAgICAgZW1haWw6IHN0cmluZyxcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICAgICAgYW5vbnltb3VzID0gZmFsc2UsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBdXRoR2V0UmVzcG9uc2U+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgaWYgKGFub255bW91cykge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnYW5vbnltb3VzJywgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW1haWwgIT09ICcnKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdlbWFpbCcsIGVtYWlsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzd29yZCAhPT0gJycpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Bhc3N3b3JkJywgcGFzc3dvcmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVBdXRoR2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hY2Nlc3MtdG9rZW4ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAnKicsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnR5cGUgPT09ICdlcnJvcicgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnR5cGUgPT09ICdleGNlcHRpb24nXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpLFxuICAgICAgICAgICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBdXRoZW50aWNhdGlvbihyZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QW5vbnltb3VzU2Vzc2lvbigpOiBPYnNlcnZhYmxlPEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBY2Nlc3NUb2tlbignJywgJycsIHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBhdXRvTG9naW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlc3RvcmUoKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFub255bW91c1Nlc3Npb24oKSxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3VsdCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBsb2dpbihlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGxvZ2luOiB7XG4gICAgICAgICAgICAgICAgZW1haWwsXG4gICAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZUxvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1sb2dpbi5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZXNwb25zZXMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVzcG9uc2VzLmxlbmd0aCA8PSAwXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2dpbl9yZXNwb25zZSA9IHJlc3BvbnNlLnJlc3BvbnNlc1swXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2luX3Jlc3BvbnNlLnN0YXR1cy5zdGF0ZSAhPT0gJ3N1Y2Nlc3MnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dpbl9yZXNwb25zZS5zdGF0dXMuc3RhdGUgIT09ICd3YXJuaW5nJ1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGxvZ2luX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCByZXNwb25zZV9sb2cgb2YgbG9naW5fcmVzcG9uc2UubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VfbG9nLnR5cGUgPT09ICdzdWNjZXNzJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlX2xvZy5tZXNzYWdlX2NvZGUgPT09ICdsb2dpbl9zdWNjZXNzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlcl9pZCA9ICtsb2dpbl9yZXNwb25zZS5lc29sdmVfaWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBsb2dpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHJlc3VsdC5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IHJlc3VsdC51c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogcmVzdWx0LmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGRyZXNzZXNfaWQ6IHJlc3VsdC5hZGRyZXNzZXNfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoaXBwaW5nX2lkOiByZXN1bHQuc2hpcHBpbmdfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyZXM6IHJlc3VsdC5leHBpcmVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcnlfdGltZTogcmVzdWx0LmV4cGlyeV90aW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmFjZV9wZXJpb2Q6IHJlc3VsdC5ncmFjZV9wZXJpb2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdXNlcl9pZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHRocm93IGxvZ2luX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yUmVzOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuaGFuZGxlSHR0cFBvc3RFcnJvcihcbiAgICAgICAgICAgICAgICAgICAgICAgICdzZXQtbG9naW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTxFc29sdmVBdXRoR2V0UmVzcG9uc2U+IHtcbiAgICAgICAgdGhpcy5zZXNzaW9uLnN0b3BUaW1lcigpO1xuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLmdldEFjY2Vzc1Rva2VuKCcnLCAnJywgdHJ1ZSksXG4gICAgICAgICk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyB2YWxpZGF0ZUNhY2hlZFRva2VucygpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICAgICAgbGV0IHZhbGlkID0gZmFsc2U7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHNlc3Npb24gPSB0aGlzLnNlc3Npb24uZ2V0Q2FjaGVkU2Vzc2lvbigpO1xuXG4gICAgICAgICAgICBpZiAoIXNlc3Npb24pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgc2Vzc2lvbicpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLmNoZWNrQWNjZXNzVG9rZW4oc2Vzc2lvbik7XG5cbiAgICAgICAgICAgIGlmICghcmVzdWx0LmtleSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBrZXknKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdmFsaWQgPSB0cnVlO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhpcy5zZXNzaW9uLnJlc2V0KCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsaWQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhc3luYyBjaGVja0FjY2Vzc1Rva2VuKFxuICAgICAgICB0b2tlbiA9IHRoaXMuc2Vzc2lvbi5nZXRUb2tlbigpLFxuICAgICk6IFByb21pc2U8RXNvbHZlQXV0aFJlc3VsdD4ge1xuICAgICAgICBpZiAodG9rZW4gPT09ICcnKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgVG9rZW4nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICB0aGlzLmh0dHAuZ2V0PEVzb2x2ZUF1dGhDaGVja1Jlc3BvbnNlPihcbiAgICAgICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtYWNjZXNzLXRva2VuLnBocGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6ICcqJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocmVzcG9uc2UudHlwZSA9PT0gJ2Vycm9yJyB8fCByZXNwb25zZS50eXBlID09PSAnZXhjZXB0aW9uJykge1xuICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhZGRpdGlvbmFsX2RhdGEgPSByZXNwb25zZS5hZGRpdGlvbmFsX2RhdGE7XG5cbiAgICAgICAgaWYgKCFhZGRpdGlvbmFsX2RhdGEua2V5X29rYXkpIHtcbiAgICAgICAgICAgIHRocm93IHJlc3BvbnNlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFkZGl0aW9uYWxfZGF0YS5rZXkpIHtcbiAgICAgICAgICAgIHRva2VuID0gYWRkaXRpb25hbF9kYXRhLmtleTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdDogRXNvbHZlQXV0aFJlc3VsdCA9IHtcbiAgICAgICAgICAgIGtleTogdG9rZW4sXG4gICAgICAgICAgICBleHBpcmVzOiArYWRkaXRpb25hbF9kYXRhLmV4cGlyZXMsXG4gICAgICAgICAgICBleHBpcnlfdGltZTogK2FkZGl0aW9uYWxfZGF0YS5leHBpcnlfdGltZSxcbiAgICAgICAgICAgIGdyYWNlX3BlcmlvZDogK2FkZGl0aW9uYWxfZGF0YS5ncmFjZV9wZXJpb2QsXG4gICAgICAgICAgICBsb2NhdGlvbl9pZDogK2FkZGl0aW9uYWxfZGF0YS5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgIHVzZXJfaWQ6ICthZGRpdGlvbmFsX2RhdGEudXNlcl9pZCxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogK2FkZGl0aW9uYWxfZGF0YS5hZGRyZXNzZXNfaWQsXG4gICAgICAgICAgICBzaGlwcGluZ19pZDogK2FkZGl0aW9uYWxfZGF0YS5zaGlwcGluZ19pZCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgcmVzdG9yZSgpOiBQcm9taXNlPEVzb2x2ZUF1dGhSZXN1bHQgfCBudWxsPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMuc2Vzc2lvbi5nZXRDYWNoZWRTZXNzaW9uKCk7XG5cbiAgICAgICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdG9rZW4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jaGVja0FjY2Vzc1Rva2VuKHRva2VuKTtcblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbi5yZXNldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlcnNcblxuICAgIHByaXZhdGUgaGFuZGxlQXV0aGVudGljYXRpb24ocmVzdWx0OiBFc29sdmVBdXRoUmVzdWx0KTogdm9pZCB7XG4gICAgICAgIGlmICghcmVzdWx0LmtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5zZXNzaW9uLmhhbmRsZVNlc3Npb24oXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdG9rZW46IHJlc3VsdC5rZXksXG4gICAgICAgICAgICAgICAgdXNlcl9pZDogK3Jlc3VsdC51c2VyX2lkLFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uX2lkOiArcmVzdWx0LmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogK3Jlc3VsdC5hZGRyZXNzZXNfaWQsXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdfaWQ6ICtyZXN1bHQuc2hpcHBpbmdfaWQsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgK3Jlc3VsdC5leHBpcnlfdGltZSxcbiAgICAgICAgICAgICtyZXN1bHQuZ3JhY2VfcGVyaW9kLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFuZGxlRXJyb3IoXG4gICAgICAgIGVycm9yUmVzOiBFc29sdmVBdXRoR2V0UmVzcG9uc2UgfCBFc29sdmVBdXRoQ2hlY2tSZXNwb25zZSxcbiAgICApOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gICAgICAgIGNvbnN0IGVycm9yID0ge1xuICAgICAgICAgICAgbWVzc2FnZTogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnLFxuICAgICAgICAgICAgZGF0YToge30sXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCFlcnJvclJlcy50eXBlIHx8ICFlcnJvclJlcy5zZXJ2aWNlX3R5cGUgfHwgIWVycm9yUmVzLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvclJlcy5tZXNzYWdlLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgPSBlcnJvclJlcy5tZXNzYWdlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yUmVzLmFkZGl0aW9uYWxfZGF0YSkge1xuICAgICAgICAgICAgZXJyb3IuZGF0YSA9IGVycm9yUmVzLmFkZGl0aW9uYWxfZGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICB9XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGgtZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC9pbnRlcmZhY2VzL2Vzb2x2ZS1hdXRoLWRhdGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUF1dGhEYXRhIHtcbiAgICBleHBpcmVzOiBudW1iZXI7XG4gICAgZXhwaXJ5X3RpbWU6IG51bWJlcjtcbiAgICBncmFjZV9wZXJpb2Q6IG51bWJlcjtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGgtZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC9pbnRlcmZhY2VzL2Vzb2x2ZS1hdXRoLWRhdGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUF1dGhEYXRhIHtcbiAgICBleHBpcmVzOiBudW1iZXI7XG4gICAgZXhwaXJ5X3RpbWU6IG51bWJlcjtcbiAgICBncmFjZV9wZXJpb2Q6IG51bWJlcjtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZDogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWxvZ2luLXJlc3BvbnNlLnR5cGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC90eXBlcy9lc29sdmUtbG9naW4tcmVzcG9uc2UudHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlU2V0UmVzcG9uc2UgfSBmcm9tICcuLi8uLi9zaGFyZWQnO1xuaW1wb3J0IHsgRXNvbHZlTG9naW5Qb3N0UmVzcG9uc2VJdGVtIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEVzb2x2ZUF1dGhSZXN1bHQgfSBmcm9tICcuL2Vzb2x2ZS1hdXRoLXJlc3VsdC50eXBlJztcblxuZXhwb3J0IHR5cGUgRXNvbHZlTG9naW5SZXNwb25zZSA9IEVzb2x2ZVNldFJlc3BvbnNlPFxuICAgIEVzb2x2ZUxvZ2luUG9zdFJlc3BvbnNlSXRlbSxcbiAgICBFc29sdmVBdXRoUmVzdWx0XG4+O1xuIl19
@@ -2,4 +2,5 @@ export * from './esolve-auth-check-response.type';
2
2
  export * from './esolve-auth-get-response.type';
3
3
  export * from './esolve-auth-response-data.type';
4
4
  export * from './esolve-auth-result.type';
5
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtYXV0aC1jaGVjay1yZXNwb25zZS50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWF1dGgtZ2V0LXJlc3BvbnNlLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtYXV0aC1yZXNwb25zZS1kYXRhLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtYXV0aC1yZXN1bHQudHlwZSc7XG4iXX0=
5
+ export * from './esolve-login-response.type';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC90eXBlcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsOEJBQThCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1hdXRoLWNoZWNrLXJlc3BvbnNlLnR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtYXV0aC1nZXQtcmVzcG9uc2UudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1hdXRoLXJlc3BvbnNlLWRhdGEudHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1hdXRoLXJlc3VsdC50eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLWxvZ2luLXJlc3BvbnNlLnR5cGUnO1xuIl19
@@ -18,7 +18,7 @@ export class EsolveDeviceService {
18
18
  device,
19
19
  };
20
20
  return this.http
21
- .post(`${this.config.api_url}/set-user-account.php`, body, {
21
+ .post(`${this.config.api_url}/set-device.php`, body, {
22
22
  headers: {
23
23
  'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8;',
24
24
  },
@@ -26,7 +26,7 @@ export class EsolveDeviceService {
26
26
  observe: 'body',
27
27
  })
28
28
  .pipe(map((http_response) => this.responseHandler.validateSingleHttpResponse(http_response, (response) => new EsolveSetDeviceResult(response))), catchError((errorRes) => {
29
- return this.errorHandler.handleHttpPostError('set-user-account', errorRes);
29
+ return this.errorHandler.handleHttpPostError('set-device', errorRes);
30
30
  }));
31
31
  }
32
32
  getUserDevices(options) {
@@ -69,4 +69,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
69
69
  providedIn: 'root',
70
70
  }]
71
71
  }] });
72
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWRldmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2RldmljZS9lc29sdmUtZGV2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFOUMsT0FBTyxFQUVILDRCQUE0QixHQUUvQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLcEUsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlxQixXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2pELG9CQUFlLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0F1RjNFO0lBckZVLFNBQVMsQ0FBQyxNQUFvQjtRQUNqQyxNQUFNLElBQUksR0FBRztZQUNULE1BQU07U0FDVCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FDRCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyx1QkFBdUIsRUFDN0MsSUFBSSxFQUNKO1lBQ0ksT0FBTyxFQUFFO2dCQUNMLGNBQWMsRUFDVixrREFBa0Q7YUFDekQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtZQUNwQixPQUFPLEVBQUUsTUFBTTtTQUNsQixDQUNKO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQzNDLGFBQWEsRUFDYixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FDcEQsQ0FDSixFQUNELFVBQVUsQ0FBQyxDQUFDLFFBQWlDLEVBQUUsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQ3hDLGtCQUFrQixFQUNsQixRQUFRLENBQ1gsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRU0sY0FBYyxDQUNqQixPQUFpQztRQUVqQyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTlCLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNyQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDNUQ7WUFFRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMxRDtZQUVELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuRDtTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUN6QyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQ0ksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTO2dCQUM5QixRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQzlCO2dCQUNFLE1BQU0sUUFBUSxDQUFDO2FBQ2xCO1lBRUQsTUFBTSxPQUFPLEdBQXVCLEVBQUUsQ0FBQztZQUV2QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRU8sb0JBQW9CLENBQ3hCLE1BQWtCO1FBRWxCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2hCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHVCQUF1QixFQUM3QyxFQUFFLE1BQU0sRUFBRSxDQUNiLENBQUM7SUFDTixDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQThCO1FBQ2hELE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQTFGUSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZoQixNQUFNOzsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBIdHRwQ2xpZW50LFxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBQYXJhbXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEVzb2x2ZUdldFJlc3BvbnNlLFxuICAgIEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXG59IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XG5pbXBvcnQgeyBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9ycyc7XG5cbmltcG9ydCB7XG4gICAgRXNvbHZlRGV2aWNlLFxuICAgIEVzb2x2ZVVzZXJEZXZpY2VPcHRpb25zLFxuICAgIEVzb2x2ZVVzZXJEZXZpY2VSZWNvcmQsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTZXREZXZpY2VSZXN1bHQsIEVzb2x2ZVVzZXJEZXZpY2UgfSBmcm9tICcuL2NsYXNzZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVEZXZpY2VTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvckhhbmRsZXIgPSBpbmplY3QoRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUhhbmRsZXIgPSBpbmplY3QoRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZSk7XG5cbiAgICBwdWJsaWMgc2V0RGV2aWNlKGRldmljZTogRXNvbHZlRGV2aWNlKTogT2JzZXJ2YWJsZTxFc29sdmVTZXREZXZpY2VSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGRldmljZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LXVzZXItYWNjb3VudC5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVTZXREZXZpY2VSZXN1bHQocmVzcG9uc2UpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC11c2VyLWFjY291bnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VyRGV2aWNlcyhcbiAgICAgICAgb3B0aW9ucz86IEVzb2x2ZVVzZXJEZXZpY2VPcHRpb25zLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVXNlckRldmljZVtdPiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5sb2NhdGlvbl9pZCkge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2xvY2F0aW9uX2lkJywgK29wdGlvbnMubG9jYXRpb25faWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5kZXZpY2VzX2lkKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZGV2aWNlc19pZCcsICtvcHRpb25zLmRldmljZXNfaWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy51c2VyX2lkKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndXNlcl9pZCcsIG9wdGlvbnMudXNlcl9pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRVc2VyRGV2aWNlUmVjb3JkcyhwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBkZXZpY2VzOiBFc29sdmVVc2VyRGV2aWNlW10gPSBbXTtcblxuICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMuZm9yRWFjaCgoZGV2aWNlUmVjb3JkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRldmljZXMucHVzaCh0aGlzLnByb2Nlc3NEZXZpY2UoZGV2aWNlUmVjb3JkKSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZGV2aWNlcztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXNlckRldmljZVJlY29yZHMoXG4gICAgICAgIHBhcmFtczogSHR0cFBhcmFtcyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVVzZXJEZXZpY2VSZWNvcmRbXT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckRldmljZVJlY29yZFtdPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdXNlci1kZXZpY2VzLnBocGAsXG4gICAgICAgICAgICB7IHBhcmFtcyB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0RldmljZShyZWNvcmQ6IEVzb2x2ZVVzZXJEZXZpY2VSZWNvcmQpOiBFc29sdmVVc2VyRGV2aWNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVVc2VyRGV2aWNlKHJlY29yZCk7XG4gICAgfVxufVxuIl19
72
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWRldmljZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL2RldmljZS9lc29sdmUtZGV2aWNlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFFVixVQUFVLEdBQ2IsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFFOUMsT0FBTyxFQUVILDRCQUE0QixHQUUvQixNQUFNLG9CQUFvQixDQUFDO0FBQzVCLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBTzdELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFLcEUsTUFBTSxPQUFPLG1CQUFtQjtJQUhoQztRQUlxQixXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQixpQkFBWSxHQUFHLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBQ2pELG9CQUFlLEdBQUcsTUFBTSxDQUFDLDRCQUE0QixDQUFDLENBQUM7S0F1RjNFO0lBckZVLFNBQVMsQ0FBQyxNQUFvQjtRQUNqQyxNQUFNLElBQUksR0FBRztZQUNULE1BQU07U0FDVCxDQUFDO1FBRUYsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLElBQUksQ0FDRCxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxpQkFBaUIsRUFDdkMsSUFBSSxFQUNKO1lBQ0ksT0FBTyxFQUFFO2dCQUNMLGNBQWMsRUFDVixrREFBa0Q7YUFDekQ7WUFDRCxZQUFZLEVBQUUsTUFBTTtZQUNwQixPQUFPLEVBQUUsTUFBTTtTQUNsQixDQUNKO2FBQ0EsSUFBSSxDQUNELEdBQUcsQ0FBQyxDQUFDLGFBQWEsRUFBRSxFQUFFLENBQ2xCLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQzNDLGFBQWEsRUFDYixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FDcEQsQ0FDSixFQUNELFVBQVUsQ0FBQyxDQUFDLFFBQWlDLEVBQUUsRUFBRTtZQUM3QyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQ3hDLFlBQVksRUFDWixRQUFRLENBQ1gsQ0FBQztRQUNOLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDVixDQUFDO0lBRU0sY0FBYyxDQUNqQixPQUFpQztRQUVqQyxJQUFJLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBRTlCLElBQUksT0FBTyxFQUFFO1lBQ1QsSUFBSSxPQUFPLENBQUMsV0FBVyxFQUFFO2dCQUNyQixNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDNUQ7WUFFRCxJQUFJLE9BQU8sQ0FBQyxVQUFVLEVBQUU7Z0JBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzthQUMxRDtZQUVELElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRTtnQkFDakIsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNuRDtTQUNKO1FBRUQsT0FBTyxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUN6QyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtZQUNiLElBQ0ksUUFBUSxDQUFDLE9BQU8sS0FBSyxTQUFTO2dCQUM5QixRQUFRLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQzlCO2dCQUNFLE1BQU0sUUFBUSxDQUFDO2FBQ2xCO1lBRUQsTUFBTSxPQUFPLEdBQXVCLEVBQUUsQ0FBQztZQUV2QyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO2dCQUN0QyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNuRCxDQUFDLENBQUMsQ0FBQztZQUVILE9BQU8sT0FBTyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRU8sb0JBQW9CLENBQ3hCLE1BQWtCO1FBRWxCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQ2hCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLHVCQUF1QixFQUM3QyxFQUFFLE1BQU0sRUFBRSxDQUNiLENBQUM7SUFDTixDQUFDO0lBRU8sYUFBYSxDQUFDLE1BQThCO1FBQ2hELE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDOzhHQTFGUSxtQkFBbUI7a0hBQW5CLG1CQUFtQixjQUZoQixNQUFNOzsyRkFFVCxtQkFBbUI7a0JBSC9CLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgICBIdHRwQ2xpZW50LFxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBQYXJhbXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuXG5pbXBvcnQge1xuICAgIEVzb2x2ZUdldFJlc3BvbnNlLFxuICAgIEVzb2x2ZVJlc3BvbnNlSGFuZGxlclNlcnZpY2UsXG4gICAgRXNvbHZlU2V0UmVzcG9uc2UsXG59IGZyb20gJy4uL3NoYXJlZC9yZXNwb25zZSc7XG5pbXBvcnQgeyBFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Vycm9ycyc7XG5cbmltcG9ydCB7XG4gICAgRXNvbHZlRGV2aWNlLFxuICAgIEVzb2x2ZVVzZXJEZXZpY2VPcHRpb25zLFxuICAgIEVzb2x2ZVVzZXJEZXZpY2VSZWNvcmQsXG59IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBFc29sdmVTZXREZXZpY2VSZXN1bHQsIEVzb2x2ZVVzZXJEZXZpY2UgfSBmcm9tICcuL2NsYXNzZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVEZXZpY2VTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvckhhbmRsZXIgPSBpbmplY3QoRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSByZXNwb25zZUhhbmRsZXIgPSBpbmplY3QoRXNvbHZlUmVzcG9uc2VIYW5kbGVyU2VydmljZSk7XG5cbiAgICBwdWJsaWMgc2V0RGV2aWNlKGRldmljZTogRXNvbHZlRGV2aWNlKTogT2JzZXJ2YWJsZTxFc29sdmVTZXREZXZpY2VSZXN1bHQ+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGRldmljZSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAucG9zdDxFc29sdmVTZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWRldmljZS5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChodHRwX3Jlc3BvbnNlKSA9PlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3BvbnNlSGFuZGxlci52YWxpZGF0ZVNpbmdsZUh0dHBSZXNwb25zZShcbiAgICAgICAgICAgICAgICAgICAgICAgIGh0dHBfcmVzcG9uc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICAocmVzcG9uc2UpID0+IG5ldyBFc29sdmVTZXREZXZpY2VSZXN1bHQocmVzcG9uc2UpLFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlIHwgYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1kZXZpY2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JSZXMsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VyRGV2aWNlcyhcbiAgICAgICAgb3B0aW9ucz86IEVzb2x2ZVVzZXJEZXZpY2VPcHRpb25zLFxuICAgICk6IE9ic2VydmFibGU8RXNvbHZlVXNlckRldmljZVtdPiB7XG4gICAgICAgIGxldCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcygpO1xuXG4gICAgICAgIGlmIChvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5sb2NhdGlvbl9pZCkge1xuICAgICAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2xvY2F0aW9uX2lkJywgK29wdGlvbnMubG9jYXRpb25faWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy5kZXZpY2VzX2lkKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnZGV2aWNlc19pZCcsICtvcHRpb25zLmRldmljZXNfaWQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAob3B0aW9ucy51c2VyX2lkKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgndXNlcl9pZCcsIG9wdGlvbnMudXNlcl9pZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5nZXRVc2VyRGV2aWNlUmVjb3JkcyhwYXJhbXMpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZWNvcmRzID09PSB1bmRlZmluZWQgfHxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVjb3Jkcy5sZW5ndGggPD0gMFxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBjb25zdCBkZXZpY2VzOiBFc29sdmVVc2VyRGV2aWNlW10gPSBbXTtcblxuICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlY29yZHMuZm9yRWFjaCgoZGV2aWNlUmVjb3JkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGRldmljZXMucHVzaCh0aGlzLnByb2Nlc3NEZXZpY2UoZGV2aWNlUmVjb3JkKSk7XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gZGV2aWNlcztcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VXNlckRldmljZVJlY29yZHMoXG4gICAgICAgIHBhcmFtczogSHR0cFBhcmFtcyxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUdldFJlc3BvbnNlPEVzb2x2ZVVzZXJEZXZpY2VSZWNvcmRbXT4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8RXNvbHZlR2V0UmVzcG9uc2U8RXNvbHZlVXNlckRldmljZVJlY29yZFtdPj4oXG4gICAgICAgICAgICBgJHt0aGlzLmNvbmZpZy5hcGlfdXJsfS9nZXQtdXNlci1kZXZpY2VzLnBocGAsXG4gICAgICAgICAgICB7IHBhcmFtcyB9LFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByaXZhdGUgcHJvY2Vzc0RldmljZShyZWNvcmQ6IEVzb2x2ZVVzZXJEZXZpY2VSZWNvcmQpOiBFc29sdmVVc2VyRGV2aWNlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBFc29sdmVVc2VyRGV2aWNlKHJlY29yZCk7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWRldmljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvZGV2aWNlL2ludGVyZmFjZXMvZXNvbHZlLWRldmljZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlRGV2aWNlIHtcbiAgICB1dWlkOiBzdHJpbmc7XG4gICAgcGxhdGZvcm06IHN0cmluZztcbiAgICBwbGF0Zm9ybV92ZXJzaW9uOiBzdHJpbmc7XG4gICAgbWFudWZhY3R1cmVyOiBzdHJpbmc7XG4gICAgbW9kZWw6IHN0cmluZztcbiAgICAkbWVzc2FnaW5nX2lkOiBzdHJpbmc7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWRldmljZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvZGV2aWNlL2ludGVyZmFjZXMvZXNvbHZlLWRldmljZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlRGV2aWNlIHtcbiAgICB1dWlkOiBzdHJpbmc7XG4gICAgcGxhdGZvcm06IHN0cmluZztcbiAgICBwbGF0Zm9ybV92ZXJzaW9uOiBzdHJpbmc7XG4gICAgbWFudWZhY3R1cmVyOiBzdHJpbmc7XG4gICAgbW9kZWw6IHN0cmluZztcbiAgICBtZXNzYWdpbmdfaWQ6IHN0cmluZztcbn1cbiJdfQ==
@@ -14,6 +14,8 @@ export class EsolveSessionService {
14
14
  this.token$ = new BehaviorSubject('');
15
15
  this.user_id$ = new BehaviorSubject(0);
16
16
  this.location_id$ = new BehaviorSubject(0);
17
+ this.addresses_id$ = new BehaviorSubject(0);
18
+ this.shipping_id$ = new BehaviorSubject(0);
17
19
  this.state_hash = '';
18
20
  this.storage_key = '';
19
21
  /* These are RxJS subjects used for managing the expiration of the user session. */
@@ -48,6 +50,8 @@ export class EsolveSessionService {
48
50
  token: this.onTokenUpdate(),
49
51
  user_id: this.onUserIdUpdate(),
50
52
  location_id: this.onLocationIdUpdate(),
53
+ addresses_id: this.onAddressesIdUpdate(),
54
+ shipping_id: this.onShippingIdUpdate(),
51
55
  };
52
56
  return combineLatest(session).pipe(
53
57
  // Delays the emit only slightly incase multiple values are set
@@ -64,6 +68,8 @@ export class EsolveSessionService {
64
68
  token: this.token$.getValue(),
65
69
  user_id: this.user_id$.getValue(),
66
70
  location_id: this.location_id$.getValue(),
71
+ addresses_id: this.addresses_id$.getValue(),
72
+ shipping_id: this.shipping_id$.getValue(),
67
73
  };
68
74
  }
69
75
  onSessionEnd() {
@@ -102,6 +108,24 @@ export class EsolveSessionService {
102
108
  updateLocationId(location_id) {
103
109
  this.location_id$.next(location_id);
104
110
  }
111
+ getAddressesId() {
112
+ return this.addresses_id$.getValue();
113
+ }
114
+ onAddressesIdUpdate() {
115
+ return this.addresses_id$.asObservable().pipe(distinctUntilChanged());
116
+ }
117
+ updateAddressesId(addresses_id) {
118
+ this.addresses_id$.next(addresses_id);
119
+ }
120
+ getShippingId() {
121
+ return this.shipping_id$.getValue();
122
+ }
123
+ onShippingIdUpdate() {
124
+ return this.shipping_id$.asObservable().pipe(distinctUntilChanged());
125
+ }
126
+ updateShippingId(shipping_id) {
127
+ this.shipping_id$.next(shipping_id);
128
+ }
105
129
  getStateHash() {
106
130
  return this.state_hash;
107
131
  }
@@ -124,17 +148,25 @@ export class EsolveSessionService {
124
148
  this.setCache(session.token, grace_expiry_date);
125
149
  this.updateUserId(session.user_id);
126
150
  this.updateLocationId(session.location_id);
151
+ this.updateAddressesId(session.addresses_id);
152
+ this.updateShippingId(session.shipping_id);
127
153
  // Update token last to make sure session is correctly checked
128
154
  this.updateToken(session.token);
129
155
  this.startTimer(expiry_date);
130
156
  }
131
- handleUpdateSession({ user_id, location_id, }) {
157
+ handleUpdateSession({ user_id, location_id, addresses_id, shipping_id, }) {
132
158
  if (typeof user_id !== 'undefined') {
133
159
  this.updateUserId(user_id);
134
160
  }
135
161
  if (typeof location_id !== 'undefined') {
136
162
  this.updateLocationId(location_id);
137
163
  }
164
+ if (typeof addresses_id !== 'undefined') {
165
+ this.updateAddressesId(addresses_id);
166
+ }
167
+ if (typeof shipping_id !== 'undefined') {
168
+ this.updateShippingId(shipping_id);
169
+ }
138
170
  }
139
171
  setStorageKey() {
140
172
  if (typeof this.config.session_storage_key === 'string' &&
@@ -175,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.4", ngImpor
175
207
  providedIn: 'root',
176
208
  }]
177
209
  }], ctorParameters: function () { return []; } });
178
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFDSCxlQUFlLEVBRWYsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGFBQWEsRUFDYixHQUFHLEVBQ0gsV0FBVyxFQUNYLE1BQU0sRUFDTixvQkFBb0IsRUFDcEIsWUFBWSxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQVduRSxNQUFNLE9BQU8sb0JBQW9CO0lBb0I3QjtRQW5CaUIsZUFBVSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXJELFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsaUJBQVksR0FBRyxJQUFJLGVBQWUs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USxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICAgIEJlaGF2aW9yU3ViamVjdCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIFN1YmplY3QsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aW1lcixcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIG1hcCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBmaWx0ZXIsXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZGVib3VuY2VUaW1lLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZnJvbVVuaXhUaW1lIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5pbXBvcnQgeyBFc29sdmVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZSc7XG5pbXBvcnQgeyBlc29sdmVIZXhIYXNoIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1oZXgtaGFzaC5mdW5jdGlvbic7XG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuaW50ZXJmYWNlIFNlc3Npb25VcGRhdGVPcHRpb25zIHtcbiAgICB1c2VyX2lkPzogbnVtYmVyO1xuICAgIGxvY2F0aW9uX2lkPzogbnVtYmVyO1xufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVTZXNzaW9uU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBpc19icm93c2VyID0gaXNQbGF0Zm9ybUJyb3dzZXIoaW5qZWN0KFBMQVRGT1JNX0lEKSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb29raWVTZXJ2aWNlID0gaW5qZWN0KEVzb2x2ZUNvb2tpZVNlcnZpY2UpO1xuXG4gICAgcHJpdmF0ZSB0b2tlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpO1xuICAgIHByaXZhdGUgdXNlcl9pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBsb2NhdGlvbl9pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBzdGF0ZV9oYXNoID0gJyc7XG5cbiAgICBwcml2YXRlIF9zZXNzaW9uOiBPYnNlcnZhYmxlPEVzb2x2ZVNlc3Npb24+O1xuXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICcnO1xuXG4gICAgLyogVGhlc2UgYXJlIFJ4SlMgc3ViamVjdHMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGV4cGlyYXRpb24gb2YgdGhlIHVzZXIgc2Vzc2lvbi4gKi9cbiAgICBwcml2YXRlIHRpbWVyX3N0YXJ0ID0gbmV3IFN1YmplY3Q8bnVtYmVyIHwgRGF0ZT4oKTtcbiAgICBwcml2YXRlIHRpbWVyX3N0b3AgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgZXhwaXJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHNlc3Npb25fZW5kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFN0b3JhZ2VLZXkoKTtcbiAgICAgICAgdGhpcy5fc2Vzc2lvbiA9IHRoaXMuaW5pdFNlc3Npb24oKTtcblxuICAgICAgICB0aGlzLmdldFNlc3Npb24oKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh7IHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlc29sdmVIZXhIYXNoKHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChoYXNoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZV9oYXNoID0gaGFzaDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGltZXJfc3RhcnRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgodGltZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGltZXIodGltZSkucGlwZSh0YWtlVW50aWwodGhpcy50aW1lcl9zdG9wKSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBTdG9yZWQgdGltZSBleHBpcmVkLiBDaGVjayBpZiBzZXNzaW9uIGlzIHZhbGlkXG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uX2VuZC5uZXh0KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBLaWxsIHNlc3Npb24gYW5kIHJlc2V0IHN0YXRlXG4gICAgICAgIHRoaXMub25FeHBpcmUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZXNzaW9uKCk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj4ge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0ge1xuICAgICAgICAgICAgdG9rZW46IHRoaXMub25Ub2tlblVwZGF0ZSgpLFxuICAgICAgICAgICAgdXNlcl9pZDogdGhpcy5vblVzZXJJZFVwZGF0ZSgpLFxuICAgICAgICAgICAgbG9jYXRpb25faWQ6IHRoaXMub25Mb2NhdGlvbklkVXBkYXRlKCksXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3Qoc2Vzc2lvbikucGlwZShcbiAgICAgICAgICAgIC8vIERlbGF5cyB0aGUgZW1pdCBvbmx5IHNsaWdodGx5IGluY2FzZSBtdWx0aXBsZSB2YWx1ZXMgYXJlIHNldFxuICAgICAgICAgICAgZGVib3VuY2VUaW1lKDEwKSxcbiAgICAgICAgICAgIHNoYXJlUmVwbGF5KDEpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc1ZhbGlkKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRUb2tlbigpICE9PSAnJztcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2Vzc2lvbigpOiBPYnNlcnZhYmxlPEVzb2x2ZVNlc3Npb24+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Nlc3Npb247XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlc3Npb25WYWx1ZSgpOiBFc29sdmVTZXNzaW9uIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHRva2VuOiB0aGlzLnRva2VuJC5nZXRWYWx1ZSgpLFxuICAgICAgICAgICAgdXNlcl9pZDogdGhpcy51c2VyX2lkJC5nZXRWYWx1ZSgpLFxuICAgICAgICAgICAgbG9jYXRpb25faWQ6IHRoaXMubG9jYXRpb25faWQkLmdldFZhbHVlKCksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2Vzc2lvbkVuZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvbl9lbmQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRXhwaXJlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leHBpcmUuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cGlyZVNlc3Npb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwaXJlLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW4kLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVG9rZW5VcGRhdGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW4kLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPT0gJycpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnRva2VuJC5uZXh0KHRva2VuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VXNlcklkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJfaWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVXNlcklkVXBkYXRlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJfaWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVVzZXJJZCh1c2VyX2lkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyX2lkJC5uZXh0KHVzZXJfaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMb2NhdGlvbklkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2F0aW9uX2lkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkxvY2F0aW9uSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25faWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUxvY2F0aW9uSWQobG9jYXRpb25faWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2F0aW9uX2lkJC5uZXh0KGxvY2F0aW9uX2lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhdGVIYXNoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlX2hhc2g7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3BUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnRUaW1lcih0aW1lOiBudW1iZXIgfCBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZXJfc3RhcnQubmV4dCh0aW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2FjaGVkU2Vzc2lvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FjaGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2FjaGUoKTtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlU2Vzc2lvbihcbiAgICAgICAgc2Vzc2lvbjogRXNvbHZlU2Vzc2lvbixcbiAgICAgICAgZXhwaXJ5X2RhdGVfdW5peDogbnVtYmVyLFxuICAgICAgICBncmFjZV91bml4OiBudW1iZXIsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGlyeV9kYXRlID0gZnJvbVVuaXhUaW1lKGV4cGlyeV9kYXRlX3VuaXgpO1xuICAgICAgICBjb25zdCBncmFjZV9leHBpcnlfZGF0ZSA9IGZyb21Vbml4VGltZShleHBpcnlfZGF0ZV91bml4ICsgZ3JhY2VfdW5peCk7XG5cbiAgICAgICAgdGhpcy5zZXRDYWNoZShzZXNzaW9uLnRva2VuLCBncmFjZV9leHBpcnlfZGF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlcklkKHNlc3Npb24udXNlcl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlTG9jYXRpb25JZChzZXNzaW9uLmxvY2F0aW9uX2lkKTtcbiAgICAgICAgLy8gVXBkYXRlIHRva2VuIGxhc3QgdG8gbWFrZSBzdXJlIHNlc3Npb24gaXMgY29ycmVjdGx5IGNoZWNrZWRcbiAgICAgICAgdGhpcy51cGRhdGVUb2tlbihzZXNzaW9uLnRva2VuKTtcblxuICAgICAgICB0aGlzLnN0YXJ0VGltZXIoZXhwaXJ5X2RhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgdXNlcl9pZCxcbiAgICAgICAgbG9jYXRpb25faWQsXG4gICAgfTogU2Vzc2lvblVwZGF0ZU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiB1c2VyX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVVc2VySWQodXNlcl9pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVMb2NhdGlvbklkKGxvY2F0aW9uX2lkKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U3RvcmFnZUtleSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZW9mIHRoaXMuY29uZmlnLnNlc3Npb25fc3RvcmFnZV9rZXkgPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgICB0aGlzLmNvbmZpZy5zZXNzaW9uX3N0b3JhZ2Vfa2V5ICE9PSAnJ1xuICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmFnZV9rZXkgPSB0aGlzLmNvbmZpZy5zZXNzaW9uX3N0b3JhZ2Vfa2V5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRDYWNoZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHRoaXMuY29va2llU2VydmljZS5nZXQodGhpcy5zdG9yYWdlX2tleSk7XG5cbiAgICAgICAgaWYgKGRhdGEgIT09ICcnKSB7XG4gICAgICAgICAgICByZXR1cm4gZGF0YTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5pc19icm93c2VyIHx8ICFsb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0Q2FjaGUoZGF0YTogc3RyaW5nLCBleHBpcmF0aW9uX2RhdGU/OiBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5zZXQodGhpcy5zdG9yYWdlX2tleSwgZGF0YSwgZXhwaXJhdGlvbl9kYXRlLCAnLycpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc19icm93c2VyIHx8ICFsb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMuc3RvcmFnZV9rZXksIGRhdGEpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVtb3ZlQ2FjaGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29va2llU2VydmljZS5kZWxldGUodGhpcy5zdG9yYWdlX2tleSwgJy8nKTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3NlciB8fCAhbG9jYWxTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLnN0b3JhZ2Vfa2V5KTtcbiAgICB9XG59XG4iXX0=
210
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFDSCxlQUFlLEVBRWYsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGFBQWEsRUFDYixHQUFHLEVBQ0gsV0FBVyxFQUNYLE1BQU0sRUFDTixvQkFBb0IsRUFDcEIsWUFBWSxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWFuRSxNQUFNLE9BQU8sb0JBQW9CO0lBc0I3QjtRQXJCaUIsZUFBVSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXJELFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsaUJBQVksR0FBRyxJQUFJLGVBQWUs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QUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQyxPQUFPO1NBQ1Y7UUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDOzhHQTFRUSxvQkFBb0I7a0hBQXBCLG9CQUFvQixjQUZqQixNQUFNOzsyRkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICAgIEJlaGF2aW9yU3ViamVjdCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIFN1YmplY3QsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aW1lcixcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIG1hcCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBmaWx0ZXIsXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZGVib3VuY2VUaW1lLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZnJvbVVuaXhUaW1lIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5pbXBvcnQgeyBFc29sdmVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZSc7XG5pbXBvcnQgeyBlc29sdmVIZXhIYXNoIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1oZXgtaGFzaC5mdW5jdGlvbic7XG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuaW50ZXJmYWNlIFNlc3Npb25VcGRhdGVPcHRpb25zIHtcbiAgICB1c2VyX2lkPzogbnVtYmVyO1xuICAgIGxvY2F0aW9uX2lkPzogbnVtYmVyO1xuICAgIGFkZHJlc3Nlc19pZD86IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZD86IG51bWJlcjtcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNfYnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKGluamVjdChQTEFURk9STV9JRCkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29va2llU2VydmljZSA9IGluamVjdChFc29sdmVDb29raWVTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgdG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIHVzZXJfaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgbG9jYXRpb25faWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgYWRkcmVzc2VzX2lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIHNoaXBwaW5nX2lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIHN0YXRlX2hhc2ggPSAnJztcblxuICAgIHByaXZhdGUgX3Nlc3Npb246IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj47XG5cbiAgICBwcml2YXRlIHN0b3JhZ2Vfa2V5ID0gJyc7XG5cbiAgICAvKiBUaGVzZSBhcmUgUnhKUyBzdWJqZWN0cyB1c2VkIGZvciBtYW5hZ2luZyB0aGUgZXhwaXJhdGlvbiBvZiB0aGUgdXNlciBzZXNzaW9uLiAqL1xuICAgIHByaXZhdGUgdGltZXJfc3RhcnQgPSBuZXcgU3ViamVjdDxudW1iZXIgfCBEYXRlPigpO1xuICAgIHByaXZhdGUgdGltZXJfc3RvcCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG4gICAgcHJpdmF0ZSBleHBpcmUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgc2Vzc2lvbl9lbmQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMuc2V0U3RvcmFnZUtleSgpO1xuICAgICAgICB0aGlzLl9zZXNzaW9uID0gdGhpcy5pbml0U2Vzc2lvbigpO1xuXG4gICAgICAgIHRoaXMuZ2V0U2Vzc2lvbigpXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHsgdG9rZW4sIHVzZXJfaWQsIGxvY2F0aW9uX2lkIH0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVzb2x2ZUhleEhhc2godG9rZW4sIHVzZXJfaWQsIGxvY2F0aW9uX2lkKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKGhhc2gpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlX2hhc2ggPSBoYXNoO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy50aW1lcl9zdGFydFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCh0aW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aW1lcih0aW1lKS5waXBlKHRha2VVbnRpbCh0aGlzLnRpbWVyX3N0b3ApKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFN0b3JlZCB0aW1lIGV4cGlyZWQuIENoZWNrIGlmIHNlc3Npb24gaXMgdmFsaWRcbiAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb25fZW5kLm5leHQoKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIC8vIEtpbGwgc2Vzc2lvbiBhbmQgcmVzZXQgc3RhdGVcbiAgICAgICAgdGhpcy5vbkV4cGlyZSgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0KCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHByaXZhdGUgaW5pdFNlc3Npb24oKTogT2JzZXJ2YWJsZTxFc29sdmVTZXNzaW9uPiB7XG4gICAgICAgIGNvbnN0IHNlc3Npb24gPSB7XG4gICAgICAgICAgICB0b2tlbjogdGhpcy5vblRva2VuVXBkYXRlKCksXG4gICAgICAgICAgICB1c2VyX2lkOiB0aGlzLm9uVXNlcklkVXBkYXRlKCksXG4gICAgICAgICAgICBsb2NhdGlvbl9pZDogdGhpcy5vbkxvY2F0aW9uSWRVcGRhdGUoKSxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogdGhpcy5vbkFkZHJlc3Nlc0lkVXBkYXRlKCksXG4gICAgICAgICAgICBzaGlwcGluZ19pZDogdGhpcy5vblNoaXBwaW5nSWRVcGRhdGUoKSxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChzZXNzaW9uKS5waXBlKFxuICAgICAgICAgICAgLy8gRGVsYXlzIHRoZSBlbWl0IG9ubHkgc2xpZ2h0bHkgaW5jYXNlIG11bHRpcGxlIHZhbHVlcyBhcmUgc2V0XG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTApLFxuICAgICAgICAgICAgc2hhcmVSZXBsYXkoMSksXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzVmFsaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRva2VuKCkgIT09ICcnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXNzaW9uKCk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2Vzc2lvblZhbHVlKCk6IEVzb2x2ZVNlc3Npb24ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4kLmdldFZhbHVlKCksXG4gICAgICAgICAgICB1c2VyX2lkOiB0aGlzLnVzZXJfaWQkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBsb2NhdGlvbl9pZDogdGhpcy5sb2NhdGlvbl9pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogdGhpcy5hZGRyZXNzZXNfaWQkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBzaGlwcGluZ19pZDogdGhpcy5zaGlwcGluZ19pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZXNzaW9uRW5kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uX2VuZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBpcmUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGlyZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwaXJlU2Vzc2lvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBpcmUubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUb2tlbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbiQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2tlblVwZGF0ZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbiQuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigodG9rZW4pID0+IHRva2VuICE9PSAnJyksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9rZW4kLm5leHQodG9rZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VySWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlcl9pZCQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Vc2VySWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlcl9pZCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVXNlcklkKHVzZXJfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJfaWQkLm5leHQodXNlcl9pZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvY2F0aW9uSWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25faWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTG9jYXRpb25JZFVwZGF0ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbl9pZCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb25JZChsb2NhdGlvbl9pZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYXRpb25faWQkLm5leHQobG9jYXRpb25faWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzZXNJZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRyZXNzZXNfaWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWRkcmVzc2VzSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkcmVzc2VzX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVBZGRyZXNzZXNJZChhZGRyZXNzZXNfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZHJlc3Nlc19pZCQubmV4dChhZGRyZXNzZXNfaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaGlwcGluZ0lkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBwaW5nX2lkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNoaXBwaW5nSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hpcHBpbmdfaWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVNoaXBwaW5nSWQoc2hpcHBpbmdfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNoaXBwaW5nX2lkJC5uZXh0KHNoaXBwaW5nX2lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhdGVIYXNoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlX2hhc2g7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3BUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnRUaW1lcih0aW1lOiBudW1iZXIgfCBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZXJfc3RhcnQubmV4dCh0aW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2FjaGVkU2Vzc2lvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FjaGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2FjaGUoKTtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlU2Vzc2lvbihcbiAgICAgICAgc2Vzc2lvbjogRXNvbHZlU2Vzc2lvbixcbiAgICAgICAgZXhwaXJ5X2RhdGVfdW5peDogbnVtYmVyLFxuICAgICAgICBncmFjZV91bml4OiBudW1iZXIsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGlyeV9kYXRlID0gZnJvbVVuaXhUaW1lKGV4cGlyeV9kYXRlX3VuaXgpO1xuICAgICAgICBjb25zdCBncmFjZV9leHBpcnlfZGF0ZSA9IGZyb21Vbml4VGltZShleHBpcnlfZGF0ZV91bml4ICsgZ3JhY2VfdW5peCk7XG5cbiAgICAgICAgdGhpcy5zZXRDYWNoZShzZXNzaW9uLnRva2VuLCBncmFjZV9leHBpcnlfZGF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlcklkKHNlc3Npb24udXNlcl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlTG9jYXRpb25JZChzZXNzaW9uLmxvY2F0aW9uX2lkKTtcbiAgICAgICAgdGhpcy51cGRhdGVBZGRyZXNzZXNJZChzZXNzaW9uLmFkZHJlc3Nlc19pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlU2hpcHBpbmdJZChzZXNzaW9uLnNoaXBwaW5nX2lkKTtcbiAgICAgICAgLy8gVXBkYXRlIHRva2VuIGxhc3QgdG8gbWFrZSBzdXJlIHNlc3Npb24gaXMgY29ycmVjdGx5IGNoZWNrZWRcbiAgICAgICAgdGhpcy51cGRhdGVUb2tlbihzZXNzaW9uLnRva2VuKTtcblxuICAgICAgICB0aGlzLnN0YXJ0VGltZXIoZXhwaXJ5X2RhdGUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBoYW5kbGVVcGRhdGVTZXNzaW9uKHtcbiAgICAgICAgdXNlcl9pZCxcbiAgICAgICAgbG9jYXRpb25faWQsXG4gICAgICAgIGFkZHJlc3Nlc19pZCxcbiAgICAgICAgc2hpcHBpbmdfaWQsXG4gICAgfTogU2Vzc2lvblVwZGF0ZU9wdGlvbnMpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR5cGVvZiB1c2VyX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVVc2VySWQodXNlcl9pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIGxvY2F0aW9uX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVMb2NhdGlvbklkKGxvY2F0aW9uX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgYWRkcmVzc2VzX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBZGRyZXNzZXNJZChhZGRyZXNzZXNfaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBzaGlwcGluZ19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlU2hpcHBpbmdJZChzaGlwcGluZ19pZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFN0b3JhZ2VLZXkoKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLmNvbmZpZy5zZXNzaW9uX3N0b3JhZ2Vfa2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWcuc2Vzc2lvbl9zdG9yYWdlX2tleSAhPT0gJydcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5ID0gdGhpcy5jb25maWcuc2Vzc2lvbl9zdG9yYWdlX2tleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2FjaGUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KHRoaXMuc3RvcmFnZV9rZXkpO1xuXG4gICAgICAgIGlmIChkYXRhICE9PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3NlciB8fCAhbG9jYWxTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2Vfa2V5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENhY2hlKGRhdGE6IHN0cmluZywgZXhwaXJhdGlvbl9kYXRlPzogRGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KHRoaXMuc3RvcmFnZV9rZXksIGRhdGEsIGV4cGlyYXRpb25fZGF0ZSwgJy8nKTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3NlciB8fCAhbG9jYWxTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2Vfa2V5LCBkYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUNhY2hlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKHRoaXMuc3RvcmFnZV9rZXksICcvJyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIgfHwgIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5zdG9yYWdlX2tleSk7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9pbnRlcmZhY2VzL2Vzb2x2ZS1zZXNzaW9uLWRhdGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVNlc3Npb25EYXRhIHtcbiAgICBsb2NhdGlvbl9pZDogbnVtYmVyO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9pbnRlcmZhY2VzL2Vzb2x2ZS1zZXNzaW9uLWRhdGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVNlc3Npb25EYXRhIHtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBsb2NhdGlvbl9pZDogbnVtYmVyO1xuICAgIHNoaXBwaW5nX2lkOiBudW1iZXI7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlc3Npb24vaW50ZXJmYWNlcy9lc29sdmUtc2Vzc2lvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlU2Vzc2lvbiB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlc3Npb24vaW50ZXJmYWNlcy9lc29sdmUtc2Vzc2lvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlU2Vzc2lvbiB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZDogbnVtYmVyO1xufVxuIl19
@@ -37,6 +37,8 @@ export class EsolveTransactionItem {
37
37
  this.sef_name = '';
38
38
  this.image_name = '';
39
39
  this.image_last_modified = '';
40
+ this.category_description = '';
41
+ this.subcategory_description = '';
40
42
  this.pack_description = '';
41
43
  this.pack_size = 0;
42
44
  this.qty = 0;
@@ -49,6 +51,8 @@ export class EsolveTransactionItem {
49
51
  this.sef_name = record.sef_name ?? '';
50
52
  this.image_name = record.image_name ?? '';
51
53
  this.image_last_modified = record.image_last_modified ?? '';
54
+ this.category_description = record.category_description ?? '';
55
+ this.subcategory_description = record.subcategory_description ?? '';
52
56
  this.pack_description = record.pack_description ?? '';
53
57
  this.pack_size = +(record.items_in_pack ?? 0);
54
58
  this.qty = +(record.qty ?? 0);
@@ -73,4 +77,4 @@ export class EsolveTransactionItem {
73
77
  return '';
74
78
  }
75
79
  }
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvdHJhbnNhY3Rpb25zL2NsYXNzZXMvZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFbkYsTUFBTSxPQUFPLHFCQUFxQjtJQWU5Qjs7T0FFRztJQUNILElBQVcsY0FBYztRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxtQkFBbUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsZUFBZTtRQUN0QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxhQUFhO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGtCQUFrQjtRQUN6QixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsQ0FBQztJQUVELFlBQVksTUFBNkM7UUFqRGxELE9BQUUsR0FBRyxDQUFDLENBQUM7UUFDUCxTQUFJLEdBQUcsRUFBRSxDQUFDO1FBQ1YsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLGFBQVEsR0FBRyxFQUFFLENBQUM7UUFDZCxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7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b3J0IHsgRXNvbHZlU3RvY2tJbWFnZVNpemUgfSBmcm9tICcuLi8uLi9zdG9jayc7XG5cbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvbkl0ZW1QcmljZSB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcHJpY2UubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlVHJhbnNhY3Rpb25JdGVtIHtcbiAgICBwdWJsaWMgaWQgPSAwO1xuICAgIHB1YmxpYyBjb2RlID0gJyc7XG4gICAgcHVibGljIG5hbWUgPSAnJztcbiAgICBwdWJsaWMgc2VmX25hbWUgPSAnJztcbiAgICBwdWJsaWMgaW1hZ2VfbmFtZSA9ICcnO1xuICAgIHB1YmxpYyBpbWFnZV9sYXN0X21vZGlmaWVkID0gJyc7XG4gICAgcHVibGljIHBhY2tfZGVzY3JpcHRpb24gPSAnJztcbiAgICBwdWJsaWMgcGFja19zaXplID0gMDtcbiAgICBwdWJsaWMgcXR5ID0gMDtcbiAgICBwdWJsaWMgZGlzY291bnQgPSAwO1xuICAgIHB1YmxpYyB2YXRfcmF0ZSA9IDA7XG4gICAgcHVibGljIHByaWNlOiBFc29sdmVUcmFuc2FjdGlvbkl0ZW1QcmljZTtcbiAgICBwdWJsaWMgbGluZV90b3RhbDogRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIHRpbnkgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHRpbnlfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgndGlueScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gdGh1bWJuYWlsIHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCB0aHVtYm5haWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgndGh1bWInKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIHNtYWxsIHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCBzbWFsbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdzbWFsbCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gYmlnIHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCBiaWdfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnYmlnJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBvcmlnaW5hbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgb3JpZ2luYWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnb3JpZ2luYWwnKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5pZCA9IHJlY29yZC5pZCA/PyAwO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcmVjb3JkLmNvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQubmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VmX25hbWUgPSByZWNvcmQuc2VmX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmltYWdlX25hbWUgPSByZWNvcmQuaW1hZ2VfbmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbGFzdF9tb2RpZmllZCA9IHJlY29yZC5pbWFnZV9sYXN0X21vZGlmaWVkID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5wYWNrX2Rlc2NyaXB0aW9uID0gcmVjb3JkLnBhY2tfZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnBhY2tfc2l6ZSA9ICsocmVjb3JkLml0ZW1zX2luX3BhY2sgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnF0eSA9ICsocmVjb3JkLnF0eSA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuZGlzY291bnQgPSArKHJlY29yZC5kaXNjb3VudCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMudmF0X3JhdGUgPSArKHJlY29yZC52YXRfcmF0ZSA/PyAwKTtcblxuICAgICAgICAgICAgdGhpcy5wcmljZSA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbkl0ZW1QcmljZShcbiAgICAgICAgICAgICAgICArKHJlY29yZC5wcmljZV9leGNsdXNpdmUgPz8gMCksXG4gICAgICAgICAgICAgICAgKyhyZWNvcmQucHJpY2VfaW5jbHVzaXZlID8/IDApLFxuICAgICAgICAgICAgICAgICsocmVjb3JkLnByaWNlX2V4Y2x1c2l2ZV9hZnRlcl9kaXNjb3VudCA/PyAwKSxcbiAgICAgICAgICAgICAgICArKHJlY29yZC5wcmljZV9pbmNsdXNpdmVfYWZ0ZXJfZGlzY291bnQgPz8gMCksXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICAgICB0aGlzLmxpbmVfdG90YWwgPSBuZXcgRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2UoXG4gICAgICAgICAgICAgICAgKyhyZWNvcmQubGluZV90b3RhbF9leGNsdXNpdmUgPz8gMCksXG4gICAgICAgICAgICAgICAgKyhyZWNvcmQubGluZV90b3RhbF9pbmNsdXNpdmUgPz8gMCksXG4gICAgICAgICAgICAgICAgKyhyZWNvcmQubGluZV90b3RhbF9leGNsdXNpdmVfYWZ0ZXJfZGlzY291bnQgPz8gMCksXG4gICAgICAgICAgICAgICAgKyhyZWNvcmQubGluZV90b3RhbF9pbmNsdXNpdmVfYWZ0ZXJfZGlzY291bnQgPz8gMCksXG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5wcmljZSA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbkl0ZW1QcmljZSgwLCAwLCAwLCAwKTtcbiAgICAgICAgICAgIHRoaXMubGluZV90b3RhbCA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbkl0ZW1QcmljZSgwLCAwLCAwLCAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBnZXRJbWFnZVBhdGgoaW1hZ2Vfc2l6ZTogRXNvbHZlU3RvY2tJbWFnZVNpemUpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy5pbWFnZV9uYW1lICE9PSAnJykge1xuICAgICAgICAgICAgbGV0IHBhcmFtID0gJyc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmltYWdlX2xhc3RfbW9kaWZpZWQgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgcGFyYW0gPSBgP3Q9JHt0aGlzLmltYWdlX2xhc3RfbW9kaWZpZWR9YDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGAvaW1hZ2VzL3N0b2NrLyR7aW1hZ2Vfc2l6ZX0vJHt0aGlzLmltYWdlX25hbWV9JHtwYXJhbX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuICcnO1xuICAgIH1cbn1cbiJdfQ==
80
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0ubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvdHJhbnNhY3Rpb25zL2NsYXNzZXMvZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBSUEsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFbkYsTUFBTSxPQUFPLHFCQUFxQjtJQWlCOUI7O09BRUc7SUFDSCxJQUFXLGNBQWM7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsbUJBQW1CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUFXLGVBQWU7UUFDdEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRDs7T0FFRztJQUNILElBQVcsYUFBYTtRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBVyxrQkFBa0I7UUFDekIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxZQUFZLE1BQTZDO1FBbkRsRCxPQUFFLEdBQUcsQ0FBQyxDQUFDO1FBQ1AsU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUNWLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQix3QkFBbUIsR0FBRyxFQUFFLENBQUM7UUFDekIseUJBQW9CLEdBQUcsRUFBRSxDQUFD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akMsS0FBSyxHQUFHLE1BQU0sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDNUM7WUFFRCxPQUFPLGlCQUFpQixVQUFVLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLEVBQUUsQ0FBQztTQUNuRTtRQUVELE9BQU8sRUFBRSxDQUFDO0lBQ2QsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlU3RvY2tJbWFnZVNpemUgfSBmcm9tICcuLi8uLi9zdG9jayc7XG5cbmltcG9ydCB7IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBFc29sdmVUcmFuc2FjdGlvbkl0ZW1QcmljZSB9IGZyb20gJy4vZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcHJpY2UubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlVHJhbnNhY3Rpb25JdGVtIHtcbiAgICBwdWJsaWMgaWQgPSAwO1xuICAgIHB1YmxpYyBjb2RlID0gJyc7XG4gICAgcHVibGljIG5hbWUgPSAnJztcbiAgICBwdWJsaWMgc2VmX25hbWUgPSAnJztcbiAgICBwdWJsaWMgaW1hZ2VfbmFtZSA9ICcnO1xuICAgIHB1YmxpYyBpbWFnZV9sYXN0X21vZGlmaWVkID0gJyc7XG4gICAgcHVibGljIGNhdGVnb3J5X2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgcHVibGljIHN1YmNhdGVnb3J5X2Rlc2NyaXB0aW9uID0gJyc7XG4gICAgcHVibGljIHBhY2tfZGVzY3JpcHRpb24gPSAnJztcbiAgICBwdWJsaWMgcGFja19zaXplID0gMDtcbiAgICBwdWJsaWMgcXR5ID0gMDtcbiAgICBwdWJsaWMgZGlzY291bnQgPSAwO1xuICAgIHB1YmxpYyB2YXRfcmF0ZSA9IDA7XG4gICAgcHVibGljIHByaWNlOiBFc29sdmVUcmFuc2FjdGlvbkl0ZW1QcmljZTtcbiAgICBwdWJsaWMgbGluZV90b3RhbDogRXNvbHZlVHJhbnNhY3Rpb25JdGVtUHJpY2U7XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIHRpbnkgc3RvY2sgaW1hZ2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0IHRpbnlfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgndGlueScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gdGh1bWJuYWlsIHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCB0aHVtYm5haWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgndGh1bWInKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQYXRoIHRvIHNtYWxsIHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCBzbWFsbF9pbWFnZV9zcmMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW1hZ2VQYXRoKCdzbWFsbCcpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFBhdGggdG8gYmlnIHN0b2NrIGltYWdlXG4gICAgICovXG4gICAgcHVibGljIGdldCBiaWdfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnYmlnJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUGF0aCB0byBvcmlnaW5hbCBzdG9jayBpbWFnZVxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgb3JpZ2luYWxfaW1hZ2Vfc3JjKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEltYWdlUGF0aCgnb3JpZ2luYWwnKTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcihyZWNvcmQ/OiBQYXJ0aWFsPEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5pZCA9IHJlY29yZC5pZCA/PyAwO1xuICAgICAgICAgICAgdGhpcy5jb2RlID0gcmVjb3JkLmNvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm5hbWUgPSByZWNvcmQubmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc2VmX25hbWUgPSByZWNvcmQuc2VmX25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmltYWdlX25hbWUgPSByZWNvcmQuaW1hZ2VfbmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuaW1hZ2VfbGFzdF9tb2RpZmllZCA9IHJlY29yZC5pbWFnZV9sYXN0X21vZGlmaWVkID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jYXRlZ29yeV9kZXNjcmlwdGlvbiA9IHJlY29yZC5jYXRlZ29yeV9kZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuc3ViY2F0ZWdvcnlfZGVzY3JpcHRpb24gPSByZWNvcmQuc3ViY2F0ZWdvcnlfZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnBhY2tfZGVzY3JpcHRpb24gPSByZWNvcmQucGFja19kZXNjcmlwdGlvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucGFja19zaXplID0gKyhyZWNvcmQuaXRlbXNfaW5fcGFjayA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMucXR5ID0gKyhyZWNvcmQucXR5ID8/IDApO1xuICAgICAgICAgICAgdGhpcy5kaXNjb3VudCA9ICsocmVjb3JkLmRpc2NvdW50ID8/IDApO1xuICAgICAgICAgICAgdGhpcy52YXRfcmF0ZSA9ICsocmVjb3JkLnZhdF9yYXRlID8/IDApO1xuXG4gICAgICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVByaWNlKFxuICAgICAgICAgICAgICAgICsocmVjb3JkLnByaWNlX2V4Y2x1c2l2ZSA/PyAwKSxcbiAgICAgICAgICAgICAgICArKHJlY29yZC5wcmljZV9pbmNsdXNpdmUgPz8gMCksXG4gICAgICAgICAgICAgICAgKyhyZWNvcmQucHJpY2VfZXhjbHVzaXZlX2FmdGVyX2Rpc2NvdW50ID8/IDApLFxuICAgICAgICAgICAgICAgICsocmVjb3JkLnByaWNlX2luY2x1c2l2ZV9hZnRlcl9kaXNjb3VudCA/PyAwKSxcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIHRoaXMubGluZV90b3RhbCA9IG5ldyBFc29sdmVUcmFuc2FjdGlvbkl0ZW1QcmljZShcbiAgICAgICAgICAgICAgICArKHJlY29yZC5saW5lX3RvdGFsX2V4Y2x1c2l2ZSA/PyAwKSxcbiAgICAgICAgICAgICAgICArKHJlY29yZC5saW5lX3RvdGFsX2luY2x1c2l2ZSA/PyAwKSxcbiAgICAgICAgICAgICAgICArKHJlY29yZC5saW5lX3RvdGFsX2V4Y2x1c2l2ZV9hZnRlcl9kaXNjb3VudCA/PyAwKSxcbiAgICAgICAgICAgICAgICArKHJlY29yZC5saW5lX3RvdGFsX2luY2x1c2l2ZV9hZnRlcl9kaXNjb3VudCA/PyAwKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnByaWNlID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVByaWNlKDAsIDAsIDAsIDApO1xuICAgICAgICAgICAgdGhpcy5saW5lX3RvdGFsID0gbmV3IEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVByaWNlKDAsIDAsIDAsIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldEltYWdlUGF0aChpbWFnZV9zaXplOiBFc29sdmVTdG9ja0ltYWdlU2l6ZSk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmltYWdlX25hbWUgIT09ICcnKSB7XG4gICAgICAgICAgICBsZXQgcGFyYW0gPSAnJztcblxuICAgICAgICAgICAgaWYgKHRoaXMuaW1hZ2VfbGFzdF9tb2RpZmllZCAhPT0gJycpIHtcbiAgICAgICAgICAgICAgICBwYXJhbSA9IGA/dD0ke3RoaXMuaW1hZ2VfbGFzdF9tb2RpZmllZH1gO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gYC9pbWFnZXMvc3RvY2svJHtpbWFnZV9zaXplfS8ke3RoaXMuaW1hZ2VfbmFtZX0ke3BhcmFtfWA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi90cmFuc2FjdGlvbnMvaW50ZXJmYWNlcy9lc29sdmUtdHJhbnNhY3Rpb24taXRlbS1yZWNvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHNlZl9uYW1lOiBzdHJpbmc7XG4gICAgaW1hZ2VfbmFtZTogc3RyaW5nO1xuICAgIGltYWdlX2xhc3RfbW9kaWZpZWQ6IHN0cmluZztcbiAgICBwYWNrX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgaXRlbXNfaW5fcGFjazogbnVtYmVyO1xuICAgIHF0eTogbnVtYmVyO1xuICAgIGRpc2NvdW50OiBudW1iZXI7XG4gICAgdmF0X3JhdGU6IG51bWJlcjtcbiAgICBwcmljZTogbnVtYmVyO1xuICAgIHByaWNlX2V4Y2x1c2l2ZTogbnVtYmVyO1xuICAgIHByaWNlX2V4Y2x1c2l2ZV9hZnRlcl9kaXNjb3VudDogbnVtYmVyO1xuICAgIHByaWNlX2luY2x1c2l2ZTogbnVtYmVyO1xuICAgIHByaWNlX2luY2x1c2l2ZV9hZnRlcl9kaXNjb3VudDogbnVtYmVyO1xuICAgIGxpbmVfdG90YWxfZXhjbHVzaXZlOiBudW1iZXI7XG4gICAgbGluZV90b3RhbF9leGNsdXNpdmVfYWZ0ZXJfZGlzY291bnQ6IG51bWJlcjtcbiAgICBsaW5lX3RvdGFsX2luY2x1c2l2ZTogbnVtYmVyO1xuICAgIGxpbmVfdG90YWxfaW5jbHVzaXZlX2FmdGVyX2Rpc2NvdW50OiBudW1iZXI7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXRyYW5zYWN0aW9uLWl0ZW0tcmVjb3JkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi90cmFuc2FjdGlvbnMvaW50ZXJmYWNlcy9lc29sdmUtdHJhbnNhY3Rpb24taXRlbS1yZWNvcmQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVRyYW5zYWN0aW9uSXRlbVJlY29yZCB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBjb2RlOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHNlZl9uYW1lOiBzdHJpbmc7XG4gICAgaW1hZ2VfbmFtZTogc3RyaW5nO1xuICAgIGltYWdlX2xhc3RfbW9kaWZpZWQ6IHN0cmluZztcbiAgICBjYXRlZ29yeV9kZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIHN1YmNhdGVnb3J5X2Rlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgcGFja19kZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGl0ZW1zX2luX3BhY2s6IG51bWJlcjtcbiAgICBxdHk6IG51bWJlcjtcbiAgICBkaXNjb3VudDogbnVtYmVyO1xuICAgIHZhdF9yYXRlOiBudW1iZXI7XG4gICAgcHJpY2U6IG51bWJlcjtcbiAgICBwcmljZV9leGNsdXNpdmU6IG51bWJlcjtcbiAgICBwcmljZV9leGNsdXNpdmVfYWZ0ZXJfZGlzY291bnQ6IG51bWJlcjtcbiAgICBwcmljZV9pbmNsdXNpdmU6IG51bWJlcjtcbiAgICBwcmljZV9pbmNsdXNpdmVfYWZ0ZXJfZGlzY291bnQ6IG51bWJlcjtcbiAgICBsaW5lX3RvdGFsX2V4Y2x1c2l2ZTogbnVtYmVyO1xuICAgIGxpbmVfdG90YWxfZXhjbHVzaXZlX2FmdGVyX2Rpc2NvdW50OiBudW1iZXI7XG4gICAgbGluZV90b3RhbF9pbmNsdXNpdmU6IG51bWJlcjtcbiAgICBsaW5lX3RvdGFsX2luY2x1c2l2ZV9hZnRlcl9kaXNjb3VudDogbnVtYmVyO1xufVxuIl19