@esolve/ng-esolve-connect 0.99.0 → 0.100.1

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 (34) hide show
  1. package/esm2022/lib/account/address/classes/esolve-session-address-update-result.model.mjs +11 -0
  2. package/esm2022/lib/account/address/classes/index.mjs +2 -2
  3. package/esm2022/lib/account/confirmation/esolve-account-confirmation-post-response-item.interface.mjs +1 -1
  4. package/esm2022/lib/account/esolve-account.service.mjs +55 -6
  5. package/esm2022/lib/account/esolve-session-client-update-result.model.mjs +11 -0
  6. package/esm2022/lib/account/esolve-session-shipping-update-result.model.mjs +11 -0
  7. package/esm2022/lib/account/index.mjs +3 -2
  8. package/esm2022/lib/account/user-account/classes/esolve-user-client-account.model.mjs +49 -5
  9. package/esm2022/lib/auth/esolve-auth.service.mjs +4 -1
  10. package/esm2022/lib/auth/interfaces/esolve-auth-data.interface.mjs +1 -1
  11. package/esm2022/lib/session/esolve-session.service.mjs +40 -25
  12. package/esm2022/lib/session/interfaces/esolve-session-data.interface.mjs +1 -1
  13. package/esm2022/lib/session/interfaces/esolve-session-update-options.interface.mjs +2 -0
  14. package/esm2022/lib/session/interfaces/esolve-session.interface.mjs +1 -1
  15. package/esm2022/lib/session/interfaces/index.mjs +2 -1
  16. package/fesm2022/esolve-ng-esolve-connect.mjs +176 -53
  17. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  18. package/lib/account/address/classes/index.d.ts +1 -1
  19. package/lib/account/confirmation/esolve-account-confirmation-post-response-item.interface.d.ts +1 -0
  20. package/lib/account/esolve-account.service.d.ts +6 -3
  21. package/lib/account/esolve-session-client-update-result.model.d.ts +5 -0
  22. package/lib/account/index.d.ts +2 -1
  23. package/lib/account/user-account/classes/esolve-user-client-account.model.d.ts +42 -38
  24. package/lib/auth/interfaces/esolve-auth-data.interface.d.ts +1 -0
  25. package/lib/session/esolve-session.service.d.ts +9 -13
  26. package/lib/session/interfaces/esolve-session-data.interface.d.ts +1 -0
  27. package/lib/session/interfaces/esolve-session-update-options.interface.d.ts +8 -0
  28. package/lib/session/interfaces/esolve-session.interface.d.ts +1 -0
  29. package/lib/session/interfaces/index.d.ts +1 -0
  30. package/package.json +1 -1
  31. package/esm2022/lib/account/address/classes/esolve-session-address-result.model.mjs +0 -11
  32. package/esm2022/lib/account/esolve-session-shipping-result.model.mjs +0 -11
  33. /package/lib/account/address/classes/{esolve-session-address-result.model.d.ts → esolve-session-address-update-result.model.d.ts} +0 -0
  34. /package/lib/account/{esolve-session-shipping-result.model.d.ts → esolve-session-shipping-update-result.model.d.ts} +0 -0
@@ -1,8 +1,52 @@
1
1
  import { EsolveStatement } from './esolve-statement.model';
