necessary 10.0.0 → 10.0.4

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
@@ -60,13 +60,13 @@ The miscellaneous functions are a special case. They can be treated as above but
60
60
 
61
61
  The first two `get()` and `post()` functions make use of the third `request()` function, which is more generic and can be used for arbitrary HTTP requests.
62
62
 
63
- * The `get()` function sends a `GET` request, taking `host`, `uri`, `query` and `callback` arguments, together with an optional `headers` argument after the `query` argument.
63
+ * The `get()` function sends a `GET` request, taking `host`, `uri`, `query` and `operation` arguments, together with an optional `headers` argument after the `query` argument.
64
64
 
65
65
  The `query` argument should be a plain old JavaScript object, the names and values of which are encoded and concatenated to form the query string.
66
66
 
67
67
  The `headers` argument should also be a plain old JavaScript object. If it does not have an `accept` property then one wil be provided with the value `application/json`.
68
68
 
69
- The `callback` argument is expected to be a function taking `contnet` and `statusCode` arguments. If the `accept` property of the main `headers` argument is set to `application/json` then the callback function's `content` argument can be assumed to be JSON, or `null` if the request body cannot be parsed as such. The `statusCode` argument will be the response status code, for example `200` for a successful `OK` response.
69
+ The `operation` argument is expected to be a function taking `contnet` and `statusCode` arguments. If the `accept` property of the main `headers` argument is set to `application/json` then the operation's `content` argument can be assumed to be JSON, or `null` if the request body cannot be parsed as such. The `statusCode` argument will be the response status code, for example `200` for a successful `OK` response.
70
70
 
71
71
  ```
72
72
  const host = "...",
@@ -147,7 +147,7 @@ const offEXT = onEXT(process.exit);
147
147
  offEXT();
148
148
  ```
149
149
 
150
- * The `prompt()` function is meant for use in shell applications. It takes a plain old JavaScript `options` object and a `callback` function as the its first and second arguments, respectively:
150
+ * The `prompt()` function is meant for use in shell applications. It takes a plain old JavaScript `options` object and a `callback` function as its first and second arguments, respectively:
151
151
 
152
152
  ```
153
153
  const hidden = true,
@@ -244,7 +244,7 @@ const host = ...,
244
244
  request = createRequest(host, uri, query, method, headers, (error, response) => {
245
245
  ...
246
246
 
247
- const writeStream = createWriteStream("...");
247
+ const writeStream = createWriteStream(...);
248
248
 
249
249
  response.pipe(writeStream);
250
250
  });
@@ -252,34 +252,29 @@ const host = ...,
252
252
  request.end();
253
253
  ```
254
254
 
255
- In the following example the `queryStringFromQuery()` function from the HTTP utilities is used to encode the body of the request. Note that the `content-type` header is set explicitly. Also note that an instance of Node's [`Readable`](https://nodejs.org/api/stream.html#stream_class_stream_readable) class is created and piped to the request object in order to make the request.
255
+ In the following example the `queryStringFromQuery()` function from the HTTP utilities is used to encode the body of the request. Note that the `content-type` header is set explicitly. Note that the request body is piped directly from a file:
256
256
 
257
257
  ```
258
- const { Readable } = require("stream");
258
+ const { createReadStream } = require("fs");
259
259
 
260
260
  const host = ...,
261
261
  uri = ...,
262
262
  query = {},
263
263
  method = "POST",
264
264
  headers = {
265
- "content-type": "application/x-www-form-urlencoded"
265
+ "content-type": "image/png"
266
266
  },
267
267
  request = createRequest(host, uri, query, method, headers, (error, response) => {
268
268
  ...
269
269
  }),
270
- content = queryStringFromQuery({
271
- "name": "John Doe"
272
- }),
273
- readable = Readable.from(content);
270
+ readStream = createReadStream(...);
274
271
 
275
- readable.pipe(request);
272
+ readStream.pipe(request);
276
273
  ```
277
274
 
278
275
  Finally, in the following example a `contentFromResponse()` function has been written in order to parse the response to a string in preference to piping it to a file, say:
279
276
 
280
277
  ```
281
- const { Readable } = require("stream");
282
-
283
278
  const host = ...,
284
279
  uri = ...,
285
280
  query = {
@@ -295,6 +290,8 @@ const host = ...,
295
290
  });
296
291
  });
297
292
 
293
+ request.end();
294
+
298
295
  function contentFromResponse(response, callback) {
299
296
  let content = "";
300
297
 
@@ -625,6 +622,7 @@ pathWithoutTopmostDirectoryNameFromPath("root/etc/init.conf"); // returns 'etc/i
625
622
  - `fourthLast()`
626
623
  - `thirdLast()`
627
624
  - `secondLast()`
625
+ - `firstLast()`
628
626
  - `last()`
629
627
  - `head()`
630
628
  - `tail()`
@@ -837,14 +835,14 @@ Ideally the `host` argument should not include a trailing forward slash whereas
837
835
  - `eventually()`
838
836
  - `repeatedly()`
839
837
 
840
- These functions generally take either a callback or an array of callbacks, followed by a `done()` function and an optional `context` argument. They all pass a `next()` function to the callbacks followed by the `done()` function, the `context` and then an `index` argument. Callbacks are given access to the `done()` function which can be called instead of the `next()` function in order to terminate early.
838
+ These functions generally take either a operatio or an array of operations, functions that mutate a context essentially, rather than returning a value, followed by a `done()` function and an optional `context` argument. They all pass a `next()` function to the operations followed by the `done()` function, the `context` and then an `index` argument. Operations are given access to the `done()` function which can be called instead of the `next()` function in order to terminate early.
841
839
 
842
- * The `whilst()` function takes a single callback, which it calls each time the callback invokes the given `next()` function or until the callback invokes the given `done()` function. The callback can also force termination by returning a truthy value, in which case it must *not* call the given `next()` or `done()` functions. In the example below the callback will be executed ten times:
840
+ * The `whilst()` function takes a single operation, which it calls each time the operation invokes the given `next()` function or until the operation invokes the given `done()` function. The operation can also force termination by returning a truthy value, in which case it must *not* call the given `next()` or `done()` functions. In the example below the operation will be executed ten times:
843
841
 
844
842
  ```
845
843
  const context = {}; ///
846
844
 
