Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

node-simctl

Package Overview
Dependencies
Maintainers
7
Versions
142
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

node-simctl - npm Package Compare versions

Comparing version 6.3.2 to 6.3.3

12

build/lib/logger.js

@@ -8,3 +8,3 @@ "use strict";

});
exports.default = void 0;
exports.default = exports.LOG_PREFIX = void 0;

@@ -15,5 +15,7 @@ require("source-map-support/register");

const LOG_PREFIX = 'simctl';
exports.LOG_PREFIX = LOG_PREFIX;
function getLogger() {
const logger = global._global_npmlog || _npmlog.default;
logger.maxRecordSize = 3000;

@@ -27,6 +29,2 @@ if (!logger.debug) {

const originalLog = logger.log.bind(logger);
logger.log = (level, prefix, ...args) => originalLog(level, 'simctl', prefix, ...args);
return logger;

@@ -40,2 +38,2 @@ }

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwibmFtZXMiOlsiZ2V0TG9nZ2VyIiwibG9nZ2VyIiwiZ2xvYmFsIiwiX2dsb2JhbF9ucG1sb2ciLCJucG1sb2ciLCJtYXhSZWNvcmRTaXplIiwiZGVidWciLCJhZGRMZXZlbCIsImZnIiwiYmciLCJvcmlnaW5hbExvZyIsImxvZyIsImJpbmQiLCJsZXZlbCIsInByZWZpeCIsImFyZ3MiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBRUEsU0FBU0EsU0FBVCxHQUFzQjtBQUNwQixRQUFNQyxNQUFNLEdBQUdDLE1BQU0sQ0FBQ0MsY0FBUCxJQUF5QkMsZUFBeEM7QUFDQUgsRUFBQUEsTUFBTSxDQUFDSSxhQUFQLEdBQXVCLElBQXZCOztBQUNBLE1BQUksQ0FBQ0osTUFBTSxDQUFDSyxLQUFaLEVBQW1CO0FBQ2pCTCxJQUFBQSxNQUFNLENBQUNNLFFBQVAsQ0FBZ0IsT0FBaEIsRUFBeUIsSUFBekIsRUFBK0I7QUFBRUMsTUFBQUEsRUFBRSxFQUFFLE1BQU47QUFBY0MsTUFBQUEsRUFBRSxFQUFFO0FBQWxCLEtBQS9CLEVBQTRELE1BQTVEO0FBQ0Q7O0FBQ0QsUUFBTUMsV0FBVyxHQUFHVCxNQUFNLENBQUNVLEdBQVAsQ0FBV0MsSUFBWCxDQUFnQlgsTUFBaEIsQ0FBcEI7O0FBQ0FBLEVBQUFBLE1BQU0sQ0FBQ1UsR0FBUCxHQUFhLENBQUNFLEtBQUQsRUFBUUMsTUFBUixFQUFnQixHQUFHQyxJQUFuQixLQUE0QkwsV0FBVyxDQUFDRyxLQUFELEVBQVEsUUFBUixFQUFrQkMsTUFBbEIsRUFBMEIsR0FBR0MsSUFBN0IsQ0FBcEQ7O0FBQ0EsU0FBT2QsTUFBUDtBQUNEOztBQUVELE1BQU1VLEdBQUcsR0FBR1gsU0FBUyxFQUFyQjtlQUVlVyxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IG5wbWxvZyBmcm9tICducG1sb2cnO1xuXG5mdW5jdGlvbiBnZXRMb2dnZXIgKCkge1xuICBjb25zdCBsb2dnZXIgPSBnbG9iYWwuX2dsb2JhbF9ucG1sb2cgfHwgbnBtbG9nO1xuICBsb2dnZXIubWF4UmVjb3JkU2l6ZSA9IDMwMDA7XG4gIGlmICghbG9nZ2VyLmRlYnVnKSB7XG4gICAgbG9nZ2VyLmFkZExldmVsKCdkZWJ1ZycsIDEwMDAsIHsgZmc6ICdibHVlJywgYmc6ICdibGFjaycgfSwgJ2RidWcnKTtcbiAgfVxuICBjb25zdCBvcmlnaW5hbExvZyA9IGxvZ2dlci5sb2cuYmluZChsb2dnZXIpO1xuICBsb2dnZXIubG9nID0gKGxldmVsLCBwcmVmaXgsIC4uLmFyZ3MpID0+IG9yaWdpbmFsTG9nKGxldmVsLCAnc2ltY3RsJywgcHJlZml4LCAuLi5hcmdzKTtcbiAgcmV0dXJuIGxvZ2dlcjtcbn1cblxuY29uc3QgbG9nID0gZ2V0TG9nZ2VyKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGxvZztcbiJdLCJmaWxlIjoibGliL2xvZ2dlci5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9sb2dnZXIuanMiXSwibmFtZXMiOlsiTE9HX1BSRUZJWCIsImdldExvZ2dlciIsImxvZ2dlciIsImdsb2JhbCIsIl9nbG9iYWxfbnBtbG9nIiwibnBtbG9nIiwiZGVidWciLCJhZGRMZXZlbCIsImZnIiwiYmciLCJsb2ciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBR0EsTUFBTUEsVUFBVSxHQUFHLFFBQW5COzs7QUFFQSxTQUFTQyxTQUFULEdBQXNCO0FBQ3BCLFFBQU1DLE1BQU0sR0FBR0MsTUFBTSxDQUFDQyxjQUFQLElBQXlCQyxlQUF4Qzs7QUFDQSxNQUFJLENBQUNILE1BQU0sQ0FBQ0ksS0FBWixFQUFtQjtBQUNqQkosSUFBQUEsTUFBTSxDQUFDSyxRQUFQLENBQWdCLE9BQWhCLEVBQXlCLElBQXpCLEVBQStCO0FBQUVDLE1BQUFBLEVBQUUsRUFBRSxNQUFOO0FBQWNDLE1BQUFBLEVBQUUsRUFBRTtBQUFsQixLQUEvQixFQUE0RCxNQUE1RDtBQUNEOztBQUNELFNBQU9QLE1BQVA7QUFDRDs7QUFFRCxNQUFNUSxHQUFHLEdBQUdULFNBQVMsRUFBckI7ZUFHZVMsRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBucG1sb2cgZnJvbSAnbnBtbG9nJztcblxuXG5jb25zdCBMT0dfUFJFRklYID0gJ3NpbWN0bCc7XG5cbmZ1bmN0aW9uIGdldExvZ2dlciAoKSB7XG4gIGNvbnN0IGxvZ2dlciA9IGdsb2JhbC5fZ2xvYmFsX25wbWxvZyB8fCBucG1sb2c7XG4gIGlmICghbG9nZ2VyLmRlYnVnKSB7XG4gICAgbG9nZ2VyLmFkZExldmVsKCdkZWJ1ZycsIDEwMDAsIHsgZmc6ICdibHVlJywgYmc6ICdibGFjaycgfSwgJ2RidWcnKTtcbiAgfVxuICByZXR1cm4gbG9nZ2VyO1xufVxuXG5jb25zdCBsb2cgPSBnZXRMb2dnZXIoKTtcblxuZXhwb3J0IHsgTE9HX1BSRUZJWCB9O1xuZXhwb3J0IGRlZmF1bHQgbG9nO1xuIl0sImZpbGUiOiJsaWIvbG9nZ2VyLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

@@ -18,3 +20,3 @@

var _logger = _interopRequireDefault(require("./logger"));
var _logger = _interopRequireWildcard(require("./logger"));

@@ -103,7 +105,7 @@ var _helpers = require("./helpers");

_logger.default.debug(msg);
_logger.default.debug(_logger.LOG_PREFIX, msg);
throw Error(msg);
} else {
_logger.default.debug(e.message);
_logger.default.debug(_logger.LOG_PREFIX, e.message);

@@ -127,2 +129,2 @@ throw e;

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zaW1jdGwuanMiXSwibmFtZXMiOlsiU0lNQ1RMX0VOVl9QUkVGSVgiLCJERUZBVUxUX09QVFMiLCJ4Y3J1biIsInBhdGgiLCJleGVjVGltZW91dCIsIkRFRkFVTFRfRVhFQ19USU1FT1VUIiwibG9nRXJyb3JzIiwiU2ltY3RsIiwiY29uc3RydWN0b3IiLCJvcHRzIiwiXyIsImNsb25lRGVlcCIsImRlZmF1bHRzRGVlcCIsImtleSIsImtleXMiLCJfdWRpZCIsImlzTmlsIiwidWRpZCIsInZhbHVlIiwicmVxdWlyZVVkaWQiLCJjb21tYW5kTmFtZSIsIkVycm9yIiwicmVxdWlyZVhjcnVuIiwiWENSVU5fQklOQVJZIiwiZSIsImV4ZWMiLCJzdWJjb21tYW5kIiwiYXJncyIsImVudiIsImFzeW5jaHJvbm91cyIsImVuY29kaW5nIiwiZGVmYXVsdHMiLCJtYXBLZXlzIiwic3RhcnRzV2l0aCIsInByb2Nlc3MiLCJleGVjT3B0cyIsInRpbWVvdXQiLCJTdWJQcm9jZXNzIiwic3RkZXJyIiwibXNnIiwidHJpbSIsImxvZyIsImRlYnVnIiwibWVzc2FnZSIsImZuTmFtZSIsImZuIiwidG9QYWlycyIsInN1YmNvbW1hbmRzIiwicHJvdG90eXBlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOztBQUVBLE1BQU1BLGlCQUFpQixHQUFHLGVBQTFCO0FBQ0EsTUFBTUMsWUFBWSxHQUFHO0FBQ25CQyxFQUFBQSxLQUFLLEVBQUU7QUFDTEMsSUFBQUEsSUFBSSxFQUFFO0FBREQsR0FEWTtBQUluQkMsRUFBQUEsV0FBVyxFQUFFQyw2QkFKTTtBQUtuQkMsRUFBQUEsU0FBUyxFQUFFO0FBTFEsQ0FBckI7O0FBeUNBLE1BQU1DLE1BQU4sQ0FBYTtBQUlYQyxFQUFBQSxXQUFXLENBQUVDLElBQUksR0FBRyxFQUFULEVBQWE7QUFDdEJBLElBQUFBLElBQUksR0FBR0MsZ0JBQUVDLFNBQUYsQ0FBWUYsSUFBWixD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QkFBaUJiLFVBQVcsTUFBS0YsQ0FBQyxDQUFDYyxNQUFGLENBQVNFLElBQVQsRUFBZ0IsRUFBOUQ7O0FBQ0FDLHdCQUFJQyxLQUFKLENBQVVILEdBQVY7O0FBQ0EsY0FBTWxCLEtBQUssQ0FBQ2tCLEdBQUQsQ0FBWDtBQUNELE9BSk0sTUFJQTtBQUNMRSx3QkFBSUMsS0FBSixDQUFVbEIsQ0FBQyxDQUFDbUIsT0FBWjs7QUFDQSxjQUFNbkIsQ0FBTjtBQUNEO0FBQ0Y7QUFDRjs7QUE1RlU7Ozs7QUFpR2IsS0FBSyxNQUFNLENBQUNvQixNQUFELEVBQVNDLEVBQVQsQ0FBWCxJQUEyQm5DLGdCQUFFb0MsT0FBRixDQUFVQyxjQUFWLENBQTNCLEVBQW1EO0FBQ2pEeEMsRUFBQUEsTUFBTSxDQUFDeUMsU0FBUCxDQUFpQkosTUFBakIsSUFBMkJDLEVBQTNCO0FBQ0Q7O2VBRWN0QyxNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBzdWJjb21tYW5kcyBmcm9tICcuL3N1YmNvbW1hbmRzL2luZGV4LmpzJztcbmltcG9ydCB3aGljaCBmcm9tICd3aGljaCc7XG5pbXBvcnQgbG9nIGZyb20gJy4vbG9nZ2VyJztcbmltcG9ydCB7XG4gIERFRkFVTFRfRVhFQ19USU1FT1VULCBYQ1JVTl9CSU5BUlksXG59IGZyb20gJy4vaGVscGVycyc7XG5pbXBvcnQgeyBleGVjIGFzIHRwRXhlYywgU3ViUHJvY2VzcyB9IGZyb20gJ3RlZW5fcHJvY2Vzcyc7XG5cbmNvbnN0IFNJTUNUTF9FTlZfUFJFRklYID0gJ1NJTUNUTF9DSElMRF8nO1xuY29uc3QgREVGQVVMVF9PUFRTID0ge1xuICB4Y3J1bjoge1xuICAgIHBhdGg6IG51bGwsXG4gIH0sXG4gIGV4ZWNUaW1lb3V0OiBERUZBVUxUX0VYRUNfVElNRU9VVCxcbiAgbG9nRXJyb3JzOiB0cnVlLFxufTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBFeGVjT3B0c1xuICogQHByb3BlcnR5IHtBcnJheS48c3RyaW5nPn0gYXJncyBbW11dIC0gVGhlIGxpc3Qgb2YgYWRkaXRpb25hbCBzdWJjb21tYW5kIGFyZ3VtZW50cy5cbiAqIEl0J3MgZW1wdHkgYnkgZGVmYXVsdC5cbiAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBlbnYgW3t9XSAtIEVudmlyb25tZW50IHZhcmlhYmxlcyBtYXBwaW5nLiBBbGwgdGhlc2UgdmFyaWFibGVzXG4gKiB3aWxsIGJlIHBhc3NlZCBTaW11bGF0b3IgYW5kIHVzZWQgaW4gdGhlIGV4ZWN1dGluZyBmdW5jdGlvbi5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gbG9nRXJyb3JzIFt0cnVlXSAtIFNldCBpdCB0byBfZmFsc2VfIHRvIHRocm93IGV4ZWN1dGlvbiBlcnJvcnNcbiAqIGltbWVkaWF0ZWx5IHdpdGhvdXQgbG9nZ2luZyBhbnkgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gYXN5bmNocm9ub3VzIFtmYWxzZV0gLSBXaGV0aGVyIHRvIGV4ZWN1dGUgdGhlIGdpdmVuIGNvbW1hbmRcbiAqICdzeW5jaHJvbm91c2x5JyBvciAnYXN5bmNocm9ub3VzbHknLiBBZmZlY3RzIHRoZSByZXR1cm5lZCByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBlbmNvZGluZyAtIEV4cGxpY2l0bHkgc2V0cyBzdHJlYW1zIGVuY29kaW5nIGZvciB0aGUgZXhlY3V0ZWRcbiAqIGNvbW1hbmQgaW5wdXQgYW5kIG91dHB1dHMuXG4gKi9cblxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFNpbWN0bE9wdHNcbiAqIEBwcm9wZXJ0eSB7P09iamVjdH0geGNydW4gLSBUaGUgeGNydW4gcHJvcGVydGllcy4gQ3VycmVudGx5IG9ubHkgb25lIHByb3BlcnR5XG4gKiBpcyBzdXBwb3J0ZWQsIHdoaWNoIGlzIGBwYXRoYCBhbmQgaXQgYnkgZGVmYXVsdCBjb250YWlucyBgbnVsbGAsIHdoaWNoIGVuZm9yY2VzXG4gKiB0aGUgaW5zdGFuY2UgdG8gYXV0b21hdGljYWxseSBkZXRlY3QgdGhlIGZ1bGwgcGF0aCB0byBgeGNydW5gIHRvb2wgYW5kIHRvIHRocm93XG4gKiBhbiBleGNlcHRpb24gaWYgaXQgY2Fubm90IGJlIGRldGVjdGVkLiBJZiB0aGUgcGF0aCBpcyBzZXQgdXBvbiBpbnN0YW5jZSBjcmVhdGlvblxuICogdGhlbiBpdCBpcyBnb2luZyB0byBiZSB1c2VkIGJ5IGBleGVjYCBhbmQgbm8gYXV0b2RldGVjdGlvbiB3aWxsIGhhcHBlbi5cbiAqIEBwcm9wZXJ0eSB7P251bWJlcn0gZXhlY1RpbWVvdXQgWzYwMDAwMF0gLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgbWl1bGxpc2Vjb25kc1xuICogdG8gd2FpdCBmb3Igc2luZ2xlIHN5bmNocm9ub3VzIHhjcnVuIGNvbW1hbmQuXG4gKiBAcHJvcGVydHkgez9ib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gV2hldGhlciB0byB3aXJlIHhjcnVuIGVycm9yIG1lc3NhZ2VzXG4gKiBpbnRvIGRlYnVnIGxvZyBiZWZvcmUgdGhyb3dpbmcgdGhlbS5cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gdWRpZCBbbnVsbF0gLSBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIGN1cnJlbnQgZGV2aWNlLCB3aGljaCBpc1xuICogZ29pbmcgdG8gYmUgaW1wbGljdGx5IHBhc3NlZCB0byBhbGwgbWV0aG9kcywgd2hpY2ggcmVxdWlyZSBpdC4gSXQgY2FuIGVpdGhlciBiZSBzZXRcbiAqIHVwb24gaW5zdGFuY2UgY3JlYXRpb24gaWYgaXQgaXMgYWxyZWFkeSBrbm93biBpbiBkYXZuY2Ugb3IgbGF0ZXIgd2hlbi9pZiBuZWVkZWQgdmlhIHRoZVxuICogY29ycmVzcG9uZGluZyBpbnN0YW5jZSBzZXR0ZXIuXG4gKi9cblxuXG5jbGFzcyBTaW1jdGwge1xuICAvKipcbiAgICogQHBhcmFtIHs/U2ltY3RsT3B0c30gb3B0c1xuICAgKi9cbiAgY29uc3RydWN0b3IgKG9wdHMgPSB7fSkge1xuICAgIG9wdHMgPSBfLmNsb25lRGVlcChvcHRzKTtcbiAgICBfLmRlZmF1bHRzRGVlcChvcHRzLCBERUZBVUxUX09QVFMpO1xuICAgIGZvciAoY29uc3Qga2V5IG9mIF8ua2V5cyhERUZBVUxUX09QVFMpKSB7XG4gICAgICB0aGlzW2tleV0gPSBvcHRzW2tleV07XG4gICAgfVxuICAgIHRoaXMuX3VkaWQgPSBfLmlzTmlsKG9wdHMudWRpZCkgPyBudWxsIDogb3B0cy51ZGlkO1xuICB9XG5cbiAgc2V0IHVkaWQgKHZhbHVlKSB7XG4gICAgdGhpcy5fdWRpZCA9IHZhbHVlO1xuICB9XG5cbiAgZ2V0IHVkaWQgKCkge1xuICAgIHJldHVybiB0aGlzLl91ZGlkO1xuICB9XG5cbiAgcmVxdWlyZVVkaWQgKGNvbW1hbmROYW1lID0gbnVsbCkge1xuICAgIGlmICghdGhpcy51ZGlkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYHVkaWQgaXMgcmVxdWlyZWQgdG8gYmUgc2V0IGZvciBgICtcbiAgICAgICAgKGNvbW1hbmROYW1lID8gYHRoZSAnJHtjb21tYW5kTmFtZX0nIGNvbW1hbmRgIDogJ3RoaXMgc2ltY3RsIGNvbW1hbmQnKSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVkaWQ7XG4gIH1cblxuICBhc3luYyByZXF1aXJlWGNydW4gKCkge1xuICAgIGlmICghdGhpcy54Y3J1bi5wYXRoKSB7XG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnhjcnVuLnBhdGggPSBhd2FpdCB3aGljaChYQ1JVTl9CSU5BUlkpO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7WENSVU5fQklOQVJZfSB0b29sIGhhcyBub3QgYmVlbiBmb3VuZCBpbiBQQVRILiBgICtcbiAgICAgICAgICBgQXJlIFhjb2RlIGRldmVsb3BlcnMgdG9vbHMgaW5zdGFsbGVkP2ApO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy54Y3J1bi5wYXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGUgdGhlIHBhcnRpY3VsYXIgc2ltY3RsIGNvbW1hbmQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdWJjb21tYW5kIC0gT25lIG9mIGF2YWlsYWJsZSBzaW1jdGwgc3ViY29tbWFuZHMuXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgRXhlY3V0ZSBgeGNydW4gc2ltY3RsYCBpbiBUZXJtaW5hbCB0byBzZWUgdGhlIGZ1bGwgbGlzdFxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGF2YWlsYWJsZSBzdWJjb21tYW5kcy5cbiAgICogQHBhcmFtIHs/RXhlY09wdHN9IG9wdHNcbiAgICogQHJldHVybiB7RXhlY1Jlc3VsdHxTdWJQcm9jZXNzfSBFaXRoZXIgdGhlIHJlc3VsdCBvZiB0ZWVuIHByb2Nlc3MncyBgZXhlY2Agb3JcbiAgICogYFN1YlByb2Nlc3NgIGluc3RhbmNlIGRlcGVuZGluZyBvZiBgb3B0cy5hc3luY2hyb25vdXNgIHZhbHVlLlxuICAgKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmQgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAgICovXG4gIGFzeW5jIGV4ZWMgKHN1YmNvbW1hbmQsIG9wdHMgPSB7fSkge1xuICAgIGxldCB7XG4gICAgICBhcmdzID0gW10sXG4gICAgICBlbnYgPSB7fSxcbiAgICAgIGFzeW5jaHJvbm91cyA9IGZhbHNlLFxuICAgICAgZW5jb2RpbmcsXG4gICAgfSA9IG9wdHM7XG4gICAgLy8gcnVuIGEgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZFxuICAgIGFyZ3MgPSBbJ3NpbWN0bCcsIHN1YmNvbW1hbmQsIC4uLmFyZ3NdO1xuICAgIC8vIFByZWZpeCBhbGwgcGFzc2VkIGluIGVudmlyb25tZW50IHZhcmlhYmxlcyB3aXRoICdTSU1DVExfQ0hJTERfJywgc2ltY3RsXG4gICAgLy8gd2lsbCB0aGVuIHBhc3MgdGhlc2UgdG8gdGhlIGNoaWxkIChzcGF3bmVkKSBwcm9jZXNzLlxuICAgIGVudiA9IF8uZGVmYXVsdHMoXG4gICAgICBfLm1hcEtleXMoZW52LFxuICAgICAgICAodmFsdWUsIGtleSkgPT4gXy5zdGFydHNXaXRoKGtleSwgU0lNQ1RMX0VOVl9QUkVGSVgpID8ga2V5IDogYCR7U0lNQ1RMX0VOVl9QUkVGSVh9JHtrZXl9YCksXG4gICAgICBwcm9jZXNzLmVudik7XG5cbiAgICBjb25zdCBleGVjT3B0cyA9IHtcbiAgICAgIGVudixcbiAgICAgIGVuY29kaW5nLFxuICAgIH07XG4gICAgaWYgKCFhc3luY2hyb25vdXMpIHtcbiAgICAgIGV4ZWNPcHRzLnRpbWVvdXQgPSB0aGlzLmV4ZWNUaW1lb3V0O1xuICAgIH1cbiAgICBjb25zdCB4Y3J1biA9IGF3YWl0IHRoaXMucmVxdWlyZVhjcnVuKCk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBhc3luY2hyb25vdXMgPyBuZXcgU3ViUHJvY2Vzcyh4Y3J1biwgYXJncywgZXhlY09wdHMpIDogYXdhaXQgdHBFeGVjKHhjcnVuLCBhcmdzLCBleGVjT3B0cyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCF0aGlzLmxvZ0Vycm9ycykge1xuICAgICAgICAvLyBpZiB3ZSBkb24ndCB3YW50IHRvIHNlZSB0aGUgZXJyb3JzLCBqdXN0IHRocm93IGFuZCBhbGxvdyB0aGUgY2FsbGluZ1xuICAgICAgICAvLyBjb2RlIGRvIHdoYXQgaXQgd2FudHNcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH0gZWxzZSBpZiAoZS5zdGRlcnIpIHtcbiAgICAgICAgY29uc3QgbXNnID0gYEVycm9yIHJ1bm5pbmcgJyR7c3ViY29tbWFuZH0nOiAke2Uuc3RkZXJyLnRyaW0oKX1gO1xuICAgICAgICBsb2cuZGVidWcobXNnKTtcbiAgICAgICAgdGhyb3cgRXJyb3IobXNnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxvZy5kZWJ1ZyhlLm1lc3NhZ2UpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vIGFkZCBhbGwgdGhlIHN1YmNvbW1hbmRzIHRvIHRoZSBTaW1jdGwgcHJvdG90eXBlXG5mb3IgKGNvbnN0IFtmbk5hbWUsIGZuXSBvZiBfLnRvUGFpcnMoc3ViY29tbWFuZHMpKSB7XG4gIFNpbWN0bC5wcm90b3R5cGVbZm5OYW1lXSA9IGZuO1xufVxuXG5leHBvcnQgZGVmYXVsdCBTaW1jdGw7XG5leHBvcnQgeyBTaW1jdGwgfTsiXSwiZmlsZSI6ImxpYi9zaW1jdGwuanMiLCJzb3VyY2VSb290IjoiLi4vLi4ifQ==
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zaW1jdGwuanMiXSwibmFtZXMiOlsiU0lNQ1RMX0VOVl9QUkVGSVgiLCJERUZBVUxUX09QVFMiLCJ4Y3J1biIsInBhdGgiLCJleGVjVGltZW91dCIsIkRFRkFVTFRfRVhFQ19USU1FT1VUIiwibG9nRXJyb3JzIiwiU2ltY3RsIiwiY29uc3RydWN0b3IiLCJvcHRzIiwiXyIsImNsb25lRGVlcCIsImRlZmF1bHRzRGVlcCIsImtleSIsImtleXMiLCJfdWRpZCIsImlzTmlsIiwidWRpZCIsInZhbHVlIiwicmVxdWlyZVVkaWQiLCJjb21tYW5kTmFtZSIsIkVycm9yIiwicmVxdWlyZVhjcnVuIiwiWENSVU5fQklOQVJZIiwiZSIsImV4ZWMiLCJzdWJjb21tYW5kIiwiYXJncyIsImVudiIsImFzeW5jaHJvbm91cyIsImVuY29kaW5nIiwiZGVmYXVsdHMiLCJtYXBLZXlzIiwic3RhcnRzV2l0aCIsInByb2Nlc3MiLCJleGVjT3B0cyIsInRpbWVvdXQiLCJTdWJQcm9jZXNzIiwic3RkZXJyIiwibXNnIiwidHJpbSIsImxvZyIsImRlYnVnIiwiTE9HX1BSRUZJWCIsIm1lc3NhZ2UiLCJmbk5hbWUiLCJmbiIsInRvUGFpcnMiLCJzdWJjb21tYW5kcyIsInByb3RvdHlwZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUdBOztBQUVBLE1BQU1BLGlCQUFpQixHQUFHLGVBQTFCO0FBQ0EsTUFBTUMsWUFBWSxHQUFHO0FBQ25CQyxFQUFBQSxLQUFLLEVBQUU7QUFDTEMsSUFBQUEsSUFBSSxFQUFFO0FBREQsR0FEWTtBQUluQkMsRUFBQUEsV0FBVyxFQUFFQyw2QkFKTTtBQUtuQkMsRUFBQUEsU0FBUyxFQUFFO0FBTFEsQ0FBckI7O0FBeUNBLE1BQU1DLE1BQU4sQ0FBYTtBQUlYQyxFQUFBQSxXQUFXLENBQUVDLElBQUksR0FBRyxFQUFULEVBQWE7QUFDdEJBLElBQUFBLElBQUksR0FBR0MsZ0JBQUVDLFNB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QU1DLEdBQUcsR0FBSSxrQkFBaUJiLFVBQVcsTUFBS0YsQ0FBQyxDQUFDYyxNQUFGLENBQVNFLElBQVQsRUFBZ0IsRUFBOUQ7O0FBQ0FDLHdCQUFJQyxLQUFKLENBQVVDLGtCQUFWLEVBQXNCSixHQUF0Qjs7QUFDQSxjQUFNbEIsS0FBSyxDQUFDa0IsR0FBRCxDQUFYO0FBQ0QsT0FKTSxNQUlBO0FBQ0xFLHdCQUFJQyxLQUFKLENBQVVDLGtCQUFWLEVBQXNCbkIsQ0FBQyxDQUFDb0IsT0FBeEI7O0FBQ0EsY0FBTXBCLENBQU47QUFDRDtBQUNGO0FBQ0Y7O0FBNUZVOzs7O0FBaUdiLEtBQUssTUFBTSxDQUFDcUIsTUFBRCxFQUFTQyxFQUFULENBQVgsSUFBMkJwQyxnQkFBRXFDLE9BQUYsQ0FBVUMsY0FBVixDQUEzQixFQUFtRDtBQUNqRHpDLEVBQUFBLE1BQU0sQ0FBQzBDLFNBQVAsQ0FBaUJKLE1BQWpCLElBQTJCQyxFQUEzQjtBQUNEOztlQUVjdkMsTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgc3ViY29tbWFuZHMgZnJvbSAnLi9zdWJjb21tYW5kcy9pbmRleC5qcyc7XG5pbXBvcnQgd2hpY2ggZnJvbSAnd2hpY2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi9sb2dnZXInO1xuaW1wb3J0IHtcbiAgREVGQVVMVF9FWEVDX1RJTUVPVVQsIFhDUlVOX0JJTkFSWSxcbn0gZnJvbSAnLi9oZWxwZXJzJztcbmltcG9ydCB7IGV4ZWMgYXMgdHBFeGVjLCBTdWJQcm9jZXNzIH0gZnJvbSAndGVlbl9wcm9jZXNzJztcblxuY29uc3QgU0lNQ1RMX0VOVl9QUkVGSVggPSAnU0lNQ1RMX0NISUxEXyc7XG5jb25zdCBERUZBVUxUX09QVFMgPSB7XG4gIHhjcnVuOiB7XG4gICAgcGF0aDogbnVsbCxcbiAgfSxcbiAgZXhlY1RpbWVvdXQ6IERFRkFVTFRfRVhFQ19USU1FT1VULFxuICBsb2dFcnJvcnM6IHRydWUsXG59O1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEV4ZWNPcHRzXG4gKiBAcHJvcGVydHkge0FycmF5LjxzdHJpbmc+fSBhcmdzIFtbXV0gLSBUaGUgbGlzdCBvZiBhZGRpdGlvbmFsIHN1YmNvbW1hbmQgYXJndW1lbnRzLlxuICogSXQncyBlbXB0eSBieSBkZWZhdWx0LlxuICogQHByb3BlcnR5IHtPYmplY3R9IGVudiBbe31dIC0gRW52aXJvbm1lbnQgdmFyaWFibGVzIG1hcHBpbmcuIEFsbCB0aGVzZSB2YXJpYWJsZXNcbiAqIHdpbGwgYmUgcGFzc2VkIFNpbXVsYXRvciBhbmQgdXNlZCBpbiB0aGUgZXhlY3V0aW5nIGZ1bmN0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBsb2dFcnJvcnMgW3RydWVdIC0gU2V0IGl0IHRvIF9mYWxzZV8gdG8gdGhyb3cgZXhlY3V0aW9uIGVycm9yc1xuICogaW1tZWRpYXRlbHkgd2l0aG91dCBsb2dnaW5nIGFueSBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuICogQHByb3BlcnR5IHtib29sZWFufSBhc3luY2hyb25vdXMgW2ZhbHNlXSAtIFdoZXRoZXIgdG8gZXhlY3V0ZSB0aGUgZ2l2ZW4gY29tbWFuZFxuICogJ3N5bmNocm9ub3VzbHknIG9yICdhc3luY2hyb25vdXNseScuIEFmZmVjdHMgdGhlIHJldHVybmVkIHJlc3VsdCBvZiB0aGUgZnVuY3Rpb24uXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IGVuY29kaW5nIC0gRXhwbGljaXRseSBzZXRzIHN0cmVhbXMgZW5jb2RpbmcgZm9yIHRoZSBleGVjdXRlZFxuICogY29tbWFuZCBpbnB1dCBhbmQgb3V0cHV0cy5cbiAqL1xuXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU2ltY3RsT3B0c1xuICogQHByb3BlcnR5IHs/T2JqZWN0fSB4Y3J1biAtIFRoZSB4Y3J1biBwcm9wZXJ0aWVzLiBDdXJyZW50bHkgb25seSBvbmUgcHJvcGVydHlcbiAqIGlzIHN1cHBvcnRlZCwgd2hpY2ggaXMgYHBhdGhgIGFuZCBpdCBieSBkZWZhdWx0IGNvbnRhaW5zIGBudWxsYCwgd2hpY2ggZW5mb3JjZXNcbiAqIHRoZSBpbnN0YW5jZSB0byBhdXRvbWF0aWNhbGx5IGRldGVjdCB0aGUgZnVsbCBwYXRoIHRvIGB4Y3J1bmAgdG9vbCBhbmQgdG8gdGhyb3dcbiAqIGFuIGV4Y2VwdGlvbiBpZiBpdCBjYW5ub3QgYmUgZGV0ZWN0ZWQuIElmIHRoZSBwYXRoIGlzIHNldCB1cG9uIGluc3RhbmNlIGNyZWF0aW9uXG4gKiB0aGVuIGl0IGlzIGdvaW5nIHRvIGJlIHVzZWQgYnkgYGV4ZWNgIGFuZCBubyBhdXRvZGV0ZWN0aW9uIHdpbGwgaGFwcGVuLlxuICogQHByb3BlcnR5IHs/bnVtYmVyfSBleGVjVGltZW91dCBbNjAwMDAwXSAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtaXVsbGlzZWNvbmRzXG4gKiB0byB3YWl0IGZvciBzaW5nbGUgc3luY2hyb25vdXMgeGNydW4gY29tbWFuZC5cbiAqIEBwcm9wZXJ0eSB7P2Jvb2xlYW59IGxvZ0Vycm9ycyBbdHJ1ZV0gLSBXaGV0aGVyIHRvIHdpcmUgeGNydW4gZXJyb3IgbWVzc2FnZXNcbiAqIGludG8gZGVidWcgbG9nIGJlZm9yZSB0aHJvd2luZyB0aGVtLlxuICogQHByb3BlcnR5IHs/c3RyaW5nfSB1ZGlkIFtudWxsXSAtIFRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgY3VycmVudCBkZXZpY2UsIHdoaWNoIGlzXG4gKiBnb2luZyB0byBiZSBpbXBsaWN0bHkgcGFzc2VkIHRvIGFsbCBtZXRob2RzLCB3aGljaCByZXF1aXJlIGl0LiBJdCBjYW4gZWl0aGVyIGJlIHNldFxuICogdXBvbiBpbnN0YW5jZSBjcmVhdGlvbiBpZiBpdCBpcyBhbHJlYWR5IGtub3duIGluIGRhdm5jZSBvciBsYXRlciB3aGVuL2lmIG5lZWRlZCB2aWEgdGhlXG4gKiBjb3JyZXNwb25kaW5nIGluc3RhbmNlIHNldHRlci5cbiAqL1xuXG5cbmNsYXNzIFNpbWN0bCB7XG4gIC8qKlxuICAgKiBAcGFyYW0gez9TaW1jdGxPcHRzfSBvcHRzXG4gICAqL1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgb3B0cyA9IF8uY2xvbmVEZWVwKG9wdHMpO1xuICAgIF8uZGVmYXVsdHNEZWVwKG9wdHMsIERFRkFVTFRfT1BUUyk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgXy5rZXlzKERFRkFVTFRfT1BUUykpIHtcbiAgICAgIHRoaXNba2V5XSA9IG9wdHNba2V5XTtcbiAgICB9XG4gICAgdGhpcy5fdWRpZCA9IF8uaXNOaWwob3B0cy51ZGlkKSA/IG51bGwgOiBvcHRzLnVkaWQ7XG4gIH1cblxuICBzZXQgdWRpZCAodmFsdWUpIHtcbiAgICB0aGlzLl91ZGlkID0gdmFsdWU7XG4gIH1cblxuICBnZXQgdWRpZCAoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VkaWQ7XG4gIH1cblxuICByZXF1aXJlVWRpZCAoY29tbWFuZE5hbWUgPSBudWxsKSB7XG4gICAgaWYgKCF0aGlzLnVkaWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgdWRpZCBpcyByZXF1aXJlZCB0byBiZSBzZXQgZm9yIGAgK1xuICAgICAgICAoY29tbWFuZE5hbWUgPyBgdGhlICcke2NvbW1hbmROYW1lfScgY29tbWFuZGAgOiAndGhpcyBzaW1jdGwgY29tbWFuZCcpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudWRpZDtcbiAgfVxuXG4gIGFzeW5jIHJlcXVpcmVYY3J1biAoKSB7XG4gICAgaWYgKCF0aGlzLnhjcnVuLnBhdGgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMueGNydW4ucGF0aCA9IGF3YWl0IHdoaWNoKFhDUlVOX0JJTkFSWSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgJHtYQ1JVTl9CSU5BUll9IHRvb2wgaGFzIG5vdCBiZWVuIGZvdW5kIGluIFBBVEguIGAgK1xuICAgICAgICAgIGBBcmUgWGNvZGUgZGV2ZWxvcGVycyB0b29scyBpbnN0YWxsZWQ/YCk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnhjcnVuLnBhdGg7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSB0aGUgcGFydGljdWxhciBzaW1jdGwgY29tbWFuZC5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IHN1YmNvbW1hbmQgLSBPbmUgb2YgYXZhaWxhYmxlIHNpbWN0bCBzdWJjb21tYW5kcy5cbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICBFeGVjdXRlIGB4Y3J1biBzaW1jdGxgIGluIFRlcm1pbmFsIHRvIHNlZSB0aGUgZnVsbCBsaXN0XG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgYXZhaWxhYmxlIHN1YmNvbW1hbmRzLlxuICAgKiBAcGFyYW0gez9FeGVjT3B0c30gb3B0c1xuICAgKiBAcmV0dXJuIHtFeGVjUmVzdWx0fFN1YlByb2Nlc3N9IEVpdGhlciB0aGUgcmVzdWx0IG9mIHRlZW4gcHJvY2VzcydzIGBleGVjYCBvclxuICAgKiBgU3ViUHJvY2Vzc2AgaW5zdGFuY2UgZGVwZW5kaW5nIG9mIGBvcHRzLmFzeW5jaHJvbm91c2AgdmFsdWUuXG4gICAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZCByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICAgKi9cbiAgYXN5bmMgZXhlYyAoc3ViY29tbWFuZCwgb3B0cyA9IHt9KSB7XG4gICAgbGV0IHtcbiAgICAgIGFyZ3MgPSBbXSxcbiAgICAgIGVudiA9IHt9LFxuICAgICAgYXN5bmNocm9ub3VzID0gZmFsc2UsXG4gICAgICBlbmNvZGluZyxcbiAgICB9ID0gb3B0cztcbiAgICAvLyBydW4gYSBwYXJ0aWN1bGFyIHNpbWN0bCBjb21tYW5kXG4gICAgYXJncyA9IFsnc2ltY3RsJywgc3ViY29tbWFuZCwgLi4uYXJnc107XG4gICAgLy8gUHJlZml4IGFsbCBwYXNzZWQgaW4gZW52aXJvbm1lbnQgdmFyaWFibGVzIHdpdGggJ1NJTUNUTF9DSElMRF8nLCBzaW1jdGxcbiAgICAvLyB3aWxsIHRoZW4gcGFzcyB0aGVzZSB0byB0aGUgY2hpbGQgKHNwYXduZWQpIHByb2Nlc3MuXG4gICAgZW52ID0gXy5kZWZhdWx0cyhcbiAgICAgIF8ubWFwS2V5cyhlbnYsXG4gICAgICAgICh2YWx1ZSwga2V5KSA9PiBfLnN0YXJ0c1dpdGgoa2V5LCBTSU1DVExfRU5WX1BSRUZJWCkgPyBrZXkgOiBgJHtTSU1DVExfRU5WX1BSRUZJWH0ke2tleX1gKSxcbiAgICAgIHByb2Nlc3MuZW52KTtcblxuICAgIGNvbnN0IGV4ZWNPcHRzID0ge1xuICAgICAgZW52LFxuICAgICAgZW5jb2RpbmcsXG4gICAgfTtcbiAgICBpZiAoIWFzeW5jaHJvbm91cykge1xuICAgICAgZXhlY09wdHMudGltZW91dCA9IHRoaXMuZXhlY1RpbWVvdXQ7XG4gICAgfVxuICAgIGNvbnN0IHhjcnVuID0gYXdhaXQgdGhpcy5yZXF1aXJlWGNydW4oKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGFzeW5jaHJvbm91cyA/IG5ldyBTdWJQcm9jZXNzKHhjcnVuLCBhcmdzLCBleGVjT3B0cykgOiBhd2FpdCB0cEV4ZWMoeGNydW4sIGFyZ3MsIGV4ZWNPcHRzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIXRoaXMubG9nRXJyb3JzKSB7XG4gICAgICAgIC8vIGlmIHdlIGRvbid0IHdhbnQgdG8gc2VlIHRoZSBlcnJvcnMsIGp1c3QgdGhyb3cgYW5kIGFsbG93IHRoZSBjYWxsaW5nXG4gICAgICAgIC8vIGNvZGUgZG8gd2hhdCBpdCB3YW50c1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSBlbHNlIGlmIChlLnN0ZGVycikge1xuICAgICAgICBjb25zdCBtc2cgPSBgRXJyb3IgcnVubmluZyAnJHtzdWJjb21tYW5kfSc6ICR7ZS5zdGRlcnIudHJpbSgpfWA7XG4gICAgICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBtc2cpO1xuICAgICAgICB0aHJvdyBFcnJvcihtc2cpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nLmRlYnVnKExPR19QUkVGSVgsIGUubWVzc2FnZSk7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gYWRkIGFsbCB0aGUgc3ViY29tbWFuZHMgdG8gdGhlIFNpbWN0bCBwcm90b3R5cGVcbmZvciAoY29uc3QgW2ZuTmFtZSwgZm5dIG9mIF8udG9QYWlycyhzdWJjb21tYW5kcykpIHtcbiAgU2ltY3RsLnByb3RvdHlwZVtmbk5hbWVdID0gZm47XG59XG5cbmV4cG9ydCBkZWZhdWx0IFNpbWN0bDtcbmV4cG9ydCB7IFNpbWN0bCB9OyJdLCJmaWxlIjoibGliL3NpbWN0bC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

@@ -14,3 +16,3 @@

var _logger = _interopRequireDefault(require("../logger"));
var _logger = _interopRequireWildcard(require("../logger"));

@@ -29,3 +31,3 @@ const commands = {};

_logger.default.debug(`Simulator already in 'Booted' state. Continuing`);
_logger.default.debug(_logger.LOG_PREFIX, `Simulator already in 'Booted' state. Continuing`);
}

