@datagrok-libraries/statistics 1.6.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2,7 +2,7 @@
2
2
  export var NELDER_MEAD_DEFAULTS;
3
3
  (function (NELDER_MEAD_DEFAULTS) {
4
4
  NELDER_MEAD_DEFAULTS[NELDER_MEAD_DEFAULTS["TOLERANCE"] = 0.01] = "TOLERANCE";
5
- NELDER_MEAD_DEFAULTS[NELDER_MEAD_DEFAULTS["MAX_ITER"] = 20] = "MAX_ITER";
5
+ NELDER_MEAD_DEFAULTS[NELDER_MEAD_DEFAULTS["MAX_ITER"] = 30] = "MAX_ITER";
6
6
  NELDER_MEAD_DEFAULTS[NELDER_MEAD_DEFAULTS["NON_ZERO_PARAM"] = 0.0001] = "NON_ZERO_PARAM";
7
7
  NELDER_MEAD_DEFAULTS[NELDER_MEAD_DEFAULTS["INITIAL_SCALE"] = 0.02] = "INITIAL_SCALE";
8
8
  NELDER_MEAD_DEFAULTS[NELDER_MEAD_DEFAULTS["SCALE_REFLECTION"] = 1] = "SCALE_REFLECTION";
@@ -153,4 +153,4 @@ export const optimizeNM = function (objectiveFunc, paramsInitial, settings, rest
153
153
  iterCount: iteration - 1,
154
154
  };
155
155
  };
156
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW1pemVyLW5lbGRlci1tZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsib3B0aW1pemVyLW5lbGRlci1tZWFkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLGdEQUFnRDtBQUNoRCxNQUFNLENBQU4sSUFBWSxvQkFRWDtBQVJELFdBQVksb0JBQW9CO0lBQzlCLDRFQUFnQixDQUFBO0lBQ2hCLHdFQUFhLENBQUE7SUFDYix3RkFBdUIsQ0FBQTtJQUN2QixvRkFBb0IsQ0FBQTtJQUNwQix1RkFBb0IsQ0FBQTtJQUNwQixxRkFBbUIsQ0FBQTtJQUNuQiw0RkFBd0IsQ0FBQTtBQUMxQixDQUFDLEVBUlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQVEvQjtBQUVELG1EQUFtRDtBQUNuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN4QyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUM7SUFDN0IsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7SUFDbEMsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDO0lBQ2pDLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7SUFDdkMsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQztJQUNyQyxDQUFDLGtCQUFrQixFQUFFLG1CQUFtQixDQUFDO0NBQzFDLENBQUMsQ0FBQztBQUVILFNBQVMsZ0JBQWdCLENBQ3ZCLGFBQTZFLEVBQzdFLFFBQTRCLEVBQzVCLGFBQTJCLEVBQzNCLGtCQUFnQyxFQUNoQyxlQUE2QjtJQUM3QixNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNyQyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlB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RUFBRSxDQUFDLEVBQUU7WUFDdEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxQztJQUVELE9BQU87UUFDTCxLQUFLLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxTQUFTLEVBQUUsS0FBSztRQUNoQixTQUFTLEVBQUUsU0FBUyxHQUFHLENBQUM7S0FDekIsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXh0cmVtdW0sIElPcHRpbWl6ZXJ9IGZyb20gJy4vb3B0aW1pemVyLW1pc2MnO1xuXG5cbi8qKiBUaGUgTmVsZGVyLU1lYWQgbWV0aG9kIHNldHRpbmdzICovXG5leHBvcnQgdHlwZSBOZWxkZXJNZWFkU2V0dGluZ3MgPSB7XG4gIHRvbGVyYW5jZTogbnVtYmVyLFxuICBtYXhJdGVyOiBudW1iZXIsXG4gIG5vblplcm9QYXJhbTogbnVtYmVyLFxuICBpbml0aWFsU2NhbGU6IG51bWJlcixcbiAgc2NhbGVSZWZsZWN0aW9uOiBudW1iZXIsXG4gIHNjYWxlRXhwYW5zaW9uOiBudW1iZXIsXG4gIHNjYWxlQ29udHJhY3Rpb246IG51bWJlcixcbn07XG5cbi8qKiBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIE5lbGRlci1NZWFkIG1ldGhvZCAqL1xuZXhwb3J0IGVudW0gTkVMREVSX01FQURfREVGQVVMVFMge1xuICBUT0xFUkFOQ0UgPSAwLjAxLFxuICBNQVhfSVRFUiA9IDIwLFxuICBOT05fWkVST19QQVJBTSA9IDAuMDAwMSxcbiAgSU5JVElBTF9TQ0FMRSA9IDAuMDIsXG4gIFNDQUxFX1JFRkxFQ1RJT04gPSAxLFxuICBTQ0FMRV9FWFBBTlNJT04gPSAyLFxuICBTQ0FMRV9DT05UUkFDVElPTiA9IC0wLjUsXG59XG5cbi8qKiBDYXB0aW9ucyBmb3IgdGhlIE5lbGRlci1NZWFkIG1ldGhvZCBzZXR0aW5ncyAqL1xuZXhwb3J0IGNvbnN0IG5lbGRlck1lYWRDYXB0aW9ucyA9IG5ldyBNYXAoW1xuICBbJ3RvbGVyYW5jZScsICdUb2xlcmFuY2UnXSxcbiAgWydtYXhJdGVyJywgJ01heCBpdGVyYXRpb25zJ10sXG4gIFsnbm9uWmVyb1BhcmFtJywgJ05vbi16ZXJvIHBhcmFtJ10sXG4gIFsnaW5pdGlhbFNjYWxlJywgJ0luaXRpYWwgc2NhbGUnXSxcbiAgWydzY2FsZVJlZmxlY3Rpb24nLCAnU2NhbGUgcmVmbGVjdGlvbiddLFxuICBbJ3NjYWxlRXhwYW5zaW9uJywgJ1NjYWxlIGV4cGFuc2lvbiddLFxuICBbJ3NjYWxlQ29udHJhY3Rpb24nLCAnU2NhbGUgY29udHJhY3Rpb24nXSxcbl0pO1xuXG5mdW5jdGlvbiBnZXRJbml0aWFsUGFyYW1zKFxuICBvYmplY3RpdmVGdW5jOiAoeDogRmxvYXQzMkFycmF5KSA9PiB7bGlrZWxpaG9vZDogbnVtYmVyLCByZXNpZHVhbHM6IG51bWJlcltdfSxcbiAgc2V0dGluZ3M6IE5lbGRlck1lYWRTZXR0aW5ncyxcbiAgcGFyYW1zSW5pdGlhbDogRmxvYXQzMkFycmF5LFxuICByZXN0cmljdGlvbnNCb3R0b206IEZsb2F0MzJBcnJheSxcbiAgcmVzdHJpY3Rpb25zVG9wOiBGbG9hdDMyQXJyYXkpOiBbRmxvYXQzMkFycmF5W10sIG51bWJlcltdXSB7XG4gIGNvbnN0IGRpbSA9IHBhcmFtc0luaXRpYWwubGVuZ3RoICsgMTtcbiAgY29uc3QgZGltUGFyYW1zID0gcGFyYW1zSW5pdGlhbC5sZW5ndGg7XG4gIGNvbnN0IG5vblplcm9QYXJhbSA9IHNldHRpbmdzLm5vblplcm9QYXJhbTtcbiAgY29uc3QgaW5pdFNjYWxlID0gc2V0dGluZ3MuaW5pdGlhbFNjYWxlO1xuXG4gIGNvbnN0IG9wdFBhcmFtcyA9IG5ldyBBcnJheTxGbG9hdDMyQXJyYXk+KGRpbSk7XG4gIGNvbnN0IHBvaW50T2JqZWN0aXZlcyA9IG5ldyBBcnJheTxudW1iZXI+KGRpbSk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaW07IGkrKykge1xuICAgIG9wdFBhcmFtc1tpXSA9IG5ldyBGbG9hdDMyQXJyYXkoZGltUGFyYW1zKTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRpbVBhcmFtczsgaisrKSB7XG4gICAgICBvcHRQYXJhbXNbaV1bal0gPSBwYXJhbXNJbml0aWFsW2pdO1xuICAgICAgaWYgKGkgIT09IDAgJiYgaSAtIDEgPT09IGopIHtcbiAgICAgICAgaWYgKHBhcmFtc0luaXRpYWxbal0gPT09IDApXG4gICAgICAgICAgb3B0UGFyYW1zW2ldW2pdID0gbm9uWmVyb1BhcmFtO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgb3B0UGFyYW1zW2ldW2pdICs9IGluaXRTY2FsZSAqIHBhcmFtc0luaXRpYWxbaSAtIDFdO1xuXG4gICAgICAgIGlmIChvcHRQYXJhbXNbaV1bal0gPCByZXN0cmljdGlvbnNCb3R0b21bal0pXG4gICAgICAgICAgb3B0UGFyYW1zW2ldW2pdID0gcmVzdHJpY3Rpb25zQm90dG9tW2pdO1xuICAgICAgICBlbHNlIGlmIChvcHRQYXJhbXNbaV1bal0gPiByZXN0cmljdGlvbnNUb3Bbal0pXG4gICAgICAgICAgb3B0UGFyYW1zW2ldW2pdID0gcmVzdHJpY3Rpb25zVG9wW2pdO1xuICAgICAgfVxuICAgIH1cbiAgICBwb2ludE9iamVjdGl2ZXNbaV0gPSBvYmplY3RpdmVGdW5jKG9wdFBhcmFtc1tpXSkubGlrZWxpaG9vZDtcbiAgfVxuXG4gIHJldHVybiBbb3B0UGFyYW1zLCBwb2ludE9iamVjdGl2ZXNdO1xufVxuXG5mdW5jdGlvbiBmaWxsQ2VudHJvaWQoY2VudHJvaWQ6IEZsb2F0MzJBcnJheSwgZGltUGFyYW1zOiBudW1iZXIsIGxhc3RJbmRleDogbnVtYmVyLCBvcHRQYXJhbXM6IEZsb2F0MzJBcnJheVtdKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGltUGFyYW1zOyBpKyspIHtcbiAgICBsZXQgdmFsID0gMDtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRpbVBhcmFtcyArIDE7IGorKykge1xuICAgICAgaWYgKGogIT09IGxhc3RJbmRleClcbiAgICAgICAgdmFsICs9IG9wdFBhcmFtc1tqXVtpXTtcbiAgICB9XG4gICAgY2VudHJvaWRbaV0gPSB2YWwgLyBkaW1QYXJhbXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmlsbFBvaW50KFxuICBjZW50cm9pZDogRmxvYXQzMkFycmF5LCBwb2ludDogRmxvYXQzMkFycmF5LFxuICBsYXN0SW5kZXg6IG51bWJlciwgb3B0UGFyYW1zOiBGbG9hdDMyQXJyYXlbXSxcbiAgc2NhbGU6IG51bWJlciwgZGltUGFyYW1zOiBudW1iZXIsXG4gIHJlc3RyaWN0aW9uc0JvdHRvbTogRmxvYXQzMkFycmF5LFxuICByZXN0cmljdGlvbnNUb3A6IEZsb2F0MzJBcnJheSkge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbVBhcmFtczsgaSsrKSB7XG4gICAgcG9pbnRbaV0gPSBjZW50cm9pZFtpXTtcbiAgICBwb2ludFtpXSArPSBzY2FsZSAqIChjZW50cm9pZFtpXSAtIG9wdFBhcmFtc1tsYXN0SW5kZXhdW2ldKTtcblxuICAgIGlmIChwb2ludFtpXSA8IHJlc3RyaWN0aW9uc0JvdHRvbVtpXSlcbiAgICAgIHBvaW50W2ldID0gcmVzdHJpY3Rpb25zQm90dG9tW2ldO1xuICAgIGVsc2UgaWYgKHBvaW50W2ldID4gcmVzdHJpY3Rpb25zVG9wW2ldKVxuICAgICAgcG9pbnRbaV0gPSByZXN0cmljdGlvbnNUb3BbaV07XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG9wdGltaXplTk06IElPcHRpbWl6ZXIgPSBmdW5jdGlvbihcbiAgb2JqZWN0aXZlRnVuYzogKHg6IEZsb2F0MzJBcnJheSkgPT4ge2xpa2VsaWhvb2Q6IG51bWJlciwgcmVzaWR1YWxzOiBudW1iZXJbXX0sXG4gIHBhcmFtc0luaXRpYWw6IEZsb2F0MzJBcnJheSxcbiAgc2V0dGluZ3M6IE5lbGRlck1lYWRTZXR0aW5ncyxcbiAgcmVzdHJpY3Rpb25zQm90dG9tOiBGbG9hdDMyQXJyYXksXG4gIHJlc3RyaWN0aW9uc1RvcDogRmxvYXQzMkFycmF5KTogRXh0cmVtdW0ge1xuICAvLyBTZXR0aW5ncyBpbml0aWFsaXphdGlvblxuICBjb25zdCB0b2xlcmFuY2UgPSBzZXR0aW5ncy50b2xlcmFuY2U7XG4gIGNvbnN0IG1heEl0ZXIgPSBzZXR0aW5ncy5tYXhJdGVyO1xuXG4gIGNvbnN0IHNjYWxlUmVmbGVjdGlvbiA9IHNldHRpbmdzLnNjYWxlUmVmbGVjdGlvbjtcbiAgY29uc3Qgc2NhbGVFeHBhbnNpb24gPSBzZXR0aW5ncy5zY2FsZUV4cGFuc2lvbjtcbiAgY29uc3Qgc2NhbGVDb250cmFjdGlvbiA9IHNldHRpbmdzLnNjYWxlQ29udHJhY3Rpb247XG4gIGNvbnN0IGRpbSA9IHBhcmFtc0luaXRpYWwubGVuZ3RoICsgMTtcbiAgY29uc3QgZGltUGFyYW1zID0gcGFyYW1zSW5pdGlhbC5sZW5ndGg7XG5cbiAgY29uc3QgW29wdFBhcmFtcywgcG9pbnRPYmplY3RpdmVzXSA9XG4gICAgZ2V0SW5pdGlhbFBhcmFtcyhvYmplY3RpdmVGdW5jLCBzZXR0aW5ncywgcGFyYW1zSW5pdGlhbCwgcmVzdHJpY3Rpb25zQm90dG9tLCByZXN0cmljdGlvbnNUb3ApO1xuXG4gIGNvbnN0IGluZGV4ZXMgPSBuZXcgQXJyYXk8bnVtYmVyPihkaW0pO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbTsgaSsrKVxuICAgIGluZGV4ZXNbaV0gPSBpO1xuXG4gIGNvbnN0IGxhc3RJbmRleCA9IGluZGV4ZXMubGVuZ3RoIC0gMTtcbiAgbGV0IGl0ZXJhdGlvbiA9IDA7XG4gIGxldCBiZXN0ID0gMDtcbiAgbGV0IHByZXZpb3VzQmVzdCA9IDA7XG4gIGxldCBub0ltcHJvdmVtZW50ID0gMDtcblxuICBjb25zdCBjZW50cm9pZCA9IG5ldyBGbG9hdDMyQXJyYXkoZGltUGFyYW1zKTtcbiAgY29uc3QgcmVmbGVjdGlvblBvaW50ID0gbmV3IEZsb2F0MzJBcnJheShkaW1QYXJhbXMpO1xuICBjb25zdCBleHBhbnNpb25Qb2ludCA9IG5ldyBGbG9hdDMyQXJyYXkoZGltUGFyYW1zKTtcbiAgY29uc3QgY29udHJhY3Rpb25Qb2ludCA9IG5ldyBGbG9hdDMyQXJyYXkoZGltUGFyYW1zKTtcbiAgY29uc3QgY29zdHMgPSBuZXcgQXJyYXk8bnVtYmVyPihtYXhJdGVyKTtcblxuICBpZiAoZGltID4gMSkge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpbmRleGVzLnNvcnQoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBwb2ludE9iamVjdGl2ZXNbYV0gLSBwb2ludE9iamVjdGl2ZXNbYl07XG4gICAgICB9KTtcbiAgICAgIGlmIChpdGVyYXRpb24gPiBtYXhJdGVyKVxuICAgICAgICBicmVhaztcblxuICAgICAgaWYgKGl0ZXJhdGlvbiA9PT0gMCkge1xuICAgICAgICBiZXN0ID0gcG9pbnRPYmplY3RpdmVzWzBdO1xuICAgICAgICBwcmV2aW91c0Jlc3QgPSAyICogcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbMF1dO1xuICAgICAgfVxuICAgICAgY29zdHNbaXRlcmF0aW9uXSA9IGJlc3Q7XG5cbiAgICAgICsraXRlcmF0aW9uO1xuXG4gICAgICBiZXN0ID0gcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbMF1dO1xuICAgICAgaWYgKHByZXZpb3VzQmVzdCAtIGJlc3QgPiB0b2xlcmFuY2UpXG4gICAgICAgIG5vSW1wcm92ZW1lbnQgPSAwO1xuICAgICAgZWxzZSB7XG4gICAgICAgICsrbm9JbXByb3ZlbWVudDtcbiAgICAgICAgaWYgKG5vSW1wcm92ZW1lbnQgPiAyICogZGltKVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c0Jlc3QgPSBiZXN0O1xuXG4gICAgICAvLyBjZW50cm9pZFxuICAgICAgZmlsbENlbnRyb2lkKGNlbnRyb2lkLCBkaW1QYXJhbXMsIGluZGV4ZXNbbGFzdEluZGV4XSwgb3B0UGFyYW1zKTtcblxuICAgICAgLy8gcmVmbGVjdGlvblxuICAgICAgZmlsbFBvaW50KGNlbnRyb2lkLCByZWZsZWN0aW9uUG9pbnQsIGluZGV4ZXNbbGFzdEluZGV4XSxcbiAgICAgICAgb3B0UGFyYW1zLCBzY2FsZVJlZmxlY3Rpb24sIGRpbVBhcmFtcywgcmVzdHJpY3Rpb25zQm90dG9tLCByZXN0cmljdGlvbnNUb3ApO1xuICAgICAgY29uc3QgcmVmbGVjdGlvblNjb3JlID0gb2JqZWN0aXZlRnVuYyhyZWZsZWN0aW9uUG9pbnQpLmxpa2VsaWhvb2Q7XG5cbiAgICAgIC8vIGV4cGFuc2lvblxuICAgICAgaWYgKHJlZmxlY3Rpb25TY29yZSA8IHBvaW50T2JqZWN0aXZlc1tpbmRleGVzW2xhc3RJbmRleF1dKSB7XG4gICAgICAgIGZpbGxQb2ludChjZW50cm9pZCwgZXhwYW5zaW9uUG9pbnQsIGluZGV4ZXNbbGFzdEluZGV4XSxcbiAgICAgICAgICBvcHRQYXJhbXMsIHNjYWxlRXhwYW5zaW9uLCBkaW1QYXJhbXMsIHJlc3RyaWN0aW9uc0JvdHRvbSwgcmVzdHJpY3Rpb25zVG9wKTtcblxuICAgICAgICBjb25zdCBleHBhbnNpb25TY29yZSA9IG9iamVjdGl2ZUZ1bmMoZXhwYW5zaW9uUG9pbnQpLmxpa2VsaWhvb2Q7XG5cbiAgICAgICAgaWYgKGV4cGFuc2lvblNjb3JlIDwgcmVmbGVjdGlvblNjb3JlKSB7XG4gICAgICAgICAgcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbbGFzdEluZGV4XV0gPSBleHBhbnNpb25TY29yZTtcblxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltUGFyYW1zOyBpKyspXG4gICAgICAgICAgICBvcHRQYXJhbXNbaW5kZXhlc1tsYXN0SW5kZXhdXVtpXSA9IGV4cGFuc2lvblBvaW50W2ldO1xuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbbGFzdEluZGV4XV0gPSByZWZsZWN0aW9uU2NvcmU7XG5cbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbVBhcmFtczsgaSsrKVxuICAgICAgICAgICAgb3B0UGFyYW1zW2luZGV4ZXNbbGFzdEluZGV4XV1baV0gPSByZWZsZWN0aW9uUG9pbnRbaV07XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBDb250cmFjdGlvblxuICAgICAgZmlsbFBvaW50KGNlbnRyb2lkLCBjb250cmFjdGlvblBvaW50LCBpbmRleGVzW2xhc3RJbmRleF0sXG4gICAgICAgIG9wdFBhcmFtcywgc2NhbGVDb250cmFjdGlvbiwgZGltUGFyYW1zLCByZXN0cmljdGlvbnNCb3R0b20sIHJlc3RyaWN0aW9uc1RvcCk7XG5cbiAgICAgIGNvbnN0IGNvbnRyYWN0aW9uU2NvcmUgPSBvYmplY3RpdmVGdW5jKGNvbnRyYWN0aW9uUG9pbnQpLmxpa2VsaWhvb2Q7XG5cbiAgICAgIGlmIChjb250cmFjdGlvblNjb3JlIDwgcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbbGFzdEluZGV4XV0pIHtcbiAgICAgICAgcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbbGFzdEluZGV4XV0gPSBjb250cmFjdGlvblNjb3JlO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltUGFyYW1zOyBpKyspXG4gICAgICAgICAgb3B0UGFyYW1zW2luZGV4ZXNbbGFzdEluZGV4XV1baV0gPSBjb250cmFjdGlvblBvaW50W2ldO1xuXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gaXRlcmF0aW9uOyBpIDwgbWF4SXRlcjsgaSsrKVxuICAgICAgY29zdHNbaV0gPSBwb2ludE9iamVjdGl2ZXNbaW5kZXhlc1swXV07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBvaW50OiBvcHRQYXJhbXNbaW5kZXhlc1swXV0sXG4gICAgY29zdDogcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbMF1dLFxuICAgIGl0ZXJDb3N0czogY29zdHMsXG4gICAgaXRlckNvdW50OiBpdGVyYXRpb24gLSAxLFxuICB9O1xufTtcbiJdfQ==
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW1pemVyLW5lbGRlci1tZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsib3B0aW1pemVyLW5lbGRlci1tZWFkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWNBLGdEQUFnRDtBQUNoRCxNQUFNLENBQU4sSUFBWSxvQkFRWDtBQVJELFdBQVksb0JBQW9CO0lBQzlCLDRFQUFnQixDQUFBO0lBQ2hCLHdFQUFhLENBQUE7SUFDYix3RkFBdUIsQ0FBQTtJQUN2QixvRkFBb0IsQ0FBQTtJQUNwQix1RkFBb0IsQ0FBQTtJQUNwQixxRkFBbUIsQ0FBQTtJQUNuQiw0RkFBd0IsQ0FBQTtBQUMxQixDQUFDLEVBUlcsb0JBQW9CLEtBQXBCLG9CQUFvQixRQVEvQjtBQUVELG1EQUFtRDtBQUNuRCxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxJQUFJLEdBQUcsQ0FBQztJQUN4QyxDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUM7SUFDN0IsQ0FBQyxjQUFjLEVBQUUsZ0JBQWdCLENBQUM7SUFDbEMsQ0FBQyxjQUFjLEVBQUUsZUFBZSxDQUFDO0lBQ2pDLENBQUMsaUJBQWlCLEVBQUUsa0JBQWtCLENBQUM7SUFDdkMsQ0FBQyxnQkFBZ0IsRUFBRSxpQkFBaUIsQ0FBQztJQUNyQyxDQUFDLGtCQUFrQixFQUFFLG1CQUFtQixDQUFDO0NBQzFDLENBQUMsQ0FBQztBQUVILFNBQVMsZ0JBQWdCLENBQ3ZCLGFBQTZFLEVBQzdFLFFBQTRCLEVBQzVCLGFBQTJCLEVBQzNCLGtCQUFnQyxFQUNoQyxlQUE2QjtJQUM3QixNQUFNLEdBQUcsR0FBRyxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQztJQUNyQyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ3ZDLE1BQU0sWUFBWSxHQUFHLFFBQVEsQ0FBQyxZQUFZLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsUUFBUSxDQUFDLFlB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RUFBRSxDQUFDLEVBQUU7WUFDdEMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxQztJQUVELE9BQU87UUFDTCxLQUFLLEVBQUUsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1QixJQUFJLEVBQUUsZUFBZSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQyxTQUFTLEVBQUUsS0FBSztRQUNoQixTQUFTLEVBQUUsU0FBUyxHQUFHLENBQUM7S0FDekIsQ0FBQztBQUNKLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RXh0cmVtdW0sIElPcHRpbWl6ZXJ9IGZyb20gJy4vb3B0aW1pemVyLW1pc2MnO1xuXG5cbi8qKiBUaGUgTmVsZGVyLU1lYWQgbWV0aG9kIHNldHRpbmdzICovXG5leHBvcnQgdHlwZSBOZWxkZXJNZWFkU2V0dGluZ3MgPSB7XG4gIHRvbGVyYW5jZTogbnVtYmVyLFxuICBtYXhJdGVyOiBudW1iZXIsXG4gIG5vblplcm9QYXJhbTogbnVtYmVyLFxuICBpbml0aWFsU2NhbGU6IG51bWJlcixcbiAgc2NhbGVSZWZsZWN0aW9uOiBudW1iZXIsXG4gIHNjYWxlRXhwYW5zaW9uOiBudW1iZXIsXG4gIHNjYWxlQ29udHJhY3Rpb246IG51bWJlcixcbn07XG5cbi8qKiBEZWZhdWx0IHZhbHVlcyBmb3IgdGhlIE5lbGRlci1NZWFkIG1ldGhvZCAqL1xuZXhwb3J0IGVudW0gTkVMREVSX01FQURfREVGQVVMVFMge1xuICBUT0xFUkFOQ0UgPSAwLjAxLFxuICBNQVhfSVRFUiA9IDMwLFxuICBOT05fWkVST19QQVJBTSA9IDAuMDAwMSxcbiAgSU5JVElBTF9TQ0FMRSA9IDAuMDIsXG4gIFNDQUxFX1JFRkxFQ1RJT04gPSAxLFxuICBTQ0FMRV9FWFBBTlNJT04gPSAyLFxuICBTQ0FMRV9DT05UUkFDVElPTiA9IC0wLjUsXG59XG5cbi8qKiBDYXB0aW9ucyBmb3IgdGhlIE5lbGRlci1NZWFkIG1ldGhvZCBzZXR0aW5ncyAqL1xuZXhwb3J0IGNvbnN0IG5lbGRlck1lYWRDYXB0aW9ucyA9IG5ldyBNYXAoW1xuICBbJ3RvbGVyYW5jZScsICdUb2xlcmFuY2UnXSxcbiAgWydtYXhJdGVyJywgJ01heCBpdGVyYXRpb25zJ10sXG4gIFsnbm9uWmVyb1BhcmFtJywgJ05vbi16ZXJvIHBhcmFtJ10sXG4gIFsnaW5pdGlhbFNjYWxlJywgJ0luaXRpYWwgc2NhbGUnXSxcbiAgWydzY2FsZVJlZmxlY3Rpb24nLCAnU2NhbGUgcmVmbGVjdGlvbiddLFxuICBbJ3NjYWxlRXhwYW5zaW9uJywgJ1NjYWxlIGV4cGFuc2lvbiddLFxuICBbJ3NjYWxlQ29udHJhY3Rpb24nLCAnU2NhbGUgY29udHJhY3Rpb24nXSxcbl0pO1xuXG5mdW5jdGlvbiBnZXRJbml0aWFsUGFyYW1zKFxuICBvYmplY3RpdmVGdW5jOiAoeDogRmxvYXQzMkFycmF5KSA9PiB7bGlrZWxpaG9vZDogbnVtYmVyLCByZXNpZHVhbHM6IG51bWJlcltdfSxcbiAgc2V0dGluZ3M6IE5lbGRlck1lYWRTZXR0aW5ncyxcbiAgcGFyYW1zSW5pdGlhbDogRmxvYXQzMkFycmF5LFxuICByZXN0cmljdGlvbnNCb3R0b206IEZsb2F0MzJBcnJheSxcbiAgcmVzdHJpY3Rpb25zVG9wOiBGbG9hdDMyQXJyYXkpOiBbRmxvYXQzMkFycmF5W10sIG51bWJlcltdXSB7XG4gIGNvbnN0IGRpbSA9IHBhcmFtc0luaXRpYWwubGVuZ3RoICsgMTtcbiAgY29uc3QgZGltUGFyYW1zID0gcGFyYW1zSW5pdGlhbC5sZW5ndGg7XG4gIGNvbnN0IG5vblplcm9QYXJhbSA9IHNldHRpbmdzLm5vblplcm9QYXJhbTtcbiAgY29uc3QgaW5pdFNjYWxlID0gc2V0dGluZ3MuaW5pdGlhbFNjYWxlO1xuXG4gIGNvbnN0IG9wdFBhcmFtcyA9IG5ldyBBcnJheTxGbG9hdDMyQXJyYXk+KGRpbSk7XG4gIGNvbnN0IHBvaW50T2JqZWN0aXZlcyA9IG5ldyBBcnJheTxudW1iZXI+KGRpbSk7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaW07IGkrKykge1xuICAgIG9wdFBhcmFtc1tpXSA9IG5ldyBGbG9hdDMyQXJyYXkoZGltUGFyYW1zKTtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRpbVBhcmFtczsgaisrKSB7XG4gICAgICBvcHRQYXJhbXNbaV1bal0gPSBwYXJhbXNJbml0aWFsW2pdO1xuICAgICAgaWYgKGkgIT09IDAgJiYgaSAtIDEgPT09IGopIHtcbiAgICAgICAgaWYgKHBhcmFtc0luaXRpYWxbal0gPT09IDApXG4gICAgICAgICAgb3B0UGFyYW1zW2ldW2pdID0gbm9uWmVyb1BhcmFtO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgb3B0UGFyYW1zW2ldW2pdICs9IGluaXRTY2FsZSAqIHBhcmFtc0luaXRpYWxbaSAtIDFdO1xuXG4gICAgICAgIGlmIChvcHRQYXJhbXNbaV1bal0gPCByZXN0cmljdGlvbnNCb3R0b21bal0pXG4gICAgICAgICAgb3B0UGFyYW1zW2ldW2pdID0gcmVzdHJpY3Rpb25zQm90dG9tW2pdO1xuICAgICAgICBlbHNlIGlmIChvcHRQYXJhbXNbaV1bal0gPiByZXN0cmljdGlvbnNUb3Bbal0pXG4gICAgICAgICAgb3B0UGFyYW1zW2ldW2pdID0gcmVzdHJpY3Rpb25zVG9wW2pdO1xuICAgICAgfVxuICAgIH1cbiAgICBwb2ludE9iamVjdGl2ZXNbaV0gPSBvYmplY3RpdmVGdW5jKG9wdFBhcmFtc1tpXSkubGlrZWxpaG9vZDtcbiAgfVxuXG4gIHJldHVybiBbb3B0UGFyYW1zLCBwb2ludE9iamVjdGl2ZXNdO1xufVxuXG5mdW5jdGlvbiBmaWxsQ2VudHJvaWQoY2VudHJvaWQ6IEZsb2F0MzJBcnJheSwgZGltUGFyYW1zOiBudW1iZXIsIGxhc3RJbmRleDogbnVtYmVyLCBvcHRQYXJhbXM6IEZsb2F0MzJBcnJheVtdKSB7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGltUGFyYW1zOyBpKyspIHtcbiAgICBsZXQgdmFsID0gMDtcbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGRpbVBhcmFtcyArIDE7IGorKykge1xuICAgICAgaWYgKGogIT09IGxhc3RJbmRleClcbiAgICAgICAgdmFsICs9IG9wdFBhcmFtc1tqXVtpXTtcbiAgICB9XG4gICAgY2VudHJvaWRbaV0gPSB2YWwgLyBkaW1QYXJhbXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmlsbFBvaW50KFxuICBjZW50cm9pZDogRmxvYXQzMkFycmF5LCBwb2ludDogRmxvYXQzMkFycmF5LFxuICBsYXN0SW5kZXg6IG51bWJlciwgb3B0UGFyYW1zOiBGbG9hdDMyQXJyYXlbXSxcbiAgc2NhbGU6IG51bWJlciwgZGltUGFyYW1zOiBudW1iZXIsXG4gIHJlc3RyaWN0aW9uc0JvdHRvbTogRmxvYXQzMkFycmF5LFxuICByZXN0cmljdGlvbnNUb3A6IEZsb2F0MzJBcnJheSkge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbVBhcmFtczsgaSsrKSB7XG4gICAgcG9pbnRbaV0gPSBjZW50cm9pZFtpXTtcbiAgICBwb2ludFtpXSArPSBzY2FsZSAqIChjZW50cm9pZFtpXSAtIG9wdFBhcmFtc1tsYXN0SW5kZXhdW2ldKTtcblxuICAgIGlmIChwb2ludFtpXSA8IHJlc3RyaWN0aW9uc0JvdHRvbVtpXSlcbiAgICAgIHBvaW50W2ldID0gcmVzdHJpY3Rpb25zQm90dG9tW2ldO1xuICAgIGVsc2UgaWYgKHBvaW50W2ldID4gcmVzdHJpY3Rpb25zVG9wW2ldKVxuICAgICAgcG9pbnRbaV0gPSByZXN0cmljdGlvbnNUb3BbaV07XG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IG9wdGltaXplTk06IElPcHRpbWl6ZXIgPSBmdW5jdGlvbihcbiAgb2JqZWN0aXZlRnVuYzogKHg6IEZsb2F0MzJBcnJheSkgPT4ge2xpa2VsaWhvb2Q6IG51bWJlciwgcmVzaWR1YWxzOiBudW1iZXJbXX0sXG4gIHBhcmFtc0luaXRpYWw6IEZsb2F0MzJBcnJheSxcbiAgc2V0dGluZ3M6IE5lbGRlck1lYWRTZXR0aW5ncyxcbiAgcmVzdHJpY3Rpb25zQm90dG9tOiBGbG9hdDMyQXJyYXksXG4gIHJlc3RyaWN0aW9uc1RvcDogRmxvYXQzMkFycmF5KTogRXh0cmVtdW0ge1xuICAvLyBTZXR0aW5ncyBpbml0aWFsaXphdGlvblxuICBjb25zdCB0b2xlcmFuY2UgPSBzZXR0aW5ncy50b2xlcmFuY2U7XG4gIGNvbnN0IG1heEl0ZXIgPSBzZXR0aW5ncy5tYXhJdGVyO1xuXG4gIGNvbnN0IHNjYWxlUmVmbGVjdGlvbiA9IHNldHRpbmdzLnNjYWxlUmVmbGVjdGlvbjtcbiAgY29uc3Qgc2NhbGVFeHBhbnNpb24gPSBzZXR0aW5ncy5zY2FsZUV4cGFuc2lvbjtcbiAgY29uc3Qgc2NhbGVDb250cmFjdGlvbiA9IHNldHRpbmdzLnNjYWxlQ29udHJhY3Rpb247XG4gIGNvbnN0IGRpbSA9IHBhcmFtc0luaXRpYWwubGVuZ3RoICsgMTtcbiAgY29uc3QgZGltUGFyYW1zID0gcGFyYW1zSW5pdGlhbC5sZW5ndGg7XG5cbiAgY29uc3QgW29wdFBhcmFtcywgcG9pbnRPYmplY3RpdmVzXSA9XG4gICAgZ2V0SW5pdGlhbFBhcmFtcyhvYmplY3RpdmVGdW5jLCBzZXR0aW5ncywgcGFyYW1zSW5pdGlhbCwgcmVzdHJpY3Rpb25zQm90dG9tLCByZXN0cmljdGlvbnNUb3ApO1xuXG4gIGNvbnN0IGluZGV4ZXMgPSBuZXcgQXJyYXk8bnVtYmVyPihkaW0pO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbTsgaSsrKVxuICAgIGluZGV4ZXNbaV0gPSBpO1xuXG4gIGNvbnN0IGxhc3RJbmRleCA9IGluZGV4ZXMubGVuZ3RoIC0gMTtcbiAgbGV0IGl0ZXJhdGlvbiA9IDA7XG4gIGxldCBiZXN0ID0gMDtcbiAgbGV0IHByZXZpb3VzQmVzdCA9IDA7XG4gIGxldCBub0ltcHJvdmVtZW50ID0gMDtcblxuICBjb25zdCBjZW50cm9pZCA9IG5ldyBGbG9hdDMyQXJyYXkoZGltUGFyYW1zKTtcbiAgY29uc3QgcmVmbGVjdGlvblBvaW50ID0gbmV3IEZsb2F0MzJBcnJheShkaW1QYXJhbXMpO1xuICBjb25zdCBleHBhbnNpb25Qb2ludCA9IG5ldyBGbG9hdDMyQXJyYXkoZGltUGFyYW1zKTtcbiAgY29uc3QgY29udHJhY3Rpb25Qb2ludCA9IG5ldyBGbG9hdDMyQXJyYXkoZGltUGFyYW1zKTtcbiAgY29uc3QgY29zdHMgPSBuZXcgQXJyYXk8bnVtYmVyPihtYXhJdGVyKTtcblxuICBpZiAoZGltID4gMSkge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBpbmRleGVzLnNvcnQoKGE6IG51bWJlciwgYjogbnVtYmVyKSA9PiB7XG4gICAgICAgIHJldHVybiBwb2ludE9iamVjdGl2ZXNbYV0gLSBwb2ludE9iamVjdGl2ZXNbYl07XG4gICAgICB9KTtcbiAgICAgIGlmIChpdGVyYXRpb24gPiBtYXhJdGVyKVxuICAgICAgICBicmVhaztcblxuICAgICAgaWYgKGl0ZXJhdGlvbiA9PT0gMCkge1xuICAgICAgICBiZXN0ID0gcG9pbnRPYmplY3RpdmVzWzBdO1xuICAgICAgICBwcmV2aW91c0Jlc3QgPSAyICogcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbMF1dO1xuICAgICAgfVxuICAgICAgY29zdHNbaXRlcmF0aW9uXSA9IGJlc3Q7XG5cbiAgICAgICsraXRlcmF0aW9uO1xuXG4gICAgICBiZXN0ID0gcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbMF1dO1xuICAgICAgaWYgKHByZXZpb3VzQmVzdCAtIGJlc3QgPiB0b2xlcmFuY2UpXG4gICAgICAgIG5vSW1wcm92ZW1lbnQgPSAwO1xuICAgICAgZWxzZSB7XG4gICAgICAgICsrbm9JbXByb3ZlbWVudDtcbiAgICAgICAgaWYgKG5vSW1wcm92ZW1lbnQgPiAyICogZGltKVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBwcmV2aW91c0Jlc3QgPSBiZXN0O1xuXG4gICAgICAvLyBjZW50cm9pZFxuICAgICAgZmlsbENlbnRyb2lkKGNlbnRyb2lkLCBkaW1QYXJhbXMsIGluZGV4ZXNbbGFzdEluZGV4XSwgb3B0UGFyYW1zKTtcblxuICAgICAgLy8gcmVmbGVjdGlvblxuICAgICAgZmlsbFBvaW50KGNlbnRyb2lkLCByZWZsZWN0aW9uUG9pbnQsIGluZGV4ZXNbbGFzdEluZGV4XSxcbiAgICAgICAgb3B0UGFyYW1zLCBzY2FsZVJlZmxlY3Rpb24sIGRpbVBhcmFtcywgcmVzdHJpY3Rpb25zQm90dG9tLCByZXN0cmljdGlvbnNUb3ApO1xuICAgICAgY29uc3QgcmVmbGVjdGlvblNjb3JlID0gb2JqZWN0aXZlRnVuYyhyZWZsZWN0aW9uUG9pbnQpLmxpa2VsaWhvb2Q7XG5cbiAgICAgIC8vIGV4cGFuc2lvblxuICAgICAgaWYgKHJlZmxlY3Rpb25TY29yZSA8IHBvaW50T2JqZWN0aXZlc1tpbmRleGVzW2xhc3RJbmRleF1dKSB7XG4gICAgICAgIGZpbGxQb2ludChjZW50cm9pZCwgZXhwYW5zaW9uUG9pbnQsIGluZGV4ZXNbbGFzdEluZGV4XSxcbiAgICAgICAgICBvcHRQYXJhbXMsIHNjYWxlRXhwYW5zaW9uLCBkaW1QYXJhbXMsIHJlc3RyaWN0aW9uc0JvdHRvbSwgcmVzdHJpY3Rpb25zVG9wKTtcblxuICAgICAgICBjb25zdCBleHBhbnNpb25TY29yZSA9IG9iamVjdGl2ZUZ1bmMoZXhwYW5zaW9uUG9pbnQpLmxpa2VsaWhvb2Q7XG5cbiAgICAgICAgaWYgKGV4cGFuc2lvblNjb3JlIDwgcmVmbGVjdGlvblNjb3JlKSB7XG4gICAgICAgICAgcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbbGFzdEluZGV4XV0gPSBleHBhbnNpb25TY29yZTtcblxuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltUGFyYW1zOyBpKyspXG4gICAgICAgICAgICBvcHRQYXJhbXNbaW5kZXhlc1tsYXN0SW5kZXhdXVtpXSA9IGV4cGFuc2lvblBvaW50W2ldO1xuXG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbbGFzdEluZGV4XV0gPSByZWZsZWN0aW9uU2NvcmU7XG5cbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGRpbVBhcmFtczsgaSsrKVxuICAgICAgICAgICAgb3B0UGFyYW1zW2luZGV4ZXNbbGFzdEluZGV4XV1baV0gPSByZWZsZWN0aW9uUG9pbnRbaV07XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBDb250cmFjdGlvblxuICAgICAgZmlsbFBvaW50KGNlbnRyb2lkLCBjb250cmFjdGlvblBvaW50LCBpbmRleGVzW2xhc3RJbmRleF0sXG4gICAgICAgIG9wdFBhcmFtcywgc2NhbGVDb250cmFjdGlvbiwgZGltUGFyYW1zLCByZXN0cmljdGlvbnNCb3R0b20sIHJlc3RyaWN0aW9uc1RvcCk7XG5cbiAgICAgIGNvbnN0IGNvbnRyYWN0aW9uU2NvcmUgPSBvYmplY3RpdmVGdW5jKGNvbnRyYWN0aW9uUG9pbnQpLmxpa2VsaWhvb2Q7XG5cbiAgICAgIGlmIChjb250cmFjdGlvblNjb3JlIDwgcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbbGFzdEluZGV4XV0pIHtcbiAgICAgICAgcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbbGFzdEluZGV4XV0gPSBjb250cmFjdGlvblNjb3JlO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltUGFyYW1zOyBpKyspXG4gICAgICAgICAgb3B0UGFyYW1zW2luZGV4ZXNbbGFzdEluZGV4XV1baV0gPSBjb250cmFjdGlvblBvaW50W2ldO1xuXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBicmVhaztcbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gaXRlcmF0aW9uOyBpIDwgbWF4SXRlcjsgaSsrKVxuICAgICAgY29zdHNbaV0gPSBwb2ludE9iamVjdGl2ZXNbaW5kZXhlc1swXV07XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHBvaW50OiBvcHRQYXJhbXNbaW5kZXhlc1swXV0sXG4gICAgY29zdDogcG9pbnRPYmplY3RpdmVzW2luZGV4ZXNbMF1dLFxuICAgIGl0ZXJDb3N0czogY29zdHMsXG4gICAgaXRlckNvdW50OiBpdGVyYXRpb24gLSAxLFxuICB9O1xufTtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"optimizer.d.ts","sourceRoot":"","sources":["optimizer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,kBAAkB,EAAqB,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAa,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAIvE,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,EAC7E,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,GAAE,MAAU,EACxB,aAAa,GAAE,YAAY,GAAG,IAAW,EACzC,aAAa,GAAE,OAAc,GAC5B,kBAAkB,CA4CpB"}
1
+ {"version":3,"file":"optimizer.d.ts","sourceRoot":"","sources":["optimizer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,kBAAkB,EAAqB,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAa,kBAAkB,EAAC,MAAM,yBAAyB,CAAC;AAIvE,wBAAgB,6BAA6B,CAC3C,aAAa,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,EAC7E,YAAY,EAAE,YAAY,EAC1B,SAAS,EAAE,YAAY,EACvB,QAAQ,EAAE,kBAAkB,EAC5B,YAAY,GAAE,MAAU,EACxB,aAAa,GAAE,YAAY,GAAG,IAAW,EACzC,aAAa,GAAE,OAAc,GAC5B,kBAAkB,CA6CpB"}
@@ -14,9 +14,10 @@ export function performNelderMeadOptimization(objectiveFunc, paramsBottom, param
14
14
  for (i = 0; i < samplesCount; ++i) {
15
15
  try {
16
16
  if (i === 0 && infiniteFirst) {
17
+ const infCasePrms = initialValues === null ? params[i] : initialValues;
17
18
  const paramsB = new Float32Array(initialValues.length).map((_) => -Infinity);
18
19
  const paramsT = new Float32Array(initialValues.length).map((_) => +Infinity);
19
- extremums.push(optimizeNM(objectiveFunc, params[i], settings, paramsB, paramsT));
20
+ extremums.push(optimizeNM(objectiveFunc, infCasePrms, settings, paramsB, paramsT));
20
21
  }
21
22
  else
22
23
  extremums.push(optimizeNM(objectiveFunc, params[i], settings, paramsBottom, paramsTop));
@@ -43,4 +44,4 @@ export function performNelderMeadOptimization(objectiveFunc, paramsBottom, param
43
44
  fails: failsDF,
44
45
  };
45
46
  }
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW1pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsib3B0aW1pemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdDQUFnQztBQUNoQyxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sRUFBK0Isa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUMsVUFBVSxFQUFxQixNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxNQUFNLFVBQVUsNkJBQTZCLENBQzNDLGFBQTZFLEVBQzdFLFlBQTBCLEVBQzFCLFNBQXVCLEVBQ3ZCLFFBQTRCLEVBQzVCLGVBQXVCLENBQUMsRUFDeEIsZ0JBQXFDLElBQUksRUFDekMsZ0JBQXlCLElBQUk7SUFFN0IsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFbkUsTUFBTSxTQUFTLEdBQWUsRUFBRSxDQUFDO0lBQ2pDLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztJQUM5QixNQUFNLGVBQWUsR0FBbUIsRUFBRSxDQUFDO0lBQzNDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuQixJQUFJLE9BQU8sR0FBd0IsSUFBSSxDQUFDO0lBQ3hDLElBQUksQ0FBUyxDQUFDO0lBRWQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDakMsSUFBSTtZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLEVBQUU7Z0JBQzVCLE1BQU0sT0FBTyxHQUFHLElBQUksWUFBWSxDQUFDLGFBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlFLE1BQU0sT0FBTyxHQUFHLElBQUksWUFBWSxDQUFDLGFBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzlFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDO2FBQ2xGOztnQkFDQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQztTQUMzRjtRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFlBQVksa0JBQWtCO2dCQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLDRCQUE0QixDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztZQUUzRCxFQUFFLFVBQVUsQ0FBQztZQUNiLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDbkUsZUFBZSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUNqQztLQUNGO0lBRUQsSUFBSSxVQUFVLEdBQUcsQ0FBQyxFQUFFO1FBQ2xCLE1BQU0sR0FBRyxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUM7UUFDN0IsTUFBTSxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQWUsR0FBRyxDQUFDLENBQUM7UUFFekMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUM7WUFDMUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksWUFBWSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXhDLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUYsT0FBTyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hHLE9BQU8sQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0tBQy9EO0lBRUQsT0FBTztRQUNMLFNBQVMsRUFBRSxTQUFTO1FBQ3BCLEtBQUssRUFBRSxPQUFPO0tBQ2YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogdGhlIE5lbGRlci1NZWFkIG9wdGltaXplciAqL1xuaW1wb3J0ICogYXMgREcgZnJvbSAnZGF0YWdyb2stYXBpL2RnJztcbmltcG9ydCB7RXh0cmVtdW0sIE9wdGltaXphdGlvblJlc3VsdCwgSW5jb25zaXN0ZW50VGFibGVzfSBmcm9tICcuL29wdGltaXplci1taXNjJztcbmltcG9ydCB7b3B0aW1pemVOTSwgTmVsZGVyTWVhZFNldHRpbmdzfSBmcm9tICcuL29wdGltaXplci1uZWxkZXItbWVhZCc7XG5pbXBvcnQge3NhbXBsZVBhcmFtc30gZnJvbSAnLi9vcHRpbWl6ZXItc2FtcGxlcic7XG5cblxuZXhwb3J0IGZ1bmN0aW9uIHBlcmZvcm1OZWxkZXJNZWFkT3B0aW1pemF0aW9uKFxuICBvYmplY3RpdmVGdW5jOiAoeDogRmxvYXQzMkFycmF5KSA9PiB7bGlrZWxpaG9vZDogbnVtYmVyLCByZXNpZHVhbHM6IG51bWJlcltdfSxcbiAgcGFyYW1zQm90dG9tOiBGbG9hdDMyQXJyYXksXG4gIHBhcmFtc1RvcDogRmxvYXQzMkFycmF5LFxuICBzZXR0aW5nczogTmVsZGVyTWVhZFNldHRpbmdzLFxuICBzYW1wbGVzQ291bnQ6IG51bWJlciA9IDEsXG4gIGluaXRpYWxWYWx1ZXM6IEZsb2F0MzJBcnJheSB8IG51bGwgPSBudWxsLFxuICBpbmZpbml0ZUZpcnN0OiBib29sZWFuID0gdHJ1ZSxcbik6IE9wdGltaXphdGlvblJlc3VsdCB7XG4gIGNvbnN0IHBhcmFtcyA9IHNhbXBsZVBhcmFtcyhzYW1wbGVzQ291bnQsIHBhcmFtc1RvcCwgcGFyYW1zQm90dG9tKTtcblxuICBjb25zdCBleHRyZW11bXM6IEV4dHJlbXVtW10gPSBbXTtcbiAgY29uc3Qgd2FybmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGNvbnN0IGZhaWxlZEluaXRQb2ludDogRmxvYXQzMkFycmF5W10gPSBbXTtcbiAgbGV0IGZhaWxzQ291bnQgPSAwO1xuICBsZXQgZmFpbHNERjogREcuRGF0YUZyYW1lIHwgbnVsbCA9IG51bGw7XG4gIGxldCBpOiBudW1iZXI7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNhbXBsZXNDb3VudDsgKytpKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmIChpID09PSAwICYmIGluZmluaXRlRmlyc3QpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zQiA9IG5ldyBGbG9hdDMyQXJyYXkoaW5pdGlhbFZhbHVlcyEubGVuZ3RoKS5tYXAoKF8pID0+IC1JbmZpbml0eSk7XG4gICAgICAgIGNvbnN0IHBhcmFtc1QgPSBuZXcgRmxvYXQzMkFycmF5KGluaXRpYWxWYWx1ZXMhLmxlbmd0aCkubWFwKChfKSA9PiArSW5maW5pdHkpO1xuICAgICAgICBleHRyZW11bXMucHVzaChvcHRpbWl6ZU5NKG9iamVjdGl2ZUZ1bmMsIHBhcmFtc1tpXSwgc2V0dGluZ3MsIHBhcmFtc0IsIHBhcmFtc1QpKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICBleHRyZW11bXMucHVzaChvcHRpbWl6ZU5NKG9iamVjdGl2ZUZ1bmMsIHBhcmFtc1tpXSwgc2V0dGluZ3MsIHBhcmFtc0JvdHRvbSwgcGFyYW1zVG9wKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBJbmNvbnNpc3RlbnRUYWJsZXMpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW5jb25zaXN0ZW50IGRhdGFmcmFtZXM6ICR7ZS5tZXNzYWdlfWApO1xuXG4gICAgICArK2ZhaWxzQ291bnQ7XG4gICAgICB3YXJuaW5ncy5wdXNoKChlIGluc3RhbmNlb2YgRXJyb3IpID8gZS5tZXNzYWdlIDogJ1BsYXRmb3JtIGlzc3VlJyk7XG4gICAgICBmYWlsZWRJbml0UG9pbnQucHVzaChwYXJhbXNbaV0pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChmYWlsc0NvdW50ID4gMCkge1xuICAgIGNvbnN0IGRpbSA9IHBhcmFtc1RvcC5sZW5ndGg7XG4gICAgY29uc3QgcmF3ID0gbmV3IEFycmF5PEZsb2F0MzJBcnJheT4oZGltKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltOyArK2kpXG4gICAgICByYXdbaV0gPSBuZXcgRmxvYXQzMkFycmF5KGZhaWxzQ291bnQpO1xuXG4gICAgZmFpbGVkSW5pdFBvaW50LmZvckVhY2goKHBvaW50LCBpZHgpID0+IHBvaW50LmZvckVhY2goKHZhbCwgamR4KSA9PiByYXdbamR4XVtpZHhdID0gdmFsKSk7XG4gICAgZmFpbHNERiA9IERHLkRhdGFGcmFtZS5mcm9tQ29sdW1ucyhyYXcubWFwKChhcnIsIGlkeCkgPT4gREcuQ29sdW1uLmZyb21GbG9hdDMyQXJyYXkoYGFyZyR7aWR4fWAsIGFycikpKTtcbiAgICBmYWlsc0RGLmNvbHVtbnMuYWRkKERHLkNvbHVtbi5mcm9tU3RyaW5ncygnSXNzdWUnLCB3YXJuaW5ncykpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBleHRyZW11bXM6IGV4dHJlbXVtcyxcbiAgICBmYWlsczogZmFpbHNERixcbiAgfTtcbn1cbiJdfQ==
47
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW1pemVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsib3B0aW1pemVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdDQUFnQztBQUNoQyxPQUFPLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RDLE9BQU8sRUFBK0Isa0JBQWtCLEVBQUMsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRixPQUFPLEVBQUMsVUFBVSxFQUFxQixNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUdqRCxNQUFNLFVBQVUsNkJBQTZCLENBQzNDLGFBQTZFLEVBQzdFLFlBQTBCLEVBQzFCLFNBQXVCLEVBQ3ZCLFFBQTRCLEVBQzVCLGVBQXVCLENBQUMsRUFDeEIsZ0JBQXFDLElBQUksRUFDekMsZ0JBQXlCLElBQUk7SUFFN0IsTUFBTSxNQUFNLEdBQUcsWUFBWSxDQUFDLFlBQVksRUFBRSxTQUFTLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFFbkUsTUFBTSxTQUFTLEdBQWUsRUFBRSxDQUFDO0lBQ2pDLE1BQU0sUUFBUSxHQUFhLEVBQUUsQ0FBQztJQUM5QixNQUFNLGVBQWUsR0FBbUIsRUFBRSxDQUFDO0lBQzNDLElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuQixJQUFJLE9BQU8sR0FBd0IsSUFBSSxDQUFDO0lBQ3hDLElBQUksQ0FBUyxDQUFDO0lBRWQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxZQUFZLEVBQUUsRUFBRSxDQUFDLEVBQUU7UUFDakMsSUFBSTtZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxhQUFhLEVBQUU7Z0JBQzVCLE1BQU0sV0FBVyxHQUFHLGFBQWEsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO2dCQUN2RSxNQUFNLE9BQU8sR0FBRyxJQUFJLFlBQVksQ0FBQyxhQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5RSxNQUFNLE9BQU8sR0FBRyxJQUFJLFlBQVksQ0FBQyxhQUFjLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM5RSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQzthQUNwRjs7Z0JBQ0MsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsWUFBWSxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUM7U0FDM0Y7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxZQUFZLGtCQUFrQjtnQkFDakMsTUFBTSxJQUFJLEtBQUssQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7WUFFM0QsRUFBRSxVQUFVLENBQUM7WUFDYixRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1lBQ25FLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDakM7S0FDRjtJQUVELElBQUksVUFBVSxHQUFHLENBQUMsRUFBRTtRQUNsQixNQUFNLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1FBQzdCLE1BQU0sR0FBRyxHQUFHLElBQUksS0FBSyxDQUFlLEdBQUcsQ0FBQyxDQUFDO1FBRXpDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDO1lBQzFCLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV4QyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFGLE9BQU8sR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLEdBQUcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4RyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQztLQUMvRDtJQUVELE9BQU87UUFDTCxTQUFTLEVBQUUsU0FBUztRQUNwQixLQUFLLEVBQUUsT0FBTztLQUNmLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIHRoZSBOZWxkZXItTWVhZCBvcHRpbWl6ZXIgKi9cbmltcG9ydCAqIGFzIERHIGZyb20gJ2RhdGFncm9rLWFwaS9kZyc7XG5pbXBvcnQge0V4dHJlbXVtLCBPcHRpbWl6YXRpb25SZXN1bHQsIEluY29uc2lzdGVudFRhYmxlc30gZnJvbSAnLi9vcHRpbWl6ZXItbWlzYyc7XG5pbXBvcnQge29wdGltaXplTk0sIE5lbGRlck1lYWRTZXR0aW5nc30gZnJvbSAnLi9vcHRpbWl6ZXItbmVsZGVyLW1lYWQnO1xuaW1wb3J0IHtzYW1wbGVQYXJhbXN9IGZyb20gJy4vb3B0aW1pemVyLXNhbXBsZXInO1xuXG5cbmV4cG9ydCBmdW5jdGlvbiBwZXJmb3JtTmVsZGVyTWVhZE9wdGltaXphdGlvbihcbiAgb2JqZWN0aXZlRnVuYzogKHg6IEZsb2F0MzJBcnJheSkgPT4ge2xpa2VsaWhvb2Q6IG51bWJlciwgcmVzaWR1YWxzOiBudW1iZXJbXX0sXG4gIHBhcmFtc0JvdHRvbTogRmxvYXQzMkFycmF5LFxuICBwYXJhbXNUb3A6IEZsb2F0MzJBcnJheSxcbiAgc2V0dGluZ3M6IE5lbGRlck1lYWRTZXR0aW5ncyxcbiAgc2FtcGxlc0NvdW50OiBudW1iZXIgPSAxLFxuICBpbml0aWFsVmFsdWVzOiBGbG9hdDMyQXJyYXkgfCBudWxsID0gbnVsbCxcbiAgaW5maW5pdGVGaXJzdDogYm9vbGVhbiA9IHRydWUsXG4pOiBPcHRpbWl6YXRpb25SZXN1bHQge1xuICBjb25zdCBwYXJhbXMgPSBzYW1wbGVQYXJhbXMoc2FtcGxlc0NvdW50LCBwYXJhbXNUb3AsIHBhcmFtc0JvdHRvbSk7XG5cbiAgY29uc3QgZXh0cmVtdW1zOiBFeHRyZW11bVtdID0gW107XG4gIGNvbnN0IHdhcm5pbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBmYWlsZWRJbml0UG9pbnQ6IEZsb2F0MzJBcnJheVtdID0gW107XG4gIGxldCBmYWlsc0NvdW50ID0gMDtcbiAgbGV0IGZhaWxzREY6IERHLkRhdGFGcmFtZSB8IG51bGwgPSBudWxsO1xuICBsZXQgaTogbnVtYmVyO1xuXG4gIGZvciAoaSA9IDA7IGkgPCBzYW1wbGVzQ291bnQ7ICsraSkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoaSA9PT0gMCAmJiBpbmZpbml0ZUZpcnN0KSB7XG4gICAgICAgIGNvbnN0IGluZkNhc2VQcm1zID0gaW5pdGlhbFZhbHVlcyA9PT0gbnVsbCA/IHBhcmFtc1tpXSA6IGluaXRpYWxWYWx1ZXM7XG4gICAgICAgIGNvbnN0IHBhcmFtc0IgPSBuZXcgRmxvYXQzMkFycmF5KGluaXRpYWxWYWx1ZXMhLmxlbmd0aCkubWFwKChfKSA9PiAtSW5maW5pdHkpO1xuICAgICAgICBjb25zdCBwYXJhbXNUID0gbmV3IEZsb2F0MzJBcnJheShpbml0aWFsVmFsdWVzIS5sZW5ndGgpLm1hcCgoXykgPT4gK0luZmluaXR5KTtcbiAgICAgICAgZXh0cmVtdW1zLnB1c2gob3B0aW1pemVOTShvYmplY3RpdmVGdW5jLCBpbmZDYXNlUHJtcywgc2V0dGluZ3MsIHBhcmFtc0IsIHBhcmFtc1QpKTtcbiAgICAgIH0gZWxzZVxuICAgICAgICBleHRyZW11bXMucHVzaChvcHRpbWl6ZU5NKG9iamVjdGl2ZUZ1bmMsIHBhcmFtc1tpXSwgc2V0dGluZ3MsIHBhcmFtc0JvdHRvbSwgcGFyYW1zVG9wKSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKGUgaW5zdGFuY2VvZiBJbmNvbnNpc3RlbnRUYWJsZXMpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW5jb25zaXN0ZW50IGRhdGFmcmFtZXM6ICR7ZS5tZXNzYWdlfWApO1xuXG4gICAgICArK2ZhaWxzQ291bnQ7XG4gICAgICB3YXJuaW5ncy5wdXNoKChlIGluc3RhbmNlb2YgRXJyb3IpID8gZS5tZXNzYWdlIDogJ1BsYXRmb3JtIGlzc3VlJyk7XG4gICAgICBmYWlsZWRJbml0UG9pbnQucHVzaChwYXJhbXNbaV0pO1xuICAgIH1cbiAgfVxuXG4gIGlmIChmYWlsc0NvdW50ID4gMCkge1xuICAgIGNvbnN0IGRpbSA9IHBhcmFtc1RvcC5sZW5ndGg7XG4gICAgY29uc3QgcmF3ID0gbmV3IEFycmF5PEZsb2F0MzJBcnJheT4oZGltKTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGltOyArK2kpXG4gICAgICByYXdbaV0gPSBuZXcgRmxvYXQzMkFycmF5KGZhaWxzQ291bnQpO1xuXG4gICAgZmFpbGVkSW5pdFBvaW50LmZvckVhY2goKHBvaW50LCBpZHgpID0+IHBvaW50LmZvckVhY2goKHZhbCwgamR4KSA9PiByYXdbamR4XVtpZHhdID0gdmFsKSk7XG4gICAgZmFpbHNERiA9IERHLkRhdGFGcmFtZS5mcm9tQ29sdW1ucyhyYXcubWFwKChhcnIsIGlkeCkgPT4gREcuQ29sdW1uLmZyb21GbG9hdDMyQXJyYXkoYGFyZyR7aWR4fWAsIGFycikpKTtcbiAgICBmYWlsc0RGLmNvbHVtbnMuYWRkKERHLkNvbHVtbi5mcm9tU3RyaW5ncygnSXNzdWUnLCB3YXJuaW5ncykpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBleHRyZW11bXM6IGV4dHJlbXVtcyxcbiAgICBmYWlsczogZmFpbHNERixcbiAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,167 @@
1
+ import { IFitSeries, IFitPoint, IFitFunctionDescription, FitParamBounds, FitMarkerType, FitOutlierMarkerType, FitLineStyle, FitErrorModelType, FitCurve } from './fit-curve';
2
+ /** Class for the fit functions */
3
+ export declare abstract class FitFunction<T> {
4
+ abstract get name(): string;
5
+ abstract get parameterNames(): string[];
6
+ abstract fillParams(fitCurve: FitCurve, data: FitSeries): T;
7
+ abstract y(params: Float32Array, x: number): number;
8
+ abstract getInitialParameters(x: number[], y: number[]): Float32Array;
9
+ }
10
+ export declare const FitFunctionTypes: {
11
+ readonly SIGMOID: "sigmoid";
12
+ readonly LINEAR: "linear";
13
+ readonly LOG_LINEAR: "log-linear";
14
+ readonly EXPONENTIAL: "exponential";
15
+ readonly FOUR_PL_REGRESSION: "4pl-regression";
16
+ };
17
+ export type FitFunctionType = typeof FitFunctionTypes[keyof typeof FitFunctionTypes];
18
+ interface IFit {
19
+ auc: number;
20
+ rSquared: number;
21
+ }
22
+ interface ILinearFit extends IFit {
23
+ slope: number;
24
+ intercept: number;
25
+ }
26
+ interface ILogLinearFit extends ILinearFit {
27
+ }
28
+ interface ISigmoidFit extends IFit {
29
+ top: number;
30
+ slope: number;
31
+ ic50: number;
32
+ bottom: number;
33
+ }
34
+ interface IExponentialFit extends IFit {
35
+ mantissa: number;
36
+ power: number;
37
+ }
38
+ interface IFourPLRegressionFit extends IFit {
39
+ top: number;
40
+ bottom: number;
41
+ slope: number;
42
+ ec50: number;
43
+ }
44
+ export declare abstract class Fit implements IFit {
45
+ auc: number;
46
+ rSquared: number;
47
+ series: FitSeries;
48
+ abstract get name(): string;
49
+ protected constructor(values: IFit, data: FitSeries);
50
+ }
51
+ declare class LinearFit extends Fit implements ILinearFit {
52
+ slope: number;
53
+ intercept: number;
54
+ get name(): string;
55
+ constructor(values: ILinearFit, data: FitSeries);
56
+ }
57
+ declare class LogLinearFit extends LinearFit implements ILogLinearFit {
58
+ get name(): string;
59
+ }
60
+ declare class SigmoidFit extends Fit implements ISigmoidFit {
61
+ top: number;
62
+ slope: number;
63
+ ic50: number;
64
+ bottom: number;
65
+ get name(): string;
66
+ constructor(values: ISigmoidFit, data: FitSeries);
67
+ }
68
+ declare class ExponentialFit extends Fit implements IExponentialFit {
69
+ mantissa: number;
70
+ power: number;
71
+ get name(): string;
72
+ constructor(values: IExponentialFit, data: FitSeries);
73
+ }
74
+ declare class FourPLRegressionFit extends Fit implements IFourPLRegressionFit {
75
+ top: number;
76
+ bottom: number;
77
+ slope: number;
78
+ ec50: number;
79
+ get name(): string;
80
+ constructor(values: IFourPLRegressionFit, data: FitSeries);
81
+ }
82
+ /** Class that implements the linear function */
83
+ export declare class LinearFunction extends FitFunction<LinearFit> {
84
+ get name(): string;
85
+ get parameterNames(): string[];
86
+ fillParams(fitCurve: FitCurve, data: FitSeries): LinearFit;
87
+ y(params: Float32Array, x: number): number;
88
+ getInitialParameters(x: number[], y: number[]): Float32Array;
89
+ }
90
+ /** Class that implements the sigmoid function */
91
+ export declare class SigmoidFunction extends FitFunction<SigmoidFit> {
92
+ get name(): string;
93
+ get parameterNames(): string[];
94
+ fillParams(fitCurve: FitCurve, data: FitSeries): SigmoidFit;
95
+ y(params: Float32Array, x: number): number;
96
+ getInitialParameters(x: number[], y: number[]): Float32Array;
97
+ }
98
+ /** Class that implements the linear logarithmic function */
99
+ export declare class LogLinearFunction extends FitFunction<LogLinearFit> {
100
+ get name(): string;
101
+ get parameterNames(): string[];
102
+ fillParams(fitCurve: FitCurve, data: FitSeries): LogLinearFit;
103
+ y(params: Float32Array, x: number): number;
104
+ getInitialParameters(x: number[], y: number[]): Float32Array;
105
+ }
106
+ /** Class that implements the exponential function */
107
+ export declare class ExponentialFunction extends FitFunction<ExponentialFit> {
108
+ get name(): string;
109
+ get parameterNames(): string[];
110
+ fillParams(fitCurve: FitCurve, data: FitSeries): ExponentialFit;
111
+ y(params: Float32Array, x: number): number;
112
+ getInitialParameters(x: number[], y: number[]): Float32Array;
113
+ }
114
+ /** Class that implements the Four Parameter Logistic Regression function */
115
+ export declare class FourPLRegressionFunction extends FitFunction<FourPLRegressionFit> {
116
+ get name(): string;
117
+ get parameterNames(): string[];
118
+ fillParams(fitCurve: FitCurve, data: FitSeries): FourPLRegressionFit;
119
+ y(params: Float32Array, x: number): number;
120
+ getInitialParameters(x: number[], y: number[]): Float32Array;
121
+ }
122
+ export declare const fitFunctions: {
123
+ linear: LinearFunction;
124
+ sigmoid: SigmoidFunction;
125
+ 'log-linear': LogLinearFunction;
126
+ exponential: ExponentialFunction;
127
+ '4pl-regression': FourPLRegressionFunction;
128
+ };
129
+ declare class FitFunctions {
130
+ series: FitSeries;
131
+ constructor(series: FitSeries);
132
+ linear(): LinearFit;
133
+ logLinear(): LogLinearFit;
134
+ sigmoid(): SigmoidFit;
135
+ exponential(): ExponentialFit;
136
+ fourPL(): FourPLRegressionFit;
137
+ }
138
+ export declare class FitSeries implements IFitSeries {
139
+ [key: string]: any;
140
+ fit: FitFunctions;
141
+ points: IFitPoint[];
142
+ constructor(points: IFitPoint[]);
143
+ name?: string;
144
+ fitFunction?: string | IFitFunctionDescription;
145
+ parameters?: number[];
146
+ parameterBounds?: FitParamBounds[];
147
+ markerType?: FitMarkerType;
148
+ outlierMarkerType?: FitOutlierMarkerType;
149
+ lineStyle?: FitLineStyle;
150
+ pointColor?: string;
151
+ fitLineColor?: string;
152
+ confidenceIntervalColor?: string;
153
+ outlierColor?: string;
154
+ connectDots?: boolean;
155
+ showFitLine?: boolean;
156
+ showPoints?: string;
157
+ showCurveConfidenceInterval?: boolean;
158
+ errorModel?: FitErrorModelType;
159
+ clickToToggle?: boolean;
160
+ labels?: {
161
+ [key: string]: string | number | boolean;
162
+ };
163
+ droplines?: string[];
164
+ columnName?: string;
165
+ }
166
+ export {};
167
+ //# sourceMappingURL=new-fit-API.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-fit-API.d.ts","sourceRoot":"","sources":["new-fit-API.ts"],"names":[],"mappings":"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"}