2
2
  export class EsolveUserClientAccount {
3
+ /**
4
+ * @deprecated Use field id` instead
5
+ */
6
+ get esolve_id() {
7
+ return this.id;
8
+ }
3
9
  constructor(record) {
10
+ this.id = 0;
11
+ this.account = '';
12
+ this.branch_code = '';
13
+ this.account_group = '';
14
+ this.pricing_group = '';
15
+ this.company_name = '';
16
+ this.client_contact_person = '';
17
+ this.client_firstname = '';
18
+ this.client_surname = '';
19
+ this.client_email = '';
20
+ this.client_contact_number = '';
21
+ this.client_fax_number = '';
22
+ this.client_cellphone_number = '';
23
+ this.client_id_number = '';
24
+ this.address_description = '';
25
+ this.street = '';
26
+ this.suburb = '';
27
+ this.city = '';
28
+ this.province = '';
29
+ this.country = '';
30
+ this.postal_code = '';
31
+ this.postal_address = '';
32
+ this.delivery_address = '';
33
+ this.latitude = 0;
34
+ this.longitude = 0;
35
+ this.vat_number = '';
36
+ this.ageing = '';
37
+ this.balance_last_updated = '';
38
+ this.client_classification = '';
39
+ this.override_stock_listing_identifiers = '';
40
+ this.requires_transaction_approval = '';
41
+ this.price_list = 0;
42
+ this.loyalty_classification_id = 0;
43
+ this.credit_limit = 0;
44
+ this.pending_invoice_balance = 0;
45
+ this.external_account_balance = 0;
46
+ this.default_sellprice = 0;
47
+ this.is_active = false;
4
48
  if (record) {
5
- this.esolve_id = +(record.id ?? 0);
49
+ this.id = +(record.id ?? 0);
6
50
  this.account = record.account ?? '';
7
51
  this.branch_code = record.branch_code ?? '';
8
52
  this.account_group = record.account_group ?? '';
@@ -18,13 +62,15 @@ export class EsolveUserClientAccount {
18
62
  this.client_id_number = record.client_id_number ?? '';
19
63
  this.address_description = record.address_description ?? '';
20
64
  this.street = record.street ?? '';
21
- this.suburb = record.suburb;
65
+ this.suburb = record.suburb ?? '';
22
66
  this.city = record.city ?? '';
23
67
  this.province = record.province ?? '';
24
68
  this.country = record.country ?? '';
25
69
  this.postal_code = record.postal_code ?? '';
26
70
  this.postal_address = record.postal_address ?? '';
27
71
  this.delivery_address = record.delivery_address ?? '';
72
+ this.latitude = +(record.latitude ?? 0);
73
+ this.longitude = +(record.longitude ?? 0);
28
74
  this.vat_number = record.vat_number ?? '';
29
75
  this.ageing = record.ageing ?? '';
30
76
  this.balance_last_updated = record.balance_last_updated ?? '';
@@ -33,8 +79,6 @@ export class EsolveUserClientAccount {
33
79
  record.override_stock_listing_identifiers ?? '';
34
80
  this.requires_transaction_approval =
35
81
  record.requires_transaction_approval ?? '';
36
- this.latitude = +(record.latitude ?? 0);
37
- this.longitude = +(record.longitude ?? 0);
38
82
  this.price_list = +(record.price_list ?? 0);
39
83
  this.loyalty_classification_id = +(record.loyalty_classification_id ?? 0);
40
84
  this.credit_limit = +(record.credit_limit ?? 0);
@@ -46,4 +90,4 @@ export class EsolveUserClientAccount {
46
90
  }
47
91
  }
48
92
  }
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItY2xpZW50LWFjY291bnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC91c2VyLWFjY291bnQvY2xhc3Nlcy9lc29sdmUtdXNlci1jbGllbnQtYWNjb3VudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsTUFBTSxPQUFPLHVCQUF1QjtJQXlDaEMsWUFBWSxNQUErQztRQUN2RCxJQUFJLE1BQU0sRUFBRSxDQUFDO1lBQ1QsSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLFdBQVcsSUFBSSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQztZQUNoRCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDO1lBQ2hELElBQUksQ0FBQyxZQUFZLEdBQUcsTUFBTSxDQUFDLFlBQVksSUFBSSxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxxQkFBcUIsSUFBSSxFQUFFLENBQUM7WUFDaEUsSUFBSSxDQUFDLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsSUFBSSxFQUFFLENBQUM7WUFDdEQsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsY0FBYyxJQUFJLEVBQUUsQ0FBQztZQUNsRCxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FB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QUFDLGtCQUFrQixHQUFHLElBQUksZUFBZSxDQUN6QyxNQUFNLENBQUMsa0JBQWtCLENBQzVCLENBQUM7UUFDTixDQUFDO0lBQ0wsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXNvbHZlVXNlckNsaWVudEFjY291bnRSZWNvcmQgfSBmcm9tICcuLi9pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgRXNvbHZlU3RhdGVtZW50IH0gZnJvbSAnLi9lc29sdmUtc3RhdGVtZW50Lm1vZGVsJztcblxuZXhwb3J0IGNsYXNzIEVzb2x2ZVVzZXJDbGllbnRBY2NvdW50IHtcbiAgICBwdWJsaWMgZXNvbHZlX2lkPzogbnVtYmVyO1xuICAgIHB1YmxpYyBhY2NvdW50Pzogc3RyaW5nO1xuICAgIHB1YmxpYyBicmFuY2hfY29kZT86IHN0cmluZztcbiAgICBwdWJsaWMgYWNjb3VudF9ncm91cD86IHN0cmluZztcbiAgICBwdWJsaWMgcHJpY2luZ19ncm91cD86IHN0cmluZztcbiAgICBwdWJsaWMgY29tcGFueV9uYW1lPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGllbnRfY29udGFjdF9wZXJzb24/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9maXJzdG5hbWU/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9zdXJuYW1lPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGllbnRfZW1haWw/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9jb250YWN0X251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgY2xpZW50X2ZheF9udW1iZXI/OiBzdHJpbmc7XG4gICAgcHVibGljIGNsaWVudF9jZWxscGhvbmVfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBjbGllbnRfaWRfbnVtYmVyPzogc3RyaW5nO1xuICAgIHB1YmxpYyBhZGRyZXNzX2Rlc2NyaXB0aW9uPzogc3RyaW5nO1xuICAgIHB1YmxpYyBzdHJlZXQ/OiBzdHJpbmc7XG4gICAgcHVibGljIHN1YnVyYj86IHN0cmluZztcbiAgICBwdWJsaWMgY2l0eT86IHN0cmluZztcbiAgICBwdWJsaWMgcHJvdmluY2U/OiBzdHJpbmc7XG4gICAgcHVibGljIGNvdW50cnk/OiBzdHJpbmc7XG4gICAgcHVibGljIHBvc3RhbF9jb2RlPzogc3RyaW5nO1xuICAgIHB1YmxpYyBwb3N0YWxfYWRkcmVzcz86IHN0cmluZztcbiAgICBwdWJsaWMgZGVsaXZlcnlfYWRkcmVzcz86IHN0cmluZztcbiAgICBwdWJsaWMgdmF0X251bWJlcj86IHN0cmluZztcbiAgICBwdWJsaWMgYWdlaW5nPzogc3RyaW5nO1xuICAgIHB1YmxpYyBiYWxhbmNlX2xhc3RfdXBkYXRlZD86IHN0cmluZztcbiAgICBwdWJsaWMgY2xpZW50X2NsYXNzaWZpY2F0aW9uPzogc3RyaW5nO1xuICAgIHB1YmxpYyBvdmVycmlkZV9zdG9ja19saXN0aW5nX2lkZW50aWZpZXJzPzogc3RyaW5nO1xuICAgIHB1YmxpYyByZXF1aXJlc190cmFuc2FjdGlvbl9hcHByb3ZhbD86IHN0cmluZztcbiAgICBwdWJsaWMgbGF0aXR1ZGU/OiBudW1iZXI7XG4gICAgcHVibGljIGxvbmdpdHVkZT86IG51bWJlcjtcbiAgICBwdWJsaWMgcHJpY2VfbGlzdD86IG51bWJlcjtcbiAgICBwdWJsaWMgbG95YWx0eV9jbGFzc2lmaWNhdGlvbl9pZD86IG51bWJlcjtcbiAgICBwdWJsaWMgY3JlZGl0X2xpbWl0PzogbnVtYmVyO1xuICAgIHB1YmxpYyBwZW5kaW5nX2ludm9pY2VfYmFsYW5jZT86IG51bWJlcjtcbiAgICBwdWJsaWMgZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlPzogbnVtYmVyO1xuICAgIHB1YmxpYyBkZWZhdWx0X3NlbGxwcmljZT86IG51bWJlcjtcbiAgICBwdWJsaWMgaXNfYWN0aXZlPzogYm9vbGVhbjtcbiAgICBwdWJsaWMgZXh0ZXJuYWxfc3RhdGVtZW50PzogRXNvbHZlU3RhdGVtZW50O1xuXG4gICAgY29uc3RydWN0b3IocmVjb3JkPzogUGFydGlhbDxFc29sdmVVc2VyQ2xpZW50QWNjb3VudFJlY29yZD4pIHtcbiAgICAgICAgaWYgKHJlY29yZCkge1xuICAgICAgICAgICAgdGhpcy5lc29sdmVfaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudCA9IHJlY29yZC5hY2NvdW50ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5icmFuY2hfY29kZSA9IHJlY29yZC5icmFuY2hfY29kZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudF9ncm91cCA9IHJlY29yZC5hY2NvdW50X2dyb3VwID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5wcmljaW5nX2dyb3VwID0gcmVjb3JkLnByaWNpbmdfZ3JvdXAgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNvbXBhbnlfbmFtZSA9IHJlY29yZC5jb21wYW55X25hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9jb250YWN0X3BlcnNvbiA9IHJlY29yZC5jbGllbnRfY29udGFjdF9wZXJzb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9maXJzdG5hbWUgPSByZWNvcmQuY2xpZW50X2ZpcnN0bmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X3N1cm5hbWUgPSByZWNvcmQuY2xpZW50X3N1cm5hbWUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9lbWFpbCA9IHJlY29yZC5jbGllbnRfZW1haWwgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9jb250YWN0X251bWJlciA9IHJlY29yZC5jbGllbnRfY29udGFjdF9udW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9mYXhfbnVtYmVyID0gcmVjb3JkLmNsaWVudF9mYXhfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jbGllbnRfY2VsbHBob25lX251bWJlciA9IHJlY29yZC5jbGllbnRfY2VsbHBob25lX251bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2lkX251bWJlciA9IHJlY29yZC5jbGllbnRfaWRfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hZGRyZXNzX2Rlc2NyaXB0aW9uID0gcmVjb3JkLmFkZHJlc3NfZGVzY3JpcHRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnN0cmVldCA9IHJlY29yZC5zdHJlZXQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnN1YnVyYiA9IHJlY29yZC5zdWJ1cmI7XG4gICAgICAgICAgICB0aGlzLmNpdHkgPSByZWNvcmQuY2l0eSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucHJvdmluY2UgPSByZWNvcmQucHJvdmluY2UgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNvdW50cnkgPSByZWNvcmQuY291bnRyeSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMucG9zdGFsX2NvZGUgPSByZWNvcmQucG9zdGFsX2NvZGUgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnBvc3RhbF9hZGRyZXNzID0gcmVjb3JkLnBvc3RhbF9hZGRyZXNzID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5kZWxpdmVyeV9hZGRyZXNzID0gcmVjb3JkLmRlbGl2ZXJ5X2FkZHJlc3MgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnZhdF9udW1iZXIgPSByZWNvcmQudmF0X251bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYWdlaW5nID0gcmVjb3JkLmFnZWluZyA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYmFsYW5jZV9sYXN0X3VwZGF0ZWQgPSByZWNvcmQuYmFsYW5jZV9sYXN0X3VwZGF0ZWQgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9jbGFzc2lmaWNhdGlvbiA9IHJlY29yZC5jbGllbnRfY2xhc3NpZmljYXRpb24gPz8gJyc7XG4gICAgICAgICAgICB0aGlzLm92ZXJyaWRlX3N0b2NrX2xpc3RpbmdfaWRlbnRpZmllcnMgPVxuICAgICAgICAgICAgICAgIHJlY29yZC5vdmVycmlkZV9zdG9ja19saXN0aW5nX2lkZW50aWZpZXJzID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5yZXF1aXJlc190cmFuc2FjdGlvbl9hcHByb3ZhbCA9XG4gICAgICAgICAgICAgICAgcmVjb3JkLnJlcXVpcmVzX3RyYW5zYWN0aW9uX2FwcHJvdmFsID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5sYXRpdHVkZSA9ICsocmVjb3JkLmxhdGl0dWRlID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sb25naXR1ZGUgPSArKHJlY29yZC5sb25naXR1ZGUgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnByaWNlX2xpc3QgPSArKHJlY29yZC5wcmljZV9saXN0ID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sb3lhbHR5X2NsYXNzaWZpY2F0aW9uX2lkID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQubG95YWx0eV9jbGFzc2lmaWNhdGlvbl9pZCA/PyAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5jcmVkaXRfbGltaXQgPSArKHJlY29yZC5jcmVkaXRfbGltaXQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdfaW52b2ljZV9iYWxhbmNlID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQucGVuZGluZ19pbnZvaWNlX2JhbGFuY2UgPz8gMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQuZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlID8/IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfc2VsbHByaWNlID0gKyhyZWNvcmQuZGVmYXVsdF9zZWxscHJpY2UgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmlzX2FjdGl2ZSA9ICEhKyhyZWNvcmQuaXNfYWN0aXZlID8/IGZhbHNlKTtcblxuICAgICAgICAgICAgdGhpcy5leHRlcm5hbF9zdGF0ZW1lbnQgPSBuZXcgRXNvbHZlU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgIHJlY29yZC5leHRlcm5hbF9zdGF0ZW1lbnQsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
93
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXVzZXItY2xpZW50LWFjY291bnQubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYWNjb3VudC91c2VyLWFjY291bnQvY2xhc3Nlcy9lc29sdmUtdXNlci1jbGllbnQtYWNjb3VudC5tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFM0QsTUFBTSxPQUFPLHVCQUF1QjtJQUVoQzs7T0FFRztJQUNILElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQTRDRCxZQUFZLE1BQStDO1FBbERwRCxPQUFFLEdBQUcsQ0FBQyxDQUFDO1FBUVAsWUFBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGtCQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ25CLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLDBCQUFxQixHQUFHLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBRyxFQUFFLENBQUM7UUFDdEIsbUJBQWMsR0FBRyxFQUFFLENBQUM7UUFDcEIsaUJBQVksR0FBRyxFQUFFLENBQUM7UUFDbEIsMEJBQXFCLEdBQUcsRUFBRSxDQUFDO1FBQzNCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUN2Qiw0QkFBdUIsR0FBRyxFQUFFLENBQUM7UUFDN0IscUJBQWdCLEdBQUcsRUFBRSxDQUFDO1FBRXRCLHdCQUFtQixHQUFHLEVBQUUsQ0FBQztRQUN6QixXQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ1osV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLFNBQUksR0FBRyxFQUFFLENBQUM7UUFDVixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsWUFB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Qyx3QkFBd0IsSUFBSSxDQUFDLENBQ3ZDLENBQUM7WUFDRixJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUMxRCxJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsSUFBSSxLQUFLLENBQUMsQ0FBQztZQUVoRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxlQUFlLENBQ3pDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FDNUIsQ0FBQztRQUNOLENBQUM7SUFDTCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFc29sdmVVc2VyQ2xpZW50QWNjb3VudFJlY29yZCB9IGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgeyBFc29sdmVTdGF0ZW1lbnQgfSBmcm9tICcuL2Vzb2x2ZS1zdGF0ZW1lbnQubW9kZWwnO1xuXG5leHBvcnQgY2xhc3MgRXNvbHZlVXNlckNsaWVudEFjY291bnQge1xuICAgIHB1YmxpYyBpZCA9IDA7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVXNlIGZpZWxkIGlkYCBpbnN0ZWFkXG4gICAgICovXG4gICAgcHVibGljIGdldCBlc29sdmVfaWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQ7XG4gICAgfVxuXG4gICAgcHVibGljIGFjY291bnQgPSAnJztcbiAgICBwdWJsaWMgYnJhbmNoX2NvZGUgPSAnJztcbiAgICBwdWJsaWMgYWNjb3VudF9ncm91cCA9ICcnO1xuICAgIHB1YmxpYyBwcmljaW5nX2dyb3VwID0gJyc7XG4gICAgcHVibGljIGNvbXBhbnlfbmFtZSA9ICcnO1xuXG4gICAgcHVibGljIGNsaWVudF9jb250YWN0X3BlcnNvbiA9ICcnO1xuICAgIHB1YmxpYyBjbGllbnRfZmlyc3RuYW1lID0gJyc7XG4gICAgcHVibGljIGNsaWVudF9zdXJuYW1lID0gJyc7XG4gICAgcHVibGljIGNsaWVudF9lbWFpbCA9ICcnO1xuICAgIHB1YmxpYyBjbGllbnRfY29udGFjdF9udW1iZXIgPSAnJztcbiAgICBwdWJsaWMgY2xpZW50X2ZheF9udW1iZXIgPSAnJztcbiAgICBwdWJsaWMgY2xpZW50X2NlbGxwaG9uZV9udW1iZXIgPSAnJztcbiAgICBwdWJsaWMgY2xpZW50X2lkX251bWJlciA9ICcnO1xuXG4gICAgcHVibGljIGFkZHJlc3NfZGVzY3JpcHRpb24gPSAnJztcbiAgICBwdWJsaWMgc3RyZWV0ID0gJyc7XG4gICAgcHVibGljIHN1YnVyYiA9ICcnO1xuICAgIHB1YmxpYyBjaXR5ID0gJyc7XG4gICAgcHVibGljIHByb3ZpbmNlID0gJyc7XG4gICAgcHVibGljIGNvdW50cnkgPSAnJztcbiAgICBwdWJsaWMgcG9zdGFsX2NvZGUgPSAnJztcbiAgICBwdWJsaWMgcG9zdGFsX2FkZHJlc3MgPSAnJztcbiAgICBwdWJsaWMgZGVsaXZlcnlfYWRkcmVzcyA9ICcnO1xuICAgIHB1YmxpYyBsYXRpdHVkZSA9IDA7XG4gICAgcHVibGljIGxvbmdpdHVkZSA9IDA7XG5cbiAgICBwdWJsaWMgdmF0X251bWJlciA9ICcnO1xuICAgIHB1YmxpYyBhZ2VpbmcgPSAnJztcbiAgICBwdWJsaWMgYmFsYW5jZV9sYXN0X3VwZGF0ZWQgPSAnJztcbiAgICBwdWJsaWMgY2xpZW50X2NsYXNzaWZpY2F0aW9uID0gJyc7XG4gICAgcHVibGljIG92ZXJyaWRlX3N0b2NrX2xpc3RpbmdfaWRlbnRpZmllcnMgPSAnJztcbiAgICBwdWJsaWMgcmVxdWlyZXNfdHJhbnNhY3Rpb25fYXBwcm92YWwgPSAnJztcbiAgICBwdWJsaWMgcHJpY2VfbGlzdCA9IDA7XG4gICAgcHVibGljIGxveWFsdHlfY2xhc3NpZmljYXRpb25faWQgPSAwO1xuICAgIHB1YmxpYyBjcmVkaXRfbGltaXQgPSAwO1xuICAgIHB1YmxpYyBwZW5kaW5nX2ludm9pY2VfYmFsYW5jZSA9IDA7XG4gICAgcHVibGljIGV4dGVybmFsX2FjY291bnRfYmFsYW5jZSA9IDA7XG4gICAgcHVibGljIGRlZmF1bHRfc2VsbHByaWNlID0gMDtcbiAgICBwdWJsaWMgaXNfYWN0aXZlID0gZmFsc2U7XG4gICAgcHVibGljIGV4dGVybmFsX3N0YXRlbWVudD86IEVzb2x2ZVN0YXRlbWVudDtcblxuICAgIGNvbnN0cnVjdG9yKHJlY29yZD86IFBhcnRpYWw8RXNvbHZlVXNlckNsaWVudEFjY291bnRSZWNvcmQ+KSB7XG4gICAgICAgIGlmIChyZWNvcmQpIHtcbiAgICAgICAgICAgIHRoaXMuaWQgPSArKHJlY29yZC5pZCA/PyAwKTtcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudCA9IHJlY29yZC5hY2NvdW50ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5icmFuY2hfY29kZSA9IHJlY29yZC5icmFuY2hfY29kZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuYWNjb3VudF9ncm91cCA9IHJlY29yZC5hY2NvdW50X2dyb3VwID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5wcmljaW5nX2dyb3VwID0gcmVjb3JkLnByaWNpbmdfZ3JvdXAgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNvbXBhbnlfbmFtZSA9IHJlY29yZC5jb21wYW55X25hbWUgPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2NvbnRhY3RfcGVyc29uID0gcmVjb3JkLmNsaWVudF9jb250YWN0X3BlcnNvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2ZpcnN0bmFtZSA9IHJlY29yZC5jbGllbnRfZmlyc3RuYW1lID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jbGllbnRfc3VybmFtZSA9IHJlY29yZC5jbGllbnRfc3VybmFtZSA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2VtYWlsID0gcmVjb3JkLmNsaWVudF9lbWFpbCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2NvbnRhY3RfbnVtYmVyID0gcmVjb3JkLmNsaWVudF9jb250YWN0X251bWJlciA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2ZheF9udW1iZXIgPSByZWNvcmQuY2xpZW50X2ZheF9udW1iZXIgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLmNsaWVudF9jZWxscGhvbmVfbnVtYmVyID0gcmVjb3JkLmNsaWVudF9jZWxscGhvbmVfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jbGllbnRfaWRfbnVtYmVyID0gcmVjb3JkLmNsaWVudF9pZF9udW1iZXIgPz8gJyc7XG5cbiAgICAgICAgICAgIHRoaXMuYWRkcmVzc19kZXNjcmlwdGlvbiA9IHJlY29yZC5hZGRyZXNzX2Rlc2NyaXB0aW9uID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdHJlZXQgPSByZWNvcmQuc3RyZWV0ID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5zdWJ1cmIgPSByZWNvcmQuc3VidXJiID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jaXR5ID0gcmVjb3JkLmNpdHkgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnByb3ZpbmNlID0gcmVjb3JkLnByb3ZpbmNlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5jb3VudHJ5ID0gcmVjb3JkLmNvdW50cnkgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnBvc3RhbF9jb2RlID0gcmVjb3JkLnBvc3RhbF9jb2RlID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5wb3N0YWxfYWRkcmVzcyA9IHJlY29yZC5wb3N0YWxfYWRkcmVzcyA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuZGVsaXZlcnlfYWRkcmVzcyA9IHJlY29yZC5kZWxpdmVyeV9hZGRyZXNzID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5sYXRpdHVkZSA9ICsocmVjb3JkLmxhdGl0dWRlID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sb25naXR1ZGUgPSArKHJlY29yZC5sb25naXR1ZGUgPz8gMCk7XG5cbiAgICAgICAgICAgIHRoaXMudmF0X251bWJlciA9IHJlY29yZC52YXRfbnVtYmVyID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5hZ2VpbmcgPSByZWNvcmQuYWdlaW5nID8/ICcnO1xuICAgICAgICAgICAgdGhpcy5iYWxhbmNlX2xhc3RfdXBkYXRlZCA9IHJlY29yZC5iYWxhbmNlX2xhc3RfdXBkYXRlZCA/PyAnJztcbiAgICAgICAgICAgIHRoaXMuY2xpZW50X2NsYXNzaWZpY2F0aW9uID0gcmVjb3JkLmNsaWVudF9jbGFzc2lmaWNhdGlvbiA/PyAnJztcbiAgICAgICAgICAgIHRoaXMub3ZlcnJpZGVfc3RvY2tfbGlzdGluZ19pZGVudGlmaWVycyA9XG4gICAgICAgICAgICAgICAgcmVjb3JkLm92ZXJyaWRlX3N0b2NrX2xpc3RpbmdfaWRlbnRpZmllcnMgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVzX3RyYW5zYWN0aW9uX2FwcHJvdmFsID1cbiAgICAgICAgICAgICAgICByZWNvcmQucmVxdWlyZXNfdHJhbnNhY3Rpb25fYXBwcm92YWwgPz8gJyc7XG4gICAgICAgICAgICB0aGlzLnByaWNlX2xpc3QgPSArKHJlY29yZC5wcmljZV9saXN0ID8/IDApO1xuICAgICAgICAgICAgdGhpcy5sb3lhbHR5X2NsYXNzaWZpY2F0aW9uX2lkID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQubG95YWx0eV9jbGFzc2lmaWNhdGlvbl9pZCA/PyAwXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgdGhpcy5jcmVkaXRfbGltaXQgPSArKHJlY29yZC5jcmVkaXRfbGltaXQgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLnBlbmRpbmdfaW52b2ljZV9iYWxhbmNlID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQucGVuZGluZ19pbnZvaWNlX2JhbGFuY2UgPz8gMFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIHRoaXMuZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlID0gKyhcbiAgICAgICAgICAgICAgICByZWNvcmQuZXh0ZXJuYWxfYWNjb3VudF9iYWxhbmNlID8/IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmRlZmF1bHRfc2VsbHByaWNlID0gKyhyZWNvcmQuZGVmYXVsdF9zZWxscHJpY2UgPz8gMCk7XG4gICAgICAgICAgICB0aGlzLmlzX2FjdGl2ZSA9ICEhKyhyZWNvcmQuaXNfYWN0aXZlID8/IGZhbHNlKTtcblxuICAgICAgICAgICAgdGhpcy5leHRlcm5hbF9zdGF0ZW1lbnQgPSBuZXcgRXNvbHZlU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgIHJlY29yZC5leHRlcm5hbF9zdGF0ZW1lbnQsXG4gICAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -115,6 +115,7 @@ export class EsolveAuthService {
115
115
  expires: result.expires,
116
116
  expiry_time: result.expiry_time,
117
117
  grace_period: result.grace_period,
118
+ clients_id: result.clients_id,
118
119
  });
119
120
  return user_id;
120
121
  }
@@ -177,6 +178,7 @@ export class EsolveAuthService {
177
178
  access_level: +additional_data.access_level,
178
179
  addresses_id: +additional_data.addresses_id,
179
180
  shipping_id: +additional_data.shipping_id,
181
+ clients_id: +additional_data.clients_id,
180
182
  };
181
183
  return result;
182
184
  }
