oxygen-cli 1.21.0-beta.8 → 1.21.0-beta.9

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.
package/CHANGELOG.md CHANGED
@@ -10,7 +10,7 @@
10
10
  * Add `utils.dnsResolve`.
11
11
  * Add `utils.readXlsx`.
12
12
  * Add `web.maximizeWindow`, `web.minimizeWindow`, `web.fullscreenWindow`.
13
- * Add `soap.getLastRequestHeaders`.
13
+ * Add `soap.getLastResponseHeaders`.
14
14
  * `soap.get`: allow passing HTTP request headers.
15
15
 
16
16
  #### :beetle: Bug Fix
@@ -90,6 +90,7 @@ module.exports = function () {
90
90
  * @param {String} wsdlUrl - URL pointing to the WSDL XML.
91
91
  * @param {String} method - Method name (case sensitive).
92
92
  * @param {Object=} args - Object containing the arguments.
93
+ * @param {Object=} wsdlHeaders - custom HTTP headers to be sent on WSDL requests.
93
94
  * @return {Object} The response object.
94
95
  * @example <caption>[javascript] Usage example</caption>
95
96
  * // get SOAP service description, so we can understand what methods it provides,
@@ -104,7 +105,7 @@ module.exports = function () {
104
105
  */
105
106
 
106
107
 
107
- module.get = async function (wsdlUrl, method, args) {
108
+ module.get = async function (wsdlUrl, method, args, wsdlHeaders = {}) {
108
109
  var resultClient = null;
109
110
  var result = null;
110
111
  await (() => {
@@ -112,7 +113,8 @@ module.exports = function () {
112
113
  soap.createClient(wsdlUrl, {
113
114
  wsdl_options: { ...options,
114
115
  ...proxyOptions
115
- }
116
+ },
117
+ wsdl_headers: wsdlHeaders
116
118
  }, (err, client) => {
117
119
  if (client === undefined) {
118
120
  var msg = 'Error creating client';
@@ -150,13 +152,16 @@ module.exports = function () {
150
152
  client[method](args, (err, res) => {
151
153
  lastResponseHeaders = client.lastResponseHeaders;
152
154
 
153
- if (err !== null) {
155
+ if (err !== null && err.root && err.root.Envelope && err.root.Envelope.Body && err.root.Envelope.Body.Fault) {
154
156
  result = new _OxygenError.default(errHelper.errorCode.SOAP_ERROR, err.root.Envelope.Body.Fault.faultstring);
155
- resolve();
156
- return;
157
+ } else if (err !== null) {
158
+ result = new _OxygenError.default(errHelper.errorCode.SOAP_ERROR, require('util').inspect(err, {
159
+ depth: 4
160
+ }));
161
+ } else {
162
+ result = res;
157
163
  }
158
164
 
159
- result = res;
160
165
  resolve();
161
166
  return;
162
167
  }, { ...options,
@@ -190,18 +195,20 @@ module.exports = function () {
190
195
  * @summary Returns SOAP service description.
191
196
  * @function describe
192
197
  * @param {String} wsdlUrl - URL pointing to the WSDL XML.
198
+ * @param {Object=} wsdlHeaders - custom HTTP headers to be sent on WSDL requests.
193
199
  * @return {Object} Service description.
194
200
  */
195
201
 
196
202
 
197
- module.describe = async function (wsdlUrl) {
203
+ module.describe = async function (wsdlUrl, wsdlHeaders = {}) {
198
204
  var resultClient = null;
199
205
  await (() => {
200
206
  return new Promise((resolve, reject) => {
201
207
  soap.createClient(wsdlUrl, {
202
208
  wsdl_options: { ...options,
203
209
  ...proxyOptions
204
- }
210
+ },
211
+ wsdl_headers: wsdlHeaders
205
212
  }, (err, client) => {
206
213
  if (client === undefined) {
207
214
  var msg = 'Error creating client';
@@ -244,4 +251,4 @@ module.exports = function () {
244
251
 
245
252
  return module;
246
253
  };
247
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1zb2FwLmpzIl0sIm5hbWVzIjpbImVyckhlbHBlciIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwic29hcCIsImF1dGgiLCJwcm94eU9wdGlvbnMiLCJvcHRpb25zIiwicmVqZWN0VW5hdXRob3JpemVkIiwibGFzdFJlc3BvbnNlSGVhZGVycyIsImlzSW5pdGlhbGl6ZWQiLCJzZXRQcm94eSIsInVybCIsInByb3h5IiwiYXV0aEJhc2ljIiwidXNlciIsInBhc3MiLCJCYXNpY0F1dGhTZWN1cml0eSIsImF1dGhCZWFyZXIiLCJ0b2tlbiIsIkJlYXJlclNlY3VyaXR5IiwiYXV0aE5UTE0iLCJkb21haW4iLCJ3b3Jrc3RhdGlvbiIsIk5UTE1TZWN1cml0eSIsImdldCIsIndzZGxVcmwiLCJtZXRob2QiLCJhcmdzIiwicmVzdWx0Q2xpZW50IiwicmVzdWx0IiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJjcmVhdGVDbGllbnQiLCJ3c2RsX29wdGlvbnMiLCJlcnIiLCJjbGllbnQiLCJ1bmRlZmluZWQiLCJtc2ciLCJtZXNzYWdlIiwic29hcE1zZyIsImZpcnN0QnJlYWtJbmRleCIsImluZGV4T2YiLCJzdWJzdHJpbmciLCJTdHJpbmciLCJPeEVycm9yIiwiZXJyb3JDb2RlIiwiU09BUF9FUlJPUiIsInNldFNlY3VyaXR5IiwicmVzIiwicm9vdCIsIkVudmVsb3BlIiwiQm9keSIsIkZhdWx0IiwiZmF1bHRzdHJpbmciLCJ0eXBlIiwiZ2V0TGFzdFJlc3BvbnNlSGVhZGVycyIsImRlc2NyaWJlIl0sIm1hcHBpbmdzIjoiOzs7O0FBY0E7Ozs7QUFkQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBR0EsSUFBSUEsU0FBUyxHQUFHQyxPQUFPLENBQUMsa0JBQUQsQ0FBdkI7O0FBRUFDLE1BQU0sQ0FBQ0MsT0FBUCxHQUFpQixZQUFXO0FBQ3hC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Z2h0IChDKSAyMDE1LXByZXNlbnQgQ2xvdWRCZWF0IExpbWl0ZWRcclxuICpcclxuICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnlcclxuICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnlcclxuICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3JcclxuICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi5cclxuICovXHJcblxyXG4vKipcclxuICogQG5hbWUgc29hcFxyXG4gKiBAZGVzY3JpcHRpb24gUHJvdmlkZXMgbWV0aG9kcyBmb3Igd29ya2luZyB3aXRoIFNPQVAgYmFzZWQgV2ViIFNlcnZpY2VzLlxyXG4gKi9cclxuXHJcbmltcG9ydCBPeEVycm9yIGZyb20gJy4uL2Vycm9ycy9PeHlnZW5FcnJvcic7XHJcbnZhciBlcnJIZWxwZXIgPSByZXF1aXJlKCcuLi9lcnJvcnMvaGVscGVyJyk7XHJcblxyXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xyXG4gICAgdmFyIHNvYXAgPSByZXF1aXJlKCdzb2FwJyk7XHJcbiAgICB2YXIgYXV0aCA9IG51bGw7XHJcbiAgICB2YXIgcHJveHlPcHRpb25zID0ge307XHJcbiAgICB2YXIgb3B0aW9ucyA9IHtcclxuICAgICAgICByZWplY3RVbmF1dGhvcml6ZWQ6IGZhbHNlXHJcbiAgICB9O1xyXG4gICAgdmFyIGxhc3RSZXNwb25zZUhlYWRlcnMgPSBudWxsO1xyXG5cclxuICAgIG1vZHVsZS5pc0luaXRpYWxpemVkID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9O1xyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBTZXRzIHByb3h5IHVybCB0byBiZSB1c2VkIGZvciBjb25uZWN0aW9ucyB3aXRoIHRoZSBzZXJ2aWNlLlxyXG4gICAgICogQGZ1bmN0aW9uIHNldFByb3h5XHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdXJsIC0gUHJveHkgdXJsLiBJbnZvY2F0aW9uIHdpdGhvdXQgYXJndW1lbnRzIHdpbGwgcmVtb3ZlIGFueSBwcmV2aW91c2x5IHNldCB1cmwuXHJcbiAgICAgKi9cclxuICAgIG1vZHVsZS5zZXRQcm94eSA9IGZ1bmN0aW9uKHVybCkge1xyXG4gICAgICAgIGlmICh1cmwpIHtcclxuICAgICAgICAgICAgcHJveHlPcHRpb25zID0gIHsgcHJveHk6IHVybCB9O1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHByb3h5T3B0aW9ucyA9IHt9O1xyXG4gICAgICAgIH1cclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBTZXRzIEJhc2ljIEF1dGhlbnRpY2F0aW9uIGRldGFpbHMgdG8gYmUgdXNlZCBmb3IgY29ubmVjdGlvbnMgd2l0aCB0aGUgc2VydmljZS5cclxuICAgICAqIEBmdW5jdGlvbiBhdXRoQmFzaWNcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB1c2VyIC0gVXNlcm5hbWUuXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gcGFzcyAtIFBhc3N3b3JkLlxyXG4gICAgICovXHJcbiAgICBtb2R1bGUuYXV0aEJhc2ljID0gZnVuY3Rpb24odXNlciwgcGFzcykge1xyXG4gICAgICAgIGF1dGggPSBuZXcgc29hcC5CYXNpY0F1dGhTZWN1cml0eSh1c2VyLCBwYXNzKTtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBTZXRzIEJlYXJlciBUb2tlbiBBdXRoZW50aWNhdGlvbiBkZXRhaWxzIHRvIGJlIHVzZWQgZm9yIGNvbm5lY3Rpb25zIHdpdGggdGhlIHNlcnZpY2UuXHJcbiAgICAgKiBAZnVuY3Rpb24gYXV0aEJlYXJlclxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHRva2VuIC0gVG9rZW4uXHJcbiAgICAgKi9cclxuICAgIG1vZHVsZS5hdXRoQmVhcmVyID0gZnVuY3Rpb24odG9rZW4pIHtcclxuICAgICAgICBhdXRoID0gbmV3IHNvYXAuQmVhcmVyU2VjdXJpdHkodG9rZW4pO1xyXG4gICAgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBzdW1tYXJ5IFNldHMgTlRMTSBBdXRoZW50aWNhdGlvbiBkZXRhaWxzIHRvIGJlIHVzZWQgZm9yIGNvbm5lY3Rpb25zIHdpdGggdGhlIHNlcnZpY2UuXHJcbiAgICAgKiBAZnVuY3Rpb24gYXV0aE5UTE1cclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB1c2VyIC0gVXNlcm5hbWUuXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gcGFzcyAtIFBhc3N3b3JkLlxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IGRvbWFpbiAtIERvbWFpbi5cclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB3b3Jrc3RhdGlvbiAtIFdvcmtzdGF0aW9uLlxyXG4gICAgICovXHJcbiAgICBtb2R1bGUuYXV0aE5UTE0gPSBmdW5jdGlvbih1c2VyLCBwYXNzLCBkb21haW4sIHdvcmtzdGF0aW9uKSB7XHJcbiAgICAgICAgYXV0aCA9IG5ldyBzb2FwLk5UTE1TZWN1cml0eSh1c2VyLCBwYXNzLCBkb21haW4sIHdvcmtzdGF0aW9uKTtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBJbml0aWF0ZXMgYSBTT0FQIHJlcXVlc3QgYW5kIHJldHVybnMgdGhlIHJlc3BvbnNlLlxyXG4gICAgICogQGZ1bmN0aW9uIGdldFxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHdzZGxVcmwgLSBVUkwgcG9pbnRpbmcgdG8gdGhlIFdTREwgWE1MLlxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IG1ldGhvZCAtIE1ldGhvZCBuYW1lIChjYXNlIHNlbnNpdGl2ZSkuXHJcbiAgICAgKiBAcGFyYW0ge09iamVjdD19IGFyZ3MgLSBPYmplY3QgY29udGFpbmluZyB0aGUgYXJndW1lbnRzLlxyXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBUaGUgcmVzcG9uc2Ugb2JqZWN0LlxyXG4gICAgICogQGV4YW1wbGUgPGNhcHRpb24+W2phdmFzY3JpcHRdIFVzYWdlIGV4YW1wbGU8L2NhcHRpb24+XHJcbiAgICAgKiAvLyBnZXQgU09BUCBzZXJ2aWNlIGRlc2NyaXB0aW9uLCBzbyB3ZSBjYW4gdW5kZXJzdGFuZCB3aGF0IG1ldGhvZHMgaXQgcHJvdmlkZXMsXHJcbiAgICAgKiAvLyB3aGF0IGlucHV0IHBhcmFtZXRlcnMgaXQgZXhwZWN0cywgYW5kIHdoYXQgaXMgdGhlIG91dHB1dCBzdHJ1Y3R1cmUuXHJcbiAgICAgKiB2YXIgc2VydmljZVVybCA9ICdodHRwOi8vd3d3LmRhdGFhY2Nlc3MuY29tL3dlYnNlcnZpY2Vzc2VydmVyL251bWJlcmNvbnZlcnNpb24ud3NvP1dTREwnO1xyXG4gICAgICogdmFyIHNlcnZpY2VEZXNjcmlwdGlvbiA9IHNvYXAuZGVzY3JpYmUoc2VydmljZVVybCk7XHJcbiAgICAgKiBsb2cuaW5mbyhzZXJ2aWNlRGVzY3JpcHRpb24pO1xyXG4gICAgICogXHJcbiAgICAgKiAvLyBOdW1iZXJUb1dvcmRzIG1ldGhvZCBpbiB0aGlzIHNlcnZpY2UgY29udmVydHMgbnVtYmVyIHRvIHdvcmRzLlxyXG4gICAgICogdmFyIHJlc3VsdCA9IHNvYXAuZ2V0KHNlcnZpY2VVcmwsICdOdW1iZXJUb1dvcmRzJywgeyAndWJpTnVtJzogMjAxOSB9KTtcclxuICAgICAqIGxvZy5pbmZvKHJlc3VsdC5OdW1iZXJUb1dvcmRzUmVzdWx0KTtcclxuICAgICAqL1xyXG4gICAgbW9kdWxlLmdldCA9IGFzeW5jIGZ1bmN0aW9uKHdzZGxVcmwsIG1ldGhvZCwgYXJncykge1xyXG4gICAgICAgIHZhciByZXN1bHRDbGllbnQgPSBudWxsO1xyXG4gICAgICAgIHZhciByZXN1bHQgPSBudWxsO1xyXG5cclxuICAgICAgICBhd2FpdCAoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc29hcC5jcmVhdGVDbGllbnQod3NkbFVybCwgeyB3c2RsX29wdGlvbnM6IHsgLi4ub3B0aW9ucywgLi4ucHJveHlPcHRpb25zIH19LCAoZXJyLCBjbGllbnQpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoY2xpZW50ID09PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1zZyA9ICAnRXJyb3IgY3JlYXRpbmcgY2xpZW50JztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVyci5tZXNzYWdlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgc29hcE1zZyA9IGVyci5tZXNzYWdlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGZpcnN0QnJlYWtJbmRleCA9IHNvYXBNc2cuaW5kZXhPZignXFxuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZmlyc3RCcmVha0luZGV4ID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNvYXBNc2cgPSBlcnIubWVzc2FnZS5zdWJzdHJpbmcoMCwgZmlyc3RCcmVha0luZGV4KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyArPSAnOiAnICsgc29hcE1zZztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChlcnIgJiYgKHR5cGVvZiBlcnIgPT09ICdzdHJpbmcnIHx8IGVyciBpbnN0YW5jZW9mIFN0cmluZykpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1zZyArPSAnOiAnICsgZXJyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdENsaWVudCA9IG5ldyBPeEVycm9yKGVyckhlbHBlci5lcnJvckNvZGUuU09BUF9FUlJPUiwgbXNnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXN1bHRDbGllbnQgPSBjbGllbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2xpZW50W21ldGhvZF0gIT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Q2xpZW50ID0gbmV3IE94RXJyb3IoZXJySGVscGVyLmVycm9yQ29kZS5TT0FQX0VSUk9SLCAnTm8gbWV0aG9kIG5hbWVkICcgKyBtZXRob2QgKyAnIHdhcyBmb3VuZC4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAoYXV0aCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnQuc2V0U2VjdXJpdHkoYXV0aCk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBjbGllbnRbbWV0aG9kXShhcmdzLCAoZXJyLCByZXMpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdFJlc3BvbnNlSGVhZGVycyA9IGNsaWVudC5sYXN0UmVzcG9uc2VIZWFkZXJzO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBuZXcgT3hFcnJvcihlcnJIZWxwZXIuZXJyb3JDb2RlLlNPQVBfRVJST1IsIGVyci5yb290LkVudmVsb3BlLkJvZHkuRmF1bHQuZmF1bHRzdHJpbmcpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIHsgLi4ub3B0aW9ucywgLi4ucHJveHlPcHRpb25zIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pKCk7XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHRDbGllbnQudHlwZSA9PT0gZXJySGVscGVyLmVycm9yQ29kZS5TT0FQX0VSUk9SKSB7XHJcbiAgICAgICAgICAgIHRocm93IHJlc3VsdENsaWVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHQudHlwZSA9PT0gZXJySGVscGVyLmVycm9yQ29kZS5TT0FQX0VSUk9SKSB7XHJcbiAgICAgICAgICAgIHRocm93IHJlc3VsdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgUmV0dXJucyBsYXN0IHJlc3BvbnNlIGhlYWRlcnMuXHJcbiAgICAgKiBAZnVuY3Rpb24gZ2V0TGFzdFJlc3BvbnNlSGVhZGVyc1xyXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBJbmNvbWluZ0h0dHBIZWFkZXJzIChodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vUG93ZXJCSS1KYXZhU2NyaXB0L2ludGVyZmFjZXMvX25vZGVfbW9kdWxlc19fdHlwZXNfbm9kZV9odHRwMl9kXy5faHR0cDJfLmluY29taW5naHR0cGhlYWRlcnMuaHRtbCkuXHJcbiAgICAgKi9cclxuICAgIG1vZHVsZS5nZXRMYXN0UmVzcG9uc2VIZWFkZXJzID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIGxhc3RSZXNwb25zZUhlYWRlcnM7XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgUmV0dXJucyBTT0FQIHNlcnZpY2UgZGVzY3JpcHRpb24uXHJcbiAgICAgKiBAZnVuY3Rpb24gZGVzY3JpYmVcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB3c2RsVXJsIC0gVVJMIHBvaW50aW5nIHRvIHRoZSBXU0RMIFhNTC5cclxuICAgICAqIEByZXR1cm4ge09iamVjdH0gU2VydmljZSBkZXNjcmlwdGlvbi5cclxuICAgICAqL1xyXG4gICAgbW9kdWxlLmRlc2NyaWJlID0gYXN5bmMgZnVuY3Rpb24od3NkbFVybCkge1xyXG4gICAgICAgIHZhciByZXN1bHRDbGllbnQgPSBudWxsO1xyXG5cclxuICAgICAgICBhd2FpdCAoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc29hcC5jcmVhdGVDbGllbnQod3NkbFVybCx7IHdzZGxfb3B0aW9uczogeyAuLi5vcHRpb25zLCAuLi5wcm94eU9wdGlvbnMgfX0sIChlcnIsIGNsaWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjbGllbnQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbXNnID0gICdFcnJvciBjcmVhdGluZyBjbGllbnQnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLm1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzb2FwTXNnID0gZXJyLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmlyc3RCcmVha0luZGV4ID0gc29hcE1zZy5pbmRleE9mKCdcXG4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaXJzdEJyZWFrSW5kZXggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29hcE1zZyA9IGVyci5tZXNzYWdlLnN1YnN0cmluZygwLCBmaXJzdEJyZWFrSW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnICs9ICc6ICcgKyBzb2FwTXNnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVyciAmJiAodHlwZW9mIGVyciA9PT0gJ3N0cmluZycgfHwgZXJyIGluc3RhbmNlb2YgU3RyaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnICs9ICc6ICcgKyBlcnI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Q2xpZW50ID0gbmV3IE94RXJyb3IoZXJySGVscGVyLmVycm9yQ29kZS5TT0FQX0VSUk9SLCBtc2cpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhdXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudC5zZXRTZWN1cml0eShhdXRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdENsaWVudCA9IGNsaWVudC5kZXNjcmliZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSkoKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdENsaWVudC50eXBlID09PSBlcnJIZWxwZXIuZXJyb3JDb2RlLlNPQVBfRVJST1IpIHtcclxuICAgICAgICAgICAgdGhyb3cgcmVzdWx0Q2xpZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdENsaWVudDtcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG1vZHVsZTtcclxufTtcclxuIl19
254
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9veF9tb2R1bGVzL21vZHVsZS1zb2FwLmpzIl0sIm5hbWVzIjpbImVyckhlbHBlciIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwic29hcCIsImF1dGgiLCJwcm94eU9wdGlvbnMiLCJvcHRpb25zIiwicmVqZWN0VW5hdXRob3JpemVkIiwibGFzdFJlc3BvbnNlSGVhZGVycyIsImlzSW5pdGlhbGl6ZWQiLCJzZXRQcm94eSIsInVybCIsInByb3h5IiwiYXV0aEJhc2ljIiwidXNlciIsInBhc3MiLCJCYXNpY0F1dGhTZWN1cml0eSIsImF1dGhCZWFyZXIiLCJ0b2tlbiIsIkJlYXJlclNlY3VyaXR5IiwiYXV0aE5UTE0iLCJkb21haW4iLCJ3b3Jrc3RhdGlvbiIsIk5UTE1TZWN1cml0eSIsImdldCIsIndzZGxVcmwiLCJtZXRob2QiLCJhcmdzIiwid3NkbEhlYWRlcnMiLCJyZXN1bHRDbGllbnQiLCJyZXN1bHQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsImNyZWF0ZUNsaWVudCIsIndzZGxfb3B0aW9ucyIsIndzZGxfaGVhZGVycyIsImVyciIsImNsaWVudCIsInVuZGVmaW5lZCIsIm1zZyIsIm1lc3NhZ2UiLCJzb2FwTXNnIiwiZmlyc3RCcmVha0luZGV4IiwiaW5kZXhPZiIsInN1YnN0cmluZyIsIlN0cmluZyIsIk94RXJyb3IiLCJlcnJvckNvZGUiLCJTT0FQX0VSUk9SIiwic2V0U2VjdXJpdHkiLCJyZXMiLCJyb290IiwiRW52ZWxvcGUiLCJCb2R5IiwiRmF1bHQiLCJmYXVsdHN0cmluZyIsImluc3BlY3QiLCJkZXB0aCIsInR5cGUiLCJnZXRMYXN0UmVzcG9uc2VIZWFkZXJzIiwiZGVzY3JpYmUiXSwibWFwcGluZ3MiOiI7Ozs7QUFjQTs7OztBQWRBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFHQSxJQUFJQSxTQUFTLEdBQUdDLE9BQU8sQ0FBQyxrQkFB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TUFBL0MsQ0FBUCxFQUErRDtBQUNsRU4sY0FBQUEsR0FBRyxJQUFJLE9BQU9ILEdBQWQ7QUFDSDs7QUFDRFIsWUFBQUEsWUFBWSxHQUFHLElBQUlrQixvQkFBSixDQUFZaEQsU0FBUyxDQUFDaUQsU0FBVixDQUFvQkMsVUFBaEMsRUFBNENULEdBQTVDLENBQWY7QUFDQVIsWUFBQUEsT0FBTztBQUNQO0FBQ0g7O0FBRUQsY0FBSTVCLElBQUosRUFBVTtBQUNOa0MsWUFBQUEsTUFBTSxDQUFDWSxXQUFQLENBQW1COUMsSUFBbkI7QUFDSDs7QUFFRHlCLFVBQUFBLFlBQVksR0FBR1MsTUFBTSxDQUFDdUIsUUFBUCxFQUFmO0FBQ0E3QixVQUFBQSxPQUFPO0FBQ1A7QUFDSCxTQXpCRDtBQTBCSCxPQTNCTSxDQUFQO0FBNEJILEtBN0JLLEdBQU47O0FBK0JBLFFBQUlILFlBQVksQ0FBQzhCLElBQWIsS0FBc0I1RCxTQUFTLENBQUNpRCxTQUFWLENBQW9CQyxVQUE5QyxFQUEwRDtBQUN0RCxZQUFNcEIsWUFBTjtBQUNIOztBQUVELFdBQU9BLFlBQVA7QUFDSCxHQXZDRDs7QUF5Q0EsU0FBTzVCLE1BQVA7QUFDSCxDQXJNRCIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIENvcHlyaWdodCAoQykgMjAxNS1wcmVzZW50IENsb3VkQmVhdCBMaW1pdGVkXHJcbiAqXHJcbiAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5XHJcbiAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5XHJcbiAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yXHJcbiAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIEBuYW1lIHNvYXBcclxuICogQGRlc2NyaXB0aW9uIFByb3ZpZGVzIG1ldGhvZHMgZm9yIHdvcmtpbmcgd2l0aCBTT0FQIGJhc2VkIFdlYiBTZXJ2aWNlcy5cclxuICovXHJcblxyXG5pbXBvcnQgT3hFcnJvciBmcm9tICcuLi9lcnJvcnMvT3h5Z2VuRXJyb3InO1xyXG52YXIgZXJySGVscGVyID0gcmVxdWlyZSgnLi4vZXJyb3JzL2hlbHBlcicpO1xyXG5cclxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbigpIHtcclxuICAgIHZhciBzb2FwID0gcmVxdWlyZSgnc29hcCcpO1xyXG4gICAgdmFyIGF1dGggPSBudWxsO1xyXG4gICAgdmFyIHByb3h5T3B0aW9ucyA9IHt9O1xyXG4gICAgdmFyIG9wdGlvbnMgPSB7XHJcbiAgICAgICAgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZVxyXG4gICAgfTtcclxuICAgIHZhciBsYXN0UmVzcG9uc2VIZWFkZXJzID0gbnVsbDtcclxuXHJcbiAgICBtb2R1bGUuaXNJbml0aWFsaXplZCA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfTtcclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgU2V0cyBwcm94eSB1cmwgdG8gYmUgdXNlZCBmb3IgY29ubmVjdGlvbnMgd2l0aCB0aGUgc2VydmljZS5cclxuICAgICAqIEBmdW5jdGlvbiBzZXRQcm94eVxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHVybCAtIFByb3h5IHVybC4gSW52b2NhdGlvbiB3aXRob3V0IGFyZ3VtZW50cyB3aWxsIHJlbW92ZSBhbnkgcHJldmlvdXNseSBzZXQgdXJsLlxyXG4gICAgICovXHJcbiAgICBtb2R1bGUuc2V0UHJveHkgPSBmdW5jdGlvbih1cmwpIHtcclxuICAgICAgICBpZiAodXJsKSB7XHJcbiAgICAgICAgICAgIHByb3h5T3B0aW9ucyA9ICB7IHByb3h5OiB1cmwgfTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBwcm94eU9wdGlvbnMgPSB7fTtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgU2V0cyBCYXNpYyBBdXRoZW50aWNhdGlvbiBkZXRhaWxzIHRvIGJlIHVzZWQgZm9yIGNvbm5lY3Rpb25zIHdpdGggdGhlIHNlcnZpY2UuXHJcbiAgICAgKiBAZnVuY3Rpb24gYXV0aEJhc2ljXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdXNlciAtIFVzZXJuYW1lLlxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHBhc3MgLSBQYXNzd29yZC5cclxuICAgICAqL1xyXG4gICAgbW9kdWxlLmF1dGhCYXNpYyA9IGZ1bmN0aW9uKHVzZXIsIHBhc3MpIHtcclxuICAgICAgICBhdXRoID0gbmV3IHNvYXAuQmFzaWNBdXRoU2VjdXJpdHkodXNlciwgcGFzcyk7XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgU2V0cyBCZWFyZXIgVG9rZW4gQXV0aGVudGljYXRpb24gZGV0YWlscyB0byBiZSB1c2VkIGZvciBjb25uZWN0aW9ucyB3aXRoIHRoZSBzZXJ2aWNlLlxyXG4gICAgICogQGZ1bmN0aW9uIGF1dGhCZWFyZXJcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB0b2tlbiAtIFRva2VuLlxyXG4gICAgICovXHJcbiAgICBtb2R1bGUuYXV0aEJlYXJlciA9IGZ1bmN0aW9uKHRva2VuKSB7XHJcbiAgICAgICAgYXV0aCA9IG5ldyBzb2FwLkJlYXJlclNlY3VyaXR5KHRva2VuKTtcclxuICAgIH07XHJcblxyXG4gICAgLyoqXHJcbiAgICAgKiBAc3VtbWFyeSBTZXRzIE5UTE0gQXV0aGVudGljYXRpb24gZGV0YWlscyB0byBiZSB1c2VkIGZvciBjb25uZWN0aW9ucyB3aXRoIHRoZSBzZXJ2aWNlLlxyXG4gICAgICogQGZ1bmN0aW9uIGF1dGhOVExNXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gdXNlciAtIFVzZXJuYW1lLlxyXG4gICAgICogQHBhcmFtIHtTdHJpbmd9IHBhc3MgLSBQYXNzd29yZC5cclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBkb21haW4gLSBEb21haW4uXHJcbiAgICAgKiBAcGFyYW0ge1N0cmluZ30gd29ya3N0YXRpb24gLSBXb3Jrc3RhdGlvbi5cclxuICAgICAqL1xyXG4gICAgbW9kdWxlLmF1dGhOVExNID0gZnVuY3Rpb24odXNlciwgcGFzcywgZG9tYWluLCB3b3Jrc3RhdGlvbikge1xyXG4gICAgICAgIGF1dGggPSBuZXcgc29hcC5OVExNU2VjdXJpdHkodXNlciwgcGFzcywgZG9tYWluLCB3b3Jrc3RhdGlvbik7XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgSW5pdGlhdGVzIGEgU09BUCByZXF1ZXN0IGFuZCByZXR1cm5zIHRoZSByZXNwb25zZS5cclxuICAgICAqIEBmdW5jdGlvbiBnZXRcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB3c2RsVXJsIC0gVVJMIHBvaW50aW5nIHRvIHRoZSBXU0RMIFhNTC5cclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSBtZXRob2QgLSBNZXRob2QgbmFtZSAoY2FzZSBzZW5zaXRpdmUpLlxyXG4gICAgICogQHBhcmFtIHtPYmplY3Q9fSBhcmdzIC0gT2JqZWN0IGNvbnRhaW5pbmcgdGhlIGFyZ3VtZW50cy5cclxuICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gd3NkbEhlYWRlcnMgLSBjdXN0b20gSFRUUCBoZWFkZXJzIHRvIGJlIHNlbnQgb24gV1NETCByZXF1ZXN0cy5cclxuICAgICAqIEByZXR1cm4ge09iamVjdH0gVGhlIHJlc3BvbnNlIG9iamVjdC5cclxuICAgICAqIEBleGFtcGxlIDxjYXB0aW9uPltqYXZhc2NyaXB0XSBVc2FnZSBleGFtcGxlPC9jYXB0aW9uPlxyXG4gICAgICogLy8gZ2V0IFNPQVAgc2VydmljZSBkZXNjcmlwdGlvbiwgc28gd2UgY2FuIHVuZGVyc3RhbmQgd2hhdCBtZXRob2RzIGl0IHByb3ZpZGVzLFxyXG4gICAgICogLy8gd2hhdCBpbnB1dCBwYXJhbWV0ZXJzIGl0IGV4cGVjdHMsIGFuZCB3aGF0IGlzIHRoZSBvdXRwdXQgc3RydWN0dXJlLlxyXG4gICAgICogdmFyIHNlcnZpY2VVcmwgPSAnaHR0cDovL3d3dy5kYXRhYWNjZXNzLmNvbS93ZWJzZXJ2aWNlc3NlcnZlci9udW1iZXJjb252ZXJzaW9uLndzbz9XU0RMJztcclxuICAgICAqIHZhciBzZXJ2aWNlRGVzY3JpcHRpb24gPSBzb2FwLmRlc2NyaWJlKHNlcnZpY2VVcmwpO1xyXG4gICAgICogbG9nLmluZm8oc2VydmljZURlc2NyaXB0aW9uKTtcclxuICAgICAqIFxyXG4gICAgICogLy8gTnVtYmVyVG9Xb3JkcyBtZXRob2QgaW4gdGhpcyBzZXJ2aWNlIGNvbnZlcnRzIG51bWJlciB0byB3b3Jkcy5cclxuICAgICAqIHZhciByZXN1bHQgPSBzb2FwLmdldChzZXJ2aWNlVXJsLCAnTnVtYmVyVG9Xb3JkcycsIHsgJ3ViaU51bSc6IDIwMTkgfSk7XHJcbiAgICAgKiBsb2cuaW5mbyhyZXN1bHQuTnVtYmVyVG9Xb3Jkc1Jlc3VsdCk7XHJcbiAgICAgKi9cclxuICAgIG1vZHVsZS5nZXQgPSBhc3luYyBmdW5jdGlvbih3c2RsVXJsLCBtZXRob2QsIGFyZ3MsIHdzZGxIZWFkZXJzID0ge30pIHtcclxuICAgICAgICB2YXIgcmVzdWx0Q2xpZW50ID0gbnVsbDtcclxuICAgICAgICB2YXIgcmVzdWx0ID0gbnVsbDtcclxuXHJcbiAgICAgICAgYXdhaXQgKCgpID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcclxuICAgICAgICAgICAgICAgIHNvYXAuY3JlYXRlQ2xpZW50KHdzZGxVcmwsIHsgd3NkbF9vcHRpb25zOiB7IC4uLm9wdGlvbnMsIC4uLnByb3h5T3B0aW9ucyB9LCB3c2RsX2hlYWRlcnM6IHdzZGxIZWFkZXJzfSwgKGVyciwgY2xpZW50KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNsaWVudCA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBtc2cgPSAgJ0Vycm9yIGNyZWF0aW5nIGNsaWVudCc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlcnIubWVzc2FnZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHNvYXBNc2cgPSBlcnIubWVzc2FnZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBmaXJzdEJyZWFrSW5kZXggPSBzb2FwTXNnLmluZGV4T2YoJ1xcbicpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGZpcnN0QnJlYWtJbmRleCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb2FwTXNnID0gZXJyLm1lc3NhZ2Uuc3Vic3RyaW5nKDAsIGZpcnN0QnJlYWtJbmRleCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgKz0gJzogJyArIHNvYXBNc2c7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyICYmICh0eXBlb2YgZXJyID09PSAnc3RyaW5nJyB8fCBlcnIgaW5zdGFuY2VvZiBTdHJpbmcpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtc2cgKz0gJzogJyArIGVycjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1bHRDbGllbnQgPSBuZXcgT3hFcnJvcihlcnJIZWxwZXIuZXJyb3JDb2RlLlNPQVBfRVJST1IsIG1zZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgcmVzdWx0Q2xpZW50ID0gY2xpZW50O1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNsaWVudFttZXRob2RdICE9PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdENsaWVudCA9IG5ldyBPeEVycm9yKGVyckhlbHBlci5lcnJvckNvZGUuU09BUF9FUlJPUiwgJ05vIG1ldGhvZCBuYW1lZCAnICsgbWV0aG9kICsgJyB3YXMgZm91bmQuJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF1dGgpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50LnNldFNlY3VyaXR5KGF1dGgpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50W21ldGhvZF0oYXJncywgKGVyciwgcmVzKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RSZXNwb25zZUhlYWRlcnMgPSBjbGllbnQubGFzdFJlc3BvbnNlSGVhZGVycztcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVyciAhPT0gbnVsbCAmJiBlcnIucm9vdCAmJiBlcnIucm9vdC5FbnZlbG9wZSAmJiBlcnIucm9vdC5FbnZlbG9wZS5Cb2R5ICYmIGVyci5yb290LkVudmVsb3BlLkJvZHkuRmF1bHQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3VsdCA9IG5ldyBPeEVycm9yKGVyckhlbHBlci5lcnJvckNvZGUuU09BUF9FUlJPUiwgZXJyLnJvb3QuRW52ZWxvcGUuQm9keS5GYXVsdC5mYXVsdHN0cmluZyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSBuZXcgT3hFcnJvcihlcnJIZWxwZXIuZXJyb3JDb2RlLlNPQVBfRVJST1IsIHJlcXVpcmUoJ3V0aWwnKS5pbnNwZWN0KGVyciwgeyBkZXB0aDogNCB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXN1bHQgPSByZXM7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH0sIHsgLi4ub3B0aW9ucywgLi4ucHJveHlPcHRpb25zIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0pKCk7XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHRDbGllbnQudHlwZSA9PT0gZXJySGVscGVyLmVycm9yQ29kZS5TT0FQX0VSUk9SKSB7XHJcbiAgICAgICAgICAgIHRocm93IHJlc3VsdENsaWVudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmIChyZXN1bHQudHlwZSA9PT0gZXJySGVscGVyLmVycm9yQ29kZS5TT0FQX0VSUk9SKSB7XHJcbiAgICAgICAgICAgIHRocm93IHJlc3VsdDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiByZXN1bHQ7XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgUmV0dXJucyBsYXN0IHJlc3BvbnNlIGhlYWRlcnMuXHJcbiAgICAgKiBAZnVuY3Rpb24gZ2V0TGFzdFJlc3BvbnNlSGVhZGVyc1xyXG4gICAgICogQHJldHVybiB7T2JqZWN0fSBJbmNvbWluZ0h0dHBIZWFkZXJzIChodHRwczovL21pY3Jvc29mdC5naXRodWIuaW8vUG93ZXJCSS1KYXZhU2NyaXB0L2ludGVyZmFjZXMvX25vZGVfbW9kdWxlc19fdHlwZXNfbm9kZV9odHRwMl9kXy5faHR0cDJfLmluY29taW5naHR0cGhlYWRlcnMuaHRtbCkuXHJcbiAgICAgKi9cclxuICAgIG1vZHVsZS5nZXRMYXN0UmVzcG9uc2VIZWFkZXJzID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIGxhc3RSZXNwb25zZUhlYWRlcnM7XHJcbiAgICB9O1xyXG5cclxuICAgIC8qKlxyXG4gICAgICogQHN1bW1hcnkgUmV0dXJucyBTT0FQIHNlcnZpY2UgZGVzY3JpcHRpb24uXHJcbiAgICAgKiBAZnVuY3Rpb24gZGVzY3JpYmVcclxuICAgICAqIEBwYXJhbSB7U3RyaW5nfSB3c2RsVXJsIC0gVVJMIHBvaW50aW5nIHRvIHRoZSBXU0RMIFhNTC5cclxuICAgICAqIEBwYXJhbSB7T2JqZWN0PX0gd3NkbEhlYWRlcnMgLSBjdXN0b20gSFRUUCBoZWFkZXJzIHRvIGJlIHNlbnQgb24gV1NETCByZXF1ZXN0cy5cclxuICAgICAqIEByZXR1cm4ge09iamVjdH0gU2VydmljZSBkZXNjcmlwdGlvbi5cclxuICAgICAqL1xyXG4gICAgbW9kdWxlLmRlc2NyaWJlID0gYXN5bmMgZnVuY3Rpb24od3NkbFVybCwgd3NkbEhlYWRlcnMgPSB7fSkge1xyXG4gICAgICAgIHZhciByZXN1bHRDbGllbnQgPSBudWxsO1xyXG5cclxuICAgICAgICBhd2FpdCAoKCkgPT4ge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgc29hcC5jcmVhdGVDbGllbnQod3NkbFVybCx7IHdzZGxfb3B0aW9uczogeyAuLi5vcHRpb25zLCAuLi5wcm94eU9wdGlvbnMgfSwgd3NkbF9oZWFkZXJzOiB3c2RsSGVhZGVyc30sIChlcnIsIGNsaWVudCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChjbGllbnQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgbXNnID0gICdFcnJvciBjcmVhdGluZyBjbGllbnQnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyLm1lc3NhZ2UpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzb2FwTXNnID0gZXJyLm1lc3NhZ2U7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZmlyc3RCcmVha0luZGV4ID0gc29hcE1zZy5pbmRleE9mKCdcXG4nKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChmaXJzdEJyZWFrSW5kZXggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29hcE1zZyA9IGVyci5tZXNzYWdlLnN1YnN0cmluZygwLCBmaXJzdEJyZWFrSW5kZXgpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnICs9ICc6ICcgKyBzb2FwTXNnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGVyciAmJiAodHlwZW9mIGVyciA9PT0gJ3N0cmluZycgfHwgZXJyIGluc3RhbmNlb2YgU3RyaW5nKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnICs9ICc6ICcgKyBlcnI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzdWx0Q2xpZW50ID0gbmV3IE94RXJyb3IoZXJySGVscGVyLmVycm9yQ29kZS5TT0FQX0VSUk9SLCBtc2cpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNvbHZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChhdXRoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsaWVudC5zZXRTZWN1cml0eShhdXRoKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHJlc3VsdENsaWVudCA9IGNsaWVudC5kZXNjcmliZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHJlc29sdmUoKTtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSkoKTtcclxuXHJcbiAgICAgICAgaWYgKHJlc3VsdENsaWVudC50eXBlID09PSBlcnJIZWxwZXIuZXJyb3JDb2RlLlNPQVBfRVJST1IpIHtcclxuICAgICAgICAgICAgdGhyb3cgcmVzdWx0Q2xpZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgcmV0dXJuIHJlc3VsdENsaWVudDtcclxuICAgIH07XHJcblxyXG4gICAgcmV0dXJuIG1vZHVsZTtcclxufTtcclxuIl19
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oxygen-cli",
3
- "version": "1.21.0-beta.8",
3
+ "version": "1.21.0-beta.9",
4
4
  "description": "Automation framework for testing modern applications",
5
5
  "main": "./build/index.js",
6
6
  "bin": {
@@ -87,7 +87,7 @@
87
87
  "request": "2.88.2",
88
88
  "saucelabs": "3.0.1",
89
89
  "serialport": "9.2.0",
90
- "soap": "0.40.0",
90
+ "soap": "0.43.0",
91
91
  "source-map-support": "0.5.19",
92
92
  "stacktrace-parser": "0.1.10",
93
93
  "testdouble": "3.16.1",