bx-rest 0.6.6 → 0.6.8

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.
@@ -0,0 +1,34 @@
1
+ export function CatchError(options) {
2
+ return function (target, propertyKey, descriptor) {
3
+ const original = descriptor.value;
4
+ descriptor.value = function (...args) {
5
+ try {
6
+ return original.apply(this, args);
7
+ }
8
+ catch (err) {
9
+ const errorInfo = {
10
+ message: `❌ Error in ${target.constructor.name}.${propertyKey}`,
11
+ args,
12
+ error: err instanceof Error ? err.message : String(err),
13
+ stack: err instanceof Error ? err.stack : new Error().stack,
14
+ };
15
+ console.error(formatError(errorInfo));
16
+ if (options?.rethrow)
17
+ throw err;
18
+ return options?.defaultValue;
19
+ }
20
+ };
21
+ return descriptor;
22
+ };
23
+ }
24
+ // Общая функция форматирования
25
+ export function formatError(info) {
26
+ const stackLines = info.stack?.split('\n').slice(2).join('\n');
27
+ return [
28
+ info.message,
29
+ info.args ? ` • args: ${JSON.stringify(info.args)}` : '',
30
+ info.error ? ` • error: ${info.error}` : '',
31
+ ` • stack trace:\n${stackLines}`,
32
+ ].join('\n');
33
+ }
34
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JIYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvZnVuY3Rpb25zL2Vycm9ySGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsVUFBVSxDQUFDLE9BQW1EO0lBQzVFLE9BQU8sVUFDTCxNQUFXLEVBQ1gsV0FBbUIsRUFDbkIsVUFBOEI7UUFFOUIsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLEtBQUssQ0FBQTtRQUVqQyxVQUFVLENBQUMsS0FBSyxHQUFHLFVBQVUsR0FBRyxJQUFXO1lBQ3pDLElBQUksQ0FBQztnQkFDSCxPQUFPLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ25DLENBQUM7WUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO2dCQUNiLE1BQU0sU0FBUyxHQUFHO29CQUNoQixPQUFPLEVBQUUsY0FBYyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksSUFBSSxXQUFXLEVBQUU7b0JBQy9ELElBQUk7b0JBQ0osS0FBSyxFQUFFLEdBQUcsWUFBWSxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUM7b0JBQ3ZELEtBQUssRUFBRSxHQUFHLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLEtBQUssRUFBRSxDQUFDLEtBQUs7aUJBQzVELENBQUE7Z0JBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtnQkFFckMsSUFBSSxPQUFPLEVBQUUsT0FBTztvQkFBRSxNQUFNLEdBQUcsQ0FBQTtnQkFDL0IsT0FBTyxPQUFPLEVBQUUsWUFBWSxDQUFBO1lBQzlCLENBQUM7UUFDSCxDQUFDLENBQUE7UUFFRCxPQUFPLFVBQVUsQ0FBQTtJQUNuQixDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQsK0JBQStCO0FBQy9CLE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBdUU7SUFDakcsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM5RCxPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU87UUFDWixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDMUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsZUFBZSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDN0Msc0JBQXNCLFVBQVUsRUFBRTtLQUNuQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNkLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gQ2F0Y2hFcnJvcihvcHRpb25zPzogeyByZXRocm93PzogYm9vbGVhbjsgZGVmYXVsdFZhbHVlPzogYW55IH0pIHtcclxuICByZXR1cm4gZnVuY3Rpb24gKFxyXG4gICAgdGFyZ2V0OiBhbnksXHJcbiAgICBwcm9wZXJ0eUtleTogc3RyaW5nLFxyXG4gICAgZGVzY3JpcHRvcjogUHJvcGVydHlEZXNjcmlwdG9yXHJcbiAgKSB7XHJcbiAgICBjb25zdCBvcmlnaW5hbCA9IGRlc2NyaXB0b3IudmFsdWVcclxuXHJcbiAgICBkZXNjcmlwdG9yLnZhbHVlID0gZnVuY3Rpb24gKC4uLmFyZ3M6IGFueVtdKSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsLmFwcGx5KHRoaXMsIGFyZ3MpXHJcbiAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgIGNvbnN0IGVycm9ySW5mbyA9IHtcclxuICAgICAgICAgIG1lc3NhZ2U6IGDinYwgRXJyb3IgaW4gJHt0YXJnZXQuY29uc3RydWN0b3IubmFtZX0uJHtwcm9wZXJ0eUtleX1gLFxyXG4gICAgICAgICAgYXJncyxcclxuICAgICAgICAgIGVycm9yOiBlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogU3RyaW5nKGVyciksXHJcbiAgICAgICAgICBzdGFjazogZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIuc3RhY2sgOiBuZXcgRXJyb3IoKS5zdGFjayxcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoZm9ybWF0RXJyb3IoZXJyb3JJbmZvKSlcclxuXHJcbiAgICAgICAgaWYgKG9wdGlvbnM/LnJldGhyb3cpIHRocm93IGVyclxyXG4gICAgICAgIHJldHVybiBvcHRpb25zPy5kZWZhdWx0VmFsdWVcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBkZXNjcmlwdG9yXHJcbiAgfVxyXG59XHJcblxyXG4vLyDQntCx0YnQsNGPINGE0YPQvdC60YbQuNGPINGE0L7RgNC80LDRgtC40YDQvtCy0LDQvdC40Y9cclxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdEVycm9yKGluZm86IHsgbWVzc2FnZTogc3RyaW5nOyBhcmdzPzogYW55W107IGVycm9yPzogc3RyaW5nOyBzdGFjaz86IHN0cmluZyB9KTogc3RyaW5nIHtcclxuICBjb25zdCBzdGFja0xpbmVzID0gaW5mby5zdGFjaz8uc3BsaXQoJ1xcbicpLnNsaWNlKDIpLmpvaW4oJ1xcbicpXHJcbiAgcmV0dXJuIFtcclxuICAgIGluZm8ubWVzc2FnZSxcclxuICAgIGluZm8uYXJncyA/IGAgICDigKIgYXJnczogJHtKU09OLnN0cmluZ2lmeShpbmZvLmFyZ3MpfWAgOiAnJyxcclxuICAgIGluZm8uZXJyb3IgPyBgICAg4oCiIGVycm9yOiAke2luZm8uZXJyb3J9YCA6ICcnLFxyXG4gICAgYCAgIOKAoiBzdGFjayB0cmFjZTpcXG4ke3N0YWNrTGluZXN9YCxcclxuICBdLmpvaW4oJ1xcbicpXHJcbn1cclxuIl19
@@ -1,4 +1,6 @@
1
+ import { __decorate } from "tslib";
1
2
  import { toDate, toNum } from '../../services/base';
3
+ import { CatchError } from '../../functions/errorHandler';
2
4
  export class BXRestMapImRecent {
3
5
  static get(value) {
4
6
  return value
@@ -18,7 +20,7 @@ export class BXRestMapImRecent {
18
20
  }
19
21
  }
20
22
  : undefined,
21
- chat: i.chat
23
+ chat: i.chat && BXRestMapImRecent.isIBXRestImDialogRecentGetChatChatDataHttp(i.chat)
22
24
  ? {
23
25
  ...i.chat,
24
26
  ...{
@@ -26,7 +28,7 @@ export class BXRestMapImRecent {
26
28
  date_create: toDate(i.chat.date_create)
27
29
  }
28
30
  }
29
- : undefined,
31
+ : i.chat,
30
32
  }
31
33
  }))
32
34
  : undefined;
@@ -58,5 +60,14 @@ export class BXRestMapImRecent {
58
60
  }
59
61
  : undefined;
60
62
  }
63
+ static isIBXRestImDialogRecentGetChatChatDataHttp(item) {
64
+ return 'id' in item;
65
+ }
61
66
  }
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvbWFwL2ltL3JlY2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxPQUFPLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBTW5ELE1BQU0sT0FBTyxpQkFBaUI7SUFFNUIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxLQUFpRDtRQUMxRCxPQUFPLEtBQUs7WUFDVixDQUFDLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7Z0JBQ2hCLEdBQUcsQ0FBQztnQkFDSixHQUFHO29CQUNELFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO29CQUN6QixJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUU7d0JBQ3ZCLENBQUMsQ0FBQzs0QkFDQSxHQUFHLENBQUMsQ0FBQyxJQUFJOzRCQUNULEdBQUc7Z0NBQ0QsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztnQ0FDcEIsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztnQ0FDekYsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSztnQ0FDbkYsTUFBTSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFB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UmVjZW50R2V0LFxyXG4gIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEh0dHAsXHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvaW0vZGlhbG9nL3JlY2VudC9nZXQnXHJcbmltcG9ydCB7IHRvRGF0ZSwgdG9OdW0gfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9iYXNlJ1xyXG5pbXBvcnQge1xyXG4gIGlCWFJlc3RJbURpYWxvZ1JlY2VudExpc3QsXHJcbiAgaUJYUmVzdEltRGlhbG9nUmVjZW50TGlzdEh0dHBcclxufSBmcm9tICcuLi8uLi90eXBpZmljYXRpb24vcmVzdC9pbS9kaWFsb2cvcmVjZW50L2xpc3QnXHJcblxyXG5leHBvcnQgY2xhc3MgQlhSZXN0TWFwSW1SZWNlbnQge1xyXG5cclxuICBzdGF0aWMgZ2V0KHZhbHVlOiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRIdHRwW10gfCB1bmRlZmluZWQpOiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRbXSB8IHVuZGVmaW5lZCB7XHJcbiAgICByZXR1cm4gdmFsdWVcclxuICAgICAgPyB2YWx1ZS5tYXAoaSA9PiAoe1xyXG4gICAgICAgIC4uLmksXHJcbiAgICAgICAgLi4ue1xyXG4gICAgICAgICAgZGF0ZV91cGRhdGU6IHRvRGF0ZShpLmRhdGVfdXBkYXRlKSxcclxuICAgICAgICAgIGNvdW50ZXI6IHRvTnVtKGkuY291bnRlciksXHJcbiAgICAgICAgICB1c2VyOiBpLnVzZXIgJiYgaS51c2VyLmlkXHJcbiAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgIC4uLmkudXNlcixcclxuICAgICAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgICAgICBpZDogdG9OdW0oaS51c2VyLmlkKSxcclxuICAgICAgICAgICAgICAgIGxhc3RfYWN0aXZpdHlfZGF0ZTogaS51c2VyLmxhc3RfYWN0aXZpdHlfZGF0ZSA/IHRvRGF0ZShpLnVzZXIubGFzdF9hY3Rpdml0eV9kYXRlKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgbW9iaWxlX2xhc3RfZGF0ZTogaS51c2VyLm1vYmlsZV9sYXN0X2RhdGUgPyB0b0RhdGUoaS51c2VyLm1vYmlsZV9sYXN0X2RhdGUpIDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBhYnNlbnQ6IGkudXNlci5hYnNlbnQgPyB0b0RhdGUoaS51c2VyLmFic2VudCkgOiBmYWxzZSxcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICBjaGF0OiBpLmNoYXRcclxuICAgICAgICAgICAgPyB7XHJcbiAgICAgICAgICAgICAgLi4uaS5jaGF0LFxyXG4gICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgIGlkOiB0b051bShpLmNoYXQuaWQpLFxyXG4gICAgICAgICAgICAgICAgZGF0ZV9jcmVhdGU6IHRvRGF0ZShpLmNoYXQuZGF0ZV9jcmVhdGUpXHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgIH1cclxuICAgICAgfSkpXHJcbiAgICAgIDogdW5kZWZpbmVkXHJcbiAgfVxyXG5cclxuICBzdGF0aWMgbGlzdCh2YWx1ZTogaUJYUmVzdEltRGlhbG9nUmVjZW50TGlzdEh0dHAgfCB1bmRlZmluZWQpOiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRMaXN0IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiAodmFsdWUpXHJcbiAgICAgID8ge1xyXG4gICAgICAgIC4uLnZhbHVlLCAuLi57XHJcbiAgICAgICAgICBpdGVtczogdmFsdWUuaXRlbXMubWFwKGkgPT4gKHtcclxuICAgICAgICAgICAgLi4uaSwgLi4ue1xyXG4gICAgICAgICAgICAgIGlkOiB0b051bShpLmlkKSxcclxuICAgICAgICAgICAgICBkYXRlX3VwZGF0ZTogdG9EYXRlKGkuZGF0ZV91cGRhdGUpLFxyXG4gICAgICAgICAgICAgIGxpbmVzOiAoaS5saW5lcykgPyB7Li4uaS5saW5lcywgLi4ue2RhdGVfY3JlYXRlOiB0b0RhdGUoaS5saW5lcy5kYXRlX2NyZWF0ZSl9fSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICBtZXNzYWdlOiB7Li4uaS5tZXNzYWdlLCAuLi57ZGF0ZTogdG9EYXRlKGkubWVzc2FnZS5kYXRlKX19LFxyXG4gICAgICAgICAgICAgIGNoYXQ6IChpLmNoYXQpID8gey4uLmkuY2hhdCwgLi4ue2RhdGVfY3JlYXRlOiB0b0RhdGUoaS5jaGF0LmRhdGVfY3JlYXRlKX19IDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIHVzZXI6IChpLnVzZXIpXHJcbiAgICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgICAgLi4uaS51c2VyLFxyXG4gICAgICAgICAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgICAgICAgICAgYmlydGhkYXk6IChpLnVzZXIuYmlydGhkYXkpID8gdG9EYXRlKGkudXNlci5iaXJ0aGRheSkgOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgICBsYXN0X2FjdGl2aXR5X2RhdGU6IChpLnVzZXIubGFzdF9hY3Rpdml0eV9kYXRlKSA/IHRvRGF0ZShpLnVzZXIubGFzdF9hY3Rpdml0eV9kYXRlKSA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgICAgICBtb2JpbGVfbGFzdF9kYXRlOiAoaS51c2VyLm1vYmlsZV9sYXN0X2RhdGUpID8gdG9EYXRlKGkudXNlci5tb2JpbGVfbGFzdF9kYXRlKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSkpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIDogdW5kZWZpbmVkXHJcbiAgfVxyXG59Il19
67
+ __decorate([
68
+ CatchError({ rethrow: true })
69
+ ], BXRestMapImRecent, "get", null);
70
+ __decorate([
71
+ CatchError({ rethrow: true })
72
+ ], BXRestMapImRecent, "list", null);
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvbWFwL2ltL3JlY2VudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBSUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUtuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFFekQsTUFBTSxPQUFPLGlCQUFpQjtJQUdyQixBQUFQLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBaUQ7UUFFeEQsT0FBTyxLQUFLO1lBQ1YsQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUNoQixHQUFHLENBQUM7Z0JBQ0osR0FBRztvQkFDRCxXQUFXLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7b0JBQ2xDLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztvQkFDekIsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFO3dCQUN2QixDQUFDLENBQUM7NEJBQ0EsR0FBRyxDQUFDLENBQUMsSUFBSTs0QkFDVCxHQUFHO2dDQUNELEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7Z0NBQ3BCLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7Z0NBQ3pGLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxD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QkFDRixDQUFDLENBQUM7aUJBQ0o7YUFDRjtZQUNELENBQUMsQ0FBQyxTQUFTLENBQUE7SUFDZixDQUFDO0lBRUQsTUFBTSxDQUFDLDBDQUEwQyxDQUFDLElBQXlGO1FBQ3pJLE9BQU8sSUFBSSxJQUFJLElBQUksQ0FBQTtJQUNyQixDQUFDO0NBQ0Y7QUFsRVE7SUFETixVQUFVLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUM7a0NBaUM3QjtBQUdNO0lBRE4sVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDO21DQTJCN0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldCwgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdENoYXREYXRhSHR0cCwgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdFVzZXJEYXRhQmFzZSxcclxuICBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRIdHRwLFxyXG59IGZyb20gJy4uLy4uL3R5cGlmaWNhdGlvbi9yZXN0L2ltL2RpYWxvZy9yZWNlbnQvZ2V0J1xyXG5pbXBvcnQgeyB0b0RhdGUsIHRvTnVtIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYmFzZSdcclxuaW1wb3J0IHtcclxuICBpQlhSZXN0SW1EaWFsb2dSZWNlbnRMaXN0LFxyXG4gIGlCWFJlc3RJbURpYWxvZ1JlY2VudExpc3RIdHRwXHJcbn0gZnJvbSAnLi4vLi4vdHlwaWZpY2F0aW9uL3Jlc3QvaW0vZGlhbG9nL3JlY2VudC9saXN0J1xyXG5pbXBvcnQgeyBDYXRjaEVycm9yIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb25zL2Vycm9ySGFuZGxlcidcclxuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3RNYXBJbVJlY2VudCB7XHJcblxyXG4gIEBDYXRjaEVycm9yKHsgcmV0aHJvdzogdHJ1ZSB9KVxyXG4gIHN0YXRpYyBnZXQodmFsdWU6IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEh0dHBbXSB8IHVuZGVmaW5lZCk6IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFtdIHwgdW5kZWZpbmVkIHtcclxuXHJcbiAgICAgIHJldHVybiB2YWx1ZVxyXG4gICAgICAgID8gdmFsdWUubWFwKGkgPT4gKHtcclxuICAgICAgICAgIC4uLmksXHJcbiAgICAgICAgICAuLi57XHJcbiAgICAgICAgICAgIGRhdGVfdXBkYXRlOiB0b0RhdGUoaS5kYXRlX3VwZGF0ZSksXHJcbiAgICAgICAgICAgIGNvdW50ZXI6IHRvTnVtKGkuY291bnRlciksXHJcbiAgICAgICAgICAgIHVzZXI6IGkudXNlciAmJiBpLnVzZXIuaWRcclxuICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIC4uLmkudXNlcixcclxuICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgaWQ6IHRvTnVtKGkudXNlci5pZCksXHJcbiAgICAgICAgICAgICAgICAgIGxhc3RfYWN0aXZpdHlfZGF0ZTogaS51c2VyLmxhc3RfYWN0aXZpdHlfZGF0ZSA/IHRvRGF0ZShpLnVzZXIubGFzdF9hY3Rpdml0eV9kYXRlKSA6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICBtb2JpbGVfbGFzdF9kYXRlOiBpLnVzZXIubW9iaWxlX2xhc3RfZGF0ZSA/IHRvRGF0ZShpLnVzZXIubW9iaWxlX2xhc3RfZGF0ZSkgOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgICAgYWJzZW50OiBpLnVzZXIuYWJzZW50ID8gdG9EYXRlKGkudXNlci5hYnNlbnQpIDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICBjaGF0OiBpLmNoYXQgJiYgQlhSZXN0TWFwSW1SZWNlbnQuaXNJQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0Q2hhdERhdGFIdHRwKGkuY2hhdClcclxuICAgICAgICAgICAgICA/IHtcclxuICAgICAgICAgICAgICAgIC4uLmkuY2hhdCxcclxuICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgaWQ6IHRvTnVtKGkuY2hhdC5pZCksXHJcbiAgICAgICAgICAgICAgICAgIGRhdGVfY3JlYXRlOiB0b0RhdGUoaS5jaGF0LmRhdGVfY3JlYXRlKVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICA6IGkuY2hhdCxcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KSlcclxuICAgICAgICA6IHVuZGVmaW5lZFxyXG5cclxuICB9XHJcblxyXG4gIEBDYXRjaEVycm9yKHsgcmV0aHJvdzogdHJ1ZSB9KVxyXG4gIHN0YXRpYyBsaXN0KHZhbHVlOiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRMaXN0SHR0cCB8IHVuZGVmaW5lZCk6IGlCWFJlc3RJbURpYWxvZ1JlY2VudExpc3QgfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuICh2YWx1ZSlcclxuICAgICAgPyB7XHJcbiAgICAgICAgLi4udmFsdWUsIC4uLntcclxuICAgICAgICAgIGl0ZW1zOiB2YWx1ZS5pdGVtcy5tYXAoaSA9PiAoe1xyXG4gICAgICAgICAgICAuLi5pLCAuLi57XHJcbiAgICAgICAgICAgICAgaWQ6IHRvTnVtKGkuaWQpLFxyXG4gICAgICAgICAgICAgIGRhdGVfdXBkYXRlOiB0b0RhdGUoaS5kYXRlX3VwZGF0ZSksXHJcbiAgICAgICAgICAgICAgbGluZXM6IChpLmxpbmVzKSA/IHsuLi5pLmxpbmVzLCAuLi57ZGF0ZV9jcmVhdGU6IHRvRGF0ZShpLmxpbmVzLmRhdGVfY3JlYXRlKX19IDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIG1lc3NhZ2U6IHsuLi5pLm1lc3NhZ2UsIC4uLntkYXRlOiB0b0RhdGUoaS5tZXNzYWdlLmRhdGUpfX0sXHJcbiAgICAgICAgICAgICAgY2hhdDogKGkuY2hhdCkgPyB7Li4uaS5jaGF0LCAuLi57ZGF0ZV9jcmVhdGU6IHRvRGF0ZShpLmNoYXQuZGF0ZV9jcmVhdGUpfX0gOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgdXNlcjogKGkudXNlcilcclxuICAgICAgICAgICAgICAgID8ge1xyXG4gICAgICAgICAgICAgICAgICAuLi5pLnVzZXIsXHJcbiAgICAgICAgICAgICAgICAgIC4uLntcclxuICAgICAgICAgICAgICAgICAgICBiaXJ0aGRheTogKGkudXNlci5iaXJ0aGRheSkgPyB0b0RhdGUoaS51c2VyLmJpcnRoZGF5KSA6IGZhbHNlLFxyXG4gICAgICAgICAgICAgICAgICAgIGxhc3RfYWN0aXZpdHlfZGF0ZTogKGkudXNlci5sYXN0X2FjdGl2aXR5X2RhdGUpID8gdG9EYXRlKGkudXNlci5sYXN0X2FjdGl2aXR5X2RhdGUpIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgICAgIG1vYmlsZV9sYXN0X2RhdGU6IChpLnVzZXIubW9iaWxlX2xhc3RfZGF0ZSkgPyB0b0RhdGUoaS51c2VyLm1vYmlsZV9sYXN0X2RhdGUpIDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KSlcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgOiB1bmRlZmluZWRcclxuICB9XHJcblxyXG4gIHN0YXRpYyBpc0lCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXRDaGF0RGF0YUh0dHAoaXRlbTogaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdENoYXREYXRhSHR0cCB8IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXRVc2VyRGF0YUJhc2UpOiBpdGVtIGlzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXRDaGF0RGF0YUh0dHAge1xyXG4gICAgcmV0dXJuICdpZCcgaW4gaXRlbVxyXG4gIH1cclxufSJdfQ==
@@ -141,6 +141,9 @@ export class BXRestNavvyUser {
141
141
  if (!Object.prototype.hasOwnProperty.call(params.FILTER, 'ACTIVE')) {
142
142
  params.FILTER.ACTIVE = this.def.params.ACTIVE;
143
143
  }
144
+ else if (typeof params.FILTER.ACTIVE !== 'boolean') {
145
+ delete params.FILTER.ACTIVE;
146
+ }
144
147
  if (!Object.prototype.hasOwnProperty.call(params, 'start')) {
145
148
  params.start = this.def.params.start;
146
149
  }
@@ -149,4 +152,4 @@ export class BXRestNavvyUser {
149
152
  }
150
153
  }
151
154
  }
152
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRzNFLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ0UsUUFBRyxHQUE4QztZQUMvQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUM7U0FDakMsQ0FBQTtRQUNELFFBQUcsR0FBRztZQUNKLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDdkIsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO1lBQzNCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDeEIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsNEJBQTRCO1lBQ3ZELHVDQUF1QztZQUN2Qyw0QkFBNEI7WUFDNUIscUJBQXFCO1lBQ3JCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7U0FDMUIsQ0FBQTtRQUVlLGNBQVMsR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUE7UUFDekMsVUFBSyxHQUFH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LENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO1FBQy9DLENBQUM7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQzNELE1BQU0sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFBO1FBQ3RDLENBQUM7UUFFRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdkUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQTtRQUNwQyxDQUFDO0lBQ0gsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2dnkgfSBmcm9tICcuLi9zZXJ2aWNlcy9uYXZ2eSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVXNlckdldCB9IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvZ2V0J1xyXG5pbXBvcnQgY2xvbmUgZnJvbSAnanVzdC1jbG9uZSdcclxuaW1wb3J0IHsgaUJYUmVzdFBhcmFtVXNlclNlYXJjaCB9IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvc2VhcmNoJ1xyXG5pbXBvcnQgeyBCWFJlc3ROYXZ2eVVzZXJVc2VyZmllbGQgfSBmcm9tICcuL3VzZXIvdXNlcmZpZWxkJ1xyXG5pbXBvcnQgeyBCWFJlc3RNYXBVc2VyIH0gZnJvbSAnLi4vbWFwL3VzZXInXHJcbmltcG9ydCB7ICRnZXQsICRzZWFyY2gsICR1cGRhdGUsICR1c2VyIH0gZnJvbSAnLi4vY29uc3RzL3BhcnQtbmFtZS1tZXRob2RzJ1xyXG5pbXBvcnQgeyBpQlhSZXN0VXNlciwgaUJYUmVzdFVzZXJIdHRwIH0gZnJvbSAnLi4vdHlwaWZpY2F0aW9uL3Jlc3QvdXNlci91c2VyJ1xyXG5cclxuZXhwb3J0IGNsYXNzIEJYUmVzdE5hdnZ5VXNlciB7XHJcbiAgZGVmOiB7IHBhcmFtczogeyBBQ1RJVkU6IGJvb2xlYW4sIHN0YXJ0OiAwIH0gfSA9IHtcclxuICAgIHBhcmFtczoge0FDVElWRTogdHJ1ZSwgc3RhcnQ6IDB9XHJcbiAgfVxyXG4gIHVybCA9IHtcclxuICAgIGFkbWluOiBbJHVzZXIsICdhZG1pbiddLFxyXG4gICAgZ2V0OiBbJHVzZXIsICRnZXRdLFxyXG4gICAgY3VycmVudDogWyR1c2VyLCAnY3VycmVudCddLFxyXG4gICAgdXBkYXRlOiBbJHVzZXIsICR1cGRhdGVdLFxyXG4gICAgc2VhcmNoOiBbJHVzZXIsICRzZWFyY2hdLFxyXG4gICAgYWNjZXNzOiBbJHVzZXIsICdhY2Nlc3MnXSwgLy8gVTEgLSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0YEgaWQgPTFcclxuICAgIC8vIEFVIC0g0LLRgdC1INCw0LLRgtC+0YDQuNC30L7QstCw0L3QvdGL0LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C4XHJcbiAgICAvLyBEMSAtINC/0L7QtNGA0LDQt9C00LXQu9C10L3QuNC1INGBIGlkPTFcclxuICAgIC8vIEcxIC0g0LPRgNGD0L/Qv9CwINGBIGlkPTFcclxuICAgIGZpZWxkczogWyR1c2VyLCAnZmllbGRzJ10sXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVhZG9ubHkgdXNlckZpZWxkID0gbmV3IEJYUmVzdE5hdnZ5VXNlclVzZXJmaWVsZCgpXHJcbiAgcHJpdmF0ZSByZWFkb25seSBOYXZ2eSA9IG5ldyBOYXZ2eSgpXHJcblxyXG4gIGFkbWluKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlPGJvb2xlYW4+KFxyXG4gICAgICB0aGlzLnVybC5hZG1pblxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZ2V0KHBhcmFtczogaUJYUmVzdFBhcmFtVXNlckdldCA9IHt9KXtcclxuICAgIGxldCBjb3B5UGFyYW1zID0gY2xvbmUocGFyYW1zKVxyXG4gICAgdGhpcy5zZXREZWZQYXJhbShjb3B5UGFyYW1zKVxyXG5cclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnBhZ05hdihcclxuICAgICAgdGhpcy51cmwuZ2V0LFxyXG4gICAgICBjb3B5UGFyYW1zLFxyXG4gICAgICBCWFJlc3RNYXBVc2VyLmdldClcclxuICB9XHJcblxyXG4gIGN1cnJlbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGU8aUJYUmVzdFVzZXJIdHRwLCBpQlhSZXN0VXNlcj4oXHJcbiAgICAgIHRoaXMudXJsLmN1cnJlbnQsXHJcbiAgICAgIHVuZGVmaW5lZCxcclxuICAgICAgQlhSZXN0TWFwVXNlci5jdXJyZW50XHJcbiAgICApXHJcbiAgfVxyXG5cclxuICAvKlxyXG4gIHVwZGF0ZSh1c2VyOiBpQlhSZXN0VXNlciwgZmllbGRVcGRhdGU6IHN0cmluZ1tdKSB7XHJcblxyXG4gICAgICBpZiAoZmllbGRVcGRhdGUgJiYgZmllbGRVcGRhdGUubGVuZ3RoKSB7XHJcbiAgICAgIGxldCBzZW5kRGF0YTogYW55ID0ge1xyXG4gICAgICAgIElEOiB1c2VyLklELFxyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IHVzZXJCWCA9IHRoaXMuQlhSZXN0VXNlck1hcC5CWHRvSHR0cCh1c2VyKVxyXG4gICAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIGZpZWxkVXBkYXRlKSB7XHJcbiAgICAgICAgaWYgKHVzZXJCWFtmaWVsZF0pIHtcclxuICAgICAgICAgIHNlbmREYXRhW2ZpZWxkXSA9IHVzZXJCWFtmaWVsZF1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ09uZSBzZW50IGZpZWxkIGlzIGVtcHR5JylcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGlCWFJlc3RVc2VySHR0cFtdPihcclxuICAgICAgICB0aGlzLnVybC51cGRhdGUsXHJcbiAgICAgICAgc2VuZERhdGFcclxuICAgICAgKVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gJ0FsbCBzZW50IGZpZWxkIGZvciBlZGl0IGlzIGVtcHR5JylcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZShcclxuICAgICAgdGhpcy5CWFJlc3RVc2VyLnVwZGF0ZSh1c2VyLCBmaWVsZFVwZGF0ZSksXHJcbiAgICAgICfQndC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINGBIElEJyArIHVzZXIuSURcclxuICAgIClcclxuICB9XHJcbiAgKi9cclxuICBzZWFyY2gocGFyYW1zOiBpQlhSZXN0UGFyYW1Vc2VyU2VhcmNoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5wYWdOYXYoXHJcbiAgICAgIHRoaXMudXJsLnNlYXJjaCxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgICBCWFJlc3RNYXBVc2VyLmdldFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgYWNjZXNzKHBhcmFtczogc3RyaW5nW10pIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZShcclxuICAgICAgdGhpcy51cmwuYWNjZXNzLFxyXG4gICAgICBwYXJhbXMsXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBmaWVsZHMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUodGhpcy51cmwuZmllbGRzKVxyXG4gIH1cclxuXHJcbiAgLy8gZ2V0QWxsKHBhcmFtczogaUJYR2V0UGFyYW0gPSB7fSk6IE9ic2VydmFibGU8aUJYUmVzdFVzZXIgW10gfCB1bmRlZmluZWQ+IHtcclxuICAvLyAgIGlmICghT2JqZWN0LmtleXMocGFyYW1zKS5sZW5ndGgpIHtcclxuICAvLyAgICAgcGFyYW1zID0gY2xvbmUodGhpcy5kZWYucGFyYW1zKVxyXG4gIC8vICAgfVxyXG4gIC8vXHJcbiAgLy8gICBjb25zdCBzYXZlQWxsVXNlciA9IGNvbXBhcmUocGFyYW1zLCB0aGlzLmRlZi5wYXJhbXMpXHJcbiAgLy8gICByZXR1cm4gdGhpcy51c2VyJC5waXBlKFxyXG4gIC8vICAgICB0YWtlKDEpLFxyXG4gIC8vICAgICBtZXJnZU1hcCh2ID0+IHtcclxuICAvLyAgICAgICBpZiAodi5sb2FkLmFsbCkge1xyXG4gIC8vICAgICAgICAgaWYgKGNvbXBhcmUodGhpcy5kZWYucGFyYW1zLCBwYXJhbXMpKSB7XHJcbiAgLy8gICAgICAgICAgIHJldHVybiBvZihjbG9uZSh2LmRhdGEpKVxyXG4gIC8vICAgICAgICAgfVxyXG4gIC8vICAgICAgIH1cclxuICAvL1xyXG4gIC8vICAgICAgIHJldHVybiB0aGlzLmdldEVuZEFycmF5KHBhcmFtcykucGlwZShcclxuICAvLyAgICAgICAgIHRha2UoMSksXHJcbiAgLy8gICAgICAgICBtYXAodiA9PiB7XHJcbiAgLy8gICAgICAgICAgIGlmICh2ICYmIHYucmVzdWx0KSB7XHJcbiAgLy8gICAgICAgICAgICAgbGV0IGNsID0gY2xvbmUodi5yZXN1bHQpXHJcbiAgLy8gICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2F2ZUFyclVzZXIoY2wpXHJcbiAgLy8gICAgICAgICAgIH1cclxuICAvLyAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZFxyXG4gIC8vICAgICAgICAgfSksXHJcbiAgLy8gICAgICAgKVxyXG4gIC8vICAgICB9KSxcclxuICAvLyAgICAgdGFwKHYgPT4ge1xyXG4gIC8vICAgICAgIGlmICh2ICYmIHYubGVuZ3RoICYmIHNhdmVBbGxVc2VyKSB7XHJcbiAgLy8gICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKGxvYWRBbGwoe2xvYWQ6IHRydWV9KSlcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgICAgcGFyYW1zLnN0YXJ0ID0gdGhpcy5kZWYucGFyYW1zLnN0YXJ0XHJcbiAgLy8gICAgIH0pXHJcbiAgLy8gICApXHJcbiAgLy8gfVxyXG5cclxuICAvLyBwcml2YXRlIHNhdmVBcnJVc2VyKHVzZXJzOiBpQlhSZXN0VXNlckh0dHBbXSkge1xyXG4gIC8vICAgbGV0IHJlc3VsdDogaUJYUmVzdFVzZXIgW10gPSBbXVxyXG4gIC8vICAgZm9yIChjb25zdCB1c2VyIG9mIHVzZXJzKSB7XHJcbiAgLy8gICAgIHJlc3VsdC5wdXNoKHRoaXMudXNlck1hcC5IdHRwVG9CWCh1c2VyKSlcclxuICAvLyAgIH1cclxuICAvLyAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goc2F2ZUFycih7YXJyOiByZXN1bHR9KSlcclxuICAvL1xyXG4gIC8vICAgcmV0dXJuIHJlc3VsdFxyXG4gIC8vIH1cclxuXHJcbiAgLy8gZ2V0RW5kQXJyYXkocGFyYW1zOiBVc2VyRmlsdGVyID0ge30pOiBPYnNlcnZhYmxlPGlIdHRwQW5zd2VyQlg8aUJYUmVzdFVzZXJIdHRwW10+IHwgdW5kZWZpbmVkPiB7XHJcbiAgLy8gICByZXR1cm4gdGhpcy5nZXQocGFyYW1zKS5waXBlKFxyXG4gIC8vICAgICBtZXJnZU1hcChpdGVtcyA9PiB7XHJcbiAgLy8gICAgICAgaWYgKGl0ZW1zICYmIGl0ZW1zLnJlc3VsdCAmJiB0eXBlb2YgaXRlbXMucmVzdWx0ID09PSAnb2JqZWN0Jykge1xyXG4gIC8vICAgICAgICAgaWYgKGl0ZW1zLm5leHQpIHtcclxuICAvLyAgICAgICAgICAgcGFyYW1zLnN0YXJ0ID0gaXRlbXMubmV4dFxyXG4gIC8vICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRBcnJheShwYXJhbXMpLnBpcGUobWFwKHZFbmQgPT4ge1xyXG4gIC8vICAgICAgICAgICAgIGlmICh2RW5kICYmIGl0ZW1zLnJlc3VsdCAmJiB2RW5kLnJlc3VsdCkge1xyXG4gIC8vICAgICAgICAgICAgICAgcmV0dXJuIHtyZXN1bHQ6IFsuLi5pdGVtcy5yZXN1bHQsIC4uLnZFbmQucmVzdWx0XX1cclxuICAvLyAgICAgICAgICAgICB9XHJcbiAgLy8gICAgICAgICAgICAgcmV0dXJuIChpdGVtcykgPyBpdGVtcyA6IHVuZGVmaW5lZFxyXG4gIC8vICAgICAgICAgICB9KSlcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgIHJldHVybiBvZihpdGVtcylcclxuICAvLyAgICAgICB9IGVsc2Uge1xyXG4gIC8vICAgICAgICAgcmV0dXJuIG9mKHVuZGVmaW5lZClcclxuICAvLyAgICAgICB9XHJcbiAgLy8gICAgIH0pLFxyXG4gIC8vICAgKVxyXG4gIC8vIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXREZWZQYXJhbShwYXJhbXM6IGlCWFJlc3RQYXJhbVVzZXJHZXQpIHtcclxuICAgIGlmKCFwYXJhbXMuRklMVEVSKSB7XHJcbiAgICAgIHBhcmFtcy5GSUxURVIgPSB7fVxyXG4gICAgfVxyXG5cclxuICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHBhcmFtcy5GSUxURVIsICdBQ1RJVkUnKSkge1xyXG4gICAgICBwYXJhbXMuRklMVEVSLkFDVElWRSA9IHRoaXMuZGVmLnBhcmFtcy5BQ1RJVkVcclxuICAgIH1cclxuXHJcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJhbXMsICdzdGFydCcpKSB7XHJcbiAgICAgIHBhcmFtcy5zdGFydCA9IHRoaXMuZGVmLnBhcmFtcy5zdGFydFxyXG4gICAgfVxyXG5cclxuICAgIGlmIChwYXJhbXMuRklMVEVSLlVGX0RFUEFSVE1FTlQgJiYgIXBhcmFtcy5GSUxURVIuVUZfREVQQVJUTUVOVC5sZW5ndGgpIHtcclxuICAgICAgZGVsZXRlIHBhcmFtcy5GSUxURVIuVUZfREVQQVJUTUVOVFxyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuXHJcbiJdfQ==
155
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3JlcXVlc3QtbmF2dnkvdXNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFFekMsT0FBTyxLQUFLLE1BQU0sWUFBWSxDQUFBO0FBRTlCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtCQUFrQixDQUFBO0FBQzNELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDM0MsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBRzNFLE1BQU0sT0FBTyxlQUFlO0lBQTVCO1FBQ0UsUUFBRyxHQUE4QztZQUMvQyxNQUFNLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUM7U0FDakMsQ0FBQTtRQUNELFFBQUcsR0FBRztZQUNKLEtBQUssRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDdkIsR0FBRyxFQUFFLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQztZQUNsQixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxDQUFDO1lBQzNCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUM7WUFDeEIsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQztZQUN4QixNQUFNLEVBQUUsQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsNEJBQTRCO1lBQ3ZELHVDQUF1QztZQUN2Qyw0QkFBNEI7WUFDNUIscUJBQXFCO1lBQ3JCLE1BQU0sRUFBRSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUM7U0FDMUIsQ0FBQTtRQUVlLGNBQVMsR0FBRyxJQUFJLHdCQUF3QixFQUFFLENBQUE7UUFDekMsVUFBSyxHQUFH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LENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUM7WUFDbkUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFBO1FBQy9DLENBQUM7YUFBTSxJQUFHLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEQsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQTtRQUM3QixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUMzRCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTtRQUN0QyxDQUFDO1FBRUQsSUFBSSxNQUFNLENBQUMsTUFBTSxDQUFDLGFBQWEsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ3ZFLE9BQU8sTUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUE7UUFDcEMsQ0FBQztJQUNILENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5hdnZ5IH0gZnJvbSAnLi4vc2VydmljZXMvbmF2dnknXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJHZXQgfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL2dldCdcclxuaW1wb3J0IGNsb25lIGZyb20gJ2p1c3QtY2xvbmUnXHJcbmltcG9ydCB7IGlCWFJlc3RQYXJhbVVzZXJTZWFyY2ggfSBmcm9tICcuLi90eXBpZmljYXRpb24vcmVzdC91c2VyL3NlYXJjaCdcclxuaW1wb3J0IHsgQlhSZXN0TmF2dnlVc2VyVXNlcmZpZWxkIH0gZnJvbSAnLi91c2VyL3VzZXJmaWVsZCdcclxuaW1wb3J0IHsgQlhSZXN0TWFwVXNlciB9IGZyb20gJy4uL21hcC91c2VyJ1xyXG5pbXBvcnQgeyAkZ2V0LCAkc2VhcmNoLCAkdXBkYXRlLCAkdXNlciB9IGZyb20gJy4uL2NvbnN0cy9wYXJ0LW5hbWUtbWV0aG9kcydcclxuaW1wb3J0IHsgaUJYUmVzdFVzZXIsIGlCWFJlc3RVc2VySHR0cCB9IGZyb20gJy4uL3R5cGlmaWNhdGlvbi9yZXN0L3VzZXIvdXNlcidcclxuXHJcbmV4cG9ydCBjbGFzcyBCWFJlc3ROYXZ2eVVzZXIge1xyXG4gIGRlZjogeyBwYXJhbXM6IHsgQUNUSVZFOiBib29sZWFuLCBzdGFydDogMCB9IH0gPSB7XHJcbiAgICBwYXJhbXM6IHtBQ1RJVkU6IHRydWUsIHN0YXJ0OiAwfVxyXG4gIH1cclxuICB1cmwgPSB7XHJcbiAgICBhZG1pbjogWyR1c2VyLCAnYWRtaW4nXSxcclxuICAgIGdldDogWyR1c2VyLCAkZ2V0XSxcclxuICAgIGN1cnJlbnQ6IFskdXNlciwgJ2N1cnJlbnQnXSxcclxuICAgIHVwZGF0ZTogWyR1c2VyLCAkdXBkYXRlXSxcclxuICAgIHNlYXJjaDogWyR1c2VyLCAkc2VhcmNoXSxcclxuICAgIGFjY2VzczogWyR1c2VyLCAnYWNjZXNzJ10sIC8vIFUxIC0g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINGBIGlkID0xXHJcbiAgICAvLyBBVSAtINCy0YHQtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC90L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQuFxyXG4gICAgLy8gRDEgLSDQv9C+0LTRgNCw0LfQtNC10LvQtdC90LjQtSDRgSBpZD0xXHJcbiAgICAvLyBHMSAtINCz0YDRg9C/0L/QsCDRgSBpZD0xXHJcbiAgICBmaWVsZHM6IFskdXNlciwgJ2ZpZWxkcyddLFxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlYWRvbmx5IHVzZXJGaWVsZCA9IG5ldyBCWFJlc3ROYXZ2eVVzZXJVc2VyZmllbGQoKVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgTmF2dnkgPSBuZXcgTmF2dnkoKVxyXG5cclxuICBhZG1pbigpIHtcclxuICAgIHJldHVybiB0aGlzLk5hdnZ5LnNpbXBsZTxib29sZWFuPihcclxuICAgICAgdGhpcy51cmwuYWRtaW5cclxuICAgIClcclxuICB9XHJcblxyXG4gIGdldChwYXJhbXM6IGlCWFJlc3RQYXJhbVVzZXJHZXQgPSB7fSl7XHJcbiAgICBsZXQgY29weVBhcmFtcyA9IGNsb25lKHBhcmFtcylcclxuICAgIHRoaXMuc2V0RGVmUGFyYW0oY29weVBhcmFtcylcclxuXHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5wYWdOYXYoXHJcbiAgICAgIHRoaXMudXJsLmdldCxcclxuICAgICAgY29weVBhcmFtcyxcclxuICAgICAgQlhSZXN0TWFwVXNlci5nZXQpXHJcbiAgfVxyXG5cclxuICBjdXJyZW50KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlPGlCWFJlc3RVc2VySHR0cCwgaUJYUmVzdFVzZXI+KFxyXG4gICAgICB0aGlzLnVybC5jdXJyZW50LFxyXG4gICAgICB1bmRlZmluZWQsXHJcbiAgICAgIEJYUmVzdE1hcFVzZXIuY3VycmVudFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgLypcclxuICB1cGRhdGUodXNlcjogaUJYUmVzdFVzZXIsIGZpZWxkVXBkYXRlOiBzdHJpbmdbXSkge1xyXG5cclxuICAgICAgaWYgKGZpZWxkVXBkYXRlICYmIGZpZWxkVXBkYXRlLmxlbmd0aCkge1xyXG4gICAgICBsZXQgc2VuZERhdGE6IGFueSA9IHtcclxuICAgICAgICBJRDogdXNlci5JRCxcclxuICAgICAgfVxyXG4gICAgICBjb25zdCB1c2VyQlggPSB0aGlzLkJYUmVzdFVzZXJNYXAuQlh0b0h0dHAodXNlcilcclxuICAgICAgZm9yIChjb25zdCBmaWVsZCBvZiBmaWVsZFVwZGF0ZSkge1xyXG4gICAgICAgIGlmICh1c2VyQlhbZmllbGRdKSB7XHJcbiAgICAgICAgICBzZW5kRGF0YVtmaWVsZF0gPSB1c2VyQlhbZmllbGRdXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdPbmUgc2VudCBmaWVsZCBpcyBlbXB0eScpXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxpQlhSZXN0VXNlckh0dHBbXT4oXHJcbiAgICAgICAgdGhpcy51cmwudXBkYXRlLFxyXG4gICAgICAgIHNlbmREYXRhXHJcbiAgICAgIClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+ICdBbGwgc2VudCBmaWVsZCBmb3IgZWRpdCBpcyBlbXB0eScpXHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMuQlhSZXN0VXNlci51cGRhdGUodXNlciwgZmllbGRVcGRhdGUpLFxyXG4gICAgICAn0J3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QvtCy0LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRgSBJRCcgKyB1c2VyLklEXHJcbiAgICApXHJcbiAgfVxyXG4gICovXHJcbiAgc2VhcmNoKHBhcmFtczogaUJYUmVzdFBhcmFtVXNlclNlYXJjaCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkucGFnTmF2KFxyXG4gICAgICB0aGlzLnVybC5zZWFyY2gsXHJcbiAgICAgIHBhcmFtcyxcclxuICAgICAgQlhSZXN0TWFwVXNlci5nZXRcclxuICAgIClcclxuICB9XHJcblxyXG4gIGFjY2VzcyhwYXJhbXM6IHN0cmluZ1tdKSB7XHJcbiAgICByZXR1cm4gdGhpcy5OYXZ2eS5zaW1wbGUoXHJcbiAgICAgIHRoaXMudXJsLmFjY2VzcyxcclxuICAgICAgcGFyYW1zLFxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgZmllbGRzKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuTmF2dnkuc2ltcGxlKHRoaXMudXJsLmZpZWxkcylcclxuICB9XHJcblxyXG4gIC8vIGdldEFsbChwYXJhbXM6IGlCWEdldFBhcmFtID0ge30pOiBPYnNlcnZhYmxlPGlCWFJlc3RVc2VyIFtdIHwgdW5kZWZpbmVkPiB7XHJcbiAgLy8gICBpZiAoIU9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoKSB7XHJcbiAgLy8gICAgIHBhcmFtcyA9IGNsb25lKHRoaXMuZGVmLnBhcmFtcylcclxuICAvLyAgIH1cclxuICAvL1xyXG4gIC8vICAgY29uc3Qgc2F2ZUFsbFVzZXIgPSBjb21wYXJlKHBhcmFtcywgdGhpcy5kZWYucGFyYW1zKVxyXG4gIC8vICAgcmV0dXJuIHRoaXMudXNlciQucGlwZShcclxuICAvLyAgICAgdGFrZSgxKSxcclxuICAvLyAgICAgbWVyZ2VNYXAodiA9PiB7XHJcbiAgLy8gICAgICAgaWYgKHYubG9hZC5hbGwpIHtcclxuICAvLyAgICAgICAgIGlmIChjb21wYXJlKHRoaXMuZGVmLnBhcmFtcywgcGFyYW1zKSkge1xyXG4gIC8vICAgICAgICAgICByZXR1cm4gb2YoY2xvbmUodi5kYXRhKSlcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICB9XHJcbiAgLy9cclxuICAvLyAgICAgICByZXR1cm4gdGhpcy5nZXRFbmRBcnJheShwYXJhbXMpLnBpcGUoXHJcbiAgLy8gICAgICAgICB0YWtlKDEpLFxyXG4gIC8vICAgICAgICAgbWFwKHYgPT4ge1xyXG4gIC8vICAgICAgICAgICBpZiAodiAmJiB2LnJlc3VsdCkge1xyXG4gIC8vICAgICAgICAgICAgIGxldCBjbCA9IGNsb25lKHYucmVzdWx0KVxyXG4gIC8vICAgICAgICAgICAgIHJldHVybiB0aGlzLnNhdmVBcnJVc2VyKGNsKVxyXG4gIC8vICAgICAgICAgICB9XHJcbiAgLy8gICAgICAgICAgIHJldHVybiB1bmRlZmluZWRcclxuICAvLyAgICAgICAgIH0pLFxyXG4gIC8vICAgICAgIClcclxuICAvLyAgICAgfSksXHJcbiAgLy8gICAgIHRhcCh2ID0+IHtcclxuICAvLyAgICAgICBpZiAodiAmJiB2Lmxlbmd0aCAmJiBzYXZlQWxsVXNlcikge1xyXG4gIC8vICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChsb2FkQWxsKHtsb2FkOiB0cnVlfSkpXHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICAgIHBhcmFtcy5zdGFydCA9IHRoaXMuZGVmLnBhcmFtcy5zdGFydFxyXG4gIC8vICAgICB9KVxyXG4gIC8vICAgKVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gcHJpdmF0ZSBzYXZlQXJyVXNlcih1c2VyczogaUJYUmVzdFVzZXJIdHRwW10pIHtcclxuICAvLyAgIGxldCByZXN1bHQ6IGlCWFJlc3RVc2VyIFtdID0gW11cclxuICAvLyAgIGZvciAoY29uc3QgdXNlciBvZiB1c2Vycykge1xyXG4gIC8vICAgICByZXN1bHQucHVzaCh0aGlzLnVzZXJNYXAuSHR0cFRvQlgodXNlcikpXHJcbiAgLy8gICB9XHJcbiAgLy8gICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNhdmVBcnIoe2FycjogcmVzdWx0fSkpXHJcbiAgLy9cclxuICAvLyAgIHJldHVybiByZXN1bHRcclxuICAvLyB9XHJcblxyXG4gIC8vIGdldEVuZEFycmF5KHBhcmFtczogVXNlckZpbHRlciA9IHt9KTogT2JzZXJ2YWJsZTxpSHR0cEFuc3dlckJYPGlCWFJlc3RVc2VySHR0cFtdPiB8IHVuZGVmaW5lZD4ge1xyXG4gIC8vICAgcmV0dXJuIHRoaXMuZ2V0KHBhcmFtcykucGlwZShcclxuICAvLyAgICAgbWVyZ2VNYXAoaXRlbXMgPT4ge1xyXG4gIC8vICAgICAgIGlmIChpdGVtcyAmJiBpdGVtcy5yZXN1bHQgJiYgdHlwZW9mIGl0ZW1zLnJlc3VsdCA9PT0gJ29iamVjdCcpIHtcclxuICAvLyAgICAgICAgIGlmIChpdGVtcy5uZXh0KSB7XHJcbiAgLy8gICAgICAgICAgIHBhcmFtcy5zdGFydCA9IGl0ZW1zLm5leHRcclxuICAvLyAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0RW5kQXJyYXkocGFyYW1zKS5waXBlKG1hcCh2RW5kID0+IHtcclxuICAvLyAgICAgICAgICAgICBpZiAodkVuZCAmJiBpdGVtcy5yZXN1bHQgJiYgdkVuZC5yZXN1bHQpIHtcclxuICAvLyAgICAgICAgICAgICAgIHJldHVybiB7cmVzdWx0OiBbLi4uaXRlbXMucmVzdWx0LCAuLi52RW5kLnJlc3VsdF19XHJcbiAgLy8gICAgICAgICAgICAgfVxyXG4gIC8vICAgICAgICAgICAgIHJldHVybiAoaXRlbXMpID8gaXRlbXMgOiB1bmRlZmluZWRcclxuICAvLyAgICAgICAgICAgfSkpXHJcbiAgLy8gICAgICAgICB9XHJcbiAgLy8gICAgICAgICByZXR1cm4gb2YoaXRlbXMpXHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXHJcbiAgLy8gICAgICAgfVxyXG4gIC8vICAgICB9KSxcclxuICAvLyAgIClcclxuICAvLyB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmUGFyYW0ocGFyYW1zOiBpQlhSZXN0UGFyYW1Vc2VyR2V0KSB7XHJcbiAgICBpZighcGFyYW1zLkZJTFRFUikge1xyXG4gICAgICBwYXJhbXMuRklMVEVSID0ge31cclxuICAgIH1cclxuXHJcbiAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwYXJhbXMuRklMVEVSLCAnQUNUSVZFJykpIHtcclxuICAgICAgcGFyYW1zLkZJTFRFUi5BQ1RJVkUgPSB0aGlzLmRlZi5wYXJhbXMuQUNUSVZFXHJcbiAgICB9IGVsc2UgaWYodHlwZW9mIHBhcmFtcy5GSUxURVIuQUNUSVZFICE9PSAnYm9vbGVhbicpIHtcclxuICAgICAgZGVsZXRlIHBhcmFtcy5GSUxURVIuQUNUSVZFXHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGFyYW1zLCAnc3RhcnQnKSkge1xyXG4gICAgICBwYXJhbXMuc3RhcnQgPSB0aGlzLmRlZi5wYXJhbXMuc3RhcnRcclxuICAgIH1cclxuXHJcbiAgICBpZiAocGFyYW1zLkZJTFRFUi5VRl9ERVBBUlRNRU5UICYmICFwYXJhbXMuRklMVEVSLlVGX0RFUEFSVE1FTlQubGVuZ3RoKSB7XHJcbiAgICAgIGRlbGV0ZSBwYXJhbXMuRklMVEVSLlVGX0RFUEFSVE1FTlRcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
@@ -1,5 +1,10 @@
1
1
  import { DateTime } from 'luxon';
2
- // Преобразует значение в строку
2
+ /**
3
+ * Преобразует значение в строку
4
+ *
5
+ * @param val
6
+ * @param throwError
7
+ */
3
8
  export function toStr(val, throwError = false) {
4
9
  if (val === null || val === undefined) {
5
10
  if (throwError) {
@@ -9,18 +14,49 @@ export function toStr(val, throwError = false) {
9
14
  }
10
15
  return String(val);
11
16
  }
12
- // Преобразует значение в число
17
+ /**
18
+ * Преобразует значение в число
19
+ */
13
20
  export function toNum(val, throwError = true, defValue = 0) {
14
21
  const result = Number(val);
15
22
  if (isNaN(result)) {
16
- if (throwError) {
17
- throw new Error('Invalid value: cannot be converted to number');
18
- }
23
+ const error = new ToNumError(val);
24
+ if (throwError)
25
+ throw error;
26
+ // Если ошибка не пробрасывается — просто логируем
27
+ console.error(error.toString());
19
28
  return defValue;
20
29
  }
21
30
  return result;
22
31
  }
23
- // Преобразует значение в дату
32
+ /**
33
+ * Кастомный тип ошибки для числовых преобразований
34
+ */
35
+ export class ToNumError extends Error {
36
+ constructor(value) {
37
+ const valueType = typeof value;
38
+ const formattedValue = valueType === 'object' ? JSON.stringify(value) : String(value);
39
+ const message = `Invalid value passed to toNum(): ${formattedValue} (type: ${valueType})`;
40
+ super(message);
41
+ this.value = value;
42
+ this.name = 'ToNumError';
43
+ // сохраняем стек вызова (отфильтровав сам конструктор)
44
+ if (this.stack) {
45
+ const stackLines = this.stack.split('\n');
46
+ // Удаляем строку конструктора (чтобы стек начинался с места вызова toNum)
47
+ this.stack = [stackLines[0], ...stackLines.slice(2)].join('\n');
48
+ }
49
+ }
50
+ toString() {
51
+ return [
52
+ `❌ [${this.name}] ${this.message}`,
53
+ this.stack ? ` Stack trace:\n${this.stack}` : '',
54
+ ].join('\n');
55
+ }
56
+ }
57
+ /**
58
+ * Преобразует значение в дату
59
+ */
24
60
  export function toDate(val, format, opt, throwError = true) {
25
61
  if (val instanceof Date) {
26
62
  return val;
@@ -45,7 +81,12 @@ export function toDate(val, format, opt, throwError = true) {
45
81
  }
46
82
  return new Date();
47
83
  }
48
- // Преобразует дату в строку с учетом временной зоны
84
+ /**
85
+ * Преобразует дату в строку с учетом временной зоны
86
+ *
87
+ * @param date
88
+ * @param throwError
89
+ */
49
90
  export function toISOStringWithTimezone(date, throwError = true) {
50
91
  if (!(date instanceof Date)) {
51
92
  if (throwError)
@@ -64,7 +105,12 @@ export function toISOStringWithTimezone(date, throwError = true) {
64
105
  diff + pad(tzOffset / 60) +
65
106
  ':' + pad(tzOffset % 60);
66
107
  }
67
- // Преобразует значение в булево значение
108
+ /**
109
+ * Преобразует значение в булево значение
110
+ *
111
+ * @param val
112
+ * @param throwError
113
+ */
68
114
  export function toBool(val, throwError = true) {
69
115
  switch (typeof val) {
70
116
  case 'string':
@@ -84,7 +130,11 @@ export function toBool(val, throwError = true) {
84
130
  return Boolean(val);
85
131
  }
86
132
  }
87
- // Преобразует булево значение в 'Y' или 'N'
133
+ /**
134
+ * Преобразует булево значение в 'Y' или 'N'
135
+ *
136
+ * @param val
137
+ */
88
138
  export function toBXYorN(val) {
89
139
  return val ? 'Y' : 'N';
90
140
  }
@@ -96,7 +146,11 @@ export function getBaseUrlHttps(url, component = false) {
96
146
  return encodeURI('https://' + cropUrl(url) + '/');
97
147
  }
98
148
  }
99
- // Обрезает URL (удаляет протокол)
149
+ /**
150
+ * Обрезает URL (удаляет протокол)
151
+ *
152
+ * @param url
153
+ */
100
154
  export function cropUrl(url) {
101
155
  url = url ? url.replace('https://', '') : '';
102
156
  url = url ? url.replace('http://', '') : '';
@@ -104,7 +158,11 @@ export function cropUrl(url) {
104
158
  url = url ? url.replace('http:', '') : '';
105
159
  return url;
106
160
  }
107
- // Преобразует файл в base64
161
+ /**
162
+ * Преобразует файл в base64
163
+ *
164
+ * @param file
165
+ */
108
166
  export function getBase64File(file) {
109
167
  return new Promise((resolve, reject) => {
110
168
  const reader = new FileReader();
@@ -113,7 +171,11 @@ export function getBase64File(file) {
113
171
  reader.onerror = error => reject(error);
114
172
  });
115
173
  }
116
- // Получить файл в формате base64 с разбивкой на заголовок и данные
174
+ /**
175
+ * Получить файл в формате base64 с разбивкой на заголовок и данные
176
+ *
177
+ * @param file
178
+ */
117
179
  export async function getBase64FileLikeStr(file) {
118
180
  const result = await getBase64File(file);
119
181
  if (typeof result === 'string') {
@@ -140,4 +202,4 @@ export function prepareBaseAddress(url, add = '') {
140
202
  }
141
203
  return url;
142
204
  }
143
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUdoQyxnQ0FBZ0M7QUFDaEMsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUFRLEVBQUUsVUFBVSxHQUFHLEtBQUs7SUFDaEQsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUN0QyxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQ2YsTUFBTSxJQUFJLEtBQUssQ0FBQyxrQkFBa0IsR0FBRyxnQ0FBZ0MsQ0FBQyxDQUFBO1FBQ3hFLENBQUM7UUFDRCxPQUFPLEVBQUUsQ0FBQTtJQUNYLENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQTtBQUNwQixDQUFDO0FBRUQsK0JBQStCO0FBQy9CLE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBUSxFQUFFLFVBQVUsR0FBRyxJQUFJLEVBQUUsUUFBUSxHQUFHLENBQUM7SUFDN0QsTUFBTSxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQzFCLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7UUFDbEIsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsOENBQThDLENBQUMsQ0FBQTtRQUNqRSxDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUE7SUFDakIsQ0FBQztJQUNELE9BQU8sTUFBTSxDQUFBO0FBQ2YsQ0FBQztBQUVELDhCQUE4QjtBQUM5QixNQUFNLFVBQVUsTUFBTSxDQUFDLEdBQTJCLEVBQUUsTUFBZSxFQUFFLEdBQXFCLEVBQUUsVUFBVSxHQUFHLElBQUk7SUFDM0csSUFBSSxHQUFHLFlBQVksSUFBSSxFQUFFLENBQUM7UUFDeEIsT0FB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LE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxHQUFXLEVBQUUsTUFBMEIsRUFBRTtJQUMxRSxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUMxRCxHQUFHLEdBQUcsVUFBVSxHQUFHLEdBQUcsQ0FBQTtJQUN4QixDQUFDO0lBRUQsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUMxQixJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDOUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7UUFDakIsQ0FBQztRQUVELEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2pCLENBQUM7SUFFRCxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDOUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUE7SUFDakIsQ0FBQztJQUVELE9BQU8sR0FBRyxDQUFBO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGVUaW1lIH0gZnJvbSAnbHV4b24nXHJcbmltcG9ydCB7IERhdGVUaW1lT3B0aW9ucyB9IGZyb20gJ2x1eG9uL3NyYy9kYXRldGltZSdcclxuXHJcbi8vINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0LfQvdCw0YfQtdC90LjQtSDQsiDRgdGC0YDQvtC60YNcclxuZXhwb3J0IGZ1bmN0aW9uIHRvU3RyKHZhbDogYW55LCB0aHJvd0Vycm9yID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gIGlmICh2YWwgPT09IG51bGwgfHwgdmFsID09PSB1bmRlZmluZWQpIHtcclxuICAgIGlmICh0aHJvd0Vycm9yKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB2YWx1ZTogJHt2YWx9IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gc3RyaW5nYClcclxuICAgIH1cclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuICByZXR1cm4gU3RyaW5nKHZhbClcclxufVxyXG5cclxuLy8g0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINGH0LjRgdC70L5cclxuZXhwb3J0IGZ1bmN0aW9uIHRvTnVtKHZhbDogYW55LCB0aHJvd0Vycm9yID0gdHJ1ZSwgZGVmVmFsdWUgPSAwKTogbnVtYmVyIHtcclxuICBjb25zdCByZXN1bHQgPSBOdW1iZXIodmFsKVxyXG4gIGlmIChpc05hTihyZXN1bHQpKSB7XHJcbiAgICBpZiAodGhyb3dFcnJvcikge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsdWU6IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gbnVtYmVyJylcclxuICAgIH1cclxuICAgIHJldHVybiBkZWZWYWx1ZVxyXG4gIH1cclxuICByZXR1cm4gcmVzdWx0XHJcbn1cclxuXHJcbi8vINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0LfQvdCw0YfQtdC90LjQtSDQsiDQtNCw0YLRg1xyXG5leHBvcnQgZnVuY3Rpb24gdG9EYXRlKHZhbDogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBvcHQ/OiBEYXRlVGltZU9wdGlvbnMsIHRocm93RXJyb3IgPSB0cnVlKTogRGF0ZSB7XHJcbiAgaWYgKHZhbCBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgIHJldHVybiB2YWxcclxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBpZiAoZm9ybWF0KSB7XHJcbiAgICAgIGlmIChvcHQpIHtcclxuICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWwsIGZvcm1hdCwgb3B0KS50b0pTRGF0ZSgpXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21Gb3JtYXQodmFsLCBmb3JtYXQpLnRvSlNEYXRlKClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWwpXHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHZhbClcclxuICB9XHJcblxyXG4gIGlmICh0aHJvd0Vycm9yKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKCdXcm9uZyBkYXRlIGZvcm1hdCcsIHZhbCwgZm9ybWF0KVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdXcm9uZyBkYXRlIGZvcm1hdCcpXHJcbiAgfVxyXG5cclxuICByZXR1cm4gbmV3IERhdGUoKVxyXG59XHJcblxyXG4vLyDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINC00LDRgtGDINCyINGB0YLRgNC+0LrRgyDRgSDRg9GH0LXRgtC+0Lwg0LLRgNC10LzQtdC90L3QvtC5INC30L7QvdGLXHJcbmV4cG9ydCBmdW5jdGlvbiB0b0lTT1N0cmluZ1dpdGhUaW1lem9uZShkYXRlOiBEYXRlLCB0aHJvd0Vycm9yID0gdHJ1ZSk6IHN0cmluZyB7XHJcbiAgaWYgKCEoZGF0ZSBpbnN0YW5jZW9mIERhdGUpKSB7XHJcbiAgICBpZiAodGhyb3dFcnJvcikgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHZhbHVlOiBub3QgYSB2YWxpZCBEYXRlIG9iamVjdCcpXHJcbiAgICByZXR1cm4gJydcclxuICB9XHJcblxyXG4gIGNvbnN0IHR6T2Zmc2V0ID0gLWRhdGUuZ2V0VGltZXpvbmVPZmZzZXQoKVxyXG4gIGNvbnN0IGRpZmYgPSB0ek9mZnNldCA+PSAwID8gJysnIDogJy0nXHJcbiAgY29uc3QgcGFkID0gKG46IG51bWJlcikgPT4gYCR7TWF0aC5mbG9vcihNYXRoLmFicyhuKSl9YC5wYWRTdGFydCgyLCAnMCcpXHJcbiAgcmV0dXJuIGRhdGUuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAnLScgKyBwYWQoZGF0ZS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgJy0nICsgcGFkKGRhdGUuZ2V0RGF0ZSgpKSArXHJcbiAgICAnVCcgKyBwYWQoZGF0ZS5nZXRIb3VycygpKSArXHJcbiAgICAnOicgKyBwYWQoZGF0ZS5nZXRNaW51dGVzKCkpICtcclxuICAgICc6JyArIHBhZChkYXRlLmdldFNlY29uZHMoKSkgK1xyXG4gICAgZGlmZiArIHBhZCh0ek9mZnNldCAvIDYwKSArXHJcbiAgICAnOicgKyBwYWQodHpPZmZzZXQgJSA2MClcclxufVxyXG5cclxuLy8g0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINCx0YPQu9C10LLQviDQt9C90LDRh9C10L3QuNC1XHJcbmV4cG9ydCBmdW5jdGlvbiB0b0Jvb2wodmFsOiBhbnksIHRocm93RXJyb3IgPSB0cnVlKTogYm9vbGVhbiB7XHJcbiAgc3dpdGNoICh0eXBlb2YgdmFsKSB7XHJcbiAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICB2YWwgPSB2YWwudG9Mb3dlckNhc2UoKVxyXG4gICAgICBpZiAodmFsID09PSAnbicgfHwgdmFsID09PSAneScpIHsgLy8g0LHQuNGC0YDQuNC60YHQvtCy0YvQtSDQv9C+0L3Rj9GC0LjRjyDQviBib29sXHJcbiAgICAgICAgcmV0dXJuIHZhbCA9PT0gJ3knXHJcbiAgICAgIH0gZWxzZSBpZiAodmFsID09PSAndHJ1ZScgfHwgdmFsID09PSAnZmFsc2UnKSB7IC8vINCx0LjRgtGA0LjQutGB0L7QstGL0LUg0L/QvtC90Y/RgtC40Y8g0L4gYm9vbFxyXG4gICAgICAgIHJldHVybiB2YWwgPT09ICd0cnVlJ1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aHJvd0Vycm9yKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsdWU6IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYm9vbGVhbicpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgIH1cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBCb29sZWFuKHZhbClcclxuICB9XHJcbn1cclxuXHJcbi8vINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0LHRg9C70LXQstC+INC30L3QsNGH0LXQvdC40LUg0LIgJ1knINC40LvQuCAnTidcclxuZXhwb3J0IGZ1bmN0aW9uIHRvQlhZb3JOKHZhbDogYm9vbGVhbik6IHN0cmluZyB7XHJcbiAgcmV0dXJuIHZhbCA/ICdZJyA6ICdOJ1xyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFzZVVybEh0dHBzKHVybDogc3RyaW5nLCBjb21wb25lbnQgPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgaWYgKGNvbXBvbmVudCkge1xyXG4gICAgcmV0dXJuIGVuY29kZVVSSShjcm9wVXJsKHVybCkgKyAnLycpXHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBlbmNvZGVVUkkoJ2h0dHBzOi8vJyArIGNyb3BVcmwodXJsKSArICcvJylcclxuICB9XHJcbn1cclxuXHJcbi8vINCe0LHRgNC10LfQsNC10YIgVVJMICjRg9C00LDQu9GP0LXRgiDQv9GA0L7RgtC+0LrQvtC7KVxyXG5leHBvcnQgZnVuY3Rpb24gY3JvcFVybCh1cmw6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgdXJsID0gdXJsID8gdXJsLnJlcGxhY2UoJ2h0dHBzOi8vJywgJycpIDogJydcclxuICB1cmwgPSB1cmwgPyB1cmwucmVwbGFjZSgnaHR0cDovLycsICcnKSA6ICcnXHJcbiAgdXJsID0gdXJsID8gdXJsLnJlcGxhY2UoJ2h0dHBzOicsICcnKSA6ICcnXHJcbiAgdXJsID0gdXJsID8gdXJsLnJlcGxhY2UoJ2h0dHA6JywgJycpIDogJydcclxuICByZXR1cm4gdXJsXHJcbn1cclxuXHJcbi8vINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0YTQsNC50Lsg0LIgYmFzZTY0XHJcbmV4cG9ydCBmdW5jdGlvbiBnZXRCYXNlNjRGaWxlKGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XHJcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpXHJcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKVxyXG4gICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHJlc29sdmUocmVhZGVyLnJlc3VsdCBhcyBzdHJpbmcpXHJcbiAgICByZWFkZXIub25lcnJvciA9IGVycm9yID0+IHJlamVjdChlcnJvcilcclxuICB9KVxyXG59XHJcblxyXG4vLyDQn9C+0LvRg9GH0LjRgtGMINGE0LDQudC7INCyINGE0L7RgNC80LDRgtC1IGJhc2U2NCDRgSDRgNCw0LfQsdC40LLQutC+0Lkg0L3QsCDQt9Cw0LPQvtC70L7QstC+0Log0Lgg0LTQsNC90L3Ri9C1XHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYXNlNjRGaWxlTGlrZVN0cihmaWxlOiBGaWxlKTogUHJvbWlzZTx7XHJcbiAgaGVhZGVyOiBzdHJpbmcsXHJcbiAgdmFsOiBzdHJpbmdcclxufSB8IHVuZGVmaW5lZD4ge1xyXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdldEJhc2U2NEZpbGUoZmlsZSlcclxuICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpIHtcclxuICAgIGNvbnN0IHNwbGl0ID0gcmVzdWx0LnNwbGl0KCcsJylcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcjogc3BsaXRbMF0sXHJcbiAgICAgIHZhbDogc3BsaXRbMV1cclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHVuZGVmaW5lZFxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUJhc2VBZGRyZXNzKHVybDogc3RyaW5nLCBhZGQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnKSB7XHJcbiAgaWYgKHVybC5zZWFyY2goJ2h0dHBzOi8vJykgIT09IDAgJiYgdXJsLnNlYXJjaCgnaHR0cDovLycpKSB7XHJcbiAgICB1cmwgPSAnaHR0cHM6Ly8nICsgdXJsXHJcbiAgfVxyXG5cclxuICBpZiAoYWRkICYmIGFkZC5sZW5ndGggPiAwKSB7XHJcbiAgICBpZiAodXJsLmxhc3RJbmRleE9mKCcvJykgIT09ICh1cmwubGVuZ3RoIC0gMSkpIHtcclxuICAgICAgdXJsID0gdXJsICsgJy8nXHJcbiAgICB9XHJcblxyXG4gICAgdXJsID0gdXJsICsgYWRkXHJcbiAgfVxyXG5cclxuICBpZiAodXJsLmxhc3RJbmRleE9mKCcvJykgIT09ICh1cmwubGVuZ3RoIC0gMSkpIHtcclxuICAgIHVybCA9IHVybCArICcvJ1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHVybFxyXG59Il19
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2J4LXJlc3Qvc3JjL3NlcnZpY2VzL2Jhc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLE9BQU8sQ0FBQTtBQUdoQzs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxLQUFLLENBQUMsR0FBUSxFQUFFLFVBQVUsR0FBRyxLQUFLO0lBQ2hELElBQUksR0FBRyxLQUFLLElBQUksSUFBSSxHQUFHLEtBQUssU0FBUyxFQUFFLENBQUM7UUFDdEMsSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUNmLE1BQU0sSUFBSSxLQUFLLENBQUMsa0JBQWtCLEdBQUcsZ0NBQWdDLENBQUMsQ0FBQTtRQUN4RSxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUE7SUFDWCxDQUFDO0lBQ0QsT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7QUFDcEIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBQyxHQUFRLEVBQUUsVUFBVSxHQUFHLElBQUksRUFBRSxRQUFRLEdBQUcsQ0FBQztJQUM3RCxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFMUIsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUNsQixNQUFNLEtBQUssR0FBRyxJQUFJLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUVqQyxJQUFJLFVBQVU7WUFBRSxNQUFNLEtBQUssQ0FBQTtRQUUzQixrREFBa0Q7UUFDbEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUMvQixPQUFPLFFBQVEsQ0FBQTtJQUNqQixDQUFDO0lBRUQsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sVUFBVyxTQUFRLEtBQUs7SUFDbkMsWUFBNEIs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O0FBQ2xCLENBQUM7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBVyxFQUFFLE1BQTBCLEVBQUU7SUFDMUUsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxHQUFHLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7UUFDMUQsR0FBRyxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUE7SUFDeEIsQ0FBQztJQUVELElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDMUIsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzlDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO1FBQ2pCLENBQUM7UUFFRCxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQTtJQUNqQixDQUFDO0lBRUQsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2pCLENBQUM7SUFFRCxPQUFPLEdBQUcsQ0FBQTtBQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlVGltZSB9IGZyb20gJ2x1eG9uJ1xyXG5pbXBvcnQgeyBEYXRlVGltZU9wdGlvbnMgfSBmcm9tICdsdXhvbi9zcmMvZGF0ZXRpbWUnXHJcblxyXG4vKipcclxuICog0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINGB0YLRgNC+0LrRg1xyXG4gKlxyXG4gKiBAcGFyYW0gdmFsXHJcbiAqIEBwYXJhbSB0aHJvd0Vycm9yXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdG9TdHIodmFsOiBhbnksIHRocm93RXJyb3IgPSBmYWxzZSk6IHN0cmluZyB7XHJcbiAgaWYgKHZhbCA9PT0gbnVsbCB8fCB2YWwgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgaWYgKHRocm93RXJyb3IpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIHZhbHVlOiAke3ZhbH0gY2Fubm90IGJlIGNvbnZlcnRlZCB0byBzdHJpbmdgKVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnXHJcbiAgfVxyXG4gIHJldHVybiBTdHJpbmcodmFsKVxyXG59XHJcblxyXG4vKipcclxuICog0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINGH0LjRgdC70L5cclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0b051bSh2YWw6IGFueSwgdGhyb3dFcnJvciA9IHRydWUsIGRlZlZhbHVlID0gMCk6IG51bWJlciB7XHJcbiAgY29uc3QgcmVzdWx0ID0gTnVtYmVyKHZhbClcclxuXHJcbiAgaWYgKGlzTmFOKHJlc3VsdCkpIHtcclxuICAgIGNvbnN0IGVycm9yID0gbmV3IFRvTnVtRXJyb3IodmFsKVxyXG5cclxuICAgIGlmICh0aHJvd0Vycm9yKSB0aHJvdyBlcnJvclxyXG5cclxuICAgIC8vINCV0YHQu9C4INC+0YjQuNCx0LrQsCDQvdC1INC/0YDQvtCx0YDQsNGB0YvQstCw0LXRgtGB0Y8g4oCUINC/0YDQvtGB0YLQviDQu9C+0LPQuNGA0YPQtdC8XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9yLnRvU3RyaW5nKCkpXHJcbiAgICByZXR1cm4gZGVmVmFsdWVcclxuICB9XHJcblxyXG4gIHJldHVybiByZXN1bHRcclxufVxyXG5cclxuLyoqXHJcbiAqINCa0LDRgdGC0L7QvNC90YvQuSDRgtC40L8g0L7RiNC40LHQutC4INC00LvRjyDRh9C40YHQu9C+0LLRi9GFINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40LlcclxuICovXHJcbmV4cG9ydCBjbGFzcyBUb051bUVycm9yIGV4dGVuZHMgRXJyb3Ige1xyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSB2YWx1ZTogYW55KSB7XHJcbiAgICBjb25zdCB2YWx1ZVR5cGUgPSB0eXBlb2YgdmFsdWVcclxuICAgIGNvbnN0IGZvcm1hdHRlZFZhbHVlID1cclxuICAgICAgdmFsdWVUeXBlID09PSAnb2JqZWN0JyA/IEpTT04uc3RyaW5naWZ5KHZhbHVlKSA6IFN0cmluZyh2YWx1ZSlcclxuICAgIGNvbnN0IG1lc3NhZ2UgPSBgSW52YWxpZCB2YWx1ZSBwYXNzZWQgdG8gdG9OdW0oKTogJHtmb3JtYXR0ZWRWYWx1ZX0gKHR5cGU6ICR7dmFsdWVUeXBlfSlgXHJcbiAgICBzdXBlcihtZXNzYWdlKVxyXG4gICAgdGhpcy5uYW1lID0gJ1RvTnVtRXJyb3InXHJcblxyXG4gICAgLy8g0YHQvtGF0YDQsNC90Y/QtdC8INGB0YLQtdC6INCy0YvQt9C+0LLQsCAo0L7RgtGE0LjQu9GM0YLRgNC+0LLQsNCyINGB0LDQvCDQutC+0L3RgdGC0YDRg9C60YLQvtGAKVxyXG4gICAgaWYgKHRoaXMuc3RhY2spIHtcclxuICAgICAgY29uc3Qgc3RhY2tMaW5lcyA9IHRoaXMuc3RhY2suc3BsaXQoJ1xcbicpXHJcbiAgICAgIC8vINCj0LTQsNC70Y/QtdC8INGB0YLRgNC+0LrRgyDQutC+0L3RgdGC0YDRg9C60YLQvtGA0LAgKNGH0YLQvtCx0Ysg0YHRgtC10Log0L3QsNGH0LjQvdCw0LvRgdGPINGBINC80LXRgdGC0LAg0LLRi9C30L7QstCwIHRvTnVtKVxyXG4gICAgICB0aGlzLnN0YWNrID0gW3N0YWNrTGluZXNbMF0sIC4uLnN0YWNrTGluZXMuc2xpY2UoMildLmpvaW4oJ1xcbicpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB0b1N0cmluZygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAgYOKdjCBbJHt0aGlzLm5hbWV9XSAke3RoaXMubWVzc2FnZX1gLFxyXG4gICAgICB0aGlzLnN0YWNrID8gYCAgIFN0YWNrIHRyYWNlOlxcbiR7dGhpcy5zdGFja31gIDogJycsXHJcbiAgICBdLmpvaW4oJ1xcbicpXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICog0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINC00LDRgtGDXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gdG9EYXRlKHZhbDogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSwgZm9ybWF0Pzogc3RyaW5nLCBvcHQ/OiBEYXRlVGltZU9wdGlvbnMsIHRocm93RXJyb3IgPSB0cnVlKTogRGF0ZSB7XHJcbiAgaWYgKHZhbCBpbnN0YW5jZW9mIERhdGUpIHtcclxuICAgIHJldHVybiB2YWxcclxuICB9IGVsc2UgaWYgKHR5cGVvZiB2YWwgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBpZiAoZm9ybWF0KSB7XHJcbiAgICAgIGlmIChvcHQpIHtcclxuICAgICAgICByZXR1cm4gRGF0ZVRpbWUuZnJvbUZvcm1hdCh2YWwsIGZvcm1hdCwgb3B0KS50b0pTRGF0ZSgpXHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIERhdGVUaW1lLmZyb21Gb3JtYXQodmFsLCBmb3JtYXQpLnRvSlNEYXRlKClcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWwpXHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsID09PSAnbnVtYmVyJykge1xyXG4gICAgcmV0dXJuIG5ldyBEYXRlKHZhbClcclxuICB9XHJcblxyXG4gIGlmICh0aHJvd0Vycm9yKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKCdXcm9uZyBkYXRlIGZvcm1hdCcsIHZhbCwgZm9ybWF0KVxyXG4gICAgdGhyb3cgbmV3IEVycm9yKCdXcm9uZyBkYXRlIGZvcm1hdCcpXHJcbiAgfVxyXG5cclxuICByZXR1cm4gbmV3IERhdGUoKVxyXG59XHJcblxyXG4vKipcclxuICog0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQtNCw0YLRgyDQsiDRgdGC0YDQvtC60YMg0YEg0YPRh9C10YLQvtC8INCy0YDQtdC80LXQvdC90L7QuSDQt9C+0L3Ri1xyXG4gKlxyXG4gKiBAcGFyYW0gZGF0ZVxyXG4gKiBAcGFyYW0gdGhyb3dFcnJvclxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvSVNPU3RyaW5nV2l0aFRpbWV6b25lKGRhdGU6IERhdGUsIHRocm93RXJyb3IgPSB0cnVlKTogc3RyaW5nIHtcclxuICBpZiAoIShkYXRlIGluc3RhbmNlb2YgRGF0ZSkpIHtcclxuICAgIGlmICh0aHJvd0Vycm9yKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsdWU6IG5vdCBhIHZhbGlkIERhdGUgb2JqZWN0JylcclxuICAgIHJldHVybiAnJ1xyXG4gIH1cclxuXHJcbiAgY29uc3QgdHpPZmZzZXQgPSAtZGF0ZS5nZXRUaW1lem9uZU9mZnNldCgpXHJcbiAgY29uc3QgZGlmZiA9IHR6T2Zmc2V0ID49IDAgPyAnKycgOiAnLSdcclxuICBjb25zdCBwYWQgPSAobjogbnVtYmVyKSA9PiBgJHtNYXRoLmZsb29yKE1hdGguYWJzKG4pKX1gLnBhZFN0YXJ0KDIsICcwJylcclxuICByZXR1cm4gZGF0ZS5nZXRGdWxsWWVhcigpICtcclxuICAgICctJyArIHBhZChkYXRlLmdldE1vbnRoKCkgKyAxKSArXHJcbiAgICAnLScgKyBwYWQoZGF0ZS5nZXREYXRlKCkpICtcclxuICAgICdUJyArIHBhZChkYXRlLmdldEhvdXJzKCkpICtcclxuICAgICc6JyArIHBhZChkYXRlLmdldE1pbnV0ZXMoKSkgK1xyXG4gICAgJzonICsgcGFkKGRhdGUuZ2V0U2Vjb25kcygpKSArXHJcbiAgICBkaWZmICsgcGFkKHR6T2Zmc2V0IC8gNjApICtcclxuICAgICc6JyArIHBhZCh0ek9mZnNldCAlIDYwKVxyXG59XHJcblxyXG4vKipcclxuICog0J/RgNC10L7QsdGA0LDQt9GD0LXRgiDQt9C90LDRh9C10L3QuNC1INCyINCx0YPQu9C10LLQviDQt9C90LDRh9C10L3QuNC1XHJcbiAqXHJcbiAqIEBwYXJhbSB2YWxcclxuICogQHBhcmFtIHRocm93RXJyb3JcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0b0Jvb2wodmFsOiBhbnksIHRocm93RXJyb3IgPSB0cnVlKTogYm9vbGVhbiB7XHJcbiAgc3dpdGNoICh0eXBlb2YgdmFsKSB7XHJcbiAgICBjYXNlICdzdHJpbmcnOlxyXG4gICAgICB2YWwgPSB2YWwudG9Mb3dlckNhc2UoKVxyXG4gICAgICBpZiAodmFsID09PSAnbicgfHwgdmFsID09PSAneScpIHsgLy8g0LHQuNGC0YDQuNC60YHQvtCy0YvQtSDQv9C+0L3Rj9GC0LjRjyDQviBib29sXHJcbiAgICAgICAgcmV0dXJuIHZhbCA9PT0gJ3knXHJcbiAgICAgIH0gZWxzZSBpZiAodmFsID09PSAndHJ1ZScgfHwgdmFsID09PSAnZmFsc2UnKSB7IC8vINCx0LjRgtGA0LjQutGB0L7QstGL0LUg0L/QvtC90Y/RgtC40Y8g0L4gYm9vbFxyXG4gICAgICAgIHJldHVybiB2YWwgPT09ICd0cnVlJ1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIGlmICh0aHJvd0Vycm9yKSB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdmFsdWU6IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYm9vbGVhbicpXHJcbiAgICAgICAgcmV0dXJuIGZhbHNlXHJcbiAgICAgIH1cclxuICAgIGRlZmF1bHQ6XHJcbiAgICAgIHJldHVybiBCb29sZWFuKHZhbClcclxuICB9XHJcbn1cclxuXHJcbi8qKlxyXG4gKiDQn9GA0LXQvtCx0YDQsNC30YPQtdGCINCx0YPQu9C10LLQviDQt9C90LDRh9C10L3QuNC1INCyICdZJyDQuNC70LggJ04nXHJcbiAqXHJcbiAqIEBwYXJhbSB2YWxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiB0b0JYWW9yTih2YWw6IGJvb2xlYW4pOiBzdHJpbmcge1xyXG4gIHJldHVybiB2YWwgPyAnWScgOiAnTidcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGdldEJhc2VVcmxIdHRwcyh1cmw6IHN0cmluZywgY29tcG9uZW50ID0gZmFsc2UpOiBzdHJpbmcge1xyXG4gIGlmIChjb21wb25lbnQpIHtcclxuICAgIHJldHVybiBlbmNvZGVVUkkoY3JvcFVybCh1cmwpICsgJy8nKVxyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZW5jb2RlVVJJKCdodHRwczovLycgKyBjcm9wVXJsKHVybCkgKyAnLycpXHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICog0J7QsdGA0LXQt9Cw0LXRgiBVUkwgKNGD0LTQsNC70Y/QtdGCINC/0YDQvtGC0L7QutC+0LspXHJcbiAqXHJcbiAqIEBwYXJhbSB1cmxcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBjcm9wVXJsKHVybDogc3RyaW5nKTogc3RyaW5nIHtcclxuICB1cmwgPSB1cmwgPyB1cmwucmVwbGFjZSgnaHR0cHM6Ly8nLCAnJykgOiAnJ1xyXG4gIHVybCA9IHVybCA/IHVybC5yZXBsYWNlKCdodHRwOi8vJywgJycpIDogJydcclxuICB1cmwgPSB1cmwgPyB1cmwucmVwbGFjZSgnaHR0cHM6JywgJycpIDogJydcclxuICB1cmwgPSB1cmwgPyB1cmwucmVwbGFjZSgnaHR0cDonLCAnJykgOiAnJ1xyXG4gIHJldHVybiB1cmxcclxufVxyXG5cclxuLyoqXHJcbiAqINCf0YDQtdC+0LHRgNCw0LfRg9C10YIg0YTQsNC50Lsg0LIgYmFzZTY0XHJcbiAqXHJcbiAqIEBwYXJhbSBmaWxlXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gZ2V0QmFzZTY0RmlsZShmaWxlOiBGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKVxyXG4gICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSlcclxuICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiByZXNvbHZlKHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nKVxyXG4gICAgcmVhZGVyLm9uZXJyb3IgPSBlcnJvciA9PiByZWplY3QoZXJyb3IpXHJcbiAgfSlcclxufVxyXG5cclxuLyoqXHJcbiAqINCf0L7Qu9GD0YfQuNGC0Ywg0YTQsNC50Lsg0LIg0YTQvtGA0LzQsNGC0LUgYmFzZTY0INGBINGA0LDQt9Cx0LjQstC60L7QuSDQvdCwINC30LDQs9C+0LvQvtCy0L7QuiDQuCDQtNCw0L3QvdGL0LVcclxuICpcclxuICogQHBhcmFtIGZpbGVcclxuICovXHJcbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYXNlNjRGaWxlTGlrZVN0cihmaWxlOiBGaWxlKTogUHJvbWlzZTx7XHJcbiAgaGVhZGVyOiBzdHJpbmcsXHJcbiAgdmFsOiBzdHJpbmdcclxufSB8IHVuZGVmaW5lZD4ge1xyXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGdldEJhc2U2NEZpbGUoZmlsZSlcclxuICBpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ3N0cmluZycpIHtcclxuICAgIGNvbnN0IHNwbGl0ID0gcmVzdWx0LnNwbGl0KCcsJylcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGhlYWRlcjogc3BsaXRbMF0sXHJcbiAgICAgIHZhbDogc3BsaXRbMV1cclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIHVuZGVmaW5lZFxyXG59XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gcHJlcGFyZUJhc2VBZGRyZXNzKHVybDogc3RyaW5nLCBhZGQ6IHN0cmluZyB8IHVuZGVmaW5lZCA9ICcnKSB7XHJcbiAgaWYgKHVybC5zZWFyY2goJ2h0dHBzOi8vJykgIT09IDAgJiYgdXJsLnNlYXJjaCgnaHR0cDovLycpKSB7XHJcbiAgICB1cmwgPSAnaHR0cHM6Ly8nICsgdXJsXHJcbiAgfVxyXG5cclxuICBpZiAoYWRkICYmIGFkZC5sZW5ndGggPiAwKSB7XHJcbiAgICBpZiAodXJsLmxhc3RJbmRleE9mKCcvJykgIT09ICh1cmwubGVuZ3RoIC0gMSkpIHtcclxuICAgICAgdXJsID0gdXJsICsgJy8nXHJcbiAgICB9XHJcblxyXG4gICAgdXJsID0gdXJsICsgYWRkXHJcbiAgfVxyXG5cclxuICBpZiAodXJsLmxhc3RJbmRleE9mKCcvJykgIT09ICh1cmwubGVuZ3RoIC0gMSkpIHtcclxuICAgIHVybCA9IHVybCArICcvJ1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHVybFxyXG59Il19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvaW0vZGlhbG9nL3JlY2VudC9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RZZXNObyB9IGZyb20gJy4uLy4uLy4uL2Jhc2UveWVzLW5vJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRQYXJhbSB7XHJcbiAgLyoqXHJcbiAgICog0J/RgNC+0L/Rg9GB0LrQsNGC0Ywg0YfQsNGC0Ysg0L7RgtC60YDRi9GC0YvRhSDQu9C40L3QuNC5XHJcbiAgICovXHJcbiAgU0tJUF9PUEVOTElORVM/OiBpQlhSZXN0WWVzTm9cclxuXHJcbiAgLyoqINCf0YDQvtC/0YPRgdC60LDRgtGMINGH0LDRgtGLICovXHJcbiAgU0tJUF9DSEFUPzogaUJYUmVzdFllc05vXHJcblxyXG4gIC8qKiDQn9GA0L7Qv9GD0YHQutCw0YLRjCDQtNC40LDQu9C+0LPQuCDQvtC00LjQvS3QvdCwLdC+0LTQuNC9ICovXHJcbiAgU0tJUF9ESUFMT0c/OiBpQlhSZXN0WWVzTm9cclxuXHJcbiAgLyoqXHJcbiAgICog0J7Qs9GA0LDQvdC40YfQtdC90LjQtSDQstGL0LHQvtGA0LrQuCDQtNC70Y8g0LzQuNC90LjQvNC40LfQsNGG0LjQuCDQv9C10YDQtdC00LDQvdC90YvRhSDQtNCw0L3QvdGL0YUuXHJcbiAgICovXHJcbiAgTEFTVF9VUERBVEU/OiBEYXRlXHJcblxyXG4gIC8qKlxyXG4gICAqINCS0YvQsdC+0YDQutCwINGC0L7Qu9GM0LrQviDRh9Cw0YLQvtCyINC+0YLQutGA0YvRgtGL0YUg0LvQuNC90LjQuVxyXG4gICAqL1xyXG4gIE9OTFlfT1BFTkxJTkVTPzogaUJYUmVzdFllc05vXHJcblxyXG4gIC8qKlxyXG4gICAqINCU0LDRgtCwINC/0YDQtdC00YvQtNGD0YnQtdC5INCy0YvQsdC+0YDQutC4INC00LvRjyDQt9Cw0LPRgNGD0LfQutC4INC40LfQvNC10L3QtdC90LjQuSwg0L/RgNC+0LjQt9C+0YjQtdC00YjQuNGFINCyINGB0L/QuNGB0LrQtSDRgSDRjdGC0L7Qs9C+INCy0YDQtdC80LXQvdC4LlxyXG4gICAqINCS0YvQsdC+0YDQutCwINCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC00LDQvdC90YvQtSDQvdC1INGB0YLQsNGA0YjQtSA3INC00L3QtdC5LlxyXG4gICAqL1xyXG4gIExBU1RfU1lOQ19EQVRFPzogRGF0ZVxyXG59XHJcblxyXG5cclxuLy8g0J7Qv9C40YHQsNC90LjQtSDQsNCy0LDRgtCw0YDQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LjQu9C4INGH0LDRgtCwXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0QXZhdGFyIHtcclxuICAvKiog0KHRgdGL0LvQutCwINC90LAg0LDQstCw0YLQsNGAICjQtdGB0LvQuCDQv9GD0YHRgtC+IOKAlCDQsNCy0LDRgtCw0YAg0L3QtSDQt9Cw0LTQsNC9KSAqL1xyXG4gIHVybDogc3RyaW5nXHJcbiAgLyoqINCm0LLQtdGCINC00LjQsNC70L7Qs9CwINCyINGE0L7RgNC80LDRgtC1IGhleCAqL1xyXG4gIGNvbG9yOiBzdHJpbmdcclxufVxyXG5cclxuLy8g0J7Qv9C40YHQsNC90LjQtSDQv9C+0YHQu9C10LTQvdC10LPQviDRgdC+0L7QsdGJ0LXQvdC40Y9cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRNZXNzYWdlIHtcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YHQvtC+0LHRidC10L3QuNGPICovXHJcbiAgaWQ6IHN0cmluZ1xyXG4gIC8qKiDQotC10LrRgdGCINGB0L7QvtCx0YnQtdC90LjRjyAo0LHQtdC3IEJCLdC60L7QtNC+0LIg0Lgg0L/QtdGA0LXQvdC+0YHQvtCyINGB0YLRgNC+0LopICovXHJcbiAgdGV4dDogc3RyaW5nXHJcbiAgLyoqINCf0YDQuNC30L3QsNC6INC90LDQu9C40YfQuNGPINGE0LDQudC70L7QsiAqL1xyXG4gIGZpbGU6IGJvb2xlYW5cclxuICAvKiog0J/RgNC40LfQvdCw0Log0L3QsNC70LjRh9C40Y8g0LLQu9C+0LbQtdC90LjQuSAqL1xyXG4gIGF0dGFjaDogYm9vbGVhblxyXG4gIC8qKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNCy0YLQvtGA0LAg0YHQvtC+0LHRidC10L3QuNGPICovXHJcbiAgYXV0aG9yX2lkOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRVc2VyRGF0YSBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhQmFzZXtcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICovXHJcbiAgaWQ6IG51bWJlclxyXG4gIC8qKiDQlNCw0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQtNC10LnRgdGC0LLQuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAqL1xyXG4gIGxhc3RfYWN0aXZpdHlfZGF0ZTogRGF0ZSB8IGZhbHNlXHJcbiAgLyoqINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDQsNC60YLQuNCy0L3QvtGB0YLQuCDQsiDQvNC+0LHQuNC70YzQvdC+0Lwg0L/RgNC40LvQvtC20LXQvdC40Lgg0LjQu9C4IGZhbHNlICovXHJcbiAgbW9iaWxlX2xhc3RfZGF0ZTogRGF0ZSB8IGZhbHNlXHJcbiAgLyoqINCU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjyDQvtGC0L/Rg9GB0LrQsCDQuNC70LggZmFsc2UgKi9cclxuICBhYnNlbnQ6IERhdGUgfCBmYWxzZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhSHR0cCBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhQmFzZXtcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICovXHJcbiAgaWQ6IHN0cmluZ1xyXG4gIC8qKiDQlNCw0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQtNC10LnRgdGC0LLQuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAqL1xyXG4gIGxhc3RfYWN0aXZpdHlfZGF0ZTogc3RyaW5nXHJcbiAgLyoqINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDQsNC60YLQuNCy0L3QvtGB0YLQuCDQsiDQvNC+0LHQuNC70YzQvdC+0Lwg0L/RgNC40LvQvtC20LXQvdC40Lgg0LjQu9C4IGZhbHNlICovXHJcbiAgbW9iaWxlX2xhc3RfZGF0ZTogc3RyaW5nIHwgZmFsc2VcclxuICAvKiog0JTQsNGC0LAg0L7QutC+0L3Rh9Cw0L3QuNGPINC+0YLQv9GD0YHQutCwINC40LvQuCBmYWxzZSAqL1xyXG4gIGFic2VudDogc3RyaW5nIHwgZmFsc2VcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRVc2VyRGF0YUJhc2Uge1xyXG4gIC8qKiDQn9C+0LvQvdC+0LUg0LjQvNGPICjQuNC80Y8g0Lgg0YTQsNC80LjQu9C40Y8pICovXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgLyoqINCY0LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gKi9cclxuICBmaXJzdF9uYW1lOiBzdHJpbmdcclxuICAvKiog0KTQsNC80LjQu9C40Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICovXHJcbiAgbGFzdF9uYW1lOiBzdHJpbmdcclxuICAvKiog0JTQvtC70LbQvdC+0YHRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAqL1xyXG4gIHdvcmtfcG9zaXRpb246IHN0cmluZ1xyXG4gIC8qKiDQptCy0LXRgiDQsiDRhNC+0YDQvNCw0YLQtSBoZXggKi9cclxuICBjb2xvcjogc3RyaW5nXHJcbiAgLyoqINCh0YHRi9C70LrQsCDQvdCwINCw0LLQsNGC0LDRgCAqL1xyXG4gIGF2YXRhcjogc3RyaW5nXHJcbiAgLyoqINCf0L7QuyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gKE0vRikgKi9cclxuICBnZW5kZXI6IHN0cmluZ1xyXG4gIC8qKiDQlNC10L3RjCDRgNC+0LbQtNC10L3QuNGPINCyINGE0L7RgNC80LDRgtC1IERELU1NINC40LvQuCBmYWxzZSAqL1xyXG4gIGJpcnRoZGF5OiBzdHJpbmcgfCBmYWxzZVxyXG4gIC8qKiDQktC90LXRiNC90LjQuSDRjdC60YHRgtGA0LDQvdC10YIt0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMICovXHJcbiAgZXh0cmFuZXQ6IGJvb2xlYW5cclxuICAvKiog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINCR0LjRgtGA0LjQutGBMjQuTmV0d29yayAqL1xyXG4gIG5ldHdvcms6IGJvb2xlYW5cclxuICAvKiog0JHQvtGCICovXHJcbiAgYm90OiBib29sZWFuXHJcbiAgLyoqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvtGC0LrRgNGL0YLRi9GFINC70LjQvdC40LkgKi9cclxuICBjb25uZWN0b3I6IGJvb2xlYW5cclxuICAvKiog0JrQvtC0INCy0L3QtdGI0L3QtdC5INCw0LLRgtC+0YDQuNC30LDRhtC40LggKi9cclxuICBleHRlcm5hbF9hdXRoX2lkOiBzdHJpbmdcclxuICAvKiog0KHRgtCw0YLRg9GBINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAo0L3QsNC/0YDQuNC80LXRgCwgb25saW5lKSAqL1xyXG4gIHN0YXR1czogc3RyaW5nXHJcbiAgLyoqINCU0LDRgtCwLCDQutC+0LPQtNCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvtGC0L7RiNC10Lsg0L7RgiDQutC+0LzQv9GM0Y7RgtC10YDQsCwg0LjQu9C4IGZhbHNlICovXHJcbiAgaWRsZTogc3RyaW5nIHwgZmFsc2VcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0RGF0YSBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXREYXRhQmFzZXtcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YfQsNGC0LAgKi9cclxuICBpZDogbnVtYmVyXHJcbiAgLyoqINCU0LDRgtCwINGB0L7Qt9C00LDQvdC40Y8g0YfQsNGC0LAgKi9cclxuICBkYXRlX2NyZWF0ZTogRGF0ZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXREYXRhSHR0cCBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXREYXRhQmFzZXtcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YfQsNGC0LAgKi9cclxuICBpZDogc3RyaW5nXHJcbiAgLyoqINCU0LDRgtCwINGB0L7Qt9C00LDQvdC40Y8g0YfQsNGC0LAgKi9cclxuICBkYXRlX2NyZWF0ZTogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdERhdGFCYXNlIHtcclxuICAvKiog0J3QsNC30LLQsNC90LjQtSDRh9Cw0YLQsCAqL1xyXG4gIHRpdGxlOiBzdHJpbmdcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQu9Cw0LTQtdC70YzRhtCwINGH0LDRgtCwICovXHJcbiAgb3duZXI6IHN0cmluZ1xyXG4gIC8qKiDQn9GA0LjQt9C90LDQuiDRg9GH0LDRgdGC0LjRjyDQstC90LXRiNC90LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAqL1xyXG4gIGV4dHJhbmV0OiBib29sZWFuXHJcbiAgLyoqINCh0YHRi9C70LrQsCDQvdCwINCw0LLQsNGC0LDRgCDRh9Cw0YLQsCAqL1xyXG4gIGF2YXRhcjogc3RyaW5nXHJcbiAgLyoqINCm0LLQtdGCINGH0LDRgtCwICovXHJcbiAgY29sb3I6IHN0cmluZ1xyXG4gIC8qKiDQotC40L8g0YfQsNGC0LAgKGNoYXQsIG9wZW5saW5lINC4INGCLtC0LikgKi9cclxuICB0eXBlOiBzdHJpbmdcclxuICAvKiog0JLQvdC10YjQvdC40Lkg0LrQvtC0INGH0LDRgtCwIOKAlCDRgtC40L8gKi9cclxuICBlbnRpdHlfdHlwZTogc3RyaW5nXHJcbiAgLyoqINCS0L3QtdGI0L3QuNC5INC60L7QtCDRh9Cw0YLQsCDigJQg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAgKNC80L7QttC10YIg0L7RgtGB0YPRgtGB0YLQstC+0LLQsNGC0YwpICovXHJcbiAgZW50aXR5X2lkPzogc3RyaW5nXHJcbiAgLyoqINCS0L3QtdGI0L3QuNC1INC00LDQvdC90YvQtSDQtNC70Y8g0YfQsNGC0LAgKDEpICovXHJcbiAgZW50aXR5X2RhdGFfMTogc3RyaW5nXHJcbiAgLyoqINCS0L3QtdGI0L3QuNC1INC00LDQvdC90YvQtSDQtNC70Y8g0YfQsNGC0LAgKDIpICovXHJcbiAgZW50aXR5X2RhdGFfMjogc3RyaW5nXHJcbiAgLyoqINCS0L3QtdGI0L3QuNC1INC00LDQvdC90YvQtSDQtNC70Y8g0YfQsNGC0LAgKDMpICovXHJcbiAgZW50aXR5X2RhdGFfMzogc3RyaW5nXHJcbiAgLyoqINCi0LjQvyDRgdC+0L7QsdGJ0LXQvdC40Lkg0LIg0YfQsNGC0LUgKNC+0LHRi9GH0L3QviBcIkNcIikgKi9cclxuICBtZXNzYWdlX3R5cGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldCBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEJhc2V7XHJcbiAgLyoqINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQs9C+INGB0L7QvtCx0YnQtdC90LjRjyAqL1xyXG4gIGRhdGVfdXBkYXRlOiBEYXRlXHJcbiAgLyoqINCe0LHRitC10LrRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8sINC10YHQu9C4IHR5cGUgPT09ICd1c2VyJyAqL1xyXG4gIHVzZXI/OiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRVc2VyRGF0YVxyXG4gIC8qKiDQntCx0YrQtdC60YIg0YfQsNGC0LAsINC10YHQu9C4IHR5cGUgPT09ICdjaGF0JyAqL1xyXG4gIGNoYXQ/OiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0RGF0YVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEh0dHAgZXh0ZW5kcyBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRCYXNle1xyXG4gIC8qKiDQlNCw0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDRgdC+0L7QsdGJ0LXQvdC40Y8gKi9cclxuICBkYXRlX3VwZGF0ZTogc3RyaW5nXHJcbiAgLyoqXHJcbiAgICog0J7QsdGK0LXQutGCINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0LXRgdC70LggdHlwZSA9PT0gJ3VzZXInXHJcbiAgICog0J/QvtGB0LzQvtGC0YDQtdGC0Ywg0LHRiyDQsiDQs9C70LDQt9CwINGC0L7QvNGDINGH0LXQu9C+0LLQtdC60YMg0YfRgtC+INGN0YLRgyDRhdGD0LXRgtGDINGB0LTQtdC70LDQu9CwLCDQvdGDINGC0LjQvyB7aWQ6IDB9INGN0YLQviDQsNGF0YPQuVxyXG4gICAqXHJcbiAgICovXHJcbiAgdXNlcj86IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhSHR0cCB8IHtpZDogMH1cclxuICAvKiog0J7QsdGK0LXQutGCINGH0LDRgtCwLCDQtdGB0LvQuCB0eXBlID09PSAnY2hhdCcgKi9cclxuICBjaGF0PzogaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdERhdGFIdHRwXHJcbn1cclxuXHJcbi8vINCj0L3QuNCy0LXRgNGB0LDQu9GM0L3QsNGPINC30LDQv9C40YHRjCDQsiDRgdC/0LjRgdC60LUgKNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNC70Lgg0YfQsNGCKVxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEJhc2Uge1xyXG4gIC8qKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0L/QuNGB0Lg6INGH0LjRgdC70L4g0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0YHRgtGA0L7QutCwIFwiY2hhdFhYWFwiINC00LvRjyDRh9Cw0YLQsCAqL1xyXG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcclxuICAvKiog0JrQvtC70LjRh9C10YHRgtCy0L4g0L3QtdC/0YDQvtGH0LjRgtCw0L3QvdGL0YUg0YHQvtC+0LHRidC10L3QuNC5ICovXHJcbiAgY291bnRlcjogbnVtYmVyXHJcbiAgLyoqINCi0LjQvyDQt9Cw0L/QuNGB0Lg6ICd1c2VyJyDQuNC70LggJ2NoYXQnICovXHJcbiAgdHlwZTogJ3VzZXInIHwgJ2NoYXQnXHJcbiAgLyoqINCe0LHRitC10LrRgiDQsNCy0LDRgtCw0YDQsCAqL1xyXG4gIGF2YXRhcjogaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0QXZhdGFyXHJcbiAgLyoqINCX0LDQs9C+0LvQvtCy0L7Qujog0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuNC70Lgg0L3QsNC30LLQsNC90LjQtSDRh9Cw0YLQsCAqL1xyXG4gIHRpdGxlOiBzdHJpbmdcclxuICAvKiog0J/QvtGB0LvQtdC00L3QtdC1INGB0L7QvtCx0YnQtdC90LjQtSAqL1xyXG4gIG1lc3NhZ2U6IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldE1lc3NhZ2VcclxuICAvKiog0J7QsdGK0LXQutGCINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0LXRgdC70LggdHlwZSA9PT0gJ3VzZXInICovXHJcbiAgdXNlcj86IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhQmFzZSB8IHtpZDogMH1cclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYngtcmVzdC9zcmMvdHlwaWZpY2F0aW9uL3Jlc3QvaW0vZGlhbG9nL3JlY2VudC9nZXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlCWFJlc3RZZXNObyB9IGZyb20gJy4uLy4uLy4uL2Jhc2UveWVzLW5vJ1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRQYXJhbSB7XHJcbiAgLyoqXHJcbiAgICog0J/RgNC+0L/Rg9GB0LrQsNGC0Ywg0YfQsNGC0Ysg0L7RgtC60YDRi9GC0YvRhSDQu9C40L3QuNC5XHJcbiAgICovXHJcbiAgU0tJUF9PUEVOTElORVM/OiBpQlhSZXN0WWVzTm9cclxuXHJcbiAgLyoqINCf0YDQvtC/0YPRgdC60LDRgtGMINGH0LDRgtGLICovXHJcbiAgU0tJUF9DSEFUPzogaUJYUmVzdFllc05vXHJcblxyXG4gIC8qKiDQn9GA0L7Qv9GD0YHQutCw0YLRjCDQtNC40LDQu9C+0LPQuCDQvtC00LjQvS3QvdCwLdC+0LTQuNC9ICovXHJcbiAgU0tJUF9ESUFMT0c/OiBpQlhSZXN0WWVzTm9cclxuXHJcbiAgLyoqXHJcbiAgICog0J7Qs9GA0LDQvdC40YfQtdC90LjQtSDQstGL0LHQvtGA0LrQuCDQtNC70Y8g0LzQuNC90LjQvNC40LfQsNGG0LjQuCDQv9C10YDQtdC00LDQvdC90YvRhSDQtNCw0L3QvdGL0YUuXHJcbiAgICovXHJcbiAgTEFTVF9VUERBVEU/OiBEYXRlXHJcblxyXG4gIC8qKlxyXG4gICAqINCS0YvQsdC+0YDQutCwINGC0L7Qu9GM0LrQviDRh9Cw0YLQvtCyINC+0YLQutGA0YvRgtGL0YUg0LvQuNC90LjQuVxyXG4gICAqL1xyXG4gIE9OTFlfT1BFTkxJTkVTPzogaUJYUmVzdFllc05vXHJcblxyXG4gIC8qKlxyXG4gICAqINCU0LDRgtCwINC/0YDQtdC00YvQtNGD0YnQtdC5INCy0YvQsdC+0YDQutC4INC00LvRjyDQt9Cw0LPRgNGD0LfQutC4INC40LfQvNC10L3QtdC90LjQuSwg0L/RgNC+0LjQt9C+0YjQtdC00YjQuNGFINCyINGB0L/QuNGB0LrQtSDRgSDRjdGC0L7Qs9C+INCy0YDQtdC80LXQvdC4LlxyXG4gICAqINCS0YvQsdC+0YDQutCwINCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC00LDQvdC90YvQtSDQvdC1INGB0YLQsNGA0YjQtSA3INC00L3QtdC5LlxyXG4gICAqL1xyXG4gIExBU1RfU1lOQ19EQVRFPzogRGF0ZVxyXG59XHJcblxyXG5cclxuLy8g0J7Qv9C40YHQsNC90LjQtSDQsNCy0LDRgtCw0YDQsCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LjQu9C4INGH0LDRgtCwXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0QXZhdGFyIHtcclxuICAvKiog0KHRgdGL0LvQutCwINC90LAg0LDQstCw0YLQsNGAICjQtdGB0LvQuCDQv9GD0YHRgtC+IOKAlCDQsNCy0LDRgtCw0YAg0L3QtSDQt9Cw0LTQsNC9KSAqL1xyXG4gIHVybDogc3RyaW5nXHJcbiAgLyoqINCm0LLQtdGCINC00LjQsNC70L7Qs9CwINCyINGE0L7RgNC80LDRgtC1IGhleCAqL1xyXG4gIGNvbG9yOiBzdHJpbmdcclxufVxyXG5cclxuLy8g0J7Qv9C40YHQsNC90LjQtSDQv9C+0YHQu9C10LTQvdC10LPQviDRgdC+0L7QsdGJ0LXQvdC40Y9cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRNZXNzYWdlIHtcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YHQvtC+0LHRidC10L3QuNGPICovXHJcbiAgaWQ6IHN0cmluZ1xyXG4gIC8qKiDQotC10LrRgdGCINGB0L7QvtCx0YnQtdC90LjRjyAo0LHQtdC3IEJCLdC60L7QtNC+0LIg0Lgg0L/QtdGA0LXQvdC+0YHQvtCyINGB0YLRgNC+0LopICovXHJcbiAgdGV4dDogc3RyaW5nXHJcbiAgLyoqINCf0YDQuNC30L3QsNC6INC90LDQu9C40YfQuNGPINGE0LDQudC70L7QsiAqL1xyXG4gIGZpbGU6IGJvb2xlYW5cclxuICAvKiog0J/RgNC40LfQvdCw0Log0L3QsNC70LjRh9C40Y8g0LLQu9C+0LbQtdC90LjQuSAqL1xyXG4gIGF0dGFjaDogYm9vbGVhblxyXG4gIC8qKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNCy0YLQvtGA0LAg0YHQvtC+0LHRidC10L3QuNGPICovXHJcbiAgYXV0aG9yX2lkOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRVc2VyRGF0YSBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhQmFzZXtcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICovXHJcbiAgaWQ6IG51bWJlclxyXG4gIC8qKiDQlNCw0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQtNC10LnRgdGC0LLQuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAqL1xyXG4gIGxhc3RfYWN0aXZpdHlfZGF0ZTogRGF0ZSB8IGZhbHNlXHJcbiAgLyoqINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDQsNC60YLQuNCy0L3QvtGB0YLQuCDQsiDQvNC+0LHQuNC70YzQvdC+0Lwg0L/RgNC40LvQvtC20LXQvdC40Lgg0LjQu9C4IGZhbHNlICovXHJcbiAgbW9iaWxlX2xhc3RfZGF0ZTogRGF0ZSB8IGZhbHNlXHJcbiAgLyoqINCU0LDRgtCwINC+0LrQvtC90YfQsNC90LjRjyDQvtGC0L/Rg9GB0LrQsCDQuNC70LggZmFsc2UgKi9cclxuICBhYnNlbnQ6IERhdGUgfCBmYWxzZVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhSHR0cCBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhQmFzZXtcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICovXHJcbiAgaWQ6IHN0cmluZ1xyXG4gIC8qKiDQlNCw0YLQsCDQv9C+0YHQu9C10LTQvdC10LPQviDQtNC10LnRgdGC0LLQuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAqL1xyXG4gIGxhc3RfYWN0aXZpdHlfZGF0ZTogc3RyaW5nXHJcbiAgLyoqINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDQsNC60YLQuNCy0L3QvtGB0YLQuCDQsiDQvNC+0LHQuNC70YzQvdC+0Lwg0L/RgNC40LvQvtC20LXQvdC40Lgg0LjQu9C4IGZhbHNlICovXHJcbiAgbW9iaWxlX2xhc3RfZGF0ZTogc3RyaW5nIHwgZmFsc2VcclxuICAvKiog0JTQsNGC0LAg0L7QutC+0L3Rh9Cw0L3QuNGPINC+0YLQv9GD0YHQutCwINC40LvQuCBmYWxzZSAqL1xyXG4gIGFic2VudDogc3RyaW5nIHwgZmFsc2VcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRVc2VyRGF0YUJhc2Uge1xyXG4gIC8qKiDQn9C+0LvQvdC+0LUg0LjQvNGPICjQuNC80Y8g0Lgg0YTQsNC80LjQu9C40Y8pICovXHJcbiAgbmFtZTogc3RyaW5nXHJcbiAgLyoqINCY0LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gKi9cclxuICBmaXJzdF9uYW1lOiBzdHJpbmdcclxuICAvKiog0KTQsNC80LjQu9C40Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPICovXHJcbiAgbGFzdF9uYW1lOiBzdHJpbmdcclxuICAvKiog0JTQvtC70LbQvdC+0YHRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAqL1xyXG4gIHdvcmtfcG9zaXRpb246IHN0cmluZ1xyXG4gIC8qKiDQptCy0LXRgiDQsiDRhNC+0YDQvNCw0YLQtSBoZXggKi9cclxuICBjb2xvcjogc3RyaW5nXHJcbiAgLyoqINCh0YHRi9C70LrQsCDQvdCwINCw0LLQsNGC0LDRgCAqL1xyXG4gIGF2YXRhcjogc3RyaW5nXHJcbiAgLyoqINCf0L7QuyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gKE0vRikgKi9cclxuICBnZW5kZXI6IHN0cmluZ1xyXG4gIC8qKiDQlNC10L3RjCDRgNC+0LbQtNC10L3QuNGPINCyINGE0L7RgNC80LDRgtC1IERELU1NINC40LvQuCBmYWxzZSAqL1xyXG4gIGJpcnRoZGF5OiBzdHJpbmcgfCBmYWxzZVxyXG4gIC8qKiDQktC90LXRiNC90LjQuSDRjdC60YHRgtGA0LDQvdC10YIt0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMICovXHJcbiAgZXh0cmFuZXQ6IGJvb2xlYW5cclxuICAvKiog0J/QvtC70YzQt9C+0LLQsNGC0LXQu9GMINCR0LjRgtGA0LjQutGBMjQuTmV0d29yayAqL1xyXG4gIG5ldHdvcms6IGJvb2xlYW5cclxuICAvKiog0JHQvtGCICovXHJcbiAgYm90OiBib29sZWFuXHJcbiAgLyoqINCf0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvtGC0LrRgNGL0YLRi9GFINC70LjQvdC40LkgKi9cclxuICBjb25uZWN0b3I6IGJvb2xlYW5cclxuICAvKiog0JrQvtC0INCy0L3QtdGI0L3QtdC5INCw0LLRgtC+0YDQuNC30LDRhtC40LggKi9cclxuICBleHRlcm5hbF9hdXRoX2lkOiBzdHJpbmdcclxuICAvKiog0KHRgtCw0YLRg9GBINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAo0L3QsNC/0YDQuNC80LXRgCwgb25saW5lKSAqL1xyXG4gIHN0YXR1czogc3RyaW5nXHJcbiAgLyoqINCU0LDRgtCwLCDQutC+0LPQtNCwINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvtGC0L7RiNC10Lsg0L7RgiDQutC+0LzQv9GM0Y7RgtC10YDQsCwg0LjQu9C4IGZhbHNlICovXHJcbiAgaWRsZTogc3RyaW5nIHwgZmFsc2VcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0Q2hhdERhdGEgZXh0ZW5kcyBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0Q2hhdERhdGFCYXNle1xyXG4gIC8qKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRh9Cw0YLQsCAqL1xyXG4gIGlkOiBudW1iZXJcclxuICAvKiog0JTQsNGC0LAg0YHQvtC30LTQsNC90LjRjyDRh9Cw0YLQsCAqL1xyXG4gIGRhdGVfY3JlYXRlOiBEYXRlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdENoYXREYXRhSHR0cCBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXRDaGF0RGF0YUJhc2V7XHJcbiAgLyoqINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGH0LDRgtCwICovXHJcbiAgaWQ6IHN0cmluZ1xyXG4gIC8qKiDQlNCw0YLQsCDRgdC+0LfQtNCw0L3QuNGPINGH0LDRgtCwICovXHJcbiAgZGF0ZV9jcmVhdGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgdHlwZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0RGF0YUJhc2UgPSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0Q2hhdERhdGFCYXNlIHwgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0Q2hhdFVzZXJEYXRhQmFzZVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0Q2hhdERhdGFCYXNlIHtcclxuICBiYWNrZ3JvdW5kX2lkOiBudWxsIC8vIFRPRE86INC90LDQudGC0Lgg0YfRgtC+INGC0YPRgiDQvNC+0LbQtdGCINC60YDQvtC80LUgbnVsbCDRgdGC0L7Rj9GC0YxcclxuICB0ZXh0X2ZpZWxkX2VuYWJsZWQ6IHRydWVcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0VXNlckRhdGFCYXNlIHtcclxuICAvKiog0J3QsNC30LLQsNC90LjQtSDRh9Cw0YLQsCAqL1xyXG4gIHRpdGxlOiBzdHJpbmdcclxuICAvKiog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LLQu9Cw0LTQtdC70YzRhtCwINGH0LDRgtCwICovXHJcbiAgb3duZXI6IHN0cmluZ1xyXG4gIC8qKiDQn9GA0LjQt9C90LDQuiDRg9GH0LDRgdGC0LjRjyDQstC90LXRiNC90LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyAqL1xyXG4gIGV4dHJhbmV0OiBib29sZWFuXHJcbiAgLyoqINCh0YHRi9C70LrQsCDQvdCwINCw0LLQsNGC0LDRgCDRh9Cw0YLQsCAqL1xyXG4gIGF2YXRhcjogc3RyaW5nXHJcbiAgLyoqINCm0LLQtdGCINGH0LDRgtCwICovXHJcbiAgY29sb3I6IHN0cmluZ1xyXG4gIC8qKiDQotC40L8g0YfQsNGC0LAgKGNoYXQsIG9wZW5saW5lINC4INGCLtC0LikgKi9cclxuICB0eXBlOiBzdHJpbmdcclxuICAvKiog0JLQvdC10YjQvdC40Lkg0LrQvtC0INGH0LDRgtCwIOKAlCDRgtC40L8gKi9cclxuICBlbnRpdHlfdHlwZTogc3RyaW5nXHJcbiAgLyoqINCS0L3QtdGI0L3QuNC5INC60L7QtCDRh9Cw0YLQsCDigJQg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAgKNC80L7QttC10YIg0L7RgtGB0YPRgtGB0YLQstC+0LLQsNGC0YwpICovXHJcbiAgZW50aXR5X2lkPzogc3RyaW5nXHJcbiAgLyoqINCS0L3QtdGI0L3QuNC1INC00LDQvdC90YvQtSDQtNC70Y8g0YfQsNGC0LAgKDEpICovXHJcbiAgZW50aXR5X2RhdGFfMTogc3RyaW5nXHJcbiAgLyoqINCS0L3QtdGI0L3QuNC1INC00LDQvdC90YvQtSDQtNC70Y8g0YfQsNGC0LAgKDIpICovXHJcbiAgZW50aXR5X2RhdGFfMjogc3RyaW5nXHJcbiAgLyoqINCS0L3QtdGI0L3QuNC1INC00LDQvdC90YvQtSDQtNC70Y8g0YfQsNGC0LAgKDMpICovXHJcbiAgZW50aXR5X2RhdGFfMzogc3RyaW5nXHJcbiAgLyoqINCi0LjQvyDRgdC+0L7QsdGJ0LXQvdC40Lkg0LIg0YfQsNGC0LUgKNC+0LHRi9GH0L3QviBcIkNcIikgKi9cclxuICBtZXNzYWdlX3R5cGU6IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldCBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEJhc2V7XHJcbiAgLyoqINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQs9C+INGB0L7QvtCx0YnQtdC90LjRjyAqL1xyXG4gIGRhdGVfdXBkYXRlOiBEYXRlXHJcbiAgLyoqINCe0LHRitC10LrRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8sINC10YHQu9C4IHR5cGUgPT09ICd1c2VyJyAqL1xyXG4gIHVzZXI/OiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRVc2VyRGF0YVxyXG4gIC8qKiDQntCx0YrQtdC60YIg0YfQsNGC0LAsINC10YHQu9C4IHR5cGUgPT09ICdjaGF0JyAqL1xyXG4gIGNoYXQ/OiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0Q2hhdERhdGEgfCBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0VXNlckRhdGFCYXNlXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0SHR0cCBleHRlbmRzIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEJhc2V7XHJcbiAgLyoqINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQs9C+INGB0L7QvtCx0YnQtdC90LjRjyAqL1xyXG4gIGRhdGVfdXBkYXRlOiBzdHJpbmdcclxuICAvKipcclxuICAgKiDQntCx0YrQtdC60YIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLCDQtdGB0LvQuCB0eXBlID09PSAndXNlcidcclxuICAgKiDQn9C+0YHQvNC+0YLRgNC10YLRjCDQsdGLINCyINCz0LvQsNC30LAg0YLQvtC80YMg0YfQtdC70L7QstC10LrRgywg0YfRgtC+INGN0YLRgyDRhdGD0LXRgtGDINGB0LTQtdC70LDQu9CwLCDQvdGDINGC0LjQvyB7aWQ6IDB9INGN0YLQviDQsNGF0YPQuVxyXG4gICAqL1xyXG4gIHVzZXI/OiBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRVc2VyRGF0YUh0dHAgfCB7aWQ6IDB9XHJcbiAgLyoqINCe0LHRitC10LrRgiDRh9Cw0YLQsCwg0LXRgdC70LggdHlwZSA9PT0gJ2NoYXQnICovXHJcbiAgY2hhdD86IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldENoYXRDaGF0RGF0YUh0dHAgfCBpQlhSZXN0SW1EaWFsb2dSZWNlbnRHZXRDaGF0VXNlckRhdGFCYXNlXHJcbn1cclxuXHJcbi8vINCj0L3QuNCy0LXRgNGB0LDQu9GM0L3QsNGPINC30LDQv9C40YHRjCDQsiDRgdC/0LjRgdC60LUgKNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQuNC70Lgg0YfQsNGCKVxyXG5leHBvcnQgaW50ZXJmYWNlIGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldEJhc2Uge1xyXG4gIC8qKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0L/QuNGB0Lg6INGH0LjRgdC70L4g0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0YHRgtGA0L7QutCwIFwiY2hhdFhYWFwiINC00LvRjyDRh9Cw0YLQsCAqL1xyXG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcclxuICAvKiog0JrQvtC70LjRh9C10YHRgtCy0L4g0L3QtdC/0YDQvtGH0LjRgtCw0L3QvdGL0YUg0YHQvtC+0LHRidC10L3QuNC5ICovXHJcbiAgY291bnRlcjogbnVtYmVyXHJcbiAgLyoqINCi0LjQvyDQt9Cw0L/QuNGB0Lg6ICd1c2VyJyDQuNC70LggJ2NoYXQnICovXHJcbiAgdHlwZTogJ3VzZXInIHwgJ2NoYXQnXHJcbiAgLyoqINCe0LHRitC10LrRgiDQsNCy0LDRgtCw0YDQsCAqL1xyXG4gIGF2YXRhcjogaUJYUmVzdEltRGlhbG9nUmVjZW50R2V0QXZhdGFyXHJcbiAgLyoqINCX0LDQs9C+0LvQvtCy0L7Qujog0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuNC70Lgg0L3QsNC30LLQsNC90LjQtSDRh9Cw0YLQsCAqL1xyXG4gIHRpdGxlOiBzdHJpbmdcclxuICAvKiog0J/QvtGB0LvQtdC00L3QtdC1INGB0L7QvtCx0YnQtdC90LjQtSAqL1xyXG4gIG1lc3NhZ2U6IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldE1lc3NhZ2VcclxuICAvKiog0J7QsdGK0LXQutGCINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0LXRgdC70LggdHlwZSA9PT0gJ3VzZXInICovXHJcbiAgdXNlcj86IGlCWFJlc3RJbURpYWxvZ1JlY2VudEdldFVzZXJEYXRhQmFzZSB8IHtpZDogMH1cclxufVxyXG4iXX0=