@appium/base-driver 8.3.0 → 8.3.1
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/build/lib/basedriver/capabilities.js +2 -4
- package/build/lib/basedriver/commands/event.js +2 -4
- package/build/lib/basedriver/commands/find.js +2 -4
- package/build/lib/basedriver/commands/index.js +2 -4
- package/build/lib/basedriver/commands/log.js +2 -4
- package/build/lib/basedriver/commands/session.js +2 -4
- package/build/lib/basedriver/commands/settings.js +2 -4
- package/build/lib/basedriver/commands/timeout.js +2 -4
- package/build/lib/basedriver/desired-caps.js +2 -4
- package/build/lib/basedriver/device-settings.js +2 -4
- package/build/lib/basedriver/driver.js +17 -6
- package/build/lib/basedriver/helpers.js +2 -4
- package/build/lib/basedriver/logger.js +2 -4
- package/build/lib/constants.js +2 -4
- package/build/lib/express/crash.js +2 -4
- package/build/lib/express/express-logging.js +2 -4
- package/build/lib/express/idempotency.js +2 -4
- package/build/lib/express/logger.js +2 -4
- package/build/lib/express/middleware.js +2 -4
- package/build/lib/express/server.js +2 -4
- package/build/lib/express/static.js +2 -4
- package/build/lib/express/websocket.js +2 -4
- package/build/lib/helpers/capabilities.js +2 -4
- package/build/lib/index.js +2 -4
- package/build/lib/jsonwp-proxy/protocol-converter.js +2 -4
- package/build/lib/jsonwp-proxy/proxy.js +2 -4
- package/build/lib/jsonwp-status/status.js +2 -4
- package/build/lib/protocol/errors.js +2 -4
- package/build/lib/protocol/helpers.js +2 -4
- package/build/lib/protocol/index.js +2 -4
- package/build/lib/protocol/protocol.js +2 -4
- package/build/lib/protocol/routes.js +2 -4
- package/build/lib/protocol/validators.js +2 -4
- package/build/test/basedriver/README.md +5 -0
- package/build/test/basedriver/driver-e2e-tests.js +2 -4
- package/build/test/basedriver/driver-tests.js +2 -4
- package/build/test/basedriver/index.js +2 -4
- package/build/test/e2e/basedriver/driver.e2e.spec.js +15 -0
- package/build/test/e2e/basedriver/helpers.e2e.spec.js +192 -0
- package/build/test/e2e/basedriver/websockets.e2e.spec.js +82 -0
- package/build/test/e2e/express/server.e2e.spec.js +159 -0
- package/build/test/e2e/jsonwp-proxy/proxy.e2e.spec.js +59 -0
- package/build/test/e2e/protocol/fake-driver.js +163 -0
- package/build/test/e2e/protocol/helpers.js +25 -0
- package/build/test/e2e/protocol/protocol.e2e.spec.js +1186 -0
- package/build/test/helpers.js +2 -4
- package/build/test/unit/basedriver/capabilities.spec.js +672 -0
- package/build/test/unit/basedriver/capability.spec.js +353 -0
- package/build/test/unit/basedriver/commands/event.spec.js +110 -0
- package/build/test/unit/basedriver/commands/log.spec.js +85 -0
- package/build/test/unit/basedriver/driver.spec.js +15 -0
- package/build/test/unit/basedriver/helpers.spec.js +151 -0
- package/build/test/unit/basedriver/timeout.spec.js +135 -0
- package/build/test/unit/express/server.spec.js +155 -0
- package/build/test/unit/express/static.spec.js +26 -0
- package/build/test/unit/jsonwp-proxy/mock-request.js +91 -0
- package/build/test/unit/jsonwp-proxy/protocol-converter.spec.js +171 -0
- package/build/test/unit/jsonwp-proxy/proxy.spec.js +292 -0
- package/build/test/unit/jsonwp-proxy/url.spec.js +165 -0
- package/build/test/unit/jsonwp-status/status.spec.js +34 -0
- package/build/test/unit/protocol/errors.spec.js +390 -0
- package/build/test/unit/protocol/routes.spec.js +80 -0
- package/build/test/unit/protocol/validator.spec.js +149 -0
- package/lib/basedriver/driver.js +15 -4
- package/package.json +14 -9
- package/test/basedriver/README.md +5 -0
- package/test/basedriver/driver-e2e-tests.js +1 -1
- package/build/test/basedriver/capabilities-specs.js +0 -674
- package/build/test/basedriver/capability-specs.js +0 -355
- package/build/test/basedriver/commands/event-specs.js +0 -112
- package/build/test/basedriver/commands/log-specs.js +0 -87
- package/build/test/basedriver/driver-e2e-specs.js +0 -17
- package/build/test/basedriver/driver-specs.js +0 -17
- package/build/test/basedriver/helpers-e2e-specs.js +0 -194
- package/build/test/basedriver/helpers-specs.js +0 -153
- package/build/test/basedriver/timeout-specs.js +0 -137
- package/build/test/basedriver/websockets-e2e-specs.js +0 -84
- package/build/test/express/server-e2e-specs.js +0 -161
- package/build/test/express/server-specs.js +0 -157
- package/build/test/express/static-specs.js +0 -28
- package/build/test/jsonwp-proxy/mock-request.js +0 -93
- package/build/test/jsonwp-proxy/protocol-converter-specs.js +0 -173
- package/build/test/jsonwp-proxy/proxy-e2e-specs.js +0 -61
- package/build/test/jsonwp-proxy/proxy-specs.js +0 -294
- package/build/test/jsonwp-proxy/url-specs.js +0 -167
- package/build/test/jsonwp-status/status-specs.js +0 -36
- package/build/test/protocol/errors-specs.js +0 -388
- package/build/test/protocol/fake-driver.js +0 -165
- package/build/test/protocol/helpers.js +0 -27
- package/build/test/protocol/protocol-e2e-specs.js +0 -1188
- package/build/test/protocol/routes-specs.js +0 -82
- package/build/test/protocol/validator-specs.js +0 -151
- package/test/basedriver/capabilities-specs.js +0 -537
- package/test/basedriver/capability-specs.js +0 -383
- package/test/basedriver/commands/event-specs.js +0 -74
- package/test/basedriver/commands/log-specs.js +0 -79
- package/test/basedriver/driver-e2e-specs.js +0 -8
- package/test/basedriver/driver-specs.js +0 -8
- package/test/basedriver/fixtures/BadZippedApp.zip +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.apk +0 -1
- package/test/basedriver/fixtures/FakeAndroidApp.asd +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.app +0 -1
- package/test/basedriver/fixtures/FakeIOSApp.app.zip +0 -0
- package/test/basedriver/fixtures/FakeIOSApp.ipa +0 -0
- package/test/basedriver/fixtures/custom-element-finder-bad.js +0 -5
- package/test/basedriver/fixtures/custom-element-finder.js +0 -29
- package/test/basedriver/helpers-e2e-specs.js +0 -187
- package/test/basedriver/helpers-specs.js +0 -137
- package/test/basedriver/timeout-specs.js +0 -128
- package/test/basedriver/websockets-e2e-specs.js +0 -75
|
@@ -394,7 +394,5 @@ async function doJwpProxy(driver, req, res) {
|
|
|
394
394
|
throw new Error(`Could not proxy. Proxy error: ${err.message}`);
|
|
395
395
|
}
|
|
396
396
|
}
|
|
397
|
-
}
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9wcm90b2NvbC9wcm90b2NvbC5qcyJdLCJuYW1lcyI6WyJDUkVBVEVfU0VTU0lPTl9DT01NQU5EIiwiREVMRVRFX1NFU1NJT05fQ09NTUFORCIsIkdFVF9TVEFUVVNfQ09NTUFORCIsIlByb3RvY29sIiwiZGV0ZXJtaW5lUHJvdG9jb2wiLCJjcmVhdGVTZXNzaW9uQXJncyIsIl8iLCJzb21lIiwiaXNXM2NDYXBzIiwiUFJPVE9DT0xTIiwiVzNDIiwiTUpTT05XUCIsImV4dHJhY3RQcm90b2NvbCIsImRyaXZlciIsInNlc3Npb25JZCIsImRzdERyaXZlciIsImlzRnVuY3Rpb24iLCJkcml2ZXJGb3JTZXNzaW9uIiwicHJvdG9jb2wiLCJpc1Nlc3Npb25Db21tYW5kIiwiY29tbWFuZCIsImluY2x1ZGVzIiwiTk9fU0VTU0lPTl9JRF9DT01NQU5EUyIsImdldExvZ2dlciIsImxvZyIsImluZm8iLCJsb2dQcmVmaXgiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJub2RlIiwiZ2V0T2JqZWN0SWQiLCJzdWJzdHJpbmciLCJsb2dnZXIiLCJ3cmFwUGFyYW1zIiwicGFyYW1TZXRzIiwianNvbk9iaiIsInJlcyIsImlzQXJyYXkiLCJpc09iamVjdCIsIndyYXAiLCJ1bndyYXBQYXJhbXMiLCJ1bndyYXAiLCJjaGVja1BhcmFtcyIsInJlcXVpcmVkUGFyYW1zIiwib3B0aW9uYWxQYXJhbXMiLCJyZWNlaXZlZFBhcmFtcyIsImtleXMiLCJyZXF1aXJlZCIsImZpcnN0Iiwib3B0aW9uYWwiLCJ2YWxpZGF0ZSIsIm1lc3NhZ2UiLCJlcnJvcnMiLCJCYWRQYXJhbWV0ZXJzRXJyb3IiLCJsZW5ndGgiLCJpbmRleE9mIiwicHVzaCIsInBhcmFtcyIsImRpZmZlcmVuY2UiLCJtYWtlQXJncyIsInJlcXVlc3RQYXJhbXMiLCJwYXlsb2FkUGFyYW1zIiwidXJsUGFyYW1zIiwicmV2ZXJzZSIsIndpdGhvdXQiLCJhcmdzIiwiZmxhdHRlbiIsIm1hcCIsInAiLCJjb25jYXQiLCJ1Iiwicm91dGVDb25maWd1cmluZ0Z1bmN0aW9uIiwic2Vzc2lvbkV4aXN0cyIsIkVycm9yIiwiZXhlY3V0ZUNvbW1hbmQiLCJleGVjdXRlIiwiYWRkUm91dGVzIiwiYXBwIiwiYmFzZVBhdGgiLCJERUZBVUxUX0JBU0VfUEFUSCIsImV4dHJhTWV0aG9kTWFwIiwiYWxsTWV0aG9kcyIsIk1FVEhPRF9NQVAiLCJwYXRoIiwibWV0aG9kcyIsInRvUGFpcnMiLCJtZXRob2QiLCJzcGVjIiwiYnVpbGRIYW5kbGVyIiwiaXNTZXNzQ21kIiwiYXN5bmNIYW5kbGVyIiwicmVxIiwiYm9keSIsImh0dHBSZXNCb2R5IiwiaHR0cFN0YXR1cyIsIm5ld1Nlc3Npb25JZCIsImN1cnJlbnRQcm90b2NvbCIsIk5vU3VjaERyaXZlckVycm9yIiwiZGlkUGx1Z2luT3ZlcnJpZGVQcm94eSIsIm5ldmVyUHJveHkiLCJkcml2ZXJTaG91bGREb0p3cFByb3h5IiwicGx1Z2luc1RvSGFuZGxlQ21kIiwiZG9Kd3BQcm94eSIsImRlYnVnIiwiTm90SW1wbGVtZW50ZWRFcnJvciIsImRyaXZlclJlcyIsInZhbGlkYXRvcnMiLCJ0cnVuY2F0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJNQVhfTE9HX0JPRFlfTEVOR1RIIiwicmVxRm9yUHJveHkiLCJpc1BsYWluT2JqZWN0IiwiaGFzIiwiZXJyb3IiLCJ2YWx1ZSIsImNhcGFiaWxpdGllcyIsInV0aWwiLCJoYXNWYWx1ZSIsInN0YXR1cyIsImlzTmFOIiwicGFyc2VJbnQiLCJzdGFja3RyYWNlIiwiZXJyIiwiYWN0dWFsRXJyIiwiZXJyTXNnIiwic3RhY2siLCJQcm94eVJlcXVlc3RFcnJvciIsImdldEFjdHVhbEVycm9yIiwiaXNTdHJpbmciLCJzZW5kIiwianNvbiIsInRvTG93ZXJDYXNlIiwiQiIsInJlc29sdmUiLCJkb25lIiwicHJveHlBY3RpdmUiLCJwcm94eVJvdXRlSXNBdm9pZGVkIiwib3JpZ2luYWxVcmwiLCJjYW5Qcm94eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBSUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0EsTUFBTUEsc0JBQXNCLEdBQUcsZUFBL0I7O0FBQ0EsTUFBTUMsc0JBQXNCLEdBQUcsZUFBL0I7O0FBQ0EsTUFBTUMsa0JBQWtCLEdBQUcsV0FBM0I7OztBQUVBLE1BQU1DLFFBQU4sQ0FBZTs7OztBQUVmLFNBQVNDLGlCQUFULENBQTRCQyxpQkFBNUIsRUFBK0M7QUFDN0MsU0FBT0MsZ0JBQUVDLElBQUYsQ0FBT0YsaUJBQVAsRUFBMEJHLHVCQUExQixJQUF1Q0MscUJBQVVDLEdBQWpELEdBQXVERCxxQkFBVUUsT0FBeEU7QUFDRDs7QUFFRCxTQUFTQyxlQUFULENBQTBCQyxNQUExQixFQUFrQ0MsU0FBUyxHQUFHLElBQTlDLEVBQW9EO0FBQUE7O0FBQ2xELFFBQU1DLFNBQVMsR0FBR1QsZ0JBQUVVLFVBQUYsQ0FBYUgsTUFBTSxDQUFDSSxnQkFBcEIsSUFDZEosTUFBTSxDQUFDSSxnQkFBUCxDQUF3QkgsU0FBeEIsQ0FEYyxHQUVkRCxNQUZKOztBQUdBLE1BQUlFLFNBQVMsS0FBS0YsTUFBbEIsRUFBMEI7QUFJeEIsV0FBT0EsTUFBTSxDQUFDSyxRQUFkO0FBQ0Q7O0FBR0QsZ0NBQU9ILFNBQVAsYUFBT0EsU0FBUCx1QkFBT0EsU0FBUyxDQUFFRyxRQUFsQixxRUFBOEJULHFCQUFVQyxHQUF4QztBQUNEOztBQUVELFNBQVNTLGdCQUFULENBQTJCQyxPQUEzQixFQUFvQztBQUNsQyxTQUFPLENBQUNkLGdCQUFFZSxRQUFGLENBQVdDLDhCQUFYLEVBQW1DRixPQUFuQyxDQUFSO0FBQ0Q7O0FBRUQsU0FBU0csU0FBVCxDQUFvQlYsTUFBcEIsRUFBNEJDLFNBQVMsR0FBRyxJQUF4QyxFQUE4QztBQUFBOztBQUM1QyxRQUFNQyxTQUFTLEdBQUdELFNBQVMsSUFBSVIsZ0JBQUVVLFVBQUYsQ0FBYUgsTUFBTSxDQUFDSSxnQkFBcEIsQ0FBYiw0QkFDYkosTUFBTSxDQUFDSSxnQkFBUCxDQUF3QkgsU0FBeEIsQ0FEYSx5RUFDeUJELE1BRHpCLEdBRWRBLE1BRko7O0FBR0EsTUFBSVAsZ0JBQUVVLFVBQUYsbUJBQWFELFNBQVMsQ0FBQ1MsR0FBdkIsbURBQWEsZUFBZUMsSUFBNUIsQ0FBSixFQUF1QztBQUNyQyxXQUFPVixTQUFTLENBQUNTLEdBQWpCO0FBQ0Q7O0FBRUQsTUFBSUUsU0FBUyxHQUFHWCxTQUFTLENBQUNZLFdBQVYsR0FDWCxHQUFFWixTQUFTLENBQUNZLFdBQVYsQ0FBc0JDLElBQUssSUFBR0MsY0FBS0MsV0FBTCxDQUFpQmYsU0FBakIsRUFBNEJnQixTQUE1QixDQUFzQyxDQUF0QyxFQUF5QyxDQUF6QyxDQUE0QyxFQURqRSxHQUVaLGNBRko7O0FBR0EsTUFBSWpCLFNBQUosRUFBZTtBQUNiWSxJQUFBQSxTQUFTLElBQUssS0FBSVosU0FBUyxDQUFDaUIsU0FBVixDQUFvQixDQUFwQixFQUF1QixDQUF2QixDQUEwQixHQUE1QztBQUNEOztBQUNELFNBQU9DLGdCQUFPVCxTQUFQLENBQWlCRyxTQUFqQixDQUFQO0FBQ0Q7O0FBRUQsU0FBU08sVUFBVCxDQUFxQkMsU0FBckIsRUFBZ0NDLE9BQWhDLEVBQXlDO0FBT3ZDLE1BQUlDLEdBQUcsR0FBR0QsT0FBVjs7QUFDQSxNQUFJN0IsZ0JBQUUrQixPQUFGLENBQVVGLE9BQVYsS0FBc0IsQ0FBQzdCLGdCQUFFZ0MsUUFBRixDQUFXSCxPQUFYLENBQTNCLEVBQWdEO0FBQzlDQyxJQUFBQSxHQUFHLEdBQUcsRUFBTjtBQUNBQSxJQUFBQSxHQUFHLENBQUNGLFNBQVMsQ0FBQ0ssSUFBWCxDQUFILEdBQXNCSixPQUF0QjtBQUNEOztBQUNELFNBQU9DLEdBQVA7QUFDRDs7QUFFRCxTQUFTSSxZQUFULENBQXVCTixTQUF2QixFQUFrQ0MsT0FBbEMsRUFBMkM7QUFJekMsTUFBSUMsR0FBRyxHQUFHRCxPQUFWOztBQUNBLE1BQUk3QixnQkFBRWdDLFFBQUYsQ0FBV0gsT0FBWCxDQUFKLEVBQXlCO0FBRXZCLFFBQUlBLE9BQU8sQ0FBQ0QsU0FBUyxDQUFDTyxNQUFYLENBQVgsRUFBK0I7QUFDN0JMLE1BQUFBLEdBQUcsR0FBR0QsT0FBTyxDQUFDRCxTQUFTLENBQUNPLE1BQVgsQ0FBYjtBQUNEO0FBQ0Y7O0FBQ0QsU0FBT0wsR0FBUDtBQUNEOztBQUVELFNBQVNNLFdBQVQsQ0FBc0JSLFNBQXRCLEVBQWlDQyxPQUFqQyxFQUEwQ2pCLFFBQTFDLEVBQW9EO0FBQ2xELE1BQUl5QixjQUFjLEdBQUcsRUFBckI7QUFDQSxNQUFJQyxjQUFjLEdBQUcsRUFBckI7O0FBQ0EsTUFBSUMsY0FBYyxHQUFHdkMsZ0JBQUV3QyxJQUFGLENBQU9YLE9BQVAsQ0FBckI7O0FBRUEsTUFBSUQsU0FBSixFQUFlO0FBQ2IsUUFBSUEsU0FBUyxDQUFDYSxRQUFkLEVBQXdCO0FBR3RCLFVBQUksQ0FBQ3pDLGdCQUFFK0IsT0FBRixDQUFVL0IsZ0JBQUUwQyxLQUFGLENBQVFkLFNBQVMsQ0FBQ2EsUUFBbEIsQ0FBVixDQUFMLEVBQTZDO0FBQzNDSixRQUFBQSxjQUFjLEdBQUcsQ0FBQ1QsU0FBUyxDQUFDYSxRQUFYLENBQWpCO0FBQ0QsT0FGRCxNQUVPO0FBQ0xKLFFBQUFBLGNBQWMsR0FBR1QsU0FBUyxDQUFDYSxRQUEzQjtBQUNEO0FBQ0Y7O0FBRUQsUUFBSWIsU0FBUyxDQUFDZSxRQUFkLEVBQXdCO0FBQ3RCTCxNQUFBQSxjQUFjLEdBQUdWLFNBQVMsQ0FBQ2UsUUFBM0I7QUFDRDs7QUFNRCxRQUFJZixTQUFTLENBQUNnQixRQUFkLEVBQXdCO0FBQ3RCLFVBQUlDLE9BQU8sR0FBR2pCLFNBQVMsQ0FBQ2dCLFFBQVYsQ0FBbUJmLE9BQW5CLEVBQTRCakIsUUFBNUIsQ0FBZDs7QUFDQSxVQUFJaUMsT0FBSixFQUFhO0FBQ1gsY0FBTSxJQUFJQyxlQUFPQyxrQkFBWCxDQUE4QkYsT0FBOUIsRUFBdUNoQixPQUF2QyxDQUFOO0FBQ0Q7QUFDRjtBQUNGOztBQUdELE1BQUlRLGNBQWMsQ0FBQ1csTUFBZixLQUEwQixDQUE5QixFQUFpQztBQUMvQjtBQUNEOztBQUdELE1BQUlWLGNBQWMsQ0FBQ1csT0FBZixDQUF1QixXQUF2QixNQUF3QyxDQUFDLENBQTdDLEVBQWdEO0FBQzlDWCxJQUFBQSxjQUFjLENBQUNZLElBQWYsQ0FBb0IsV0FBcEI7QUFDRDs7QUFHRCxNQUFJWixjQUFjLENBQUNXLE9BQWYsQ0FBdUIsSUFBdkIsTUFBaUMsQ0FBQyxDQUF0QyxFQUF5QztBQUN2Q1gsSUFBQUEsY0FBYyxDQUFDWSxJQUFmLENBQW9CLElBQXBCO0FBQ0Q7O0FBR0QsT0FBSyxJQUFJQyxNQUFULElBQW1CZCxjQUFuQixFQUFtQztBQUNqQyxRQUFJckMsZ0JBQUVvRCxVQUFGLENBQWFiLGNBQWIsRUFBNkJZLE1BQTdCLEVBQXFDYixjQUFyQyxFQUFxRFUsTUFBckQsS0FBZ0UsQ0FBaEUsSUFDQWhELGdCQUFFb0QsVUFBRixDQUFhRCxNQUFiLEVBQXFCWixjQUFyQixFQUFxQ1MsTUFBckMsS0FBZ0QsQ0FEcEQsRUFDdUQ7QUFHckQ7QUFDRDtBQUNGOztBQUNELFFBQU0sSUFBSUYsZUFBT0Msa0JBQVgsQ0FBOEJuQixTQUE5QixFQUF5Q1csY0FBekMsQ0FBTjtBQUNEOztBQVNELFNBQVNjLFFBQVQsQ0FBbUJDLGFBQW5CLEVBQWtDekIsT0FBbEMsRUFBMkMwQixhQUEzQyxFQUEwRDNDLFFBQTFELEVBQW9FO0FBS2xFLE1BQUk0QyxTQUFTLEdBQUd4RCxnQkFBRXdDLElBQUYsQ0FBT2MsYUFBUCxFQUFzQkcsT0FBdEIsRUFBaEI7O0FBTUEsTUFBSXBCLGNBQWMsR0FBR2tCLGFBQWEsQ0FBQ2QsUUFBbkM7O0FBQ0EsTUFBSXpDLGdCQUFFK0IsT0FBRixDQUFVL0IsZ0JBQUUwQyxLQUFGLENBQVFhLGFBQWEsQ0FBQ2QsUUFBdEIsQ0FBVixDQUFKLEVBQWdEO0FBSzlDLFFBQUlELElBQUksR0FBR3hDLGdCQUFFd0MsSUFBRixDQUFPWCxPQUFQLENBQVg7O0FBQ0EsU0FBSyxJQUFJc0IsTUFBVCxJQUFtQkksYUFBYSxDQUFDZCxRQUFqQyxFQUEyQztBQUN6QyxVQUFJekMsZ0JBQUUwRCxPQUFGLENBQVVQLE1BQVYsRUFBa0IsR0FBR1gsSUFBckIsRUFBMkJRLE1BQTNCLEtBQXNDLENBQTFDLEVBQTZDO0FBQzNDWCxRQUFBQSxjQUFjLEdBQUdjLE1BQWpCO0FBQ0E7QUFDRDtBQUNGO0FBQ0Y7O0FBR0QsTUFBSVEsSUFBSjs7QUFDQSxNQUFJM0QsZ0JBQUVVLFVBQUYsQ0FBYTZDLGFBQWEsQ0FBQ0YsUUFBM0IsQ0FBSixFQUEwQztBQU94Q00sSUFBQUEsSUFBSSxHQUFHSixhQUFhLENBQUNGLFFBQWQsQ0FBdUJ4QixPQUF2QixFQUFnQ2pCLFFBQWhDLENBQVA7QUFDRCxHQVJELE1BUU87QUFHTCtDLElBQUFBLElBQUksR0FBRzNELGdCQUFFNEQsT0FBRixDQUFVdkIsY0FBVixFQUEwQndCLEdBQTFCLENBQStCQyxDQUFELElBQU9qQyxPQUFPLENBQUNpQyxDQUFELENBQTVDLENBQVA7O0FBQ0EsUUFBSVAsYUFBYSxDQUFDWixRQUFsQixFQUE0QjtBQUMxQmdCLE1BQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDSSxNQUFMLENBQVkvRCxnQkFBRTRELE9BQUYsQ0FBVUwsYUFBYSxDQUFDWixRQUF4QixFQUFrQ2tCLEdBQWxDLENBQXVDQyxDQUFELElBQU9qQyxPQUFPLENBQUNpQyxDQUFELENBQXBELENBQVosQ0FBUDtBQUNEO0FBQ0Y7O0FBR0RILEVBQUFBLElBQUksR0FBR0EsSUFBSSxDQUFDSSxNQUFMLENBQVlQLFNBQVMsQ0FBQ0ssR0FBVixDQUFlRyxDQUFELElBQU9WLGFBQWEsQ0FBQ1UsQ0FBRCxDQUFsQyxDQUFaLENBQVA7QUFDQSxTQUFPTCxJQUFQO0FBQ0Q7O0FBRUQsU0FBU00sd0JBQVQsQ0FBbUMxRCxNQUFuQyxFQUEyQztBQUN6QyxNQUFJLENBQUNBLE1BQU0sQ0FBQzJELGFBQVosRUFBMkI7QUFDekIsVUFBTSxJQUFJQyxLQUFKLENBQVUsaURBQVYsQ0FBTjtBQUNEOztBQUVELE1BQUksRUFBRTVELE1BQU0sQ0FBQzZELGNBQVAsSUFBeUI3RCxNQUFNLENBQUM4RCxPQUFsQyxDQUFKLEVBQWdEO0FBQzlDLFVBQU0sSUFBSUYsS0FBSixDQUFVLDZEQUFWLENBQU47QUFDRDs7QUFJRCxTQUFPLFNBQVNHLFNBQVQsQ0FBb0JDLEdBQXBCLEVBQXlCO0FBQUNDLElBQUFBLFFBQVEsR0FBR0MsNEJBQVo7QUFBK0JDLElBQUFBLGNBQWMsR0FBRztBQUFoRCxHQUF6QixFQUE4RTtBQUduRm5FLElBQUFBLE1BQU0sQ0FBQ2lFLFFBQVAsR0FBa0JBLFFBQWxCO0FBRUEsVUFBTUcsVUFBVSxHQUFHLEVBQUMsR0FBR0Msa0JBQUo7QUFBZ0IsU0FBR0Y7QUFBbkIsS0FBbkI7O0FBRUEsU0FBSyxNQUFNLENBQUNHLElBQUQsRUFBT0MsT0FBUCxDQUFYLElBQThCOUUsZ0JBQUUrRSxPQUFGLENBQVVKLFVBQVYsQ0FBOUIsRUFBcUQ7QUFDbkQsV0FBSyxNQUFNLENBQUNLLE1BQUQsRUFBU0MsSUFBVCxDQUFYLElBQTZCakYsZ0JBQUUrRSxPQUFGLENBQVVELE9BQVYsQ0FBN0IsRUFBaUQ7QUFFL0NJLFFBQUFBLFlBQVksQ0FBQ1gsR0FBRCxFQUFNUyxNQUFOLEVBQWUsR0FBRVIsUUFBUyxHQUFFSyxJQUFLLEVBQWpDLEVBQW9DSSxJQUFwQyxFQUEwQzFFLE1BQTFDLEVBQWtETSxnQkFBZ0IsQ0FBQ29FLElBQUksQ0FBQ25FLE9BQU4sQ0FBbEUsQ0FBWjtBQUNEO0FBQ0Y7QUFDRixHQWJEO0FBY0Q7O0FBRUQsU0FBU29FLFlBQVQsQ0FBdUJYLEdBQXZCLEVBQTRCUyxNQUE1QixFQUFvQ0gsSUFBcEMsRUFBMENJLElBQTFDLEVBQWdEMUUsTUFBaEQsRUFBd0Q0RSxTQUF4RCxFQUFtRTtBQUNqRSxNQUFJQyxZQUFZLEdBQUcsT0FBT0MsR0FBUCxFQUFZdkQsR0FBWixLQUFvQjtBQUNyQyxRQUFJRCxPQUFPLEdBQUd3RCxHQUFHLENBQUNDLElBQWxCO0FBQ0EsUUFBSUMsV0FBVyxHQUFHLEVBQWxCO0FBQ0EsUUFBSUMsVUFBVSxHQUFHLEdBQWpCO0FBQ0EsUUFBSUMsWUFBSjtBQUNBLFFBQUlDLGVBQWUsR0FBR3BGLGVBQWUsQ0FBQ0MsTUFBRCxFQUFTOEUsR0FBRyxDQUFDbEMsTUFBSixDQUFXM0MsU0FBcEIsQ0FBckM7O0FBRUEsUUFBSTtBQUdGLFVBQUkyRSxTQUFTLElBQUksQ0FBQzVFLE1BQU0sQ0FBQzJELGFBQVAsQ0FBcUJtQixHQUFHLENBQUNsQyxNQUFKLENBQVczQyxTQUFoQyxDQUFsQixFQUE4RDtBQUM1RCxjQUFNLElBQUlzQyxlQUFPNkMsaUJBQVgsRUFBTjtBQUNEOztBQVVELFVBQUlDLHNCQUFzQixHQUFHLEtBQTdCOztBQUNBLFVBQUlULFNBQVMsSUFBSSxDQUFDRixJQUFJLENBQUNZLFVBQW5CLElBQWlDQyxzQkFBc0IsQ0FBQ3ZGLE1BQUQsRUFBUzhFLEdBQVQsRUFBY0osSUFBSSxDQUFDbkUsT0FBbkIsQ0FBM0QsRUFBd0Y7QUFDdEYsWUFBSSxDQUFDUCxNQUFNLENBQUN3RixrQkFBUixJQUNBeEYsTUFBTSxDQUFDd0Ysa0JBQVAsQ0FBMEJkLElBQUksQ0FBQ25FLE9BQS9CLEVBQXdDdUUsR0FBRyxDQUFDbEMsTUFBSixDQUFXM0MsU0FBbkQsRUFBOER3QyxNQUE5RCxLQUF5RSxDQUQ3RSxFQUNnRjtBQUM5RSxnQkFBTWdELFVBQVUsQ0FBQ3pGLE1BQUQsRUFBUzhFLEdBQVQsRUFBY3ZELEdBQWQsQ0FBaEI7QUFDQTtBQUNEOztBQUNEYixRQUFBQSxTQUFTLENBQUNWLE1BQUQsRUFBUzhFLEdBQUcsQ0FBQ2xDLE1BQUosQ0FBVzNDLFNBQXBCLENBQVQsQ0FBd0N5RixLQUF4QyxDQUErQyxxQkFBRCxHQUMzQyxtRkFEMkMsR0FFM0MsaUVBRkg7QUFHQUwsUUFBQUEsc0JBQXNCLEdBQUcsSUFBekI7QUFDRDs7QUFJRCxVQUFJLENBQUNYLElBQUksQ0FBQ25FLE9BQVYsRUFBbUI7QUFDakIsY0FBTSxJQUFJZ0MsZUFBT29ELG1CQUFYLEVBQU47QUFDRDs7QUFHRCxVQUFJakIsSUFBSSxDQUFDMUIsYUFBTCxJQUFzQjBCLElBQUksQ0FBQzFCLGFBQUwsQ0FBbUJ0QixJQUE3QyxFQUFtRDtBQUNqREosUUFBQUEsT0FBTyxHQUFHRixVQUFVLENBQUNzRCxJQUFJLENBQUMxQixhQUFOLEVBQXFCMUIsT0FBckIsQ0FBcEI7QUFDRDs7QUFHRCxVQUFJb0QsSUFBSSxDQUFDMUIsYUFBTCxJQUFzQjBCLElBQUksQ0FBQzFCLGFBQUwsQ0FBbUJwQixNQUE3QyxFQUFxRDtBQUNuRE4sUUFBQUEsT0FBTyxHQUFHSyxZQUFZLENBQUMrQyxJQUFJLENBQUMxQixhQUFOLEVBQXFCMUIsT0FBckIsQ0FBdEI7QUFDRDs7QUFFRCxVQUFJb0QsSUFBSSxDQUFDbkUsT0FBTCxLQUFpQnBCLHNCQUFyQixFQUE2QztBQUczQ2dHLFFBQUFBLGVBQWUsR0FBRzVGLGlCQUFpQixDQUFDdUQsUUFBUSxDQUFDZ0MsR0FBRyxDQUFDbEMsTUFBTCxFQUFhdEIsT0FBYixFQUFzQm9ELElBQUksQ0FBQzFCLGFBQUwsSUFBc0IsRUFBNUMsQ0FBVCxDQUFuQztBQUNEOztBQUdEbkIsTUFBQUEsV0FBVyxDQUFDNkMsSUFBSSxDQUFDMUIsYUFBTixFQUFxQjFCLE9BQXJCLEVBQThCNkQsZUFBOUIsQ0FBWDtBQUlBLFVBQUkvQixJQUFJLEdBQUdOLFFBQVEsQ0FBQ2dDLEdBQUcsQ0FBQ2xDLE1BQUwsRUFBYXRCLE9BQWIsRUFBc0JvRCxJQUFJLENBQUMxQixhQUFMLElBQXNCLEVBQTVDLEVBQWdEbUMsZUFBaEQsQ0FBbkI7QUFDQSxVQUFJUyxTQUFKOztBQUVBLFVBQUlDLHVCQUFXbkIsSUFBSSxDQUFDbkUsT0FBaEIsQ0FBSixFQUE4QjtBQUM1QnNGLCtCQUFXbkIsSUFBSSxDQUFDbkUsT0FBaEIsRUFBeUIsR0FBRzZDLElBQTVCO0FBQ0Q7O0FBR0QxQyxNQUFBQSxTQUFTLENBQUNWLE1BQUQsRUFBUzhFLEdBQUcsQ0FBQ2xDLE1BQUosQ0FBVzNDLFNBQXBCLENBQVQsQ0FBd0N5RixLQUF4QyxDQUErQyxVQUFELEdBQzNDLEdBQUUxRixNQUFNLENBQUNjLFdBQVAsQ0FBbUJDLElBQUssSUFBRzJELElBQUksQ0FBQ25FLE9BQVEsZ0JBREMsR0FFNUNkLGdCQUFFcUcsUUFBRixDQUFXQyxJQUFJLENBQUNDLFNBQUwsQ0FBZTVDLElBQWYsQ0FBWCxFQUFpQztBQUFDWCxRQUFBQSxNQUFNLEVBQUV3RDtBQUFULE9BQWpDLENBRkY7O0FBSUEsVUFBSVosc0JBQUosRUFBNEI7QUFJMUJqQyxRQUFBQSxJQUFJLENBQUNULElBQUwsQ0FBVTtBQUFDdUQsVUFBQUEsV0FBVyxFQUFFcEI7QUFBZCxTQUFWO0FBQ0Q7O0FBRURjLE1BQUFBLFNBQVMsR0FBRyxNQUFNNUYsTUFBTSxDQUFDNkQsY0FBUCxDQUFzQmEsSUFBSSxDQUFDbkUsT0FBM0IsRUFBb0MsR0FBRzZDLElBQXZDLENBQWxCO0FBR0ErQixNQUFBQSxlQUFlLEdBQUdwRixlQUFlLENBQUNDLE1BQUQsRUFBUzhFLEdBQUcsQ0FBQ2xDLE1BQUosQ0FBVzNDLFNBQXBCLENBQWYsSUFBaURrRixlQUFuRTs7QUFJQSxVQUFJMUYsZ0JBQUUwRyxhQUFGLENBQWdCUCxTQUFoQixLQUE4Qm5HLGdCQUFFMkcsR0FBRixDQUFNUixTQUFOLEVBQWlCLFVBQWpCLENBQWxDLEVBQWdFO0FBQzlEVCxRQUFBQSxlQUFlLEdBQUdTLFNBQVMsQ0FBQ3ZGLFFBQVYsSUFBc0I4RSxlQUF4Qzs7QUFDQSxZQUFJUyxTQUFTLENBQUNTLEtBQWQsRUFBcUI7QUFDbkIsZ0JBQU1ULFNBQVMsQ0FBQ1MsS0FBaEI7QUFDRDs7QUFDRFQsUUFBQUEsU0FBUyxHQUFHQSxTQUFTLENBQUNVLEtBQXRCO0FBQ0Q7O0FBR0QsVUFBSTVCLElBQUksQ0FBQ25FLE9BQUwsS0FBaUJwQixzQkFBckIsRUFBNkM7QUFDM0MrRixRQUFBQSxZQUFZLEdBQUdVLFNBQVMsQ0FBQyxDQUFELENBQXhCO0FBQ0FsRixRQUFBQSxTQUFTLENBQUNWLE1BQUQsRUFBU2tGLFlBQVQsQ0FBVCxDQUNHUSxLQURILENBQ1UsOEJBQTZCUCxlQUFnQix5QkFBd0JELFlBQWEsRUFENUY7O0FBRUEsWUFBSUMsZUFBZSxLQUFLdkYscUJBQVVFLE9BQWxDLEVBQTJDO0FBQ3pDOEYsVUFBQUEsU0FBUyxHQUFHQSxTQUFTLENBQUMsQ0FBRCxDQUFyQjtBQUNELFNBRkQsTUFFTyxJQUFJVCxlQUFlLEtBQUt2RixxQkFBVUMsR0FBbEMsRUFBdUM7QUFDNUMrRixVQUFBQSxTQUFTLEdBQUc7QUFDVlcsWUFBQUEsWUFBWSxFQUFFWCxTQUFTLENBQUMsQ0FBRDtBQURiLFdBQVo7QUFHRDtBQUNGOztBQUVEQSxNQUFBQSxTQUFTLEdBQUcsa0NBQW9CQSxTQUFwQixDQUFaOztBQUdBLFVBQUlsQixJQUFJLENBQUNuRSxPQUFMLEtBQWlCbkIsc0JBQXJCLEVBQTZDO0FBQzNDc0IsUUFBQUEsU0FBUyxDQUFDVixNQUFELEVBQVM4RSxHQUFHLENBQUNsQyxNQUFKLENBQVczQyxTQUFwQixDQUFULENBQ0d5RixLQURILENBQ1Usc0JBQXFCakcsZ0JBQUVxRyxRQUFGLENBQVdDLElBQUksQ0FBQ0MsU0FBTCxDQUFlSixTQUFmLENBQVgsRUFBc0M7QUFBQ25ELFVBQUFBLE1BQU0sRUFBRXdEO0FBQVQsU0FBdEMsQ0FBcUUsRUFEcEc7QUFFQXZGLFFBQUFBLFNBQVMsQ0FBQ1YsTUFBRCxFQUFTOEUsR0FBRyxDQUFDbEMsTUFBSixDQUFXM0MsU0FBcEIsQ0FBVCxDQUF3Q3lGLEtBQXhDLENBQThDLHdDQUE5QztBQUNBRSxRQUFBQSxTQUFTLEdBQUcsSUFBWjtBQUNEOztBQUdELFVBQUlZLGNBQUtDLFFBQUwsQ0FBY2IsU0FBZCxDQUFKLEVBQThCO0FBQzVCLFlBQUlZLGNBQUtDLFFBQUwsQ0FBY2IsU0FBUyxDQUFDYyxNQUF4QixLQUFtQyxDQUFDQyxLQUFLLENBQUNmLFNBQVMsQ0FBQ2MsTUFBWCxDQUF6QyxJQUErREUsUUFBUSxDQUFDaEIsU0FBUyxDQUFDYyxNQUFYLEVBQW1CLEVBQW5CLENBQVIsS0FBbUMsQ0FBdEcsRUFBeUc7QUFDdkcsZ0JBQU0sd0NBQTJCZCxTQUFTLENBQUNjLE1BQXJDLEVBQTZDZCxTQUFTLENBQUNVLEtBQXZELENBQU47QUFDRCxTQUZELE1BRU8sSUFBSTdHLGdCQUFFMEcsYUFBRixDQUFnQlAsU0FBUyxDQUFDVSxLQUExQixLQUFvQ1YsU0FBUyxDQUFDVSxLQUFWLENBQWdCRCxLQUF4RCxFQUErRDtBQUNwRSxnQkFBTSxrQ0FBcUJULFNBQVMsQ0FBQ1UsS0FBVixDQUFnQkQsS0FBckMsRUFBNENULFNBQVMsQ0FBQ1UsS0FBVixDQUFnQmhFLE9BQTVELEVBQXFFc0QsU0FBUyxDQUFDVSxLQUFWLENBQWdCTyxVQUFyRixDQUFOO0FBQ0Q7QUFDRjs7QUFFRDdCLE1BQUFBLFdBQVcsQ0FBQ3NCLEtBQVosR0FBb0JWLFNBQXBCO0FBQ0FsRixNQUFBQSxTQUFTLENBQUNWLE1BQUQsRUFBUzhFLEdBQUcsQ0FBQ2xDLE1BQUosQ0FBVzNDLFNBQVgsSUFBd0JpRixZQUFqQyxDQUFULENBQXdEUSxLQUF4RCxDQUErRCxhQUFELEdBQzNELHlCQUF3QmhCLElBQUksQ0FBQ25FLE9BQVEsY0FBYWQsZ0JBQUVxRyxRQUFGLENBQVdDLElBQUksQ0FBQ0MsU0FBTCxDQUFlSixTQUFmLENBQVgsRUFBc0M7QUFBQ25ELFFBQUFBLE1BQU0sRUFBRXdEO0FBQVQsT0FBdEMsQ0FBcUUsRUFEMUg7QUFFRCxLQTdIRCxDQTZIRSxPQUFPYSxHQUFQLEVBQVk7QUFHWixVQUFJQyxTQUFTLEdBQUdELEdBQWhCO0FBRUEzQixNQUFBQSxlQUFlLEdBQUdBLGVBQWUsSUFBSXBGLGVBQWUsQ0FBQ0MsTUFBRCxFQUFTOEUsR0FBRyxDQUFDbEMsTUFBSixDQUFXM0MsU0FBWCxJQUF3QmlGLFlBQWpDLENBQXBEO0FBRUEsVUFBSThCLE1BQU0sR0FBR0YsR0FBRyxDQUFDRCxVQUFKLElBQWtCQyxHQUFHLENBQUNHLEtBQW5DOztBQUNBLFVBQUksQ0FBQ3hILGdCQUFFZSxRQUFGLENBQVd3RyxNQUFYLEVBQW1CRixHQUFHLENBQUN4RSxPQUF2QixDQUFMLEVBQXNDO0FBR3BDMEUsUUFBQUEsTUFBTSxHQUFJLEdBQUVGLEdBQUcsQ0FBQ3hFLE9BQVEsR0FBRTBFLE1BQU0sR0FBSSxPQUFPQSxNQUFYLEdBQXFCLEVBQUcsRUFBeEQ7QUFDRDs7QUFDRCxVQUFJLHlCQUFZRixHQUFaLEVBQWlCdkUsZUFBTzJFLGlCQUF4QixDQUFKLEVBQWdEO0FBQzlDSCxRQUFBQSxTQUFTLEdBQUdELEdBQUcsQ0FBQ0ssY0FBSixFQUFaO0FBQ0QsT0FGRCxNQUVPO0FBQ0x6RyxRQUFBQSxTQUFTLENBQUNWLE1BQUQsRUFBUzhFLEdBQUcsQ0FBQ2xDLE1BQUosQ0FBVzNDLFNBQVgsSUFBd0JpRixZQUFqQyxDQUFULENBQ0dRLEtBREgsQ0FDVSwrQ0FBOENzQixNQUFPLEVBRC9EO0FBRUQ7O0FBRUQsT0FBQy9CLFVBQUQsRUFBYUQsV0FBYixJQUE0QixvQ0FBdUIrQixTQUF2QixDQUE1QjtBQUNEOztBQUdELFFBQUl0SCxnQkFBRTJILFFBQUYsQ0FBV3BDLFdBQVgsQ0FBSixFQUE2QjtBQUMzQnpELE1BQUFBLEdBQUcsQ0FBQ21GLE1BQUosQ0FBV3pCLFVBQVgsRUFBdUJvQyxJQUF2QixDQUE0QnJDLFdBQTVCO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsVUFBSUUsWUFBSixFQUFrQjtBQUNoQixZQUFJQyxlQUFlLEtBQUt2RixxQkFBVUMsR0FBbEMsRUFBdUM7QUFDckNtRixVQUFBQSxXQUFXLENBQUNzQixLQUFaLENBQWtCckcsU0FBbEIsR0FBOEJpRixZQUE5QjtBQUNELFNBRkQsTUFFTztBQUNMRixVQUFBQSxXQUFXLENBQUMvRSxTQUFaLEdBQXdCaUYsWUFBeEI7QUFDRDtBQUNGLE9BTkQsTUFNTztBQUNMRixRQUFBQSxXQUFXLENBQUMvRSxTQUFaLEdBQXdCNkUsR0FBRyxDQUFDbEMsTUFBSixDQUFXM0MsU0FBWCxJQUF3QixJQUFoRDtBQUNEOztBQUVELFVBQUlrRixlQUFlLEtBQUt2RixxQkFBVUMsR0FBbEMsRUFBdUM7QUFDckMsZUFBT21GLFdBQVcsQ0FBQy9FLFNBQW5CO0FBQ0Q7O0FBRUQrRSxNQUFBQSxXQUFXLEdBQUcsMkJBQWFBLFdBQWIsQ0FBZDtBQUNBekQsTUFBQUEsR0FBRyxDQUFDbUYsTUFBSixDQUFXekIsVUFBWCxFQUF1QnFDLElBQXZCLENBQTRCdEMsV0FBNUI7QUFDRDtBQUNGLEdBaExEOztBQWtMQWhCLEVBQUFBLEdBQUcsQ0FBQ1MsTUFBTSxDQUFDOEMsV0FBUCxFQUFELENBQUgsQ0FBMEJqRCxJQUExQixFQUFnQyxDQUFDUSxHQUFELEVBQU12RCxHQUFOLEtBQWM7QUFDNUNpRyxzQkFBRUMsT0FBRixDQUFVNUMsWUFBWSxDQUFDQyxHQUFELEVBQU12RCxHQUFOLENBQXRCLEVBQWtDbUcsSUFBbEM7QUFDRCxHQUZEO0FBR0Q7O0FBRUQsU0FBU25DLHNCQUFULENBQWlDdkYsTUFBakMsRUFBeUM4RSxHQUF6QyxFQUE4Q3ZFLE9BQTlDLEVBQXVEO0FBRXJELE1BQUksQ0FBQ1AsTUFBTSxDQUFDMkgsV0FBUCxDQUFtQjdDLEdBQUcsQ0FBQ2xDLE1BQUosQ0FBVzNDLFNBQTlCLENBQUwsRUFBK0M7QUFDN0MsV0FBTyxLQUFQO0FBQ0Q7O0FBSUQsTUFBSU0sT0FBTyxLQUFLbkIsc0JBQWhCLEVBQXdDO0FBQ3RDLFdBQU8sS0FBUDtBQUNEOztBQUlELE1BQUlZLE1BQU0sQ0FBQzRILG1CQUFQLENBQTJCOUMsR0FBRyxDQUFDbEMsTUFBSixDQUFXM0MsU0FBdEMsRUFBaUQ2RSxHQUFHLENBQUNMLE1BQXJELEVBQTZESyxHQUFHLENBQUMrQyxXQUFqRSxFQUE4RS9DLEdBQUcsQ0FBQ0MsSUFBbEYsQ0FBSixFQUE2RjtBQUMzRixXQUFPLEtBQVA7QUFDRDs7QUFFRCxTQUFPLElBQVA7QUFDRDs7QUFFRCxlQUFlVSxVQUFmLENBQTJCekYsTUFBM0IsRUFBbUM4RSxHQUFuQyxFQUF3Q3ZELEdBQXhDLEVBQTZDO0FBQzNDYixFQUFBQSxTQUFTLENBQUNWLE1BQUQsRUFBUzhFLEdBQUcsQ0FBQ2xDLE1BQUosQ0FBVzNDLFNBQXBCLENBQVQsQ0FDR1csSUFESCxDQUNRLHdEQURSOztBQUlBLE1BQUksQ0FBQ1osTUFBTSxDQUFDOEgsUUFBUCxDQUFnQmhELEdBQUcsQ0FBQ2xDLE1BQUosQ0FBVzNDLFNBQTNCLENBQUwsRUFBNEM7QUFDMUMsVUFBTSxJQUFJMkQsS0FBSixDQUFVLCtEQUFWLENBQU47QUFDRDs7QUFDRCxNQUFJO0FBQ0YsVUFBTTVELE1BQU0sQ0FBQzZELGNBQVAsQ0FBc0IsYUFBdEIsRUFBcUNpQixHQUFyQyxFQUEwQ3ZELEdBQTFDLEVBQStDdUQsR0FBRyxDQUFDbEMsTUFBSixDQUFXM0MsU0FBMUQsQ0FBTjtBQUNELEdBRkQsQ0FFRSxPQUFPNkcsR0FBUCxFQUFZO0FBQ1osUUFBSSx5QkFBWUEsR0FBWixFQUFpQnZFLGVBQU8yRSxpQkFBeEIsQ0FBSixFQUFnRDtBQUM5QyxZQUFNSixHQUFOO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsWUFBTSxJQUFJbEQsS0FBSixDQUFXLGlDQUFnQ2tELEdBQUcsQ0FBQ3hFLE9BQVEsRUFBdkQsQ0FBTjtBQUNEO0FBQ0Y7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB1dGlsLCBsb2dnZXIsIG5vZGUgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgdmFsaWRhdG9ycyB9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5pbXBvcnQge1xuICBlcnJvcnMsIGlzRXJyb3JUeXBlLCBnZXRSZXNwb25zZUZvclczQ0Vycm9yLFxuICBlcnJvckZyb21NSlNPTldQU3RhdHVzQ29kZSwgZXJyb3JGcm9tVzNDSnNvbkNvZGUsXG59IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7IE1FVEhPRF9NQVAsIE5PX1NFU1NJT05fSURfQ09NTUFORFMgfSBmcm9tICcuL3JvdXRlcyc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyBmb3JtYXRSZXNwb25zZVZhbHVlLCBmb3JtYXRTdGF0dXMgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgTUFYX0xPR19CT0RZX0xFTkdUSCwgUFJPVE9DT0xTLCBERUZBVUxUX0JBU0VfUEFUSCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc1czY0NhcHMgfSBmcm9tICcuLi9oZWxwZXJzL2NhcGFiaWxpdGllcyc7XG5cblxuY29uc3QgQ1JFQVRFX1NFU1NJT05fQ09NTUFORCA9ICdjcmVhdGVTZXNzaW9uJztcbmNvbnN0IERFTEVURV9TRVNTSU9OX0NPTU1BTkQgPSAnZGVsZXRlU2Vzc2lvbic7XG5jb25zdCBHRVRfU1RBVFVTX0NPTU1BTkQgPSAnZ2V0U3RhdHVzJztcblxuY2xhc3MgUHJvdG9jb2wge31cblxuZnVuY3Rpb24gZGV0ZXJtaW5lUHJvdG9jb2wgKGNyZWF0ZVNlc3Npb25BcmdzKSB7XG4gIHJldHVybiBfLnNvbWUoY3JlYXRlU2Vzc2lvbkFyZ3MsIGlzVzNjQ2FwcykgPyBQUk9UT0NPTFMuVzNDIDogUFJPVE9DT0xTLk1KU09OV1A7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RQcm90b2NvbCAoZHJpdmVyLCBzZXNzaW9uSWQgPSBudWxsKSB7XG4gIGNvbnN0IGRzdERyaXZlciA9IF8uaXNGdW5jdGlvbihkcml2ZXIuZHJpdmVyRm9yU2Vzc2lvbilcbiAgICA/IGRyaXZlci5kcml2ZXJGb3JTZXNzaW9uKHNlc3Npb25JZClcbiAgICA6IGRyaXZlcjtcbiAgaWYgKGRzdERyaXZlciA9PT0gZHJpdmVyKSB7XG4gICAgLy8gU2hvcnRjaXJjdWl0IGlmIHRoZSBkcml2ZXIgaW5zdGFuY2UgaXMgbm90IGFuIHVtYnJlbGxhIGRyaXZlclxuICAgIC8vIG9yIGl0IGlzIEZha2UgZHJpdmVyIGluc3RhbmNlLCB3aGVyZSBgZHJpdmVyLmRyaXZlckZvclNlc3Npb25gXG4gICAgLy8gYWx3YXlzIHJldHVybnMgc2VsZiBpbnN0YW5jZVxuICAgIHJldHVybiBkcml2ZXIucHJvdG9jb2w7XG4gIH1cblxuICAvLyBFeHRyYWN0IHRoZSBwcm90b2NvbCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbiBpZiB0aGUgZ2l2ZW4gZHJpdmVyIGlzIHRoZSB1bWJyZWxsYSBvbmVcbiAgcmV0dXJuIGRzdERyaXZlcj8ucHJvdG9jb2wgPz8gUFJPVE9DT0xTLlczQztcbn1cblxuZnVuY3Rpb24gaXNTZXNzaW9uQ29tbWFuZCAoY29tbWFuZCkge1xuICByZXR1cm4gIV8uaW5jbHVkZXMoTk9fU0VTU0lPTl9JRF9DT01NQU5EUywgY29tbWFuZCk7XG59XG5cbmZ1bmN0aW9uIGdldExvZ2dlciAoZHJpdmVyLCBzZXNzaW9uSWQgPSBudWxsKSB7XG4gIGNvbnN0IGRzdERyaXZlciA9IHNlc3Npb25JZCAmJiBfLmlzRnVuY3Rpb24oZHJpdmVyLmRyaXZlckZvclNlc3Npb24pXG4gICAgPyAoZHJpdmVyLmRyaXZlckZvclNlc3Npb24oc2Vzc2lvbklkKSA/PyBkcml2ZXIpXG4gICAgOiBkcml2ZXI7XG4gIGlmIChfLmlzRnVuY3Rpb24oZHN0RHJpdmVyLmxvZz8uaW5mbykpIHtcbiAgICByZXR1cm4gZHN0RHJpdmVyLmxvZztcbiAgfVxuXG4gIGxldCBsb2dQcmVmaXggPSBkc3REcml2ZXIuY29uc3RydWN0b3JcbiAgICA/IGAke2RzdERyaXZlci5jb25zdHJ1Y3Rvci5uYW1lfUAke25vZGUuZ2V0T2JqZWN0SWQoZHN0RHJpdmVyKS5zdWJzdHJpbmcoMCwgOCl9YFxuICAgIDogJ0FwcGl1bURyaXZlcic7XG4gIGlmIChzZXNzaW9uSWQpIHtcbiAgICBsb2dQcmVmaXggKz0gYCAoJHtzZXNzaW9uSWQuc3Vic3RyaW5nKDAsIDgpfSlgO1xuICB9XG4gIHJldHVybiBsb2dnZXIuZ2V0TG9nZ2VyKGxvZ1ByZWZpeCk7XG59XG5cbmZ1bmN0aW9uIHdyYXBQYXJhbXMgKHBhcmFtU2V0cywganNvbk9iaikge1xuICAvKiBUaGVyZSBhcmUgY29tbWFuZHMgbGlrZSBwZXJmb3JtVG91Y2ggd2hpY2ggdGFrZSBhIHNpbmdsZSBwYXJhbWV0ZXIgKHByaW1pdGl2ZSB0eXBlIG9yIGFycmF5KS5cbiAgICogU29tZSBkcml2ZXJzIGNob29zZSB0byBwYXNzIHRoaXMgcGFyYW1ldGVyIGFzIGEgdmFsdWUgKGVnLiBbYWN0aW9uMSwgYWN0aW9uMi4uLl0pIHdoaWxlIG90aGVycyB0b1xuICAgKiB3cmFwIGl0IHdpdGhpbiBhbiBvYmplY3QoZWcnIHtnZXN0dXJlOiAgW2FjdGlvbjEsIGFjdGlvbjIuLi5dfSksIHdoaWNoIG1ha2VzIGl0IGhhcmQgdG8gdmFsaWRhdGUuXG4gICAqIFRoZSB3cmFwIG9wdGlvbiBpbiB0aGUgc3BlYyBlbmZvcmNlIHdyYXBwaW5nIGJlZm9yZSB2YWxpZGF0aW9uLCBzbyB0aGF0IGFsbCBwYXJhbXMgYXJlIHdyYXBwZWQgYXRcbiAgICogdGhlIHRpbWUgdGhleSBhcmUgdmFsaWRhdGVkIGFuZCBsYXRlciBwYXNzZWQgdG8gdGhlIGNvbW1hbmRzLlxuICAgKi9cbiAgbGV0IHJlcyA9IGpzb25PYmo7XG4gIGlmIChfLmlzQXJyYXkoanNvbk9iaikgfHwgIV8uaXNPYmplY3QoanNvbk9iaikpIHtcbiAgICByZXMgPSB7fTtcbiAgICByZXNbcGFyYW1TZXRzLndyYXBdID0ganNvbk9iajtcbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiB1bndyYXBQYXJhbXMgKHBhcmFtU2V0cywganNvbk9iaikge1xuICAvKiBUaGVyZSBhcmUgY29tbWFuZHMgbGlrZSBzZXROZXR3b3JrQ29ubmVjdGlvbiB3aGljaCBzZW5kIHBhcmFtZXRlcnMgd3JhcHBlZCBpbnNpZGUgYSBrZXkgc3VjaCBhc1xuICAgKiBcInBhcmFtZXRlcnNcIi4gVGhpcyBmdW5jdGlvbiB1bndyYXBzIHRoZW0gKGVnLiB7XCJwYXJhbWV0ZXJzXCI6IHtcInR5cGVcIjogMX19IGJlY29tZXMge1widHlwZVwiOiAxfSkuXG4gICAqL1xuICBsZXQgcmVzID0ganNvbk9iajtcbiAgaWYgKF8uaXNPYmplY3QoanNvbk9iaikpIHtcbiAgICAvLyBzb21lIGNsaWVudHMsIGxpa2UgcnVieSwgZG9uJ3Qgd3JhcFxuICAgIGlmIChqc29uT2JqW3BhcmFtU2V0cy51bndyYXBdKSB7XG4gICAgICByZXMgPSBqc29uT2JqW3BhcmFtU2V0cy51bndyYXBdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBjaGVja1BhcmFtcyAocGFyYW1TZXRzLCBqc29uT2JqLCBwcm90b2NvbCkge1xuICBsZXQgcmVxdWlyZWRQYXJhbXMgPSBbXTtcbiAgbGV0IG9wdGlvbmFsUGFyYW1zID0gW107XG4gIGxldCByZWNlaXZlZFBhcmFtcyA9IF8ua2V5cyhqc29uT2JqKTtcblxuICBpZiAocGFyYW1TZXRzKSB7XG4gICAgaWYgKHBhcmFtU2V0cy5yZXF1aXJlZCkge1xuICAgICAgLy8gd2UgbWlnaHQgaGF2ZSBhbiBhcnJheSBvZiBwYXJhbWV0ZXJzLFxuICAgICAgLy8gb3IgYW4gYXJyYXkgb2YgYXJyYXlzIG9mIHBhcmFtZXRlcnMsIHNvIHN0YW5kYXJkaXplXG4gICAgICBpZiAoIV8uaXNBcnJheShfLmZpcnN0KHBhcmFtU2V0cy5yZXF1aXJlZCkpKSB7XG4gICAgICAgIHJlcXVpcmVkUGFyYW1zID0gW3BhcmFtU2V0cy5yZXF1aXJlZF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1aXJlZFBhcmFtcyA9IHBhcmFtU2V0cy5yZXF1aXJlZDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gb3B0aW9uYWwgcGFyYW1ldGVycyBhcmUganVzdCBhbiBhcnJheVxuICAgIGlmIChwYXJhbVNldHMub3B0aW9uYWwpIHtcbiAgICAgIG9wdGlvbmFsUGFyYW1zID0gcGFyYW1TZXRzLm9wdGlvbmFsO1xuICAgIH1cblxuICAgIC8vIElmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIGFzIHRoZSAndmFsaWRhdGUnIGtleSwgaXQgd2lsbCBoZXJlIGJlIGNhbGxlZCB3aXRoXG4gICAgLy8ganNvbk9iaiBhcyB0aGUgcGFyYW0uIElmIGl0IHJldHVybnMgc29tZXRoaW5nIGZhbHN5LCB2ZXJpZmljYXRpb24gd2lsbCBiZVxuICAgIC8vIGNvbnNpZGVyZWQgdG8gaGF2ZSBwYXNzZWQuIElmIGl0IHJldHVybnMgc29tZXRoaW5nIGVsc2UsIHRoYXQgd2lsbCBiZSB0aGVcbiAgICAvLyBhcmd1bWVudCB0byBhbiBlcnJvciB3aGljaCBpcyB0aHJvd24gdG8gdGhlIHVzZXJcbiAgICBpZiAocGFyYW1TZXRzLnZhbGlkYXRlKSB7XG4gICAgICBsZXQgbWVzc2FnZSA9IHBhcmFtU2V0cy52YWxpZGF0ZShqc29uT2JqLCBwcm90b2NvbCk7XG4gICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICB0aHJvdyBuZXcgZXJyb3JzLkJhZFBhcmFtZXRlcnNFcnJvcihtZXNzYWdlLCBqc29uT2JqKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBpZiB3ZSBoYXZlIG5vIHJlcXVpcmVkIHBhcmFtZXRlcnMsIGFsbCBpcyB3ZWxsXG4gIGlmIChyZXF1aXJlZFBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBzb21lIGNsaWVudHMgcGFzcyBpbiB0aGUgc2Vzc2lvbiBpZCBpbiB0aGUgcGFyYW1zXG4gIGlmIChvcHRpb25hbFBhcmFtcy5pbmRleE9mKCdzZXNzaW9uSWQnKSA9PT0gLTEpIHtcbiAgICBvcHRpb25hbFBhcmFtcy5wdXNoKCdzZXNzaW9uSWQnKTtcbiAgfVxuXG4gIC8vIHNvbWUgY2xpZW50cyBwYXNzIGluIGFuIGVsZW1lbnQgaWQgaW4gdGhlIHBhcmFtc1xuICBpZiAob3B0aW9uYWxQYXJhbXMuaW5kZXhPZignaWQnKSA9PT0gLTEpIHtcbiAgICBvcHRpb25hbFBhcmFtcy5wdXNoKCdpZCcpO1xuICB9XG5cbiAgLy8gZ28gdGhyb3VnaCB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycyBhbmQgY2hlY2sgYWdhaW5zdCBvdXIgYXJndW1lbnRzXG4gIGZvciAobGV0IHBhcmFtcyBvZiByZXF1aXJlZFBhcmFtcykge1xuICAgIGlmIChfLmRpZmZlcmVuY2UocmVjZWl2ZWRQYXJhbXMsIHBhcmFtcywgb3B0aW9uYWxQYXJhbXMpLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBfLmRpZmZlcmVuY2UocGFyYW1zLCByZWNlaXZlZFBhcmFtcykubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyB3ZSBoYXZlIGEgc2V0IG9mIHBhcmFtZXRlcnMgdGhhdCBpcyBjb3JyZWN0XG4gICAgICAvLyBzbyBzaG9ydC1jaXJjdWl0XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBlcnJvcnMuQmFkUGFyYW1ldGVyc0Vycm9yKHBhcmFtU2V0cywgcmVjZWl2ZWRQYXJhbXMpO1xufVxuXG4vKlxuICogVGhpcyBtZXRob2QgdGFrZXMgMyBwaWVjZXMgb2YgZGF0YTogcmVxdWVzdCBwYXJhbWV0ZXJzICgncmVxdWVzdFBhcmFtcycpLFxuICogYSByZXF1ZXN0IEpTT04gYm9keSAoJ2pzb25PYmonKSwgYW5kICdwYXlsb2FkUGFyYW1zJywgd2hpY2ggaXMgdGhlIHNlY3Rpb25cbiAqIGZyb20gdGhlIHJvdXRlIGRlZmluaXRpb24gZm9yIGEgcGFydGljdWxhciBlbmRwb2ludCB3aGljaCBoYXMgaW5zdHJ1Y3Rpb25zXG4gKiBvbiBoYW5kbGluZyBwYXJhbWV0ZXJzLiBUaGlzIG1ldGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIGFyZ3VtZW50cyB3aGljaCB3aWxsXG4gKiBiZSBhcHBsaWVkIHRvIGEgY29tbWFuZC5cbiAqL1xuZnVuY3Rpb24gbWFrZUFyZ3MgKHJlcXVlc3RQYXJhbXMsIGpzb25PYmosIHBheWxvYWRQYXJhbXMsIHByb3RvY29sKSB7XG4gIC8vIFdlIHdhbnQgdG8gcGFzcyB0aGUgXCJ1cmxcIiBwYXJhbWV0ZXJzIHRvIHRoZSBjb21tYW5kcyBpbiByZXZlcnNlIG9yZGVyXG4gIC8vIHNpbmNlIHRoZSBjb21tYW5kIHdpbGwgc29tZXRpbWVzIHdhbnQgdG8gaWdub3JlLCBzYXksIHRoZSBzZXNzaW9uSWQuXG4gIC8vIFRoaXMgaGFzIHRoZSBlZmZlY3Qgb2YgcHV0dGluZyBzZXNzaW9uSWQgbGFzdCwgd2hpY2ggbWVhbnMgaW4gSlMgd2UgY2FuXG4gIC8vIG9taXQgaXQgZnJvbSB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIGlmIHdlJ3JlIG5vdCBnb2luZyB0byB1c2UgaXQuXG4gIGxldCB1cmxQYXJhbXMgPSBfLmtleXMocmVxdWVzdFBhcmFtcykucmV2ZXJzZSgpO1xuXG4gIC8vIEluIHRoZSBzaW1wbGUgY2FzZSwgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMgYXJlIGEgYmFzaWMgYXJyYXkgaW5cbiAgLy8gcGF5bG9hZFBhcmFtcy5yZXF1aXJlZCwgc28gc3RhcnQgdGhlcmUuIEl0J3MgcG9zc2libGUgdGhhdCB0aGVyZSBhcmVcbiAgLy8gbXVsdGlwbGUgb3B0aW9uYWwgc2V0cyBvZiByZXF1aXJlZCBwYXJhbXMsIHRob3VnaCwgc28gaGFuZGxlIHRoYXQgY2FzZVxuICAvLyB0b28uXG4gIGxldCByZXF1aXJlZFBhcmFtcyA9IHBheWxvYWRQYXJhbXMucmVxdWlyZWQ7XG4gIGlmIChfLmlzQXJyYXkoXy5maXJzdChwYXlsb2FkUGFyYW1zLnJlcXVpcmVkKSkpIHtcbiAgICAvLyBJZiB0aGVyZSBhcmUgb3B0aW9uYWwgc2V0cyBvZiByZXF1aXJlZCBwYXJhbXMsIHRoZW4gd2Ugd2lsbCBoYXZlIGFuXG4gICAgLy8gYXJyYXkgb2YgYXJyYXlzIGluIHBheWxvYWRQYXJhbXMucmVxdWlyZWQsIHNvIGxvb3AgdGhyb3VnaCBlYWNoIHNldCBhbmRcbiAgICAvLyBwaWNrIHRoZSBvbmUgdGhhdCBtYXRjaGVzIHdoaWNoIEpTT04gcGFyYW1zIHdlcmUgYWN0dWFsbHkgc2VudC4gV2UndmVcbiAgICAvLyBhbHJlYWR5IGJlZW4gdGhyb3VnaCB2YWxpZGF0aW9uIHNvIHdlJ3JlIGd1YXJhbnRlZWQgdG8gZmluZCBhIG1hdGNoLlxuICAgIGxldCBrZXlzID0gXy5rZXlzKGpzb25PYmopO1xuICAgIGZvciAobGV0IHBhcmFtcyBvZiBwYXlsb2FkUGFyYW1zLnJlcXVpcmVkKSB7XG4gICAgICBpZiAoXy53aXRob3V0KHBhcmFtcywgLi4ua2V5cykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJlcXVpcmVkUGFyYW1zID0gcGFyYW1zO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBOb3cgd2UgY29uc3RydWN0IG91ciBsaXN0IG9mIGFyZ3VtZW50cyB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgY29tbWFuZFxuICBsZXQgYXJncztcbiAgaWYgKF8uaXNGdW5jdGlvbihwYXlsb2FkUGFyYW1zLm1ha2VBcmdzKSkge1xuICAgIC8vIEluIHRoZSByb3V0ZSBzcGVjLCBhIHBhcnRpY3VsYXIgcm91dGUgbWlnaHQgZGVmaW5lIGEgJ21ha2VBcmdzJyBmdW5jdGlvblxuICAgIC8vIGlmIGl0IHdhbnRzIGZ1bGwgY29udHJvbCBvdmVyIGhvdyB0byB0dXJuIEpTT04gcGFyYW1ldGVycyBpbnRvIGNvbW1hbmRcbiAgICAvLyBhcmd1bWVudHMuIFNvIHdlIHBhc3MgaXQgdGhlIEpTT04gcGFyYW1ldGVycyBhbmQgaXQgcmV0dXJucyBhbiBhcnJheVxuICAgIC8vIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaGFuZGxpbmcgY29tbWFuZC4gRm9yIGV4YW1wbGUgaWYgaXQgcmV0dXJuc1xuICAgIC8vIFsxLCAyLCAzXSwgd2Ugd2lsbCBjYWxsIGBjb21tYW5kKDEsIDIsIDMsIC4uLilgICh1cmwgcGFyYW1zIGFyZSBzZXBhcmF0ZVxuICAgIC8vIGZyb20gSlNPTiBwYXJhbXMgYW5kIGdldCBjb25jYXRlbmF0ZWQgYmVsb3cpLlxuICAgIGFyZ3MgPSBwYXlsb2FkUGFyYW1zLm1ha2VBcmdzKGpzb25PYmosIHByb3RvY29sKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UsIGNvbGxlY3QgYWxsIHRoZSByZXF1aXJlZCBhbmQgb3B0aW9uYWwgcGFyYW1zIGFuZCBmbGF0dGVuIHRoZW1cbiAgICAvLyBpbnRvIGFuIGFyZ3VtZW50IGFycmF5XG4gICAgYXJncyA9IF8uZmxhdHRlbihyZXF1aXJlZFBhcmFtcykubWFwKChwKSA9PiBqc29uT2JqW3BdKTtcbiAgICBpZiAocGF5bG9hZFBhcmFtcy5vcHRpb25hbCkge1xuICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KF8uZmxhdHRlbihwYXlsb2FkUGFyYW1zLm9wdGlvbmFsKS5tYXAoKHApID0+IGpzb25PYmpbcF0pKTtcbiAgICB9XG4gIH1cbiAgLy8gRmluYWxseSwgZ2V0IG91ciB1cmwgcGFyYW1zIChzZXNzaW9uIGlkLCBlbGVtZW50IGlkLCBldGMuLi4pIG9uIHRoZSBlbmQgb2ZcbiAgLy8gdGhlIGxpc3RcbiAgYXJncyA9IGFyZ3MuY29uY2F0KHVybFBhcmFtcy5tYXAoKHUpID0+IHJlcXVlc3RQYXJhbXNbdV0pKTtcbiAgcmV0dXJuIGFyZ3M7XG59XG5cbmZ1bmN0aW9uIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbiAoZHJpdmVyKSB7XG4gIGlmICghZHJpdmVyLnNlc3Npb25FeGlzdHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0RyaXZlcnMgbXVzdCBpbXBsZW1lbnQgYHNlc3Npb25FeGlzdHNgIHByb3BlcnR5Jyk7XG4gIH1cblxuICBpZiAoIShkcml2ZXIuZXhlY3V0ZUNvbW1hbmQgfHwgZHJpdmVyLmV4ZWN1dGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEcml2ZXJzIG11c3QgaW1wbGVtZW50IGBleGVjdXRlQ29tbWFuZGAgb3IgYGV4ZWN1dGVgIG1ldGhvZCcpO1xuICB9XG5cbiAgLy8gcmV0dXJuIGEgZnVuY3Rpb24gd2hpY2ggd2lsbCBhZGQgYWxsIHRoZSByb3V0ZXMgdG8gdGhlIGRyaXZlci4gSGVyZSBleHRyYU1ldGhvZHMgbWlnaHQgYmVcbiAgLy8gcGFzc2VkIGluIGFzIGRlZmluZWQgYnkgQXBwaXVtIHBsdWdpbnMsIHNvIHdlIG5lZWQgdG8gYWRkIHRob3NlIHRvIHRoZSBkZWZhdWx0IGxpc3RcbiAgcmV0dXJuIGZ1bmN0aW9uIGFkZFJvdXRlcyAoYXBwLCB7YmFzZVBhdGggPSBERUZBVUxUX0JBU0VfUEFUSCwgZXh0cmFNZXRob2RNYXAgPSB7fX0pIHtcbiAgICAvLyBzdG9yZSBiYXNlUGF0aCBvbiB0aGUgZHJpdmVyIGluc3RhbmNlIHNvIGl0IGNhbiB1c2UgaXQgaWYgbmVjZXNzYXJ5XG4gICAgLy8gZm9yIGV4YW1wbGUgaW4gZGV0ZXJtaW5pbmcgcHJveHkgYXZvaWRhbmNlXG4gICAgZHJpdmVyLmJhc2VQYXRoID0gYmFzZVBhdGg7XG5cbiAgICBjb25zdCBhbGxNZXRob2RzID0gey4uLk1FVEhPRF9NQVAsIC4uLmV4dHJhTWV0aG9kTWFwfTtcblxuICAgIGZvciAoY29uc3QgW3BhdGgsIG1ldGhvZHNdIG9mIF8udG9QYWlycyhhbGxNZXRob2RzKSkge1xuICAgICAgZm9yIChjb25zdCBbbWV0aG9kLCBzcGVjXSBvZiBfLnRvUGFpcnMobWV0aG9kcykpIHtcbiAgICAgICAgLy8gc2V0IHVwIHRoZSBleHByZXNzIHJvdXRlIGhhbmRsZXJcbiAgICAgICAgYnVpbGRIYW5kbGVyKGFwcCwgbWV0aG9kLCBgJHtiYXNlUGF0aH0ke3BhdGh9YCwgc3BlYywgZHJpdmVyLCBpc1Nlc3Npb25Db21tYW5kKHNwZWMuY29tbWFuZCkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gYnVpbGRIYW5kbGVyIChhcHAsIG1ldGhvZCwgcGF0aCwgc3BlYywgZHJpdmVyLCBpc1Nlc3NDbWQpIHtcbiAgbGV0IGFzeW5jSGFuZGxlciA9IGFzeW5jIChyZXEsIHJlcykgPT4ge1xuICAgIGxldCBqc29uT2JqID0gcmVxLmJvZHk7XG4gICAgbGV0IGh0dHBSZXNCb2R5ID0ge307XG4gICAgbGV0IGh0dHBTdGF0dXMgPSAyMDA7XG4gICAgbGV0IG5ld1Nlc3Npb25JZDtcbiAgICBsZXQgY3VycmVudFByb3RvY29sID0gZXh0cmFjdFByb3RvY29sKGRyaXZlciwgcmVxLnBhcmFtcy5zZXNzaW9uSWQpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIGlmIHRoaXMgaXMgYSBzZXNzaW9uIGNvbW1hbmQgYnV0IHdlIGRvbid0IGhhdmUgYSBzZXNzaW9uLFxuICAgICAgLy8gZXJyb3Igb3V0IGVhcmx5IChlc3BlY2lhbGx5IGJlZm9yZSBwcm94eWluZylcbiAgICAgIGlmIChpc1Nlc3NDbWQgJiYgIWRyaXZlci5zZXNzaW9uRXhpc3RzKHJlcS5wYXJhbXMuc2Vzc2lvbklkKSkge1xuICAgICAgICB0aHJvdyBuZXcgZXJyb3JzLk5vU3VjaERyaXZlckVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGlmIHRoZSBkcml2ZXIgaXMgY3VycmVudGx5IHByb3h5aW5nIGNvbW1hbmRzIHRvIGFub3RoZXIgSlNPTldQIHNlcnZlciwgYnlwYXNzIGFsbCBvdXJcbiAgICAgIC8vIGNoZWNrcyBhbmQgYXNzdW1lIHRoZSB1cHN0cmVhbSBzZXJ2ZXIga25vd3Mgd2hhdCBpdCdzIGRvaW5nLiBCdXQga2VlcCB0aGlzIGluIHRoZVxuICAgICAgLy8gdHJ5L2NhdGNoIGJsb2NrIHNvIGlmIHByb3h5aW5nIGl0c2VsZiBmYWlscywgd2UgZ2l2ZSBhIG1lc3NhZ2UgdG8gdGhlIGNsaWVudC4gT2YgY291cnNlIHdlXG4gICAgICAvLyBvbmx5IHdhbnQgdG8gZG8gdGhlc2Ugd2hlbiB3ZSBoYXZlIGEgc2Vzc2lvbiBjb21tYW5kOyB0aGUgQXBwaXVtIGRyaXZlciBtdXN0IGJlXG4gICAgICAvLyByZXNwb25zaWJsZSBmb3Igc3RhcnQvc3RvcCBzZXNzaW9uLCBldGMuLi4gV2UgYWxzbyBhbGxvdyB0aGUgY29tbWFuZCBzcGVjIHRvIGRlY2xhcmUgdGhhdFxuICAgICAgLy8gdGhpcyBjb21tYW5kIHNob3VsZCBuZXZlciBiZSBwcm94aWVkICh3aGljaCBpcyB1c2VmdWwgZm9yIHBsdWdpbiBkZXZlbG9wZXJzIHdobyBhZGRcbiAgICAgIC8vIGNvbW1hbmRzIGFuZCBnZW5lcmFsbHkgd291bGQgbm90IHdhbnQgdGhhdCBjb21tYW5kIHRvIGJlIHByb3hpZWQgaW5zdGVhZCBvZiBoYW5kbGVkIGJ5IHRoZVxuICAgICAgLy8gcGx1Z2luKVxuICAgICAgbGV0IGRpZFBsdWdpbk92ZXJyaWRlUHJveHkgPSBmYWxzZTtcbiAgICAgIGlmIChpc1Nlc3NDbWQgJiYgIXNwZWMubmV2ZXJQcm94eSAmJiBkcml2ZXJTaG91bGREb0p3cFByb3h5KGRyaXZlciwgcmVxLCBzcGVjLmNvbW1hbmQpKSB7XG4gICAgICAgIGlmICghZHJpdmVyLnBsdWdpbnNUb0hhbmRsZUNtZCB8fFxuICAgICAgICAgICAgZHJpdmVyLnBsdWdpbnNUb0hhbmRsZUNtZChzcGVjLmNvbW1hbmQsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBhd2FpdCBkb0p3cFByb3h5KGRyaXZlciwgcmVxLCByZXMpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBnZXRMb2dnZXIoZHJpdmVyLCByZXEucGFyYW1zLnNlc3Npb25JZCkuZGVidWcoYFdvdWxkIGhhdmUgcHJveGllZCBgICtcbiAgICAgICAgICBgY29tbWFuZCBkaXJlY3RseSwgYnV0IGEgcGx1Z2luIGV4aXN0cyB3aGljaCBtaWdodCByZXF1aXJlIGl0cyB2YWx1ZSwgc28gd2lsbCBsZXQgYCArXG4gICAgICAgICAgYGl0cyB2YWx1ZSBiZSBjb2xsZWN0ZWQgaW50ZXJuYWxseSBhbmQgbWFkZSBwYXJ0IG9mIHBsdWdpbiBjaGFpbmApO1xuICAgICAgICBkaWRQbHVnaW5PdmVycmlkZVByb3h5ID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gaWYgYSBjb21tYW5kIGlzIG5vdCBpbiBvdXIgbWV0aG9kIG1hcCwgaXQncyBiZWNhdXNlIHdlXG4gICAgICAvLyBoYXZlIG5vIHBsYW5zIHRvIGV2ZXIgaW1wbGVtZW50IGl0XG4gICAgICBpZiAoIXNwZWMuY29tbWFuZCkge1xuICAgICAgICB0aHJvdyBuZXcgZXJyb3JzLk5vdEltcGxlbWVudGVkRXJyb3IoKTtcbiAgICAgIH1cblxuICAgICAgLy8gd3JhcCBwYXJhbXMgaWYgbmVjZXNzYXJ5XG4gICAgICBpZiAoc3BlYy5wYXlsb2FkUGFyYW1zICYmIHNwZWMucGF5bG9hZFBhcmFtcy53cmFwKSB7XG4gICAgICAgIGpzb25PYmogPSB3cmFwUGFyYW1zKHNwZWMucGF5bG9hZFBhcmFtcywganNvbk9iaik7XG4gICAgICB9XG5cbiAgICAgIC8vIHVud3JhcCBwYXJhbXMgaWYgbmVjZXNzYXJ5XG4gICAgICBpZiAoc3BlYy5wYXlsb2FkUGFyYW1zICYmIHNwZWMucGF5bG9hZFBhcmFtcy51bndyYXApIHtcbiAgICAgICAganNvbk9iaiA9IHVud3JhcFBhcmFtcyhzcGVjLnBheWxvYWRQYXJhbXMsIGpzb25PYmopO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3BlYy5jb21tYW5kID09PSBDUkVBVEVfU0VTU0lPTl9DT01NQU5EKSB7XG4gICAgICAgIC8vIHRyeSB0byBkZXRlcm1pbmUgcHJvdG9jb2wgYnkgc2Vzc2lvbiBjcmVhdGlvbiBhcmdzLCBzbyB3ZSBjYW4gdGhyb3cgYVxuICAgICAgICAvLyBwcm9wZXJseSBmb3JtYXR0ZWQgZXJyb3IgaWYgYXJndW1lbnRzIHZhbGlkYXRpb24gZmFpbHNcbiAgICAgICAgY3VycmVudFByb3RvY29sID0gZGV0ZXJtaW5lUHJvdG9jb2wobWFrZUFyZ3MocmVxLnBhcmFtcywganNvbk9iaiwgc3BlYy5wYXlsb2FkUGFyYW1zIHx8IHt9KSk7XG4gICAgICB9XG5cbiAgICAgIC8vIGVuc3VyZSB0aGF0IHRoZSBqc29uIHBheWxvYWQgY29uZm9ybXMgdG8gdGhlIHNwZWNcbiAgICAgIGNoZWNrUGFyYW1zKHNwZWMucGF5bG9hZFBhcmFtcywganNvbk9iaiwgY3VycmVudFByb3RvY29sKTtcblxuICAgICAgLy8gdHVybiB0aGUgY29tbWFuZCBhbmQganNvbiBwYXlsb2FkIGludG8gYW4gYXJndW1lbnQgbGlzdCBmb3JcbiAgICAgIC8vIHRoZSBkcml2ZXIgbWV0aG9kc1xuICAgICAgbGV0IGFyZ3MgPSBtYWtlQXJncyhyZXEucGFyYW1zLCBqc29uT2JqLCBzcGVjLnBheWxvYWRQYXJhbXMgfHwge30sIGN1cnJlbnRQcm90b2NvbCk7XG4gICAgICBsZXQgZHJpdmVyUmVzO1xuICAgICAgLy8gdmFsaWRhdGUgY29tbWFuZCBhcmdzIGFjY29yZGluZyB0byBNSlNPTldQXG4gICAgICBpZiAodmFsaWRhdG9yc1tzcGVjLmNvbW1hbmRdKSB7XG4gICAgICAgIHZhbGlkYXRvcnNbc3BlYy5jb21tYW5kXSguLi5hcmdzKTtcbiAgICAgIH1cblxuICAgICAgLy8gcnVuIHRoZSBkcml2ZXIgY29tbWFuZCB3cmFwcGVkIGluc2lkZSB0aGUgYXJndW1lbnQgdmFsaWRhdG9yc1xuICAgICAgZ2V0TG9nZ2VyKGRyaXZlciwgcmVxLnBhcmFtcy5zZXNzaW9uSWQpLmRlYnVnKGBDYWxsaW5nIGAgK1xuICAgICAgICBgJHtkcml2ZXIuY29uc3RydWN0b3IubmFtZX0uJHtzcGVjLmNvbW1hbmR9KCkgd2l0aCBhcmdzOiBgICtcbiAgICAgICAgXy50cnVuY2F0ZShKU09OLnN0cmluZ2lmeShhcmdzKSwge2xlbmd0aDogTUFYX0xPR19CT0RZX0xFTkdUSH0pKTtcblxuICAgICAgaWYgKGRpZFBsdWdpbk92ZXJyaWRlUHJveHkpIHtcbiAgICAgICAgLy8gVE9ETyBmb3Igbm93IHdlIGFkZCB0aGlzIGluZm9ybWF0aW9uIG9uIHRoZSBhcmdzIGxpc3QsIGJ1dCB0aGF0J3MgbWl4aW5nIHB1cnBvc2VzIGhlcmUuXG4gICAgICAgIC8vIFdlIHJlYWxseSBzaG91bGQgYWRkIGFub3RoZXIgJ29wdGlvbnMnIHBhcmFtZXRlciB0byAnZXhlY3V0ZUNvbW1hbmQnLCBidXQgdGhpcyB3b3VsZCBiZVxuICAgICAgICAvLyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgYWxsIGRyaXZlcnMgc28gd291bGQgbmVlZCB0byBiZSBoYW5kbGVkIGNhcmVmdWxseS5cbiAgICAgICAgYXJncy5wdXNoKHtyZXFGb3JQcm94eTogcmVxfSk7XG4gICAgICB9XG5cbiAgICAgIGRyaXZlclJlcyA9IGF3YWl0IGRyaXZlci5leGVjdXRlQ29tbWFuZChzcGVjLmNvbW1hbmQsIC4uLmFyZ3MpO1xuXG4gICAgICAvLyBHZXQgdGhlIHByb3RvY29sIGFmdGVyIGV4ZWN1dGVDb21tYW5kXG4gICAgICBjdXJyZW50UHJvdG9jb2wgPSBleHRyYWN0UHJvdG9jb2woZHJpdmVyLCByZXEucGFyYW1zLnNlc3Npb25JZCkgfHwgY3VycmVudFByb3RvY29sO1xuXG4gICAgICAvLyBJZiBgZXhlY3V0ZUNvbW1hbmRgIHdhcyBvdmVycmlkZGVuIGFuZCB0aGUgbWV0aG9kIHJldHVybnMgYW4gb2JqZWN0XG4gICAgICAvLyB3aXRoIGEgcHJvdG9jb2wgYW5kIHZhbHVlL2Vycm9yIHByb3BlcnR5LCByZS1hc3NpZ24gdGhlIHByb3RvY29sXG4gICAgICBpZiAoXy5pc1BsYWluT2JqZWN0KGRyaXZlclJlcykgJiYgXy5oYXMoZHJpdmVyUmVzLCAncHJvdG9jb2wnKSkge1xuICAgICAgICBjdXJyZW50UHJvdG9jb2wgPSBkcml2ZXJSZXMucHJvdG9jb2wgfHwgY3VycmVudFByb3RvY29sO1xuICAgICAgICBpZiAoZHJpdmVyUmVzLmVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgZHJpdmVyUmVzLmVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGRyaXZlclJlcyA9IGRyaXZlclJlcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gdW5wYWNrIGNyZWF0ZVNlc3Npb24gcmVzcG9uc2VcbiAgICAgIGlmIChzcGVjLmNvbW1hbmQgPT09IENSRUFURV9TRVNTSU9OX0NPTU1BTkQpIHtcbiAgICAgICAgbmV3U2Vzc2lvbklkID0gZHJpdmVyUmVzWzBdO1xuICAgICAgICBnZXRMb2dnZXIoZHJpdmVyLCBuZXdTZXNzaW9uSWQpXG4gICAgICAgICAgLmRlYnVnKGBDYWNoZWQgdGhlIHByb3RvY29sIHZhbHVlICcke2N1cnJlbnRQcm90b2NvbH0nIGZvciB0aGUgbmV3IHNlc3Npb24gJHtuZXdTZXNzaW9uSWR9YCk7XG4gICAgICAgIGlmIChjdXJyZW50UHJvdG9jb2wgPT09IFBST1RPQ09MUy5NSlNPTldQKSB7XG4gICAgICAgICAgZHJpdmVyUmVzID0gZHJpdmVyUmVzWzFdO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRQcm90b2NvbCA9PT0gUFJPVE9DT0xTLlczQykge1xuICAgICAgICAgIGRyaXZlclJlcyA9IHtcbiAgICAgICAgICAgIGNhcGFiaWxpdGllczogZHJpdmVyUmVzWzFdLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZHJpdmVyUmVzID0gZm9ybWF0UmVzcG9uc2VWYWx1ZShkcml2ZXJSZXMpO1xuXG4gICAgICAvLyBkZWxldGUgc2hvdWxkIG5vdCByZXR1cm4gYW55dGhpbmcgZXZlbiBpZiBzdWNjZXNzZnVsXG4gICAgICBpZiAoc3BlYy5jb21tYW5kID09PSBERUxFVEVfU0VTU0lPTl9DT01NQU5EKSB7XG4gICAgICAgIGdldExvZ2dlcihkcml2ZXIsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKVxuICAgICAgICAgIC5kZWJ1ZyhgUmVjZWl2ZWQgcmVzcG9uc2U6ICR7Xy50cnVuY2F0ZShKU09OLnN0cmluZ2lmeShkcml2ZXJSZXMpLCB7bGVuZ3RoOiBNQVhfTE9HX0JPRFlfTEVOR1RIfSl9YCk7XG4gICAgICAgIGdldExvZ2dlcihkcml2ZXIsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKS5kZWJ1ZygnQnV0IGRlbGV0aW5nIHNlc3Npb24sIHNvIG5vdCByZXR1cm5pbmcnKTtcbiAgICAgICAgZHJpdmVyUmVzID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgLy8gaWYgdGhlIHN0YXR1cyBpcyBub3QgMCwgIHRocm93IHRoZSBhcHByb3ByaWF0ZSBlcnJvciBmb3Igc3RhdHVzIGNvZGUuXG4gICAgICBpZiAodXRpbC5oYXNWYWx1ZShkcml2ZXJSZXMpKSB7XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGRyaXZlclJlcy5zdGF0dXMpICYmICFpc05hTihkcml2ZXJSZXMuc3RhdHVzKSAmJiBwYXJzZUludChkcml2ZXJSZXMuc3RhdHVzLCAxMCkgIT09IDApIHtcbiAgICAgICAgICB0aHJvdyBlcnJvckZyb21NSlNPTldQU3RhdHVzQ29kZShkcml2ZXJSZXMuc3RhdHVzLCBkcml2ZXJSZXMudmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKF8uaXNQbGFpbk9iamVjdChkcml2ZXJSZXMudmFsdWUpICYmIGRyaXZlclJlcy52YWx1ZS5lcnJvcikge1xuICAgICAgICAgIHRocm93IGVycm9yRnJvbVczQ0pzb25Db2RlKGRyaXZlclJlcy52YWx1ZS5lcnJvciwgZHJpdmVyUmVzLnZhbHVlLm1lc3NhZ2UsIGRyaXZlclJlcy52YWx1ZS5zdGFja3RyYWNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBodHRwUmVzQm9keS52YWx1ZSA9IGRyaXZlclJlcztcbiAgICAgIGdldExvZ2dlcihkcml2ZXIsIHJlcS5wYXJhbXMuc2Vzc2lvbklkIHx8IG5ld1Nlc3Npb25JZCkuZGVidWcoYFJlc3BvbmRpbmcgYCArXG4gICAgICAgIGB0byBjbGllbnQgd2l0aCBkcml2ZXIuJHtzcGVjLmNvbW1hbmR9KCkgcmVzdWx0OiAke18udHJ1bmNhdGUoSlNPTi5zdHJpbmdpZnkoZHJpdmVyUmVzKSwge2xlbmd0aDogTUFYX0xPR19CT0RZX0xFTkdUSH0pfWApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gaWYgYW55dGhpbmcgZ29lcyB3cm9uZywgZmlndXJlIG91dCB3aGF0IG91ciByZXNwb25zZSBzaG91bGQgYmVcbiAgICAgIC8vIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgd2UgZW5jb3VudGVyZWRcbiAgICAgIGxldCBhY3R1YWxFcnIgPSBlcnI7XG5cbiAgICAgIGN1cnJlbnRQcm90b2NvbCA9IGN1cnJlbnRQcm90b2NvbCB8fCBleHRyYWN0UHJvdG9jb2woZHJpdmVyLCByZXEucGFyYW1zLnNlc3Npb25JZCB8fCBuZXdTZXNzaW9uSWQpO1xuXG4gICAgICBsZXQgZXJyTXNnID0gZXJyLnN0YWNrdHJhY2UgfHwgZXJyLnN0YWNrO1xuICAgICAgaWYgKCFfLmluY2x1ZGVzKGVyck1zZywgZXJyLm1lc3NhZ2UpKSB7XG4gICAgICAgIC8vIGlmIHRoZSBtZXNzYWdlIGhhcyBtb3JlIGluZm9ybWF0aW9uLCBhZGQgaXQuIGJ1dCBvZnRlbiB0aGUgbWVzc2FnZVxuICAgICAgICAvLyBpcyB0aGUgZmlyc3QgcGFydCBvZiB0aGUgc3RhY2sgdHJhY2VcbiAgICAgICAgZXJyTXNnID0gYCR7ZXJyLm1lc3NhZ2V9JHtlcnJNc2cgPyAoJ1xcbicgKyBlcnJNc2cpIDogJyd9YDtcbiAgICAgIH1cbiAgICAgIGlmIChpc0Vycm9yVHlwZShlcnIsIGVycm9ycy5Qcm94eVJlcXVlc3RFcnJvcikpIHtcbiAgICAgICAgYWN0dWFsRXJyID0gZXJyLmdldEFjdHVhbEVycm9yKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBnZXRMb2dnZXIoZHJpdmVyLCByZXEucGFyYW1zLnNlc3Npb25JZCB8fCBuZXdTZXNzaW9uSWQpXG4gICAgICAgICAgLmRlYnVnKGBFbmNvdW50ZXJlZCBpbnRlcm5hbCBlcnJvciBydW5uaW5nIGNvbW1hbmQ6ICR7ZXJyTXNnfWApO1xuICAgICAgfVxuXG4gICAgICBbaHR0cFN0YXR1cywgaHR0cFJlc0JvZHldID0gZ2V0UmVzcG9uc2VGb3JXM0NFcnJvcihhY3R1YWxFcnIpO1xuICAgIH1cblxuICAgIC8vIGRlY29kZSB0aGUgcmVzcG9uc2UsIHdoaWNoIGlzIGVpdGhlciBhIHN0cmluZyBvciBqc29uXG4gICAgaWYgKF8uaXNTdHJpbmcoaHR0cFJlc0JvZHkpKSB7XG4gICAgICByZXMuc3RhdHVzKGh0dHBTdGF0dXMpLnNlbmQoaHR0cFJlc0JvZHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobmV3U2Vzc2lvbklkKSB7XG4gICAgICAgIGlmIChjdXJyZW50UHJvdG9jb2wgPT09IFBST1RPQ09MUy5XM0MpIHtcbiAgICAgICAgICBodHRwUmVzQm9keS52YWx1ZS5zZXNzaW9uSWQgPSBuZXdTZXNzaW9uSWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaHR0cFJlc0JvZHkuc2Vzc2lvbklkID0gbmV3U2Vzc2lvbklkO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBodHRwUmVzQm9keS5zZXNzaW9uSWQgPSByZXEucGFyYW1zLnNlc3Npb25JZCB8fCBudWxsO1xuICAgICAgfVxuICAgICAgLy8gRG9uJ3QgaW5jbHVkZSBzZXNzaW9uSWQgaW4gVzNDIHJlc3BvbnNlc1xuICAgICAgaWYgKGN1cnJlbnRQcm90b2NvbCA9PT0gUFJPVE9DT0xTLlczQykge1xuICAgICAgICBkZWxldGUgaHR0cFJlc0JvZHkuc2Vzc2lvbklkO1xuICAgICAgfVxuXG4gICAgICBodHRwUmVzQm9keSA9IGZvcm1hdFN0YXR1cyhodHRwUmVzQm9keSk7XG4gICAgICByZXMuc3RhdHVzKGh0dHBTdGF0dXMpLmpzb24oaHR0cFJlc0JvZHkpO1xuICAgIH1cbiAgfTtcbiAgLy8gYWRkIHRoZSBtZXRob2QgdG8gdGhlIGFwcFxuICBhcHBbbWV0aG9kLnRvTG93ZXJDYXNlKCldKHBhdGgsIChyZXEsIHJlcykgPT4ge1xuICAgIEIucmVzb2x2ZShhc3luY0hhbmRsZXIocmVxLCByZXMpKS5kb25lKCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkcml2ZXJTaG91bGREb0p3cFByb3h5IChkcml2ZXIsIHJlcSwgY29tbWFuZCkge1xuICAvLyBkcml2ZXJzIG5lZWQgdG8gZXhwbGljaXRseSBzYXkgd2hlbiB0aGUgcHJveHkgaXMgYWN0aXZlXG4gIGlmICghZHJpdmVyLnByb3h5QWN0aXZlKHJlcS5wYXJhbXMuc2Vzc2lvbklkKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIHdlIHNob3VsZCBuZXZlciBwcm94eSBkZWxldGVTZXNzaW9uIGJlY2F1c2Ugd2UgbmVlZCB0byBnaXZlIHRoZSBjb250YWluaW5nXG4gIC8vIGRyaXZlciBhbiBvcHBvcnR1bml0eSB0byBjbGVhbiBpdHNlbGYgdXBcbiAgaWYgKGNvbW1hbmQgPT09IERFTEVURV9TRVNTSU9OX0NPTU1BTkQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyB2YWxpZGF0ZSBhdm9pZGFuY2Ugc2NoZW1hLCBhbmQgc2F5IHdlIHNob3VsZG4ndCBwcm94eSBpZiBhbnl0aGluZyBpbiB0aGVcbiAgLy8gYXZvaWQgbGlzdCBtYXRjaGVzIG91ciByZXFcbiAgaWYgKGRyaXZlci5wcm94eVJvdXRlSXNBdm9pZGVkKHJlcS5wYXJhbXMuc2Vzc2lvbklkLCByZXEubWV0aG9kLCByZXEub3JpZ2luYWxVcmwsIHJlcS5ib2R5KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5hc3luYyBmdW5jdGlvbiBkb0p3cFByb3h5IChkcml2ZXIsIHJlcSwgcmVzKSB7XG4gIGdldExvZ2dlcihkcml2ZXIsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKVxuICAgIC5pbmZvKCdEcml2ZXIgcHJveHkgYWN0aXZlLCBwYXNzaW5nIHJlcXVlc3Qgb24gdmlhIEhUVFAgcHJveHknKTtcblxuICAvLyBjaGVjayB0aGF0IHRoZSBpbm5lciBkcml2ZXIgaGFzIGEgcHJveHkgZnVuY3Rpb25cbiAgaWYgKCFkcml2ZXIuY2FuUHJveHkocmVxLnBhcmFtcy5zZXNzaW9uSWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcnlpbmcgdG8gcHJveHkgdG8gYSBzZXJ2ZXIgYnV0IHRoZSBkcml2ZXIgaXMgdW5hYmxlIHRvIHByb3h5Jyk7XG4gIH1cbiAgdHJ5IHtcbiAgICBhd2FpdCBkcml2ZXIuZXhlY3V0ZUNvbW1hbmQoJ3Byb3h5UmVxUmVzJywgcmVxLCByZXMsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGlzRXJyb3JUeXBlKGVyciwgZXJyb3JzLlByb3h5UmVxdWVzdEVycm9yKSkge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBwcm94eS4gUHJveHkgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG59XG5cblxuZXhwb3J0IHtcbiAgUHJvdG9jb2wsIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbiwgaXNTZXNzaW9uQ29tbWFuZCxcbiAgZHJpdmVyU2hvdWxkRG9Kd3BQcm94eSwgZGV0ZXJtaW5lUHJvdG9jb2wsIENSRUFURV9TRVNTSU9OX0NPTU1BTkQsXG4gIERFTEVURV9TRVNTSU9OX0NPTU1BTkQsIEdFVF9TVEFUVVNfQ09NTUFORCxcbn07XG4iXSwiZmlsZSI6ImxpYi9wcm90b2NvbC9wcm90b2NvbC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLiJ9
|
|
397
|
+
}
|
|
398
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9wcm90b2NvbC5qcyJdLCJuYW1lcyI6WyJDUkVBVEVfU0VTU0lPTl9DT01NQU5EIiwiREVMRVRFX1NFU1NJT05fQ09NTUFORCIsIkdFVF9TVEFUVVNfQ09NTUFORCIsIlByb3RvY29sIiwiZGV0ZXJtaW5lUHJvdG9jb2wiLCJjcmVhdGVTZXNzaW9uQXJncyIsIl8iLCJzb21lIiwiaXNXM2NDYXBzIiwiUFJPVE9DT0xTIiwiVzNDIiwiTUpTT05XUCIsImV4dHJhY3RQcm90b2NvbCIsImRyaXZlciIsInNlc3Npb25JZCIsImRzdERyaXZlciIsImlzRnVuY3Rpb24iLCJkcml2ZXJGb3JTZXNzaW9uIiwicHJvdG9jb2wiLCJpc1Nlc3Npb25Db21tYW5kIiwiY29tbWFuZCIsImluY2x1ZGVzIiwiTk9fU0VTU0lPTl9JRF9DT01NQU5EUyIsImdldExvZ2dlciIsImxvZyIsImluZm8iLCJsb2dQcmVmaXgiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJub2RlIiwiZ2V0T2JqZWN0SWQiLCJzdWJzdHJpbmciLCJsb2dnZXIiLCJ3cmFwUGFyYW1zIiwicGFyYW1TZXRzIiwianNvbk9iaiIsInJlcyIsImlzQXJyYXkiLCJpc09iamVjdCIsIndyYXAiLCJ1bndyYXBQYXJhbXMiLCJ1bndyYXAiLCJjaGVja1BhcmFtcyIsInJlcXVpcmVkUGFyYW1zIiwib3B0aW9uYWxQYXJhbXMiLCJyZWNlaXZlZFBhcmFtcyIsImtleXMiLCJyZXF1aXJlZCIsImZpcnN0Iiwib3B0aW9uYWwiLCJ2YWxpZGF0ZSIsIm1lc3NhZ2UiLCJlcnJvcnMiLCJCYWRQYXJhbWV0ZXJzRXJyb3IiLCJsZW5ndGgiLCJpbmRleE9mIiwicHVzaCIsInBhcmFtcyIsImRpZmZlcmVuY2UiLCJtYWtlQXJncyIsInJlcXVlc3RQYXJhbXMiLCJwYXlsb2FkUGFyYW1zIiwidXJsUGFyYW1zIiwicmV2ZXJzZSIsIndpdGhvdXQiLCJhcmdzIiwiZmxhdHRlbiIsIm1hcCIsInAiLCJjb25jYXQiLCJ1Iiwicm91dGVDb25maWd1cmluZ0Z1bmN0aW9uIiwic2Vzc2lvbkV4aXN0cyIsIkVycm9yIiwiZXhlY3V0ZUNvbW1hbmQiLCJleGVjdXRlIiwiYWRkUm91dGVzIiwiYXBwIiwiYmFzZVBhdGgiLCJERUZBVUxUX0JBU0VfUEFUSCIsImV4dHJhTWV0aG9kTWFwIiwiYWxsTWV0aG9kcyIsIk1FVEhPRF9NQVAiLCJwYXRoIiwibWV0aG9kcyIsInRvUGFpcnMiLCJtZXRob2QiLCJzcGVjIiwiYnVpbGRIYW5kbGVyIiwiaXNTZXNzQ21kIiwiYXN5bmNIYW5kbGVyIiwicmVxIiwiYm9keSIsImh0dHBSZXNCb2R5IiwiaHR0cFN0YXR1cyIsIm5ld1Nlc3Npb25JZCIsImN1cnJlbnRQcm90b2NvbCIsIk5vU3VjaERyaXZlckVycm9yIiwiZGlkUGx1Z2luT3ZlcnJpZGVQcm94eSIsIm5ldmVyUHJveHkiLCJkcml2ZXJTaG91bGREb0p3cFByb3h5IiwicGx1Z2luc1RvSGFuZGxlQ21kIiwiZG9Kd3BQcm94eSIsImRlYnVnIiwiTm90SW1wbGVtZW50ZWRFcnJvciIsImRyaXZlclJlcyIsInZhbGlkYXRvcnMiLCJ0cnVuY2F0ZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJNQVhfTE9HX0JPRFlfTEVOR1RIIiwicmVxRm9yUHJveHkiLCJpc1BsYWluT2JqZWN0IiwiaGFzIiwiZXJyb3IiLCJ2YWx1ZSIsImNhcGFiaWxpdGllcyIsInV0aWwiLCJoYXNWYWx1ZSIsInN0YXR1cyIsImlzTmFOIiwicGFyc2VJbnQiLCJzdGFja3RyYWNlIiwiZXJyIiwiYWN0dWFsRXJyIiwiZXJyTXNnIiwic3RhY2siLCJQcm94eVJlcXVlc3RFcnJvciIsImdldEFjdHVhbEVycm9yIiwiaXNTdHJpbmciLCJzZW5kIiwianNvbiIsInRvTG93ZXJDYXNlIiwiQiIsInJlc29sdmUiLCJkb25lIiwicHJveHlBY3RpdmUiLCJwcm94eVJvdXRlSXNBdm9pZGVkIiwib3JpZ2luYWxVcmwiLCJjYW5Qcm94eSJdLCJtYXBwaW5ncyI6Ijs7Ozs7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RUFBNEM7QUFDMUMsVUFBTSxJQUFJMkQsS0FBSixDQUFVLCtEQUFWLENBQU47QUFDRDs7QUFDRCxNQUFJO0FBQ0YsVUFBTTVELE1BQU0sQ0FBQzZELGNBQVAsQ0FBc0IsYUFBdEIsRUFBcUNpQixHQUFyQyxFQUEwQ3ZELEdBQTFDLEVBQStDdUQsR0FBRyxDQUFDbEMsTUFBSixDQUFXM0MsU0FBMUQsQ0FBTjtBQUNELEdBRkQsQ0FFRSxPQUFPNkcsR0FBUCxFQUFZO0FBQ1osUUFBSSx5QkFBWUEsR0FBWixFQUFpQnZFLGVBQU8yRSxpQkFBeEIsQ0FBSixFQUFnRDtBQUM5QyxZQUFNSixHQUFOO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsWUFBTSxJQUFJbEQsS0FBSixDQUFXLGlDQUFnQ2tELEdBQUcsQ0FBQ3hFLE9BQVEsRUFBdkQsQ0FBTjtBQUNEO0FBQ0Y7QUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB1dGlsLCBsb2dnZXIsIG5vZGUgfSBmcm9tICdAYXBwaXVtL3N1cHBvcnQnO1xuaW1wb3J0IHsgdmFsaWRhdG9ycyB9IGZyb20gJy4vdmFsaWRhdG9ycyc7XG5pbXBvcnQge1xuICBlcnJvcnMsIGlzRXJyb3JUeXBlLCBnZXRSZXNwb25zZUZvclczQ0Vycm9yLFxuICBlcnJvckZyb21NSlNPTldQU3RhdHVzQ29kZSwgZXJyb3JGcm9tVzNDSnNvbkNvZGUsXG59IGZyb20gJy4vZXJyb3JzJztcbmltcG9ydCB7IE1FVEhPRF9NQVAsIE5PX1NFU1NJT05fSURfQ09NTUFORFMgfSBmcm9tICcuL3JvdXRlcyc7XG5pbXBvcnQgQiBmcm9tICdibHVlYmlyZCc7XG5pbXBvcnQgeyBmb3JtYXRSZXNwb25zZVZhbHVlLCBmb3JtYXRTdGF0dXMgfSBmcm9tICcuL2hlbHBlcnMnO1xuaW1wb3J0IHsgTUFYX0xPR19CT0RZX0xFTkdUSCwgUFJPVE9DT0xTLCBERUZBVUxUX0JBU0VfUEFUSCB9IGZyb20gJy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBpc1czY0NhcHMgfSBmcm9tICcuLi9oZWxwZXJzL2NhcGFiaWxpdGllcyc7XG5cblxuY29uc3QgQ1JFQVRFX1NFU1NJT05fQ09NTUFORCA9ICdjcmVhdGVTZXNzaW9uJztcbmNvbnN0IERFTEVURV9TRVNTSU9OX0NPTU1BTkQgPSAnZGVsZXRlU2Vzc2lvbic7XG5jb25zdCBHRVRfU1RBVFVTX0NPTU1BTkQgPSAnZ2V0U3RhdHVzJztcblxuY2xhc3MgUHJvdG9jb2wge31cblxuZnVuY3Rpb24gZGV0ZXJtaW5lUHJvdG9jb2wgKGNyZWF0ZVNlc3Npb25BcmdzKSB7XG4gIHJldHVybiBfLnNvbWUoY3JlYXRlU2Vzc2lvbkFyZ3MsIGlzVzNjQ2FwcykgPyBQUk9UT0NPTFMuVzNDIDogUFJPVE9DT0xTLk1KU09OV1A7XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RQcm90b2NvbCAoZHJpdmVyLCBzZXNzaW9uSWQgPSBudWxsKSB7XG4gIGNvbnN0IGRzdERyaXZlciA9IF8uaXNGdW5jdGlvbihkcml2ZXIuZHJpdmVyRm9yU2Vzc2lvbilcbiAgICA/IGRyaXZlci5kcml2ZXJGb3JTZXNzaW9uKHNlc3Npb25JZClcbiAgICA6IGRyaXZlcjtcbiAgaWYgKGRzdERyaXZlciA9PT0gZHJpdmVyKSB7XG4gICAgLy8gU2hvcnRjaXJjdWl0IGlmIHRoZSBkcml2ZXIgaW5zdGFuY2UgaXMgbm90IGFuIHVtYnJlbGxhIGRyaXZlclxuICAgIC8vIG9yIGl0IGlzIEZha2UgZHJpdmVyIGluc3RhbmNlLCB3aGVyZSBgZHJpdmVyLmRyaXZlckZvclNlc3Npb25gXG4gICAgLy8gYWx3YXlzIHJldHVybnMgc2VsZiBpbnN0YW5jZVxuICAgIHJldHVybiBkcml2ZXIucHJvdG9jb2w7XG4gIH1cblxuICAvLyBFeHRyYWN0IHRoZSBwcm90b2NvbCBmb3IgdGhlIGN1cnJlbnQgc2Vzc2lvbiBpZiB0aGUgZ2l2ZW4gZHJpdmVyIGlzIHRoZSB1bWJyZWxsYSBvbmVcbiAgcmV0dXJuIGRzdERyaXZlcj8ucHJvdG9jb2wgPz8gUFJPVE9DT0xTLlczQztcbn1cblxuZnVuY3Rpb24gaXNTZXNzaW9uQ29tbWFuZCAoY29tbWFuZCkge1xuICByZXR1cm4gIV8uaW5jbHVkZXMoTk9fU0VTU0lPTl9JRF9DT01NQU5EUywgY29tbWFuZCk7XG59XG5cbmZ1bmN0aW9uIGdldExvZ2dlciAoZHJpdmVyLCBzZXNzaW9uSWQgPSBudWxsKSB7XG4gIGNvbnN0IGRzdERyaXZlciA9IHNlc3Npb25JZCAmJiBfLmlzRnVuY3Rpb24oZHJpdmVyLmRyaXZlckZvclNlc3Npb24pXG4gICAgPyAoZHJpdmVyLmRyaXZlckZvclNlc3Npb24oc2Vzc2lvbklkKSA/PyBkcml2ZXIpXG4gICAgOiBkcml2ZXI7XG4gIGlmIChfLmlzRnVuY3Rpb24oZHN0RHJpdmVyLmxvZz8uaW5mbykpIHtcbiAgICByZXR1cm4gZHN0RHJpdmVyLmxvZztcbiAgfVxuXG4gIGxldCBsb2dQcmVmaXggPSBkc3REcml2ZXIuY29uc3RydWN0b3JcbiAgICA/IGAke2RzdERyaXZlci5jb25zdHJ1Y3Rvci5uYW1lfUAke25vZGUuZ2V0T2JqZWN0SWQoZHN0RHJpdmVyKS5zdWJzdHJpbmcoMCwgOCl9YFxuICAgIDogJ0FwcGl1bURyaXZlcic7XG4gIGlmIChzZXNzaW9uSWQpIHtcbiAgICBsb2dQcmVmaXggKz0gYCAoJHtzZXNzaW9uSWQuc3Vic3RyaW5nKDAsIDgpfSlgO1xuICB9XG4gIHJldHVybiBsb2dnZXIuZ2V0TG9nZ2VyKGxvZ1ByZWZpeCk7XG59XG5cbmZ1bmN0aW9uIHdyYXBQYXJhbXMgKHBhcmFtU2V0cywganNvbk9iaikge1xuICAvKiBUaGVyZSBhcmUgY29tbWFuZHMgbGlrZSBwZXJmb3JtVG91Y2ggd2hpY2ggdGFrZSBhIHNpbmdsZSBwYXJhbWV0ZXIgKHByaW1pdGl2ZSB0eXBlIG9yIGFycmF5KS5cbiAgICogU29tZSBkcml2ZXJzIGNob29zZSB0byBwYXNzIHRoaXMgcGFyYW1ldGVyIGFzIGEgdmFsdWUgKGVnLiBbYWN0aW9uMSwgYWN0aW9uMi4uLl0pIHdoaWxlIG90aGVycyB0b1xuICAgKiB3cmFwIGl0IHdpdGhpbiBhbiBvYmplY3QoZWcnIHtnZXN0dXJlOiAgW2FjdGlvbjEsIGFjdGlvbjIuLi5dfSksIHdoaWNoIG1ha2VzIGl0IGhhcmQgdG8gdmFsaWRhdGUuXG4gICAqIFRoZSB3cmFwIG9wdGlvbiBpbiB0aGUgc3BlYyBlbmZvcmNlIHdyYXBwaW5nIGJlZm9yZSB2YWxpZGF0aW9uLCBzbyB0aGF0IGFsbCBwYXJhbXMgYXJlIHdyYXBwZWQgYXRcbiAgICogdGhlIHRpbWUgdGhleSBhcmUgdmFsaWRhdGVkIGFuZCBsYXRlciBwYXNzZWQgdG8gdGhlIGNvbW1hbmRzLlxuICAgKi9cbiAgbGV0IHJlcyA9IGpzb25PYmo7XG4gIGlmIChfLmlzQXJyYXkoanNvbk9iaikgfHwgIV8uaXNPYmplY3QoanNvbk9iaikpIHtcbiAgICByZXMgPSB7fTtcbiAgICByZXNbcGFyYW1TZXRzLndyYXBdID0ganNvbk9iajtcbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiB1bndyYXBQYXJhbXMgKHBhcmFtU2V0cywganNvbk9iaikge1xuICAvKiBUaGVyZSBhcmUgY29tbWFuZHMgbGlrZSBzZXROZXR3b3JrQ29ubmVjdGlvbiB3aGljaCBzZW5kIHBhcmFtZXRlcnMgd3JhcHBlZCBpbnNpZGUgYSBrZXkgc3VjaCBhc1xuICAgKiBcInBhcmFtZXRlcnNcIi4gVGhpcyBmdW5jdGlvbiB1bndyYXBzIHRoZW0gKGVnLiB7XCJwYXJhbWV0ZXJzXCI6IHtcInR5cGVcIjogMX19IGJlY29tZXMge1widHlwZVwiOiAxfSkuXG4gICAqL1xuICBsZXQgcmVzID0ganNvbk9iajtcbiAgaWYgKF8uaXNPYmplY3QoanNvbk9iaikpIHtcbiAgICAvLyBzb21lIGNsaWVudHMsIGxpa2UgcnVieSwgZG9uJ3Qgd3JhcFxuICAgIGlmIChqc29uT2JqW3BhcmFtU2V0cy51bndyYXBdKSB7XG4gICAgICByZXMgPSBqc29uT2JqW3BhcmFtU2V0cy51bndyYXBdO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzO1xufVxuXG5mdW5jdGlvbiBjaGVja1BhcmFtcyAocGFyYW1TZXRzLCBqc29uT2JqLCBwcm90b2NvbCkge1xuICBsZXQgcmVxdWlyZWRQYXJhbXMgPSBbXTtcbiAgbGV0IG9wdGlvbmFsUGFyYW1zID0gW107XG4gIGxldCByZWNlaXZlZFBhcmFtcyA9IF8ua2V5cyhqc29uT2JqKTtcblxuICBpZiAocGFyYW1TZXRzKSB7XG4gICAgaWYgKHBhcmFtU2V0cy5yZXF1aXJlZCkge1xuICAgICAgLy8gd2UgbWlnaHQgaGF2ZSBhbiBhcnJheSBvZiBwYXJhbWV0ZXJzLFxuICAgICAgLy8gb3IgYW4gYXJyYXkgb2YgYXJyYXlzIG9mIHBhcmFtZXRlcnMsIHNvIHN0YW5kYXJkaXplXG4gICAgICBpZiAoIV8uaXNBcnJheShfLmZpcnN0KHBhcmFtU2V0cy5yZXF1aXJlZCkpKSB7XG4gICAgICAgIHJlcXVpcmVkUGFyYW1zID0gW3BhcmFtU2V0cy5yZXF1aXJlZF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXF1aXJlZFBhcmFtcyA9IHBhcmFtU2V0cy5yZXF1aXJlZDtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gb3B0aW9uYWwgcGFyYW1ldGVycyBhcmUganVzdCBhbiBhcnJheVxuICAgIGlmIChwYXJhbVNldHMub3B0aW9uYWwpIHtcbiAgICAgIG9wdGlvbmFsUGFyYW1zID0gcGFyYW1TZXRzLm9wdGlvbmFsO1xuICAgIH1cblxuICAgIC8vIElmIGEgZnVuY3Rpb24gd2FzIHByb3ZpZGVkIGFzIHRoZSAndmFsaWRhdGUnIGtleSwgaXQgd2lsbCBoZXJlIGJlIGNhbGxlZCB3aXRoXG4gICAgLy8ganNvbk9iaiBhcyB0aGUgcGFyYW0uIElmIGl0IHJldHVybnMgc29tZXRoaW5nIGZhbHN5LCB2ZXJpZmljYXRpb24gd2lsbCBiZVxuICAgIC8vIGNvbnNpZGVyZWQgdG8gaGF2ZSBwYXNzZWQuIElmIGl0IHJldHVybnMgc29tZXRoaW5nIGVsc2UsIHRoYXQgd2lsbCBiZSB0aGVcbiAgICAvLyBhcmd1bWVudCB0byBhbiBlcnJvciB3aGljaCBpcyB0aHJvd24gdG8gdGhlIHVzZXJcbiAgICBpZiAocGFyYW1TZXRzLnZhbGlkYXRlKSB7XG4gICAgICBsZXQgbWVzc2FnZSA9IHBhcmFtU2V0cy52YWxpZGF0ZShqc29uT2JqLCBwcm90b2NvbCk7XG4gICAgICBpZiAobWVzc2FnZSkge1xuICAgICAgICB0aHJvdyBuZXcgZXJyb3JzLkJhZFBhcmFtZXRlcnNFcnJvcihtZXNzYWdlLCBqc29uT2JqKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBpZiB3ZSBoYXZlIG5vIHJlcXVpcmVkIHBhcmFtZXRlcnMsIGFsbCBpcyB3ZWxsXG4gIGlmIChyZXF1aXJlZFBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBzb21lIGNsaWVudHMgcGFzcyBpbiB0aGUgc2Vzc2lvbiBpZCBpbiB0aGUgcGFyYW1zXG4gIGlmIChvcHRpb25hbFBhcmFtcy5pbmRleE9mKCdzZXNzaW9uSWQnKSA9PT0gLTEpIHtcbiAgICBvcHRpb25hbFBhcmFtcy5wdXNoKCdzZXNzaW9uSWQnKTtcbiAgfVxuXG4gIC8vIHNvbWUgY2xpZW50cyBwYXNzIGluIGFuIGVsZW1lbnQgaWQgaW4gdGhlIHBhcmFtc1xuICBpZiAob3B0aW9uYWxQYXJhbXMuaW5kZXhPZignaWQnKSA9PT0gLTEpIHtcbiAgICBvcHRpb25hbFBhcmFtcy5wdXNoKCdpZCcpO1xuICB9XG5cbiAgLy8gZ28gdGhyb3VnaCB0aGUgcmVxdWlyZWQgcGFyYW1ldGVycyBhbmQgY2hlY2sgYWdhaW5zdCBvdXIgYXJndW1lbnRzXG4gIGZvciAobGV0IHBhcmFtcyBvZiByZXF1aXJlZFBhcmFtcykge1xuICAgIGlmIChfLmRpZmZlcmVuY2UocmVjZWl2ZWRQYXJhbXMsIHBhcmFtcywgb3B0aW9uYWxQYXJhbXMpLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICBfLmRpZmZlcmVuY2UocGFyYW1zLCByZWNlaXZlZFBhcmFtcykubGVuZ3RoID09PSAwKSB7XG4gICAgICAvLyB3ZSBoYXZlIGEgc2V0IG9mIHBhcmFtZXRlcnMgdGhhdCBpcyBjb3JyZWN0XG4gICAgICAvLyBzbyBzaG9ydC1jaXJjdWl0XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG4gIHRocm93IG5ldyBlcnJvcnMuQmFkUGFyYW1ldGVyc0Vycm9yKHBhcmFtU2V0cywgcmVjZWl2ZWRQYXJhbXMpO1xufVxuXG4vKlxuICogVGhpcyBtZXRob2QgdGFrZXMgMyBwaWVjZXMgb2YgZGF0YTogcmVxdWVzdCBwYXJhbWV0ZXJzICgncmVxdWVzdFBhcmFtcycpLFxuICogYSByZXF1ZXN0IEpTT04gYm9keSAoJ2pzb25PYmonKSwgYW5kICdwYXlsb2FkUGFyYW1zJywgd2hpY2ggaXMgdGhlIHNlY3Rpb25cbiAqIGZyb20gdGhlIHJvdXRlIGRlZmluaXRpb24gZm9yIGEgcGFydGljdWxhciBlbmRwb2ludCB3aGljaCBoYXMgaW5zdHJ1Y3Rpb25zXG4gKiBvbiBoYW5kbGluZyBwYXJhbWV0ZXJzLiBUaGlzIG1ldGhvZCByZXR1cm5zIGFuIGFycmF5IG9mIGFyZ3VtZW50cyB3aGljaCB3aWxsXG4gKiBiZSBhcHBsaWVkIHRvIGEgY29tbWFuZC5cbiAqL1xuZnVuY3Rpb24gbWFrZUFyZ3MgKHJlcXVlc3RQYXJhbXMsIGpzb25PYmosIHBheWxvYWRQYXJhbXMsIHByb3RvY29sKSB7XG4gIC8vIFdlIHdhbnQgdG8gcGFzcyB0aGUgXCJ1cmxcIiBwYXJhbWV0ZXJzIHRvIHRoZSBjb21tYW5kcyBpbiByZXZlcnNlIG9yZGVyXG4gIC8vIHNpbmNlIHRoZSBjb21tYW5kIHdpbGwgc29tZXRpbWVzIHdhbnQgdG8gaWdub3JlLCBzYXksIHRoZSBzZXNzaW9uSWQuXG4gIC8vIFRoaXMgaGFzIHRoZSBlZmZlY3Qgb2YgcHV0dGluZyBzZXNzaW9uSWQgbGFzdCwgd2hpY2ggbWVhbnMgaW4gSlMgd2UgY2FuXG4gIC8vIG9taXQgaXQgZnJvbSB0aGUgZnVuY3Rpb24gc2lnbmF0dXJlIGlmIHdlJ3JlIG5vdCBnb2luZyB0byB1c2UgaXQuXG4gIGxldCB1cmxQYXJhbXMgPSBfLmtleXMocmVxdWVzdFBhcmFtcykucmV2ZXJzZSgpO1xuXG4gIC8vIEluIHRoZSBzaW1wbGUgY2FzZSwgdGhlIHJlcXVpcmVkIHBhcmFtZXRlcnMgYXJlIGEgYmFzaWMgYXJyYXkgaW5cbiAgLy8gcGF5bG9hZFBhcmFtcy5yZXF1aXJlZCwgc28gc3RhcnQgdGhlcmUuIEl0J3MgcG9zc2libGUgdGhhdCB0aGVyZSBhcmVcbiAgLy8gbXVsdGlwbGUgb3B0aW9uYWwgc2V0cyBvZiByZXF1aXJlZCBwYXJhbXMsIHRob3VnaCwgc28gaGFuZGxlIHRoYXQgY2FzZVxuICAvLyB0b28uXG4gIGxldCByZXF1aXJlZFBhcmFtcyA9IHBheWxvYWRQYXJhbXMucmVxdWlyZWQ7XG4gIGlmIChfLmlzQXJyYXkoXy5maXJzdChwYXlsb2FkUGFyYW1zLnJlcXVpcmVkKSkpIHtcbiAgICAvLyBJZiB0aGVyZSBhcmUgb3B0aW9uYWwgc2V0cyBvZiByZXF1aXJlZCBwYXJhbXMsIHRoZW4gd2Ugd2lsbCBoYXZlIGFuXG4gICAgLy8gYXJyYXkgb2YgYXJyYXlzIGluIHBheWxvYWRQYXJhbXMucmVxdWlyZWQsIHNvIGxvb3AgdGhyb3VnaCBlYWNoIHNldCBhbmRcbiAgICAvLyBwaWNrIHRoZSBvbmUgdGhhdCBtYXRjaGVzIHdoaWNoIEpTT04gcGFyYW1zIHdlcmUgYWN0dWFsbHkgc2VudC4gV2UndmVcbiAgICAvLyBhbHJlYWR5IGJlZW4gdGhyb3VnaCB2YWxpZGF0aW9uIHNvIHdlJ3JlIGd1YXJhbnRlZWQgdG8gZmluZCBhIG1hdGNoLlxuICAgIGxldCBrZXlzID0gXy5rZXlzKGpzb25PYmopO1xuICAgIGZvciAobGV0IHBhcmFtcyBvZiBwYXlsb2FkUGFyYW1zLnJlcXVpcmVkKSB7XG4gICAgICBpZiAoXy53aXRob3V0KHBhcmFtcywgLi4ua2V5cykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJlcXVpcmVkUGFyYW1zID0gcGFyYW1zO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBOb3cgd2UgY29uc3RydWN0IG91ciBsaXN0IG9mIGFyZ3VtZW50cyB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgY29tbWFuZFxuICBsZXQgYXJncztcbiAgaWYgKF8uaXNGdW5jdGlvbihwYXlsb2FkUGFyYW1zLm1ha2VBcmdzKSkge1xuICAgIC8vIEluIHRoZSByb3V0ZSBzcGVjLCBhIHBhcnRpY3VsYXIgcm91dGUgbWlnaHQgZGVmaW5lIGEgJ21ha2VBcmdzJyBmdW5jdGlvblxuICAgIC8vIGlmIGl0IHdhbnRzIGZ1bGwgY29udHJvbCBvdmVyIGhvdyB0byB0dXJuIEpTT04gcGFyYW1ldGVycyBpbnRvIGNvbW1hbmRcbiAgICAvLyBhcmd1bWVudHMuIFNvIHdlIHBhc3MgaXQgdGhlIEpTT04gcGFyYW1ldGVycyBhbmQgaXQgcmV0dXJucyBhbiBhcnJheVxuICAgIC8vIHdoaWNoIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaGFuZGxpbmcgY29tbWFuZC4gRm9yIGV4YW1wbGUgaWYgaXQgcmV0dXJuc1xuICAgIC8vIFsxLCAyLCAzXSwgd2Ugd2lsbCBjYWxsIGBjb21tYW5kKDEsIDIsIDMsIC4uLilgICh1cmwgcGFyYW1zIGFyZSBzZXBhcmF0ZVxuICAgIC8vIGZyb20gSlNPTiBwYXJhbXMgYW5kIGdldCBjb25jYXRlbmF0ZWQgYmVsb3cpLlxuICAgIGFyZ3MgPSBwYXlsb2FkUGFyYW1zLm1ha2VBcmdzKGpzb25PYmosIHByb3RvY29sKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBPdGhlcndpc2UsIGNvbGxlY3QgYWxsIHRoZSByZXF1aXJlZCBhbmQgb3B0aW9uYWwgcGFyYW1zIGFuZCBmbGF0dGVuIHRoZW1cbiAgICAvLyBpbnRvIGFuIGFyZ3VtZW50IGFycmF5XG4gICAgYXJncyA9IF8uZmxhdHRlbihyZXF1aXJlZFBhcmFtcykubWFwKChwKSA9PiBqc29uT2JqW3BdKTtcbiAgICBpZiAocGF5bG9hZFBhcmFtcy5vcHRpb25hbCkge1xuICAgICAgYXJncyA9IGFyZ3MuY29uY2F0KF8uZmxhdHRlbihwYXlsb2FkUGFyYW1zLm9wdGlvbmFsKS5tYXAoKHApID0+IGpzb25PYmpbcF0pKTtcbiAgICB9XG4gIH1cbiAgLy8gRmluYWxseSwgZ2V0IG91ciB1cmwgcGFyYW1zIChzZXNzaW9uIGlkLCBlbGVtZW50IGlkLCBldGMuLi4pIG9uIHRoZSBlbmQgb2ZcbiAgLy8gdGhlIGxpc3RcbiAgYXJncyA9IGFyZ3MuY29uY2F0KHVybFBhcmFtcy5tYXAoKHUpID0+IHJlcXVlc3RQYXJhbXNbdV0pKTtcbiAgcmV0dXJuIGFyZ3M7XG59XG5cbmZ1bmN0aW9uIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbiAoZHJpdmVyKSB7XG4gIGlmICghZHJpdmVyLnNlc3Npb25FeGlzdHMpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0RyaXZlcnMgbXVzdCBpbXBsZW1lbnQgYHNlc3Npb25FeGlzdHNgIHByb3BlcnR5Jyk7XG4gIH1cblxuICBpZiAoIShkcml2ZXIuZXhlY3V0ZUNvbW1hbmQgfHwgZHJpdmVyLmV4ZWN1dGUpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdEcml2ZXJzIG11c3QgaW1wbGVtZW50IGBleGVjdXRlQ29tbWFuZGAgb3IgYGV4ZWN1dGVgIG1ldGhvZCcpO1xuICB9XG5cbiAgLy8gcmV0dXJuIGEgZnVuY3Rpb24gd2hpY2ggd2lsbCBhZGQgYWxsIHRoZSByb3V0ZXMgdG8gdGhlIGRyaXZlci4gSGVyZSBleHRyYU1ldGhvZHMgbWlnaHQgYmVcbiAgLy8gcGFzc2VkIGluIGFzIGRlZmluZWQgYnkgQXBwaXVtIHBsdWdpbnMsIHNvIHdlIG5lZWQgdG8gYWRkIHRob3NlIHRvIHRoZSBkZWZhdWx0IGxpc3RcbiAgcmV0dXJuIGZ1bmN0aW9uIGFkZFJvdXRlcyAoYXBwLCB7YmFzZVBhdGggPSBERUZBVUxUX0JBU0VfUEFUSCwgZXh0cmFNZXRob2RNYXAgPSB7fX0pIHtcbiAgICAvLyBzdG9yZSBiYXNlUGF0aCBvbiB0aGUgZHJpdmVyIGluc3RhbmNlIHNvIGl0IGNhbiB1c2UgaXQgaWYgbmVjZXNzYXJ5XG4gICAgLy8gZm9yIGV4YW1wbGUgaW4gZGV0ZXJtaW5pbmcgcHJveHkgYXZvaWRhbmNlXG4gICAgZHJpdmVyLmJhc2VQYXRoID0gYmFzZVBhdGg7XG5cbiAgICBjb25zdCBhbGxNZXRob2RzID0gey4uLk1FVEhPRF9NQVAsIC4uLmV4dHJhTWV0aG9kTWFwfTtcblxuICAgIGZvciAoY29uc3QgW3BhdGgsIG1ldGhvZHNdIG9mIF8udG9QYWlycyhhbGxNZXRob2RzKSkge1xuICAgICAgZm9yIChjb25zdCBbbWV0aG9kLCBzcGVjXSBvZiBfLnRvUGFpcnMobWV0aG9kcykpIHtcbiAgICAgICAgLy8gc2V0IHVwIHRoZSBleHByZXNzIHJvdXRlIGhhbmRsZXJcbiAgICAgICAgYnVpbGRIYW5kbGVyKGFwcCwgbWV0aG9kLCBgJHtiYXNlUGF0aH0ke3BhdGh9YCwgc3BlYywgZHJpdmVyLCBpc1Nlc3Npb25Db21tYW5kKHNwZWMuY29tbWFuZCkpO1xuICAgICAgfVxuICAgIH1cbiAgfTtcbn1cblxuZnVuY3Rpb24gYnVpbGRIYW5kbGVyIChhcHAsIG1ldGhvZCwgcGF0aCwgc3BlYywgZHJpdmVyLCBpc1Nlc3NDbWQpIHtcbiAgbGV0IGFzeW5jSGFuZGxlciA9IGFzeW5jIChyZXEsIHJlcykgPT4ge1xuICAgIGxldCBqc29uT2JqID0gcmVxLmJvZHk7XG4gICAgbGV0IGh0dHBSZXNCb2R5ID0ge307XG4gICAgbGV0IGh0dHBTdGF0dXMgPSAyMDA7XG4gICAgbGV0IG5ld1Nlc3Npb25JZDtcbiAgICBsZXQgY3VycmVudFByb3RvY29sID0gZXh0cmFjdFByb3RvY29sKGRyaXZlciwgcmVxLnBhcmFtcy5zZXNzaW9uSWQpO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIGlmIHRoaXMgaXMgYSBzZXNzaW9uIGNvbW1hbmQgYnV0IHdlIGRvbid0IGhhdmUgYSBzZXNzaW9uLFxuICAgICAgLy8gZXJyb3Igb3V0IGVhcmx5IChlc3BlY2lhbGx5IGJlZm9yZSBwcm94eWluZylcbiAgICAgIGlmIChpc1Nlc3NDbWQgJiYgIWRyaXZlci5zZXNzaW9uRXhpc3RzKHJlcS5wYXJhbXMuc2Vzc2lvbklkKSkge1xuICAgICAgICB0aHJvdyBuZXcgZXJyb3JzLk5vU3VjaERyaXZlckVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgIC8vIGlmIHRoZSBkcml2ZXIgaXMgY3VycmVudGx5IHByb3h5aW5nIGNvbW1hbmRzIHRvIGFub3RoZXIgSlNPTldQIHNlcnZlciwgYnlwYXNzIGFsbCBvdXJcbiAgICAgIC8vIGNoZWNrcyBhbmQgYXNzdW1lIHRoZSB1cHN0cmVhbSBzZXJ2ZXIga25vd3Mgd2hhdCBpdCdzIGRvaW5nLiBCdXQga2VlcCB0aGlzIGluIHRoZVxuICAgICAgLy8gdHJ5L2NhdGNoIGJsb2NrIHNvIGlmIHByb3h5aW5nIGl0c2VsZiBmYWlscywgd2UgZ2l2ZSBhIG1lc3NhZ2UgdG8gdGhlIGNsaWVudC4gT2YgY291cnNlIHdlXG4gICAgICAvLyBvbmx5IHdhbnQgdG8gZG8gdGhlc2Ugd2hlbiB3ZSBoYXZlIGEgc2Vzc2lvbiBjb21tYW5kOyB0aGUgQXBwaXVtIGRyaXZlciBtdXN0IGJlXG4gICAgICAvLyByZXNwb25zaWJsZSBmb3Igc3RhcnQvc3RvcCBzZXNzaW9uLCBldGMuLi4gV2UgYWxzbyBhbGxvdyB0aGUgY29tbWFuZCBzcGVjIHRvIGRlY2xhcmUgdGhhdFxuICAgICAgLy8gdGhpcyBjb21tYW5kIHNob3VsZCBuZXZlciBiZSBwcm94aWVkICh3aGljaCBpcyB1c2VmdWwgZm9yIHBsdWdpbiBkZXZlbG9wZXJzIHdobyBhZGRcbiAgICAgIC8vIGNvbW1hbmRzIGFuZCBnZW5lcmFsbHkgd291bGQgbm90IHdhbnQgdGhhdCBjb21tYW5kIHRvIGJlIHByb3hpZWQgaW5zdGVhZCBvZiBoYW5kbGVkIGJ5IHRoZVxuICAgICAgLy8gcGx1Z2luKVxuICAgICAgbGV0IGRpZFBsdWdpbk92ZXJyaWRlUHJveHkgPSBmYWxzZTtcbiAgICAgIGlmIChpc1Nlc3NDbWQgJiYgIXNwZWMubmV2ZXJQcm94eSAmJiBkcml2ZXJTaG91bGREb0p3cFByb3h5KGRyaXZlciwgcmVxLCBzcGVjLmNvbW1hbmQpKSB7XG4gICAgICAgIGlmICghZHJpdmVyLnBsdWdpbnNUb0hhbmRsZUNtZCB8fFxuICAgICAgICAgICAgZHJpdmVyLnBsdWdpbnNUb0hhbmRsZUNtZChzcGVjLmNvbW1hbmQsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICBhd2FpdCBkb0p3cFByb3h5KGRyaXZlciwgcmVxLCByZXMpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBnZXRMb2dnZXIoZHJpdmVyLCByZXEucGFyYW1zLnNlc3Npb25JZCkuZGVidWcoYFdvdWxkIGhhdmUgcHJveGllZCBgICtcbiAgICAgICAgICBgY29tbWFuZCBkaXJlY3RseSwgYnV0IGEgcGx1Z2luIGV4aXN0cyB3aGljaCBtaWdodCByZXF1aXJlIGl0cyB2YWx1ZSwgc28gd2lsbCBsZXQgYCArXG4gICAgICAgICAgYGl0cyB2YWx1ZSBiZSBjb2xsZWN0ZWQgaW50ZXJuYWxseSBhbmQgbWFkZSBwYXJ0IG9mIHBsdWdpbiBjaGFpbmApO1xuICAgICAgICBkaWRQbHVnaW5PdmVycmlkZVByb3h5ID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gaWYgYSBjb21tYW5kIGlzIG5vdCBpbiBvdXIgbWV0aG9kIG1hcCwgaXQncyBiZWNhdXNlIHdlXG4gICAgICAvLyBoYXZlIG5vIHBsYW5zIHRvIGV2ZXIgaW1wbGVtZW50IGl0XG4gICAgICBpZiAoIXNwZWMuY29tbWFuZCkge1xuICAgICAgICB0aHJvdyBuZXcgZXJyb3JzLk5vdEltcGxlbWVudGVkRXJyb3IoKTtcbiAgICAgIH1cblxuICAgICAgLy8gd3JhcCBwYXJhbXMgaWYgbmVjZXNzYXJ5XG4gICAgICBpZiAoc3BlYy5wYXlsb2FkUGFyYW1zICYmIHNwZWMucGF5bG9hZFBhcmFtcy53cmFwKSB7XG4gICAgICAgIGpzb25PYmogPSB3cmFwUGFyYW1zKHNwZWMucGF5bG9hZFBhcmFtcywganNvbk9iaik7XG4gICAgICB9XG5cbiAgICAgIC8vIHVud3JhcCBwYXJhbXMgaWYgbmVjZXNzYXJ5XG4gICAgICBpZiAoc3BlYy5wYXlsb2FkUGFyYW1zICYmIHNwZWMucGF5bG9hZFBhcmFtcy51bndyYXApIHtcbiAgICAgICAganNvbk9iaiA9IHVud3JhcFBhcmFtcyhzcGVjLnBheWxvYWRQYXJhbXMsIGpzb25PYmopO1xuICAgICAgfVxuXG4gICAgICBpZiAoc3BlYy5jb21tYW5kID09PSBDUkVBVEVfU0VTU0lPTl9DT01NQU5EKSB7XG4gICAgICAgIC8vIHRyeSB0byBkZXRlcm1pbmUgcHJvdG9jb2wgYnkgc2Vzc2lvbiBjcmVhdGlvbiBhcmdzLCBzbyB3ZSBjYW4gdGhyb3cgYVxuICAgICAgICAvLyBwcm9wZXJseSBmb3JtYXR0ZWQgZXJyb3IgaWYgYXJndW1lbnRzIHZhbGlkYXRpb24gZmFpbHNcbiAgICAgICAgY3VycmVudFByb3RvY29sID0gZGV0ZXJtaW5lUHJvdG9jb2wobWFrZUFyZ3MocmVxLnBhcmFtcywganNvbk9iaiwgc3BlYy5wYXlsb2FkUGFyYW1zIHx8IHt9KSk7XG4gICAgICB9XG5cbiAgICAgIC8vIGVuc3VyZSB0aGF0IHRoZSBqc29uIHBheWxvYWQgY29uZm9ybXMgdG8gdGhlIHNwZWNcbiAgICAgIGNoZWNrUGFyYW1zKHNwZWMucGF5bG9hZFBhcmFtcywganNvbk9iaiwgY3VycmVudFByb3RvY29sKTtcblxuICAgICAgLy8gdHVybiB0aGUgY29tbWFuZCBhbmQganNvbiBwYXlsb2FkIGludG8gYW4gYXJndW1lbnQgbGlzdCBmb3JcbiAgICAgIC8vIHRoZSBkcml2ZXIgbWV0aG9kc1xuICAgICAgbGV0IGFyZ3MgPSBtYWtlQXJncyhyZXEucGFyYW1zLCBqc29uT2JqLCBzcGVjLnBheWxvYWRQYXJhbXMgfHwge30sIGN1cnJlbnRQcm90b2NvbCk7XG4gICAgICBsZXQgZHJpdmVyUmVzO1xuICAgICAgLy8gdmFsaWRhdGUgY29tbWFuZCBhcmdzIGFjY29yZGluZyB0byBNSlNPTldQXG4gICAgICBpZiAodmFsaWRhdG9yc1tzcGVjLmNvbW1hbmRdKSB7XG4gICAgICAgIHZhbGlkYXRvcnNbc3BlYy5jb21tYW5kXSguLi5hcmdzKTtcbiAgICAgIH1cblxuICAgICAgLy8gcnVuIHRoZSBkcml2ZXIgY29tbWFuZCB3cmFwcGVkIGluc2lkZSB0aGUgYXJndW1lbnQgdmFsaWRhdG9yc1xuICAgICAgZ2V0TG9nZ2VyKGRyaXZlciwgcmVxLnBhcmFtcy5zZXNzaW9uSWQpLmRlYnVnKGBDYWxsaW5nIGAgK1xuICAgICAgICBgJHtkcml2ZXIuY29uc3RydWN0b3IubmFtZX0uJHtzcGVjLmNvbW1hbmR9KCkgd2l0aCBhcmdzOiBgICtcbiAgICAgICAgXy50cnVuY2F0ZShKU09OLnN0cmluZ2lmeShhcmdzKSwge2xlbmd0aDogTUFYX0xPR19CT0RZX0xFTkdUSH0pKTtcblxuICAgICAgaWYgKGRpZFBsdWdpbk92ZXJyaWRlUHJveHkpIHtcbiAgICAgICAgLy8gVE9ETyBmb3Igbm93IHdlIGFkZCB0aGlzIGluZm9ybWF0aW9uIG9uIHRoZSBhcmdzIGxpc3QsIGJ1dCB0aGF0J3MgbWl4aW5nIHB1cnBvc2VzIGhlcmUuXG4gICAgICAgIC8vIFdlIHJlYWxseSBzaG91bGQgYWRkIGFub3RoZXIgJ29wdGlvbnMnIHBhcmFtZXRlciB0byAnZXhlY3V0ZUNvbW1hbmQnLCBidXQgdGhpcyB3b3VsZCBiZVxuICAgICAgICAvLyBhIGJyZWFraW5nIGNoYW5nZSBmb3IgYWxsIGRyaXZlcnMgc28gd291bGQgbmVlZCB0byBiZSBoYW5kbGVkIGNhcmVmdWxseS5cbiAgICAgICAgYXJncy5wdXNoKHtyZXFGb3JQcm94eTogcmVxfSk7XG4gICAgICB9XG5cbiAgICAgIGRyaXZlclJlcyA9IGF3YWl0IGRyaXZlci5leGVjdXRlQ29tbWFuZChzcGVjLmNvbW1hbmQsIC4uLmFyZ3MpO1xuXG4gICAgICAvLyBHZXQgdGhlIHByb3RvY29sIGFmdGVyIGV4ZWN1dGVDb21tYW5kXG4gICAgICBjdXJyZW50UHJvdG9jb2wgPSBleHRyYWN0UHJvdG9jb2woZHJpdmVyLCByZXEucGFyYW1zLnNlc3Npb25JZCkgfHwgY3VycmVudFByb3RvY29sO1xuXG4gICAgICAvLyBJZiBgZXhlY3V0ZUNvbW1hbmRgIHdhcyBvdmVycmlkZGVuIGFuZCB0aGUgbWV0aG9kIHJldHVybnMgYW4gb2JqZWN0XG4gICAgICAvLyB3aXRoIGEgcHJvdG9jb2wgYW5kIHZhbHVlL2Vycm9yIHByb3BlcnR5LCByZS1hc3NpZ24gdGhlIHByb3RvY29sXG4gICAgICBpZiAoXy5pc1BsYWluT2JqZWN0KGRyaXZlclJlcykgJiYgXy5oYXMoZHJpdmVyUmVzLCAncHJvdG9jb2wnKSkge1xuICAgICAgICBjdXJyZW50UHJvdG9jb2wgPSBkcml2ZXJSZXMucHJvdG9jb2wgfHwgY3VycmVudFByb3RvY29sO1xuICAgICAgICBpZiAoZHJpdmVyUmVzLmVycm9yKSB7XG4gICAgICAgICAgdGhyb3cgZHJpdmVyUmVzLmVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGRyaXZlclJlcyA9IGRyaXZlclJlcy52YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gdW5wYWNrIGNyZWF0ZVNlc3Npb24gcmVzcG9uc2VcbiAgICAgIGlmIChzcGVjLmNvbW1hbmQgPT09IENSRUFURV9TRVNTSU9OX0NPTU1BTkQpIHtcbiAgICAgICAgbmV3U2Vzc2lvbklkID0gZHJpdmVyUmVzWzBdO1xuICAgICAgICBnZXRMb2dnZXIoZHJpdmVyLCBuZXdTZXNzaW9uSWQpXG4gICAgICAgICAgLmRlYnVnKGBDYWNoZWQgdGhlIHByb3RvY29sIHZhbHVlICcke2N1cnJlbnRQcm90b2NvbH0nIGZvciB0aGUgbmV3IHNlc3Npb24gJHtuZXdTZXNzaW9uSWR9YCk7XG4gICAgICAgIGlmIChjdXJyZW50UHJvdG9jb2wgPT09IFBST1RPQ09MUy5NSlNPTldQKSB7XG4gICAgICAgICAgZHJpdmVyUmVzID0gZHJpdmVyUmVzWzFdO1xuICAgICAgICB9IGVsc2UgaWYgKGN1cnJlbnRQcm90b2NvbCA9PT0gUFJPVE9DT0xTLlczQykge1xuICAgICAgICAgIGRyaXZlclJlcyA9IHtcbiAgICAgICAgICAgIGNhcGFiaWxpdGllczogZHJpdmVyUmVzWzFdLFxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZHJpdmVyUmVzID0gZm9ybWF0UmVzcG9uc2VWYWx1ZShkcml2ZXJSZXMpO1xuXG4gICAgICAvLyBkZWxldGUgc2hvdWxkIG5vdCByZXR1cm4gYW55dGhpbmcgZXZlbiBpZiBzdWNjZXNzZnVsXG4gICAgICBpZiAoc3BlYy5jb21tYW5kID09PSBERUxFVEVfU0VTU0lPTl9DT01NQU5EKSB7XG4gICAgICAgIGdldExvZ2dlcihkcml2ZXIsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKVxuICAgICAgICAgIC5kZWJ1ZyhgUmVjZWl2ZWQgcmVzcG9uc2U6ICR7Xy50cnVuY2F0ZShKU09OLnN0cmluZ2lmeShkcml2ZXJSZXMpLCB7bGVuZ3RoOiBNQVhfTE9HX0JPRFlfTEVOR1RIfSl9YCk7XG4gICAgICAgIGdldExvZ2dlcihkcml2ZXIsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKS5kZWJ1ZygnQnV0IGRlbGV0aW5nIHNlc3Npb24sIHNvIG5vdCByZXR1cm5pbmcnKTtcbiAgICAgICAgZHJpdmVyUmVzID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgLy8gaWYgdGhlIHN0YXR1cyBpcyBub3QgMCwgIHRocm93IHRoZSBhcHByb3ByaWF0ZSBlcnJvciBmb3Igc3RhdHVzIGNvZGUuXG4gICAgICBpZiAodXRpbC5oYXNWYWx1ZShkcml2ZXJSZXMpKSB7XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGRyaXZlclJlcy5zdGF0dXMpICYmICFpc05hTihkcml2ZXJSZXMuc3RhdHVzKSAmJiBwYXJzZUludChkcml2ZXJSZXMuc3RhdHVzLCAxMCkgIT09IDApIHtcbiAgICAgICAgICB0aHJvdyBlcnJvckZyb21NSlNPTldQU3RhdHVzQ29kZShkcml2ZXJSZXMuc3RhdHVzLCBkcml2ZXJSZXMudmFsdWUpO1xuICAgICAgICB9IGVsc2UgaWYgKF8uaXNQbGFpbk9iamVjdChkcml2ZXJSZXMudmFsdWUpICYmIGRyaXZlclJlcy52YWx1ZS5lcnJvcikge1xuICAgICAgICAgIHRocm93IGVycm9yRnJvbVczQ0pzb25Db2RlKGRyaXZlclJlcy52YWx1ZS5lcnJvciwgZHJpdmVyUmVzLnZhbHVlLm1lc3NhZ2UsIGRyaXZlclJlcy52YWx1ZS5zdGFja3RyYWNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBodHRwUmVzQm9keS52YWx1ZSA9IGRyaXZlclJlcztcbiAgICAgIGdldExvZ2dlcihkcml2ZXIsIHJlcS5wYXJhbXMuc2Vzc2lvbklkIHx8IG5ld1Nlc3Npb25JZCkuZGVidWcoYFJlc3BvbmRpbmcgYCArXG4gICAgICAgIGB0byBjbGllbnQgd2l0aCBkcml2ZXIuJHtzcGVjLmNvbW1hbmR9KCkgcmVzdWx0OiAke18udHJ1bmNhdGUoSlNPTi5zdHJpbmdpZnkoZHJpdmVyUmVzKSwge2xlbmd0aDogTUFYX0xPR19CT0RZX0xFTkdUSH0pfWApO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgLy8gaWYgYW55dGhpbmcgZ29lcyB3cm9uZywgZmlndXJlIG91dCB3aGF0IG91ciByZXNwb25zZSBzaG91bGQgYmVcbiAgICAgIC8vIGJhc2VkIG9uIHRoZSB0eXBlIG9mIGVycm9yIHRoYXQgd2UgZW5jb3VudGVyZWRcbiAgICAgIGxldCBhY3R1YWxFcnIgPSBlcnI7XG5cbiAgICAgIGN1cnJlbnRQcm90b2NvbCA9IGN1cnJlbnRQcm90b2NvbCB8fCBleHRyYWN0UHJvdG9jb2woZHJpdmVyLCByZXEucGFyYW1zLnNlc3Npb25JZCB8fCBuZXdTZXNzaW9uSWQpO1xuXG4gICAgICBsZXQgZXJyTXNnID0gZXJyLnN0YWNrdHJhY2UgfHwgZXJyLnN0YWNrO1xuICAgICAgaWYgKCFfLmluY2x1ZGVzKGVyck1zZywgZXJyLm1lc3NhZ2UpKSB7XG4gICAgICAgIC8vIGlmIHRoZSBtZXNzYWdlIGhhcyBtb3JlIGluZm9ybWF0aW9uLCBhZGQgaXQuIGJ1dCBvZnRlbiB0aGUgbWVzc2FnZVxuICAgICAgICAvLyBpcyB0aGUgZmlyc3QgcGFydCBvZiB0aGUgc3RhY2sgdHJhY2VcbiAgICAgICAgZXJyTXNnID0gYCR7ZXJyLm1lc3NhZ2V9JHtlcnJNc2cgPyAoJ1xcbicgKyBlcnJNc2cpIDogJyd9YDtcbiAgICAgIH1cbiAgICAgIGlmIChpc0Vycm9yVHlwZShlcnIsIGVycm9ycy5Qcm94eVJlcXVlc3RFcnJvcikpIHtcbiAgICAgICAgYWN0dWFsRXJyID0gZXJyLmdldEFjdHVhbEVycm9yKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBnZXRMb2dnZXIoZHJpdmVyLCByZXEucGFyYW1zLnNlc3Npb25JZCB8fCBuZXdTZXNzaW9uSWQpXG4gICAgICAgICAgLmRlYnVnKGBFbmNvdW50ZXJlZCBpbnRlcm5hbCBlcnJvciBydW5uaW5nIGNvbW1hbmQ6ICR7ZXJyTXNnfWApO1xuICAgICAgfVxuXG4gICAgICBbaHR0cFN0YXR1cywgaHR0cFJlc0JvZHldID0gZ2V0UmVzcG9uc2VGb3JXM0NFcnJvcihhY3R1YWxFcnIpO1xuICAgIH1cblxuICAgIC8vIGRlY29kZSB0aGUgcmVzcG9uc2UsIHdoaWNoIGlzIGVpdGhlciBhIHN0cmluZyBvciBqc29uXG4gICAgaWYgKF8uaXNTdHJpbmcoaHR0cFJlc0JvZHkpKSB7XG4gICAgICByZXMuc3RhdHVzKGh0dHBTdGF0dXMpLnNlbmQoaHR0cFJlc0JvZHkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobmV3U2Vzc2lvbklkKSB7XG4gICAgICAgIGlmIChjdXJyZW50UHJvdG9jb2wgPT09IFBST1RPQ09MUy5XM0MpIHtcbiAgICAgICAgICBodHRwUmVzQm9keS52YWx1ZS5zZXNzaW9uSWQgPSBuZXdTZXNzaW9uSWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaHR0cFJlc0JvZHkuc2Vzc2lvbklkID0gbmV3U2Vzc2lvbklkO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBodHRwUmVzQm9keS5zZXNzaW9uSWQgPSByZXEucGFyYW1zLnNlc3Npb25JZCB8fCBudWxsO1xuICAgICAgfVxuICAgICAgLy8gRG9uJ3QgaW5jbHVkZSBzZXNzaW9uSWQgaW4gVzNDIHJlc3BvbnNlc1xuICAgICAgaWYgKGN1cnJlbnRQcm90b2NvbCA9PT0gUFJPVE9DT0xTLlczQykge1xuICAgICAgICBkZWxldGUgaHR0cFJlc0JvZHkuc2Vzc2lvbklkO1xuICAgICAgfVxuXG4gICAgICBodHRwUmVzQm9keSA9IGZvcm1hdFN0YXR1cyhodHRwUmVzQm9keSk7XG4gICAgICByZXMuc3RhdHVzKGh0dHBTdGF0dXMpLmpzb24oaHR0cFJlc0JvZHkpO1xuICAgIH1cbiAgfTtcbiAgLy8gYWRkIHRoZSBtZXRob2QgdG8gdGhlIGFwcFxuICBhcHBbbWV0aG9kLnRvTG93ZXJDYXNlKCldKHBhdGgsIChyZXEsIHJlcykgPT4ge1xuICAgIEIucmVzb2x2ZShhc3luY0hhbmRsZXIocmVxLCByZXMpKS5kb25lKCk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkcml2ZXJTaG91bGREb0p3cFByb3h5IChkcml2ZXIsIHJlcSwgY29tbWFuZCkge1xuICAvLyBkcml2ZXJzIG5lZWQgdG8gZXhwbGljaXRseSBzYXkgd2hlbiB0aGUgcHJveHkgaXMgYWN0aXZlXG4gIGlmICghZHJpdmVyLnByb3h5QWN0aXZlKHJlcS5wYXJhbXMuc2Vzc2lvbklkKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIHdlIHNob3VsZCBuZXZlciBwcm94eSBkZWxldGVTZXNzaW9uIGJlY2F1c2Ugd2UgbmVlZCB0byBnaXZlIHRoZSBjb250YWluaW5nXG4gIC8vIGRyaXZlciBhbiBvcHBvcnR1bml0eSB0byBjbGVhbiBpdHNlbGYgdXBcbiAgaWYgKGNvbW1hbmQgPT09IERFTEVURV9TRVNTSU9OX0NPTU1BTkQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyB2YWxpZGF0ZSBhdm9pZGFuY2Ugc2NoZW1hLCBhbmQgc2F5IHdlIHNob3VsZG4ndCBwcm94eSBpZiBhbnl0aGluZyBpbiB0aGVcbiAgLy8gYXZvaWQgbGlzdCBtYXRjaGVzIG91ciByZXFcbiAgaWYgKGRyaXZlci5wcm94eVJvdXRlSXNBdm9pZGVkKHJlcS5wYXJhbXMuc2Vzc2lvbklkLCByZXEubWV0aG9kLCByZXEub3JpZ2luYWxVcmwsIHJlcS5ib2R5KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5hc3luYyBmdW5jdGlvbiBkb0p3cFByb3h5IChkcml2ZXIsIHJlcSwgcmVzKSB7XG4gIGdldExvZ2dlcihkcml2ZXIsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKVxuICAgIC5pbmZvKCdEcml2ZXIgcHJveHkgYWN0aXZlLCBwYXNzaW5nIHJlcXVlc3Qgb24gdmlhIEhUVFAgcHJveHknKTtcblxuICAvLyBjaGVjayB0aGF0IHRoZSBpbm5lciBkcml2ZXIgaGFzIGEgcHJveHkgZnVuY3Rpb25cbiAgaWYgKCFkcml2ZXIuY2FuUHJveHkocmVxLnBhcmFtcy5zZXNzaW9uSWQpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdUcnlpbmcgdG8gcHJveHkgdG8gYSBzZXJ2ZXIgYnV0IHRoZSBkcml2ZXIgaXMgdW5hYmxlIHRvIHByb3h5Jyk7XG4gIH1cbiAgdHJ5IHtcbiAgICBhd2FpdCBkcml2ZXIuZXhlY3V0ZUNvbW1hbmQoJ3Byb3h5UmVxUmVzJywgcmVxLCByZXMsIHJlcS5wYXJhbXMuc2Vzc2lvbklkKTtcbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgaWYgKGlzRXJyb3JUeXBlKGVyciwgZXJyb3JzLlByb3h5UmVxdWVzdEVycm9yKSkge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBwcm94eS4gUHJveHkgZXJyb3I6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgfVxuICB9XG59XG5cblxuZXhwb3J0IHtcbiAgUHJvdG9jb2wsIHJvdXRlQ29uZmlndXJpbmdGdW5jdGlvbiwgaXNTZXNzaW9uQ29tbWFuZCxcbiAgZHJpdmVyU2hvdWxkRG9Kd3BQcm94eSwgZGV0ZXJtaW5lUHJvdG9jb2wsIENSRUFURV9TRVNTSU9OX0NPTU1BTkQsXG4gIERFTEVURV9TRVNTSU9OX0NPTU1BTkQsIEdFVF9TVEFUVVNfQ09NTUFORCxcbn07XG4iXX0=
|
|
@@ -1327,7 +1327,5 @@ function routeToCommandName(endpoint, method, basePath = _constants.DEFAULT_BASE
|
|
|
1327
1327
|
}
|
|
1328
1328
|
|
|
1329
1329
|
const NO_SESSION_ID_COMMANDS = ['createSession', 'getStatus', 'getSessions'];
|
|
1330
|
-
exports.NO_SESSION_ID_COMMANDS = NO_SESSION_ID_COMMANDS;
|
|
1331
|
-
|
|
1332
|
-
|
|
1333
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9wcm90b2NvbC9yb3V0ZXMuanMiXSwibmFtZXMiOlsiU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMiLCJ2YWxpZGF0ZSIsImpzb25PYmoiLCJ1dGlsIiwiaGFzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJvcHRpb25hbCIsIm1ha2VBcmdzIiwiTUVUSE9EX01BUCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsImNhcGFiaWxpdGllcyIsImRlc2lyZWRDYXBhYmlsaXRpZXMiLCJERUxFVEUiLCJwcm90b2NvbE5hbWUiLCJQUk9UT0NPTFMiLCJXM0MiLCJzY3JpcHQiLCJwYWdlTG9hZCIsImltcGxpY2l0IiwidHlwZSIsIm1zIiwicmVxdWlyZWQiLCJoYW5kbGUiLCJuYW1lIiwidW53cmFwIiwid3JhcCIsInNpZ25hbFN0cmVuZ3RoIiwic2lnbmFsU3RyZW5naCIsIkFMTF9DT01NQU5EUyIsInYiLCJfIiwidmFsdWVzIiwibSIsInB1c2giLCJSRV9FU0NBUEUiLCJSRV9QQVJBTSIsIlJvdXRlIiwiY29uc3RydWN0b3IiLCJyb3V0ZSIsInBhcmFtTmFtZXMiLCJyZVN0ciIsInJlcGxhY2UiLCJtb2RlIiwicm91dGVSZWdleHAiLCJSZWdFeHAiLCJwYXJzZSIsInVybCIsIm1hdGNoZXMiLCJtYXRjaCIsImkiLCJwYXJhbXMiLCJsZW5ndGgiLCJwYXJhbU5hbWUiLCJyb3V0ZVRvQ29tbWFuZE5hbWUiLCJlbmRwb2ludCIsIm1ldGhvZCIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJkc3RSb3V0ZSIsImluY2x1ZGVzIiwic2xpY2UiLCJpbmRleE9mIiwiYWN0dWFsRW5kcG9pbnQiLCJzdGFydHNXaXRoIiwiY3VycmVudFJvdXRlIiwia2V5cyIsIm1ldGhvZHMiLCJnZXQiLCJ0b1VwcGVyIiwiaGFzIiwiZHN0TWV0aG9kIiwiTk9fU0VTU0lPTl9JRF9DT01NQU5EUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FB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QWEsR0FBRVcsUUFBUyxHQUFFTSxjQUFlLEVBQXpDLENBREEsSUFDK0N4QixLQUFLLENBQUNPLEtBQU4sQ0FBWWlCLGNBQVosQ0FEbkQsRUFDZ0Y7QUFDOUVKLE1BQUFBLFFBQVEsR0FBR00sWUFBWDtBQUNBO0FBQ0Q7QUFDRjs7QUFDRCxNQUFJLENBQUNOLFFBQUwsRUFBZTs7QUFFZixRQUFNUSxPQUFPLEdBQUdwQyxnQkFBRXFDLEdBQUYsQ0FBTTlELFVBQU4sRUFBa0JxRCxRQUFsQixDQUFoQjs7QUFDQUgsRUFBQUEsTUFBTSxHQUFHekIsZ0JBQUVzQyxPQUFGLENBQVViLE1BQVYsQ0FBVDs7QUFDQSxNQUFJekIsZ0JBQUV1QyxHQUFGLENBQU1ILE9BQU4sRUFBZVgsTUFBZixDQUFKLEVBQTRCO0FBQzFCLFVBQU1lLFNBQVMsR0FBR3hDLGdCQUFFcUMsR0FBRixDQUFNRCxPQUFOLEVBQWVYLE1BQWYsQ0FBbEI7O0FBQ0EsUUFBSWUsU0FBUyxDQUFDL0QsT0FBZCxFQUF1QjtBQUNyQixhQUFPK0QsU0FBUyxDQUFDL0QsT0FBakI7QUFDRDtBQUNGO0FBQ0Y7O0FBR0QsTUFBTWdFLHNCQUFzQixHQUFHLENBQUMsZUFBRCxFQUFrQixXQUFsQixFQUErQixhQUEvQixDQUEvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB1dGlsIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IFBST1RPQ09MUywgREVGQVVMVF9CQVNFX1BBVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5cbmNvbnN0IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TID0ge1xuICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgJ2VpdGhlciBcInRleHRcIiBvciBcInZhbHVlXCIgbXVzdCBiZSBzZXQnLFxuICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlIHx8IGpzb25PYmoudGV4dF0sXG59O1xuXG4vLyBkZWZpbmUgdGhlIHJvdXRlcywgbWFwcGluZyBvZiBIVFRQIG1ldGhvZHMgdG8gcGFydGljdWxhciBkcml2ZXIgY29tbWFuZHMsXG4vLyBhbmQgYW55IHBhcmFtZXRlcnMgdGhhdCBhcmUgZXhwZWN0ZWQgaW4gYSByZXF1ZXN0XG4vLyBwYXJhbWV0ZXJzIGNhbiBiZSBgcmVxdWlyZWRgIG9yIGBvcHRpb25hbGBcbmNvbnN0IE1FVEhPRF9NQVAgPSB7XG4gICcvc3RhdHVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTdGF0dXMnfVxuICB9LFxuICAnL3Nlc3Npb24nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjcmVhdGVTZXNzaW9uJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIWpzb25PYmouY2FwYWJpbGl0aWVzICYmICFqc29uT2JqLmRlc2lyZWRDYXBhYmlsaXRpZXMpICYmICd3ZSByZXF1aXJlIG9uZSBvZiBcImRlc2lyZWRDYXBhYmlsaXRpZXNcIiBvciBcImNhcGFiaWxpdGllc1wiIG9iamVjdCcsXG4gICAgICBvcHRpb25hbDogWydkZXNpcmVkQ2FwYWJpbGl0aWVzJywgJ3JlcXVpcmVkQ2FwYWJpbGl0aWVzJywgJ2NhcGFiaWxpdGllcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9ucyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbid9LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdkZWxldGVTZXNzaW9uJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGltZW91dHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFRpbWVvdXRzJ30sIC8vIFczQyByb3V0ZVxuICAgIFBPU1Q6IHtjb21tYW5kOiAndGltZW91dHMnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmosIHByb3RvY29sTmFtZSkgPT4ge1xuICAgICAgICBpZiAocHJvdG9jb2xOYW1lID09PSBQUk9UT0NPTFMuVzNDKSB7XG4gICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2NyaXB0KSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnBhZ2VMb2FkKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLmltcGxpY2l0KSkge1xuICAgICAgICAgICAgcmV0dXJuICdXM0MgcHJvdG9jb2wgZXhwZWN0cyBhbnkgb2Ygc2NyaXB0LCBwYWdlTG9hZCBvciBpbXBsaWNpdCB0byBiZSBzZXQnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBNSlNPTldQXG4gICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudHlwZSkgfHwgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5tcykpIHtcbiAgICAgICAgICAgIHJldHVybiAnTUpTT05XUCBwcm90b2NvbCByZXF1aXJlcyB0eXBlIGFuZCBtcyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb3B0aW9uYWw6IFsndHlwZScsICdtcycsICdzY3JpcHQnLCAncGFnZUxvYWQnLCAnaW1wbGljaXQnXSxcbiAgICB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cy9hc3luY19zY3JpcHQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdhc3luY1NjcmlwdFRpbWVvdXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpbWVvdXRzL2ltcGxpY2l0X3dhaXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdpbXBsaWNpdFdhaXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19XG4gIH0sXG4gIC8vIEpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3dfaGFuZGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfVxuICB9LFxuICAvLyBXM0NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L2hhbmRsZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ31cbiAgfSxcbiAgLy8gSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvd19oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ31cbiAgfSxcbiAgLy8gVzNDXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdXJsJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRVcmwnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFVybCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1cmwnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ZvcndhcmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmb3J3YXJkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYmFjayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2JhY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yZWZyZXNoJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVmcmVzaCd9XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZV9hc3luYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVBc3luYycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2NyZWVuc2hvdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hdmFpbGFibGVfZW5naW5lcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnYXZhaWxhYmxlSU1FRW5naW5lcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmVfZW5naW5lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBY3RpdmVJTUVFbmdpbmUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9pbWUvYWN0aXZhdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdpc0lNRUFjdGl2YXRlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9kZWFjdGl2YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZGVhY3RpdmF0ZUlNRUVuZ2luZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmF0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2FjdGl2YXRlSU1FRW5naW5lJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VuZ2luZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRGcmFtZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydpZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUvcGFyZW50Jzoge1xuICAgIFBPU1Q6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRXaW5kb3cnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICBvcHRpb25hbDogWyduYW1lJywgJ2hhbmRsZSddLFxuICAgICAgLy8gUmV0dXJuIGJvdGggdmFsdWVzIHRvIG1hdGNoIFczQyBhbmQgSlNPTldQIHByb3RvY29sc1xuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiB7XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIFtqc29uT2JqLmhhbmRsZSwganNvbk9iai5oYW5kbGVdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpKSB7XG4gICAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmoubmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmouaGFuZGxlXTtcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSlcbiAgICAgICAgJiYgJ3dlIHJlcXVpcmUgb25lIG9mIFwibmFtZVwiIG9yIFwiaGFuZGxlXCIgdG8gYmUgc2V0JyxcbiAgICB9fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnY2xvc2VXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9zaXplJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dTaXplJ30sXG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Lzp3aW5kb3doYW5kbGUvcG9zaXRpb24nOiB7XG4gICAgUE9TVDoge30sXG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9tYXhpbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21heGltaXplV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29va2llJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb29raWVzJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRDb29raWUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnY29va2llJ119fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlQ29va2llcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2Nvb2tpZS86bmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q29va2llJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ2RlbGV0ZUNvb2tpZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NvdXJjZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0UGFnZVNvdXJjZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpdGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICd0aXRsZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudHMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvYWN0aXZlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdhY3RpdmUnfSwgLy8gVzNDOiBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZGZuLWdldC1hY3RpdmUtZWxlbWVudFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudEZyb21FbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudHNGcm9tRWxlbWVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc3VibWl0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3VibWl0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFRleHQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdmFsdWUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldFZhbHVlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgICAvLyBvdmVycmlkZSB0aGUgZGVmYXVsdCBhcmd1bWVudCBjb25zdHJ1Y3RvciBiZWNhdXNlIG9mIHRoZSBzcGVjaWFsXG4gICAgICAgIC8vIGxvZ2ljIGhlcmUuIEJhc2ljYWxseSB3ZSB3YW50IHRvIGFjY2VwdCBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUClcbiAgICAgICAgLy8gb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgKG5vdCBib3RoKS4gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlXG4gICAgICAgIC8vIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2tleXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdrZXlzJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TmFtZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9jbGVhcic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsZWFyJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3NlbGVjdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50U2VsZWN0ZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZW5hYmxlZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudEVuYWJsZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvYXR0cmlidXRlLzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBdHRyaWJ1dGUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZXF1YWxzLzpvdGhlcklkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlcXVhbHNFbGVtZW50J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2Rpc3BsYXllZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudERpc3BsYXllZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9sb2NhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9jYXRpb24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbG9jYXRpb25faW5fdmlldyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9jYXRpb25JblZpZXcnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2l6ZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2l6ZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zaGFkb3cnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VsZW1lbnRTaGFkb3dSb290J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2Nzcy86cHJvcGVydHlOYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDc3NQcm9wZXJ0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL29yaWVudGF0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRPcmllbnRhdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0T3JpZW50YXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnb3JpZW50YXRpb24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3JvdGF0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRSb3RhdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0Um90YXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5JywgJ3onXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL21vdmV0byc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vdmVUbycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydlbGVtZW50JywgJ3hvZmZzZXQnLCAneW9mZnNldCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGlja0N1cnJlbnQnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnYnV0dG9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9idXR0b25kb3duJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYnV0dG9uRG93bicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2J1dHRvbnVwJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYnV0dG9uVXAnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnYnV0dG9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9kb3VibGVjbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2RvdWJsZUNsaWNrJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGljaycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydlbGVtZW50J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9kb3duJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hEb3duJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvdXAnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaFVwJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbW92ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoTW92ZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL3Njcm9sbCc6IHtcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9kb3VibGVjbGljayc6IHtcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hY3Rpb25zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybUFjdGlvbnMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnYWN0aW9ucyddfX0sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbGVhc2VBY3Rpb25zJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbG9uZ2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hMb25nQ2xpY2snLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZWxlbWVudHMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2ZsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmxpY2snLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZWxlbWVudCcsICd4c3BlZWQnLCAneXNwZWVkJywgJ3hvZmZzZXQnLCAneW9mZnNldCcsICdzcGVlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEdlb0xvY2F0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRHZW9Mb2NhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydsb2NhdGlvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIFBPU1Q6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZS9rZXkvOmtleSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZS9zaXplJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlJzoge1xuICAgIEdFVDoge30sXG4gICAgUE9TVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZXNzaW9uX3N0b3JhZ2Uva2V5LzprZXknOiB7XG4gICAgR0VUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZS9zaXplJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgLy8gU2VsZW5pdW0gNCBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NlL2xvZyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldExvZycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd0eXBlJ119fVxuICB9LFxuICAvLyBTZWxlbml1bSA0IGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2UvbG9nL3R5cGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2dUeXBlcyd9XG4gIH0sXG4gIC8vIG1qc29ud2lyZSwgYXBwaXVtIGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9nJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0TG9nJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3R5cGUnXX19XG4gIH0sXG4gIC8vIG1qc29ud2lyZSwgYXBwaXVtIGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9nL3R5cGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2dUeXBlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGxpY2F0aW9uX2NhY2hlL3N0YXR1cyc6IHtcbiAgICBHRVQ6IHt9XG4gIH0sXG5cbiAgLy9cbiAgLy8gbWpzb253aXJlXG4gIC8vXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NvbnRleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEN1cnJlbnRDb250ZXh0J30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRDb250ZXh0JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ25hbWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NvbnRleHRzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb250ZXh0cyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9wYWdlSW5kZXgnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFBhZ2VJbmRleCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL25ldHdvcmtfY29ubmVjdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TmV0d29ya0Nvbm5lY3Rpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldE5ldHdvcmtDb25uZWN0aW9uJywgcGF5bG9hZFBhcmFtczoge3Vud3JhcDogJ3BhcmFtZXRlcnMnLCByZXF1aXJlZDogWyd0eXBlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9wZXJmb3JtJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybVRvdWNoJywgcGF5bG9hZFBhcmFtczoge3dyYXA6ICdhY3Rpb25zJywgcmVxdWlyZWQ6IFsnYWN0aW9ucyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbXVsdGkvcGVyZm9ybSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3BlcmZvcm1NdWx0aUFjdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydhY3Rpb25zJ10sIG9wdGlvbmFsOiBbJ2VsZW1lbnRJZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjZWl2ZV9hc3luY19yZXNwb25zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlY2VpdmVBc3luY1Jlc3BvbnNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXR1cycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zaGFrZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vYmlsZVNoYWtlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zeXN0ZW1fdGltZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RGV2aWNlVGltZScsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydmb3JtYXQnXX19LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0RGV2aWNlVGltZScsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydmb3JtYXQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbG9jayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvY2snLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnc2Vjb25kcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS91bmxvY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd1bmxvY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2lzX2xvY2tlZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2lzTG9ja2VkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3N0YXJ0X3JlY29yZGluZ19zY3JlZW4nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzdGFydFJlY29yZGluZ1NjcmVlbicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydvcHRpb25zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc3RvcF9yZWNvcmRpbmdfc2NyZWVuJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3RvcFJlY29yZGluZ1NjcmVlbicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydvcHRpb25zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vcGVyZm9ybWFuY2VEYXRhL3R5cGVzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0UGVyZm9ybWFuY2VEYXRhVHlwZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZ2V0UGVyZm9ybWFuY2VEYXRhJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0UGVyZm9ybWFuY2VEYXRhJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhY2thZ2VOYW1lJywgJ2RhdGFUeXBlJ10sIG9wdGlvbmFsOiBbJ2RhdGFSZWFkVGltZW91dCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wcmVzc19rZXljb2RlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHJlc3NLZXlDb2RlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJywgJ2ZsYWdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2xvbmdfcHJlc3Nfa2V5Y29kZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvbmdQcmVzc0tleUNvZGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsna2V5Y29kZSddLCBvcHRpb25hbDogWydtZXRhc3RhdGUnLCAnZmxhZ3MnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZmluZ2VyX3ByaW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmluZ2VycHJpbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZmluZ2VycHJpbnRJZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zZW5kX3Ntcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NlbmRTTVMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGhvbmVOdW1iZXInLCAnbWVzc2FnZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nc21fY2FsbCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dzbUNhbGwnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGhvbmVOdW1iZXInLCAnYWN0aW9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV9zaWduYWwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2dzbVNpZ25hbCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5ndGgpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5naCkpICYmXG4gICAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJzaWduYWxTdHJlbmd0aFwiIG9yIFwic2lnbmFsU3RyZW5naFwiIHBhcmFtcycsXG4gICAgICAgIG9wdGlvbmFsOiBbJ3NpZ25hbFN0cmVuZ3RoJywgJ3NpZ25hbFN0cmVuZ2gnXSxcbiAgICAgICAgLy8gYmFja3dhcmQtY29tcGF0aWJsZS4gc29uT2JqLnNpZ25hbFN0cmVuZ3RoIGNhbiBiZSAwXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW3V0aWwuaGFzVmFsdWUoanNvbk9iai5zaWduYWxTdHJlbmd0aCkgPyBqc29uT2JqLnNpZ25hbFN0cmVuZ3RoIDoganNvbk9iai5zaWduYWxTdHJlbmdoXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nc21fdm9pY2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnc21Wb2ljZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzdGF0ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wb3dlcl9jYXBhY2l0eSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvd2VyQ2FwYWNpdHknLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGVyY2VudCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wb3dlcl9hYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvd2VyQUMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc3RhdGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbmV0d29ya19zcGVlZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ25ldHdvcmtTcGVlZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyduZXRzcGVlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9rZXlldmVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2tleWV2ZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3JvdGF0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vYmlsZVJvdGF0aW9uJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgcmVxdWlyZWQ6IFsneCcsICd5JywgJ3JhZGl1cycsICdyb3RhdGlvbicsICd0b3VjaENvdW50JywgJ2R1cmF0aW9uJ10sXG4gICAgICBvcHRpb25hbDogWydlbGVtZW50J10gfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9jdXJyZW50X2FjdGl2aXR5Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDdXJyZW50QWN0aXZpdHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2N1cnJlbnRfcGFja2FnZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudFBhY2thZ2UnfVxuICB9LFxuICAvL3JlZ2lvbiBBcHBsaWNhdGlvbnMgTWFuYWdlbWVudFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2luc3RhbGxfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdpbnN0YWxsQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnYXBwUGF0aCddLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYWN0aXZhdGVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdhY3RpdmF0ZUFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcmVtb3ZlX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncmVtb3ZlQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90ZXJtaW5hdGVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICd0ZXJtaW5hdGVBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2FwcF9pbnN0YWxsZWQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2lzQXBwSW5zdGFsbGVkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYXBwX3N0YXRlJzoge1xuICAgIEdFVDoge1xuICAgICAgY29tbWFuZDogJ3F1ZXJ5QXBwU3RhdGUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXVxuICAgICAgfVxuICAgIH0sXG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3F1ZXJ5QXBwU3RhdGUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgLy9lbmRyZWdpb25cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9oaWRlX2tleWJvYXJkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnaGlkZUtleWJvYXJkJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ3N0cmF0ZWd5JywgJ2tleScsICdrZXlDb2RlJywgJ2tleU5hbWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaXNfa2V5Ym9hcmRfc2hvd24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2lzS2V5Ym9hcmRTaG93bid9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHVzaF9maWxlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHVzaEZpbGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGF0aCcsICdkYXRhJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1bGxfZmlsZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3B1bGxGaWxlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHVsbF9mb2xkZXInOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwdWxsRm9sZGVyJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX2FpcnBsYW5lX21vZGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVGbGlnaHRNb2RlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfZGF0YSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZURhdGEnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV93aWZpJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlV2lGaSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX2xvY2F0aW9uX3NlcnZpY2VzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlTG9jYXRpb25TZXJ2aWNlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvb3Blbl9ub3RpZmljYXRpb25zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnb3Blbk5vdGlmaWNhdGlvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N0YXJ0X2FjdGl2aXR5Jzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzdGFydEFjdGl2aXR5JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnYXBwUGFja2FnZScsICdhcHBBY3Rpdml0eSddLFxuICAgICAgICBvcHRpb25hbDogWydhcHBXYWl0UGFja2FnZScsICdhcHBXYWl0QWN0aXZpdHknLCAnaW50ZW50QWN0aW9uJyxcbiAgICAgICAgICAnaW50ZW50Q2F0ZWdvcnknLCAnaW50ZW50RmxhZ3MnLCAnb3B0aW9uYWxJbnRlbnRBcmd1bWVudHMnLCAnZG9udFN0b3BBcHBPblJlc2V0J11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc3lzdGVtX2JhcnMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFN5c3RlbUJhcnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2Rpc3BsYXlfZGVuc2l0eSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RGlzcGxheURlbnNpdHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc2ltdWxhdG9yL3RvdWNoX2lkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hJZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtYXRjaCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3NpbXVsYXRvci90b2dnbGVfdG91Y2hfaWRfZW5yb2xsbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZUVucm9sbFRvdWNoSWQnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZW5hYmxlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9sYXVuY2gnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsYXVuY2hBcHAnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2Nsb3NlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xvc2VBcHAnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL3Jlc2V0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVzZXQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2JhY2tncm91bmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdiYWNrZ3JvdW5kJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NlY29uZHMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvZW5kX3Rlc3RfY292ZXJhZ2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdlbmRDb3ZlcmFnZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydpbnRlbnQnLCAncGF0aCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9zdHJpbmdzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0U3RyaW5ncycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydsYW5ndWFnZScsICdzdHJpbmdGaWxlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZWxlbWVudC86ZWxlbWVudElkL3ZhbHVlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0VmFsdWVJbW1lZGlhdGUnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgIG9wdGlvbmFsOiBbJ3ZhbHVlJywgJ3RleHQnXSxcbiAgICAgIC8vIFdlIHdhbnQgdG8gZWl0aGVyIGEgdmFsdWUgKG9sZCBKU09OV1ApIG9yIGEgdGV4dCAobmV3IFczQykgcGFyYW1ldGVyLFxuICAgICAgLy8gYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGUgY29tbWFuZCAobm90IGJvdGgpLlxuICAgICAgLy8gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlIHx8IGpzb25PYmoudGV4dF0sXG4gICAgfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2VsZW1lbnQvOmVsZW1lbnRJZC9yZXBsYWNlX3ZhbHVlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVwbGFjZVZhbHVlJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJ0ZXh0XCIgb3IgXCJ2YWx1ZVwiIHBhcmFtcycsXG4gICAgICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gICAgICAvLyBXZSB3YW50IHRvIGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKSBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlcixcbiAgICAgIC8vIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlIGNvbW1hbmQgKG5vdCBib3RoKS5cbiAgICAgIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSA/PyBqc29uT2JqLnRleHQgPz8gJyddLFxuICAgIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zZXR0aW5ncyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3VwZGF0ZVNldHRpbmdzJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NldHRpbmdzJ119fSxcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2V0dGluZ3MnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vcmVjZWl2ZV9hc3luY19yZXNwb25zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlY2VpdmVBc3luY1Jlc3BvbnNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Jlc3BvbnNlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZXZlbnRzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0TG9nRXZlbnRzJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ3R5cGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9sb2dfZXZlbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsb2dDdXN0b21FdmVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd2ZW5kb3InLCAnZXZlbnQnXX19XG4gIH0sXG5cbiAgLypcbiAgICogVGhlIFczQyBzcGVjIGhhcyBzb21lIGNoYW5nZXMgdG8gdGhlIHdpcmUgcHJvdG9jb2wuXG4gICAqIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbFxuICAgKiBCZWdpbiB0byBhZGQgdGhvc2UgY2hhbmdlcyBoZXJlLCBrZWVwaW5nIHRoZSBvbGQgdmVyc2lvblxuICAgKiBzaW5jZSBjbGllbnRzIHN0aWxsIGltcGxlbWVudCB0aGVtLlxuICAgKi9cbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydF90ZXh0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBbGVydFRleHQnfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0QWxlcnRUZXh0JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TLFxuICAgIH1cbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hY2NlcHRfYWxlcnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0QWNjZXB0QWxlcnQnfVxuICB9LFxuICAvLyBNSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2Rpc21pc3NfYWxlcnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0RGlzbWlzc0FsZXJ0J31cbiAgfSxcbiAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sI3VzZXItcHJvbXB0c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydC90ZXh0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBbGVydFRleHQnfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0QWxlcnRUZXh0JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TLFxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvYWNjZXB0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdEFjY2VwdEFsZXJ0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvZGlzbWlzcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3REaXNtaXNzQWxlcnQnfVxuICB9LFxuICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZ2V0LWVsZW1lbnQtcmVjdFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvcmVjdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFJlY3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlL3N5bmMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlL2FzeW5jJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZUFzeW5jJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fVxuICB9LFxuICAvLyBQcmUtVzNDIGVuZHBvaW50IGZvciBlbGVtZW50IHNjcmVlbnNob3RcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2NyZWVuc2hvdC86ZWxlbWVudElkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRFbGVtZW50U2NyZWVuc2hvdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zY3JlZW5zaG90Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRFbGVtZW50U2NyZWVuc2hvdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9yZWN0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dSZWN0J30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRXaW5kb3dSZWN0JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneScsICd3aWR0aCcsICdoZWlnaHQnXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvbWF4aW1pemUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtYXhpbWl6ZVdpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9taW5pbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21pbmltaXplV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L2Z1bGxzY3JlZW4nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmdWxsU2NyZWVuV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3Byb3BlcnR5LzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQcm9wZXJ0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2V0X2NsaXBib2FyZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0Q2xpcGJvYXJkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnY29udGVudCddLFxuICAgICAgICBvcHRpb25hbDogW1xuICAgICAgICAgICdjb250ZW50VHlwZScsXG4gICAgICAgICAgJ2xhYmVsJyxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ2V0X2NsaXBib2FyZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZ2V0Q2xpcGJvYXJkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgb3B0aW9uYWw6IFtcbiAgICAgICAgICAnY29udGVudFR5cGUnLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgIH1cbiAgfSxcblxuICAvLyBjaHJvbWl1bSBkZXZ0b29sc1xuICAvLyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvbWFzdGVyL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9zZXJ2ZXIvaHR0cF9oYW5kbGVyLmNjXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkLzp2ZW5kb3IvY2RwL2V4ZWN1dGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlQ2RwJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2NtZCcsICdwYXJhbXMnXX19XG4gIH0sXG5cbiAgLy9yZWdpb24gV2ViYXV0aG5cbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1dGhuLTIvI3NjdG4tYXV0b21hdGlvbi1hZGQtdmlydHVhbC1hdXRoZW50aWNhdG9yXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvcic6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWRkVmlydHVhbEF1dGhlbnRpY2F0b3InLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydwcm90b2NvbCcsICd0cmFuc3BvcnQnXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnaGFzUmVzaWRlbnRLZXknLCAnaGFzVXNlclZlcmlmaWNhdGlvbicsICdpc1VzZXJDb25zZW50aW5nJywgJ2lzVXNlclZlcmlmaWVkJ10sXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZCc6IHtcbiAgICBERUxFVEU6IHtcbiAgICAgIGNvbW1hbmQ6ICdyZW1vdmVWaXJ0dWFsQXV0aGVudGljYXRvcidcbiAgICB9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL2NyZWRlbnRpYWwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2FkZEF1dGhDcmVkZW50aWFsJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnY3JlZGVudGlhbElkJywgJ2lzUmVzaWRlbnRDcmVkZW50aWFsJywgJ3JwSWQnLCAncHJpdmF0ZUtleSddLFxuICAgICAgICBvcHRpb25hbDogWyd1c2VySGFuZGxlJywgJ3NpZ25Db3VudCddLFxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvY3JlZGVudGlhbHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEF1dGhDcmVkZW50aWFsJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbW92ZUFsbEF1dGhDcmVkZW50aWFscyd9LFxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFscy86Y3JlZGVudGlhbElkJzoge1xuICAgIERFTEVURToge2NvbW1hbmQ6ICdyZW1vdmVBdXRoQ3JlZGVudGlhbCd9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL3V2Jzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRVc2VyQXV0aFZlcmlmaWVkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnaXNVc2VyVmVyaWZpZWQnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAvL2VuZHJlZ2lvblxuXG59O1xuXG4vLyBkcml2ZXIgY29tbWFuZCBuYW1lc1xubGV0IEFMTF9DT01NQU5EUyA9IFtdO1xuZm9yIChsZXQgdiBvZiBfLnZhbHVlcyhNRVRIT0RfTUFQKSkge1xuICBmb3IgKGxldCBtIG9mIF8udmFsdWVzKHYpKSB7XG4gICAgaWYgKG0uY29tbWFuZCkge1xuICAgICAgQUxMX0NPTU1BTkRTLnB1c2gobS5jb21tYW5kKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgUkVfRVNDQVBFID0gL1stW1xcXXt9KCkrPy4sXFxcXF4kfCNcXHNdL2c7XG5jb25zdCBSRV9QQVJBTSA9IC8oWzoqXSkoXFx3KykvZztcblxuY2xhc3MgUm91dGUge1xuICBjb25zdHJ1Y3RvciAocm91dGUpIHtcbiAgICB0aGlzLnBhcmFtTmFtZXMgPSBbXTtcblxuICAgIGxldCByZVN0ciA9IHJvdXRlLnJlcGxhY2UoUkVfRVNDQVBFLCAnXFxcXCQmJyk7XG4gICAgcmVTdHIgPSByZVN0ci5yZXBsYWNlKFJFX1BBUkFNLCAoXywgbW9kZSwgbmFtZSkgPT4ge1xuICAgICAgdGhpcy5wYXJhbU5hbWVzLnB1c2gobmFtZSk7XG4gICAgICByZXR1cm4gbW9kZSA9PT0gJzonID8gJyhbXi9dKiknIDogJyguKiknO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGVSZWdleHAgPSBuZXcgUmVnRXhwKGBeJHtyZVN0cn0kYCk7XG4gIH1cblxuICBwYXJzZSAodXJsKSB7XG4gICAgLy9pZiAodXJsLmluZGV4T2YoJ3RpbWVvdXRzJykgIT09IC0xICYmIHRoaXMucm91dGVSZWdleHAudG9TdHJpbmcoKS5pbmRleE9mKCd0aW1lb3V0cycpICE9PSAtMSkge1xuICAgIC8vZGVidWdnZXI7XG4gICAgLy99XG4gICAgbGV0IG1hdGNoZXMgPSB1cmwubWF0Y2godGhpcy5yb3V0ZVJlZ2V4cCk7XG4gICAgaWYgKCFtYXRjaGVzKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIHdoaWxlIChpIDwgdGhpcy5wYXJhbU5hbWVzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyYW1OYW1lID0gdGhpcy5wYXJhbU5hbWVzW2krK107XG4gICAgICBwYXJhbXNbcGFyYW1OYW1lXSA9IG1hdGNoZXNbaV07XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gcm91dGVUb0NvbW1hbmROYW1lIChlbmRwb2ludCwgbWV0aG9kLCBiYXNlUGF0aCA9IERFRkFVTFRfQkFTRV9QQVRIKSB7XG4gIGxldCBkc3RSb3V0ZSA9IG51bGw7XG5cbiAgLy8gcmVtb3ZlIGFueSBxdWVyeSBzdHJpbmdcbiAgaWYgKGVuZHBvaW50LmluY2x1ZGVzKCc/JykpIHtcbiAgICBlbmRwb2ludCA9IGVuZHBvaW50LnNsaWNlKDAsIGVuZHBvaW50LmluZGV4T2YoJz8nKSk7XG4gIH1cblxuICBjb25zdCBhY3R1YWxFbmRwb2ludCA9IGVuZHBvaW50ID09PSAnLycgPyAnJyA6XG4gICAgKF8uc3RhcnRzV2l0aChlbmRwb2ludCwgJy8nKSA/IGVuZHBvaW50IDogYC8ke2VuZHBvaW50fWApO1xuXG4gIGZvciAobGV0IGN1cnJlbnRSb3V0ZSBvZiBfLmtleXMoTUVUSE9EX01BUCkpIHtcbiAgICBjb25zdCByb3V0ZSA9IG5ldyBSb3V0ZShgJHtiYXNlUGF0aH0ke2N1cnJlbnRSb3V0ZX1gKTtcbiAgICAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBhY3R1YWwgc2Vzc2lvbiBpZCBmb3IgbWF0Y2hpbmdcbiAgICBpZiAocm91dGUucGFyc2UoYCR7YmFzZVBhdGh9L3Nlc3Npb24vaWdub3JlZC1zZXNzaW9uLWlkJHthY3R1YWxFbmRwb2ludH1gKSB8fFxuICAgICAgICByb3V0ZS5wYXJzZShgJHtiYXNlUGF0aH0ke2FjdHVhbEVuZHBvaW50fWApIHx8IHJvdXRlLnBhcnNlKGFjdHVhbEVuZHBvaW50KSkge1xuICAgICAgZHN0Um91dGUgPSBjdXJyZW50Um91dGU7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKCFkc3RSb3V0ZSkgcmV0dXJuOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG5cbiAgY29uc3QgbWV0aG9kcyA9IF8uZ2V0KE1FVEhPRF9NQVAsIGRzdFJvdXRlKTtcbiAgbWV0aG9kID0gXy50b1VwcGVyKG1ldGhvZCk7XG4gIGlmIChfLmhhcyhtZXRob2RzLCBtZXRob2QpKSB7XG4gICAgY29uc3QgZHN0TWV0aG9kID0gXy5nZXQobWV0aG9kcywgbWV0aG9kKTtcbiAgICBpZiAoZHN0TWV0aG9kLmNvbW1hbmQpIHtcbiAgICAgIHJldHVybiBkc3RNZXRob2QuY29tbWFuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZHJpdmVyIGNvbW1hbmRzIHRoYXQgZG8gbm90IHJlcXVpcmUgYSBzZXNzaW9uIHRvIGFscmVhZHkgZXhpc3RcbmNvbnN0IE5PX1NFU1NJT05fSURfQ09NTUFORFMgPSBbJ2NyZWF0ZVNlc3Npb24nLCAnZ2V0U3RhdHVzJywgJ2dldFNlc3Npb25zJ107XG5cbmV4cG9ydCB7IE1FVEhPRF9NQVAsIEFMTF9DT01NQU5EUywgTk9fU0VTU0lPTl9JRF9DT01NQU5EUywgcm91dGVUb0NvbW1hbmROYW1lIH07XG4iXSwiZmlsZSI6ImxpYi9wcm90b2NvbC9yb3V0ZXMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4ifQ==
|
|
1330
|
+
exports.NO_SESSION_ID_COMMANDS = NO_SESSION_ID_COMMANDS;
|
|
1331
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC9yb3V0ZXMuanMiXSwibmFtZXMiOlsiU0VUX0FMRVJUX1RFWFRfUEFZTE9BRF9QQVJBTVMiLCJ2YWxpZGF0ZSIsImpzb25PYmoiLCJ1dGlsIiwiaGFzVmFsdWUiLCJ2YWx1ZSIsInRleHQiLCJvcHRpb25hbCIsIm1ha2VBcmdzIiwiTUVUSE9EX01BUCIsIkdFVCIsImNvbW1hbmQiLCJQT1NUIiwicGF5bG9hZFBhcmFtcyIsImNhcGFiaWxpdGllcyIsImRlc2lyZWRDYXBhYmlsaXRpZXMiLCJERUxFVEUiLCJwcm90b2NvbE5hbWUiLCJQUk9UT0NPTFMiLCJXM0MiLCJzY3JpcHQiLCJwYWdlTG9hZCIsImltcGxpY2l0IiwidHlwZSIsIm1zIiwicmVxdWlyZWQiLCJoYW5kbGUiLCJuYW1lIiwidW53cmFwIiwid3JhcCIsInNpZ25hbFN0cmVuZ3RoIiwic2lnbmFsU3RyZW5naCIsIkFMTF9DT01NQU5EUyIsInYiLCJfIiwidmFsdWVzIiwibSIsInB1c2giLCJSRV9FU0NBUEUiLCJSRV9QQVJBTSIsIlJvdXRlIiwiY29uc3RydWN0b3IiLCJyb3V0ZSIsInBhcmFtTmFtZXMiLCJyZVN0ciIsInJlcGxhY2UiLCJtb2RlIiwicm91dGVSZWdleHAiLCJSZWdFeHAiLCJwYXJzZSIsInVybCIsIm1hdGNoZXMiLCJtYXRjaCIsImkiLCJwYXJhbXMiLCJsZW5ndGgiLCJwYXJhbU5hbWUiLCJyb3V0ZVRvQ29tbWFuZE5hbWUiLCJlbmRwb2ludCIsIm1ldGhvZCIsImJhc2VQYXRoIiwiREVGQVVMVF9CQVNFX1BBVEgiLCJkc3RSb3V0ZSIsImluY2x1ZGVzIiwic2xpY2UiLCJpbmRleE9mIiwiYWN0dWFsRW5kcG9pbnQiLCJzdGFydHNXaXRoIiwiY3VycmVudFJvdXRlIiwia2V5cyIsIm1ldGhvZHMiLCJnZXQiLCJ0b1VwcGVyIiwiaGFzIiwiZHN0TWV0aG9kIiwiTk9fU0VTU0lPTl9JRF9DT01NQU5EUyJdLCJtYXBwaW5ncyI6Ijs7Ozs7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TyxLQUFOLENBQWEsR0FBRVcsUUFBUyxHQUFFTSxjQUFlLEVBQXpDLENBREEsSUFDK0N4QixLQUFLLENBQUNPLEtBQU4sQ0FBWWlCLGNBQVosQ0FEbkQsRUFDZ0Y7QUFDOUVKLE1BQUFBLFFBQVEsR0FBR00sWUFBWDtBQUNBO0FBQ0Q7QUFDRjs7QUFDRCxNQUFJLENBQUNOLFFBQUwsRUFBZTs7QUFFZixRQUFNUSxPQUFPLEdBQUdwQyxnQkFBRXFDLEdBQUYsQ0FBTTlELFVBQU4sRUFBa0JxRCxRQUFsQixDQUFoQjs7QUFDQUgsRUFBQUEsTUFBTSxHQUFHekIsZ0JBQUVzQyxPQUFGLENBQVViLE1BQVYsQ0FBVDs7QUFDQSxNQUFJekIsZ0JBQUV1QyxHQUFGLENBQU1ILE9BQU4sRUFBZVgsTUFBZixDQUFKLEVBQTRCO0FBQzFCLFVBQU1lLFNBQVMsR0FBR3hDLGdCQUFFcUMsR0FBRixDQUFNRCxPQUFOLEVBQWVYLE1BQWYsQ0FBbEI7O0FBQ0EsUUFBSWUsU0FBUyxDQUFDL0QsT0FBZCxFQUF1QjtBQUNyQixhQUFPK0QsU0FBUyxDQUFDL0QsT0FBakI7QUFDRDtBQUNGO0FBQ0Y7O0FBR0QsTUFBTWdFLHNCQUFzQixHQUFHLENBQUMsZUFBRCxFQUFrQixXQUFsQixFQUErQixhQUEvQixDQUEvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyB1dGlsIH0gZnJvbSAnQGFwcGl1bS9zdXBwb3J0JztcbmltcG9ydCB7IFBST1RPQ09MUywgREVGQVVMVF9CQVNFX1BBVEggfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG5cbmNvbnN0IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TID0ge1xuICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgJ2VpdGhlciBcInRleHRcIiBvciBcInZhbHVlXCIgbXVzdCBiZSBzZXQnLFxuICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlIHx8IGpzb25PYmoudGV4dF0sXG59O1xuXG4vLyBkZWZpbmUgdGhlIHJvdXRlcywgbWFwcGluZyBvZiBIVFRQIG1ldGhvZHMgdG8gcGFydGljdWxhciBkcml2ZXIgY29tbWFuZHMsXG4vLyBhbmQgYW55IHBhcmFtZXRlcnMgdGhhdCBhcmUgZXhwZWN0ZWQgaW4gYSByZXF1ZXN0XG4vLyBwYXJhbWV0ZXJzIGNhbiBiZSBgcmVxdWlyZWRgIG9yIGBvcHRpb25hbGBcbmNvbnN0IE1FVEhPRF9NQVAgPSB7XG4gICcvc3RhdHVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRTdGF0dXMnfVxuICB9LFxuICAnL3Nlc3Npb24nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjcmVhdGVTZXNzaW9uJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIWpzb25PYmouY2FwYWJpbGl0aWVzICYmICFqc29uT2JqLmRlc2lyZWRDYXBhYmlsaXRpZXMpICYmICd3ZSByZXF1aXJlIG9uZSBvZiBcImRlc2lyZWRDYXBhYmlsaXRpZXNcIiBvciBcImNhcGFiaWxpdGllc1wiIG9iamVjdCcsXG4gICAgICBvcHRpb25hbDogWydkZXNpcmVkQ2FwYWJpbGl0aWVzJywgJ3JlcXVpcmVkQ2FwYWJpbGl0aWVzJywgJ2NhcGFiaWxpdGllcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9ucyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2Vzc2lvbid9LFxuICAgIERFTEVURToge2NvbW1hbmQ6ICdkZWxldGVTZXNzaW9uJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdGltZW91dHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFRpbWVvdXRzJ30sIC8vIFczQyByb3V0ZVxuICAgIFBPU1Q6IHtjb21tYW5kOiAndGltZW91dHMnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmosIHByb3RvY29sTmFtZSkgPT4ge1xuICAgICAgICBpZiAocHJvdG9jb2xOYW1lID09PSBQUk9UT0NPTFMuVzNDKSB7XG4gICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2NyaXB0KSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnBhZ2VMb2FkKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLmltcGxpY2l0KSkge1xuICAgICAgICAgICAgcmV0dXJuICdXM0MgcHJvdG9jb2wgZXhwZWN0cyBhbnkgb2Ygc2NyaXB0LCBwYWdlTG9hZCBvciBpbXBsaWNpdCB0byBiZSBzZXQnO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBNSlNPTldQXG4gICAgICAgICAgaWYgKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmoudHlwZSkgfHwgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5tcykpIHtcbiAgICAgICAgICAgIHJldHVybiAnTUpTT05XUCBwcm90b2NvbCByZXF1aXJlcyB0eXBlIGFuZCBtcyc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgb3B0aW9uYWw6IFsndHlwZScsICdtcycsICdzY3JpcHQnLCAncGFnZUxvYWQnLCAnaW1wbGljaXQnXSxcbiAgICB9fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90aW1lb3V0cy9hc3luY19zY3JpcHQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdhc3luY1NjcmlwdFRpbWVvdXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpbWVvdXRzL2ltcGxpY2l0X3dhaXQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdpbXBsaWNpdFdhaXQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnbXMnXX19XG4gIH0sXG4gIC8vIEpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3dfaGFuZGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGUnfVxuICB9LFxuICAvLyBXM0NcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L2hhbmRsZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ31cbiAgfSxcbiAgLy8gSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvd19oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ31cbiAgfSxcbiAgLy8gVzNDXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9oYW5kbGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dIYW5kbGVzJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdXJsJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRVcmwnfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldFVybCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1cmwnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ZvcndhcmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmb3J3YXJkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYmFjayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2JhY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9yZWZyZXNoJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVmcmVzaCd9XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc2NyaXB0JywgJ2FyZ3MnXX19XG4gIH0sXG4gIC8vIE1KU09OV1BcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZXhlY3V0ZV9hc3luYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2V4ZWN1dGVBc3luYycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzY3JpcHQnLCAnYXJncyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2NyZWVuc2hvdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2NyZWVuc2hvdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hdmFpbGFibGVfZW5naW5lcyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnYXZhaWxhYmxlSU1FRW5naW5lcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmVfZW5naW5lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBY3RpdmVJTUVFbmdpbmUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9pbWUvYWN0aXZhdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdpc0lNRUFjdGl2YXRlZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9kZWFjdGl2YXRlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZGVhY3RpdmF0ZUlNRUVuZ2luZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2ltZS9hY3RpdmF0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2FjdGl2YXRlSU1FRW5naW5lJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2VuZ2luZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRGcmFtZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydpZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZnJhbWUvcGFyZW50Jzoge1xuICAgIFBPU1Q6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0V2luZG93SGFuZGxlJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRXaW5kb3cnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICBvcHRpb25hbDogWyduYW1lJywgJ2hhbmRsZSddLFxuICAgICAgLy8gUmV0dXJuIGJvdGggdmFsdWVzIHRvIG1hdGNoIFczQyBhbmQgSlNPTldQIHByb3RvY29sc1xuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiB7XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuIFtqc29uT2JqLmhhbmRsZSwganNvbk9iai5oYW5kbGVdO1xuICAgICAgICB9XG4gICAgICAgIGlmICh1dGlsLmhhc1ZhbHVlKGpzb25PYmoubmFtZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai5oYW5kbGUpKSB7XG4gICAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmoubmFtZV07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtqc29uT2JqLm5hbWUsIGpzb25PYmouaGFuZGxlXTtcbiAgICAgIH0sXG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLm5hbWUpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouaGFuZGxlKSlcbiAgICAgICAgJiYgJ3dlIHJlcXVpcmUgb25lIG9mIFwibmFtZVwiIG9yIFwiaGFuZGxlXCIgdG8gYmUgc2V0JyxcbiAgICB9fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnY2xvc2VXaW5kb3cnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9zaXplJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dTaXplJ30sXG4gICAgUE9TVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93Lzp3aW5kb3doYW5kbGUvcG9zaXRpb24nOiB7XG4gICAgUE9TVDoge30sXG4gICAgR0VUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvOndpbmRvd2hhbmRsZS9tYXhpbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21heGltaXplV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY29va2llJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb29raWVzJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRDb29raWUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnY29va2llJ119fSxcbiAgICBERUxFVEU6IHtjb21tYW5kOiAnZGVsZXRlQ29va2llcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2Nvb2tpZS86bmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q29va2llJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ2RlbGV0ZUNvb2tpZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NvdXJjZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0UGFnZVNvdXJjZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RpdGxlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICd0aXRsZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudHMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsndXNpbmcnLCAndmFsdWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvYWN0aXZlJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdhY3RpdmUnfSwgLy8gVzNDOiBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZGZuLWdldC1hY3RpdmUtZWxlbWVudFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnYWN0aXZlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2VsZW1lbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudEZyb21FbGVtZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3VzaW5nJywgJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZWxlbWVudHMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmaW5kRWxlbWVudHNGcm9tRWxlbWVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd1c2luZycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xpY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc3VibWl0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3VibWl0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3RleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFRleHQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvdmFsdWUnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3NldFZhbHVlJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgICAgb3B0aW9uYWw6IFsndmFsdWUnLCAndGV4dCddLFxuICAgICAgICAvLyBvdmVycmlkZSB0aGUgZGVmYXVsdCBhcmd1bWVudCBjb25zdHJ1Y3RvciBiZWNhdXNlIG9mIHRoZSBzcGVjaWFsXG4gICAgICAgIC8vIGxvZ2ljIGhlcmUuIEJhc2ljYWxseSB3ZSB3YW50IHRvIGFjY2VwdCBlaXRoZXIgYSB2YWx1ZSAob2xkIEpTT05XUClcbiAgICAgICAgLy8gb3IgYSB0ZXh0IChuZXcgVzNDKSBwYXJhbWV0ZXIsIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlXG4gICAgICAgIC8vIGNvbW1hbmQgKG5vdCBib3RoKS4gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlXG4gICAgICAgIC8vIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW2pzb25PYmoudmFsdWUgfHwganNvbk9iai50ZXh0XSxcbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2tleXMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdrZXlzJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3ZhbHVlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbmFtZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TmFtZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9jbGVhcic6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2NsZWFyJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3NlbGVjdGVkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlbGVtZW50U2VsZWN0ZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZW5hYmxlZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudEVuYWJsZWQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvYXR0cmlidXRlLzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBdHRyaWJ1dGUnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvZXF1YWxzLzpvdGhlcklkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdlcXVhbHNFbGVtZW50J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2Rpc3BsYXllZCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZWxlbWVudERpc3BsYXllZCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9sb2NhdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9jYXRpb24nfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvbG9jYXRpb25faW5fdmlldyc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TG9jYXRpb25JblZpZXcnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvc2l6ZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2l6ZSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zaGFkb3cnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2VsZW1lbnRTaGFkb3dSb290J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL2Nzcy86cHJvcGVydHlOYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDc3NQcm9wZXJ0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL29yaWVudGF0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRPcmllbnRhdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0T3JpZW50YXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnb3JpZW50YXRpb24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3JvdGF0aW9uJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRSb3RhdGlvbid9LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0Um90YXRpb24nLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsneCcsICd5JywgJ3onXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL21vdmV0byc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vdmVUbycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydlbGVtZW50JywgJ3hvZmZzZXQnLCAneW9mZnNldCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGlja0N1cnJlbnQnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnYnV0dG9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9idXR0b25kb3duJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYnV0dG9uRG93bicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydidXR0b24nXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2J1dHRvbnVwJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnYnV0dG9uVXAnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnYnV0dG9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9kb3VibGVjbGljayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2RvdWJsZUNsaWNrJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvY2xpY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdjbGljaycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydlbGVtZW50J119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9kb3duJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hEb3duJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvdXAnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b3VjaFVwJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbW92ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvdWNoTW92ZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd4JywgJ3knXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL3Njcm9sbCc6IHtcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9kb3VibGVjbGljayc6IHtcbiAgICBQT1NUOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hY3Rpb25zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybUFjdGlvbnMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnYWN0aW9ucyddfX0sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbGVhc2VBY3Rpb25zJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbG9uZ2NsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hMb25nQ2xpY2snLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZWxlbWVudHMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3RvdWNoL2ZsaWNrJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmxpY2snLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZWxlbWVudCcsICd4c3BlZWQnLCAneXNwZWVkJywgJ3hvZmZzZXQnLCAneW9mZnNldCcsICdzcGVlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYXRpb24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEdlb0xvY2F0aW9uJ30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRHZW9Mb2NhdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydsb2NhdGlvbiddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIFBPU1Q6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZS9rZXkvOmtleSc6IHtcbiAgICBHRVQ6IHt9LFxuICAgIERFTEVURToge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9jYWxfc3RvcmFnZS9zaXplJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2Vzc2lvbl9zdG9yYWdlJzoge1xuICAgIEdFVDoge30sXG4gICAgUE9TVDoge30sXG4gICAgREVMRVRFOiB7fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9zZXNzaW9uX3N0b3JhZ2Uva2V5LzprZXknOiB7XG4gICAgR0VUOiB7fSxcbiAgICBERUxFVEU6IHt9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3Nlc3Npb25fc3RvcmFnZS9zaXplJzoge1xuICAgIEdFVDoge31cbiAgfSxcbiAgLy8gU2VsZW5pdW0gNCBjbGllbnRzXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3NlL2xvZyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dldExvZycsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd0eXBlJ119fVxuICB9LFxuICAvLyBTZWxlbml1bSA0IGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2UvbG9nL3R5cGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2dUeXBlcyd9XG4gIH0sXG4gIC8vIG1qc29ud2lyZSwgYXBwaXVtIGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9nJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0TG9nJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3R5cGUnXX19XG4gIH0sXG4gIC8vIG1qc29ud2lyZSwgYXBwaXVtIGNsaWVudHNcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvbG9nL3R5cGVzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRMb2dUeXBlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGxpY2F0aW9uX2NhY2hlL3N0YXR1cyc6IHtcbiAgICBHRVQ6IHt9XG4gIH0sXG5cbiAgLy9cbiAgLy8gbWpzb253aXJlXG4gIC8vXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NvbnRleHQnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEN1cnJlbnRDb250ZXh0J30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRDb250ZXh0JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ25hbWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2NvbnRleHRzJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDb250ZXh0cyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9wYWdlSW5kZXgnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFBhZ2VJbmRleCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL25ldHdvcmtfY29ubmVjdGlvbic6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0TmV0d29ya0Nvbm5lY3Rpb24nfSxcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NldE5ldHdvcmtDb25uZWN0aW9uJywgcGF5bG9hZFBhcmFtczoge3Vud3JhcDogJ3BhcmFtZXRlcnMnLCByZXF1aXJlZDogWyd0eXBlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC90b3VjaC9wZXJmb3JtJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncGVyZm9ybVRvdWNoJywgcGF5bG9hZFBhcmFtczoge3dyYXA6ICdhY3Rpb25zJywgcmVxdWlyZWQ6IFsnYWN0aW9ucyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvdG91Y2gvbXVsdGkvcGVyZm9ybSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3BlcmZvcm1NdWx0aUFjdGlvbicsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydhY3Rpb25zJ10sIG9wdGlvbmFsOiBbJ2VsZW1lbnRJZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvcmVjZWl2ZV9hc3luY19yZXNwb25zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlY2VpdmVBc3luY1Jlc3BvbnNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3N0YXR1cycsICd2YWx1ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zaGFrZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vYmlsZVNoYWtlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zeXN0ZW1fdGltZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RGV2aWNlVGltZScsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydmb3JtYXQnXX19LFxuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0RGV2aWNlVGltZScsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydmb3JtYXQnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbG9jayc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvY2snLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnc2Vjb25kcyddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS91bmxvY2snOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd1bmxvY2snfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2lzX2xvY2tlZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2lzTG9ja2VkJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3N0YXJ0X3JlY29yZGluZ19zY3JlZW4nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzdGFydFJlY29yZGluZ1NjcmVlbicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydvcHRpb25zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc3RvcF9yZWNvcmRpbmdfc2NyZWVuJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc3RvcFJlY29yZGluZ1NjcmVlbicsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydvcHRpb25zJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vcGVyZm9ybWFuY2VEYXRhL3R5cGVzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0UGVyZm9ybWFuY2VEYXRhVHlwZXMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZ2V0UGVyZm9ybWFuY2VEYXRhJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0UGVyZm9ybWFuY2VEYXRhJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhY2thZ2VOYW1lJywgJ2RhdGFUeXBlJ10sIG9wdGlvbmFsOiBbJ2RhdGFSZWFkVGltZW91dCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wcmVzc19rZXljb2RlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHJlc3NLZXlDb2RlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJywgJ2ZsYWdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2xvbmdfcHJlc3Nfa2V5Y29kZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2xvbmdQcmVzc0tleUNvZGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsna2V5Y29kZSddLCBvcHRpb25hbDogWydtZXRhc3RhdGUnLCAnZmxhZ3MnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZmluZ2VyX3ByaW50Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZmluZ2VycHJpbnQnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnZmluZ2VycHJpbnRJZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9zZW5kX3Ntcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3NlbmRTTVMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGhvbmVOdW1iZXInLCAnbWVzc2FnZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nc21fY2FsbCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2dzbUNhbGwnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGhvbmVOdW1iZXInLCAnYWN0aW9uJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2dzbV9zaWduYWwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2dzbVNpZ25hbCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHZhbGlkYXRlOiAoanNvbk9iaikgPT4gKCF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5ndGgpICYmICF1dGlsLmhhc1ZhbHVlKGpzb25PYmouc2lnbmFsU3RyZW5naCkpICYmXG4gICAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJzaWduYWxTdHJlbmd0aFwiIG9yIFwic2lnbmFsU3RyZW5naFwiIHBhcmFtcycsXG4gICAgICAgIG9wdGlvbmFsOiBbJ3NpZ25hbFN0cmVuZ3RoJywgJ3NpZ25hbFN0cmVuZ2gnXSxcbiAgICAgICAgLy8gYmFja3dhcmQtY29tcGF0aWJsZS4gc29uT2JqLnNpZ25hbFN0cmVuZ3RoIGNhbiBiZSAwXG4gICAgICAgIG1ha2VBcmdzOiAoanNvbk9iaikgPT4gW3V0aWwuaGFzVmFsdWUoanNvbk9iai5zaWduYWxTdHJlbmd0aCkgPyBqc29uT2JqLnNpZ25hbFN0cmVuZ3RoIDoganNvbk9iai5zaWduYWxTdHJlbmdoXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9nc21fdm9pY2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdnc21Wb2ljZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydzdGF0ZSddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wb3dlcl9jYXBhY2l0eSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvd2VyQ2FwYWNpdHknLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGVyY2VudCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9wb3dlcl9hYyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvd2VyQUMnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsnc3RhdGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvbmV0d29ya19zcGVlZCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ25ldHdvcmtTcGVlZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyduZXRzcGVlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9rZXlldmVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ2tleWV2ZW50JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2tleWNvZGUnXSwgb3B0aW9uYWw6IFsnbWV0YXN0YXRlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3JvdGF0ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21vYmlsZVJvdGF0aW9uJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgcmVxdWlyZWQ6IFsneCcsICd5JywgJ3JhZGl1cycsICdyb3RhdGlvbicsICd0b3VjaENvdW50JywgJ2R1cmF0aW9uJ10sXG4gICAgICBvcHRpb25hbDogWydlbGVtZW50J10gfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9jdXJyZW50X2FjdGl2aXR5Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRDdXJyZW50QWN0aXZpdHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2N1cnJlbnRfcGFja2FnZSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0Q3VycmVudFBhY2thZ2UnfVxuICB9LFxuICAvL3JlZ2lvbiBBcHBsaWNhdGlvbnMgTWFuYWdlbWVudFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2luc3RhbGxfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdpbnN0YWxsQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnYXBwUGF0aCddLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYWN0aXZhdGVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdhY3RpdmF0ZUFwcCcsXG4gICAgICBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICAgIHJlcXVpcmVkOiBbWydhcHBJZCddLCBbJ2J1bmRsZUlkJ11dLFxuICAgICAgICBvcHRpb25hbDogWydvcHRpb25zJ11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcmVtb3ZlX2FwcCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAncmVtb3ZlQXBwJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV0sXG4gICAgICAgIG9wdGlvbmFsOiBbJ29wdGlvbnMnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90ZXJtaW5hdGVfYXBwJzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICd0ZXJtaW5hdGVBcHAnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnb3B0aW9ucyddXG4gICAgICB9XG4gICAgfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2FwcF9pbnN0YWxsZWQnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2lzQXBwSW5zdGFsbGVkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFtbJ2FwcElkJ10sIFsnYnVuZGxlSWQnXV1cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvYXBwX3N0YXRlJzoge1xuICAgIEdFVDoge1xuICAgICAgY29tbWFuZDogJ3F1ZXJ5QXBwU3RhdGUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXVxuICAgICAgfVxuICAgIH0sXG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ3F1ZXJ5QXBwU3RhdGUnLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogW1snYXBwSWQnXSwgWydidW5kbGVJZCddXVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgLy9lbmRyZWdpb25cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS9oaWRlX2tleWJvYXJkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnaGlkZUtleWJvYXJkJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ3N0cmF0ZWd5JywgJ2tleScsICdrZXlDb2RlJywgJ2tleU5hbWUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvaXNfa2V5Ym9hcmRfc2hvd24nOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2lzS2V5Ym9hcmRTaG93bid9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHVzaF9maWxlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncHVzaEZpbGUnLCBwYXlsb2FkUGFyYW1zOiB7cmVxdWlyZWQ6IFsncGF0aCcsICdkYXRhJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3B1bGxfZmlsZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3B1bGxGaWxlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvcHVsbF9mb2xkZXInOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwdWxsRm9sZGVyJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3BhdGgnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX2FpcnBsYW5lX21vZGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICd0b2dnbGVGbGlnaHRNb2RlJ31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2RldmljZS90b2dnbGVfZGF0YSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZURhdGEnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3RvZ2dsZV93aWZpJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlV2lGaSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvdG9nZ2xlX2xvY2F0aW9uX3NlcnZpY2VzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG9nZ2xlTG9jYXRpb25TZXJ2aWNlcyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvb3Blbl9ub3RpZmljYXRpb25zJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnb3Blbk5vdGlmaWNhdGlvbnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL3N0YXJ0X2FjdGl2aXR5Jzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzdGFydEFjdGl2aXR5JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnYXBwUGFja2FnZScsICdhcHBBY3Rpdml0eSddLFxuICAgICAgICBvcHRpb25hbDogWydhcHBXYWl0UGFja2FnZScsICdhcHBXYWl0QWN0aXZpdHknLCAnaW50ZW50QWN0aW9uJyxcbiAgICAgICAgICAnaW50ZW50Q2F0ZWdvcnknLCAnaW50ZW50RmxhZ3MnLCAnb3B0aW9uYWxJbnRlbnRBcmd1bWVudHMnLCAnZG9udFN0b3BBcHBPblJlc2V0J11cbiAgICAgIH1cbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc3lzdGVtX2JhcnMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldFN5c3RlbUJhcnMnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZGV2aWNlL2Rpc3BsYXlfZGVuc2l0eSc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RGlzcGxheURlbnNpdHknfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vc2ltdWxhdG9yL3RvdWNoX2lkJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAndG91Y2hJZCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydtYXRjaCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL3NpbXVsYXRvci90b2dnbGVfdG91Y2hfaWRfZW5yb2xsbWVudCc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3RvZ2dsZUVucm9sbFRvdWNoSWQnLCBwYXlsb2FkUGFyYW1zOiB7b3B0aW9uYWw6IFsnZW5hYmxlZCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9sYXVuY2gnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsYXVuY2hBcHAnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2Nsb3NlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnY2xvc2VBcHAnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL3Jlc2V0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVzZXQnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vYXBwL2JhY2tncm91bmQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdiYWNrZ3JvdW5kJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NlY29uZHMnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9hcHAvZW5kX3Rlc3RfY292ZXJhZ2UnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdlbmRDb3ZlcmFnZScsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWydpbnRlbnQnLCAncGF0aCddfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2FwcC9zdHJpbmdzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0U3RyaW5ncycsIHBheWxvYWRQYXJhbXM6IHtvcHRpb25hbDogWydsYW5ndWFnZScsICdzdHJpbmdGaWxlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZWxlbWVudC86ZWxlbWVudElkL3ZhbHVlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnc2V0VmFsdWVJbW1lZGlhdGUnLCBwYXlsb2FkUGFyYW1zOiB7XG4gICAgICB2YWxpZGF0ZTogKGpzb25PYmopID0+ICghdXRpbC5oYXNWYWx1ZShqc29uT2JqLnZhbHVlKSAmJiAhdXRpbC5oYXNWYWx1ZShqc29uT2JqLnRleHQpKSAmJlxuICAgICAgICAgICd3ZSByZXF1aXJlIG9uZSBvZiBcInRleHRcIiBvciBcInZhbHVlXCIgcGFyYW1zJyxcbiAgICAgIG9wdGlvbmFsOiBbJ3ZhbHVlJywgJ3RleHQnXSxcbiAgICAgIC8vIFdlIHdhbnQgdG8gZWl0aGVyIGEgdmFsdWUgKG9sZCBKU09OV1ApIG9yIGEgdGV4dCAobmV3IFczQykgcGFyYW1ldGVyLFxuICAgICAgLy8gYnV0IG9ubHkgc2VuZCBvbmUgb2YgdGhlbSB0byB0aGUgY29tbWFuZCAobm90IGJvdGgpLlxuICAgICAgLy8gUHJlZmVyICd2YWx1ZScgc2luY2UgaXQncyBtb3JlIGJhY2t3YXJkLWNvbXBhdGlibGUuXG4gICAgICBtYWtlQXJnczogKGpzb25PYmopID0+IFtqc29uT2JqLnZhbHVlIHx8IGpzb25PYmoudGV4dF0sXG4gICAgfX1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYXBwaXVtL2VsZW1lbnQvOmVsZW1lbnRJZC9yZXBsYWNlX3ZhbHVlJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncmVwbGFjZVZhbHVlJywgcGF5bG9hZFBhcmFtczoge1xuICAgICAgdmFsaWRhdGU6IChqc29uT2JqKSA9PiAoIXV0aWwuaGFzVmFsdWUoanNvbk9iai52YWx1ZSkgJiYgIXV0aWwuaGFzVmFsdWUoanNvbk9iai50ZXh0KSkgJiZcbiAgICAgICAgICAnd2UgcmVxdWlyZSBvbmUgb2YgXCJ0ZXh0XCIgb3IgXCJ2YWx1ZVwiIHBhcmFtcycsXG4gICAgICBvcHRpb25hbDogWyd2YWx1ZScsICd0ZXh0J10sXG4gICAgICAvLyBXZSB3YW50IHRvIGVpdGhlciBhIHZhbHVlIChvbGQgSlNPTldQKSBvciBhIHRleHQgKG5ldyBXM0MpIHBhcmFtZXRlcixcbiAgICAgIC8vIGJ1dCBvbmx5IHNlbmQgb25lIG9mIHRoZW0gdG8gdGhlIGNvbW1hbmQgKG5vdCBib3RoKS5cbiAgICAgIC8vIFByZWZlciAndmFsdWUnIHNpbmNlIGl0J3MgbW9yZSBiYWNrd2FyZC1jb21wYXRpYmxlLlxuICAgICAgbWFrZUFyZ3M6IChqc29uT2JqKSA9PiBbanNvbk9iai52YWx1ZSA/PyBqc29uT2JqLnRleHQgPz8gJyddLFxuICAgIH19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9zZXR0aW5ncyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3VwZGF0ZVNldHRpbmdzJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NldHRpbmdzJ119fSxcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0U2V0dGluZ3MnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vcmVjZWl2ZV9hc3luY19yZXNwb25zZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3JlY2VpdmVBc3luY1Jlc3BvbnNlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3Jlc3BvbnNlJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hcHBpdW0vZXZlbnRzJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZ2V0TG9nRXZlbnRzJywgcGF5bG9hZFBhcmFtczoge29wdGlvbmFsOiBbJ3R5cGUnXX19XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9sb2dfZXZlbnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdsb2dDdXN0b21FdmVudCcsIHBheWxvYWRQYXJhbXM6IHtyZXF1aXJlZDogWyd2ZW5kb3InLCAnZXZlbnQnXX19XG4gIH0sXG5cbiAgLypcbiAgICogVGhlIFczQyBzcGVjIGhhcyBzb21lIGNoYW5nZXMgdG8gdGhlIHdpcmUgcHJvdG9jb2wuXG4gICAqIGh0dHBzOi8vdzNjLmdpdGh1Yi5pby93ZWJkcml2ZXIvd2ViZHJpdmVyLXNwZWMuaHRtbFxuICAgKiBCZWdpbiB0byBhZGQgdGhvc2UgY2hhbmdlcyBoZXJlLCBrZWVwaW5nIHRoZSBvbGQgdmVyc2lvblxuICAgKiBzaW5jZSBjbGllbnRzIHN0aWxsIGltcGxlbWVudCB0aGVtLlxuICAgKi9cbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydF90ZXh0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBbGVydFRleHQnfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0QWxlcnRUZXh0JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TLFxuICAgIH1cbiAgfSxcbiAgLy8gTUpTT05XUFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hY2NlcHRfYWxlcnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0QWNjZXB0QWxlcnQnfVxuICB9LFxuICAvLyBNSlNPTldQXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2Rpc21pc3NfYWxlcnQnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdwb3N0RGlzbWlzc0FsZXJ0J31cbiAgfSxcbiAgLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL3dlYmRyaXZlci93ZWJkcml2ZXItc3BlYy5odG1sI3VzZXItcHJvbXB0c1xuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9hbGVydC90ZXh0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRBbGVydFRleHQnfSxcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0QWxlcnRUZXh0JyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IFNFVF9BTEVSVF9URVhUX1BBWUxPQURfUEFSQU1TLFxuICAgIH1cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvYWNjZXB0Jzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAncG9zdEFjY2VwdEFsZXJ0J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvYWxlcnQvZGlzbWlzcyc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ3Bvc3REaXNtaXNzQWxlcnQnfVxuICB9LFxuICAvLyBodHRwczovL3czYy5naXRodWIuaW8vd2ViZHJpdmVyL3dlYmRyaXZlci1zcGVjLmh0bWwjZ2V0LWVsZW1lbnQtcmVjdFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9lbGVtZW50LzplbGVtZW50SWQvcmVjdCc6IHtcbiAgICBHRVQ6IHtjb21tYW5kOiAnZ2V0RWxlbWVudFJlY3QnfVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlL3N5bmMnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fVxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC9leGVjdXRlL2FzeW5jJzoge1xuICAgIFBPU1Q6IHtjb21tYW5kOiAnZXhlY3V0ZUFzeW5jJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3NjcmlwdCcsICdhcmdzJ119fVxuICB9LFxuICAvLyBQcmUtVzNDIGVuZHBvaW50IGZvciBlbGVtZW50IHNjcmVlbnNob3RcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvc2NyZWVuc2hvdC86ZWxlbWVudElkJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRFbGVtZW50U2NyZWVuc2hvdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2VsZW1lbnQvOmVsZW1lbnRJZC9zY3JlZW5zaG90Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRFbGVtZW50U2NyZWVuc2hvdCd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9yZWN0Jzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRXaW5kb3dSZWN0J30sXG4gICAgUE9TVDoge2NvbW1hbmQ6ICdzZXRXaW5kb3dSZWN0JywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ3gnLCAneScsICd3aWR0aCcsICdoZWlnaHQnXX19LFxuICB9LFxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93aW5kb3cvbWF4aW1pemUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdtYXhpbWl6ZVdpbmRvdyd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dpbmRvdy9taW5pbWl6ZSc6IHtcbiAgICBQT1NUOiB7Y29tbWFuZDogJ21pbmltaXplV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2luZG93L2Z1bGxzY3JlZW4nOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdmdWxsU2NyZWVuV2luZG93J31cbiAgfSxcbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvZWxlbWVudC86ZWxlbWVudElkL3Byb3BlcnR5LzpuYW1lJzoge1xuICAgIEdFVDoge2NvbW1hbmQ6ICdnZXRQcm9wZXJ0eSd9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2Uvc2V0X2NsaXBib2FyZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnc2V0Q2xpcGJvYXJkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnY29udGVudCddLFxuICAgICAgICBvcHRpb25hbDogW1xuICAgICAgICAgICdjb250ZW50VHlwZScsXG4gICAgICAgICAgJ2xhYmVsJyxcbiAgICAgICAgXVxuICAgICAgfSxcbiAgICB9XG4gIH0sXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL2FwcGl1bS9kZXZpY2UvZ2V0X2NsaXBib2FyZCc6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnZ2V0Q2xpcGJvYXJkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgb3B0aW9uYWw6IFtcbiAgICAgICAgICAnY29udGVudFR5cGUnLFxuICAgICAgICBdXG4gICAgICB9LFxuICAgIH1cbiAgfSxcblxuICAvLyBjaHJvbWl1bSBkZXZ0b29sc1xuICAvLyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvbWFzdGVyL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9zZXJ2ZXIvaHR0cF9oYW5kbGVyLmNjXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkLzp2ZW5kb3IvY2RwL2V4ZWN1dGUnOiB7XG4gICAgUE9TVDoge2NvbW1hbmQ6ICdleGVjdXRlQ2RwJywgcGF5bG9hZFBhcmFtczoge3JlcXVpcmVkOiBbJ2NtZCcsICdwYXJhbXMnXX19XG4gIH0sXG5cbiAgLy9yZWdpb24gV2ViYXV0aG5cbiAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL3dlYmF1dGhuLTIvI3NjdG4tYXV0b21hdGlvbi1hZGQtdmlydHVhbC1hdXRoZW50aWNhdG9yXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvcic6IHtcbiAgICBQT1NUOiB7XG4gICAgICBjb21tYW5kOiAnYWRkVmlydHVhbEF1dGhlbnRpY2F0b3InLFxuICAgICAgcGF5bG9hZFBhcmFtczoge1xuICAgICAgICByZXF1aXJlZDogWydwcm90b2NvbCcsICd0cmFuc3BvcnQnXSxcbiAgICAgICAgb3B0aW9uYWw6IFsnaGFzUmVzaWRlbnRLZXknLCAnaGFzVXNlclZlcmlmaWNhdGlvbicsICdpc1VzZXJDb25zZW50aW5nJywgJ2lzVXNlclZlcmlmaWVkJ10sXG4gICAgICB9XG4gICAgfVxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZCc6IHtcbiAgICBERUxFVEU6IHtcbiAgICAgIGNvbW1hbmQ6ICdyZW1vdmVWaXJ0dWFsQXV0aGVudGljYXRvcidcbiAgICB9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL2NyZWRlbnRpYWwnOiB7XG4gICAgUE9TVDoge1xuICAgICAgY29tbWFuZDogJ2FkZEF1dGhDcmVkZW50aWFsJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnY3JlZGVudGlhbElkJywgJ2lzUmVzaWRlbnRDcmVkZW50aWFsJywgJ3JwSWQnLCAncHJpdmF0ZUtleSddLFxuICAgICAgICBvcHRpb25hbDogWyd1c2VySGFuZGxlJywgJ3NpZ25Db3VudCddLFxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAnL3Nlc3Npb24vOnNlc3Npb25JZC93ZWJhdXRobi9hdXRoZW50aWNhdG9yLzphdXRoZW50aWNhdG9ySWQvY3JlZGVudGlhbHMnOiB7XG4gICAgR0VUOiB7Y29tbWFuZDogJ2dldEF1dGhDcmVkZW50aWFsJ30sXG4gICAgREVMRVRFOiB7Y29tbWFuZDogJ3JlbW92ZUFsbEF1dGhDcmVkZW50aWFscyd9LFxuICB9LFxuXG4gICcvc2Vzc2lvbi86c2Vzc2lvbklkL3dlYmF1dGhuL2F1dGhlbnRpY2F0b3IvOmF1dGhlbnRpY2F0b3JJZC9jcmVkZW50aWFscy86Y3JlZGVudGlhbElkJzoge1xuICAgIERFTEVURToge2NvbW1hbmQ6ICdyZW1vdmVBdXRoQ3JlZGVudGlhbCd9XG4gIH0sXG5cbiAgJy9zZXNzaW9uLzpzZXNzaW9uSWQvd2ViYXV0aG4vYXV0aGVudGljYXRvci86YXV0aGVudGljYXRvcklkL3V2Jzoge1xuICAgIFBPU1Q6IHtcbiAgICAgIGNvbW1hbmQ6ICdzZXRVc2VyQXV0aFZlcmlmaWVkJyxcbiAgICAgIHBheWxvYWRQYXJhbXM6IHtcbiAgICAgICAgcmVxdWlyZWQ6IFsnaXNVc2VyVmVyaWZpZWQnXVxuICAgICAgfVxuICAgIH1cbiAgfSxcblxuICAvL2VuZHJlZ2lvblxuXG59O1xuXG4vLyBkcml2ZXIgY29tbWFuZCBuYW1lc1xubGV0IEFMTF9DT01NQU5EUyA9IFtdO1xuZm9yIChsZXQgdiBvZiBfLnZhbHVlcyhNRVRIT0RfTUFQKSkge1xuICBmb3IgKGxldCBtIG9mIF8udmFsdWVzKHYpKSB7XG4gICAgaWYgKG0uY29tbWFuZCkge1xuICAgICAgQUxMX0NPTU1BTkRTLnB1c2gobS5jb21tYW5kKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgUkVfRVNDQVBFID0gL1stW1xcXXt9KCkrPy4sXFxcXF4kfCNcXHNdL2c7XG5jb25zdCBSRV9QQVJBTSA9IC8oWzoqXSkoXFx3KykvZztcblxuY2xhc3MgUm91dGUge1xuICBjb25zdHJ1Y3RvciAocm91dGUpIHtcbiAgICB0aGlzLnBhcmFtTmFtZXMgPSBbXTtcblxuICAgIGxldCByZVN0ciA9IHJvdXRlLnJlcGxhY2UoUkVfRVNDQVBFLCAnXFxcXCQmJyk7XG4gICAgcmVTdHIgPSByZVN0ci5yZXBsYWNlKFJFX1BBUkFNLCAoXywgbW9kZSwgbmFtZSkgPT4ge1xuICAgICAgdGhpcy5wYXJhbU5hbWVzLnB1c2gobmFtZSk7XG4gICAgICByZXR1cm4gbW9kZSA9PT0gJzonID8gJyhbXi9dKiknIDogJyguKiknO1xuICAgIH0pO1xuICAgIHRoaXMucm91dGVSZWdleHAgPSBuZXcgUmVnRXhwKGBeJHtyZVN0cn0kYCk7XG4gIH1cblxuICBwYXJzZSAodXJsKSB7XG4gICAgLy9pZiAodXJsLmluZGV4T2YoJ3RpbWVvdXRzJykgIT09IC0xICYmIHRoaXMucm91dGVSZWdleHAudG9TdHJpbmcoKS5pbmRleE9mKCd0aW1lb3V0cycpICE9PSAtMSkge1xuICAgIC8vZGVidWdnZXI7XG4gICAgLy99XG4gICAgbGV0IG1hdGNoZXMgPSB1cmwubWF0Y2godGhpcy5yb3V0ZVJlZ2V4cCk7XG4gICAgaWYgKCFtYXRjaGVzKSByZXR1cm47IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgY3VybHlcbiAgICBsZXQgaSA9IDA7XG4gICAgbGV0IHBhcmFtcyA9IHt9O1xuICAgIHdoaWxlIChpIDwgdGhpcy5wYXJhbU5hbWVzLmxlbmd0aCkge1xuICAgICAgY29uc3QgcGFyYW1OYW1lID0gdGhpcy5wYXJhbU5hbWVzW2krK107XG4gICAgICBwYXJhbXNbcGFyYW1OYW1lXSA9IG1hdGNoZXNbaV07XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG4gIH1cbn1cblxuZnVuY3Rpb24gcm91dGVUb0NvbW1hbmROYW1lIChlbmRwb2ludCwgbWV0aG9kLCBiYXNlUGF0aCA9IERFRkFVTFRfQkFTRV9QQVRIKSB7XG4gIGxldCBkc3RSb3V0ZSA9IG51bGw7XG5cbiAgLy8gcmVtb3ZlIGFueSBxdWVyeSBzdHJpbmdcbiAgaWYgKGVuZHBvaW50LmluY2x1ZGVzKCc/JykpIHtcbiAgICBlbmRwb2ludCA9IGVuZHBvaW50LnNsaWNlKDAsIGVuZHBvaW50LmluZGV4T2YoJz8nKSk7XG4gIH1cblxuICBjb25zdCBhY3R1YWxFbmRwb2ludCA9IGVuZHBvaW50ID09PSAnLycgPyAnJyA6XG4gICAgKF8uc3RhcnRzV2l0aChlbmRwb2ludCwgJy8nKSA/IGVuZHBvaW50IDogYC8ke2VuZHBvaW50fWApO1xuXG4gIGZvciAobGV0IGN1cnJlbnRSb3V0ZSBvZiBfLmtleXMoTUVUSE9EX01BUCkpIHtcbiAgICBjb25zdCByb3V0ZSA9IG5ldyBSb3V0ZShgJHtiYXNlUGF0aH0ke2N1cnJlbnRSb3V0ZX1gKTtcbiAgICAvLyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBhY3R1YWwgc2Vzc2lvbiBpZCBmb3IgbWF0Y2hpbmdcbiAgICBpZiAocm91dGUucGFyc2UoYCR7YmFzZVBhdGh9L3Nlc3Npb24vaWdub3JlZC1zZXNzaW9uLWlkJHthY3R1YWxFbmRwb2ludH1gKSB8fFxuICAgICAgICByb3V0ZS5wYXJzZShgJHtiYXNlUGF0aH0ke2FjdHVhbEVuZHBvaW50fWApIHx8IHJvdXRlLnBhcnNlKGFjdHVhbEVuZHBvaW50KSkge1xuICAgICAgZHN0Um91dGUgPSBjdXJyZW50Um91dGU7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKCFkc3RSb3V0ZSkgcmV0dXJuOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGN1cmx5XG5cbiAgY29uc3QgbWV0aG9kcyA9IF8uZ2V0KE1FVEhPRF9NQVAsIGRzdFJvdXRlKTtcbiAgbWV0aG9kID0gXy50b1VwcGVyKG1ldGhvZCk7XG4gIGlmIChfLmhhcyhtZXRob2RzLCBtZXRob2QpKSB7XG4gICAgY29uc3QgZHN0TWV0aG9kID0gXy5nZXQobWV0aG9kcywgbWV0aG9kKTtcbiAgICBpZiAoZHN0TWV0aG9kLmNvbW1hbmQpIHtcbiAgICAgIHJldHVybiBkc3RNZXRob2QuY29tbWFuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gZHJpdmVyIGNvbW1hbmRzIHRoYXQgZG8gbm90IHJlcXVpcmUgYSBzZXNzaW9uIHRvIGFscmVhZHkgZXhpc3RcbmNvbnN0IE5PX1NFU1NJT05fSURfQ09NTUFORFMgPSBbJ2NyZWF0ZVNlc3Npb24nLCAnZ2V0U3RhdHVzJywgJ2dldFNlc3Npb25zJ107XG5cbmV4cG9ydCB7IE1FVEhPRF9NQVAsIEFMTF9DT01NQU5EUywgTk9fU0VTU0lPTl9JRF9DT01NQU5EUywgcm91dGVUb0NvbW1hbmROYW1lIH07XG4iXX0=
|
|
@@ -44,7 +44,5 @@ const validators = {
|
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
};
|
|
47
|
-
exports.validators = validators;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpYi9wcm90b2NvbC92YWxpZGF0b3JzLmpzIl0sIm5hbWVzIjpbImlzTnVtYmVyIiwibyIsIl8iLCJpc05hTiIsInBhcnNlSW50IiwicGFyc2VGbG9hdCIsIm1zVmFsaWRhdG9yIiwibXMiLCJFcnJvciIsInZhbGlkYXRvcnMiLCJzZXRVcmwiLCJ1cmwiLCJtYXRjaCIsImltcGxpY2l0V2FpdCIsImFzeW5jU2NyaXB0VGltZW91dCIsImNsaWNrQ3VycmVudCIsImJ1dHRvbiIsImlzVW5kZWZpbmVkIiwic2V0TmV0d29ya0Nvbm5lY3Rpb24iLCJ0eXBlIiwiaW5kZXhPZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxTQUFTQSxRQUFULENBQW1CQyxDQUFuQixFQUFzQjtBQUNwQixTQUFPQyxnQkFBRUYsUUFBRixDQUFXQyxDQUFYLEtBQWlCLENBQUNDLGdCQUFFQyxLQUFGLENBQVFDLFFBQVEsQ0FBQ0gsQ0FBRCxFQUFJLEVBQUosQ0FBaEIsQ0FBbEIsSUFBOEMsQ0FBQ0MsZ0JBQUVDLEtBQUYsQ0FBUUUsVUFBVSxDQUFDSixDQUFELENBQWxCLENBQXREO0FBQ0Q7O0FBRUQsU0FBU0ssV0FBVCxDQUFzQkMsRUFBdEIsRUFBMEI7QUFDeEIsTUFBSSxDQUFDTCxnQkFBRUYsUUFBRixDQUFXTyxFQUFYLENBQUQsSUFBbUJBLEVBQUUsR0FBRyxDQUE1QixFQUErQjtBQUM3QixVQUFNLElBQUlDLEtBQUosQ0FBVSxnREFBVixDQUFOO0FBQ0Q7QUFDRjs7QUFFRCxNQUFNQyxVQUFVLEdBQUc7QUFDakJDLEVBQUFBLE1BQU0sRUFBR0MsR0FBRCxJQUFTO0FBRWYsUUFBSSxDQUFDQSxHQUFELElBQVEsQ0FBQ0EsR0FBRyxDQUFDQyxLQUFKLENBQVUsMkNBQVYsQ0FBYixFQUFxRTtBQUNuRSxZQUFNLElBQUlKLEtBQUosQ0FBVSx3Q0FBVixDQUFOO0FBQ0Q7QUFDRixHQU5nQjtBQU9qQkssRUFBQUEsWUFBWSxFQUFHTixFQUFELElBQVE7QUFDcEJELElBQUFBLFdBQVcsQ0FBQ0MsRUFBRCxDQUFYO0FBQ0QsR0FUZ0I7QUFVakJPLEVBQUFBLGtCQUFrQixFQUFHUCxFQUFELElBQVE7QUFDMUJELElBQUFBLFdBQVcsQ0FBQ0MsRUFBRCxDQUFYO0FBQ0QsR0FaZ0I7QUFhakJRLEVBQUFBLFlBQVksRUFBR0MsTUFBRCxJQUFZO0FBQ3hCLFFBQUksRUFBRWhCLFFBQVEsQ0FBQ2dCLE1BQUQsQ0FBUixJQUFvQmQsZ0JBQUVlLFdBQUYsQ0FBY0QsTUFBZCxDQUF0QixLQUFpREEsTUFBTSxHQUFHLENBQVQsSUFBY0EsTUFBTSxHQUFHLENBQTVFLEVBQWdGO0FBQzlFLFlBQU0sSUFBSVIsS0FBSixDQUFVLGlDQUFWLENBQU47QUFDRDtBQUNGLEdBakJnQjtBQWtCakJVLEVBQUFBLG9CQUFvQixFQUFHQyxJQUFELElBQVU7QUFDOUIsUUFBSSxDQUFDbkIsUUFBUSxDQUFDbUIsSUFBRCxDQUFULElBQW1CLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQVUsQ0FBVixFQUFhLENBQWIsRUFBZ0JDLE9BQWhCLENBQXdCRCxJQUF4QixNQUFrQyxDQUFDLENBQTFELEVBQTZEO0FBQzNELFlBQU0sSUFBSVgsS0FBSixDQUFVLDJDQUFWLENBQU47QUFDRDtBQUNGO0FBdEJnQixDQUFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmZ1bmN0aW9uIGlzTnVtYmVyIChvKSB7XG4gIHJldHVybiBfLmlzTnVtYmVyKG8pIHx8ICFfLmlzTmFOKHBhcnNlSW50KG8sIDEwKSkgfHwgIV8uaXNOYU4ocGFyc2VGbG9hdChvKSk7XG59XG5cbmZ1bmN0aW9uIG1zVmFsaWRhdG9yIChtcykge1xuICBpZiAoIV8uaXNOdW1iZXIobXMpIHx8IG1zIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignV2FpdCBtcyBtdXN0IGJlIGEgbnVtYmVyIGVxdWFsIHRvIDAgb3IgZ3JlYXRlcicpO1xuICB9XG59XG5cbmNvbnN0IHZhbGlkYXRvcnMgPSB7XG4gIHNldFVybDogKHVybCkgPT4ge1xuICAgIC8vIGVpdGhlciBhbiBgeHl6Oi8vYCwgYGFib3V0OmAsIG9yIGBkYXRhOmAgc2NoZW1lIGlzIGFsbG93ZWRcbiAgICBpZiAoIXVybCB8fCAhdXJsLm1hdGNoKC9eKFthLXpBLVowLTlfKy4tXSs6XFwvXFwvKXwoYWJvdXQ6KXwoZGF0YTopLykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXJsIG9yIFVyaSBtdXN0IHN0YXJ0IHdpdGggPHNjaGVtZT46Ly8nKTtcbiAgICB9XG4gIH0sXG4gIGltcGxpY2l0V2FpdDogKG1zKSA9PiB7XG4gICAgbXNWYWxpZGF0b3IobXMpO1xuICB9LFxuICBhc3luY1NjcmlwdFRpbWVvdXQ6IChtcykgPT4ge1xuICAgIG1zVmFsaWRhdG9yKG1zKTtcbiAgfSxcbiAgY2xpY2tDdXJyZW50OiAoYnV0dG9uKSA9PiB7XG4gICAgaWYgKCEoaXNOdW1iZXIoYnV0dG9uKSB8fCBfLmlzVW5kZWZpbmVkKGJ1dHRvbikpIHx8IChidXR0b24gPCAwIHx8IGJ1dHRvbiA+IDIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NsaWNrIGJ1dHRvbiBtdXN0IGJlIDAsIDEsIG9yIDInKTtcbiAgICB9XG4gIH0sXG4gIHNldE5ldHdvcmtDb25uZWN0aW9uOiAodHlwZSkgPT4ge1xuICAgIGlmICghaXNOdW1iZXIodHlwZSkgfHwgWzAsIDEsIDIsIDQsIDZdLmluZGV4T2YodHlwZSkgPT09IC0xKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgdHlwZSBtdXN0IGJlIG9uZSBvZiAwLCAxLCAyLCA0LCA2Jyk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgeyB2YWxpZGF0b3JzIH07XG4iXSwiZmlsZSI6ImxpYi9wcm90b2NvbC92YWxpZGF0b3JzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uIn0=
|
|
47
|
+
exports.validators = validators;
|
|
48
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9wcm90b2NvbC92YWxpZGF0b3JzLmpzIl0sIm5hbWVzIjpbImlzTnVtYmVyIiwibyIsIl8iLCJpc05hTiIsInBhcnNlSW50IiwicGFyc2VGbG9hdCIsIm1zVmFsaWRhdG9yIiwibXMiLCJFcnJvciIsInZhbGlkYXRvcnMiLCJzZXRVcmwiLCJ1cmwiLCJtYXRjaCIsImltcGxpY2l0V2FpdCIsImFzeW5jU2NyaXB0VGltZW91dCIsImNsaWNrQ3VycmVudCIsImJ1dHRvbiIsImlzVW5kZWZpbmVkIiwic2V0TmV0d29ya0Nvbm5lY3Rpb24iLCJ0eXBlIiwiaW5kZXhPZiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFFQSxTQUFTQSxRQUFULENBQW1CQyxDQUFuQixFQUFzQjtBQUNwQixTQUFPQyxnQkFBRUYsUUFBRixDQUFXQyxDQUFYLEtBQWlCLENBQUNDLGdCQUFFQyxLQUFGLENBQVFDLFFBQVEsQ0FBQ0gsQ0FBRCxFQUFJLEVBQUosQ0FBaEIsQ0FBbEIsSUFBOEMsQ0FBQ0MsZ0JBQUVDLEtBQUYsQ0FBUUUsVUFBVSxDQUFDSixDQUFELENBQWxCLENBQXREO0FBQ0Q7O0FBRUQsU0FBU0ssV0FBVCxDQUFzQkMsRUFBdEIsRUFBMEI7QUFDeEIsTUFBSSxDQUFDTCxnQkFBRUYsUUFBRixDQUFXTyxFQUFYLENBQUQsSUFBbUJBLEVBQUUsR0FBRyxDQUE1QixFQUErQjtBQUM3QixVQUFNLElBQUlDLEtBQUosQ0FBVSxnREFBVixDQUFOO0FBQ0Q7QUFDRjs7QUFFRCxNQUFNQyxVQUFVLEdBQUc7QUFDakJDLEVBQUFBLE1BQU0sRUFBR0MsR0FBRCxJQUFTO0FBRWYsUUFBSSxDQUFDQSxHQUFELElBQVEsQ0FBQ0EsR0FBRyxDQUFDQyxLQUFKLENBQVUsMkNBQVYsQ0FBYixFQUFxRTtBQUNuRSxZQUFNLElBQUlKLEtBQUosQ0FBVSx3Q0FBVixDQUFOO0FBQ0Q7QUFDRixHQU5nQjtBQU9qQkssRUFBQUEsWUFBWSxFQUFHTixFQUFELElBQVE7QUFDcEJELElBQUFBLFdBQVcsQ0FBQ0MsRUFBRCxDQUFYO0FBQ0QsR0FUZ0I7QUFVakJPLEVBQUFBLGtCQUFrQixFQUFHUCxFQUFELElBQVE7QUFDMUJELElBQUFBLFdBQVcsQ0FBQ0MsRUFBRCxDQUFYO0FBQ0QsR0FaZ0I7QUFhakJRLEVBQUFBLFlBQVksRUFBR0MsTUFBRCxJQUFZO0FBQ3hCLFFBQUksRUFBRWhCLFFBQVEsQ0FBQ2dCLE1BQUQsQ0FBUixJQUFvQmQsZ0JBQUVlLFdBQUYsQ0FBY0QsTUFBZCxDQUF0QixLQUFpREEsTUFBTSxHQUFHLENBQVQsSUFBY0EsTUFBTSxHQUFHLENBQTVFLEVBQWdGO0FBQzlFLFlBQU0sSUFBSVIsS0FBSixDQUFVLGlDQUFWLENBQU47QUFDRDtBQUNGLEdBakJnQjtBQWtCakJVLEVBQUFBLG9CQUFvQixFQUFHQyxJQUFELElBQVU7QUFDOUIsUUFBSSxDQUFDbkIsUUFBUSxDQUFDbUIsSUFBRCxDQUFULElBQW1CLENBQUMsQ0FBRCxFQUFJLENBQUosRUFBTyxDQUFQLEVBQVUsQ0FBVixFQUFhLENBQWIsRUFBZ0JDLE9BQWhCLENBQXdCRCxJQUF4QixNQUFrQyxDQUFDLENBQTFELEVBQTZEO0FBQzNELFlBQU0sSUFBSVgsS0FBSixDQUFVLDJDQUFWLENBQU47QUFDRDtBQUNGO0FBdEJnQixDQUFuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBfIGZyb20gJ2xvZGFzaCc7XG5cbmZ1bmN0aW9uIGlzTnVtYmVyIChvKSB7XG4gIHJldHVybiBfLmlzTnVtYmVyKG8pIHx8ICFfLmlzTmFOKHBhcnNlSW50KG8sIDEwKSkgfHwgIV8uaXNOYU4ocGFyc2VGbG9hdChvKSk7XG59XG5cbmZ1bmN0aW9uIG1zVmFsaWRhdG9yIChtcykge1xuICBpZiAoIV8uaXNOdW1iZXIobXMpIHx8IG1zIDwgMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignV2FpdCBtcyBtdXN0IGJlIGEgbnVtYmVyIGVxdWFsIHRvIDAgb3IgZ3JlYXRlcicpO1xuICB9XG59XG5cbmNvbnN0IHZhbGlkYXRvcnMgPSB7XG4gIHNldFVybDogKHVybCkgPT4ge1xuICAgIC8vIGVpdGhlciBhbiBgeHl6Oi8vYCwgYGFib3V0OmAsIG9yIGBkYXRhOmAgc2NoZW1lIGlzIGFsbG93ZWRcbiAgICBpZiAoIXVybCB8fCAhdXJsLm1hdGNoKC9eKFthLXpBLVowLTlfKy4tXSs6XFwvXFwvKXwoYWJvdXQ6KXwoZGF0YTopLykpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignVXJsIG9yIFVyaSBtdXN0IHN0YXJ0IHdpdGggPHNjaGVtZT46Ly8nKTtcbiAgICB9XG4gIH0sXG4gIGltcGxpY2l0V2FpdDogKG1zKSA9PiB7XG4gICAgbXNWYWxpZGF0b3IobXMpO1xuICB9LFxuICBhc3luY1NjcmlwdFRpbWVvdXQ6IChtcykgPT4ge1xuICAgIG1zVmFsaWRhdG9yKG1zKTtcbiAgfSxcbiAgY2xpY2tDdXJyZW50OiAoYnV0dG9uKSA9PiB7XG4gICAgaWYgKCEoaXNOdW1iZXIoYnV0dG9uKSB8fCBfLmlzVW5kZWZpbmVkKGJ1dHRvbikpIHx8IChidXR0b24gPCAwIHx8IGJ1dHRvbiA+IDIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NsaWNrIGJ1dHRvbiBtdXN0IGJlIDAsIDEsIG9yIDInKTtcbiAgICB9XG4gIH0sXG4gIHNldE5ldHdvcmtDb25uZWN0aW9uOiAodHlwZSkgPT4ge1xuICAgIGlmICghaXNOdW1iZXIodHlwZSkgfHwgWzAsIDEsIDIsIDQsIDZdLmluZGV4T2YodHlwZSkgPT09IC0xKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05ldHdvcmsgdHlwZSBtdXN0IGJlIG9uZSBvZiAwLCAxLCAyLCA0LCA2Jyk7XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgeyB2YWxpZGF0b3JzIH07XG4iXX0=
|