847
- const callback = (next, done, context, index) => {
845
+ const operation = (next, done, context, index) => {
848
846
  const terminate = (index === 9);
849
847
 
850
848
  if (terminate) {
@@ -856,17 +854,17 @@ const callback = (next, done, context, index) => {
856
854
  }
857
855
  }
858
856
 
859
- whilst(callback, () => {
857
+ whilst(operation, () => {
860
858
  /// done
861
859
  }, context);
862
860
  ```
863
861
 
864
- * The `forEach()` function takes an array as the first argument followed by a single callback, which it calls for each element of the array unless the callback invokes the given `done()` function. If the `done()` function is never invoked by the callback, it is called once each of the array elements has been passed to the callback, provided the callback invokes the given `next ()` function each time. In the example below the callback will be executed four times:
862
+ * The `forEach()` function takes an array as the first argument followed by a single operation, which it calls for each element of the array unless the operation invokes the given `done()` function. If the `done()` function is never invoked by the operation, it is called once each of the array elements has been passed to the operation, provided the operationinvokes the given `next ()` function each time. In the example below the operation will be executed four times:
865
863
 
866
864
  ```
867
865
  const context = {};
868
866
 
869
- const callback = (element, next, done, context, index) => {
867
+ const operation = (element, next, done, context, index) => {
870
868
  const terminate = (element === 3);
871
869
 
872
870
  if (terminate) {
@@ -880,56 +878,56 @@ const callback = (element, next, done, context, index) => {
880
878
 
881
879
  const array = [0, 1, 2, 3, 4, 5];
882
880
 
883
- forEach(array, callback, () => {
881
+ forEach(array, operation, () => {
884
882
  /// done
885
883
  }, context);
886
884
  ```
887
885
 
888
- * The `sequence()` function takes an array of callbacks, which it calls in turn unless the callback invokes the given `done()` function. If the `done()` function is never invoked by a callback, it is called once each of the callbacks have been called, provided each callback invokes the given `next ()` function. In the example below each of the callbacks bar the last is executed:
886
+ * The `sequence()` function takes an array of operations, which it calls in turn unless the operation invokes the given `done()` function. If the `done()` function is never invoked by a operation, it is called once each of the operations have been called, provided each operation invokes the given `next ()` function. In the example below each of the operations bar the last is executed:
889
887
 
890
888
  ```
891
889
  const context = {};
892
890
 
893
- const firstCallback = (next, done, context, index) => { next(); },
894
- secondCallback = (next, done, context, index) => { next(); },
895
- thirdCallback = (next, done, context, index) => { done(); },
896
- lastCallback = (next, done, context, index) => { next(); },
897
- callbacks = [
898
- firstCallback,
899
- secondCallback,
900
- thirdCallback,
901
- lastCallback
891
+ const firstOperation = (next, done, context, index) => { next(); },
892
+ secondOperation = (next, done, context, index) => { next(); },
893
+ thirdOperation = (next, done, context, index) => { done(); },
894
+ lastOperation = (next, done, context, index) => { next(); },
895
+ operation = [
896
+ firstOperation,
897
+ secondOperation,
898
+ thirdOperation,
899
+ lastOperation
902
900
  ];
903
901
 
904
- sequence(callbacks, () => {
902
+ sequence(operations, () => {
905
903
  /// done
906
904
  }, context);
907
905
  ```
908
906
 
909
- * The `eventually()` function takes an array of callbacks, each of which it calls immediately without waiting for the callbacks to invoke the given `next()` functions. When each of the callbacks has invoked the given `next()` function, it will call the `done()` function. Note that in this case invoking the `done()` function from within a callback will not halt the execution of other callbacks, it is passed as an argument only for the sake of convention. In the example below each of the callbacks is executed:
907
+ * The `eventually()` function takes an array of operations, each of which it calls immediately without waiting for the operations to invoke the given `next()` functions. When each of the operations has invoked the given `next()` function, it will call the `done()` function. Note that in this case invoking the `done()` function from within a operation will not halt the execution of other operations, it is passed as an argument only for the sake of convention. In the example below each of the operations is executed:
910
908
 
911
909
  ```
912
910
  const context = {};
913
911
 
914
- const firstCallback = (next, done, context, index) => { next(); },
915
- secondCallback = (next, done, context, index) => { next(); },
916
- thirdCallback = (next, done, context, index) => { done(); },
917
- callbacks = [
918
- firstCallback,
919
- secondCallback,
920
- thirdCallback
912
+ const firstOperation = (next, done, context, index) => { next(); },
913
+ secondOperation = (next, done, context, index) => { next(); },
914
+ thirdOperation = (next, done, context, index) => { done(); },
915
+ operations = [
916
+ firstOperation,
917
+ secondOperation,
918
+ thirdOperation
921
919
  ];
922
920
 
923
- eventually(callbacks, () => {
921
+ eventually(operations, () => {
924
922
  /// done
925
923
  }, context);
926
924
  ```
927
- * The `repeatedly()` function takes a single callback and a `length` parameter, immediately calling the callback a `length` number of times without waiting for it to invoke the given `next()` function each time. When the callback has invoked the given `next()` function a `length` number of times, it will call the `done()` function. Note that in this case invoking the `done()` function from within the callback will not halt its execution the requisite number of times, it is passed as an argument only for the sake of convention. In the example below the callback is executed ten times:
925
+ * The `repeatedly()` function takes a single operation and a `length` parameter, immediately calling the operation a `length` number of times without waiting for it to invoke the given `next()` function each time. When the operation has invoked the given `next()` function a `length` number of times, it will call the `done()` function. Note that in this case invoking the `done()` function from within the operation will not halt its execution the requisite number of times, it is passed as an argument only for the sake of convention. In the example below the operation is executed ten times:
928
926
 
929
927
  ```
930
928
  const context = {};
931
929
 
932
- const callback = (next, done, context, index) => {
930
+ const operation = (next, done, context, index) => {
933
931
  ...
934
932
 
935
933
  next();
@@ -937,7 +935,7 @@ const callback = (next, done, context, index) => {
937
935
 
938
936
  const length = 10;
939
937
 
940
- repeatedly(callback, length, () => {
938
+ repeatedly(operation, length, () => {
941
939
  // done
942
940
  }, context);
943
941
  ```
package/lib/browser.js CHANGED
@@ -43,4 +43,4 @@ function _interopRequireDefault(obj) {
43
43
  };
44
44
  }
45
45
 
46
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9icm93c2VyLmpzIl0sIm5hbWVzIjpbImRlZmF1bHQiLCJwYXRoVXRpbGl0aWVzIiwiaHR0cFV0aWxpdGllcyIsImFycmF5VXRpbGl0aWVzIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiYWpheFV0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkNBQUEsVUFBWTs7OztnQ0FFUSxhQUFhOzs7cUJBQXhCLE9BQU87OztnQ0FDSSxhQUFhOzs7cUJBQXhCLE9BQU87OztnQ0FDSSxjQUFjOzs7c0JBQXpCLE9BQU87OztnQ0FDSSxxQkFBcUI7Ozs2QkFBaEMsT0FBTzs7O2dDQUVJLGFBQWE7OztxQkFBeEIsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhdGhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBodHRwVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2h0dHBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FzeW5jaHJvbm91c1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGFqYXhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYWpheFwiO1xuIl19
46
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9icm93c2VyLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhdGhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBodHRwVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2h0dHBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FzeW5jaHJvbm91c1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIGFqYXhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYWpheFwiO1xuIl0sIm5hbWVzIjpbInBhdGhVdGlsaXRpZXMiLCJkZWZhdWx0IiwiaHR0cFV0aWxpdGllcyIsImFycmF5VXRpbGl0aWVzIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwiYWpheFV0aWxpdGllcyJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OzsrQkFFUUEsQ0FBYTs7O3FCQUF4QkMsT0FBTzs7OytCQUNJQyxDQUFhOzs7cUJBQXhCRCxPQUFPOzs7K0JBQ0lFLENBQWM7OztzQkFBekJGLE9BQU87OzsrQkFDSUcsQ0FBcUI7Ozs2QkFBaENILE9BQU87OzsrQkFFSUksQ0FBYTs7O3FCQUF4QkosT0FBTyJ9
package/lib/characters.js CHANGED
@@ -2,7 +2,7 @@
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.ETX_CHARACTER = exports.AMPERSAND_CHARACTER = exports.COLON_CHARACTER = void 0;
5
+ exports.CARRIAGE_RETURN_CHARACTER = exports.BACKSPACE_CHARACTER = exports.LINE_FEED_CHARACTER = exports.AMPERSAND_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 = ":";
@@ -16,4 +16,4 @@ exports.BACKSPACE_CHARACTER = BACKSPACE_CHARACTER;
16
16
  var CARRIAGE_RETURN_CHARACTER = "\r";
17
17
  exports.CARRIAGE_RETURN_CHARACTER = CARRIAGE_RETURN_CHARACTER;
18
18
 
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFyYWN0ZXJzLmpzIl0sIm5hbWVzIjpbIkVUWF9DSEFSQUNURVIiLCJDT0xPTl9DSEFSQUNURVIiLCJBTVBFUlNBTkRfQ0hBUkFDVEVSIiwiTElORV9GRUVEX0NIQVJBQ1RFUiIsIkJBQ0tTUEFDRV9DSEFSQUNURVIiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJDQVJSSUFHRV9SRVRVUk5fQ0hBUkFDVEVSIl0sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7OztBQUVMLEdBQUssQ0FBQyxhQUFhLElBQUcsSUFBUTtRQUF4QixhQUFhLEdBQWIsYUFBYTtBQUNuQixHQUFLLENBQUMsZUFBZSxJQUFHLENBQUc7UUFBckIsZUFBZSxHQUFmLGVBQWU7QUFDckIsR0FBSyxDQUFDLG1CQUFtQixJQUFHLENBQUc7UUFBekIsbUJBQW1CLEdBQW5CLG1CQUFtQjtBQUN6QixHQUFLLENBQUMsbUJBQW1CLElBQUcsRUFBSTtRQUExQixtQkFBbUIsR0FBbkIsbUJBQW1CO0FBQ3pCLEdBQUssQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLEdBQUc7UUFBN0MsbUJBQW1CLEdBQW5CLG1CQUFtQjtBQUN6QixHQUFLLENBQUMseUJBQXlCLElBQUcsRUFBSTtRQUFoQyx5QkFBeUIsR0FBekIseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBFVFhfQ0hBUkFDVEVSID0gXCJcXHUwMDAzXCI7XG5leHBvcnQgY29uc3QgQ09MT05fQ0hBUkFDVEVSID0gXCI6XCI7XG5leHBvcnQgY29uc3QgQU1QRVJTQU5EX0NIQVJBQ1RFUiA9IFwiJlwiO1xuZXhwb3J0IGNvbnN0IExJTkVfRkVFRF9DSEFSQUNURVIgPSBcIlxcblwiO1xuZXhwb3J0IGNvbnN0IEJBQ0tTUEFDRV9DSEFSQUNURVIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKDEyNyk7XG5leHBvcnQgY29uc3QgQ0FSUklBR0VfUkVUVVJOX0NIQVJBQ1RFUiA9IFwiXFxyXCI7XG4iXX0=
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jaGFyYWN0ZXJzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgRVRYX0NIQVJBQ1RFUiA9IFwiXFx1MDAwM1wiO1xuZXhwb3J0IGNvbnN0IENPTE9OX0NIQVJBQ1RFUiA9IFwiOlwiO1xuZXhwb3J0IGNvbnN0IEFNUEVSU0FORF9DSEFSQUNURVIgPSBcIiZcIjtcbmV4cG9ydCBjb25zdCBMSU5FX0ZFRURfQ0hBUkFDVEVSID0gXCJcXG5cIjtcbmV4cG9ydCBjb25zdCBCQUNLU1BBQ0VfQ0hBUkFDVEVSID0gU3RyaW5nLmZyb21DaGFyQ29kZSgxMjcpO1xuZXhwb3J0IGNvbnN0IENBUlJJQUdFX1JFVFVSTl9DSEFSQUNURVIgPSBcIlxcclwiO1xuIl0sIm5hbWVzIjpbIkVUWF9DSEFSQUNURVIiLCJDT0xPTl9DSEFSQUNURVIiLCJBTVBFUlNBTkRfQ0hBUkFDVEVSIiwiTElORV9GRUVEX0NIQVJBQ1RFUiIsIkJBQ0tTUEFDRV9DSEFSQUNURVIiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJDQVJSSUFHRV9SRVRVUk5fQ0hBUkFDVEVSIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVMLEdBQUssQ0FBQ0EsYUFBYSxHQUFHLENBQVE7UUFBeEJBLGFBQWEsR0FBYkEsYUFBYTtBQUNuQixHQUFLLENBQUNDLGVBQWUsR0FBRyxDQUFHO1FBQXJCQSxlQUFlLEdBQWZBLGVBQWU7QUFDckIsR0FBSyxDQUFDQyxtQkFBbUIsR0FBRyxDQUFHO1FBQXpCQSxtQkFBbUIsR0FBbkJBLG1CQUFtQjtBQUN6QixHQUFLLENBQUNDLG1CQUFtQixHQUFHLENBQUk7UUFBMUJBLG1CQUFtQixHQUFuQkEsbUJBQW1CO0FBQ3pCLEdBQUssQ0FBQ0MsbUJBQW1CLEdBQUdDLE1BQU0sQ0FBQ0MsWUFBWSxDQUFDLEdBQUc7UUFBN0NGLG1CQUFtQixHQUFuQkEsbUJBQW1CO0FBQ3pCLEdBQUssQ0FBQ0cseUJBQXlCLEdBQUcsQ0FBSTtRQUFoQ0EseUJBQXlCLEdBQXpCQSx5QkFBeUIifQ==
package/lib/constants.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.EMPTY_STRING = exports.ERROR = exports.UTF8 = exports.ACCEPT = exports.CTRL_C = exports.CONTENT_TYPE = void 0;
5
+ exports.CONTENT_TYPE = exports.EMPTY_STRING = exports.ACCEPT = exports.CTRL_C = exports.ERROR = exports.UTF8 = void 0;
6
6
  var UTF8 = "utf8";
7
7
  exports.UTF8 = UTF8;
8
8
  var ERROR = "error";
@@ -16,4 +16,4 @@ exports.EMPTY_STRING = EMPTY_STRING;
16
16
  var CONTENT_TYPE = "content-type";
17
17
  exports.CONTENT_TYPE = CONTENT_TYPE;
18
18
 
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwibmFtZXMiOlsiVVRGOCIsIkVSUk9SIiwiQ1RSTF9DIiwiQUNDRVBUIiwiRU1QVFlfU1RSSU5HIiwiQ09OVEVOVF9UWVBFIl0sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7OztBQUVMLEdBQUssQ0FBQyxJQUFJLElBQUcsSUFBTTtRQUFiLElBQUksR0FBSixJQUFJO0FBQ1YsR0FBSyxDQUFDLEtBQUssSUFBRyxLQUFPO1FBQWYsS0FBSyxHQUFMLEtBQUs7QUFDWCxHQUFLLENBQUMsTUFBTSxJQUFHLEVBQUk7UUFBYixNQUFNLEdBQU4sTUFBTTtBQUNaLEdBQUssQ0FBQyxNQUFNLElBQUcsTUFBUTtRQUFqQixNQUFNLEdBQU4sTUFBTTtBQUNaLEdBQUssQ0FBQyxZQUFZO1FBQVosWUFBWSxHQUFaLFlBQVk7QUFDbEIsR0FBSyxDQUFDLFlBQVksSUFBRyxZQUFjO1FBQTdCLFlBQVksR0FBWixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBVVEY4ID0gXCJ1dGY4XCI7XG5leHBvcnQgY29uc3QgRVJST1IgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgQ1RSTF9DID0gXCJeQ1wiO1xuZXhwb3J0IGNvbnN0IEFDQ0VQVCA9IFwiYWNjZXB0XCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBDT05URU5UX1RZUEUgPSBcImNvbnRlbnQtdHlwZVwiO1xuIl19
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25zdGFudHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBVVEY4ID0gXCJ1dGY4XCI7XG5leHBvcnQgY29uc3QgRVJST1IgPSBcImVycm9yXCI7XG5leHBvcnQgY29uc3QgQ1RSTF9DID0gXCJeQ1wiO1xuZXhwb3J0IGNvbnN0IEFDQ0VQVCA9IFwiYWNjZXB0XCI7XG5leHBvcnQgY29uc3QgRU1QVFlfU1RSSU5HID0gXCJcIjtcbmV4cG9ydCBjb25zdCBDT05URU5UX1RZUEUgPSBcImNvbnRlbnQtdHlwZVwiO1xuIl0sIm5hbWVzIjpbIlVURjgiLCJFUlJPUiIsIkNUUkxfQyIsIkFDQ0VQVCIsIkVNUFRZX1NUUklORyIsIkNPTlRFTlRfVFlQRSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7Ozs7QUFFTCxHQUFLLENBQUNBLElBQUksR0FBRyxDQUFNO1FBQWJBLElBQUksR0FBSkEsSUFBSTtBQUNWLEdBQUssQ0FBQ0MsS0FBSyxHQUFHLENBQU87UUFBZkEsS0FBSyxHQUFMQSxLQUFLO0FBQ1gsR0FBSyxDQUFDQyxNQUFNLEdBQUcsQ0FBSTtRQUFiQSxNQUFNLEdBQU5BLE1BQU07QUFDWixHQUFLLENBQUNDLE1BQU0sR0FBRyxDQUFRO1FBQWpCQSxNQUFNLEdBQU5BLE1BQU07QUFDWixHQUFLLENBQUNDLFlBQVksR0FBRyxDQUFFO1FBQWpCQSxZQUFZLEdBQVpBLFlBQVk7QUFDbEIsR0FBSyxDQUFDQyxZQUFZLEdBQUcsQ0FBYztRQUE3QkEsWUFBWSxHQUFaQSxZQUFZIn0=
@@ -6,4 +6,4 @@ exports.APPLICATION_JSON_CONTENT_TYPE = void 0;
6
6
  var APPLICATION_JSON_CONTENT_TYPE = "application/json";
7
7
  exports.APPLICATION_JSON_CONTENT_TYPE = APPLICATION_JSON_CONTENT_TYPE;
8
8
 
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZW50VHlwZXMuanMiXSwibmFtZXMiOlsiQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUiXSwibWFwcGluZ3MiOiJDQUFBLFVBQVk7Ozs7O0FBRUwsR0FBSyxDQUFDLDZCQUE2QixJQUFHLGdCQUFrQjtRQUFsRCw2QkFBNkIsR0FBN0IsNkJBQTZCIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSA9IFwiYXBwbGljYXRpb24vanNvblwiO1xuIl19
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZW50VHlwZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSA9IFwiYXBwbGljYXRpb24vanNvblwiO1xuIl0sIm5hbWVzIjpbIkFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVMLEdBQUssQ0FBQ0EsNkJBQTZCLEdBQUcsQ0FBa0I7UUFBbERBLDZCQUE2QixHQUE3QkEsNkJBQTZCIn0=
package/lib/defaults.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.DEFAULT_LOG_FILE_BASE_NAME = exports.DEFAULT_LOG_DIRECTORY_PATH = exports.DEFAULT_RC_BASE_EXTENSION = exports.DEFAULT_ENCODING = exports.DEFAULT_LOG_LEVEL = exports.DEFAULT_INITIAL_ANSWER = exports.DEFAULT_ATTEMPTS = void 0;
5
+ exports.DEFAULT_LOG_FILE_BASE_NAME = exports.DEFAULT_LOG_DIRECTORY_PATH = exports.DEFAULT_RC_BASE_EXTENSION = exports.DEFAULT_INITIAL_ANSWER = exports.DEFAULT_LOG_LEVEL = exports.DEFAULT_ENCODING = exports.DEFAULT_ATTEMPTS = void 0;
6
6
  var _levels = require("./levels");
7
7
  var _constants = require("./constants");
8
8
  var DEFAULT_ATTEMPTS = 3;
@@ -20,4 +20,4 @@ exports.DEFAULT_LOG_DIRECTORY_PATH = DEFAULT_LOG_DIRECTORY_PATH;
20
20
  var DEFAULT_LOG_FILE_BASE_NAME = "default";
21
21
  exports.DEFAULT_LOG_FILE_BASE_NAME = DEFAULT_LOG_FILE_BASE_NAME;
22
22
 
23
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJuYW1lcyI6WyJXQVJOSU5HX0xFVkVMIiwiVVRGOCIsIkVNUFRZX1NUUklORyIsIkRFRkFVTFRfQVRURU1QVFMiLCJERUZBVUxUX0VOQ09ESU5HIiwiREVGQVVMVF9MT0dfTEVWRUwiLCJERUZBVUxUX0lOSVRJQUxfQU5TV0VSIiwiREVGQVVMVF9SQ19CQVNFX0VYVEVOU0lPTiIsIkRFRkFVTFRfTE9HX0RJUkVDVE9SWV9QQVRIIiwiREVGQVVMVF9MT0dfRklMRV9CQVNFX05BTUUiXSwibWFwcGluZ3MiOiJDQUFBLFVBQVk7Ozs7O0FBRWtCLEdBQVUsQ0FBVixPQUFVO0FBQ0wsR0FBYSxDQUFiLFVBQWE7QUFFekMsR0FBSyxDQUFDLGdCQUFnQixHQUFHLENBQUM7UUFBcEIsZ0JBQWdCLEdBQWhCLGdCQUFnQjtBQUN0QixHQUFLLENBQUMsZ0JBQWdCLEdBSE0sVUFBYTtRQUduQyxnQkFBZ0IsR0FBaEIsZ0JBQWdCO0FBQ3RCLEdBQUssQ0FBQyxpQkFBaUIsR0FMQSxPQUFVLGVBS1EsQ0FBRyxBQUFILEVBQUcsQUFBSCxDQUFHO1FBQXRDLGlCQUFpQixHQUFqQixpQkFBaUI7QUFDdkIsR0FBSyxDQUFDLHNCQUFzQixHQUxBLFVBQWEsY0FLSSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7UUFBMUMsc0JBQXNCLEdBQXRCLHNCQUFzQjtBQUM1QixHQUFLLENBQUMseUJBQXlCLEdBTkgsVUFBYSxjQU1RLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztRQUE5Qyx5QkFBeUIsR0FBekIseUJBQXlCO0FBQy9CLEdBQUssQ0FBQywwQkFBMEIsR0FBRyxJQUFJO1FBQWpDLDBCQUEwQixHQUExQiwwQkFBMEI7QUFDaEMsR0FBSyxDQUFDLDBCQUEwQixJQUFHLE9BQVM7UUFBdEMsMEJBQTBCLEdBQTFCLDBCQUEwQiIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBXQVJOSU5HX0xFVkVMIH0gZnJvbSBcIi4vbGV2ZWxzXCI7XG5pbXBvcnQgeyBVVEY4LCBFTVBUWV9TVFJJTkcgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQVRURU1QVFMgPSAzO1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRU5DT0RJTkcgPSBVVEY4O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTE9HX0xFVkVMID0gV0FSTklOR19MRVZFTDsgLy8vXG5leHBvcnQgY29uc3QgREVGQVVMVF9JTklUSUFMX0FOU1dFUiA9IEVNUFRZX1NUUklORzsgLy8vXG5leHBvcnQgY29uc3QgREVGQVVMVF9SQ19CQVNFX0VYVEVOU0lPTiA9IEVNUFRZX1NUUklORzsgIC8vL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfTE9HX0RJUkVDVE9SWV9QQVRIID0gbnVsbDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPR19GSUxFX0JBU0VfTkFNRSA9IFwiZGVmYXVsdFwiO1xuIl19
23
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9kZWZhdWx0cy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgV0FSTklOR19MRVZFTCB9IGZyb20gXCIuL2xldmVsc1wiO1xuaW1wb3J0IHsgVVRGOCwgRU1QVFlfU1RSSU5HIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX0FUVEVNUFRTID0gMztcbmV4cG9ydCBjb25zdCBERUZBVUxUX0VOQ09ESU5HID0gVVRGODtcbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPR19MRVZFTCA9IFdBUk5JTkdfTEVWRUw7IC8vL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfSU5JVElBTF9BTlNXRVIgPSBFTVBUWV9TVFJJTkc7IC8vL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkNfQkFTRV9FWFRFTlNJT04gPSBFTVBUWV9TVFJJTkc7ICAvLy9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0xPR19ESVJFQ1RPUllfUEFUSCA9IG51bGw7XG5leHBvcnQgY29uc3QgREVGQVVMVF9MT0dfRklMRV9CQVNFX05BTUUgPSBcImRlZmF1bHRcIjtcbiJdLCJuYW1lcyI6WyJERUZBVUxUX0FUVEVNUFRTIiwiREVGQVVMVF9FTkNPRElORyIsIkRFRkFVTFRfTE9HX0xFVkVMIiwiREVGQVVMVF9JTklUSUFMX0FOU1dFUiIsIkRFRkFVTFRfUkNfQkFTRV9FWFRFTlNJT04iLCJERUZBVUxUX0xPR19ESVJFQ1RPUllfUEFUSCIsIkRFRkFVTFRfTE9HX0ZJTEVfQkFTRV9OQU1FIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVrQixHQUFVLENBQVYsT0FBVTtBQUNMLEdBQWEsQ0FBYixVQUFhO0FBRXpDLEdBQUssQ0FBQ0EsZ0JBQWdCLEdBQUcsQ0FBQztRQUFwQkEsZ0JBQWdCLEdBQWhCQSxnQkFBZ0I7QUFDdEIsR0FBSyxDQUFDQyxnQkFBZ0IsR0FITSxVQUFhO1FBR25DQSxnQkFBZ0IsR0FBaEJBLGdCQUFnQjtBQUN0QixHQUFLLENBQUNDLGlCQUFpQixHQUxBLE9BQVUsZUFLUSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7UUFBdENBLGlCQUFpQixHQUFqQkEsaUJBQWlCO0FBQ3ZCLEdBQUssQ0FBQ0Msc0JBQXNCLEdBTEEsVUFBYSxjQUtJLENBQUcsQUFBSCxFQUFHLEFBQUgsQ0FBRztRQUExQ0Esc0JBQXNCLEdBQXRCQSxzQkFBc0I7QUFDNUIsR0FBSyxDQUFDQyx5QkFBeUIsR0FOSCxVQUFhLGNBTVEsQ0FBRyxBQUFILEVBQUcsQUFBSCxDQUFHO1FBQTlDQSx5QkFBeUIsR0FBekJBLHlCQUF5QjtBQUMvQixHQUFLLENBQUNDLDBCQUEwQixHQUFHLElBQUk7UUFBakNBLDBCQUEwQixHQUExQkEsMEJBQTBCO0FBQ2hDLEdBQUssQ0FBQ0MsMEJBQTBCLEdBQUcsQ0FBUztRQUF0Q0EsMEJBQTBCLEdBQTFCQSwwQkFBMEIifQ==
package/lib/eventTypes.js CHANGED
@@ -6,4 +6,4 @@ exports.DATA_EVENT_TYPE = void 0;
6
6
  var DATA_EVENT_TYPE = "data";
7
7
  exports.DATA_EVENT_TYPE = DATA_EVENT_TYPE;
8
8
 
9
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudFR5cGVzLmpzIl0sIm5hbWVzIjpbIkRBVEFfRVZFTlRfVFlQRSJdLCJtYXBwaW5ncyI6IkNBQUEsVUFBWTs7Ozs7QUFFTCxHQUFLLENBQUMsZUFBZSxJQUFHLElBQU07UUFBeEIsZUFBZSxHQUFmLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0IGNvbnN0IERBVEFfRVZFTlRfVFlQRSA9IFwiZGF0YVwiO1xuIl19
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9ldmVudFR5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgREFUQV9FVkVOVF9UWVBFID0gXCJkYXRhXCI7XG4iXSwibmFtZXMiOlsiREFUQV9FVkVOVF9UWVBFIl0sIm1hcHBpbmdzIjoiQUFBQSxDQUFZOzs7OztBQUVMLEdBQUssQ0FBQ0EsZUFBZSxHQUFHLENBQU07UUFBeEJBLGVBQWUsR0FBZkEsZUFBZSJ9
package/lib/levels.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", {
3
3
  value: true
4
4
  });
5
- exports.ERROR_LEVEL = exports.WARNING_LEVEL = exports.TRACE_LEVEL = exports.FATAL_LEVEL = exports.DEBUG_LEVEL = exports.INFO_LEVEL = void 0;
5
+ exports.FATAL_LEVEL = exports.ERROR_LEVEL = exports.WARNING_LEVEL = exports.INFO_LEVEL = exports.DEBUG_LEVEL = exports.TRACE_LEVEL = void 0;
6
6
  var TRACE_LEVEL = "TRACE";
7
7
  exports.TRACE_LEVEL = TRACE_LEVEL;
8
8
  var DEBUG_LEVEL = "DEBUG";
@@ -16,4 +16,4 @@ exports.ERROR_LEVEL = ERROR_LEVEL;
16
16
  var FATAL_LEVEL = "FATAL";
17
17
  exports.FATAL_LEVEL = FATAL_LEVEL;
18
18
 
19
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sZXZlbHMuanMiXSwibmFtZXMiOlsiVFJBQ0VfTEVWRUwiLCJERUJVR19MRVZFTCIsIklORk9fTEVWRUwiLCJXQVJOSU5HX0xFVkVMIiwiRVJST1JfTEVWRUwiLCJGQVRBTF9MRVZFTCJdLCJtYXBwaW5ncyI6IkNBQUEsVUFBWTs7Ozs7QUFFTCxHQUFLLENBQUMsV0FBVyxJQUFHLEtBQU87UUFBckIsV0FBVyxHQUFYLFdBQVc7QUFDakIsR0FBSyxDQUFDLFdBQVcsSUFBRyxLQUFPO1FBQXJCLFdBQVcsR0FBWCxXQUFXO0FBQ2pCLEdBQUssQ0FBQyxVQUFVLElBQUcsSUFBTTtRQUFuQixVQUFVLEdBQVYsVUFBVTtBQUNoQixHQUFLLENBQUMsYUFBYSxJQUFHLE9BQVM7UUFBekIsYUFBYSxHQUFiLGFBQWE7QUFDbkIsR0FBSyxDQUFDLFdBQVcsSUFBRyxLQUFPO1FBQXJCLFdBQVcsR0FBWCxXQUFXO0FBQ2pCLEdBQUssQ0FBQyxXQUFXLElBQUcsS0FBTztRQUFyQixXQUFXLEdBQVgsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgVFJBQ0VfTEVWRUwgPSBcIlRSQUNFXCI7XG5leHBvcnQgY29uc3QgREVCVUdfTEVWRUwgPSBcIkRFQlVHXCI7XG5leHBvcnQgY29uc3QgSU5GT19MRVZFTCA9IFwiSU5GT1wiO1xuZXhwb3J0IGNvbnN0IFdBUk5JTkdfTEVWRUwgPSBcIldBUk5JTkdcIjtcbmV4cG9ydCBjb25zdCBFUlJPUl9MRVZFTCA9IFwiRVJST1JcIjtcbmV4cG9ydCBjb25zdCBGQVRBTF9MRVZFTCA9IFwiRkFUQUxcIjtcbiJdfQ==
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9sZXZlbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBUUkFDRV9MRVZFTCA9IFwiVFJBQ0VcIjtcbmV4cG9ydCBjb25zdCBERUJVR19MRVZFTCA9IFwiREVCVUdcIjtcbmV4cG9ydCBjb25zdCBJTkZPX0xFVkVMID0gXCJJTkZPXCI7XG5leHBvcnQgY29uc3QgV0FSTklOR19MRVZFTCA9IFwiV0FSTklOR1wiO1xuZXhwb3J0IGNvbnN0IEVSUk9SX0xFVkVMID0gXCJFUlJPUlwiO1xuZXhwb3J0IGNvbnN0IEZBVEFMX0xFVkVMID0gXCJGQVRBTFwiO1xuIl0sIm5hbWVzIjpbIlRSQUNFX0xFVkVMIiwiREVCVUdfTEVWRUwiLCJJTkZPX0xFVkVMIiwiV0FSTklOR19MRVZFTCIsIkVSUk9SX0xFVkVMIiwiRkFUQUxfTEVWRUwiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7O0FBRUwsR0FBSyxDQUFDQSxXQUFXLEdBQUcsQ0FBTztRQUFyQkEsV0FBVyxHQUFYQSxXQUFXO0FBQ2pCLEdBQUssQ0FBQ0MsV0FBVyxHQUFHLENBQU87UUFBckJBLFdBQVcsR0FBWEEsV0FBVztBQUNqQixHQUFLLENBQUNDLFVBQVUsR0FBRyxDQUFNO1FBQW5CQSxVQUFVLEdBQVZBLFVBQVU7QUFDaEIsR0FBSyxDQUFDQyxhQUFhLEdBQUcsQ0FBUztRQUF6QkEsYUFBYSxHQUFiQSxhQUFhO0FBQ25CLEdBQUssQ0FBQ0MsV0FBVyxHQUFHLENBQU87UUFBckJBLFdBQVcsR0FBWEEsV0FBVztBQUNqQixHQUFLLENBQUNDLFdBQVcsR0FBRyxDQUFPO1FBQXJCQSxXQUFXLEdBQVhBLFdBQVcifQ==
package/lib/main.js CHANGED
@@ -78,4 +78,4 @@ function _interopRequireDefault(obj) {
78
78
  };
79
79
  }
80
80
 
81
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sIm5hbWVzIjpbImRlZmF1bHQiLCJwYXRoVXRpbGl0aWVzIiwiaHR0cFV0aWxpdGllcyIsImFycmF5VXRpbGl0aWVzIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwic2hlbGxVdGlsaXRpZXMiLCJyZXF1ZXN0VXRpbGl0aWVzIiwibG9nZ2luZ1V0aWxpdGllcyIsInRlbXBsYXRlVXRpbGl0aWVzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImNvbmZpZ3VyYXRpb25VdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJDQUFBLFVBQVk7Ozs7Z0NBRVEsYUFBYTs7O3FCQUF4QixPQUFPOzs7Z0NBQ0ksYUFBYTs7O3FCQUF4QixPQUFPOzs7Z0NBQ0ksY0FBYzs7O3NCQUF6QixPQUFPOzs7Z0NBQ0kscUJBQXFCOzs7NkJBQWhDLE9BQU87OztnQ0FFSSxjQUFjOzs7c0JBQXpCLE9BQU87OztnQ0FDSSxnQkFBZ0I7Ozt3QkFBM0IsT0FBTzs7O2dDQUNJLGdCQUFnQjs7O3dCQUEzQixPQUFPOzs7Z0NBQ0ksaUJBQWlCOzs7eUJBQTVCLE9BQU87OztnQ0FDSSxtQkFBbUI7OzsyQkFBOUIsT0FBTzs7O2dDQUNJLHNCQUFzQjs7OzhCQUFqQyxPQUFPIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgcGF0aFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9wYXRoXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGh0dHBVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvaHR0cFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhcnJheVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9hcnJheVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBhc3luY2hyb25vdXNVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXN5bmNocm9ub3VzXCI7XG5cbmV4cG9ydCB7IGRlZmF1bHQgYXMgc2hlbGxVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvc2hlbGxcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgcmVxdWVzdFV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9yZXF1ZXN0XCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGxvZ2dpbmdVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvbG9nZ2luZ1wiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB0ZW1wbGF0ZVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy90ZW1wbGF0ZVwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBmaWxlU3lzdGVtVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2ZpbGVTeXN0ZW1cIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgY29uZmlndXJhdGlvblV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9jb25maWd1cmF0aW9uXCI7XG4iXX0=
81
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIHBhdGhVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcGF0aFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBodHRwVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2h0dHBcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXJyYXlVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvYXJyYXlcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgYXN5bmNocm9ub3VzVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2FzeW5jaHJvbm91c1wiO1xuXG5leHBvcnQgeyBkZWZhdWx0IGFzIHNoZWxsVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL3NoZWxsXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIHJlcXVlc3RVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvcmVxdWVzdFwiO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsb2dnaW5nVXRpbGl0aWVzIH0gZnJvbSBcIi4vdXRpbGl0aWVzL2xvZ2dpbmdcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdGVtcGxhdGVVdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvdGVtcGxhdGVcIjtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgZmlsZVN5c3RlbVV0aWxpdGllcyB9IGZyb20gXCIuL3V0aWxpdGllcy9maWxlU3lzdGVtXCI7XG5leHBvcnQgeyBkZWZhdWx0IGFzIGNvbmZpZ3VyYXRpb25VdGlsaXRpZXMgfSBmcm9tIFwiLi91dGlsaXRpZXMvY29uZmlndXJhdGlvblwiO1xuIl0sIm5hbWVzIjpbInBhdGhVdGlsaXRpZXMiLCJkZWZhdWx0IiwiaHR0cFV0aWxpdGllcyIsImFycmF5VXRpbGl0aWVzIiwiYXN5bmNocm9ub3VzVXRpbGl0aWVzIiwic2hlbGxVdGlsaXRpZXMiLCJyZXF1ZXN0VXRpbGl0aWVzIiwibG9nZ2luZ1V0aWxpdGllcyIsInRlbXBsYXRlVXRpbGl0aWVzIiwiZmlsZVN5c3RlbVV0aWxpdGllcyIsImNvbmZpZ3VyYXRpb25VdGlsaXRpZXMiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7K0JBRVFBLENBQWE7OztxQkFBeEJDLE9BQU87OzsrQkFDSUMsQ0FBYTs7O3FCQUF4QkQsT0FBTzs7OytCQUNJRSxDQUFjOzs7c0JBQXpCRixPQUFPOzs7K0JBQ0lHLENBQXFCOzs7NkJBQWhDSCxPQUFPOzs7K0JBRUlJLENBQWM7OztzQkFBekJKLE9BQU87OzsrQkFDSUssQ0FBZ0I7Ozt3QkFBM0JMLE9BQU87OzsrQkFDSU0sQ0FBZ0I7Ozt3QkFBM0JOLE9BQU87OzsrQkFDSU8sQ0FBaUI7Ozt5QkFBNUJQLE9BQU87OzsrQkFDSVEsQ0FBbUI7OzsyQkFBOUJSLE9BQU87OzsrQkFDSVMsQ0FBc0I7Ozs4QkFBakNULE9BQU8ifQ==
package/lib/methods.js CHANGED
@@ -8,4 +8,4 @@ exports.GET_METHOD = GET_METHOD;
8
8
  var POST_METHOD = "POST";
9
9
  exports.POST_METHOD = POST_METHOD;
10
10
 
11
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRob2RzLmpzIl0sIm5hbWVzIjpbIkdFVF9NRVRIT0QiLCJQT1NUX01FVEhPRCJdLCJtYXBwaW5ncyI6IkNBQUEsVUFBWTs7Ozs7QUFFTCxHQUFLLENBQUMsVUFBVSxJQUFHLEdBQUs7UUFBbEIsVUFBVSxHQUFWLFVBQVU7QUFDaEIsR0FBSyxDQUFDLFdBQVcsSUFBRyxJQUFNO1FBQXBCLFdBQVcsR0FBWCxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBjb25zdCBHRVRfTUVUSE9EID0gXCJHRVRcIjtcbmV4cG9ydCBjb25zdCBQT1NUX01FVEhPRCA9IFwiUE9TVFwiO1xuIl19
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXRob2RzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5leHBvcnQgY29uc3QgR0VUX01FVEhPRCA9IFwiR0VUXCI7XG5leHBvcnQgY29uc3QgUE9TVF9NRVRIT0QgPSBcIlBPU1RcIjtcbiJdLCJuYW1lcyI6WyJHRVRfTUVUSE9EIiwiUE9TVF9NRVRIT0QiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7O0FBRUwsR0FBSyxDQUFDQSxVQUFVLEdBQUcsQ0FBSztRQUFsQkEsVUFBVSxHQUFWQSxVQUFVO0FBQ2hCLEdBQUssQ0FBQ0MsV0FBVyxHQUFHLENBQU07UUFBcEJBLFdBQVcsR0FBWEEsV0FBVyJ9
@@ -32,11 +32,11 @@ function post(host, uri, query, headers, content, callback) {
32
32
  underwriteContentType(headers, contentType);
33
33
  request(host, uri, query, method, headers, content, callback);
34
34
  }
35
- function request(host, uri, query, method, headers, content, callback) {
35
+ function request(host, uri, query, method, headers, content1, callback) {
36
36
  var url = (0, _http).urlFromHostURIAndQuery(host, uri, query), accept = headers[_constants.ACCEPT] || null, contentType = headers[_constants.CONTENT_TYPE] || null, xmlHttpRequest = new XMLHttpRequest();
37
37
  if (contentType === _contentTypes.APPLICATION_JSON_CONTENT_TYPE) {
38
- var json = content, jsonString = JSON.stringify(json);
39
- content = jsonString; ///
38
+ var json = content1, jsonString = JSON.stringify(json);
39
+ content1 = jsonString; ///
40
40
  }
41
41
  xmlHttpRequest.onreadystatechange = function() {
42
42
  var readyState = xmlHttpRequest.readyState, status = xmlHttpRequest.status, responseText = xmlHttpRequest.responseText, statusCode = status;
@@ -60,7 +60,7 @@ function request(host, uri, query, method, headers, content, callback) {
60
60
  if (contentType !== null) {
61
61
  xmlHttpRequest.setRequestHeader(_constants.CONTENT_TYPE, contentType);
62
62
  }
63
- content !== null ? xmlHttpRequest.send(content) : xmlHttpRequest.send();
63
+ content1 !== null ? xmlHttpRequest.send(content1) : xmlHttpRequest.send();
64
64
  }
65
65
  var _default = {
66
66
  get: get,
@@ -77,4 +77,4 @@ function underwriteContentType(headers, contentTYpe) {
77
77
  (0, _http).underwrite(headers, name, value);
78
78
  }
79
79
 
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJuYW1lcyI6WyJBQ0NFUFQiLCJDT05URU5UX1RZUEUiLCJHRVRfTUVUSE9EIiwiUE9TVF9NRVRIT0QiLCJBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSIsInVuZGVyd3JpdGUiLCJ1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5IiwiZ2V0IiwiaG9zdCIsInVyaSIsInF1ZXJ5IiwiaGVhZGVycyIsImNhbGxiYWNrIiwidW5kZWZpbmVkIiwibWV0aG9kIiwiYWNjZXB0IiwiY29udGVudCIsInVuZGVyd3JpdGVBY2NlcHQiLCJyZXF1ZXN0IiwicG9zdCIsImNvbnRlbnRUeXBlIiwidW5kZXJ3cml0ZUNvbnRlbnRUeXBlIiwidXJsIiwieG1sSHR0cFJlcXVlc3QiLCJYTUxIdHRwUmVxdWVzdCIsImpzb24iLCJqc29uU3RyaW5nIiwiSlNPTiIsInN0cmluZ2lmeSIsIm9ucmVhZHlzdGF0ZWNoYW5nZSIsInJlYWR5U3RhdGUiLCJzdGF0dXMiLCJyZXNwb25zZVRleHQiLCJzdGF0dXNDb2RlIiwicGFyc2UiLCJlcnJvciIsIm9wZW4iLCJzZXRSZXF1ZXN0SGVhZGVyIiwic2VuZCIsIm5hbWUiLCJ2YWx1ZSIsImNvbnRlbnRUWXBlIl0sIm1hcHBpbmdzIjoiQ0FBQSxVQUFZOzs7O1FBT0ksR0FBRyxHQUFILEdBQUc7UUFlSCxJQUFJLEdBQUosSUFBSTtRQWtCSixPQUFPLEdBQVAsT0FBTzs7QUF0Q2MsR0FBYyxDQUFkLFVBQWM7QUFDWCxHQUFZLENBQVosUUFBWTtBQUNOLEdBQWlCLENBQWpCLGFBQWlCO0FBQ1osR0FBbUIsQ0FBbkIsS0FBbUI7U0FFdEQsR0FBRyxDQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsQ0FBQztJQUN4RCxFQUFFLEVBQUUsUUFBUSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQzNCLFFBQVEsR0FBRyxPQUFPLENBQUUsQ0FBRyxBQUFILEVB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QUUsQ0FBQztRQUNwQixjQUFjLENBQUMsZ0JBQWdCLENBNUVFLFVBQWMsU0E0RVAsTUFBTTtJQUNoRCxDQUFDO0lBRUQsRUFBRSxFQUFFLFdBQVcsS0FBSyxJQUFJLEVBQUUsQ0FBQztRQUN6QixjQUFjLENBQUMsZ0JBQWdCLENBaEZFLFVBQWMsZUFnRkQsV0FBVztJQUMzRCxDQUFDO0lBRUEsT0FBTyxLQUFLLElBQUksR0FDZixjQUFjLENBQUMsSUFBSSxDQUFDLE9BQU8sSUFDekIsY0FBYyxDQUFDLElBQUk7QUFDekIsQ0FBQztlQUVjLENBQUM7SUFDZCxHQUFHLEVBQUgsR0FBRztJQUNILElBQUksRUFBSixJQUFJO0lBQ0osT0FBTyxFQUFQLE9BQU87QUFDVCxDQUFDOztTQUVRLGdCQUFnQixDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztJQUMxQyxHQUFLLENBQUMsSUFBSSxHQS9GeUIsVUFBYyxTQWdHM0MsS0FBSyxHQUFHLE1BQU0sQ0FBRSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7UUE3RndCLEtBQW1CLGFBK0Z6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUs7QUFDakMsQ0FBQztTQUVRLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsQ0FBQztJQUNwRCxHQUFLLENBQUMsSUFBSSxHQXRHeUIsVUFBYyxlQXVHM0MsS0FBSyxHQUFHLFdBQVcsQ0FBRSxDQUFHLEFBQUgsRUFBRyxBQUFILENBQUc7UUFwR21CLEtBQW1CLGFBc0d6RCxPQUFPLEVBQUUsSUFBSSxFQUFFLEtBQUs7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5pbXBvcnQgeyBBQ0NFUFQsIENPTlRFTlRfVFlQRSB9IGZyb20gXCIuLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IEdFVF9NRVRIT0QsIFBPU1RfTUVUSE9EIH0gZnJvbSBcIi4uL21ldGhvZHNcIjtcbmltcG9ydCB7IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFIH0gZnJvbSBcIi4uL2NvbnRlbnRUeXBlc1wiO1xuaW1wb3J0IHsgdW5kZXJ3cml0ZSwgdXJsRnJvbUhvc3RVUklBbmRRdWVyeSB9IGZyb20gXCIuLi91dGlsaXRpZXMvaHR0cFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0KGhvc3QsIHVyaSwgcXVlcnksIGhlYWRlcnMsIGNhbGxiYWNrKSB7XG4gIGlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FsbGJhY2sgPSBoZWFkZXJzOyAvLy9cbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBHRVRfTUVUSE9ELFxuICAgICAgICBhY2NlcHQgPSBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSxcbiAgICAgICAgY29udGVudCA9IG51bGw7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdChoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3N0KGhvc3QsIHVyaSwgcXVlcnksIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKSB7XG4gIGlmIChjYWxsYmFjayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgY2FsbGJhY2sgPSBjb250ZW50O1xuICAgIGNvbnRlbnQgPSBoZWFkZXJzO1xuICAgIGhlYWRlcnMgPSB7fTtcbiAgfVxuXG4gIGNvbnN0IG1ldGhvZCA9IFBPU1RfTUVUSE9ELFxuICAgICAgICBhY2NlcHQgPSBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSxcbiAgICAgICAgY29udGVudFR5cGUgPSBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRTtcblxuICB1bmRlcndyaXRlQWNjZXB0KGhlYWRlcnMsIGFjY2VwdCk7XG5cbiAgdW5kZXJ3cml0ZUNvbnRlbnRUeXBlKGhlYWRlcnMsIGNvbnRlbnRUeXBlKTtcblxuICByZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY29udGVudCwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKSB7XG4gIGNvbnN0IHVybCA9IHVybEZyb21Ib3N0VVJJQW5kUXVlcnkoaG9zdCwgdXJpLCBxdWVyeSksXG4gICAgICAgIGFjY2VwdCA9IGhlYWRlcnNbQUNDRVBUXSB8fCBudWxsLFxuICAgICAgICBjb250ZW50VHlwZSA9IGhlYWRlcnNbQ09OVEVOVF9UWVBFXSB8fCBudWxsLFxuICAgICAgICB4bWxIdHRwUmVxdWVzdCA9IG5ldyBYTUxIdHRwUmVxdWVzdCgpO1xuXG4gIGlmIChjb250ZW50VHlwZSA9PT0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUpIHtcbiAgICBjb25zdCBqc29uID0gY29udGVudCwgIC8vL1xuICAgICAgICAgIGpzb25TdHJpbmcgPSBKU09OLnN0cmluZ2lmeShqc29uKTtcblxuICAgIGNvbnRlbnQgPSBqc29uU3RyaW5nOyAgLy8vXG4gIH1cblxuICB4bWxIdHRwUmVxdWVzdC5vbnJlYWR5c3RhdGVjaGFuZ2UgPSAoKSA9PiB7XG4gICAgY29uc3QgeyByZWFkeVN0YXRlLCBzdGF0dXMsIHJlc3BvbnNlVGV4dCB9ID0geG1sSHR0cFJlcXVlc3QsXG4gICAgICAgICAgc3RhdHVzQ29kZSA9IHN0YXR1cztcblxuICAgIGlmIChyZWFkeVN0YXRlID09IDQpIHtcbiAgICAgIGxldCBjb250ZW50ID0gcmVzcG9uc2VUZXh0O1xuXG4gICAgICBpZiAoYWNjZXB0ID09PSBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGpzb25TdHJpbmcgPSBjb250ZW50LCAgLy8vXG4gICAgICAgICAgICAgICAganNvbiA9IEpTT04ucGFyc2UoanNvblN0cmluZyk7XG5cbiAgICAgICAgICBjb250ZW50ID0ganNvbjsgIC8vL1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnRlbnQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FsbGJhY2soY29udGVudCwgc3RhdHVzQ29kZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIHhtbEh0dHBSZXF1ZXN0Lm9wZW4obWV0aG9kLCB1cmwpO1xuXG4gIGlmIChhY2NlcHQgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKEFDQ0VQVCwgYWNjZXB0KTtcbiAgfVxuXG4gIGlmIChjb250ZW50VHlwZSAhPT0gbnVsbCkge1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNldFJlcXVlc3RIZWFkZXIoQ09OVEVOVF9UWVBFLCBjb250ZW50VHlwZSk7XG4gIH1cblxuICAoY29udGVudCAhPT0gbnVsbCkgP1xuICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoY29udGVudCkgOlxuICAgICAgeG1sSHR0cFJlcXVlc3Quc2VuZCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldCxcbiAgcG9zdCxcbiAgcmVxdWVzdFxufVxuXG5mdW5jdGlvbiB1bmRlcndyaXRlQWNjZXB0KGhlYWRlcnMsIGFjY2VwdCkge1xuICBjb25zdCBuYW1lID0gQUNDRVBULCAgLy8vXG4gICAgICAgIHZhbHVlID0gYWNjZXB0OyAvLy9cblxuICB1bmRlcndyaXRlKGhlYWRlcnMsIG5hbWUsIHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUNvbnRlbnRUeXBlKGhlYWRlcnMsIGNvbnRlbnRUWXBlKSB7XG4gIGNvbnN0IG5hbWUgPSBDT05URU5UX1RZUEUsICAvLy9cbiAgICAgICAgdmFsdWUgPSBjb250ZW50VFlwZTsgLy8vXG5cbiAgdW5kZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSk7XG59XG4iXX0=
80
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYWpheC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IHsgQUNDRVBULCBDT05URU5UX1RZUEUgfSBmcm9tIFwiLi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBHRVRfTUVUSE9ELCBQT1NUX01FVEhPRCB9IGZyb20gXCIuLi9tZXRob2RzXCI7XG5pbXBvcnQgeyBBUFBMSUNBVElPTl9KU09OX0NPTlRFTlRfVFlQRSB9IGZyb20gXCIuLi9jb250ZW50VHlwZXNcIjtcbmltcG9ydCB7IHVuZGVyd3JpdGUsIHVybEZyb21Ib3N0VVJJQW5kUXVlcnkgfSBmcm9tIFwiLi4vdXRpbGl0aWVzL2h0dHBcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gaGVhZGVyczsgLy8vXG4gICAgaGVhZGVycyA9IHt9O1xuICB9XG5cbiAgY29uc3QgbWV0aG9kID0gR0VUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnQgPSBudWxsO1xuXG4gIHVuZGVyd3JpdGVBY2NlcHQoaGVhZGVycywgYWNjZXB0KTtcblxuICByZXF1ZXN0KGhvc3QsIHVyaSwgcXVlcnksIG1ldGhvZCwgaGVhZGVycywgY29udGVudCwgY2FsbGJhY2spO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9zdChob3N0LCB1cmksIHF1ZXJ5LCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBpZiAoY2FsbGJhY2sgPT09IHVuZGVmaW5lZCkge1xuICAgIGNhbGxiYWNrID0gY29udGVudDtcbiAgICBjb250ZW50ID0gaGVhZGVycztcbiAgICBoZWFkZXJzID0ge307XG4gIH1cblxuICBjb25zdCBtZXRob2QgPSBQT1NUX01FVEhPRCxcbiAgICAgICAgYWNjZXB0ID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUsXG4gICAgICAgIGNvbnRlbnRUeXBlID0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEU7XG5cbiAgdW5kZXJ3cml0ZUFjY2VwdChoZWFkZXJzLCBhY2NlcHQpO1xuXG4gIHVuZGVyd3JpdGVDb250ZW50VHlwZShoZWFkZXJzLCBjb250ZW50VHlwZSk7XG5cbiAgcmVxdWVzdChob3N0LCB1cmksIHF1ZXJ5LCBtZXRob2QsIGhlYWRlcnMsIGNvbnRlbnQsIGNhbGxiYWNrKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlcXVlc3QoaG9zdCwgdXJpLCBxdWVyeSwgbWV0aG9kLCBoZWFkZXJzLCBjb250ZW50LCBjYWxsYmFjaykge1xuICBjb25zdCB1cmwgPSB1cmxGcm9tSG9zdFVSSUFuZFF1ZXJ5KGhvc3QsIHVyaSwgcXVlcnkpLFxuICAgICAgICBhY2NlcHQgPSBoZWFkZXJzW0FDQ0VQVF0gfHwgbnVsbCxcbiAgICAgICAgY29udGVudFR5cGUgPSBoZWFkZXJzW0NPTlRFTlRfVFlQRV0gfHwgbnVsbCxcbiAgICAgICAgeG1sSHR0cFJlcXVlc3QgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKTtcblxuICBpZiAoY29udGVudFR5cGUgPT09IEFQUExJQ0FUSU9OX0pTT05fQ09OVEVOVF9UWVBFKSB7XG4gICAgY29uc3QganNvbiA9IGNvbnRlbnQsICAvLy9cbiAgICAgICAgICBqc29uU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoanNvbik7XG5cbiAgICBjb250ZW50ID0ganNvblN0cmluZzsgIC8vL1xuICB9XG5cbiAgeG1sSHR0cFJlcXVlc3Qub25yZWFkeXN0YXRlY2hhbmdlID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgcmVhZHlTdGF0ZSwgc3RhdHVzLCByZXNwb25zZVRleHQgfSA9IHhtbEh0dHBSZXF1ZXN0LFxuICAgICAgICAgIHN0YXR1c0NvZGUgPSBzdGF0dXM7XG5cbiAgICBpZiAocmVhZHlTdGF0ZSA9PSA0KSB7XG4gICAgICBsZXQgY29udGVudCA9IHJlc3BvbnNlVGV4dDtcblxuICAgICAgaWYgKGFjY2VwdCA9PT0gQVBQTElDQVRJT05fSlNPTl9DT05URU5UX1RZUEUpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBqc29uU3RyaW5nID0gY29udGVudCwgIC8vL1xuICAgICAgICAgICAgICAgIGpzb24gPSBKU09OLnBhcnNlKGpzb25TdHJpbmcpO1xuXG4gICAgICAgICAgY29udGVudCA9IGpzb247ICAvLy9cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb250ZW50ID0gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNhbGxiYWNrKGNvbnRlbnQsIHN0YXR1c0NvZGUpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICB4bWxIdHRwUmVxdWVzdC5vcGVuKG1ldGhvZCwgdXJsKTtcblxuICBpZiAoYWNjZXB0ICE9PSBudWxsKSB7XG4gICAgeG1sSHR0cFJlcXVlc3Quc2V0UmVxdWVzdEhlYWRlcihBQ0NFUFQsIGFjY2VwdCk7XG4gIH1cblxuICBpZiAoY29udGVudFR5cGUgIT09IG51bGwpIHtcbiAgICB4bWxIdHRwUmVxdWVzdC5zZXRSZXF1ZXN0SGVhZGVyKENPTlRFTlRfVFlQRSwgY29udGVudFR5cGUpO1xuICB9XG5cbiAgKGNvbnRlbnQgIT09IG51bGwpID9cbiAgICB4bWxIdHRwUmVxdWVzdC5zZW5kKGNvbnRlbnQpIDpcbiAgICAgIHhtbEh0dHBSZXF1ZXN0LnNlbmQoKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBnZXQsXG4gIHBvc3QsXG4gIHJlcXVlc3Rcbn1cblxuZnVuY3Rpb24gdW5kZXJ3cml0ZUFjY2VwdChoZWFkZXJzLCBhY2NlcHQpIHtcbiAgY29uc3QgbmFtZSA9IEFDQ0VQVCwgIC8vL1xuICAgICAgICB2YWx1ZSA9IGFjY2VwdDsgLy8vXG5cbiAgdW5kZXJ3cml0ZShoZWFkZXJzLCBuYW1lLCB2YWx1ZSk7XG59XG5cbmZ1bmN0aW9uIHVuZGVyd3JpdGVDb250ZW50VHlwZShoZWFkZXJzLCBjb250ZW50VFlwZSkge1xuICBjb25zdCBuYW1lID0gQ09OVEVOVF9UWVBFLCAgLy8vXG4gICAgICAgIHZhbHVlID0gY29udGVudFRZcGU7IC8vL1xuXG4gIHVuZGVyd3JpdGUoaGVhZGVycywgbmFtZSwgdmFsdWUpO1xufVxuIl0sIm5hbWVzIjpbImdldCIsInBvc3QiLCJyZXF1ZXN0IiwiaG9zdCIsInVyaSIsInF1ZXJ5IiwiaGVhZGVycyIsImNhbGxiYWNrIiwidW5kZWZpbmVkIiwibWV0aG9kIiwiYWNjZXB0IiwiY29udGVudCIsInVuZGVyd3JpdGVBY2NlcHQiLCJjb250ZW50VHlwZSIsInVuZGVyd3JpdGVDb250ZW50VHlwZSIsInVybCIsInhtbEh0dHBSZXF1ZXN0IiwiWE1MSHR0cFJlcXVlc3QiLCJqc29uIiwianNvblN0cmluZyIsIkpTT04iLCJzdHJpbmdpZnkiLCJvbnJlYWR5c3RhdGVjaGFuZ2UiLCJyZWFkeVN0YXRlIiwic3RhdHVzIiwicmVzcG9uc2VUZXh0Iiwic3RhdHVzQ29kZSIsInBhcnNlIiwiZXJyb3IiLCJvcGVuIiwic2V0UmVxdWVzdEhlYWRlciIsInNlbmQiLCJuYW1lIiwidmFsdWUiLCJjb250ZW50VFlwZSJdLCJtYXBwaW5ncyI6IkFBQUEsQ0FBWTs7OztRQU9JQSxHQUFHLEdBQUhBLEdBQUc7UUFlSEMsSUFBSSxHQUFKQSxJQUFJO1FBa0JKQyxPQUFPLEdBQVBBLE9BQU87O0FBdENjLEdBQWMsQ0FBZCxVQUFjO0FBQ1gsR0FBWSxDQUFaLFFBQVk7QUFDTixHQUFpQixDQUFqQixhQUFpQjtBQUNaLEdBQW1CLENBQW5CLEtBQW1CO1NBRXRERixHQUFHLENBQUNHLElBQUksRUFBRUMsR0FBRyxFQUFFQyxLQUFLLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFLENBQUM7SUFDeEQsRUFBRSxFQUFFQSxRQUFRLEtBQUtDLFNBQVMsRUFBRSxDQUFDO1FBQzNCRCxRQUFRLEdBQUdE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
@@ -11,6 +11,7 @@ exports.fifthLast = fifthLast;
11
11
  exports.fourthLast = fourthLast;
12
12
  exports.thirdLast = thirdLast;
13
13
  exports.secondLast = secondLast;
14
+ exports.firstLast = firstLast;
14
15
  exports.last = last;
15
16
  exports.head = head;
16
17
  exports.tail = tail;
@@ -90,6 +91,9 @@ function thirdLast(array) {
90
91
  function secondLast(array) {
91
92
  return array[array.length - 2];
92
93
  }
94
+ function firstLast(array) {
95
+ return array[array.length - 1];
96
+ }
93
97
  function last(array) {
94
98
  return array[array.length - 1];
95
99
  }
@@ -136,7 +140,7 @@ function splice(array1, start, param, param1) {
136
140
  ].concat(_toConsumableArray(array2)), deletedItemsArray = Array.prototype.splice.apply(array1, args);
137
141
  return deletedItemsArray;
138
142
  }
139
- function replace(array, element, test) {
143
+ function replace(array, element1, test) {
140
144
  var start;
141
145
  var found = array.some(function(element, index) {
142
146
  var passed = test(element, index);
@@ -147,7 +151,7 @@ function replace(array, element, test) {
147
151
  });
148
152
  if (found) {
149
153
  var deleteCount = 1;
150
- array.splice(start, deleteCount, element);
154
+ array.splice(start, deleteCount, element1);
151
155
  }
152
156
  return found;
153
157
  }
@@ -184,7 +188,7 @@ function prune(array, test) {
184
188
  });
185
189
  return prunedElement;
186
190
  }
187
- function patch(array, element, test) {
191
+ function patch(array, element2, test) {
188
192
  var found = array.some(function(element, index) {
189
193
  var passed = test(element, index);
190
194
  if (passed) {
@@ -192,7 +196,7 @@ function patch(array, element, test) {
192
196
  }
193
197
  });
194
198
  if (found) {
195
- array.push(element);
199
+ array.push(element2);
196
200
  }
197
201
  return found;
198
202
  }
@@ -288,6 +292,7 @@ var _default = {
288
292
  fourthLast: fourthLast,
289
293
  thirdLast: thirdLast,
290
294
  secondLast: secondLast,
295
+ firstLast: firstLast,
291
296
  last: last,
292
297
  head: head,
293
298
  tail: tail,
@@ -318,4 +323,4 @@ var _default = {
318
323
  };
319
324
  exports.default = _default;
320
325
 
321
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwibmFtZXMiOlsiZmlyc3QiLCJhcnJheSIsInNlY29uZCIsInRoaXJkIiwiZm91cnRoIiwiZmlmdGgiLCJmaWZ0aExhc3QiLCJsZW5ndGgiLCJmb3VydGhMYXN0IiwidGhpcmRMYXN0Iiwic2Vjb25kTGFzdCIsImxhc3QiLCJoZWFkIiwic2xpY2UiLCJ0YWlsIiwiYmFjayIsImZyb250IiwicHVzaCIsImFycmF5MSIsImFycmF5MiIsIkFycmF5IiwicHJvdG90eXBlIiwiYXBwbHkiLCJ1bnNoaWZ0IiwiY29uY2F0IiwiZWxlbWVudE9yQXJyYXkyIiwiY2xlYXIiLCJzdGFydCIsInNwbGljZSIsImNvcHkiLCJkZWxldGVDb3VudCIsIm1lcmdlIiwiSW5maW5pdHkiLCJhcmdzIiwiZGVsZXRlZEl0ZW1zQXJyYXkiLCJyZXBsYWNlIiwiZWxlbWVudCIsInRlc3QiLCJmb3VuZCIsInNvbWUiLCJpbmRleCIsInBhc3NlZCIsImZpbHRlciIsImZpbHRlcmVkRWxlbWVudHMiLCJiYWNrd2FyZHNGb3JFYWNoIiwiZGVsZXRlZEVsZW1lbnRzIiwiZmlyc3REZWxldGVkRWxlbWVudCIsImZpbmQiLCJlbGVtZW50cyIsImZvcndhcmRzRm9yRWFjaCIsInBydW5lIiwicHJ1bmVkRWxlbWVudCIsInVuZGVmaW5lZCIsInBhdGNoIiwiYXVnbWVudCIsImZvckVhY2giLCJzZXBhcmF0ZSIsImZvcndhcmRzU29tZSIsImNhbGxiYWNrIiwiYXJyYXlMZW5ndGgiLCJyZXN1bHQiLCJiYWNrd2FyZHNTb21lIiwiZm9yd2FyZHNFdmVyeSIsImJhY2t3YXJkc0V2ZXJ5IiwiZm9yd2FyZHNSZWR1Y2UiLCJpbml0aWFsVmFsdWUiLCJ2YWx1ZSIsImJhY2t3YXJkc1JlZHVjZSJdLCJtYXBwaW5ncyI6IkNBQUEsVUFBWTs7OztRQUVJLEtBQUssR0FBTCxLQUFLO1FBRUwsTUFBTSxHQUFOLE1BQU07UUFFTixLQUFLLEdBQUwsS0FBSztRQUVMLE1BQU0sR0FBTixNQUFNO1FBRU4sS0FBSyxHQUFMLEtBQUs7UUFFTCxTQUFTLEdBQVQsU0FBUztRQUVULFVBQVUsR0FBVixVQUFVO1FBRVYsU0FBUyxHQUFULFNBQVM7UUFFVCxVQUFVLEdBQVYsVUFBVTtRQUVWLElBQUksR0FBSixJQUFJO1FBRUosSUFBSSxHQUFKLElBQUk7UUFFSixJQUFJLEdBQUosSUFBSTtRQUVKLElBQUksR0FBSixJQUFJO1FBRUosS0FBSyxHQUFMLEtBQUs7UUFFTCxJQUFJLEdBQUosSUFBSTtRQUVKLE9BQU8sR0FBUCxPQUFPO1FBRVAsTUFBTSxHQUFOLE1BQU07UUFRTixLQUFLLEdBQUwsS0FBSztRQU1MLElBQUksR0FBSixJQUFJO1FBT0osS0FBSyxHQUFMLEtBQUs7UUFFTCxNQUFNLEdBQU4sTUFBTTtRQU9OLE9BQU8sR0FBUCxPQUFPO1FBc0JQLE1BQU0sR0FBTixNQUFNO1FBbUJOLElBQUksR0FBSixJQUFJO1FBY0osS0FBSyxHQUFMLEtBQUs7UUFxQkwsS0FBSyxHQUFMLEtBQUs7UUFpQkwsT0FBTyxHQUFQLE9BQU87UUFVUCxRQUFRLEdBQVIsUUFBUTtRQVVSLFlBQVksR0FBWixZQUFZO1FBZVosYUFBYSxHQUFiLGFBQWE7UUFlYixhQUFhLEdBQWIsYUFBYTtRQWViLGNBQWMsR0FBZCxjQUFjO1FBZWQsY0FBYyxHQUFkLGNBQWM7UUFVZCxlQUFlLEdBQWYsZUFBZTtRQVVmLGVBQWUsR0FBZixlQUFlO1FBVWYsZ0JBQWdCLEdBQWhCLGdCQUFnQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7U0F6UWhCLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUFFLENBQUM7U0FFaEMsTUFBTSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQUcsQ0FBQztTQUVsQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7SUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7QUFBRyxDQUFDO1NBRWpDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUFHLENBQUM7U0FFbEMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQUcsQ0FBQztTQUVqQyxTQUFTLENBQUMsS0FBSyxFQUFFLENBQUM7SUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztBQUFHLENBQUM7U0FFcEQsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7QUFBRyxDQUFDO1NBRXJELFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxDQUFDO0FBQUcsQ0FBQztTQUVwRCxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsQ0FBQztBQUFHLENBQUM7U0FFckQsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7QUFBRyxDQUFDO1NBRS9DLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQUcsQ0FBQztTQUV6QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQUcsQ0FBQztTQUV0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUM7QUFBRyxDQUFDO1NBRXJELEtBQUssQ0FBQyxLQUFLLEVB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QUs7SUFDTCxNQUFNLEVBQU4sTUFBTTtJQUNOLEtBQUssRUFBTCxLQUFLO0lBQ0wsU0FBUyxFQUFULFNBQVM7SUFDVCxVQUFVLEVBQVYsVUFBVTtJQUNWLFNBQVMsRUFBVCxTQUFTO0lBQ1QsVUFBVSxFQUFWLFVBQVU7SUFDVixJQUFJLEVBQUosSUFBSTtJQUNKLElBQUksRUFBSixJQUFJO0lBQ0osSUFBSSxFQUFKLElBQUk7SUFDSixJQUFJLEVBQUosSUFBSTtJQUNKLEtBQUssRUFBTCxLQUFLO0lBQ0wsSUFBSSxFQUFKLElBQUk7SUFDSixPQUFPLEVBQVAsT0FBTztJQUNQLE1BQU0sRUFBTixNQUFNO0lBQ04sS0FBSyxFQUFMLEtBQUs7SUFDTCxJQUFJLEVBQUosSUFBSTtJQUNKLEtBQUssRUFBTCxLQUFLO0lBQ0wsTUFBTSxFQUFOLE1BQU07SUFDTixPQUFPLEVBQVAsT0FBTztJQUNQLE1BQU0sRUFBTixNQUFNO0lBQ04sSUFBSSxFQUFKLElBQUk7SUFDSixLQUFLLEVBQUwsS0FBSztJQUNMLEtBQUssRUFBTCxLQUFLO0lBQ0wsT0FBTyxFQUFQLE9BQU87SUFDUCxRQUFRLEVBQVIsUUFBUTtJQUNSLFlBQVksRUFBWixZQUFZO0lBQ1osYUFBYSxFQUFiLGFBQWE7SUFDYixhQUFhLEVBQWIsYUFBYTtJQUNiLGNBQWMsRUFBZCxjQUFjO0lBQ2QsY0FBYyxFQUFkLGNBQWM7SUFDZCxlQUFlLEVBQWYsZUFBZTtJQUNmLGVBQWUsRUFBZixlQUFlO0lBQ2YsZ0JBQWdCLEVBQWhCLGdCQUFnQjtBQUNsQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbMF07fVxuXG5leHBvcnQgZnVuY3Rpb24gc2Vjb25kKGFycmF5KSB7IHJldHVybiBhcnJheVsxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gdGhpcmQoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzJdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3VydGgoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWZ0aChhcnJheSkgeyByZXR1cm4gYXJyYXlbNF07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZnRoTGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gNV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvdXJ0aExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDRdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGlyZExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWNvbmRMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAyXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gbGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gMV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHsgcmV0dXJuIGFycmF5LnNsaWNlKDAsIDEpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWlsKGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gYmFjayhhcnJheSkgeyByZXR1cm4gYXJyYXkuc2xpY2UoYXJyYXkubGVuZ3RoIC0gMSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb250KGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgwLCBhcnJheS5sZW5ndGggLSAxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcHVzaChhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2hpZnQoYXJyYXkxLCBhcnJheTIpIHsgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoYXJyYXkxLCBhcnJheTIpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoYXJyYXkxLCBlbGVtZW50T3JBcnJheTIpIHtcbiAgY29uc3QgYXJyYXkyID0gKGVsZW1lbnRPckFycmF5MiBpbnN0YW5jZW9mIEFycmF5KSA/XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRPckFycmF5MiA6XG4gICAgICAgICAgICAgICAgICAgICBbZWxlbWVudE9yQXJyYXkyXTtcbiAgXG4gIHB1c2goYXJyYXkxLCBhcnJheTIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXIoYXJyYXkpIHtcbiAgY29uc3Qgc3RhcnQgPSAwO1xuICBcbiAgcmV0dXJuIGFycmF5LnNwbGljZShzdGFydCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5KGFycmF5MSwgYXJyYXkyKSB7XG4gIGNvbnN0IHN0YXJ0ID0gMCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBhcnJheTIubGVuZ3RoOyAgLy8vXG4gIFxuICBzcGxpY2UoYXJyYXkxLCBzdGFydCwgZGVsZXRlQ291bnQsIGFycmF5Mik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZShhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGljZShhcnJheTEsIHN0YXJ0LCBkZWxldGVDb3VudCA9IEluZmluaXR5LCBhcnJheTIgPSBbXSkge1xuICBjb25zdCBhcmdzID0gW3N0YXJ0LCBkZWxldGVDb3VudCwgLi4uYXJyYXkyXSxcbiAgICAgICAgZGVsZXRlZEl0ZW1zQXJyYXkgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KGFycmF5MSwgYXJncyk7XG5cbiAgcmV0dXJuIGRlbGV0ZWRJdGVtc0FycmF5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZShhcnJheSwgZWxlbWVudCwgdGVzdCkge1xuICBsZXQgc3RhcnQ7XG4gIFxuICBjb25zdCBmb3VuZCA9IGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocGFzc2VkKSB7XG4gICAgICBzdGFydCA9IGluZGV4OyAgLy8vXG4gICAgICBcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIFxuICBpZiAoZm91bmQpIHtcbiAgICBjb25zdCBkZWxldGVDb3VudCA9IDE7XG5cbiAgICBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCBlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihhcnJheSwgdGVzdCkge1xuICBjb25zdCBmaWx0ZXJlZEVsZW1lbnRzID0gW107XG4gIFxuICBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmICghcGFzc2VkKSB7XG4gICAgICBjb25zdCBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgICAgICBkZWxldGVDb3VudCA9IDEsXG4gICAgICAgICAgICBkZWxldGVkRWxlbWVudHMgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KSxcbiAgICAgICAgICAgIGZpcnN0RGVsZXRlZEVsZW1lbnQgPSBmaXJzdChkZWxldGVkRWxlbWVudHMpO1xuICAgICAgXG4gICAgICBmaWx0ZXJlZEVsZW1lbnRzLnVuc2hpZnQoZmlyc3REZWxldGVkRWxlbWVudCk7ICAvLy9cbiAgICB9XG4gIH0pO1xuICBcbiAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kKGFycmF5LCB0ZXN0KSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gW107XG5cbiAgZm9yd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmIChwYXNzZWQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcnVuZShhcnJheSwgdGVzdCkge1xuICBsZXQgcHJ1bmVkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgXG4gIGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxLFxuICAgICAgICAgICAgZGVsZXRlZEVsZW1lbnRzID0gYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCksXG4gICAgICAgICAgICBmaXJzdERlbGV0ZWRFbGVtZW50ID0gZmlyc3QoZGVsZXRlZEVsZW1lbnRzKTtcbiAgICAgIFxuICAgICAgcHJ1bmVkRWxlbWVudCA9IGZpcnN0RGVsZXRlZEVsZW1lbnQ7ICAvLy9cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbiAgXG4gIHJldHVybiBwcnVuZWRFbGVtZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2goYXJyYXksIGVsZW1lbnQsIHRlc3QpIHtcbiAgY29uc3QgZm91bmQgPSBhcnJheS5zb21lKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuXG4gIGlmIChmb3VuZCkge1xuICAgIGFycmF5LnB1c2goZWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdWdtZW50KGFycmF5MSwgYXJyYXkyLCB0ZXN0KSB7XG4gIGFycmF5Mi5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgYXJyYXkxLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcGFyYXRlKGFycmF5LCBhcnJheTEsIGFycmF5MiwgdGVzdCkge1xuICBhcnJheS5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgcGFzc2VkID9cbiAgICAgIGFycmF5MS5wdXNoKGVsZW1lbnQpIDpcbiAgICAgICAgYXJyYXkyLnB1c2goZWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcbiAgICBcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2spIHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5TGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXlMZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gIGZvcndhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgdmFsdWUgPSBjYWxsYmFjayh2YWx1ZSwgZWxlbWVudCwgaW5kZXgpO1xuICB9KTtcblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gIGJhY2t3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIHZhbHVlID0gY2FsbGJhY2sodmFsdWUsIGVsZW1lbnQsIGluZGV4KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmaXJzdCxcbiAgc2Vjb25kLFxuICB0aGlyZCxcbiAgZm91cnRoLFxuICBmaWZ0aCxcbiAgZmlmdGhMYXN0LFxuICBmb3VydGhMYXN0LFxuICB0aGlyZExhc3QsXG4gIHNlY29uZExhc3QsXG4gIGxhc3QsXG4gIGhlYWQsXG4gIHRhaWwsXG4gIGJhY2ssXG4gIGZyb250LFxuICBwdXNoLFxuICB1bnNoaWZ0LFxuICBjb25jYXQsXG4gIGNsZWFyLFxuICBjb3B5LFxuICBtZXJnZSxcbiAgc3BsaWNlLFxuICByZXBsYWNlLFxuICBmaWx0ZXIsXG4gIGZpbmQsXG4gIHBydW5lLFxuICBwYXRjaCxcbiAgYXVnbWVudCxcbiAgc2VwYXJhdGUsXG4gIGZvcndhcmRzU29tZSxcbiAgYmFja3dhcmRzU29tZSxcbiAgZm9yd2FyZHNFdmVyeSxcbiAgYmFja3dhcmRzRXZlcnksXG4gIGZvcndhcmRzUmVkdWNlLFxuICBiYWNrd2FyZHNSZWR1Y2UsXG4gIGZvcndhcmRzRm9yRWFjaCxcbiAgYmFja3dhcmRzRm9yRWFjaFxufTtcbiJdfQ==
326
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYXJyYXkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbMF07fVxuXG5leHBvcnQgZnVuY3Rpb24gc2Vjb25kKGFycmF5KSB7IHJldHVybiBhcnJheVsxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gdGhpcmQoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzJdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3VydGgoYXJyYXkpIHsgcmV0dXJuIGFycmF5WzNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWZ0aChhcnJheSkgeyByZXR1cm4gYXJyYXlbNF07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpZnRoTGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gNV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvdXJ0aExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDRdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0aGlyZExhc3QoYXJyYXkpIHsgcmV0dXJuIGFycmF5W2FycmF5Lmxlbmd0aCAtIDNdOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWNvbmRMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAyXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gZmlyc3RMYXN0KGFycmF5KSB7IHJldHVybiBhcnJheVthcnJheS5sZW5ndGggLSAxXTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gbGFzdChhcnJheSkgeyByZXR1cm4gYXJyYXlbYXJyYXkubGVuZ3RoIC0gMV07IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGhlYWQoYXJyYXkpIHsgcmV0dXJuIGFycmF5LnNsaWNlKDAsIDEpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0YWlsKGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gYmFjayhhcnJheSkgeyByZXR1cm4gYXJyYXkuc2xpY2UoYXJyYXkubGVuZ3RoIC0gMSk7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb250KGFycmF5KSB7IHJldHVybiBhcnJheS5zbGljZSgwLCBhcnJheS5sZW5ndGggLSAxKTsgfVxuXG5leHBvcnQgZnVuY3Rpb24gcHVzaChhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHVuc2hpZnQoYXJyYXkxLCBhcnJheTIpIHsgQXJyYXkucHJvdG90eXBlLnVuc2hpZnQuYXBwbHkoYXJyYXkxLCBhcnJheTIpOyB9XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoYXJyYXkxLCBlbGVtZW50T3JBcnJheTIpIHtcbiAgY29uc3QgYXJyYXkyID0gKGVsZW1lbnRPckFycmF5MiBpbnN0YW5jZW9mIEFycmF5KSA/XG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnRPckFycmF5MiA6XG4gICAgICAgICAgICAgICAgICAgICBbZWxlbWVudE9yQXJyYXkyXTtcbiAgXG4gIHB1c2goYXJyYXkxLCBhcnJheTIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYXIoYXJyYXkpIHtcbiAgY29uc3Qgc3RhcnQgPSAwO1xuICBcbiAgcmV0dXJuIGFycmF5LnNwbGljZShzdGFydCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjb3B5KGFycmF5MSwgYXJyYXkyKSB7XG4gIGNvbnN0IHN0YXJ0ID0gMCxcbiAgICAgICAgZGVsZXRlQ291bnQgPSBhcnJheTIubGVuZ3RoOyAgLy8vXG4gIFxuICBzcGxpY2UoYXJyYXkxLCBzdGFydCwgZGVsZXRlQ291bnQsIGFycmF5Mik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZShhcnJheTEsIGFycmF5MikgeyBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShhcnJheTEsIGFycmF5Mik7IH1cblxuZXhwb3J0IGZ1bmN0aW9uIHNwbGljZShhcnJheTEsIHN0YXJ0LCBkZWxldGVDb3VudCA9IEluZmluaXR5LCBhcnJheTIgPSBbXSkge1xuICBjb25zdCBhcmdzID0gW3N0YXJ0LCBkZWxldGVDb3VudCwgLi4uYXJyYXkyXSxcbiAgICAgICAgZGVsZXRlZEl0ZW1zQXJyYXkgPSBBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KGFycmF5MSwgYXJncyk7XG5cbiAgcmV0dXJuIGRlbGV0ZWRJdGVtc0FycmF5O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVwbGFjZShhcnJheSwgZWxlbWVudCwgdGVzdCkge1xuICBsZXQgc3RhcnQ7XG4gIFxuICBjb25zdCBmb3VuZCA9IGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAocGFzc2VkKSB7XG4gICAgICBzdGFydCA9IGluZGV4OyAgLy8vXG4gICAgICBcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfSk7XG4gIFxuICBpZiAoZm91bmQpIHtcbiAgICBjb25zdCBkZWxldGVDb3VudCA9IDE7XG5cbiAgICBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50LCBlbGVtZW50KTtcbiAgfVxuXG4gIHJldHVybiBmb3VuZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlcihhcnJheSwgdGVzdCkge1xuICBjb25zdCBmaWx0ZXJlZEVsZW1lbnRzID0gW107XG4gIFxuICBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmICghcGFzc2VkKSB7XG4gICAgICBjb25zdCBzdGFydCA9IGluZGV4LCAgLy8vXG4gICAgICAgICAgICBkZWxldGVDb3VudCA9IDEsXG4gICAgICAgICAgICBkZWxldGVkRWxlbWVudHMgPSBhcnJheS5zcGxpY2Uoc3RhcnQsIGRlbGV0ZUNvdW50KSxcbiAgICAgICAgICAgIGZpcnN0RGVsZXRlZEVsZW1lbnQgPSBmaXJzdChkZWxldGVkRWxlbWVudHMpO1xuICAgICAgXG4gICAgICBmaWx0ZXJlZEVsZW1lbnRzLnVuc2hpZnQoZmlyc3REZWxldGVkRWxlbWVudCk7ICAvLy9cbiAgICB9XG4gIH0pO1xuICBcbiAgcmV0dXJuIGZpbHRlcmVkRWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaW5kKGFycmF5LCB0ZXN0KSB7XG4gIGNvbnN0IGVsZW1lbnRzID0gW107XG5cbiAgZm9yd2FyZHNGb3JFYWNoKGFycmF5LCAoZWxlbWVudCwgaW5kZXgpID0+IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0ZXN0KGVsZW1lbnQsIGluZGV4KTtcblxuICAgIGlmIChwYXNzZWQpIHtcbiAgICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gZWxlbWVudHM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcnVuZShhcnJheSwgdGVzdCkge1xuICBsZXQgcHJ1bmVkRWxlbWVudCA9IHVuZGVmaW5lZDtcbiAgXG4gIGFycmF5LnNvbWUoKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgY29uc3QgcGFzc2VkID0gdGVzdChlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXBhc3NlZCkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBpbmRleCwgIC8vL1xuICAgICAgICAgICAgZGVsZXRlQ291bnQgPSAxLFxuICAgICAgICAgICAgZGVsZXRlZEVsZW1lbnRzID0gYXJyYXkuc3BsaWNlKHN0YXJ0LCBkZWxldGVDb3VudCksXG4gICAgICAgICAgICBmaXJzdERlbGV0ZWRFbGVtZW50ID0gZmlyc3QoZGVsZXRlZEVsZW1lbnRzKTtcbiAgICAgIFxuICAgICAgcHJ1bmVkRWxlbWVudCA9IGZpcnN0RGVsZXRlZEVsZW1lbnQ7ICAvLy9cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcbiAgXG4gIHJldHVybiBwcnVuZWRFbGVtZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGF0Y2goYXJyYXksIGVsZW1lbnQsIHRlc3QpIHtcbiAgY29uc3QgZm91bmQgPSBhcnJheS5zb21lKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9KTtcblxuXG4gIGlmIChmb3VuZCkge1xuICAgIGFycmF5LnB1c2goZWxlbWVudCk7XG4gIH1cblxuICByZXR1cm4gZm91bmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhdWdtZW50KGFycmF5MSwgYXJyYXkyLCB0ZXN0KSB7XG4gIGFycmF5Mi5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHBhc3NlZCkge1xuICAgICAgYXJyYXkxLnB1c2goZWxlbWVudCk7XG4gICAgfVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlcGFyYXRlKGFycmF5LCBhcnJheTEsIGFycmF5MiwgdGVzdCkge1xuICBhcnJheS5mb3JFYWNoKChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRlc3QoZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgcGFzc2VkID9cbiAgICAgIGFycmF5MS5wdXNoKGVsZW1lbnQpIDpcbiAgICAgICAgYXJyYXkyLnB1c2goZWxlbWVudCk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdLFxuICAgICAgICAgIHJlc3VsdCA9IGNhbGxiYWNrKGVsZW1lbnQsIGluZGV4KTtcbiAgICBcbiAgICBpZiAocmVzdWx0KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNTb21lKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF0sXG4gICAgICAgICAgcmVzdWx0ID0gY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuXG4gICAgaWYgKHJlc3VsdCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNFdmVyeShhcnJheSwgY2FsbGJhY2spIHtcbiAgY29uc3QgYXJyYXlMZW5ndGggPSBhcnJheS5sZW5ndGg7XG5cbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IGFycmF5TGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYmFja3dhcmRzRXZlcnkoYXJyYXksIGNhbGxiYWNrKSB7XG4gIGNvbnN0IGFycmF5TGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuXG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXlMZW5ndGggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IGFycmF5W2luZGV4XSxcbiAgICAgICAgICByZXN1bHQgPSBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG5cbiAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gIGZvcndhcmRzRm9yRWFjaChhcnJheSwgKGVsZW1lbnQsIGluZGV4KSA9PiB7XG4gICAgdmFsdWUgPSBjYWxsYmFjayh2YWx1ZSwgZWxlbWVudCwgaW5kZXgpO1xuICB9KTtcblxuICByZXR1cm4gdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNSZWR1Y2UoYXJyYXksIGNhbGxiYWNrLCBpbml0aWFsVmFsdWUpIHtcbiAgbGV0IHZhbHVlID0gaW5pdGlhbFZhbHVlO1xuXG4gIGJhY2t3YXJkc0ZvckVhY2goYXJyYXksIChlbGVtZW50LCBpbmRleCkgPT4ge1xuICAgIHZhbHVlID0gY2FsbGJhY2sodmFsdWUsIGVsZW1lbnQsIGluZGV4KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9yd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgYXJyYXlMZW5ndGg7IGluZGV4KyspIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXlbaW5kZXhdO1xuXG4gICAgY2FsbGJhY2soZWxlbWVudCwgaW5kZXgpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBiYWNrd2FyZHNGb3JFYWNoKGFycmF5LCBjYWxsYmFjaykge1xuICBjb25zdCBhcnJheUxlbmd0aCA9IGFycmF5Lmxlbmd0aDtcblxuICBmb3IgKGxldCBpbmRleCA9IGFycmF5TGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGVsZW1lbnQgPSBhcnJheVtpbmRleF07XG5cbiAgICBjYWxsYmFjayhlbGVtZW50LCBpbmRleCk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBmaXJzdCxcbiAgc2Vjb25kLFxuICB0aGlyZCxcbiAgZm91cnRoLFxuICBmaWZ0aCxcbiAgZmlmdGhMYXN0LFxuICBmb3VydGhMYXN0LFxuICB0aGlyZExhc3QsXG4gIHNlY29uZExhc3QsXG4gIGZpcnN0TGFzdCxcbiAgbGFzdCxcbiAgaGVhZCxcbiAgdGFpbCxcbiAgYmFjayxcbiAgZnJvbnQsXG4gIHB1c2gsXG4gIHVuc2hpZnQsXG4gIGNvbmNhdCxcbiAgY2xlYXIsXG4gIGNvcHksXG4gIG1lcmdlLFxuICBzcGxpY2UsXG4gIHJlcGxhY2UsXG4gIGZpbHRlcixcbiAgZmluZCxcbiAgcHJ1bmUsXG4gIHBhdGNoLFxuICBhdWdtZW50LFxuICBzZXBhcmF0ZSxcbiAgZm9yd2FyZHNTb21lLFxuICBiYWNrd2FyZHNTb21lLFxuICBmb3J3YXJkc0V2ZXJ5LFxuICBiYWNrd2FyZHNFdmVyeSxcbiAgZm9yd2FyZHNSZWR1Y2UsXG4gIGJhY2t3YXJkc1JlZHVjZSxcbiAgZm9yd2FyZHNGb3JFYWNoLFxuICBiYWNrd2FyZHNGb3JFYWNoXG59O1xuIl0sIm5hbWVzIjpbImZpcnN0Iiwic2Vjb25kIiwidGhpcmQiLCJmb3VydGgiLCJmaWZ0aCIsImZpZnRoTGFzdCIsImZvdXJ0aExhc3QiLCJ0aGlyZExhc3QiLCJzZWNvbmRMYXN0IiwiZmlyc3RMYXN0IiwibGFzdCIsImhlYWQiLCJ0YWlsIiwiYmFjayIsImZyb250IiwicHVzaCIsInVuc2hpZnQiLCJjb25jYXQiLCJjbGVhciIsImNvcHkiLCJtZXJnZSIsInNwbGljZSIsInJlcGxhY2UiLCJmaWx0ZXIiLCJmaW5kIiwicHJ1bmUiLCJwYXRjaCIsImF1Z21lbnQiLCJzZXBhcmF0ZSIsImZvcndhcmRzU29tZSIsImJhY2t3YXJkc1NvbWUiLCJmb3J3YXJkc0V2ZXJ5IiwiYmFja3dhcmRzRXZlcnkiLCJmb3J3YXJkc1JlZHVjZSIsImJhY2t3YXJkc1JlZHVjZSIsImZvcndhcmRzRm9yRWFjaCIsImJhY2t3YXJkc0ZvckVhY2giLCJhcnJheSIsImxlbmd0aCIsInNsaWNlIiwiYXJyYXkxIiwiYXJyYXkyIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJhcHBseSIsImVsZW1lbnRPckFycmF5MiIsInN0YXJ0IiwiZGVsZXRlQ291bnQiLCJJbmZpbml0eSIsImFyZ3MiLCJkZWxldGVkSXRlbXNBcnJheSIsImVsZW1lbnQiLCJ0ZXN0IiwiZm91bmQiLCJzb21lIiwiaW5kZXgiLCJwYXNzZWQiLCJmaWx0ZXJlZEVsZW1lbnRzIiwiZGVsZXRlZEVsZW1lbnRzIiwiZmlyc3REZWxldGVkRWxlbWVudCIsImVsZW1lbnRzIiwicHJ1bmVkRWxlbWVudCIsInVuZGVmaW5lZCIsImZvckVhY2giLCJjYWxsYmFjayIsImFycmF5TGVuZ3RoIiwicmVzdWx0IiwiaW5pdGlhbFZhbHVlIiwidmFsdWUiXSwibWFwcGluZ3MiOiJBQUFBLENBQVk7Ozs7UUFFSUEsS0FBSyxHQUFMQSxLQUFLO1FBRUxDLE1BQU0sR0FBTkEsTUFBTTtRQUVOQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsTUFBTSxHQUFOQSxNQUFNO1FBRU5DLEtBQUssR0FBTEEsS0FBSztRQUVMQyxTQUFTLEdBQVRBLFNBQVM7UUFFVEMsVUFBVSxHQUFWQSxVQUFVO1FBRVZDLFNBQVMsR0FBVEEsU0FBUztRQUVUQyxVQUFVLEdBQVZBLFVBQVU7UUFFVkMsU0FBUyxHQUFUQSxTQUFTO1FBRVRDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxJQUFJLEdBQUpBLElBQUk7UUFFSkMsSUFBSSxHQUFKQSxJQUFJO1FBRUpDLElBQUksR0FBSkEsSUFBSTtRQUVKQyxLQUFLLEdBQUxBLEtBQUs7UUFFTEMsSUFBSSxHQUFKQSxJQUFJ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