necessary 11.0.2 → 11.0.3

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/README.md CHANGED
@@ -752,7 +752,7 @@ separate([1, -1, -2, 2, 3, -3], [], [], (element, index) => {
752
752
 
753
753
  Helper functions to manipulate HTTP headers and URLs, build query strings and so on.
754
754
 
755
- * The `overwrite()` function takes a plain old JavaScript object `headers` argument together with `name` and `value` string arguments. It overwrites the property of the `headers` object corresponding to the `name` argument with the `value` argument, if the property exists, otherwise it creates it. It's utility lies in the fact that it is insensitive to case.
755
+ * The `overwrite()` function takes a plain old JavaScript object `headers` argument together with `name` and `value` string arguments. If the corresponding property of the `headers` object exists then it is replaced with the `value` value. This function's utility lies in the fact that the name comparisons are case insensitive.
756
756
 
757
757
  ```
758
758
  const headers = {
@@ -762,7 +762,7 @@ const headers = {
762
762
  overwrite(headers, "content-type", "text/html"); // headers["Content-Type"] = "text/html"
763
763
  ```
764
764
 
765
- * The `underwrite()` function takes a plain old JavaScript object `headers` argument together with `name` and `value` string arguments. If the corresponding property of the \headers\ object exists then it is left in place, otherwise it is given the `value` value. It's utility lies in the fact that it is insensitive to case.
765
+ * The `underwrite()` function takes a plain old JavaScript object `headers` argument together with `name` and `value` string arguments. If the corresponding property of the `headers` object does not exist then it is created with the `value` value. This function's utility lies in the fact that the name comparisons are case insensitive.
766
766
 
767
767
  ```
768
768
  const headers = {
package/lib/characters.js CHANGED
@@ -2,11 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.CARRIAGE_RETURN_CHARACTER = exports.BACKSPACE_CHARACTER = exports.LINE_FEED_CHARACTER = exports.AMPERSAND_CHARACTER = exports.COLON_CHARACTER = exports.ETX_CHARACTER = void 0;
5
+ exports.CARRIAGE_RETURN_CHARACTER = exports.BACKSPACE_CHARACTER = exports.LINE_FEED_CHARACTER = exports.AMPERSAND_CHARACTER = exports.CTRL_C_CHARACTER = exports.COLON_CHARACTER = exports.ETX_CHARACTER = void 0;
6
6
  var ETX_CHARACTER = "\x03";
7
7
  exports.ETX_CHARACTER = ETX_CHARACTER;
8
8
  var COLON_CHARACTER = ":";
9
9
  exports.COLON_CHARACTER = COLON_CHARACTER;
10
+ var CTRL_C_CHARACTER = "^C";
11
+ exports.CTRL_C_CHARACTER = CTRL_C_CHARACTER;
10
12
  var AMPERSAND_CHARACTER = "&";
11
13
  exports.AMPERSAND_CHARACTER = AMPERSAND_CHARACTER;
12
14
  var LINE_FEED_CHARACTER = "\n";
@@ -16,4 +18,4 @@ exports.BACKSPACE_CHARACTER = BACKSPACE_CHARACTER;
16
18
  var CARRIAGE_RETURN_CHARACTER = "\r";
17
19
  exports.CARRIAGE_RETURN_CHARACTER = CARRIAGE_RETURN_CHARACTER;
18
20
 
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFyYWN0ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgRVRYX0NIQVJBQ1RFUiA9IFwiXFx1MDAwM1wiO1xuZXhwb3J0IGNvbnN0IENPTE9OX0NIQVJBQ1RFUiA9IFwiOlwiO1xuZXhwb3J0IGNvbnN0IEFNUEVSU0FORF9DSEFSQUNURVIgPSBcIiZcIjtcbmV4cG9ydCBjb25zdCBMSU5FX0ZFRURfQ0hBUkFDVEVSID0gXCJcXG5cIjtcbmV4cG9ydCBjb25zdCBCQUNLU1BBQ0VfQ0hBUkFDVEVSID0gU3RyaW5nLmZyb21DaGFyQ29kZSgxMjcpO1xuZXhwb3J0IGNvbnN0IENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgPSBcIlxcclwiO1xuIl0sIm5hbWVzIjpbIkVUWF9DSEFSQUNURVIiLCJDT0xPTl9DSEFSQUNURVIiLCJBTVBFUlNBTkRfQ0hBUkFDVEVSIiwiTElORV9GRUVEX0NIQVJBQ1RFUiIsIkJBQ0tTUEFDRV9DSEFSQUNURVIiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJDQVJSSUFHRV9SRVRVUk5fQ0hBUkFDVEVSIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVMLEdBQUssQ0FBQ0EsYUFBYSxHQUFHLENBQVE7UUFBeEJBLGFBQWEsR0FBYkEsYUFBYTtBQUNuQixHQUFLLENBQUNDLGVBQWUsR0FBRyxDQUFHO1FBQXJCQSxlQUFlLEdBQWZBLGVBQWU7QUFDckIsR0FBSyxDQUFDQyxtQkFBbUIsR0FBRyxDQUFHO1FBQXpCQSxtQkFBbUIsR0FBbkJBLG1CQUFtQjtBQUN6QixHQUFLLENBQUNDLG1CQUFtQixHQUFHLENBQUk7UUFBMUJBLG1CQUFtQixHQUFuQkEsbUJBQW1CO0FBQ3pCLEdBQUssQ0FBQ0MsbUJBQW1CLEdBQUdDLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLEdBQUc7UUFBN0NGLG1CQUFtQixHQUFuQkEsbUJBQW1CO0FBQ3pCLEdBQUssQ0FBQ0cseUJBQXlCLEdBQUcsQ0FBSTtRQUFoQ0EseUJBQXlCLEdBQXpCQSx5QkFBeUIifQ==
21
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFyYWN0ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgRVRYX0NIQVJBQ1RFUiA9IFwiXFx1MDAwM1wiO1xuZXhwb3J0IGNvbnN0IENPTE9OX0NIQVJBQ1RFUiA9IFwiOlwiO1xuZXhwb3J0IGNvbnN0IENUUkxfQ19DSEFSQUNURVIgPSBcIl5DXCI7XG5leHBvcnQgY29uc3QgQU1QRVJTQU5EX0NIQVJBQ1RFUiA9IFwiJlwiO1xuZXhwb3J0IGNvbnN0IExJTkVfRkVFRF9DSEFSQUNURVIgPSBcIlxcblwiO1xuZXhwb3J0IGNvbnN0IEJBQ0tTUEFDRV9DSEFSQUNURVIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyk7XG5leHBvcnQgY29uc3QgQ0FSUklBR0VfUkVUVVJOX0NIQVJBQ1RFUiA9IFwiXFxyXCI7XG4iXSwibmFtZXMiOlsiRVRYX0NIQVJBQ1RFUiIsIkNPTE9OX0NIQVJBQ1RFUiIsIkNUUkxfQ19DSEFSQUNURVIiLCJBTVBFUlNBTkRfQ0hBUkFDVEVSIiwiTElORV9GRUVEX0NIQVJBQ1RFUiIsIkJBQ0tTUEFDRV9DSEFSQUNURVIiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJDQVJSSUFHRV9SRVRVUk5fQ0hBUkFDVEVSIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVMLEdBQUssQ0FBQ0EsYUFBYSxHQUFHLENBQVE7UUFBeEJBLGFBQWEsR0FBYkEsYUFBYTtBQUNuQixHQUFLLENBQUNDLGVBQWUsR0FBRyxDQUFHO1FBQXJCQSxlQUFlLEdBQWZBLGVBQWU7QUFDckIsR0FBSyxDQUFDQyxnQkFBZ0IsR0FBRyxDQUFJO1FBQXZCQSxnQkFBZ0IsR0FBaEJBLGdCQUFnQjtBQUN0QixHQUFLLENBQUNDLG1CQUFtQixHQUFHLENBQUc7UUFBekJBLG1CQUFtQixHQUFuQkEsbUJBQW1CO0FBQ3pCLEdBQUssQ0FBQ0MsbUJBQW1CLEdBQUcsQ0FBSTtRQUExQkEsbUJBQW1CLEdBQW5CQSxtQkFBbUI7QUFDekIsR0FBSyxDQUFDQyxtQkFBbUIsR0FBR0MsTUFBTSxDQUFDQyxZQUFZLENBQUMsR0FBRztRQUE3Q0YsbUJBQW1CLEdBQW5CQSxtQkFBbUI7QUFDekIsR0FBSyxDQUFDRyx5QkFBeUIsR0FBRyxDQUFJO1FBQWhDQSx5QkFBeUIsR0FBekJBLHlCQUF5QiJ9
package/lib/constants.js CHANGED
@@ -2,13 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.CONTENT_TYPE = exports.EMPTY_STRING = exports.ENVIRONMENT = exports.BOOLEAN = exports.NUMBER = exports.ACCEPT = exports.STRING = exports.CTRL_C = exports.ERROR = exports.UTF8 = void 0;
5
+ exports.CONTENT_TYPE = exports.EMPTY_STRING = exports.ENVIRONMENT = exports.BOOLEAN = exports.NUMBER = exports.ACCEPT = exports.STRING = exports.ERROR = exports.UTF8 = void 0;
6
6
  var UTF8 = "utf8";
7
7
  exports.UTF8 = UTF8;
8
8
  var ERROR = "error";
9
9
  exports.ERROR = ERROR;
10
- var CTRL_C = "^C";
11
- exports.CTRL_C = CTRL_C;
12
10
  var STRING = "string";
13
11
  exports.STRING = STRING;
14
12
  var ACCEPT = "accept";
@@ -24,4 +22,4 @@ exports.EMPTY_STRING = EMPTY_STRING;
24
22
  var CONTENT_TYPE = "content-type";
25
23
  exports.CONTENT_TYPE = CONTENT_TYPE;
26
24
 
27
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBVVEY4ID0gXCJ1dGY4XCI7XG5leHBvcnQgY29uc3QgRVJST1IgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgQ1RSTF9DID0gXCJeQ1wiO1xuZXhwb3J0IGNvbnN0IFNUUklORyA9IFwic3RyaW5nXCI7XG5leHBvcnQgY29uc3QgQUNDRVBUID0gXCJhY2NlcHRcIjtcbmV4cG9ydCBjb25zdCBOVU1CRVIgPSBcIm51bWJlclwiO1xuZXhwb3J0IGNvbnN0IEJPT0xFQU4gPSBcImJvb2xlYW5cIjtcbmV4cG9ydCBjb25zdCBFTlZJUk9OTUVOVCA9IFwiRU5WSVJPTk1FTlRcIjtcbmV4cG9ydCBjb25zdCBFTVBUWV9TVFJJTkcgPSBcIlwiO1xuZXhwb3J0IGNvbnN0IENPTlRFTlRfVFlQRSA9IFwiY29udGVudC10eXBlXCI7XG4iXSwibmFtZXMiOlsiVVRGOCIsIkVSUk9SIiwiQ1RSTF9DIiwiU1RSSU5HIiwiQUNDRVBUIiwiTlVNQkVSIiwiQk9PTEVBTiIsIkVOVklST05NRU5UIiwiRU1QVFlfU1RSSU5HIiwiQ09OVEVOVF9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVMLEdBQUssQ0FBQ0EsSUFBSSxHQUFHLENBQU07UUFBYkEsSUFBSSxHQUFKQSxJQUFJO0FBQ1YsR0FBSyxDQUFDQyxLQUFLLEdBQUcsQ0FBTztRQUFmQSxLQUFLLEdBQUxBLEtBQUs7QUFDWCxHQUFLLENBQUNDLE1BQU0sR0FBRyxDQUFJO1FBQWJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLENBQVM7UUFBbkJBLE9BQU8sR0FBUEEsT0FBTztBQUNiLEdBQUssQ0FBQ0MsV0FBVyxHQUFHLENBQWE7UUFBM0JBLFdBQVcsR0FBWEEsV0FBVztBQUNqQixHQUFLLENBQUNDLFlBQVksR0FBRyxDQUFFO1FBQWpCQSxZQUFZLEdBQVpBLFlBQVk7QUFDbEIsR0FBSyxDQUFDQyxZQUFZLEdBQUcsQ0FBYztRQUE3QkEsWUFBWSxHQUFaQSxZQUFZIn0=
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBVVEY4ID0gXCJ1dGY4XCI7XG5leHBvcnQgY29uc3QgRVJST1IgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgU1RSSU5HID0gXCJzdHJpbmdcIjtcbmV4cG9ydCBjb25zdCBBQ0NFUFQgPSBcImFjY2VwdFwiO1xuZXhwb3J0IGNvbnN0IE5VTUJFUiA9IFwibnVtYmVyXCI7XG5leHBvcnQgY29uc3QgQk9PTEVBTiA9IFwiYm9vbGVhblwiO1xuZXhwb3J0IGNvbnN0IEVOVklST05NRU5UID0gXCJFTlZJUk9OTUVOVFwiO1xuZXhwb3J0IGNvbnN0IEVNUFRZX1NUUklORyA9IFwiXCI7XG5leHBvcnQgY29uc3QgQ09OVEVOVF9UWVBFID0gXCJjb250ZW50LXR5cGVcIjtcbiJdLCJuYW1lcyI6WyJVVEY4IiwiRVJST1IiLCJTVFJJTkciLCJBQ0NFUFQiLCJOVU1CRVIiLCJCT09MRUFOIiwiRU5WSVJPTk1FTlQiLCJFTVBUWV9TVFJJTkciLCJDT05URU5UX1RZUEUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7O0FBRUwsR0FBSyxDQUFDQSxJQUFJLEdBQUcsQ0FBTTtRQUFiQSxJQUFJLEdBQUpBLElBQUk7QUFDVixHQUFLLENBQUNDLEtBQUssR0FBRyxDQUFPO1FBQWZBLEtBQUssR0FBTEEsS0FBSztBQUNYLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsTUFBTSxHQUFHLENBQVE7UUFBakJBLE1BQU0sR0FBTkEsTUFBTTtBQUNaLEdBQUssQ0FBQ0MsT0FBTyxHQUFHLENBQVM7UUFBbkJBLE9BQU8sR0FBUEEsT0FBTztBQUNiLEdBQUssQ0FBQ0MsV0FBVyxHQUFHLENBQWE7UUFBM0JBLFdBQVcsR0FBWEEsV0FBVztBQUNqQixHQUFLLENBQUNDLFlBQVksR0FBRyxDQUFFO1FBQWpCQSxZQUFZLEdBQVpBLFlBQVk7QUFDbEIsR0FBSyxDQUFDQyxZQUFZLEdBQUcsQ0FBYztRQUE3QkEsWUFBWSxHQUFaQSxZQUFZIn0=
@@ -16,7 +16,7 @@ function get(host, uri, query, headers, callback) {
16
16
  headers = {};
17
17
  }
18
18
  var method = _methods.GET_METHOD, accept = _contentTypes.APPLICATION_JSON_CONTENT_TYPE, content = null;
19
- underwriteAccept(headers, accept);
19
+ underwriteAcceptHeader(headers, accept);
20
20
  request(host, uri, query, method, headers, content, callback);
21
21
  }
22
22
  function post(host, uri, query, headers, content, callback) {
@@ -26,8 +26,8 @@ function post(host, uri, query, headers, content, callback) {
26
26
  headers = {};
27
27
  }
28
28
  var method = _methods.POST_METHOD, accept = _contentTypes.APPLICATION_JSON_CONTENT_TYPE, contentType = _contentTypes.APPLICATION_JSON_CONTENT_TYPE;
29
- underwriteAccept(headers, accept);
30
- underwriteContentType(headers, contentType);
29
+ underwriteAcceptHeader(headers, accept);
30
+ underwriteContentTypeHeader(headers, contentType);
31
31
  request(host, uri, query, method, headers, content, callback);
32
32
  }
33
33
  function request(host, uri, query, method, headers, content1, callback) {
@@ -66,13 +66,13 @@ var _default = {
66
66
  request: request
67
67
  };
68
68
  exports.default = _default;
69
- function underwriteAccept(headers, accept) {
69
+ function underwriteAcceptHeader(headers, accept) {
70
70
  var name = _constants.ACCEPT, value = accept; ///
71
71
  (0, _http).underwrite(headers, name, value);
72
72
  }
73
- function underwriteContentType(headers, contentTYpe) {
73
+ function underwriteContentTypeHeader(headers, contentTYpe) {
74
74
  var name = _constants.CONTENT_TYPE, value = contentTYpe; ///
75
75
  (0, _http).underwrite(headers, name, value);
76
76
  }
77
77
 
78
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQUNDRVBULCBDT05URU5UX1RZUEUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSB9IGZyb20gXCIuLi9jb250ZW50VHlwZXNcIjtcbmltcG9ydCB7IHVuZGVyd3JpdGUsIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2h0dHBcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuXG4gIHVuZGVyd3JpdGVBY2NlcHQoaGVhZGVycywgYWNjZXB0KTtcblxuICByZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY29udGVudCwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gY29udGVudDtcbiAgICBjb250ZW50ID0gaGVhZGVycztcbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEU7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdChoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHVuZGVyd3JpdGVDb250ZW50VHlwZShoZWFkZXJzLCBjb250ZW50VHlwZSk7XG5cbiAgcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBjb25zdCB1cmwgPSB1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5KGhvc3QsIHVyaSwgcXVlcnkpLFxuICAgICAgICBhY2NlcHQgPSBoZWFkZXJzW0FDQ0VQVF0gfHwgbnVsbCxcbiAgICAgICAgY29udGVudFR5cGUgPSBoZWFkZXJzW0NPTlRFTlRfVFlQRV0gfHwgbnVsbCxcbiAgICAgICAgeG1sSHR0cFJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICBpZiAoY29udGVudFR5cGUgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgY29uc3QganNvbiA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG5cbiAgICBjb250ZW50ID0ganNvblN0cmluZzsgIC8vL1xuICB9XG5cbiAgeG1sSHR0cFJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVhZHlTdGF0ZSwgc3RhdHVzLCByZXNwb25zZSB9ID0geG1sSHR0cFJlcXVlc3QsXG4gICAgICAgICAgc3RhdHVzQ29kZSA9IHN0YXR1cztcblxuICAgIGlmIChyZWFkeVN0YXRlID09IDQpIHtcbiAgICAgIGxldCBjb250ZW50ID0gcmVzcG9uc2U7XG5cbiAgICAgIGlmIChhY2NlcHQgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcblxuICAgICAgICAgIGNvbnRlbnQgPSBqc29uOyAgLy8vXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soY29udGVudCwgc3RhdHVzQ29kZSk7XG4gICAgfVxuICB9O1xuXG4gIHhtbEh0dHBSZXF1ZXN0Lm9wZW4obWV0aG9kLCB1cmwpO1xuXG4gIGlmIChhY2NlcHQgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKEFDQ0VQVCwgYWNjZXB0KTtcbiAgfVxuXG4gIGlmIChjb250ZW50VHlwZSAhPT0gbnVsbCkge1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoQ09OVEVOVF9UWVBFLCBjb250ZW50VHlwZSk7XG4gIH1cblxuICAoY29udGVudCAhPT0gbnVsbCkgP1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoY29udGVudCkgOlxuICAgICAgeG1sSHR0cFJlcXVlc3Quc2VuZCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldCxcbiAgcG9zdCxcbiAgcmVxdWVzdFxufVxuXG5mdW5jdGlvbiB1bmRlcndyaXRlQWNjZXB0KGhlYWRlcnMsIGFjY2VwdCkge1xuICBjb25zdCBuYW1lID0gQUNDRVBULCAgLy8vXG4gICAgICAgIHZhbHVlID0gYWNjZXB0OyAvLy9cblxuICB1bmRlcndyaXRlKGhlYWRlcnMsIG5hbWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUNvbnRlbnRUeXBlKGhlYWRlcnMsIGNvbnRlbnRUWXBlKSB7XG4gIGNvbnN0IG5hbWUgPSBDT05URU5UX1RZUEUsICAvLy9cbiAgICAgICAgdmFsdWUgPSBjb250ZW50VFlwZTsgLy8vXG5cbiAgdW5kZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSk7XG59XG4iXSwibmFtZXMiOlsiZ2V0IiwicG9zdCIsInJlcXVlc3QiLCJob3N0IiwidXJpIiwicXVlcnkiLCJoZWFkZXJzIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJtZXRob2QiLCJhY2NlcHQiLCJjb250ZW50IiwidW5kZXJ3cml0ZUFjY2VwdCIsImNvbnRlbnRUeXBlIiwidW5kZXJ3cml0ZUNvbnRlbnRUeXBlIiwidXJsIiwieG1sSHR0cFJlcXVlc3QiLCJYTUxIdHRwUmVxdWVzdCIsImpzb24iLCJqc29uU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJzdGF0dXMiLCJyZXNwb25zZSIsInN0YXR1c0NvZGUiLCJwYXJzZSIsImVycm9yIiwib3BlbiIsInNldFJlcXVlc3RIZWFkZXIiLCJzZW5kIiwibmFtZSIsInZhbHVlIiwiY29udGVudFRZcGUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFPSUEsR0FBRyxHQUFIQSxHQUFHO1FBZUhDLElBQUksR0FBSkEsSUFBSTtRQWtCSkMsT0FBTyxHQUFQQSxPQUFPOztBQXRDYyxHQUFjLENBQWQsVUFBYztBQUNYLEdBQVksQ0FBWixRQUFZO0FBQ04sR0FBaUIsQ0FBakIsYUFBaUI7QUFDWixHQUFtQixDQUFuQixLQUFtQjtTQUV0REYsR0FBRyxDQUFDRyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRSxDQUFDO0lBQ3hELEVBQUUsRUFBRUEsUUFBUSxLQUFLQyxTQUFTLEVBQUUsQ0FBQztRQUMzQkQsUUFBUSxHQUFHRCxPQUFPLENBQUUsQ0FB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
78
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQUNDRVBULCBDT05URU5UX1RZUEUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSB9IGZyb20gXCIuLi9jb250ZW50VHlwZXNcIjtcbmltcG9ydCB7IHVuZGVyd3JpdGUsIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2h0dHBcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuXG4gIHVuZGVyd3JpdGVBY2NlcHRIZWFkZXIoaGVhZGVycywgYWNjZXB0KTtcblxuICByZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY29udGVudCwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gY29udGVudDtcbiAgICBjb250ZW50ID0gaGVhZGVycztcbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEU7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdEhlYWRlcihoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHVuZGVyd3JpdGVDb250ZW50VHlwZUhlYWRlcihoZWFkZXJzLCBjb250ZW50VHlwZSk7XG5cbiAgcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBjb25zdCB1cmwgPSB1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5KGhvc3QsIHVyaSwgcXVlcnkpLFxuICAgICAgICBhY2NlcHQgPSBoZWFkZXJzW0FDQ0VQVF0gfHwgbnVsbCxcbiAgICAgICAgY29udGVudFR5cGUgPSBoZWFkZXJzW0NPTlRFTlRfVFlQRV0gfHwgbnVsbCxcbiAgICAgICAgeG1sSHR0cFJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICBpZiAoY29udGVudFR5cGUgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgY29uc3QganNvbiA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG5cbiAgICBjb250ZW50ID0ganNvblN0cmluZzsgIC8vL1xuICB9XG5cbiAgeG1sSHR0cFJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVhZHlTdGF0ZSwgc3RhdHVzLCByZXNwb25zZSB9ID0geG1sSHR0cFJlcXVlc3QsXG4gICAgICAgICAgc3RhdHVzQ29kZSA9IHN0YXR1cztcblxuICAgIGlmIChyZWFkeVN0YXRlID09IDQpIHtcbiAgICAgIGxldCBjb250ZW50ID0gcmVzcG9uc2U7XG5cbiAgICAgIGlmIChhY2NlcHQgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QganNvblN0cmluZyA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICAgICAgICBqc29uID0gSlNPTi5wYXJzZShqc29uU3RyaW5nKTtcblxuICAgICAgICAgIGNvbnRlbnQgPSBqc29uOyAgLy8vXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29udGVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY2FsbGJhY2soY29udGVudCwgc3RhdHVzQ29kZSk7XG4gICAgfVxuICB9O1xuXG4gIHhtbEh0dHBSZXF1ZXN0Lm9wZW4obWV0aG9kLCB1cmwpO1xuXG4gIGlmIChhY2NlcHQgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKEFDQ0VQVCwgYWNjZXB0KTtcbiAgfVxuXG4gIGlmIChjb250ZW50VHlwZSAhPT0gbnVsbCkge1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoQ09OVEVOVF9UWVBFLCBjb250ZW50VHlwZSk7XG4gIH1cblxuICAoY29udGVudCAhPT0gbnVsbCkgP1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoY29udGVudCkgOlxuICAgICAgeG1sSHR0cFJlcXVlc3Quc2VuZCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldCxcbiAgcG9zdCxcbiAgcmVxdWVzdFxufVxuXG5mdW5jdGlvbiB1bmRlcndyaXRlQWNjZXB0SGVhZGVyKGhlYWRlcnMsIGFjY2VwdCkge1xuICBjb25zdCBuYW1lID0gQUNDRVBULCAgLy8vXG4gICAgICAgIHZhbHVlID0gYWNjZXB0OyAvLy9cblxuICB1bmRlcndyaXRlKGhlYWRlcnMsIG5hbWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUNvbnRlbnRUeXBlSGVhZGVyKGhlYWRlcnMsIGNvbnRlbnRUWXBlKSB7XG4gIGNvbnN0IG5hbWUgPSBDT05URU5UX1RZUEUsICAvLy9cbiAgICAgICAgdmFsdWUgPSBjb250ZW50VFlwZTsgLy8vXG5cbiAgdW5kZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSk7XG59XG4iXSwibmFtZXMiOlsiZ2V0IiwicG9zdCIsInJlcXVlc3QiLCJob3N0IiwidXJpIiwicXVlcnkiLCJoZWFkZXJzIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJtZXRob2QiLCJhY2NlcHQiLCJjb250ZW50IiwidW5kZXJ3cml0ZUFjY2VwdEhlYWRlciIsImNvbnRlbnRUeXBlIiwidW5kZXJ3cml0ZUNvbnRlbnRUeXBlSGVhZGVyIiwidXJsIiwieG1sSHR0cFJlcXVlc3QiLCJYTUxIdHRwUmVxdWVzdCIsImpzb24iLCJqc29uU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJzdGF0dXMiLCJyZXNwb25zZSIsInN0YXR1c0NvZGUiLCJwYXJzZSIsImVycm9yIiwib3BlbiIsInNldFJlcXVlc3RIZWFkZXIiLCJzZW5kIiwibmFtZSIsInZhbHVlIiwiY29udGVudFRZcGUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFPSUEsR0FBRyxHQUFIQSxHQUFHO1FBZUhDLElBQUksR0FBSkEsSUFBSTtRQWtCSkMsT0FBTyxHQUFQQSxPQUFPOztBQXRDYyxHQUFjLENBQWQsVUFBYztBQUNYLEdBQVksQ0FBWixRQUFZO0FBQ04sR0FBaUIsQ0FBakIsYUFBaUI7QUFDWixHQUFtQixDQUFuQixLQUFtQjtTQUV0REYsR0FBRyxDQUFDRyxJQUFJLEVBQUVDLEdBQUcsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRSxDQUFDO0lBQ3hELEVBQUUsRUFBRUEsUUFBUSxLQUFLQyxTQUFT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
@@ -14,23 +14,24 @@ var _array = require("../utilities/array");
14
14
  var _constants = require("../constants");
15
15
  var _characters = require("../characters");
16
16
  function overwrite(headers, name, value) {
17
- var ownPropertyNames = Object.getOwnPropertyNames(headers), lowerCaseName = name.toLowerCase(), overwritten = ownPropertyNames.some(function(ownPropertyName) {
18
- var lowerCaseOwnPropertyName = ownPropertyName.toLowerCase();
19
- if (lowerCaseOwnPropertyName === lowerCaseName) {
20
- headers[ownPropertyName] = value;
17
+ var lowerCaseName = name.toLowerCase(), existingNames = Object.getOwnPropertyNames(headers), existingName1 = existingNames.find(function(existingName) {
18
+ var existingLowerCaseName = existingName.toLowerCase();
19
+ if (existingLowerCaseName === lowerCaseName) {
21
20
  return true;
22
21
  }
23
- });
24
- if (!overwritten) {
25
- headers[name] = value;
22
+ }) || null;
23
+ if (existingName1 !== null) {
24
+ headers[existingName1] = value;
26
25
  }
27
26
  }
28
27
  function underwrite(headers, name, value) {
29
- var ownPropertyNames = Object.getOwnPropertyNames(headers), lowercaseName = name.toLowerCase(), lowerCaseOwnPropertyNames = ownPropertyNames.map(function(ownPropertyName) {
30
- var lowerCaseOwnPropertyName = ownPropertyName.toLowerCase();
31
- return lowerCaseOwnPropertyName;
32
- }), lowerCaseOwnPropertyNamesIncludesLowercaseName = lowerCaseOwnPropertyNames.includes(lowercaseName);
33
- if (!lowerCaseOwnPropertyNamesIncludesLowercaseName) {
28
+ var lowerCaseName = name.toLowerCase(), existingNames = Object.getOwnPropertyNames(headers), existingName2 = existingNames.find(function(existingName) {
29
+ var existingLowerCaseName = existingName.toLowerCase();
30
+ if (existingLowerCaseName === lowerCaseName) {
31
+ return true;
32
+ }
33
+ }) || null;
34
+ if (existingName2 === null) {
34
35
  headers[name] = value;
35
36
  }
36
37
  }
@@ -77,4 +78,4 @@ var _default = {
77
78
  };
78
79
  exports.default = _default;
79
80
 
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaHR0cC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgQ09MT05fQ0hBUkFDVEVSLCBBTVBFUlNBTkRfQ0hBUkFDVEVSIH0gZnJvbSBcIi4uL2NoYXJhY3RlcnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIG92ZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSkge1xuICBjb25zdCBvd25Qcm9wZXJ0eU5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoaGVhZGVycyksXG4gICAgICAgIGxvd2VyQ2FzZU5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCksXG4gICAgICAgIG92ZXJ3cml0dGVuID0gb3duUHJvcGVydHlOYW1lcy5zb21lKChvd25Qcm9wZXJ0eU5hbWUpID0+IHtcbiAgICAgICAgICBjb25zdCBsb3dlckNhc2VPd25Qcm9wZXJ0eU5hbWUgPSBvd25Qcm9wZXJ0eU5hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgIGlmIChsb3dlckNhc2VPd25Qcm9wZXJ0eU5hbWUgPT09IGxvd2VyQ2FzZU5hbWUpIHtcbiAgICAgICAgICAgIGhlYWRlcnNbb3duUHJvcGVydHlOYW1lXSA9IHZhbHVlO1xuXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gIGlmICghb3ZlcndyaXR0ZW4pIHtcbiAgICBoZWFkZXJzW25hbWVdID0gdmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuZGVyd3JpdGUoaGVhZGVycywgbmFtZSwgdmFsdWUpIHtcbiAgY29uc3Qgb3duUHJvcGVydHlOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGhlYWRlcnMpLFxuICAgICAgICBsb3dlcmNhc2VOYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICBsb3dlckNhc2VPd25Qcm9wZXJ0eU5hbWVzID0gb3duUHJvcGVydHlOYW1lcy5tYXAoKG93blByb3BlcnR5TmFtZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGxvd2VyQ2FzZU93blByb3BlcnR5TmFtZSA9IG93blByb3BlcnR5TmFtZS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgcmV0dXJuIGxvd2VyQ2FzZU93blByb3BlcnR5TmFtZTtcbiAgICAgICAgfSksXG4gICAgICAgIGxvd2VyQ2FzZU93blByb3BlcnR5TmFtZXNJbmNsdWRlc0xvd2VyY2FzZU5hbWUgPSBsb3dlckNhc2VPd25Qcm9wZXJ0eU5hbWVzLmluY2x1ZGVzKGxvd2VyY2FzZU5hbWUpO1xuXG4gIGlmICghbG93ZXJDYXNlT3duUHJvcGVydHlOYW1lc0luY2x1ZGVzTG93ZXJjYXNlTmFtZSkge1xuICAgIGhlYWRlcnNbbmFtZV0gPSB2YWx1ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9ydEZyb21Ib3N0KGhvc3QpIHtcbiAgbGV0IHBvcnQ7XG5cbiAgY29uc3QgbWF0Y2hlcyA9IGhvc3QubWF0Y2goL15odHRwcz86XFwvXFwvKFteXFwvXSspLyksXG4gICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpLFxuICAgICAgICBpbmRleCA9IHNlY29uZE1hdGNoLmluZGV4T2YoQ09MT05fQ0hBUkFDVEVSKTtcblxuICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgY29uc3Qgc2VjdXJlID0gc2VjdXJlRnJvbUhvc3QoaG9zdCk7XG5cbiAgICBwb3J0ID0gc2VjdXJlID8gNDQzIDogODA7IC8vL1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXggKyAxLFxuICAgICAgICAgIHBvcnRTdHJpbmcgPSBzZWNvbmRNYXRjaC5zdWJzdHJpbmcoc3RhcnQpO1xuXG4gICAgcG9ydCA9IE51bWJlcihwb3J0U3RyaW5nKTtcbiAgfVxuXG4gIHJldHVybiBwb3J0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VjdXJlRnJvbUhvc3QoaG9zdCkge1xuICBjb25zdCBzZWN1cmUgPSAvXmh0dHBzOlxcL1xcLy8udGVzdChob3N0KTtcblxuICByZXR1cm4gc2VjdXJlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaG9zdG5hbWVGcm9tSG9zdChob3N0KSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBob3N0Lm1hdGNoKC9eaHR0cHM/OlxcL1xcLyhbXjpcXC9dKykvKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgIGhvc3RuYW1lID0gc2Vjb25kTWF0Y2g7IC8vL1xuXG4gIHJldHVybiBob3N0bmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5U3RyaW5nRnJvbVF1ZXJ5KHF1ZXJ5KSB7XG4gIGNvbnN0IG5hbWVzID0gT2JqZWN0LmtleXMocXVlcnkpLFxuICAgICAgICBuYW1lc0xlbmd0aCA9IG5hbWVzLmxlbmd0aCxcbiAgICAgICAgbGFzdEluZGV4ID0gbmFtZXNMZW5ndGggLSAxLFxuICAgICAgICBxdWVyeVN0cmluZyA9IG5hbWVzLnJlZHVjZSgocXVlcnlTdHJpbmcsIG5hbWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBxdWVyeVtuYW1lXSxcbiAgICAgICAgICAgICAgICBlbmNvZGVkTmFtZSA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSxcbiAgICAgICAgICAgICAgICBlbmNvZGVkVmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpLFxuICAgICAgICAgICAgICAgIGFtcGVyc2FuZE9yTm90aGluZyA9IChpbmRleCAhPT0gbGFzdEluZGV4KSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTVBFUlNBTkRfQ0hBUkFDVEVSIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU1QVFlfU1RSSU5HO1xuICBcbiAgICAgICAgICBxdWVyeVN0cmluZyArPSBgJHtlbmNvZGVkTmFtZX09JHtlbmNvZGVkVmFsdWV9JHthbXBlcnNhbmRPck5vdGhpbmd9YDtcbiAgXG4gICAgICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICAgICAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBxdWVyeVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkoaG9zdCwgdXJpLCBxdWVyeSkge1xuICBjb25zdCBxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nRnJvbVF1ZXJ5KHF1ZXJ5KSxcbiAgICAgICAgdXJsID0gKHF1ZXJ5U3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgICAgICAgICBgJHtob3N0fSR7dXJpfWAgOlxuICAgICAgICAgICAgICAgICAgYCR7aG9zdH0ke3VyaX0/JHtxdWVyeVN0cmluZ31gO1xuXG4gIHJldHVybiB1cmw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb3ZlcndyaXRlLFxuICB1bmRlcndyaXRlLFxuICBwb3J0RnJvbUhvc3QsXG4gIHNlY3VyZUZyb21Ib3N0LFxuICBob3N0bmFtZUZyb21Ib3N0LFxuICBxdWVyeVN0cmluZ0Zyb21RdWVyeSxcbiAgdXJsRnJvbUhvc3RVUklBbmRRdWVyeVxufTtcbiJdLCJuYW1lcyI6WyJvdmVyd3JpdGUiLCJ1bmRlcndyaXRlIiwicG9ydEZyb21Ib3N0Iiwic2VjdXJlRnJvbUhvc3QiLCJob3N0bmFtZUZyb21Ib3N0IiwicXVlcnlTdHJpbmdGcm9tUXVlcnkiLCJ1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5IiwiaGVhZGVycyIsIm5hbWUiLCJ2YWx1ZSIsIm93blByb3BlcnR5TmFtZXMiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwibG93ZXJDYXNlTmFtZSIsInRvTG93ZXJDYXNlIiwib3ZlcndyaXR0ZW4iLCJzb21lIiwib3duUHJvcGVydHlOYW1lIiwibG93ZXJDYXNlT3duUHJvcGVydHlOYW1lIiwibG93ZXJjYXNlTmFtZSIsImxvd2VyQ2FzZU93blByb3BlcnR5TmFtZXMiLCJtYXAiLCJsb3dlckNhc2VPd25Qcm9wZXJ0eU5hbWVzSW5jbHVkZXNMb3dlcmNhc2VOYW1lIiwiaW5jbHVkZXMiLCJob3N0IiwicG9ydCIsIm1hdGNoZXMiLCJtYXRjaCIsInNlY29uZE1hdGNoIiwiaW5kZXgiLCJpbmRleE9mIiwic2VjdXJlIiwic3RhcnQiLCJwb3J0U3RyaW5nIiwic3Vic3RyaW5nIiwiTnVtYmVyIiwidGVzdCIsImhvc3RuYW1lIiwicXVlcnkiLCJuYW1lcyIsImtleXMiLCJuYW1lc0xlbmd0aCIsImxlbmd0aCIsImxhc3RJbmRleCIsInF1ZXJ5U3RyaW5nIiwicmVkdWNlIiwiZW5jb2RlZE5hbWUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJlbmNvZGVkVmFsdWUiLCJhbXBlcnNhbmRPck5vdGhpbmciLCJ1cmkiLCJ1cmwiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFNSUEsU0FBUyxHQUFUQSxTQUFTO1FBa0JUQyxVQUFVLEdBQVZBLFVBQVU7UUFlVkMsWUFBWSxHQUFaQSxZQUFZO1FBcUJaQyxjQUFjLEdBQWRBLGNBQWM7UUFNZEMsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7UUFRaEJDLG9CQUFvQixHQUFwQkEsb0JBQW9CO1FBb0JwQkMsc0JBQXNCLEdBQXRCQSxzQkFBc0I7O0FBNUZmLEdBQW9CLENBQXBCLE1BQW9CO0FBQ2QsR0FBYyxDQUFkLFVBQWM7QUFDVSxHQUFlLENBQWYsV0FBZTtTQUVwRE4sU0FBUyxDQUFDTyxPQUFPLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFLENBQUM7SUFDL0MsR0FBSyxDQUFDQyxnQkFBZ0IsR0FBR0MsTUFBTSxDQUFDQyxtQkFBbUIsQ0FBQ0wsT0FBTyxHQUNyRE0sYUFBYSxHQUFHTCxJQUFJLENBQUNNLFdBQVcsSUFDaENDLFdBQVcsR0FBR0wsZ0JBQWdCLENBQUNNLElBQUksQ0FBQyxRQUFR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
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvaHR0cC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgc2Vjb25kIH0gZnJvbSBcIi4uL3V0aWxpdGllcy9hcnJheVwiO1xuaW1wb3J0IHsgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgQ09MT05fQ0hBUkFDVEVSLCBBTVBFUlNBTkRfQ0hBUkFDVEVSIH0gZnJvbSBcIi4uL2NoYXJhY3RlcnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIG92ZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSkge1xuICBjb25zdCBsb3dlckNhc2VOYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpLFxuICAgICAgICBleGlzdGluZ05hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoaGVhZGVycyksICAvLy9cbiAgICAgICAgZXhpc3RpbmdOYW1lID0gZXhpc3RpbmdOYW1lcy5maW5kKChleGlzdGluZ05hbWUpID0+IHtcbiAgICAgICAgICBjb25zdCBleGlzdGluZ0xvd2VyQ2FzZU5hbWUgPSBleGlzdGluZ05hbWUudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgIGlmIChleGlzdGluZ0xvd2VyQ2FzZU5hbWUgPT09IGxvd2VyQ2FzZU5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSkgfHwgbnVsbDtcblxuICBpZiAoZXhpc3RpbmdOYW1lICE9PSBudWxsKSB7XG4gICAgaGVhZGVyc1tleGlzdGluZ05hbWVdID0gdmFsdWU7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuZGVyd3JpdGUoaGVhZGVycywgbmFtZSwgdmFsdWUpIHtcbiAgY29uc3QgbG93ZXJDYXNlTmFtZSA9IG5hbWUudG9Mb3dlckNhc2UoKSxcbiAgICAgICAgZXhpc3RpbmdOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGhlYWRlcnMpLCAgLy8vXG4gICAgICAgIGV4aXN0aW5nTmFtZSA9IGV4aXN0aW5nTmFtZXMuZmluZCgoZXhpc3RpbmdOYW1lKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdMb3dlckNhc2VOYW1lID0gZXhpc3RpbmdOYW1lLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICBpZiAoZXhpc3RpbmdMb3dlckNhc2VOYW1lID09PSBsb3dlckNhc2VOYW1lKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pIHx8IG51bGw7XG5cbiAgaWYgKGV4aXN0aW5nTmFtZSA9PT0gbnVsbCkge1xuICAgIGhlYWRlcnNbbmFtZV0gPSB2YWx1ZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9ydEZyb21Ib3N0KGhvc3QpIHtcbiAgbGV0IHBvcnQ7XG5cbiAgY29uc3QgbWF0Y2hlcyA9IGhvc3QubWF0Y2goL15odHRwcz86XFwvXFwvKFteXFwvXSspLyksXG4gICAgICAgIHNlY29uZE1hdGNoID0gc2Vjb25kKG1hdGNoZXMpLFxuICAgICAgICBpbmRleCA9IHNlY29uZE1hdGNoLmluZGV4T2YoQ09MT05fQ0hBUkFDVEVSKTtcblxuICBpZiAoaW5kZXggPT09IC0xKSB7XG4gICAgY29uc3Qgc2VjdXJlID0gc2VjdXJlRnJvbUhvc3QoaG9zdCk7XG5cbiAgICBwb3J0ID0gc2VjdXJlID8gNDQzIDogODA7IC8vL1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHN0YXJ0ID0gaW5kZXggKyAxLFxuICAgICAgICAgIHBvcnRTdHJpbmcgPSBzZWNvbmRNYXRjaC5zdWJzdHJpbmcoc3RhcnQpO1xuXG4gICAgcG9ydCA9IE51bWJlcihwb3J0U3RyaW5nKTtcbiAgfVxuXG4gIHJldHVybiBwb3J0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VjdXJlRnJvbUhvc3QoaG9zdCkge1xuICBjb25zdCBzZWN1cmUgPSAvXmh0dHBzOlxcL1xcLy8udGVzdChob3N0KTtcblxuICByZXR1cm4gc2VjdXJlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaG9zdG5hbWVGcm9tSG9zdChob3N0KSB7XG4gIGNvbnN0IG1hdGNoZXMgPSBob3N0Lm1hdGNoKC9eaHR0cHM/OlxcL1xcLyhbXjpcXC9dKykvKSxcbiAgICAgICAgc2Vjb25kTWF0Y2ggPSBzZWNvbmQobWF0Y2hlcyksXG4gICAgICAgIGhvc3RuYW1lID0gc2Vjb25kTWF0Y2g7IC8vL1xuXG4gIHJldHVybiBob3N0bmFtZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHF1ZXJ5U3RyaW5nRnJvbVF1ZXJ5KHF1ZXJ5KSB7XG4gIGNvbnN0IG5hbWVzID0gT2JqZWN0LmtleXMocXVlcnkpLFxuICAgICAgICBuYW1lc0xlbmd0aCA9IG5hbWVzLmxlbmd0aCxcbiAgICAgICAgbGFzdEluZGV4ID0gbmFtZXNMZW5ndGggLSAxLFxuICAgICAgICBxdWVyeVN0cmluZyA9IG5hbWVzLnJlZHVjZSgocXVlcnlTdHJpbmcsIG5hbWUsIGluZGV4KSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFsdWUgPSBxdWVyeVtuYW1lXSxcbiAgICAgICAgICAgICAgICBlbmNvZGVkTmFtZSA9IGVuY29kZVVSSUNvbXBvbmVudChuYW1lKSxcbiAgICAgICAgICAgICAgICBlbmNvZGVkVmFsdWUgPSBlbmNvZGVVUklDb21wb25lbnQodmFsdWUpLFxuICAgICAgICAgICAgICAgIGFtcGVyc2FuZE9yTm90aGluZyA9IChpbmRleCAhPT0gbGFzdEluZGV4KSA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBTVBFUlNBTkRfQ0hBUkFDVEVSIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRU1QVFlfU1RSSU5HO1xuICBcbiAgICAgICAgICBxdWVyeVN0cmluZyArPSBgJHtlbmNvZGVkTmFtZX09JHtlbmNvZGVkVmFsdWV9JHthbXBlcnNhbmRPck5vdGhpbmd9YDtcbiAgXG4gICAgICAgICAgcmV0dXJuIHF1ZXJ5U3RyaW5nO1xuICAgICAgICB9LCBFTVBUWV9TVFJJTkcpO1xuXG4gIHJldHVybiBxdWVyeVN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkoaG9zdCwgdXJpLCBxdWVyeSkge1xuICBjb25zdCBxdWVyeVN0cmluZyA9IHF1ZXJ5U3RyaW5nRnJvbVF1ZXJ5KHF1ZXJ5KSxcbiAgICAgICAgdXJsID0gKHF1ZXJ5U3RyaW5nID09PSBFTVBUWV9TVFJJTkcpID9cbiAgICAgICAgICAgICAgICBgJHtob3N0fSR7dXJpfWAgOlxuICAgICAgICAgICAgICAgICAgYCR7aG9zdH0ke3VyaX0/JHtxdWVyeVN0cmluZ31gO1xuXG4gIHJldHVybiB1cmw7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb3ZlcndyaXRlLFxuICB1bmRlcndyaXRlLFxuICBwb3J0RnJvbUhvc3QsXG4gIHNlY3VyZUZyb21Ib3N0LFxuICBob3N0bmFtZUZyb21Ib3N0LFxuICBxdWVyeVN0cmluZ0Zyb21RdWVyeSxcbiAgdXJsRnJvbUhvc3RVUklBbmRRdWVyeVxufTtcbiJdLCJuYW1lcyI6WyJvdmVyd3JpdGUiLCJ1bmRlcndyaXRlIiwicG9ydEZyb21Ib3N0Iiwic2VjdXJlRnJvbUhvc3QiLCJob3N0bmFtZUZyb21Ib3N0IiwicXVlcnlTdHJpbmdGcm9tUXVlcnkiLCJ1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5IiwiaGVhZGVycyIsIm5hbWUiLCJ2YWx1ZSIsImxvd2VyQ2FzZU5hbWUiLCJ0b0xvd2VyQ2FzZSIsImV4aXN0aW5nTmFtZXMiLCJPYmplY3QiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwiZXhpc3RpbmdOYW1lIiwiZmluZCIsImV4aXN0aW5nTG93ZXJDYXNlTmFtZSIsImhvc3QiLCJwb3J0IiwibWF0Y2hlcyIsIm1hdGNoIiwic2Vjb25kTWF0Y2giLCJpbmRleCIsImluZGV4T2YiLCJzZWN1cmUiLCJzdGFydCIsInBvcnRTdHJpbmciLCJzdWJzdHJpbmciLCJOdW1iZXIiLCJ0ZXN0IiwiaG9zdG5hbWUiLCJxdWVyeSIsIm5hbWVzIiwia2V5cyIsIm5hbWVzTGVuZ3RoIiwibGVuZ3RoIiwibGFzdEluZGV4IiwicXVlcnlTdHJpbmciLCJyZWR1Y2UiLCJlbmNvZGVkTmFtZSIsImVuY29kZVVSSUNvbXBvbmVudCIsImVuY29kZWRWYWx1ZSIsImFtcGVyc2FuZE9yTm90aGluZyIsInVyaSIsInVybCJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQU1JQSxTQUFTLEdBQVRBLFNBQVM7UUFnQlRDLFVBQVUsR0FBVkEsVUFBVTtRQWdCVkMsWUFBWSxHQUFaQSxZQUFZO1FBcUJaQyxjQUFjLEdBQWRBLGNBQWM7UUFNZEMsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7UUFRaEJDLG9CQUFvQixHQUFwQkEsb0JBQW9CO1FBb0JwQkMsc0JBQXNCLEdBQXRCQSxzQkFBc0I7O0FBM0ZmLEdBQW9CLENBQXBCLE1BQW9CO0FBQ2QsR0FBYyxDQUFkLFVBQWM7QUFDVSxHQUFlLENBQWYsV0FBZTtTQUVwRE4sU0FBUyxDQUFDTyxPQUFPLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFLENBQUM7SUFDL0MsR0FBSyxDQUFDQyxhQUFhLEdBQUdGLElBQUksQ0FBQ0csV0FBVyxJQUNoQ0MsYUFBYSxHQUFHQyxNQUFNLENBQUNDLG1CQUFtQixDQUFDUCxPQUFPLEdBQ2xEUSxhQUFZLEdBQUdILGFBQWEsQ0FBQ0ksSUFBSSxDQUFDLFFBQVEsQ0FBUEQsWUFBWSxFQUFLLENBQUM7UUFDbkQsR0FBSyxDQUFDRSxxQkFBcUIsR0FBR0YsWUFBWSxDQUFDSixXQUFXO1FBRXRELEVBQUUsRUFBRU0scUJBQXFCLEtBQUtQLGFBQWEsRUFBRSxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxJQUFJO1FBQ2IsQ0FBQztJQUNILENBQUMsS0FBSyxJQUFJO0lBRWhCLEVBQUUsRUFBRUssYUFBWSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzFCUixPQUFPLENBQUNRLGFBQVksSUFBSU4sS0FBSztJQUMvQixDQUFDO0FBQ0gsQ0FBQztTQUVlUixV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
@@ -102,7 +102,7 @@ function hiddenInput(answer, description, encoding, callback) {
102
102
  answer += character;
103
103
  break;
104
104
  case _characters.ETX_CHARACTER:
105
- console.log(_constants.CTRL_C);
105
+ console.log(CTRL_C);
106
106
  process.exit();
107
107
  }
108
108
  }
@@ -120,4 +120,4 @@ function visibleInput(answer2, description, encoding, callback) {
120
120
  process.stdin.resume();
121
121
  }
122
122
 
123
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2hlbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHdoaWxzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmltcG9ydCB7IERBVEFfRVZFTlRfVFlQRSB9IGZyb20gXCIuLi9ldmVudFR5cGVzXCI7XG5pbXBvcnQgeyBVVEY4LCBDVFJMX0MsIEVNUFRZX1NUUklORyB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IERFRkFVTFRfRU5DT0RJTkcsIERFRkFVTFRfQVRURU1QVFMsIERFRkFVTFRfSU5JVElBTF9BTlNXRVIgfSBmcm9tIFwiLi4vZGVmYXVsdHNcIjtcbmltcG9ydCB7IEVUWF9DSEFSQUNURVIsIEJBQ0tTUEFDRV9DSEFSQUNURVIsIExJTkVfRkVFRF9DSEFSQUNURVIsIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgfSBmcm9tIFwiLi4vY2hhcmFjdGVyc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gb25FVFgoaGFuZGxlcikge1xuICBpZiAocHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKSB7XG4gICAgY29uc3QgcmF3TW9kZSA9IHRydWUsXG4gICAgICAgICAgZW5jb2RpbmcgPSBVVEY4O1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRSYXdNb2RlKHJhd01vZGUpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5zZXRFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgICBwcm9jZXNzLnN0ZGluLmFkZExpc3RlbmVyKERBVEFfRVZFTlRfVFlQRSwgZGF0YUhhbmRsZXIpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTtcblxuICAgIHJldHVybiBvZmZFeHQ7XG4gIH1cblxuICBmdW5jdGlvbiBvZmZFeHQoKSB7XG4gICAgcHJvY2Vzcy5zdGRpbi5yZW1vdmVMaXN0ZW5lcihEQVRBX0VWRU5UX1RZUEUsIGRhdGFIYW5kbGVyKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGRhdGFIYW5kbGVyKGNoYXJhY3Rlcikge1xuICAgIGlmIChjaGFyYWN0ZXIgPT09IEVUWF9DSEFSQUNURVIpIHtcbiAgICAgIGhhbmRsZXIoKTtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHByb21wdChvcHRpb25zLCBjYWxsYmFjaykge1xuICBsZXQgeyBhbnN3ZXIgPSBudWxsIH0gPSBvcHRpb25zO1xuXG4gIGlmIChhbnN3ZXIgIT09IG51bGwpIHtcbiAgICBjYWxsYmFjayhhbnN3ZXIpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyBhdHRlbXB0cyA9IERFRkFVTFRfQVRURU1QVFMgfSA9IG9wdGlvbnMsXG4gICAgICAgIGNvbnRleHQgPSB7XG4gICAgICAgICAgYW5zd2VyLFxuICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgYXR0ZW1wdHNcbiAgICAgICAgfTtcblxuICB3aGlsc3QoYXR0ZW1wdCwgKCkgPT4ge1xuICAgIGNvbnN0IHsgYW5zd2VyIH0gPSBjb250ZXh0O1xuICAgIFxuICAgIGNhbGxiYWNrKGFuc3dlcik7XG4gIH0sIGNvbnRleHQpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIG9uRVRYLFxuICBwcm9tcHRcbn1cblxuZnVuY3Rpb24gYXR0ZW1wdChuZXh0LCBkb25lLCBjb250ZXh0KSB7XG4gIGxldCB7IGF0dGVtcHRzIH0gPSBjb250ZXh0O1xuXG4gIGNvbnN0IHRlcm1pbmF0ZSA9IChhdHRlbXB0cy0tID09PSAwKTtcbiAgXG4gIGlmICh0ZXJtaW5hdGUpIHtcbiAgICBkb25lKCk7XG4gICAgXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyBvcHRpb25zIH0gPSBjb250ZXh0LFxuICAgICAgICB7IGhpZGRlbiA9IGZhbHNlLFxuICAgICAgICAgIGVuY29kaW5nID0gREVGQVVMVF9FTkNPRElORyxcbiAgICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgICBlcnJvck1lc3NhZ2UsXG4gICAgICAgICAgaW5pdGlhbEFuc3dlciA9IERFRkFVTFRfSU5JVElBTF9BTlNXRVIsXG4gICAgICAgICAgdmFsaWRhdGlvblBhdHRlcm4gPSBudWxsLFxuICAgICAgICAgIHZhbGlkYXRpb25GdW5jdGlvbiA9IG51bGwgfSA9IG9wdGlvbnM7XG5cbiAgaW5wdXQoaW5pdGlhbEFuc3dlciwgaGlkZGVuLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKTtcblxuICBmdW5jdGlvbiBjYWxsYmFjayhhbnN3ZXIpIHtcbiAgICBjb25zdCB2YWxpZCA9IHZhbGlkYXRpb25GdW5jdGlvbiA/ICAvLy9cbiAgICAgICAgICAgICAgICAgICAgdmFsaWRhdGlvbkZ1bmN0aW9uKGFuc3dlcikgOlxuICAgICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25QYXR0ZXJuLnRlc3QoYW5zd2VyKTtcblxuICAgIGlmICh2YWxpZCkge1xuICAgICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICAgIGFuc3dlclxuICAgICAgfSk7XG5cbiAgICAgIGRvbmUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc29sZS5sb2coZXJyb3JNZXNzYWdlKTtcblxuICAgICAgT2JqZWN0LmFzc2lnbihjb250ZXh0LCB7XG4gICAgICAgIGF0dGVtcHRzXG4gICAgICB9KTtcblxuICAgICAgbmV4dCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnB1dChpbml0aWFsQW5zd2VyLCBoaWRkZW4sIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spIHtcbiAgY29uc3QgYW5zd2VyID0gaW5pdGlhbEFuc3dlcjsgLy8vXG5cbiAgaGlkZGVuID9cbiAgICBoaWRkZW5JbnB1dChhbnN3ZXIsIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spIDpcbiAgICAgIHZpc2libGVJbnB1dChhbnN3ZXIsIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBoaWRkZW5JbnB1dChhbnN3ZXIsIGRlc2NyaXB0aW9uLCBlbmNvZGluZywgY2FsbGJhY2spIHtcbiAgY29uc3QgcmF3TW9kZSA9IHRydWU7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoZGVzY3JpcHRpb24pO1xuXG4gIHByb2Nlc3Muc3RkaW4uc2V0RW5jb2RpbmcoZW5jb2RpbmcpO1xuXG4gIHByb2Nlc3Muc3RkaW4uc2V0UmF3TW9kZShyYXdNb2RlKTtcblxuICBwcm9jZXNzLnN0ZGluLm9uKERBVEFfRVZFTlRfVFlQRSwgbGlzdGVuZXIpO1xuXG4gIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgZnVuY3Rpb24gbGlzdGVuZXIoZGF0YSkge1xuICAgIGNvbnN0IGNoYXJhY3RlciA9IGRhdGEudG9TdHJpbmcoZW5jb2RpbmcpO1xuXG4gICAgc3dpdGNoIChjaGFyYWN0ZXIpIHtcbiAgICAgIGNhc2UgTElORV9GRUVEX0NIQVJBQ1RFUiA6XG4gICAgICBjYXNlIENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgOlxuICAgICAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShMSU5FX0ZFRURfQ0hBUkFDVEVSKTtcblxuICAgICAgICBwcm9jZXNzLnN0ZGluLnJlbW92ZUxpc3RlbmVyKERBVEFfRVZFTlRfVFlQRSwgbGlzdGVuZXIpO1xuXG4gICAgICAgIHByb2Nlc3Muc3RkaW4ucGF1c2UoKTtcblxuICAgICAgICBjYWxsYmFjayhhbnN3ZXIpO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEJBQ0tTUEFDRV9DSEFSQUNURVIgOlxuICAgICAgICBhbnN3ZXIgPSBhbnN3ZXIuc2xpY2UoMCwgYW5zd2VyLmxlbmd0aCAtIDEpO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBhbnN3ZXIgKz0gY2hhcmFjdGVyO1xuXG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIEVUWF9DSEFSQUNURVIgOlxuICAgICAgICBjb25zb2xlLmxvZyhDVFJMX0MpO1xuXG4gICAgICAgIHByb2Nlc3MuZXhpdCgpO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiB2aXNpYmxlSW5wdXQoYW5zd2VyLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGRlc2NyaXB0aW9uKTtcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZShhbnN3ZXIpO1xuXG4gIHByb2Nlc3Muc3RkaW4uc2V0RW5jb2RpbmcoZW5jb2RpbmcpO1xuXG4gIHByb2Nlc3Muc3RkaW4ub25jZShEQVRBX0VWRU5UX1RZUEUsIGxpc3RlbmVyKTtcblxuICBwcm9jZXNzLnN0ZGluLnJlc3VtZSgpO1xuXG4gIGZ1bmN0aW9uIGxpc3RlbmVyKGRhdGEpIHtcbiAgICBjb25zdCBhbnN3ZXIgPSBkYXRhLnJlcGxhY2UoL1xcbiQvLCBFTVBUWV9TVFJJTkcpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5wYXVzZSgpO1xuXG4gICAgY2FsbGJhY2soYW5zd2VyKTtcbiAgfVxufVxuIl0sIm5hbWVzIjpbIm9uRVRYIiwicHJvbXB0IiwiaGFuZGxlciIsIm9mZkV4dCIsInByb2Nlc3MiLCJzdGRpbiIsInJlbW92ZUxpc3RlbmVyIiwiZGF0YUhhbmRsZXIiLCJjaGFyYWN0ZXIiLCJzZXRSYXdNb2RlIiwicmF3TW9kZSIsImVuY29kaW5nIiwic2V0RW5jb2RpbmciLCJhZGRMaXN0ZW5lciIsInJlc3VtZSIsIm9wdGlvbnMiLCJjYWxsYmFjayIsImFuc3dlciIsImF0dGVtcHRzIiwiY29udGV4dCIsImF0dGVtcHQiLCJuZXh0IiwiZG9uZSIsInZhbGlkIiwidmFsaWRhdGlvbkZ1bmN0aW9uIiwidmFsaWRhdGlvblBhdHRlcm4iLCJ0ZXN0IiwiT2JqZWN0IiwiYXNzaWduIiwiY29uc29sZSIsImxvZyIsImVycm9yTWVzc2FnZSIsInRlcm1pbmF0ZSIsImhpZGRlbiIsImRlc2NyaXB0aW9uIiwiaW5pdGlhbEFuc3dlciIsImlucHV0IiwiaGlkZGVuSW5wdXQiLCJ2aXNpYmxlSW5wdXQiLCJzdGRvdXQiLCJ3cml0ZSIsIm9uIiwibGlzdGVuZXIiLCJkYXRhIiwidG9TdHJpbmciLCJwYXVzZSIsInNsaWNlIiwibGVuZ3RoIiwiZXhpdCIsInJlcGxhY2UiLCJvbmNlIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7O1FBU0lBLEtBQUssR0FBTEEsS0FBSztRQTJCTEMsTUFBTSxHQUFOQSxNQUFNOztBQWxDQyxHQUEyQixDQUEzQixhQUEyQjtBQUVsQixHQUFlLENBQWYsV0FBZTtBQUNKLEdBQWMsQ0FBZCxVQUFjO0FBQ2tCLEdBQWEsQ0FBYixTQUFhO0FBQ1csR0FBZSxDQUFmLFdBQWU7U0FFbEdELEtBQUssQ0FBQ0UsT0FBTyxFQUFFLENBQUM7UUFnQnJCQyxNQUFNLEdBQWYsUUFBUSxDQUFDQSxNQUFNLEdBQUcsQ0FBQztRQUNqQkMsT0FBTyxDQUFDQyxLQUFLLENBQUNDLGNBQWMsQ0F0QkEsV0FBZSxrQkFzQkdDLFdBQVc7SUFDM0QsQ0FBQztRQUVRQSxXQUFXLEdBQXBCLFFBQVEsQ0FBQ0EsV0FBVyxDQUFDQyxTQUFTLEVBQUUsQ0FBQztRQUMvQixFQUFFLEVBQUVBLFNBQVMsS0F2QmtGLFdBQWUsZ0JBdUI3RSxDQUFDO1lBQ2hDTixPQUFPO1FBQ1QsQ0FBQztJQUNILENBQUM7SUF2QkQsRUFBRSxFQUFFRSxPQUFPLENBQUNDLEtBQUssQ0FBQ0ksVUFBVSxFQUFFLENBQUM7UUFDN0IsR0FBSyxDQUFDQyxPQUFPLEdBQUcsSUFBSSxFQUNkQyxRQUFRLEdBUHlCLFVBQWM7UUFTckRQLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDSSxVQUFVLENBQUNDLE9BQU87UUFFaENOLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDTyxXQUFXLENBQUNELFFBQVE7UUFFbENQLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDUSxXQUFXLENBZEcsV0FBZSxrQkFjQU4sV0FBVztRQUV0REgsT0FBTyxDQUFDQyxLQUFLLENBQUNTLE1BQU07UUFFcEIsTUFBTSxDQUFDWCxNQUFNO0lBQ2YsQ0FBQztBQVdILENBQUM7U0FFZUYsTUFBTSxDQUFDYyxPQUFP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
123
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2hlbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmltcG9ydCB7IHdoaWxzdCB9IGZyb20gXCIuLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmltcG9ydCB7IERBVEFfRVZFTlRfVFlQRSB9IGZyb20gXCIuLi9ldmVudFR5cGVzXCI7XG5pbXBvcnQgeyBVVEY4LCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBERUZBVUxUX0VOQ09ESU5HLCBERUZBVUxUX0FUVEVNUFRTLCBERUZBVUxUX0lOSVRJQUxfQU5TV0VSIH0gZnJvbSBcIi4uL2RlZmF1bHRzXCI7XG5pbXBvcnQgeyBFVFhfQ0hBUkFDVEVSLCBDVFJMX0NfQ0hBUkFDVEVSLCBCQUNLU1BBQ0VfQ0hBUkFDVEVSLCBMSU5FX0ZFRURfQ0hBUkFDVEVSLCBDQVJSSUFHRV9SRVRVUk5fQ0hBUkFDVEVSIH0gZnJvbSBcIi4uL2NoYXJhY3RlcnNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIG9uRVRYKGhhbmRsZXIpIHtcbiAgaWYgKHByb2Nlc3Muc3RkaW4uc2V0UmF3TW9kZSkge1xuICAgIGNvbnN0IHJhd01vZGUgPSB0cnVlLFxuICAgICAgICAgIGVuY29kaW5nID0gVVRGODtcblxuICAgIHByb2Nlc3Muc3RkaW4uc2V0UmF3TW9kZShyYXdNb2RlKTtcblxuICAgIHByb2Nlc3Muc3RkaW4uc2V0RW5jb2RpbmcoZW5jb2RpbmcpO1xuXG4gICAgcHJvY2Vzcy5zdGRpbi5hZGRMaXN0ZW5lcihEQVRBX0VWRU5UX1RZUEUsIGRhdGFIYW5kbGVyKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucmVzdW1lKCk7XG5cbiAgICByZXR1cm4gb2ZmRXh0O1xuICB9XG5cbiAgZnVuY3Rpb24gb2ZmRXh0KCkge1xuICAgIHByb2Nlc3Muc3RkaW4ucmVtb3ZlTGlzdGVuZXIoREFUQV9FVkVOVF9UWVBFLCBkYXRhSGFuZGxlcik7XG4gIH1cblxuICBmdW5jdGlvbiBkYXRhSGFuZGxlcihjaGFyYWN0ZXIpIHtcbiAgICBpZiAoY2hhcmFjdGVyID09PSBFVFhfQ0hBUkFDVEVSKSB7XG4gICAgICBoYW5kbGVyKCk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9tcHQob3B0aW9ucywgY2FsbGJhY2spIHtcbiAgbGV0IHsgYW5zd2VyID0gbnVsbCB9ID0gb3B0aW9ucztcblxuICBpZiAoYW5zd2VyICE9PSBudWxsKSB7XG4gICAgY2FsbGJhY2soYW5zd2VyKTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgYXR0ZW1wdHMgPSBERUZBVUxUX0FUVEVNUFRTIH0gPSBvcHRpb25zLFxuICAgICAgICBjb250ZXh0ID0ge1xuICAgICAgICAgIGFuc3dlcixcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIGF0dGVtcHRzXG4gICAgICAgIH07XG5cbiAgd2hpbHN0KGF0dGVtcHQsICgpID0+IHtcbiAgICBjb25zdCB7IGFuc3dlciB9ID0gY29udGV4dDtcbiAgICBcbiAgICBjYWxsYmFjayhhbnN3ZXIpO1xuICB9LCBjb250ZXh0KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBvbkVUWCxcbiAgcHJvbXB0XG59XG5cbmZ1bmN0aW9uIGF0dGVtcHQobmV4dCwgZG9uZSwgY29udGV4dCkge1xuICBsZXQgeyBhdHRlbXB0cyB9ID0gY29udGV4dDtcblxuICBjb25zdCB0ZXJtaW5hdGUgPSAoYXR0ZW1wdHMtLSA9PT0gMCk7XG4gIFxuICBpZiAodGVybWluYXRlKSB7XG4gICAgZG9uZSgpO1xuICAgIFxuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgb3B0aW9ucyB9ID0gY29udGV4dCxcbiAgICAgICAgeyBoaWRkZW4gPSBmYWxzZSxcbiAgICAgICAgICBlbmNvZGluZyA9IERFRkFVTFRfRU5DT0RJTkcsXG4gICAgICAgICAgZGVzY3JpcHRpb24sXG4gICAgICAgICAgZXJyb3JNZXNzYWdlLFxuICAgICAgICAgIGluaXRpYWxBbnN3ZXIgPSBERUZBVUxUX0lOSVRJQUxfQU5TV0VSLFxuICAgICAgICAgIHZhbGlkYXRpb25QYXR0ZXJuID0gbnVsbCxcbiAgICAgICAgICB2YWxpZGF0aW9uRnVuY3Rpb24gPSBudWxsIH0gPSBvcHRpb25zO1xuXG4gIGlucHV0KGluaXRpYWxBbnN3ZXIsIGhpZGRlbiwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjayk7XG5cbiAgZnVuY3Rpb24gY2FsbGJhY2soYW5zd2VyKSB7XG4gICAgY29uc3QgdmFsaWQgPSB2YWxpZGF0aW9uRnVuY3Rpb24gPyAgLy8vXG4gICAgICAgICAgICAgICAgICAgIHZhbGlkYXRpb25GdW5jdGlvbihhbnN3ZXIpIDpcbiAgICAgICAgICAgICAgICAgICAgICB2YWxpZGF0aW9uUGF0dGVybi50ZXN0KGFuc3dlcik7XG5cbiAgICBpZiAodmFsaWQpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgICBhbnN3ZXJcbiAgICAgIH0pO1xuXG4gICAgICBkb25lKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnNvbGUubG9nKGVycm9yTWVzc2FnZSk7XG5cbiAgICAgIE9iamVjdC5hc3NpZ24oY29udGV4dCwge1xuICAgICAgICBhdHRlbXB0c1xuICAgICAgfSk7XG5cbiAgICAgIG5leHQoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5wdXQoaW5pdGlhbEFuc3dlciwgaGlkZGVuLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFuc3dlciA9IGluaXRpYWxBbnN3ZXI7IC8vL1xuXG4gIGhpZGRlbiA/XG4gICAgaGlkZGVuSW5wdXQoYW5zd2VyLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKSA6XG4gICAgICB2aXNpYmxlSW5wdXQoYW5zd2VyLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKTtcbn1cblxuZnVuY3Rpb24gaGlkZGVuSW5wdXQoYW5zd2VyLCBkZXNjcmlwdGlvbiwgZW5jb2RpbmcsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHJhd01vZGUgPSB0cnVlO1xuXG4gIHByb2Nlc3Muc3Rkb3V0LndyaXRlKGRlc2NyaXB0aW9uKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldEVuY29kaW5nKGVuY29kaW5nKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldFJhd01vZGUocmF3TW9kZSk7XG5cbiAgcHJvY2Vzcy5zdGRpbi5vbihEQVRBX0VWRU5UX1RZUEUsIGxpc3RlbmVyKTtcblxuICBwcm9jZXNzLnN0ZGluLnJlc3VtZSgpO1xuXG4gIGZ1bmN0aW9uIGxpc3RlbmVyKGRhdGEpIHtcbiAgICBjb25zdCBjaGFyYWN0ZXIgPSBkYXRhLnRvU3RyaW5nKGVuY29kaW5nKTtcblxuICAgIHN3aXRjaCAoY2hhcmFjdGVyKSB7XG4gICAgICBjYXNlIExJTkVfRkVFRF9DSEFSQUNURVIgOlxuICAgICAgY2FzZSBDQVJSSUFHRV9SRVRVUk5fQ0hBUkFDVEVSIDpcbiAgICAgICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoTElORV9GRUVEX0NIQVJBQ1RFUik7XG5cbiAgICAgICAgcHJvY2Vzcy5zdGRpbi5yZW1vdmVMaXN0ZW5lcihEQVRBX0VWRU5UX1RZUEUsIGxpc3RlbmVyKTtcblxuICAgICAgICBwcm9jZXNzLnN0ZGluLnBhdXNlKCk7XG5cbiAgICAgICAgY2FsbGJhY2soYW5zd2VyKTtcblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBCQUNLU1BBQ0VfQ0hBUkFDVEVSIDpcbiAgICAgICAgYW5zd2VyID0gYW5zd2VyLnNsaWNlKDAsIGFuc3dlci5sZW5ndGggLSAxKTtcblxuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgICAgYW5zd2VyICs9IGNoYXJhY3RlcjtcblxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBFVFhfQ0hBUkFDVEVSIDpcbiAgICAgICAgY29uc29sZS5sb2coQ1RSTF9DKTtcblxuICAgICAgICBwcm9jZXNzLmV4aXQoKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gdmlzaWJsZUlucHV0KGFuc3dlciwgZGVzY3JpcHRpb24sIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICBwcm9jZXNzLnN0ZG91dC53cml0ZShkZXNjcmlwdGlvbik7XG5cbiAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYW5zd2VyKTtcblxuICBwcm9jZXNzLnN0ZGluLnNldEVuY29kaW5nKGVuY29kaW5nKTtcblxuICBwcm9jZXNzLnN0ZGluLm9uY2UoREFUQV9FVkVOVF9UWVBFLCBsaXN0ZW5lcik7XG5cbiAgcHJvY2Vzcy5zdGRpbi5yZXN1bWUoKTtcblxuICBmdW5jdGlvbiBsaXN0ZW5lcihkYXRhKSB7XG4gICAgY29uc3QgYW5zd2VyID0gZGF0YS5yZXBsYWNlKC9cXG4kLywgRU1QVFlfU1RSSU5HKTtcblxuICAgIHByb2Nlc3Muc3RkaW4ucGF1c2UoKTtcblxuICAgIGNhbGxiYWNrKGFuc3dlcik7XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJvbkVUWCIsInByb21wdCIsImhhbmRsZXIiLCJvZmZFeHQiLCJwcm9jZXNzIiwic3RkaW4iLCJyZW1vdmVMaXN0ZW5lciIsImRhdGFIYW5kbGVyIiwiY2hhcmFjdGVyIiwic2V0UmF3TW9kZSIsInJhd01vZGUiLCJlbmNvZGluZyIsInNldEVuY29kaW5nIiwiYWRkTGlzdGVuZXIiLCJyZXN1bWUiLCJvcHRpb25zIiwiY2FsbGJhY2siLCJhbnN3ZXIiLCJhdHRlbXB0cyIsImNvbnRleHQiLCJhdHRlbXB0IiwibmV4dCIsImRvbmUiLCJ2YWxpZCIsInZhbGlkYXRpb25GdW5jdGlvbiIsInZhbGlkYXRpb25QYXR0ZXJuIiwidGVzdCIsIk9iamVjdCIsImFzc2lnbiIsImNvbnNvbGUiLCJsb2ciLCJlcnJvck1lc3NhZ2UiLCJ0ZXJtaW5hdGUiLCJoaWRkZW4iLCJkZXNjcmlwdGlvbiIsImluaXRpYWxBbnN3ZXIiLCJpbnB1dCIsImhpZGRlbklucHV0IiwidmlzaWJsZUlucHV0Iiwic3Rkb3V0Iiwid3JpdGUiLCJvbiIsImxpc3RlbmVyIiwiZGF0YSIsInRvU3RyaW5nIiwicGF1c2UiLCJzbGljZSIsImxlbmd0aCIsIkNUUkxfQyIsImV4aXQiLCJyZXBsYWNlIiwib25jZSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQVNJQSxLQUFLLEdBQUxBLEtBQUs7UUEyQkxDLE1BQU0sR0FBTkEsTUFBTTs7QUFsQ0MsR0FBMkIsQ0FBM0IsYUFBMkI7QUFFbEIsR0FBZSxDQUFmLFdBQWU7QUFDWixHQUFjLENBQWQsVUFBYztBQUMwQixHQUFhLENBQWIsU0FBYTtBQUM2QixHQUFlLENBQWYsV0FBZTtTQUVwSEQsS0FBSyxDQUFDRSxPQUFPLEVBQUUsQ0FBQztRQWdCckJDLE1BQU0sR0FBZixRQUFRLENBQUNBLE1BQU0sR0FBRyxDQUFDO1FBQ2pCQyxPQUFPLENBQUNDLEtBQUssQ0FBQ0MsY0FBYyxDQXRCQSxXQUFlLGtCQXNCR0MsV0FBVztJQUMzRCxDQUFDO1FBRVFBLFdBQVcsR0FBcEIsUUFBUSxDQUFDQSxXQUFXLENBQUNDLFNBQVMsRUFBRSxDQUFDO1FBQy9CLEVBQUUsRUFBRUEsU0FBUyxLQXZCb0csV0FBZSxnQkF1Qi9GLENBQUM7WUFDaENOLE9BQU87UUFDVCxDQUFDO0lBQ0gsQ0FBQztJQXZCRCxFQUFFLEVBQUVFLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDSSxVQUFVLEVBQUUsQ0FBQztRQUM3QixHQUFLLENBQUNDLE9BQU8sR0FBRyxJQUFJLEVBQ2RDLFFBQVEsR0FQaUIsVUFBYztRQVM3Q1AsT0FBTyxDQUFDQyxLQUFLLENBQUNJLFVBQVUsQ0FBQ0MsT0FBTztRQUVoQ04sT0FBTyxDQUFDQyxLQUFLLENBQUNPLFdBQVcsQ0FBQ0QsUUFBUTtRQUVsQ1AsT0FBTyxDQUFDQyxLQUFLLENBQUNRLFdBQVcsQ0FkRyxXQUFlLGtCQWNBTixXQUFXO1FBRXRESCxPQUFPLENBQUNDLEtBQUssQ0FBQ1MsTUFBTTtRQUVwQixNQUFNLENBQUNYLE1BQU07SUFDZixDQUFDO0FBV0gsQ0FBQztT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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "necessary",
3
3
  "author": "James Smith",
4
- "version": "11.0.2",
4
+ "version": "11.0.3",
5
5
  "license": "MIT, Anti-996",
6
6
  "homepage": "https://github.com/djalbat/necessary",
7
7
  "description": "A collection of utility functions.",
package/src/characters.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  export const ETX_CHARACTER = "\u0003";
4
4
  export const COLON_CHARACTER = ":";
5
+ export const CTRL_C_CHARACTER = "^C";
5
6
  export const AMPERSAND_CHARACTER = "&";
6
7
  export const LINE_FEED_CHARACTER = "\n";
7
8
  export const BACKSPACE_CHARACTER = String.fromCharCode(127);
package/src/constants.js CHANGED
@@ -2,7 +2,6 @@
2
2
 
3
3
  export const UTF8 = "utf8";
4
4
  export const ERROR = "error";
5
- export const CTRL_C = "^C";
6
5
  export const STRING = "string";
7
6
  export const ACCEPT = "accept";
8
7
  export const NUMBER = "number";
@@ -15,7 +15,7 @@ export function get(host, uri, query, headers, callback) {
15
15
  accept = APPLICATION_JSON_CONTENT_TYPE,
16
16
  content = null;
17
17
 
18
- underwriteAccept(headers, accept);
18
+ underwriteAcceptHeader(headers, accept);
19
19
 
20
20
  request(host, uri, query, method, headers, content, callback);
21
21
  }
@@ -31,9 +31,9 @@ export function post(host, uri, query, headers, content, callback) {
31
31
  accept = APPLICATION_JSON_CONTENT_TYPE,
32
32
  contentType = APPLICATION_JSON_CONTENT_TYPE;
33
33
 
34
- underwriteAccept(headers, accept);
34
+ underwriteAcceptHeader(headers, accept);
35
35
 
36
- underwriteContentType(headers, contentType);
36
+ underwriteContentTypeHeader(headers, contentType);
37
37
 
38
38
  request(host, uri, query, method, headers, content, callback);
39
39
  }
@@ -94,14 +94,14 @@ export default {
94
94
  request
95
95
  }
96
96
 
97
- function underwriteAccept(headers, accept) {
97
+ function underwriteAcceptHeader(headers, accept) {
98
98
  const name = ACCEPT, ///
99
99
  value = accept; ///
100
100
 
101
101
  underwrite(headers, name, value);
102
102
  }
103
103
 
104
- function underwriteContentType(headers, contentTYpe) {
104
+ function underwriteContentTypeHeader(headers, contentTYpe) {
105
105
  const name = CONTENT_TYPE, ///
106
106
  value = contentTYpe; ///
107
107
 
@@ -5,34 +5,33 @@ import { EMPTY_STRING } from "../constants";
5
5
  import { COLON_CHARACTER, AMPERSAND_CHARACTER } from "../characters";
6
6
 
7
7
  export function overwrite(headers, name, value) {
8
- const ownPropertyNames = Object.getOwnPropertyNames(headers),
9
- lowerCaseName = name.toLowerCase(),
10
- overwritten = ownPropertyNames.some((ownPropertyName) => {
11
- const lowerCaseOwnPropertyName = ownPropertyName.toLowerCase();
12
-
13
- if (lowerCaseOwnPropertyName === lowerCaseName) {
14
- headers[ownPropertyName] = value;
8
+ const lowerCaseName = name.toLowerCase(),
9
+ existingNames = Object.getOwnPropertyNames(headers), ///
10
+ existingName = existingNames.find((existingName) => {
11
+ const existingLowerCaseName = existingName.toLowerCase();
15
12
 
13
+ if (existingLowerCaseName === lowerCaseName) {
16
14
  return true;
17
15
  }
18
- });
16
+ }) || null;
19
17
 
20
- if (!overwritten) {
21
- headers[name] = value;
18
+ if (existingName !== null) {
19
+ headers[existingName] = value;
22
20
  }
23
21
  }
24
22
 
25
23
  export function underwrite(headers, name, value) {
26
- const ownPropertyNames = Object.getOwnPropertyNames(headers),
27
- lowercaseName = name.toLowerCase(),
28
- lowerCaseOwnPropertyNames = ownPropertyNames.map((ownPropertyName) => {
29
- const lowerCaseOwnPropertyName = ownPropertyName.toLowerCase();
24
+ const lowerCaseName = name.toLowerCase(),
25
+ existingNames = Object.getOwnPropertyNames(headers), ///
26
+ existingName = existingNames.find((existingName) => {
27
+ const existingLowerCaseName = existingName.toLowerCase();
30
28
 
31
- return lowerCaseOwnPropertyName;
32
- }),
33
- lowerCaseOwnPropertyNamesIncludesLowercaseName = lowerCaseOwnPropertyNames.includes(lowercaseName);
29
+ if (existingLowerCaseName === lowerCaseName) {
30
+ return true;
31
+ }
32
+ }) || null;
34
33
 
35
- if (!lowerCaseOwnPropertyNamesIncludesLowercaseName) {
34
+ if (existingName === null) {
36
35
  headers[name] = value;
37
36
  }
38
37
  }
@@ -3,9 +3,9 @@
3
3
  import { whilst } from "../utilities/asynchronous";
4
4
 
5
5
  import { DATA_EVENT_TYPE } from "../eventTypes";
6
- import { UTF8, CTRL_C, EMPTY_STRING } from "../constants";
6
+ import { UTF8, EMPTY_STRING } from "../constants";
7
7
  import { DEFAULT_ENCODING, DEFAULT_ATTEMPTS, DEFAULT_INITIAL_ANSWER } from "../defaults";
8
- import { ETX_CHARACTER, BACKSPACE_CHARACTER, LINE_FEED_CHARACTER, CARRIAGE_RETURN_CHARACTER } from "../characters";
8
+ import { ETX_CHARACTER, CTRL_C_CHARACTER, BACKSPACE_CHARACTER, LINE_FEED_CHARACTER, CARRIAGE_RETURN_CHARACTER } from "../characters";
9
9
 
10
10
  export function onETX(handler) {
11
11
  if (process.stdin.setRawMode) {