@twilio/flex-plugin-e2e-tests 5.0.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 (102) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +52 -0
  3. package/dist/core/index.d.ts +3 -0
  4. package/dist/core/index.js +16 -0
  5. package/dist/core/index.js.map +1 -0
  6. package/dist/core/parameters.d.ts +54 -0
  7. package/dist/core/parameters.js +95 -0
  8. package/dist/core/parameters.js.map +1 -0
  9. package/dist/core/runner.d.ts +8 -0
  10. package/dist/core/runner.js +313 -0
  11. package/dist/core/runner.js.map +1 -0
  12. package/dist/core/suites.d.ts +11 -0
  13. package/dist/core/suites.js +17 -0
  14. package/dist/core/suites.js.map +1 -0
  15. package/dist/index.d.ts +1 -0
  16. package/dist/index.js +16 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/tests/step001.d.ts +3 -0
  19. package/dist/tests/step001.js +65 -0
  20. package/dist/tests/step001.js.map +1 -0
  21. package/dist/tests/step002.d.ts +3 -0
  22. package/dist/tests/step002.js +133 -0
  23. package/dist/tests/step002.js.map +1 -0
  24. package/dist/tests/step003.d.ts +3 -0
  25. package/dist/tests/step003.js +63 -0
  26. package/dist/tests/step003.js.map +1 -0
  27. package/dist/tests/step004.d.ts +3 -0
  28. package/dist/tests/step004.js +65 -0
  29. package/dist/tests/step004.js.map +1 -0
  30. package/dist/tests/step005.d.ts +3 -0
  31. package/dist/tests/step005.js +86 -0
  32. package/dist/tests/step005.js.map +1 -0
  33. package/dist/tests/step006.d.ts +3 -0
  34. package/dist/tests/step006.js +122 -0
  35. package/dist/tests/step006.js.map +1 -0
  36. package/dist/tests/step007.d.ts +3 -0
  37. package/dist/tests/step007.js +122 -0
  38. package/dist/tests/step007.js.map +1 -0
  39. package/dist/tests/step008.d.ts +3 -0
  40. package/dist/tests/step008.js +103 -0
  41. package/dist/tests/step008.js.map +1 -0
  42. package/dist/tests/step009.d.ts +3 -0
  43. package/dist/tests/step009.js +119 -0
  44. package/dist/tests/step009.js.map +1 -0
  45. package/dist/tests/step010.d.ts +3 -0
  46. package/dist/tests/step010.js +168 -0
  47. package/dist/tests/step010.js.map +1 -0
  48. package/dist/tests/step011.d.ts +3 -0
  49. package/dist/tests/step011.js +164 -0
  50. package/dist/tests/step011.js.map +1 -0
  51. package/dist/tests/step012.d.ts +3 -0
  52. package/dist/tests/step012.js +177 -0
  53. package/dist/tests/step012.js.map +1 -0
  54. package/dist/utils/assertion.d.ts +39 -0
  55. package/dist/utils/assertion.js +151 -0
  56. package/dist/utils/assertion.js.map +1 -0
  57. package/dist/utils/browser.d.ts +20 -0
  58. package/dist/utils/browser.js +142 -0
  59. package/dist/utils/browser.js.map +1 -0
  60. package/dist/utils/console-api.d.ts +43 -0
  61. package/dist/utils/console-api.js +154 -0
  62. package/dist/utils/console-api.js.map +1 -0
  63. package/dist/utils/index.d.ts +9 -0
  64. package/dist/utils/index.js +35 -0
  65. package/dist/utils/index.js.map +1 -0
  66. package/dist/utils/pages/app.d.ts +37 -0
  67. package/dist/utils/pages/app.js +133 -0
  68. package/dist/utils/pages/app.js.map +1 -0
  69. package/dist/utils/pages/index.d.ts +1 -0
  70. package/dist/utils/pages/index.js +14 -0
  71. package/dist/utils/pages/index.js.map +1 -0
  72. package/dist/utils/pages/view/admin-dashboard.d.ts +17 -0
  73. package/dist/utils/pages/view/admin-dashboard.js +91 -0
  74. package/dist/utils/pages/view/admin-dashboard.js.map +1 -0
  75. package/dist/utils/pages/view/agent-desktop.d.ts +17 -0
  76. package/dist/utils/pages/view/agent-desktop.js +91 -0
  77. package/dist/utils/pages/view/agent-desktop.js.map +1 -0
  78. package/dist/utils/pages/view/base.d.ts +29 -0
  79. package/dist/utils/pages/view/base.js +124 -0
  80. package/dist/utils/pages/view/base.js.map +1 -0
  81. package/dist/utils/pages/view/plugins.d.ts +31 -0
  82. package/dist/utils/pages/view/plugins.js +112 -0
  83. package/dist/utils/pages/view/plugins.js.map +1 -0
  84. package/dist/utils/pages/view/twilio-console.d.ts +26 -0
  85. package/dist/utils/pages/view/twilio-console.js +143 -0
  86. package/dist/utils/pages/view/twilio-console.js.map +1 -0
  87. package/dist/utils/plugin-helper.d.ts +6 -0
  88. package/dist/utils/plugin-helper.js +131 -0
  89. package/dist/utils/plugin-helper.js.map +1 -0
  90. package/dist/utils/plugins-api.d.ts +11 -0
  91. package/dist/utils/plugins-api.js +195 -0
  92. package/dist/utils/plugins-api.js.map +1 -0
  93. package/dist/utils/serverless-api.d.ts +7 -0
  94. package/dist/utils/serverless-api.js +117 -0
  95. package/dist/utils/serverless-api.js.map +1 -0
  96. package/dist/utils/spawn.d.ts +26 -0
  97. package/dist/utils/spawn.js +169 -0
  98. package/dist/utils/spawn.js.map +1 -0
  99. package/dist/utils/timers.d.ts +5 -0
  100. package/dist/utils/timers.js +48 -0
  101. package/dist/utils/timers.js.map +1 -0
  102. package/package.json +57 -0
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+ var __extends = (this && this.__extends) || (function () {
3
+ var extendStatics = function (d, b) {
4
+ extendStatics = Object.setPrototypeOf ||
5
+ ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
6
+ function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
7
+ return extendStatics(d, b);
8
+ };
9
+ return function (d, b) {
10
+ if (typeof b !== "function" && b !== null)
11
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
12
+ extendStatics(d, b);
13
+ function __() { this.constructor = d; }
14
+ d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
15
+ };
16
+ })();
17
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
18
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
19
+ return new (P || (P = Promise))(function (resolve, reject) {
20
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
21
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
22
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
23
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
24
+ });
25
+ };
26
+ var __generator = (this && this.__generator) || function (thisArg, body) {
27
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
28
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
29
+ function verb(n) { return function (v) { return step([n, v]); }; }
30
+ function step(op) {
31
+ if (f) throw new TypeError("Generator is already executing.");
32
+ while (_) try {
33
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
34
+ if (y = 0, t) op = [op[0] & 2, t.value];
35
+ switch (op[0]) {
36
+ case 0: case 1: t = op; break;
37
+ case 4: _.label++; return { value: op[1], done: false };
38
+ case 5: _.label++; y = op[1]; op = [0]; continue;
39
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
40
+ default:
41
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
42
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
43
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
44
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
45
+ if (t[2]) _.ops.pop();
46
+ _.trys.pop(); continue;
47
+ }
48
+ op = body.call(thisArg, _);
49
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
50
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
51
+ }
52
+ };
53
+ var __read = (this && this.__read) || function (o, n) {
54
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
55
+ if (!m) return o;
56
+ var i = m.call(o), r, ar = [], e;
57
+ try {
58
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
59
+ }
60
+ catch (error) { e = { error: error }; }
61
+ finally {
62
+ try {
63
+ if (r && !r.done && (m = i["return"])) m.call(i);
64
+ }
65
+ finally { if (e) throw e.error; }
66
+ }
67
+ return ar;
68
+ };
69
+ var __spreadArray = (this && this.__spreadArray) || function (to, from) {
70
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
71
+ to[j] = from[i];
72
+ return to;
73
+ };
74
+ Object.defineProperty(exports, "__esModule", { value: true });
75
+ exports.TwilioConsole = void 0;
76
+ var base_1 = require("./base");
77
+ var console_api_1 = require("../../console-api");
78
+ var TwilioConsole = /** @class */ (function (_super) {
79
+ __extends(TwilioConsole, _super);
80
+ function TwilioConsole(page, _a) {
81
+ var flex = _a.flex, twilioConsole = _a.twilioConsole;
82
+ var _this = _super.call(this, page) || this;
83
+ _this.assert = {};
84
+ _this._baseUrl = twilioConsole;
85
+ _this._flexBaseUrl = flex;
86
+ return _this;
87
+ }
88
+ /**
89
+ * Logs user in through service-login
90
+ * @param cookies
91
+ * @param flexBaseUrl
92
+ * @param flexPath
93
+ * @param accountSid
94
+ */
95
+ TwilioConsole.prototype.login = function (cookies, flexPath, accountSid, localhostPort) {
96
+ return __awaiter(this, void 0, void 0, function () {
97
+ var redirectUrl, path, requiredCookies;
98
+ var _a;
99
+ return __generator(this, function (_b) {
100
+ switch (_b.label) {
101
+ case 0:
102
+ redirectUrl = this._flexBaseUrl.includes('localhost')
103
+ ? TwilioConsole._createLocalhostUrl(localhostPort)
104
+ : this._flexBaseUrl;
105
+ path = "console/flex/service-login/" + accountSid + "/?path=/" + flexPath + "&referer=" + redirectUrl;
106
+ return [4 /*yield*/, this.goto({ baseUrl: this._baseUrl, path: path })];
107
+ case 1:
108
+ _b.sent();
109
+ return [4 /*yield*/, this.elementVisible(TwilioConsole._loginForm, "Twilio Console's Login form")];
110
+ case 2:
111
+ _b.sent();
112
+ requiredCookies = [
113
+ { name: console_api_1.Cookie.visitor, value: cookies[console_api_1.Cookie.visitor] },
114
+ { name: console_api_1.Cookie.sIdentity, value: cookies[console_api_1.Cookie.sIdentity] },
115
+ ];
116
+ if (cookies.identity) {
117
+ requiredCookies.push({ name: console_api_1.Cookie.identity, value: cookies[console_api_1.Cookie.identity] });
118
+ }
119
+ // Set console cookies
120
+ return [4 /*yield*/, (_a = this.page).setCookie.apply(_a, __spreadArray([], __read(requiredCookies)))];
121
+ case 3:
122
+ // Set console cookies
123
+ _b.sent();
124
+ // Log in Flex via service login
125
+ return [4 /*yield*/, this.goto({ baseUrl: this._baseUrl, path: path })];
126
+ case 4:
127
+ // Log in Flex via service login
128
+ _b.sent();
129
+ return [2 /*return*/];
130
+ }
131
+ });
132
+ });
133
+ };
134
+ TwilioConsole._loginForm = 'form[method="post"';
135
+ /**
136
+ * Creates a localhost url
137
+ * @param port
138
+ */
139
+ TwilioConsole._createLocalhostUrl = function (port) { return "http://localhost:" + port + "&localPort=" + port; };
140
+ return TwilioConsole;
141
+ }(base_1.Base));
142
+ exports.TwilioConsole = TwilioConsole;
143
+ //# sourceMappingURL=twilio-console.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"twilio-console.js","sourceRoot":"","sources":["../../../../src/utils/pages/view/twilio-console.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,+BAA8B;AAC9B,iDAAoD;AAEpD;IAAmC,iCAAI;IASrC,uBAAY,IAAU,EAAE,EAAgE;YAA9D,IAAI,UAAA,EAAE,aAAa,mBAAA;QAA7C,YACE,kBAAM,IAAI,CAAC,SAGZ;QAVD,YAAM,GAAG,EAAE,CAAC;QAQV,KAAI,CAAC,QAAQ,GAAG,aAAa,CAAC;QAC9B,KAAI,CAAC,YAAY,GAAG,IAAI,CAAC;;IAC3B,CAAC;IAQD;;;;;;OAMG;IACG,6BAAK,GAAX,UAAY,OAAgB,EAAE,QAAgB,EAAE,UAAkB,EAAE,aAAqB;;;;;;;wBACjF,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACzD,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,aAAa,CAAC;4BAClD,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;wBAChB,IAAI,GAAG,gCAA8B,UAAU,gBAAW,QAAQ,iBAAY,WAAa,CAAC;wBAElG,qBAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wBAAjD,SAAiD,CAAC;wBAClD,qBAAM,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,UAAU,EAAE,6BAA6B,CAAC,EAAA;;wBAAlF,SAAkF,CAAC;wBAE7E,eAAe,GAAG;4BACtB,EAAE,IAAI,EAAE,oBAAM,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,oBAAM,CAAC,OAAO,CAAC,EAAE;4BACxD,EAAE,IAAI,EAAE,oBAAM,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC,oBAAM,CAAC,SAAS,CAAC,EAAE;yBAC7D,CAAC;wBAEF,IAAI,OAAO,CAAC,QAAQ,EAAE;4BACpB,eAAe,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,CAAC,oBAAM,CAAC,QAAQ,CAAW,EAAE,CAAC,CAAC;yBAC5F;wBAED,sBAAsB;wBACtB,qBAAM,CAAA,KAAA,IAAI,CAAC,IAAI,CAAA,CAAC,SAAS,oCAAI,eAAe,KAAC;;wBAD7C,sBAAsB;wBACtB,SAA6C,CAAC;wBAE9C,gCAAgC;wBAChC,qBAAM,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,MAAA,EAAE,CAAC,EAAA;;wBADjD,gCAAgC;wBAChC,SAAiD,CAAC;;;;;KACnD;IAlDc,wBAAU,GAAG,oBAAoB,CAAC;IAcjD;;;OAGG;IACY,iCAAmB,GAAG,UAAC,IAAY,IAAK,OAAA,sBAAoB,IAAI,mBAAc,IAAM,EAA5C,CAA4C,CAAC;IAiCtG,oBAAC;CAAA,AApDD,CAAmC,WAAI,GAoDtC;AApDY,sCAAa"}
@@ -0,0 +1,6 @@
1
+ import { ConfiguredPluginResource } from '@twilio/flex-plugins-api-client';
2
+ declare const _default: {
3
+ waitForPluginToStart: (url: string, timeout: number, pollInterval: number) => Promise<void>;
4
+ waitForPluginToRelease: (releasedPlugin: ConfiguredPluginResource, timeout: number, pollInterval: number) => Promise<void>;
5
+ };
6
+ export default _default;
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __importDefault = (this && this.__importDefault) || function (mod) {
39
+ return (mod && mod.__esModule) ? mod : { "default": mod };
40
+ };
41
+ Object.defineProperty(exports, "__esModule", { value: true });
42
+ var axios_1 = __importDefault(require("axios"));
43
+ var flex_dev_utils_1 = require("@twilio/flex-dev-utils");
44
+ var browser_1 = require("./browser");
45
+ var timers_1 = require("./timers");
46
+ /**
47
+ * Waits for plugin to start at the given url
48
+ * @param url plugin url to poll for a successful response
49
+ * @param timeout maximum amount of time to wait until failing
50
+ * @param pollInterval time to wait between each polling attempt
51
+ */
52
+ var waitForPluginToStart = function (url, timeout, pollInterval) { return __awaiter(void 0, void 0, void 0, function () {
53
+ var counter, e_1;
54
+ return __generator(this, function (_a) {
55
+ switch (_a.label) {
56
+ case 0:
57
+ counter = 0;
58
+ _a.label = 1;
59
+ case 1:
60
+ if (!true) return [3 /*break*/, 7];
61
+ _a.label = 2;
62
+ case 2:
63
+ _a.trys.push([2, 4, , 5]);
64
+ return [4 /*yield*/, axios_1.default.get(url)];
65
+ case 3:
66
+ _a.sent();
67
+ return [3 /*break*/, 7];
68
+ case 4:
69
+ e_1 = _a.sent();
70
+ if (counter === timeout) {
71
+ flex_dev_utils_1.logger.error(e_1);
72
+ throw new Error('Plugin did not start');
73
+ }
74
+ return [3 /*break*/, 5];
75
+ case 5: return [4 /*yield*/, timers_1.sleep(pollInterval)];
76
+ case 6:
77
+ _a.sent();
78
+ counter += pollInterval;
79
+ return [3 /*break*/, 1];
80
+ case 7: return [2 /*return*/];
81
+ }
82
+ });
83
+ }); };
84
+ /**
85
+ * Waits for /plugins to contain the released plugin
86
+ * @param flexBaseUrl Flex base URL
87
+ * @param releasedPlugin plugin which was released
88
+ * @param timeout maximum amount of time to wait until failing
89
+ * @param pollInterval time to wait between each polling attempt
90
+ */
91
+ var waitForPluginToRelease = function (releasedPlugin, timeout, pollInterval) { return __awaiter(void 0, void 0, void 0, function () {
92
+ var counter, plugins, plugin, e_2;
93
+ return __generator(this, function (_a) {
94
+ switch (_a.label) {
95
+ case 0:
96
+ counter = 0;
97
+ _a.label = 1;
98
+ case 1:
99
+ if (!true) return [3 /*break*/, 7];
100
+ _a.label = 2;
101
+ case 2:
102
+ _a.trys.push([2, 4, , 5]);
103
+ return [4 /*yield*/, browser_1.Browser.app.plugins.list()];
104
+ case 3:
105
+ plugins = _a.sent();
106
+ plugin = plugins.find(function (plugin) { return plugin.name === releasedPlugin.unique_name; });
107
+ if (!plugin) {
108
+ throw new Error("/plugins did not contain " + releasedPlugin.unique_name);
109
+ }
110
+ flex_dev_utils_1.logger.info('/plugins endpoint returned', JSON.stringify(plugins));
111
+ return [3 /*break*/, 7];
112
+ case 4:
113
+ e_2 = _a.sent();
114
+ if (counter >= timeout) {
115
+ throw e_2;
116
+ }
117
+ return [3 /*break*/, 5];
118
+ case 5: return [4 /*yield*/, timers_1.sleep(pollInterval)];
119
+ case 6:
120
+ _a.sent();
121
+ counter += pollInterval;
122
+ return [3 /*break*/, 1];
123
+ case 7: return [2 /*return*/];
124
+ }
125
+ });
126
+ }); };
127
+ exports.default = {
128
+ waitForPluginToStart: waitForPluginToStart,
129
+ waitForPluginToRelease: waitForPluginToRelease,
130
+ };
131
+ //# sourceMappingURL=plugin-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-helper.js","sourceRoot":"","sources":["../../src/utils/plugin-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAE1B,yDAAgD;AAEhD,qCAAoC;AACpC,mCAAiC;AAEjC;;;;;GAKG;AACH,IAAM,oBAAoB,GAAG,UAAO,GAAW,EAAE,OAAe,EAAE,YAAoB;;;;;gBAChF,OAAO,GAAG,CAAC,CAAC;;;qBAET,IAAI;;;;gBAEP,qBAAM,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAA;;gBAApB,SAAoB,CAAC;gBACrB,wBAAM;;;gBAEN,IAAI,OAAO,KAAK,OAAO,EAAE;oBACvB,uBAAM,CAAC,KAAK,CAAC,GAAC,CAAC,CAAC;oBAChB,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;iBACzC;;oBAGH,qBAAM,cAAK,CAAC,YAAY,CAAC,EAAA;;gBAAzB,SAAyB,CAAC;gBAC1B,OAAO,IAAI,YAAY,CAAC;;;;;KAE3B,CAAC;AAEF;;;;;;GAMG;AACH,IAAM,sBAAsB,GAAG,UAC7B,cAAwC,EACxC,OAAe,EACf,YAAoB;;;;;gBAEhB,OAAO,GAAG,CAAC,CAAC;;;qBAET,IAAI;;;;gBAES,qBAAM,iBAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAA;;gBAA1C,OAAO,GAAG,SAAgC;gBAC1C,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,UAAC,MAAM,IAAK,OAAA,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,WAAW,EAA1C,CAA0C,CAAC,CAAC;gBAEpF,IAAI,CAAC,MAAM,EAAE;oBACX,MAAM,IAAI,KAAK,CAAC,8BAA4B,cAAc,CAAC,WAAa,CAAC,CAAC;iBAC3E;gBACD,uBAAM,CAAC,IAAI,CAAC,4BAA4B,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAEnE,wBAAM;;;gBAEN,IAAI,OAAO,IAAI,OAAO,EAAE;oBACtB,MAAM,GAAC,CAAC;iBACT;;oBAGH,qBAAM,cAAK,CAAC,YAAY,CAAC,EAAA;;gBAAzB,SAAyB,CAAC;gBAC1B,OAAO,IAAI,YAAY,CAAC;;;;;KAE3B,CAAC;AAEF,kBAAe;IACb,oBAAoB,sBAAA;IACpB,sBAAsB,wBAAA;CACvB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { PluginVersionResource, PluginResource, ReleaseResource, ConfigurationResource, ConfiguredPluginResourcePage } from '@twilio/flex-plugins-api-client';
2
+ declare const _default: {
3
+ cleanup: () => Promise<void>;
4
+ getPluginVersion: (name: string, version: string) => Promise<PluginVersionResource>;
5
+ getLatestPluginVersion: (name: string) => Promise<PluginVersionResource | null>;
6
+ getPlugin: (name: string) => Promise<PluginResource>;
7
+ getActiveRelease: () => Promise<ReleaseResource | null>;
8
+ getConfiguration: (sid: string) => Promise<ConfigurationResource>;
9
+ getActivePlugins: (sid: string) => Promise<ConfiguredPluginResourcePage>;
10
+ };
11
+ export default _default;
@@ -0,0 +1,195 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
10
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
11
+ }) : function(o, v) {
12
+ o["default"] = v;
13
+ });
14
+ var __importStar = (this && this.__importStar) || function (mod) {
15
+ if (mod && mod.__esModule) return mod;
16
+ var result = {};
17
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
18
+ __setModuleDefault(result, mod);
19
+ return result;
20
+ };
21
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
22
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
23
+ return new (P || (P = Promise))(function (resolve, reject) {
24
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
25
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
26
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
27
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
28
+ });
29
+ };
30
+ var __generator = (this && this.__generator) || function (thisArg, body) {
31
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
32
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
33
+ function verb(n) { return function (v) { return step([n, v]); }; }
34
+ function step(op) {
35
+ if (f) throw new TypeError("Generator is already executing.");
36
+ while (_) try {
37
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
38
+ if (y = 0, t) op = [op[0] & 2, t.value];
39
+ switch (op[0]) {
40
+ case 0: case 1: t = op; break;
41
+ case 4: _.label++; return { value: op[1], done: false };
42
+ case 5: _.label++; y = op[1]; op = [0]; continue;
43
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
44
+ default:
45
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
46
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
47
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
48
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
49
+ if (t[2]) _.ops.pop();
50
+ _.trys.pop(); continue;
51
+ }
52
+ op = body.call(thisArg, _);
53
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
54
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
55
+ }
56
+ };
57
+ var __values = (this && this.__values) || function(o) {
58
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
59
+ if (m) return m.call(o);
60
+ if (o && typeof o.length === "number") return {
61
+ next: function () {
62
+ if (o && i >= o.length) o = void 0;
63
+ return { value: o && o[i++], done: !o };
64
+ }
65
+ };
66
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
67
+ };
68
+ Object.defineProperty(exports, "__esModule", { value: true });
69
+ var flex_plugins_api_client_1 = require("@twilio/flex-plugins-api-client");
70
+ var flex_dev_utils_1 = require("@twilio/flex-dev-utils");
71
+ var core_1 = require("../core");
72
+ var serverlessApi = __importStar(require("./serverless-api"));
73
+ var options = {};
74
+ if (core_1.testParams.config.region) {
75
+ // @ts-ignore
76
+ options.region = core_1.testParams.config.region;
77
+ }
78
+ var client = new flex_plugins_api_client_1.PluginServiceHTTPClient(core_1.testParams.secrets.api.accountSid, core_1.testParams.secrets.api.authToken, options);
79
+ var pluginsClient = new flex_plugins_api_client_1.PluginsClient(client);
80
+ var versionsClient = new flex_plugins_api_client_1.PluginVersionsClient(client);
81
+ var configurationsClient = new flex_plugins_api_client_1.ConfigurationsClient(client);
82
+ var configuredPluginsClient = new flex_plugins_api_client_1.ConfiguredPluginsClient(client);
83
+ var releasesClient = new flex_plugins_api_client_1.ReleasesClient(client);
84
+ var cleanup = function () { return __awaiter(void 0, void 0, void 0, function () {
85
+ var activeRelease, resource, list, _a, _b, plugin, e_1_1, service;
86
+ var e_1, _c;
87
+ return __generator(this, function (_d) {
88
+ switch (_d.label) {
89
+ case 0:
90
+ flex_dev_utils_1.logger.info('Cleaning up plugins-api');
91
+ return [4 /*yield*/, releasesClient.active()];
92
+ case 1:
93
+ activeRelease = _d.sent();
94
+ return [4 /*yield*/, configurationsClient.create({
95
+ Name: 'E2E Test Cleanup',
96
+ Description: 'Empty Configuration',
97
+ Plugins: [],
98
+ })];
99
+ case 2:
100
+ resource = _d.sent();
101
+ return [4 /*yield*/, releasesClient.create({
102
+ ConfigurationId: resource.sid,
103
+ })];
104
+ case 3:
105
+ _d.sent();
106
+ if (!activeRelease) return [3 /*break*/, 12];
107
+ return [4 /*yield*/, configuredPluginsClient.list(activeRelease.configuration_sid)];
108
+ case 4:
109
+ list = _d.sent();
110
+ _d.label = 5;
111
+ case 5:
112
+ _d.trys.push([5, 10, 11, 12]);
113
+ _a = __values(list.plugins), _b = _a.next();
114
+ _d.label = 6;
115
+ case 6:
116
+ if (!!_b.done) return [3 /*break*/, 9];
117
+ plugin = _b.value;
118
+ return [4 /*yield*/, versionsClient.archive(plugin.plugin_sid, plugin.plugin_version_sid)];
119
+ case 7:
120
+ _d.sent();
121
+ _d.label = 8;
122
+ case 8:
123
+ _b = _a.next();
124
+ return [3 /*break*/, 6];
125
+ case 9: return [3 /*break*/, 12];
126
+ case 10:
127
+ e_1_1 = _d.sent();
128
+ e_1 = { error: e_1_1 };
129
+ return [3 /*break*/, 12];
130
+ case 11:
131
+ try {
132
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
133
+ }
134
+ finally { if (e_1) throw e_1.error; }
135
+ return [7 /*endfinally*/];
136
+ case 12: return [4 /*yield*/, serverlessApi.getServiceSid()];
137
+ case 13:
138
+ service = _d.sent();
139
+ return [4 /*yield*/, serverlessApi.deleteEnvironments(service.sid)];
140
+ case 14:
141
+ _d.sent();
142
+ return [2 /*return*/];
143
+ }
144
+ });
145
+ }); };
146
+ var getPluginVersion = function (name, version) { return __awaiter(void 0, void 0, void 0, function () {
147
+ return __generator(this, function (_a) {
148
+ return [2 /*return*/, versionsClient.get(name, version)];
149
+ });
150
+ }); };
151
+ var getLatestPluginVersion = function (name) { return __awaiter(void 0, void 0, void 0, function () {
152
+ var e_2;
153
+ return __generator(this, function (_a) {
154
+ switch (_a.label) {
155
+ case 0:
156
+ _a.trys.push([0, 2, , 3]);
157
+ return [4 /*yield*/, versionsClient.latest(name)];
158
+ case 1: return [2 /*return*/, _a.sent()];
159
+ case 2:
160
+ e_2 = _a.sent();
161
+ return [2 /*return*/, null];
162
+ case 3: return [2 /*return*/];
163
+ }
164
+ });
165
+ }); };
166
+ var getPlugin = function (name) { return __awaiter(void 0, void 0, void 0, function () {
167
+ return __generator(this, function (_a) {
168
+ return [2 /*return*/, pluginsClient.get(name)];
169
+ });
170
+ }); };
171
+ var getActiveRelease = function () { return __awaiter(void 0, void 0, void 0, function () {
172
+ return __generator(this, function (_a) {
173
+ return [2 /*return*/, releasesClient.active()];
174
+ });
175
+ }); };
176
+ var getConfiguration = function (sid) { return __awaiter(void 0, void 0, void 0, function () {
177
+ return __generator(this, function (_a) {
178
+ return [2 /*return*/, configurationsClient.get(sid)];
179
+ });
180
+ }); };
181
+ var getActivePlugins = function (sid) { return __awaiter(void 0, void 0, void 0, function () {
182
+ return __generator(this, function (_a) {
183
+ return [2 /*return*/, configuredPluginsClient.list(sid)];
184
+ });
185
+ }); };
186
+ exports.default = {
187
+ cleanup: cleanup,
188
+ getPluginVersion: getPluginVersion,
189
+ getLatestPluginVersion: getLatestPluginVersion,
190
+ getPlugin: getPlugin,
191
+ getActiveRelease: getActiveRelease,
192
+ getConfiguration: getConfiguration,
193
+ getActivePlugins: getActivePlugins,
194
+ };
195
+ //# sourceMappingURL=plugins-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugins-api.js","sourceRoot":"","sources":["../../src/utils/plugins-api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ interface Service {
2
+ unique_name: string;
3
+ sid: string;
4
+ }
5
+ export declare const getServiceSid: () => Promise<Service>;
6
+ export declare const deleteEnvironments: (serviceSid: string) => Promise<void>;
7
+ export {};
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
49
+ var __importDefault = (this && this.__importDefault) || function (mod) {
50
+ return (mod && mod.__esModule) ? mod : { "default": mod };
51
+ };
52
+ Object.defineProperty(exports, "__esModule", { value: true });
53
+ exports.deleteEnvironments = exports.getServiceSid = void 0;
54
+ var axios_1 = __importDefault(require("axios"));
55
+ var core_1 = require("../core");
56
+ var realm = core_1.testParams.config.region ? core_1.testParams.config.region + "." : '';
57
+ var baseUrl = "https://serverless." + realm + "twilio.com/v1";
58
+ var auth = {
59
+ username: core_1.testParams.secrets.api.accountSid,
60
+ password: core_1.testParams.secrets.api.authToken,
61
+ };
62
+ var get = function (uri) { return __awaiter(void 0, void 0, void 0, function () {
63
+ return __generator(this, function (_a) {
64
+ return [2 /*return*/, axios_1.default.get(baseUrl + "/" + uri, { auth: auth }).then(function (resp) { return resp.data; })];
65
+ });
66
+ }); };
67
+ var remove = function (uri) { return __awaiter(void 0, void 0, void 0, function () {
68
+ return __generator(this, function (_a) {
69
+ return [2 /*return*/, axios_1.default.delete(baseUrl + "/" + uri, { auth: auth })];
70
+ });
71
+ }); };
72
+ var getServiceSid = function () { return __awaiter(void 0, void 0, void 0, function () {
73
+ return __generator(this, function (_a) {
74
+ return [2 /*return*/, get('Services').then(function (list) { return list.services.find(function (service) { return service.unique_name === 'default'; }); })];
75
+ });
76
+ }); };
77
+ exports.getServiceSid = getServiceSid;
78
+ var deleteEnvironments = function (serviceSid) { return __awaiter(void 0, void 0, void 0, function () {
79
+ var list, _a, _b, environment, e_1_1;
80
+ var e_1, _c;
81
+ return __generator(this, function (_d) {
82
+ switch (_d.label) {
83
+ case 0: return [4 /*yield*/, get("Services/" + serviceSid + "/Environments")];
84
+ case 1:
85
+ list = _d.sent();
86
+ _d.label = 2;
87
+ case 2:
88
+ _d.trys.push([2, 7, 8, 9]);
89
+ _a = __values(list.environments), _b = _a.next();
90
+ _d.label = 3;
91
+ case 3:
92
+ if (!!_b.done) return [3 /*break*/, 6];
93
+ environment = _b.value;
94
+ return [4 /*yield*/, remove("Services/" + serviceSid + "/Environments/" + environment.sid)];
95
+ case 4:
96
+ _d.sent();
97
+ _d.label = 5;
98
+ case 5:
99
+ _b = _a.next();
100
+ return [3 /*break*/, 3];
101
+ case 6: return [3 /*break*/, 9];
102
+ case 7:
103
+ e_1_1 = _d.sent();
104
+ e_1 = { error: e_1_1 };
105
+ return [3 /*break*/, 9];
106
+ case 8:
107
+ try {
108
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
109
+ }
110
+ finally { if (e_1) throw e_1.error; }
111
+ return [7 /*endfinally*/];
112
+ case 9: return [2 /*return*/];
113
+ }
114
+ });
115
+ }); };
116
+ exports.deleteEnvironments = deleteEnvironments;
117
+ //# sourceMappingURL=serverless-api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serverless-api.js","sourceRoot":"","sources":["../../src/utils/serverless-api.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA0B;AAE1B,gCAAqC;AAQrC,IAAM,KAAK,GAAG,iBAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAI,iBAAU,CAAC,MAAM,CAAC,MAAM,MAAG,CAAC,CAAC,CAAC,EAAE,CAAC;AAC7E,IAAM,OAAO,GAAG,wBAAsB,KAAK,kBAAe,CAAC;AAC3D,IAAM,IAAI,GAAG;IACX,QAAQ,EAAE,iBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU;IAC3C,QAAQ,EAAE,iBAAU,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS;CAC3C,CAAC;AAEF,IAAM,GAAG,GAAG,UAAO,GAAW;;QAC5B,sBAAO,eAAK,CAAC,GAAG,CAAI,OAAO,SAAI,GAAK,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,EAAT,CAAS,CAAC,EAAC;;KAC3E,CAAC;AAEF,IAAM,MAAM,GAAG,UAAO,GAAW;;QAC/B,sBAAO,eAAK,CAAC,MAAM,CAAI,OAAO,SAAI,GAAK,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,EAAC;;KACpD,CAAC;AAEK,IAAM,aAAa,GAAG;;QAC3B,sBAAO,GAAG,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAC,OAAgB,IAAK,OAAA,OAAO,CAAC,WAAW,KAAK,SAAS,EAAjC,CAAiC,CAAC,EAA3E,CAA2E,CAAC,EAAC;;KACpH,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,IAAM,kBAAkB,GAAG,UAAO,UAAkB;;;;;oBAC5C,qBAAM,GAAG,CAAC,cAAY,UAAU,kBAAe,CAAC,EAAA;;gBAAvD,IAAI,GAAG,SAAgD;;;;gBACnC,KAAA,SAAA,IAAI,CAAC,YAAY,CAAA;;;;gBAAhC,WAAW;gBACpB,qBAAM,MAAM,CAAC,cAAY,UAAU,sBAAiB,WAAW,CAAC,GAAK,CAAC,EAAA;;gBAAtE,SAAsE,CAAC;;;;;;;;;;;;;;;;;;;KAE1E,CAAC;AALW,QAAA,kBAAkB,sBAK7B"}