@@ -38,2 +40,2 @@ };

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJjb21tYW5kcy9ib290LmpzIl0sIm5hbWVzIjpbImNvbW1hbmRzIiwiYm9vdERldmljZSIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiLCJlIiwiXyIsImluY2x1ZGVzIiwibWVzc2FnZSIsImxvZyIsImRlYnVnIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUdBLE1BQU1BLFFBQVEsR0FBRyxFQUFqQjs7QUFTQUEsUUFBUSxDQUFDQyxVQUFULEdBQXNCLGVBQWVBLFVBQWYsR0FBNkI7QUFDakQsTUFBSTtBQUNGLFVBQU0sS0FBS0MsSUFBTCxDQUFVLE1BQVYsRUFBa0I7QUFDdEJDLE1BQUFBLElBQUksRUFBRSxDQUFDLEtBQUtDLFdBQUwsQ0FBaUIsTUFBakIsQ0FBRDtBQURnQixLQUFsQixDQUFOO0FBR0QsR0FKRCxDQUlFLE9BQU9DLENBQVAsRUFBVTtBQUNWLFFBQUlDLGdCQUFFQyxRQUFGLENBQVdGLENBQUMsQ0FBQ0csT0FBYixFQUFzQixnREFBdEIsQ0FBSixFQUE2RTtBQUMzRSxZQUFNSCxDQUFOO0FBQ0Q7O0FBQ0RJLG9CQUFJQyxLQUFKLENBQVcsaURBQVg7QUFDRDtBQUNGLENBWEQ7O2VBYWVWLFEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZyBmcm9tICcuLi9sb2dnZXInO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQm9vdCB0aGUgcGFydGljdWxhciBTaW11bGF0b3IgaWYgaXQgaXMgbm90IHJ1bm5pbmcuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuYm9vdERldmljZSA9IGFzeW5jIGZ1bmN0aW9uIGJvb3REZXZpY2UgKCkge1xuICB0cnkge1xuICAgIGF3YWl0IHRoaXMuZXhlYygnYm9vdCcsIHtcbiAgICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdib290JyldXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoXy5pbmNsdWRlcyhlLm1lc3NhZ2UsICdVbmFibGUgdG8gYm9vdCBkZXZpY2UgaW4gY3VycmVudCBzdGF0ZTogQm9vdGVkJykpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIGxvZy5kZWJ1ZyhgU2ltdWxhdG9yIGFscmVhZHkgaW4gJ0Jvb3RlZCcgc3RhdGUuIENvbnRpbnVpbmdgKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwiZmlsZSI6ImxpYi9zdWJjb21tYW5kcy9ib290LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJjb21tYW5kcy9ib290LmpzIl0sIm5hbWVzIjpbImNvbW1hbmRzIiwiYm9vdERldmljZSIsImV4ZWMiLCJhcmdzIiwicmVxdWlyZVVkaWQiLCJlIiwiXyIsImluY2x1ZGVzIiwibWVzc2FnZSIsImxvZyIsImRlYnVnIiwiTE9HX1BSRUZJWCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUdBLE1BQU1BLFFBQVEsR0FBRyxFQUFqQjs7QUFTQUEsUUFBUSxDQUFDQyxVQUFULEdBQXNCLGVBQWVBLFVBQWYsR0FBNkI7QUFDakQsTUFBSTtBQUNGLFVBQU0sS0FBS0MsSUFBTCxDQUFVLE1BQVYsRUFBa0I7QUFDdEJDLE1BQUFBLElBQUksRUFBRSxDQUFDLEtBQUtDLFdBQUwsQ0FBaUIsTUFBakIsQ0FBRDtBQURnQixLQUFsQixDQUFOO0FBR0QsR0FKRCxDQUlFLE9BQU9DLENBQVAsRUFBVTtBQUNWLFFBQUlDLGdCQUFFQyxRQUFGLENBQVdGLENBQUMsQ0FBQ0csT0FBYixFQUFzQixnREFBdEIsQ0FBSixFQUE2RTtBQUMzRSxZQUFNSCxDQUFOO0FBQ0Q7O0FBQ0RJLG9CQUFJQyxLQUFKLENBQVVDLGtCQUFWLEVBQXVCLGlEQUF2QjtBQUNEO0FBQ0YsQ0FYRDs7ZUFhZVgsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbG9nLCB7IExPR19QUkVGSVggfSBmcm9tICcuLi9sb2dnZXInO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQm9vdCB0aGUgcGFydGljdWxhciBTaW11bGF0b3IgaWYgaXQgaXMgbm90IHJ1bm5pbmcuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuYm9vdERldmljZSA9IGFzeW5jIGZ1bmN0aW9uIGJvb3REZXZpY2UgKCkge1xuICB0cnkge1xuICAgIGF3YWl0IHRoaXMuZXhlYygnYm9vdCcsIHtcbiAgICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdib290JyldXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICBpZiAoXy5pbmNsdWRlcyhlLm1lc3NhZ2UsICdVbmFibGUgdG8gYm9vdCBkZXZpY2UgaW4gY3VycmVudCBzdGF0ZTogQm9vdGVkJykpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBgU2ltdWxhdG9yIGFscmVhZHkgaW4gJ0Jvb3RlZCcgc3RhdGUuIENvbnRpbnVpbmdgKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwiZmlsZSI6ImxpYi9zdWJjb21tYW5kcy9ib290LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

