appium-ios-device 2.2.0 → 2.4.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.
- package/README.md +2 -3
- package/build/index.js +9 -1
- package/build/lib/instrument/index.js +4 -4
- package/build/lib/mcinstall/index.js +76 -0
- package/build/lib/services.js +9 -1
- package/build/lib/ssl-helper.js +3 -6
- package/index.js +2 -1
- package/lib/instrument/index.js +6 -6
- package/lib/mcinstall/index.js +89 -0
- package/lib/services.js +7 -1
- package/lib/ssl-helper.js +2 -5
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -3,10 +3,8 @@ appium-ios-device
|
|
|
3
3
|
|
|
4
4
|
[](https://npmjs.org/package/appium-ios-device)
|
|
5
5
|
[](https://npmjs.org/package/appium-ios-device)
|
|
6
|
-
[](https://david-dm.org/appium/appium-ios-device/master)
|
|
7
|
-
[](https://david-dm.org/appium/appium-ios-device/master#info=devDependencies)
|
|
8
6
|
|
|
9
|
-
[](https://github.com/appium/appium-ios-device/actions/workflows/publish.js.yml)
|
|
10
8
|
|
|
11
9
|
Appium API for dealing with iOS devices. This is mainly a rewrite of libimobiledevice in nodejs. The APIs allow Appium to talk directly to the phone over usbmuxd
|
|
12
10
|
|
|
@@ -34,6 +32,7 @@ More information can be found at the links below:
|
|
|
34
32
|
- `services.startNotificationProxyService`
|
|
35
33
|
- `services.startHouseArrestService`
|
|
36
34
|
- `services.startInstrumentService`
|
|
35
|
+
- `services.startMCInstallService`
|
|
37
36
|
|
|
38
37
|
### Usage
|
|
39
38
|
|
package/build/index.js
CHANGED
|
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
Object.defineProperty(exports, "INSTRUMENT_CHANNEL", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () {
|
|
11
|
+
return _instrument.INSTRUMENT_CHANNEL;
|
|
12
|
+
}
|
|
13
|
+
});
|
|
8
14
|
Object.defineProperty(exports, "Usbmux", {
|
|
9
15
|
enumerable: true,
|
|
10
16
|
get: function () {
|
|
@@ -25,6 +31,8 @@ var services = _interopRequireWildcard(require("./lib/services"));
|
|
|
25
31
|
|
|
26
32
|
exports.services = services;
|
|
27
33
|
|
|
34
|
+
var _instrument = require("./lib/instrument");
|
|
35
|
+
|
|
28
36
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
37
|
|
|
30
38
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
@@ -33,4 +41,4 @@ var _default = _usbmux.default;
|
|
|
33
41
|
exports.default = _default;require('source-map-support').install();
|
|
34
42
|
|
|
35
43
|
|
|
36
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIlVzYm11eCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7OztlQUllQSxlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZGVmYXVsdCBhcyBVc2JtdXggfSBmcm9tICcuL2xpYi91c2JtdXgnO1xuaW1wb3J0ICogYXMgdXRpbGl0aWVzIGZyb20gJy4vbGliL3V0aWxpdGllcyc7XG5pbXBvcnQgKiBhcyBzZXJ2aWNlcyBmcm9tICcuL2xpYi9zZXJ2aWNlcyc7XG5pbXBvcnQgeyBJTlNUUlVNRU5UX0NIQU5ORUwgfSBmcm9tICcuL2xpYi9pbnN0cnVtZW50JztcblxuXG5leHBvcnQgeyBVc2JtdXgsIHV0aWxpdGllcywgc2VydmljZXMsIElOU1RSVU1FTlRfQ0hBTk5FTCB9O1xuZXhwb3J0IGRlZmF1bHQgVXNibXV4O1xuIl0sImZpbGUiOiJpbmRleC5qcyIsInNvdXJjZVJvb3QiOiIuLiJ9
|
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.
|
|
8
|
+
exports.InstrumentService = exports.INSTRUMENT_SERVICE_NAME_VERSION_14 = exports.INSTRUMENT_SERVICE_NAME = exports.INSTRUMENT_CHANNEL = void 0;
|
|
9
9
|
|
|
10
10
|
require("source-map-support/register");
|
|
11
11
|
|
|
@@ -32,7 +32,7 @@ const INSTRUMENT_SERVICE_NAME_VERSION_14 = 'com.apple.instruments.remoteserver.D
|
|
|
32
32
|
exports.INSTRUMENT_SERVICE_NAME_VERSION_14 = INSTRUMENT_SERVICE_NAME_VERSION_14;
|
|
33
33
|
const INSTRUMENT_SERVICE_NAME = 'com.apple.instruments.remoteserver';
|
|
34
34
|
exports.INSTRUMENT_SERVICE_NAME = INSTRUMENT_SERVICE_NAME;
|
|
35
|
-
const
|
|
35
|
+
const INSTRUMENT_CHANNEL = Object.freeze({
|
|
36
36
|
DEVICE_INFO: 'com.apple.instruments.server.services.deviceinfo',
|
|
37
37
|
PROCESS_CONTROL: 'com.apple.instruments.server.services.processcontrol',
|
|
38
38
|
SYSMONTAP: 'com.apple.instruments.server.services.sysmontap',
|
|
@@ -42,7 +42,7 @@ const SERVICE = Object.freeze({
|
|
|
42
42
|
APPLICATION_LISTING: 'com.apple.instruments.server.services.device.applictionListing',
|
|
43
43
|
CONDITION_INDUCER: 'com.apple.instruments.server.services.ConditionInducer'
|
|
44
44
|
});
|
|
45
|
-
exports.
|
|
45
|
+
exports.INSTRUMENT_CHANNEL = INSTRUMENT_CHANNEL;
|
|
46
46
|
|
|
47
47
|
function defaultDict(createValue) {
|
|
48
48
|
return new Proxy(Object.create(null), {
|
|
@@ -184,4 +184,4 @@ class InstrumentService extends _baseService.BaseServiceSocket {
|
|
|
184
184
|
exports.InstrumentService = InstrumentService;require('source-map-support').install();
|
|
185
185
|
|
|
186
186
|
|
|
187
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9pbnN0cnVtZW50L2luZGV4LmpzIl0sIm5hbWVzIjpbIkNIRUNLX0ZSRVFfTVMiLCJXQUlUX1JFUExZX1RJTUVfTVMiLCJFTVBUWV9NRVNTQUdFX1NJWkUiLCJDSEFOTkVMX0NBTkNFTEVEIiwiQ0hBTk5FTF9PRkZTRVQiLCJJTlNUUlVNRU5UX1NFUlZJQ0VfTkFNRV9WRVJTSU9OXzE0IiwiSU5TVFJVTUVOVF9TRVJWSUNFX05BTUUiLCJTRVJWSUNFIiwiT2JqZWN0IiwiZnJlZXplIiwiREVWSUNFX0lORk8iLCJQUk9DRVNTX0NPTlRST0wiLCJTWVNNT05UQVAiLCJORVRXT1JLSU5HIiwiTU9CSUxFX05PVElGSUNBVElPTlMiLCJHUkFQSElDU19PUEVOR0wiLCJBUFBMSUNBVElPTl9MSVNUSU5HIiwiQ09ORElUSU9OX0lORFVDRVIiLCJkZWZhdWx0RGljdCIsImNyZWF0ZVZhbHVlIiwiUHJveHkiLCJjcmVhdGUiLCJnZXQiLCJzdG9yYWdlIiwicHJvcGVydHkiLCJJbnN0cnVtZW50U2VydmljZSIsIkJhc2VTZXJ2aWNlU29ja2V0IiwiY29uc3RydWN0b3IiLCJzb2NrZXRDbGllbnQiLCJldmVudCIsIl91bmRlZmluZWRDYWxsYmFjayIsIl9jYWxsYmFja3MiLCJldmVudHMiLCJFdmVudEVtaXR0ZXIiLCJfY2hhbm5lbENhbGxiYWNrcyIsIl9yZXBseVF1ZXVlcyIsIl9jaGFubmVscyIsIl9uZXh0SWRlbnRpZmllciIsIl9lbmNvZGVyIiwiRFRYRW5jb2RlciIsInBpcGUiLCJfc29ja2V0Q2xpZW50IiwiX2Fzc2lnbkNsaWVudEZhaWx1cmVIYW5kbGVycyIsIl9kZWNvZGVyIiwiRFRYRGVjb2RlciIsIm9uIiwiX2hhbmRsZURhdGEiLCJiaW5kIiwicmVnaXN0ZXJTZWxlY3RvckNhbGxiYWNrIiwic2VsZWN0b3IiLCJhZGRMaXN0ZW5lciIsInJlZ2lzdGVyVW5kZWZpbmVkQ2FsbGJhY2siLCJyZWdpc3RlckNoYW5uZWxDYWxsYmFjayIsImNoYW5uZWwiLCJjaGFubmVsSWQiLCJtYWtlQ2hhbm5lbCIsImNoYW5uZWxDb2RlIiwia2V5cyIsImxlbmd0aCIsIl9jYWxsQ2hhbm5lbCIsImNhbGxDaGFubmVsIiwiYXV4aWxpYXJpZXMiLCJzeW5jIiwiaWRlbnRpZmllciIsIndyaXRlIiwicXVldWUiLCJkYXRhIiwic2hpZnQiLCJfIiwiaXNVbmRlZmluZWQiLCJ3YWl0TXMiLCJpbnRlcnZhbE1zIiwiZXJyb3IiLCJlcnIiLCJjbG9zZSIsIkVycm9yIiwiaW5jbHVkZXMiLCJjb252ZXJzYXRpb25JbmRleCIsInB1c2giLCJsaXN0ZW5lckNvdW50IiwiZW1pdCIsImlzU3RyaW5nIiwiZXhwZWN0c1JlcGx5IiwiX3JlcGx5QWNrIiwicmVwbHkiLCJEVFhNZXNzYWdlIiwiQnVmZmVyIiwiYWxsb2MiLCJmbGFncyIsIkZMQUdfVFlQRVMiLCJidWlsZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxhQUFhLEdBQUcsR0FBdEI7QUFDQSxNQUFNQyxrQkFBa0IsR0FBRyxLQUEzQjtBQUNBLE1BQU1DLGtCQUFrQixHQUFHLEVBQTNCO0FBQ0EsTUFBTUMsZ0JBQWdCLEdBQUcsa0JBQXpCO0FBQ0EsTUFBTUMsY0FBYyxHQUFHLEtBQUssRUFBNUI7QUFFQSxNQUFNQyxrQ0FBa0MsR0FBRyx5REFBM0M7O0FBQ0EsTUFBTUMsdUJBQXVCLEdBQUcsb0NBQWhDOztBQUVPLE1BQU1DLE9BQU8sR0FBR0MsTUFBTSxDQUFDQyxNQUFQLENBQWM7QUFDbkNDLEVBQUFBLFdBQVcsRUFBRSxrREFEc0I7QUFFbkNDLEVBQUFBLGVBQWUsRUFBRSxzREFGa0I7QUFHbkNDLEVBQUFBLFNBQVMsRUFBRSxpREFId0I7QUFJbkNDLEVBQUFBLFVBQVUsRUFBRSxrREFKdUI7QUFLbkNDLEVBQUFBLG9CQUFvQixFQUFFLDJEQUxhO0FBTW5DQyxFQUFBQSxlQUFlLEVBQUUsdURBTmtCO0FBT25DQyxFQUFBQSxt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QVcsRUFBRVUsSUFBSSxDQUFDVixXQUZTO0FBRzNCUCxNQUFBQSxRQUFRLEVBQUVxQyxNQUFNLENBQUNDLEtBQVAsQ0FBYXJGLGtCQUFiLENBSGlCO0FBSTNCMkUsTUFBQUEsaUJBQWlCLEVBQUVYLElBQUksQ0FBQ1csaUJBQUwsR0FBeUIsQ0FKakI7QUFLM0JXLE1BQUFBLEtBQUssRUFBRUMsb0JBQVdMO0FBTFMsS0FBZixDQUFkOztBQU9BLFNBQUszQyxhQUFMLENBQW1CdUIsS0FBbkIsQ0FBeUJvQixLQUFLLENBQUNNLEtBQU4sRUFBekI7QUFDRDs7QUF2SStDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ZdWVDaGVuLUMvcHktaW9zLWRldmljZVxuXG5pbXBvcnQge0Jhc2VTZXJ2aWNlU29ja2V0fSBmcm9tICcuLi9iYXNlLXNlcnZpY2UnO1xuaW1wb3J0IHtEVFhNZXNzYWdlLCBGTEFHX1RZUEVTfSBmcm9tICcuL2hlYWRlcnMnO1xuaW1wb3J0IHtEVFhFbmNvZGVyfSBmcm9tICcuL3RyYW5zZm9ybWVyL2R0eC1lbmNvZGUnO1xuaW1wb3J0IHtEVFhEZWNvZGVyfSBmcm9tICcuL3RyYW5zZm9ybWVyL2R0eC1kZWNvZGUnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICdldmVudHMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7d2FpdEZvckNvbmRpdGlvbn0gZnJvbSAnYXN5bmNib3gnO1xuXG5jb25zdCBDSEVDS19GUkVRX01TID0gNTAwO1xuY29uc3QgV0FJVF9SRVBMWV9USU1FX01TID0gMTAwMDA7XG5jb25zdCBFTVBUWV9NRVNTQUdFX1NJWkUgPSAxNjtcbmNvbnN0IENIQU5ORUxfQ0FOQ0VMRUQgPSAnX2NoYW5uZWxDYW5jZWxlZCc7XG5jb25zdCBDSEFOTkVMX09GRlNFVCA9IDIgKiogMzI7XG5cbmNvbnN0IElOU1RSVU1FTlRfU0VSVklDRV9OQU1FX1ZFUlNJT05fMTQgPSAnY29tLmFwcGxlLmluc3RydW1lbnRzLnJlbW90ZXNlcnZlci5EVlRTZWN1cmVTb2NrZXRQcm94eSc7XG5jb25zdCBJTlNUUlVNRU5UX1NFUlZJQ0VfTkFNRSA9ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMucmVtb3Rlc2VydmVyJztcblxuZXhwb3J0IGNvbnN0IFNFUlZJQ0UgPSBPYmplY3QuZnJlZXplKHtcbiAgREVWSUNFX0lORk86ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMuc2VydmVyLnNlcnZpY2VzLmRldmljZWluZm8nLFxuICBQUk9DRVNTX0NPTlRST0w6ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMuc2VydmVyLnNlcnZpY2VzLnByb2Nlc3Njb250cm9sJyxcbiAgU1lTTU9OVEFQOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5zeXNtb250YXAnLFxuICBORVRXT1JLSU5HOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5uZXR3b3JraW5nJyxcbiAgTU9CSUxFX05PVElGSUNBVElPTlM6ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMuc2VydmVyLnNlcnZpY2VzLm1vYmlsZW5vdGlmaWNhdGlvbnMnLFxuICBHUkFQSElDU19PUEVOR0w6ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMuc2VydmVyLnNlcnZpY2VzLmdyYXBoaWNzLm9wZW5nbCcsXG4gIEFQUExJQ0FUSU9OX0xJU1RJTkc6ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMuc2VydmVyLnNlcnZpY2VzLmRldmljZS5hcHBsaWN0aW9uTGlzdGluZycsXG4gIENPTkRJVElPTl9JTkRVQ0VSOiAnY29tLmFwcGxlLmluc3RydW1lbnRzLnNlcnZlci5zZXJ2aWNlcy5Db25kaXRpb25JbmR1Y2VyJ1xufSk7XG5cbmZ1bmN0aW9uIGRlZmF1bHREaWN0IChjcmVhdGVWYWx1ZSkge1xuICByZXR1cm4gbmV3IFByb3h5KE9iamVjdC5jcmVhdGUobnVsbCksIHtcbiAgICBnZXQgKHN0b3JhZ2UsIHByb3BlcnR5KSB7XG4gICAgICBpZiAoIShwcm9wZXJ0eSBpbiBzdG9yYWdlKSkge1xuICAgICAgICBzdG9yYWdlW3Byb3BlcnR5XSA9IGNyZWF0ZVZhbHVlKHByb3BlcnR5KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdG9yYWdlW3Byb3BlcnR5XTtcbiAgICB9XG4gIH0pO1xufVxuXG4vKiogVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIHdoaWNoIHdpbGwgYmUgY2FsbGVkIGR1cmluZyB0aGUgZGF0YSB0cmFuc21pc3Npb24gaW4gaW5zdHJ1bWVudCBzZXJ2ZVxuICogQG5hbWUgRFRYQ2FsbGJhY2tcbiAqIEBmdW5jdGlvblxuICogQHBhcmFtIHtEVFhNZXNzYWdlfSBvYmplY3RcbiovXG5cbi8qKlxuICogQHBhcmFtIHtTb2NrZXR9IHNvY2tldENsaWVudCAgRFRYTWVzc2FnZS5zZWxlY3RvclxuICogQHBhcmFtIHs/RFRYQ2FsbGJhY2t9IGV2ZW50IGlmIGVtcHR5IHdpbGwgaWdub3JlIGFueSBtZXNzYWdlc1xuICovXG5jbGFzcyBJbnN0cnVtZW50U2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlU29ja2V0IHtcbiAgY29uc3RydWN0b3IgKHNvY2tldENsaWVudCwgZXZlbnQpIHtcbiAgICBzdXBlcihzb2NrZXRDbGllbnQpO1xuICAgIHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrID0gZXZlbnQ7XG4gICAgdGhpcy5fY2FsbGJhY2tzID0gbmV3IGV2ZW50cy5FdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLl9jaGFubmVsQ2FsbGJhY2tzID0gbmV3IGV2ZW50cy5FdmVudEVtaXR0ZXIoKTtcbiAgICB0aGlzLl9yZXBseVF1ZXVlcyA9IGRlZmF1bHREaWN0KCgpID0+IFtdKTtcbiAgICB0aGlzLl9jaGFubmVscyA9IHt9O1xuICAgIHRoaXMuX25leHRJZGVudGlmaWVyID0gMTtcbiAgICB0aGlzLl9lbmNvZGVyID0gbmV3IERUWEVuY29kZXIoKTtcbiAgICB0aGlzLl9lbmNvZGVyLnBpcGUodGhpcy5fc29ja2V0Q2xpZW50KTtcbiAgICB0aGlzLl9hc3NpZ25DbGllbnRGYWlsdXJlSGFuZGxlcnModGhpcy5fZW5jb2Rlcik7XG4gICAgdGhpcy5fZGVjb2RlciA9IG5ldyBEVFhEZWNvZGVyKCk7XG4gICAgdGhpcy5fc29ja2V0Q2xpZW50LnBpcGUodGhpcy5fZGVjb2Rlcik7XG4gICAgdGhpcy5fZGVjb2Rlci5vbignZGF0YScsIHRoaXMuX2hhbmRsZURhdGEuYmluZCh0aGlzKSk7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIHNlbGVjdG9yIGlzIHJlZ2lzdGVyZWQsIFRoZSBtZXNzYWdlIG9mIHRoZSBzZWxlY3RvciBldmVudCB3aWxsIGJlIHJldHVybmVkLiByZWZlciB0byB0aGlzLl9oYW5kbGVEYXRhXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvciAgTGlzdGVuIGZvciByZXR1cm4gRFRYTWVzc2FnZS5zZWxlY3RvciBkYXRhXG4gICAqIEBwYXJhbSB7RFRYQ2FsbGJhY2t9IGV2ZW50XG4gICAqL1xuICByZWdpc3RlclNlbGVjdG9yQ2FsbGJhY2sgKHNlbGVjdG9yLCBldmVudCkge1xuICAgIHRoaXMuX2NhbGxiYWNrcy5hZGRMaXN0ZW5lcihzZWxlY3RvciwgZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZSBldmVudCBpcyByZWdpc3RlcmVkLCBhbGwgdW5yZWdpc3RlcmVkIG1lc3NhZ2VzIHdpbGwgYmUgcmV0dXJuZWQgdG8gZXZlbnQuIHJlZmVyIHRvIHRoaXMuX2hhbmRsZURhdGFcbiAgICogQHBhcmFtIHtEVFhDYWxsYmFja30gZXZlbnRcbiAgICovXG4gIHJlZ2lzdGVyVW5kZWZpbmVkQ2FsbGJhY2sgKGV2ZW50KSB7XG4gICAgdGhpcy5fdW5kZWZpbmVkQ2FsbGJhY2sgPSBldmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgZXZlbnQgaXMgcmVnaXN0ZXJlZCwgdGhpcyBjaGFubmVsIHtTRVJWSUNFfSBtZXNzYWdlcyB3aWxsIGJlIHJldHVybmVkIHRvIGV2ZW50LiByZWZlciB0byB0aGlzLl9oYW5kbGVEYXRhXG4gICAqIEl0J3MgYWN0dWFsbHkgbGlzdGVuaW5nIGZvciBpbnQgY2hhbm5lbENvZGUuIEluIHRoaXMuX2NoYW5uZWwgb2JqZWN0IHRvIHJlY29yZCBjaGFubmVsIGtleSBhbmQgaW50IHZhbHVlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaGFubmVsIGluc3RydW1lbnRzIHNlcnZpY2UgY2hhbm5lbCBlLmc6IFNFUlZJQ0UuREVWSUNFX0lORk8uXG4gICAqIEBwYXJhbSB7RFRYQ2FsbGJhY2t9IGV2ZW50XG4gICAqL1xuICBhc3luYyByZWdpc3RlckNoYW5uZWxDYWxsYmFjayAoY2hhbm5lbCwgZXZlbnQpIHtcbiAgICBjb25zdCBjaGFubmVsSWQgPSBhd2FpdCB0aGlzLm1ha2VDaGFubmVsKGNoYW5uZWwpO1xuICAgIHRoaXMuX2NoYW5uZWxDYWxsYmFja3MuYWRkTGlzdGVuZXIoY2hhbm5lbElkLCBldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlIGEgc2VydmljZSBjaGFubmVsLCBkYXRhIHRyYW5zbWlzc2lvbiBvZiB0aGUgc2VydmljZSB3aWxsIHVzZSB0aGlzIGNoYW5uZWxDb2RlXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBjaGFubmVsICBpbnN0cnVtZW50cyBzZXJ2aWNlIGNoYW5uZWwgZS5nOiBTRVJWSUNFLkRFVklDRV9JTkZPXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPG51bWJlcnwqPn0gaW5zdHJ1bWVudHMgc2VydmljZSBjaGFubmVsIGNvZGUgZm9yIGRhdGEgdHJhbnNtaXNzaW9uXG4gICAqL1xuICBhc3luYyBtYWtlQ2hhbm5lbCAoY2hhbm5lbCkge1xuICAgIGlmIChjaGFubmVsIGluIHRoaXMuX2NoYW5uZWxzKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY2hhbm5lbHNbY2hhbm5lbF07XG4gICAgfVxuICAgIGNvbnN0IGNoYW5uZWxDb2RlID0gT2JqZWN0LmtleXModGhpcy5fY2hhbm5lbHMpLmxlbmd0aCArIDE7XG4gICAgYXdhaXQgdGhpcy5fY2FsbENoYW5uZWwodHJ1ZSwgMCwgJ19yZXF1ZXN0Q2hhbm5lbFdpdGhDb2RlOmlkZW50aWZpZXI6JywgY2hhbm5lbENvZGUsIGNoYW5uZWwpO1xuICAgIHRoaXMuX2NoYW5uZWxzW2NoYW5uZWxdID0gY2hhbm5lbENvZGU7XG4gICAgcmV0dXJuIGNoYW5uZWxDb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluIGdlbmVyYWwsIHdlIGNhbGwgdGhpcyBtZXRob2QgdG8gc3RhcnQgdGhlIGluc3RydW1lbnQgZHR4IHNlcnZpY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNoYW5uZWwgaW5zdHJ1bWVudCBkdHggc2VydmljZSBlLmc6IFNFUlZJQ0UuREVWSUNFX0lORk9cbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yIGluc3RydW1lbnQgc2VydmljZSBtZXRob2QgbmFtZSAocmVmbGVjdGlvbiBjYWxscylcbiAgICogQHBhcmFtIHsuLi5hbnl9IGF1eGlsaWFyaWVzIHBhcmFtZXRlcnMgcmVxdWlyZWQgYnkgc2VsZWN0b3JcbiAgICogQHJldHVybnMge1Byb21pc2U8RFRYTWVzc2FnZT59XG4gICAqIGV4YW1wbGXvvJpcbiAgICogaW5zdHJ1bWVudFNlcnZpY2UuY2FsbENoYW5uZWwoU0VSVklDRS5QUk9DRVNTX0NPTlRST0wsXG4gICAgICAgICdsYXVuY2hTdXNwZW5kZWRQcm9jZXNzV2l0aERldmljZVBhdGg6YnVuZGxlSWRlbnRpZmllcjplbnZpcm9ubWVudDphcmd1bWVudHM6b3B0aW9uczonLCAnJyxcbiAgICAgICAgYnVuZGxlSUQsIHt9LCBbXSwgeydTdGFydFN1c3BlbmRlZEtleSc6IDAsICdLaWxsRXhpc3RpbmcnOiAxfVxuICAgKi9cbiAgYXN5bmMgY2FsbENoYW5uZWwgKGNoYW5uZWwsIHNlbGVjdG9yLCAuLi5hdXhpbGlhcmllcykge1xuICAgIGNvbnN0IGNoYW5uZWxDb2RlID0gYXdhaXQgdGhpcy5tYWtlQ2hhbm5lbChjaGFubmVsKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fY2FsbENoYW5uZWwodHJ1ZSwgY2hhbm5lbENvZGUsIHNlbGVjdG9yLCAuLi5hdXhpbGlhcmllcyk7XG4gIH1cblxuICBhc3luYyBfY2FsbENoYW5uZWwgKHN5bmMsIGNoYW5uZWxDb2RlLCBzZWxlY3RvciwgLi4uYXV4aWxpYXJpZXMpIHtcbiAgICBjb25zdCBpZGVudGlmaWVyID0gdGhpcy5fbmV4dElkZW50aWZpZXI7XG4gICAgdGhpcy5fZW5jb2Rlci53cml0ZSh7c3luYywgY2hhbm5lbENvZGUsIHNlbGVjdG9yLCBhdXhpbGlhcmllcywgaWRlbnRpZmllcn0pO1xuICAgICsrdGhpcy5fbmV4dElkZW50aWZpZXI7XG4gICAgaWYgKHN5bmMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCB3YWl0Rm9yQ29uZGl0aW9uKCgpID0+IHtcbiAgICAgICAgICBjb25zdCBxdWV1ZSA9IHRoaXMuX3JlcGx5UXVldWVzW2lkZW50aWZpZXJdO1xuICAgICAgICAgIGNvbnN0IGRhdGEgPSBxdWV1ZS5zaGlmdCgpO1xuICAgICAgICAgIGlmICghXy5pc1VuZGVmaW5lZChkYXRhKSkge1xuICAgICAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgICAgICAgfVxuICAgICAgICB9LCB7d2FpdE1zOiBXQUlUX1JFUExZX1RJTUVfTVMsIGludGVydmFsTXM6IENIRUNLX0ZSRVFfTVMsIGVycm9yOiAncmVwbHkgY2hhbm5lbCBkYXRhIHRpbWVvdXQnfSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGFuZGxpbmcgcmVnaXN0ZXJlZCBhc3luY2hyb25vdXMgbWVzc2FnZSBjYWxsYmFja3NcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlfSBkYXRhXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBfaGFuZGxlRGF0YSAoZGF0YSkge1xuICAgIGlmIChfLmluY2x1ZGVzKGRhdGEuc2VsZWN0b3IsIENIQU5ORUxfQ0FOQ0VMRUQpKSB7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfVxuICAgIGlmIChkYXRhLmNvbnZlcnNhdGlvbkluZGV4ID09PSAxKSB7XG4gICAgICB0aGlzLl9yZXBseVF1ZXVlc1tkYXRhLmlkZW50aWZpZXJdLnB1c2goZGF0YSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9jaGFubmVsQ2FsbGJhY2tzLmxpc3RlbmVyQ291bnQoQ0hBTk5FTF9PRkZTRVQgLSBkYXRhLmNoYW5uZWxDb2RlKSA+IDApIHtcbiAgICAgIHRoaXMuX2NoYW5uZWxDYWxsYmFja3MuZW1pdChDSEFOTkVMX09GRlNFVCAtIGRhdGEuY2hhbm5lbENvZGUsIGRhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBzZWxlY3RvciA9IGRhdGEuc2VsZWN0b3I7XG4gICAgICBpZiAoXy5pc1N0cmluZyhzZWxlY3RvcikgJiYgdGhpcy5fY2FsbGJhY2tzLmxpc3RlbmVyQ291bnQoc2VsZWN0b3IpID4gMCkge1xuICAgICAgICB0aGlzLl9jYWxsYmFja3MuZW1pdChzZWxlY3RvciwgZGF0YSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrKSB7XG4gICAgICAgIHRoaXMuX3VuZGVmaW5lZENhbGxiYWNrKGRhdGEpO1xuICAgICAgfVxuICAgICAgaWYgKGRhdGEuZXhwZWN0c1JlcGx5KSB7XG4gICAgICAgIHRoaXMuX3JlcGx5QWNrKGRhdGEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiByZXR1cm4gYSBlbXB0eSBhY2sgbWVzc2FnZVxuICAgKiBAcGFyYW0ge0RUWE1lc3NhZ2V9IGRhdGFcbiAgICovXG4gIF9yZXBseUFjayAoZGF0YSkge1xuICAgIGNvbnN0IHJlcGx5ID0gbmV3IERUWE1lc3NhZ2Uoe1xuICAgICAgaWRlbnRpZmllcjogZGF0YS5pZGVudGlmaWVyLFxuICAgICAgY2hhbm5lbENvZGU6IGRhdGEuY2hhbm5lbENvZGUsXG4gICAgICBzZWxlY3RvcjogQnVmZmVyLmFsbG9jKEVNUFRZX01FU1NBR0VfU0laRSksXG4gICAgICBjb252ZXJzYXRpb25JbmRleDogZGF0YS5jb252ZXJzYXRpb25JbmRleCArIDEsXG4gICAgICBmbGFnczogRkxBR19UWVBFUy5yZXBseVxuICAgIH0pO1xuICAgIHRoaXMuX3NvY2tldENsaWVudC53cml0ZShyZXBseS5idWlsZCgpKTtcbiAgfVxufVxuXG5leHBvcnQgeyBJbnN0cnVtZW50U2VydmljZSwgSU5TVFJVTUVOVF9TRVJWSUNFX05BTUVfVkVSU0lPTl8xNCwgSU5TVFJVTUVOVF9TRVJWSUNFX05BTUUgfTtcbiJdLCJmaWxlIjoibGliL2luc3RydW1lbnQvaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
187
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9pbnN0cnVtZW50L2luZGV4LmpzIl0sIm5hbWVzIjpbIkNIRUNLX0ZSRVFfTVMiLCJXQUlUX1JFUExZX1RJTUVfTVMiLCJFTVBUWV9NRVNTQUdFX1NJWkUiLCJDSEFOTkVMX0NBTkNFTEVEIiwiQ0hBTk5FTF9PRkZTRVQiLCJJTlNUUlVNRU5UX1NFUlZJQ0VfTkFNRV9WRVJTSU9OXzE0IiwiSU5TVFJVTUVOVF9TRVJWSUNFX05BTUUiLCJJTlNUUlVNRU5UX0NIQU5ORUwiLCJPYmplY3QiLCJmcmVlemUiLCJERVZJQ0VfSU5GTyIsIlBST0NFU1NfQ09OVFJPTCIsIlNZU01PTlRBUCIsIk5FVFdPUktJTkciLCJNT0JJTEVfTk9USUZJQ0FUSU9OUyIsIkdSQVBISUNTX09QRU5HTCIsIkFQUExJQ0FUSU9OX0xJU1RJTkciLCJDT05ESVRJT05fSU5EVUNFUiIsImRlZmF1bHREaWN0IiwiY3JlYXRlVmFsdWUiLCJQcm94eSIsImNyZWF0ZSIsImdldCIsInN0b3JhZ2UiLCJwcm9wZXJ0eSIsIkluc3RydW1lbnRTZXJ2aWNlIiwiQmFzZVNlcnZpY2VTb2NrZXQiLCJjb25zdHJ1Y3RvciIsInNvY2tldENsaWVudCIsImV2ZW50IiwiX3VuZGVmaW5lZENhbGxiYWNrIiwiX2NhbGxiYWNrcyIsImV2ZW50cyIsIkV2ZW50RW1pdHRlciIsIl9jaGFubmVsQ2FsbGJhY2tzIiwiX3JlcGx5UXVldWVzIiwiX2NoYW5uZWxzIiwiX25leHRJZGVudGlmaWVyIiwiX2VuY29kZXIiLCJEVFhFbmNvZGVyIiwicGlwZSIsIl9zb2NrZXRDbGllbnQiLCJfYXNzaWduQ2xpZW50RmFpbHVyZUhhbmRsZXJzIiwiX2RlY29kZXIiLCJEVFhEZWNvZGVyIiwib24iLCJfaGFuZGxlRGF0YSIsImJpbmQiLCJyZWdpc3RlclNlbGVjdG9yQ2FsbGJhY2siLCJzZWxlY3RvciIsImFkZExpc3RlbmVyIiwicmVnaXN0ZXJVbmRlZmluZWRDYWxsYmFjayIsInJlZ2lzdGVyQ2hhbm5lbENhbGxiYWNrIiwiY2hhbm5lbCIsImNoYW5uZWxJZCIsIm1ha2VDaGFubmVsIiwiY2hhbm5lbENvZGUiLCJrZXlzIiwibGVuZ3RoIiwiX2NhbGxDaGFubmVsIiwiY2FsbENoYW5uZWwiLCJhdXhpbGlhcmllcyIsInN5bmMiLCJpZGVudGlmaWVyIiwid3JpdGUiLCJxdWV1ZSIsImRhdGEiLCJzaGlmdCIsIl8iLCJpc1VuZGVmaW5lZCIsIndhaXRNcyIsImludGVydmFsTXMiLCJlcnJvciIsImVyciIsImNsb3NlIiwiRXJyb3IiLCJpbmNsdWRlcyIsImNvbnZlcnNhdGlvbkluZGV4IiwicHVzaCIsImxpc3RlbmVyQ291bnQiLCJlbWl0IiwiaXNTdHJpbmciLCJleHBlY3RzUmVwbHkiLCJfcmVwbHlBY2siLCJyZXBseSIsIkRUWE1lc3NhZ2UiLCJCdWZmZXIiLCJhbGxvYyIsImZsYWdzIiwiRkxBR19UWVBFUyIsImJ1aWxkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLGFBQWEsR0FBRyxHQUF0QjtBQUNBLE1BQU1DLGtCQUFrQixHQUFHLEtBQTNCO0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsRUFBM0I7QUFDQSxNQUFNQyxnQkFBZ0IsR0FBRyxrQkFBekI7QUFDQSxNQUFNQyxjQUFjLEdBQUcsS0FBSyxFQUE1QjtBQUVBLE1BQU1DLGtDQUFrQyxHQUFHLHlEQUEzQzs7QUFDQSxNQUFNQyx1QkFBdUIsR0FBRyxvQ0FBaEM7O0FBRU8sTUFBTUMsa0JBQWtCLEdBQUdDLE1BQU0sQ0FBQ0MsTUFBUCxDQUFjO0FBQzlDQyxFQUFBQSxXQUFXLEVBQUUsa0RBRGlDO0FBRTlDQyxFQUFBQSxlQUFlLEVBQUUsc0RBRjZCO0FBRzlDQyxFQUFBQSxTQUFTLEVBQUUsaURBSG1DO0FBSTlDQyxFQUFBQSxVQUFVLEVBQUUsa0RBSmtDO0FBSzlDQyxFQUFBQSxvQkFBb0IsRUFBRSwyREFMd0I7QUFNOUNDLEVBQUFBLGVBQWUsRUFBRSx1REFONkI7QUFPOUNDLEVBQUFBLG1CQUFtQixFQUFFLGdFQVB5QjtBQVE5Q0MsRUFBQUEsaUJBQWlCLEVBQUU7QUFSMkIsQ0FBZCxDQUEzQjs7O0FBV1AsU0FBU0MsV0FBVCxDQUFzQkMsV0FBdEIsRUFBbUM7QUFDakMsU0FBTyxJQUFJQyxLQUFKLENBQVVaLE1BQU0sQ0FBQ2EsTUFBUCxDQUFjLElBQWQsQ0FBVixFQUErQjtBQUNwQ0MsSUFBQUEsR0FBRyxDQUFFQyxPQUFGLEVBQVdDLFFBQVgsRUFBcUI7QUFDdEIsVUFBSSxFQUFFQSxRQUFRLElBQUlELE9BQWQsQ0FBSixFQUE0QjtBQUMxQkEsUUFBQUEsT0FBTyxDQUFDQyxRQUFELENBQVAsR0FBb0JMLFdBQVcsQ0FBQ0ssUUFBRCxDQUEvQjtBQUNEOztBQUNELGFBQU9ELE9BQU8sQ0FBQ0MsUUFBRCxDQUFkO0FBQ0Q7O0FBTm1DLEdBQS9CLENBQVA7QUFRRDs7QUFZRCxNQUFNQyxpQkFBTixTQUFnQ0MsOEJBQWhDLENBQWtEO0FBQ2hEQyxFQUFBQSxXQUFXLENBQUVDLFlBQUYsRUFBZ0JDLEtBQWhCLEVBQXVCO0FBQ2hDLFVBQU1ELFlBQU47QUFDQSxTQUFLRSxrQkFBTCxHQUEwQkQsS0FBMUI7QUFDQSxTQUFLRSxVQUFMLEdBQWtCLElBQUlDLGdCQUFPQyxZQUFYLEVBQWxCO0FBQ0EsU0FBS0MsaUJBQUwsR0FBeUIsSUFBSUYsZ0JBQU9DLFlBQVgsRUFBekI7QUFDQSxTQUFLRSxZQUFMLEdBQW9CakIsV0FBVyxDQUFDLE1BQU0sRUFBUCxDQUEvQjtBQUNBLFNBQUtrQixTQUFMLEdBQWlCLEVBQWpCO0FBQ0EsU0FBS0MsZUFBTCxHQUF1QixDQUF2QjtBQUNBLFNBQUtDLFFBQUwsR0FBZ0IsSUFBSUMscUJBQUosRUFBaEI7O0FBQ0EsU0FBS0QsUUFBTCxDQUFjRSxJQUFkLENBQW1CLEtBQUtDLGFBQXhCOztBQUNBLFNBQUtDLDRCQUFMLENBQWtDLEtBQUtKLFFBQXZDOztBQUNBLFNBQUtLLFFBQUwsR0FBZ0IsSUFBSUMscUJBQUosRUFBaEI7O0FBQ0EsU0FBS0gsYUFBTCxDQUFtQkQsSUFBbkIsQ0FBd0IsS0FBS0csUUFBN0I7O0FBQ0EsU0FBS0EsUUFBTCxDQUFjRSxFQUFkLENBQWlCLE1BQWpCLEVBQXlCLEtBQUtDLFdBQUwsQ0FBaUJDLElBQWpCLENBQXNCLElBQXRCLENBQXpCO0FBQ0Q7O0FBT0RDLEVBQUFBLHdCQUF3QixDQUFFQyxRQUFGLEVBQVlwQixLQUFaLEVBQW1CO0FBQ3pDLFNBQUtFLFVBQUwsQ0FBZ0JtQixXQUFoQixDQUE0QkQsUUFBNUIsRUFBc0NwQixLQUF0QztBQUNEOztBQU1Ec0IsRUFBQUEseUJBQXlCLENBQUV0QixLQUFGLEVBQVM7QUFDaEMsU0FBS0Msa0JBQUwsR0FBMEJELEtBQTFCO0FBQ0Q7O0FBUTRCLFFBQXZCdUIsdUJBQXVCLENBQUVDLE9BQUYsRUFBV3hCLEtBQVgsRUFBa0I7QUFDN0MsVUFBTXlCLFNBQVMsR0FBRyxNQUFNLEtBQUtDLFdBQUwsQ0FBaUJGLE9BQWpCLENBQXhCOztBQUNBLFNBQUtuQixpQkFBTCxDQUF1QmdCLFdBQXZCLENBQW1DSSxTQUFuQyxFQUE4Q3pCLEtBQTlDO0FBQ0Q7O0FBT2dCLFFBQVgwQixXQUFXLENBQUVGLE9BQUYsRUFBVztBQUMxQixRQUFJQSxPQUFPLElBQUksS0FBS2pCLFNBQXBCLEVBQStCO0FBQzdCLGFBQU8sS0FBS0EsU0FBTCxDQUFlaUIsT0FBZixDQUFQO0FBQ0Q7O0FBQ0QsVUFBTUcsV0FBVyxHQUFHaEQsTUFBTSxDQUFDaUQsSUFBUCxDQUFZLEtBQUtyQixTQUFqQixFQUE0QnNCLE1BQTVCLEdBQXFDLENBQXpEO0FBQ0EsVUFBTSxLQUFLQyxZQUFMLENBQWtCLElBQWxCLEVBQXdCLENBQXhCLEVBQTJCLHFDQUEzQixFQUFrRUgsV0FBbEUsRUFBK0VILE9BQS9FLENBQU47QUFDQSxTQUFLakIsU0FBTCxDQUFlaUIsT0FBZixJQUEwQkcsV0FBMUI7QUFDQSxXQUFPQSxXQUFQO0FBQ0Q7O0FBYWdCLFFBQVhJLFdBQVcsQ0FBRVAsT0FBRixFQUFXSixRQUFYLEVBQXFCLEdBQUdZLFdBQXhCLEVBQXFDO0FBQ3BELFVBQU1MLFdBQVcsR0FBRyxNQUFNLEtBQUtELFdBQUwsQ0FBaUJGLE9BQWpCLENBQTFCO0FBQ0EsV0FBTyxNQUFNLEtBQUtNLFlBQUwsQ0FBa0IsSUFBbEIsRUFBd0JILFdBQXhCLEVBQXFDUCxRQUFyQyxFQUErQyxHQUFHWSxXQUFsRCxDQUFiO0FBQ0Q7O0FBRWlCLFFBQVpGLFlBQVksQ0FBRUcsSUFBRixFQUFRTixXQUFSLEVBQXFCUCxRQUFyQixFQUErQixHQUFHWSxXQUFsQyxFQUErQztBQUMvRCxVQUFNRSxVQUFVLEdBQUcsS0FBSzFCLGVBQXhCOztBQUNBLFNBQUtDLFFBQUwsQ0FBYzBCLEtBQWQsQ0FBb0I7QUFBQ0YsTUFBQUEsSUFBRDtBQUFPTixNQUFBQSxXQUFQO0FBQW9CUCxNQUFBQSxRQUFwQjtBQUE4QlksTUFBQUEsV0FBOUI7QUFBMkNFLE1BQUFBO0FBQTNDLEtBQXBCOztBQUNBLE1BQUUsS0FBSzFCLGVBQVA7O0FBQ0EsUUFBSXlCLElBQUosRUFBVTtBQUNSLFVBQUk7QUFDRixlQUFPLE1BQU0sZ0NBQWlCLE1BQU07QUFDbEMsZ0JBQU1HLEtBQUssR0FBRyxLQUFLOUIsWUFBTCxDQUFrQjRCLFVBQWxCLENBQWQ7QUFDQSxnQkFBTUcsSUFBSSxHQUFHRCxLQUFLLENBQUNFLEtBQU4sRUFBYjs7QUFDQSxjQUFJLENBQUNDLGdCQUFFQyxXQUFGLENBQWNILElBQWQsQ0FBTCxFQUEwQjtBQUN4QixtQkFBT0EsSUFBUDtBQUNEO0FBQ0YsU0FOWSxFQU1WO0FBQUNJLFVBQUFBLE1BQU0sRUFBRXJFLGtCQUFUO0FBQTZCc0UsVUFBQUEsVUFBVSxFQUFFdkUsYUFBekM7QUFBd0R3RSxVQUFBQSxLQUFLLEVBQUU7QUFBL0QsU0FOVSxDQUFiO0FBT0QsT0FSRCxDQVFFLE9BQU9DLEdBQVAsRUFBWTtBQUNaLGFBQUtDLEtBQUw7QUFDQSxjQUFNLElBQUlDLEtBQUosQ0FBVUYsR0FBVixDQUFOO0FBQ0Q7QUFDRjtBQUNGOztBQU9EM0IsRUFBQUEsV0FBVyxDQUFFb0IsSUFBRixFQUFRO0FBQ2pCLFFBQUlFLGdCQUFFUSxRQUFGLENBQVdWLElBQUksQ0FBQ2pCLFFBQWhCLEVBQTBCOUMsZ0JBQTFCLENBQUosRUFBaUQ7QUFDL0MsV0FBS3VFLEtBQUw7QUFDRDs7QUFDRCxRQUFJUixJQUFJLENBQUNXLGlCQUFMLEtBQTJCLENBQS9CLEVBQWtDO0FBQ2hDLFdBQUsxQyxZQUFMLENBQWtCK0IsSUFBSSxDQUFDSCxVQUF2QixFQUFtQ2UsSUFBbkMsQ0FBd0NaLElBQXhDO0FBQ0QsS0FGRCxNQUVPLElBQUksS0FBS2hDLGlCQUFMLENBQXVCNkMsYUFBdkIsQ0FBcUMzRSxjQUFjLEdBQUc4RCxJQUFJLENBQUNWLFdBQTNELElBQTBFLENBQTlFLEVBQWlGO0FBQ3RGLFdBQUt0QixpQkFBTCxDQUF1QjhDLElBQXZCLENBQTRCNUUsY0FBYyxHQUFHOEQsSUFBSSxDQUFDVixXQUFsRCxFQUErRFUsSUFBL0Q7QUFDRCxLQUZNLE1BRUE7QUFDTCxZQUFNakIsUUFBUSxHQUFHaUIsSUFBSSxDQUFDakIsUUFBdEI7O0FBQ0EsVUFBSW1CLGdCQUFFYSxRQUFGLENBQVdoQyxRQUFYLEtBQXdCLEtBQUtsQixVQUFMLENBQWdCZ0QsYUFBaEIsQ0FBOEI5QixRQUE5QixJQUEwQyxDQUF0RSxFQUF5RTtBQUN2RSxhQUFLbEIsVUFBTCxDQUFnQmlELElBQWhCLENBQXFCL0IsUUFBckIsRUFBK0JpQixJQUEvQjtBQUNELE9BRkQsTUFFTyxJQUFJLEtBQUtwQyxrQkFBVCxFQUE2QjtBQUNsQyxhQUFLQSxrQkFBTCxDQUF3Qm9DLElBQXhCO0FBQ0Q7O0FBQ0QsVUFBSUEsSUFBSSxDQUFDZ0IsWUFBVCxFQUF1QjtBQUNyQixhQUFLQyxTQUFMLENBQWVqQixJQUFmO0FBQ0Q7QUFDRjtBQUNGOztBQU1EaUIsRUFBQUEsU0FBUyxDQUFFakIsSUFBRixFQUFRO0FBQ2YsVUFBTWtCLEtBQUssR0FBRyxJQUFJQyxtQkFBSixDQUFlO0FBQzNCdEIsTUFBQUEsVUFBVSxFQUFFRyxJQUFJLENBQUNILFVBRFU7QUFFM0JQLE1BQUFBLFdBQVcsRUFBRVUsSUFBSSxDQUFDVixXQUZTO0FBRzNCUCxNQUFBQSxRQUFRLEVBQUVxQyxNQUFNLENBQUNDLEtBQVAsQ0FBYXJGLGtCQUFiLENBSGlCO0FBSTNCMkUsTUFBQUEsaUJBQWlCLEVBQUVYLElBQUksQ0FBQ1csaUJBQUwsR0FBeUIsQ0FKakI7QUFLM0JXLE1BQUFBLEtBQUssRUFBRUMsb0JBQVdMO0FBTFMsS0FBZixDQUFkOztBQU9BLFNBQUszQyxhQUFMLENBQW1CdUIsS0FBbkIsQ0FBeUJvQixLQUFLLENBQUNNLEtBQU4sRUFBekI7QUFDRDs7QUF2SStDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQWRhcHRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9ZdWVDaGVuLUMvcHktaW9zLWRldmljZVxuXG5pbXBvcnQge0Jhc2VTZXJ2aWNlU29ja2V0fSBmcm9tICcuLi9iYXNlLXNlcnZpY2UnO1xuaW1wb3J0IHtEVFhNZXNzYWdlLCBGTEFHX1RZUEVTfSBmcm9tICcuL2hlYWRlcnMnO1xuaW1wb3J0IHtEVFhFbmNvZGVyfSBmcm9tICcuL3RyYW5zZm9ybWVyL2R0eC1lbmNvZGUnO1xuaW1wb3J0IHtEVFhEZWNvZGVyfSBmcm9tICcuL3RyYW5zZm9ybWVyL2R0eC1kZWNvZGUnO1xuaW1wb3J0IGV2ZW50cyBmcm9tICdldmVudHMnO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7d2FpdEZvckNvbmRpdGlvbn0gZnJvbSAnYXN5bmNib3gnO1xuXG5jb25zdCBDSEVDS19GUkVRX01TID0gNTAwO1xuY29uc3QgV0FJVF9SRVBMWV9USU1FX01TID0gMTAwMDA7XG5jb25zdCBFTVBUWV9NRVNTQUdFX1NJWkUgPSAxNjtcbmNvbnN0IENIQU5ORUxfQ0FOQ0VMRUQgPSAnX2NoYW5uZWxDYW5jZWxlZCc7XG5jb25zdCBDSEFOTkVMX09GRlNFVCA9IDIgKiogMzI7XG5cbmNvbnN0IElOU1RSVU1FTlRfU0VSVklDRV9OQU1FX1ZFUlNJT05fMTQgPSAnY29tLmFwcGxlLmluc3RydW1lbnRzLnJlbW90ZXNlcnZlci5EVlRTZWN1cmVTb2NrZXRQcm94eSc7XG5jb25zdCBJTlNUUlVNRU5UX1NFUlZJQ0VfTkFNRSA9ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMucmVtb3Rlc2VydmVyJztcblxuZXhwb3J0IGNvbnN0IElOU1RSVU1FTlRfQ0hBTk5FTCA9IE9iamVjdC5mcmVlemUoe1xuICBERVZJQ0VfSU5GTzogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMuZGV2aWNlaW5mbycsXG4gIFBST0NFU1NfQ09OVFJPTDogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMucHJvY2Vzc2NvbnRyb2wnLFxuICBTWVNNT05UQVA6ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMuc2VydmVyLnNlcnZpY2VzLnN5c21vbnRhcCcsXG4gIE5FVFdPUktJTkc6ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMuc2VydmVyLnNlcnZpY2VzLm5ldHdvcmtpbmcnLFxuICBNT0JJTEVfTk9USUZJQ0FUSU9OUzogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMubW9iaWxlbm90aWZpY2F0aW9ucycsXG4gIEdSQVBISUNTX09QRU5HTDogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMuZ3JhcGhpY3Mub3BlbmdsJyxcbiAgQVBQTElDQVRJT05fTElTVElORzogJ2NvbS5hcHBsZS5pbnN0cnVtZW50cy5zZXJ2ZXIuc2VydmljZXMuZGV2aWNlLmFwcGxpY3Rpb25MaXN0aW5nJyxcbiAgQ09ORElUSU9OX0lORFVDRVI6ICdjb20uYXBwbGUuaW5zdHJ1bWVudHMuc2VydmVyLnNlcnZpY2VzLkNvbmRpdGlvbkluZHVjZXInXG59KTtcblxuZnVuY3Rpb24gZGVmYXVsdERpY3QgKGNyZWF0ZVZhbHVlKSB7XG4gIHJldHVybiBuZXcgUHJveHkoT2JqZWN0LmNyZWF0ZShudWxsKSwge1xuICAgIGdldCAoc3RvcmFnZSwgcHJvcGVydHkpIHtcbiAgICAgIGlmICghKHByb3BlcnR5IGluIHN0b3JhZ2UpKSB7XG4gICAgICAgIHN0b3JhZ2VbcHJvcGVydHldID0gY3JlYXRlVmFsdWUocHJvcGVydHkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0b3JhZ2VbcHJvcGVydHldO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKiBUaGUgY2FsbGJhY2sgZnVuY3Rpb24gd2hpY2ggd2lsbCBiZSBjYWxsZWQgZHVyaW5nIHRoZSBkYXRhIHRyYW5zbWlzc2lvbiBpbiBpbnN0cnVtZW50IHNlcnZlXG4gKiBAbmFtZSBEVFhDYWxsYmFja1xuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge0RUWE1lc3NhZ2V9IG9iamVjdFxuKi9cblxuLyoqXG4gKiBAcGFyYW0ge1NvY2tldH0gc29ja2V0Q2xpZW50ICBEVFhNZXNzYWdlLnNlbGVjdG9yXG4gKiBAcGFyYW0gez9EVFhDYWxsYmFja30gZXZlbnQgaWYgZW1wdHkgd2lsbCBpZ25vcmUgYW55IG1lc3NhZ2VzXG4gKi9cbmNsYXNzIEluc3RydW1lbnRTZXJ2aWNlIGV4dGVuZHMgQmFzZVNlcnZpY2VTb2NrZXQge1xuICBjb25zdHJ1Y3RvciAoc29ja2V0Q2xpZW50LCBldmVudCkge1xuICAgIHN1cGVyKHNvY2tldENsaWVudCk7XG4gICAgdGhpcy5fdW5kZWZpbmVkQ2FsbGJhY2sgPSBldmVudDtcbiAgICB0aGlzLl9jYWxsYmFja3MgPSBuZXcgZXZlbnRzLkV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMuX2NoYW5uZWxDYWxsYmFja3MgPSBuZXcgZXZlbnRzLkV2ZW50RW1pdHRlcigpO1xuICAgIHRoaXMuX3JlcGx5UXVldWVzID0gZGVmYXVsdERpY3QoKCkgPT4gW10pO1xuICAgIHRoaXMuX2NoYW5uZWxzID0ge307XG4gICAgdGhpcy5fbmV4dElkZW50aWZpZXIgPSAxO1xuICAgIHRoaXMuX2VuY29kZXIgPSBuZXcgRFRYRW5jb2RlcigpO1xuICAgIHRoaXMuX2VuY29kZXIucGlwZSh0aGlzLl9zb2NrZXRDbGllbnQpO1xuICAgIHRoaXMuX2Fzc2lnbkNsaWVudEZhaWx1cmVIYW5kbGVycyh0aGlzLl9lbmNvZGVyKTtcbiAgICB0aGlzLl9kZWNvZGVyID0gbmV3IERUWERlY29kZXIoKTtcbiAgICB0aGlzLl9zb2NrZXRDbGllbnQucGlwZSh0aGlzLl9kZWNvZGVyKTtcbiAgICB0aGlzLl9kZWNvZGVyLm9uKCdkYXRhJywgdGhpcy5faGFuZGxlRGF0YS5iaW5kKHRoaXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgc2VsZWN0b3IgaXMgcmVnaXN0ZXJlZCwgVGhlIG1lc3NhZ2Ugb2YgdGhlIHNlbGVjdG9yIGV2ZW50IHdpbGwgYmUgcmV0dXJuZWQuIHJlZmVyIHRvIHRoaXMuX2hhbmRsZURhdGFcbiAgICogQHBhcmFtIHtzdHJpbmd9IHNlbGVjdG9yICBMaXN0ZW4gZm9yIHJldHVybiBEVFhNZXNzYWdlLnNlbGVjdG9yIGRhdGFcbiAgICogQHBhcmFtIHtEVFhDYWxsYmFja30gZXZlbnRcbiAgICovXG4gIHJlZ2lzdGVyU2VsZWN0b3JDYWxsYmFjayAoc2VsZWN0b3IsIGV2ZW50KSB7XG4gICAgdGhpcy5fY2FsbGJhY2tzLmFkZExpc3RlbmVyKHNlbGVjdG9yLCBldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIGV2ZW50IGlzIHJlZ2lzdGVyZWQsIGFsbCB1bnJlZ2lzdGVyZWQgbWVzc2FnZXMgd2lsbCBiZSByZXR1cm5lZCB0byBldmVudC4gcmVmZXIgdG8gdGhpcy5faGFuZGxlRGF0YVxuICAgKiBAcGFyYW0ge0RUWENhbGxiYWNrfSBldmVudFxuICAgKi9cbiAgcmVnaXN0ZXJVbmRlZmluZWRDYWxsYmFjayAoZXZlbnQpIHtcbiAgICB0aGlzLl91bmRlZmluZWRDYWxsYmFjayA9IGV2ZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZSBldmVudCBpcyByZWdpc3RlcmVkLCB0aGlzIGNoYW5uZWwge0NIQU5ORUx9IG1lc3NhZ2VzIHdpbGwgYmUgcmV0dXJuZWQgdG8gZXZlbnQuIHJlZmVyIHRvIHRoaXMuX2hhbmRsZURhdGFcbiAgICogSXQncyBhY3R1YWxseSBsaXN0ZW5pbmcgZm9yIGludCBjaGFubmVsQ29kZS4gSW4gdGhpcy5fY2hhbm5lbCBvYmplY3QgdG8gcmVjb3JkIGNoYW5uZWwga2V5IGFuZCBpbnQgdmFsdWVcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNoYW5uZWwgaW5zdHJ1bWVudHMgc2VydmljZSBjaGFubmVsIGUuZzogSU5TVFJVTUVOVF9DSEFOTkVMLkRFVklDRV9JTkZPLlxuICAgKiBAcGFyYW0ge0RUWENhbGxiYWNrfSBldmVudFxuICAgKi9cbiAgYXN5bmMgcmVnaXN0ZXJDaGFubmVsQ2FsbGJhY2sgKGNoYW5uZWwsIGV2ZW50KSB7XG4gICAgY29uc3QgY2hhbm5lbElkID0gYXdhaXQgdGhpcy5tYWtlQ2hhbm5lbChjaGFubmVsKTtcbiAgICB0aGlzLl9jaGFubmVsQ2FsbGJhY2tzLmFkZExpc3RlbmVyKGNoYW5uZWxJZCwgZXZlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIHNlcnZpY2UgY2hhbm5lbCwgZGF0YSB0cmFuc21pc3Npb24gb2YgdGhlIHNlcnZpY2Ugd2lsbCB1c2UgdGhpcyBjaGFubmVsQ29kZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gY2hhbm5lbCAgaW5zdHJ1bWVudHMgc2VydmljZSBjaGFubmVsIGUuZzogSU5TVFJVTUVOVF9DSEFOTkVMLkRFVklDRV9JTkZPXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPG51bWJlcnwqPn0gaW5zdHJ1bWVudHMgc2VydmljZSBjaGFubmVsIGNvZGUgZm9yIGRhdGEgdHJhbnNtaXNzaW9uXG4gICAqL1xuICBhc3luYyBtYWtlQ2hhbm5lbCAoY2hhbm5lbCkge1xuICAgIGlmIChjaGFubmVsIGluIHRoaXMuX2NoYW5uZWxzKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY2hhbm5lbHNbY2hhbm5lbF07XG4gICAgfVxuICAgIGNvbnN0IGNoYW5uZWxDb2RlID0gT2JqZWN0LmtleXModGhpcy5fY2hhbm5lbHMpLmxlbmd0aCArIDE7XG4gICAgYXdhaXQgdGhpcy5fY2FsbENoYW5uZWwodHJ1ZSwgMCwgJ19yZXF1ZXN0Q2hhbm5lbFdpdGhDb2RlOmlkZW50aWZpZXI6JywgY2hhbm5lbENvZGUsIGNoYW5uZWwpO1xuICAgIHRoaXMuX2NoYW5uZWxzW2NoYW5uZWxdID0gY2hhbm5lbENvZGU7XG4gICAgcmV0dXJuIGNoYW5uZWxDb2RlO1xuICB9XG5cbiAgLyoqXG4gICAqIEluIGdlbmVyYWwsIHdlIGNhbGwgdGhpcyBtZXRob2QgdG8gc3RhcnQgdGhlIGluc3RydW1lbnQgZHR4IHNlcnZpY2VcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNoYW5uZWwgaW5zdHJ1bWVudCBkdHggc2VydmljZSBlLmc6IElOU1RSVU1FTlRfQ0hBTk5FTC5ERVZJQ0VfSU5GT1xuICAgKiBAcGFyYW0ge3N0cmluZ30gc2VsZWN0b3IgaW5zdHJ1bWVudCBzZXJ2aWNlIG1ldGhvZCBuYW1lIChyZWZsZWN0aW9uIGNhbGxzKVxuICAgKiBAcGFyYW0gey4uLmFueX0gYXV4aWxpYXJpZXMgcGFyYW1ldGVycyByZXF1aXJlZCBieSBzZWxlY3RvclxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTxEVFhNZXNzYWdlPn1cbiAgICogZXhhbXBsZe+8mlxuICAgKiBpbnN0cnVtZW50U2VydmljZS5jYWxsQ2hhbm5lbChJTlNUUlVNRU5UX0NIQU5ORUwuUFJPQ0VTU19DT05UUk9MLFxuICAgICAgICAnbGF1bmNoU3VzcGVuZGVkUHJvY2Vzc1dpdGhEZXZpY2VQYXRoOmJ1bmRsZUlkZW50aWZpZXI6ZW52aXJvbm1lbnQ6YXJndW1lbnRzOm9wdGlvbnM6JywgJycsXG4gICAgICAgIGJ1bmRsZUlELCB7fSwgW10sIHsnU3RhcnRTdXNwZW5kZWRLZXknOiAwLCAnS2lsbEV4aXN0aW5nJzogMX1cbiAgICovXG4gIGFzeW5jIGNhbGxDaGFubmVsIChjaGFubmVsLCBzZWxlY3RvciwgLi4uYXV4aWxpYXJpZXMpIHtcbiAgICBjb25zdCBjaGFubmVsQ29kZSA9IGF3YWl0IHRoaXMubWFrZUNoYW5uZWwoY2hhbm5lbCk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX2NhbGxDaGFubmVsKHRydWUsIGNoYW5uZWxDb2RlLCBzZWxlY3RvciwgLi4uYXV4aWxpYXJpZXMpO1xuICB9XG5cbiAgYXN5bmMgX2NhbGxDaGFubmVsIChzeW5jLCBjaGFubmVsQ29kZSwgc2VsZWN0b3IsIC4uLmF1eGlsaWFyaWVzKSB7XG4gICAgY29uc3QgaWRlbnRpZmllciA9IHRoaXMuX25leHRJZGVudGlmaWVyO1xuICAgIHRoaXMuX2VuY29kZXIud3JpdGUoe3N5bmMsIGNoYW5uZWxDb2RlLCBzZWxlY3RvciwgYXV4aWxpYXJpZXMsIGlkZW50aWZpZXJ9KTtcbiAgICArK3RoaXMuX25leHRJZGVudGlmaWVyO1xuICAgIGlmIChzeW5jKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXdhaXQgd2FpdEZvckNvbmRpdGlvbigoKSA9PiB7XG4gICAgICAgICAgY29uc3QgcXVldWUgPSB0aGlzLl9yZXBseVF1ZXVlc1tpZGVudGlmaWVyXTtcbiAgICAgICAgICBjb25zdCBkYXRhID0gcXVldWUuc2hpZnQoKTtcbiAgICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQoZGF0YSkpIHtcbiAgICAgICAgICAgIHJldHVybiBkYXRhO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwge3dhaXRNczogV0FJVF9SRVBMWV9USU1FX01TLCBpbnRlcnZhbE1zOiBDSEVDS19GUkVRX01TLCBlcnJvcjogJ3JlcGx5IGNoYW5uZWwgZGF0YSB0aW1lb3V0J30pO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsaW5nIHJlZ2lzdGVyZWQgYXN5bmNocm9ub3VzIG1lc3NhZ2UgY2FsbGJhY2tzXG4gICAqIEBwYXJhbSB7RFRYTWVzc2FnZX0gZGF0YVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgX2hhbmRsZURhdGEgKGRhdGEpIHtcbiAgICBpZiAoXy5pbmNsdWRlcyhkYXRhLnNlbGVjdG9yLCBDSEFOTkVMX0NBTkNFTEVEKSkge1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH1cbiAgICBpZiAoZGF0YS5jb252ZXJzYXRpb25JbmRleCA9PT0gMSkge1xuICAgICAgdGhpcy5fcmVwbHlRdWV1ZXNbZGF0YS5pZGVudGlmaWVyXS5wdXNoKGRhdGEpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5fY2hhbm5lbENhbGxiYWNrcy5saXN0ZW5lckNvdW50KENIQU5ORUxfT0ZGU0VUIC0gZGF0YS5jaGFubmVsQ29kZSkgPiAwKSB7XG4gICAgICB0aGlzLl9jaGFubmVsQ2FsbGJhY2tzLmVtaXQoQ0hBTk5FTF9PRkZTRVQgLSBkYXRhLmNoYW5uZWxDb2RlLCBkYXRhKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3Qgc2VsZWN0b3IgPSBkYXRhLnNlbGVjdG9yO1xuICAgICAgaWYgKF8uaXNTdHJpbmcoc2VsZWN0b3IpICYmIHRoaXMuX2NhbGxiYWNrcy5saXN0ZW5lckNvdW50KHNlbGVjdG9yKSA+IDApIHtcbiAgICAgICAgdGhpcy5fY2FsbGJhY2tzLmVtaXQoc2VsZWN0b3IsIGRhdGEpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl91bmRlZmluZWRDYWxsYmFjaykge1xuICAgICAgICB0aGlzLl91bmRlZmluZWRDYWxsYmFjayhkYXRhKTtcbiAgICAgIH1cbiAgICAgIGlmIChkYXRhLmV4cGVjdHNSZXBseSkge1xuICAgICAgICB0aGlzLl9yZXBseUFjayhkYXRhKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogcmV0dXJuIGEgZW1wdHkgYWNrIG1lc3NhZ2VcbiAgICogQHBhcmFtIHtEVFhNZXNzYWdlfSBkYXRhXG4gICAqL1xuICBfcmVwbHlBY2sgKGRhdGEpIHtcbiAgICBjb25zdCByZXBseSA9IG5ldyBEVFhNZXNzYWdlKHtcbiAgICAgIGlkZW50aWZpZXI6IGRhdGEuaWRlbnRpZmllcixcbiAgICAgIGNoYW5uZWxDb2RlOiBkYXRhLmNoYW5uZWxDb2RlLFxuICAgICAgc2VsZWN0b3I6IEJ1ZmZlci5hbGxvYyhFTVBUWV9NRVNTQUdFX1NJWkUpLFxuICAgICAgY29udmVyc2F0aW9uSW5kZXg6IGRhdGEuY29udmVyc2F0aW9uSW5kZXggKyAxLFxuICAgICAgZmxhZ3M6IEZMQUdfVFlQRVMucmVwbHlcbiAgICB9KTtcbiAgICB0aGlzLl9zb2NrZXRDbGllbnQud3JpdGUocmVwbHkuYnVpbGQoKSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgSW5zdHJ1bWVudFNlcnZpY2UsIElOU1RSVU1FTlRfU0VSVklDRV9OQU1FX1ZFUlNJT05fMTQsIElOU1RSVU1FTlRfU0VSVklDRV9OQU1FIH07XG4iXSwiZmlsZSI6ImxpYi9pbnN0cnVtZW50L2luZGV4LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = exports.MC_INSTALL_SERVICE_NAME = exports.MCInstallProxyService = void 0;
|
|
7
|
+
|
|
8
|
+
require("source-map-support/register");
|
|
9
|
+
|
|
10
|
+
var _baseService = require("../base-service");
|
|
11
|
+
|
|
12
|
+
var _support = require("@appium/support");
|
|
13
|
+
|
|
14
|
+
const MC_INSTALL_SERVICE_NAME = 'com.apple.mobile.MCInstall';
|
|
15
|
+
exports.MC_INSTALL_SERVICE_NAME = MC_INSTALL_SERVICE_NAME;
|
|
16
|
+
const ACKNOWLEDGED = 'Acknowledged';
|
|
17
|
+
|
|
18
|
+
function checkACK(res, name) {
|
|
19
|
+
if (res.Status !== ACKNOWLEDGED) {
|
|
20
|
+
throw new Error(`${name} error: ${JSON.stringify(res)}`);
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return res;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
class MCInstallProxyService extends _baseService.BaseServicePlist {
|
|
27
|
+
constructor(socketClient) {
|
|
28
|
+
super(socketClient);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async getProfileList() {
|
|
32
|
+
const res = await this._plistService.sendPlistAndReceive({
|
|
33
|
+
RequestType: 'GetProfileList'
|
|
34
|
+
});
|
|
35
|
+
return checkACK(res, 'getProfileList');
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
async installProfile(path) {
|
|
39
|
+
const payload = await _support.fs.readFile(path);
|
|
40
|
+
const res = await this._plistService.sendPlistAndReceive({
|
|
41
|
+
'RequestType': 'InstallProfile',
|
|
42
|
+
'Payload': payload
|
|
43
|
+
});
|
|
44
|
+
return checkACK(res, 'installProfile');
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
async removeProfile(ident) {
|
|
48
|
+
const profiles = await this.getProfileList();
|
|
49
|
+
const meta = profiles.ProfileMetadata[ident];
|
|
50
|
+
|
|
51
|
+
if (!meta) {
|
|
52
|
+
throw new Error(`not find installed profile ident:${ident}`);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
const data = _support.plist.createBinaryPlist({
|
|
56
|
+
'PayloadType': 'Configuration',
|
|
57
|
+
'PayloadIdentifier': ident,
|
|
58
|
+
'PayloadUUID': meta.PayloadUUID,
|
|
59
|
+
'PayloadVersion': meta.PayloadVersion
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
const res = await this._plistService.sendPlistAndReceive({
|
|
63
|
+
'RequestType': 'RemoveProfile',
|
|
64
|
+
'ProfileIdentifier': data
|
|
65
|
+
});
|
|
66
|
+
return checkACK(res, 'removeProfile');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
exports.MCInstallProxyService = MCInstallProxyService;
|
|
72
|
+
var _default = MCInstallProxyService;
|
|
73
|
+
exports.default = _default;require('source-map-support').install();
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9tY2luc3RhbGwvaW5kZXguanMiXSwibmFtZXMiOlsiTUNfSU5TVEFMTF9TRVJWSUNFX05BTUUiLCJBQ0tOT1dMRURHRUQiLCJjaGVja0FDSyIsInJlcyIsIm5hbWUiLCJTdGF0dXMiLCJFcnJvciIsIkpTT04iLCJzdHJpbmdpZnkiLCJNQ0luc3RhbGxQcm94eVNlcnZpY2UiLCJCYXNlU2VydmljZVBsaXN0IiwiY29uc3RydWN0b3IiLCJzb2NrZXRDbGllbnQiLCJnZXRQcm9maWxlTGlzdCIsIl9wbGlzdFNlcnZpY2UiLCJzZW5kUGxpc3RBbmRSZWNlaXZlIiwiUmVxdWVzdFR5cGUiLCJpbnN0YWxsUHJvZmlsZSIsInBhdGgiLCJwYXlsb2FkIiwiZnMiLCJyZWFkRmlsZSIsInJlbW92ZVByb2ZpbGUiLCJpZGVudCIsInByb2ZpbGVzIiwibWV0YSIsIlByb2ZpbGVNZXRhZGF0YSIsImRhdGEiLCJwbGlzdCIsImNyZWF0ZUJpbmFyeVBsaXN0IiwiUGF5bG9hZFVVSUQiLCJQYXlsb2FkVmVyc2lvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBR0EsTUFBTUEsdUJBQXVCLEdBQUcsNEJBQWhDOztBQUNBLE1BQU1DLFlBQVksR0FBRyxjQUFyQjs7QUFFQSxTQUFTQyxRQUFULENBQW1CQyxHQUFuQixFQUF3QkMsSUFBeEIsRUFBOEI7QUFDNUIsTUFBSUQsR0FBRyxDQUFDRSxNQUFKLEtBQWVKLFlBQW5CLEVBQWlDO0FBQy9CLFVBQU0sSUFBSUssS0FBSixDQUFXLEdBQUVGLElBQUssV0FBVUcsSUFBSSxDQUFDQyxTQUFMLENBQWVMLEdBQWYsQ0FBb0IsRUFBaEQsQ0FBTjtBQUNEOztBQUNELFNBQU9BLEdBQVA7QUFDRDs7QUFFRCxNQUFNTSxxQkFBTixTQUFvQ0MsNkJBQXBDLENBQXFEO0FBQ25EQyxFQUFBQSxXQUFXLENBQUVDLFlBQUYsRUFBZ0I7QUFDekIsVUFBTUEsWUFBTjtBQUNEOztBQWlDbUIsUUFBZEMsY0FBYyxHQUFJO0FBQ3RCLFVBQU1WLEdBQUcsR0FBRyxNQUFNLEtBQUtXLGFBQUwsQ0FBbUJDLG1CQUFuQixDQUF1QztBQUFDQyxNQUFBQSxXQUFXLEVBQUU7QUFBZCxLQUF2QyxDQUFsQjtBQUNBLFdBQU9kLFFBQVEsQ0FBQ0MsR0FBRCxFQUFNLGdCQUFOLENBQWY7QUFDRDs7QUFRbUIsUUFBZGMsY0FBYyxDQUFFQyxJQUFGLEVBQVE7QUFDMUIsVUFBTUMsT0FBTyxHQUFHLE1BQU1DLFlBQUdDLFFBQUgsQ0FBWUgsSUFBWixDQUF0QjtBQUNBLFVBQU1mLEdBQUcsR0FBRyxNQUFNLEtBQUtXLGFBQUwsQ0FBbUJDLG1CQUFuQixDQUF1QztBQUFDLHFCQUFlLGdCQUFoQjtBQUFrQyxpQkFBV0k7QUFBN0MsS0FBdkMsQ0FBbEI7QUFDQSxXQUFPakIsUUFBUSxDQUFDQyxHQUFELEVBQU0sZ0JBQU4sQ0FBZjtBQUNEOztBQU9rQixRQUFibUIsYUFBYSxDQUFFQyxLQUFGLEVBQVM7QUFDMUIsVUFBTUMsUUFBUSxHQUFHLE1BQU0sS0FBS1gsY0FBTCxFQUF2QjtBQUNBLFVBQU1ZLElBQUksR0FBR0QsUUFBUSxDQUFDRSxlQUFULENBQXlCSCxLQUF6QixDQUFiOztBQUNBLFFBQUksQ0FBQ0UsSUFBTCxFQUFXO0FBQ1QsWUFBTSxJQUFJbkIsS0FBSixDQUFXLG9DQUFtQ2lCLEtBQU0sRUFBcEQsQ0FBTjtBQUNEOztBQUNELFVBQU1JLElBQUksR0FBR0MsZUFBTUMsaUJBQU4sQ0FBd0I7QUFBQyxxQkFBZSxlQUFoQjtBQUNDLDJCQUFxQk4sS0FEdEI7QUFFQyxxQkFBZUUsSUFBSSxDQUFDSyxXQUZyQjtBQUdDLHdCQUFrQkwsSUFBSSxDQUFDTTtBQUh4QixLQUF4QixDQUFiOztBQUlBLFVBQU01QixHQUFHLEdBQUcsTUFBTSxLQUFLVyxhQUFMLENBQW1CQyxtQkFBbkIsQ0FBdUM7QUFBQyxxQkFBZSxlQUFoQjtBQUFpQywyQkFBcUJZO0FBQXRELEtBQXZDLENBQWxCO0FBQ0EsV0FBT3pCLFFBQVEsQ0FBQ0MsR0FBRCxFQUFNLGVBQU4sQ0FBZjtBQUNEOztBQXRFa0Q7OztlQTBFdENNLHFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtCYXNlU2VydmljZVBsaXN0fSBmcm9tICcuLi9iYXNlLXNlcnZpY2UnO1xuaW1wb3J0IHtmcywgcGxpc3R9IGZyb20gJ0BhcHBpdW0vc3VwcG9ydCc7XG5cblxuY29uc3QgTUNfSU5TVEFMTF9TRVJWSUNFX05BTUUgPSAnY29tLmFwcGxlLm1vYmlsZS5NQ0luc3RhbGwnO1xuY29uc3QgQUNLTk9XTEVER0VEID0gJ0Fja25vd2xlZGdlZCc7XG5cbmZ1bmN0aW9uIGNoZWNrQUNLIChyZXMsIG5hbWUpIHtcbiAgaWYgKHJlcy5TdGF0dXMgIT09IEFDS05PV0xFREdFRCkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBlcnJvcjogJHtKU09OLnN0cmluZ2lmeShyZXMpfWApO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5cbmNsYXNzIE1DSW5zdGFsbFByb3h5U2VydmljZSBleHRlbmRzIEJhc2VTZXJ2aWNlUGxpc3Qge1xuICBjb25zdHJ1Y3RvciAoc29ja2V0Q2xpZW50KSB7XG4gICAgc3VwZXIoc29ja2V0Q2xpZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBAdHlwZWRlZiB7T2JqZWN0fSBQcm9maWxlTGlzdFxuICAgKiBAcHJvcGVydHkge0FycmF5fSBPcmRlcmVkSWRlbnRpZmllcnMgbGlzdCBvZiBhbGwgcHJvZmlsZSBpZGVudFxuICAgKiBAcHJvcGVydHkge09iamVjdH0gUHJvZmlsZU1hbmlmZXN0XG4gICAqIEBwcm9wZXJ0eSB7T2JqZWN0fSBQcm9maWxlTWV0YWRhdGFcbiAgICogQHByb3BlcnR5IHtTdHJpbmd9IFN0YXR1c1xuICAgKi9cblxuICAvKipcbiAgICogR2V0IGFsbCBwcm9maWxlcyBvZiBpT1MgZGV2aWNlc1xuICAgKiBAcmV0dXJucyB7UHJvZmlsZUxpc3R9XG4gICAqIGUuZy5cbiAgICoge1xuICAgKiAgIE9yZGVyZWRJZGVudGlmaWVyczogWyAnMmZhYzFjMmIzZDY4NDg0MzE4OWIyOTgxYzcxOGIwMTMyODU0YTg0N2EnIF0sXG4gICAqICAgUHJvZmlsZU1hbmlmZXN0OiB7XG4gICAqICAgICAnMmZhYzFjMmIzZDY4NDg0MzE4OWIyOTgxYzcxOGIwMTMyODU0YTg0N2EnOiB7XG4gICAqICAgICAgIERlc2NyaXB0aW9uOiAnQ2hhcmxlcyBQcm94eSBDQSAoNyBEZWMgMjAyMCwgTWFjQm9vay1Qcm8ubG9jYWwpJyxcbiAgICogICAgICAgSXNBY3RpdmU6IHRydWVcbiAgICogICAgIH1cbiAgICogICB9LFxuICAgKiAgIFByb2ZpbGVNZXRhZGF0YToge1xuICAgKiAgICAgJzJmYWMxYzJiM2Q2ODQ4NDMxODliMjk4MWM3MThiMDEzMjg1NGE4NDdhJzoge1xuICAgKiAgICAgICBQYXlsb2FkRGlzcGxheU5hbWU6ICdDaGFybGVzIFByb3h5IENBICg3IERlYyAyMDIwLCBNYWNCb29rLVByby5sb2NhbCknLFxuICAgKiAgICAgICBQYXlsb2FkUmVtb3ZhbERpc2FsbG93ZWQ6IGZhbHNlLFxuICAgKiAgICAgICBQYXlsb2FkVVVJRDogJ0IzMDAwNUNDLUJDNzMtNEU0Mi04NTQ1LThEQTZDNDRBOEE3MScsXG4gICAqICAgICAgIFBheWxvYWRWZXJzaW9uOiAxXG4gICAqICAgICB9XG4gICAqICAgfSxcbiAgICogICBTdGF0dXM6ICdBY2tub3dsZWRnZWQnXG4gICAqIH1cbiAgICovXG4gIGFzeW5jIGdldFByb2ZpbGVMaXN0ICgpIHtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLl9wbGlzdFNlcnZpY2Uuc2VuZFBsaXN0QW5kUmVjZWl2ZSh7UmVxdWVzdFR5cGU6ICdHZXRQcm9maWxlTGlzdCd9KTtcbiAgICByZXR1cm4gY2hlY2tBQ0socmVzLCAnZ2V0UHJvZmlsZUxpc3QnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnN0YWxsIHByb2ZpbGUgdG8gaU9TIGRldmljZVxuICAgKiBAcGFyYW0ge1N0cmluZ30gcGF0aCAgbXVzdCBiZSBhIGNlcnRpZmljYXRlIGZpbGUgLlBFTSAuQ0VSIGFuZCBtb3JlIGZvcm1hdHNcbiAgICogZS5nOiAvRG93bmxvYWRzL2NoYXJsZXMtY2VydGlmaWNhdGUucGVtXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IGUuZy4ge1N0YXR1czogJ0Fja25vd2xlZGdlZCd9XG4gICAqL1xuICBhc3luYyBpbnN0YWxsUHJvZmlsZSAocGF0aCkge1xuICAgIGNvbnN0IHBheWxvYWQgPSBhd2FpdCBmcy5yZWFkRmlsZShwYXRoKTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLl9wbGlzdFNlcnZpY2Uuc2VuZFBsaXN0QW5kUmVjZWl2ZSh7J1JlcXVlc3RUeXBlJzogJ0luc3RhbGxQcm9maWxlJywgJ1BheWxvYWQnOiBwYXlsb2FkfSk7XG4gICAgcmV0dXJuIGNoZWNrQUNLKHJlcywgJ2luc3RhbGxQcm9maWxlJyk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIHByb2ZpbGUgZnJvbSBpT1MgZGV2aWNlXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBpZGVudCAgUXVlcnkgaWRlbnRpZmllciBsaXN0IHRocm91Z2ggZ2V0UHJvZmlsZUxpc3QgbWV0aG9kXG4gICAqIEByZXR1cm5zIHtPYmplY3R9IGUuZy4ge1N0YXR1czogJ0Fja25vd2xlZGdlZCd9XG4gICAqL1xuICBhc3luYyByZW1vdmVQcm9maWxlIChpZGVudCkge1xuICAgIGNvbnN0IHByb2ZpbGVzID0gYXdhaXQgdGhpcy5nZXRQcm9maWxlTGlzdCgpO1xuICAgIGNvbnN0IG1ldGEgPSBwcm9maWxlcy5Qcm9maWxlTWV0YWRhdGFbaWRlbnRdO1xuICAgIGlmICghbWV0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBub3QgZmluZCBpbnN0YWxsZWQgcHJvZmlsZSBpZGVudDoke2lkZW50fWApO1xuICAgIH1cbiAgICBjb25zdCBkYXRhID0gcGxpc3QuY3JlYXRlQmluYXJ5UGxpc3QoeydQYXlsb2FkVHlwZSc6ICdDb25maWd1cmF0aW9uJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXlsb2FkSWRlbnRpZmllcic6IGlkZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1BheWxvYWRVVUlEJzogbWV0YS5QYXlsb2FkVVVJRCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdQYXlsb2FkVmVyc2lvbic6IG1ldGEuUGF5bG9hZFZlcnNpb259KTtcbiAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLl9wbGlzdFNlcnZpY2Uuc2VuZFBsaXN0QW5kUmVjZWl2ZSh7J1JlcXVlc3RUeXBlJzogJ1JlbW92ZVByb2ZpbGUnLCAnUHJvZmlsZUlkZW50aWZpZXInOiBkYXRhfSk7XG4gICAgcmV0dXJuIGNoZWNrQUNLKHJlcywgJ3JlbW92ZVByb2ZpbGUnKTtcbiAgfVxufVxuXG5leHBvcnQgeyBNQ0luc3RhbGxQcm94eVNlcnZpY2UsIE1DX0lOU1RBTExfU0VSVklDRV9OQU1FIH07XG5leHBvcnQgZGVmYXVsdCBNQ0luc3RhbGxQcm94eVNlcnZpY2U7XG4iXSwiZmlsZSI6ImxpYi9tY2luc3RhbGwvaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
package/build/lib/services.js
CHANGED
|
@@ -10,6 +10,7 @@ exports.startCrashLogService = startCrashLogService;
|
|
|
10
10
|
exports.startHouseArrestService = startHouseArrestService;
|
|
11
11
|
exports.startInstallationProxyService = startInstallationProxyService;
|
|
12
12
|
exports.startInstrumentService = startInstrumentService;
|
|
13
|
+
exports.startMCInstallService = startMCInstallService;
|
|
13
14
|
exports.startNotificationProxyService = startNotificationProxyService;
|
|
14
15
|
exports.startSimulateLocationService = startSimulateLocationService;
|
|
15
16
|
exports.startSyslogService = startSyslogService;
|
|
@@ -35,6 +36,8 @@ var _houseArrest = require("./house-arrest");
|
|
|
35
36
|
|
|
36
37
|
var _instrument = require("./instrument");
|
|
37
38
|
|
|
39
|
+
var _mcinstall = require("./mcinstall");
|
|
40
|
+
|
|
38
41
|
var _plistService = _interopRequireDefault(require("./plist-service"));
|
|
39
42
|
|
|
40
43
|
var _semver = _interopRequireDefault(require("semver"));
|
|
@@ -120,6 +123,11 @@ async function startInstrumentService(udid, opts = {}) {
|
|
|
120
123
|
return new _instrument.InstrumentService(parseInt(osVersion.split('.')[0], 10) < INSTRUMENT_HANDSHAKE_VERSION ? await startService(udid, _instrument.INSTRUMENT_SERVICE_NAME, opts.socket, true) : await startService(udid, _instrument.INSTRUMENT_SERVICE_NAME_VERSION_14, opts.socket));
|
|
121
124
|
}
|
|
122
125
|
|
|
126
|
+
async function startMCInstallService(udid, opts = {}) {
|
|
127
|
+
const socket = await startService(udid, _mcinstall.MC_INSTALL_SERVICE_NAME, opts.socket);
|
|
128
|
+
return new _mcinstall.MCInstallProxyService(new _plistService.default(socket));
|
|
129
|
+
}
|
|
130
|
+
|
|
123
131
|
async function startService(udid, serviceName, socket, handshakeOnly = false) {
|
|
124
132
|
const lockdown = await (0, _utilities.startLockdownSession)(udid, socket);
|
|
125
133
|
|
|
@@ -137,4 +145,4 @@ async function startService(udid, serviceName, socket, handshakeOnly = false) {
|
|
|
137
145
|
}require('source-map-support').install();
|
|
138
146
|
|
|
139
147
|
|
|
140
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy5qcyJdLCJuYW1lcyI6WyJDUkFTSF9MT0dfU0VSVklDRV9OQU1FIiwiSU5TVFJVTUVOVF9IQU5EU0hBS0VfVkVSU0lPTiIsInN0YXJ0U3lzbG9nU2VydmljZSIsInVkaWQiLCJvcHRzIiwic29ja2V0Iiwic3RhcnRTZXJ2aWNlIiwiU1lTTE9HX1NFUlZJQ0VfTkFNRSIsIlN5c2xvZ1NlcnZpY2UiLCJzdGFydFNpbXVsYXRlTG9jYXRpb25TZXJ2aWNlIiwiU0lNVUxBVEVfTE9DQVRJT05fU0VSVklDRV9OQU1FIiwiU2ltdWxhdGVMb2NhdGlvblNlcnZpY2UiLCJzdGFydFdlYkluc3BlY3RvclNlcnZpY2UiLCJvc1ZlcnNpb24iLCJpc1NpbXVsYXRvciIsInZlcmJvc2UiLCJ2ZXJib3NlSGV4RHVtcCIsInNvY2tldENodW5rU2l6ZSIsIm1heEZyYW1lTGVuZ3RoIiwic2VtdmVyVmVyc2lvbiIsInNlbXZlciIsImNvZXJjZSIsIkVycm9yIiwiV2ViSW5zcGVjdG9yU2VydmljZSIsIm1ham9yT3NWZXJzaW9uIiwibWFqb3IiLCJzb2NrZXRDbGllbnQiLCJXRUJfSU5TUEVDVE9SX1NFUlZJQ0VfTkFNRSIsInVuZGVmaW5lZCIsInN0YXJ0SW5zdGFsbGF0aW9uUHJveHlTZXJ2aWNlIiwiSU5TVEFMTEFUSU9OX1BST1hZX1NFUlZJQ0VfTkFNRSIsIkluc3RhbGxhdGlvblByb3h5U2VydmljZSIsIlBsaXN0U2VydmljZSIsInN0YXJ0QWZjU2VydmljZSIsIkFGQ19TRVJWSUNFX05BTUUiLCJBZmNTZXJ2aWNlIiwic3RhcnRDcmFzaExvZ1NlcnZpY2UiLCJzdGFydE5vdGlmaWNhdGlvblByb3h5U2VydmljZSIsIk5PVElGSUNBVElPTl9QUk9YWV9TRVJWSUNFX05BTUUiLCJOb3RpZmljYXRpb25Qcm94eVNlcnZpY2UiLCJzdGFydEhvdXNlQXJyZXN0U2VydmljZSIsIkhPVVNFX0FSUkVTVF9TRVJWSUNFX05BTUUiLCJIb3VzZUFycmVzdFNlcnZpY2UiLCJzdGFydEluc3RydW1lbnRTZXJ2aWNlIiwiSW5zdHJ1bWVudFNlcnZpY2UiLCJwYXJzZUludCIsInNwbGl0IiwiSU5TVFJVTUVOVF9TRVJWSUNFX05BTUUiLCJJTlNUUlVNRU5UX1NFUlZJQ0VfTkFNRV9WRVJTSU9OXzE0Iiwic2VydmljZU5hbWUiLCJoYW5kc2hha2VPbmx5IiwibG9ja2Rvd24iLCJzZXJ2aWNlIiwiRW5hYmxlU2VydmljZVNTTCIsIlBvcnQiLCJjbG9zZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLHNCQUFzQixHQUFHLGlDQUEvQjtBQUNBLE1BQU1DLDRCQUE0QixHQUFHLEVBQXJDOztBQUVBLGVBQWVDLGtCQUFmLENBQW1DQyxJQUFuQyxFQUF5Q0MsSUFBSSxHQUFHLEVBQWhELEVBQW9EO0FBQ2xELFFBQU1DLE1BQU0sR0FBRyxNQUFNQyxZQUFZLENBQUNILElBQUQsRUFBT0ksMkJBQVAsRUFBNEJILElBQUksQ0FBQ0MsTUFBakMsQ0FBakM7QUFDQSxTQUFPLElBQUlHLHFCQUFKLENBQWtCSCxNQUFsQixDQUFQO0FBQ0Q7O0FBRUQsZUFBZUksNEJBQWYsQ0FBNkNOLElBQTdDLEVBQW1EQyxJQUFJLEdBQUcsRUFBMUQsRUFBOEQ7QUFDNUQsUUFBTUMsTUFBTSxHQUFHLE1BQU1DLFlBQVksQ0FBQ0gsSUFBRCxFQUFPTyxnREFBUCxFQUF1Q04sSUFBSSxDQUFDQyxNQUE1QyxDQUFqQztBQUNBLFNBQU8sSUFBSU0seUNBQUosQ0FBNEJOLE1BQTVCLENBQVA7QUFDRDs7QUFFRCxlQUFlTyx3QkFBZixDQUF5Q1QsSUFBekMsRUFBK0NDLElBQUksR0FBRyxFQUF0RCxFQUEwRDtBQUN4RCxRQUFNUyxTQUFTLEdBQUdULElBQUksQ0FBQ1MsU0FBTCxLQUFrQixNQUFNLDZCQUFhVixJQUFiLEVBQW1CQyxJQUFJLENBQUNDLE1BQXhC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YjtBQUNELEtBRkQsTUFFTztBQUNMLGFBQU8sTUFBTSw0QkFBWS9DLElBQVosRUFBa0JpRCxPQUFPLENBQUNFLElBQTFCLEVBQWdDakQsTUFBaEMsQ0FBYjtBQUNEO0FBQ0YsR0FQRCxTQU9VO0FBQ1I4QyxJQUFBQSxRQUFRLENBQUNJLEtBQVQ7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29ubmVjdFBvcnQsIGNvbm5lY3RQb3J0U1NMLCBzdGFydExvY2tkb3duU2Vzc2lvbiwgZ2V0T1NWZXJzaW9uIH0gZnJvbSAnLi91dGlsaXRpZXMnO1xuaW1wb3J0IHsgU3lzbG9nU2VydmljZSwgU1lTTE9HX1NFUlZJQ0VfTkFNRSB9IGZyb20gJy4vc3lzbG9nJztcbmltcG9ydCB7IFNpbXVsYXRlTG9jYXRpb25TZXJ2aWNlLCBTSU1VTEFURV9MT0NBVElPTl9TRVJWSUNFX05BTUUgfSBmcm9tICcuL3NpbXVsYXRlbG9jYXRpb24nO1xuaW1wb3J0IHsgV2ViSW5zcGVjdG9yU2VydmljZSwgV0VCX0lOU1BFQ1RPUl9TRVJWSUNFX05BTUUgfSBmcm9tICcuL3dlYmluc3BlY3Rvcic7XG5pbXBvcnQgeyBJbnN0YWxsYXRpb25Qcm94eVNlcnZpY2UsIElOU1RBTExBVElPTl9QUk9YWV9TRVJWSUNFX05BTUUgfSBmcm9tICcuL2luc3RhbGxhdGlvbi1wcm94eSc7XG5pbXBvcnQgeyBBZmNTZXJ2aWNlLCBBRkNfU0VSVklDRV9OQU1FIH0gZnJvbSAnLi9hZmMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUHJveHlTZXJ2aWNlLCBOT1RJRklDQVRJT05fUFJPWFlfU0VSVklDRV9OQU1FIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tcHJveHknO1xuaW1wb3J0IHsgSG91c2VBcnJlc3RTZXJ2aWNlLCBIT1VTRV9BUlJFU1RfU0VSVklDRV9OQU1FIH0gZnJvbSAnLi9ob3VzZS1hcnJlc3QnO1xuaW1wb3J0IHsgSW5zdHJ1bWVudFNlcnZpY2UsIElOU1RSVU1FTlRfU0VSVklDRV9OQU1FX1ZFUlNJT05fMTQsIElOU1RSVU1FTlRfU0VSVklDRV9OQU1FfSBmcm9tICcuL2luc3RydW1lbnQnO1xuaW1wb3J0IFBsaXN0U2VydmljZSBmcm9tICcuL3BsaXN0LXNlcnZpY2UnO1xuaW1wb3J0IHNlbXZlciBmcm9tICdzZW12ZXInO1xuXG5jb25zdCBDUkFTSF9MT0dfU0VSVklDRV9OQU1FID0gJ2NvbS5hcHBsZS5jcmFzaHJlcG9ydGNvcHltb2JpbGUnO1xuY29uc3QgSU5TVFJVTUVOVF9IQU5EU0hBS0VfVkVSU0lPTiA9IDE0O1xuXG5hc3luYyBmdW5jdGlvbiBzdGFydFN5c2xvZ1NlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgU1lTTE9HX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IFN5c2xvZ1NlcnZpY2Uoc29ja2V0KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRTaW11bGF0ZUxvY2F0aW9uU2VydmljZSAodWRpZCwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHNvY2tldCA9IGF3YWl0IHN0YXJ0U2VydmljZSh1ZGlkLCBTSU1VTEFURV9MT0NBVElPTl9TRVJWSUNFX05BTUUsIG9wdHMuc29ja2V0KTtcbiAgcmV0dXJuIG5ldyBTaW11bGF0ZUxvY2F0aW9uU2VydmljZShzb2NrZXQpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdGFydFdlYkluc3BlY3RvclNlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBvc1ZlcnNpb24gPSBvcHRzLm9zVmVyc2lvbiB8fCBhd2FpdCBnZXRPU1ZlcnNpb24odWRpZCwgb3B0cy5zb2NrZXQpO1xuICBjb25zdCBpc1NpbXVsYXRvciA9ICEhb3B0cy5pc1NpbXVsYXRvcjtcbiAgY29uc3QgdmVyYm9zZSA9ICEhb3B0cy52ZXJib3NlO1xuICBjb25zdCB2ZXJib3NlSGV4RHVtcCA9ICEhb3B0cy52ZXJib3NlSGV4RHVtcDtcbiAgY29uc3Qgc29ja2V0Q2h1bmtTaXplID0gb3B0cy5zb2NrZXRDaHVua1NpemU7XG4gIGNvbnN0IG1heEZyYW1lTGVuZ3RoID0gb3B0cy5tYXhGcmFtZUxlbmd0aDtcbiAgY29uc3Qgc2VtdmVyVmVyc2lvbiA9IHNlbXZlci5jb2VyY2Uob3NWZXJzaW9uKTtcbiAgaWYgKCFzZW12ZXJWZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgY3JlYXRlIGEgc2VtdmVyIHZlcnNpb24gb3V0IG9mICcke29zVmVyc2lvbn0nYCk7XG4gIH1cbiAgaWYgKG9wdHMuc29ja2V0KSB7XG4gICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3JTZXJ2aWNlKHtcbiAgICAgIG1ham9yT3NWZXJzaW9uOiBzZW12ZXJWZXJzaW9uLm1ham9yLFxuICAgICAgaXNTaW11bGF0b3IsXG4gICAgICBzb2NrZXRDaHVua1NpemUsXG4gICAgICB2ZXJib3NlLFxuICAgICAgdmVyYm9zZUhleER1bXAsXG4gICAgICBzb2NrZXRDbGllbnQ6IG9wdHMuc29ja2V0LFxuICAgICAgbWF4RnJhbWVMZW5ndGgsXG4gICAgfSk7XG4gIH1cbiAgY29uc3Qgc29ja2V0ID0gYXdhaXQgc3RhcnRTZXJ2aWNlKHVkaWQsIFdFQl9JTlNQRUNUT1JfU0VSVklDRV9OQU1FLCB1bmRlZmluZWQpO1xuICByZXR1cm4gbmV3IFdlYkluc3BlY3RvclNlcnZpY2Uoe1xuICAgIG1ham9yT3NWZXJzaW9uOiBzZW12ZXJWZXJzaW9uLm1ham9yLFxuICAgIGlzU2ltdWxhdG9yLFxuICAgIHNvY2tldENodW5rU2l6ZSxcbiAgICB2ZXJib3NlLFxuICAgIHZlcmJvc2VIZXhEdW1wLFxuICAgIHNvY2tldENsaWVudDogc29ja2V0LFxuICAgIG1heEZyYW1lTGVuZ3RoLFxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRJbnN0YWxsYXRpb25Qcm94eVNlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgSU5TVEFMTEFUSU9OX1BST1hZX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IEluc3RhbGxhdGlvblByb3h5U2VydmljZShuZXcgUGxpc3RTZXJ2aWNlKHNvY2tldCkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdGFydEFmY1NlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgQUZDX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IEFmY1NlcnZpY2Uoc29ja2V0KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRDcmFzaExvZ1NlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgQ1JBU0hfTE9HX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IEFmY1NlcnZpY2Uoc29ja2V0KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnROb3RpZmljYXRpb25Qcm94eVNlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgTk9USUZJQ0FUSU9OX1BST1hZX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IE5vdGlmaWNhdGlvblByb3h5U2VydmljZShzb2NrZXQpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdGFydEhvdXNlQXJyZXN0U2VydmljZSAodWRpZCwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHNvY2tldCA9IGF3YWl0IHN0YXJ0U2VydmljZSh1ZGlkLCBIT1VTRV9BUlJFU1RfU0VSVklDRV9OQU1FLCBvcHRzLnNvY2tldCk7XG4gIHJldHVybiBuZXcgSG91c2VBcnJlc3RTZXJ2aWNlKHNvY2tldCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHN0YXJ0SW5zdHJ1bWVudFNlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBvc1ZlcnNpb24gPSBvcHRzLm9zVmVyc2lvbiB8fCBhd2FpdCBnZXRPU1ZlcnNpb24odWRpZCwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IEluc3RydW1lbnRTZXJ2aWNlKFxuICBwYXJzZUludChvc1ZlcnNpb24uc3BsaXQoJy4nKVswXSwgMTApIDwgSU5TVFJVTUVOVF9IQU5EU0hBS0VfVkVSU0lPTlxuICAgID8gYXdhaXQgc3RhcnRTZXJ2aWNlKHVkaWQsIElOU1RSVU1FTlRfU0VSVklDRV9OQU1FLCBvcHRzLnNvY2tldCwgdHJ1ZSlcbiAgICA6IGF3YWl0IHN0YXJ0U2VydmljZSh1ZGlkLCBJTlNUUlVNRU5UX1NFUlZJQ0VfTkFNRV9WRVJTSU9OXzE0LCBvcHRzLnNvY2tldClcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRTZXJ2aWNlICh1ZGlkLCBzZXJ2aWNlTmFtZSwgc29ja2V0LCBoYW5kc2hha2VPbmx5ID0gZmFsc2UpIHtcbiAgY29uc3QgbG9ja2Rvd24gPSBhd2FpdCBzdGFydExvY2tkb3duU2Vzc2lvbih1ZGlkLCBzb2NrZXQpO1xuICB0cnkge1xuICAgIGNvbnN0IHNlcnZpY2UgPSBhd2FpdCBsb2NrZG93bi5zdGFydFNlcnZpY2Uoc2VydmljZU5hbWUpO1xuICAgIGlmIChzZXJ2aWNlLkVuYWJsZVNlcnZpY2VTU0wpIHtcbiAgICAgIHJldHVybiBhd2FpdCBjb25uZWN0UG9ydFNTTCh1ZGlkLCBzZXJ2aWNlLlBvcnQsIHNvY2tldCwgaGFuZHNoYWtlT25seSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhd2FpdCBjb25uZWN0UG9ydCh1ZGlkLCBzZXJ2aWNlLlBvcnQsIHNvY2tldCk7XG4gICAgfVxuICB9IGZpbmFsbHkge1xuICAgIGxvY2tkb3duLmNsb3NlKCk7XG4gIH1cbn1cblxuZXhwb3J0IHtcbiAgc3RhcnRTeXNsb2dTZXJ2aWNlLCBzdGFydFdlYkluc3BlY3RvclNlcnZpY2UsXG4gIHN0YXJ0SW5zdGFsbGF0aW9uUHJveHlTZXJ2aWNlLCBzdGFydFNpbXVsYXRlTG9jYXRpb25TZXJ2aWNlLFxuICBzdGFydEFmY1NlcnZpY2UsIHN0YXJ0Q3Jhc2hMb2dTZXJ2aWNlLCBzdGFydE5vdGlmaWNhdGlvblByb3h5U2VydmljZSxcbiAgc3RhcnRIb3VzZUFycmVzdFNlcnZpY2UsIHN0YXJ0SW5zdHJ1bWVudFNlcnZpY2Vcbn07XG4iXSwiZmlsZSI6ImxpYi9zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
|
|
148
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zZXJ2aWNlcy5qcyJdLCJuYW1lcyI6WyJDUkFTSF9MT0dfU0VSVklDRV9OQU1FIiwiSU5TVFJVTUVOVF9IQU5EU0hBS0VfVkVSU0lPTiIsInN0YXJ0U3lzbG9nU2VydmljZSIsInVkaWQiLCJvcHRzIiwic29ja2V0Iiwic3RhcnRTZXJ2aWNlIiwiU1lTTE9HX1NFUlZJQ0VfTkFNRSIsIlN5c2xvZ1NlcnZpY2UiLCJzdGFydFNpbXVsYXRlTG9jYXRpb25TZXJ2aWNlIiwiU0lNVUxBVEVfTE9DQVRJT05fU0VSVklDRV9OQU1FIiwiU2ltdWxhdGVMb2NhdGlvblNlcnZpY2UiLCJzdGFydFdlYkluc3BlY3RvclNlcnZpY2UiLCJvc1ZlcnNpb24iLCJpc1NpbXVsYXRvciIsInZlcmJvc2UiLCJ2ZXJib3NlSGV4RHVtcCIsInNvY2tldENodW5rU2l6ZSIsIm1heEZyYW1lTGVuZ3RoIiwic2VtdmVyVmVyc2lvbiIsInNlbXZlciIsImNvZXJjZSIsIkVycm9yIiwiV2ViSW5zcGVjdG9yU2VydmljZSIsIm1ham9yT3NWZXJzaW9uIiwibWFqb3IiLCJzb2NrZXRDbGllbnQiLCJXRUJfSU5TUEVDVE9SX1NFUlZJQ0VfTkFNRSIsInVuZGVmaW5lZCIsInN0YXJ0SW5zdGFsbGF0aW9uUHJveHlTZXJ2aWNlIiwiSU5TVEFMTEFUSU9OX1BST1hZX1NFUlZJQ0VfTkFNRSIsIkluc3RhbGxhdGlvblByb3h5U2VydmljZSIsIlBsaXN0U2VydmljZSIsInN0YXJ0QWZjU2VydmljZSIsIkFGQ19TRVJWSUNFX05BTUUiLCJBZmNTZXJ2aWNlIiwic3RhcnRDcmFzaExvZ1NlcnZpY2UiLCJzdGFydE5vdGlmaWNhdGlvblByb3h5U2VydmljZSIsIk5PVElGSUNBVElPTl9QUk9YWV9TRVJWSUNFX05BTUUiLCJOb3RpZmljYXRpb25Qcm94eVNlcnZpY2UiLCJzdGFydEhvdXNlQXJyZXN0U2VydmljZSIsIkhPVVNFX0FSUkVTVF9TRVJWSUNFX05BTUUiLCJIb3VzZUFycmVzdFNlcnZpY2UiLCJzdGFydEluc3RydW1lbnRTZXJ2aWNlIiwiSW5zdHJ1bWVudFNlcnZpY2UiLCJwYXJzZUludCIsInNwbGl0IiwiSU5TVFJVTUVOVF9TRVJWSUNFX05BTUUiLCJJTlNUUlVNRU5UX1NFUlZJQ0VfTkFNRV9WRVJTSU9OXzE0Iiwic3RhcnRNQ0luc3RhbGxTZXJ2aWNlIiwiTUNfSU5TVEFMTF9TRVJWSUNFX05BTUUiLCJNQ0luc3RhbGxQcm94eVNlcnZpY2UiLCJzZXJ2aWNlTmFtZSIsImhhbmRzaGFrZU9ubHkiLCJsb2NrZG93biIsInNlcnZpY2UiLCJFbmFibGVTZXJ2aWNlU1NMIiwiUG9ydCIsImNsb3NlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBLE1BQU1BLHNCQUFzQixHQUFHLGlDQUEvQjtBQUNBLE1BQU1DLDRCQUE0QixHQUFHLEVBQXJDOztBQUVBLGVBQWVDLGtCQUFmLENBQW1DQyxJQUFuQyxFQUF5Q0MsSUFBSSxHQUFHLEVBQWhELEVBQW9EO0FBQ2xELFFBQU1DLE1BQU0sR0FBRyxNQUFNQyxZQUFZLENBQUNILElBQUQsRUFBT0ksMkJBQVAsRUFBNEJILElBQUksQ0FBQ0MsTUFBakMsQ0FBakM7QUFDQSxTQUFPLElBQUlHLHFCQUFKLENBQWtCSCxNQUFsQixDQUFQO0FBQ0Q7O0FBRUQsZUFBZUksNEJBQWYsQ0FBNkNOLElBQTdDLEVBQW1EQyxJQUFJLEdBQUcsRUFBMUQsRUFBOEQ7QUFDNUQsUUFBTUMsTUFBTSxHQUFHLE1BQU1DLFlBQVksQ0FBQ0gsSUFBRCxFQUFPTyxnREFBUCxFQUF1Q04sSUFBSSxDQUFDQyxNQUE1QyxDQUFqQztBQUNBLFNBQU8sSUFBSU0seUNBQUosQ0FBNEJOLE1BQTVCLENBQVA7QUFDRDs7QUFFRCxlQUFlTyx3QkFBZixDQUF5Q1QsSUFBekMsRUFBK0NDLElBQUksR0FBRyxFQUF0RCxFQUEwRDtBQUN4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QyxFQUFnRC9DLE1BQWhELEVBQXdEZ0QsYUFBYSxHQUFHLEtBQXhFLEVBQStFO0FBQzdFLFFBQU1DLFFBQVEsR0FBRyxNQUFNLHFDQUFxQm5ELElBQXJCLEVBQTJCRSxNQUEzQixDQUF2Qjs7QUFDQSxNQUFJO0FBQ0YsVUFBTWtELE9BQU8sR0FBRyxNQUFNRCxRQUFRLENBQUNoRCxZQUFULENBQXNCOEMsV0FBdEIsQ0FBdEI7O0FBQ0EsUUFBSUcsT0FBTyxDQUFDQyxnQkFBWixFQUE4QjtBQUM1QixhQUFPLE1BQU0sK0JBQWVyRCxJQUFmLEVBQXFCb0QsT0FBTyxDQUFDRSxJQUE3QixFQUFtQ3BELE1BQW5DLEVBQTJDZ0QsYUFBM0MsQ0FBYjtBQUNELEtBRkQsTUFFTztBQUNMLGFBQU8sTUFBTSw0QkFBWWxELElBQVosRUFBa0JvRCxPQUFPLENBQUNFLElBQTFCLEVBQWdDcEQsTUFBaEMsQ0FBYjtBQUNEO0FBQ0YsR0FQRCxTQU9VO0FBQ1JpRCxJQUFBQSxRQUFRLENBQUNJLEtBQVQ7QUFDRDtBQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29ubmVjdFBvcnQsIGNvbm5lY3RQb3J0U1NMLCBzdGFydExvY2tkb3duU2Vzc2lvbiwgZ2V0T1NWZXJzaW9uIH0gZnJvbSAnLi91dGlsaXRpZXMnO1xuaW1wb3J0IHsgU3lzbG9nU2VydmljZSwgU1lTTE9HX1NFUlZJQ0VfTkFNRSB9IGZyb20gJy4vc3lzbG9nJztcbmltcG9ydCB7IFNpbXVsYXRlTG9jYXRpb25TZXJ2aWNlLCBTSU1VTEFURV9MT0NBVElPTl9TRVJWSUNFX05BTUUgfSBmcm9tICcuL3NpbXVsYXRlbG9jYXRpb24nO1xuaW1wb3J0IHsgV2ViSW5zcGVjdG9yU2VydmljZSwgV0VCX0lOU1BFQ1RPUl9TRVJWSUNFX05BTUUgfSBmcm9tICcuL3dlYmluc3BlY3Rvcic7XG5pbXBvcnQgeyBJbnN0YWxsYXRpb25Qcm94eVNlcnZpY2UsIElOU1RBTExBVElPTl9QUk9YWV9TRVJWSUNFX05BTUUgfSBmcm9tICcuL2luc3RhbGxhdGlvbi1wcm94eSc7XG5pbXBvcnQgeyBBZmNTZXJ2aWNlLCBBRkNfU0VSVklDRV9OQU1FIH0gZnJvbSAnLi9hZmMnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUHJveHlTZXJ2aWNlLCBOT1RJRklDQVRJT05fUFJPWFlfU0VSVklDRV9OQU1FIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tcHJveHknO1xuaW1wb3J0IHsgSG91c2VBcnJlc3RTZXJ2aWNlLCBIT1VTRV9BUlJFU1RfU0VSVklDRV9OQU1FIH0gZnJvbSAnLi9ob3VzZS1hcnJlc3QnO1xuaW1wb3J0IHsgSW5zdHJ1bWVudFNlcnZpY2UsIElOU1RSVU1FTlRfU0VSVklDRV9OQU1FX1ZFUlNJT05fMTQsIElOU1RSVU1FTlRfU0VSVklDRV9OQU1FfSBmcm9tICcuL2luc3RydW1lbnQnO1xuaW1wb3J0IHsgTUNJbnN0YWxsUHJveHlTZXJ2aWNlLCBNQ19JTlNUQUxMX1NFUlZJQ0VfTkFNRX0gZnJvbSAnLi9tY2luc3RhbGwnO1xuaW1wb3J0IFBsaXN0U2VydmljZSBmcm9tICcuL3BsaXN0LXNlcnZpY2UnO1xuaW1wb3J0IHNlbXZlciBmcm9tICdzZW12ZXInO1xuXG5jb25zdCBDUkFTSF9MT0dfU0VSVklDRV9OQU1FID0gJ2NvbS5hcHBsZS5jcmFzaHJlcG9ydGNvcHltb2JpbGUnO1xuY29uc3QgSU5TVFJVTUVOVF9IQU5EU0hBS0VfVkVSU0lPTiA9IDE0O1xuXG5hc3luYyBmdW5jdGlvbiBzdGFydFN5c2xvZ1NlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgU1lTTE9HX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IFN5c2xvZ1NlcnZpY2Uoc29ja2V0KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRTaW11bGF0ZUxvY2F0aW9uU2VydmljZSAodWRpZCwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHNvY2tldCA9IGF3YWl0IHN0YXJ0U2VydmljZSh1ZGlkLCBTSU1VTEFURV9MT0NBVElPTl9TRVJWSUNFX05BTUUsIG9wdHMuc29ja2V0KTtcbiAgcmV0dXJuIG5ldyBTaW11bGF0ZUxvY2F0aW9uU2VydmljZShzb2NrZXQpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdGFydFdlYkluc3BlY3RvclNlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBvc1ZlcnNpb24gPSBvcHRzLm9zVmVyc2lvbiB8fCBhd2FpdCBnZXRPU1ZlcnNpb24odWRpZCwgb3B0cy5zb2NrZXQpO1xuICBjb25zdCBpc1NpbXVsYXRvciA9ICEhb3B0cy5pc1NpbXVsYXRvcjtcbiAgY29uc3QgdmVyYm9zZSA9ICEhb3B0cy52ZXJib3NlO1xuICBjb25zdCB2ZXJib3NlSGV4RHVtcCA9ICEhb3B0cy52ZXJib3NlSGV4RHVtcDtcbiAgY29uc3Qgc29ja2V0Q2h1bmtTaXplID0gb3B0cy5zb2NrZXRDaHVua1NpemU7XG4gIGNvbnN0IG1heEZyYW1lTGVuZ3RoID0gb3B0cy5tYXhGcmFtZUxlbmd0aDtcbiAgY29uc3Qgc2VtdmVyVmVyc2lvbiA9IHNlbXZlci5jb2VyY2Uob3NWZXJzaW9uKTtcbiAgaWYgKCFzZW12ZXJWZXJzaW9uKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBDb3VsZCBub3QgY3JlYXRlIGEgc2VtdmVyIHZlcnNpb24gb3V0IG9mICcke29zVmVyc2lvbn0nYCk7XG4gIH1cbiAgaWYgKG9wdHMuc29ja2V0KSB7XG4gICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3JTZXJ2aWNlKHtcbiAgICAgIG1ham9yT3NWZXJzaW9uOiBzZW12ZXJWZXJzaW9uLm1ham9yLFxuICAgICAgaXNTaW11bGF0b3IsXG4gICAgICBzb2NrZXRDaHVua1NpemUsXG4gICAgICB2ZXJib3NlLFxuICAgICAgdmVyYm9zZUhleER1bXAsXG4gICAgICBzb2NrZXRDbGllbnQ6IG9wdHMuc29ja2V0LFxuICAgICAgbWF4RnJhbWVMZW5ndGgsXG4gICAgfSk7XG4gIH1cbiAgY29uc3Qgc29ja2V0ID0gYXdhaXQgc3RhcnRTZXJ2aWNlKHVkaWQsIFdFQl9JTlNQRUNUT1JfU0VSVklDRV9OQU1FLCB1bmRlZmluZWQpO1xuICByZXR1cm4gbmV3IFdlYkluc3BlY3RvclNlcnZpY2Uoe1xuICAgIG1ham9yT3NWZXJzaW9uOiBzZW12ZXJWZXJzaW9uLm1ham9yLFxuICAgIGlzU2ltdWxhdG9yLFxuICAgIHNvY2tldENodW5rU2l6ZSxcbiAgICB2ZXJib3NlLFxuICAgIHZlcmJvc2VIZXhEdW1wLFxuICAgIHNvY2tldENsaWVudDogc29ja2V0LFxuICAgIG1heEZyYW1lTGVuZ3RoLFxuICB9KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRJbnN0YWxsYXRpb25Qcm94eVNlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgSU5TVEFMTEFUSU9OX1BST1hZX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IEluc3RhbGxhdGlvblByb3h5U2VydmljZShuZXcgUGxpc3RTZXJ2aWNlKHNvY2tldCkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdGFydEFmY1NlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgQUZDX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IEFmY1NlcnZpY2Uoc29ja2V0KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRDcmFzaExvZ1NlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgQ1JBU0hfTE9HX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IEFmY1NlcnZpY2Uoc29ja2V0KTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnROb3RpZmljYXRpb25Qcm94eVNlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBzb2NrZXQgPSBhd2FpdCBzdGFydFNlcnZpY2UodWRpZCwgTk9USUZJQ0FUSU9OX1BST1hZX1NFUlZJQ0VfTkFNRSwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IE5vdGlmaWNhdGlvblByb3h5U2VydmljZShzb2NrZXQpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBzdGFydEhvdXNlQXJyZXN0U2VydmljZSAodWRpZCwgb3B0cyA9IHt9KSB7XG4gIGNvbnN0IHNvY2tldCA9IGF3YWl0IHN0YXJ0U2VydmljZSh1ZGlkLCBIT1VTRV9BUlJFU1RfU0VSVklDRV9OQU1FLCBvcHRzLnNvY2tldCk7XG4gIHJldHVybiBuZXcgSG91c2VBcnJlc3RTZXJ2aWNlKHNvY2tldCk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHN0YXJ0SW5zdHJ1bWVudFNlcnZpY2UgKHVkaWQsIG9wdHMgPSB7fSkge1xuICBjb25zdCBvc1ZlcnNpb24gPSBvcHRzLm9zVmVyc2lvbiB8fCBhd2FpdCBnZXRPU1ZlcnNpb24odWRpZCwgb3B0cy5zb2NrZXQpO1xuICByZXR1cm4gbmV3IEluc3RydW1lbnRTZXJ2aWNlKFxuICBwYXJzZUludChvc1ZlcnNpb24uc3BsaXQoJy4nKVswXSwgMTApIDwgSU5TVFJVTUVOVF9IQU5EU0hBS0VfVkVSU0lPTlxuICAgID8gYXdhaXQgc3RhcnRTZXJ2aWNlKHVkaWQsIElOU1RSVU1FTlRfU0VSVklDRV9OQU1FLCBvcHRzLnNvY2tldCwgdHJ1ZSlcbiAgICA6IGF3YWl0IHN0YXJ0U2VydmljZSh1ZGlkLCBJTlNUUlVNRU5UX1NFUlZJQ0VfTkFNRV9WRVJTSU9OXzE0LCBvcHRzLnNvY2tldClcbiAgKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRNQ0luc3RhbGxTZXJ2aWNlICh1ZGlkLCBvcHRzID0ge30pIHtcbiAgY29uc3Qgc29ja2V0ID0gYXdhaXQgc3RhcnRTZXJ2aWNlKHVkaWQsIE1DX0lOU1RBTExfU0VSVklDRV9OQU1FLCBvcHRzLnNvY2tldCk7XG4gIHJldHVybiBuZXcgTUNJbnN0YWxsUHJveHlTZXJ2aWNlKG5ldyBQbGlzdFNlcnZpY2Uoc29ja2V0KSk7XG59XG5cbmFzeW5jIGZ1bmN0aW9uIHN0YXJ0U2VydmljZSAodWRpZCwgc2VydmljZU5hbWUsIHNvY2tldCwgaGFuZHNoYWtlT25seSA9IGZhbHNlKSB7XG4gIGNvbnN0IGxvY2tkb3duID0gYXdhaXQgc3RhcnRMb2NrZG93blNlc3Npb24odWRpZCwgc29ja2V0KTtcbiAgdHJ5IHtcbiAgICBjb25zdCBzZXJ2aWNlID0gYXdhaXQgbG9ja2Rvd24uc3RhcnRTZXJ2aWNlKHNlcnZpY2VOYW1lKTtcbiAgICBpZiAoc2VydmljZS5FbmFibGVTZXJ2aWNlU1NMKSB7XG4gICAgICByZXR1cm4gYXdhaXQgY29ubmVjdFBvcnRTU0wodWRpZCwgc2VydmljZS5Qb3J0LCBzb2NrZXQsIGhhbmRzaGFrZU9ubHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYXdhaXQgY29ubmVjdFBvcnQodWRpZCwgc2VydmljZS5Qb3J0LCBzb2NrZXQpO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICBsb2NrZG93bi5jbG9zZSgpO1xuICB9XG59XG5cbmV4cG9ydCB7XG4gIHN0YXJ0U3lzbG9nU2VydmljZSwgc3RhcnRXZWJJbnNwZWN0b3JTZXJ2aWNlLFxuICBzdGFydEluc3RhbGxhdGlvblByb3h5U2VydmljZSwgc3RhcnRTaW11bGF0ZUxvY2F0aW9uU2VydmljZSxcbiAgc3RhcnRBZmNTZXJ2aWNlLCBzdGFydENyYXNoTG9nU2VydmljZSwgc3RhcnROb3RpZmljYXRpb25Qcm94eVNlcnZpY2UsXG4gIHN0YXJ0SG91c2VBcnJlc3RTZXJ2aWNlLCBzdGFydEluc3RydW1lbnRTZXJ2aWNlLCBzdGFydE1DSW5zdGFsbFNlcnZpY2Vcbn07XG4iXSwiZmlsZSI6ImxpYi9zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLiJ9
|
package/build/lib/ssl-helper.js
CHANGED
|
@@ -16,7 +16,6 @@ var _net = _interopRequireDefault(require("net"));
|
|
|
16
16
|
|
|
17
17
|
var _bluebird = _interopRequireDefault(require("bluebird"));
|
|
18
18
|
|
|
19
|
-
const TLS_VERSION = 'TLSv1_method';
|
|
20
19
|
const HANDSHAKE_TIMEOUT_MS = 10000;
|
|
21
20
|
|
|
22
21
|
function upgradeToSSL(socket, key, cert) {
|
|
@@ -24,8 +23,7 @@ function upgradeToSSL(socket, key, cert) {
|
|
|
24
23
|
rejectUnauthorized: false,
|
|
25
24
|
secureContext: _tls.default.createSecureContext({
|
|
26
25
|
key,
|
|
27
|
-
cert
|
|
28
|
-
secureProtocol: TLS_VERSION
|
|
26
|
+
cert
|
|
29
27
|
})
|
|
30
28
|
});
|
|
31
29
|
}
|
|
@@ -35,8 +33,7 @@ async function enableSSLHandshakeOnly(socket, key, cert) {
|
|
|
35
33
|
socket,
|
|
36
34
|
secureContext: _tls.default.createSecureContext({
|
|
37
35
|
key,
|
|
38
|
-
cert
|
|
39
|
-
secureProtocol: TLS_VERSION
|
|
36
|
+
cert
|
|
40
37
|
}),
|
|
41
38
|
rejectUnauthorized: false
|
|
42
39
|
});
|
|
@@ -63,4 +60,4 @@ async function enableSSLHandshakeOnly(socket, key, cert) {
|
|
|
63
60
|
}require('source-map-support').install();
|
|
64
61
|
|
|
65
62
|
|
|
66
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,
|
|
63
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9zc2wtaGVscGVyLmpzIl0sIm5hbWVzIjpbIkhBTkRTSEFLRV9USU1FT1VUX01TIiwidXBncmFkZVRvU1NMIiwic29ja2V0Iiwia2V5IiwiY2VydCIsInRscyIsIlRMU1NvY2tldCIsInJlamVjdFVuYXV0aG9yaXplZCIsInNlY3VyZUNvbnRleHQiLCJjcmVhdGVTZWN1cmVDb250ZXh0IiwiZW5hYmxlU1NMSGFuZHNoYWtlT25seSIsInNzbFNvY2tldCIsImNvbm5lY3QiLCJCIiwicmVzb2x2ZSIsInJlamVjdCIsInRpbWVvdXRIYW5kbGVyIiwic2V0VGltZW91dCIsImRlc3Ryb3llZCIsImVuZCIsIkVycm9yIiwib25jZSIsImNsZWFyVGltZW91dCIsIl9oYW5kbGUiLCJyZWFkU3RvcCIsIm5ldCIsIlNvY2tldCIsImZkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFFQSxNQUFNQSxvQkFBb0IsR0FBRyxLQUE3Qjs7QUFFQSxTQUFTQyxZQUFULENBQXVCQyxNQUF2QixFQUErQkMsR0FBL0IsRUFBb0NDLElBQXBDLEVBQTBDO0FBQ3hDLFNBQU8sSUFBSUMsYUFBSUMsU0FBUixDQUFrQkosTUFBbEIsRUFBMEI7QUFDL0JLLElBQUFBLGtCQUFrQixFQUFFLEtBRFc7QUFFL0JDLElBQUFBLGFBQWEsRUFBRUgsYUFBSUksbUJBQUosQ0FBd0I7QUFDckNOLE1BQUFBLEdBRHFDO0FBRXJDQyxNQUFBQTtBQUZxQyxLQUF4QjtBQUZnQixHQUExQixDQUFQO0FBT0Q7O0FBU0QsZUFBZU0sc0JBQWYsQ0FBdUNSLE1BQXZDLEVBQStDQyxHQUEvQyxFQUFvREMsSUFBcEQsRUFBMEQ7QUFDeEQsUUFBTU8sU0FBUyxHQUFHTixhQUFJTyxPQUFKLENBQVk7QUFDNUJWLElBQUFBLE1BRDRCO0FBRTVCTSxJQUFBQSxhQUFhLEVBQUVILGFBQUlJLG1CQUFKLENBQXdCO0FBQ3JDTixNQUFBQSxHQURxQztBQUVyQ0MsTUFBQUE7QUFGcUMsS0FBeEIsQ0FGYTtBQU01QkcsSUFBQUEsa0JBQWtCLEVBQUU7QUFOUSxHQUFaLENBQWxCOztBQVVBLFFBQU0sSUFBSU0saUJBQUosQ0FBTSxDQUFDQyxPQUFELEVBQVVDLE1BQVYsS0FBcUI7QUFDL0IsVUFBTUMsY0FBYyxHQUFHQyxVQUFVLENBQUMsTUFBTTtBQUN0QyxVQUFJLENBQUNOLFNBQVMsQ0FBQ08sU0FBZixFQUEwQjtBQUN4QlAsUUFBQUEsU0FBUyxDQUFDUSxHQUFWO0FBQ0Q7O0FBQ0QsYUFBT0osTUFBTSxDQUFDLElBQUlLLEtBQUosQ0FBVSxxQkFBVixDQUFELENBQWI7QUFDRCxLQUxnQyxFQUs5QnBCLG9CQUw4QixDQUFqQztBQU9BVyxJQUFBQSxTQUFTLENBQUNVLElBQVYsQ0FBZSxlQUFmLEVBQWdDLE1BQU07QUFDcENDLE1BQUFBLFlBQVksQ0FBQ04sY0FBRCxDQUFaOztBQUNBTCxNQUFBQSxTQUFTLENBQUNZLE9BQVYsQ0FBa0JDLFFBQWxCOztBQUNBLGFBQU9WLE9BQU8sRUFBZDtBQUNELEtBSkQ7QUFLRCxHQWJLLENBQU47QUFlQSxTQUFPVyxhQUFJQyxNQUFKLENBQVc7QUFBQ0MsSUFBQUEsRUFBRSxFQUFFekIsTUFBTSxDQUFDcUIsT0FBUCxDQUFlSTtBQUFwQixHQUFYLENBQVA7QUFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0bHMgZnJvbSAndGxzJztcbmltcG9ydCBuZXQgZnJvbSAnbmV0JztcbmltcG9ydCBCIGZyb20gJ2JsdWViaXJkJztcblxuY29uc3QgSEFORFNIQUtFX1RJTUVPVVRfTVMgPSAxMDAwMDtcblxuZnVuY3Rpb24gdXBncmFkZVRvU1NMIChzb2NrZXQsIGtleSwgY2VydCkge1xuICByZXR1cm4gbmV3IHRscy5UTFNTb2NrZXQoc29ja2V0LCB7XG4gICAgcmVqZWN0VW5hdXRob3JpemVkOiBmYWxzZSxcbiAgICBzZWN1cmVDb250ZXh0OiB0bHMuY3JlYXRlU2VjdXJlQ29udGV4dCh7XG4gICAgICBrZXksXG4gICAgICBjZXJ0XG4gICAgfSlcbiAgfSk7XG59XG5cbi8qKlxuICogQWZ0ZXIgdGhlIHNzbCBwcm90b2NvbCBpcyBzdWNjZXNzZnVsbHkgaGFuZHNoYWtlLCBjbG9zZSB0aGUgc3NsIHByb3RvY29sIGNoYW5uZWwgYW5kIHVzZSB0ZXh0IHRyYW5zbWlzc2lvblxuICogQHBhcmFtIHNvY2tldFxuICogQHBhcmFtIGtleVxuICogQHBhcmFtIGNlcnRcbiAqIEByZXR1cm5zIHtQcm9taXNlPFNvY2tldD59IER1cGxpY2F0ZSB0aGUgaW5wdXQgc29ja2V0XG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGVuYWJsZVNTTEhhbmRzaGFrZU9ubHkgKHNvY2tldCwga2V5LCBjZXJ0KSB7XG4gIGNvbnN0IHNzbFNvY2tldCA9IHRscy5jb25uZWN0KHtcbiAgICBzb2NrZXQsXG4gICAgc2VjdXJlQ29udGV4dDogdGxzLmNyZWF0ZVNlY3VyZUNvbnRleHQoe1xuICAgICAga2V5LFxuICAgICAgY2VydFxuICAgIH0pLFxuICAgIHJlamVjdFVuYXV0aG9yaXplZDogZmFsc2UsXG4gIH0pO1xuXG4gIC8vIHN0b3AgcmVjZWl2aW5nIGRhdGEgYWZ0ZXIgc3VjY2Vzc2Z1bCBoYW5kc2hha2VcbiAgYXdhaXQgbmV3IEIoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IHRpbWVvdXRIYW5kbGVyID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAoIXNzbFNvY2tldC5kZXN0cm95ZWQpIHtcbiAgICAgICAgc3NsU29ja2V0LmVuZCgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlamVjdChuZXcgRXJyb3IoJ3NzbCBoYW5kc2hha2UgZXJyb3InKSk7XG4gICAgfSwgSEFORFNIQUtFX1RJTUVPVVRfTVMpO1xuXG4gICAgc3NsU29ja2V0Lm9uY2UoJ3NlY3VyZUNvbm5lY3QnLCAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dEhhbmRsZXIpO1xuICAgICAgc3NsU29ja2V0Ll9oYW5kbGUucmVhZFN0b3AoKTtcbiAgICAgIHJldHVybiByZXNvbHZlKCk7XG4gICAgfSk7XG4gIH0pO1xuICAvLyBEdXBsaWNhdGUgdGhlIHNvY2tldC4gUmV0dXJuIGEgbmV3IHNvY2tldCBvYmplY3QgY29ubmVjdGVkIHRvIHRoZSBzYW1lIHN5c3RlbSByZXNvdXJjZVxuICByZXR1cm4gbmV0LlNvY2tldCh7ZmQ6IHNvY2tldC5faGFuZGxlLmZkfSk7XG59XG5cblxuZXhwb3J0IHsgdXBncmFkZVRvU1NMLCBlbmFibGVTU0xIYW5kc2hha2VPbmx5IH07XG4iXSwiZmlsZSI6ImxpYi9zc2wtaGVscGVyLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uIn0=
|
package/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { default as Usbmux } from './lib/usbmux';
|
|
2
2
|
import * as utilities from './lib/utilities';
|
|
3
3
|
import * as services from './lib/services';
|
|
4
|
+
import { INSTRUMENT_CHANNEL } from './lib/instrument';
|
|
4
5
|
|
|
5
6
|
|
|
6
|
-
export { Usbmux, utilities, services };
|
|
7
|
+
export { Usbmux, utilities, services, INSTRUMENT_CHANNEL };
|
|
7
8
|
export default Usbmux;
|
package/lib/instrument/index.js
CHANGED
|
@@ -17,7 +17,7 @@ const CHANNEL_OFFSET = 2 ** 32;
|
|
|
17
17
|
const INSTRUMENT_SERVICE_NAME_VERSION_14 = 'com.apple.instruments.remoteserver.DVTSecureSocketProxy';
|
|
18
18
|
const INSTRUMENT_SERVICE_NAME = 'com.apple.instruments.remoteserver';
|
|
19
19
|
|
|
20
|
-
export const
|
|
20
|
+
export const INSTRUMENT_CHANNEL = Object.freeze({
|
|
21
21
|
DEVICE_INFO: 'com.apple.instruments.server.services.deviceinfo',
|
|
22
22
|
PROCESS_CONTROL: 'com.apple.instruments.server.services.processcontrol',
|
|
23
23
|
SYSMONTAP: 'com.apple.instruments.server.services.sysmontap',
|
|
@@ -84,9 +84,9 @@ class InstrumentService extends BaseServiceSocket {
|
|
|
84
84
|
}
|
|
85
85
|
|
|
86
86
|
/**
|
|
87
|
-
* If the event is registered, this channel {
|
|
87
|
+
* If the event is registered, this channel {CHANNEL} messages will be returned to event. refer to this._handleData
|
|
88
88
|
* It's actually listening for int channelCode. In this._channel object to record channel key and int value
|
|
89
|
-
* @param {string} channel instruments service channel e.g:
|
|
89
|
+
* @param {string} channel instruments service channel e.g: INSTRUMENT_CHANNEL.DEVICE_INFO.
|
|
90
90
|
* @param {DTXCallback} event
|
|
91
91
|
*/
|
|
92
92
|
async registerChannelCallback (channel, event) {
|
|
@@ -96,7 +96,7 @@ class InstrumentService extends BaseServiceSocket {
|
|
|
96
96
|
|
|
97
97
|
/**
|
|
98
98
|
* Create a service channel, data transmission of the service will use this channelCode
|
|
99
|
-
* @param {string} channel instruments service channel e.g:
|
|
99
|
+
* @param {string} channel instruments service channel e.g: INSTRUMENT_CHANNEL.DEVICE_INFO
|
|
100
100
|
* @returns {Promise<number|*>} instruments service channel code for data transmission
|
|
101
101
|
*/
|
|
102
102
|
async makeChannel (channel) {
|
|
@@ -111,12 +111,12 @@ class InstrumentService extends BaseServiceSocket {
|
|
|
111
111
|
|
|
112
112
|
/**
|
|
113
113
|
* In general, we call this method to start the instrument dtx service
|
|
114
|
-
* @param {string} channel instrument dtx service e.g:
|
|
114
|
+
* @param {string} channel instrument dtx service e.g: INSTRUMENT_CHANNEL.DEVICE_INFO
|
|
115
115
|
* @param {string} selector instrument service method name (reflection calls)
|
|
116
116
|
* @param {...any} auxiliaries parameters required by selector
|
|
117
117
|
* @returns {Promise<DTXMessage>}
|
|
118
118
|
* example:
|
|
119
|
-
* instrumentService.callChannel(
|
|
119
|
+
* instrumentService.callChannel(INSTRUMENT_CHANNEL.PROCESS_CONTROL,
|
|
120
120
|
'launchSuspendedProcessWithDevicePath:bundleIdentifier:environment:arguments:options:', '',
|
|
121
121
|
bundleID, {}, [], {'StartSuspendedKey': 0, 'KillExisting': 1}
|
|
122
122
|
*/
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import {BaseServicePlist} from '../base-service';
|
|
2
|
+
import {fs, plist} from '@appium/support';
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
const MC_INSTALL_SERVICE_NAME = 'com.apple.mobile.MCInstall';
|
|
6
|
+
const ACKNOWLEDGED = 'Acknowledged';
|
|
7
|
+
|
|
8
|
+
function checkACK (res, name) {
|
|
9
|
+
if (res.Status !== ACKNOWLEDGED) {
|
|
10
|
+
throw new Error(`${name} error: ${JSON.stringify(res)}`);
|
|
11
|
+
}
|
|
12
|
+
return res;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
class MCInstallProxyService extends BaseServicePlist {
|
|
16
|
+
constructor (socketClient) {
|
|
17
|
+
super(socketClient);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* @typedef {Object} ProfileList
|
|
22
|
+
* @property {Array} OrderedIdentifiers list of all profile ident
|
|
23
|
+
* @property {Object} ProfileManifest
|
|
24
|
+
* @property {Object} ProfileMetadata
|
|
25
|
+
* @property {String} Status
|
|
26
|
+
*/
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Get all profiles of iOS devices
|
|
30
|
+
* @returns {ProfileList}
|
|
31
|
+
* e.g.
|
|
32
|
+
* {
|
|
33
|
+
* OrderedIdentifiers: [ '2fac1c2b3d684843189b2981c718b0132854a847a' ],
|
|
34
|
+
* ProfileManifest: {
|
|
35
|
+
* '2fac1c2b3d684843189b2981c718b0132854a847a': {
|
|
36
|
+
* Description: 'Charles Proxy CA (7 Dec 2020, MacBook-Pro.local)',
|
|
37
|
+
* IsActive: true
|
|
38
|
+
* }
|
|
39
|
+
* },
|
|
40
|
+
* ProfileMetadata: {
|
|
41
|
+
* '2fac1c2b3d684843189b2981c718b0132854a847a': {
|
|
42
|
+
* PayloadDisplayName: 'Charles Proxy CA (7 Dec 2020, MacBook-Pro.local)',
|
|
43
|
+
* PayloadRemovalDisallowed: false,
|
|
44
|
+
* PayloadUUID: 'B30005CC-BC73-4E42-8545-8DA6C44A8A71',
|
|
45
|
+
* PayloadVersion: 1
|
|
46
|
+
* }
|
|
47
|
+
* },
|
|
48
|
+
* Status: 'Acknowledged'
|
|
49
|
+
* }
|
|
50
|
+
*/
|
|
51
|
+
async getProfileList () {
|
|
52
|
+
const res = await this._plistService.sendPlistAndReceive({RequestType: 'GetProfileList'});
|
|
53
|
+
return checkACK(res, 'getProfileList');
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Install profile to iOS device
|
|
58
|
+
* @param {String} path must be a certificate file .PEM .CER and more formats
|
|
59
|
+
* e.g: /Downloads/charles-certificate.pem
|
|
60
|
+
* @returns {Object} e.g. {Status: 'Acknowledged'}
|
|
61
|
+
*/
|
|
62
|
+
async installProfile (path) {
|
|
63
|
+
const payload = await fs.readFile(path);
|
|
64
|
+
const res = await this._plistService.sendPlistAndReceive({'RequestType': 'InstallProfile', 'Payload': payload});
|
|
65
|
+
return checkACK(res, 'installProfile');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Remove profile from iOS device
|
|
70
|
+
* @param {String} ident Query identifier list through getProfileList method
|
|
71
|
+
* @returns {Object} e.g. {Status: 'Acknowledged'}
|
|
72
|
+
*/
|
|
73
|
+
async removeProfile (ident) {
|
|
74
|
+
const profiles = await this.getProfileList();
|
|
75
|
+
const meta = profiles.ProfileMetadata[ident];
|
|
76
|
+
if (!meta) {
|
|
77
|
+
throw new Error(`not find installed profile ident:${ident}`);
|
|
78
|
+
}
|
|
79
|
+
const data = plist.createBinaryPlist({'PayloadType': 'Configuration',
|
|
80
|
+
'PayloadIdentifier': ident,
|
|
81
|
+
'PayloadUUID': meta.PayloadUUID,
|
|
82
|
+
'PayloadVersion': meta.PayloadVersion});
|
|
83
|
+
const res = await this._plistService.sendPlistAndReceive({'RequestType': 'RemoveProfile', 'ProfileIdentifier': data});
|
|
84
|
+
return checkACK(res, 'removeProfile');
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export { MCInstallProxyService, MC_INSTALL_SERVICE_NAME };
|
|
89
|
+
export default MCInstallProxyService;
|
package/lib/services.js
CHANGED
|
@@ -7,6 +7,7 @@ import { AfcService, AFC_SERVICE_NAME } from './afc';
|
|
|
7
7
|
import { NotificationProxyService, NOTIFICATION_PROXY_SERVICE_NAME } from './notification-proxy';
|
|
8
8
|
import { HouseArrestService, HOUSE_ARREST_SERVICE_NAME } from './house-arrest';
|
|
9
9
|
import { InstrumentService, INSTRUMENT_SERVICE_NAME_VERSION_14, INSTRUMENT_SERVICE_NAME} from './instrument';
|
|
10
|
+
import { MCInstallProxyService, MC_INSTALL_SERVICE_NAME} from './mcinstall';
|
|
10
11
|
import PlistService from './plist-service';
|
|
11
12
|
import semver from 'semver';
|
|
12
13
|
|
|
@@ -91,6 +92,11 @@ async function startInstrumentService (udid, opts = {}) {
|
|
|
91
92
|
);
|
|
92
93
|
}
|
|
93
94
|
|
|
95
|
+
async function startMCInstallService (udid, opts = {}) {
|
|
96
|
+
const socket = await startService(udid, MC_INSTALL_SERVICE_NAME, opts.socket);
|
|
97
|
+
return new MCInstallProxyService(new PlistService(socket));
|
|
98
|
+
}
|
|
99
|
+
|
|
94
100
|
async function startService (udid, serviceName, socket, handshakeOnly = false) {
|
|
95
101
|
const lockdown = await startLockdownSession(udid, socket);
|
|
96
102
|
try {
|
|
@@ -109,5 +115,5 @@ export {
|
|
|
109
115
|
startSyslogService, startWebInspectorService,
|
|
110
116
|
startInstallationProxyService, startSimulateLocationService,
|
|
111
117
|
startAfcService, startCrashLogService, startNotificationProxyService,
|
|
112
|
-
startHouseArrestService, startInstrumentService
|
|
118
|
+
startHouseArrestService, startInstrumentService, startMCInstallService
|
|
113
119
|
};
|
package/lib/ssl-helper.js
CHANGED
|
@@ -2,7 +2,6 @@ import tls from 'tls';
|
|
|
2
2
|
import net from 'net';
|
|
3
3
|
import B from 'bluebird';
|
|
4
4
|
|
|
5
|
-
const TLS_VERSION = 'TLSv1_method';
|
|
6
5
|
const HANDSHAKE_TIMEOUT_MS = 10000;
|
|
7
6
|
|
|
8
7
|
function upgradeToSSL (socket, key, cert) {
|
|
@@ -10,8 +9,7 @@ function upgradeToSSL (socket, key, cert) {
|
|
|
10
9
|
rejectUnauthorized: false,
|
|
11
10
|
secureContext: tls.createSecureContext({
|
|
12
11
|
key,
|
|
13
|
-
cert
|
|
14
|
-
secureProtocol: TLS_VERSION
|
|
12
|
+
cert
|
|
15
13
|
})
|
|
16
14
|
});
|
|
17
15
|
}
|
|
@@ -28,8 +26,7 @@ async function enableSSLHandshakeOnly (socket, key, cert) {
|
|
|
28
26
|
socket,
|
|
29
27
|
secureContext: tls.createSecureContext({
|
|
30
28
|
key,
|
|
31
|
-
cert
|
|
32
|
-
secureProtocol: TLS_VERSION
|
|
29
|
+
cert
|
|
33
30
|
}),
|
|
34
31
|
rejectUnauthorized: false,
|
|
35
32
|
});
|