appium-remote-debugger 9.1.12 → 9.1.14
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/CHANGELOG.md +14 -0
- package/build/index.js +1 -1
- package/build/lib/atoms.js +1 -1
- package/build/lib/atoms.js.map +1 -1
- package/build/lib/logger.js +1 -1
- package/build/lib/logger.js.map +1 -1
- package/build/lib/mixins/connect.js +1 -1
- package/build/lib/mixins/connect.js.map +1 -1
- package/build/lib/mixins/events.js +1 -1
- package/build/lib/mixins/events.js.map +1 -1
- package/build/lib/mixins/execute.js +7 -5
- package/build/lib/mixins/execute.js.map +1 -1
- package/build/lib/mixins/index.js +1 -1
- package/build/lib/mixins/index.js.map +1 -1
- package/build/lib/mixins/message-handlers.js +1 -1
- package/build/lib/mixins/message-handlers.js.map +1 -1
- package/build/lib/mixins/navigate.js +1 -1
- package/build/lib/mixins/navigate.js.map +1 -1
- package/build/lib/protocol/index.js +16 -3
- package/build/lib/protocol/index.js.map +1 -1
- package/build/lib/remote-debugger-real-device.js +1 -1
- package/build/lib/remote-debugger-real-device.js.map +1 -1
- package/build/lib/remote-debugger.js +18 -3
- package/build/lib/remote-debugger.js.map +1 -1
- package/build/lib/rpc/index.js +1 -1
- package/build/lib/rpc/index.js.map +1 -1
- package/build/lib/rpc/remote-messages.js +1 -1
- package/build/lib/rpc/remote-messages.js.map +1 -1
- package/build/lib/rpc/rpc-client-real-device.js +1 -1
- package/build/lib/rpc/rpc-client-real-device.js.map +1 -1
- package/build/lib/rpc/rpc-client-simulator.js +1 -1
- package/build/lib/rpc/rpc-client-simulator.js.map +1 -1
- package/build/lib/rpc/rpc-client.js +1 -1
- package/build/lib/rpc/rpc-client.js.map +1 -1
- package/build/lib/rpc/rpc-message-handler.js +1 -1
- package/build/lib/rpc/rpc-message-handler.js.map +1 -1
- package/build/lib/utils.js +1 -1
- package/build/lib/utils.js.map +1 -1
- package/lib/mixins/execute.js +6 -1
- package/lib/protocol/index.js +16 -2
- package/lib/remote-debugger.js +20 -2
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-debugger.js","names":["REMOTE_DEBUGGER_PORT","SAFARI_BUNDLE_ID","RPC_RESPONSE_TIMEOUT_MS","PAGE_READY_TIMEOUT","GARBAGE_COLLECT_TIMEOUT","RemoteDebugger","EventEmitter","constructor","opts","log","info","require","path","resolve","getModuleRoot","version","bundleId","additionalBundleIds","platformVersion","isSafari","includeSafari","useNewSafari","pageLoadMs","host","port","socketPath","pageReadyTimeout","remoteDebugProxy","garbageCollectOnExecute","logFullResponse","logAllCommunication","logAllCommunicationHexDump","webInspectorMaxFrameLength","socketChunkSize","fullPageInitialization","debug","_","isNil","isInteger","_lock","AsyncLock","setup","appDict","appIdKey","pageIdKey","pageLoading","_navigatingToPage","allowNavigationWithoutReload","rpcClient","_clientEventListeners","teardown","removeAllListeners","EVENT_PAGE_CHANGE","EVENT_DISCONNECT","initRpcClient","RpcClientSimulator","messageProxy","isConnected","launchSafari","send","startTimeline","fn","on","stopTimeline","addClientEventListener","eventName","listener","push","removeClientEventListener","off","startConsole","stopConsole","startNetwork","stopNetwork","allow","_allowNavigationWithoutReload","getCookies","urls","deleteCookie","cookieName","url","garbageCollect","timeoutMs","checkParams","err","B","timeout","then","gcSuccess","catch","gcError","TimeoutError","message","useAppDictLock","acquire","skippedApps","_skippedApps","name","toPairs","mixins","prototype","event","events"],"sources":["../../lib/remote-debugger.js"],"sourcesContent":["import { EventEmitter } from 'events';\nimport log from './logger';\nimport { RpcClientSimulator } from './rpc';\nimport { checkParams, getModuleRoot } from './utils';\nimport { mixins, events } from './mixins';\nimport _ from 'lodash';\nimport B from 'bluebird';\nimport path from 'path';\nimport AsyncLock from 'async-lock';\n\nconst REMOTE_DEBUGGER_PORT = 27753;\nconst SAFARI_BUNDLE_ID = 'com.apple.mobilesafari';\n\n/* How many milliseconds to wait for webkit to return a response before timing out */\nconst RPC_RESPONSE_TIMEOUT_MS = 5000;\n\nconst PAGE_READY_TIMEOUT = 5000;\n\nconst GARBAGE_COLLECT_TIMEOUT = 5000;\n\n\nclass RemoteDebugger extends EventEmitter {\n /*\n * The constructor takes an opts hash with the following properties:\n * - bundleId - id of the app being connected to\n * - additionalBundleIds - array of possible bundle ids that the inspector\n * could return\n * - platformVersion - version of iOS\n * - useNewSafari - for web inspector, whether this is a new Safari instance\n * - pageLoadMs - the time, in ms, that should be waited for page loading\n * - host - the remote debugger's host address\n * - port - the remote debugger port through which to communicate\n * - logAllCommunication - log plists sent and received from Web Inspector\n * - logAllCommunicationHexDump - log communication from Web Inspector as hex dump\n * - socketChunkSize - size, in bytes, of chunks of data sent to Web Inspector (real device only)\n * - webInspectorMaxFrameLength - The maximum size in bytes of a single data frame\n * in the device communication protocol\n */\n constructor (opts = {}) {\n super();\n\n log.info(`Remote Debugger version ${require(path.resolve(getModuleRoot(), 'package.json')).version}`);\n\n const {\n bundleId,\n additionalBundleIds = [],\n platformVersion,\n isSafari = true,\n includeSafari = false,\n useNewSafari = false,\n pageLoadMs,\n host,\n port = REMOTE_DEBUGGER_PORT,\n socketPath,\n pageReadyTimeout = PAGE_READY_TIMEOUT,\n remoteDebugProxy,\n garbageCollectOnExecute = false,\n logFullResponse = false,\n logAllCommunication = false,\n logAllCommunicationHexDump = false,\n webInspectorMaxFrameLength,\n socketChunkSize,\n fullPageInitialization,\n } = opts;\n\n this.bundleId = bundleId;\n this.additionalBundleIds = additionalBundleIds;\n this.platformVersion = platformVersion;\n this.isSafari = isSafari;\n this.includeSafari = includeSafari;\n this.useNewSafari = useNewSafari;\n this.pageLoadMs = pageLoadMs;\n log.debug(`useNewSafari --> ${this.useNewSafari}`);\n\n this.garbageCollectOnExecute = garbageCollectOnExecute;\n\n this.host = host;\n this.port = port;\n this.socketPath = socketPath;\n this.remoteDebugProxy = remoteDebugProxy;\n this.pageReadyTimeout = pageReadyTimeout;\n\n this.logAllCommunication = _.isNil(logAllCommunication) ? !!logFullResponse : !!logAllCommunication;\n this.logAllCommunicationHexDump = logAllCommunicationHexDump;\n this.socketChunkSize = socketChunkSize;\n\n if (_.isInteger(webInspectorMaxFrameLength)) {\n this.webInspectorMaxFrameLength = webInspectorMaxFrameLength;\n }\n\n this.fullPageInitialization = fullPageInitialization;\n\n this._lock = new AsyncLock();\n }\n\n setup () {\n // app handling configuration\n this.appDict = {};\n this.appIdKey = null;\n this.pageIdKey = null;\n this.pageLoading = false;\n this._navigatingToPage = false;\n this.allowNavigationWithoutReload = false;\n\n this.rpcClient = null;\n this._clientEventListeners = {};\n }\n\n teardown () {\n log.debug('Cleaning up listeners');\n\n this.appDict = {};\n this.appIdKey = null;\n this.pageIdKey = null;\n this.pageLoading = false;\n\n this.rpcClient = null;\n\n this.removeAllListeners(RemoteDebugger.EVENT_PAGE_CHANGE);\n this.removeAllListeners(RemoteDebugger.EVENT_DISCONNECT);\n }\n\n initRpcClient () {\n this.rpcClient = new RpcClientSimulator({\n bundleId: this.bundleId,\n platformVersion: this.platformVersion,\n isSafari: this.isSafari,\n host: this.host,\n port: this.port,\n socketPath: this.socketPath,\n messageProxy: this.remoteDebugProxy,\n logAllCommunication: this.logAllCommunication,\n logAllCommunicationHexDump: this.logAllCommunicationHexDump,\n fullPageInitialization: this.fullPageInitialization,\n webInspectorMaxFrameLength: this.webInspectorMaxFrameLength,\n });\n }\n\n get isConnected () {\n return !!this.rpcClient?.isConnected;\n }\n\n async launchSafari () {\n await this.rpcClient.send('launchApplication', {\n bundleId: SAFARI_BUNDLE_ID\n });\n }\n\n async startTimeline (fn) {\n log.debug('Starting to record the timeline');\n this.rpcClient.on('Timeline.eventRecorded', fn);\n return await this.rpcClient.send('startTimeline', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n }\n\n async stopTimeline () {\n log.debug('Stopping to record the timeline');\n await this.rpcClient.send('Timeline.stop', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n }\n\n /*\n * Keep track of the client event listeners so they can be removed\n */\n addClientEventListener (eventName, listener) {\n this._clientEventListeners[eventName] = this._clientEventListeners[eventName] || [];\n this._clientEventListeners[eventName].push(listener);\n this.rpcClient.on(eventName, listener);\n }\n\n removeClientEventListener (eventName) {\n for (const listener of (this._clientEventListeners[eventName] || [])) {\n this.rpcClient.off(eventName, listener);\n }\n }\n\n startConsole (listener) {\n log.debug('Starting to listen for JavaScript console');\n this.addClientEventListener('Console.messageAdded', listener);\n this.addClientEventListener('Console.messageRepeatCountUpdated', listener);\n }\n\n stopConsole () {\n log.debug('Stopping to listen for JavaScript console');\n this.removeClientEventListener('Console.messageAdded');\n this.removeClientEventListener('Console.messageRepeatCountUpdated');\n }\n\n startNetwork (listener) {\n log.debug('Starting to listen for network events');\n this.addClientEventListener('NetworkEvent', listener);\n }\n\n stopNetwork () {\n log.debug('Stopping to listen for network events');\n this.removeClientEventListener('NetworkEvent');\n }\n\n set allowNavigationWithoutReload (allow) {\n this._allowNavigationWithoutReload = allow;\n }\n\n get allowNavigationWithoutReload () {\n return this._allowNavigationWithoutReload;\n }\n\n async getCookies (urls) {\n log.debug('Getting cookies');\n return await this.rpcClient.send('Page.getCookies', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n urls,\n });\n }\n\n async deleteCookie (cookieName, url) {\n log.debug(`Deleting cookie '${cookieName}' on '${url}'`);\n return await this.rpcClient.send('Page.deleteCookie', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n cookieName,\n url,\n });\n }\n\n async garbageCollect (timeoutMs = GARBAGE_COLLECT_TIMEOUT) {\n log.debug(`Garbage collecting with ${timeoutMs}ms timeout`);\n try {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n } catch (err) {\n log.debug(`Unable to collect garbage at this time`);\n return;\n }\n\n await B.resolve(this.rpcClient.send('Heap.gc', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n })).timeout(timeoutMs)\n .then(function gcSuccess () { // eslint-disable-line promise/prefer-await-to-then\n log.debug(`Garbage collection successful`);\n }).catch(function gcError (err) { // eslint-disable-line promise/prefer-await-to-callbacks\n if (err instanceof B.TimeoutError) {\n log.debug(`Garbage collection timed out after ${timeoutMs}ms`);\n } else {\n log.debug(`Unable to collect garbage: ${err.message}`);\n }\n });\n }\n\n async useAppDictLock (fn) {\n return await this._lock.acquire('appDict', fn);\n }\n\n get skippedApps () {\n return this._skippedApps || [];\n }\n}\n\nfor (const [name, fn] of _.toPairs(mixins)) {\n RemoteDebugger.prototype[name] = fn;\n}\n\nfor (const [name, event] of _.toPairs(events)) {\n RemoteDebugger[name] = event;\n}\n\nexport default RemoteDebugger;\nexport {\n RemoteDebugger, REMOTE_DEBUGGER_PORT, RPC_RESPONSE_TIMEOUT_MS,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-debugger.js","names":["_events","require","_logger","_interopRequireDefault","_rpc","_utils","_mixins","_lodash","_bluebird","_path","_asyncLock","REMOTE_DEBUGGER_PORT","exports","SAFARI_BUNDLE_ID","RPC_RESPONSE_TIMEOUT_MS","PAGE_READY_TIMEOUT","GARBAGE_COLLECT_TIMEOUT","RemoteDebugger","EventEmitter","constructor","opts","log","info","path","resolve","getModuleRoot","version","bundleId","additionalBundleIds","platformVersion","isSafari","includeSafari","useNewSafari","pageLoadMs","host","port","socketPath","pageReadyTimeout","remoteDebugProxy","garbageCollectOnExecute","logFullResponse","logAllCommunication","logAllCommunicationHexDump","webInspectorMaxFrameLength","socketChunkSize","fullPageInitialization","debug","_","isNil","isInteger","_lock","AsyncLock","setup","appDict","appIdKey","pageIdKey","pageLoading","_navigatingToPage","allowNavigationWithoutReload","rpcClient","_clientEventListeners","teardown","removeAllListeners","EVENT_PAGE_CHANGE","EVENT_DISCONNECT","initRpcClient","RpcClientSimulator","messageProxy","isConnected","_this$rpcClient","launchSafari","send","startTimeline","fn","on","stopTimeline","addClientEventListener","eventName","listener","push","removeClientEventListener","off","startConsole","stopConsole","startNetwork","stopNetwork","allow","_allowNavigationWithoutReload","overrideUserAgent","value","getCookies","setCookie","cookie","deleteCookie","cookieName","url","garbageCollect","timeoutMs","checkParams","err","B","timeout","then","gcSuccess","catch","gcError","TimeoutError","message","useAppDictLock","acquire","skippedApps","_skippedApps","name","toPairs","mixins","prototype","event","events","_default","default"],"sources":["../../lib/remote-debugger.js"],"sourcesContent":["import { EventEmitter } from 'events';\nimport log from './logger';\nimport { RpcClientSimulator } from './rpc';\nimport { checkParams, getModuleRoot } from './utils';\nimport { mixins, events } from './mixins';\nimport _ from 'lodash';\nimport B from 'bluebird';\nimport path from 'path';\nimport AsyncLock from 'async-lock';\n\nconst REMOTE_DEBUGGER_PORT = 27753;\nconst SAFARI_BUNDLE_ID = 'com.apple.mobilesafari';\n\n/* How many milliseconds to wait for webkit to return a response before timing out */\nconst RPC_RESPONSE_TIMEOUT_MS = 5000;\n\nconst PAGE_READY_TIMEOUT = 5000;\n\nconst GARBAGE_COLLECT_TIMEOUT = 5000;\n\n\nclass RemoteDebugger extends EventEmitter {\n /*\n * The constructor takes an opts hash with the following properties:\n * - bundleId - id of the app being connected to\n * - additionalBundleIds - array of possible bundle ids that the inspector\n * could return\n * - platformVersion - version of iOS\n * - useNewSafari - for web inspector, whether this is a new Safari instance\n * - pageLoadMs - the time, in ms, that should be waited for page loading\n * - host - the remote debugger's host address\n * - port - the remote debugger port through which to communicate\n * - logAllCommunication - log plists sent and received from Web Inspector\n * - logAllCommunicationHexDump - log communication from Web Inspector as hex dump\n * - socketChunkSize - size, in bytes, of chunks of data sent to Web Inspector (real device only)\n * - webInspectorMaxFrameLength - The maximum size in bytes of a single data frame\n * in the device communication protocol\n */\n constructor (opts = {}) {\n super();\n\n log.info(`Remote Debugger version ${require(path.resolve(getModuleRoot(), 'package.json')).version}`);\n\n const {\n bundleId,\n additionalBundleIds = [],\n platformVersion,\n isSafari = true,\n includeSafari = false,\n useNewSafari = false,\n pageLoadMs,\n host,\n port = REMOTE_DEBUGGER_PORT,\n socketPath,\n pageReadyTimeout = PAGE_READY_TIMEOUT,\n remoteDebugProxy,\n garbageCollectOnExecute = false,\n logFullResponse = false,\n logAllCommunication = false,\n logAllCommunicationHexDump = false,\n webInspectorMaxFrameLength,\n socketChunkSize,\n fullPageInitialization,\n } = opts;\n\n this.bundleId = bundleId;\n this.additionalBundleIds = additionalBundleIds;\n this.platformVersion = platformVersion;\n this.isSafari = isSafari;\n this.includeSafari = includeSafari;\n this.useNewSafari = useNewSafari;\n this.pageLoadMs = pageLoadMs;\n log.debug(`useNewSafari --> ${this.useNewSafari}`);\n\n this.garbageCollectOnExecute = garbageCollectOnExecute;\n\n this.host = host;\n this.port = port;\n this.socketPath = socketPath;\n this.remoteDebugProxy = remoteDebugProxy;\n this.pageReadyTimeout = pageReadyTimeout;\n\n this.logAllCommunication = _.isNil(logAllCommunication) ? !!logFullResponse : !!logAllCommunication;\n this.logAllCommunicationHexDump = logAllCommunicationHexDump;\n this.socketChunkSize = socketChunkSize;\n\n if (_.isInteger(webInspectorMaxFrameLength)) {\n this.webInspectorMaxFrameLength = webInspectorMaxFrameLength;\n }\n\n this.fullPageInitialization = fullPageInitialization;\n\n this._lock = new AsyncLock();\n }\n\n setup () {\n // app handling configuration\n this.appDict = {};\n this.appIdKey = null;\n this.pageIdKey = null;\n this.pageLoading = false;\n this._navigatingToPage = false;\n this.allowNavigationWithoutReload = false;\n\n this.rpcClient = null;\n this._clientEventListeners = {};\n }\n\n teardown () {\n log.debug('Cleaning up listeners');\n\n this.appDict = {};\n this.appIdKey = null;\n this.pageIdKey = null;\n this.pageLoading = false;\n\n this.rpcClient = null;\n\n this.removeAllListeners(RemoteDebugger.EVENT_PAGE_CHANGE);\n this.removeAllListeners(RemoteDebugger.EVENT_DISCONNECT);\n }\n\n initRpcClient () {\n this.rpcClient = new RpcClientSimulator({\n bundleId: this.bundleId,\n platformVersion: this.platformVersion,\n isSafari: this.isSafari,\n host: this.host,\n port: this.port,\n socketPath: this.socketPath,\n messageProxy: this.remoteDebugProxy,\n logAllCommunication: this.logAllCommunication,\n logAllCommunicationHexDump: this.logAllCommunicationHexDump,\n fullPageInitialization: this.fullPageInitialization,\n webInspectorMaxFrameLength: this.webInspectorMaxFrameLength,\n });\n }\n\n get isConnected () {\n return !!this.rpcClient?.isConnected;\n }\n\n async launchSafari () {\n await this.rpcClient.send('launchApplication', {\n bundleId: SAFARI_BUNDLE_ID\n });\n }\n\n async startTimeline (fn) {\n log.debug('Starting to record the timeline');\n this.rpcClient.on('Timeline.eventRecorded', fn);\n return await this.rpcClient.send('startTimeline', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n }\n\n async stopTimeline () {\n log.debug('Stopping to record the timeline');\n await this.rpcClient.send('Timeline.stop', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n });\n }\n\n /*\n * Keep track of the client event listeners so they can be removed\n */\n addClientEventListener (eventName, listener) {\n this._clientEventListeners[eventName] = this._clientEventListeners[eventName] || [];\n this._clientEventListeners[eventName].push(listener);\n this.rpcClient.on(eventName, listener);\n }\n\n removeClientEventListener (eventName) {\n for (const listener of (this._clientEventListeners[eventName] || [])) {\n this.rpcClient.off(eventName, listener);\n }\n }\n\n startConsole (listener) {\n log.debug('Starting to listen for JavaScript console');\n this.addClientEventListener('Console.messageAdded', listener);\n this.addClientEventListener('Console.messageRepeatCountUpdated', listener);\n }\n\n stopConsole () {\n log.debug('Stopping to listen for JavaScript console');\n this.removeClientEventListener('Console.messageAdded');\n this.removeClientEventListener('Console.messageRepeatCountUpdated');\n }\n\n startNetwork (listener) {\n log.debug('Starting to listen for network events');\n this.addClientEventListener('NetworkEvent', listener);\n }\n\n stopNetwork () {\n log.debug('Stopping to listen for network events');\n this.removeClientEventListener('NetworkEvent');\n }\n\n set allowNavigationWithoutReload (allow) {\n this._allowNavigationWithoutReload = allow;\n }\n\n get allowNavigationWithoutReload () {\n return this._allowNavigationWithoutReload;\n }\n\n // Potentially this does not work for mobile safari\n async overrideUserAgent (value) {\n log.debug('Setting overrideUserAgent');\n return await this.rpcClient.send('Page.overrideUserAgent', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n value\n });\n }\n\n async getCookies () {\n log.debug('Getting cookies');\n return await this.rpcClient.send('Page.getCookies', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey\n });\n }\n\n async setCookie (cookie) {\n log.debug('Setting cookie');\n return await this.rpcClient.send('Page.setCookie', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n cookie\n });\n }\n\n async deleteCookie (cookieName, url) {\n log.debug(`Deleting cookie '${cookieName}' on '${url}'`);\n return await this.rpcClient.send('Page.deleteCookie', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n cookieName,\n url,\n });\n }\n\n async garbageCollect (timeoutMs = GARBAGE_COLLECT_TIMEOUT) {\n log.debug(`Garbage collecting with ${timeoutMs}ms timeout`);\n try {\n checkParams({appIdKey: this.appIdKey, pageIdKey: this.pageIdKey});\n } catch (err) {\n log.debug(`Unable to collect garbage at this time`);\n return;\n }\n\n await B.resolve(this.rpcClient.send('Heap.gc', {\n appIdKey: this.appIdKey,\n pageIdKey: this.pageIdKey,\n })).timeout(timeoutMs)\n .then(function gcSuccess () { // eslint-disable-line promise/prefer-await-to-then\n log.debug(`Garbage collection successful`);\n }).catch(function gcError (err) { // eslint-disable-line promise/prefer-await-to-callbacks\n if (err instanceof B.TimeoutError) {\n log.debug(`Garbage collection timed out after ${timeoutMs}ms`);\n } else {\n log.debug(`Unable to collect garbage: ${err.message}`);\n }\n });\n }\n\n async useAppDictLock (fn) {\n return await this._lock.acquire('appDict', fn);\n }\n\n get skippedApps () {\n return this._skippedApps || [];\n }\n}\n\nfor (const [name, fn] of _.toPairs(mixins)) {\n RemoteDebugger.prototype[name] = fn;\n}\n\nfor (const [name, event] of _.toPairs(events)) {\n RemoteDebugger[name] = event;\n}\n\nexport default RemoteDebugger;\nexport {\n RemoteDebugger, REMOTE_DEBUGGER_PORT, RPC_RESPONSE_TIMEOUT_MS,\n};\n"],"mappings":"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"}
|
package/build/lib/rpc/index.js
CHANGED
|
@@ -19,4 +19,4 @@ Object.defineProperty(exports, "RpcClientSimulator", {
|
|
|
19
19
|
require("source-map-support/register");
|
|
20
20
|
var _rpcClientSimulator = _interopRequireDefault(require("./rpc-client-simulator"));
|
|
21
21
|
var _rpcClientRealDevice = _interopRequireDefault(require("./rpc-client-real-device"));
|
|
22
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcnBjQ2xpZW50U2ltdWxhdG9yIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcnBjQ2xpZW50UmVhbERldmljZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9ycGMvaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJwY0NsaWVudFNpbXVsYXRvciBmcm9tICcuL3JwYy1jbGllbnQtc2ltdWxhdG9yJztcbmltcG9ydCBScGNDbGllbnRSZWFsRGV2aWNlIGZyb20gJy4vcnBjLWNsaWVudC1yZWFsLWRldmljZSc7XG5cblxuZXhwb3J0IHsgUnBjQ2xpZW50U2ltdWxhdG9yLCBScGNDbGllbnRSZWFsRGV2aWNlIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxtQkFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsb0JBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQSJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../lib/rpc/index.js"],"sourcesContent":["import RpcClientSimulator from './rpc-client-simulator';\nimport RpcClientRealDevice from './rpc-client-real-device';\n\n\nexport { RpcClientSimulator, RpcClientRealDevice };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AACA"}
|
|
1
|
+
{"version":3,"file":"index.js","names":["_rpcClientSimulator","_interopRequireDefault","require","_rpcClientRealDevice"],"sources":["../../../lib/rpc/index.js"],"sourcesContent":["import RpcClientSimulator from './rpc-client-simulator';\nimport RpcClientRealDevice from './rpc-client-real-device';\n\n\nexport { RpcClientSimulator, RpcClientRealDevice };\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,mBAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,oBAAA,GAAAF,sBAAA,CAAAC,OAAA"}
|
|
@@ -234,4 +234,4 @@ class RemoteMessages {
|
|
|
234
234
|
exports.RemoteMessages = RemoteMessages;
|
|
235
235
|
var _default = RemoteMessages;
|
|
236
236
|
exports.default = _default;
|
|
237
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPQkpFQ1RfR1JPVVAiLCJNSU5JTUFMX0NPTU1BTkQiLCJGVUxMX0NPTU1BTkQiLCJESVJFQ1RfQ09NTUFORCIsIkNPTU1BTkRTIiwiUmVtb3RlTWVzc2FnZXMiLCJjb25zdHJ1Y3RvciIsImlzVGFyZ2V0QmFzZWQiLCJfaXNUYXJnZXRCYXNlZCIsInNldENvbm5lY3Rpb25LZXkiLCJjb25uSWQiLCJfX2FyZ3VtZW50IiwiV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXkiLCJfX3NlbGVjdG9yIiwiY29ubmVjdFRvQXBwIiwiYXBwSWRLZXkiLCJXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXkiLCJzZXRTZW5kZXJLZXkiLCJzZW5kZXJJZCIsInBhZ2VJZEtleSIsIldJUlNlbmRlcktleSIsIldJUlBhZ2VJZGVudGlmaWVyS2V5IiwiV0lSQXV0b21hdGljYWxseVBhdXNlIiwiaW5kaWNhdGVXZWJWaWV3IiwiZW5hYmxlZCIsIldJUkluZGljYXRlRW5hYmxlZEtleSIsIl8iLCJpc05pbCIsImxhdW5jaEFwcGxpY2F0aW9uIiwiYnVuZGxlSWQiLCJXSVJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJLZXkiLCJnZXRGdWxsQ29tbWFuZCIsIm9wdHMiLCJtZXRob2QiLCJwYXJhbXMiLCJ0YXJnZXRJZCIsImlkIiwicmVhbE1ldGhvZCIsInJlYWxQYXJhbXMiLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsIk9iamVjdCIsImFzc2lnbiIsIm9iamVjdEdyb3VwIiwiaW5jbHVkZUNvbW1hbmRMaW5lQVBJIiwiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwiZW11bGF0ZVVzZXJHZXN0dXJlIiwiZ2VuZXJhdGVQcmV2aWV3Iiwic2F2ZVJlc3VsdCIsInBsaXN0IiwiV0lSU29ja2V0RGF0YUtleSIsIm9taXRCeSIsImdldE1pbmltYWxDb21tYW5kIiwiZ2V0RGlyZWN0Q29tbWFuZCIsImdldFJlbW90ZUNvbW1hbmQiLCJjb21tYW5kIiwiYnVpbGRlckZ1bmN0aW9uIiwiZ2V0UHJvdG9jb2xDb21tYW5kIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3JwYy9yZW1vdGUtbWVzc2FnZXMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBnZXRQcm90b2NvbENvbW1hbmQgZnJvbSAnLi4vcHJvdG9jb2wnO1xuXG5cbmNvbnN0IE9CSkVDVF9HUk9VUCA9ICdjb25zb2xlJztcblxuY29uc3QgTUlOSU1BTF9DT01NQU5EID0gJ2dldE1pbmltYWxDb21tYW5kJztcbmNvbnN0IEZVTExfQ09NTUFORCA9ICdnZXRGdWxsQ29tbWFuZCc7XG5jb25zdCBESVJFQ1RfQ09NTUFORCA9ICdnZXREaXJlY3RDb21tYW5kJztcblxuLy8gbWFwcGluZyBvZiBjb21tYW5kcyB0byB0aGUgZnVuY3Rpb24gZm9yIGdldHRpbmcgdGhlIGNvbW1hbmRcbi8vIGRlZmF1bHRzIHRvIGBnZXRNaW5pbWFsQ29tbWFuZGAsIHNvIG5vIG5lZWQgdG8gaGF2ZSB0aG9zZSBsaXN0ZWQgaGVyZVxuY29uc3QgQ09NTUFORFMgPSB7XG4gICdQYWdlLmdldENvb2tpZXMnOiBGVUxMX0NPTU1BTkQsXG4gICdQYWdlLm5hdmlnYXRlJzogRlVMTF9DT01NQU5ELFxuXG4gICdSdW50aW1lLmF3YWl0UHJvbWlzZSc6IEZVTExfQ09NTUFORCxcbiAgJ1J1bnRpbWUuY2FsbEZ1bmN0aW9uT24nOiBGVUxMX0NPTU1BTkQsXG4gICdSdW50aW1lLmV2YWx1YXRlJzogRlVMTF9DT01NQU5ELFxuXG4gICdUYXJnZXQuZXhpc3RzJzogRElSRUNUX0NPTU1BTkQsXG5cbiAgJ1RpbWVsaW5lLnN0YXJ0JzogRlVMTF9DT01NQU5ELFxuICAnVGltZWxpbmUuc3RvcCc6IEZVTExfQ09NTUFORCxcbn07XG5cbmNsYXNzIFJlbW90ZU1lc3NhZ2VzIHtcbiAgY29uc3RydWN0b3IgKGlzVGFyZ2V0QmFzZWQgPSBmYWxzZSkge1xuICAgIHRoaXMuaXNUYXJnZXRCYXNlZCA9IGlzVGFyZ2V0QmFzZWQ7XG4gIH1cblxuICBzZXQgaXNUYXJnZXRCYXNlZCAoaXNUYXJnZXRCYXNlZCkge1xuICAgIHRoaXMuX2lzVGFyZ2V0QmFzZWQgPSBpc1RhcmdldEJhc2VkO1xuICB9XG5cbiAgZ2V0IGlzVGFyZ2V0QmFzZWQgKCkge1xuICAgIHJldHVybiB0aGlzLl9pc1RhcmdldEJhc2VkO1xuICB9XG5cbiAgLypcbiAgICogQ29ubmVjdGlvbiBmdW5jdGlvbnNcbiAgICovXG5cbiAgc2V0Q29ubmVjdGlvbktleSAoY29ubklkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZFxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX3JlcG9ydElkZW50aWZpZXI6J1xuICAgIH07XG4gIH1cblxuICBjb25uZWN0VG9BcHAgKGNvbm5JZCwgYXBwSWRLZXkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgX19hcmd1bWVudDoge1xuICAgICAgICBXSVJDb25uZWN0aW9uSWRlbnRpZmllcktleTogY29ubklkLFxuICAgICAgICBXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXk6IGFwcElkS2V5XG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZEdldExpc3Rpbmc6J1xuICAgIH07XG4gIH1cblxuICBzZXRTZW5kZXJLZXkgKGNvbm5JZCwgc2VuZGVySWQsIGFwcElkS2V5LCBwYWdlSWRLZXkpIHtcbiAgICByZXR1cm4ge1xuICAgICAgX19hcmd1bWVudDoge1xuICAgICAgICBXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXk6IGFwcElkS2V5LFxuICAgICAgICBXSVJDb25uZWN0aW9uSWRlbnRpZmllcktleTogY29ubklkLFxuICAgICAgICBXSVJTZW5kZXJLZXk6IHNlbmRlcklkLFxuICAgICAgICBXSVJQYWdlSWRlbnRpZmllcktleTogcGFnZUlkS2V5LFxuICAgICAgICBXSVJBdXRvbWF0aWNhbGx5UGF1c2U6IGZhbHNlXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZFNvY2tldFNldHVwOidcbiAgICB9O1xuICB9XG5cbiAgaW5kaWNhdGVXZWJWaWV3IChjb25uSWQsIGFwcElkS2V5LCBwYWdlSWRLZXksIGVuYWJsZWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgX19hcmd1bWVudDoge1xuICAgICAgICBXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXk6IGFwcElkS2V5LFxuICAgICAgICBXSVJJbmRpY2F0ZUVuYWJsZWRLZXk6IF8uaXNOaWwoZW5hYmxlZCkgPyB0cnVlIDogZW5hYmxlZCxcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSUGFnZUlkZW50aWZpZXJLZXk6IHBhZ2VJZEtleVxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRJbmRpY2F0ZVdlYlZpZXc6J1xuICAgIH07XG4gIH1cblxuICBsYXVuY2hBcHBsaWNhdGlvbiAoYnVuZGxlSWQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgX19hcmd1bWVudDoge1xuICAgICAgICBXSVJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJLZXk6IGJ1bmRsZUlkXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfcmVxdWVzdEFwcGxpY2F0aW9uTGF1bmNoOidcbiAgICB9O1xuICB9XG5cbiAgZ2V0RnVsbENvbW1hbmQgKG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIHBhcmFtcyxcbiAgICAgIGNvbm5JZCxcbiAgICAgIHNlbmRlcklkLFxuICAgICAgYXBwSWRLZXksXG4gICAgICBwYWdlSWRLZXksXG4gICAgICB0YXJnZXRJZCxcbiAgICAgIGlkLFxuICAgIH0gPSBvcHRzO1xuXG4gICAgLyogVGhlIFdlYiBJbnNwZWN0b3IgaGFzIGEgbnVtYmVyIG9mIHBhcmFtZXRlcnMgdGhhdCBjYW4gYmUgcGFzc2VkIGluLCBhc1xuICAgICAqIHNlZW4gd2hlbiBkdW1waW5nIHdoYXQgU2FmYXJpIGlzIGRvaW5nIHdoZW4gY29tbXVuaWNhdGluZyB3aXRoIGl0LiBNb3N0XG4gICAgICogYXJlIGtlcHQgYXMgdGhleSBhcmUgc2V0IGZvciBTYWZhcmkuIFRoZSBleGNlcHRpb24gaXMgYGVtdWxhdGVVc2VyR2VzdHVyZWBcbiAgICAgKiB3aGljaCwgb24gaU9TIDEzKywgYnJlYWtzIHBvcHVwIGJsb2NraW5nIChpLmUuLCBldmVuIHdpdGggdGhlIHBvcHVwXG4gICAgICogYmxvY2tpbmcgc2V0dGluZyBvbiwgbmV3IHdpbmRvd3MgYXJlIG9wZW5hYmxlIGJvdGggZnJvbSBsaW5rcyBhbmQgZnJvbVxuICAgICAqIEphdmFTY3JpcHQpLlxuICAgICAqL1xuXG4gICAgbGV0IHJlYWxNZXRob2Q7XG4gICAgbGV0IHJlYWxQYXJhbXM7XG4gICAgaWYgKHRoaXMuaXNUYXJnZXRCYXNlZCkge1xuICAgICAgcmVhbE1ldGhvZCA9ICdUYXJnZXQuc2VuZE1lc3NhZ2VUb1RhcmdldCc7XG4gICAgICByZWFsUGFyYW1zID0ge1xuICAgICAgICB0YXJnZXRJZCxcbiAgICAgICAgbWVzc2FnZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBwYXJhbXM6IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgb2JqZWN0R3JvdXA6IE9CSkVDVF9HUk9VUCxcbiAgICAgICAgICAgIGluY2x1ZGVDb21tYW5kTGluZUFQSTogdHJ1ZSxcbiAgICAgICAgICAgIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZTogZmFsc2UsXG4gICAgICAgICAgICBlbXVsYXRlVXNlckdlc3R1cmU6IGZhbHNlLFxuICAgICAgICAgICAgZ2VuZXJhdGVQcmV2aWV3OiBmYWxzZSxcbiAgICAgICAgICAgIHNhdmVSZXN1bHQ6IGZhbHNlLFxuICAgICAgICAgIH0sIHBhcmFtcylcbiAgICAgICAgfSksXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZWFsTWV0aG9kID0gbWV0aG9kO1xuICAgICAgcmVhbFBhcmFtcyA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICBvYmplY3RHcm91cDogT0JKRUNUX0dST1VQLFxuICAgICAgICBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUsXG4gICAgICAgIGRvTm90UGF1c2VPbkV4Y2VwdGlvbnNBbmRNdXRlQ29uc29sZTogZmFsc2UsXG4gICAgICAgIGVtdWxhdGVVc2VyR2VzdHVyZTogZmFsc2UsXG4gICAgICB9LCBwYXJhbXMpO1xuICAgIH1cblxuICAgIGNvbnN0IHBsaXN0ID0ge1xuICAgICAgX19hcmd1bWVudDoge1xuICAgICAgICBXSVJTb2NrZXREYXRhS2V5OiB7XG4gICAgICAgICAgbWV0aG9kOiByZWFsTWV0aG9kLFxuICAgICAgICAgIHBhcmFtczogcmVhbFBhcmFtcyxcbiAgICAgICAgfSxcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSU2VuZGVyS2V5OiBzZW5kZXJJZCxcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleSxcbiAgICAgICAgV0lSUGFnZUlkZW50aWZpZXJLZXk6IHBhZ2VJZEtleSxcbiAgICAgIH0sXG4gICAgICBfX3NlbGVjdG9yOiAnX3JwY19mb3J3YXJkU29ja2V0RGF0YTonLFxuICAgIH07XG4gICAgcmV0dXJuIF8ub21pdEJ5KHBsaXN0LCBfLmlzTmlsKTtcbiAgfVxuXG4gIGdldE1pbmltYWxDb21tYW5kIChvcHRzID0ge30pIHtcbiAgICBjb25zdCB7bWV0aG9kLCBwYXJhbXMsIGNvbm5JZCwgc2VuZGVySWQsIGFwcElkS2V5LCBwYWdlSWRLZXksIHRhcmdldElkLCBpZH0gPSBvcHRzO1xuXG4gICAgbGV0IHJlYWxNZXRob2QgPSBtZXRob2Q7XG4gICAgbGV0IHJlYWxQYXJhbXMgPSBwYXJhbXM7XG4gICAgaWYgKHRoaXMuaXNUYXJnZXRCYXNlZCkge1xuICAgICAgcmVhbE1ldGhvZCA9ICdUYXJnZXQuc2VuZE1lc3NhZ2VUb1RhcmdldCc7XG4gICAgICByZWFsUGFyYW1zID0ge1xuICAgICAgICB0YXJnZXRJZCxcbiAgICAgICAgbWVzc2FnZTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBjb25zdCBwbGlzdCA9IHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSU29ja2V0RGF0YUtleToge1xuICAgICAgICAgIG1ldGhvZDogcmVhbE1ldGhvZCxcbiAgICAgICAgICBwYXJhbXM6IHJlYWxQYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlNlbmRlcktleTogc2VuZGVySWQsXG4gICAgICAgIFdJUkFwcGxpY2F0aW9uSWRlbnRpZmllcktleTogYXBwSWRLZXksXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXksXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZFNvY2tldERhdGE6J1xuICAgIH07XG4gICAgcmV0dXJuIF8ub21pdEJ5KHBsaXN0LCBfLmlzTmlsKTtcbiAgfVxuXG4gIGdldERpcmVjdENvbW1hbmQgKG9wdHMgPSB7fSkge1xuICAgIGNvbnN0IHttZXRob2QsIHBhcmFtcywgY29ubklkLCBzZW5kZXJJZCwgYXBwSWRLZXksIHBhZ2VJZEtleSwgaWR9ID0gb3B0cztcblxuICAgIGNvbnN0IHBsaXN0ID0ge1xuICAgICAgX19hcmd1bWVudDoge1xuICAgICAgICBXSVJTb2NrZXREYXRhS2V5OiB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgfSxcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSU2VuZGVyS2V5OiBzZW5kZXJJZCxcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleSxcbiAgICAgICAgV0lSUGFnZUlkZW50aWZpZXJLZXk6IHBhZ2VJZEtleSxcbiAgICAgIH0sXG4gICAgICBfX3NlbGVjdG9yOiAnX3JwY19mb3J3YXJkU29ja2V0RGF0YTonXG4gICAgfTtcbiAgICByZXR1cm4gXy5vbWl0QnkocGxpc3QsIF8uaXNOaWwpO1xuICB9XG5cbiAgZ2V0UmVtb3RlQ29tbWFuZCAoY29tbWFuZCwgb3B0cykge1xuICAgIGNvbnN0IHtcbiAgICAgIGlkLFxuICAgICAgY29ubklkLFxuICAgICAgYXBwSWRLZXksXG4gICAgICBzZW5kZXJJZCxcbiAgICAgIHBhZ2VJZEtleSxcbiAgICAgIHRhcmdldElkLFxuICAgIH0gPSBvcHRzO1xuXG4gICAgLy8gZGVhbCB3aXRoIFNhZmFyaSBXZWIgSW5zcGVjdG9yIGNvbW1hbmRzXG4gICAgc3dpdGNoIChjb21tYW5kKSB7XG4gICAgICBjYXNlICdzZXRDb25uZWN0aW9uS2V5JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuc2V0Q29ubmVjdGlvbktleShjb25uSWQpO1xuICAgICAgY2FzZSAnaW5kaWNhdGVXZWJWaWV3JzpcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5kaWNhdGVXZWJWaWV3KGNvbm5JZCwgYXBwSWRLZXksIHBhZ2VJZEtleSwgb3B0cy5lbmFibGVkKTtcbiAgICAgIGNhc2UgJ2Nvbm5lY3RUb0FwcCc6XG4gICAgICAgIHJldHVybiB0aGlzLmNvbm5lY3RUb0FwcChjb25uSWQsIGFwcElkS2V5KTtcbiAgICAgIGNhc2UgJ3NldFNlbmRlcktleSc6XG4gICAgICAgIHJldHVybiB0aGlzLnNldFNlbmRlcktleShjb25uSWQsIHNlbmRlcklkLCBhcHBJZEtleSwgcGFnZUlkS2V5KTtcbiAgICAgIGNhc2UgJ2xhdW5jaEFwcGxpY2F0aW9uJzpcbiAgICAgICAgcmV0dXJuIHRoaXMubGF1bmNoQXBwbGljYXRpb24ob3B0cy5idW5kbGVJZCk7XG4gICAgfVxuXG4gICAgLy8gZGVhbCB3aXRoIFdlYktpdCBjb21tYW5kc1xuICAgIGNvbnN0IGJ1aWxkZXJGdW5jdGlvbiA9IENPTU1BTkRTW2NvbW1hbmRdIHx8IE1JTklNQUxfQ09NTUFORDtcbiAgICByZXR1cm4gdGhpc1tidWlsZGVyRnVuY3Rpb25dKHtcbiAgICAgIC4uLmdldFByb3RvY29sQ29tbWFuZChpZCwgY29tbWFuZCwgb3B0cyksXG4gICAgICBjb25uSWQsXG4gICAgICBhcHBJZEtleSxcbiAgICAgIHNlbmRlcklkLFxuICAgICAgcGFnZUlkS2V5LFxuICAgICAgdGFyZ2V0SWQsXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgUmVtb3RlTWVzc2FnZXMgfTtcbmV4cG9ydCBkZWZhdWx0IFJlbW90ZU1lc3NhZ2VzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBO0FBQ0E7QUFHQSxNQUFNQSxZQUFZLEdBQUcsU0FBUztBQUU5QixNQUFNQyxlQUFlLEdBQUcsbUJBQW1CO0FBQzNDLE1BQU1DLFlBQVksR0FBRyxnQkFBZ0I7QUFDckMsTUFBTUMsY0FBYyxHQUFHLGtCQUFrQjtBQUl6QyxNQUFNQyxRQUFRLEdBQUc7RUFDZixpQkFBaUIsRUFBRUYsWUFBWTtFQUMvQixlQUFlLEVBQUVBLFlBQVk7RUFFN0Isc0JBQXNCLEVBQUVBLFlBQVk7RUFDcEMsd0JBQXdCLEVBQUVBLFlBQVk7RUFDdEMsa0JBQWtCLEVBQUVBLFlBQVk7RUFFaEMsZUFBZSxFQUFFQyxjQUFjO0VBRS9CLGdCQUFnQixFQUFFRCxZQUFZO0VBQzlCLGVBQWUsRUFBRUE7QUFDbkIsQ0FBQztBQUVELE1BQU1HLGNBQWMsQ0FBQztFQUNuQkMsV0FBVyxDQUFFQyxhQUFhLEdBQUcsS0FBSyxFQUFFO0lBQ2xD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
|
|
237
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9kYXNoIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcHJvdG9jb2wiLCJPQkpFQ1RfR1JPVVAiLCJNSU5JTUFMX0NPTU1BTkQiLCJGVUxMX0NPTU1BTkQiLCJESVJFQ1RfQ09NTUFORCIsIkNPTU1BTkRTIiwiUmVtb3RlTWVzc2FnZXMiLCJjb25zdHJ1Y3RvciIsImlzVGFyZ2V0QmFzZWQiLCJfaXNUYXJnZXRCYXNlZCIsInNldENvbm5lY3Rpb25LZXkiLCJjb25uSWQiLCJfX2FyZ3VtZW50IiwiV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXkiLCJfX3NlbGVjdG9yIiwiY29ubmVjdFRvQXBwIiwiYXBwSWRLZXkiLCJXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXkiLCJzZXRTZW5kZXJLZXkiLCJzZW5kZXJJZCIsInBhZ2VJZEtleSIsIldJUlNlbmRlcktleSIsIldJUlBhZ2VJZGVudGlmaWVyS2V5IiwiV0lSQXV0b21hdGljYWxseVBhdXNlIiwiaW5kaWNhdGVXZWJWaWV3IiwiZW5hYmxlZCIsIldJUkluZGljYXRlRW5hYmxlZEtleSIsIl8iLCJpc05pbCIsImxhdW5jaEFwcGxpY2F0aW9uIiwiYnVuZGxlSWQiLCJXSVJBcHBsaWNhdGlvbkJ1bmRsZUlkZW50aWZpZXJLZXkiLCJnZXRGdWxsQ29tbWFuZCIsIm9wdHMiLCJtZXRob2QiLCJwYXJhbXMiLCJ0YXJnZXRJZCIsImlkIiwicmVhbE1ldGhvZCIsInJlYWxQYXJhbXMiLCJtZXNzYWdlIiwiSlNPTiIsInN0cmluZ2lmeSIsIk9iamVjdCIsImFzc2lnbiIsIm9iamVjdEdyb3VwIiwiaW5jbHVkZUNvbW1hbmRMaW5lQVBJIiwiZG9Ob3RQYXVzZU9uRXhjZXB0aW9uc0FuZE11dGVDb25zb2xlIiwiZW11bGF0ZVVzZXJHZXN0dXJlIiwiZ2VuZXJhdGVQcmV2aWV3Iiwic2F2ZVJlc3VsdCIsInBsaXN0IiwiV0lSU29ja2V0RGF0YUtleSIsIm9taXRCeSIsImdldE1pbmltYWxDb21tYW5kIiwiZ2V0RGlyZWN0Q29tbWFuZCIsImdldFJlbW90ZUNvbW1hbmQiLCJjb21tYW5kIiwiYnVpbGRlckZ1bmN0aW9uIiwiZ2V0UHJvdG9jb2xDb21tYW5kIiwiZXhwb3J0cyIsIl9kZWZhdWx0IiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9ycGMvcmVtb3RlLW1lc3NhZ2VzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgZ2V0UHJvdG9jb2xDb21tYW5kIGZyb20gJy4uL3Byb3RvY29sJztcblxuXG5jb25zdCBPQkpFQ1RfR1JPVVAgPSAnY29uc29sZSc7XG5cbmNvbnN0IE1JTklNQUxfQ09NTUFORCA9ICdnZXRNaW5pbWFsQ29tbWFuZCc7XG5jb25zdCBGVUxMX0NPTU1BTkQgPSAnZ2V0RnVsbENvbW1hbmQnO1xuY29uc3QgRElSRUNUX0NPTU1BTkQgPSAnZ2V0RGlyZWN0Q29tbWFuZCc7XG5cbi8vIG1hcHBpbmcgb2YgY29tbWFuZHMgdG8gdGhlIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHRoZSBjb21tYW5kXG4vLyBkZWZhdWx0cyB0byBgZ2V0TWluaW1hbENvbW1hbmRgLCBzbyBubyBuZWVkIHRvIGhhdmUgdGhvc2UgbGlzdGVkIGhlcmVcbmNvbnN0IENPTU1BTkRTID0ge1xuICAnUGFnZS5nZXRDb29raWVzJzogRlVMTF9DT01NQU5ELFxuICAnUGFnZS5uYXZpZ2F0ZSc6IEZVTExfQ09NTUFORCxcblxuICAnUnVudGltZS5hd2FpdFByb21pc2UnOiBGVUxMX0NPTU1BTkQsXG4gICdSdW50aW1lLmNhbGxGdW5jdGlvbk9uJzogRlVMTF9DT01NQU5ELFxuICAnUnVudGltZS5ldmFsdWF0ZSc6IEZVTExfQ09NTUFORCxcblxuICAnVGFyZ2V0LmV4aXN0cyc6IERJUkVDVF9DT01NQU5ELFxuXG4gICdUaW1lbGluZS5zdGFydCc6IEZVTExfQ09NTUFORCxcbiAgJ1RpbWVsaW5lLnN0b3AnOiBGVUxMX0NPTU1BTkQsXG59O1xuXG5jbGFzcyBSZW1vdGVNZXNzYWdlcyB7XG4gIGNvbnN0cnVjdG9yIChpc1RhcmdldEJhc2VkID0gZmFsc2UpIHtcbiAgICB0aGlzLmlzVGFyZ2V0QmFzZWQgPSBpc1RhcmdldEJhc2VkO1xuICB9XG5cbiAgc2V0IGlzVGFyZ2V0QmFzZWQgKGlzVGFyZ2V0QmFzZWQpIHtcbiAgICB0aGlzLl9pc1RhcmdldEJhc2VkID0gaXNUYXJnZXRCYXNlZDtcbiAgfVxuXG4gIGdldCBpc1RhcmdldEJhc2VkICgpIHtcbiAgICByZXR1cm4gdGhpcy5faXNUYXJnZXRCYXNlZDtcbiAgfVxuXG4gIC8qXG4gICAqIENvbm5lY3Rpb24gZnVuY3Rpb25zXG4gICAqL1xuXG4gIHNldENvbm5lY3Rpb25LZXkgKGNvbm5JZCkge1xuICAgIHJldHVybiB7XG4gICAgICBfX2FyZ3VtZW50OiB7XG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWRcbiAgICAgIH0sXG4gICAgICBfX3NlbGVjdG9yOiAnX3JwY19yZXBvcnRJZGVudGlmaWVyOidcbiAgICB9O1xuICB9XG5cbiAgY29ubmVjdFRvQXBwIChjb25uSWQsIGFwcElkS2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleVxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRHZXRMaXN0aW5nOidcbiAgICB9O1xuICB9XG5cbiAgc2V0U2VuZGVyS2V5IChjb25uSWQsIHNlbmRlcklkLCBhcHBJZEtleSwgcGFnZUlkS2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleSxcbiAgICAgICAgV0lSQ29ubmVjdGlvbklkZW50aWZpZXJLZXk6IGNvbm5JZCxcbiAgICAgICAgV0lSU2VuZGVyS2V5OiBzZW5kZXJJZCxcbiAgICAgICAgV0lSUGFnZUlkZW50aWZpZXJLZXk6IHBhZ2VJZEtleSxcbiAgICAgICAgV0lSQXV0b21hdGljYWxseVBhdXNlOiBmYWxzZVxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRTb2NrZXRTZXR1cDonXG4gICAgfTtcbiAgfVxuXG4gIGluZGljYXRlV2ViVmlldyAoY29ubklkLCBhcHBJZEtleSwgcGFnZUlkS2V5LCBlbmFibGVkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25JZGVudGlmaWVyS2V5OiBhcHBJZEtleSxcbiAgICAgICAgV0lSSW5kaWNhdGVFbmFibGVkS2V5OiBfLmlzTmlsKGVuYWJsZWQpID8gdHJ1ZSA6IGVuYWJsZWQsXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXlcbiAgICAgIH0sXG4gICAgICBfX3NlbGVjdG9yOiAnX3JwY19mb3J3YXJkSW5kaWNhdGVXZWJWaWV3OidcbiAgICB9O1xuICB9XG5cbiAgbGF1bmNoQXBwbGljYXRpb24gKGJ1bmRsZUlkKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSQXBwbGljYXRpb25CdW5kbGVJZGVudGlmaWVyS2V5OiBidW5kbGVJZFxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX3JlcXVlc3RBcHBsaWNhdGlvbkxhdW5jaDonXG4gICAgfTtcbiAgfVxuXG4gIGdldEZ1bGxDb21tYW5kIChvcHRzID0ge30pIHtcbiAgICBjb25zdCB7XG4gICAgICBtZXRob2QsXG4gICAgICBwYXJhbXMsXG4gICAgICBjb25uSWQsXG4gICAgICBzZW5kZXJJZCxcbiAgICAgIGFwcElkS2V5LFxuICAgICAgcGFnZUlkS2V5LFxuICAgICAgdGFyZ2V0SWQsXG4gICAgICBpZCxcbiAgICB9ID0gb3B0cztcblxuICAgIC8qIFRoZSBXZWIgSW5zcGVjdG9yIGhhcyBhIG51bWJlciBvZiBwYXJhbWV0ZXJzIHRoYXQgY2FuIGJlIHBhc3NlZCBpbiwgYXNcbiAgICAgKiBzZWVuIHdoZW4gZHVtcGluZyB3aGF0IFNhZmFyaSBpcyBkb2luZyB3aGVuIGNvbW11bmljYXRpbmcgd2l0aCBpdC4gTW9zdFxuICAgICAqIGFyZSBrZXB0IGFzIHRoZXkgYXJlIHNldCBmb3IgU2FmYXJpLiBUaGUgZXhjZXB0aW9uIGlzIGBlbXVsYXRlVXNlckdlc3R1cmVgXG4gICAgICogd2hpY2gsIG9uIGlPUyAxMyssIGJyZWFrcyBwb3B1cCBibG9ja2luZyAoaS5lLiwgZXZlbiB3aXRoIHRoZSBwb3B1cFxuICAgICAqIGJsb2NraW5nIHNldHRpbmcgb24sIG5ldyB3aW5kb3dzIGFyZSBvcGVuYWJsZSBib3RoIGZyb20gbGlua3MgYW5kIGZyb21cbiAgICAgKiBKYXZhU2NyaXB0KS5cbiAgICAgKi9cblxuICAgIGxldCByZWFsTWV0aG9kO1xuICAgIGxldCByZWFsUGFyYW1zO1xuICAgIGlmICh0aGlzLmlzVGFyZ2V0QmFzZWQpIHtcbiAgICAgIHJlYWxNZXRob2QgPSAnVGFyZ2V0LnNlbmRNZXNzYWdlVG9UYXJnZXQnO1xuICAgICAgcmVhbFBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcGFyYW1zOiBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgICAgIG9iamVjdEdyb3VwOiBPQkpFQ1RfR1JPVVAsXG4gICAgICAgICAgICBpbmNsdWRlQ29tbWFuZExpbmVBUEk6IHRydWUsXG4gICAgICAgICAgICBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IGZhbHNlLFxuICAgICAgICAgICAgZW11bGF0ZVVzZXJHZXN0dXJlOiBmYWxzZSxcbiAgICAgICAgICAgIGdlbmVyYXRlUHJldmlldzogZmFsc2UsXG4gICAgICAgICAgICBzYXZlUmVzdWx0OiBmYWxzZSxcbiAgICAgICAgICB9LCBwYXJhbXMpXG4gICAgICAgIH0pLFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVhbE1ldGhvZCA9IG1ldGhvZDtcbiAgICAgIHJlYWxQYXJhbXMgPSBPYmplY3QuYXNzaWduKHtcbiAgICAgICAgb2JqZWN0R3JvdXA6IE9CSkVDVF9HUk9VUCxcbiAgICAgICAgaW5jbHVkZUNvbW1hbmRMaW5lQVBJOiB0cnVlLFxuICAgICAgICBkb05vdFBhdXNlT25FeGNlcHRpb25zQW5kTXV0ZUNvbnNvbGU6IGZhbHNlLFxuICAgICAgICBlbXVsYXRlVXNlckdlc3R1cmU6IGZhbHNlLFxuICAgICAgfSwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBjb25zdCBwbGlzdCA9IHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSU29ja2V0RGF0YUtleToge1xuICAgICAgICAgIG1ldGhvZDogcmVhbE1ldGhvZCxcbiAgICAgICAgICBwYXJhbXM6IHJlYWxQYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlNlbmRlcktleTogc2VuZGVySWQsXG4gICAgICAgIFdJUkFwcGxpY2F0aW9uSWRlbnRpZmllcktleTogYXBwSWRLZXksXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXksXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZFNvY2tldERhdGE6JyxcbiAgICB9O1xuICAgIHJldHVybiBfLm9taXRCeShwbGlzdCwgXy5pc05pbCk7XG4gIH1cblxuICBnZXRNaW5pbWFsQ29tbWFuZCAob3B0cyA9IHt9KSB7XG4gICAgY29uc3Qge21ldGhvZCwgcGFyYW1zLCBjb25uSWQsIHNlbmRlcklkLCBhcHBJZEtleSwgcGFnZUlkS2V5LCB0YXJnZXRJZCwgaWR9ID0gb3B0cztcblxuICAgIGxldCByZWFsTWV0aG9kID0gbWV0aG9kO1xuICAgIGxldCByZWFsUGFyYW1zID0gcGFyYW1zO1xuICAgIGlmICh0aGlzLmlzVGFyZ2V0QmFzZWQpIHtcbiAgICAgIHJlYWxNZXRob2QgPSAnVGFyZ2V0LnNlbmRNZXNzYWdlVG9UYXJnZXQnO1xuICAgICAgcmVhbFBhcmFtcyA9IHtcbiAgICAgICAgdGFyZ2V0SWQsXG4gICAgICAgIG1lc3NhZ2U6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICBpZCxcbiAgICAgICAgICBtZXRob2QsXG4gICAgICAgICAgcGFyYW1zLFxuICAgICAgICB9KSxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgY29uc3QgcGxpc3QgPSB7XG4gICAgICBfX2FyZ3VtZW50OiB7XG4gICAgICAgIFdJUlNvY2tldERhdGFLZXk6IHtcbiAgICAgICAgICBtZXRob2Q6IHJlYWxNZXRob2QsXG4gICAgICAgICAgcGFyYW1zOiByZWFsUGFyYW1zLFxuICAgICAgICB9LFxuICAgICAgICBXSVJDb25uZWN0aW9uSWRlbnRpZmllcktleTogY29ubklkLFxuICAgICAgICBXSVJTZW5kZXJLZXk6IHNlbmRlcklkLFxuICAgICAgICBXSVJBcHBsaWNhdGlvbklkZW50aWZpZXJLZXk6IGFwcElkS2V5LFxuICAgICAgICBXSVJQYWdlSWRlbnRpZmllcktleTogcGFnZUlkS2V5LFxuICAgICAgfSxcbiAgICAgIF9fc2VsZWN0b3I6ICdfcnBjX2ZvcndhcmRTb2NrZXREYXRhOidcbiAgICB9O1xuICAgIHJldHVybiBfLm9taXRCeShwbGlzdCwgXy5pc05pbCk7XG4gIH1cblxuICBnZXREaXJlY3RDb21tYW5kIChvcHRzID0ge30pIHtcbiAgICBjb25zdCB7bWV0aG9kLCBwYXJhbXMsIGNvbm5JZCwgc2VuZGVySWQsIGFwcElkS2V5LCBwYWdlSWRLZXksIGlkfSA9IG9wdHM7XG5cbiAgICBjb25zdCBwbGlzdCA9IHtcbiAgICAgIF9fYXJndW1lbnQ6IHtcbiAgICAgICAgV0lSU29ja2V0RGF0YUtleToge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIG1ldGhvZCxcbiAgICAgICAgICBwYXJhbXMsXG4gICAgICAgIH0sXG4gICAgICAgIFdJUkNvbm5lY3Rpb25JZGVudGlmaWVyS2V5OiBjb25uSWQsXG4gICAgICAgIFdJUlNlbmRlcktleTogc2VuZGVySWQsXG4gICAgICAgIFdJUkFwcGxpY2F0aW9uSWRlbnRpZmllcktleTogYXBwSWRLZXksXG4gICAgICAgIFdJUlBhZ2VJZGVudGlmaWVyS2V5OiBwYWdlSWRLZXksXG4gICAgICB9LFxuICAgICAgX19zZWxlY3RvcjogJ19ycGNfZm9yd2FyZFNvY2tldERhdGE6J1xuICAgIH07XG4gICAgcmV0dXJuIF8ub21pdEJ5KHBsaXN0LCBfLmlzTmlsKTtcbiAgfVxuXG4gIGdldFJlbW90ZUNvbW1hbmQgKGNvbW1hbmQsIG9wdHMpIHtcbiAgICBjb25zdCB7XG4gICAgICBpZCxcbiAgICAgIGNvbm5JZCxcbiAgICAgIGFwcElkS2V5LFxuICAgICAgc2VuZGVySWQsXG4gICAgICBwYWdlSWRLZXksXG4gICAgICB0YXJnZXRJZCxcbiAgICB9ID0gb3B0cztcblxuICAgIC8vIGRlYWwgd2l0aCBTYWZhcmkgV2ViIEluc3BlY3RvciBjb21tYW5kc1xuICAgIHN3aXRjaCAoY29tbWFuZCkge1xuICAgICAgY2FzZSAnc2V0Q29ubmVjdGlvbktleSc6XG4gICAgICAgIHJldHVybiB0aGlzLnNldENvbm5lY3Rpb25LZXkoY29ubklkKTtcbiAgICAgIGNhc2UgJ2luZGljYXRlV2ViVmlldyc6XG4gICAgICAgIHJldHVybiB0aGlzLmluZGljYXRlV2ViVmlldyhjb25uSWQsIGFwcElkS2V5LCBwYWdlSWRLZXksIG9wdHMuZW5hYmxlZCk7XG4gICAgICBjYXNlICdjb25uZWN0VG9BcHAnOlxuICAgICAgICByZXR1cm4gdGhpcy5jb25uZWN0VG9BcHAoY29ubklkLCBhcHBJZEtleSk7XG4gICAgICBjYXNlICdzZXRTZW5kZXJLZXknOlxuICAgICAgICByZXR1cm4gdGhpcy5zZXRTZW5kZXJLZXkoY29ubklkLCBzZW5kZXJJZCwgYXBwSWRLZXksIHBhZ2VJZEtleSk7XG4gICAgICBjYXNlICdsYXVuY2hBcHBsaWNhdGlvbic6XG4gICAgICAgIHJldHVybiB0aGlzLmxhdW5jaEFwcGxpY2F0aW9uKG9wdHMuYnVuZGxlSWQpO1xuICAgIH1cblxuICAgIC8vIGRlYWwgd2l0aCBXZWJLaXQgY29tbWFuZHNcbiAgICBjb25zdCBidWlsZGVyRnVuY3Rpb24gPSBDT01NQU5EU1tjb21tYW5kXSB8fCBNSU5JTUFMX0NPTU1BTkQ7XG4gICAgcmV0dXJuIHRoaXNbYnVpbGRlckZ1bmN0aW9uXSh7XG4gICAgICAuLi5nZXRQcm90b2NvbENvbW1hbmQoaWQsIGNvbW1hbmQsIG9wdHMpLFxuICAgICAgY29ubklkLFxuICAgICAgYXBwSWRLZXksXG4gICAgICBzZW5kZXJJZCxcbiAgICAgIHBhZ2VJZEtleSxcbiAgICAgIHRhcmdldElkLFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCB7IFJlbW90ZU1lc3NhZ2VzIH07XG5leHBvcnQgZGVmYXVsdCBSZW1vdGVNZXNzYWdlcztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxPQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxTQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFHQSxNQUFNRSxZQUFZLEdBQUcsU0FBUztBQUU5QixNQUFNQyxlQUFlLEdBQUcsbUJBQW1CO0FBQzNDLE1BQU1DLFlBQVksR0FBRyxnQkFBZ0I7QUFDckMsTUFBTUMsY0FBYyxHQUFHLGtCQUFrQjtBQUl6QyxNQUFNQyxRQUFRLEdBQUc7RUFDZixpQkFBaUIsRUFBRUYsWUFBWTtFQUMvQixlQUFlLEVBQUVBLFlBQVk7RUFFN0Isc0JBQXNCLEVBQUVBLFlBQVk7RUFDcEMsd0JBQXdCLEVBQUVBLFlBQVk7RUFDdEMs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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-messages.js","names":["OBJECT_GROUP","MINIMAL_COMMAND","FULL_COMMAND","DIRECT_COMMAND","COMMANDS","RemoteMessages","constructor","isTargetBased","_isTargetBased","setConnectionKey","connId","__argument","WIRConnectionIdentifierKey","__selector","connectToApp","appIdKey","WIRApplicationIdentifierKey","setSenderKey","senderId","pageIdKey","WIRSenderKey","WIRPageIdentifierKey","WIRAutomaticallyPause","indicateWebView","enabled","WIRIndicateEnabledKey","_","isNil","launchApplication","bundleId","WIRApplicationBundleIdentifierKey","getFullCommand","opts","method","params","targetId","id","realMethod","realParams","message","JSON","stringify","Object","assign","objectGroup","includeCommandLineAPI","doNotPauseOnExceptionsAndMuteConsole","emulateUserGesture","generatePreview","saveResult","plist","WIRSocketDataKey","omitBy","getMinimalCommand","getDirectCommand","getRemoteCommand","command","builderFunction","getProtocolCommand"],"sources":["../../../lib/rpc/remote-messages.js"],"sourcesContent":["import _ from 'lodash';\nimport getProtocolCommand from '../protocol';\n\n\nconst OBJECT_GROUP = 'console';\n\nconst MINIMAL_COMMAND = 'getMinimalCommand';\nconst FULL_COMMAND = 'getFullCommand';\nconst DIRECT_COMMAND = 'getDirectCommand';\n\n// mapping of commands to the function for getting the command\n// defaults to `getMinimalCommand`, so no need to have those listed here\nconst COMMANDS = {\n 'Page.getCookies': FULL_COMMAND,\n 'Page.navigate': FULL_COMMAND,\n\n 'Runtime.awaitPromise': FULL_COMMAND,\n 'Runtime.callFunctionOn': FULL_COMMAND,\n 'Runtime.evaluate': FULL_COMMAND,\n\n 'Target.exists': DIRECT_COMMAND,\n\n 'Timeline.start': FULL_COMMAND,\n 'Timeline.stop': FULL_COMMAND,\n};\n\nclass RemoteMessages {\n constructor (isTargetBased = false) {\n this.isTargetBased = isTargetBased;\n }\n\n set isTargetBased (isTargetBased) {\n this._isTargetBased = isTargetBased;\n }\n\n get isTargetBased () {\n return this._isTargetBased;\n }\n\n /*\n * Connection functions\n */\n\n setConnectionKey (connId) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId\n },\n __selector: '_rpc_reportIdentifier:'\n };\n }\n\n connectToApp (connId, appIdKey) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId,\n WIRApplicationIdentifierKey: appIdKey\n },\n __selector: '_rpc_forwardGetListing:'\n };\n }\n\n setSenderKey (connId, senderId, appIdKey, pageIdKey) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRPageIdentifierKey: pageIdKey,\n WIRAutomaticallyPause: false\n },\n __selector: '_rpc_forwardSocketSetup:'\n };\n }\n\n indicateWebView (connId, appIdKey, pageIdKey, enabled) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRIndicateEnabledKey: _.isNil(enabled) ? true : enabled,\n WIRConnectionIdentifierKey: connId,\n WIRPageIdentifierKey: pageIdKey\n },\n __selector: '_rpc_forwardIndicateWebView:'\n };\n }\n\n launchApplication (bundleId) {\n return {\n __argument: {\n WIRApplicationBundleIdentifierKey: bundleId\n },\n __selector: '_rpc_requestApplicationLaunch:'\n };\n }\n\n getFullCommand (opts = {}) {\n const {\n method,\n params,\n connId,\n senderId,\n appIdKey,\n pageIdKey,\n targetId,\n id,\n } = opts;\n\n /* The Web Inspector has a number of parameters that can be passed in, as\n * seen when dumping what Safari is doing when communicating with it. Most\n * are kept as they are set for Safari. The exception is `emulateUserGesture`\n * which, on iOS 13+, breaks popup blocking (i.e., even with the popup\n * blocking setting on, new windows are openable both from links and from\n * JavaScript).\n */\n\n let realMethod;\n let realParams;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params: Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n generatePreview: false,\n saveResult: false,\n }, params)\n }),\n };\n } else {\n realMethod = method;\n realParams = Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n }, params);\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:',\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getMinimalCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, targetId, id} = opts;\n\n let realMethod = method;\n let realParams = params;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params,\n }),\n };\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getDirectCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, id} = opts;\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n id,\n method,\n params,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getRemoteCommand (command, opts) {\n const {\n id,\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n } = opts;\n\n // deal with Safari Web Inspector commands\n switch (command) {\n case 'setConnectionKey':\n return this.setConnectionKey(connId);\n case 'indicateWebView':\n return this.indicateWebView(connId, appIdKey, pageIdKey, opts.enabled);\n case 'connectToApp':\n return this.connectToApp(connId, appIdKey);\n case 'setSenderKey':\n return this.setSenderKey(connId, senderId, appIdKey, pageIdKey);\n case 'launchApplication':\n return this.launchApplication(opts.bundleId);\n }\n\n // deal with WebKit commands\n const builderFunction = COMMANDS[command] || MINIMAL_COMMAND;\n return this[builderFunction]({\n ...getProtocolCommand(id, command, opts),\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n });\n }\n}\n\nexport { RemoteMessages };\nexport default RemoteMessages;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-messages.js","names":["_lodash","_interopRequireDefault","require","_protocol","OBJECT_GROUP","MINIMAL_COMMAND","FULL_COMMAND","DIRECT_COMMAND","COMMANDS","RemoteMessages","constructor","isTargetBased","_isTargetBased","setConnectionKey","connId","__argument","WIRConnectionIdentifierKey","__selector","connectToApp","appIdKey","WIRApplicationIdentifierKey","setSenderKey","senderId","pageIdKey","WIRSenderKey","WIRPageIdentifierKey","WIRAutomaticallyPause","indicateWebView","enabled","WIRIndicateEnabledKey","_","isNil","launchApplication","bundleId","WIRApplicationBundleIdentifierKey","getFullCommand","opts","method","params","targetId","id","realMethod","realParams","message","JSON","stringify","Object","assign","objectGroup","includeCommandLineAPI","doNotPauseOnExceptionsAndMuteConsole","emulateUserGesture","generatePreview","saveResult","plist","WIRSocketDataKey","omitBy","getMinimalCommand","getDirectCommand","getRemoteCommand","command","builderFunction","getProtocolCommand","exports","_default","default"],"sources":["../../../lib/rpc/remote-messages.js"],"sourcesContent":["import _ from 'lodash';\nimport getProtocolCommand from '../protocol';\n\n\nconst OBJECT_GROUP = 'console';\n\nconst MINIMAL_COMMAND = 'getMinimalCommand';\nconst FULL_COMMAND = 'getFullCommand';\nconst DIRECT_COMMAND = 'getDirectCommand';\n\n// mapping of commands to the function for getting the command\n// defaults to `getMinimalCommand`, so no need to have those listed here\nconst COMMANDS = {\n 'Page.getCookies': FULL_COMMAND,\n 'Page.navigate': FULL_COMMAND,\n\n 'Runtime.awaitPromise': FULL_COMMAND,\n 'Runtime.callFunctionOn': FULL_COMMAND,\n 'Runtime.evaluate': FULL_COMMAND,\n\n 'Target.exists': DIRECT_COMMAND,\n\n 'Timeline.start': FULL_COMMAND,\n 'Timeline.stop': FULL_COMMAND,\n};\n\nclass RemoteMessages {\n constructor (isTargetBased = false) {\n this.isTargetBased = isTargetBased;\n }\n\n set isTargetBased (isTargetBased) {\n this._isTargetBased = isTargetBased;\n }\n\n get isTargetBased () {\n return this._isTargetBased;\n }\n\n /*\n * Connection functions\n */\n\n setConnectionKey (connId) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId\n },\n __selector: '_rpc_reportIdentifier:'\n };\n }\n\n connectToApp (connId, appIdKey) {\n return {\n __argument: {\n WIRConnectionIdentifierKey: connId,\n WIRApplicationIdentifierKey: appIdKey\n },\n __selector: '_rpc_forwardGetListing:'\n };\n }\n\n setSenderKey (connId, senderId, appIdKey, pageIdKey) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRPageIdentifierKey: pageIdKey,\n WIRAutomaticallyPause: false\n },\n __selector: '_rpc_forwardSocketSetup:'\n };\n }\n\n indicateWebView (connId, appIdKey, pageIdKey, enabled) {\n return {\n __argument: {\n WIRApplicationIdentifierKey: appIdKey,\n WIRIndicateEnabledKey: _.isNil(enabled) ? true : enabled,\n WIRConnectionIdentifierKey: connId,\n WIRPageIdentifierKey: pageIdKey\n },\n __selector: '_rpc_forwardIndicateWebView:'\n };\n }\n\n launchApplication (bundleId) {\n return {\n __argument: {\n WIRApplicationBundleIdentifierKey: bundleId\n },\n __selector: '_rpc_requestApplicationLaunch:'\n };\n }\n\n getFullCommand (opts = {}) {\n const {\n method,\n params,\n connId,\n senderId,\n appIdKey,\n pageIdKey,\n targetId,\n id,\n } = opts;\n\n /* The Web Inspector has a number of parameters that can be passed in, as\n * seen when dumping what Safari is doing when communicating with it. Most\n * are kept as they are set for Safari. The exception is `emulateUserGesture`\n * which, on iOS 13+, breaks popup blocking (i.e., even with the popup\n * blocking setting on, new windows are openable both from links and from\n * JavaScript).\n */\n\n let realMethod;\n let realParams;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params: Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n generatePreview: false,\n saveResult: false,\n }, params)\n }),\n };\n } else {\n realMethod = method;\n realParams = Object.assign({\n objectGroup: OBJECT_GROUP,\n includeCommandLineAPI: true,\n doNotPauseOnExceptionsAndMuteConsole: false,\n emulateUserGesture: false,\n }, params);\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:',\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getMinimalCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, targetId, id} = opts;\n\n let realMethod = method;\n let realParams = params;\n if (this.isTargetBased) {\n realMethod = 'Target.sendMessageToTarget';\n realParams = {\n targetId,\n message: JSON.stringify({\n id,\n method,\n params,\n }),\n };\n }\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n method: realMethod,\n params: realParams,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getDirectCommand (opts = {}) {\n const {method, params, connId, senderId, appIdKey, pageIdKey, id} = opts;\n\n const plist = {\n __argument: {\n WIRSocketDataKey: {\n id,\n method,\n params,\n },\n WIRConnectionIdentifierKey: connId,\n WIRSenderKey: senderId,\n WIRApplicationIdentifierKey: appIdKey,\n WIRPageIdentifierKey: pageIdKey,\n },\n __selector: '_rpc_forwardSocketData:'\n };\n return _.omitBy(plist, _.isNil);\n }\n\n getRemoteCommand (command, opts) {\n const {\n id,\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n } = opts;\n\n // deal with Safari Web Inspector commands\n switch (command) {\n case 'setConnectionKey':\n return this.setConnectionKey(connId);\n case 'indicateWebView':\n return this.indicateWebView(connId, appIdKey, pageIdKey, opts.enabled);\n case 'connectToApp':\n return this.connectToApp(connId, appIdKey);\n case 'setSenderKey':\n return this.setSenderKey(connId, senderId, appIdKey, pageIdKey);\n case 'launchApplication':\n return this.launchApplication(opts.bundleId);\n }\n\n // deal with WebKit commands\n const builderFunction = COMMANDS[command] || MINIMAL_COMMAND;\n return this[builderFunction]({\n ...getProtocolCommand(id, command, opts),\n connId,\n appIdKey,\n senderId,\n pageIdKey,\n targetId,\n });\n }\n}\n\nexport { RemoteMessages };\nexport default RemoteMessages;\n"],"mappings":"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"}
|
|
@@ -51,4 +51,4 @@ class RpcClientRealDevice extends _rpcClient.default {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
exports.default = RpcClientRealDevice;
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfcnBjQ2xpZW50IiwiX2FwcGl1bUlvc0RldmljZSIsIlJwY0NsaWVudFJlYWxEZXZpY2UiLCJScGNDbGllbnQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJPYmplY3QiLCJhc3NpZ24iLCJzaG91bGRDaGVja0ZvclRhcmdldCIsInVkaWQiLCJjb25uZWN0Iiwic2VydmljZSIsInNlcnZpY2VzIiwic3RhcnRXZWJJbnNwZWN0b3JTZXJ2aWNlIiwib3NWZXJzaW9uIiwicGxhdGZvcm1WZXJzaW9uIiwiaXNTaW11bGF0b3IiLCJ2ZXJib3NlIiwibG9nQWxsQ29tbXVuaWNhdGlvbiIsInZlcmJvc2VIZXhEdW1wIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJzb2NrZXRDaHVua1NpemUiLCJtYXhGcmFtZUxlbmd0aCIsIndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoIiwibGlzdGVuTWVzc2FnZSIsInJlY2VpdmUiLCJiaW5kIiwiaXNDb25uZWN0ZWQiLCJkaXNjb25uZWN0IiwibG9nIiwiZGVidWciLCJjbG9zZSIsInNlbmRNZXNzYWdlIiwiY21kIiwiZGF0YSIsIm1lc3NhZ2VIYW5kbGVyIiwiaGFuZGxlTWVzc2FnZSIsImV4cG9ydHMiLCJkZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vbGliL3JwYy9ycGMtY2xpZW50LXJlYWwtZGV2aWNlLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBScGNDbGllbnQgZnJvbSAnLi9ycGMtY2xpZW50JztcbmltcG9ydCB7IHNlcnZpY2VzIH0gZnJvbSAnYXBwaXVtLWlvcy1kZXZpY2UnO1xuXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJwY0NsaWVudFJlYWxEZXZpY2UgZXh0ZW5kcyBScGNDbGllbnQge1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoT2JqZWN0LmFzc2lnbih7XG4gICAgICBzaG91bGRDaGVja0ZvclRhcmdldDogZmFsc2UsXG4gICAgfSwgb3B0cykpO1xuXG4gICAgY29uc3Qge1xuICAgICAgdWRpZCxcbiAgICB9ID0gb3B0cztcblxuICAgIHRoaXMudWRpZCA9IHVkaWQ7XG4gIH1cblxuICBhc3luYyBjb25uZWN0ICgpIHtcbiAgICB0aGlzLnNlcnZpY2UgPSBhd2FpdCBzZXJ2aWNlcy5zdGFydFdlYkluc3BlY3RvclNlcnZpY2UodGhpcy51ZGlkLCB7XG4gICAgICBvc1ZlcnNpb246IHRoaXMucGxhdGZvcm1WZXJzaW9uLFxuICAgICAgaXNTaW11bGF0b3I6IGZhbHNlLFxuICAgICAgdmVyYm9zZTogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uLFxuICAgICAgdmVyYm9zZUhleER1bXA6IHRoaXMubG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAsXG4gICAgICBzb2NrZXRDaHVua1NpemU6IHRoaXMuc29ja2V0Q2h1bmtTaXplLFxuICAgICAgbWF4RnJhbWVMZW5ndGg6IHRoaXMud2ViSW5zcGVjdG9yTWF4RnJhbWVMZW5ndGgsXG4gICAgfSk7XG5cbiAgICB0aGlzLnNlcnZpY2UubGlzdGVuTWVzc2FnZSh0aGlzLnJlY2VpdmUuYmluZCh0aGlzKSk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IHRydWU7XG4gIH1cblxuICBhc3luYyBkaXNjb25uZWN0ICgpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoJ0Rpc2Nvbm5lY3RpbmcgZnJvbSByZW1vdGUgZGVidWdnZXInKTtcbiAgICBhd2FpdCBzdXBlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlKCk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UgKGNtZCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHJlcXVpcmUtYXdhaXRcbiAgICB0aGlzLnNlcnZpY2Uuc2VuZE1lc3NhZ2UoY21kKTtcbiAgfVxuXG4gIGFzeW5jIHJlY2VpdmUgKGRhdGEpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5tZXNzYWdlSGFuZGxlci5oYW5kbGVNZXNzYWdlKGRhdGEpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBQUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUMsVUFBQSxHQUFBRixzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQUUsZ0JBQUEsR0FBQUYsT0FBQTtBQUdlLE1BQU1HLG1CQUFtQixTQUFTQyxrQkFBUyxDQUFDO0VBQ3pEQyxXQUFXQSxDQUFFQyxJQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUU7SUFDdEIsS0FBSyxDQUFDQyxNQUFNLENBQUNDLE1BQU0sQ0FBQztNQUNsQkMsb0JBQW9CLEVBQUU7SUFDeEIsQ0FBQyxFQUFFSCxJQUFJLENBQUMsQ0FBQztJQUVULE1BQU07TUFDSkk7SUFDRixDQUFDLEdBQUdKLElBQUk7SUFFUixJQUFJLENBQUNJLElBQUksR0FBR0EsSUFBSTtFQUNsQjtFQUVBLE1BQU1DLE9BQU9BLENBQUEsRUFBSTtJQUNmLElBQUksQ0FBQ0MsT0FBTyxHQUFHLE1BQU1DLHlCQUFRLENBQUNDLHdCQUF3QixDQUFDLElBQUksQ0FBQ0osSUFBSSxFQUFFO01BQ2hFSyxTQUFTLEVBQUUsSUFBSSxDQUFDQyxlQUFlO01BQy9CQyxXQUFXLEVBQUUsS0FBSztNQUNsQkMsT0FBTyxFQUFFLElBQUksQ0FBQ0MsbUJBQW1CO01BQ2pDQyxjQUFjLEVBQUUsSUFBSSxDQUFDQywwQkFBMEI7TUFDL0NDLGVBQWUsRUFBRSxJQUFJLENBQUNBLGVBQWU7TUFDckNDLGNBQWMsRUFBRSxJQUFJLENBQUNDO0lBQ3ZCLENBQUMsQ0FBQztJQUVGLElBQUksQ0FBQ1osT0FBTyxDQUFDYSxhQUFhLENBQUMsSUFBSSxDQUFDQyxPQUFPLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuRCxJQUFJLENBQUNDLFdBQVcsR0FBRyxJQUFJO0VBQ3pCO0VBRUEsTUFBTUMsVUFBVUEsQ0FBQSxFQUFJO0lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUNELFdBQVcsRUFBRTtNQUNyQjtJQUNGO0lBRUFFLGVBQUcsQ0FBQ0MsS0FBSyxDQUFDLG9DQUFvQyxDQUFDO0lBQy9DLE1BQU0sS0FBSyxDQUFDRixVQUFVLEVBQUU7SUFDeEIsSUFBSSxDQUFDakIsT0FBTyxDQUFDb0IsS0FBSyxFQUFFO0lBQ3BCLElBQUksQ0FBQ0osV0FBVyxHQUFHLEtBQUs7RUFDMUI7RUFFQSxNQUFNSyxXQUFXQSxDQUFFQyxHQUFHLEVBQUU7SUFDdEIsSUFBSSxDQUFDdEIsT0FBTyxDQUFDcUIsV0FBVyxDQUFDQyxHQUFHLENBQUM7RUFDL0I7RUFFQSxNQUFNUixPQUFPQSxDQUFFUyxJQUFJLEVBQUU7SUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQ1AsV0FBVyxFQUFFO01BQ3JCO0lBQ0Y7SUFDQSxNQUFNLElBQUksQ0FBQ1EsY0FBYyxDQUFDQyxhQUFhLENBQUNGLElBQUksQ0FBQztFQUMvQztBQUNGO0FBQUNHLE9BQUEsQ0FBQUMsT0FBQSxHQUFBcEMsbUJBQUEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-client-real-device.js","names":["RpcClientRealDevice","RpcClient","constructor","opts","Object","assign","shouldCheckForTarget","udid","connect","service","services","startWebInspectorService","osVersion","platformVersion","isSimulator","verbose","logAllCommunication","verboseHexDump","logAllCommunicationHexDump","socketChunkSize","maxFrameLength","webInspectorMaxFrameLength","listenMessage","receive","bind","isConnected","disconnect","log","debug","close","sendMessage","cmd","data","messageHandler","handleMessage"],"sources":["../../../lib/rpc/rpc-client-real-device.js"],"sourcesContent":["import log from '../logger';\nimport RpcClient from './rpc-client';\nimport { services } from 'appium-ios-device';\n\n\nexport default class RpcClientRealDevice extends RpcClient {\n constructor (opts = {}) {\n super(Object.assign({\n shouldCheckForTarget: false,\n }, opts));\n\n const {\n udid,\n } = opts;\n\n this.udid = udid;\n }\n\n async connect () {\n this.service = await services.startWebInspectorService(this.udid, {\n osVersion: this.platformVersion,\n isSimulator: false,\n verbose: this.logAllCommunication,\n verboseHexDump: this.logAllCommunicationHexDump,\n socketChunkSize: this.socketChunkSize,\n maxFrameLength: this.webInspectorMaxFrameLength,\n });\n\n this.service.listenMessage(this.receive.bind(this));\n this.isConnected = true;\n }\n\n async disconnect () {\n if (!this.isConnected) {\n return;\n }\n\n log.debug('Disconnecting from remote debugger');\n await super.disconnect();\n this.service.close();\n this.isConnected = false;\n }\n\n async sendMessage (cmd) { // eslint-disable-line require-await\n this.service.sendMessage(cmd);\n }\n\n async receive (data) {\n if (!this.isConnected) {\n return;\n }\n await this.messageHandler.handleMessage(data);\n }\n}\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAGe,
|
|
1
|
+
{"version":3,"file":"rpc-client-real-device.js","names":["_logger","_interopRequireDefault","require","_rpcClient","_appiumIosDevice","RpcClientRealDevice","RpcClient","constructor","opts","Object","assign","shouldCheckForTarget","udid","connect","service","services","startWebInspectorService","osVersion","platformVersion","isSimulator","verbose","logAllCommunication","verboseHexDump","logAllCommunicationHexDump","socketChunkSize","maxFrameLength","webInspectorMaxFrameLength","listenMessage","receive","bind","isConnected","disconnect","log","debug","close","sendMessage","cmd","data","messageHandler","handleMessage","exports","default"],"sources":["../../../lib/rpc/rpc-client-real-device.js"],"sourcesContent":["import log from '../logger';\nimport RpcClient from './rpc-client';\nimport { services } from 'appium-ios-device';\n\n\nexport default class RpcClientRealDevice extends RpcClient {\n constructor (opts = {}) {\n super(Object.assign({\n shouldCheckForTarget: false,\n }, opts));\n\n const {\n udid,\n } = opts;\n\n this.udid = udid;\n }\n\n async connect () {\n this.service = await services.startWebInspectorService(this.udid, {\n osVersion: this.platformVersion,\n isSimulator: false,\n verbose: this.logAllCommunication,\n verboseHexDump: this.logAllCommunicationHexDump,\n socketChunkSize: this.socketChunkSize,\n maxFrameLength: this.webInspectorMaxFrameLength,\n });\n\n this.service.listenMessage(this.receive.bind(this));\n this.isConnected = true;\n }\n\n async disconnect () {\n if (!this.isConnected) {\n return;\n }\n\n log.debug('Disconnecting from remote debugger');\n await super.disconnect();\n this.service.close();\n this.isConnected = false;\n }\n\n async sendMessage (cmd) { // eslint-disable-line require-await\n this.service.sendMessage(cmd);\n }\n\n async receive (data) {\n if (!this.isConnected) {\n return;\n }\n await this.messageHandler.handleMessage(data);\n }\n}\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAGe,MAAMG,mBAAmB,SAASC,kBAAS,CAAC;EACzDC,WAAWA,CAAEC,IAAI,GAAG,CAAC,CAAC,EAAE;IACtB,KAAK,CAACC,MAAM,CAACC,MAAM,CAAC;MAClBC,oBAAoB,EAAE;IACxB,CAAC,EAAEH,IAAI,CAAC,CAAC;IAET,MAAM;MACJI;IACF,CAAC,GAAGJ,IAAI;IAER,IAAI,CAACI,IAAI,GAAGA,IAAI;EAClB;EAEA,MAAMC,OAAOA,CAAA,EAAI;IACf,IAAI,CAACC,OAAO,GAAG,MAAMC,yBAAQ,CAACC,wBAAwB,CAAC,IAAI,CAACJ,IAAI,EAAE;MAChEK,SAAS,EAAE,IAAI,CAACC,eAAe;MAC/BC,WAAW,EAAE,KAAK;MAClBC,OAAO,EAAE,IAAI,CAACC,mBAAmB;MACjCC,cAAc,EAAE,IAAI,CAACC,0BAA0B;MAC/CC,eAAe,EAAE,IAAI,CAACA,eAAe;MACrCC,cAAc,EAAE,IAAI,CAACC;IACvB,CAAC,CAAC;IAEF,IAAI,CAACZ,OAAO,CAACa,aAAa,CAAC,IAAI,CAACC,OAAO,CAACC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,IAAI,CAACC,WAAW,GAAG,IAAI;EACzB;EAEA,MAAMC,UAAUA,CAAA,EAAI;IAClB,IAAI,CAAC,IAAI,CAACD,WAAW,EAAE;MACrB;IACF;IAEAE,eAAG,CAACC,KAAK,CAAC,oCAAoC,CAAC;IAC/C,MAAM,KAAK,CAACF,UAAU,EAAE;IACxB,IAAI,CAACjB,OAAO,CAACoB,KAAK,EAAE;IACpB,IAAI,CAACJ,WAAW,GAAG,KAAK;EAC1B;EAEA,MAAMK,WAAWA,CAAEC,GAAG,EAAE;IACtB,IAAI,CAACtB,OAAO,CAACqB,WAAW,CAACC,GAAG,CAAC;EAC/B;EAEA,MAAMR,OAAOA,CAAES,IAAI,EAAE;IACnB,IAAI,CAAC,IAAI,CAACP,WAAW,EAAE;MACrB;IACF;IACA,MAAM,IAAI,CAACQ,cAAc,CAACC,aAAa,CAACF,IAAI,CAAC;EAC/C;AACF;AAACG,OAAA,CAAAC,OAAA,GAAApC,mBAAA"}
|
|
@@ -131,4 +131,4 @@ class RpcClientSimulator extends _rpcClient.default {
|
|
|
131
131
|
}
|
|
132
132
|
}
|
|
133
133
|
exports.default = RpcClientSimulator;
|
|
134
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJScGNDbGllbnRTaW11bGF0b3IiLCJScGNDbGllbnQiLCJjb25zdHJ1Y3RvciIsIm9wdHMiLCJPYmplY3QiLCJhc3NpZ24iLCJzaG91bGRDaGVja0ZvclRhcmdldCIsInNvY2tldFBhdGgiLCJob3N0IiwicG9ydCIsIm1lc3NhZ2VQcm94eSIsInNvY2tldCIsImNvbm5lY3QiLCJsb2ciLCJkZWJ1ZyIsIm5ldCIsIm9uY2UiLCJ3cml0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJTb2NrZXQiLCJ0eXBlIiwic2V0Tm9EZWxheSIsInNldEtlZXBBbGl2ZSIsIm9uIiwiaXNDb25uZWN0ZWQiLCJzZXJ2aWNlIiwic2VydmljZXMiLCJzdGFydFdlYkluc3BlY3RvclNlcnZpY2UiLCJ1ZGlkIiwiaXNTaW11bGF0b3IiLCJvc1ZlcnNpb24iLCJwbGF0Zm9ybVZlcnNpb24iLCJ2ZXJib3NlIiwibG9nQWxsQ29tbXVuaWNhdGlvbiIsInZlcmJvc2VIZXhEdW1wIiwibG9nQWxsQ29tbXVuaWNhdGlvbkhleER1bXAiLCJtYXhGcmFtZUxlbmd0aCIsIndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoIiwibGlzdGVuTWVzc2FnZSIsInJlY2VpdmUiLCJiaW5kIiwiQiIsInJlc29sdmUiLCJyZWplY3QiLCJlcnIiLCJlcnJvciIsIm1lc3NhZ2UiLCJkaXNjb25uZWN0IiwiY2xvc2UiLCJzZW5kTWVzc2FnZSIsImNtZCIsIm9uU29ja2V0RXJyb3IiLCJmaW5hbGx5IiwicmVtb3ZlTGlzdGVuZXIiLCJpZ24iLCJkYXRhIiwia2V5IiwiXyIsImlzVW5kZWZpbmVkIiwidG9TdHJpbmciLCJtZXNzYWdlSGFuZGxlciIsImhhbmRsZU1lc3NhZ2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcnBjL3JwYy1jbGllbnQtc2ltdWxhdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgUnBjQ2xpZW50IGZyb20gJy4vcnBjLWNsaWVudCc7XG5pbXBvcnQgeyBzZXJ2aWNlcyB9IGZyb20gJ2FwcGl1bS1pb3MtZGV2aWNlJztcblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBScGNDbGllbnRTaW11bGF0b3IgZXh0ZW5kcyBScGNDbGllbnQge1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoT2JqZWN0LmFzc2lnbih7XG4gICAgICBzaG91bGRDaGVja0ZvclRhcmdldDogZmFsc2UsXG4gICAgfSwgb3B0cykpO1xuXG4gICAgY29uc3Qge1xuICAgICAgc29ja2V0UGF0aCxcbiAgICAgIGhvc3QgPSAnOjoxJyxcbiAgICAgIHBvcnQsXG4gICAgICBtZXNzYWdlUHJveHksXG4gICAgfSA9IG9wdHM7XG5cbiAgICAvLyBob3N0L3BvcnQgY29uZmlnIGZvciBUQ1AgY29tbXVuaWNhdGlvbiwgc29ja2V0UGF0aCBmb3IgdW5peCBkb21haW4gc29ja2V0c1xuICAgIHRoaXMuaG9zdCA9IGhvc3Q7XG4gICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICB0aGlzLm1lc3NhZ2VQcm94eSA9IG1lc3NhZ2VQcm94eTtcblxuICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB0aGlzLnNvY2tldFBhdGggPSBzb2NrZXRQYXRoO1xuICB9XG5cbiAgYXN5bmMgY29ubmVjdCAoKSB7XG4gICAgLy8gY3JlYXRlIHNvY2tldCBhbmQgaGFuZGxlIGl0cyBtZXNzYWdlc1xuICAgIGlmICh0aGlzLnNvY2tldFBhdGgpIHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VQcm94eSkge1xuICAgICAgICAvLyB1bml4IGRvbWFpbiBzb2NrZXQgdmlhIHByb3h5XG4gICAgICAgIGxvZy5kZWJ1ZyhgQ29ubmVjdGluZyB0byByZW1vdGUgZGVidWdnZXIgdmlhIHByb3h5IHRocm91Z2ggdW5peCBkb21haW4gc29ja2V0OiAnJHt0aGlzLm1lc3NhZ2VQcm94eX0nYCk7XG4gICAgICAgIHRoaXMuc29ja2V0ID0gbmV0LmNvbm5lY3QodGhpcy5tZXNzYWdlUHJveHkpO1xuXG4gICAgICAgIC8vIEZvcndhcmQgdGhlIGFjdHVhbCBzb2NrZXRQYXRoIHRvIHRoZSBwcm94eVxuICAgICAgICB0aGlzLnNvY2tldC5vbmNlKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhgRm9yd2FyZGluZyB0aGUgYWN0dWFsIHdlYiBpbnNwZWN0b3Igc29ja2V0IHRvIHRoZSBwcm94eTogJyR7dGhpcy5zb2NrZXRQYXRofSdgKTtcbiAgICAgICAgICB0aGlzLnNvY2tldC53cml0ZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBzb2NrZXRQYXRoOiB0aGlzLnNvY2tldFBhdGhcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB1bml4IGRvbWFpbiBzb2NrZXRcbiAgICAgICAgbG9nLmRlYnVnKGBDb25uZWN0aW5nIHRvIHJlbW90ZSBkZWJ1Z2dlciB0aHJvdWdoIHVuaXggZG9tYWluIHNvY2tldDogJyR7dGhpcy5zb2NrZXRQYXRofSdgKTtcbiAgICAgICAgdGhpcy5zb2NrZXQgPSBuZXQuY29ubmVjdCh0aGlzLnNvY2tldFBhdGgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5tZXNzYWdlUHJveHkpIHtcbiAgICAgICAgLy8gY29ubmVjdCB0byB0aGUgcHJveHkgaW5zdGVhZCBvZiB0aGUgcmVtb3RlIGRlYnVnZ2VyIGRpcmVjdGx5XG4gICAgICAgIHRoaXMucG9ydCA9IHRoaXMubWVzc2FnZVByb3h5O1xuICAgICAgfVxuXG4gICAgICAvLyB0Y3Agc29ja2V0XG4gICAgICBsb2cuZGVidWcoYENvbm5lY3RpbmcgdG8gcmVtb3RlIGRlYnVnZ2VyICR7dGhpcy5tZXNzYWdlUHJveHkgPyAndmlhIHByb3h5ICcgOiAnJ310aHJvdWdoIFRDUDogJHt0aGlzLmhvc3R9OiR7dGhpcy5wb3J0fWApO1xuICAgICAgdGhpcy5zb2NrZXQgPSBuZXcgbmV0LlNvY2tldCh7dHlwZTogJ3RjcDYnfSk7XG4gICAgICB0aGlzLnNvY2tldC5jb25uZWN0KHRoaXMucG9ydCwgdGhpcy5ob3N0KTtcbiAgICB9XG5cbiAgICB0aGlzLnNvY2tldC5zZXROb0RlbGF5KHRydWUpO1xuICAgIHRoaXMuc29ja2V0LnNldEtlZXBBbGl2ZSh0cnVlKTtcbiAgICB0aGlzLnNvY2tldC5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICBsb2cuZGVidWcoJ0RlYnVnZ2VyIHNvY2tldCBkaXNjb25uZWN0ZWQnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB9KTtcbiAgICB0aGlzLnNvY2tldC5vbignZW5kJywgKCkgPT4ge1xuICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZSA9IGF3YWl0IHNlcnZpY2VzLnN0YXJ0V2ViSW5zcGVjdG9yU2VydmljZSh0aGlzLnVkaWQsIHtcbiAgICAgIHNvY2tldDogdGhpcy5zb2NrZXQsXG4gICAgICBpc1NpbXVsYXRvcjogdHJ1ZSxcbiAgICAgIG9zVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICB2ZXJib3NlOiB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24sXG4gICAgICB2ZXJib3NlSGV4RHVtcDogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCxcbiAgICAgIG1heEZyYW1lTGVuZ3RoOiB0aGlzLndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoLFxuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZS5saXN0ZW5NZXNzYWdlKHRoaXMucmVjZWl2ZS5iaW5kKHRoaXMpKTtcblxuICAgIC8vIGNvbm5lY3QgdGhlIHNvY2tldFxuICAgIHJldHVybiBhd2FpdCBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBvbmx5IHJlc29sdmUgdGhpcyBmdW5jdGlvbiB3aGVuIHdlIGFyZSBhY3R1YWxseSBjb25uZWN0ZWRcbiAgICAgIHRoaXMuc29ja2V0Lm9uKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICBsb2cuZGVidWcoYERlYnVnZ2VyIHNvY2tldCBjb25uZWN0ZWRgKTtcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IHRydWU7XG5cbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNvY2tldC5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgbG9nLmVycm9yKGBTb2NrZXQgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhlIGNvbm5lY3Rpb24gd2FzIHJlZnVzZWQsIHNvIHJlamVjdCB0aGUgY29ubmVjdCBwcm9taXNlXG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkaXNjb25uZWN0ICgpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoJ0Rpc2Nvbm5lY3RpbmcgZnJvbSByZW1vdGUgZGVidWdnZXInKTtcbiAgICBhd2FpdCBzdXBlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlKCk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UgKGNtZCkge1xuICAgIGxldCBvblNvY2tldEVycm9yO1xuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGhhbmRsZSBzb2NrZXQgcHJvYmxlbXNcbiAgICAgIG9uU29ja2V0RXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIGxvZy5lcnJvcihgU29ja2V0IGVycm9yOiAke2Vyci5tZXNzYWdlfWApO1xuXG4gICAgICAgIC8vIHRoZSBjb25uZWN0aW9uIHdhcyByZWZ1c2VkLCBzbyByZWplY3QgdGhlIGNvbm5lY3QgcHJvbWlzZVxuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc29ja2V0Lm9uKCdlcnJvcicsIG9uU29ja2V0RXJyb3IpO1xuICAgICAgdGhpcy5zZXJ2aWNlLnNlbmRNZXNzYWdlKGNtZCk7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSlcbiAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAvLyByZW1vdmUgdGhpcyBsaXN0ZW5lciwgc28gd2UgZG9uJ3QgZXhoYXVzdCB0aGUgc3lzdGVtXG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnNvY2tldC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvblNvY2tldEVycm9yKTtcbiAgICAgIH0gY2F0Y2ggKGlnbikge31cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlY2VpdmUgKGRhdGEpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBbJ1dJUk1lc3NhZ2VEYXRhS2V5JywgJ1dJUkRlc3RpbmF0aW9uS2V5JywgJ1dJUlNvY2tldERhdGFLZXknXSkge1xuICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKGRhdGFba2V5XSkpIHtcbiAgICAgICAgZGF0YVtrZXldID0gZGF0YVtrZXldLnRvU3RyaW5nKCd1dGY4Jyk7XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IHRoaXMubWVzc2FnZUhhbmRsZXIuaGFu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
|
|
134
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX2JsdWViaXJkIiwiX25ldCIsIl9ycGNDbGllbnQiLCJfYXBwaXVtSW9zRGV2aWNlIiwiUnBjQ2xpZW50U2ltdWxhdG9yIiwiUnBjQ2xpZW50IiwiY29uc3RydWN0b3IiLCJvcHRzIiwiT2JqZWN0IiwiYXNzaWduIiwic2hvdWxkQ2hlY2tGb3JUYXJnZXQiLCJzb2NrZXRQYXRoIiwiaG9zdCIsInBvcnQiLCJtZXNzYWdlUHJveHkiLCJzb2NrZXQiLCJjb25uZWN0IiwibG9nIiwiZGVidWciLCJuZXQiLCJvbmNlIiwid3JpdGUiLCJKU09OIiwic3RyaW5naWZ5IiwiU29ja2V0IiwidHlwZSIsInNldE5vRGVsYXkiLCJzZXRLZWVwQWxpdmUiLCJvbiIsImlzQ29ubmVjdGVkIiwic2VydmljZSIsInNlcnZpY2VzIiwic3RhcnRXZWJJbnNwZWN0b3JTZXJ2aWNlIiwidWRpZCIsImlzU2ltdWxhdG9yIiwib3NWZXJzaW9uIiwicGxhdGZvcm1WZXJzaW9uIiwidmVyYm9zZSIsImxvZ0FsbENvbW11bmljYXRpb24iLCJ2ZXJib3NlSGV4RHVtcCIsImxvZ0FsbENvbW11bmljYXRpb25IZXhEdW1wIiwibWF4RnJhbWVMZW5ndGgiLCJ3ZWJJbnNwZWN0b3JNYXhGcmFtZUxlbmd0aCIsImxpc3Rlbk1lc3NhZ2UiLCJyZWNlaXZlIiwiYmluZCIsIkIiLCJyZXNvbHZlIiwicmVqZWN0IiwiZXJyIiwiZXJyb3IiLCJtZXNzYWdlIiwiZGlzY29ubmVjdCIsImNsb3NlIiwic2VuZE1lc3NhZ2UiLCJjbWQiLCJvblNvY2tldEVycm9yIiwiZmluYWxseSIsInJlbW92ZUxpc3RlbmVyIiwiaWduIiwiZGF0YSIsImtleSIsIl8iLCJpc1VuZGVmaW5lZCIsInRvU3RyaW5nIiwibWVzc2FnZUhhbmRsZXIiLCJoYW5kbGVNZXNzYWdlIiwiZXhwb3J0cyIsImRlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvcnBjL3JwYy1jbGllbnQtc2ltdWxhdG9yLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBsb2cgZnJvbSAnLi4vbG9nZ2VyJztcbmltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgbmV0IGZyb20gJ25ldCc7XG5pbXBvcnQgUnBjQ2xpZW50IGZyb20gJy4vcnBjLWNsaWVudCc7XG5pbXBvcnQgeyBzZXJ2aWNlcyB9IGZyb20gJ2FwcGl1bS1pb3MtZGV2aWNlJztcblxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBScGNDbGllbnRTaW11bGF0b3IgZXh0ZW5kcyBScGNDbGllbnQge1xuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIoT2JqZWN0LmFzc2lnbih7XG4gICAgICBzaG91bGRDaGVja0ZvclRhcmdldDogZmFsc2UsXG4gICAgfSwgb3B0cykpO1xuXG4gICAgY29uc3Qge1xuICAgICAgc29ja2V0UGF0aCxcbiAgICAgIGhvc3QgPSAnOjoxJyxcbiAgICAgIHBvcnQsXG4gICAgICBtZXNzYWdlUHJveHksXG4gICAgfSA9IG9wdHM7XG5cbiAgICAvLyBob3N0L3BvcnQgY29uZmlnIGZvciBUQ1AgY29tbXVuaWNhdGlvbiwgc29ja2V0UGF0aCBmb3IgdW5peCBkb21haW4gc29ja2V0c1xuICAgIHRoaXMuaG9zdCA9IGhvc3Q7XG4gICAgdGhpcy5wb3J0ID0gcG9ydDtcbiAgICB0aGlzLm1lc3NhZ2VQcm94eSA9IG1lc3NhZ2VQcm94eTtcblxuICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB0aGlzLnNvY2tldFBhdGggPSBzb2NrZXRQYXRoO1xuICB9XG5cbiAgYXN5bmMgY29ubmVjdCAoKSB7XG4gICAgLy8gY3JlYXRlIHNvY2tldCBhbmQgaGFuZGxlIGl0cyBtZXNzYWdlc1xuICAgIGlmICh0aGlzLnNvY2tldFBhdGgpIHtcbiAgICAgIGlmICh0aGlzLm1lc3NhZ2VQcm94eSkge1xuICAgICAgICAvLyB1bml4IGRvbWFpbiBzb2NrZXQgdmlhIHByb3h5XG4gICAgICAgIGxvZy5kZWJ1ZyhgQ29ubmVjdGluZyB0byByZW1vdGUgZGVidWdnZXIgdmlhIHByb3h5IHRocm91Z2ggdW5peCBkb21haW4gc29ja2V0OiAnJHt0aGlzLm1lc3NhZ2VQcm94eX0nYCk7XG4gICAgICAgIHRoaXMuc29ja2V0ID0gbmV0LmNvbm5lY3QodGhpcy5tZXNzYWdlUHJveHkpO1xuXG4gICAgICAgIC8vIEZvcndhcmQgdGhlIGFjdHVhbCBzb2NrZXRQYXRoIHRvIHRoZSBwcm94eVxuICAgICAgICB0aGlzLnNvY2tldC5vbmNlKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICAgIGxvZy5kZWJ1ZyhgRm9yd2FyZGluZyB0aGUgYWN0dWFsIHdlYiBpbnNwZWN0b3Igc29ja2V0IHRvIHRoZSBwcm94eTogJyR7dGhpcy5zb2NrZXRQYXRofSdgKTtcbiAgICAgICAgICB0aGlzLnNvY2tldC53cml0ZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBzb2NrZXRQYXRoOiB0aGlzLnNvY2tldFBhdGhcbiAgICAgICAgICB9KSk7XG4gICAgICAgIH0pO1xuXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB1bml4IGRvbWFpbiBzb2NrZXRcbiAgICAgICAgbG9nLmRlYnVnKGBDb25uZWN0aW5nIHRvIHJlbW90ZSBkZWJ1Z2dlciB0aHJvdWdoIHVuaXggZG9tYWluIHNvY2tldDogJyR7dGhpcy5zb2NrZXRQYXRofSdgKTtcbiAgICAgICAgdGhpcy5zb2NrZXQgPSBuZXQuY29ubmVjdCh0aGlzLnNvY2tldFBhdGgpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5tZXNzYWdlUHJveHkpIHtcbiAgICAgICAgLy8gY29ubmVjdCB0byB0aGUgcHJveHkgaW5zdGVhZCBvZiB0aGUgcmVtb3RlIGRlYnVnZ2VyIGRpcmVjdGx5XG4gICAgICAgIHRoaXMucG9ydCA9IHRoaXMubWVzc2FnZVByb3h5O1xuICAgICAgfVxuXG4gICAgICAvLyB0Y3Agc29ja2V0XG4gICAgICBsb2cuZGVidWcoYENvbm5lY3RpbmcgdG8gcmVtb3RlIGRlYnVnZ2VyICR7dGhpcy5tZXNzYWdlUHJveHkgPyAndmlhIHByb3h5ICcgOiAnJ310aHJvdWdoIFRDUDogJHt0aGlzLmhvc3R9OiR7dGhpcy5wb3J0fWApO1xuICAgICAgdGhpcy5zb2NrZXQgPSBuZXcgbmV0LlNvY2tldCh7dHlwZTogJ3RjcDYnfSk7XG4gICAgICB0aGlzLnNvY2tldC5jb25uZWN0KHRoaXMucG9ydCwgdGhpcy5ob3N0KTtcbiAgICB9XG5cbiAgICB0aGlzLnNvY2tldC5zZXROb0RlbGF5KHRydWUpO1xuICAgIHRoaXMuc29ja2V0LnNldEtlZXBBbGl2ZSh0cnVlKTtcbiAgICB0aGlzLnNvY2tldC5vbignY2xvc2UnLCAoKSA9PiB7XG4gICAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICBsb2cuZGVidWcoJ0RlYnVnZ2VyIHNvY2tldCBkaXNjb25uZWN0ZWQnKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuaXNDb25uZWN0ZWQgPSBmYWxzZTtcbiAgICAgIHRoaXMuc29ja2V0ID0gbnVsbDtcbiAgICB9KTtcbiAgICB0aGlzLnNvY2tldC5vbignZW5kJywgKCkgPT4ge1xuICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZSA9IGF3YWl0IHNlcnZpY2VzLnN0YXJ0V2ViSW5zcGVjdG9yU2VydmljZSh0aGlzLnVkaWQsIHtcbiAgICAgIHNvY2tldDogdGhpcy5zb2NrZXQsXG4gICAgICBpc1NpbXVsYXRvcjogdHJ1ZSxcbiAgICAgIG9zVmVyc2lvbjogdGhpcy5wbGF0Zm9ybVZlcnNpb24sXG4gICAgICB2ZXJib3NlOiB0aGlzLmxvZ0FsbENvbW11bmljYXRpb24sXG4gICAgICB2ZXJib3NlSGV4RHVtcDogdGhpcy5sb2dBbGxDb21tdW5pY2F0aW9uSGV4RHVtcCxcbiAgICAgIG1heEZyYW1lTGVuZ3RoOiB0aGlzLndlYkluc3BlY3Rvck1heEZyYW1lTGVuZ3RoLFxuICAgIH0pO1xuICAgIHRoaXMuc2VydmljZS5saXN0ZW5NZXNzYWdlKHRoaXMucmVjZWl2ZS5iaW5kKHRoaXMpKTtcblxuICAgIC8vIGNvbm5lY3QgdGhlIHNvY2tldFxuICAgIHJldHVybiBhd2FpdCBuZXcgQigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAvLyBvbmx5IHJlc29sdmUgdGhpcyBmdW5jdGlvbiB3aGVuIHdlIGFyZSBhY3R1YWxseSBjb25uZWN0ZWRcbiAgICAgIHRoaXMuc29ja2V0Lm9uKCdjb25uZWN0JywgKCkgPT4ge1xuICAgICAgICBsb2cuZGVidWcoYERlYnVnZ2VyIHNvY2tldCBjb25uZWN0ZWRgKTtcbiAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IHRydWU7XG5cbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnNvY2tldC5vbignZXJyb3InLCAoZXJyKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLmlzQ29ubmVjdGVkKSB7XG4gICAgICAgICAgbG9nLmVycm9yKGBTb2NrZXQgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgICAgICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gdGhlIGNvbm5lY3Rpb24gd2FzIHJlZnVzZWQsIHNvIHJlamVjdCB0aGUgY29ubmVjdCBwcm9taXNlXG4gICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkaXNjb25uZWN0ICgpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2cuZGVidWcoJ0Rpc2Nvbm5lY3RpbmcgZnJvbSByZW1vdGUgZGVidWdnZXInKTtcbiAgICBhd2FpdCBzdXBlci5kaXNjb25uZWN0KCk7XG4gICAgdGhpcy5zZXJ2aWNlLmNsb3NlKCk7XG4gICAgdGhpcy5pc0Nvbm5lY3RlZCA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgc2VuZE1lc3NhZ2UgKGNtZCkge1xuICAgIGxldCBvblNvY2tldEVycm9yO1xuXG4gICAgcmV0dXJuIGF3YWl0IG5ldyBCKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIC8vIGhhbmRsZSBzb2NrZXQgcHJvYmxlbXNcbiAgICAgIG9uU29ja2V0RXJyb3IgPSAoZXJyKSA9PiB7XG4gICAgICAgIGxvZy5lcnJvcihgU29ja2V0IGVycm9yOiAke2Vyci5tZXNzYWdlfWApO1xuXG4gICAgICAgIC8vIHRoZSBjb25uZWN0aW9uIHdhcyByZWZ1c2VkLCBzbyByZWplY3QgdGhlIGNvbm5lY3QgcHJvbWlzZVxuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuc29ja2V0Lm9uKCdlcnJvcicsIG9uU29ja2V0RXJyb3IpO1xuICAgICAgdGhpcy5zZXJ2aWNlLnNlbmRNZXNzYWdlKGNtZCk7XG4gICAgICByZXNvbHZlKCk7XG4gICAgfSlcbiAgICAuZmluYWxseSgoKSA9PiB7XG4gICAgICAvLyByZW1vdmUgdGhpcyBsaXN0ZW5lciwgc28gd2UgZG9uJ3QgZXhoYXVzdCB0aGUgc3lzdGVtXG4gICAgICB0cnkge1xuICAgICAgICB0aGlzLnNvY2tldC5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvblNvY2tldEVycm9yKTtcbiAgICAgIH0gY2F0Y2ggKGlnbikge31cbiAgICB9KTtcbiAgfVxuXG4gIGFzeW5jIHJlY2VpdmUgKGRhdGEpIHtcbiAgICBpZiAoIXRoaXMuaXNDb25uZWN0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBbJ1dJUk1lc3NhZ2VEYXRhS2V5JywgJ1dJUkRlc3RpbmF0aW9uS2V5JywgJ1dJUlNvY2tldERhdGFLZXknXSkge1xuICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKGRhdGFba2V5XSkpIHtcbiAgICAgICAgZGF0YVtrZXldID0gZGF0YVtrZXldLnRvU3RyaW5nKCd1dGY4Jyk7XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IHRoaXMubWVzc2FnZUhhbmRsZXIuaGFuZGxlTWVzc2FnZShkYXRhKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE9BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLFVBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLGdCQUFBLEdBQUFMLE9BQUE7QUFHZSxNQUFNTSxrQkFBa0IsU0FBU0Msa0JBQVMsQ0FBQztFQUN4REMsV0FBV0EsQ0FBRUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFO0lBQ3RCLEtBQUssQ0FBQ0MsTUFBTSxDQUFDQyxNQUFNLENBQUM7TUFDbEJDLG9CQUFvQixFQUFFO0lBQ3hCLENBQUMsRUFBRUgsSUFBSSxDQUFDLENBQUM7SUFFVCxNQUFNO01BQ0pJLFVBQVU7TUFDVkMsSUFBSSxHQUFHLEtBQUs7TUFDWkMsSUFBSTtNQUNKQztJQUNGLENBQUMsR0FBR1AsSUFBSTtJQUdSLElBQUksQ0FBQ0ssSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsSUFBSSxHQUFHQSxJQUFJO0lBQ2hCLElBQUksQ0FBQ0MsWUFBWSxHQUFHQSxZQUFZO0lBRWhDLElBQUksQ0FBQ0MsTUFBTSxHQUFHLElBQUk7SUFDbEIsSUFBSSxDQUFDSixVQUFVLEdBQUdBLFVBQVU7RUFDOUI7RUFFQSxNQUFNSyxPQUFPQSxDQUFBLEVBQUk7SUFFZixJQUFJLElBQUksQ0FBQ0wsVUFBVSxFQUFFO01BQ25CLElBQUksSUFBSSxDQUFDRyxZQUFZLEVBQUU7UUFFckJHLGVBQUcsQ0FBQ0MsS0FBSyxDQUFFLHdFQUF1RSxJQUFJLENBQUNKLFlBQWEsR0FBRSxDQUFDO1FBQ3ZHLElBQUksQ0FBQ0MsTUFBTSxHQUFHSSxZQUFHLENBQUNILE9BQU8sQ0FBQyxJQUFJLENBQUNGLFlBQVksQ0FBQztRQUc1QyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0ssSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNO1VBQ2hDSCxlQUFHLENBQUNDLEtBQUssQ0FBRSw2REFBNEQsSUFBSSxDQUFDUCxVQUFXLEdBQUUsQ0FBQztVQUMxRixJQUFJLENBQUNJLE1BQU0sQ0FBQ00sS0FBSyxDQUFDQyxJQUFJLENBQUNDLFNBQVMsQ0FBQztZQUMvQlosVUFBVSxFQUFFLElBQUksQ0FBQ0E7VUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUM7TUFFSixDQUFDLE1BQU07UUFFTE0sZUFBRyxDQUFDQyxLQUFLLENBQUUsOERBQTZELElBQUksQ0FBQ1AsVUFBVyxHQUFFLENBQUM7UUFDM0YsSUFBSSxDQUFDSSxNQUFNLEdBQUdJLFlBQUcsQ0FBQ0gsT0FBTyxDQUFDLElBQUksQ0FBQ0wsVUFBVSxDQUFDO01BQzVDO0lBQ0YsQ0FBQyxNQUFNO01BQ0wsSUFBSSxJQUFJLENBQUNHLFlBQVksRUFBRTtRQUVyQixJQUFJLENBQUNELElBQUksR0FBRyxJQUFJLENBQUNDLFlBQVk7TUFDL0I7TUFHQUcsZUFBRyxDQUFDQyxLQUFLLENBQUUsaUNBQWdDLElBQUksQ0FBQ0osWUFBWSxHQUFHLFlBQVksR0FBRyxFQUFHLGdCQUFlLElBQUksQ0FBQ0YsSUFBSyxJQUFHLElBQUksQ0FBQ0MsSUFBSyxFQUFDLENBQUM7TUFDekgsSUFBSSxDQUFDRSxNQUFNLEdBQUcsSUFBSUksWUFBRyxDQUFDSyxNQUFNLENBQUM7UUFBQ0MsSUFBSSxFQUFFO01BQU0sQ0FBQyxDQUFDO01BQzVDLElBQUksQ0FBQ1YsTUFBTSxDQUFDQyxPQUFPLENBQUMsSUFBSSxDQUFDSCxJQUFJLEVBQUUsSUFBSSxDQUFDRCxJQUFJLENBQUM7SUFDM0M7SUFFQSxJQUFJLENBQUNHLE1BQU0sQ0FBQ1csVUFBVSxDQUFDLElBQUksQ0FBQztJQUM1QixJQUFJLENBQUNYLE1BQU0sQ0FBQ1ksWUFBWSxDQUFDLElBQUksQ0FBQztJQUM5QixJQUFJLENBQUNaLE1BQU0sQ0FBQ2EsRUFBRSxDQUFDLE9BQU8sRUFBRSxNQUFNO01BQzVCLElBQUksSUFBSSxDQUFDQyxXQUFXLEVBQUU7UUFDcEJaLGVBQUcsQ0FBQ0MsS0FBSyxDQUFDLDhCQUE4QixDQUFDO01BQzNDO01BQ0EsSUFBSSxDQUFDVyxXQUFXLEdBQUcsS0FBSztNQUN4QixJQUFJLENBQUNkLE1BQU0sR0FBRyxJQUFJO0lBQ3BCLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQ0EsTUFBTSxDQUFDYSxFQUFFLENBQUMsS0FBSyxFQUFFLE1BQU07TUFDMUIsSUFBSSxDQUFDQyxXQUFXLEdBQUcsS0FBSztJQUMxQixDQUFDLENBQUM7SUFDRixJQUFJLENBQUNDLE9BQU8sR0FBRyxNQUFNQyx5QkFBUSxDQUFDQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUNDLElBQUksRUFBRTtNQUNoRWxCLE1BQU0sRUFBRSxJQUFJLENBQUNBLE1BQU07TUFDbkJtQixXQUFXLEVBQUUsSUFBSTtNQUNqQkMsU0FBUyxFQUFFLElBQUksQ0FBQ0MsZUFBZTtNQUMvQkMsT0FBTyxFQUFFLElBQUksQ0FBQ0MsbUJBQW1CO01BQ2pDQyxjQUFjLEVBQUUsSUFBSSxDQUFDQywwQkFBMEI7TUFDL0NDLGNBQWMsRUFBRSxJQUFJLENBQUNDO0lBQ3ZCLENBQUMsQ0FBQztJQUNGLElBQUksQ0FBQ1osT0FBTyxDQUFDYSxhQUFhLENBQUMsSUFBSSxDQUFDQyxPQUFPLENBQUNDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUduRCxPQUFPLE1BQU0sSUFBSUMsaUJBQUMsQ0FBQyxDQUFDQyxPQUFPLEVBQUVDLE1BQU0sS0FBSztNQUV0QyxJQUFJLENBQUNqQyxNQUFNLENBQUNhLEVBQUUsQ0FBQyxTQUFTLEVBQUUsTUFBTTtRQUM5QlgsZUFBRyxDQUFDQyxLQUFLLENBQUUsMkJBQTBCLENBQUM7UUFDdEMsSUFBSSxDQUFDVyxXQUFXLEdBQUcsSUFBSTtRQUV2QmtCLE9BQU8sRUFBRTtNQUNYLENBQUMsQ0FBQztNQUNGLElBQUksQ0FBQ2hDLE1BQU0sQ0FBQ2EsRUFBRSxDQUFDLE9BQU8sRUFBR3FCLEdBQUcsSUFBSztRQUMvQixJQUFJLElBQUksQ0FBQ3BCLFdBQVcsRUFBRTtVQUNwQlosZUFBRyxDQUFDaUMsS0FBSyxDQUFFLGlCQUFnQkQsR0FBRyxDQUFDRSxPQUFRLEVBQUMsQ0FBQztVQUN6QyxJQUFJLENBQUN0QixXQUFXLEdBQUcsS0FBSztRQUMxQjtRQUdBbUIsTUFBTSxDQUFDQyxHQUFHLENBQUM7TUFDYixDQUFDLENBQUM7SUFDSixDQUFDLENBQUM7RUFDSjtFQUVBLE1BQU1HLFVBQVVBLENBQUEsRUFBSTtJQUNsQixJQUFJLENBQUMsSUFBSSxDQUFDdkIsV0FBVyxFQUFFO01BQ3JCO0lBQ0Y7SUFFQVosZUFBRyxDQUFDQyxLQUFLLENBQUMsb0NBQW9DLENBQUM7SUFDL0MsTUFBTSxLQUFLLENBQUNrQyxVQUFVLEVBQUU7SUFDeEIsSUFBSSxDQUFDdEIsT0FBTyxDQUFDdUIsS0FBSyxFQUFFO0lBQ3BCLElBQUksQ0FBQ3hCLFdBQVcsR0FBRyxLQUFLO0VBQzFCO0VBRUEsTUFBTXlCLFdBQVdBLENBQUVDLEdBQUcsRUFBRTtJQUN0QixJQUFJQyxhQUFhO0lBRWpCLE9BQU8sTUFBTSxJQUFJVixpQkFBQyxDQUFDLENBQUNDLE9BQU8sRUFBRUMsTUFBTSxLQUFLO01BRXRDUSxhQUFhLEdBQUlQLEdBQUcsSUFBSztRQUN2QmhDLGVBQUcsQ0FBQ2lDLEtBQUssQ0FBRSxpQkFBZ0JELEdBQUcsQ0FBQ0UsT0FBUSxFQUFDLENBQUM7UUFHekNILE1BQU0sQ0FBQ0MsR0FBRyxDQUFDO01BQ2IsQ0FBQztNQUVELElBQUksQ0FBQ2xDLE1BQU0sQ0FBQ2EsRUFBRSxDQUFDLE9BQU8sRUFBRTRCLGFBQWEsQ0FBQztNQUN0QyxJQUFJLENBQUMxQixPQUFPLENBQUN3QixXQUFXLENBQUNDLEdBQUcsQ0FBQztNQUM3QlIsT0FBTyxFQUFFO0lBQ1gsQ0FBQyxDQUFDLENBQ0RVLE9BQU8sQ0FBQyxNQUFNO01BRWIsSUFBSTtRQUNGLElBQUksQ0FBQzFDLE1BQU0sQ0FBQzJDLGNBQWMsQ0FBQyxPQUFPLEVBQUVGLGFBQWEsQ0FBQztNQUNwRCxDQUFDLENBQUMsT0FBT0csR0FBRyxFQUFFLENBQUM7SUFDakIsQ0FBQyxDQUFDO0VBQ0o7RUFFQSxNQUFNZixPQUFPQSxDQUFFZ0IsSUFBSSxFQUFFO0lBQ25CLElBQUksQ0FBQyxJQUFJLENBQUMvQixXQUFXLEVBQUU7TUFDckI7SUFDRjtJQUVBLElBQUksQ0FBQytCLElBQUksRUFBRTtNQUNUO0lBQ0Y7SUFFQSxLQUFLLE1BQU1DLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLG1CQUFtQixFQUFFLGtCQUFrQixDQUFDLEVBQUU7TUFDaEYsSUFBSSxDQUFDQyxlQUFDLENBQUNDLFdBQVcsQ0FBQ0gsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFO1FBQzdCRCxJQUFJLENBQUNDLEdBQUcsQ0FBQyxHQUFHRCxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDRyxRQUFRLENBQUMsTUFBTSxDQUFDO01BQ3hDO0lBQ0Y7SUFDQSxNQUFNLElBQUksQ0FBQ0MsY0FBYyxDQUFDQyxhQUFhLENBQUNOLElBQUksQ0FBQztFQUMvQztBQUNGO0FBQUNPLE9BQUEsQ0FBQUMsT0FBQSxHQUFBaEUsa0JBQUEifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rpc-client-simulator.js","names":["RpcClientSimulator","RpcClient","constructor","opts","Object","assign","shouldCheckForTarget","socketPath","host","port","messageProxy","socket","connect","log","debug","net","once","write","JSON","stringify","Socket","type","setNoDelay","setKeepAlive","on","isConnected","service","services","startWebInspectorService","udid","isSimulator","osVersion","platformVersion","verbose","logAllCommunication","verboseHexDump","logAllCommunicationHexDump","maxFrameLength","webInspectorMaxFrameLength","listenMessage","receive","bind","B","resolve","reject","err","error","message","disconnect","close","sendMessage","cmd","onSocketError","finally","removeListener","ign","data","key","_","isUndefined","toString","messageHandler","handleMessage"],"sources":["../../../lib/rpc/rpc-client-simulator.js"],"sourcesContent":["import log from '../logger';\nimport _ from 'lodash';\nimport B from 'bluebird';\nimport net from 'net';\nimport RpcClient from './rpc-client';\nimport { services } from 'appium-ios-device';\n\n\nexport default class RpcClientSimulator extends RpcClient {\n constructor (opts = {}) {\n super(Object.assign({\n shouldCheckForTarget: false,\n }, opts));\n\n const {\n socketPath,\n host = '::1',\n port,\n messageProxy,\n } = opts;\n\n // host/port config for TCP communication, socketPath for unix domain sockets\n this.host = host;\n this.port = port;\n this.messageProxy = messageProxy;\n\n this.socket = null;\n this.socketPath = socketPath;\n }\n\n async connect () {\n // create socket and handle its messages\n if (this.socketPath) {\n if (this.messageProxy) {\n // unix domain socket via proxy\n log.debug(`Connecting to remote debugger via proxy through unix domain socket: '${this.messageProxy}'`);\n this.socket = net.connect(this.messageProxy);\n\n // Forward the actual socketPath to the proxy\n this.socket.once('connect', () => {\n log.debug(`Forwarding the actual web inspector socket to the proxy: '${this.socketPath}'`);\n this.socket.write(JSON.stringify({\n socketPath: this.socketPath\n }));\n });\n\n } else {\n // unix domain socket\n log.debug(`Connecting to remote debugger through unix domain socket: '${this.socketPath}'`);\n this.socket = net.connect(this.socketPath);\n }\n } else {\n if (this.messageProxy) {\n // connect to the proxy instead of the remote debugger directly\n this.port = this.messageProxy;\n }\n\n // tcp socket\n log.debug(`Connecting to remote debugger ${this.messageProxy ? 'via proxy ' : ''}through TCP: ${this.host}:${this.port}`);\n this.socket = new net.Socket({type: 'tcp6'});\n this.socket.connect(this.port, this.host);\n }\n\n this.socket.setNoDelay(true);\n this.socket.setKeepAlive(true);\n this.socket.on('close', () => {\n if (this.isConnected) {\n log.debug('Debugger socket disconnected');\n }\n this.isConnected = false;\n this.socket = null;\n });\n this.socket.on('end', () => {\n this.isConnected = false;\n });\n this.service = await services.startWebInspectorService(this.udid, {\n socket: this.socket,\n isSimulator: true,\n osVersion: this.platformVersion,\n verbose: this.logAllCommunication,\n verboseHexDump: this.logAllCommunicationHexDump,\n maxFrameLength: this.webInspectorMaxFrameLength,\n });\n this.service.listenMessage(this.receive.bind(this));\n\n // connect the socket\n return await new B((resolve, reject) => {\n // only resolve this function when we are actually connected\n this.socket.on('connect', () => {\n log.debug(`Debugger socket connected`);\n this.isConnected = true;\n\n resolve();\n });\n this.socket.on('error', (err) => {\n if (this.isConnected) {\n log.error(`Socket error: ${err.message}`);\n this.isConnected = false;\n }\n\n // the connection was refused, so reject the connect promise\n reject(err);\n });\n });\n }\n\n async disconnect () {\n if (!this.isConnected) {\n return;\n }\n\n log.debug('Disconnecting from remote debugger');\n await super.disconnect();\n this.service.close();\n this.isConnected = false;\n }\n\n async sendMessage (cmd) {\n let onSocketError;\n\n return await new B((resolve, reject) => {\n // handle socket problems\n onSocketError = (err) => {\n log.error(`Socket error: ${err.message}`);\n\n // the connection was refused, so reject the connect promise\n reject(err);\n };\n\n this.socket.on('error', onSocketError);\n this.service.sendMessage(cmd);\n resolve();\n })\n .finally(() => {\n // remove this listener, so we don't exhaust the system\n try {\n this.socket.removeListener('error', onSocketError);\n } catch (ign) {}\n });\n }\n\n async receive (data) {\n if (!this.isConnected) {\n return;\n }\n\n if (!data) {\n return;\n }\n\n for (const key of ['WIRMessageDataKey', 'WIRDestinationKey', 'WIRSocketDataKey']) {\n if (!_.isUndefined(data[key])) {\n data[key] = data[key].toString('utf8');\n }\n }\n await this.messageHandler.handleMessage(data);\n }\n}\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AAGe,
|
|
1
|
+
{"version":3,"file":"rpc-client-simulator.js","names":["_logger","_interopRequireDefault","require","_lodash","_bluebird","_net","_rpcClient","_appiumIosDevice","RpcClientSimulator","RpcClient","constructor","opts","Object","assign","shouldCheckForTarget","socketPath","host","port","messageProxy","socket","connect","log","debug","net","once","write","JSON","stringify","Socket","type","setNoDelay","setKeepAlive","on","isConnected","service","services","startWebInspectorService","udid","isSimulator","osVersion","platformVersion","verbose","logAllCommunication","verboseHexDump","logAllCommunicationHexDump","maxFrameLength","webInspectorMaxFrameLength","listenMessage","receive","bind","B","resolve","reject","err","error","message","disconnect","close","sendMessage","cmd","onSocketError","finally","removeListener","ign","data","key","_","isUndefined","toString","messageHandler","handleMessage","exports","default"],"sources":["../../../lib/rpc/rpc-client-simulator.js"],"sourcesContent":["import log from '../logger';\nimport _ from 'lodash';\nimport B from 'bluebird';\nimport net from 'net';\nimport RpcClient from './rpc-client';\nimport { services } from 'appium-ios-device';\n\n\nexport default class RpcClientSimulator extends RpcClient {\n constructor (opts = {}) {\n super(Object.assign({\n shouldCheckForTarget: false,\n }, opts));\n\n const {\n socketPath,\n host = '::1',\n port,\n messageProxy,\n } = opts;\n\n // host/port config for TCP communication, socketPath for unix domain sockets\n this.host = host;\n this.port = port;\n this.messageProxy = messageProxy;\n\n this.socket = null;\n this.socketPath = socketPath;\n }\n\n async connect () {\n // create socket and handle its messages\n if (this.socketPath) {\n if (this.messageProxy) {\n // unix domain socket via proxy\n log.debug(`Connecting to remote debugger via proxy through unix domain socket: '${this.messageProxy}'`);\n this.socket = net.connect(this.messageProxy);\n\n // Forward the actual socketPath to the proxy\n this.socket.once('connect', () => {\n log.debug(`Forwarding the actual web inspector socket to the proxy: '${this.socketPath}'`);\n this.socket.write(JSON.stringify({\n socketPath: this.socketPath\n }));\n });\n\n } else {\n // unix domain socket\n log.debug(`Connecting to remote debugger through unix domain socket: '${this.socketPath}'`);\n this.socket = net.connect(this.socketPath);\n }\n } else {\n if (this.messageProxy) {\n // connect to the proxy instead of the remote debugger directly\n this.port = this.messageProxy;\n }\n\n // tcp socket\n log.debug(`Connecting to remote debugger ${this.messageProxy ? 'via proxy ' : ''}through TCP: ${this.host}:${this.port}`);\n this.socket = new net.Socket({type: 'tcp6'});\n this.socket.connect(this.port, this.host);\n }\n\n this.socket.setNoDelay(true);\n this.socket.setKeepAlive(true);\n this.socket.on('close', () => {\n if (this.isConnected) {\n log.debug('Debugger socket disconnected');\n }\n this.isConnected = false;\n this.socket = null;\n });\n this.socket.on('end', () => {\n this.isConnected = false;\n });\n this.service = await services.startWebInspectorService(this.udid, {\n socket: this.socket,\n isSimulator: true,\n osVersion: this.platformVersion,\n verbose: this.logAllCommunication,\n verboseHexDump: this.logAllCommunicationHexDump,\n maxFrameLength: this.webInspectorMaxFrameLength,\n });\n this.service.listenMessage(this.receive.bind(this));\n\n // connect the socket\n return await new B((resolve, reject) => {\n // only resolve this function when we are actually connected\n this.socket.on('connect', () => {\n log.debug(`Debugger socket connected`);\n this.isConnected = true;\n\n resolve();\n });\n this.socket.on('error', (err) => {\n if (this.isConnected) {\n log.error(`Socket error: ${err.message}`);\n this.isConnected = false;\n }\n\n // the connection was refused, so reject the connect promise\n reject(err);\n });\n });\n }\n\n async disconnect () {\n if (!this.isConnected) {\n return;\n }\n\n log.debug('Disconnecting from remote debugger');\n await super.disconnect();\n this.service.close();\n this.isConnected = false;\n }\n\n async sendMessage (cmd) {\n let onSocketError;\n\n return await new B((resolve, reject) => {\n // handle socket problems\n onSocketError = (err) => {\n log.error(`Socket error: ${err.message}`);\n\n // the connection was refused, so reject the connect promise\n reject(err);\n };\n\n this.socket.on('error', onSocketError);\n this.service.sendMessage(cmd);\n resolve();\n })\n .finally(() => {\n // remove this listener, so we don't exhaust the system\n try {\n this.socket.removeListener('error', onSocketError);\n } catch (ign) {}\n });\n }\n\n async receive (data) {\n if (!this.isConnected) {\n return;\n }\n\n if (!data) {\n return;\n }\n\n for (const key of ['WIRMessageDataKey', 'WIRDestinationKey', 'WIRSocketDataKey']) {\n if (!_.isUndefined(data[key])) {\n data[key] = data[key].toString('utf8');\n }\n }\n await this.messageHandler.handleMessage(data);\n }\n}\n"],"mappings":"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"}
|