@@ -14,3 +16,3 @@

var _logger = _interopRequireDefault(require("../logger"));
var _logger = _interopRequireWildcard(require("../logger"));

@@ -59,3 +61,3 @@ var _asyncbox = require("asyncbox");

for (const runtimeId of runtimeIds) {
_logger.default.debug(`Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);
_logger.default.debug(_logger.LOG_PREFIX, `Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);

@@ -102,2 +104,2 @@ try {

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJjb21tYW5kcy9jcmVhdGUuanMiXSwibmFtZXMiOlsiU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TIiwiREVGQVVMVF9DUkVBVEVfU0lNVUxBVE9SX1RJTUVPVVQiLCJjb21tYW5kcyIsImNyZWF0ZURldmljZSIsIm5hbWUiLCJkZXZpY2VUeXBlSWQiLCJwbGF0Zm9ybVZlcnNpb24iLCJvcHRzIiwicGxhdGZvcm0iLCJ0aW1lb3V0IiwicnVudGltZUlkcyIsInB1c2giLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbiIsImlnbiIsIl8iLCJpc0VtcHR5IiwicnVudGltZUlkIiwiZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvbiIsImVyciIsImxvZyIsIndhcm4iLCJwb3RlbnRpYWxSdW50aW1lSWRzIiwic3BsaXQiLCJsZW5ndGgiLCJtYXAiLCJpZCIsIlNJTV9SVU5USU1FX05BTUUiLCJyZXBsYWNlIiwidWRpZCIsImRlYnVnIiwic3Rkb3V0IiwiZXhlYyIsImFyZ3MiLCJ0cmltIiwiRXJyb3IiLCJqb2luIiwicmV0cmllcyIsInBhcnNlSW50IiwiZGV2aWNlcyIsInZhbHVlcyIsImdldERldmljZXMiLCJkZXZpY2VBcnIiLCJkZXZpY2UiLCJzdGF0ZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSwyQkFBMkIsR0FBRyxLQUFwQztBQUNBLE1BQU1DLGdDQUFnQyxHQUFHLEtBQXpDO0FBRUEsTUFBTUMsUUFBUSxHQUFHLEVBQWpCOztBQXFCQUEsUUFBUSxDQUFDQyxZQUFULEdBQXdCLGVBQWVBLFlBQWYsQ0FBNkJDLElBQTdCLEVBQW1DQyxZQUFuQyxFQUFpREMsZUFBakQsRUFBa0VDLElBQUksR0FBRyxFQUF6RSxFQUE2RTtBQUNuRyxRQUFNO0FBQ0pDLElBQUFBLFFBQVEsR0FBR1IsMkJBRFA7QUFFSlMsSUFBQUEsT0FBTyxHQUFHUjtBQUZOLE1BR0ZNLElB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QUVMO0FBQ0Q7QUFDRjtBQUNGO0FBQ0Y7O0FBQ0QsVUFBTSxJQUFJTSxLQUFKLENBQVcscUJBQW9CTixJQUFLLG1CQUFwQyxDQUFOO0FBQ0QsR0FoQkssQ0FBTjtBQWtCQSxTQUFPQSxJQUFQO0FBQ0QsQ0FuRkQ7O2VBcUZlMUIsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5pbXBvcnQgeyByZXRyeUludGVydmFsIH0gZnJvbSAnYXN5bmNib3gnO1xuaW1wb3J0IHsgU0lNX1JVTlRJTUVfTkFNRSwgbm9ybWFsaXplVmVyc2lvbiB9IGZyb20gJy4uL2hlbHBlcnMnO1xuXG5cbmNvbnN0IFNJTV9SVU5USU1FX05BTUVfU1VGRklYX0lPUyA9ICdpT1MnO1xuY29uc3QgREVGQVVMVF9DUkVBVEVfU0lNVUxBVE9SX1RJTUVPVVQgPSAxMDAwMDtcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBTaW1DcmVhdGlvbk9wdHNcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBwbGF0Zm9ybSBbaU9TXSAtIFBsYXRmb3JtIG5hbWUgaW4gb3JkZXIgdG8gc3BlY2lmeSBydW50aW1lIHN1Y2ggYXMgJ2lPUycsICd0dk9TJywgJ3dhdGNoT1MnXG4gKiBAcHJvcGVydHkge251bWJlcn0gdGltZW91dCBbMTAwMDBdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB3YWl0XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pdCBkZXZpY2UgY3JlYXRpb24gaXMgY29tcGxldGVkLlxuICovXG5cbi8qKlxuICogQ3JlYXRlIFNpbXVsYXRvciBkZXZpY2Ugd2l0aCBnaXZlbiBuYW1lIGZvciB0aGUgcGFydGljdWxhclxuICogcGxhdGZvcm0gdHlwZSBhbmQgdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSAtIFRoZSBkZXZpY2UgbmFtZSB0byBiZSBjcmVhdGVkLlxuICogQHBhcmFtIHtzdHJpbmd9IGRldmljZVR5cGVJZCAtIERldmljZSB0eXBlLCBmb3IgZXhhbXBsZSAnaVBob25lIDYnLlxuICogQHBhcmFtIHtzdHJpbmd9IHBsYXRmb3JtVmVyc2lvbiAtIFBsYXRmb3JtIHZlcnNpb24sIGZvciBleGFtcGxlICcxMC4zJy5cbiAqIEBwYXJhbSB7P1NpbUNyZWF0aW9uT3B0c30gb3B0cyAtIFNpbXVsYXRvciBvcHRpb25zIGZvciBjcmVhdGluZyBkZXZpY2VzLlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgVURJRCBvZiB0aGUgbmV3bHkgY3JlYXRlZCBkZXZpY2UuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKi9cbmNvbW1hbmRzLmNyZWF0ZURldmljZSA9IGFzeW5jIGZ1bmN0aW9uIGNyZWF0ZURldmljZSAobmFtZSwgZGV2aWNlVHlwZUlkLCBwbGF0Zm9ybVZlcnNpb24sIG9wdHMgPSB7fSkge1xuICBjb25zdCB7XG4gICAgcGxhdGZvcm0gPSBTSU1fUlVOVElNRV9OQU1FX1NVRkZJWF9JT1MsXG4gICAgdGltZW91dCA9IERFRkFVTFRfQ1JFQVRFX1NJTVVMQVRPUl9USU1FT1VUXG4gIH0gPSBvcHRzO1xuXG4gIGxldCBydW50aW1lSWRzID0gW107XG5cbiAgLy8gVHJ5IGdldHRpbmcgcnVudGltZUlkIHVzaW5nIEpTT04gZmxhZ1xuICB0cnkge1xuICAgIHJ1bnRpbWVJZHMucHVzaChhd2FpdCB0aGlzLmdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uKHBsYXRmb3JtVmVyc2lvbiwgcGxhdGZvcm0pKTtcbiAgfSBjYXRjaCAoaWduKSB7fVxuXG4gIGlmIChfLmlzRW1wdHkocnVudGltZUlkcykpIHtcbiAgICAvLyBhdCBmaXJzdCBtYWtlIHN1cmUgdGhhdCB0aGUgcnVudGltZSBpZCBpcyB0aGUgcmlnaHQgb25lXG4gICAgLy8gaW4gc29tZSB2ZXJzaW9ucyBvZiBYY29kZSBpdCB3aWxsIGJlIGEgcGF0Y2ggdmVyc2lvblxuICAgIGxldCBydW50aW1lSWQ7XG4gICAgdHJ5IHtcbiAgICAgIHJ1bnRpbWVJZCA9IGF3YWl0IHRoaXMuZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvbihwbGF0Zm9ybVZlcnNpb24sIHBsYXRmb3JtKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGxvZy53YXJuKGBVbmFibGUgdG8gZmluZCBydW50aW1lIGZvciBpT1MgJyR7cGxhdGZvcm1WZXJzaW9ufScuIENvbnRpbnVpbmdgKTtcbiAgICAgIHJ1bnRpbWVJZCA9IHBsYXRmb3JtVmVyc2lvbjtcbiAgICB9XG5cbiAgICAvLyBnZXQgdGhlIHBvc3NpYmxlIHJ1bnRpbWVzLCB3aGljaCB3aWxsIGJlIGl0ZXJhdGVkIG92ZXJcblxuICAgIC8vIHN0YXJ0IHdpdGggbWFqb3ItbWlub3IgdmVyc2lvblxuICAgIGxldCBwb3RlbnRpYWxSdW50aW1lSWRzID0gW25vcm1hbGl6ZVZlcnNpb24ocnVudGltZUlkKV07XG4gICAgaWYgKHJ1bnRpbWVJZC5zcGxpdCgnLicpLmxlbmd0aCA9PT0gMykge1xuICAgICAgLy8gYWRkIHBhdGNoIHZlcnNpb24gaWYgaXQgZXhpc3RzXG4gICAgICBwb3RlbnRpYWxSdW50aW1lSWRzLnB1c2gocnVudGltZUlkKTtcbiAgICB9XG5cbiAgICAvLyBhZGQgbW9kaWZpZWQgdmVyc2lvbnMsIHNpbmNlIG1vZGVybiBYY29kZXMgdXNlIHRoaXMsIHRoZW4gdGhlIGJhcmVcbiAgICAvLyB2ZXJzaW9ucywgdG8gYWNjb21vZGF0ZSBvbGRlciBYY29kZXNcbiAgICBydW50aW1lSWRzLnB1c2goXG4gICAgICAuLi4ocG90ZW50aWFsUnVudGltZUlkcy5tYXAoKGlkKSA9PiBgJHtTSU1fUlVOVElNRV9OQU1FfSR7cGxhdGZvcm19LSR7aWQucmVwbGFjZSgvXFwuL2csICctJyl9YCkpLFxuICAgICAgLi4ucG90ZW50aWFsUnVudGltZUlkc1xuICAgICk7XG4gIH1cblxuICAvLyBnbyB0aHJvdWdoIHRoZSBydW50aW1lIGlkcyBhbmQgdHJ5IHRvIGNyZWF0ZSBhIHNpbXVsYXRvciB3aXRoIGVhY2hcbiAgbGV0IHVkaWQ7XG4gIGZvciAoY29uc3QgcnVudGltZUlkIG9mIHJ1bnRpbWVJZHMpIHtcbiAgICBsb2cuZGVidWcoYENyZWF0aW5nIHNpbXVsYXRvciB3aXRoIG5hbWUgJyR7bmFtZX0nLCBkZXZpY2UgdHlwZSBpZCAnJHtkZXZpY2VUeXBlSWR9JyBhbmQgcnVudGltZSBpZCAnJHtydW50aW1lSWR9J2ApO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnY3JlYXRlJywge1xuICAgICAgICBhcmdzOiBbbmFtZSwgZGV2aWNlVHlwZUlkLCBydW50aW1lSWRdXG4gICAgICB9KTtcbiAgICAgIHVkaWQgPSBzdGRvdXQudHJpbSgpO1xuICAgICAgYnJlYWs7XG4gICAgfSBjYXRjaCAoaWduKSB7XG4gICAgICAvLyB0aGUgZXJyb3IgZ2V0cyBsb2dnZWQgaW4gYHNpbUV4ZWNgXG4gICAgfVxuICB9XG5cbiAgaWYgKCF1ZGlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgY3JlYXRlIHNpbXVsYXRvciB3aXRoIG5hbWUgJyR7bmFtZX0nLCBkZXZpY2UgYCArXG4gICAgICBgdHlwZSBpZCAnJHtkZXZpY2VUeXBlSWR9Jywgd2l0aCBydW50aW1lIGlkcyBgICtcbiAgICAgIGAke3J1bnRpbWVJZHMubWFwKChpZCkgPT4gYCcke2lkfSdgKS5qb2luKCcsICcpfWApO1xuICB9XG5cbiAgLy8gbWFrZSBzdXJlIHRoYXQgaXQgZ2V0cyBvdXQgb2YgdGhlIFwiQ3JlYXRpbmdcIiBzdGF0ZVxuICBjb25zdCByZXRyaWVzID0gcGFyc2VJbnQodGltZW91dCAvIDEwMDAsIDEwKTtcbiAgYXdhaXQgcmV0cnlJbnRlcnZhbChyZXRyaWVzLCAxMDAwLCBhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZGV2aWNlcyA9IF8udmFsdWVzKGF3YWl0IHRoaXMuZ2V0RGV2aWNlcygpKTtcbiAgICBmb3IgKGNvbnN0IGRldmljZUFyciBvZiBfLnZhbHVlcyhkZXZpY2VzKSkge1xuICAgICAgZm9yIChjb25zdCBkZXZpY2Ugb2YgZGV2aWNlQXJyKSB7XG4gICAgICAgIGlmIChkZXZpY2UudWRpZCA9PT0gdWRpZCkge1xuICAgICAgICAgIGlmIChkZXZpY2Uuc3RhdGUgPT09ICdDcmVhdGluZycpIHtcbiAgICAgICAgICAgIC8vIG5lZWQgdG8gcmV0cnlcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRGV2aWNlIHdpdGggdWRpZCAnJHt1ZGlkfScgc3RpbGwgYmVpbmcgY3JlYXRlZGApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBzdG9wIGxvb2tpbmcsIHdlJ3JlIGRvbmVcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKGBEZXZpY2Ugd2l0aCB1ZGlkICcke3VkaWR9JyBub3QgeWV0IGNyZWF0ZWRgKTtcbiAgfSk7XG5cbiAgcmV0dXJuIHVkaWQ7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJmaWxlIjoibGliL3N1YmNvbW1hbmRzL2NyZWF0ZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJjb21tYW5kcy9jcmVhdGUuanMiXSwibmFtZXMiOlsiU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TIiwiREVGQVVMVF9DUkVBVEVfU0lNVUxBVE9SX1RJTUVPVVQiLCJjb21tYW5kcyIsImNyZWF0ZURldmljZSIsIm5hbWUiLCJkZXZpY2VUeXBlSWQiLCJwbGF0Zm9ybVZlcnNpb24iLCJvcHRzIiwicGxhdGZvcm0iLCJ0aW1lb3V0IiwicnVudGltZUlkcyIsInB1c2giLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbiIsImlnbiIsIl8iLCJpc0VtcHR5IiwicnVudGltZUlkIiwiZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvbiIsImVyciIsImxvZyIsIndhcm4iLCJwb3RlbnRpYWxSdW50aW1lSWRzIiwic3BsaXQiLCJsZW5ndGgiLCJtYXAiLCJpZCIsIlNJTV9SVU5USU1FX05BTUUiLCJyZXBsYWNlIiwidWRpZCIsImRlYnVnIiwiTE9HX1BSRUZJWCIsInN0ZG91dCIsImV4ZWMiLCJhcmdzIiwidHJpbSIsIkVycm9yIiwiam9pbiIsInJldHJpZXMiLCJwYXJzZUludCIsImRldmljZXMiLCJ2YWx1ZXMiLCJnZXREZXZpY2VzIiwiZGV2aWNlQXJyIiwiZGV2aWNlIiwic3RhdGUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSwyQkFBMkIsR0FBRyxLQUFwQztBQUNBLE1BQU1DLGdDQUFnQyxHQUFHLEtBQXpDO0FBRUEsTUFBTUMsUUFBUSxHQUFHLEVBQWpCOztBQXFCQUEsUUFBUSxDQUFDQyxZQUFULEdBQXdCLGVBQWVBLFlBQWYsQ0FBNkJDLElBQTdCLEVBQW1DQyxZQUFuQyxFQUFpREMsZUFBakQsRUFBa0VDLElBQUksR0FBRyxFQUF6RSxFQUE2RTtBQUNuRyxRQUFNO0FBQ0pDLElBQUFBLFFBQVEsR0FBR1IsMkJBRFA7QUFFSlMsSUFBQUEsT0FBTyxHQUFH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QkFBcEMsQ0FBTjtBQUNELFdBSEQsTUFHTztBQUVMO0FBQ0Q7QUFDRjtBQUNGO0FBQ0Y7O0FBQ0QsVUFBTSxJQUFJTyxLQUFKLENBQVcscUJBQW9CUCxJQUFLLG1CQUFwQyxDQUFOO0FBQ0QsR0FoQkssQ0FBTjtBQWtCQSxTQUFPQSxJQUFQO0FBQ0QsQ0FwRkQ7O2VBc0ZlMUIsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgbG9nLCB7IExPR19QUkVGSVggfSBmcm9tICcuLi9sb2dnZXInO1xuaW1wb3J0IHsgcmV0cnlJbnRlcnZhbCB9IGZyb20gJ2FzeW5jYm94JztcbmltcG9ydCB7IFNJTV9SVU5USU1FX05BTUUsIG5vcm1hbGl6ZVZlcnNpb24gfSBmcm9tICcuLi9oZWxwZXJzJztcblxuXG5jb25zdCBTSU1fUlVOVElNRV9OQU1FX1NVRkZJWF9JT1MgPSAnaU9TJztcbmNvbnN0IERFRkFVTFRfQ1JFQVRFX1NJTVVMQVRPUl9USU1FT1VUID0gMTAwMDA7XG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gU2ltQ3JlYXRpb25PcHRzXG4gKiBAcHJvcGVydHkge3N0cmluZ30gcGxhdGZvcm0gW2lPU10gLSBQbGF0Zm9ybSBuYW1lIGluIG9yZGVyIHRvIHNwZWNpZnkgcnVudGltZSBzdWNoIGFzICdpT1MnLCAndHZPUycsICd3YXRjaE9TJ1xuICogQHByb3BlcnR5IHtudW1iZXJ9IHRpbWVvdXQgWzEwMDAwXSAtIFRoZSBtYXhpbXVtIG51bWJlciBvZiBtaWxsaXNlY29uZHMgdG8gd2FpdFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuaXQgZGV2aWNlIGNyZWF0aW9uIGlzIGNvbXBsZXRlZC5cbiAqL1xuXG4vKipcbiAqIENyZWF0ZSBTaW11bGF0b3IgZGV2aWNlIHdpdGggZ2l2ZW4gbmFtZSBmb3IgdGhlIHBhcnRpY3VsYXJcbiAqIHBsYXRmb3JtIHR5cGUgYW5kIHZlcnNpb24uXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWUgLSBUaGUgZGV2aWNlIG5hbWUgdG8gYmUgY3JlYXRlZC5cbiAqIEBwYXJhbSB7c3RyaW5nfSBkZXZpY2VUeXBlSWQgLSBEZXZpY2UgdHlwZSwgZm9yIGV4YW1wbGUgJ2lQaG9uZSA2Jy5cbiAqIEBwYXJhbSB7c3RyaW5nfSBwbGF0Zm9ybVZlcnNpb24gLSBQbGF0Zm9ybSB2ZXJzaW9uLCBmb3IgZXhhbXBsZSAnMTAuMycuXG4gKiBAcGFyYW0gez9TaW1DcmVhdGlvbk9wdHN9IG9wdHMgLSBTaW11bGF0b3Igb3B0aW9ucyBmb3IgY3JlYXRpbmcgZGV2aWNlcy5cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIFVESUQgb2YgdGhlIG5ld2x5IGNyZWF0ZWQgZGV2aWNlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICovXG5jb21tYW5kcy5jcmVhdGVEZXZpY2UgPSBhc3luYyBmdW5jdGlvbiBjcmVhdGVEZXZpY2UgKG5hbWUsIGRldmljZVR5cGVJZCwgcGxhdGZvcm1WZXJzaW9uLCBvcHRzID0ge30pIHtcbiAgY29uc3Qge1xuICAgIHBsYXRmb3JtID0gU0lNX1JVTlRJTUVfTkFNRV9TVUZGSVhfSU9TLFxuICAgIHRpbWVvdXQgPSBERUZBVUxUX0NSRUFURV9TSU1VTEFUT1JfVElNRU9VVFxuICB9ID0gb3B0cztcblxuICBsZXQgcnVudGltZUlkcyA9IFtdO1xuXG4gIC8vIFRyeSBnZXR0aW5nIHJ1bnRpbWVJZCB1c2luZyBKU09OIGZsYWdcbiAgdHJ5IHtcbiAgICBydW50aW1lSWRzLnB1c2goYXdhaXQgdGhpcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbihwbGF0Zm9ybVZlcnNpb24sIHBsYXRmb3JtKSk7XG4gIH0gY2F0Y2ggKGlnbikge31cblxuICBpZiAoXy5pc0VtcHR5KHJ1bnRpbWVJZHMpKSB7XG4gICAgLy8gYXQgZmlyc3QgbWFrZSBzdXJlIHRoYXQgdGhlIHJ1bnRpbWUgaWQgaXMgdGhlIHJpZ2h0IG9uZVxuICAgIC8vIGluIHNvbWUgdmVyc2lvbnMgb2YgWGNvZGUgaXQgd2lsbCBiZSBhIHBhdGNoIHZlcnNpb25cbiAgICBsZXQgcnVudGltZUlkO1xuICAgIHRyeSB7XG4gICAgICBydW50aW1lSWQgPSBhd2FpdCB0aGlzLmdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24ocGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSk7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBsb2cud2FybihgVW5hYmxlIHRvIGZpbmQgcnVudGltZSBmb3IgaU9TICcke3BsYXRmb3JtVmVyc2lvbn0nLiBDb250aW51aW5nYCk7XG4gICAgICBydW50aW1lSWQgPSBwbGF0Zm9ybVZlcnNpb247XG4gICAgfVxuXG4gICAgLy8gZ2V0IHRoZSBwb3NzaWJsZSBydW50aW1lcywgd2hpY2ggd2lsbCBiZSBpdGVyYXRlZCBvdmVyXG5cbiAgICAvLyBzdGFydCB3aXRoIG1ham9yLW1pbm9yIHZlcnNpb25cbiAgICBsZXQgcG90ZW50aWFsUnVudGltZUlkcyA9IFtub3JtYWxpemVWZXJzaW9uKHJ1bnRpbWVJZCldO1xuICAgIGlmIChydW50aW1lSWQuc3BsaXQoJy4nKS5sZW5ndGggPT09IDMpIHtcbiAgICAgIC8vIGFkZCBwYXRjaCB2ZXJzaW9uIGlmIGl0IGV4aXN0c1xuICAgICAgcG90ZW50aWFsUnVudGltZUlkcy5wdXNoKHJ1bnRpbWVJZCk7XG4gICAgfVxuXG4gICAgLy8gYWRkIG1vZGlmaWVkIHZlcnNpb25zLCBzaW5jZSBtb2Rlcm4gWGNvZGVzIHVzZSB0aGlzLCB0aGVuIHRoZSBiYXJlXG4gICAgLy8gdmVyc2lvbnMsIHRvIGFjY29tb2RhdGUgb2xkZXIgWGNvZGVzXG4gICAgcnVudGltZUlkcy5wdXNoKFxuICAgICAgLi4uKHBvdGVudGlhbFJ1bnRpbWVJZHMubWFwKChpZCkgPT4gYCR7U0lNX1JVTlRJTUVfTkFNRX0ke3BsYXRmb3JtfS0ke2lkLnJlcGxhY2UoL1xcLi9nLCAnLScpfWApKSxcbiAgICAgIC4uLnBvdGVudGlhbFJ1bnRpbWVJZHNcbiAgICApO1xuICB9XG5cbiAgLy8gZ28gdGhyb3VnaCB0aGUgcnVudGltZSBpZHMgYW5kIHRyeSB0byBjcmVhdGUgYSBzaW11bGF0b3Igd2l0aCBlYWNoXG4gIGxldCB1ZGlkO1xuICBmb3IgKGNvbnN0IHJ1bnRpbWVJZCBvZiBydW50aW1lSWRzKSB7XG4gICAgbG9nLmRlYnVnKExPR19QUkVGSVgsXG4gICAgICBgQ3JlYXRpbmcgc2ltdWxhdG9yIHdpdGggbmFtZSAnJHtuYW1lfScsIGRldmljZSB0eXBlIGlkICcke2RldmljZVR5cGVJZH0nIGFuZCBydW50aW1lIGlkICcke3J1bnRpbWVJZH0nYCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdjcmVhdGUnLCB7XG4gICAgICAgIGFyZ3M6IFtuYW1lLCBkZXZpY2VUeXBlSWQsIHJ1bnRpbWVJZF1cbiAgICAgIH0pO1xuICAgICAgdWRpZCA9IHN0ZG91dC50cmltKCk7XG4gICAgICBicmVhaztcbiAgICB9IGNhdGNoIChpZ24pIHtcbiAgICAgIC8vIHRoZSBlcnJvciBnZXRzIGxvZ2dlZCBpbiBgc2ltRXhlY2BcbiAgICB9XG4gIH1cblxuICBpZiAoIXVkaWQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgc2ltdWxhdG9yIHdpdGggbmFtZSAnJHtuYW1lfScsIGRldmljZSBgICtcbiAgICAgIGB0eXBlIGlkICcke2RldmljZVR5cGVJZH0nLCB3aXRoIHJ1bnRpbWUgaWRzIGAgK1xuICAgICAgYCR7cnVudGltZUlkcy5tYXAoKGlkKSA9PiBgJyR7aWR9J2ApLmpvaW4oJywgJyl9YCk7XG4gIH1cblxuICAvLyBtYWtlIHN1cmUgdGhhdCBpdCBnZXRzIG91dCBvZiB0aGUgXCJDcmVhdGluZ1wiIHN0YXRlXG4gIGNvbnN0IHJldHJpZXMgPSBwYXJzZUludCh0aW1lb3V0IC8gMTAwMCwgMTApO1xuICBhd2FpdCByZXRyeUludGVydmFsKHJldHJpZXMsIDEwMDAsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBkZXZpY2VzID0gXy52YWx1ZXMoYXdhaXQgdGhpcy5nZXREZXZpY2VzKCkpO1xuICAgIGZvciAoY29uc3QgZGV2aWNlQXJyIG9mIF8udmFsdWVzKGRldmljZXMpKSB7XG4gICAgICBmb3IgKGNvbnN0IGRldmljZSBvZiBkZXZpY2VBcnIpIHtcbiAgICAgICAgaWYgKGRldmljZS51ZGlkID09PSB1ZGlkKSB7XG4gICAgICAgICAgaWYgKGRldmljZS5zdGF0ZSA9PT0gJ0NyZWF0aW5nJykge1xuICAgICAgICAgICAgLy8gbmVlZCB0byByZXRyeVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBEZXZpY2Ugd2l0aCB1ZGlkICcke3VkaWR9JyBzdGlsbCBiZWluZyBjcmVhdGVkYCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHN0b3AgbG9va2luZywgd2UncmUgZG9uZVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYERldmljZSB3aXRoIHVkaWQgJyR7dWRpZH0nIG5vdCB5ZXQgY3JlYXRlZGApO1xuICB9KTtcblxuICByZXR1cm4gdWRpZDtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sImZpbGUiOiJsaWIvc3ViY29tbWFuZHMvY3JlYXRlLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

@@ -16,3 +18,3 @@

var _logger = _interopRequireDefault(require("../logger"));
var _logger = _interopRequireWildcard(require("../logger"));

@@ -101,5 +103,5 @@ const commands = {};

} catch (err) {
_logger.default.debug(`Unable to get JSON device list: ${err.stack}`);
_logger.default.debug(_logger.LOG_PREFIX, `Unable to get JSON device list: ${err.stack}`);
_logger.default.debug('Falling back to manual parsing');
_logger.default.debug(_logger.LOG_PREFIX, 'Falling back to manual parsing');

@@ -199,2 +201,2 @@ devices = await this.getDevicesByParsing(platform);

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJjb21tYW5kcy9saXN0LmpzIl0sIm5hbWVzIjpbImNvbW1hbmRzIiwiZ2V0RGV2aWNlc0J5UGFyc2luZyIsInBsYXRmb3JtIiwic3Rkb3V0IiwiZXhlYyIsImFyZ3MiLCJkZXZpY2VTZWN0aW9uUmUiLCJfIiwiaXNFbXB0eSIsIlJlZ0V4cCIsImVzY2FwZVJlZ0V4cCIsIm1hdGNoZXMiLCJtYXRjaCIsInB1c2giLCJFcnJvciIsImxpbmVSZSIsImRldmljZXMiLCJzZGsiLCJsaW5lIiwic3BsaXQiLCJzbGljZSIsImluY2x1ZGVzIiwibGluZU1hdGNoIiwibmFtZSIsInVkaWQiLCJzdGF0ZSIsImdldERldmljZXMiLCJmb3JTZGsiLCJ2ZXJzaW9uTWF0Y2hSZSIsInNka05hbWUiLCJlbnRyaWVzIiwidG9QYWlycyIsIkpTT04iLCJwYXJzZSIsInJlcGxhY2UiLCJTSU1fUlVOVElNRV9OQU1FIiwidmVyc2lvbk1hdGNoIiwiZmlsdGVyIiwiZWwiLCJpc1VuZGVmaW5lZCIsImlzQXZhaWxhYmxlIiwibWFwIiwiYXZhaWxhYmlsaXR5IiwiZXJyIiwibG9nIiwiZGVidWciLCJzdGFjayIsImVyck1zZyIsImF2YWlsYWJsZVNES3MiLCJrZXlzIiwibGVuZ3RoIiwiam9pbiIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIiwicGxhdGZvcm1WZXJzaW9uIiwidmVyc2lvbiIsImlkZW50aWZpZXIiLCJydW50aW1lcyIsInRvTG93ZXJDYXNlIiwic3RhcnRzV2l0aCIsImdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24iLCJydW50aW1lUmUiLCJpZ24iLCJnZXREZXZpY2VUeXBlcyIsImRldmljZVR5cGVzIiwidHJpbSIsImRldmljZXR5cGVzIiwidHlwZSIsIm1lc3NhZ2UiLCJsaXN0IiwiZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSxRQUFRLEdBQUcsRUFBakI7O0FBcUJBQSxRQUFRLENBQUNDLG1CQUFULEdBQStCLGVBQWVBLG1CQUFmLENBQW9DQyxRQUFwQyxFQUE4QztBQUUzRSxRQUFNO0FBQUNDLElBQUFBO0FBQUQsTUFBVyxNQUFNLEtBQUtDLElBQUwsQ0FBVSxNQUFWLEVBQWtCO0FBQ3ZDQyxJQUFBQSxJQUFJLEVBQUUsQ0FBQyxTQUFEO0FBRGlDLEdBQWxCLENBQXZCO0FBYUEsUUFBTUMsZUFBZSxHQUFHQyxnQkFBRUMsT0FBRixDQUFVTixRQUFWLElBQ3BCLElBQUlPLE1BQUosQ0FBWSxvREFBWixFQUFpRSxLQUFqRSxDQURvQixHQUVwQixJQUFJQSxNQUFKLENBQVksYUFBWUYsZ0JBQUVHLFlBQUYsQ0FBZVIsUUFBZixDQUF5QixvQ0FBakQsRUFBc0YsS0FBdEYsQ0FGSjtBQUdBLFFBQU1TLE9BQU8sR0FBRyxFQUFoQjtBQUNBLE1BQUlDLEtBQUo7O0FBRUEsU0FBUUEsS0FBSyxHQUFHTixlQUFlLENBQUNGLElBQWhCLENBQXFCRCxNQUFyQixDQUFoQixFQUErQztBQUM3Q1EsSUFBQUEsT0FBTyxDQUFDRSxJQUFSLENBQWFELEtBQWI7QUFDRDs7QUFDRCxNQUFJTCxnQkFBRUMsT0FBRixDQUFVRyxPQUFWLENBQUosRUFBd0I7QUFDdEIsVUFBTSxJQUFJRyxLQUFKLENBQVUsK0JBQVYsQ0FBTjtBQUNEOztBQUVELFFBQU1DLE1BQU0sR0FBRywyQ0FBZjtBQUVBLFFBQU1DLE9BQU8sR0FBRyxFQUFoQjs7QUFDQSxPQUFLSixLQUFMLElBQWNELE9BQWQsRUFBdUI7QUFDckIsVUFBTU0sR0FBRyxHQUFHZixRQUFRLEdBQUdVLEtBQUssQ0FBQyxDQUFELENBQVIsR0FBY0EsS0FBSyxDQUFDLENBQUQsQ0FBdkM7QUFDQUksSUFBQUEsT0FBTyxDQUFDQyxHQUFELENBQVAsR0FBZUQsT0FBTyxDQUFDQyxHQUFELENBQVAsSUFBZ0IsRUFBL0I7O0FBRUEsU0FBSyxNQUFNQyxJQUFYLElBQW1CTixLQUFLLENBQUMsQ0FBRCxDQUFMLENBQVNPLEtBQVQsQ0FBZSxJQUFmLEVBQXFCQyxLQUFyQixDQUEyQixDQUEzQixDQUFuQixFQUFrRDtBQUNoRCxVQUFJRixJQUFJLENBQUNHLFFBQUwsQ0FBYyxnQkFBZCxDQUFKLEVBQXFDO0FBQ25DO0FBQ0Q7O0FBT0QsWUFBTUMsU0FBUyxHQUFHUCxNQUFNLENBQUNYLElBQVAsQ0FBWWMsSUFBWixDQUFsQjs7QUFDQSxVQUFJLENBQUNJLFNBQUwsRUFBZ0I7QUFDZCxjQUFNLElBQUlSLEtBQUosQ0FBVyx5QkFBd0JJLElBQUssRUFBeEMsQ0FBTjtBQUNEOztBQUVERixNQUFBQSxPQUFPLENBQUNDLEdBQUQsQ0FBUCxDQUFhSixJQUFiLENBQWtCO0FBQ2hCVSxRQUFBQSxJQUFJLEVBQUVELFNBQVMsQ0FBQyxDQUFELENBREM7QUFFaEJFLFFBQUFBLElBQUksRUFBRUYsU0FBUyxDQUFDLENBQUQsQ0FGQztBQUdoQkcsUUFBQUEsS0FBSyxFQUFFSCxTQUFTLENBQUMsQ0FBRCxDQUhBO0FBSWhCTCxRQUFBQSxHQUpnQjtBQUtoQmYsUUFBQUEsUUFBUSxFQUFFQSxRQUFRLElBQUlVLEtBQUssQ0FBQyxDQUFEO0FBTFgsT0FBbEI7QUFPRDtBQUNGOztBQUNELFNBQU9JLE9BQVA7QUFDRCxDQTVERDs7QUE4RUFoQixRQUFRLENBQUMwQixVQUFULEdBQXNCLGVBQWVBLFVBQWYsQ0FBMkJDLE1BQTNCLEVBQW1DekIsUUFBbkMsRUFBNkM7QUFDakUsTUFBSWMsT0FBTyxHQUFHLEVBQWQ7O0FBQ0EsTUFBSTtBQUNGLFVBQU07QUFBQ2IsTUFBQUE7QUFBRCxRQUFXLE1BQU0sS0FBS0MsSUFBTCxDQUFVLE1BQVYsRUFBa0I7QUFDdkNDLE1BQUFBLElBQUksRUFBRSxDQUFDLFNBQUQsRUFBWSxJQUFaO0FBRGlDLEtBQWxCLENBQXZCO0FBbUJBLFVBQU11QixjQUFjLEdBQUdyQixnQkFBRUMsT0FBRixDQUFVTixRQUFWLElBQ25CLElBQUlPLE1BQUosQ0FBWSx5QkFBWixFQUFzQyxHQUF0QyxDQURtQixHQUVuQixJQUFJQSxNQUFKLENBQVksSUFBR0YsZ0JBQUVHLFlBQUYsQ0FBZVIsUUFBZixDQUF5QixjQUF4QyxFQUF1RCxHQUF2RCxDQUZKOztBQUdBLFNBQUssSUFBSSxDQUFDMkIsT0FBRCxFQUFVQyxPQUFWLENBQVQsSUFBK0J2QixnQkFBRXdCLE9BQUYsQ0FBVUMsSUFBSSxDQUFDQyxLQUFMLENBQVc5QixNQUFYLEVBQW1CYSxPQUE3QixDQUEvQixFQUFzRTtBQUVwRWEsTUFBQUEsT0FBTyxHQUFHQSxPQUFPLENBQUNLLE9BQVIsQ0FBZ0JDLHlCQUFoQixFQUFrQyxFQUFsQyxDQUFWO0FBQ0EsWUFBTUMsWUFBWSxHQUFHUixjQUFjLENBQUN4QixJQUFmLENBQW9CeUIsT0FBcEIsQ0FBckI7O0FBQ0EsVUFBSSxDQUFDTyxZQUFMLEVBQW1CO0FBQ2pCO0FBQ0Q7O0FBR0QsWUFBTW5CLEdBQUcsR0FBRyxDQUFDZixRQUFRLEdBQUdrQyxZQUFZLENBQUMsQ0FBRCxDQUFmLEdBQXFCQSxZQUFZLENBQUMsQ0FBRCxDQUExQyxFQUErQ0YsT0FBL0MsQ0FBdUQsR0FBdkQsRUFBNEQsR0FBNUQsQ0FBWjtBQUNBbEIsTUFBQUEsT0FBTyxDQUFDQyxHQUFELENBQVAsR0FBZUQsT0FBTyxDQUFDQyxHQUFELENBQVAsSUFBZ0IsRUFBL0I7QUFDQUQsTUFBQUEsT0FBTyxDQUFDQyxHQUFELENBQVAsQ0FBYUosSUFBYixDQUFrQixHQUFHaUIsT0FBTyxDQUFDTyxNQUFSLENBQWdCQyxFQUFELElBQVEvQixnQkFBRWdDLFdBQUYsQ0FBY0QsRUFBRSxDQUFDRSxXQUFqQixLQUFpQ0YsRUFBRSxDQUFDRSxXQUEzRCxFQUNsQkMsR0FEa0IsQ0FDYkgsRUFBRCxJQUFRO0FBQ1gsZUFBT0EsRUFBRSxDQUFDSSxZQUFWO0FBQ0EsZUFBTztBQUNMekIsVUFBQUEsR0FESztBQUVMLGFBQUdxQixFQUZFO0FBR0xwQyxVQUFBQSxRQUFRLEVBQUVBLFFBQVEsSUFBSWtDLFlBQVksQ0FBQyxDQUFEO0FBSDdCLFNBQVA7QUFLRCxPQVJrQixDQUFyQjtBQVVEO0FBQ0YsR0E3Q0QsQ0E2Q0UsT0FBT08sR0FBUCxFQUFZO0FBQ1pDLG9CQUFJQyxLQUFKLENBQVcsbUNBQWtDRixHQUFHLENBQUNHLEtBQU0sRUFBdkQ7O0FBQ0FGLG9CQUFJQyxLQUFKLENBQVUsZ0NBQVY7O0FBQ0E3QixJQUFBQSxPQUFPLEdBQUcsTUFBTSxLQUFLZixtQkFBTCxDQUF5QkMsUUFBekIsQ0FBaEI7QUFDRDs7QUFFRCxNQUFJLENBQUN5QixNQUFMLEVBQWE7QUFDWCxXQUFPWCxPQUFQO0FBQ0Q7O0FBRUQsTUFBSUEsT0FBTyxDQUFDVyxNQUFELENBQVgsRUFBcUI7QUFDbkIsV0FBT1gsT0FBTyxDQUFDVyxNQUFELENBQWQ7QUFDRDs7QUFFRCxNQUFJb0IsTUFBTSxHQUFJLElBQUdwQixNQUFPLDhDQUF4Qjs7QUFDQSxRQUFNcUIsYUFBYSxHQUFHekMsZ0JBQUUwQyxJQUFGLENBQU9qQyxPQUFQLENBQXRCOztBQUNBK0IsRUFBQUEsTUFBTSxJQUFJQyxhQUFhLENBQUNFLE1BQWQsR0FDTCw0RUFBMkVGLGFBQWEsQ0FBQ0csSUFBZCxDQUFtQixJQUFuQixDQUF5QixFQUQvRixHQUVMLHFHQUZMO0FBR0EsUUFBTSxJQUFJckMsS0FBSixDQUFVaUMsTUFBVixDQUFOO0FBQ0QsQ0FuRUQ7O0FBOEVBL0MsUUFBUSxDQUFDb0QsbUNBQVQsR0FBK0MsZUFBZUEsbUNBQWYsQ0FDN0NDLGVBRDZDLEVBQzVCbkQsUUFBUSxHQUFHLEtBRGlCLEVBQ1Y7QUFDbkMsUUFBTTtBQUFDQyxJQUFBQTtBQUFELE1BQVcsTUFBTSxLQUFLQyxJQUFMLENBQVUsTUFBVixFQUFrQjtBQUN2Q0MsSUFBQUEsSUFBSSxFQUFFLENBQUMsVUFBRCxFQUFhLFFBQWI7QUFEaUMsR0FBbEIsQ0FBdkI7O0FBR0EsT0FBSyxNQUFNO0FBQUNpRCxJQUFBQSxPQUFEO0FBQVVDLElBQUFBLFVBQVY7QUFBc0JoQyxJQUFBQTtBQUF0QixHQUFYLElBQTBDUyxJQUFJLENBQUNDLEtBQUwsQ0FBVzlCLE1BQVgsRUFBbUJxRCxRQUE3RCxFQUF1RTtBQUNyRSxRQUFJLCtCQUFpQkYsT0FBakIsTUFBOEIsK0JBQWlCRCxlQUFqQixDQUE5QixJQUNDOUIsSUFBSSxDQUFDa0MsV0FBTCxHQUFtQkMsVUFBbkIsQ0FBOEJ4RCxRQUFRLENBQUN1RCxXQUFULEVBQTlCLENBREwsRUFDNEQ7QUFDMUQsYUFBT0YsVUFBUDtBQUNEO0FBQ0Y7O0FBQ0QsUUFBTSxJQUFJekMsS0FBSixDQUFXLHFEQUFYLENBQU47QUFDRCxDQVpEOztBQXVCQWQsUUFBUSxDQUFDMkQsNEJBQVQsR0FBd0MsZUFBZUEsNEJBQWYsQ0FDdENOLGVBRHNDLEVBQ3JCbkQsUUFBUSxHQUFHLEtBRFUsRUFDSDtBQUVuQyxNQUFJO0FBQ0YsVUFBTTtBQUFDQyxNQUFBQTtBQUFELFFBQVcsTUFBTSxLQUFLQyxJQUFMLENBQVUsTUFBVixFQUFrQjtBQUN2Q0MsTUFBQUEsSUFBSSxFQUFFLENBQUMsVUFBRDtBQURpQyxLQUFsQixDQUF2QjtBQUlBLFVBQU11RCxTQUFTLEdBQ2IsSUFBSW5ELE1BQUosQ0FBWSxHQUFFRixnQkFBRUcsWUFBRixDQUFlUixRQUFmLENBQXlCLCtDQUF2QyxFQUF1RixHQUF2RixDQURGOztBQUVBLFNBQUssTUFBTWdCLElBQVgsSUFBbUJmLE1BQU0sQ0FBQ2dCLEtBQVAsQ0FBYSxJQUFiLENBQW5CLEVBQXVDO0FBQ3JDLFlBQU1QLEtBQUssR0FBR2dELFNBQVMsQ0FBQ3hELElBQVYsQ0FBZWMsSUFBZixDQUFkOztBQUNBLFVBQUlOLEtBQUssSUFBSUEsS0FBSyxDQUFDLENBQUQsQ0FBTCxLQUFheUMsZUFBMUIsRUFBMkM7QUFDekMsZUFBT3pDLEtBQUssQ0FBQyxDQUFELENBQVo7QUFDRDtBQUNGO0FBQ0YsR0FiRCxDQWFFLE9BQU9pRCxHQUFQLEVBQVksQ0FBRTs7QUFHaEIsU0FBT1IsZUFBUDtBQUNELENBcEJEOztBQTRCQXJELFFBQVEsQ0FBQzhELGNBQVQsR0FBMEIsZUFBZUEsY0FBZixHQUFpQztBQUN6RCxRQUFNO0FBQUMzRCxJQUFBQTtBQUFELE1BQVcsTUFBTSxLQUFLQyxJQUFMLENBQVUsTUFBVixFQUFrQjtBQUN2Q0MsSUFBQUEsSUFBSSxFQUFFLENBQUMsYUFBRCxFQUFnQixJQUFoQjtBQURpQyxHQUFsQixDQUF2Qjs7QUFjQSxNQUFJO0FBQ0YsVUFBTTBELFdBQVcsR0FBRy9CLElBQUksQ0FBQ0MsS0FBTCxDQUFXOUIsTUFBTSxDQUFDNkQsSUFBUCxFQUFYLENBQXBCO0FBQ0EsV0FBT0QsV0FBVyxDQUFDRSxXQUFaLENBQXdCeEIsR0FBeEIsQ0FBNkJ5QixJQUFELElBQVVBLElBQUksQ0FBQzNDLElBQTNDLENBQVA7QUFDRCxHQUhELENBR0UsT0FBT29CLEdBQVAsRUFBWTtBQUNaLFVBQU0sSUFBSTdCLEtBQUosQ0FBVyx1Q0FBc0M2QixHQUFHLENBQUN3QixPQUFRLEVBQTdELENBQU47QUFDRDtBQUNGLENBckJEOztBQXlEQW5FLFFBQVEsQ0FBQ29FLElBQVQsR0FBZ0IsZUFBZUEsSUFBZixHQUF1QjtBQUNyQyxRQUFNO0FBQUNqRSxJQUFBQTtBQUFELE1BQVcsTUFBTSxLQUFLQyxJQUFMLENBQVUsTUFBVixFQUFrQjtBQUN2Q0MsSUFBQUEsSUFBSSxFQUFFLENBQUMsSUFBRDtBQURpQyxHQUFsQixDQUF2Qjs7QUFHQSxNQUFJO0FBQ0YsV0FBTzJCLElBQUksQ0FBQ0MsS0FBTCxDQUFXOUIsTUFBTSxDQUFDNkQsSUFBUCxFQUFYLENBQVA7QUFDRCxHQUZELENBRUUsT0FBT0ssQ0FBUCxFQUFVO0FBQ1YsVUFBTSxJQUFJdkQsS0FBSixDQUFXLGdDQUErQnVELENBQUMsQ0FBQ0YsT0FBUSxFQUFwRCxDQUFOO0FBQ0Q7QUFDRixDQVREOztlQVdlbkUsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgbG9nIGZyb20gJy4uL2xvZ2dlcic7XG5cblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBEZXZpY2VJbmZvXG4gKiBAcHJvcGVydHkge3N0cmluZ30gbmFtZSAtIFRoZSBkZXZpY2UgbmFtZS5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSB1ZGlkIC0gVGhlIGRldmljZSBVRElELlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHN0YXRlIC0gVGhlIGN1cnJlbnQgU2ltdWxhdG9yIHN0YXRlLCBmb3IgZXhhbXBsZSAnYm9vdGVkJyBvciAnc2h1dGRvd24nLlxuICogQHByb3BlcnR5IHtzdHJpbmd9IHNkayAtIFRoZSBTREsgdmVyc2lvbiwgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICovXG5cbi8qKlxuICogUGFyc2UgdGhlIGxpc3Qgb2YgZXhpc3RpbmcgU2ltdWxhdG9yIGRldmljZXMgdG8gcmVwcmVzZW50XG4gKiBpdCBhcyBjb252ZW5pZW50IG1hcHBpbmcuXG4gKlxuICogQHBhcmFtIHs/c3RyaW5nfSBwbGF0Zm9ybSAtIFRoZSBwbGF0Zm9ybSBuYW1lLCBmb3IgZXhhbXBsZSAnd2F0Y2hPUycuXG4gKiBAcmV0dXJuIHtPYmplY3R9IFRoZSByZXN1bHRpbmcgbWFwcGluZy4gRWFjaCBrZXkgaXMgcGxhdGZvcm0gdmVyc2lvbixcbiAqICAgICAgICAgICAgICAgICAgZm9yIGV4YW1wbGUgJzEwLjMnIGFuZCB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZSBpcyBhblxuICogICAgICAgICAgICAgICAgICBhcnJheSBvZiB0aGUgbWF0Y2hpbmcge0BsaW5rIERldmljZUluZm99IGluc3RhbmNlcy5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZS5cbiAqL1xuY29tbWFuZHMuZ2V0RGV2aWNlc0J5UGFyc2luZyA9IGFzeW5jIGZ1bmN0aW9uIGdldERldmljZXNCeVBhcnNpbmcgKHBsYXRmb3JtKSB7XG4gIC8vIGdldCB0aGUgbGlzdCBvZiBkZXZpY2VzXG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsnZGV2aWNlcyddLFxuICB9KTtcblxuICAvLyBleHBlY3QgdG8gZ2V0IGEgbGlzdGluZyBsaWtlXG4gIC8vIC0tIGlPUyA4LjEgLS1cbiAgLy8gICAgIGlQaG9uZSA0cyAoM0NBNkU3REQtMjIwRS00NUU1LUI3MTYtMUU5OTJCM0E0MjlDKSAoU2h1dGRvd24pXG4gIC8vICAgICAuLi5cbiAgLy8gLS0gaU9TIDguMiAtLVxuICAvLyAgICAgaVBob25lIDRzIChBOTlGRkZDMy04RTE5LTREQ0YtQjU4NS03RDlENDZCNEMxNkUpIChTaHV0ZG93bilcbiAgLy8gICAgIC4uLlxuICAvLyBzbywgZ2V0IHRoZSBgLS0gaU9TIFguWCAtLWAgbGluZSB0byBmaW5kIHRoZSBzZGsgKFguWClcbiAgLy8gYW5kIHRoZSByZXN0IG9mIHRoZSBsaXN0aW5nIGluIG9yZGVyIHRvIGxhdGVyIGZpbmQgdGhlIGRldmljZXNcbiAgY29uc3QgZGV2aWNlU2VjdGlvblJlID0gXy5pc0VtcHR5KHBsYXRmb3JtKVxuICAgID8gbmV3IFJlZ0V4cChgXFxcXC1cXFxcLVxcXFxzKyhcXFxcUyspXFxcXHMrKFxcXFxTKylcXFxccytcXFxcLVxcXFwtKFxcXFxuXFxcXHN7NH0uKykqYCwgJ21naScpXG4gICAgOiBuZXcgUmVnRXhwKGBcXFxcLVxcXFwtXFxcXHMrJHtfLmVzY2FwZVJlZ0V4cChwbGF0Zm9ybSl9XFxcXHMrKFxcXFxTKylcXFxccytcXFxcLVxcXFwtKFxcXFxuXFxcXHN7NH0uKykqYCwgJ21naScpO1xuICBjb25zdCBtYXRjaGVzID0gW107XG4gIGxldCBtYXRjaDtcbiAgLy8gbWFrZSBhbiBlbnRyeSBmb3IgZWFjaCBzZGsgdmVyc2lvblxuICB3aGlsZSAoKG1hdGNoID0gZGV2aWNlU2VjdGlvblJlLmV4ZWMoc3Rkb3V0KSkpIHtcbiAgICBtYXRjaGVzLnB1c2gobWF0Y2gpO1xuICB9XG4gIGlmIChfLmlzRW1wdHkobWF0Y2hlcykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBmaW5kIGRldmljZSBzZWN0aW9uJyk7XG4gIH1cblxuICBjb25zdCBsaW5lUmUgPSAvKFteXFxzXS4rKSBcXCgoXFx3Ky0uK1xcdyspXFwpIFxcKChcXHcrXFxzP1xcdyspXFwpLzsgLy8gaHR0cHM6Ly9yZWdleDEwMS5jb20vci9sRzdtSzYvM1xuICAvLyBnZXQgYWxsIHRoZSBkZXZpY2VzIGZvciBlYWNoIHNka1xuICBjb25zdCBkZXZpY2VzID0ge307XG4gIGZvciAobWF0Y2ggb2YgbWF0Y2hlcykge1xuICAgIGNvbnN0IHNkayA9IHBsYXRmb3JtID8gbWF0Y2hbMV0gOiBtYXRjaFsyXTtcbiAgICBkZXZpY2VzW3Nka10gPSBkZXZpY2VzW3Nka10gfHwgW107XG4gICAgLy8gc3BsaXQgdGhlIGZ1bGwgbWF0Y2ggaW50byBsaW5lcyBhbmQgcmVtb3ZlIHRoZSBmaXJzdFxuICAgIGZvciAoY29uc3QgbGluZSBvZiBtYXRjaFswXS5zcGxpdCgnXFxuJykuc2xpY2UoMSkpIHtcbiAgICAgIGlmIChsaW5lLmluY2x1ZGVzKCcodW5hdmFpbGFibGUsICcpKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgLy8gYSBsaW5lIGlzIHNvbWV0aGluZyBsaWtlXG4gICAgICAvLyAgICBpUGhvbmUgNHMgKEE5OUZGRkMzLThFMTktNERDRi1CNTg1LTdEOUQ0NkI0QzE2RSkgKFNodXRkb3duKVxuICAgICAgLy8gcmV0cmlldmU6XG4gICAgICAvLyAgIGlQaG9uZSA0c1xuICAgICAgLy8gICBBOTlGRkZDMy04RTE5LTREQ0YtQjU4NS03RDlENDZCNEMxNkVcbiAgICAgIC8vICAgU2h1dGRvd25cbiAgICAgIGNvbnN0IGxpbmVNYXRjaCA9IGxpbmVSZS5leGVjKGxpbmUpO1xuICAgICAgaWYgKCFsaW5lTWF0Y2gpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgbWF0Y2ggbGluZTogJHtsaW5lfWApO1xuICAgICAgfVxuICAgICAgLy8gc2F2ZSB0aGUgd2hvbGUgdGhpbmcgYXMgYWIgb2JqZWN0IGluIHRoZSBsaXN0IGZvciB0aGlzIHNka1xuICAgICAgZGV2aWNlc1tzZGtdLnB1c2goe1xuICAgICAgICBuYW1lOiBsaW5lTWF0Y2hbMV0sXG4gICAgICAgIHVkaWQ6IGxpbmVNYXRjaFsyXSxcbiAgICAgICAgc3RhdGU6IGxpbmVNYXRjaFszXSxcbiAgICAgICAgc2RrLFxuICAgICAgICBwbGF0Zm9ybTogcGxhdGZvcm0gfHwgbWF0Y2hbMV0sXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGRldmljZXM7XG59O1xuXG4vKipcbiAqIFBhcnNlIHRoZSBsaXN0IG9mIGV4aXN0aW5nIFNpbXVsYXRvciBkZXZpY2VzIHRvIHJlcHJlc2VudFxuICogaXQgYXMgY29udmVuaWVudCBtYXBwaW5nIGZvciB0aGUgcGFydGljdWxhciBwbGF0Zm9ybSB2ZXJzaW9uLlxuICpcbiAqIEBwYXJhbSB7P3N0cmluZ30gZm9yU2RrIC0gVGhlIHNkayB2ZXJzaW9uLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Igd2hpY2ggdGhlIGRldmljZXMgbGlzdCBzaG91bGQgYmUgcGFyc2VkLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZXhhbXBsZSAnMTAuMycuXG4gKiBAcGFyYW0gez9zdHJpbmd9IHBsYXRmb3JtIC0gVGhlIHBsYXRmb3JtIG5hbWUsIGZvciBleGFtcGxlICd3YXRjaE9TJy5cbiAqIEByZXR1cm4ge09iamVjdHxBcnJheTxEZXZpY2VJbmZvPn0gSWYgX2ZvclNka18gaXMgc2V0IHRoZW4gdGhlIGxpc3RcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgZGV2aWNlcyBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbi5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3RoZXJ3aXNlIHRoZSBzYW1lIHJlc3VsdCBhcyBmb3Ige0BsaW5rIGdldERldmljZXNCeVBhcnNpbmd9XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlIG9yIGlmIG5vIG1hdGNoaW5nXG4gKiAgICAgICAgICAgICAgICAgcGxhdGZvcm0gdmVyc2lvbiBpcyBmb3VuZCBpbiB0aGUgc3lzdGVtLlxuICovXG5jb21tYW5kcy5nZXREZXZpY2VzID0gYXN5bmMgZnVuY3Rpb24gZ2V0RGV2aWNlcyAoZm9yU2RrLCBwbGF0Zm9ybSkge1xuICBsZXQgZGV2aWNlcyA9IHt9O1xuICB0cnkge1xuICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgICAgYXJnczogWydkZXZpY2VzJywgJy1qJ10sXG4gICAgfSk7XG4gICAgLyogSlNPTiBzaG91bGQgYmVcbiAgICAgKiB7XG4gICAgICogICBcImRldmljZXNcIiA6IHtcbiAgICAgKiAgICAgXCJpT1MgPHNkaz5cIiA6IFsgLy8gb3JcbiAgICAgKiAgICAgXCJjb20uYXBwbGUuQ29yZVNpbXVsYXRvci5TaW1SdW50aW1lLmlPUy08c2RrPiA6IFtcbiAgICAgKiAgICAgICB7XG4gICAgICogICAgICAgICBcInN0YXRlXCIgOiBcIkJvb3RlZFwiLFxuICAgICAqICAgICAgICAgXCJhdmFpbGFiaWxpdHlcIiA6IFwiKGF2YWlsYWJsZSlcIixcbiAgICAgKiAgICAgICAgIFwiaXNBdmFpbGFibGVcIiA6IHRydWUsXG4gICAgICogICAgICAgICBcIm5hbWVcIiA6IFwiaVBob25lIDZcIixcbiAgICAgKiAgICAgICAgIFwidWRpZFwiIDogXCI3NUUzNDE0MC0xOEU4LTREMUEtOUY0NS1BQUM3MzVERjc1REZcIlxuICAgICAqICAgICAgIH1cbiAgICAgKiAgICAgXVxuICAgICAqICAgfVxuICAgICAqIH1cbiAgICAgKi9cbiAgICBjb25zdCB2ZXJzaW9uTWF0Y2hSZSA9IF8uaXNFbXB0eShwbGF0Zm9ybSlcbiAgICAgID8gbmV3IFJlZ0V4cChgXihbXlxcXFxzLV0rKVtcXFxccy1dKFxcXFxTKylgLCAnaScpXG4gICAgICA6IG5ldyBSZWdFeHAoYF4ke18uZXNjYXBlUmVnRXhwKHBsYXRmb3JtKX1bXFxcXHMtXShcXFxcUyspYCwgJ2knKTtcbiAgICBmb3IgKGxldCBbc2RrTmFtZSwgZW50cmllc10gb2YgXy50b1BhaXJzKEpTT04ucGFyc2Uoc3Rkb3V0KS5kZXZpY2VzKSkge1xuICAgICAgLy8gdGhlcmUgY291bGQgYmUgYSBsb25nZXIgbmFtZSwgc28gcmVtb3ZlIGl0XG4gICAgICBzZGtOYW1lID0gc2RrTmFtZS5yZXBsYWNlKFNJTV9SVU5USU1FX05BTUUsICcnKTtcbiAgICAgIGNvbnN0IHZlcnNpb25NYXRjaCA9IHZlcnNpb25NYXRjaFJlLmV4ZWMoc2RrTmFtZSk7XG4gICAgICBpZiAoIXZlcnNpb25NYXRjaCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgLy8gdGhlIHNkayBjYW4gaGF2ZSBkYXNoZXMgKGAxMi0yYCkgb3IgZG90cyAoYDEyLjFgKVxuICAgICAgY29uc3Qgc2RrID0gKHBsYXRmb3JtID8gdmVyc2lvbk1hdGNoWzFdIDogdmVyc2lvbk1hdGNoWzJdKS5yZXBsYWNlKCctJywgJy4nKTtcbiAgICAgIGRldmljZXNbc2RrXSA9IGRldmljZXNbc2RrXSB8fCBbXTtcbiAgICAgIGRldmljZXNbc2RrXS5wdXNoKC4uLmVudHJpZXMuZmlsdGVyKChlbCkgPT4gXy5pc1VuZGVmaW5lZChlbC5pc0F2YWlsYWJsZSkgfHwgZWwuaXNBdmFpbGFibGUpXG4gICAgICAgIC5tYXAoKGVsKSA9PiB7XG4gICAgICAgICAgZGVsZXRlIGVsLmF2YWlsYWJpbGl0eTtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc2RrLFxuICAgICAgICAgICAgLi4uZWwsXG4gICAgICAgICAgICBwbGF0Zm9ybTogcGxhdGZvcm0gfHwgdmVyc2lvbk1hdGNoWzFdLFxuICAgICAgICAgIH07XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgbG9nLmRlYnVnKGBVbmFibGUgdG8gZ2V0IEpTT04gZGV2aWNlIGxpc3Q6ICR7ZXJyLnN0YWNrfWApO1xuICAgIGxvZy5kZWJ1ZygnRmFsbGluZyBiYWNrIHRvIG1hbnVhbCBwYXJzaW5nJyk7XG4gICAgZGV2aWNlcyA9IGF3YWl0IHRoaXMuZ2V0RGV2aWNlc0J5UGFyc2luZyhwbGF0Zm9ybSk7XG4gIH1cblxuICBpZiAoIWZvclNkaykge1xuICAgIHJldHVybiBkZXZpY2VzO1xuICB9XG4gIC8vIGlmIGEgYGZvclNka2Agd2FzIHBhc3NlZCBpbiwgcmV0dXJuIG9ubHkgdGhlIGNvcnJlc3BvbmRpbmcgbGlzdFxuICBpZiAoZGV2aWNlc1tmb3JTZGtdKSB7XG4gICAgcmV0dXJuIGRldmljZXNbZm9yU2RrXTtcbiAgfVxuXG4gIGxldCBlcnJNc2cgPSBgJyR7Zm9yU2RrfScgZG9lcyBub3QgZXhpc3QgaW4gdGhlIGxpc3Qgb2Ygc2ltY3RsIFNES3MuYDtcbiAgY29uc3QgYXZhaWxhYmxlU0RLcyA9IF8ua2V5cyhkZXZpY2VzKTtcbiAgZXJyTXNnICs9IGF2YWlsYWJsZVNES3MubGVuZ3RoXG4gICAgPyBgIE9ubHkgdGhlIGZvbGxvd2luZyBTaW11bGF0b3IgU0RLIHZlcnNpb25zIGFyZSBhdmFpbGFibGUgb24geW91ciBzeXN0ZW06ICR7YXZhaWxhYmxlU0RLcy5qb2luKCcsICcpfWBcbiAgICA6IGAgTm8gU2ltdWxhdG9yIFNESyB2ZXJzaW9ucyBhcmUgYXZhaWxhYmxlIG9uIHlvdXIgc3lzdGVtLiBQbGVhc2UgaW5zdGFsbCBzb21lIHZpYSBYY29kZSBwcmVmZXJlbmNlcy5gO1xuICB0aHJvdyBuZXcgRXJyb3IoZXJyTXNnKTtcbn07XG5cbi8qKlxuICogR2V0IHRoZSBydW50aW1lIGZvciB0aGUgcGFydGljdWxhciBwbGF0Zm9ybSB2ZXJzaW9uIHVzaW5nIC0tanNvbiBmbGFnXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHBsYXRmb3JtVmVyc2lvbiAtIFRoZSBwbGF0Zm9ybSB2ZXJzaW9uIG5hbWUsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHs/c3RyaW5nfSBwbGF0Zm9ybSAtIFRoZSBwbGF0Zm9ybSBuYW1lLCBmb3IgZXhhbXBsZSAnd2F0Y2hPUycuXG4gKiBAcmV0dXJuIHtzdHJpbmd9IFRoZSBjb3JyZXNwb25kaW5nIHJ1bnRpbWUgbmFtZSBmb3IgdGhlIGdpdmVuXG4gKiAgICAgICAgICAgICAgICAgIHBsYXRmb3JtIHZlcnNpb24uXG4gKi9cbmNvbW1hbmRzLmdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uID0gYXN5bmMgZnVuY3Rpb24gZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvblZpYUpzb24gKFxuICBwbGF0Zm9ybVZlcnNpb24sIHBsYXRmb3JtID0gJ2lPUycpIHtcbiAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2xpc3QnLCB7XG4gICAgYXJnczogWydydW50aW1lcycsICctLWpzb24nXSxcbiAgfSk7XG4gIGZvciAoY29uc3Qge3ZlcnNpb24sIGlkZW50aWZpZXIsIG5hbWV9IG9mIEpTT04ucGFyc2Uoc3Rkb3V0KS5ydW50aW1lcykge1xuICAgIGlmIChub3JtYWxpemVWZXJzaW9uKHZlcnNpb24pID09PSBub3JtYWxpemVWZXJzaW9uKHBsYXRmb3JtVmVyc2lvbilcbiAgICAgICYmIG5hbWUudG9Mb3dlckNhc2UoKS5zdGFydHNXaXRoKHBsYXRmb3JtLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICByZXR1cm4gaWRlbnRpZmllcjtcbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgdXNlIC0tanNvbiBmbGFnIHRvIHBhcnNlIHBsYXRmb3JtIHZlcnNpb25gKTtcbn07XG5cbi8qKlxuICogR2V0IHRoZSBydW50aW1lIGZvciB0aGUgcGFydGljdWxhciBwbGF0Zm9ybSB2ZXJzaW9uLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwbGF0Zm9ybVZlcnNpb24gLSBUaGUgcGxhdGZvcm0gdmVyc2lvbiBuYW1lLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBleGFtcGxlICcxMC4zJy5cbiAqIEBwYXJhbSB7P3N0cmluZ30gcGxhdGZvcm0gLSBUaGUgcGxhdGZvcm0gbmFtZSwgZm9yIGV4YW1wbGUgJ3dhdGNoT1MnLlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgY29ycmVzcG9uZGluZyBydW50aW1lIG5hbWUgZm9yIHRoZSBnaXZlblxuICogICAgICAgICAgICAgICAgICBwbGF0Zm9ybSB2ZXJzaW9uLlxuICovXG5jb21tYW5kcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uID0gYXN5bmMgZnVuY3Rpb24gZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvbiAoXG4gIHBsYXRmb3JtVmVyc2lvbiwgcGxhdGZvcm0gPSAnaU9TJykge1xuICAvLyBUcnkgd2l0aCBwYXJzaW5nXG4gIHRyeSB7XG4gICAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2xpc3QnLCB7XG4gICAgICBhcmdzOiBbJ3J1bnRpbWVzJ10sXG4gICAgfSk7XG4gICAgLy8gaHR0cHM6Ly9yZWdleDEwMS5jb20vci9VeWtqUVovMVxuICAgIGNvbnN0IHJ1bnRpbWVSZSA9XG4gICAgICBuZXcgUmVnRXhwKGAke18uZXNjYXBlUmVnRXhwKHBsYXRmb3JtKX1cXFxccysoXFxcXGQrXFxcXC5cXFxcZCspXFxcXHMrXFxcXCgoXFxcXGQrXFxcXC5cXFxcZCtcXFxcLipcXFxcZCopYCwgJ2knKTtcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2Ygc3Rkb3V0LnNwbGl0KCdcXG4nKSkge1xuICAgICAgY29uc3QgbWF0Y2ggPSBydW50aW1lUmUuZXhlYyhsaW5lKTtcbiAgICAgIGlmIChtYXRjaCAmJiBtYXRjaFsxXSA9PT0gcGxhdGZvcm1WZXJzaW9uKSB7XG4gICAgICAgIHJldHVybiBtYXRjaFsyXTtcbiAgICAgIH1cbiAgICB9XG4gIH0gY2F0Y2ggKGlnbikge31cblxuICAvLyBpZiBub3RoaW5nIHdhcyBmb3VuZCwgcGFzcyBwbGF0Zm9ybSB2ZXJzaW9uIGJhY2tcbiAgcmV0dXJuIHBsYXRmb3JtVmVyc2lvbjtcbn07XG5cbi8qKlxuICogR2V0IHRoZSBsaXN0IG9mIGRldmljZSB0eXBlcyBhdmFpbGFibGUgaW4gdGhlIGN1cnJlbnQgWGNvZGUgaW5zdGFsbGF0aW9uXG4gKlxuICogQHJldHVybiB7QXJyYXk8c3RyaW5nPn0gTGlzdCBvZiB0aGUgdHlwZXMgb2YgZGV2aWNlcyBhdmFpbGFibGVcbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgY29tbWFuZCBmYWlsc1xuICovXG5jb21tYW5kcy5nZXREZXZpY2VUeXBlcyA9IGFzeW5jIGZ1bmN0aW9uIGdldERldmljZVR5cGVzICgpIHtcbiAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2xpc3QnLCB7XG4gICAgYXJnczogWydkZXZpY2V0eXBlcycsICctaiddLFxuICB9KTtcbiAgLypcbiAgICogSlNPTiB3aWxsIGJlIGxpa2U6XG4gICAqICAge1xuICAgKiAgICAgXCJkZXZpY2V0eXBlc1wiIDogW1xuICAgKiAgICAgICB7XG4gICAqICAgICAgICAgXCJuYW1lXCIgOiBcImlQaG9uZSA0c1wiLFxuICAgKiAgICAgICAgIFwiaWRlbnRpZmllclwiIDogXCJjb20uYXBwbGUuQ29yZVNpbXVsYXRvci5TaW1EZXZpY2VUeXBlLmlQaG9uZS00c1wiXG4gICAqICAgICAgIH0sXG4gICAqICAgICAgIC4uLlxuICAgKiAgIH1cbiAgICovXG4gIHRyeSB7XG4gICAgY29uc3QgZGV2aWNlVHlwZXMgPSBKU09OLnBhcnNlKHN0ZG91dC50cmltKCkpO1xuICAgIHJldHVybiBkZXZpY2VUeXBlcy5kZXZpY2V0eXBlcy5tYXAoKHR5cGUpID0+IHR5cGUubmFtZSk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGdldCBsaXN0IG9mIGRldmljZSB0eXBlczogJHtlcnIubWVzc2FnZX1gKTtcbiAgfVxufTtcblxuLyoqXG4gKiBHZXQgdGhlIGZ1bGwgbGlzdCBvZiBydW50aW1lcywgZGV2aWNldHlwZXMsIGRldmljZXMgYW5kIHBhaXJzIGFzIE9iamVjdFxuICpcbiAqIEByZXR1cm4ge09iamVjdH0gT2JqZWN0IGNvbnRhaW5pbmcgZGV2aWNlIHR5cGVzLCBydW50aW1lcyBkZXZpY2VzIGFuZCBwYWlycy5cbiAqIFRoZSByZXN1bHRpbmcgSlNPTiB3aWxsIGJlIGxpa2U6XG4gKiAgIHtcbiAqICAgICBcImRldmljZXR5cGVzXCIgOiBbXG4gKiAgICAgICB7XG4gKiAgICAgICAgIFwibmFtZVwiIDogXCJpUGhvbmUgNHNcIixcbiAqICAgICAgICAgXCJpZGVudGlmaWVyXCIgOiBcImNvbS5hcHBsZS5Db3JlU2ltdWxhdG9yLlNpbURldmljZVR5cGUuaVBob25lLTRzXCJcbiAqICAgICAgIH0sXG4gKiAgICAgICAuLi5cbiAqICAgICAgXSxcbiAqICAgICBcInJ1bnRpbWVzXCIgOiBbXG4gKiAgICAgICB7XG4gKiAgICAgICAgIFwidmVyc2lvblwiIDogJzEzLjAnLFxuICogICAgICAgICBcImJ1bmRsZVBhdGhcIiA6ICcvQXBwbGljYXRpb25zL1hjb2RlMTFiZXRhNC5hcHAvQ29udGVudHMvRGV2ZWxvcGVyL1BsYXRmb3Jtcy9pUGhvbmVPUy5wbGF0Zm9ybS9MaWJyYXJ5L0RldmVsb3Blci9Db3JlU2ltdWxhdG9yL1Byb2ZpbGVzL1J1bnRpbWVzL2lPUy5zaW1ydW50aW1lJyxcbiAqICAgICAgICAgXCJpc0F2YWlsYWJsZVwiIDogdHJ1ZSxcbiAqICAgICAgICAgXCJuYW1lXCIgOiAnaU9TIDEzLjAnLFxuICogICAgICAgICBcImlkZW50aWZpZXJcIiA6ICdjb20uYXBwbGUuQ29yZVNpbXVsYXRvci5TaW1SdW50aW1lLmlPUy0xMy0wJyxcbiAqICAgICAgICAgXCJidWlsZHZlcnNpb25cIiA6ICcxN0E1NTM0ZCdcbiAqICAgICAgIH0sXG4gKiAgICAgICAuLi5cbiAqICAgICAgfSxcbiAqICAgICBcImRldmljZXNcIiA6XG4gKiAgICAgICB7XG4gKiAgICAgICAgICdjb20uYXBwbGUuQ29yZVNpbXVsYXRvci5TaW1SdW50aW1lLmlPUy0xMy0wJzogWyBbT2JqZWN0XSwgW09iamVjdF0gXSB9LFxuICogICAgICAgICAuLi5cbiAqICAgICAgIH0sXG4gKiAgICAgXCJwYWlyc1wiIDoge30gfVxuICpcbiAqICAgfVxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBjb21tYW5kIGZhaWxzXG4gKi9cbmNvbW1hbmRzLmxpc3QgPSBhc3luYyBmdW5jdGlvbiBsaXN0ICgpIHtcbiAgY29uc3Qge3N0ZG91dH0gPSBhd2FpdCB0aGlzLmV4ZWMoJ2xpc3QnLCB7XG4gICAgYXJnczogWyctaiddLFxuICB9KTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShzdGRvdXQudHJpbSgpKTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIHBhcnNlIHNpbWN0bCBsaXN0OiAke2UubWVzc2FnZX1gKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwiZmlsZSI6ImxpYi9zdWJjb21tYW5kcy9saXN0LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJjb21tYW5kcy9saXN0LmpzIl0sIm5hbWVzIjpbImNvbW1hbmRzIiwiZ2V0RGV2aWNlc0J5UGFyc2luZyIsInBsYXRmb3JtIiwic3Rkb3V0IiwiZXhlYyIsImFyZ3MiLCJkZXZpY2VTZWN0aW9uUmUiLCJfIiwiaXNFbXB0eSIsIlJlZ0V4cCIsImVzY2FwZVJlZ0V4cCIsIm1hdGNoZXMiLCJtYXRjaCIsInB1c2giLCJFcnJvciIsImxpbmVSZSIsImRldmljZXMiLCJzZGsiLCJsaW5lIiwic3BsaXQiLCJzbGljZSIsImluY2x1ZGVzIiwibGluZU1hdGNoIiwibmFtZSIsInVkaWQiLCJzdGF0ZSIsImdldERldmljZXMiLCJmb3JTZGsiLCJ2ZXJzaW9uTWF0Y2hSZSIsInNka05hbWUiLCJlbnRyaWVzIiwidG9QYWlycyIsIkpTT04iLCJwYXJzZSIsInJlcGxhY2UiLCJTSU1fUlVOVElNRV9OQU1FIiwidmVyc2lvbk1hdGNoIiwiZmlsdGVyIiwiZWwiLCJpc1VuZGVmaW5lZCIsImlzQXZhaWxhYmxlIiwibWFwIiwiYXZhaWxhYmlsaXR5IiwiZXJyIiwibG9nIiwiZGVidWciLCJMT0dfUFJFRklYIiwic3RhY2siLCJlcnJNc2ciLCJhdmFpbGFibGVTREtzIiwia2V5cyIsImxlbmd0aCIsImpvaW4iLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbiIsInBsYXRmb3JtVmVyc2lvbiIsInZlcnNpb24iLCJpZGVudGlmaWVyIiwicnVudGltZXMiLCJ0b0xvd2VyQ2FzZSIsInN0YXJ0c1dpdGgiLCJnZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uIiwicnVudGltZVJlIiwiaWduIiwiZ2V0RGV2aWNlVHlwZXMiLCJkZXZpY2VUeXBlcyIsInRyaW0iLCJkZXZpY2V0eXBlcyIsInR5cGUiLCJtZXNzYWdlIiwibGlzdCIsImUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFHQSxNQUFNQSxRQUFRLEdBQUcs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QUM1RCxJQUFBQTtBQUFELE1BQVcsTUFBTSxLQUFLQyxJQUFMLENBQVUsTUFBVixFQUFrQjtBQUN2Q0MsSUFBQUEsSUFBSSxFQUFFLENBQUMsYUFBRCxFQUFnQixJQUFoQjtBQURpQyxHQUFsQixDQUF2Qjs7QUFjQSxNQUFJO0FBQ0YsVUFBTTJELFdBQVcsR0FBR2hDLElBQUksQ0FBQ0MsS0FBTCxDQUFXOUIsTUFBTSxDQUFDOEQsSUFBUCxFQUFYLENBQXBCO0FBQ0EsV0FBT0QsV0FBVyxDQUFDRSxXQUFaLENBQXdCekIsR0FBeEIsQ0FBNkIwQixJQUFELElBQVVBLElBQUksQ0FBQzVDLElBQTNDLENBQVA7QUFDRCxHQUhELENBR0UsT0FBT29CLEdBQVAsRUFBWTtBQUNaLFVBQU0sSUFBSTdCLEtBQUosQ0FBVyx1Q0FBc0M2QixHQUFHLENBQUN5QixPQUFRLEVBQTdELENBQU47QUFDRDtBQUNGLENBckJEOztBQXlEQXBFLFFBQVEsQ0FBQ3FFLElBQVQsR0FBZ0IsZUFBZUEsSUFBZixHQUF1QjtBQUNyQyxRQUFNO0FBQUNsRSxJQUFBQTtBQUFELE1BQVcsTUFBTSxLQUFLQyxJQUFMLENBQVUsTUFBVixFQUFrQjtBQUN2Q0MsSUFBQUEsSUFBSSxFQUFFLENBQUMsSUFBRDtBQURpQyxHQUFsQixDQUF2Qjs7QUFHQSxNQUFJO0FBQ0YsV0FBTzJCLElBQUksQ0FBQ0MsS0FBTCxDQUFXOUIsTUFBTSxDQUFDOEQsSUFBUCxFQUFYLENBQVA7QUFDRCxHQUZELENBRUUsT0FBT0ssQ0FBUCxFQUFVO0FBQ1YsVUFBTSxJQUFJeEQsS0FBSixDQUFXLGdDQUErQndELENBQUMsQ0FBQ0YsT0FBUSxFQUFwRCxDQUFOO0FBQ0Q7QUFDRixDQVREOztlQVdlcEUsUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBTSU1fUlVOVElNRV9OQU1FLCBub3JtYWxpemVWZXJzaW9uIH0gZnJvbSAnLi4vaGVscGVycyc7XG5pbXBvcnQgbG9nLCB7IExPR19QUkVGSVggfSBmcm9tICcuLi9sb2dnZXInO1xuXG5cbmNvbnN0IGNvbW1hbmRzID0ge307XG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRGV2aWNlSW5mb1xuICogQHByb3BlcnR5IHtzdHJpbmd9IG5hbWUgLSBUaGUgZGV2aWNlIG5hbWUuXG4gKiBAcHJvcGVydHkge3N0cmluZ30gdWRpZCAtIFRoZSBkZXZpY2UgVURJRC5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzdGF0ZSAtIFRoZSBjdXJyZW50IFNpbXVsYXRvciBzdGF0ZSwgZm9yIGV4YW1wbGUgJ2Jvb3RlZCcgb3IgJ3NodXRkb3duJy5cbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBzZGsgLSBUaGUgU0RLIHZlcnNpb24sIGZvciBleGFtcGxlICcxMC4zJy5cbiAqL1xuXG4vKipcbiAqIFBhcnNlIHRoZSBsaXN0IG9mIGV4aXN0aW5nIFNpbXVsYXRvciBkZXZpY2VzIHRvIHJlcHJlc2VudFxuICogaXQgYXMgY29udmVuaWVudCBtYXBwaW5nLlxuICpcbiAqIEBwYXJhbSB7P3N0cmluZ30gcGxhdGZvcm0gLSBUaGUgcGxhdGZvcm0gbmFtZSwgZm9yIGV4YW1wbGUgJ3dhdGNoT1MnLlxuICogQHJldHVybiB7T2JqZWN0fSBUaGUgcmVzdWx0aW5nIG1hcHBpbmcuIEVhY2gga2V5IGlzIHBsYXRmb3JtIHZlcnNpb24sXG4gKiAgICAgICAgICAgICAgICAgIGZvciBleGFtcGxlICcxMC4zJyBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgdmFsdWUgaXMgYW5cbiAqICAgICAgICAgICAgICAgICAgYXJyYXkgb2YgdGhlIG1hdGNoaW5nIHtAbGluayBEZXZpY2VJbmZvfSBpbnN0YW5jZXMuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKi9cbmNvbW1hbmRzLmdldERldmljZXNCeVBhcnNpbmcgPSBhc3luYyBmdW5jdGlvbiBnZXREZXZpY2VzQnlQYXJzaW5nIChwbGF0Zm9ybSkge1xuICAvLyBnZXQgdGhlIGxpc3Qgb2YgZGV2aWNlc1xuICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnbGlzdCcsIHtcbiAgICBhcmdzOiBbJ2RldmljZXMnXSxcbiAgfSk7XG5cbiAgLy8gZXhwZWN0IHRvIGdldCBhIGxpc3RpbmcgbGlrZVxuICAvLyAtLSBpT1MgOC4xIC0tXG4gIC8vICAgICBpUGhvbmUgNHMgKDNDQTZFN0RELTIyMEUtNDVFNS1CNzE2LTFFOTkyQjNBNDI5QykgKFNodXRkb3duKVxuICAvLyAgICAgLi4uXG4gIC8vIC0tIGlPUyA4LjIgLS1cbiAgLy8gICAgIGlQaG9uZSA0cyAoQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFKSAoU2h1dGRvd24pXG4gIC8vICAgICAuLi5cbiAgLy8gc28sIGdldCB0aGUgYC0tIGlPUyBYLlggLS1gIGxpbmUgdG8gZmluZCB0aGUgc2RrIChYLlgpXG4gIC8vIGFuZCB0aGUgcmVzdCBvZiB0aGUgbGlzdGluZyBpbiBvcmRlciB0byBsYXRlciBmaW5kIHRoZSBkZXZpY2VzXG4gIGNvbnN0IGRldmljZVNlY3Rpb25SZSA9IF8uaXNFbXB0eShwbGF0Zm9ybSlcbiAgICA/IG5ldyBSZWdFeHAoYFxcXFwtXFxcXC1cXFxccysoXFxcXFMrKVxcXFxzKyhcXFxcUyspXFxcXHMrXFxcXC1cXFxcLShcXFxcblxcXFxzezR9LispKmAsICdtZ2knKVxuICAgIDogbmV3IFJlZ0V4cChgXFxcXC1cXFxcLVxcXFxzKyR7Xy5lc2NhcGVSZWdFeHAocGxhdGZvcm0pfVxcXFxzKyhcXFxcUyspXFxcXHMrXFxcXC1cXFxcLShcXFxcblxcXFxzezR9LispKmAsICdtZ2knKTtcbiAgY29uc3QgbWF0Y2hlcyA9IFtdO1xuICBsZXQgbWF0Y2g7XG4gIC8vIG1ha2UgYW4gZW50cnkgZm9yIGVhY2ggc2RrIHZlcnNpb25cbiAgd2hpbGUgKChtYXRjaCA9IGRldmljZVNlY3Rpb25SZS5leGVjKHN0ZG91dCkpKSB7XG4gICAgbWF0Y2hlcy5wdXNoKG1hdGNoKTtcbiAgfVxuICBpZiAoXy5pc0VtcHR5KG1hdGNoZXMpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgZmluZCBkZXZpY2Ugc2VjdGlvbicpO1xuICB9XG5cbiAgY29uc3QgbGluZVJlID0gLyhbXlxcc10uKykgXFwoKFxcdystLitcXHcrKVxcKSBcXCgoXFx3K1xccz9cXHcrKVxcKS87IC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvbEc3bUs2LzNcbiAgLy8gZ2V0IGFsbCB0aGUgZGV2aWNlcyBmb3IgZWFjaCBzZGtcbiAgY29uc3QgZGV2aWNlcyA9IHt9O1xuICBmb3IgKG1hdGNoIG9mIG1hdGNoZXMpIHtcbiAgICBjb25zdCBzZGsgPSBwbGF0Zm9ybSA/IG1hdGNoWzFdIDogbWF0Y2hbMl07XG4gICAgZGV2aWNlc1tzZGtdID0gZGV2aWNlc1tzZGtdIHx8IFtdO1xuICAgIC8vIHNwbGl0IHRoZSBmdWxsIG1hdGNoIGludG8gbGluZXMgYW5kIHJlbW92ZSB0aGUgZmlyc3RcbiAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbWF0Y2hbMF0uc3BsaXQoJ1xcbicpLnNsaWNlKDEpKSB7XG4gICAgICBpZiAobGluZS5pbmNsdWRlcygnKHVuYXZhaWxhYmxlLCAnKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIC8vIGEgbGluZSBpcyBzb21ldGhpbmcgbGlrZVxuICAgICAgLy8gICAgaVBob25lIDRzIChBOTlGRkZDMy04RTE5LTREQ0YtQjU4NS03RDlENDZCNEMxNkUpIChTaHV0ZG93bilcbiAgICAgIC8vIHJldHJpZXZlOlxuICAgICAgLy8gICBpUGhvbmUgNHNcbiAgICAgIC8vICAgQTk5RkZGQzMtOEUxOS00RENGLUI1ODUtN0Q5RDQ2QjRDMTZFXG4gICAgICAvLyAgIFNodXRkb3duXG4gICAgICBjb25zdCBsaW5lTWF0Y2ggPSBsaW5lUmUuZXhlYyhsaW5lKTtcbiAgICAgIGlmICghbGluZU1hdGNoKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IG1hdGNoIGxpbmU6ICR7bGluZX1gKTtcbiAgICAgIH1cbiAgICAgIC8vIHNhdmUgdGhlIHdob2xlIHRoaW5nIGFzIGFiIG9iamVjdCBpbiB0aGUgbGlzdCBmb3IgdGhpcyBzZGtcbiAgICAgIGRldmljZXNbc2RrXS5wdXNoKHtcbiAgICAgICAgbmFtZTogbGluZU1hdGNoWzFdLFxuICAgICAgICB1ZGlkOiBsaW5lTWF0Y2hbMl0sXG4gICAgICAgIHN0YXRlOiBsaW5lTWF0Y2hbM10sXG4gICAgICAgIHNkayxcbiAgICAgICAgcGxhdGZvcm06IHBsYXRmb3JtIHx8IG1hdGNoWzFdLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBkZXZpY2VzO1xufTtcblxuLyoqXG4gKiBQYXJzZSB0aGUgbGlzdCBvZiBleGlzdGluZyBTaW11bGF0b3IgZGV2aWNlcyB0byByZXByZXNlbnRcbiAqIGl0IGFzIGNvbnZlbmllbnQgbWFwcGluZyBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0gez9zdHJpbmd9IGZvclNkayAtIFRoZSBzZGsgdmVyc2lvbixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHdoaWNoIHRoZSBkZXZpY2VzIGxpc3Qgc2hvdWxkIGJlIHBhcnNlZCxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGV4YW1wbGUgJzEwLjMnLlxuICogQHBhcmFtIHs/c3RyaW5nfSBwbGF0Zm9ybSAtIFRoZSBwbGF0Zm9ybSBuYW1lLCBmb3IgZXhhbXBsZSAnd2F0Y2hPUycuXG4gKiBAcmV0dXJuIHtPYmplY3R8QXJyYXk8RGV2aWNlSW5mbz59IElmIF9mb3JTZGtfIGlzIHNldCB0aGVuIHRoZSBsaXN0XG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGRldmljZXMgZm9yIHRoZSBwYXJ0aWN1bGFyIHBsYXRmb3JtIHZlcnNpb24uXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE90aGVyd2lzZSB0aGUgc2FtZSByZXN1bHQgYXMgZm9yIHtAbGluayBnZXREZXZpY2VzQnlQYXJzaW5nfVxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbi5cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgc3ViY29tbWFuZCBjb21tYW5kXG4gKiAgICAgICAgICAgICAgICAgcmV0dXJucyBub24temVybyByZXR1cm4gY29kZSBvciBpZiBubyBtYXRjaGluZ1xuICogICAgICAgICAgICAgICAgIHBsYXRmb3JtIHZlcnNpb24gaXMgZm91bmQgaW4gdGhlIHN5c3RlbS5cbiAqL1xuY29tbWFuZHMuZ2V0RGV2aWNlcyA9IGFzeW5jIGZ1bmN0aW9uIGdldERldmljZXMgKGZvclNkaywgcGxhdGZvcm0pIHtcbiAgbGV0IGRldmljZXMgPSB7fTtcbiAgdHJ5IHtcbiAgICBjb25zdCB7c3Rkb3V0fSA9IGF3YWl0IHRoaXMuZXhlYygnbGlzdCcsIHtcbiAgICAgIGFyZ3M6IFsnZGV2aWNlcycsICctaiddLFxuICAgIH0pO1xuICAgIC8qIEpTT04gc2hvdWxkIGJlXG4gICAgICoge1xuICAgICAqICAgXCJkZXZpY2VzXCIgOiB7XG4gICAgICogICAgIFwiaU9TIDxzZGs+XCIgOiBbIC8vIG9yXG4gICAgICogICAgIFwiY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtPHNkaz4gOiBbXG4gICAgICogICAgICAge1xuICAgICAqICAgICAgICAgXCJzdGF0ZVwiIDogXCJCb290ZWRcIixcbiAgICAgKiAgICAgICAgIFwiYXZhaWxhYmlsaXR5XCIgOiBcIihhdmFpbGFibGUpXCIsXG4gICAgICogICAgICAgICBcImlzQXZhaWxhYmxlXCIgOiB0cnVlLFxuICAgICAqICAgICAgICAgXCJuYW1lXCIgOiBcImlQaG9uZSA2XCIsXG4gICAgICogICAgICAgICBcInVkaWRcIiA6IFwiNzVFMzQxNDAtMThFOC00RDFBLTlGNDUtQUFDNzM1REY3NURGXCJcbiAgICAgKiAgICAgICB9XG4gICAgICogICAgIF1cbiAgICAgKiAgIH1cbiAgICAgKiB9XG4gICAgICovXG4gICAgY29uc3QgdmVyc2lvbk1hdGNoUmUgPSBfLmlzRW1wdHkocGxhdGZvcm0pXG4gICAgICA/IG5ldyBSZWdFeHAoYF4oW15cXFxccy1dKylbXFxcXHMtXShcXFxcUyspYCwgJ2knKVxuICAgICAgOiBuZXcgUmVnRXhwKGBeJHtfLmVzY2FwZVJlZ0V4cChwbGF0Zm9ybSl9W1xcXFxzLV0oXFxcXFMrKWAsICdpJyk7XG4gICAgZm9yIChsZXQgW3Nka05hbWUsIGVudHJpZXNdIG9mIF8udG9QYWlycyhKU09OLnBhcnNlKHN0ZG91dCkuZGV2aWNlcykpIHtcbiAgICAgIC8vIHRoZXJlIGNvdWxkIGJlIGEgbG9uZ2VyIG5hbWUsIHNvIHJlbW92ZSBpdFxuICAgICAgc2RrTmFtZSA9IHNka05hbWUucmVwbGFjZShTSU1fUlVOVElNRV9OQU1FLCAnJyk7XG4gICAgICBjb25zdCB2ZXJzaW9uTWF0Y2ggPSB2ZXJzaW9uTWF0Y2hSZS5leGVjKHNka05hbWUpO1xuICAgICAgaWYgKCF2ZXJzaW9uTWF0Y2gpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIC8vIHRoZSBzZGsgY2FuIGhhdmUgZGFzaGVzIChgMTItMmApIG9yIGRvdHMgKGAxMi4xYClcbiAgICAgIGNvbnN0IHNkayA9IChwbGF0Zm9ybSA/IHZlcnNpb25NYXRjaFsxXSA6IHZlcnNpb25NYXRjaFsyXSkucmVwbGFjZSgnLScsICcuJyk7XG4gICAgICBkZXZpY2VzW3Nka10gPSBkZXZpY2VzW3Nka10gfHwgW107XG4gICAgICBkZXZpY2VzW3Nka10ucHVzaCguLi5lbnRyaWVzLmZpbHRlcigoZWwpID0+IF8uaXNVbmRlZmluZWQoZWwuaXNBdmFpbGFibGUpIHx8IGVsLmlzQXZhaWxhYmxlKVxuICAgICAgICAubWFwKChlbCkgPT4ge1xuICAgICAgICAgIGRlbGV0ZSBlbC5hdmFpbGFiaWxpdHk7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNkayxcbiAgICAgICAgICAgIC4uLmVsLFxuICAgICAgICAgICAgcGxhdGZvcm06IHBsYXRmb3JtIHx8IHZlcnNpb25NYXRjaFsxXSxcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGxvZy5kZWJ1ZyhMT0dfUFJFRklYLCBgVW5hYmxlIHRvIGdldCBKU09OIGRldmljZSBsaXN0OiAke2Vyci5zdGFja31gKTtcbiAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgJ0ZhbGxpbmcgYmFjayB0byBtYW51YWwgcGFyc2luZycpO1xuICAgIGRldmljZXMgPSBhd2FpdCB0aGlzLmdldERldmljZXNCeVBhcnNpbmcocGxhdGZvcm0pO1xuICB9XG5cbiAgaWYgKCFmb3JTZGspIHtcbiAgICByZXR1cm4gZGV2aWNlcztcbiAgfVxuICAvLyBpZiBhIGBmb3JTZGtgIHdhcyBwYXNzZWQgaW4sIHJldHVybiBvbmx5IHRoZSBjb3JyZXNwb25kaW5nIGxpc3RcbiAgaWYgKGRldmljZXNbZm9yU2RrXSkge1xuICAgIHJldHVybiBkZXZpY2VzW2ZvclNka107XG4gIH1cblxuICBsZXQgZXJyTXNnID0gYCcke2ZvclNka30nIGRvZXMgbm90IGV4aXN0IGluIHRoZSBsaXN0IG9mIHNpbWN0bCBTREtzLmA7XG4gIGNvbnN0IGF2YWlsYWJsZVNES3MgPSBfLmtleXMoZGV2aWNlcyk7XG4gIGVyck1zZyArPSBhdmFpbGFibGVTREtzLmxlbmd0aFxuICAgID8gYCBPbmx5IHRoZSBmb2xsb3dpbmcgU2ltdWxhdG9yIFNESyB2ZXJzaW9ucyBhcmUgYXZhaWxhYmxlIG9uIHlvdXIgc3lzdGVtOiAke2F2YWlsYWJsZVNES3Muam9pbignLCAnKX1gXG4gICAgOiBgIE5vIFNpbXVsYXRvciBTREsgdmVyc2lvbnMgYXJlIGF2YWlsYWJsZSBvbiB5b3VyIHN5c3RlbS4gUGxlYXNlIGluc3RhbGwgc29tZSB2aWEgWGNvZGUgcHJlZmVyZW5jZXMuYDtcbiAgdGhyb3cgbmV3IEVycm9yKGVyck1zZyk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgcnVudGltZSBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbiB1c2luZyAtLWpzb24gZmxhZ1xuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBwbGF0Zm9ybVZlcnNpb24gLSBUaGUgcGxhdGZvcm0gdmVyc2lvbiBuYW1lLFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBleGFtcGxlICcxMC4zJy5cbiAqIEBwYXJhbSB7P3N0cmluZ30gcGxhdGZvcm0gLSBUaGUgcGxhdGZvcm0gbmFtZSwgZm9yIGV4YW1wbGUgJ3dhdGNoT1MnLlxuICogQHJldHVybiB7c3RyaW5nfSBUaGUgY29ycmVzcG9uZGluZyBydW50aW1lIG5hbWUgZm9yIHRoZSBnaXZlblxuICogICAgICAgICAgICAgICAgICBwbGF0Zm9ybSB2ZXJzaW9uLlxuICovXG5jb21tYW5kcy5nZXRSdW50aW1lRm9yUGxhdGZvcm1WZXJzaW9uVmlhSnNvbiA9IGFzeW5jIGZ1bmN0aW9uIGdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb25WaWFKc29uIChcbiAgcGxhdGZvcm1WZXJzaW9uLCBwbGF0Zm9ybSA9ICdpT1MnKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsncnVudGltZXMnLCAnLS1qc29uJ10sXG4gIH0pO1xuICBmb3IgKGNvbnN0IHt2ZXJzaW9uLCBpZGVudGlmaWVyLCBuYW1lfSBvZiBKU09OLnBhcnNlKHN0ZG91dCkucnVudGltZXMpIHtcbiAgICBpZiAobm9ybWFsaXplVmVyc2lvbih2ZXJzaW9uKSA9PT0gbm9ybWFsaXplVmVyc2lvbihwbGF0Zm9ybVZlcnNpb24pXG4gICAgICAmJiBuYW1lLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChwbGF0Zm9ybS50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgcmV0dXJuIGlkZW50aWZpZXI7XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IHVzZSAtLWpzb24gZmxhZyB0byBwYXJzZSBwbGF0Zm9ybSB2ZXJzaW9uYCk7XG59O1xuXG4vKipcbiAqIEdldCB0aGUgcnVudGltZSBmb3IgdGhlIHBhcnRpY3VsYXIgcGxhdGZvcm0gdmVyc2lvbi5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gcGxhdGZvcm1WZXJzaW9uIC0gVGhlIHBsYXRmb3JtIHZlcnNpb24gbmFtZSxcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgZXhhbXBsZSAnMTAuMycuXG4gKiBAcGFyYW0gez9zdHJpbmd9IHBsYXRmb3JtIC0gVGhlIHBsYXRmb3JtIG5hbWUsIGZvciBleGFtcGxlICd3YXRjaE9TJy5cbiAqIEByZXR1cm4ge3N0cmluZ30gVGhlIGNvcnJlc3BvbmRpbmcgcnVudGltZSBuYW1lIGZvciB0aGUgZ2l2ZW5cbiAqICAgICAgICAgICAgICAgICAgcGxhdGZvcm0gdmVyc2lvbi5cbiAqL1xuY29tbWFuZHMuZ2V0UnVudGltZUZvclBsYXRmb3JtVmVyc2lvbiA9IGFzeW5jIGZ1bmN0aW9uIGdldFJ1bnRpbWVGb3JQbGF0Zm9ybVZlcnNpb24gKFxuICBwbGF0Zm9ybVZlcnNpb24sIHBsYXRmb3JtID0gJ2lPUycpIHtcbiAgLy8gVHJ5IHdpdGggcGFyc2luZ1xuICB0cnkge1xuICAgIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgICAgYXJnczogWydydW50aW1lcyddLFxuICAgIH0pO1xuICAgIC8vIGh0dHBzOi8vcmVnZXgxMDEuY29tL3IvVXlralFaLzFcbiAgICBjb25zdCBydW50aW1lUmUgPVxuICAgICAgbmV3IFJlZ0V4cChgJHtfLmVzY2FwZVJlZ0V4cChwbGF0Zm9ybSl9XFxcXHMrKFxcXFxkK1xcXFwuXFxcXGQrKVxcXFxzK1xcXFwoKFxcXFxkK1xcXFwuXFxcXGQrXFxcXC4qXFxcXGQqKWAsICdpJyk7XG4gICAgZm9yIChjb25zdCBsaW5lIG9mIHN0ZG91dC5zcGxpdCgnXFxuJykpIHtcbiAgICAgIGNvbnN0IG1hdGNoID0gcnVudGltZVJlLmV4ZWMobGluZSk7XG4gICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMV0gPT09IHBsYXRmb3JtVmVyc2lvbikge1xuICAgICAgICByZXR1cm4gbWF0Y2hbMl07XG4gICAgICB9XG4gICAgfVxuICB9IGNhdGNoIChpZ24pIHt9XG5cbiAgLy8gaWYgbm90aGluZyB3YXMgZm91bmQsIHBhc3MgcGxhdGZvcm0gdmVyc2lvbiBiYWNrXG4gIHJldHVybiBwbGF0Zm9ybVZlcnNpb247XG59O1xuXG4vKipcbiAqIEdldCB0aGUgbGlzdCBvZiBkZXZpY2UgdHlwZXMgYXZhaWxhYmxlIGluIHRoZSBjdXJyZW50IFhjb2RlIGluc3RhbGxhdGlvblxuICpcbiAqIEByZXR1cm4ge0FycmF5PHN0cmluZz59IExpc3Qgb2YgdGhlIHR5cGVzIG9mIGRldmljZXMgYXZhaWxhYmxlXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIGNvbW1hbmQgZmFpbHNcbiAqL1xuY29tbWFuZHMuZ2V0RGV2aWNlVHlwZXMgPSBhc3luYyBmdW5jdGlvbiBnZXREZXZpY2VUeXBlcyAoKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsnZGV2aWNldHlwZXMnLCAnLWonXSxcbiAgfSk7XG4gIC8qXG4gICAqIEpTT04gd2lsbCBiZSBsaWtlOlxuICAgKiAgIHtcbiAgICogICAgIFwiZGV2aWNldHlwZXNcIiA6IFtcbiAgICogICAgICAge1xuICAgKiAgICAgICAgIFwibmFtZVwiIDogXCJpUGhvbmUgNHNcIixcbiAgICogICAgICAgICBcImlkZW50aWZpZXJcIiA6IFwiY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltRGV2aWNlVHlwZS5pUGhvbmUtNHNcIlxuICAgKiAgICAgICB9LFxuICAgKiAgICAgICAuLi5cbiAgICogICB9XG4gICAqL1xuICB0cnkge1xuICAgIGNvbnN0IGRldmljZVR5cGVzID0gSlNPTi5wYXJzZShzdGRvdXQudHJpbSgpKTtcbiAgICByZXR1cm4gZGV2aWNlVHlwZXMuZGV2aWNldHlwZXMubWFwKCh0eXBlKSA9PiB0eXBlLm5hbWUpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBnZXQgbGlzdCBvZiBkZXZpY2UgdHlwZXM6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gIH1cbn07XG5cbi8qKlxuICogR2V0IHRoZSBmdWxsIGxpc3Qgb2YgcnVudGltZXMsIGRldmljZXR5cGVzLCBkZXZpY2VzIGFuZCBwYWlycyBhcyBPYmplY3RcbiAqXG4gKiBAcmV0dXJuIHtPYmplY3R9IE9iamVjdCBjb250YWluaW5nIGRldmljZSB0eXBlcywgcnVudGltZXMgZGV2aWNlcyBhbmQgcGFpcnMuXG4gKiBUaGUgcmVzdWx0aW5nIEpTT04gd2lsbCBiZSBsaWtlOlxuICogICB7XG4gKiAgICAgXCJkZXZpY2V0eXBlc1wiIDogW1xuICogICAgICAge1xuICogICAgICAgICBcIm5hbWVcIiA6IFwiaVBob25lIDRzXCIsXG4gKiAgICAgICAgIFwiaWRlbnRpZmllclwiIDogXCJjb20uYXBwbGUuQ29yZVNpbXVsYXRvci5TaW1EZXZpY2VUeXBlLmlQaG9uZS00c1wiXG4gKiAgICAgICB9LFxuICogICAgICAgLi4uXG4gKiAgICAgIF0sXG4gKiAgICAgXCJydW50aW1lc1wiIDogW1xuICogICAgICAge1xuICogICAgICAgICBcInZlcnNpb25cIiA6ICcxMy4wJyxcbiAqICAgICAgICAgXCJidW5kbGVQYXRoXCIgOiAnL0FwcGxpY2F0aW9ucy9YY29kZTExYmV0YTQuYXBwL0NvbnRlbnRzL0RldmVsb3Blci9QbGF0Zm9ybXMvaVBob25lT1MucGxhdGZvcm0vTGlicmFyeS9EZXZlbG9wZXIvQ29yZVNpbXVsYXRvci9Qcm9maWxlcy9SdW50aW1lcy9pT1Muc2ltcnVudGltZScsXG4gKiAgICAgICAgIFwiaXNBdmFpbGFibGVcIiA6IHRydWUsXG4gKiAgICAgICAgIFwibmFtZVwiIDogJ2lPUyAxMy4wJyxcbiAqICAgICAgICAgXCJpZGVudGlmaWVyXCIgOiAnY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtMTMtMCcsXG4gKiAgICAgICAgIFwiYnVpbGR2ZXJzaW9uXCIgOiAnMTdBNTUzNGQnXG4gKiAgICAgICB9LFxuICogICAgICAgLi4uXG4gKiAgICAgIH0sXG4gKiAgICAgXCJkZXZpY2VzXCIgOlxuICogICAgICAge1xuICogICAgICAgICAnY29tLmFwcGxlLkNvcmVTaW11bGF0b3IuU2ltUnVudGltZS5pT1MtMTMtMCc6IFsgW09iamVjdF0sIFtPYmplY3RdIF0gfSxcbiAqICAgICAgICAgLi4uXG4gKiAgICAgICB9LFxuICogICAgIFwicGFpcnNcIiA6IHt9IH1cbiAqXG4gKiAgIH1cbiAqIEB0aHJvd3Mge0Vycm9yfSBJZiB0aGUgY29ycmVzcG9uZGluZyBzaW1jdGwgY29tbWFuZCBmYWlsc1xuICovXG5jb21tYW5kcy5saXN0ID0gYXN5bmMgZnVuY3Rpb24gbGlzdCAoKSB7XG4gIGNvbnN0IHtzdGRvdXR9ID0gYXdhaXQgdGhpcy5leGVjKCdsaXN0Jywge1xuICAgIGFyZ3M6IFsnLWonXSxcbiAgfSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2Uoc3Rkb3V0LnRyaW0oKSk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBwYXJzZSBzaW1jdGwgbGlzdDogJHtlLm1lc3NhZ2V9YCk7XG4gIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbW1hbmRzO1xuIl0sImZpbGUiOiJsaWIvc3ViY29tbWFuZHMvbGlzdC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
"use strict";
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");

@@ -14,3 +16,3 @@

var _logger = _interopRequireDefault(require("../logger"));
var _logger = _interopRequireWildcard(require("../logger"));

@@ -29,3 +31,3 @@ const commands = {};

_logger.default.debug(`Simulator already in 'Shutdown' state. Continuing`);
_logger.default.debug(_logger.LOG_PREFIX, `Simulator already in 'Shutdown' state. Continuing`);
}

@@ -38,2 +40,2 @@ };

