@nlabs/reaktor 0.5.3 → 0.6.0

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 (73) hide show
  1. package/README.md +7 -7
  2. package/lib/actions/conversations.js +36 -47
  3. package/lib/actions/dynamodb.js +22 -33
  4. package/lib/actions/email.js +32 -29
  5. package/lib/actions/files.js +46 -56
  6. package/lib/actions/groups.js +33 -28
  7. package/lib/actions/images.js +53 -63
  8. package/lib/actions/index.js +54 -37
  9. package/lib/actions/ios.js +21 -40
  10. package/lib/actions/locations.js +25 -22
  11. package/lib/actions/messages.js +28 -41
  12. package/lib/actions/notifications.d.ts +1 -1
  13. package/lib/actions/notifications.js +13 -20
  14. package/lib/actions/payments.js +37 -48
  15. package/lib/actions/posts.js +19 -42
  16. package/lib/actions/reactions.d.ts +1 -1
  17. package/lib/actions/reactions.js +17 -40
  18. package/lib/actions/s3.js +21 -18
  19. package/lib/actions/search.js +26 -40
  20. package/lib/actions/sms.js +24 -21
  21. package/lib/actions/statistics.js +14 -21
  22. package/lib/actions/subscription.js +27 -24
  23. package/lib/actions/tags.js +47 -54
  24. package/lib/actions/users.js +81 -94
  25. package/lib/actions/websockets.js +26 -39
  26. package/lib/config.js +21 -18
  27. package/lib/index.js +24 -22
  28. package/lib/lambdas/actions/websockets.js +27 -40
  29. package/lib/lambdas/authorizer.js +21 -18
  30. package/lib/lambdas/connection.js +26 -40
  31. package/lib/lambdas/utils/message.js +20 -17
  32. package/lib/lambdas/utils/websocket.js +33 -25
  33. package/lib/templates/email/layout.js +16 -9
  34. package/lib/templates/email/passwordForgot.js +16 -9
  35. package/lib/templates/email/passwordRecovery.js +16 -9
  36. package/lib/templates/email/verifyEmail.js +16 -9
  37. package/lib/templates/email/welcome.js +16 -9
  38. package/lib/templates/sms/passwordForgot.js +16 -9
  39. package/lib/templates/sms/passwordRecovery.js +16 -9
  40. package/lib/templates/sms/verifyEmail.js +16 -9
  41. package/lib/templates/sms/verifyPhone.js +16 -9
  42. package/lib/templates/sms/welcome.js +16 -9
  43. package/lib/types/apps.d.ts +1 -1
  44. package/lib/types/apps.js +14 -5
  45. package/lib/types/arangodb.js +14 -5
  46. package/lib/types/auth.js +14 -5
  47. package/lib/types/connections.js +14 -5
  48. package/lib/types/conversations.js +14 -5
  49. package/lib/types/email.js +14 -5
  50. package/lib/types/files.js +14 -5
  51. package/lib/types/google.js +14 -5
  52. package/lib/types/groups.js +14 -5
  53. package/lib/types/images.js +14 -5
  54. package/lib/types/index.js +50 -35
  55. package/lib/types/locations.js +14 -5
  56. package/lib/types/messages.js +14 -5
  57. package/lib/types/notifications.js +14 -5
  58. package/lib/types/payments.d.ts +1 -1
  59. package/lib/types/payments.js +14 -5
  60. package/lib/types/posts.js +14 -5
  61. package/lib/types/statistics.js +14 -5
  62. package/lib/types/tags.js +14 -5
  63. package/lib/types/users.js +14 -5
  64. package/lib/types/websocket.js +14 -5
  65. package/lib/utils/analytics.js +24 -44
  66. package/lib/utils/arangodb.js +14 -21
  67. package/lib/utils/auth.js +22 -36
  68. package/lib/utils/graphql.js +20 -17
  69. package/lib/utils/index.js +26 -23
  70. package/lib/utils/objects.js +22 -19
  71. package/lib/utils/session.js +20 -17
  72. package/package.json +31 -33
  73. package/.eslintrc +0 -18
@@ -1,56 +1,32 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
- var __getProtoOf = Object.getPrototypeOf;
9
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
- var __require = typeof require !== "undefined" ? require : (x) => {
26
- throw new Error('Dynamic require of "' + x + '" is not supported');
27
- };
28
5
  var __export = (target, all) => {
29
- __markAsModule(target);
30
6
  for (var name in all)
31
7
  __defProp(target, name, { get: all[name], enumerable: true });
32
8
  };
33
- var __reExport = (target, module2, desc) => {
34
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
35
- for (let key of __getOwnPropNames(module2))
36
- if (!__hasOwnProp.call(target, key) && key !== "default")
37
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
38
14
  }
39
- return target;
15
+ return to;
40
16
  };