@@ -209,6 +211,7 @@ export class EsolveAuthService {
209
211
  location_id: +result.location_id,
210
212
  addresses_id: +result.addresses_id,
211
213
  shipping_id: +result.shipping_id,
214
+ clients_id: +result.clients_id,
212
215
  }, +result.expiry_time, +result.grace_period);
213
216
  }
214
217
  handleError(errorRes) {
@@ -236,4 +239,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
236
239
  providedIn: 'root',
237
240
  }]
238
241
  }], ctorParameters: () => [] });
239
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hdXRoL2Vzb2x2ZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFDVixVQUFVLEVBRVYsV0FBVyxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGNBQWMsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLGlCQUFpQjtJQU0xQjtRQUxpQixXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQixZQUFPLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkMsaUJBQVksR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUc5RCxJQUFJLENBQUMsT0FBTzthQUNQLFlBQVksRUFBRTthQUNkLElBQUksQ0FDRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFDeEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJ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LEtBQUssQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQztRQUMxQyxDQUFDO1FBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0EvVFEsaUJBQWlCO21IQUFqQixpQkFBaUIsY0FGZCxNQUFNOzs0RkFFVCxpQkFBaUI7a0JBSDdCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIEh0dHBDbGllbnQsXG4gICAgSHR0cFBhcmFtcyxcbiAgICBIdHRwRXJyb3JSZXNwb25zZSxcbiAgICBIdHRwSGVhZGVycyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuXG5pbXBvcnQgeyBmaXJzdFZhbHVlRnJvbSwgT2JzZXJ2YWJsZSwgb2YsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRhcCwgY2F0Y2hFcnJvciwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEVzb2x2ZUNvbmZpZ1NlcnZpY2UgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IEVzb2x2ZUVycm9ySGFuZGxlclNlcnZpY2UgfSBmcm9tICcuLi9zaGFyZWQnO1xuXG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uU2VydmljZSB9IGZyb20gJy4uL3Nlc3Npb24nO1xuXG5pbXBvcnQge1xuICAgIEVzb2x2ZUF1dGhHZXRSZXNwb25zZSxcbiAgICBFc29sdmVBdXRoQ2hlY2tSZXNwb25zZSxcbiAgICBFc29sdmVBdXRoUmVzdWx0LFxuICAgIEVzb2x2ZUxvZ2luUmVzcG9uc2UsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBFc29sdmVBdXRoU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWcgPSBpbmplY3QoRXNvbHZlQ29uZmlnU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgc2Vzc2lvbiA9IGluamVjdChFc29sdmVTZXNzaW9uU2VydmljZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlcnJvckhhbmRsZXIgPSBpbmplY3QoRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSk7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy5zZXNzaW9uXG4gICAgICAgICAgICAub25TZXNzaW9uRW5kKClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmNoZWNrQWNjZXNzVG9rZW4oKSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBvZihudWxsKSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24ocmVzdWx0KTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlc3Npb24uZXhwaXJlU2Vzc2lvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2Vzc2lvbi5vbkV4cGlyZSgpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ291dCgpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBEZWFsIHdpdGggZXJyb3IgZ3JhY2VmdWxseVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY2Nlc3NUb2tlbihcbiAgICAgICAgZW1haWw6IHN0cmluZyxcbiAgICAgICAgcGFzc3dvcmQ6IHN0cmluZyxcbiAgICAgICAgYW5vbnltb3VzID0gZmFsc2UsXG4gICAgKTogT2JzZXJ2YWJsZTxFc29sdmVBdXRoR2V0UmVzcG9uc2U+IHtcbiAgICAgICAgbGV0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG5cbiAgICAgICAgaWYgKGFub255bW91cykge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgnYW5vbnltb3VzJywgdHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZW1haWwgIT09ICcnKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdlbWFpbCcsIGVtYWlsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXNzd29yZCAhPT0gJycpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ3Bhc3N3b3JkJywgcGFzc3dvcmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLmdldDxFc29sdmVBdXRoR2V0UmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hY2Nlc3MtdG9rZW4ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiAnKicsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICB0YXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnR5cGUgPT09ICdlcnJvcicgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnR5cGUgPT09ICdleGNlcHRpb24nXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpLFxuICAgICAgICAgICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBdXRoZW50aWNhdGlvbihyZXNwb25zZS5hZGRpdGlvbmFsX2RhdGEpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QW5vbnltb3VzU2Vzc2lvbigpOiBPYnNlcnZhYmxlPEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXRBY2Nlc3NUb2tlbignJywgJycsIHRydWUpO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBhdXRvTG9naW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgICAgIGxldCByZXN1bHQgPSBhd2FpdCB0aGlzLnJlc3RvcmUoKTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZpcnN0VmFsdWVGcm9tKFxuICAgICAgICAgICAgICAgICAgICB0aGlzLmdldEFub255bW91c1Nlc3Npb24oKSxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgcmVzdWx0ID0gcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLmhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3VsdCk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBsb2dpbihlbWFpbDogc3RyaW5nLCBwYXNzd29yZDogc3RyaW5nKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgY29uc3QgYm9keSA9IHtcbiAgICAgICAgICAgIGxvZ2luOiB7XG4gICAgICAgICAgICAgICAgZW1haWwsXG4gICAgICAgICAgICAgICAgcGFzc3dvcmQsXG4gICAgICAgICAgICB9LFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5wb3N0PEVzb2x2ZUxvZ2luUmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L3NldC1sb2dpbi5waHBgLFxuICAgICAgICAgICAgICAgIGJvZHksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQ29udGVudC1UeXBlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkO2NoYXJzZXQ9dXRmLTg7JyxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnanNvbicsXG4gICAgICAgICAgICAgICAgICAgIG9ic2VydmU6ICdib2R5JyxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZXNwb25zZXMgPT09IHVuZGVmaW5lZCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UucmVzcG9uc2VzLmxlbmd0aCA8PSAwXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBsb2dpbl9yZXNwb25zZSA9IHJlc3BvbnNlLnJlc3BvbnNlc1swXTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gcmVzcG9uc2UuYWRkaXRpb25hbF9kYXRhO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2luX3Jlc3BvbnNlLnN0YXR1cy5zdGF0ZSAhPT0gJ3N1Y2Nlc3MnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICBsb2dpbl9yZXNwb25zZS5zdGF0dXMuc3RhdGUgIT09ICd3YXJuaW5nJ1xuICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGxvZ2luX3Jlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCByZXNwb25zZV9sb2cgb2YgbG9naW5fcmVzcG9uc2UubG9nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VfbG9nLnR5cGUgPT09ICdzdWNjZXNzJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlX2xvZy5tZXNzYWdlX2NvZGUgPT09ICdsb2dpbl9zdWNjZXNzJ1xuICAgICAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdXNlcl9pZCA9ICtsb2dpbl9yZXNwb25zZS5lc29sdmVfaWQ7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBsb2dpbicpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk6IHJlc3VsdC5rZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZXJfaWQ6IHJlc3VsdC51c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY2Nlc3NfbGV2ZWw6IHJlc3VsdC5hY2Nlc3NfbGV2ZWwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uX2lkOiByZXN1bHQubG9jYXRpb25faWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogcmVzdWx0LmFkZHJlc3Nlc19pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hpcHBpbmdfaWQ6IHJlc3VsdC5zaGlwcGluZ19pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJlczogcmVzdWx0LmV4cGlyZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cGlyeV90aW1lOiByZXN1bHQuZXhwaXJ5X3RpbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdyYWNlX3BlcmlvZDogcmVzdWx0LmdyYWNlX3BlcmlvZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1c2VyX2lkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbG9naW5fcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1sb2dpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvZ291dCgpOiBQcm9taXNlPEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4ge1xuICAgICAgICB0aGlzLnNlc3Npb24uc3RvcFRpbWVyKCk7XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuZ2V0QWNjZXNzVG9rZW4oJycsICcnLCB0cnVlKSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHZhbGlkYXRlQ2FjaGVkVG9rZW5zKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBsZXQgdmFsaWQgPSBmYWxzZTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbi5nZXRDYWNoZWRTZXNzaW9uKCk7XG5cbiAgICAgICAgICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzZXNzaW9uJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2hlY2tBY2Nlc3NUb2tlbihzZXNzaW9uKTtcblxuICAgICAgICAgICAgaWYgKCFyZXN1bHQua2V5KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleScpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YWxpZCA9IHRydWU7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb24ucmVzZXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWxpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGNoZWNrQWNjZXNzVG9rZW4oXG4gICAgICAgIHRva2VuID0gdGhpcy5zZXNzaW9uLmdldFRva2VuKCksXG4gICAgKTogUHJvbWlzZTxFc29sdmVBdXRoUmVzdWx0PiB7XG4gICAgICAgIGlmICh0b2tlbiA9PT0gJycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBUb2tlbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8RXNvbHZlQXV0aENoZWNrUmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hY2Nlc3MtdG9rZW4ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogJyonLFxuICAgICAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChyZXNwb25zZS50eXBlID09PSAnZXJyb3InIHx8IHJlc3BvbnNlLnR5cGUgPT09ICdleGNlcHRpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkZGl0aW9uYWxfZGF0YSA9IHJlc3BvbnNlLmFkZGl0aW9uYWxfZGF0YTtcblxuICAgICAgICBpZiAoIWFkZGl0aW9uYWxfZGF0YS5rZXlfb2theSkge1xuICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWRkaXRpb25hbF9kYXRhLmtleSkge1xuICAgICAgICAgICAgdG9rZW4gPSBhZGRpdGlvbmFsX2RhdGEua2V5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBFc29sdmVBdXRoUmVzdWx0ID0ge1xuICAgICAgICAgICAga2V5OiB0b2tlbixcbiAgICAgICAgICAgIGV4cGlyZXM6ICthZGRpdGlvbmFsX2RhdGEuZXhwaXJlcyxcbiAgICAgICAgICAgIGV4cGlyeV90aW1lOiArYWRkaXRpb25hbF9kYXRhLmV4cGlyeV90aW1lLFxuICAgICAgICAgICAgZ3JhY2VfcGVyaW9kOiArYWRkaXRpb25hbF9kYXRhLmdyYWNlX3BlcmlvZCxcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkOiArYWRkaXRpb25hbF9kYXRhLmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgdXNlcl9pZDogK2FkZGl0aW9uYWxfZGF0YS51c2VyX2lkLFxuICAgICAgICAgICAgYWNjZXNzX2xldmVsOiArYWRkaXRpb25hbF9kYXRhLmFjY2Vzc19sZXZlbCxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogK2FkZGl0aW9uYWxfZGF0YS5hZGRyZXNzZXNfaWQsXG4gICAgICAgICAgICBzaGlwcGluZ19pZDogK2FkZGl0aW9uYWxfZGF0YS5zaGlwcGluZ19pZCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgcmVzdG9yZSgpOiBQcm9taXNlPEVzb2x2ZUF1dGhSZXN1bHQgfCBudWxsPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMuc2Vzc2lvbi5nZXRDYWNoZWRTZXNzaW9uKCk7XG5cbiAgICAgICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdG9rZW4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jaGVja0FjY2Vzc1Rva2VuKHRva2VuKTtcblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbi5yZXNldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlcnNcblxuICAgIHB1YmxpYyBoYW5kbGVFeHRlcm5hbEF1dGhlbnRpY2F0aW9uKHJlc3VsdDogRXNvbHZlQXV0aFJlc3VsdCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBdXRoZW50aWNhdGlvbihyZXN1bHQ6IEVzb2x2ZUF1dGhSZXN1bHQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFyZXN1bHQua2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlc3Npb24uaGFuZGxlU2Vzc2lvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0b2tlbjogcmVzdWx0LmtleSxcbiAgICAgICAgICAgICAgICB1c2VyX2lkOiArcmVzdWx0LnVzZXJfaWQsXG4gICAgICAgICAgICAgICAgYWNjZXNzX2xldmVsOiArcmVzdWx0LmFjY2Vzc19sZXZlbCxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Jlc3VsdC5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgICAgICBhZGRyZXNzZXNfaWQ6ICtyZXN1bHQuYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgICAgIHNoaXBwaW5nX2lkOiArcmVzdWx0LnNoaXBwaW5nX2lkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICtyZXN1bHQuZXhwaXJ5X3RpbWUsXG4gICAgICAgICAgICArcmVzdWx0LmdyYWNlX3BlcmlvZCxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhbmRsZUVycm9yKFxuICAgICAgICBlcnJvclJlczogRXNvbHZlQXV0aEdldFJlc3BvbnNlIHwgRXNvbHZlQXV0aENoZWNrUmVzcG9uc2UsXG4gICAgKTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xuICAgICAgICBjb25zdCBlcnJvciA9IHtcbiAgICAgICAgICAgIG1lc3NhZ2U6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJyxcbiAgICAgICAgICAgIGRhdGE6IHt9LFxuICAgICAgICB9O1xuXG4gICAgICAgIGlmICghZXJyb3JSZXMudHlwZSB8fCAhZXJyb3JSZXMuc2VydmljZV90eXBlIHx8ICFlcnJvclJlcy5tZXNzYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3JSZXMubWVzc2FnZS50cmltKCkgIT09ICcnKSB7XG4gICAgICAgICAgICBlcnJvci5tZXNzYWdlID0gZXJyb3JSZXMubWVzc2FnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlcnJvclJlcy5hZGRpdGlvbmFsX2RhdGEpIHtcbiAgICAgICAgICAgIGVycm9yLmRhdGEgPSBlcnJvclJlcy5hZGRpdGlvbmFsX2RhdGE7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhyb3dFcnJvcigoKSA9PiBlcnJvcik7XG4gICAgfVxufVxuIl19
242
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9hdXRoL2Vzb2x2ZS1hdXRoLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUNILFVBQVUsRUFDVixVQUFVLEVBRVYsV0FBVyxHQUNkLE1BQU0sc0JBQXNCLENBQUM7QUFFOUIsT0FBTyxFQUFFLGNBQWMsRUFBYyxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRXRELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLFlBQVksQ0FBQzs7QUFZbEQsTUFBTSxPQUFPLGlCQUFpQjtJQU0xQjtRQUxpQixXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsU0FBSSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMxQixZQUFPLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDdkMsaUJBQVksR0FBRyxNQUFNLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUc5RCxJQUFJLENBQUMsT0FBTzthQUNQLFlBQVksRUFBRTthQUNkLElBQUksQ0FDRCxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsRUFDeEMsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJ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RSxDQUFDO1lBQ2pDLEtBQUssQ0FBQyxPQUFPLEdBQUcsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxRQUFRLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDM0IsS0FBSyxDQUFDLElBQUksR0FBRyxRQUFRLENBQUMsZUFBZSxDQUFDO1FBQzFDLENBQUM7UUFFRCxPQUFPLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuQyxDQUFDOytHQWxVUSxpQkFBaUI7bUhBQWpCLGlCQUFpQixjQUZkLE1BQU07OzRGQUVULGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgSHR0cENsaWVudCxcbiAgICBIdHRwUGFyYW1zLFxuICAgIEh0dHBFcnJvclJlc3BvbnNlLFxuICAgIEh0dHBIZWFkZXJzLFxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5cbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tLCBPYnNlcnZhYmxlLCBvZiwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwLCBjYXRjaEVycm9yLCBtYXAsIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgRXNvbHZlRXJyb3JIYW5kbGVyU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZCc7XG5cbmltcG9ydCB7IEVzb2x2ZVNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbic7XG5cbmltcG9ydCB7XG4gICAgRXNvbHZlQXV0aEdldFJlc3BvbnNlLFxuICAgIEVzb2x2ZUF1dGhDaGVja1Jlc3BvbnNlLFxuICAgIEVzb2x2ZUF1dGhSZXN1bHQsXG4gICAgRXNvbHZlTG9naW5SZXNwb25zZSxcbn0gZnJvbSAnLi90eXBlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZUF1dGhTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGh0dHAgPSBpbmplY3QoSHR0cENsaWVudCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXNzaW9uID0gaW5qZWN0KEVzb2x2ZVNlc3Npb25TZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGVycm9ySGFuZGxlciA9IGluamVjdChFc29sdmVFcnJvckhhbmRsZXJTZXJ2aWNlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNlc3Npb25cbiAgICAgICAgICAgIC5vblNlc3Npb25FbmQoKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuY2hlY2tBY2Nlc3NUb2tlbigpKSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKCgpID0+IG9mKG51bGwpKSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBdXRoZW50aWNhdGlvbihyZXN1bHQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbi5leHBpcmVTZXNzaW9uKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5zZXNzaW9uLm9uRXhwaXJlKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9nb3V0KCkuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIERlYWwgd2l0aCBlcnJvciBncmFjZWZ1bGx5XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldEFjY2Vzc1Rva2VuKFxuICAgICAgICBlbWFpbDogc3RyaW5nLFxuICAgICAgICBwYXNzd29yZDogc3RyaW5nLFxuICAgICAgICBhbm9ueW1vdXMgPSBmYWxzZSxcbiAgICApOiBPYnNlcnZhYmxlPEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4ge1xuICAgICAgICBsZXQgcGFyYW1zID0gbmV3IEh0dHBQYXJhbXMoKTtcblxuICAgICAgICBpZiAoYW5vbnltb3VzKSB7XG4gICAgICAgICAgICBwYXJhbXMgPSBwYXJhbXMuc2V0KCdhbm9ueW1vdXMnLCB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChlbWFpbCAhPT0gJycpIHtcbiAgICAgICAgICAgIHBhcmFtcyA9IHBhcmFtcy5zZXQoJ2VtYWlsJywgZW1haWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHBhc3N3b3JkICE9PSAnJykge1xuICAgICAgICAgICAgcGFyYW1zID0gcGFyYW1zLnNldCgncGFzc3dvcmQnLCBwYXNzd29yZCk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vZ2V0LWFjY2Vzcy10b2tlbi5waHBgLFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zLFxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiBuZXcgSHR0cEhlYWRlcnMoe1xuICAgICAgICAgICAgICAgICAgICAgICAgJ0FjY2VwdC1MYW5ndWFnZSc6ICcqJyxcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHRhcCgocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UudHlwZSA9PT0gJ2Vycm9yJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2UudHlwZSA9PT0gJ2V4Y2VwdGlvbidcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvciksXG4gICAgICAgICAgICAgICAgdGFwKChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3BvbnNlLmFkZGl0aW9uYWxfZGF0YSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBbm9ueW1vdXNTZXNzaW9uKCk6IE9ic2VydmFibGU8RXNvbHZlQXV0aEdldFJlc3BvbnNlPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldEFjY2Vzc1Rva2VuKCcnLCAnJywgdHJ1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGF1dG9Mb2dpbigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IGF3YWl0IHRoaXMucmVzdG9yZSgpO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZ2V0QW5vbnltb3VzU2Vzc2lvbigpLFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICByZXN1bHQgPSByZXNwb25zZS5hZGRpdGlvbmFsX2RhdGE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuaGFuZGxlQXV0aGVudGljYXRpb24ocmVzdWx0KTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGxvZ2luKGVtYWlsOiBzdHJpbmcsIHBhc3N3b3JkOiBzdHJpbmcpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICBjb25zdCBib2R5ID0ge1xuICAgICAgICAgICAgbG9naW46IHtcbiAgICAgICAgICAgICAgICBlbWFpbCxcbiAgICAgICAgICAgICAgICBwYXNzd29yZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBvc3Q8RXNvbHZlTG9naW5SZXNwb25zZT4oXG4gICAgICAgICAgICAgICAgYCR7dGhpcy5jb25maWcuYXBpX3VybH0vc2V0LWxvZ2luLnBocGAsXG4gICAgICAgICAgICAgICAgYm9keSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICdDb250ZW50LVR5cGUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD11dGYtODsnLFxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdqc29uJyxcbiAgICAgICAgICAgICAgICAgICAgb2JzZXJ2ZTogJ2JvZHknLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlLnJlc3BvbnNlcyA9PT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZS5yZXNwb25zZXMubGVuZ3RoIDw9IDBcbiAgICAgICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxvZ2luX3Jlc3BvbnNlID0gcmVzcG9uc2UucmVzcG9uc2VzWzBdO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSByZXNwb25zZS5hZGRpdGlvbmFsX2RhdGE7XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9naW5fcmVzcG9uc2Uuc3RhdHVzLnN0YXRlICE9PSAnc3VjY2VzcycgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvZ2luX3Jlc3BvbnNlLnN0YXR1cy5zdGF0ZSAhPT0gJ3dhcm5pbmcnXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbG9naW5fcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJlc3BvbnNlX2xvZyBvZiBsb2dpbl9yZXNwb25zZS5sb2cpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zZV9sb2cudHlwZSA9PT0gJ3N1Y2Nlc3MnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VfbG9nLm1lc3NhZ2VfY29kZSA9PT0gJ2xvZ2luX3N1Y2Nlc3MnXG4gICAgICAgICAgICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB1c2VyX2lkID0gK2xvZ2luX3Jlc3BvbnNlLmVzb2x2ZV9pZDtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlc3VsdCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGxvZ2luJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5oYW5kbGVBdXRoZW50aWNhdGlvbih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleTogcmVzdWx0LmtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcl9pZDogcmVzdWx0LnVzZXJfaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc19sZXZlbDogcmVzdWx0LmFjY2Vzc19sZXZlbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQ6IHJlc3VsdC5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzc2VzX2lkOiByZXN1bHQuYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGlwcGluZ19pZDogcmVzdWx0LnNoaXBwaW5nX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHBpcmVzOiByZXN1bHQuZXhwaXJlcyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwaXJ5X3RpbWU6IHJlc3VsdC5leHBpcnlfdGltZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JhY2VfcGVyaW9kOiByZXN1bHQuZ3JhY2VfcGVyaW9kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRzX2lkOiByZXN1bHQuY2xpZW50c19pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB1c2VyX2lkO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbG9naW5fcmVzcG9uc2U7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3JSZXM6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5oYW5kbGVIdHRwUG9zdEVycm9yKFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3NldC1sb2dpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclJlcyxcbiAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIGxvZ291dCgpOiBQcm9taXNlPEVzb2x2ZUF1dGhHZXRSZXNwb25zZT4ge1xuICAgICAgICB0aGlzLnNlc3Npb24uc3RvcFRpbWVyKCk7XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuZ2V0QWNjZXNzVG9rZW4oJycsICcnLCB0cnVlKSxcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgfVxuXG4gICAgcHVibGljIGFzeW5jIHZhbGlkYXRlQ2FjaGVkVG9rZW5zKCk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICAgICAgICBsZXQgdmFsaWQgPSBmYWxzZTtcblxuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qgc2Vzc2lvbiA9IHRoaXMuc2Vzc2lvbi5nZXRDYWNoZWRTZXNzaW9uKCk7XG5cbiAgICAgICAgICAgIGlmICghc2Vzc2lvbikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBzZXNzaW9uJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuY2hlY2tBY2Nlc3NUb2tlbihzZXNzaW9uKTtcblxuICAgICAgICAgICAgaWYgKCFyZXN1bHQua2V5KSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGtleScpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB2YWxpZCA9IHRydWU7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLnNlc3Npb24ucmVzZXQoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB2YWxpZDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFzeW5jIGNoZWNrQWNjZXNzVG9rZW4oXG4gICAgICAgIHRva2VuID0gdGhpcy5zZXNzaW9uLmdldFRva2VuKCksXG4gICAgKTogUHJvbWlzZTxFc29sdmVBdXRoUmVzdWx0PiB7XG4gICAgICAgIGlmICh0b2tlbiA9PT0gJycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBUb2tlbicpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcbiAgICAgICAgICAgIHRoaXMuaHR0cC5nZXQ8RXNvbHZlQXV0aENoZWNrUmVzcG9uc2U+KFxuICAgICAgICAgICAgICAgIGAke3RoaXMuY29uZmlnLmFwaV91cmx9L2dldC1hY2Nlc3MtdG9rZW4ucGhwYCxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogJyonLFxuICAgICAgICAgICAgICAgICAgICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICApLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChyZXNwb25zZS50eXBlID09PSAnZXJyb3InIHx8IHJlc3BvbnNlLnR5cGUgPT09ICdleGNlcHRpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyByZXNwb25zZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFkZGl0aW9uYWxfZGF0YSA9IHJlc3BvbnNlLmFkZGl0aW9uYWxfZGF0YTtcblxuICAgICAgICBpZiAoIWFkZGl0aW9uYWxfZGF0YS5rZXlfb2theSkge1xuICAgICAgICAgICAgdGhyb3cgcmVzcG9uc2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoYWRkaXRpb25hbF9kYXRhLmtleSkge1xuICAgICAgICAgICAgdG9rZW4gPSBhZGRpdGlvbmFsX2RhdGEua2V5O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcmVzdWx0OiBFc29sdmVBdXRoUmVzdWx0ID0ge1xuICAgICAgICAgICAga2V5OiB0b2tlbixcbiAgICAgICAgICAgIGV4cGlyZXM6ICthZGRpdGlvbmFsX2RhdGEuZXhwaXJlcyxcbiAgICAgICAgICAgIGV4cGlyeV90aW1lOiArYWRkaXRpb25hbF9kYXRhLmV4cGlyeV90aW1lLFxuICAgICAgICAgICAgZ3JhY2VfcGVyaW9kOiArYWRkaXRpb25hbF9kYXRhLmdyYWNlX3BlcmlvZCxcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkOiArYWRkaXRpb25hbF9kYXRhLmxvY2F0aW9uX2lkLFxuICAgICAgICAgICAgdXNlcl9pZDogK2FkZGl0aW9uYWxfZGF0YS51c2VyX2lkLFxuICAgICAgICAgICAgYWNjZXNzX2xldmVsOiArYWRkaXRpb25hbF9kYXRhLmFjY2Vzc19sZXZlbCxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogK2FkZGl0aW9uYWxfZGF0YS5hZGRyZXNzZXNfaWQsXG4gICAgICAgICAgICBzaGlwcGluZ19pZDogK2FkZGl0aW9uYWxfZGF0YS5zaGlwcGluZ19pZCxcbiAgICAgICAgICAgIGNsaWVudHNfaWQ6ICthZGRpdGlvbmFsX2RhdGEuY2xpZW50c19pZCxcbiAgICAgICAgfTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHByaXZhdGUgYXN5bmMgcmVzdG9yZSgpOiBQcm9taXNlPEVzb2x2ZUF1dGhSZXN1bHQgfCBudWxsPiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB0b2tlbiA9IHRoaXMuc2Vzc2lvbi5nZXRDYWNoZWRTZXNzaW9uKCk7XG5cbiAgICAgICAgICAgIGlmICghdG9rZW4pIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdG9rZW4nKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgdGhpcy5jaGVja0FjY2Vzc1Rva2VuKHRva2VuKTtcblxuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRoaXMuc2Vzc2lvbi5yZXNldCgpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gSGFuZGxlcnNcblxuICAgIHB1YmxpYyBoYW5kbGVFeHRlcm5hbEF1dGhlbnRpY2F0aW9uKHJlc3VsdDogRXNvbHZlQXV0aFJlc3VsdCk6IHZvaWQge1xuICAgICAgICB0aGlzLmhhbmRsZUF1dGhlbnRpY2F0aW9uKHJlc3VsdCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVBdXRoZW50aWNhdGlvbihyZXN1bHQ6IEVzb2x2ZUF1dGhSZXN1bHQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCFyZXN1bHQua2V5KSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNlc3Npb24uaGFuZGxlU2Vzc2lvbihcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0b2tlbjogcmVzdWx0LmtleSxcbiAgICAgICAgICAgICAgICB1c2VyX2lkOiArcmVzdWx0LnVzZXJfaWQsXG4gICAgICAgICAgICAgICAgYWNjZXNzX2xldmVsOiArcmVzdWx0LmFjY2Vzc19sZXZlbCxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbl9pZDogK3Jlc3VsdC5sb2NhdGlvbl9pZCxcbiAgICAgICAgICAgICAgICBhZGRyZXNzZXNfaWQ6ICtyZXN1bHQuYWRkcmVzc2VzX2lkLFxuICAgICAgICAgICAgICAgIHNoaXBwaW5nX2lkOiArcmVzdWx0LnNoaXBwaW5nX2lkLFxuICAgICAgICAgICAgICAgIGNsaWVudHNfaWQ6ICtyZXN1bHQuY2xpZW50c19pZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICArcmVzdWx0LmV4cGlyeV90aW1lLFxuICAgICAgICAgICAgK3Jlc3VsdC5ncmFjZV9wZXJpb2QsXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFcnJvcihcbiAgICAgICAgZXJyb3JSZXM6IEVzb2x2ZUF1dGhHZXRSZXNwb25zZSB8IEVzb2x2ZUF1dGhDaGVja1Jlc3BvbnNlLFxuICAgICk6IE9ic2VydmFibGU8bmV2ZXI+IHtcbiAgICAgICAgY29uc3QgZXJyb3IgPSB7XG4gICAgICAgICAgICBtZXNzYWdlOiAnQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZCcsXG4gICAgICAgICAgICBkYXRhOiB7fSxcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAoIWVycm9yUmVzLnR5cGUgfHwgIWVycm9yUmVzLnNlcnZpY2VfdHlwZSB8fCAhZXJyb3JSZXMubWVzc2FnZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGVycm9yUmVzLm1lc3NhZ2UudHJpbSgpICE9PSAnJykge1xuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSA9IGVycm9yUmVzLm1lc3NhZ2U7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXJyb3JSZXMuYWRkaXRpb25hbF9kYXRhKSB7XG4gICAgICAgICAgICBlcnJvci5kYXRhID0gZXJyb3JSZXMuYWRkaXRpb25hbF9kYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gZXJyb3IpO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGgtZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC9pbnRlcmZhY2VzL2Vzb2x2ZS1hdXRoLWRhdGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUF1dGhEYXRhIHtcbiAgICBleHBpcmVzOiBudW1iZXI7XG4gICAgZXhwaXJ5X3RpbWU6IG51bWJlcjtcbiAgICBncmFjZV9wZXJpb2Q6IG51bWJlcjtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgYWNjZXNzX2xldmVsOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZDogbnVtYmVyO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLWF1dGgtZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvYXV0aC9pbnRlcmZhY2VzL2Vzb2x2ZS1hdXRoLWRhdGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZUF1dGhEYXRhIHtcbiAgICBleHBpcmVzOiBudW1iZXI7XG4gICAgZXhwaXJ5X3RpbWU6IG51bWJlcjtcbiAgICBncmFjZV9wZXJpb2Q6IG51bWJlcjtcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgYWNjZXNzX2xldmVsOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZDogbnVtYmVyO1xuICAgIGNsaWVudHNfaWQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -3,8 +3,7 @@ import { isPlatformBrowser } from '@angular/common';
3
3
  import { BehaviorSubject, Subject, switchMap, takeUntil, timer, combineLatest, map, shareReplay, filter, distinctUntilChanged, debounceTime, } from 'rxjs';
4
4
  import { fromUnixTime } from 'date-fns';
5
5
  import { EsolveConfigService } from '../core';
6
- import { EsolveCookieService } from '../shared/cookie';
7
- import { esolveHexHash } from '../shared/esolve-hex-hash.function';
6
+ import { EsolveCookieService, esolveHexHash } from '../shared';
8
7
  import * as i0 from "@angular/core";
9
8
  export class EsolveSessionService {
10
9
  constructor() {
@@ -17,6 +16,7 @@ export class EsolveSessionService {
17
16
  this.location_id$ = new BehaviorSubject(0);
18
17
  this.addresses_id$ = new BehaviorSubject(0);
19
18
  this.shipping_id$ = new BehaviorSubject(0);
19
+ this.clients_id$ = new BehaviorSubject(0);
20
20
  this.state_hash = '';
21
21
  this.storage_key = '';
22
22
  /* These are RxJS subjects used for managing the expiration of the user session. */
@@ -27,8 +27,8 @@ export class EsolveSessionService {
27
27
  this.setStorageKey();
28
28
  this._session = this.initSession();
29
29
  this.getSession()
30
- .pipe(map(({ token, user_id, location_id }) => {
31
- return esolveHexHash(token, user_id, location_id);
30
+ .pipe(map(({ token, user_id, location_id, clients_id }) => {
31
+ return esolveHexHash(token, user_id, location_id, clients_id);
32
32
  }))
33
33
  .subscribe((hash) => {
34
34
  this.state_hash = hash;
@@ -46,19 +46,6 @@ export class EsolveSessionService {
46
46
  this.reset();
47
47
  });
48
48
  }
49
- initSession() {
50
- const session = {
51
- token: this.onTokenUpdate(),
52
- user_id: this.onUserIdUpdate(),
53
- access_level: this.onAccessLevelUpdate(),
54
- location_id: this.onLocationIdUpdate(),
55
- addresses_id: this.onAddressesIdUpdate(),
56
- shipping_id: this.onShippingIdUpdate(),
57
- };
58
- return combineLatest(session).pipe(
59
- // Delays the emit only slightly incase multiple values are set
60
- debounceTime(10), shareReplay(1));
61
- }
62
49
  isValid() {
63
50
  return this.getToken() !== '';
64
51
  }
@@ -73,6 +60,7 @@ export class EsolveSessionService {
73
60
  location_id: this.location_id$.getValue(),
74
61
  addresses_id: this.addresses_id$.getValue(),
75
62
  shipping_id: this.shipping_id$.getValue(),
63
+ clients_id: this.clients_id$.getValue(),
76
64
  };
77
65
  }
78
66
  onSessionEnd() {
@@ -96,18 +84,18 @@ export class EsolveSessionService {
96
84
  getUserId() {
97
85
  return this.user_id$.getValue();
98
86
  }
99
- getAccessLevel() {
100
- return this.access_level$.getValue();
101
- }
102
87
  onUserIdUpdate() {
103
88
  return this.user_id$.asObservable().pipe(distinctUntilChanged());
104
89
  }
105
- onAccessLevelUpdate() {
106
- return this.access_level$.asObservable().pipe(distinctUntilChanged());
107
- }
108
90
  updateUserId(user_id) {
109
91
  this.user_id$.next(user_id);
110
92
  }
93
+ getAccessLevel() {
94
+ return this.access_level$.getValue();
95
+ }
96
+ onAccessLevelUpdate() {
97
+ return this.access_level$.asObservable().pipe(distinctUntilChanged());
98
+ }
111
99
  updateAccessLevel(access_level) {
112
100
  this.access_level$.next(access_level);
113
101
  }
@@ -138,6 +126,15 @@ export class EsolveSessionService {
138
126
  updateShippingId(shipping_id) {
139
127
  this.shipping_id$.next(shipping_id);
140
128
  }
129
+ getClientsId() {
130
+ return this.clients_id$.getValue();
131
+ }
132
+ onClientsIdUpdate() {
133
+ return this.clients_id$.asObservable().pipe(distinctUntilChanged());
134
+ }
135
+ updateClientsId(clients_id) {
136
+ this.clients_id$.next(clients_id);
137
+ }
141
138
  getStateHash() {
142
139
  return this.state_hash;
143
140
  }
@@ -163,11 +160,12 @@ export class EsolveSessionService {
163
160
  this.updateLocationId(session.location_id);
164
161
  this.updateAddressesId(session.addresses_id);
165
162
  this.updateShippingId(session.shipping_id);
163
+ this.updateClientsId(session.clients_id);
166
164
  // Update token last to make sure session is correctly checked
167
165
  this.updateToken(session.token);
168
166
  this.startTimer(expiry_date);
169
167
  }
170
- handleUpdateSession({ user_id, location_id, addresses_id, shipping_id, token, }) {
168
+ handleUpdateSession({ user_id, location_id, addresses_id, shipping_id, clients_id, token, }) {
171
169
  if (typeof user_id !== 'undefined') {
172
170
  this.updateUserId(user_id);
173
171
  }
@@ -180,10 +178,27 @@ export class EsolveSessionService {
180
178
  if (typeof shipping_id !== 'undefined') {
181
179
  this.updateShippingId(shipping_id);
182
180
  }
181
+ if (typeof clients_id !== 'undefined') {
182
+ this.updateClientsId(clients_id);
183
+ }
183
184
  if (typeof token !== 'undefined' && token.trim() !== '') {
184
185
  this.updateToken(token);
185
186
  }
186
187
  }
188
+ initSession() {
189
+ const session = {
190
+ token: this.onTokenUpdate(),
191
+ user_id: this.onUserIdUpdate(),
192
+ access_level: this.onAccessLevelUpdate(),
193
+ location_id: this.onLocationIdUpdate(),
194
+ addresses_id: this.onAddressesIdUpdate(),
195
+ shipping_id: this.onShippingIdUpdate(),
196
+ clients_id: this.onClientsIdUpdate(),
197
+ };
198
+ return combineLatest(session).pipe(
199
+ // Delays the emit only slightly incase multiple values are set
200
+ debounceTime(10), shareReplay(1));
201
+ }
187
202
  setStorageKey() {
188
203
  if (typeof this.config.session_storage_key === 'string' &&
189
204
  this.config.session_storage_key !== '') {
@@ -223,4 +238,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
223
238
  providedIn: 'root',
224
239
  }]
225
240
  }], ctorParameters: () => [] });
226
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFDSCxlQUFlLEVBRWYsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGFBQWEsRUFDYixHQUFHLEVBQ0gsV0FBVyxFQUNYLE1BQU0sRUFDTixvQkFBb0IsRUFDcEIsWUFBWSxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDOztBQWNuRSxNQUFNLE9BQU8sb0JBQW9CO0lBdUI3QjtRQXRCaUIsZUFBVSxHQUFHLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQ3BELFdBQU0sR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUNyQyxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBRXJELFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUN6QyxhQUFRLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDMUMsa0JBQWEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUMvQyxpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzlDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBUyxDQUFDLENBQUMsQ0FBQztRQUM5QyxlQUFVLEdBQUcsRUFBRSxDQUFDO1FBSWhCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRXpCLG1GQUFtRjtRQUMzRSxnQkFBVyxHQUFHLElBQUksT0FBTyxFQUFpQixDQUFDO1FBQzNDLGVBQVUsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2pDLFdBQU0sR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQzdCLGdCQUFXLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUd0QyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFbkMsSUFBSSxDQUFDLFVBQVUsRUFBRTthQUNaLElBQUksQ0FDRCxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRTtZQUNwQyxPQUFPLGFBQWEsQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLFdBQVcsQ0FBQyxDQUFDO1FBQ3RELENBQUMsQ0FBQyxDQUNMO2FBQ0EsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7UUFFUCxJQUFJLENBQUMsV0FBVzthQUNYLElBQUksQ0FDRCxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNmLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDeEQsQ0FBQyxDQUFDLENBQ0w7YUFDQSxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ1osaURBQWlEO1lBQ2pELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFUCwrQkFBK0I7UUFDL0IsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDM0IsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ2pCLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLFdBQVc7UUFDZixNQUFNLE9BQU8sR0FBRztZQUNaLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQzlCLFlBQVksRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7WUFDeEMsV0FBVyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN0QyxZQUFZLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFO1lBQ3hDLFdBQVcsRUFBRSxJQUFJLENBQUMsa0JBQWtCLEVBQUU7U0FDekMsQ0FBQztRQUVGLE9BQU8sYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUk7UUFDOUIsK0RBQStEO1FBQy9ELFlBQVksQ0FBQyxFQUFFLENBQUMsRUFDaEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVNLE9BQU87UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDbEMsQ0FBQztJQUVNLFVBQVU7UUFDYixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUVNLGVBQWU7UUFDbEIsT0FBTztZQUNILEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRTtZQUM3QixPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUU7WUFDakMsWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxFQUFFO1lBQzNDLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRTtZQUN6QyxZQUFZLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUU7WUFDM0MsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFO1NBQzVDLENBQUM7SUFDTixDQUFDO0lBRU0sWUFBWTtRQUNmLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQyxDQUFDO0lBRU0sUUFBUTtRQUNYLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QyxDQUFDO0lBRU0sYUFBYTtRQUNoQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFTSxRQUFRO1FBQ1gsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFTSxhQUFhO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQ2xDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsQ0FBQyxFQUMvQixvQkFBb0IsRUFBRSxDQUN6QixDQUFDO0lBQ04sQ0FBQztJQUVNLFdBQVcsQ0FBQyxLQUFhO1FBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFTSxjQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sY0FBYztRQUNqQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU0sbUJBQW1CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxZQUFZLENBQUMsT0FBZTtRQUMvQixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRU0saUJBQWlCLENBQUMsWUFBb0I7UUFDekMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVNLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3hDLENBQUM7SUFFTSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVNLGdCQUFnQixDQUFDLFdBQW1CO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFTSxjQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU0sbUJBQW1CO1FBQ3RCLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFTSxpQkFBaUIsQ0FBQyxZQUFvQjtRQUN6QyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRU0sYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVNLGtCQUFrQjtRQUNyQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztJQUN6RSxDQUFDO0lBRU0sZ0JBQWdCLENBQUMsV0FBbUI7UUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVNLFlBQVk7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVNLFNBQVM7UUFDWixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxVQUFVLENBQUMsSUFBbUI7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVNLGdCQUFnQjtRQUNuQixPQUFPLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRU0sS0FBSztRQUNSLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFTSxhQUFhLENBQ2hCLE9BQXNCLEVBQ3RCLGdCQUF3QixFQUN4QixVQUFrQjtRQUVsQixNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNuRCxNQUFNLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxnQkFBZ0IsR0FBRyxVQUFVLENBQUMsQ0FBQztRQUV0RSxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsaUJBQWlCLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNuQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDM0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUM3QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzNDLDhEQUE4RDtRQUM5RCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoQyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFTSxtQkFBbUIsQ0FBQyxFQUN2QixPQUFPLEVBQ1AsV0FBVyxFQUNYLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxHQUNjO1FBQ25CLElBQUksT0FBTyxPQUFPLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsSUFBSSxPQUFPLFdBQVcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUNyQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDdkMsQ0FBQztRQUVELElBQUksT0FBTyxZQUFZLEtBQUssV0FBVyxFQUFFLENBQUM7WUFDdEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLE9BQU8sV0FBVyxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN2QyxDQUFDO1FBRUQsSUFBSSxPQUFPLEtBQUssS0FBSyxXQUFXLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ3RELElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDNUIsQ0FBQztJQUNMLENBQUM7SUFFTyxhQUFhO1FBQ2pCLElBQ0ksT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixLQUFLLFFBQVE7WUFDbkQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsS0FBSyxFQUFFLEVBQ3hDLENBQUM7WUFDQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsbUJBQW1CLENBQUM7UUFDdkQsQ0FBQztJQUNMLENBQUM7SUFFTyxRQUFRO1FBQ1osTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRXRELElBQUksSUFBSSxLQUFLLEVBQUUsRUFBRSxDQUFDO1lBQ2QsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUM7UUFDaEIsQ0FBQztRQUVELE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVPLFFBQVEsQ0FBQyxJQUFZLEVBQUUsZUFBc0I7UUFDakQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRXJFLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNYLENBQUM7UUFFRCxZQUFZLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDakQsQ0FBQztJQUVPLFdBQVc7UUFDZixJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNYLENBQUM7UUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDOytHQS9SUSxvQkFBb0I7bUhBQXBCLG9CQUFvQixjQUZqQixNQUFNOzs0RkFFVCxvQkFBb0I7a0JBSGhDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgUExBVEZPUk1fSUQsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuXG5pbXBvcnQge1xuICAgIEJlaGF2aW9yU3ViamVjdCxcbiAgICBPYnNlcnZhYmxlLFxuICAgIFN1YmplY3QsXG4gICAgc3dpdGNoTWFwLFxuICAgIHRha2VVbnRpbCxcbiAgICB0aW1lcixcbiAgICBjb21iaW5lTGF0ZXN0LFxuICAgIG1hcCxcbiAgICBzaGFyZVJlcGxheSxcbiAgICBmaWx0ZXIsXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQsXG4gICAgZGVib3VuY2VUaW1lLFxufSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgZnJvbVVuaXhUaW1lIH0gZnJvbSAnZGF0ZS1mbnMnO1xuXG5pbXBvcnQgeyBFc29sdmVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vY29yZSc7XG5pbXBvcnQgeyBFc29sdmVDb29raWVTZXJ2aWNlIH0gZnJvbSAnLi4vc2hhcmVkL2Nvb2tpZSc7XG5pbXBvcnQgeyBlc29sdmVIZXhIYXNoIH0gZnJvbSAnLi4vc2hhcmVkL2Vzb2x2ZS1oZXgtaGFzaC5mdW5jdGlvbic7XG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uIH0gZnJvbSAnLi9pbnRlcmZhY2VzJztcblxuaW50ZXJmYWNlIFNlc3Npb25VcGRhdGVPcHRpb25zIHtcbiAgICB1c2VyX2lkPzogbnVtYmVyO1xuICAgIGxvY2F0aW9uX2lkPzogbnVtYmVyO1xuICAgIGFkZHJlc3Nlc19pZD86IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZD86IG51bWJlcjtcbiAgICB0b2tlbj86IHN0cmluZztcbn1cblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRXNvbHZlU2Vzc2lvblNlcnZpY2Uge1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaXNfYnJvd3NlciA9IGlzUGxhdGZvcm1Ccm93c2VyKGluamVjdChQTEFURk9STV9JRCkpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnID0gaW5qZWN0KEVzb2x2ZUNvbmZpZ1NlcnZpY2UpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY29va2llU2VydmljZSA9IGluamVjdChFc29sdmVDb29raWVTZXJ2aWNlKTtcblxuICAgIHByaXZhdGUgdG9rZW4kID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KCcnKTtcbiAgICBwcml2YXRlIHVzZXJfaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgYWNjZXNzX2xldmVsJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIGxvY2F0aW9uX2lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIGFkZHJlc3Nlc19pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBzaGlwcGluZ19pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBzdGF0ZV9oYXNoID0gJyc7XG5cbiAgICBwcml2YXRlIF9zZXNzaW9uOiBPYnNlcnZhYmxlPEVzb2x2ZVNlc3Npb24+O1xuXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICcnO1xuXG4gICAgLyogVGhlc2UgYXJlIFJ4SlMgc3ViamVjdHMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGV4cGlyYXRpb24gb2YgdGhlIHVzZXIgc2Vzc2lvbi4gKi9cbiAgICBwcml2YXRlIHRpbWVyX3N0YXJ0ID0gbmV3IFN1YmplY3Q8bnVtYmVyIHwgRGF0ZT4oKTtcbiAgICBwcml2YXRlIHRpbWVyX3N0b3AgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgZXhwaXJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHNlc3Npb25fZW5kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFN0b3JhZ2VLZXkoKTtcbiAgICAgICAgdGhpcy5fc2Vzc2lvbiA9IHRoaXMuaW5pdFNlc3Npb24oKTtcblxuICAgICAgICB0aGlzLmdldFNlc3Npb24oKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh7IHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlc29sdmVIZXhIYXNoKHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChoYXNoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZV9oYXNoID0gaGFzaDtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMudGltZXJfc3RhcnRcbiAgICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgodGltZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGltZXIodGltZSkucGlwZSh0YWtlVW50aWwodGhpcy50aW1lcl9zdG9wKSk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBTdG9yZWQgdGltZSBleHBpcmVkLiBDaGVjayBpZiBzZXNzaW9uIGlzIHZhbGlkXG4gICAgICAgICAgICAgICAgdGhpcy5zZXNzaW9uX2VuZC5uZXh0KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAvLyBLaWxsIHNlc3Npb24gYW5kIHJlc2V0IHN0YXRlXG4gICAgICAgIHRoaXMub25FeHBpcmUoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZXNzaW9uKCk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj4ge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0ge1xuICAgICAgICAgICAgdG9rZW46IHRoaXMub25Ub2tlblVwZGF0ZSgpLFxuICAgICAgICAgICAgdXNlcl9pZDogdGhpcy5vblVzZXJJZFVwZGF0ZSgpLFxuICAgICAgICAgICAgYWNjZXNzX2xldmVsOiB0aGlzLm9uQWNjZXNzTGV2ZWxVcGRhdGUoKSxcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkOiB0aGlzLm9uTG9jYXRpb25JZFVwZGF0ZSgpLFxuICAgICAgICAgICAgYWRkcmVzc2VzX2lkOiB0aGlzLm9uQWRkcmVzc2VzSWRVcGRhdGUoKSxcbiAgICAgICAgICAgIHNoaXBwaW5nX2lkOiB0aGlzLm9uU2hpcHBpbmdJZFVwZGF0ZSgpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHNlc3Npb24pLnBpcGUoXG4gICAgICAgICAgICAvLyBEZWxheXMgdGhlIGVtaXQgb25seSBzbGlnaHRseSBpbmNhc2UgbXVsdGlwbGUgdmFsdWVzIGFyZSBzZXRcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgxMCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VG9rZW4oKSAhPT0gJyc7XG4gICAgfVxuXG4gICAgcHVibGljIGdldFNlc3Npb24oKTogT2JzZXJ2YWJsZTxFc29sdmVTZXNzaW9uPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zZXNzaW9uO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXNzaW9uVmFsdWUoKTogRXNvbHZlU2Vzc2lvbiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0b2tlbjogdGhpcy50b2tlbiQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIHVzZXJfaWQ6IHRoaXMudXNlcl9pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIGFjY2Vzc19sZXZlbDogdGhpcy5hY2Nlc3NfbGV2ZWwkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBsb2NhdGlvbl9pZDogdGhpcy5sb2NhdGlvbl9pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgICAgIGFkZHJlc3Nlc19pZDogdGhpcy5hZGRyZXNzZXNfaWQkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBzaGlwcGluZ19pZDogdGhpcy5zaGlwcGluZ19pZCQuZ2V0VmFsdWUoKSxcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TZXNzaW9uRW5kKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zZXNzaW9uX2VuZC5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25FeHBpcmUoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmV4cGlyZS5hc09ic2VydmFibGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZXhwaXJlU2Vzc2lvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5leHBpcmUubmV4dCgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUb2tlbigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbiQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25Ub2tlblVwZGF0ZSgpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy50b2tlbiQuYXNPYnNlcnZhYmxlKCkucGlwZShcbiAgICAgICAgICAgIGZpbHRlcigodG9rZW4pID0+IHRva2VuICE9PSAnJyksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVUb2tlbih0b2tlbjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9rZW4kLm5leHQodG9rZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRVc2VySWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlcl9pZCQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWNjZXNzTGV2ZWwoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXNzX2xldmVsJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblVzZXJJZFVwZGF0ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy51c2VyX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkFjY2Vzc0xldmVsVXBkYXRlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFjY2Vzc19sZXZlbCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVXNlcklkKHVzZXJfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVzZXJfaWQkLm5leHQodXNlcl9pZCk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUFjY2Vzc0xldmVsKGFjY2Vzc19sZXZlbDogbnVtYmVyKSB7XG4gICAgICAgIHRoaXMuYWNjZXNzX2xldmVsJC5uZXh0KGFjY2Vzc19sZXZlbCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldExvY2F0aW9uSWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25faWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uTG9jYXRpb25JZFVwZGF0ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sb2NhdGlvbl9pZCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlTG9jYXRpb25JZChsb2NhdGlvbl9pZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMubG9jYXRpb25faWQkLm5leHQobG9jYXRpb25faWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBZGRyZXNzZXNJZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5hZGRyZXNzZXNfaWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWRkcmVzc2VzSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkcmVzc2VzX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVBZGRyZXNzZXNJZChhZGRyZXNzZXNfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmFkZHJlc3Nlc19pZCQubmV4dChhZGRyZXNzZXNfaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTaGlwcGluZ0lkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBwaW5nX2lkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvblNoaXBwaW5nSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2hpcHBpbmdfaWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVNoaXBwaW5nSWQoc2hpcHBpbmdfaWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNoaXBwaW5nX2lkJC5uZXh0KHNoaXBwaW5nX2lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhdGVIYXNoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlX2hhc2g7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3BUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnRUaW1lcih0aW1lOiBudW1iZXIgfCBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZXJfc3RhcnQubmV4dCh0aW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2FjaGVkU2Vzc2lvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FjaGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2FjaGUoKTtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlU2Vzc2lvbihcbiAgICAgICAgc2Vzc2lvbjogRXNvbHZlU2Vzc2lvbixcbiAgICAgICAgZXhwaXJ5X2RhdGVfdW5peDogbnVtYmVyLFxuICAgICAgICBncmFjZV91bml4OiBudW1iZXIsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGlyeV9kYXRlID0gZnJvbVVuaXhUaW1lKGV4cGlyeV9kYXRlX3VuaXgpO1xuICAgICAgICBjb25zdCBncmFjZV9leHBpcnlfZGF0ZSA9IGZyb21Vbml4VGltZShleHBpcnlfZGF0ZV91bml4ICsgZ3JhY2VfdW5peCk7XG5cbiAgICAgICAgdGhpcy5zZXRDYWNoZShzZXNzaW9uLnRva2VuLCBncmFjZV9leHBpcnlfZGF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlcklkKHNlc3Npb24udXNlcl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWNjZXNzTGV2ZWwoc2Vzc2lvbi5hY2Nlc3NfbGV2ZWwpO1xuICAgICAgICB0aGlzLnVwZGF0ZUxvY2F0aW9uSWQoc2Vzc2lvbi5sb2NhdGlvbl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWRkcmVzc2VzSWQoc2Vzc2lvbi5hZGRyZXNzZXNfaWQpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNoaXBwaW5nSWQoc2Vzc2lvbi5zaGlwcGluZ19pZCk7XG4gICAgICAgIC8vIFVwZGF0ZSB0b2tlbiBsYXN0IHRvIG1ha2Ugc3VyZSBzZXNzaW9uIGlzIGNvcnJlY3RseSBjaGVja2VkXG4gICAgICAgIHRoaXMudXBkYXRlVG9rZW4oc2Vzc2lvbi50b2tlbik7XG5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyeV9kYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgIHVzZXJfaWQsXG4gICAgICAgIGxvY2F0aW9uX2lkLFxuICAgICAgICBhZGRyZXNzZXNfaWQsXG4gICAgICAgIHNoaXBwaW5nX2lkLFxuICAgICAgICB0b2tlbixcbiAgICB9OiBTZXNzaW9uVXBkYXRlT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIHVzZXJfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVzZXJJZCh1c2VyX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxvY2F0aW9uSWQobG9jYXRpb25faWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhZGRyZXNzZXNfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFkZHJlc3Nlc0lkKGFkZHJlc3Nlc19pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHNoaXBwaW5nX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTaGlwcGluZ0lkKHNoaXBwaW5nX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgdG9rZW4gIT09ICd1bmRlZmluZWQnICYmIHRva2VuLnRyaW0oKSAhPT0gJycpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVG9rZW4odG9rZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTdG9yYWdlS2V5KCk6IHZvaWQge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2YgdGhpcy5jb25maWcuc2Vzc2lvbl9zdG9yYWdlX2tleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAgIHRoaXMuY29uZmlnLnNlc3Npb25fc3RvcmFnZV9rZXkgIT09ICcnXG4gICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5zdG9yYWdlX2tleSA9IHRoaXMuY29uZmlnLnNlc3Npb25fc3RvcmFnZV9rZXk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldENhY2hlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5jb29raWVTZXJ2aWNlLmdldCh0aGlzLnN0b3JhZ2Vfa2V5KTtcblxuICAgICAgICBpZiAoZGF0YSAhPT0gJycpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIgfHwgIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5zdG9yYWdlX2tleSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRDYWNoZShkYXRhOiBzdHJpbmcsIGV4cGlyYXRpb25fZGF0ZT86IERhdGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLnNldCh0aGlzLnN0b3JhZ2Vfa2V5LCBkYXRhLCBleHBpcmF0aW9uX2RhdGUsICcvJyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIgfHwgIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5zdG9yYWdlX2tleSwgZGF0YSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW1vdmVDYWNoZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jb29raWVTZXJ2aWNlLmRlbGV0ZSh0aGlzLnN0b3JhZ2Vfa2V5LCAnLycpO1xuXG4gICAgICAgIGlmICghdGhpcy5pc19icm93c2VyIHx8ICFsb2NhbFN0b3JhZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKHRoaXMuc3RvcmFnZV9rZXkpO1xuICAgIH1cbn1cbiJdfQ==
241
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmctZXNvbHZlLWNvbm5lY3Qvc3JjL2xpYi9zZXNzaW9uL2Vzb2x2ZS1zZXNzaW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXBELE9BQU8sRUFDSCxlQUFlLEVBRWYsT0FBTyxFQUNQLFNBQVMsRUFDVCxTQUFTLEVBQ1QsS0FBSyxFQUNMLGFBQWEsRUFDYixHQUFHLEVBQ0gsV0FBVyxFQUNYLE1BQU0sRUFDTixvQkFBb0IsRUFDcEIsWUFBWSxHQUNmLE1BQU0sTUFBTSxDQUFDO0FBRWQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV4QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDOUMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLGFBQWEsRUFBRSxNQUFNLFdBQVcsQ0FBQzs7QUFNL0QsTUFBTSxPQUFPLG9CQUFvQjtJQXdCN0I7UUF2QmlCLGVBQVUsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztRQUNwRCxXQUFNLEdBQUcsTUFBTSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFDckMsa0JBQWEsR0FBRyxNQUFNLENBQUMsbUJBQW1CLENBQUMsQ0FBQztRQUVyRCxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDekMsYUFBUSxHQUFHLElBQUksZUFBZSxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBQzFDLGtCQUFhLEdBQUcsSUFBSSxlQUFlLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDL0MsaUJBQVksR0FB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QyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVyRSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BDLE9BQU87UUFDWCxDQUFDO1FBRUQsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2pELENBQUM7SUFFTyxXQUFXO1FBQ2YsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUVqRCxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BDLE9BQU87UUFDWCxDQUFDO1FBRUQsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDOUMsQ0FBQzsrR0F6VFEsb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7NEZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFBMQVRGT1JNX0lELCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGlzUGxhdGZvcm1Ccm93c2VyIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHtcbiAgICBCZWhhdmlvclN1YmplY3QsXG4gICAgT2JzZXJ2YWJsZSxcbiAgICBTdWJqZWN0LFxuICAgIHN3aXRjaE1hcCxcbiAgICB0YWtlVW50aWwsXG4gICAgdGltZXIsXG4gICAgY29tYmluZUxhdGVzdCxcbiAgICBtYXAsXG4gICAgc2hhcmVSZXBsYXksXG4gICAgZmlsdGVyLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIGRlYm91bmNlVGltZSxcbn0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IGZyb21Vbml4VGltZSB9IGZyb20gJ2RhdGUtZm5zJztcblxuaW1wb3J0IHsgRXNvbHZlQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL2NvcmUnO1xuaW1wb3J0IHsgRXNvbHZlQ29va2llU2VydmljZSwgZXNvbHZlSGV4SGFzaCB9IGZyb20gJy4uL3NoYXJlZCc7XG5pbXBvcnQgeyBFc29sdmVTZXNzaW9uLCBFc29sdmVTZXNzaW9uVXBkYXRlT3B0aW9ucyB9IGZyb20gJy4vaW50ZXJmYWNlcyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEVzb2x2ZVNlc3Npb25TZXJ2aWNlIHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzX2Jyb3dzZXIgPSBpc1BsYXRmb3JtQnJvd3NlcihpbmplY3QoUExBVEZPUk1fSUQpKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZyA9IGluamVjdChFc29sdmVDb25maWdTZXJ2aWNlKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvb2tpZVNlcnZpY2UgPSBpbmplY3QoRXNvbHZlQ29va2llU2VydmljZSk7XG5cbiAgICBwcml2YXRlIHRva2VuJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJyk7XG4gICAgcHJpdmF0ZSB1c2VyX2lkJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8bnVtYmVyPigwKTtcbiAgICBwcml2YXRlIGFjY2Vzc19sZXZlbCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBsb2NhdGlvbl9pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBhZGRyZXNzZXNfaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgc2hpcHBpbmdfaWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxudW1iZXI+KDApO1xuICAgIHByaXZhdGUgY2xpZW50c19pZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PG51bWJlcj4oMCk7XG4gICAgcHJpdmF0ZSBzdGF0ZV9oYXNoID0gJyc7XG5cbiAgICBwcml2YXRlIF9zZXNzaW9uOiBPYnNlcnZhYmxlPEVzb2x2ZVNlc3Npb24+O1xuXG4gICAgcHJpdmF0ZSBzdG9yYWdlX2tleSA9ICcnO1xuXG4gICAgLyogVGhlc2UgYXJlIFJ4SlMgc3ViamVjdHMgdXNlZCBmb3IgbWFuYWdpbmcgdGhlIGV4cGlyYXRpb24gb2YgdGhlIHVzZXIgc2Vzc2lvbi4gKi9cbiAgICBwcml2YXRlIHRpbWVyX3N0YXJ0ID0gbmV3IFN1YmplY3Q8bnVtYmVyIHwgRGF0ZT4oKTtcbiAgICBwcml2YXRlIHRpbWVyX3N0b3AgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgIHByaXZhdGUgZXhwaXJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgICBwcml2YXRlIHNlc3Npb25fZW5kID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICB0aGlzLnNldFN0b3JhZ2VLZXkoKTtcbiAgICAgICAgdGhpcy5fc2Vzc2lvbiA9IHRoaXMuaW5pdFNlc3Npb24oKTtcblxuICAgICAgICB0aGlzLmdldFNlc3Npb24oKVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCh7IHRva2VuLCB1c2VyX2lkLCBsb2NhdGlvbl9pZCwgY2xpZW50c19pZCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBlc29sdmVIZXhIYXNoKFxuICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4sXG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyX2lkLFxuICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb25faWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRzX2lkLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoaGFzaCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGVfaGFzaCA9IGhhc2g7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnRpbWVyX3N0YXJ0XG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBzd2l0Y2hNYXAoKHRpbWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRpbWVyKHRpbWUpLnBpcGUodGFrZVVudGlsKHRoaXMudGltZXJfc3RvcCkpO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gU3RvcmVkIHRpbWUgZXhwaXJlZC4gQ2hlY2sgaWYgc2Vzc2lvbiBpcyB2YWxpZFxuICAgICAgICAgICAgICAgIHRoaXMuc2Vzc2lvbl9lbmQubmV4dCgpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gS2lsbCBzZXNzaW9uIGFuZCByZXNldCBzdGF0ZVxuICAgICAgICB0aGlzLm9uRXhwaXJlKCkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIGlzVmFsaWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRva2VuKCkgIT09ICcnO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRTZXNzaW9uKCk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2Vzc2lvbjtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2Vzc2lvblZhbHVlKCk6IEVzb2x2ZVNlc3Npb24ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdG9rZW46IHRoaXMudG9rZW4kLmdldFZhbHVlKCksXG4gICAgICAgICAgICB1c2VyX2lkOiB0aGlzLnVzZXJfaWQkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBhY2Nlc3NfbGV2ZWw6IHRoaXMuYWNjZXNzX2xldmVsJC5nZXRWYWx1ZSgpLFxuICAgICAgICAgICAgbG9jYXRpb25faWQ6IHRoaXMubG9jYXRpb25faWQkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBhZGRyZXNzZXNfaWQ6IHRoaXMuYWRkcmVzc2VzX2lkJC5nZXRWYWx1ZSgpLFxuICAgICAgICAgICAgc2hpcHBpbmdfaWQ6IHRoaXMuc2hpcHBpbmdfaWQkLmdldFZhbHVlKCksXG4gICAgICAgICAgICBjbGllbnRzX2lkOiB0aGlzLmNsaWVudHNfaWQkLmdldFZhbHVlKCksXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHVibGljIG9uU2Vzc2lvbkVuZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2Vzc2lvbl9lbmQuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uRXhwaXJlKCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5leHBpcmUuYXNPYnNlcnZhYmxlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGV4cGlyZVNlc3Npb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZXhwaXJlLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW4kLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVG9rZW5VcGRhdGUoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG9rZW4kLmFzT2JzZXJ2YWJsZSgpLnBpcGUoXG4gICAgICAgICAgICBmaWx0ZXIoKHRva2VuKSA9PiB0b2tlbiAhPT0gJycpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlVG9rZW4odG9rZW46IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLnRva2VuJC5uZXh0KHRva2VuKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0VXNlcklkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJfaWQkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uVXNlcklkVXBkYXRlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnVzZXJfaWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZVVzZXJJZCh1c2VyX2lkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyX2lkJC5uZXh0KHVzZXJfaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRBY2Nlc3NMZXZlbCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5hY2Nlc3NfbGV2ZWwkLmdldFZhbHVlKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG9uQWNjZXNzTGV2ZWxVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWNjZXNzX2xldmVsJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVBY2Nlc3NMZXZlbChhY2Nlc3NfbGV2ZWw6IG51bWJlcikge1xuICAgICAgICB0aGlzLmFjY2Vzc19sZXZlbCQubmV4dChhY2Nlc3NfbGV2ZWwpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRMb2NhdGlvbklkKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmxvY2F0aW9uX2lkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkxvY2F0aW9uSWRVcGRhdGUoKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9jYXRpb25faWQkLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHVwZGF0ZUxvY2F0aW9uSWQobG9jYXRpb25faWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmxvY2F0aW9uX2lkJC5uZXh0KGxvY2F0aW9uX2lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0QWRkcmVzc2VzSWQoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkcmVzc2VzX2lkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkFkZHJlc3Nlc0lkVXBkYXRlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmFkZHJlc3Nlc19pZCQuYXNPYnNlcnZhYmxlKCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgdXBkYXRlQWRkcmVzc2VzSWQoYWRkcmVzc2VzX2lkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5hZGRyZXNzZXNfaWQkLm5leHQoYWRkcmVzc2VzX2lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2hpcHBpbmdJZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5zaGlwcGluZ19pZCQuZ2V0VmFsdWUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb25TaGlwcGluZ0lkVXBkYXRlKCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiB0aGlzLnNoaXBwaW5nX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVTaGlwcGluZ0lkKHNoaXBwaW5nX2lkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaGlwcGluZ19pZCQubmV4dChzaGlwcGluZ19pZCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldENsaWVudHNJZCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5jbGllbnRzX2lkJC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvbkNsaWVudHNJZFVwZGF0ZSgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5jbGllbnRzX2lkJC5hc09ic2VydmFibGUoKS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyB1cGRhdGVDbGllbnRzSWQoY2xpZW50c19pZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2xpZW50c19pZCQubmV4dChjbGllbnRzX2lkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U3RhdGVIYXNoKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YXRlX2hhc2g7XG4gICAgfVxuXG4gICAgcHVibGljIHN0b3BUaW1lcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhcnRUaW1lcih0aW1lOiBudW1iZXIgfCBEYXRlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudGltZXJfc3RhcnQubmV4dCh0aW1lKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0Q2FjaGVkU2Vzc2lvbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2FjaGUoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVzZXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2FjaGUoKTtcbiAgICAgICAgdGhpcy50aW1lcl9zdG9wLm5leHQoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlU2Vzc2lvbihcbiAgICAgICAgc2Vzc2lvbjogRXNvbHZlU2Vzc2lvbixcbiAgICAgICAgZXhwaXJ5X2RhdGVfdW5peDogbnVtYmVyLFxuICAgICAgICBncmFjZV91bml4OiBudW1iZXIsXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGV4cGlyeV9kYXRlID0gZnJvbVVuaXhUaW1lKGV4cGlyeV9kYXRlX3VuaXgpO1xuICAgICAgICBjb25zdCBncmFjZV9leHBpcnlfZGF0ZSA9IGZyb21Vbml4VGltZShleHBpcnlfZGF0ZV91bml4ICsgZ3JhY2VfdW5peCk7XG5cbiAgICAgICAgdGhpcy5zZXRDYWNoZShzZXNzaW9uLnRva2VuLCBncmFjZV9leHBpcnlfZGF0ZSk7XG4gICAgICAgIHRoaXMudXBkYXRlVXNlcklkKHNlc3Npb24udXNlcl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWNjZXNzTGV2ZWwoc2Vzc2lvbi5hY2Nlc3NfbGV2ZWwpO1xuICAgICAgICB0aGlzLnVwZGF0ZUxvY2F0aW9uSWQoc2Vzc2lvbi5sb2NhdGlvbl9pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWRkcmVzc2VzSWQoc2Vzc2lvbi5hZGRyZXNzZXNfaWQpO1xuICAgICAgICB0aGlzLnVwZGF0ZVNoaXBwaW5nSWQoc2Vzc2lvbi5zaGlwcGluZ19pZCk7XG4gICAgICAgIHRoaXMudXBkYXRlQ2xpZW50c0lkKHNlc3Npb24uY2xpZW50c19pZCk7XG4gICAgICAgIC8vIFVwZGF0ZSB0b2tlbiBsYXN0IHRvIG1ha2Ugc3VyZSBzZXNzaW9uIGlzIGNvcnJlY3RseSBjaGVja2VkXG4gICAgICAgIHRoaXMudXBkYXRlVG9rZW4oc2Vzc2lvbi50b2tlbik7XG5cbiAgICAgICAgdGhpcy5zdGFydFRpbWVyKGV4cGlyeV9kYXRlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaGFuZGxlVXBkYXRlU2Vzc2lvbih7XG4gICAgICAgIHVzZXJfaWQsXG4gICAgICAgIGxvY2F0aW9uX2lkLFxuICAgICAgICBhZGRyZXNzZXNfaWQsXG4gICAgICAgIHNoaXBwaW5nX2lkLFxuICAgICAgICBjbGllbnRzX2lkLFxuICAgICAgICB0b2tlbixcbiAgICB9OiBFc29sdmVTZXNzaW9uVXBkYXRlT3B0aW9ucyk6IHZvaWQge1xuICAgICAgICBpZiAodHlwZW9mIHVzZXJfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVVzZXJJZCh1c2VyX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgbG9jYXRpb25faWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUxvY2F0aW9uSWQobG9jYXRpb25faWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBhZGRyZXNzZXNfaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFkZHJlc3Nlc0lkKGFkZHJlc3Nlc19pZCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodHlwZW9mIHNoaXBwaW5nX2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVTaGlwcGluZ0lkKHNoaXBwaW5nX2lkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2YgY2xpZW50c19pZCAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlQ2xpZW50c0lkKGNsaWVudHNfaWQpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0b2tlbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdG9rZW4udHJpbSgpICE9PSAnJykge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUb2tlbih0b2tlbik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluaXRTZXNzaW9uKCk6IE9ic2VydmFibGU8RXNvbHZlU2Vzc2lvbj4ge1xuICAgICAgICBjb25zdCBzZXNzaW9uID0ge1xuICAgICAgICAgICAgdG9rZW46IHRoaXMub25Ub2tlblVwZGF0ZSgpLFxuICAgICAgICAgICAgdXNlcl9pZDogdGhpcy5vblVzZXJJZFVwZGF0ZSgpLFxuICAgICAgICAgICAgYWNjZXNzX2xldmVsOiB0aGlzLm9uQWNjZXNzTGV2ZWxVcGRhdGUoKSxcbiAgICAgICAgICAgIGxvY2F0aW9uX2lkOiB0aGlzLm9uTG9jYXRpb25JZFVwZGF0ZSgpLFxuICAgICAgICAgICAgYWRkcmVzc2VzX2lkOiB0aGlzLm9uQWRkcmVzc2VzSWRVcGRhdGUoKSxcbiAgICAgICAgICAgIHNoaXBwaW5nX2lkOiB0aGlzLm9uU2hpcHBpbmdJZFVwZGF0ZSgpLFxuICAgICAgICAgICAgY2xpZW50c19pZDogdGhpcy5vbkNsaWVudHNJZFVwZGF0ZSgpLFxuICAgICAgICB9O1xuXG4gICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KHNlc3Npb24pLnBpcGUoXG4gICAgICAgICAgICAvLyBEZWxheXMgdGhlIGVtaXQgb25seSBzbGlnaHRseSBpbmNhc2UgbXVsdGlwbGUgdmFsdWVzIGFyZSBzZXRcbiAgICAgICAgICAgIGRlYm91bmNlVGltZSgxMCksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKSxcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFN0b3JhZ2VLZXkoKTogdm9pZCB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVvZiB0aGlzLmNvbmZpZy5zZXNzaW9uX3N0b3JhZ2Vfa2V5ID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICAgdGhpcy5jb25maWcuc2Vzc2lvbl9zdG9yYWdlX2tleSAhPT0gJydcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JhZ2Vfa2V5ID0gdGhpcy5jb25maWcuc2Vzc2lvbl9zdG9yYWdlX2tleTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0Q2FjaGUoKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSB0aGlzLmNvb2tpZVNlcnZpY2UuZ2V0KHRoaXMuc3RvcmFnZV9rZXkpO1xuXG4gICAgICAgIGlmIChkYXRhICE9PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3NlciB8fCAhbG9jYWxTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBsb2NhbFN0b3JhZ2UuZ2V0SXRlbSh0aGlzLnN0b3JhZ2Vfa2V5KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldENhY2hlKGRhdGE6IHN0cmluZywgZXhwaXJhdGlvbl9kYXRlPzogRGF0ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2Uuc2V0KHRoaXMuc3RvcmFnZV9rZXksIGRhdGEsIGV4cGlyYXRpb25fZGF0ZSwgJy8nKTtcblxuICAgICAgICBpZiAoIXRoaXMuaXNfYnJvd3NlciB8fCAhbG9jYWxTdG9yYWdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLnN0b3JhZ2Vfa2V5LCBkYXRhKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbW92ZUNhY2hlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNvb2tpZVNlcnZpY2UuZGVsZXRlKHRoaXMuc3RvcmFnZV9rZXksICcvJyk7XG5cbiAgICAgICAgaWYgKCF0aGlzLmlzX2Jyb3dzZXIgfHwgIWxvY2FsU3RvcmFnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGhpcy5zdG9yYWdlX2tleSk7XG4gICAgfVxufVxuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9pbnRlcmZhY2VzL2Vzb2x2ZS1zZXNzaW9uLWRhdGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVNlc3Npb25EYXRhIHtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBsb2NhdGlvbl9pZDogbnVtYmVyO1xuICAgIHNoaXBwaW5nX2lkOiBudW1iZXI7XG59XG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tZGF0YS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9pbnRlcmZhY2VzL2Vzb2x2ZS1zZXNzaW9uLWRhdGEuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIEVzb2x2ZVNlc3Npb25EYXRhIHtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBsb2NhdGlvbl9pZDogbnVtYmVyO1xuICAgIHNoaXBwaW5nX2lkOiBudW1iZXI7XG4gICAgY2xpZW50c19pZDogbnVtYmVyO1xufVxuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24tdXBkYXRlLW9wdGlvbnMuaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlc3Npb24vaW50ZXJmYWNlcy9lc29sdmUtc2Vzc2lvbi11cGRhdGUtb3B0aW9ucy5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlU2Vzc2lvblVwZGF0ZU9wdGlvbnMge1xuICAgIHVzZXJfaWQ/OiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ/OiBudW1iZXI7XG4gICAgYWRkcmVzc2VzX2lkPzogbnVtYmVyO1xuICAgIHNoaXBwaW5nX2lkPzogbnVtYmVyO1xuICAgIGNsaWVudHNfaWQ/OiBudW1iZXI7XG4gICAgdG9rZW4/OiBzdHJpbmc7XG59XG4iXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlc3Npb24vaW50ZXJmYWNlcy9lc29sdmUtc2Vzc2lvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlU2Vzc2lvbiB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgYWNjZXNzX2xldmVsOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZDogbnVtYmVyO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNvbHZlLXNlc3Npb24uaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZy1lc29sdmUtY29ubmVjdC9zcmMvbGliL3Nlc3Npb24vaW50ZXJmYWNlcy9lc29sdmUtc2Vzc2lvbi5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgRXNvbHZlU2Vzc2lvbiB7XG4gICAgdG9rZW46IHN0cmluZztcbiAgICB1c2VyX2lkOiBudW1iZXI7XG4gICAgYWNjZXNzX2xldmVsOiBudW1iZXI7XG4gICAgbG9jYXRpb25faWQ6IG51bWJlcjtcbiAgICBhZGRyZXNzZXNfaWQ6IG51bWJlcjtcbiAgICBzaGlwcGluZ19pZDogbnVtYmVyO1xuICAgIGNsaWVudHNfaWQ6IG51bWJlcjtcbn1cbiJdfQ==
@@ -1,3 +1,4 @@
1
1
  export * from './esolve-session-data.interface';
2
2
  export * from './esolve-session.interface';
3
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZXNvbHZlLXNlc3Npb24tZGF0YS5pbnRlcmZhY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc2Vzc2lvbi5pbnRlcmZhY2UnO1xuIl19
3
+ export * from './esolve-session-update-options.interface';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL25nLWVzb2x2ZS1jb25uZWN0L3NyYy9saWIvc2Vzc2lvbi9pbnRlcmZhY2VzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLDJDQUEyQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9lc29sdmUtc2Vzc2lvbi1kYXRhLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zZXNzaW9uLmludGVyZmFjZSc7XG5leHBvcnQgKiBmcm9tICcuL2Vzb2x2ZS1zZXNzaW9uLXVwZGF0ZS1vcHRpb25zLmludGVyZmFjZSc7XG4iXX0=