//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJjb21tYW5kcy9zaHV0ZG93bi5qcyJdLCJuYW1lcyI6WyJjb21tYW5kcyIsInNodXRkb3duRGV2aWNlIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsImUiLCJfIiwiaW5jbHVkZXMiLCJtZXNzYWdlIiwibG9nIiwiZGVidWciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0EsTUFBTUEsUUFBUSxHQUFHLEVBQWpCOztBQVNBQSxRQUFRLENBQUNDLGNBQVQsR0FBMEIsZUFBZUEsY0FBZixHQUFpQztBQUN6RCxNQUFJO0FBQ0YsVUFBTSxLQUFLQyxJQUFMLENBQVUsVUFBVixFQUFzQjtBQUMxQkMsTUFBQUEsSUFBSSxFQUFFLENBQUMsS0FBS0MsV0FBTCxDQUFpQixVQUFqQixDQUFEO0FBRG9CLEtBQXRCLENBQU47QUFHRCxHQUpELENBSUUsT0FBT0MsQ0FBUCxFQUFVO0FBQ1YsUUFBSSxDQUFDQyxnQkFBRUMsUUFBRixDQUFXRixDQUFDLENBQUNHLE9BQWIsRUFBc0IseUJBQXRCLENBQUwsRUFBdUQ7QUFDckQsWUFBTUgsQ0FBTjtBQUNEOztBQUNESSxvQkFBSUMsS0FBSixDQUFXLG1EQUFYO0FBQ0Q7QUFDRixDQVhEOztlQWFlVixRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcblxuXG5jb25zdCBjb21tYW5kcyA9IHt9O1xuXG4vKipcbiAqIFNodXRkb3duIHRoZSBnaXZlbiBTaW11bGF0b3IgaWYgaXQgaXMgcnVubmluZy5cbiAqXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGNvcnJlc3BvbmRpbmcgc2ltY3RsIHN1YmNvbW1hbmQgY29tbWFuZFxuICogICAgICAgICAgICAgICAgIHJldHVybnMgbm9uLXplcm8gcmV0dXJuIGNvZGUuXG4gKiBAdGhyb3dzIHtFcnJvcn0gSWYgdGhlIGB1ZGlkYCBpbnN0YW5jZSBwcm9wZXJ0eSBpcyB1bnNldFxuICovXG5jb21tYW5kcy5zaHV0ZG93bkRldmljZSA9IGFzeW5jIGZ1bmN0aW9uIHNodXRkb3duRGV2aWNlICgpIHtcbiAgdHJ5IHtcbiAgICBhd2FpdCB0aGlzLmV4ZWMoJ3NodXRkb3duJywge1xuICAgICAgYXJnczogW3RoaXMucmVxdWlyZVVkaWQoJ3NodXRkb3duJyldLFxuICAgIH0pO1xuICB9IGNhdGNoIChlKSB7XG4gICAgaWYgKCFfLmluY2x1ZGVzKGUubWVzc2FnZSwgJ2N1cnJlbnQgc3RhdGU6IFNodXRkb3duJykpIHtcbiAgICAgIHRocm93IGU7XG4gICAgfVxuICAgIGxvZy5kZWJ1ZyhgU2ltdWxhdG9yIGFscmVhZHkgaW4gJ1NodXRkb3duJyBzdGF0ZS4gQ29udGludWluZ2ApO1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21tYW5kcztcbiJdLCJmaWxlIjoibGliL3N1YmNvbW1hbmRzL3NodXRkb3duLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zdWJjb21tYW5kcy9zaHV0ZG93bi5qcyJdLCJuYW1lcyI6WyJjb21tYW5kcyIsInNodXRkb3duRGV2aWNlIiwiZXhlYyIsImFyZ3MiLCJyZXF1aXJlVWRpZCIsImUiLCJfIiwiaW5jbHVkZXMiLCJtZXNzYWdlIiwibG9nIiwiZGVidWciLCJMT0dfUFJFRklYIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBRUEsTUFBTUEsUUFBUSxHQUFHLEVBQWpCOztBQVNBQSxRQUFRLENBQUNDLGNBQVQsR0FBMEIsZUFBZUEsY0FBZixHQUFpQztBQUN6RCxNQUFJO0FBQ0YsVUFBTSxLQUFLQyxJQUFMLENBQVUsVUFBVixFQUFzQjtBQUMxQkMsTUFBQUEsSUFBSSxFQUFFLENBQUMsS0FBS0MsV0FBTCxDQUFpQixVQUFqQixDQUFEO0FBRG9CLEtBQXRCLENBQU47QUFHRCxHQUpELENBSUUsT0FBT0MsQ0FBUCxFQUFVO0FBQ1YsUUFBSSxDQUFDQyxnQkFBRUMsUUFBRixDQUFXRixDQUFDLENBQUNHLE9BQWIsRUFBc0IseUJBQXRCLENBQUwsRUFBdUQ7QUFDckQsWUFBTUgsQ0FBTjtBQUNEOztBQUNESSxvQkFBSUMsS0FBSixDQUFVQyxrQkFBVixFQUF1QixtREFBdkI7QUFDRDtBQUNGLENBWEQ7O2VBYWVYLFEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGxvZywgeyBMT0dfUFJFRklYIH0gZnJvbSAnLi4vbG9nZ2VyJztcblxuY29uc3QgY29tbWFuZHMgPSB7fTtcblxuLyoqXG4gKiBTaHV0ZG93biB0aGUgZ2l2ZW4gU2ltdWxhdG9yIGlmIGl0IGlzIHJ1bm5pbmcuXG4gKlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBjb3JyZXNwb25kaW5nIHNpbWN0bCBzdWJjb21tYW5kIGNvbW1hbmRcbiAqICAgICAgICAgICAgICAgICByZXR1cm5zIG5vbi16ZXJvIHJldHVybiBjb2RlLlxuICogQHRocm93cyB7RXJyb3J9IElmIHRoZSBgdWRpZGAgaW5zdGFuY2UgcHJvcGVydHkgaXMgdW5zZXRcbiAqL1xuY29tbWFuZHMuc2h1dGRvd25EZXZpY2UgPSBhc3luYyBmdW5jdGlvbiBzaHV0ZG93bkRldmljZSAoKSB7XG4gIHRyeSB7XG4gICAgYXdhaXQgdGhpcy5leGVjKCdzaHV0ZG93bicsIHtcbiAgICAgIGFyZ3M6IFt0aGlzLnJlcXVpcmVVZGlkKCdzaHV0ZG93bicpXSxcbiAgICB9KTtcbiAgfSBjYXRjaCAoZSkge1xuICAgIGlmICghXy5pbmNsdWRlcyhlLm1lc3NhZ2UsICdjdXJyZW50IHN0YXRlOiBTaHV0ZG93bicpKSB7XG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgICBsb2cuZGVidWcoTE9HX1BSRUZJWCwgYFNpbXVsYXRvciBhbHJlYWR5IGluICdTaHV0ZG93bicgc3RhdGUuIENvbnRpbnVpbmdgKTtcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29tbWFuZHM7XG4iXSwiZmlsZSI6ImxpYi9zdWJjb21tYW5kcy9zaHV0ZG93bi5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
import npmlog from 'npmlog';
const LOG_PREFIX = 'simctl';
function getLogger () {
const logger = global._global_npmlog || npmlog;
logger.maxRecordSize = 3000;
if (!logger.debug) {
logger.addLevel('debug', 1000, { fg: 'blue', bg: 'black' }, 'dbug');
}
const originalLog = logger.log.bind(logger);
logger.log = (level, prefix, ...args) => originalLog(level, 'simctl', prefix, ...args);
return logger;

@@ -16,2 +16,3 @@ }