41
- var __toModule = (module2) => {
42
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
43
- };
44
- __export(exports, {
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var ios_exports = {};
19
+ __export(ios_exports, {
45
20
  addIosInApp: () => addIosInApp,
46
21
  getIosInApp: () => getIosInApp,
47
22
  getIosInAppError: () => getIosInAppError,
48
23
  getIosSubscription: () => getIosSubscription,
49
24
  iosSubscriptionUpdate: () => iosSubscriptionUpdate
50
25
  });
51
- var import_utils = __toModule(require("@nlabs/utils"));
52
- var import_arangojs = __toModule(require("arangojs"));
53
- var import_utils2 = __toModule(require("../utils"));
26
+ module.exports = __toCommonJS(ios_exports);
27
+ var import_utils = require("@nlabs/utils");
28
+ var import_arangojs = require("arangojs");
29
+ var import_utils2 = require("../utils");
54
30
  const eventCategory = "ios";
55
31
  const getIosInAppError = (statusCode) => {
56
32
  const codes = {
@@ -66,6 +42,10 @@ const getIosInAppError = (statusCode) => {
66
42
  message: "Receipt valid but sub expired",
67
43
  valid: true
68
44
  },
45
+ /**
46
+ * special case for app review handling - forward any request that is intended for the Sandbox but was sent to
47
+ * Production, this is what the app review team does
48
+ */
69
49
  [21007]: {
70
50
  error: true,
71
51
  id: "payment_invalid_server",
@@ -106,11 +86,12 @@ const iosSubscriptionUpdate = (database, subscriptionUpdate) => {
106
86
  receipt: latestReceipt || expiredReceipt,
107
87
  status: formatStatus
108
88
  };
109
- const insert = __spreadProps(__spreadValues({}, update), {
89
+ const insert = {
90
+ ...update,
110
91
  _key: id,
111
92
  added: now,
112
93
  type: "ios_payment"
113
- });
94
+ };
114
95
  const aqlQry = import_arangojs.aql`UPSERT {transactionId: ${transactionId}}
115
96
  INSERT ${insert}
116
97
  UPDATE ${update} IN subscriptions
@@ -179,4 +160,4 @@ const getIosInApp = (context) => {
179
160
  getIosSubscription,
180
161
  iosSubscriptionUpdate
181
162
  });
182
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvaW9zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge2NyZWF0ZUhhc2h9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge2FxbCwgRGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5pbXBvcnQge0FycmF5Q3Vyc29yfSBmcm9tICdhcmFuZ29qcy9jdXJzb3InO1xuXG5pbXBvcnQge1xuICBBcGlDb250ZXh0LFxuICBQYXltZW50SU9TSW5BcHBFcnJvcixcbiAgUGF5bWVudElPU1N1YnNjcmlwdGlvbkluZm8sXG4gIFBheW1lbnRJT1NTdWJzY3JpcHRpb25VcGRhdGUsXG4gIFBheW1lbnRTdWJzY3JpcHRpb25cbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtsb2dFcnJvcn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnaW9zJztcblxuZXhwb3J0IGNvbnN0IGdldElvc0luQXBwRXJyb3IgPSAoc3RhdHVzQ29kZTogc3RyaW5nKTogUGF5bWVudElPU0luQXBwRXJyb3IgPT4ge1xuICBjb25zdCBjb2RlcyA9IHtcbiAgICBbMF06IHtlcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICdBY3RpdmUnLCB2YWxpZDogdHJ1ZX0sXG4gICAgWzIxMDAwXToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfcmVjZWlwdF91bnJlYWRhYmxlJywgbWVzc2FnZTogJ0FwcCBzdG9yZSBjb3VsZCBub3QgcmVhZCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDAyXToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfZGF0YV9tYWxmb3JtZWQnLCBtZXNzYWdlOiAnRGF0YSB3YXMgbWFsZm9ybWVkJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDNdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9yZWNlaXB0X3VuYXV0aG9yaXplZCcsIG1lc3NhZ2U6ICdSZWNlaXB0IG5vdCBhdXRoZW50aWNhdGVkJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDRdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9pbnZhbGlkX3NlY3JldCcsIG1lc3NhZ2U6ICdTaGFyZWQgc2VjcmV0IGRvZXMgbm90IG1hdGNoJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDVdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9zZXJ2ZXJfdW5hdmFpbGFibGUnLCBtZXNzYWdlOiAnUmVjZWlwdCBzZXJ2ZXIgdW5hdmFpbGFibGUnLCB2YWxpZDogZmFsc2V9LFxuICAgIFsyMTAwNl06IHtcbiAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgIGlkOiAncGF5bWVudF9zdWJzY3JpcHRpb25fZXhwaXJlZCcsXG4gICAgICBtZXNzYWdlOiAnUmVjZWlwdCB2YWxpZCBidXQgc3ViIGV4cGlyZWQnLFxuICAgICAgdmFsaWQ6IHRydWVcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIHNwZWNpYWwgY2FzZSBmb3IgYXBwIHJldmlldyBoYW5kbGluZyAtIGZvcndhcmQgYW55IHJlcXVlc3QgdGhhdCBpcyBpbnRlbmRlZCBmb3IgdGhlIFNhbmRib3ggYnV0IHdhcyBzZW50IHRvXG4gICAgICogUHJvZHVjdGlvbiwgdGhpcyBpcyB3aGF0IHRoZSBhcHAgcmV2aWV3IHRlYW0gZG9lc1xuICAgICAqL1xuICAgIFsyMTAwN106IHtcbiAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgaWQ6ICdwYXltZW50X2ludmFsaWRfc2VydmVyJyxcbiAgICAgIG1lc3NhZ2U6ICdTYW5kYm94IHJlY2VpcHQgc2VudCB0byBQcm9kdWN0aW9uIGVudmlyb25tZW50JyxcbiAgICAgIHJlZGlyZWN0OiB0cnVlLFxuICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgfSxcbiAgICBbMjEwMDhdOiB7XG4gICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgIGlkOiAncGF5bWVudF9pbnZhbGlkX3NlcnZlcicsXG4gICAgICBtZXNzYWdlOiAnUHJvZHVjdGlvbiByZWNlaXB0IHNlbnQgdG8gU2FuZGJveCBlbnZpcm9ubWVudCcsXG4gICAgICB2YWxpZDogZmFsc2VcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGNvZGVzW3N0YXR1c0NvZGVdIHx8IHt9O1xufTtcblxuZXhwb3J0IGNvbnN0IGlvc1N1YnNjcmlwdGlvblVwZGF0ZSA9IChcbiAgZGF0YWJhc2U6IERhdGFiYXNlLFxuICBzdWJzY3JpcHRpb25VcGRhdGU6IFBheW1lbnRJT1NTdWJzY3JpcHRpb25VcGRhdGVcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdpb3NTdWJzY3JpcHRpb25VcGRhdGUnO1xuICBjb25zdCB7XG4gICAgYXV0b19yZW5ld19hZGFtX2lkOiBwbGFuSWQsXG4gICAgY2FuY2VsbGF0aW9uX2RhdGU6IGNhbmNlbERhdGUsXG4gICAgbm90aWZpY2F0aW9uX3R5cGU6IHN0YXR1cyxcbiAgICBsYXRlc3RfcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCxcbiAgICBsYXRlc3RfcmVjZWlwdF9pbmZvOiBsYXRlc3RJbmZvLFxuICAgIGxhdGVzdF9leHBpcmVkX3JlY2VpcHQ6IGV4cGlyZWRSZWNlaXB0LFxuICAgIGxhdGVzdF9leHBpcmVkX3JlY2VpcHRfaW5mbzogZXhwaXJlZEluZm8sXG4gICAgb3JpZ2luYWxfdHJhbnNhY3Rpb25faWQ6IHRyYW5zYWN0aW9uSWRcbiAgfSA9IHN1YnNjcmlwdGlvblVwZGF0ZTtcbiAgY29uc3QgZm9ybWF0U3RhdHVzOiBzdHJpbmcgPSAoc3RhdHVzIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG4gIGNvbnN0IHJlY2VpcHRJbmZvOiBQYXltZW50SU9TU3Vic2NyaXB0aW9uSW5mb1tdID0gbGF0ZXN0SW5mbyB8fCBleHBpcmVkSW5mbztcbiAgY29uc3QgaWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHBheW1lbnQtJHt0cmFuc2FjdGlvbklkfWApO1xuXG4gIGNvbnN0IHVwZGF0ZTogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICBjYW5jZWxEYXRlLFxuICAgIGlzVmFsaWQ6IHJlY2VpcHRJbmZvWzBdLmV4cGlyZXNfZGF0ZV9tcyA+IG5vdyxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHBsYW5JZCxcbiAgICByZWNlaXB0OiBsYXRlc3RSZWNlaXB0IHx8IGV4cGlyZWRSZWNlaXB0LFxuICAgIHN0YXR1czogZm9ybWF0U3RhdHVzXG4gIH07XG4gIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICAuLi51cGRhdGUsXG4gICAgX2tleTogaWQsXG4gICAgYWRkZWQ6IG5vdyxcbiAgICB0eXBlOiAnaW9zX3BheW1lbnQnXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt0cmFuc2FjdGlvbklkOiAke3RyYW5zYWN0aW9uSWR9fVxuICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgIFVQREFURSAke3VwZGF0ZX0gSU4gc3Vic2NyaXB0aW9uc1xuICAgICBMSU1JVCAxYDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKCgpID0+IG51bGwpXG4gICAgLmNhdGNoKChkYkVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGRiRXJyb3IsIHt9KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbi8vIGV4cG9ydCBjb25zdCBhZGRJb3NJbkFwcCA9IChcbi8vICAgY29udGV4dDogQXBpQ29udGV4dCxcbi8vICAgYXBwLFxuLy8gICBzdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb25cbi8vICk6IFByb21pc2U8UGF5bWVudFN1YnNjcmlwdGlvbj4gPT4ge1xuLy8gICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRJb3NJbkFwcCc7XG4vLyAgIGNvbnN0IHtpc1Byb2R1Y3Rpb24sIHJlY2VpcHR9ID0gc3Vic2NyaXB0aW9uO1xuLy8gICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG5cbi8vICAgY29uc3QgcHJvZHVjdGlvbkhvc3Q6IHN0cmluZyA9ICdidXkuaXR1bmVzLmFwcGxlLmNvbSc7XG4vLyAgIGNvbnN0IHNhbmRib3hIb3N0OiBzdHJpbmcgPSAnc2FuZGJveC5pdHVuZXMuYXBwbGUuY29tJztcbi8vICAgY29uc3QgZW5kcG9pbnQ6IHN0cmluZyA9IGlzUHJvZHVjdGlvbiA/IHByb2R1Y3Rpb25Ib3N0IDogc2FuZGJveEhvc3Q7XG4vLyAgIGNvbnN0IHZlcmlmeVVybDogc3RyaW5nID0gYGh0dHBzOi8vJHtlbmRwb2ludH0vdmVyaWZ5UmVjZWlwdGA7XG4vLyAgIGNvbnN0IHBheWxvYWQ6IG9iamVjdCA9IHtcbi8vICAgICBwYXNzd29yZDogYXBwLmlhcCxcbi8vICAgICAncmVjZWlwdC1kYXRhJzogZGVjb2RlVVJJQ29tcG9uZW50KHJlY2VpcHQpXG4vLyAgIH07XG4vLyAgIGNvbnN0IG9wdGlvbnM6IG9iamVjdCA9IHtcbi8vICAgICBoZWFkZXJzOiB7XG4vLyAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcbi8vICAgICB9XG4vLyAgIH07XG5cbi8vICAgcmV0dXJuIHBvc3QodmVyaWZ5VXJsLCBwYXlsb2FkLCBvcHRpb25zKVxuLy8gICAgIC50aGVuKChyZXN1bHRzKSA9PiB7XG4vLyAgICAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShyZXN1bHRzKTtcbi8vICAgICAgIGNvbnN0IHtcbi8vICAgICAgICAgbGF0ZXN0X3JlY2VpcHQ6IGxhdGVzdFJlY2VpcHQsXG4vLyAgICAgICAgIGxhdGVzdF9yZWNlaXB0X2luZm86IGxhdGVzdEluZm8sXG4vLyAgICAgICAgIHN0YXR1c1xuLy8gICAgICAgfSA9IGpzb247XG5cbi8vICAgICAgIGNvbnN0IHtcbi8vICAgICAgICAgaXNfdHJpYWxfcGVyaW9kOiB0cmlhbFBlcmlvZCxcbi8vICAgICAgICAgb3JpZ2luYWxfcHVyY2hhc2VfZGF0ZV9tczogYWRkZWQsXG4vLyAgICAgICAgIGV4cGlyZXNfZGF0ZTogZXhwaXJlcyxcbi8vICAgICAgICAgcHJvZHVjdF9pZDogcGxhbklkLFxuLy8gICAgICAgICB0cmFuc2FjdGlvbl9pZDogdHJhbnNhY3Rpb25JZFxuLy8gICAgICAgfSA9IGxhdGVzdEluZm87XG5cbi8vICAgICAgIGlmKHN0YXR1cyA9PT0gMCB8fCBzdGF0dXMgPT09IDIxMDA2KSB7XG4vLyAgICAgICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBjcmVhdGVIYXNoKGBwYXltZW50LSR7dHJhbnNhY3Rpb25JZH1gKTtcbi8vICAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuLy8gICAgICAgICBjb25zdCB1cGRhdGU6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4vLyAgICAgICAgICAgZXhwaXJlcyxcbi8vICAgICAgICAgICBpc1RyaWFsOiB0cmlhbFBlcmlvZCA9PT0gJ3RydWUnLFxuLy8gICAgICAgICAgIGlzVmFsaWQ6IGV4cGlyZXMgPiBub3csXG4vLyAgICAgICAgICAgbW9kaWZpZWQ6IG5vdyxcbi8vICAgICAgICAgICBwbGFuSWQsXG4vLyAgICAgICAgICAgcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCxcbi8vICAgICAgICAgICB0cmFuc2FjdGlvbklkLFxuLy8gICAgICAgICAgIHVzZXJJZDogc2Vzc2lvbklkXG4vLyAgICAgICAgIH07XG4vLyAgICAgICAgIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbi8vICAgICAgICAgICAuLi51cGRhdGUsXG4vLyAgICAgICAgICAgX2tleTogaWQsXG4vLyAgICAgICAgICAgYWRkZWQsXG4vLyAgICAgICAgICAgdHlwZTogJ2lvc19wYXltZW50J1xuLy8gICAgICAgICB9O1xuXG4vLyAgICAgICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt0cmFuc2FjdGlvbklkOiAke3RyYW5zYWN0aW9uSWR9fVxuLy8gICAgICAgICAgICAgICBJTlNFUlQgJHtpbnNlcnR9XG4vLyAgICAgICAgICAgICAgIFVQREFURSAke3VwZGF0ZX0gSU4gc3Vic2NyaXB0aW9uc1xuLy8gICAgICAgICAgICAgICBSRVRVUk4gTkVXYDtcblxuLy8gICAgICAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuLy8gICAgICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuLy8gICAgICAgICAgIC50aGVuKCh1cGRhdGVkU3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHVwZGF0ZWRTdWJzY3JpcHRpb24pXG4vLyAgICAgICAgICAgLmNhdGNoKChkYkVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuLy8gICAgICAgICAgICAgYWN0aW9uLFxuLy8gICAgICAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4vLyAgICAgICAgICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuLy8gICAgICAgICAgIH0sIGRiRXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xuLy8gICAgICAgfVxuXG4vLyAgICAgICAvLyBFcnJvcnNcbi8vICAgICAgIGNvbnN0IGVycm9yOiBQYXltZW50SU9TSW5BcHBFcnJvciA9IGdldElvc0luQXBwRXJyb3IocmVzdWx0cy5zdGF0dXMpO1xuXG4vLyAgICAgICByZXR1cm4gbG9nRXhjZXB0aW9uKHtcbi8vICAgICAgICAgYWN0aW9uLFxuLy8gICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbi8vICAgICAgICAgbGFiZWw6ICdwYXltZW50X2Vycm9yJyxcbi8vICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbi8vICAgICAgICAgdmFsdWU6IGVycm9yLmlkXG4vLyAgICAgICB9LCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpO1xuLy8gICAgIH0pO1xuLy8gfTtcblxuZXhwb3J0IGNvbnN0IGdldElvc1N1YnNjcmlwdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldElvc1N1YnNjcmlwdGlvbic7XG4gIGNvbnN0IHtkYXRhYmFzZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBzIElOIHN1YnNjcmlwdGlvbnNcbiAgICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke3Nlc3Npb25JZH0gJiYgcy50eXBlID09IFwiaW9zX3BheW1lbnRcIlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHt9KSA9PiBzdWJzY3JpcHRpb24pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkSW9zSW5BcHAgPSAoY29udGV4dDogQXBpQ29udGV4dCwgc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uKTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2FkZElvc0luQXBwJztcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3Qge2FkZGVkID0gbm93LCBwbGFuSWQsIHJlY2VpcHQsIHRyYW5zYWN0aW9uSWQsIHRyaWFsRW5kfSA9IHN1YnNjcmlwdGlvbjtcbiAgY29uc3Qgc3Vic2NyaXB0aW9uSWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHN1YnNjcmlwdGlvbi0ke3RyYW5zYWN0aW9uSWR9YCk7XG4gIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICBfa2V5OiBzdWJzY3JpcHRpb25JZCxcbiAgICBhZGRlZCxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHBsYW5JZCxcbiAgICByZWNlaXB0LFxuICAgIHRyYW5zYWN0aW9uSWQsXG4gICAgdHJpYWxFbmQsXG4gICAgdHlwZTogJ2lvc19zdWJzY3JpcHRpb24nLFxuICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgSU5TRVJUICR7aW5zZXJ0fSBJTiBzdWJzY3JpcHRpb25zIFJFVFVSTiBORVdgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHVwZGF0ZWRTdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7fSkgPT4gdXBkYXRlZFN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRJb3NJbkFwcCA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldElvc0luQXBwJztcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIHMgSU4gc3Vic2NyaXB0aW9uXG4gICAgICBGSUxURVIgcy51c2VySWQgPT0gJHtzZXNzaW9uSWR9ICYmIHMudHlwZSA9PSBcImlvc1wiXG4gICAgICBMSU1JVCAxXG4gICAgICBSRVRVUk4gc2A7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxtQkFBeUI7QUFDekIsc0JBQTRCO0FBVzVCLG9CQUF1QjtBQUV2QixNQUFNLGdCQUF3QjtBQUV2QixNQUFNLG1CQUFtQixDQUFDLGVBQTZDO0FBQzVFLFFBQU0sUUFBUTtBQUFBLEtBQ1gsSUFB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
163
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvaW9zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJpbXBvcnQge2NyZWF0ZUhhc2h9IGZyb20gJ0BubGFicy91dGlscyc7XG5pbXBvcnQge2FxbCwgRGF0YWJhc2V9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5pbXBvcnQge0FycmF5Q3Vyc29yfSBmcm9tICdhcmFuZ29qcy9jdXJzb3InO1xuXG5pbXBvcnQge1xuICBBcGlDb250ZXh0LFxuICBQYXltZW50SU9TSW5BcHBFcnJvcixcbiAgUGF5bWVudElPU1N1YnNjcmlwdGlvbkluZm8sXG4gIFBheW1lbnRJT1NTdWJzY3JpcHRpb25VcGRhdGUsXG4gIFBheW1lbnRTdWJzY3JpcHRpb25cbn0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHtsb2dFcnJvcn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnaW9zJztcblxuZXhwb3J0IGNvbnN0IGdldElvc0luQXBwRXJyb3IgPSAoc3RhdHVzQ29kZTogc3RyaW5nKTogUGF5bWVudElPU0luQXBwRXJyb3IgPT4ge1xuICBjb25zdCBjb2RlcyA9IHtcbiAgICBbMF06IHtlcnJvcjogZmFsc2UsIG1lc3NhZ2U6ICdBY3RpdmUnLCB2YWxpZDogdHJ1ZX0sXG4gICAgWzIxMDAwXToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfcmVjZWlwdF91bnJlYWRhYmxlJywgbWVzc2FnZTogJ0FwcCBzdG9yZSBjb3VsZCBub3QgcmVhZCcsIHZhbGlkOiBmYWxzZX0sXG4gICAgWzIxMDAyXToge2Vycm9yOiB0cnVlLCBpZDogJ3BheW1lbnRfZGF0YV9tYWxmb3JtZWQnLCBtZXNzYWdlOiAnRGF0YSB3YXMgbWFsZm9ybWVkJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDNdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9yZWNlaXB0X3VuYXV0aG9yaXplZCcsIG1lc3NhZ2U6ICdSZWNlaXB0IG5vdCBhdXRoZW50aWNhdGVkJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDRdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9pbnZhbGlkX3NlY3JldCcsIG1lc3NhZ2U6ICdTaGFyZWQgc2VjcmV0IGRvZXMgbm90IG1hdGNoJywgdmFsaWQ6IGZhbHNlfSxcbiAgICBbMjEwMDVdOiB7ZXJyb3I6IHRydWUsIGlkOiAncGF5bWVudF9zZXJ2ZXJfdW5hdmFpbGFibGUnLCBtZXNzYWdlOiAnUmVjZWlwdCBzZXJ2ZXIgdW5hdmFpbGFibGUnLCB2YWxpZDogZmFsc2V9LFxuICAgIFsyMTAwNl06IHtcbiAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgIGlkOiAncGF5bWVudF9zdWJzY3JpcHRpb25fZXhwaXJlZCcsXG4gICAgICBtZXNzYWdlOiAnUmVjZWlwdCB2YWxpZCBidXQgc3ViIGV4cGlyZWQnLFxuICAgICAgdmFsaWQ6IHRydWVcbiAgICB9LFxuICAgIC8qKlxuICAgICAqIHNwZWNpYWwgY2FzZSBmb3IgYXBwIHJldmlldyBoYW5kbGluZyAtIGZvcndhcmQgYW55IHJlcXVlc3QgdGhhdCBpcyBpbnRlbmRlZCBmb3IgdGhlIFNhbmRib3ggYnV0IHdhcyBzZW50IHRvXG4gICAgICogUHJvZHVjdGlvbiwgdGhpcyBpcyB3aGF0IHRoZSBhcHAgcmV2aWV3IHRlYW0gZG9lc1xuICAgICAqL1xuICAgIFsyMTAwN106IHtcbiAgICAgIGVycm9yOiB0cnVlLFxuICAgICAgaWQ6ICdwYXltZW50X2ludmFsaWRfc2VydmVyJyxcbiAgICAgIG1lc3NhZ2U6ICdTYW5kYm94IHJlY2VpcHQgc2VudCB0byBQcm9kdWN0aW9uIGVudmlyb25tZW50JyxcbiAgICAgIHJlZGlyZWN0OiB0cnVlLFxuICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgfSxcbiAgICBbMjEwMDhdOiB7XG4gICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgIGlkOiAncGF5bWVudF9pbnZhbGlkX3NlcnZlcicsXG4gICAgICBtZXNzYWdlOiAnUHJvZHVjdGlvbiByZWNlaXB0IHNlbnQgdG8gU2FuZGJveCBlbnZpcm9ubWVudCcsXG4gICAgICB2YWxpZDogZmFsc2VcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIGNvZGVzW3N0YXR1c0NvZGVdIHx8IHt9O1xufTtcblxuZXhwb3J0IGNvbnN0IGlvc1N1YnNjcmlwdGlvblVwZGF0ZSA9IChcbiAgZGF0YWJhc2U6IERhdGFiYXNlLFxuICBzdWJzY3JpcHRpb25VcGRhdGU6IFBheW1lbnRJT1NTdWJzY3JpcHRpb25VcGRhdGVcbik6IFByb21pc2U8dm9pZD4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdpb3NTdWJzY3JpcHRpb25VcGRhdGUnO1xuICBjb25zdCB7XG4gICAgYXV0b19yZW5ld19hZGFtX2lkOiBwbGFuSWQsXG4gICAgY2FuY2VsbGF0aW9uX2RhdGU6IGNhbmNlbERhdGUsXG4gICAgbm90aWZpY2F0aW9uX3R5cGU6IHN0YXR1cyxcbiAgICBsYXRlc3RfcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCxcbiAgICBsYXRlc3RfcmVjZWlwdF9pbmZvOiBsYXRlc3RJbmZvLFxuICAgIGxhdGVzdF9leHBpcmVkX3JlY2VpcHQ6IGV4cGlyZWRSZWNlaXB0LFxuICAgIGxhdGVzdF9leHBpcmVkX3JlY2VpcHRfaW5mbzogZXhwaXJlZEluZm8sXG4gICAgb3JpZ2luYWxfdHJhbnNhY3Rpb25faWQ6IHRyYW5zYWN0aW9uSWRcbiAgfSA9IHN1YnNjcmlwdGlvblVwZGF0ZTtcbiAgY29uc3QgZm9ybWF0U3RhdHVzOiBzdHJpbmcgPSAoc3RhdHVzIHx8ICcnKS50b0xvd2VyQ2FzZSgpO1xuICBjb25zdCBub3c6IG51bWJlciA9IERhdGUubm93KCk7XG4gIGNvbnN0IHJlY2VpcHRJbmZvOiBQYXltZW50SU9TU3Vic2NyaXB0aW9uSW5mb1tdID0gbGF0ZXN0SW5mbyB8fCBleHBpcmVkSW5mbztcbiAgY29uc3QgaWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHBheW1lbnQtJHt0cmFuc2FjdGlvbklkfWApO1xuXG4gIGNvbnN0IHVwZGF0ZTogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICBjYW5jZWxEYXRlLFxuICAgIGlzVmFsaWQ6IHJlY2VpcHRJbmZvWzBdLmV4cGlyZXNfZGF0ZV9tcyA+IG5vdyxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHBsYW5JZCxcbiAgICByZWNlaXB0OiBsYXRlc3RSZWNlaXB0IHx8IGV4cGlyZWRSZWNlaXB0LFxuICAgIHN0YXR1czogZm9ybWF0U3RhdHVzXG4gIH07XG4gIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICAuLi51cGRhdGUsXG4gICAgX2tleTogaWQsXG4gICAgYWRkZWQ6IG5vdyxcbiAgICB0eXBlOiAnaW9zX3BheW1lbnQnXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt0cmFuc2FjdGlvbklkOiAke3RyYW5zYWN0aW9uSWR9fVxuICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgIFVQREFURSAke3VwZGF0ZX0gSU4gc3Vic2NyaXB0aW9uc1xuICAgICBMSU1JVCAxYDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKCgpID0+IG51bGwpXG4gICAgLmNhdGNoKChkYkVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGRiRXJyb3IsIHt9KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbi8vIGV4cG9ydCBjb25zdCBhZGRJb3NJbkFwcCA9IChcbi8vICAgY29udGV4dDogQXBpQ29udGV4dCxcbi8vICAgYXBwLFxuLy8gICBzdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb25cbi8vICk6IFByb21pc2U8UGF5bWVudFN1YnNjcmlwdGlvbj4gPT4ge1xuLy8gICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGRJb3NJbkFwcCc7XG4vLyAgIGNvbnN0IHtpc1Byb2R1Y3Rpb24sIHJlY2VpcHR9ID0gc3Vic2NyaXB0aW9uO1xuLy8gICBjb25zdCB7ZGF0YWJhc2UsIHVzZXJJZDogc2Vzc2lvbklkfSA9IGNvbnRleHQ7XG5cbi8vICAgY29uc3QgcHJvZHVjdGlvbkhvc3Q6IHN0cmluZyA9ICdidXkuaXR1bmVzLmFwcGxlLmNvbSc7XG4vLyAgIGNvbnN0IHNhbmRib3hIb3N0OiBzdHJpbmcgPSAnc2FuZGJveC5pdHVuZXMuYXBwbGUuY29tJztcbi8vICAgY29uc3QgZW5kcG9pbnQ6IHN0cmluZyA9IGlzUHJvZHVjdGlvbiA/IHByb2R1Y3Rpb25Ib3N0IDogc2FuZGJveEhvc3Q7XG4vLyAgIGNvbnN0IHZlcmlmeVVybDogc3RyaW5nID0gYGh0dHBzOi8vJHtlbmRwb2ludH0vdmVyaWZ5UmVjZWlwdGA7XG4vLyAgIGNvbnN0IHBheWxvYWQ6IG9iamVjdCA9IHtcbi8vICAgICBwYXNzd29yZDogYXBwLmlhcCxcbi8vICAgICAncmVjZWlwdC1kYXRhJzogZGVjb2RlVVJJQ29tcG9uZW50KHJlY2VpcHQpXG4vLyAgIH07XG4vLyAgIGNvbnN0IG9wdGlvbnM6IG9iamVjdCA9IHtcbi8vICAgICBoZWFkZXJzOiB7XG4vLyAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCdcbi8vICAgICB9XG4vLyAgIH07XG5cbi8vICAgcmV0dXJuIHBvc3QodmVyaWZ5VXJsLCBwYXlsb2FkLCBvcHRpb25zKVxuLy8gICAgIC50aGVuKChyZXN1bHRzKSA9PiB7XG4vLyAgICAgICBjb25zdCBqc29uID0gSlNPTi5wYXJzZShyZXN1bHRzKTtcbi8vICAgICAgIGNvbnN0IHtcbi8vICAgICAgICAgbGF0ZXN0X3JlY2VpcHQ6IGxhdGVzdFJlY2VpcHQsXG4vLyAgICAgICAgIGxhdGVzdF9yZWNlaXB0X2luZm86IGxhdGVzdEluZm8sXG4vLyAgICAgICAgIHN0YXR1c1xuLy8gICAgICAgfSA9IGpzb247XG5cbi8vICAgICAgIGNvbnN0IHtcbi8vICAgICAgICAgaXNfdHJpYWxfcGVyaW9kOiB0cmlhbFBlcmlvZCxcbi8vICAgICAgICAgb3JpZ2luYWxfcHVyY2hhc2VfZGF0ZV9tczogYWRkZWQsXG4vLyAgICAgICAgIGV4cGlyZXNfZGF0ZTogZXhwaXJlcyxcbi8vICAgICAgICAgcHJvZHVjdF9pZDogcGxhbklkLFxuLy8gICAgICAgICB0cmFuc2FjdGlvbl9pZDogdHJhbnNhY3Rpb25JZFxuLy8gICAgICAgfSA9IGxhdGVzdEluZm87XG5cbi8vICAgICAgIGlmKHN0YXR1cyA9PT0gMCB8fCBzdGF0dXMgPT09IDIxMDA2KSB7XG4vLyAgICAgICAgIGNvbnN0IGlkOiBzdHJpbmcgPSBjcmVhdGVIYXNoKGBwYXltZW50LSR7dHJhbnNhY3Rpb25JZH1gKTtcbi8vICAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuLy8gICAgICAgICBjb25zdCB1cGRhdGU6IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7XG4vLyAgICAgICAgICAgZXhwaXJlcyxcbi8vICAgICAgICAgICBpc1RyaWFsOiB0cmlhbFBlcmlvZCA9PT0gJ3RydWUnLFxuLy8gICAgICAgICAgIGlzVmFsaWQ6IGV4cGlyZXMgPiBub3csXG4vLyAgICAgICAgICAgbW9kaWZpZWQ6IG5vdyxcbi8vICAgICAgICAgICBwbGFuSWQsXG4vLyAgICAgICAgICAgcmVjZWlwdDogbGF0ZXN0UmVjZWlwdCxcbi8vICAgICAgICAgICB0cmFuc2FjdGlvbklkLFxuLy8gICAgICAgICAgIHVzZXJJZDogc2Vzc2lvbklkXG4vLyAgICAgICAgIH07XG4vLyAgICAgICAgIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbi8vICAgICAgICAgICAuLi51cGRhdGUsXG4vLyAgICAgICAgICAgX2tleTogaWQsXG4vLyAgICAgICAgICAgYWRkZWQsXG4vLyAgICAgICAgICAgdHlwZTogJ2lvc19wYXltZW50J1xuLy8gICAgICAgICB9O1xuXG4vLyAgICAgICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHt0cmFuc2FjdGlvbklkOiAke3RyYW5zYWN0aW9uSWR9fVxuLy8gICAgICAgICAgICAgICBJTlNFUlQgJHtpbnNlcnR9XG4vLyAgICAgICAgICAgICAgIFVQREFURSAke3VwZGF0ZX0gSU4gc3Vic2NyaXB0aW9uc1xuLy8gICAgICAgICAgICAgICBSRVRVUk4gTkVXYDtcblxuLy8gICAgICAgICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuLy8gICAgICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuLy8gICAgICAgICAgIC50aGVuKCh1cGRhdGVkU3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHVwZGF0ZWRTdWJzY3JpcHRpb24pXG4vLyAgICAgICAgICAgLmNhdGNoKChkYkVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuLy8gICAgICAgICAgICAgYWN0aW9uLFxuLy8gICAgICAgICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4vLyAgICAgICAgICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuLy8gICAgICAgICAgIH0sIGRiRXJyb3IsIGNvbnRleHQpLnRoZW4oKCkgPT4gbnVsbCkpO1xuLy8gICAgICAgfVxuXG4vLyAgICAgICAvLyBFcnJvcnNcbi8vICAgICAgIGNvbnN0IGVycm9yOiBQYXltZW50SU9TSW5BcHBFcnJvciA9IGdldElvc0luQXBwRXJyb3IocmVzdWx0cy5zdGF0dXMpO1xuXG4vLyAgICAgICByZXR1cm4gbG9nRXhjZXB0aW9uKHtcbi8vICAgICAgICAgYWN0aW9uLFxuLy8gICAgICAgICBjYXRlZ29yeTogZXZlbnRDYXRlZ29yeSxcbi8vICAgICAgICAgbGFiZWw6ICdwYXltZW50X2Vycm9yJyxcbi8vICAgICAgICAgbWVzc2FnZTogZXJyb3IubWVzc2FnZSxcbi8vICAgICAgICAgdmFsdWU6IGVycm9yLmlkXG4vLyAgICAgICB9LCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpO1xuLy8gICAgIH0pO1xuLy8gfTtcblxuZXhwb3J0IGNvbnN0IGdldElvc1N1YnNjcmlwdGlvbiA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldElvc1N1YnNjcmlwdGlvbic7XG4gIGNvbnN0IHtkYXRhYmFzZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBzIElOIHN1YnNjcmlwdGlvbnNcbiAgICAgIEZJTFRFUiBzLnVzZXJJZCA9PSAke3Nlc3Npb25JZH0gJiYgcy50eXBlID09IFwiaW9zX3BheW1lbnRcIlxuICAgICAgTElNSVQgMVxuICAgICAgUkVUVVJOIHNgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHN1YnNjcmlwdGlvbjogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHt9KSA9PiBzdWJzY3JpcHRpb24pXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgIGFjdGlvbixcbiAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG59O1xuXG5leHBvcnQgY29uc3QgYWRkSW9zSW5BcHAgPSAoY29udGV4dDogQXBpQ29udGV4dCwgc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uKTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2FkZElvc0luQXBwJztcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3Qge2FkZGVkID0gbm93LCBwbGFuSWQsIHJlY2VpcHQsIHRyYW5zYWN0aW9uSWQsIHRyaWFsRW5kfSA9IHN1YnNjcmlwdGlvbjtcbiAgY29uc3Qgc3Vic2NyaXB0aW9uSWQ6IHN0cmluZyA9IGNyZWF0ZUhhc2goYHN1YnNjcmlwdGlvbi0ke3RyYW5zYWN0aW9uSWR9YCk7XG4gIGNvbnN0IGluc2VydDogUGF5bWVudFN1YnNjcmlwdGlvbiA9IHtcbiAgICBfa2V5OiBzdWJzY3JpcHRpb25JZCxcbiAgICBhZGRlZCxcbiAgICBtb2RpZmllZDogbm93LFxuICAgIHBsYW5JZCxcbiAgICByZWNlaXB0LFxuICAgIHRyYW5zYWN0aW9uSWQsXG4gICAgdHJpYWxFbmQsXG4gICAgdHlwZTogJ2lvc19zdWJzY3JpcHRpb24nLFxuICAgIHVzZXJJZDogc2Vzc2lvbklkXG4gIH07XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgSU5TRVJUICR7aW5zZXJ0fSBJTiBzdWJzY3JpcHRpb25zIFJFVFVSTiBORVdgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgLnRoZW4oKHVwZGF0ZWRTdWJzY3JpcHRpb246IFBheW1lbnRTdWJzY3JpcHRpb24gPSB7fSkgPT4gdXBkYXRlZFN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRJb3NJbkFwcCA9IChjb250ZXh0OiBBcGlDb250ZXh0KTogUHJvbWlzZTxQYXltZW50U3Vic2NyaXB0aW9uPiA9PiB7XG4gIGNvbnN0IGFjdGlvbjogc3RyaW5nID0gJ2dldElvc0luQXBwJztcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgRk9SIHMgSU4gc3Vic2NyaXB0aW9uXG4gICAgICBGSUxURVIgcy51c2VySWQgPT0gJHtzZXNzaW9uSWR9ICYmIHMudHlwZSA9PSBcImlvc1wiXG4gICAgICBMSU1JVCAxXG4gICAgICBSRVRVUk4gc2A7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAudGhlbigoc3Vic2NyaXB0aW9uOiBQYXltZW50U3Vic2NyaXB0aW9uID0ge30pID0+IHN1YnNjcmlwdGlvbilcbiAgICAuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4gbG9nRXJyb3Ioe1xuICAgICAgYWN0aW9uLFxuICAgICAgY2F0ZWdvcnk6IGV2ZW50Q2F0ZWdvcnksXG4gICAgICBsYWJlbDogJ2RiX2Vycm9yJ1xuICAgIH0sIGVycm9yLCBjb250ZXh0KS50aGVuKCgpID0+IG51bGwpKTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLG1CQUF5QjtBQUN6QixzQkFBNEI7QUFXNUIsSUFBQUEsZ0JBQXVCO0FBRXZCLE1BQU0sZ0JBQXdCO0FBRXZCLE1BQU0sbUJBQW1CLENBQUMsZUFBNkM7QUFDNUUsUUFBTSxRQUFRO0FBQUEsSUFDWixDQUFDLENBQUMsR0FBRyxFQUFDLE9BQU8sT0FBTyxTQUFTLFVBQVUsT0FBTyxLQUFJO0FBQUEsSUFDbEQsQ0FBQyxJQUFLLEdBQUcsRUFBQyxPQUFPLE1BQU0sSUFBSSw4QkFBOEIsU0FBUyw0QkFBNEIsT0FBTyxNQUFLO0FBQUEsSUFDMUcsQ0FBQyxLQUFLLEdBQUcsRUFBQyxPQUFPLE1BQU0sSUFBSSwwQkFBMEIsU0FBUyxzQkFBc0IsT0FBTyxNQUFLO0FBQUEsSUFDaEcsQ0FBQyxLQUFLLEdBQUcsRUFBQyxPQUFPLE1BQU0sSUFBSSxnQ0FBZ0MsU0FBUyw2QkFBNkIsT0FBTyxNQUFLO0FBQUEsSUFDN0csQ0FBQyxLQUFLLEdBQUcsRUFBQyxPQUFPLE1BQU0sSUFBSSwwQkFBMEIsU0FBUyxnQ0FBZ0MsT0FBTyxNQUFLO0FBQUEsSUFDMUcsQ0FBQyxLQUFLLEdBQUcsRUFBQyxPQUFPLE1BQU0sSUFBSSw4QkFBOEIsU0FBUyw4QkFBOEIsT0FBTyxNQUFLO0FBQUEsSUFDNUcsQ0FBQyxLQUFLLEdBQUc7QUFBQSxNQUNQLE9BQU87QUFBQSxNQUNQLElBQUk7QUFBQSxNQUNKLFNBQVM7QUFBQSxNQUNULE9BQU87QUFBQSxJQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUtBLENBQUMsS0FBSyxHQUFHO0FBQUEsTUFDUCxPQUFPO0FBQUEsTUFDUCxJQUFJO0FBQUEsTUFDSixTQUFTO0FBQUEsTUFDVCxVQUFVO0FBQUEsTUFDVixPQUFPO0FBQUEsSUFDVDtBQUFBLElBQ0EsQ0FBQyxLQUFLLEdBQUc7QUFBQSxNQUNQLE9BQU87QUFBQSxNQUNQLElBQUk7QUFBQSxNQUNKLFNBQVM7QUFBQSxNQUNULE9BQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU8sTUFBTSxVQUFVLEtBQUssQ0FBQztBQUMvQjtBQUVPLE1BQU0sd0JBQXdCLENBQ25DLFVBQ0EsdUJBQ2tCO0FBQ2xCLFFBQU0sU0FBaUI7QUFDdkIsUUFBTTtBQUFBLElBQ0osb0JBQW9CO0FBQUEsSUFDcEIsbUJBQW1CO0FBQUEsSUFDbkIsbUJBQW1CO0FBQUEsSUFDbkIsZ0JBQWdCO0FBQUEsSUFDaEIscUJBQXFCO0FBQUEsSUFDckIsd0JBQXdCO0FBQUEsSUFDeEIsNkJBQTZCO0FBQUEsSUFDN0IseUJBQXlCO0FBQUEsRUFDM0IsSUFBSTtBQUNKLFFBQU0sZ0JBQXdCLFVBQVUsSUFBSSxZQUFZO0FBQ3hELFFBQU0sTUFBYyxLQUFLLElBQUk7QUFDN0IsUUFBTSxjQUE0QyxjQUFjO0FBQ2hFLFFBQU0sU0FBYSx5QkFBVyxXQUFXLGFBQWEsRUFBRTtBQUV4RCxRQUFNLFNBQThCO0FBQUEsSUFDbEM7QUFBQSxJQUNBLFNBQVMsWUFBWSxDQUFDLEVBQUUsa0JBQWtCO0FBQUEsSUFDMUMsVUFBVTtBQUFBLElBQ1Y7QUFBQSxJQUNBLFNBQVMsaUJBQWlCO0FBQUEsSUFDMUIsUUFBUTtBQUFBLEVBQ1Y7QUFDQSxRQUFNLFNBQThCO0FBQUEsSUFDbEMsR0FBRztBQUFBLElBQ0gsTUFBTTtBQUFBLElBQ04sT0FBTztBQUFBLElBQ1AsTUFBTTtBQUFBLEVBQ1I7QUFDQSxRQUFNLFNBQW1CLDZDQUE2QixhQUFhO0FBQUEsY0FDdkQsTUFBTTtBQUFBLGNBQ04sTUFBTTtBQUFBO0FBR2xCLFNBQU8sU0FBUyxNQUFNLE1BQU0sRUFDekIsS0FBSyxNQUFNLElBQUksRUFDZixNQUFNLENBQUMsZ0JBQW1CLHdCQUFTO0FBQUEsSUFDbEM7QUFBQSxJQUNBLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxFQUNULEdBQUcsU0FBUyxDQUFDLENBQUMsRUFBRSxLQUFLLE1BQU0sSUFBSSxDQUFDO0FBQ3BDO0FBMEZPLE1BQU0scUJBQXFCLENBQUMsWUFBc0Q7QUFDdkYsUUFBTSxTQUFpQjtBQUN2QixRQUFNLEVBQUMsVUFBVSxTQUFTLEVBQUMsUUFBUSxVQUFTLEVBQUMsSUFBSTtBQUNqRCxRQUFNLFNBQW1CO0FBQUEsMkJBQ0EsU0FBUztBQUFBO0FBQUE7QUFJbEMsU0FBTyxTQUFTLE1BQU0sTUFBTSxFQUN6QixLQUFLLENBQUMsV0FBd0IsT0FBTyxLQUFLLENBQUMsRUFDM0MsS0FBSyxDQUFDLGVBQW9DLENBQUMsTUFBTSxZQUFZLEVBQzdELE1BQU0sQ0FBQyxjQUFpQix3QkFBUztBQUFBLElBQ2hDO0FBQUEsSUFDQSxVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsRUFDVCxHQUFHLE9BQU8sT0FBTyxFQUFFLEtBQUssTUFBTSxJQUFJLENBQUM7QUFDdkM7QUFFTyxNQUFNLGNBQWMsQ0FBQyxTQUFxQixpQkFBb0U7QUFDbkgsUUFBTSxTQUFpQjtBQUN2QixRQUFNLEVBQUMsVUFBVSxTQUFTLEVBQUMsUUFBUSxVQUFTLEVBQUMsSUFBSTtBQUNqRCxRQUFNLE1BQWMsS0FBSyxJQUFJO0FBQzdCLFFBQU0sRUFBQyxRQUFRLEtBQUssUUFBUSxTQUFTLGVBQWUsU0FBUSxJQUFJO0FBQ2hFLFFBQU0scUJBQXlCLHlCQUFXLGdCQUFnQixhQUFhLEVBQUU7QUFDekUsUUFBTSxTQUE4QjtBQUFBLElBQ2xDLE1BQU07QUFBQSxJQUNOO0FBQUEsSUFDQSxVQUFVO0FBQUEsSUFDVjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsTUFBTTtBQUFBLElBQ04sUUFBUTtBQUFBLEVBQ1Y7QUFDQSxRQUFNLFNBQW1CLDZCQUFhLE1BQU07QUFFNUMsU0FBTyxTQUFTLE1BQU0sTUFBTSxFQUN6QixLQUFLLENBQUMsV0FBd0IsT0FBTyxLQUFLLENBQUMsRUFDM0MsS0FBSyxDQUFDLHNCQUEyQyxDQUFDLE1BQU0sbUJBQW1CLEVBQzNFLE1BQU0sQ0FBQyxjQUFpQix3QkFBUztBQUFBLElBQ2hDO0FBQUEsSUFDQSxVQUFVO0FBQUEsSUFDVixPQUFPO0FBQUEsRUFDVCxHQUFHLE9BQU8sT0FBTyxFQUFFLEtBQUssTUFBTSxJQUFJLENBQUM7QUFDdkM7QUFFTyxNQUFNLGNBQWMsQ0FBQyxZQUFzRDtBQUNoRixRQUFNLFNBQWlCO0FBQ3ZCLFFBQU0sRUFBQyxVQUFVLFNBQVMsRUFBQyxRQUFRLFVBQVMsRUFBQyxJQUFJO0FBQ2pELFFBQU0sU0FBbUI7QUFBQSwyQkFDQSxTQUFTO0FBQUE7QUFBQTtBQUlsQyxTQUFPLFNBQVMsTUFBTSxNQUFNLEVBQ3pCLEtBQUssQ0FBQyxXQUF3QixPQUFPLEtBQUssQ0FBQyxFQUMzQyxLQUFLLENBQUMsZUFBb0MsQ0FBQyxNQUFNLFlBQVksRUFDN0QsTUFBTSxDQUFDLGNBQWlCLHdCQUFTO0FBQUEsSUFDaEM7QUFBQSxJQUNBLFVBQVU7QUFBQSxJQUNWLE9BQU87QUFBQSxFQUNULEdBQUcsT0FBTyxPQUFPLEVBQUUsS0FBSyxNQUFNLElBQUksQ0FBQztBQUN2QzsiLAogICJuYW1lcyI6IFsiaW1wb3J0X3V0aWxzIl0KfQo=
@@ -4,35 +4,38 @@ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
5
  var __getProtoOf = Object.getPrototypeOf;
6
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __require = typeof require !== "undefined" ? require : (x) => {
9
- throw new Error('Dynamic require of "' + x + '" is not supported');
10
- };
11
7
  var __export = (target, all) => {
12
- __markAsModule(target);
13
8
  for (var name in all)
14
9
  __defProp(target, name, { get: all[name], enumerable: true });
15
10
  };
16
- var __reExport = (target, module2, desc) => {
17
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
18
- for (let key of __getOwnPropNames(module2))
19
- if (!__hasOwnProp.call(target, key) && key !== "default")
20
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
16
  }
22
- return target;
23
- };
24
- var __toModule = (module2) => {
25
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
17
+ return to;
26
18
  };
27
- __export(exports, {
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var locations_exports = {};
29
+ __export(locations_exports, {
28
30
  addLocation: () => addLocation
29
31
  });
30
- var import_rip_hunter = __toModule(require("@nlabs/rip-hunter"));
31
- var import_utils = __toModule(require("@nlabs/utils"));
32
- var import_arangojs = __toModule(require("arangojs"));
33
- var import_get = __toModule(require("lodash/get"));
34
- var import_config = __toModule(require("../config"));
35
- var import_utils2 = __toModule(require("../utils"));
32
+ module.exports = __toCommonJS(locations_exports);
33
+ var import_rip_hunter = require("@nlabs/rip-hunter");
34
+ var import_utils = require("@nlabs/utils");
35
+ var import_arangojs = require("arangojs");
36
+ var import_get = __toESM(require("lodash/get"));
37
+ var import_config = require("../config");
38
+ var import_utils2 = require("../utils");
36
39
  const eventCategory = "locations";
37
40
  const addLocation = (context, location) => {
38
41
  const action = "add";
@@ -112,4 +115,4 @@ const addLocation = (context, location) => {
112
115
  0 && (module.exports = {
113
116
  addLocation
114
117
  });
115
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvbG9jYXRpb25zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXQgYXMgaHR0cEdldCwgcXVlcnlTdHJpbmd9IGZyb20gJ0BubGFicy9yaXAtaHVudGVyJztcbmltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VDaGFyLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5pbXBvcnQge0VkZ2VDb2xsZWN0aW9ufSBmcm9tICdhcmFuZ29qcy9jb2xsZWN0aW9uJztcbmltcG9ydCB7QXJyYXlDdXJzb3J9IGZyb20gJ2FyYW5nb2pzL2N1cnNvcic7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aCc7XG5pbXBvcnQge0dvb2dsZU1hcHNBZGRyZXNzVHlwZX0gZnJvbSAnLi4vdHlwZXMvZ29vZ2xlJztcbmltcG9ydCB7TG9jYXRpb25UeXBlfSBmcm9tICcuLi90eXBlcy9sb2NhdGlvbnMnO1xuaW1wb3J0IHtsb2dFcnJvcn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnbG9jYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IGFkZExvY2F0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2F0aW9uOiBMb2NhdGlvblR5cGUpOiBQcm9taXNlPExvY2F0aW9uVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGQnO1xuICBjb25zdCB7ZGF0YWJhc2UsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3Qge2FkZHJlc3MsIGl0ZW1JZCwgaXRlbVR5cGV9ID0gbG9jYXRpb247XG4gIGNvbnN0IGdlb2NvZGVVcmw6IHN0cmluZyA9IENvbmZpZy5nZXQoJ2dvb2dsZS5nZW9jb2RlLnVybCcpO1xuICBjb25zdCBwYXJhbXM6IG9iamVjdCA9IHtcbiAgICBhZGRyZXNzLFxuICAgIGtleTogQ29uZmlnLmdldCgnZ29vZ2xlLmdlb2NvZGUua2V5JylcbiAgfTtcbiAgY29uc3QgdXJsOiBzdHJpbmcgPSBgJHtnZW9jb2RlVXJsfT8ke3F1ZXJ5U3RyaW5nKHBhcmFtcyl9YDtcblxuICByZXR1cm4gaHR0cEdldCh1cmwpXG4gICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgIGNvbnN0IHtyZXN1bHRzID0gW10sIHN0YXR1cyA9ICcnfSA9IGpzb247XG5cbiAgICAgIGlmKHN0YXR1cyA9PT0gJ09LJyAmJiByZXN1bHRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBnZW9kYXRhOiBvYmplY3QgPSByZXN1bHRzWzBdO1xuICAgICAgICBjb25zdCBhZGRyZXNzQ29tcG9uZW50czogR29vZ2xlTWFwc0FkZHJlc3NUeXBlW10gPSBnZXQoZ2VvZGF0YSwgJ2FkZHJlc3NfY29tcG9uZW50cycpO1xuICAgICAgICBjb25zdCBnZXRGaWVsZFZhbCA9IChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgICAgICAgIGNvbnN0IHtzaG9ydF9uYW1lOiBzaG9ydE5hbWUgPSAnJ30gPSBhZGRyZXNzQ29tcG9uZW50cy5maW5kKChhZGRyZXNzRmllbGQ6IEdvb2dsZU1hcHNBZGRyZXNzVHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHlwZXMgPSBhZGRyZXNzRmllbGQudHlwZXMgfHwgW107XG4gICAgICAgICAgICByZXR1cm4gdHlwZXMuZmluZEluZGV4KChmaWVsZFR5cGU6IHN0cmluZykgPT4gZmllbGRUeXBlID09PSBuYW1lKSA+PSAwO1xuICAgICAgICAgIH0pIHx8IHt9O1xuXG4gICAgICAgICAgcmV0dXJuIHNob3J0TmFtZTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBTdHJlZXRcbiAgICAgICAgY29uc3Qgc3RyZWV0TnVtYmVyOiBzdHJpbmcgPSBnZXRGaWVsZFZhbCgnc3RyZWV0X251bWJlcicpO1xuICAgICAgICBjb25zdCByb3V0ZTogc3RyaW5nID0gZ2V0RmllbGRWYWwoJ3JvdXRlJyk7XG5cbiAgICAgICAgLy8gTG9jYXRpb25cbiAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIC8vIEl0ZW1cbiAgICAgICAgY29uc3QgZm9ybWF0SXRlbVR5cGU6IHN0cmluZyA9IHBhcnNlQ2hhcihpdGVtVHlwZSkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgZm9ybWF0SXRlbUlkOiBzdHJpbmcgPSBwYXJzZUlkKGl0ZW1JZCk7XG4gICAgICAgIGNvbnN0IGdvb2dsZUlkOiBzdHJpbmcgPSBnZXQoZ2VvZGF0YSwgJ3BsYWNlX2lkJyk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZTogTG9jYXRpb25UeXBlID0ge307XG4gICAgICAgIGNvbnN0IGluc2VydDogTG9jYXRpb25UeXBlID0ge1xuICAgICAgICAgIF9rZXk6IGNyZWF0ZUhhc2goYHBvc3QtJHtzZXNzaW9uSWR9YCksXG4gICAgICAgICAgYWRkZWQ6IG5vdyxcbiAgICAgICAgICBjaXR5OiBnZXRGaWVsZFZhbCgnbG9jYWxpdHknKSxcbiAgICAgICAgICBjb3VudHJ5OiBnZXRGaWVsZFZhbCgnY291bnRyeScpLFxuICAgICAgICAgIGZvcm1hdHRlZDogZ2V0KGdlb2RhdGEsICdmb3JtYXR0ZWRfYWRkcmVzcycpLFxuICAgICAgICAgIGdvb2dsZUlkLFxuICAgICAgICAgIGxhdGl0dWRlOiBnZXQoZ2VvZGF0YSwgJ2dlb21ldHJ5LmxvY2F0aW9uLmxhdCcpLFxuICAgICAgICAgIGxvbmdpdHVkZTogZ2V0KGdlb2RhdGEsICdnZW9tZXRyeS5sb2NhdGlvbi5sbmcnKSxcbiAgICAgICAgICBzdGF0ZTogZ2V0RmllbGRWYWwoJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMScpLFxuICAgICAgICAgIHN0cmVldDogW3N0cmVldE51bWJlciwgcm91dGVdLmZpbHRlcigob2JqKSA9PiBvYmopLmpvaW4oJyAnKSxcbiAgICAgICAgICB6aXA6IGdldEZpZWxkVmFsKCdwb3N0YWxfY29kZScpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHtnb29nbGVJZDogJHtnb29nbGVJZH19XG4gICAgICAgICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgICAgICAgICBVUERBVEUgJHt1cGRhdGV9XG4gICAgICAgICAgICBJTiBsb2NhdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgICAgICAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAgICAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAgICAgICAudGhlbigodXBkYXRlZExvY2F0aW9uOiBMb2NhdGlvblR5cGUgPSB7fSkgPT4ge1xuICAgICAgICAgICAgbGV0IGl0ZW1Eb2NJZDogc3RyaW5nO1xuICAgICAgICAgICAgY29uc3Qge19rZXk6IHVwZGF0ZWRMb2NhdGlvbktleX0gPSB1cGRhdGVkTG9jYXRpb247XG5cbiAgICAgICAgICAgIHN3aXRjaChmb3JtYXRJdGVtVHlwZSkge1xuICAgICAgICAgICAgICBjYXNlICdwb3N0cyc6XG4gICAgICAgICAgICAgICAgaXRlbURvY0lkID0gYHBvc3RzLyR7Zm9ybWF0SXRlbUlkfWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaXRlbURvY0lkID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGEgdmFsaWQgaXRlbSBkb2MgaWQsIGNyZWF0ZSBhbiBlZGdlXG4gICAgICAgICAgICBpZihpdGVtRG9jSWQpIHtcbiAgICAgICAgICAgICAgY29uc3QgZWRnZUNvbGxlY3Rpb246IEVkZ2VDb2xsZWN0aW9uID0gZGF0YWJhc2UuY29sbGVjdGlvbignaGFzTG9jYXRpb24nKTtcbiAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb25JZDogc3RyaW5nID0gdXBkYXRlZExvY2F0aW9uS2V5O1xuICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbkRvY0lkOiBzdHJpbmcgPSBgbG9jYXRpb25zLyR7bG9jYXRpb25JZH1gO1xuICAgICAgICAgICAgICBjb25zdCBlZGdlSWQgPSBjcmVhdGVIYXNoKGBoYXNMb2NhdGlvbi0ke2xvY2F0aW9uSWR9LSR7c2Vzc2lvbklkfWApO1xuICAgICAgICAgICAgICBjb25zdCBlZGdlOiBhbnkgPSB7X2Zyb206IGl0ZW1Eb2NJZCwgX2tleTogZWRnZUlkLCBfdG86IGxvY2F0aW9uRG9jSWR9O1xuXG4gICAgICAgICAgICAgIHJldHVybiBlZGdlQ29sbGVjdGlvbi5zYXZlKGVkZ2UsIHtyZXR1cm5OZXc6IHRydWV9KS50aGVuKCgpID0+IHVwZGF0ZWRMb2NhdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSBqdXN0IHJldHVybiB0aGUgbmV3IGxvY2F0aW9uXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlZExvY2F0aW9uO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICAgICAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7fTtcbiAgICB9KTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUlBLHdCQUEwQztBQUMxQyxtQkFBNkM7QUFDN0Msc0JBQWtCO0FBSWxCLGlCQUFnQjtBQUVoQixvQkFBcUI7QUFJckIsb0JBQXVCO0FBRXZCLE1BQU0sZ0JBQXdCO0FBRXZCLE1BQU0sY0FBYyxDQUFDLFNBQXFCLGFBQWtEO0FBQ2pHLFFBQU0sU0FBaUI7QUFDdkIsUUFBTSxFQUFDLFVBQVUsU0FBUyxFQUFDLFFBQVEsZ0JBQWM7QUFDakQsUUFBTSxFQUFDLFNBQVMsUUFBUSxhQUFZO0FBQ3BDLFFBQU0sYUFBcUIscUJBQU8sSUFBSTtBQUN0QyxRQUFNLFNBQWlCO0FBQUEsSUFDckI7QUFBQSxJQUNBLEtBQUsscUJBQU8sSUFBSTtBQUFBO0FBRWxCLFFBQU0sTUFBYyxHQUFHLGNBQWMsbUNBQVk7QUFFakQsU0FBTywyQkFBUSxLQUNaLEtBQUssQ0FBQyxTQUFTO0FBQ2QsVUFBTSxFQUFDLFVBQVUsSUFBSSxTQUFTLE9BQU07QUFFcEMsUUFBRyxXQUFXLFFBQVEsUUFBUSxRQUFRO0FBQ3BDLFlBQU0sVUFBa0IsUUFBUTtBQUNoQyxZQUFNLG9CQUE2Qyx3QkFBSSxTQUFTO0FBQ2hFLFlBQU0sY0FBYyxDQUFDLFNBQXlCO0FBQzVDLGNBQU0sRUFBQyxZQUFZLFlBQVksT0FBTSxrQkFBa0IsS0FBSyxDQUFDLGlCQUF3QztBQUNuRyxnQkFBTSxRQUFRLGFBQWEsU0FBUztBQUNwQyxpQkFBTyxNQUFNLFVBQVUsQ0FBQyxjQUFzQixjQUFjLFNBQVM7QUFBQSxjQUNqRTtBQUVOLGVBQU87QUFBQTtBQUlULFlBQU0sZUFBdUIsWUFBWTtBQUN6QyxZQUFNLFFBQWdCLFlBQVk7QUFHbEMsWUFBTSxNQUFjLEtBQUs7QUFHekIsWUFBTSxpQkFBeUIsNEJBQVUsVUFBVTtBQUNuRCxZQUFNLGVBQXVCLDBCQUFRO0FBQ3JDLFlBQU0sV0FBbUIsd0JBQUksU0FBUztBQUN0QyxZQUFNLFNBQXVCO0FBQzdCLFlBQU0sU0FBdUI7QUFBQSxRQUMzQixNQUFNLDZCQUFXLFFBQVE7QUFBQSxRQUN6QixPQUFPO0FBQUEsUUFDUCxNQUFNLFlBQVk7QUFBQSxRQUNsQixTQUFTLFlBQVk7QUFBQSxRQUNyQixXQUFXLHdCQUFJLFNBQVM7QUFBQSxRQUN4QjtBQUFBLFFBQ0EsVUFBVSx3QkFBSSxTQUFTO0FBQUEsUUFDdkIsV0FBVyx3QkFBSSxTQUFTO0FBQUEsUUFDeEIsT0FBTyxZQUFZO0FBQUEsUUFDbkIsUUFBUSxDQUFDLGNBQWMsT0FBTyxPQUFPLENBQUMsUUFBUSxLQUFLLEtBQUs7QUFBQSxRQUN4RCxLQUFLLFlBQVk7QUFBQTtBQUVuQixZQUFNLFNBQW1CLHdDQUF3QjtBQUFBLHFCQUNwQztBQUFBLHFCQUNBO0FBQUE7QUFHYixhQUFPLFNBQVMsTUFBTSxRQUNuQixLQUFLLENBQUMsV0FBd0IsT0FBTyxRQUNyQyxLQUFLLENBQUMsa0JBQWdDLE9BQU87QUFDNUMsWUFBSTtBQUNKLGNBQU0sRUFBQyxNQUFNLHVCQUFzQjtBQUVuQyxnQkFBTztBQUFBLGVBQ0E7QUFDSCx3QkFBWSxTQUFTO0FBQ3JCO0FBQUE7QUFFQSx3QkFBWTtBQUFBO0FBSWhCLFlBQUcsV0FBVztBQUNaLGdCQUFNLGlCQUFpQyxTQUFTLFdBQVc7QUFDM0QsZ0JBQU0sYUFBcUI7QUFDM0IsZ0JBQU0sZ0JBQXdCLGFBQWE7QUFDM0MsZ0JBQU0sU0FBUyw2QkFBVyxlQUFlLGNBQWM7QUFDdkQsZ0JBQU0sT0FBWSxFQUFDLE9BQU8sV0FBVyxNQUFNLFFBQVEsS0FBSztBQUV4RCxpQkFBTyxlQUFlLEtBQUssTUFBTSxFQUFDLFdBQVcsUUFBTyxLQUFLLE1BQU07QUFBQTtBQUlqRSxlQUFPO0FBQUEsU0FFUixNQUFNLENBQUMsVUFBaUIsNEJBQVM7QUFBQSxRQUNoQztBQUFBLFFBQ0EsVUFBVTtBQUFBLFFBQ1YsT0FBTztBQUFBLFNBQ04sT0FBTyxTQUFTLEtBQUssTUFBTTtBQUFBO0FBR2xDLFdBQU87QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
118
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvbG9jYXRpb25zLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIENvcHlyaWdodCAoYykgMjAxOS1QcmVzZW50LCBOaXRyb2dlbiBMYWJzLCBJbmMuXG4gKiBDb3B5cmlnaHRzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4gU2VlIHRoZSBhY2NvbXBhbnlpbmcgTElDRU5TRSBmaWxlIGZvciB0ZXJtcy5cbiAqL1xuaW1wb3J0IHtnZXQgYXMgaHR0cEdldCwgcXVlcnlTdHJpbmd9IGZyb20gJ0BubGFicy9yaXAtaHVudGVyJztcbmltcG9ydCB7Y3JlYXRlSGFzaCwgcGFyc2VDaGFyLCBwYXJzZUlkfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWx9IGZyb20gJ2FyYW5nb2pzJztcbmltcG9ydCB7QXFsUXVlcnl9IGZyb20gJ2FyYW5nb2pzL2FxbCc7XG5pbXBvcnQge0VkZ2VDb2xsZWN0aW9ufSBmcm9tICdhcmFuZ29qcy9jb2xsZWN0aW9uJztcbmltcG9ydCB7QXJyYXlDdXJzb3J9IGZyb20gJ2FyYW5nb2pzL2N1cnNvcic7XG5pbXBvcnQgZ2V0IGZyb20gJ2xvZGFzaC9nZXQnO1xuXG5pbXBvcnQge0NvbmZpZ30gZnJvbSAnLi4vY29uZmlnJztcbmltcG9ydCB7QXBpQ29udGV4dH0gZnJvbSAnLi4vdHlwZXMvYXV0aCc7XG5pbXBvcnQge0dvb2dsZU1hcHNBZGRyZXNzVHlwZX0gZnJvbSAnLi4vdHlwZXMvZ29vZ2xlJztcbmltcG9ydCB7TG9jYXRpb25UeXBlfSBmcm9tICcuLi90eXBlcy9sb2NhdGlvbnMnO1xuaW1wb3J0IHtsb2dFcnJvcn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnbG9jYXRpb25zJztcblxuZXhwb3J0IGNvbnN0IGFkZExvY2F0aW9uID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGxvY2F0aW9uOiBMb2NhdGlvblR5cGUpOiBQcm9taXNlPExvY2F0aW9uVHlwZT4gPT4ge1xuICBjb25zdCBhY3Rpb246IHN0cmluZyA9ICdhZGQnO1xuICBjb25zdCB7ZGF0YWJhc2UsIHNlc3Npb246IHt1c2VySWQ6IHNlc3Npb25JZH19ID0gY29udGV4dDtcbiAgY29uc3Qge2FkZHJlc3MsIGl0ZW1JZCwgaXRlbVR5cGV9ID0gbG9jYXRpb247XG4gIGNvbnN0IGdlb2NvZGVVcmw6IHN0cmluZyA9IENvbmZpZy5nZXQoJ2dvb2dsZS5nZW9jb2RlLnVybCcpO1xuICBjb25zdCBwYXJhbXM6IG9iamVjdCA9IHtcbiAgICBhZGRyZXNzLFxuICAgIGtleTogQ29uZmlnLmdldCgnZ29vZ2xlLmdlb2NvZGUua2V5JylcbiAgfTtcbiAgY29uc3QgdXJsOiBzdHJpbmcgPSBgJHtnZW9jb2RlVXJsfT8ke3F1ZXJ5U3RyaW5nKHBhcmFtcyl9YDtcblxuICByZXR1cm4gaHR0cEdldCh1cmwpXG4gICAgLnRoZW4oKGpzb24pID0+IHtcbiAgICAgIGNvbnN0IHtyZXN1bHRzID0gW10sIHN0YXR1cyA9ICcnfSA9IGpzb247XG5cbiAgICAgIGlmKHN0YXR1cyA9PT0gJ09LJyAmJiByZXN1bHRzLmxlbmd0aCkge1xuICAgICAgICBjb25zdCBnZW9kYXRhOiBvYmplY3QgPSByZXN1bHRzWzBdO1xuICAgICAgICBjb25zdCBhZGRyZXNzQ29tcG9uZW50czogR29vZ2xlTWFwc0FkZHJlc3NUeXBlW10gPSBnZXQoZ2VvZGF0YSwgJ2FkZHJlc3NfY29tcG9uZW50cycpO1xuICAgICAgICBjb25zdCBnZXRGaWVsZFZhbCA9IChuYW1lOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICAgICAgICAgIGNvbnN0IHtzaG9ydF9uYW1lOiBzaG9ydE5hbWUgPSAnJ30gPSBhZGRyZXNzQ29tcG9uZW50cy5maW5kKChhZGRyZXNzRmllbGQ6IEdvb2dsZU1hcHNBZGRyZXNzVHlwZSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgdHlwZXMgPSBhZGRyZXNzRmllbGQudHlwZXMgfHwgW107XG4gICAgICAgICAgICByZXR1cm4gdHlwZXMuZmluZEluZGV4KChmaWVsZFR5cGU6IHN0cmluZykgPT4gZmllbGRUeXBlID09PSBuYW1lKSA+PSAwO1xuICAgICAgICAgIH0pIHx8IHt9O1xuXG4gICAgICAgICAgcmV0dXJuIHNob3J0TmFtZTtcbiAgICAgICAgfTtcblxuICAgICAgICAvLyBTdHJlZXRcbiAgICAgICAgY29uc3Qgc3RyZWV0TnVtYmVyOiBzdHJpbmcgPSBnZXRGaWVsZFZhbCgnc3RyZWV0X251bWJlcicpO1xuICAgICAgICBjb25zdCByb3V0ZTogc3RyaW5nID0gZ2V0RmllbGRWYWwoJ3JvdXRlJyk7XG5cbiAgICAgICAgLy8gTG9jYXRpb25cbiAgICAgICAgY29uc3Qgbm93OiBudW1iZXIgPSBEYXRlLm5vdygpO1xuXG4gICAgICAgIC8vIEl0ZW1cbiAgICAgICAgY29uc3QgZm9ybWF0SXRlbVR5cGU6IHN0cmluZyA9IHBhcnNlQ2hhcihpdGVtVHlwZSkudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgZm9ybWF0SXRlbUlkOiBzdHJpbmcgPSBwYXJzZUlkKGl0ZW1JZCk7XG4gICAgICAgIGNvbnN0IGdvb2dsZUlkOiBzdHJpbmcgPSBnZXQoZ2VvZGF0YSwgJ3BsYWNlX2lkJyk7XG4gICAgICAgIGNvbnN0IHVwZGF0ZTogTG9jYXRpb25UeXBlID0ge307XG4gICAgICAgIGNvbnN0IGluc2VydDogTG9jYXRpb25UeXBlID0ge1xuICAgICAgICAgIF9rZXk6IGNyZWF0ZUhhc2goYHBvc3QtJHtzZXNzaW9uSWR9YCksXG4gICAgICAgICAgYWRkZWQ6IG5vdyxcbiAgICAgICAgICBjaXR5OiBnZXRGaWVsZFZhbCgnbG9jYWxpdHknKSxcbiAgICAgICAgICBjb3VudHJ5OiBnZXRGaWVsZFZhbCgnY291bnRyeScpLFxuICAgICAgICAgIGZvcm1hdHRlZDogZ2V0KGdlb2RhdGEsICdmb3JtYXR0ZWRfYWRkcmVzcycpLFxuICAgICAgICAgIGdvb2dsZUlkLFxuICAgICAgICAgIGxhdGl0dWRlOiBnZXQoZ2VvZGF0YSwgJ2dlb21ldHJ5LmxvY2F0aW9uLmxhdCcpLFxuICAgICAgICAgIGxvbmdpdHVkZTogZ2V0KGdlb2RhdGEsICdnZW9tZXRyeS5sb2NhdGlvbi5sbmcnKSxcbiAgICAgICAgICBzdGF0ZTogZ2V0RmllbGRWYWwoJ2FkbWluaXN0cmF0aXZlX2FyZWFfbGV2ZWxfMScpLFxuICAgICAgICAgIHN0cmVldDogW3N0cmVldE51bWJlciwgcm91dGVdLmZpbHRlcigob2JqKSA9PiBvYmopLmpvaW4oJyAnKSxcbiAgICAgICAgICB6aXA6IGdldEZpZWxkVmFsKCdwb3N0YWxfY29kZScpXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGFxbFFyeTogQXFsUXVlcnkgPSBhcWxgVVBTRVJUIHtnb29nbGVJZDogJHtnb29nbGVJZH19XG4gICAgICAgICAgICBJTlNFUlQgJHtpbnNlcnR9XG4gICAgICAgICAgICBVUERBVEUgJHt1cGRhdGV9XG4gICAgICAgICAgICBJTiBsb2NhdGlvbnMgUkVUVVJOIE5FV2A7XG5cbiAgICAgICAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAgICAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLm5leHQoKSlcbiAgICAgICAgICAudGhlbigodXBkYXRlZExvY2F0aW9uOiBMb2NhdGlvblR5cGUgPSB7fSkgPT4ge1xuICAgICAgICAgICAgbGV0IGl0ZW1Eb2NJZDogc3RyaW5nO1xuICAgICAgICAgICAgY29uc3Qge19rZXk6IHVwZGF0ZWRMb2NhdGlvbktleX0gPSB1cGRhdGVkTG9jYXRpb247XG5cbiAgICAgICAgICAgIHN3aXRjaChmb3JtYXRJdGVtVHlwZSkge1xuICAgICAgICAgICAgICBjYXNlICdwb3N0cyc6XG4gICAgICAgICAgICAgICAgaXRlbURvY0lkID0gYHBvc3RzLyR7Zm9ybWF0SXRlbUlkfWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgaXRlbURvY0lkID0gJyc7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGEgdmFsaWQgaXRlbSBkb2MgaWQsIGNyZWF0ZSBhbiBlZGdlXG4gICAgICAgICAgICBpZihpdGVtRG9jSWQpIHtcbiAgICAgICAgICAgICAgY29uc3QgZWRnZUNvbGxlY3Rpb246IEVkZ2VDb2xsZWN0aW9uID0gZGF0YWJhc2UuY29sbGVjdGlvbignaGFzTG9jYXRpb24nKTtcbiAgICAgICAgICAgICAgY29uc3QgbG9jYXRpb25JZDogc3RyaW5nID0gdXBkYXRlZExvY2F0aW9uS2V5O1xuICAgICAgICAgICAgICBjb25zdCBsb2NhdGlvbkRvY0lkOiBzdHJpbmcgPSBgbG9jYXRpb25zLyR7bG9jYXRpb25JZH1gO1xuICAgICAgICAgICAgICBjb25zdCBlZGdlSWQgPSBjcmVhdGVIYXNoKGBoYXNMb2NhdGlvbi0ke2xvY2F0aW9uSWR9LSR7c2Vzc2lvbklkfWApO1xuICAgICAgICAgICAgICBjb25zdCBlZGdlOiBhbnkgPSB7X2Zyb206IGl0ZW1Eb2NJZCwgX2tleTogZWRnZUlkLCBfdG86IGxvY2F0aW9uRG9jSWR9O1xuXG4gICAgICAgICAgICAgIHJldHVybiBlZGdlQ29sbGVjdGlvbi5zYXZlKGVkZ2UsIHtyZXR1cm5OZXc6IHRydWV9KS50aGVuKCgpID0+IHVwZGF0ZWRMb2NhdGlvbik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSBqdXN0IHJldHVybiB0aGUgbmV3IGxvY2F0aW9uXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlZExvY2F0aW9uO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IGxvZ0Vycm9yKHtcbiAgICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAgIGNhdGVnb3J5OiBldmVudENhdGVnb3J5LFxuICAgICAgICAgICAgbGFiZWw6ICdkYl9lcnJvcidcbiAgICAgICAgICB9LCBlcnJvciwgY29udGV4dCkudGhlbigoKSA9PiBudWxsKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7fTtcbiAgICB9KTtcbn07XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBSUEsd0JBQTBDO0FBQzFDLG1CQUE2QztBQUM3QyxzQkFBa0I7QUFJbEIsaUJBQWdCO0FBRWhCLG9CQUFxQjtBQUlyQixJQUFBQSxnQkFBdUI7QUFFdkIsTUFBTSxnQkFBd0I7QUFFdkIsTUFBTSxjQUFjLENBQUMsU0FBcUIsYUFBa0Q7QUFDakcsUUFBTSxTQUFpQjtBQUN2QixRQUFNLEVBQUMsVUFBVSxTQUFTLEVBQUMsUUFBUSxVQUFTLEVBQUMsSUFBSTtBQUNqRCxRQUFNLEVBQUMsU0FBUyxRQUFRLFNBQVEsSUFBSTtBQUNwQyxRQUFNLGFBQXFCLHFCQUFPLElBQUksb0JBQW9CO0FBQzFELFFBQU0sU0FBaUI7QUFBQSxJQUNyQjtBQUFBLElBQ0EsS0FBSyxxQkFBTyxJQUFJLG9CQUFvQjtBQUFBLEVBQ3RDO0FBQ0EsUUFBTSxNQUFjLEdBQUcsVUFBVSxRQUFJLCtCQUFZLE1BQU0sQ0FBQztBQUV4RCxhQUFPLGtCQUFBQyxLQUFRLEdBQUcsRUFDZixLQUFLLENBQUMsU0FBUztBQUNkLFVBQU0sRUFBQyxVQUFVLENBQUMsR0FBRyxTQUFTLEdBQUUsSUFBSTtBQUVwQyxRQUFHLFdBQVcsUUFBUSxRQUFRLFFBQVE7QUFDcEMsWUFBTSxVQUFrQixRQUFRLENBQUM7QUFDakMsWUFBTSx3QkFBNkMsV0FBQUMsU0FBSSxTQUFTLG9CQUFvQjtBQUNwRixZQUFNLGNBQWMsQ0FBQyxTQUF5QjtBQUM1QyxjQUFNLEVBQUMsWUFBWSxZQUFZLEdBQUUsSUFBSSxrQkFBa0IsS0FBSyxDQUFDLGlCQUF3QztBQUNuRyxnQkFBTSxRQUFRLGFBQWEsU0FBUyxDQUFDO0FBQ3JDLGlCQUFPLE1BQU0sVUFBVSxDQUFDLGNBQXNCLGNBQWMsSUFBSSxLQUFLO0FBQUEsUUFDdkUsQ0FBQyxLQUFLLENBQUM7QUFFUCxlQUFPO0FBQUEsTUFDVDtBQUdBLFlBQU0sZUFBdUIsWUFBWSxlQUFlO0FBQ3hELFlBQU0sUUFBZ0IsWUFBWSxPQUFPO0FBR3pDLFlBQU0sTUFBYyxLQUFLLElBQUk7QUFHN0IsWUFBTSxxQkFBeUIsd0JBQVUsUUFBUSxFQUFFLFlBQVk7QUFDL0QsWUFBTSxtQkFBdUIsc0JBQVEsTUFBTTtBQUMzQyxZQUFNLGVBQW1CLFdBQUFBLFNBQUksU0FBUyxVQUFVO0FBQ2hELFlBQU0sU0FBdUIsQ0FBQztBQUM5QixZQUFNLFNBQXVCO0FBQUEsUUFDM0IsVUFBTSx5QkFBVyxRQUFRLFNBQVMsRUFBRTtBQUFBLFFBQ3BDLE9BQU87QUFBQSxRQUNQLE1BQU0sWUFBWSxVQUFVO0FBQUEsUUFDNUIsU0FBUyxZQUFZLFNBQVM7QUFBQSxRQUM5QixlQUFXLFdBQUFBLFNBQUksU0FBUyxtQkFBbUI7QUFBQSxRQUMzQztBQUFBLFFBQ0EsY0FBVSxXQUFBQSxTQUFJLFNBQVMsdUJBQXVCO0FBQUEsUUFDOUMsZUFBVyxXQUFBQSxTQUFJLFNBQVMsdUJBQXVCO0FBQUEsUUFDL0MsT0FBTyxZQUFZLDZCQUE2QjtBQUFBLFFBQ2hELFFBQVEsQ0FBQyxjQUFjLEtBQUssRUFBRSxPQUFPLENBQUMsUUFBUSxHQUFHLEVBQUUsS0FBSyxHQUFHO0FBQUEsUUFDM0QsS0FBSyxZQUFZLGFBQWE7QUFBQSxNQUNoQztBQUNBLFlBQU0sU0FBbUIsd0NBQXdCLFFBQVE7QUFBQSxxQkFDNUMsTUFBTTtBQUFBLHFCQUNOLE1BQU07QUFBQTtBQUduQixhQUFPLFNBQVMsTUFBTSxNQUFNLEVBQ3pCLEtBQUssQ0FBQyxXQUF3QixPQUFPLEtBQUssQ0FBQyxFQUMzQyxLQUFLLENBQUMsa0JBQWdDLENBQUMsTUFBTTtBQUM1QyxZQUFJO0FBQ0osY0FBTSxFQUFDLE1BQU0sbUJBQWtCLElBQUk7QUFFbkMsZ0JBQU8sZ0JBQWdCO0FBQUEsVUFDckIsS0FBSztBQUNILHdCQUFZLFNBQVMsWUFBWTtBQUNqQztBQUFBLFVBQ0Y7QUFDRSx3QkFBWTtBQUFBLFFBQ2hCO0FBR0EsWUFBRyxXQUFXO0FBQ1osZ0JBQU0saUJBQWlDLFNBQVMsV0FBVyxhQUFhO0FBQ3hFLGdCQUFNLGFBQXFCO0FBQzNCLGdCQUFNLGdCQUF3QixhQUFhLFVBQVU7QUFDckQsZ0JBQU0sYUFBUyx5QkFBVyxlQUFlLFVBQVUsSUFBSSxTQUFTLEVBQUU7QUFDbEUsZ0JBQU0sT0FBWSxFQUFDLE9BQU8sV0FBVyxNQUFNLFFBQVEsS0FBSyxjQUFhO0FBRXJFLGlCQUFPLGVBQWUsS0FBSyxNQUFNLEVBQUMsV0FBVyxLQUFJLENBQUMsRUFBRSxLQUFLLE1BQU0sZUFBZTtBQUFBLFFBQ2hGO0FBR0EsZUFBTztBQUFBLE1BQ1QsQ0FBQyxFQUNBLE1BQU0sQ0FBQyxjQUFpQix3QkFBUztBQUFBLFFBQ2hDO0FBQUEsUUFDQSxVQUFVO0FBQUEsUUFDVixPQUFPO0FBQUEsTUFDVCxHQUFHLE9BQU8sT0FBTyxFQUFFLEtBQUssTUFBTSxJQUFJLENBQUM7QUFBQSxJQUN2QztBQUVBLFdBQU8sQ0FBQztBQUFBLEVBQ1YsQ0FBQztBQUNMOyIsCiAgIm5hbWVzIjogWyJpbXBvcnRfdXRpbHMiLCAiaHR0cEdldCIsICJnZXQiXQp9Cg==
@@ -1,47 +1,32 @@
1
1
  var __create = Object.create;
2
2
  var __defProp = Object.defineProperty;
3
- var __defProps = Object.defineProperties;
4
3
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
6
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
7
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
8
5
  var __getProtoOf = Object.getPrototypeOf;
9
6
  var __hasOwnProp = Object.prototype.hasOwnProperty;
10
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
11
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
12
- var __spreadValues = (a, b) => {
13
- for (var prop in b || (b = {}))
14
- if (__hasOwnProp.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- if (__getOwnPropSymbols)
17
- for (var prop of __getOwnPropSymbols(b)) {
18
- if (__propIsEnum.call(b, prop))
19
- __defNormalProp(a, prop, b[prop]);
20
- }
21
- return a;
22
- };
23
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
24
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
25
- var __require = typeof require !== "undefined" ? require : (x) => {
26
- throw new Error('Dynamic require of "' + x + '" is not supported');
27
- };
28
7
  var __export = (target, all) => {
29
- __markAsModule(target);
30
8
  for (var name in all)
31
9
  __defProp(target, name, { get: all[name], enumerable: true });
32
10
  };
33
- var __reExport = (target, module2, desc) => {
34
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
35
- for (let key of __getOwnPropNames(module2))
36
- if (!__hasOwnProp.call(target, key) && key !== "default")
37
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
11
+ var __copyProps = (to, from, except, desc) => {
12
+ if (from && typeof from === "object" || typeof from === "function") {
13
+ for (let key of __getOwnPropNames(from))
14
+ if (!__hasOwnProp.call(to, key) && key !== except)
15
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
38
16
  }
39
- return target;
17
+ return to;
40
18
  };
41
- var __toModule = (module2) => {
42
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
43
- };
44
- __export(exports, {
19
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
20
+ // If the importer is in node compatibility mode or this is not an ESM
21
+ // file that has been converted to a CommonJS file using a Babel-
22
+ // compatible transform (i.e. "__esModule" has not been set), then set
23
+ // "default" to the CommonJS "module.exports" for node compatibility.
24
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
25
+ mod
26
+ ));
27
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
28
+ var messages_exports = {};
29
+ __export(messages_exports, {
45
30
  cleanMessages: () => cleanMessages,
46
31
  deleteMessage: () => deleteMessage,
47
32
  getMessage: () => getMessage,
@@ -50,12 +35,13 @@ __export(exports, {
50
35
  unsaveMessage: () => unsaveMessage,
51
36
  updateMessage: () => updateMessage
52
37
  });
53
- var import_utils = __toModule(require("@nlabs/utils"));
54
- var import_arangojs = __toModule(require("arangojs"));
55
- var import_cloneDeep = __toModule(require("lodash/cloneDeep"));
56
- var import_isEmpty = __toModule(require("lodash/isEmpty"));
57
- var import_utils2 = __toModule(require("../utils"));
58
- var import_conversations2 = __toModule(require("./conversations"));
38
+ module.exports = __toCommonJS(messages_exports);
39
+ var import_utils = require("@nlabs/utils");
40
+ var import_arangojs = require("arangojs");
41
+ var import_cloneDeep = __toESM(require("lodash/cloneDeep"));
42
+ var import_isEmpty = __toESM(require("lodash/isEmpty"));
43
+ var import_utils2 = require("../utils");
44
+ var import_conversations2 = require("./conversations");
59
45
  const getMessages = (context, conversationId, { from, to }) => {
60
46
  const { database, session: { userId: sessionId } } = context;
61
47
  const formatConversationId = (0, import_utils.parseId)(conversationId);
@@ -107,12 +93,13 @@ const updateMessage = (context, message) => {
107
93
  modified: now
108
94
  };
109
95
  const formatMsgId = (0, import_utils.parseId)(messageId);
110
- const insert = __spreadProps(__spreadValues({}, (0, import_cloneDeep.default)(update)), {
96
+ const insert = {
97
+ ...(0, import_cloneDeep.default)(update),
111
98
  _key: formatMsgId,
112
99
  added: now,
113
100
  conversationId: formatConversationId,
114
101
  userId: sessionId
115
- });
102
+ };
116
103
  const aqlQry = import_arangojs.aql`UPSERT {_key: ${formatMsgId}, conversationId: ${formatConversationId}, userId: ${sessionId}}
117
104
  INSERT ${insert}
118
105
  UPDATE ${update} IN messages
@@ -216,4 +203,4 @@ const cleanMessages = (database) => {
216
203
  unsaveMessage,
217
204
  updateMessage
218
205
  });
219
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvbWVzc2FnZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuaW1wb3J0IHtBcnJheUN1cnNvcn0gZnJvbSAnYXJhbmdvanMvY3Vyc29yJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eSc7XG5cbmltcG9ydCB7QXJhbmdvREJMaW1pdH0gZnJvbSAnLi4vdHlwZXMvYXJhbmdvZGInO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoJztcbmltcG9ydCB7Q29udmVyc2F0aW9uVHlwZX0gZnJvbSAnLi4vdHlwZXMvY29udmVyc2F0aW9ucyc7XG5pbXBvcnQge01lc3NhZ2VJbnB1dFR5cGUsIE1lc3NhZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9tZXNzYWdlcyc7XG5pbXBvcnQge2dldExpbWl0fSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge2dldENvbnZlcnNhdGlvbn0gZnJvbSAnLi9jb252ZXJzYXRpb25zJztcblxuLy8gY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ21lc3NhZ2VzJztcblxuZXhwb3J0IGNvbnN0IGdldE1lc3NhZ2VzID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGNvbnZlcnNhdGlvbklkOiBzdHJpbmcsIHtmcm9tLCB0b30pOiBQcm9taXNlPE1lc3NhZ2VUeXBlW10+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdENvbnZlcnNhdGlvbklkOiBzdHJpbmcgPSBwYXJzZUlkKGNvbnZlcnNhdGlvbklkKTtcbiAgY29uc3Qgc2Vzc2lvbkRvY0lkOiBzdHJpbmcgPSBgdXNlcnMvJHtzZXNzaW9uSWR9YDtcbiAgY29uc3QgY29udmVyc2F0aW9uRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7Zm9ybWF0Q29udmVyc2F0aW9uSWR9YDtcblxuICBjb25zdCBjb252ZXJzYXRpb25RcnkgPSBhcWxgRk9SIGUgSU4gaGFzQ29udmVyc2F0aW9uc1xuICAgIEZJTFRFUiBlLl9mcm9tID09ICR7c2Vzc2lvbkRvY0lkfSAmJiBlLl90byA9PSAke2NvbnZlcnNhdGlvbkRvY0lkfVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gZWA7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGNvbnZlcnNhdGlvblFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC50aGVuKChjb252ZXJzYXRpb25zKSA9PiB7XG4gICAgICBpZighY29udmVyc2F0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsaW1pdDogQXJhbmdvREJMaW1pdCA9IGdldExpbWl0KGZyb20sIHRvKTtcbiAgICAgIGNvbnN0IGFxbFFyeTogc3RyaW5nID0gYEZPUiBtIElOIG1lc3NhZ2VzXG4gICAgICAgICAgRklMVEVSIG0uY29udmVyc2F0aW9uSWQgPT0gXCIke2Zvcm1hdENvbnZlcnNhdGlvbklkfVwiXG4gICAgICAgICAgU09SVCBtLmFkZGVkIERFU0NcbiAgICAgICAgICAke2xpbWl0LmFxbH1cbiAgICAgICAgICBTT1JUIG0uYWRkZWQgQVNDXG4gICAgICAgICAgTEVUIHVzZXIgPSBGSVJTVChcbiAgICAgICAgICAgIEZPUiB1IElOIHVzZXJzXG4gICAgICAgICAgICBGSUxURVIgdS5fa2V5ID09IG0udXNlcklkXG4gICAgICAgICAgICBMSU1JVCAxXG4gICAgICAgICAgICBSRVRVUk4gdVxuICAgICAgICAgIClcbiAgICAgICAgICBSRVRVUk4gTUVSR0UobSwge3VzZXI6IHVzZXJ9KWA7XG5cbiAgICAgIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU1lc3NhZ2UgPSAoY29udGV4dDogQXBpQ29udGV4dCwgbWVzc2FnZTogTWVzc2FnZUlucHV0VHlwZSk6IFByb21pc2U8TWVzc2FnZVR5cGU+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBjb252ZXJzYXRpb25JZCxcbiAgICBmaWxlcyxcbiAgICBpbWFnZXMsXG4gICAgbWVzc2FnZUlkID0gY3JlYXRlSGFzaChgbWVzc2FnZS0ke3Nlc3Npb25JZH1gKVxuICB9ID0gbWVzc2FnZTtcbiAgY29uc3QgZm9ybWF0Q29udmVyc2F0aW9uSWQ6IHN0cmluZyA9IHBhcnNlSWQoY29udmVyc2F0aW9uSWQpO1xuXG4gIGlmKGZvcm1hdENvbnZlcnNhdGlvbklkID09PSAnJykge1xuICAgIHRocm93IG5ldyBFcnJvcigncmVxdWlyZWRfY29udmVyc2F0aW9uSWQnKTtcbiAgfVxuXG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgdXBkYXRlOiBNZXNzYWdlVHlwZSA9IHtcbiAgICBjb250ZW50OiBwYXJzZVN0cmluZyhtZXNzYWdlLmNvbnRlbnQsIDY0MCksXG4gICAgZmlsZXM6IGZpbGVzIHx8IFtdLFxuICAgIGltYWdlczogaW1hZ2VzIHx8IFtdLFxuICAgIG1vZGlmaWVkOiBub3dcbiAgfTtcbiAgY29uc3QgZm9ybWF0TXNnSWQ6IHN0cmluZyA9IHBhcnNlSWQobWVzc2FnZUlkKTtcbiAgY29uc3QgaW5zZXJ0OiBNZXNzYWdlVHlwZSA9IHtcbiAgICAuLi5jbG9uZURlZXAodXBkYXRlKSxcbiAgICBfa2V5OiBmb3JtYXRNc2dJZCxcbiAgICBhZGRlZDogbm93LFxuICAgIGNvbnZlcnNhdGlvbklkOiBmb3JtYXRDb252ZXJzYXRpb25JZCxcbiAgICB1c2VySWQ6IHNlc3Npb25JZFxuICB9O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7X2tleTogJHtmb3JtYXRNc2dJZH0sIGNvbnZlcnNhdGlvbklkOiAke2Zvcm1hdENvbnZlcnNhdGlvbklkfSwgdXNlcklkOiAke3Nlc3Npb25JZH19XG4gICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgIFVQREFURSAke3VwZGF0ZX0gSU4gbWVzc2FnZXNcbiAgICBSRVRVUk4gTkVXYDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzYXZlTWVzc2FnZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBtZXNzYWdlSWQ6IHN0cmluZywgY29udmVyc2F0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8TWVzc2FnZVR5cGU+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdElkOiBzdHJpbmcgPSBwYXJzZUlkKG1lc3NhZ2VJZCk7XG5cbiAgcmV0dXJuIGdldENvbnZlcnNhdGlvbihjb250ZXh0LCBjb252ZXJzYXRpb25JZClcbiAgICAudGhlbigoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25UeXBlKSA9PiB7XG4gICAgICBjb25zdCB7X2tleTogY29udmVyc2F0aW9uS2V5fSA9IGNvbnZlcnNhdGlvbjtcbiAgICAgIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgbSBJTiBtZXNzYWdlc1xuICAgICAgICBGSUxURVIgbS5fa2V5ID09ICR7Zm9ybWF0SWR9ICYmIG0udG8gPT0gJHtjb252ZXJzYXRpb25LZXl9XG4gICAgICAgIFVQREFURSBtIFdJVEgge3NhdmVkOiBBUFBFTkQobS5zYXZlZCwgJHtzZXNzaW9uSWR9LCB0cnVlKX0gSU4gbWVzc2FnZXNcbiAgICAgICAgUkVUVVJOIE5FV2A7XG5cbiAgICAgIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgICAudGhlbigobWVzc2FnZTogTWVzc2FnZVR5cGUgPSB7fSkgPT4ge1xuICAgICAgICAgIGlmKCFpc0VtcHR5KG1lc3NhZ2UpKSB7XG4gICAgICAgICAgICAvLyBCcm9hZGNhc3QgdG8gbWVzc2FnZSBib3hcbiAgICAgICAgICAgIC8vIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2VUeXBlID0gTWVzc2FnZXMuZ2V0TWVzc2FnZU9iamVjdChtZXNzYWdlKTtcbiAgICAgICAgICAgIC8vIGlvLnRvKG1lc3NhZ2UudG9JZCkuZW1pdCgnbWVzc2FnZV9zYXZlJywgbWVzc2FnZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHVuc2F2ZU1lc3NhZ2UgPSAoY29udGV4dDogQXBpQ29udGV4dCwgbWVzc2FnZUlkOiBzdHJpbmcsIGNvbnZlcnNhdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPE1lc3NhZ2VUeXBlPiA9PiB7XG4gIGNvbnN0IHtkYXRhYmFzZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBmb3JtYXRJZDogc3RyaW5nID0gcGFyc2VJZChtZXNzYWdlSWQpO1xuXG4gIHJldHVybiBnZXRDb252ZXJzYXRpb24oY29udGV4dCwgY29udmVyc2F0aW9uSWQpXG4gICAgLnRoZW4oKGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uVHlwZSkgPT4ge1xuICAgICAgY29uc3Qge19rZXk6IGNvbnZlcnNhdGlvbktleX0gPSBjb252ZXJzYXRpb247XG4gICAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBtIElOIG1lc3NhZ2VzXG4gICAgICAgICAgRklMVEVSIG0uX2tleSA9PSAke2Zvcm1hdElkfSAmJiBtLnRvID09ICR7Y29udmVyc2F0aW9uS2V5fVxuICAgICAgICAgIFVQREFURSBtIFdJVEgge3NhdmVkOiBSRU1PVkVfVkFMVUUobS5zYXZlZCwgJHtzZXNzaW9uSWR9KX0gSU4gbWVzc2FnZXNcbiAgICAgICAgICBSRVRVUk4gTkVXYDtcblxuICAgICAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAgICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgICAgIC50aGVuKChtZXNzYWdlOiBNZXNzYWdlVHlwZSA9IHt9KSA9PiB7XG4gICAgICAgICAgaWYoIWlzRW1wdHkobWVzc2FnZSkpIHtcbiAgICAgICAgICAgIC8vIEJyb2FkY2FzdCB0byBtZXNzYWdlIGJveFxuICAgICAgICAgICAgLy8gY29uc3QgbWVzc2FnZTogTWVzc2FnZVR5cGUgPSBNZXNzYWdlcy5nZXRNZXNzYWdlT2JqZWN0KG1lc3NhZ2UpO1xuICAgICAgICAgICAgLy8gaW8udG8obWVzc2FnZS5pZCkuZW1pdCgnbWVzc2FnZV91bnNhdmUnLCBtZXNzYWdlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlTWVzc2FnZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBtZXNzYWdlSWQ6IHN0cmluZywgY29udmVyc2F0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8TWVzc2FnZVR5cGU+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdElkOiBzdHJpbmcgPSBwYXJzZUlkKG1lc3NhZ2VJZCk7XG5cbiAgcmV0dXJuIGdldENvbnZlcnNhdGlvbihjb250ZXh0LCBjb252ZXJzYXRpb25JZClcbiAgICAudGhlbigoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25UeXBlKSA9PiB7XG4gICAgICBjb25zdCB7X2tleTogY29udmVyc2F0aW9uS2V5fSA9IGNvbnZlcnNhdGlvbjtcbiAgICAgIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgbSBJTiBtZXNzYWdlc1xuICAgICAgICBGSUxURVIgbS5fa2V5ID09ICR7Zm9ybWF0SWR9ICYmIG0udG8gPT0gJHtjb252ZXJzYXRpb25LZXl9ICYmIG0uZnJvbSA9PSAke3Nlc3Npb25JZH1cbiAgICAgICAgUkVNT1ZFIG0gSU4gbWVzc2FnZXNcbiAgICAgICAgUkVUVVJOIE9MRGA7XG5cbiAgICAgIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgICAudGhlbigobWVzc2FnZTogTWVzc2FnZVR5cGUgPSB7fSkgPT4ge1xuICAgICAgICAgIGlmKCFpc0VtcHR5KG1lc3NhZ2UpKSB7XG4gICAgICAgICAgICAvLyBCcm9hZGNhc3QgdG8gbWVzc2FnZSBib3hcbiAgICAgICAgICAgIC8vIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2VUeXBlID0gTWVzc2FnZXMuZ2V0TWVzc2FnZU9iamVjdChtZXNzYWdlKTtcbiAgICAgICAgICAgIC8vIGlvLnRvKG1lc3NhZ2UudG9JZCkuZW1pdCgnbWVzc2FnZV9kZWxldGUnLCBtZXNzYWdlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWVzc2FnZSA9IChkYXRhOiBNZXNzYWdlVHlwZSk6IE1lc3NhZ2VUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIGFkZGVkLFxuICAgIGNvbnRlbnQsXG4gICAgY29udmVyc2F0aW9uSWQsXG4gICAgZmlsZXMsXG4gICAgX2tleTogbWVzc2FnZUlkLFxuICAgIHJlYWQsXG4gICAgc2F2ZWQsXG4gICAgdXNlcklkXG4gIH0gPSBkYXRhO1xuXG4gIHJldHVybiB7XG4gICAgYWRkZWQsXG4gICAgY29udGVudCxcbiAgICBjb252ZXJzYXRpb25JZCxcbiAgICBmaWxlcyxcbiAgICBtZXNzYWdlSWQsXG4gICAgcmVhZCxcbiAgICBzYXZlZCxcbiAgICB1c2VySWRcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGVhbk1lc3NhZ2VzID0gKGRhdGFiYXNlOiBEYXRhYmFzZSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIC8vIFJlbW92ZSBhbGwgbWVzc2FnZXMgdGhhdCBhcmUgb3ZlciA2MCBkYXlzIGFuZCBub3Qgc2F2ZWRcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBtIElOIG1lc3NhZ2VzXG4gICAgICBGSUxURVIgbS5hZGRlZCA8IERBVEVfVElNRVNUQU1QKERBVEVfU1VCVFJBQ1QoREFURV9OT1coKSwgNjAsICdkYXknKSkgJiYgTEVOR1RIKG0uc2F2ZWQpID4gMFxuICAgICAgUkVNT1ZFIG0gSU4gbWVzc2FnZXNcbiAgICAgIFJFVFVSTiBPTERgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAudGhlbigobGlzdDogTWVzc2FnZVR5cGVbXSkgPT4gbGlzdC5sZW5ndGgpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSxtQkFBK0M7QUFDL0Msc0JBQTRCO0FBRzVCLHVCQUFzQjtBQUN0QixxQkFBb0I7QUFNcEIsb0JBQXVCO0FBQ3ZCLDRCQUE4QjtBQUl2QixNQUFNLGNBQWMsQ0FBQyxTQUFxQixnQkFBd0IsRUFBQyxNQUFNLFNBQWdDO0FBQzlHLFFBQU0sRUFBQyxVQUFVLFNBQVMsRUFBQyxRQUFRLGdCQUFjO0FBQ2pELFFBQU0sdUJBQStCLDBCQUFRO0FBQzdDLFFBQU0sZUFBdUIsU0FBUztBQUN0QyxRQUFNLG9CQUE0QixpQkFBaUI7QUFFbkQsUUFBTSxrQkFBa0I7QUFBQSx3QkFDRiw0QkFBNEI7QUFBQTtBQUFBO0FBSWxELFNBQU8sU0FBUyxNQUFNLGlCQUNuQixLQUFLLENBQUMsV0FBd0IsT0FBTyxPQUNyQyxLQUFLLENBQUMsa0JBQWtCO0FBQ3ZCLFFBQUcs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
206
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvbWVzc2FnZXMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LVByZXNlbnQsIE5pdHJvZ2VuIExhYnMsIEluYy5cbiAqIENvcHlyaWdodHMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgdGhlIGFjY29tcGFueWluZyBMSUNFTlNFIGZpbGUgZm9yIHRlcm1zLlxuICovXG5pbXBvcnQge2NyZWF0ZUhhc2gsIHBhcnNlSWQsIHBhcnNlU3RyaW5nfSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuaW1wb3J0IHthcWwsIERhdGFiYXNlfSBmcm9tICdhcmFuZ29qcyc7XG5pbXBvcnQge0FxbFF1ZXJ5fSBmcm9tICdhcmFuZ29qcy9hcWwnO1xuaW1wb3J0IHtBcnJheUN1cnNvcn0gZnJvbSAnYXJhbmdvanMvY3Vyc29yJztcbmltcG9ydCBjbG9uZURlZXAgZnJvbSAnbG9kYXNoL2Nsb25lRGVlcCc7XG5pbXBvcnQgaXNFbXB0eSBmcm9tICdsb2Rhc2gvaXNFbXB0eSc7XG5cbmltcG9ydCB7QXJhbmdvREJMaW1pdH0gZnJvbSAnLi4vdHlwZXMvYXJhbmdvZGInO1xuaW1wb3J0IHtBcGlDb250ZXh0fSBmcm9tICcuLi90eXBlcy9hdXRoJztcbmltcG9ydCB7Q29udmVyc2F0aW9uVHlwZX0gZnJvbSAnLi4vdHlwZXMvY29udmVyc2F0aW9ucyc7XG5pbXBvcnQge01lc3NhZ2VJbnB1dFR5cGUsIE1lc3NhZ2VUeXBlfSBmcm9tICcuLi90eXBlcy9tZXNzYWdlcyc7XG5pbXBvcnQge2dldExpbWl0fSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQge2dldENvbnZlcnNhdGlvbn0gZnJvbSAnLi9jb252ZXJzYXRpb25zJztcblxuLy8gY29uc3QgZXZlbnRDYXRlZ29yeTogc3RyaW5nID0gJ21lc3NhZ2VzJztcblxuZXhwb3J0IGNvbnN0IGdldE1lc3NhZ2VzID0gKGNvbnRleHQ6IEFwaUNvbnRleHQsIGNvbnZlcnNhdGlvbklkOiBzdHJpbmcsIHtmcm9tLCB0b30pOiBQcm9taXNlPE1lc3NhZ2VUeXBlW10+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdENvbnZlcnNhdGlvbklkOiBzdHJpbmcgPSBwYXJzZUlkKGNvbnZlcnNhdGlvbklkKTtcbiAgY29uc3Qgc2Vzc2lvbkRvY0lkOiBzdHJpbmcgPSBgdXNlcnMvJHtzZXNzaW9uSWR9YDtcbiAgY29uc3QgY29udmVyc2F0aW9uRG9jSWQ6IHN0cmluZyA9IGBjb252ZXJzYXRpb25zLyR7Zm9ybWF0Q29udmVyc2F0aW9uSWR9YDtcblxuICBjb25zdCBjb252ZXJzYXRpb25RcnkgPSBhcWxgRk9SIGUgSU4gaGFzQ29udmVyc2F0aW9uc1xuICAgIEZJTFRFUiBlLl9mcm9tID09ICR7c2Vzc2lvbkRvY0lkfSAmJiBlLl90byA9PSAke2NvbnZlcnNhdGlvbkRvY0lkfVxuICAgIExJTUlUIDFcbiAgICBSRVRVUk4gZWA7XG5cbiAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGNvbnZlcnNhdGlvblFyeSlcbiAgICAudGhlbigoY3Vyc29yOiBBcnJheUN1cnNvcikgPT4gY3Vyc29yLmFsbCgpKVxuICAgIC50aGVuKChjb252ZXJzYXRpb25zKSA9PiB7XG4gICAgICBpZighY29udmVyc2F0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsaW1pdDogQXJhbmdvREJMaW1pdCA9IGdldExpbWl0KGZyb20sIHRvKTtcbiAgICAgIGNvbnN0IGFxbFFyeTogc3RyaW5nID0gYEZPUiBtIElOIG1lc3NhZ2VzXG4gICAgICAgICAgRklMVEVSIG0uY29udmVyc2F0aW9uSWQgPT0gXCIke2Zvcm1hdENvbnZlcnNhdGlvbklkfVwiXG4gICAgICAgICAgU09SVCBtLmFkZGVkIERFU0NcbiAgICAgICAgICAke2xpbWl0LmFxbH1cbiAgICAgICAgICBTT1JUIG0uYWRkZWQgQVNDXG4gICAgICAgICAgTEVUIHVzZXIgPSBGSVJTVChcbiAgICAgICAgICAgIEZPUiB1IElOIHVzZXJzXG4gICAgICAgICAgICBGSUxURVIgdS5fa2V5ID09IG0udXNlcklkXG4gICAgICAgICAgICBMSU1JVCAxXG4gICAgICAgICAgICBSRVRVUk4gdVxuICAgICAgICAgIClcbiAgICAgICAgICBSRVRVUk4gTUVSR0UobSwge3VzZXI6IHVzZXJ9KWA7XG5cbiAgICAgIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IuYWxsKCkpXG4gICAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZU1lc3NhZ2UgPSAoY29udGV4dDogQXBpQ29udGV4dCwgbWVzc2FnZTogTWVzc2FnZUlucHV0VHlwZSk6IFByb21pc2U8TWVzc2FnZVR5cGU+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IHtcbiAgICBjb252ZXJzYXRpb25JZCxcbiAgICBmaWxlcyxcbiAgICBpbWFnZXMsXG4gICAgbWVzc2FnZUlkID0gY3JlYXRlSGFzaChgbWVzc2FnZS0ke3Nlc3Npb25JZH1gKVxuICB9ID0gbWVzc2FnZTtcbiAgY29uc3QgZm9ybWF0Q29udmVyc2F0aW9uSWQ6IHN0cmluZyA9IHBhcnNlSWQoY29udmVyc2F0aW9uSWQpO1xuXG4gIGlmKGZvcm1hdENvbnZlcnNhdGlvbklkID09PSAnJykge1xuICAgIHRocm93IG5ldyBFcnJvcigncmVxdWlyZWRfY29udmVyc2F0aW9uSWQnKTtcbiAgfVxuXG4gIGNvbnN0IG5vdzogbnVtYmVyID0gRGF0ZS5ub3coKTtcbiAgY29uc3QgdXBkYXRlOiBNZXNzYWdlVHlwZSA9IHtcbiAgICBjb250ZW50OiBwYXJzZVN0cmluZyhtZXNzYWdlLmNvbnRlbnQsIDY0MCksXG4gICAgZmlsZXM6IGZpbGVzIHx8IFtdLFxuICAgIGltYWdlczogaW1hZ2VzIHx8IFtdLFxuICAgIG1vZGlmaWVkOiBub3dcbiAgfTtcbiAgY29uc3QgZm9ybWF0TXNnSWQ6IHN0cmluZyA9IHBhcnNlSWQobWVzc2FnZUlkKTtcbiAgY29uc3QgaW5zZXJ0OiBNZXNzYWdlVHlwZSA9IHtcbiAgICAuLi5jbG9uZURlZXAodXBkYXRlKSxcbiAgICBfa2V5OiBmb3JtYXRNc2dJZCxcbiAgICBhZGRlZDogbm93LFxuICAgIGNvbnZlcnNhdGlvbklkOiBmb3JtYXRDb252ZXJzYXRpb25JZCxcbiAgICB1c2VySWQ6IHNlc3Npb25JZFxuICB9O1xuICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYFVQU0VSVCB7X2tleTogJHtmb3JtYXRNc2dJZH0sIGNvbnZlcnNhdGlvbklkOiAke2Zvcm1hdENvbnZlcnNhdGlvbklkfSwgdXNlcklkOiAke3Nlc3Npb25JZH19XG4gICAgSU5TRVJUICR7aW5zZXJ0fVxuICAgIFVQREFURSAke3VwZGF0ZX0gSU4gbWVzc2FnZXNcbiAgICBSRVRVUk4gTkVXYDtcblxuICByZXR1cm4gZGF0YWJhc2UucXVlcnkoYXFsUXJ5KVxuICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBzYXZlTWVzc2FnZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBtZXNzYWdlSWQ6IHN0cmluZywgY29udmVyc2F0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8TWVzc2FnZVR5cGU+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdElkOiBzdHJpbmcgPSBwYXJzZUlkKG1lc3NhZ2VJZCk7XG5cbiAgcmV0dXJuIGdldENvbnZlcnNhdGlvbihjb250ZXh0LCBjb252ZXJzYXRpb25JZClcbiAgICAudGhlbigoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25UeXBlKSA9PiB7XG4gICAgICBjb25zdCB7X2tleTogY29udmVyc2F0aW9uS2V5fSA9IGNvbnZlcnNhdGlvbjtcbiAgICAgIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgbSBJTiBtZXNzYWdlc1xuICAgICAgICBGSUxURVIgbS5fa2V5ID09ICR7Zm9ybWF0SWR9ICYmIG0udG8gPT0gJHtjb252ZXJzYXRpb25LZXl9XG4gICAgICAgIFVQREFURSBtIFdJVEgge3NhdmVkOiBBUFBFTkQobS5zYXZlZCwgJHtzZXNzaW9uSWR9LCB0cnVlKX0gSU4gbWVzc2FnZXNcbiAgICAgICAgUkVUVVJOIE5FV2A7XG5cbiAgICAgIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgICAudGhlbigobWVzc2FnZTogTWVzc2FnZVR5cGUgPSB7fSkgPT4ge1xuICAgICAgICAgIGlmKCFpc0VtcHR5KG1lc3NhZ2UpKSB7XG4gICAgICAgICAgICAvLyBCcm9hZGNhc3QgdG8gbWVzc2FnZSBib3hcbiAgICAgICAgICAgIC8vIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2VUeXBlID0gTWVzc2FnZXMuZ2V0TWVzc2FnZU9iamVjdChtZXNzYWdlKTtcbiAgICAgICAgICAgIC8vIGlvLnRvKG1lc3NhZ2UudG9JZCkuZW1pdCgnbWVzc2FnZV9zYXZlJywgbWVzc2FnZSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgICAgIH0pXG4gICAgICAgIC5jYXRjaCgoZXJyb3I6IEVycm9yKSA9PiB7XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH0pO1xuICAgIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IHVuc2F2ZU1lc3NhZ2UgPSAoY29udGV4dDogQXBpQ29udGV4dCwgbWVzc2FnZUlkOiBzdHJpbmcsIGNvbnZlcnNhdGlvbklkOiBzdHJpbmcpOiBQcm9taXNlPE1lc3NhZ2VUeXBlPiA9PiB7XG4gIGNvbnN0IHtkYXRhYmFzZSwgc2Vzc2lvbjoge3VzZXJJZDogc2Vzc2lvbklkfX0gPSBjb250ZXh0O1xuICBjb25zdCBmb3JtYXRJZDogc3RyaW5nID0gcGFyc2VJZChtZXNzYWdlSWQpO1xuXG4gIHJldHVybiBnZXRDb252ZXJzYXRpb24oY29udGV4dCwgY29udmVyc2F0aW9uSWQpXG4gICAgLnRoZW4oKGNvbnZlcnNhdGlvbjogQ29udmVyc2F0aW9uVHlwZSkgPT4ge1xuICAgICAgY29uc3Qge19rZXk6IGNvbnZlcnNhdGlvbktleX0gPSBjb252ZXJzYXRpb247XG4gICAgICBjb25zdCBhcWxRcnk6IEFxbFF1ZXJ5ID0gYXFsYEZPUiBtIElOIG1lc3NhZ2VzXG4gICAgICAgICAgRklMVEVSIG0uX2tleSA9PSAke2Zvcm1hdElkfSAmJiBtLnRvID09ICR7Y29udmVyc2F0aW9uS2V5fVxuICAgICAgICAgIFVQREFURSBtIFdJVEgge3NhdmVkOiBSRU1PVkVfVkFMVUUobS5zYXZlZCwgJHtzZXNzaW9uSWR9KX0gSU4gbWVzc2FnZXNcbiAgICAgICAgICBSRVRVUk4gTkVXYDtcblxuICAgICAgcmV0dXJuIGRhdGFiYXNlLnF1ZXJ5KGFxbFFyeSlcbiAgICAgICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5uZXh0KCkpXG4gICAgICAgIC50aGVuKChtZXNzYWdlOiBNZXNzYWdlVHlwZSA9IHt9KSA9PiB7XG4gICAgICAgICAgaWYoIWlzRW1wdHkobWVzc2FnZSkpIHtcbiAgICAgICAgICAgIC8vIEJyb2FkY2FzdCB0byBtZXNzYWdlIGJveFxuICAgICAgICAgICAgLy8gY29uc3QgbWVzc2FnZTogTWVzc2FnZVR5cGUgPSBNZXNzYWdlcy5nZXRNZXNzYWdlT2JqZWN0KG1lc3NhZ2UpO1xuICAgICAgICAgICAgLy8gaW8udG8obWVzc2FnZS5pZCkuZW1pdCgnbWVzc2FnZV91bnNhdmUnLCBtZXNzYWdlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZGVsZXRlTWVzc2FnZSA9IChjb250ZXh0OiBBcGlDb250ZXh0LCBtZXNzYWdlSWQ6IHN0cmluZywgY29udmVyc2F0aW9uSWQ6IHN0cmluZyk6IFByb21pc2U8TWVzc2FnZVR5cGU+ID0+IHtcbiAgY29uc3Qge2RhdGFiYXNlLCBzZXNzaW9uOiB7dXNlcklkOiBzZXNzaW9uSWR9fSA9IGNvbnRleHQ7XG4gIGNvbnN0IGZvcm1hdElkOiBzdHJpbmcgPSBwYXJzZUlkKG1lc3NhZ2VJZCk7XG5cbiAgcmV0dXJuIGdldENvbnZlcnNhdGlvbihjb250ZXh0LCBjb252ZXJzYXRpb25JZClcbiAgICAudGhlbigoY29udmVyc2F0aW9uOiBDb252ZXJzYXRpb25UeXBlKSA9PiB7XG4gICAgICBjb25zdCB7X2tleTogY29udmVyc2F0aW9uS2V5fSA9IGNvbnZlcnNhdGlvbjtcbiAgICAgIGNvbnN0IGFxbFFyeSA9IGFxbGBGT1IgbSBJTiBtZXNzYWdlc1xuICAgICAgICBGSUxURVIgbS5fa2V5ID09ICR7Zm9ybWF0SWR9ICYmIG0udG8gPT0gJHtjb252ZXJzYXRpb25LZXl9ICYmIG0uZnJvbSA9PSAke3Nlc3Npb25JZH1cbiAgICAgICAgUkVNT1ZFIG0gSU4gbWVzc2FnZXNcbiAgICAgICAgUkVUVVJOIE9MRGA7XG5cbiAgICAgIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgICAgIC50aGVuKChjdXJzb3I6IEFycmF5Q3Vyc29yKSA9PiBjdXJzb3IubmV4dCgpKVxuICAgICAgICAudGhlbigobWVzc2FnZTogTWVzc2FnZVR5cGUgPSB7fSkgPT4ge1xuICAgICAgICAgIGlmKCFpc0VtcHR5KG1lc3NhZ2UpKSB7XG4gICAgICAgICAgICAvLyBCcm9hZGNhc3QgdG8gbWVzc2FnZSBib3hcbiAgICAgICAgICAgIC8vIGNvbnN0IG1lc3NhZ2U6IE1lc3NhZ2VUeXBlID0gTWVzc2FnZXMuZ2V0TWVzc2FnZU9iamVjdChtZXNzYWdlKTtcbiAgICAgICAgICAgIC8vIGlvLnRvKG1lc3NhZ2UudG9JZCkuZW1pdCgnbWVzc2FnZV9kZWxldGUnLCBtZXNzYWdlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbWVzc2FnZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfSk7XG4gICAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWVzc2FnZSA9IChkYXRhOiBNZXNzYWdlVHlwZSk6IE1lc3NhZ2VUeXBlID0+IHtcbiAgY29uc3Qge1xuICAgIGFkZGVkLFxuICAgIGNvbnRlbnQsXG4gICAgY29udmVyc2F0aW9uSWQsXG4gICAgZmlsZXMsXG4gICAgX2tleTogbWVzc2FnZUlkLFxuICAgIHJlYWQsXG4gICAgc2F2ZWQsXG4gICAgdXNlcklkXG4gIH0gPSBkYXRhO1xuXG4gIHJldHVybiB7XG4gICAgYWRkZWQsXG4gICAgY29udGVudCxcbiAgICBjb252ZXJzYXRpb25JZCxcbiAgICBmaWxlcyxcbiAgICBtZXNzYWdlSWQsXG4gICAgcmVhZCxcbiAgICBzYXZlZCxcbiAgICB1c2VySWRcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBjbGVhbk1lc3NhZ2VzID0gKGRhdGFiYXNlOiBEYXRhYmFzZSk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gIC8vIFJlbW92ZSBhbGwgbWVzc2FnZXMgdGhhdCBhcmUgb3ZlciA2MCBkYXlzIGFuZCBub3Qgc2F2ZWRcbiAgY29uc3QgYXFsUXJ5ID0gYXFsYEZPUiBtIElOIG1lc3NhZ2VzXG4gICAgICBGSUxURVIgbS5hZGRlZCA8IERBVEVfVElNRVNUQU1QKERBVEVfU1VCVFJBQ1QoREFURV9OT1coKSwgNjAsICdkYXknKSkgJiYgTEVOR1RIKG0uc2F2ZWQpID4gMFxuICAgICAgUkVNT1ZFIG0gSU4gbWVzc2FnZXNcbiAgICAgIFJFVFVSTiBPTERgO1xuXG4gIHJldHVybiBkYXRhYmFzZS5xdWVyeShhcWxRcnkpXG4gICAgLnRoZW4oKGN1cnNvcjogQXJyYXlDdXJzb3IpID0+IGN1cnNvci5hbGwoKSlcbiAgICAudGhlbigobGlzdDogTWVzc2FnZVR5cGVbXSkgPT4gbGlzdC5sZW5ndGgpXG4gICAgLmNhdGNoKChlcnJvcjogRXJyb3IpID0+IHtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH0pO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSxtQkFBK0M7QUFDL0Msc0JBQTRCO0FBRzVCLHVCQUFzQjtBQUN0QixxQkFBb0I7QUFNcEIsSUFBQUEsZ0JBQXVCO0FBQ3ZCLElBQUFDLHdCQUE4QjtBQUl2QixNQUFNLGNBQWMsQ0FBQyxTQUFxQixnQkFBd0IsRUFBQyxNQUFNLEdBQUUsTUFBOEI7QUFDOUcsUUFBTSxFQUFDLFVBQVUsU0FBUyxFQUFDLFFBQVEsVUFBUyxFQUFDLElBQUk7QUFDakQsUUFBTSwyQkFBK0Isc0JBQVEsY0FBYztBQUMzRCxRQUFNLGVBQXVCLFNBQVMsU0FBUztBQUMvQyxRQUFNLG9CQUE0QixpQkFBaUIsb0JBQW9CO0FBRXZFLFFBQU0sa0JBQWtCO0FBQUEsd0JBQ0YsWUFBWSxnQkFBZ0IsaUJBQWlCO0FBQUE7QUFBQTtBQUluRSxTQUFPLFNBQVMsTUFBTSxlQUFlLEVBQ2xDLEtB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QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLE1BQU07QUFBQSxJQUNOO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGLElBQUk7QUFFSixTQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBQ0Y7QUFFTyxNQUFNLGdCQUFnQixDQUFDLGFBQXdDO0FBRXBFLFFBQU0sU0FBUztBQUFBO0FBQUE7QUFBQTtBQUtmLFNBQU8sU0FBUyxNQUFNLE1BQU0sRUFDekIsS0FBSyxDQUFDLFdBQXdCLE9BQU8sSUFBSSxDQUFDLEVBQzFDLEtBQUssQ0FBQyxTQUF3QixLQUFLLE1BQU0sRUFDekMsTUFBTSxDQUFDLFVBQWlCO0FBQ3ZCLFVBQU07QUFBQSxFQUNSLENBQUM7QUFDTDsiLAogICJuYW1lcyI6IFsiaW1wb3J0X3V0aWxzIiwgImltcG9ydF9jb252ZXJzYXRpb25zIiwgImNsb25lRGVlcCIsICJpc0VtcHR5Il0KfQo=
@@ -1,4 +1,4 @@
1
- import { Provider, Responses } from 'apn';
1
+ import { Responses } from 'apn';
2
2
  import { NotificationType } from '../types/notifications';
3
3
  export declare const getApnProvider: () => Provider;
4
4
  export declare const pushNotification: (deviceTokens: string[], note: NotificationType) => Promise<Responses>;
@@ -1,36 +1,29 @@
1
- var __create = Object.create;
2
1
  var __defProp = Object.defineProperty;
3
2
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
3
  var __getOwnPropNames = Object.getOwnPropertyNames;
5
- var __getProtoOf = Object.getPrototypeOf;
6
4
  var __hasOwnProp = Object.prototype.hasOwnProperty;
7
- var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
- var __require = typeof require !== "undefined" ? require : (x) => {
9
- throw new Error('Dynamic require of "' + x + '" is not supported');
10
- };
11
5
  var __export = (target, all) => {
12
- __markAsModule(target);
13
6
  for (var name in all)
14
7
  __defProp(target, name, { get: all[name], enumerable: true });
15
8
  };
16
- var __reExport = (target, module2, desc) => {
17
- if (module2 && typeof module2 === "object" || typeof module2 === "function") {
18
- for (let key of __getOwnPropNames(module2))
19
- if (!__hasOwnProp.call(target, key) && key !== "default")
20
- __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
21
14
  }
22
- return target;
23
- };
24
- var __toModule = (module2) => {
25
- return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
15
+ return to;
26
16
  };
27
- __export(exports, {
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var notifications_exports = {};
19
+ __export(notifications_exports, {
28
20
  clearBadges: () => clearBadges,
29
21
  getApnProvider: () => getApnProvider,
30
22
  pushNotification: () => pushNotification
31
23
  });
32
- var import_apn = __toModule(require("apn"));
33
- var import_config = __toModule(require("../config"));
24
+ module.exports = __toCommonJS(notifications_exports);
25
+ var import_apn = require("apn");
26
+ var import_config = require("../config");
34
27
  const getApnProvider = () => new import_apn.Provider({
35
28
  ca: import_config.Config.get("app.apn.ca"),
36
29
  cert: import_config.Config.get("app.apn.cert"),
@@ -63,4 +56,4 @@ const clearBadges = (deviceTokens) => {
63
56
  getApnProvider,
64
57
  pushNotification
65
58
  });
66
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvbm90aWZpY2F0aW9ucy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7Tm90aWZpY2F0aW9uIGFzIEFQTk5vdGlmaWNhdGlvbiwgUHJvdmlkZXIsIFJlc3BvbnNlc30gZnJvbSAnYXBuJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge05vdGlmaWNhdGlvblR5cGV9IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbnMnO1xuXG4vLyBjb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnbm90aWZpY2F0aW9ucyc7XG5cbi8vIFB1c2ggTm90aWZpY2F0aW9uc1xuZXhwb3J0IGNvbnN0IGdldEFwblByb3ZpZGVyID0gKCk6IFByb3ZpZGVyID0+IG5ldyBQcm92aWRlcih7XG4gIGNhOiBDb25maWcuZ2V0KCdhcHAuYXBuLmNhJyksXG4gIGNlcnQ6IENvbmZpZy5nZXQoJ2FwcC5hcG4uY2VydCcpLFxuICBrZXk6IENvbmZpZy5nZXQoJ2FwcC5hcG4ua2V5JyksXG4gIHByb2R1Y3Rpb246IENvbmZpZy5nZXQoJ2Vudmlyb25tZW50JykgPT09ICdwcm9kJ1xufSk7XG5cbmV4cG9ydCBjb25zdCBwdXNoTm90aWZpY2F0aW9uID0gKGRldmljZVRva2Vuczogc3RyaW5nW10sIG5vdGU6IE5vdGlmaWNhdGlvblR5cGUpOiBQcm9taXNlPFJlc3BvbnNlcz4gPT4ge1xuICAvLyBQdXNoIG5vdGlmaWNhdGlvbiB0byBkZXZpY2VcbiAgY29uc3QgcHJvdmlkZXI6IFByb3ZpZGVyID0gZ2V0QXBuUHJvdmlkZXIoKTtcbiAgY29uc3Qgbm90aWZpY2F0aW9uOiBBUE5Ob3RpZmljYXRpb24gPSBuZXcgQVBOTm90aWZpY2F0aW9uKCk7XG4gIG5vdGlmaWNhdGlvbi50b3BpYyA9IENvbmZpZy5nZXQoJ2FwcC5hcG4uaWQnKTtcbiAgbm90aWZpY2F0aW9uLmFsZXJ0ID0gbm90ZS5tZXNzYWdlO1xuXG4gIGlmKG5vdGUuZGF0YSkge1xuICAgIG5vdGlmaWNhdGlvbi5tdXRhYmxlQ29udGVudCA9IHRydWU7XG4gICAgbm90aWZpY2F0aW9uLnBheWxvYWQgPSBub3RlLmRhdGE7XG4gIH1cblxuICBpZihub3RlLmJhZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBub3RpZmljYXRpb24uYmFkZ2UgPSBub3RlLmJhZGdlO1xuICB9XG5cbiAgcmV0dXJuIHByb3ZpZGVyLnNlbmQobm90aWZpY2F0aW9uLCBkZXZpY2VUb2tlbnMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyQmFkZ2VzID0gKGRldmljZVRva2Vuczogc3RyaW5nW10pOiBQcm9taXNlPFJlc3BvbnNlcz4gPT4ge1xuICAvLyBQdXNoIG5vdGlmaWNhdGlvbiB0byBkZXZpY2VcbiAgY29uc3QgcHJvdmlkZXIgPSBnZXRBcG5Qcm92aWRlcigpO1xuICBjb25zdCBub3RpZmljYXRpb24gPSBuZXcgQVBOTm90aWZpY2F0aW9uKCk7XG4gIG5vdGlmaWNhdGlvbi5iYWRnZSA9IDA7XG5cbiAgcmV0dXJuIHByb3ZpZGVyLnNlbmQobm90aWZpY2F0aW9uLCBkZXZpY2VUb2tlbnMpO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUlBLGlCQUFtRTtBQUVuRSxvQkFBcUI7QUFNZCxNQUFNLGlCQUFpQixNQUFnQixJQUFJLG9CQUFTO0FBQUEsRUFDekQsSUFBSSxxQkFBTyxJQUFJO0FBQUEsRUFDZixNQUFNLHFCQUFPLElBQUk7QUFBQSxFQUNqQixLQUFLLHFCQUFPLElBQUk7QUFBQSxFQUNoQixZQUFZLHFCQUFPLElBQUksbUJBQW1CO0FBQUE7QUFHckMsTUFBTSxtQkFBbUIsQ0FBQyxjQUF3QixTQUErQztBQUV0RyxRQUFNLFdBQXFCO0FBQzNCLFFBQU0sZUFBZ0MsSUFBSTtBQUMxQyxlQUFhLFFBQVEscUJBQU8sSUFBSTtBQUNoQyxlQUFhLFFBQVEsS0FBSztBQUUxQixNQUFHLEtBQUssTUFBTTtBQUNaLGlCQUFhLGlCQUFpQjtBQUM5QixpQkFBYSxVQUFVLEtBQUs7QUFBQTtBQUc5QixNQUFHLEtBQUssVUFBVSxRQUFXO0FBQzNCLGlCQUFhLFFBQVEsS0FBSztBQUFBO0FBRzVCLFNBQU8sU0FBUyxLQUFLLGNBQWM7QUFBQTtBQUc5QixNQUFNLGNBQWMsQ0FBQyxpQkFBK0M7QUFFekUsUUFBTSxXQUFXO0FBQ2pCLFFBQU0sZUFBZSxJQUFJO0FBQ3pCLGVBQWEsUUFBUTtBQUVyQixTQUFPLFNBQVMsS0FBSyxjQUFjO0FBQUE7IiwKICAibmFtZXMiOiBbXQp9Cg==
59
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vc3JjL2FjdGlvbnMvbm90aWZpY2F0aW9ucy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktUHJlc2VudCwgTml0cm9nZW4gTGFicywgSW5jLlxuICogQ29weXJpZ2h0cyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuIFNlZSB0aGUgYWNjb21wYW55aW5nIExJQ0VOU0UgZmlsZSBmb3IgdGVybXMuXG4gKi9cbmltcG9ydCB7Tm90aWZpY2F0aW9uIGFzIEFQTk5vdGlmaWNhdGlvbiwgUHJvdmlkZXIsIFJlc3BvbnNlc30gZnJvbSAnYXBuJztcblxuaW1wb3J0IHtDb25maWd9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQge05vdGlmaWNhdGlvblR5cGV9IGZyb20gJy4uL3R5cGVzL25vdGlmaWNhdGlvbnMnO1xuXG4vLyBjb25zdCBldmVudENhdGVnb3J5OiBzdHJpbmcgPSAnbm90aWZpY2F0aW9ucyc7XG5cbi8vIFB1c2ggTm90aWZpY2F0aW9uc1xuZXhwb3J0IGNvbnN0IGdldEFwblByb3ZpZGVyID0gKCk6IFByb3ZpZGVyID0+IG5ldyBQcm92aWRlcih7XG4gIGNhOiBDb25maWcuZ2V0KCdhcHAuYXBuLmNhJyksXG4gIGNlcnQ6IENvbmZpZy5nZXQoJ2FwcC5hcG4uY2VydCcpLFxuICBrZXk6IENvbmZpZy5nZXQoJ2FwcC5hcG4ua2V5JyksXG4gIHByb2R1Y3Rpb246IENvbmZpZy5nZXQoJ2Vudmlyb25tZW50JykgPT09ICdwcm9kJ1xufSk7XG5cbmV4cG9ydCBjb25zdCBwdXNoTm90aWZpY2F0aW9uID0gKGRldmljZVRva2Vuczogc3RyaW5nW10sIG5vdGU6IE5vdGlmaWNhdGlvblR5cGUpOiBQcm9taXNlPFJlc3BvbnNlcz4gPT4ge1xuICAvLyBQdXNoIG5vdGlmaWNhdGlvbiB0byBkZXZpY2VcbiAgY29uc3QgcHJvdmlkZXI6IFByb3ZpZGVyID0gZ2V0QXBuUHJvdmlkZXIoKTtcbiAgY29uc3Qgbm90aWZpY2F0aW9uOiBBUE5Ob3RpZmljYXRpb24gPSBuZXcgQVBOTm90aWZpY2F0aW9uKCk7XG4gIG5vdGlmaWNhdGlvbi50b3BpYyA9IENvbmZpZy5nZXQoJ2FwcC5hcG4uaWQnKTtcbiAgbm90aWZpY2F0aW9uLmFsZXJ0ID0gbm90ZS5tZXNzYWdlO1xuXG4gIGlmKG5vdGUuZGF0YSkge1xuICAgIG5vdGlmaWNhdGlvbi5tdXRhYmxlQ29udGVudCA9IHRydWU7XG4gICAgbm90aWZpY2F0aW9uLnBheWxvYWQgPSBub3RlLmRhdGE7XG4gIH1cblxuICBpZihub3RlLmJhZGdlICE9PSB1bmRlZmluZWQpIHtcbiAgICBub3RpZmljYXRpb24uYmFkZ2UgPSBub3RlLmJhZGdlO1xuICB9XG5cbiAgcmV0dXJuIHByb3ZpZGVyLnNlbmQobm90aWZpY2F0aW9uLCBkZXZpY2VUb2tlbnMpO1xufTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyQmFkZ2VzID0gKGRldmljZVRva2Vuczogc3RyaW5nW10pOiBQcm9taXNlPFJlc3BvbnNlcz4gPT4ge1xuICAvLyBQdXNoIG5vdGlmaWNhdGlvbiB0byBkZXZpY2VcbiAgY29uc3QgcHJvdmlkZXIgPSBnZXRBcG5Qcm92aWRlcigpO1xuICBjb25zdCBub3RpZmljYXRpb24gPSBuZXcgQVBOTm90aWZpY2F0aW9uKCk7XG4gIG5vdGlmaWNhdGlvbi5iYWRnZSA9IDA7XG5cbiAgcmV0dXJuIHByb3ZpZGVyLnNlbmQobm90aWZpY2F0aW9uLCBkZXZpY2VUb2tlbnMpO1xufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFJQSxpQkFBbUU7QUFFbkUsb0JBQXFCO0FBTWQsTUFBTSxpQkFBaUIsTUFBZ0IsSUFBSSxvQkFBUztBQUFBLEVBQ3pELElBQUkscUJBQU8sSUFBSSxZQUFZO0FBQUEsRUFDM0IsTUFBTSxxQkFBTyxJQUFJLGNBQWM7QUFBQSxFQUMvQixLQUFLLHFCQUFPLElBQUksYUFBYTtBQUFBLEVBQzdCLFlBQVkscUJBQU8sSUFBSSxhQUFhLE1BQU07QUFDNUMsQ0FBQztBQUVNLE1BQU0sbUJBQW1CLENBQUMsY0FBd0IsU0FBK0M7QUFFdEcsUUFBTSxXQUFxQixlQUFlO0FBQzFDLFFBQU0sZUFBZ0MsSUFBSSxXQUFBQSxhQUFnQjtBQUMxRCxlQUFhLFFBQVEscUJBQU8sSUFBSSxZQUFZO0FBQzVDLGVBQWEsUUFBUSxLQUFLO0FBRTFCLE1BQUcsS0FBSyxNQUFNO0FBQ1osaUJBQWEsaUJBQWlCO0FBQzlCLGlCQUFhLFVBQVUsS0FBSztBQUFBLEVBQzlCO0FBRUEsTUFBRyxLQUFLLFVBQVUsUUFBVztBQUMzQixpQkFBYSxRQUFRLEtBQUs7QUFBQSxFQUM1QjtBQUVBLFNBQU8sU0FBUyxLQUFLLGNBQWMsWUFBWTtBQUNqRDtBQUVPLE1BQU0sY0FBYyxDQUFDLGlCQUErQztBQUV6RSxRQUFNLFdBQVcsZUFBZTtBQUNoQyxRQUFNLGVBQWUsSUFBSSxXQUFBQSxhQUFnQjtBQUN6QyxlQUFhLFFBQVE7QUFFckIsU0FBTyxTQUFTLEtBQUssY0FBYyxZQUFZO0FBQ2pEOyIsCiAgIm5hbWVzIjogWyJBUE5Ob3RpZmljYXRpb24iXQp9Cg==