export { LOG_PREFIX };
export default log;
import _ from 'lodash';
import subcommands from './subcommands/index.js';
import which from 'which';
import log from './logger';
import log, { LOG_PREFIX } from './logger';
import {

@@ -137,6 +137,6 @@ DEFAULT_EXEC_TIMEOUT, XCRUN_BINARY,

const msg = `Error running '${subcommand}': ${e.stderr.trim()}`;
log.debug(msg);
log.debug(LOG_PREFIX, msg);
throw Error(msg);
} else {
log.debug(e.message);
log.debug(LOG_PREFIX, e.message);
throw e;

@@ -143,0 +143,0 @@ }

import _ from 'lodash';
import log from '../logger';
import log, { LOG_PREFIX } from '../logger';

@@ -23,3 +23,3 @@

}
log.debug(`Simulator already in 'Booted' state. Continuing`);
log.debug(LOG_PREFIX, `Simulator already in 'Booted' state. Continuing`);
}

@@ -26,0 +26,0 @@ };

import _ from 'lodash';
import log from '../logger';
import log, { LOG_PREFIX } from '../logger';
import { retryInterval } from 'asyncbox';

@@ -75,3 +75,4 @@ import { SIM_RUNTIME_NAME, normalizeVersion } from '../helpers';

for (const runtimeId of runtimeIds) {
log.debug(`Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);
log.debug(LOG_PREFIX,
`Creating simulator with name '${name}', device type id '${deviceTypeId}' and runtime id '${runtimeId}'`);
try {

@@ -78,0 +79,0 @@ const {stdout} = await this.exec('create', {

import _ from 'lodash';
import { SIM_RUNTIME_NAME, normalizeVersion } from '../helpers';
import log from '../logger';
import log, { LOG_PREFIX } from '../logger';

@@ -153,4 +153,4 @@

} catch (err) {
log.debug(`Unable to get JSON device list: ${err.stack}`);
log.debug('Falling back to manual parsing');
log.debug(LOG_PREFIX, `Unable to get JSON device list: ${err.stack}`);
log.debug(LOG_PREFIX, 'Falling back to manual parsing');
devices = await this.getDevicesByParsing(platform);

@@ -157,0 +157,0 @@ }

import _ from 'lodash';
import log from '../logger';
import log, { LOG_PREFIX } from '../logger';
const commands = {};

@@ -23,3 +22,3 @@

}
log.debug(`Simulator already in 'Shutdown' state. Continuing`);
log.debug(LOG_PREFIX, `Simulator already in 'Shutdown' state. Continuing`);
}

@@ -26,0 +25,0 @@ };

@@ -9,3 +9,3 @@ {

],
"version": "6.3.2",
"version": "6.3.3",
"author": "https://github.com/appium",

@@ -63,4 +63,3 @@ "license": "Apache-2.0",

"devDependencies": {
"ajv": "^6.5.3",
"appium-gulp-plugins": "^5.0.0",
"appium-gulp-plugins": "^5.4.0",
"appium-xcode": "^3.8.0",

@@ -67,0 +66,0 @@ "chai": "^4.1.2",

@@ -9,3 +9,2 @@ ## node-simctl

[![Build Status](https://travis-ci.org/appium/node-simctl.svg?branch=master)](https://travis-ci.org/appium/node-simctl)
[![Coverage Status](https://coveralls.io/repos/appium/node-simctl/badge.svg?branch=master)](https://coveralls.io/r/appium/node-simctl?branch=master)

@@ -12,0 +11,0 @@ ES6/7 Node wrapper around Apple's `simctl` binary, the "Command line utility to control the iOS Simulator". `simctl` is run as a sub-command of [xcrun](https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/xcrun.1.html)

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc